

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

# Gestione di un progetto Amazon Rekognition Custom Labels
<a name="managing-project"></a>

All'interno di Amazon Rekognition Custom Labels, usa un progetto per gestire i modelli che crei per un caso d'uso specifico. Un progetto gestisce i set di dati, l’addestramento dei modelli, le versioni dei modelli, la valutazione dei modelli e l'esecuzione dei modelli di progetto. 

**Topics**
+ [Eliminazione di un progetto Amazon Rekognition Custom Labels](mp-delete-project.md)
+ [Descrizione di un progetto (SDK)](md-describing-project-sdk.md)
+ [Creare un progetto con AWS CloudFormation](cloudformation.md)

# Eliminazione di un progetto Amazon Rekognition Custom Labels
<a name="mp-delete-project"></a>

Puoi eliminare un progetto utilizzando la console Amazon Rekognition o chiamando l'API. [DeleteProject](https://docs.aws.amazon.com/rekognition/latest/APIReference/API_DeleteProject) Per eliminare un progetto, devi prima eliminare ogni modello associato. Un progetto o un modello eliminato non può essere ripristinato. 

**Topics**
+ [Eliminazione di un progetto Amazon Rekognition Custom Labels (console)](#mp-delete-project-console)
+ [Eliminazione di un progetto Amazon Rekognition Custom Labels (SDK)](#mp-delete-project-sdk)

## Eliminazione di un progetto Amazon Rekognition Custom Labels (console)
<a name="mp-delete-project-console"></a>

Puoi eliminare un progetto dalla pagina dei progetti oppure eliminare un progetto dalla pagina dei dettagli di progetto. La procedura seguente mostra come eliminare un progetto usando la pagina dei progetti.

La console di Amazon Rekognition Custom Labels elimina per te i modelli e i set di dati associati durante l'eliminazione del progetto. Non puoi eliminare un progetto se uno dei suoi modelli è in esecuzione o è in fase di addestramento. Per interrompere l'esecuzione di un modello, consulta [Interruzione di un modello Amazon Rekognition Custom Labels (SDK)](rm-stop.md#rm-stop-sdk). Se un modello è in fase di addestramento, attendi che finisca prima di eliminare il progetto.

**Eliminazione di un progetto (console)**

1. Apri la console Amazon Rekognition all'indirizzo. [https://console.aws.amazon.com/rekognition/](https://console.aws.amazon.com/rekognition/)

1. Scegli **Usa etichette personalizzate**.

1. Scegli **Avvia**. 

1. Nel pannello di navigazione a sinistra, scegli **Progetti**.

1. Nella pagina **Progetti** scegli il pulsante accanto al progetto da eliminare. Viene visualizzato l'elenco dei progetti echo-devices-project, con 1 versione creata il 25/03/2020 e le opzioni per eliminare, addestrare un nuovo modello o creare progetto.  
![\[Elenco dei progetti che mostra il progetto e i dettagli del echo-devices-project progetto.\]](http://docs.aws.amazon.com/it_it/rekognition/latest/customlabels-dg/images/delete-projects-page.png)

1. Nella parte superiore della pagina, seleziona **Elimina**. Viene visualizzata la finestra di dialogo **Elimina progetto**.

1. Se il progetto non ha modelli associati:

   1. Immetti **Elimina** per eliminare il progetto.

   1. Seleziona **Elimina** per eliminare il progetto.

1. Se al progetto sono associati modelli o set di dati:

   1. Immetti **Elimina** per confermare che desideri eliminare uno o più modelli e i set di dati.

   1. Scegli **Elimina modelli associati** o **Elimina set di dati associati** o **Elimina set di dati e modelli associati**, a seconda che il modello abbia set di dati, modelli o entrambi. Il completamento dell'eliminazione del modello potrebbe richiedere tempo.
**Nota**  
La console non può eliminare i modelli in corso di addestramento o in esecuzione. Riprova dopo aver interrotto l'esecuzione di tutti i modelli elencati e attendi che i modelli elencati come in addestramento siano terminati.  
Se **Chiudi** la finestra di dialogo durante l'eliminazione del modello, i modelli vengono comunque eliminati. Successivamente, è possibile eliminare il progetto ripetendo questa procedura. 

       Il pannello per l'eliminazione di un modello fornisce istruzioni esplicite per eliminare i modelli associati.   
![\[Interfaccia per l'eliminazione di un progetto.\]](http://docs.aws.amazon.com/it_it/rekognition/latest/customlabels-dg/images/delete-project-with-models.png)

   1. Immetti **Elimina** per confermare che desideri eliminare il progetto.

   1. Seleziona **Elimina** per eliminare il progetto.  
![\[Finestra di dialogo che conferma l'eliminazione del progetto echo-devices-project "" senza modelli.\]](http://docs.aws.amazon.com/it_it/rekognition/latest/customlabels-dg/images/delete-project.png)

## Eliminazione di un progetto Amazon Rekognition Custom Labels (SDK)
<a name="mp-delete-project-sdk"></a>

Puoi eliminare un progetto Amazon Rekognition Custom Labels [DeleteProject](https://docs.aws.amazon.com/rekognition/latest/APIReference/API_DeleteProject)chiamando e fornendo l'Amazon Resource Name (ARN) del progetto che desideri eliminare. Per ottenere i progetti presenti nel ARNs tuo account, chiama. AWS [DescribeProjects](https://docs.aws.amazon.com/rekognition/latest/APIReference/API_DescribeProjects) La risposta include una serie di [ProjectDescription](https://docs.aws.amazon.com/rekognition/latest/APIReference/API_ProjectDescription)oggetti. Il progetto ARN è il campo `ProjectArn`. È possibile utilizzare il nome del progetto per identificare l'ARN del progetto. Ad esempio, `arn:aws:rekognition:us-east-1:123456789010:project/project name/1234567890123`. 

Prima di poter eliminare un progetto, devi prima eliminare tutti i modelli e i set di dati del progetto. Per ulteriori informazioni, consultare [Eliminazione di un modello Amazon Rekognition Custom Labels (SDK)](tm-delete-model.md#tm-delete-model-sdk) e [Eliminazione di un set di dati](md-delete-dataset.md).

È possibile che siano necessari alcuni secondi per l'eliminazione del progetto. Durante questo periodo, lo stato del progetto è `DELETING`. Il progetto viene eliminato se una chiamata successiva a [DescribeProjects](https://docs.aws.amazon.com/rekognition/latest/APIReference/API_DescribeProjects)non include il progetto eliminato.

**Per eliminare un progetto (SDK)**

1. Se non l'hai ancora fatto, installa e configura il AWS CLI e il AWS SDKs. Per ulteriori informazioni, consulta [Passaggio 4: configura e AWS CLI AWS SDKs](su-awscli-sdk.md).

1. Per eliminare un progetto, utilizza il seguente codice. 

------
#### [ AWS CLI ]

   Modifica il valore di `project-arn` per il nome del progetto che desideri eliminare.

   ```
   aws rekognition delete-project --project-arn project_arn \
     --profile custom-labels-access
   ```

------
#### [ Python ]

   Usa il seguente codice. Fornisci i seguenti parametri di riga di comando:
   + `project_arn`— l'ARN del progetto che desideri eliminare.

   ```
   # Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
   # SPDX-License-Identifier: Apache-2.0
   
   """
   Purpose
   Amazon Rekognition Custom Labels project example used in the service documentation:
   https://docs.aws.amazon.com/rekognition/latest/customlabels-dg/mp-delete-project.html
   Shows how to delete an existing Amazon Rekognition Custom Labels project. 
   You must first delete any models and datasets that belong to the project.
   """
   
   import argparse
   import logging
   import time
   import boto3
   
   
   from botocore.exceptions import ClientError
   
   logger = logging.getLogger(__name__)
   
   
   def find_forward_slash(input_string, n):
       """
       Returns the location of '/' after n number of occurences. 
       :param input_string: The string you want to search
       : n: the occurence that you want to find.
       """
       position = input_string.find('/')
       while position >= 0 and n > 1:
           position = input_string.find('/', position + 1)
           n -= 1
       return position
   
   
   def delete_project(rek_client, project_arn):
       """
       Deletes an Amazon Rekognition Custom Labels project.
       :param rek_client: The Amazon Rekognition Custom Labels Boto3 client.
       :param project_arn: The ARN of the project that you want to delete.
       """
   
       try:
           # Delete the project
           logger.info("Deleting project: %s", project_arn)
   
           response = rek_client.delete_project(ProjectArn=project_arn)
   
           logger.info("project status: %s",response['Status'])
   
           deleted = False
   
           logger.info("waiting for project deletion: %s", project_arn)
   
           # Get the project name
           start = find_forward_slash(project_arn, 1) + 1
           end = find_forward_slash(project_arn, 2)
           project_name = project_arn[start:end]
   
           project_names = [project_name]
   
           while deleted is False:
   
               project_descriptions = rek_client.describe_projects(
                   ProjectNames=project_names)['ProjectDescriptions']
   
               if len(project_descriptions) == 0:
                   deleted = True
   
               else:
                   time.sleep(5)
   
           logger.info("project deleted: %s",project_arn)
   
           return True
   
       except ClientError as err:
           logger.exception(
               "Couldn't delete project - %s: %s",
               project_arn, err.response['Error']['Message'])
           raise
   
   
   def add_arguments(parser):
       """
       Adds command line arguments to the parser.
       :param parser: The command line parser.
       """
   
       parser.add_argument(
           "project_arn", help="The ARN of the project that you want to delete."
       )
   
   
   def main():
   
       logging.basicConfig(level=logging.INFO,
                           format="%(levelname)s: %(message)s")
   
       try:
   
           # get command line arguments
           parser = argparse.ArgumentParser(usage=argparse.SUPPRESS)
           add_arguments(parser)
           args = parser.parse_args()
   
           print(f"Deleting project: {args.project_arn}")
   
           # Delete the project.
           session = boto3.Session(profile_name='custom-labels-access')
           rekognition_client = session.client("rekognition")
   
           delete_project(rekognition_client,
                          args.project_arn)
   
           print(f"Finished deleting project: {args.project_arn}")
   
       except ClientError as err:
           error_message = f"Problem deleting project: {err}"
           logger.exception(error_message)
           print(error_message)
   
   
   if __name__ == "__main__":
       main()
   ```

------
#### [ Java V2 ]

   Usa il seguente codice. Fornisci i seguenti parametri di riga di comando:
   + `project_arn`— l'ARN del progetto che desideri eliminare.

   ```
   /*
   Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
   SPDX-License-Identifier: Apache-2.0
   */
   
   package com.example.rekognition;
   
   import java.util.List;
   import java.util.Objects;
   import java.util.logging.Level;
   import java.util.logging.Logger;
   
   import software.amazon.awssdk.auth.credentials.ProfileCredentialsProvider;
   import software.amazon.awssdk.regions.Region;
   import software.amazon.awssdk.services.rekognition.RekognitionClient;
   import software.amazon.awssdk.services.rekognition.model.DeleteProjectRequest;
   import software.amazon.awssdk.services.rekognition.model.DeleteProjectResponse;
   import software.amazon.awssdk.services.rekognition.model.DescribeProjectsRequest;
   import software.amazon.awssdk.services.rekognition.model.DescribeProjectsResponse;
   import software.amazon.awssdk.services.rekognition.model.ProjectDescription;
   import software.amazon.awssdk.services.rekognition.model.RekognitionException;
   
   public class DeleteProject {
   
       public static final Logger logger = Logger.getLogger(DeleteProject.class.getName());
   
       public static void deleteMyProject(RekognitionClient rekClient, String projectArn) throws InterruptedException {
   
           try {
   
               logger.log(Level.INFO, "Deleting project: {0}", projectArn);
   
               // Delete the project
   
               DeleteProjectRequest deleteProjectRequest = DeleteProjectRequest.builder().projectArn(projectArn).build();
               DeleteProjectResponse response = rekClient.deleteProject(deleteProjectRequest);
   
               logger.log(Level.INFO, "Status: {0}", response.status());
   
               // Wait until deletion finishes
   
               Boolean deleted = false;
   
               do {
   
   				    DescribeProjectsRequest describeProjectsRequest = DescribeProjectsRequest.builder().build();
                       DescribeProjectsResponse describeResponse = rekClient.describeProjects(describeProjectsRequest);
                       List<ProjectDescription> projectDescriptions = describeResponse.projectDescriptions();
   
                       deleted = true;
   
                       for (ProjectDescription projectDescription : projectDescriptions) {
   
                           if (Objects.equals(projectDescription.projectArn(), projectArn)) {
                               deleted = false;
                               logger.log(Level.INFO, "Not deleted: {0}", projectDescription.projectArn());
                               Thread.sleep(5000);
                               break;
                           }
                       }
   
               } while (Boolean.FALSE.equals(deleted));
   
               logger.log(Level.INFO, "Project deleted: {0} ", projectArn);
   
           } catch (
   
           RekognitionException e) {
               logger.log(Level.SEVERE, "Client error occurred: {0}", e.getMessage());
               throw e;
           }
   
       }
   
       public static void main(String[] args) {
   
           final String USAGE = "\n" + "Usage: " + "<project_arn>\n\n" + "Where:\n"
                + "   project_arn - The ARN of the project that you want to delete.\n\n";
   
           if (args.length != 1) {
                System.out.println(USAGE);
   	         System.exit(1);
           }
   
           String projectArn = args[0];
   
           try {
   
               RekognitionClient rekClient = RekognitionClient.builder()
                   .region(Region.US_WEST_2)
                   .credentialsProvider(ProfileCredentialsProvider.create("custom-labels-access"))
                   .build();
   
               // Delete the project.
               deleteMyProject(rekClient, projectArn);
   
               System.out.println(String.format("Project deleted: %s", projectArn));
   
               rekClient.close();
   
           } catch (RekognitionException rekError) {
               logger.log(Level.SEVERE, "Rekognition client error: {0}", rekError.getMessage());
               System.exit(1);
           }
   
           catch (InterruptedException intError) {
               logger.log(Level.SEVERE, "Exception while sleeping: {0}", intError.getMessage());
               System.exit(1);
           }
       }
   
   }
   ```

------

# Descrizione di un progetto (SDK)
<a name="md-describing-project-sdk"></a>

È possibile utilizzare l'API `DescribeProjects` per ottenere informazioni sui progetti.

**Per descrivere un progetto (SDK)**

1. Se non l'hai già fatto, installa e configura il AWS CLI e il AWS SDKs. Per ulteriori informazioni, consulta [Passaggio 4: configura e AWS CLI AWS SDKs](su-awscli-sdk.md).

1. Usa il seguente codice di esempio per descrivere un progetto. Sostituisci `project_name` con il nome del progetto che desideri descrivere. Se non specifichi `--project-names`, vengono restituite le descrizioni di tutti i progetti.

------
#### [ AWS CLI ]

   ```
   aws rekognition describe-projects --project-names project_name \
     --profile custom-labels-access
   ```

------
#### [ Python ]

   Usa il seguente codice. Fornisci i seguenti parametri di riga di comando:
   + project\$1name `` — il nome del progetto che desideri descrivere. Se non specifichi un nome, vengono restituite le descrizioni di tutti i progetti.

   ```
   # Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
   # SPDX-License-Identifier: Apache-2.0
   
   """
   Purpose
   Shows how to describe an Amazon Rekognition Custom Labels project.
   """
   import argparse
   import logging
   import json
   import boto3
   from botocore.exceptions import ClientError
   
   logger = logging.getLogger(__name__)
   
   
   def display_project_info(project):
       """
       Displays information about a Custom Labels project.
       :param project: The project that you want to display information about.
       """
       print(f"Arn: {project['ProjectArn']}")
       print(f"Status: {project['Status']}")
   
       if len(project['Datasets']) == 0:
           print("Datasets: None")
       else:
           print("Datasets:")
   
       for dataset in project['Datasets']:
           print(f"\tCreated: {str(dataset['CreationTimestamp'])}")
           print(f"\tType: {dataset['DatasetType']}")
           print(f"\tARN: {dataset['DatasetArn']}")
           print(f"\tStatus: {dataset['Status']}")
           print(f"\tStatus message: {dataset['StatusMessage']}")
           print(f"\tStatus code: {dataset['StatusMessageCode']}")
           print()
       print()
   
   
   def describe_projects(rek_client, project_name):
       """
       Describes an Amazon Rekognition Custom Labels project, or all projects.
       :param rek_client: The Amazon Rekognition Custom Labels Boto3 client.
       :param project_name: The project you want to describe. Pass None to describe all projects.
       """
   
       try:
           # Describe the project
           if project_name is None:
               logger.info("Describing all projects.")
           else:
               logger.info("Describing project: %s.",project_name)
   
           if project_name is None:
               response = rek_client.describe_projects()
           else:
               project_names = json.loads('["' + project_name + '"]')
               response = rek_client.describe_projects(ProjectNames=project_names)
   
           print('Projects\n--------')
           if len(response['ProjectDescriptions']) == 0:
               print("Project(s) not found.")
           else:
               for project in response['ProjectDescriptions']:
                   display_project_info(project)
   
           logger.info("Finished project description.")
   
       except ClientError as err:
           logger.exception(
               "Couldn't describe project - %s: %s",
               project_name,err.response['Error']['Message'] )
           raise
   
   
   def add_arguments(parser):
       """
       Adds command line arguments to the parser.
       :param parser: The command line parser.
       """
   
       parser.add_argument(
           "--project_name",  help="The name of the project that you want to describe.", required=False
       )
   
   
   def main():
   
       logging.basicConfig(level=logging.INFO,
                           format="%(levelname)s: %(message)s")
   
       try:
   
           # Get command line arguments.
           parser = argparse.ArgumentParser(usage=argparse.SUPPRESS)
           add_arguments(parser)
   
           args = parser.parse_args()
   
           print(f"Describing projects: {args.project_name}")
   
           # Describe the project.
           session = boto3.Session(profile_name='custom-labels-access')
           rekognition_client = session.client("rekognition")
   
           describe_projects(rekognition_client,
                             args.project_name)
   
           if args.project_name is None:
               print("Finished describing all projects.")
           else:
               print("Finished describing project %s.", args.project_name)
   
       except ClientError as err:
           error_message = f"Problem describing project: {err}"
           logger.exception(error_message)
           print(error_message)
   
   
   if __name__ == "__main__":
       main()
   ```

------
#### [ Java V2 ]

   Usa il seguente codice. Fornisci i seguenti parametri di riga di comando:
   + `project_name`— l'ARN del progetto che desideri descrivere. Se non specifichi un nome, vengono restituite le descrizioni di tutti i progetti.

   ```
   /*
      Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
      SPDX-License-Identifier: Apache-2.0
   */
   
   package com.example.rekognition;
   
   import java.util.ArrayList;
   import java.util.List;
   import java.util.logging.Level;
   import java.util.logging.Logger;
   
   import software.amazon.awssdk.auth.credentials.ProfileCredentialsProvider;
   import software.amazon.awssdk.services.rekognition.RekognitionClient;
   import software.amazon.awssdk.services.rekognition.model.DatasetMetadata;
   import software.amazon.awssdk.services.rekognition.model.DescribeProjectsRequest;
   import software.amazon.awssdk.services.rekognition.model.DescribeProjectsResponse;
   import software.amazon.awssdk.services.rekognition.model.ProjectDescription;
   import software.amazon.awssdk.services.rekognition.model.RekognitionException;
   
   public class DescribeProjects {
   
       public static final Logger logger = Logger.getLogger(DescribeProjects.class.getName());
   
       public static void describeMyProjects(RekognitionClient rekClient, String projectName) {
   
           DescribeProjectsRequest descProjects = null;
   
           // If a single project name is supplied, build projectNames argument
   
           List<String> projectNames = new ArrayList<String>();
   
           if (projectName == null) {
               descProjects = DescribeProjectsRequest.builder().build();
           } else {
               projectNames.add(projectName);
               descProjects = DescribeProjectsRequest.builder().projectNames(projectNames).build();
           }
   
           // Display useful information for each project.
   
           DescribeProjectsResponse resp = rekClient.describeProjects(descProjects);
   
           for (ProjectDescription projectDescription : resp.projectDescriptions()) {
   
               System.out.println("ARN: " + projectDescription.projectArn());
               System.out.println("Status: " + projectDescription.statusAsString());
               if (projectDescription.hasDatasets()) {
                   for (DatasetMetadata datasetDescription : projectDescription.datasets()) {
                       System.out.println("\tdataset Type: " + datasetDescription.datasetTypeAsString());
                       System.out.println("\tdataset ARN: " + datasetDescription.datasetArn());
                       System.out.println("\tdataset Status: " + datasetDescription.statusAsString());
                   }
               }
               System.out.println();
           }
   
       }
   
       public static void main(String[] args) {
   
           String projectArn = null;
   
           // Get command line arguments
   
           final String USAGE = "\n" + "Usage: " + "<project_name>\n\n" + "Where:\n"
                   + "   project_name - (Optional) The name of the project that you want to describe. If not specified, all projects "
                   + "are described.\n\n";
   
           if (args.length > 1) {
               System.out.println(USAGE);
               System.exit(1);
           }
   
           if (args.length == 1) {
               projectArn = args[0];
           }
   
           try {
   
               // Get the Rekognition client
               RekognitionClient rekClient = RekognitionClient.builder()
                   .credentialsProvider(ProfileCredentialsProvider.create("custom-labels-access"))
                   .region(Region.US_WEST_2)
                   .build();
               
               // Describe projects
   
               describeMyProjects(rekClient, projectArn);
   
               rekClient.close();
   
           } catch (RekognitionException rekError) {
               logger.log(Level.SEVERE, "Rekognition client error: {0}", rekError.getMessage());
               System.exit(1);
           }
   
       }
   
   }
   ```

------

# Creare un progetto con AWS CloudFormation
<a name="cloudformation"></a>

Amazon Rekognition Custom Labels è AWS CloudFormation integrato con un servizio che ti aiuta a modellare e AWS configurare le tue risorse in modo da poter dedicare meno tempo alla creazione e alla gestione delle risorse e dell'infrastruttura. Crei un modello che descrive tutte le AWS risorse che desideri e si CloudFormation occupa del provisioning e della configurazione di tali risorse per te.

Puoi utilizzarlo CloudFormation per fornire e configurare progetti Amazon Rekognition Custom Labels. 

Quando lo utilizzi CloudFormation, puoi riutilizzare il modello per configurare i tuoi progetti Amazon Rekognition Custom Labels in modo coerente e ripetuto. Descrivi i tuoi progetti una sola volta e poi esegui il provisioning degli stessi progetti più e più volte in più AWS account e regioni. 

## Etichette e modelli personalizzati Amazon Rekognition CloudFormation
<a name="working-with-templates"></a>

Prima di poter effettuare il provisioning e la configurazione dei progetti per Amazon Rekognition Custom Labels e per i servizi correlati è necessario conoscere i [modelli CloudFormation](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/template-guide.html). I modelli sono file di testo formattati in JSON o YAML. Questi modelli descrivono le risorse che desideri inserire nei tuoi stack. CloudFormation Se non conosci JSON o YAML, puoi usare CloudFormation Designer per iniziare a usare i modelli. CloudFormation Per ulteriori informazioni, consulta [Che cos’è CloudFormation Designer?](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/working-with-templates-cfn-designer.html) nella *Guida per l’utente di AWS CloudFormation *.

 Per informazioni di riferimento sui progetti Amazon Rekognition Custom Labels, inclusi esempi di modelli JSON e YAML per le etichette, consulta [Riferimento ai tipi di risorse Rekognition.](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/AWS_Rekognition.html)

## Scopri di più su CloudFormation
<a name="learn-more-cloudformation"></a>

Per ulteriori informazioni CloudFormation, consulta le seguenti risorse:
+ [AWS CloudFormation](https://aws.amazon.com/cloudformation/)
+ [AWS CloudFormation Guida per l'utente](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/Welcome.html)
+ [CloudFormation Documentazione di riferimento delle API](https://docs.aws.amazon.com/AWSCloudFormation/latest/APIReference/Welcome.html)
+ [AWS CloudFormation Guida per l'utente dell'interfaccia a riga di comando](https://docs.aws.amazon.com/cloudformation-cli/latest/userguide/what-is-cloudformation-cli.html)