/*! For license information please see main.8c3cc113.chunk.js.LICENSE.txt */ (this["webpackJsonpembl-ebi-academy-catalogue"]=this["webpackJsonpembl-ebi-academy-catalogue"]||[]).push([[0],{105:function(e){e.exports=JSON.parse('[{"title":"Managing a bioinformatics core facility","year":"2022","url":"www.ebi.ac.uk/training/events/managing-bioinformatics-core-facility-2022","date":"Wednesday, November 23, 2022 "},{"title":"Open Virtual Ensembl API Workshop","year":"2022","url":"www.ebi.ac.uk/training/events/open-virtual-ensembl-api-workshop-1","date":"Tuesday, November 22, 2022 "},{"title":"Open Virtual Ensembl Browser Workshop","year":"2022","url":"www.ebi.ac.uk/training/events/open-virtual-ensembl-browser-workshop-1","date":"Tuesday, November 15, 2022 "},{"title":"Systematising complex and combined metabolic analyses with COBREXA.jl","year":"2022","url":"www.ebi.ac.uk/training/events/systematising-complex-and-combined-metabolic-analyses-cobrexajl","date":"Tuesday, November 15, 2022 "},{"title":"Genome bioinformatics: resequencing and variant calling ","year":"2022","url":"www.ebi.ac.uk/training/events/genome-bioinformatics-resequencing-and-variant-calling-2022","date":"Monday, November 14, 2022 "},{"title":"Bioinformatics tools and data retrieval","year":"2022","url":"www.ebi.ac.uk/training/events/bioinformatics-tools-and-data-retrieval","date":"Tuesday, November 08, 2022 "},{"title":"Genome-resolved metagenomics bioinformatics","year":"2022","url":"www.ebi.ac.uk/training/events/metagenomics-bioinformatics-2022","date":"Monday, October 31, 2022 "},{"title":"Using fish models to explore the impact of Gene by Environment (GxE) 2022","year":"2022","url":"www.ebi.ac.uk/training/events/medaka-workshop","date":"Monday, October 17, 2022 "},{"title":"Bioinformatics approaches to viruses","year":"2022","url":"www.ebi.ac.uk/training/events/bioinformatics-approaches-viruses","date":"Monday, October 17, 2022 "},{"title":" Structural bioinformatics","year":"2022","url":"www.ebi.ac.uk/training/events/structural-bioinformatics-2022","date":"Monday, October 17, 2022 "},{"title":"Single-cell RNA-seq analysis using R","year":"2022","url":"www.ebi.ac.uk/training/events/single-cell-rna-seq-analysis-using-r-2022","date":"Monday, October 03, 2022 "},{"title":"Bioinformatics and functional genomics in zebrafish","year":"2022","url":"www.ebi.ac.uk/training/events/bioinformatics-and-functional-genomics-zebrafish-2022","date":"Tuesday, September 27, 2022 "},{"title":"Mathematics of life: modelling molecular mechanisms ","year":"2022","url":"www.ebi.ac.uk/training/events/mathematics-life-modelling-molecular-mechanisms-2022","date":"Monday, September 12, 2022 "},{"title":"Organisation and utilisation of hologenomic datasets","year":"2022","url":"www.ebi.ac.uk/training/events/organisation-and-utilisation-hologenomic-datasets","date":"Sunday, September 11, 2022 "},{"title":" Proteomics bioinformatics","year":"2022","url":"www.ebi.ac.uk/training/events/proteomics-bioinformatics-2022","date":"Monday, July 18, 2022 "},{"title":"Bioinformatics for T-Cell immunology","year":"2022","url":"www.ebi.ac.uk/training/events/bioinformatics-t-cell-immunology-2022","date":"Monday, July 11, 2022 "},{"title":"Systems biology: from large datasets to biological insight","year":"2022","url":"www.ebi.ac.uk/training/events/systems-biology-large-datasets-biological-insight-2022","date":"Monday, July 04, 2022 "},{"title":"Cancer genomics","year":"2022","url":"www.ebi.ac.uk/training/events/cancer-genomics-2022","date":"Monday, June 20, 2022 "},{"title":"Summer school in bioinformatics","year":"2022","url":"www.ebi.ac.uk/training/events/summer-school-bioinformatics-2022","date":"Monday, June 13, 2022 "},{"title":"BioExcel summer school on biomolecular simulations 2022","year":"2022","url":"www.ebi.ac.uk/training/events/bioexcel-summer-school-biomolecular-simulations-2022","date":"Sunday, June 12, 2022 "},{"title":"Bioinformatics for Principal Investigators","year":"2022","url":"www.ebi.ac.uk/training/events/bioinformatics-principal-investigators-2022","date":"Wednesday, June 08, 2022 "},{"title":"Introduction to metabolomics analysis","year":"2022","url":"www.ebi.ac.uk/training/events/introduction-metabolomics-analysis","date":"Tuesday, May 24, 2022 "},{"title":"Exploring human genetic variation","year":"2022","url":"www.ebi.ac.uk/training/events/exploring-genetic-variation-2022","date":"Monday, May 16, 2022 "},{"title":" Microscopy data analysis: machine learning and the BioImage Archive","year":"2022","url":"www.ebi.ac.uk/training/events/microscopy-data-analysis-machine-learning-and-bioimage-archive-2022","date":"Sunday, May 15, 2022 "},{"title":"BioExcel school on biomolecular simulations","year":"2022","url":"www.ebi.ac.uk/training/events/bioexcel-school-biomolecular-simulations","date":"Friday, March 25, 2022 "},{"title":"Introduction to multi-omics data integration and visualisation ","year":"2022","url":"www.ebi.ac.uk/training/events/introduction-multiomics-data-integration-and-visualisation-2022","date":"Monday, March 21, 2022 "},{"title":"Virtual Ensembl REST-API Workshop, March 2022","year":"2022","url":"www.ebi.ac.uk/training/events/virtual-ensembl-rest-api-workshop-march-2022","date":"Tuesday, March 15, 2022 "},{"title":"Ensembl Browser Virtual Workshop, March 2022","year":"2022","url":"www.ebi.ac.uk/training/events/ensembl-browser-virtual-workshop-march-2022","date":"Tuesday, March 08, 2022 "},{"title":"Single-cell RNA-seq analysis using Galaxy","year":"2022","url":"www.ebi.ac.uk/training/events/single-cell-rna-seq-analysis-using-galaxy-2022","date":"Monday, March 07, 2022 "},{"title":"Bioinformatics resources for protein biology ","year":"2022","url":"www.ebi.ac.uk/training/events/bioinformatics-resources-protein-biology-2022","date":"Monday, February 21, 2022 "},{"title":"Introduction to RNA-seq and functional interpretation","year":"2022","url":"www.ebi.ac.uk/training/events/introduction-rna-seq-and-functional-interpretation-2022","date":"Monday, February 21, 2022 "},{"title":"Ensembl REST API workshop, University of Cambridge","year":"2022","url":"www.ebi.ac.uk/training/events/ensembl-rest-api-workshop-university-cambridge-0","date":"Tuesday, February 15, 2022 "},{"title":"Ensembl browser workshop, University of Cambridge","year":"2022","url":"www.ebi.ac.uk/training/events/ensembl-browser-workshop-university-cambridge-0","date":"Monday, February 14, 2022 "},{"title":"CABANA Workshop: Bioinformatics approaches to viruses and genomic surveillance","year":"2022","url":"www.ebi.ac.uk/training/events/cabana-workshop-bioinformatics-approaches-viruses-and-genomic-surveillance-2022","date":"Monday, February 14, 2022 "},{"title":"PATC: Introduction to HPC for Life Scientists","year":"2022","url":"www.ebi.ac.uk/training/events/patc-introduction-hpc-life-scientists","date":"Monday, January 31, 2022 "},{"title":"SymbNET: from metagenomics to metabolic interactions","year":"2022","url":"www.ebi.ac.uk/training/events/symbnet-2022","date":"Monday, January 31, 2022 "},{"title":"Virtual Ensembl REST-API Workshop, 14th-16th December","year":"2021","url":"www.ebi.ac.uk/training/events/virtual-ensembl-rest-api-workshop-14th-16th-december","date":"Tuesday, December 14, 2021 "},{"title":"CABANA Workshop: Plant bioinformatics - analysis of crop genomics data ","year":"2021","url":"www.ebi.ac.uk/training/events/cabana-workshop-plant-bioinformatics-analysis-crop-genomics-data","date":"Monday, December 13, 2021 "},{"title":"Ensembl Browser Virtual Workshop, December 2021","year":"2021","url":"www.ebi.ac.uk/training/events/ensembl-browser-virtual-workshop-december-2021","date":"Tuesday, December 07, 2021 "},{"title":"IITM-EMBL-EBI Winter School 2021","year":"2021","url":"www.ebi.ac.uk/training/events/iitm-ebi-modelling-workshop-0","date":"Monday, December 06, 2021 "},{"title":"CABANA Virtual Workshop: Managing a Bioinformatics Core Facility","year":"2021","url":"www.ebi.ac.uk/training/events/cabana-virtual-workshop-managing-bioinformatics-core-facility","date":"Wednesday, December 01, 2021 "},{"title":"Virtual Ensembl Plants REST API Workshop","year":"2021","url":"www.ebi.ac.uk/training/events/virtual-ensembl-plants-rest-api-workshop","date":"Tuesday, November 09, 2021 "},{"title":"CABANA Virtual Workshop: Introducci\xf3n a R y Bioconductor para an\xe1lisis gen\xf3micos","year":"2021","url":"www.ebi.ac.uk/training/events/cabana-virtual-workshop-introduccion-r-y-bioconductor-para-analisis-genomicos","date":"Monday, November 08, 2021 "},{"title":"CABANA Virtual Workshop: Innovative methods for viral detection and discovery in genomic and metagenomic data","year":"2021","url":"www.ebi.ac.uk/training/events/cabana-virtual-workshop-innovative-methods-viral-detection-and-discovery-genomic-and-metagenomic","date":"Monday, November 08, 2021 "},{"title":"CABANA Virtual Workshop: Exploring biological networks and its application in health and disease","year":"2021","url":"www.ebi.ac.uk/training/events/cabana-virtual-workshop-exploring-biological-networks-and-its-application-health-and-disease","date":"Monday, November 08, 2021 "},{"title":"Metagenomics bioinformatics","year":"2021","url":"www.ebi.ac.uk/training/events/metagenomics-bioinformatics-virtual-2021","date":"Monday, November 08, 2021 "},{"title":"Virtual Ensembl Plants Browser Workshop","year":"2021","url":"www.ebi.ac.uk/training/events/virtual-ensembl-plants-browser-workshop","date":"Tuesday, November 02, 2021 "},{"title":"Introduction to the EMBL-EBI bioinformatics tools framework","year":"2021","url":"www.ebi.ac.uk/training/events/introduction-embl-ebi-bioinformatics-tools-framework","date":"Wednesday, October 20, 2021 "},{"title":"Using the Ensembl genome browser to interrogate disease-associated variants","year":"2021","url":"www.ebi.ac.uk/training/events/using-ensembl-genome-browser-interrogate-disease-associated-variants","date":"Monday, October 18, 2021 "},{"title":"From specimens to genomes","year":"2021","url":"www.ebi.ac.uk/training/events/from-specimens-genomes","date":"Monday, October 11, 2021 "},{"title":"Structural bioinformatics","year":"2021","url":"www.ebi.ac.uk/training/events/structural-bioinformatics2021","date":"Monday, October 11, 2021 "},{"title":"Ensembl REST API workshop, University of Cambridge","year":"2021","url":"www.ebi.ac.uk/training/events/ensembl-rest-api-workshop-university-cambridge","date":"Monday, October 04, 2021 "},{"title":"Ensembl browser workshop, University of Cambridge","year":"2021","url":"www.ebi.ac.uk/training/events/ensembl-browser-workshop-university-cambridge","date":"Thursday, September 30, 2021 "},{"title":"Bioinformatics for Immunologists","year":"2021","url":"www.ebi.ac.uk/training/events/bioinformatics-immunologists2021","date":"Monday, September 27, 2021 "},{"title":"Mathematics of life: Modelling molecular mechanisms","year":"2021","url":"www.ebi.ac.uk/training/events/mathematics-life-virtual","date":"Monday, September 27, 2021 "},{"title":"Virtual Ensembl REST-API Workshop, 14th-16th Sept","year":"2021","url":"www.ebi.ac.uk/training/events/virtual-ensembl-rest-api-workshop-14th-16th-sept","date":"Tuesday, September 14, 2021 "},{"title":"Virtual Ensembl Browser Workshop, 7th-9th Sept","year":"2021","url":"www.ebi.ac.uk/training/events/virtual-ensembl-browser-workshop-7th-9th-sept","date":"Tuesday, September 07, 2021 "},{"title":"CABANA Workshop: Genomic and transcriptomic resources for eukaryotic species","year":"2021","url":"www.ebi.ac.uk/training/events/cabana-workshop-genomic-and-transcriptomic-resources-eukaryotic-species","date":"Monday, August 02, 2021 "},{"title":"Basics to Advanced Genome Annotations at Ensembl and REST Application Programming Interfaces (APIs)","year":"2021","url":"www.ebi.ac.uk/training/events/basics-advanced-genome-annotations-ensembl-and-rest-application-programming-interfaces-apis","date":"Monday, July 19, 2021 "},{"title":"Microscopy data analysis: Machine learning and the BioImage Archive","year":"2021","url":"www.ebi.ac.uk/training/events/microscopy-data-analysis","date":"Monday, July 12, 2021 "},{"title":"Proteomics bioinformatics","year":"2021","url":"www.ebi.ac.uk/training/events/proteomics-bioinformatics-2021","date":"Monday, July 12, 2021 "},{"title":"Summer school in bioinformatics","year":"2021","url":"www.ebi.ac.uk/training/events/summer-school-bioinformatics-2021","date":"Monday, June 28, 2021 "},{"title":"Curso Internacional: Estrategias bioinform\xe1ticas para el estudio de enfermedades tropicales desatendidas (ETDs)","year":"2021","url":"www.ebi.ac.uk/training/events/curso-internacional-estrategias-bioinformaticas-para-el-estudio-de-enfermedades-tropicales","date":"Monday, June 21, 2021 "},{"title":"Systems biology: From large datasets to biological insight","year":"2021","url":"www.ebi.ac.uk/training/events/systems-biology-large-datasets-biological-insight","date":"Monday, June 21, 2021 "},{"title":"Open Virtual Ensembl API Workshop","year":"2021","url":"www.ebi.ac.uk/training/events/open-virtual-ensembl-api-workshop-0","date":"Tuesday, June 15, 2021 "},{"title":"Bioinformatics for principal investigators","year":"2021","url":"www.ebi.ac.uk/training/events/bioinformatics-principal-investigators-virtual","date":"Tuesday, June 15, 2021 "},{"title":"Open Virtual Ensembl Browser Workshop","year":"2021","url":"www.ebi.ac.uk/training/events/open-virtual-ensembl-browser-workshop-0","date":"Tuesday, June 08, 2021 "},{"title":"BioExcel summer school on biomolecular simulations 2021","year":"2021","url":"www.ebi.ac.uk/training/events/bioexcel-summer-school-biomolecular-simulations-2021","date":"Friday, June 04, 2021 "},{"title":"Open Virtual Ensembl API Workshop","year":"2021","url":"www.ebi.ac.uk/training/events/open-virtual-ensembl-api-workshop","date":"Tuesday, May 25, 2021 "},{"title":"Open Virtual Ensembl Browser Workshop","year":"2021","url":"www.ebi.ac.uk/training/events/open-virtual-ensembl-browser-workshop","date":"Tuesday, May 18, 2021 "},{"title":"Managing a bioinformatics core facility ","year":"2021","url":"www.ebi.ac.uk/training/events/managing-bioinformatics-core-facility","date":"Tuesday, May 18, 2021 "},{"title":"Cancer genomics ","year":"2021","url":"www.ebi.ac.uk/training/events/cancer-genomics-virtual","date":"Monday, May 17, 2021 "},{"title":"EMBL-EBI workshop: The Open University, 2021 (Virtual)","year":"2021","url":"www.ebi.ac.uk/training/events/embl-ebi-workshop-open-university-2021-virtual","date":"Thursday, May 13, 2021 "},{"title":"AQUA-FAANG: Bioinformatic analysis of regulatory elements","year":"2021","url":"www.ebi.ac.uk/training/events/aqua-faang-bioinformatic-analysis-regulatory-elements","date":"Monday, May 10, 2021 "},{"title":"Single-cell RNA-seq & network analysis using Galaxy and Cytoscape","year":"2021","url":"www.ebi.ac.uk/training/events/single-cell-rna-seq-network-analysis-using-galaxy-and-cytoscape","date":"Monday, April 26, 2021 "},{"title":"Virtual Ensembl Browser workshop, 16th-18th March","year":"2021","url":"www.ebi.ac.uk/training/events/virtual-ensembl-browser-workshop-16th-18th-march","date":"Tuesday, March 16, 2021 "},{"title":"Introduction to RNA-seq and functional interpretation ","year":"2021","url":"www.ebi.ac.uk/training/events/introduction-rna-seq-and-functional-interpretation-virtual","date":"Tuesday, March 16, 2021 "},{"title":"CABANA workshop: Analysis of crop genomics data","year":"2021","url":"www.ebi.ac.uk/training/events/cabana-workshop-analysis-crop-genomics-data","date":"Monday, March 01, 2021 "},{"title":"NEUcrest: "Big Data" workshop","year":"2021","url":"www.ebi.ac.uk/training/events/neucrest-big-data-workshop","date":"Monday, March 01, 2021 "},{"title":"Introduction to multi-omics data integration and visualisation","year":"2021","url":"www.ebi.ac.uk/training/events/introduction-multiomics-data-integration-and-visualisation-virtual","date":"Monday, February 22, 2021 "},{"title":"Next generation sequencing bioinformatics","year":"2021","url":"www.ebi.ac.uk/training/events/next-generation-sequencing-bioinformatics-virtual-0","date":"Monday, February 15, 2021 "},{"title":"EMBL-EBI workshop: University of Pavia, 2021 (Virtual)","year":"2021","url":"www.ebi.ac.uk/training/events/embl-ebi-workshop-university-pavia-2021","date":"Monday, February 01, 2021 "},{"title":"Single-cell RNA-seq analysis using R","year":"2021","url":"www.ebi.ac.uk/training/events/single-cell-rna-seq-analysis-using-r-virtual","date":"Monday, February 01, 2021 "},{"title":"CABANA workshop: Applied bioinformatics, molecular epidemiology, and the SARS-CoV-2 pandemic","year":"2020","url":"www.ebi.ac.uk/training/events/cabana-workshop-applied-bioinformatics-molecular-epidemiology-and-sars-cov-2-pandemic","date":"Tuesday, December 01, 2020 "},{"title":"CABANA: Bioinformatics for plant biology (Postponed until 2021)","year":"2020","url":"www.ebi.ac.uk/training/events/cabana-bioinformatics-plant-biology-postponed-until-2021","date":"Monday, November 30, 2020 "},{"title":"Structural bioinformatics (Virtual)","year":"2020","url":"www.ebi.ac.uk/training/events/structural-bioinformatics-virtual","date":"Monday, November 23, 2020 "},{"title":"CABANA train the trainer workshop for XMXP20","year":"2020","url":"www.ebi.ac.uk/training/events/cabana-train-trainer-workshop-xmxp20","date":"Wednesday, November 11, 2020 "},{"title":"Metagenomics bioinformatics (Virtual)","year":"2020","url":"www.ebi.ac.uk/training/events/metagenomics-bioinformatics-virtual","date":"Monday, November 02, 2020 "},{"title":"CABANA train the trainer workshop for ISCB-Latin America 2020","year":"2020","url":"www.ebi.ac.uk/training/events/cabana-train-trainer-workshop-iscb-latin-america-2020","date":"Thursday, October 22, 2020 "},{"title":"Summer school in bioinformatics (Virtual)","year":"2020","url":"www.ebi.ac.uk/training/events/summer-school-bioinformatics-virtual","date":"Monday, October 12, 2020 "},{"title":"CZI-CABANA Joint Workshop: Microbiome Bioinformatics with QIIME 2","year":"2020","url":"www.ebi.ac.uk/training/events/czi-cabana-joint-workshop-microbiome-bioinformatics-qiime-2","date":"Monday, October 05, 2020 "},{"title":"Mathematics of life: Modelling molecular mechanisms (Virtual)","year":"2020","url":"www.ebi.ac.uk/training/events/mathematics-life-modelling-molecular-mechanisms-virtual","date":"Monday, September 28, 2020 "},{"title":"Ensembl API workshop, University of Cambridge (Virtual)","year":"2020","url":"www.ebi.ac.uk/training/events/ensembl-api-workshop-university-cambridge-virtual","date":"Wednesday, September 02, 2020 "},{"title":"Managing a bioinformatics core facility (Virtual)","year":"2020","url":"www.ebi.ac.uk/training/events/managing-bioinformatics-core-facility-virtual","date":"Tuesday, August 18, 2020 "},{"title":"Cancer genomics (Virtual)","year":"2020","url":"www.ebi.ac.uk/training/events/cancer-genomics-virtual-0","date":"Monday, July 06, 2020 "},{"title":"Data collection, analysis and interpretation for genomic medicine","year":"2020","url":"www.ebi.ac.uk/training/events/data-collection-analysis-and-interpretation-genomic-medicine","date":"Tuesday, June 23, 2020 "},{"title":"BioExcel summer school on biomolecular simulations 2020","year":"2020","url":"www.ebi.ac.uk/training/events/bioexcel-summer-school-biomolecular-simulations-2020","date":"Monday, June 22, 2020 "},{"title":"Starting single cell RNA-seq analysis","year":"2020","url":"www.ebi.ac.uk/training/events/starting-single-cell-rna-seq-analysis-virtual","date":"Monday, June 01, 2020 "},{"title":"CABANA workshop: Exploring biological networks and its application in health and disease","year":"2020","url":"www.ebi.ac.uk/training/events/cabana-workshop-exploring-biological-networks-and-its-application-health-and-disease","date":"Monday, May 04, 2020 "},{"title":"CABANA Workshop: Managing a bioinformatics core facility","year":"2020","url":"www.ebi.ac.uk/training/events/cabana-workshop-managing-bioinformatics-core-facility","date":"Tuesday, March 31, 2020 "},{"title":"Bioinformatics resources for protein biology","year":"2020","url":"www.ebi.ac.uk/training/events/bioinformatics-resources-protein-biology","date":"Tuesday, March 10, 2020 "},{"title":"Introduction to multi-omics data integration and visualisation","year":"2020","url":"www.ebi.ac.uk/training/events/introduction-multiomics-data-integration-and-visualisation","date":"Monday, March 02, 2020 "},{"title":"CABANA Workshop: NGS analysis applied to virome sequencing in agricultural systems","year":"2020","url":"www.ebi.ac.uk/training/events/cabana-workshop-ngs-analysis-applied-virome-sequencing-agricultural-systems","date":"Monday, February 24, 2020 "},{"title":"Mining PDBe and PDBe-KB using a graph database","year":"2020","url":"www.ebi.ac.uk/training/events/mining-pdbe-and-pdbe-kb-using-graph-database","date":"Tuesday, February 18, 2020 "},{"title":"Exploring human genetic variation","year":"2020","url":"www.ebi.ac.uk/training/events/exploring-human-genetic-variation","date":"Tuesday, February 11, 2020 "},{"title":"EMBL-EBI workshop in UC Davis: Transcriptomics data and resources","year":"2020","url":"www.ebi.ac.uk/training/events/embl-ebi-workshop-uc-davis-transcriptomics-data-and-resources","date":"Friday, January 24, 2020 "},{"title":"EMBL-EBI Workshop in Stanford University: Transcriptomics data and resources","year":"2020","url":"www.ebi.ac.uk/training/events/embl-ebi-workshop-stanford-university-transcriptomics-data-and-resources","date":"Tuesday, January 21, 2020 "},{"title":"Introduction to RNA-seq and functional interpretation","year":"2020","url":"www.ebi.ac.uk/training/events/introduction-rna-seq-and-functional-interpretation-0","date":"Tuesday, January 21, 2020 "},{"title":"EMBL-EBI Workshop in UC San Diego: Transcriptomics data and resources","year":"2020","url":"www.ebi.ac.uk/training/events/embl-ebi-workshop-uc-san-diego-transcriptomics-data-and-resources","date":"Friday, January 17, 2020 "},{"title":"CABANA Workshop: Introduction to Metagenomics","year":"2019","url":"www.ebi.ac.uk/training/events/cabana-workshop-introduction-metagenomics","date":"Monday, December 02, 2019 "},{"title":"IITM-EBI modelling workshop","year":"2019","url":"www.ebi.ac.uk/training/events/iitm-ebi-modelling-workshop","date":"Monday, December 02, 2019 "},{"title":"Single cell RNA-seq analysis: From questions to clusters","year":"2019","url":"www.ebi.ac.uk/training/events/single-cell-rna-seq-analysis-questions-clusters","date":"Wednesday, November 27, 2019 "},{"title":"3D-BioInfo community annual meeting","year":"2019","url":"www.ebi.ac.uk/training/events/3d-bioinfo-community-annual-meeting","date":"Thursday, November 21, 2019 "},{"title":"Bioinformatics & functional genomics in zebrafish","year":"2019","url":"www.ebi.ac.uk/training/events/bioinformatics-functional-genomics-zebrafish","date":"Monday, November 11, 2019 "},{"title":"CABANA Workshop: Resources and tools for target identification and drug discovery","year":"2019","url":"www.ebi.ac.uk/training/events/cabana-workshop-resources-and-tools-target-identification-and-drug-discovery","date":"Wednesday, November 06, 2019 "},{"title":"CABANA workshop: Advanced RNAseq and network analysis in genomics","year":"2019","url":"www.ebi.ac.uk/training/events/cabana-workshop-advanced-rnaseq-and-network-analysis-genomics","date":"Wednesday, November 06, 2019 "},{"title":"Ensembl REST API workshop","year":"2019","url":"www.ebi.ac.uk/training/events/ensembl-rest-api-workshop","date":"Wednesday, October 16, 2019 "},{"title":"CABANA Workshop: Chemoinformatics in Drug Discovery","year":"2019","url":"www.ebi.ac.uk/training/events/cabana-workshop-chemoinformatics-drug-discovery","date":"Tuesday, October 15, 2019 "},{"title":"Ensembl browser workshop","year":"2019","url":"www.ebi.ac.uk/training/events/ensembl-browser-workshop","date":"Tuesday, October 15, 2019 "},{"title":"EMBL-EBI Workshop: Bioinformatics Resources for Chemical and Molecular Biology","year":"2019","url":"www.ebi.ac.uk/training/events/embl-ebi-workshop-bioinformatics-resources-chemical-and-molecular-biology","date":"Monday, October 14, 2019 "},{"title":"CABANA Train the Trainer Workshop in Lima, Peru","year":"2019","url":"www.ebi.ac.uk/training/events/cabana-train-trainer-workshop-lima-peru","date":"Monday, October 14, 2019 "},{"title":"Exploring biological sequences","year":"2019","url":"www.ebi.ac.uk/training/events/exploring-biological-sequences","date":"Tuesday, October 08, 2019 "},{"title":"EMBL-EBI Workshop: Mathematics of life workshop: \u201cModelling molecular mechanisms: from basic science to drug discovery\u201d","year":"2019","url":"www.ebi.ac.uk/training/events/embl-ebi-workshop-mathematics-life-workshop-modelling-molecular-mechanisms-basic-science-drug","date":"Wednesday, October 02, 2019 "},{"title":"UNU-BIOLAC and CABANA: Latin American Workshop in Structural Bioinformatics of Proteins","year":"2019","url":"www.ebi.ac.uk/training/events/unu-biolac-and-cabana-latin-american-workshop-structural-bioinformatics-proteins","date":"Monday, September 23, 2019 "},{"title":"Next generation sequencing bioinformatics","year":"2019","url":"www.ebi.ac.uk/training/events/next-generation-sequencing-bioinformatics","date":"Monday, September 23, 2019 "},{"title":"Structural bioinformatics","year":"2019","url":"www.ebi.ac.uk/training/events/structural-bioinformatics","date":"Monday, September 16, 2019 "},{"title":"Analysing non-coding RNA with RNAcentral and Rfam","year":"2019","url":"www.ebi.ac.uk/training/events/analysing-non-coding-rna-rnacentral-and-rfam","date":"Wednesday, September 11, 2019 "},{"title":"Finding evidence in research publications","year":"2019","url":"www.ebi.ac.uk/training/events/finding-evidence-research-publications","date":"Tuesday, September 10, 2019 "},{"title":"CABANA Symposium: Bioinformatics and Biodiversity - Unlocking new tools for biodiversity research","year":"2019","url":"www.ebi.ac.uk/training/events/cabana-symposium-bioinformatics-and-biodiversity-unlocking-new-tools-biodiversity-research","date":"Monday, September 02, 2019 "},{"title":"CABANA Train the Trainer in Bel\xe9m, Brazil","year":"2019","url":"www.ebi.ac.uk/training/events/cabana-train-trainer-belem-brazil","date":"Thursday, August 29, 2019 "},{"title":"CABANA Workshop: Genotyping by Sequencing Applied to Plant Breeding","year":"2019","url":"www.ebi.ac.uk/training/events/cabana-workshop-genotyping-sequencing-applied-plant-breeding","date":"Tuesday, August 06, 2019 "},{"title":"Proteomics bioinformatics","year":"2019","url":"www.ebi.ac.uk/training/events/proteomics-bioinformatics","date":"Sunday, July 21, 2019 "},{"title":"Bioinformatics for immunologists","year":"2019","url":"www.ebi.ac.uk/training/events/bioinformatics-immunologists","date":"Monday, July 15, 2019 "},{"title":"Systems biology: From large datasets to biological insight","year":"2019","url":"www.ebi.ac.uk/training/events/systems-biology-large-datasets-biological-insight-0","date":"Monday, July 08, 2019 "},{"title":"Managing single cell transcriptomics data","year":"2019","url":"www.ebi.ac.uk/training/events/managing-single-cell-transcriptomics-data","date":"Wednesday, July 03, 2019 "},{"title":"BioExcel summer school on biomolecular simulations 2019","year":"2019","url":"www.ebi.ac.uk/training/events/bioexcel-summer-school-biomolecular-simulations-2019","date":"Sunday, June 30, 2019 "},{"title":"CABANA Workshop: Genomic Analysis of Crop Biodiversity using R","year":"2019","url":"www.ebi.ac.uk/training/events/cabana-workshop-genomic-analysis-crop-biodiversity-using-r","date":"Tuesday, June 25, 2019 "},{"title":"Summer school in bioinformatics","year":"2019","url":"www.ebi.ac.uk/training/events/summer-school-bioinformatics","date":"Monday, June 24, 2019 "},{"title":"Cancer genomics","year":"2019","url":"www.ebi.ac.uk/training/events/cancer-genomics","date":"Monday, June 17, 2019 "},{"title":"Ensembl browser course","year":"2019","url":"www.ebi.ac.uk/training/events/ensembl-browser-course","date":"Tuesday, June 11, 2019 "},{"title":"Metagenomics bioinformatics","year":"2019","url":"www.ebi.ac.uk/training/events/metagenomics-bioinformatics-0","date":"Monday, June 10, 2019 "},{"title":"Managing a bioinformatics core facility","year":"2019","url":"www.ebi.ac.uk/training/events/managing-bioinformatics-core-facility-0","date":"Tuesday, June 04, 2019 "},{"title":"Bioinformatics for principal investigators","year":"2019","url":"www.ebi.ac.uk/training/events/bioinformatics-principal-investigators","date":"Tuesday, June 04, 2019 "},{"title":"Protein function prediction with machine learning and interactive analytics","year":"2019","url":"www.ebi.ac.uk/training/events/protein-function-prediction-machine-learning-and-interactive-analytics","date":"Wednesday, May 29, 2019 "},{"title":"EMBL-EBI Workshop: Network Analysis with Cytoscape and PSICQUIC","year":"2019","url":"www.ebi.ac.uk/training/events/embl-ebi-workshop-network-analysis-cytoscape-and-psicquic","date":"Wednesday, May 22, 2019 "},{"title":"CABANA workshop: Introduction to R and Bioconductor for genomic analyses","year":"2019","url":"www.ebi.ac.uk/training/events/cabana-workshop-introduction-r-and-bioconductor-genomic-analyses","date":"Tuesday, May 21, 2019 "},{"title":"Functional insights into biological data through network analysis","year":"2019","url":"www.ebi.ac.uk/training/events/functional-insights-biological-data-through-network-analysis","date":"Monday, May 13, 2019 "},{"title":"Computational molecular evolution","year":"2019","url":"www.ebi.ac.uk/training/events/computational-molecular-evolution","date":"Monday, May 13, 2019 "},{"title":"EMBL-EBI workshop: Genomics, transcriptomics and metagenomics tools and resources for biology research","year":"2019","url":"www.ebi.ac.uk/training/events/embl-ebi-workshop-genomics-transcriptomics-and-metagenomics-tools-and-resources-biology-research","date":"Tuesday, May 07, 2019 "},{"title":"EMBL-EBI Workshop: Bioinformatics resources for protein biology","year":"2019","url":"www.ebi.ac.uk/training/events/embl-ebi-workshop-bioinformatics-resources-protein-biology","date":"Monday, April 29, 2019 "},{"title":"EMBL-EBI Workshop: An Introduction to Sequence Searching","year":"2019","url":"www.ebi.ac.uk/training/events/embl-ebi-workshop-introduction-sequence-searching","date":"Friday, April 12, 2019 "},{"title":"Exploring Biodiversity through Bioinformatics","year":"2019","url":"www.ebi.ac.uk/training/events/exploring-biodiversity-through-bioinformatics","date":"Tuesday, April 09, 2019 "},{"title":"EMBO Practical Course: Research to service - Planning and running a bioinformatics core facility","year":"2019","url":"www.ebi.ac.uk/training/events/embo-practical-course-research-service-planning-and-running-bioinformatics-core-facility","date":"Monday, April 08, 2019 "},{"title":"RNA-sequence analysis","year":"2019","url":"www.ebi.ac.uk/training/events/rna-sequence-analysis","date":"Monday, April 08, 2019 "},{"title":"EMBL-EBI Workshop: Bioinformatics tools for exploring protein biology, Iasi, Romania","year":"2019","url":"www.ebi.ac.uk/training/events/embl-ebi-workshop-bioinformatics-tools-exploring-protein-biology-iasi-romania","date":"Thursday, April 04, 2019 "},{"title":"Livestock genomics","year":"2019","url":"www.ebi.ac.uk/training/events/livestock-genomics","date":"Monday, April 01, 2019 "},{"title":"EMBL-EBI Workshop: Interactions and pathways for endocrine biology","year":"2019","url":"www.ebi.ac.uk/training/events/embl-ebi-workshop-interactions-and-pathways-endocrine-biology-0","date":"Tuesday, March 26, 2019 "},{"title":"Introduction to RNA-seq and functional interpretation","year":"2019","url":"www.ebi.ac.uk/training/events/introduction-rna-seq-and-functional-interpretation","date":"Tuesday, March 26, 2019 "},{"title":"Exploring human genetic variation","year":"2019","url":"www.ebi.ac.uk/training/events/exploring-human-genetic-variation-0","date":"Tuesday, March 19, 2019 "},{"title":"CABANA workshop: Introduction to next-generation sequencing","year":"2019","url":"www.ebi.ac.uk/training/events/cabana-workshop-introduction-next-generation-sequencing","date":"Monday, March 18, 2019 "},{"title":"Data visualisation for biology: A practical workshop on design, techniques and tools","year":"2019","url":"www.ebi.ac.uk/training/events/data-visualisation-biology-practical-workshop-design-techniques-and-tools","date":"Monday, March 11, 2019 "},{"title":"Bioinformatics resources for protein biology","year":"2019","url":"www.ebi.ac.uk/training/events/bioinformatics-resources-protein-biology-0","date":"Tuesday, February 26, 2019 "},{"title":"EMBL-EBI workshop: Resources and tools for genomics, protein interactions and structural applications","year":"2019","url":"www.ebi.ac.uk/training/events/embl-ebi-workshop-resources-and-tools-genomics-protein-interactions-and-structural-applications","date":"Wednesday, February 20, 2019 "},{"title":"Introduction to multi-omics data integration","year":"2019","url":"www.ebi.ac.uk/training/events/introduction-multiomics-data-integration","date":"Tuesday, February 12, 2019 "},{"title":"Introduction to metabolomics analysis","year":"2019","url":"www.ebi.ac.uk/training/events/introduction-metabolomics-analysis-0","date":"Tuesday, February 05, 2019 "},{"title":"Bioinformatics for discovery","year":"2019","url":"www.ebi.ac.uk/training/events/bioinformatics-discovery","date":"Tuesday, January 22, 2019 "},{"title":"Ensembl Variation and the 1000 Genomes project, Montpellier, 12 December 2018","year":"2018","url":"www.ebi.ac.uk/training/events/2018/ensembl-variation-and-1000-genomes-project-montpellier-12-december-2018","date":"Wednesday, December 12, 2018"},{"title":"Ensembl Browser Workshop, Montpellier, 11 December 2018","year":"2018","url":"www.ebi.ac.uk/training/events/2018/ensembl-browser-workshop-montpellier-11-december-2018","date":"Tuesday, December 11, 2018"},{"title":"CABANA Workshop: Untapping diversity through Metagenomics: An Introductory Workshop","year":"2018","url":"www.ebi.ac.uk/training/events/2018/cabana-workshop-untapping-diversity-through-metagenomics-introductory-workshop","date":"Monday, December 03, 2018"},{"title":"EMBL-EBI:IBAB Joint Workshop - Analysis of Next-generation Sequencing Data","year":"2018","url":"www.ebi.ac.uk/training/events/2018/embl-ebiibab-joint-workshop-analysis-next-generation-sequencing-data","date":"Monday, November 26, 2018"},{"title":"EMBL-EBI Workshop: Analysis of genome scale data from bulk and single-cell sequencing","year":"2018","url":"www.ebi.ac.uk/training/events/2018/embl-ebi-workshop-analysis-genome-scale-data-bulk-and-single-cell-sequencing","date":"Monday, November 19, 2018"},{"title":"CABANA Train the Trainer Workshop","year":"2018","url":"www.ebi.ac.uk/training/events/2018/cabana-train-trainer-workshop","date":"Thursday, November 15, 2018"},{"title":"Executive Masters in Management of Research Infrastructures","year":"2018","url":"www.ebi.ac.uk/training/events/2018/executive-masters-management-research-infrastructures","date":"Tuesday, November 13, 2018"},{"title":"Exploring Biological Sequences","year":"2018","url":"www.ebi.ac.uk/training/events/2018/exploring-biological-sequences-1","date":"Tuesday, November 13, 2018"},{"title":"Bioinformatics for Plant Biology","year":"2018","url":"www.ebi.ac.uk/training/events/2018/bioinformatics-plant-biology","date":"Tuesday, November 06, 2018"},{"title":"Open data and tools for bioinformatics research","year":"2018","url":"www.ebi.ac.uk/training/events/2018/open-data-and-tools-bioinformatics-research","date":"Tuesday, November 06, 2018"},{"title":"Ensembl Browser Workshop, \xc9cole polytechnique f\xe9d\xe9rale de Lausanne (EPFL), 5th November 2018","year":"2018","url":"www.ebi.ac.uk/training/events/2018/ensembl-browser-workshop-ecole-polytechnique-federale-de-lausanne-epfl-5th-november-2018","date":"Monday, November 05, 2018"},{"title":"Designing, delivering and evaluating bioinformatics training","year":"2018","url":"www.ebi.ac.uk/training/events/2018/designing-delivering-and-evaluating-bioinformatics-training","date":"Monday, November 05, 2018"},{"title":"EMBL-EBI Workshop: Exploring disease related data","year":"2018","url":"www.ebi.ac.uk/training/events/2018/embl-ebi-workshop-exploring-disease-related-data","date":"Monday, October 29, 2018"},{"title":"Machine Learning for Image Analysis","year":"2018","url":"www.ebi.ac.uk/training/events/2018/machine-learning-image-analysis","date":"Monday, October 29, 2018"},{"title":"Ensembl Browser Workshop, BioCity Turku, 26 October 2018","year":"2018","url":"www.ebi.ac.uk/training/events/2018/ensembl-browser-workshop-biocity-turku-26-october-2018","date":"Friday, October 26, 2018"},{"title":"Analysis of High Throughput Sequencing Data","year":"2018","url":"www.ebi.ac.uk/training/events/2018/analysis-high-throughput-sequencing-data-1","date":"Tuesday, October 23, 2018"},{"title":"CABANA Workshop: Functional genomics, Variation and Genomics resources and tools for plant research","year":"2018","url":"www.ebi.ac.uk/training/events/2018/cabana-workshop-functional-genomics-variation-and-genomics-resources-and-tools-plant-research","date":"Thursday, October 18, 2018"},{"title":"Ensembl browser workshop, EMBL-EBI, 17 October 2018","year":"2018","url":"www.ebi.ac.uk/training/events/2018/ensembl-browser-workshop-embl-ebi-17-october-2018","date":"Wednesday, October 17, 2018"},{"title":"Ensembl Train the Trainer Workshop, Nigerian Institute of Medical Research - Lagos, 16th October 2018","year":"2018","url":"www.ebi.ac.uk/training/events/2018/ensembl-train-trainer-workshop-nigerian-institute-medical-research-lagos-16th-october-2018","date":"Tuesday, October 16, 2018"},{"title":"Bioinformatics & Functional Genomics in Zebrafish","year":"2018","url":"www.ebi.ac.uk/training/events/2018/bioinformatics-functional-genomics-zebrafish","date":"Monday, October 15, 2018"},{"title":"CABANA Workshop: Resources and tools for functional genomics and chemical biology","year":"2018","url":"www.ebi.ac.uk/training/events/2018/cabana-workshop-resources-and-tools-functional-genomics-and-chemical-biology","date":"Monday, October 15, 2018"},{"title":"Ensembl Browser Workshop, Nigerian Institute of Medical Research- Lagos, 15th October 2018","year":"2018","url":"www.ebi.ac.uk/training/events/2018/ensembl-browser-workshop-nigerian-institute-medical-research-lagos-15th-october-2018","date":"Monday, October 15, 2018"},{"title":"Ensembl Browser Workshop, University of Ibadan, 12th October 2018","year":"2018","url":"www.ebi.ac.uk/training/events/2018/ensembl-browser-workshop-university-ibadan-12th-october-2018","date":"Friday, October 12, 2018"},{"title":"ENA Sequence Retrieval ","year":"2018","url":"www.ebi.ac.uk/training/events/2018/ena-sequence-retrieval","date":"Wednesday, October 10, 2018"},{"title":"Ensembl Train the Trainer Workshop, Kwame Nkrumah University of Science and Technology, 10th October 2018","year":"2018","url":"www.ebi.ac.uk/training/events/2018/ensembl-train-trainer-workshop-kwame-nkrumah-university-science-and-technology-10th-october-2018","date":"Wednesday, October 10, 2018"},{"title":"Ensembl REST API workshop, Kwame Nkrumah University of Science and Technology, 9th October 2018","year":"2018","url":"www.ebi.ac.uk/training/events/2018/ensembl-rest-api-workshop-kwame-nkrumah-university-science-and-technology-9th-october-2018","date":"Tuesday, October 09, 2018"},{"title":"Ensembl Browser Workshop, Kwame Nkrumah University of Science and Technology, 8th October 2018","year":"2018","url":"www.ebi.ac.uk/training/events/2018/ensembl-browser-workshop-kwame-nkrumah-university-science-and-technology-8th-october-2018","date":"Monday, October 08, 2018"},{"title":"Ensembl Train the Trainer Workshop, NABDA- Abuja, 5th October 2018","year":"2018","url":"www.ebi.ac.uk/training/events/2018/ensembl-train-trainer-workshop-nabda-abuja-5th-october-2018","date":"Friday, October 05, 2018"},{"title":"Ensembl Train the Trainer Workshop, Rabat, 4 October 2018","year":"2018","url":"www.ebi.ac.uk/training/events/2018/ensembl-train-trainer-workshop-rabat-4-october-2018","date":"Thursday, October 04, 2018"},{"title":"Ensembl REST API workshop, NABDA- Abuja, 4th October 2018","year":"2018","url":"www.ebi.ac.uk/training/events/2018/ensembl-rest-api-workshop-nabda-abuja-4th-october-2018","date":"Thursday, October 04, 2018"},{"title":"Ensembl Browser Workshop, Rabat, 3 October 2018","year":"2018","url":"www.ebi.ac.uk/training/events/2018/ensembl-browser-workshop-rabat-3-october-2018","date":"Wednesday, October 03, 2018"},{"title":"Ensembl Browser Workshop, NABDA- Abuja, 3rd October 2018","year":"2018","url":"www.ebi.ac.uk/training/events/2018/ensembl-browser-workshop-nabda-abuja-3rd-october-2018","date":"Wednesday, October 03, 2018"},{"title":"Introduction to Next Generation Sequencing ","year":"2018","url":"www.ebi.ac.uk/training/events/2018/introduction-next-generation-sequencing-5","date":"Tuesday, October 02, 2018"},{"title":"MuG API Course","year":"2018","url":"www.ebi.ac.uk/training/events/2018/mug-api-course","date":"Thursday, September 13, 2018"},{"title":"Ensembl Train the Trainer Workshop, Sunway University, 12th September 2018","year":"2018","url":"www.ebi.ac.uk/training/events/2018/ensembl-train-trainer-workshop-sunway-university-12th-september-2018","date":"Wednesday, September 12, 2018"},{"title":"10th SPPS PhD Student Conference Workshop: Exploring plant gene expression in Expression Atlas","year":"2018","url":"www.ebi.ac.uk/training/events/2018/10th-spps-phd-student-conference-workshop-exploring-plant-gene-expression-expression-atlas","date":"Tuesday, September 11, 2018"},{"title":"EMBL-EBI Workshop: Exploring plant gene expression in Expression Atlas","year":"2018","url":"www.ebi.ac.uk/training/events/2018/embl-ebi-workshop-exploring-plant-gene-expression-expression-atlas","date":"Monday, September 10, 2018"},{"title":"Ensembl REST API workshop, Sunway University, 10th September 2018","year":"2018","url":"www.ebi.ac.uk/training/events/2018/ensembl-rest-api-workshop-sunway-university-10th-september-2018","date":"Monday, September 10, 2018"},{"title":"Ensembl Browser workshop, Sunway University, 9th September 2018","year":"2018","url":"www.ebi.ac.uk/training/events/2018/ensembl-browser-workshop-sunway-university-9th-september-2018","date":"Sunday, September 09, 2018"},{"title":"Ensembl REST API workshop, IMR Malaysia, 7th September 2018","year":"2018","url":"www.ebi.ac.uk/training/events/2018/ensembl-rest-api-workshop-imr-malaysia-7th-september-2018","date":"Friday, September 07, 2018"},{"title":"Ensembl Browser workshop, IMR Malaysia, 6th September 2018","year":"2018","url":"www.ebi.ac.uk/training/events/2018/ensembl-browser-workshop-imr-malaysia-6th-september-2018","date":"Thursday, September 06, 2018"},{"title":"Ensembl REST API workshop, Universiti Putra Malaysia, 5th September 2018","year":"2018","url":"www.ebi.ac.uk/training/events/2018/ensembl-rest-api-workshop-universiti-putra-malaysia-5th-september-2018","date":"Wednesday, September 05, 2018"},{"title":"Ensembl Browser workshop, Universiti Putra Malaysia, 4th September 2018","year":"2018","url":"www.ebi.ac.uk/training/events/2018/ensembl-browser-workshop-universiti-putra-malaysia-4th-september-2018","date":"Tuesday, September 04, 2018"},{"title":"Structural Bioinformatics","year":"2018","url":"www.ebi.ac.uk/training/events/2018/structural-bioinformatics-2","date":"Monday, September 03, 2018"},{"title":"VEPTC 2018 Practical Session: The Ensembl Genome Browser","year":"2018","url":"www.ebi.ac.uk/training/events/2018/veptc-2018-practical-session-ensembl-genome-browser","date":"Monday, August 27, 2018"},{"title":"EMBL-EBI Workshop: Data and tools for transcriptomics and protein biology","year":"2018","url":"www.ebi.ac.uk/training/events/2018/embl-ebi-workshop-data-and-tools-transcriptomics-and-protein-biology","date":"Tuesday, July 31, 2018"},{"title":"Metagenomics Bioinformatics","year":"2018","url":"www.ebi.ac.uk/training/events/2018/metagenomics-bioinformatics-3","date":"Tuesday, July 17, 2018"},{"title":"Proteomics Bioinformatics","year":"2018","url":"www.ebi.ac.uk/training/events/2018/proteomics-bioinformatics-2","date":"Sunday, July 15, 2018"},{"title":"Ensembl REST API course, July 2018","year":"2018","url":"www.ebi.ac.uk/training/events/2018/ensembl-rest-api-course-july-2018","date":"Thursday, July 12, 2018"},{"title":"Exploring Human Genetic Variation","year":"2018","url":"www.ebi.ac.uk/training/events/2018/exploring-human-genetic-variation-0","date":"Tuesday, July 10, 2018"},{"title":"Summer School in Bioinformatics","year":"2018","url":"www.ebi.ac.uk/training/events/2018/summer-school-bioinformatics-1","date":"Monday, June 25, 2018"},{"title":"CTC-RG2018 - Ensembl Tools for Analysis of Variants in Complex Traits: A Worked Example","year":"2018","url":"www.ebi.ac.uk/training/events/2018/ctc-rg2018-ensembl-tools-analysis-variants-complex-traits-worked-example","date":"Friday, June 22, 2018"},{"title":"Cancer Genomics","year":"2018","url":"www.ebi.ac.uk/training/events/2018/cancer-genomics-3","date":"Monday, June 18, 2018"},{"title":"BioExcel Summer School on Biomolecular Simulations ","year":"2018","url":"www.ebi.ac.uk/training/events/2018/bioexcel-summer-school-biomolecular-simulations","date":"Sunday, June 17, 2018"},{"title":"Bioinformatics for Principal Investigators","year":"2018","url":"www.ebi.ac.uk/training/events/2018/bioinformatics-principal-investigators-2","date":"Tuesday, June 12, 2018"},{"title":"Bioinformatics for Core Facility Managers","year":"2018","url":"www.ebi.ac.uk/training/events/2018/bioinformatics-core-facility-managers-0","date":"Tuesday, June 12, 2018"},{"title":"Ensembl Browser workshop, NC State University, Raleigh, 11 June 2018","year":"2018","url":"www.ebi.ac.uk/training/events/2018/ensembl-browser-workshop-nc-state-university-raleigh-11-june-2018","date":"Monday, June 11, 2018"},{"title":"Ensembl Browser workshop, Duke University, Durham, NC, 8 June 2018","year":"2018","url":"www.ebi.ac.uk/training/events/2018/ensembl-browser-workshop-duke-university-durham-nc-8-june-2018","date":"Friday, June 08, 2018"},{"title":"Metabolomics data analysis in the Cloud: Live Online Training","year":"2018","url":"www.ebi.ac.uk/training/events/2018/metabolomics-data-analysis-cloud-live-online-training","date":"Wednesday, June 06, 2018"},{"title":"Ensembl Browser workshop, National Institute of Environmental Health Sciences, Durham, NC, 6 June 2018","year":"2018","url":"www.ebi.ac.uk/training/events/2018/ensembl-browser-workshop-national-institute-environmental-health-sciences-durham-nc-6-june-2018","date":"Wednesday, June 06, 2018"},{"title":"Ensembl Browser workshop, UNC Chapel Hill, NC, 5 June 2018","year":"2018","url":"www.ebi.ac.uk/training/events/2018/ensembl-browser-workshop-unc-chapel-hill-nc-5-june-2018","date":"Tuesday, June 05, 2018"},{"title":"Bioinformatics Resources for Immunologists","year":"2018","url":"www.ebi.ac.uk/training/events/2018/bioinformatics-resources-immunologists","date":"Monday, June 04, 2018"},{"title":"In Silico Systems Biology","year":"2018","url":"www.ebi.ac.uk/training/events/2018/silico-systems-biology-1","date":"Sunday, June 03, 2018"},{"title":"Ensembl Browser workshop, The George Washington University, Washington, DC, 31 May 2018","year":"2018","url":"www.ebi.ac.uk/training/events/2018/ensembl-browser-workshop-george-washington-university-washington-dc-31-may-2018","date":"Thursday, May 31, 2018"},{"title":"Ensembl Browser workshop, Seoul, 29th May 2018","year":"2018","url":"www.ebi.ac.uk/training/events/2018/ensembl-browser-workshop-seoul-29th-may-2018","date":"Tuesday, May 29, 2018"},{"title":"Ensembl Browser workshop, Seoul, 28th May 2018","year":"2018","url":"www.ebi.ac.uk/training/events/2018/ensembl-browser-workshop-seoul-28th-may-2018","date":"Monday, May 28, 2018"},{"title":"Ensembl Browser workshop, UCL Institute of Child Health, London, 25 May 2018","year":"2018","url":"www.ebi.ac.uk/training/events/2018/ensembl-browser-workshop-ucl-institute-child-health-london-25-may-2018","date":"Friday, May 25, 2018"},{"title":"EMBL-EBI Workshop: Tools for functional genomics data","year":"2018","url":"www.ebi.ac.uk/training/events/2018/embl-ebi-workshop-tools-functional-genomics-data","date":"Thursday, May 24, 2018"},{"title":"Networks and Pathways","year":"2018","url":"www.ebi.ac.uk/training/events/2018/networks-and-pathways-3","date":"Monday, May 14, 2018"},{"title":"Ensembl browser workshop, Austrian Institute of Technology, Vienna, Austria, 26 April 2018","year":"2018","url":"www.ebi.ac.uk/training/events/2018/ensembl-browser-workshop-austrian-institute-technology-vienna-austria-26-april-2018","date":"Thursday, April 26, 2018"},{"title":"Ensembl Browser workshop, EBI April 2018","year":"2018","url":"www.ebi.ac.uk/training/events/2018/ensembl-browser-workshop-ebi-april-2018","date":"Wednesday, April 25, 2018"},{"title":"Ensembl programmatic access with Perl, April 2018","year":"2018","url":"www.ebi.ac.uk/training/events/2018/ensembl-programmatic-access-perl-april-2018","date":"Monday, April 23, 2018"},{"title":"EMBL-EBI Workshop: Exploring bioinformatics resources, sequence and genomic data","year":"2018","url":"www.ebi.ac.uk/training/events/2018/embl-ebi-workshop-exploring-bioinformatics-resources-sequence-and-genomic-data","date":"Wednesday, April 18, 2018"},{"title":"3rd Programmable nucleases (CRISPR/Cas9) \u2013 Transgenesis Course: Ensembl sessions","year":"2018","url":"www.ebi.ac.uk/training/events/2018/3rd-programmable-nucleases-crisprcas9-transgenesis-course-ensembl-sessions","date":"Monday, April 16, 2018"},{"title":"Advanced RNA-Seq Analysis","year":"2018","url":"www.ebi.ac.uk/training/events/2018/advanced-rna-seq-analysis","date":"Monday, April 16, 2018"},{"title":"International Post-graduate Course Variant Effect Prediction: Ensembl genome browser & Variant Effect Predictor (VEP) modules, Breda, The Netherlands, 10 - 13 April 2018","year":"2018","url":"www.ebi.ac.uk/training/events/2018/international-post-graduate-course-variant-effect-prediction-ensembl-genome-browser-variant-effect","date":"Wednesday, April 11, 2018"},{"title":"Introduction to Next Generation Sequencing ","year":"2018","url":"www.ebi.ac.uk/training/events/2018/introduction-next-generation-sequencing-4","date":"Monday, April 09, 2018"},{"title":"Introduction to Metabolomics Analysis","year":"2018","url":"www.ebi.ac.uk/training/events/2018/introduction-metabolomics-analysis","date":"Tuesday, March 20, 2018"},{"title":"Bioinformatics for Discovery","year":"2018","url":"www.ebi.ac.uk/training/events/2018/bioinformatics-discovery-1","date":"Monday, March 19, 2018"},{"title":"EMBL-EBI workshop: Network Analysis","year":"2018","url":"www.ebi.ac.uk/training/events/2018/embl-ebi-workshop-network-analysis","date":"Wednesday, March 14, 2018"},{"title":"EMBL-EBI workshop: Interactions and Pathways","year":"2018","url":"www.ebi.ac.uk/training/events/2018/embl-ebi-workshop-interactions-and-pathways","date":"Tuesday, March 13, 2018"},{"title":"ENA Sequence Retrieval workshop","year":"2018","url":"www.ebi.ac.uk/training/events/2018/ena-sequence-retrieval-workshop","date":"Tuesday, March 13, 2018"},{"title":"Introduction to using the Ensembl Browser, Cambridge March 2018","year":"2018","url":"www.ebi.ac.uk/training/events/2018/introduction-using-ensembl-browser-cambridge-march-2018","date":"Monday, March 12, 2018"},{"title":"Bioinformatics Resources for Protein Biology","year":"2018","url":"www.ebi.ac.uk/training/events/2018/bioinformatics-resources-protein-biology-2","date":"Tuesday, March 06, 2018"},{"title":"EMBL-EBI workshop: Functional protein classification (InterPro)","year":"2018","url":"www.ebi.ac.uk/training/events/2018/embl-ebi-workshop-functional-protein-classification-interpro","date":"Tuesday, February 27, 2018"},{"title":"Introduction to Multiomics Data Integration ","year":"2018","url":"www.ebi.ac.uk/training/events/2018/introduction-multiomics-data-integration","date":"Tuesday, February 20, 2018"},{"title":"EMBL-EBI Workshop: Ensembl VEP","year":"2018","url":"www.ebi.ac.uk/training/events/2018/embl-ebi-workshop-ensembl-vep","date":"Thursday, February 15, 2018"},{"title":"EMBL-EBI workshop: European Variation Archive","year":"2018","url":"www.ebi.ac.uk/training/events/2018/embl-ebi-workshop-european-variation-archive","date":"Thursday, February 15, 2018"},{"title":"Ensembl Browser workshop, Rotterdam, The Netherlands, 13-14 February 2018","year":"2018","url":"www.ebi.ac.uk/training/events/2018/ensembl-browser-workshop-rotterdam-netherlands-13-14-february-2018","date":"Tuesday, February 13, 2018"},{"title":"EMBL-EBI workshop: Array Express and Expression Atlas","year":"2018","url":"www.ebi.ac.uk/training/events/2018/embl-ebi-workshop-array-express-and-expression-atlas","date":"Wednesday, February 07, 2018"},{"title":"EMBL-EBI workshop: Introduction to Sequence Searching","year":"2018","url":"www.ebi.ac.uk/training/events/2018/embl-ebi-workshop-introduction-sequence-searching","date":"Tuesday, February 06, 2018"},{"title":"EMBL-EBI workshop: The European Nucleotide Sequence Archive","year":"2018","url":"www.ebi.ac.uk/training/events/2018/embl-ebi-workshop-european-nucleotide-sequence-archive","date":"Tuesday, February 06, 2018"},{"title":"EMBO Practical Course on Metabolomics Bioinformatics for Life Scientists","year":"2018","url":"www.ebi.ac.uk/training/events/2018/embo-practical-course-metabolomics-bioinformatics-life-scientists-4","date":"Monday, February 05, 2018"},{"title":"EMBL-EBI workshop: Protein sequence Databases","year":"2018","url":"www.ebi.ac.uk/training/events/2018/embl-ebi-workshop-protein-sequence-databases","date":"Monday, February 05, 2018"},{"title":"EMBL-EBI workshop: Ontologies in life sciences - examples from GO and EFO","year":"2018","url":"www.ebi.ac.uk/training/events/2018/embl-ebi-workshop-ontologies-life-sciences-examples-go-and-efo","date":"Friday, February 02, 2018"},{"title":"Ensembl Browser Workshop, UC Davis, 26th January 2018","year":"2018","url":"www.ebi.ac.uk/training/events/2018/ensembl-browser-workshop-uc-davis-26th-january-2018","date":"Friday, January 26, 2018"},{"title":"Ensembl Browser Workshop, The Chan Zuckerberg Biohub and Gladstone Institutes, 25th January 2018","year":"2018","url":"www.ebi.ac.uk/training/events/2018/ensembl-browser-workshop-chan-zuckerberg-biohub-and-gladstone-institutes-25th-january-2018","date":"Thursday, January 25, 2018"},{"title":"Ensembl Browser workshop, Nottingham 2018","year":"2018","url":"www.ebi.ac.uk/training/events/2018/ensembl-browser-workshop-nottingham-2018","date":"Wednesday, January 24, 2018"},{"title":"Ensembl Browser Workshop, UC Berkeley, 23rd January 2018","year":"2018","url":"www.ebi.ac.uk/training/events/2018/ensembl-browser-workshop-uc-berkeley-23rd-january-2018","date":"Tuesday, January 23, 2018"},{"title":"Ensembl Browser Workshop, Stanford University, 18th January 2018","year":"2018","url":"www.ebi.ac.uk/training/events/2018/ensembl-browser-workshop-stanford-university-18th-january-2018","date":"Thursday, January 18, 2018"},{"title":"PAG 2018 Workshop: Browsing Genes and Genomes with Ensembl and Ensembl Genomes","year":"2018","url":"www.ebi.ac.uk/training/events/2018/pag-2018-workshop-browsing-genes-and-genomes-ensembl-and-ensembl-genomes","date":"Sunday, January 14, 2018"},{"title":"Ensembl Browser Workshop, UCSD, 11th January 2018","year":"2018","url":"www.ebi.ac.uk/training/events/2018/ensembl-browser-workshop-ucsd-11th-january-2018","date":"Thursday, January 11, 2018"},{"title":"EMBL-EBI resources and tools for genomics and proteomics ","year":"2017","url":"www.ebi.ac.uk/training/events/2017/embl-ebi-resources-and-tools-genomics-and-proteomics","date":"Monday, December 04, 2017"},{"title":"Ensembl Browser workshop, DKFZ, 30th November 2017","year":"2017","url":"www.ebi.ac.uk/training/events/2017/ensembl-browser-workshop-dkfz-30th-november-2017","date":"Thursday, November 30, 2017"},{"title":"Ensembl Bite-Sized November 2017","year":"2017","url":"www.ebi.ac.uk/training/events/2017/ensembl-bite-sized-november-2017","date":"Wednesday, November 29, 2017"},{"title":"Hands-on Introduction to HPC for Life Scientists","year":"2017","url":"www.ebi.ac.uk/training/events/2017/hands-introduction-hpc-life-scientists","date":"Wednesday, November 29, 2017"},{"title":"Ensembl Browser Workshop, DKFZ, 28th November 2017","year":"2017","url":"www.ebi.ac.uk/training/events/2017/ensembl-browser-workshop-dkfz-28th-november-2017","date":"Tuesday, November 28, 2017"},{"title":"Ensembl REST API course \u2013 27th-28th November 2017","year":"2017","url":"www.ebi.ac.uk/training/events/2017/ensembl-rest-api-course-27th-28th-november-2017","date":"Monday, November 27, 2017"},{"title":"EMBL-EBI workshop: Interactions and Pathways - Reactome","year":"2017","url":"www.ebi.ac.uk/training/events/2017/embl-ebi-workshop-interactions-and-pathways-reactome","date":"Thursday, November 23, 2017"},{"title":"Exploring Biological Sequences","year":"2017","url":"www.ebi.ac.uk/training/events/2017/exploring-biological-sequences","date":"Tuesday, November 14, 2017"},{"title":"EMBL-EBI Bioinformatics resources for exploring functional genomics data","year":"2017","url":"www.ebi.ac.uk/training/events/2017/embl-ebi-bioinformatics-resources-exploring-functional-genomics-data","date":"Thursday, November 09, 2017"},{"title":"Analysis of High-Throughput Sequencing Data","year":"2017","url":"www.ebi.ac.uk/training/events/2017/analysis-high-throughput-sequencing-data-0","date":"Tuesday, November 07, 2017"},{"title":"VEPTC 2017 Practical Session: The Ensembl Genome Browser","year":"2017","url":"www.ebi.ac.uk/training/events/2017/veptc-2017-practical-session-ensembl-genome-browser","date":"Monday, November 06, 2017"},{"title":"EMBL-EBI: Bioinformatics resources for exploring disease related data","year":"2017","url":"www.ebi.ac.uk/training/events/2017/embl-ebi-bioinformatics-resources-exploring-disease-related-data","date":"Monday, October 30, 2017"},{"title":"Metabolomics Workflows","year":"2017","url":"www.ebi.ac.uk/training/events/2017/metabolomics-workflows","date":"Monday, October 30, 2017"},{"title":"Structural Bioinformatics","year":"2017","url":"www.ebi.ac.uk/training/events/2017/structural-bioinformatics-1","date":"Monday, October 23, 2017"},{"title":"ASHG 2017 Interactive Invited Workshop: Accessing the Breadth of Data in Ensembl: A Worked Clinical Example","year":"2017","url":"www.ebi.ac.uk/training/events/2017/ashg-2017-interactive-invited-workshop-accessing-breadth-data-ensembl-worked-clinical-example","date":"Wednesday, October 18, 2017"},{"title":"Introduction to Next Generation Sequencing (October)","year":"2017","url":"www.ebi.ac.uk/training/events/2017/introduction-next-generation-sequencing-october-0","date":"Monday, October 09, 2017"},{"title":"Ensembl Browser Workshop \u2013 EBI 3rd October 2017","year":"2017","url":"www.ebi.ac.uk/training/events/2017/ensembl-browser-workshop-ebi-3rd-october-2017","date":"Tuesday, October 03, 2017"},{"title":"Ensembl Browser workshop, University of the Basque Country, 2nd-5th October 2017","year":"2017","url":"www.ebi.ac.uk/training/events/2017/ensembl-browser-workshop-university-basque-country-2nd-5th-october-2017","date":"Monday, October 02, 2017"},{"title":"Metagenomics Bioinformatics","year":"2017","url":"www.ebi.ac.uk/training/events/2017/metagenomics-bioinformatics-2","date":"Monday, October 02, 2017"},{"title":"EMBL-EBI Bioinformatics workshop, Centre for Marine Sciences (CCMAR), Faro","year":"2017","url":"www.ebi.ac.uk/training/events/2017/embl-ebi-bioinformatics-workshop-centre-marine-sciences-ccmar-faro","date":"Monday, October 02, 2017"},{"title":"EMBL-EBI Bioinformatics workshop, SENC Neuroscience Congress, Alicante","year":"2017","url":"www.ebi.ac.uk/training/events/2017/embl-ebi-bioinformatics-workshop-senc-neuroscience-congress-alicante","date":"Thursday, September 28, 2017"},{"title":"EMBL-EBI Bioinformatics Workshop, Institute of Neuroscience, Alicante","year":"2017","url":"www.ebi.ac.uk/training/events/2017/embl-ebi-bioinformatics-workshop-institute-neuroscience-alicante","date":"Wednesday, September 27, 2017"},{"title":"Bioinformatics resources for protein biology","year":"2017","url":"www.ebi.ac.uk/training/events/2017/bioinformatics-resources-protein-biology-0","date":"Tuesday, September 26, 2017"},{"title":"Ensembl Bite-Sized September 2017","year":"2017","url":"www.ebi.ac.uk/training/events/2017/ensembl-bite-sized-september-2017","date":"Wednesday, September 20, 2017"},{"title":"EMBL-EBI: Exploring bioinformatics resources, sequence and genomic data","year":"2017","url":"www.ebi.ac.uk/training/events/2017/embl-ebi-exploring-bioinformatics-resources-sequence-and-genomic-data","date":"Monday, September 18, 2017"},{"title":"Ensembl browser workshop, Cambridge, September 2017","year":"2017","url":"www.ebi.ac.uk/training/events/2017/ensembl-browser-workshop-cambridge-september-2017","date":"Friday, September 08, 2017"},{"title":"Ensembl browser workshop, Immunocore, July 2017","year":"2017","url":"www.ebi.ac.uk/training/events/2017/ensembl-browser-workshop-immunocore-july-2017","date":"Monday, July 24, 2017"},{"title":"Exploring Human Genetic Variation","year":"2017","url":"www.ebi.ac.uk/training/events/2017/exploring-human-genetic-variation","date":"Tuesday, July 18, 2017"},{"title":"Proteomics Bioinformatics","year":"2017","url":"www.ebi.ac.uk/training/events/2017/proteomics-bioinformatics-1","date":"Sunday, July 16, 2017"},{"title":"Ensembl Browser workshop, University of the Basque Country (UPV/EHU), 13th-14th July 2017","year":"2017","url":"www.ebi.ac.uk/training/events/2017/ensembl-browser-workshop-university-basque-country-upvehu-13th-14th-july-2017-1","date":"Thursday, July 13, 2017"},{"title":"In Silico Systems Biology","year":"2017","url":"www.ebi.ac.uk/training/events/2017/silico-systems-biology-0","date":"Sunday, July 09, 2017"},{"title":"Foundation skills for HPC in computational biomolecular research - BioExcel Summer School","year":"2017","url":"www.ebi.ac.uk/training/events/2017/foundation-skills-hpc-computational-biomolecular-research-bioexcel-summer-school","date":"Monday, July 03, 2017"},{"title":"Summer School in Bioinformatics","year":"2017","url":"www.ebi.ac.uk/training/events/2017/summer-school-bioinformatics-0","date":"Monday, June 26, 2017"},{"title":"Cancer Genomics","year":"2017","url":"www.ebi.ac.uk/training/events/2017/cancer-genomics-2","date":"Tuesday, June 20, 2017"},{"title":"Data resources and bioinformatics tools for immunologists","year":"2017","url":"www.ebi.ac.uk/training/events/2017/data-resources-and-bioinformatics-tools-immunologists","date":"Monday, June 12, 2017"},{"title":"Bioinformatics for Principal Investigators","year":"2017","url":"www.ebi.ac.uk/training/events/2017/bioinformatics-principal-investigators-0","date":"Tuesday, June 06, 2017"},{"title":"Bioinformatics for core facility managers","year":"2017","url":"www.ebi.ac.uk/training/events/2017/bioinformatics-core-facility-managers","date":"Tuesday, June 06, 2017"},{"title":"EMBL-EBI Bioinformatics Resources and Biological Networks Workshop","year":"2017","url":"www.ebi.ac.uk/training/events/2017/embl-ebi-bioinformatics-resources-and-biological-networks-workshop","date":"Thursday, June 01, 2017"},{"title":"ESHG 2017: Ensembl & GENCODE","year":"2017","url":"www.ebi.ac.uk/training/events/2017/eshg-2017-ensembl-gencode","date":"Monday, May 29, 2017"},{"title":"Ensembl Bite-Sized May 2017","year":"2017","url":"www.ebi.ac.uk/training/events/2017/ensembl-bite-sized-may-2017","date":"Wednesday, May 24, 2017"},{"title":"Networks and Pathways","year":"2017","url":"www.ebi.ac.uk/training/events/2017/networks-and-pathways-2","date":"Monday, May 22, 2017"},{"title":"EMBL-EBI: Exploring genomic, protein and chemical data, Oviedo","year":"2017","url":"www.ebi.ac.uk/training/events/2017/embl-ebi-exploring-genomic-protein-and-chemical-data-oviedo","date":"Monday, May 15, 2017"},{"title":"Computational Molecular Evolution","year":"2017","url":"www.ebi.ac.uk/training/events/2017/computational-molecular-evolution","date":"Monday, May 08, 2017"},{"title":"Service Provision - RItrain Staff Exchange","year":"2017","url":"www.ebi.ac.uk/training/events/2017/service-provision-ritrain-staff-exchange","date":"Tuesday, May 02, 2017"},{"title":"Ensembl Browser Workshop \u2013 CRUK Cambridge 2nd May 2017","year":"2017","url":"www.ebi.ac.uk/training/events/2017/ensembl-browser-workshop-cruk-cambridge-2nd-may-2017","date":"Tuesday, May 02, 2017"},{"title":"Advanced RNA-Seq and ChiP-Seq Data Analysis","year":"2017","url":"www.ebi.ac.uk/training/events/2017/advanced-rna-seq-and-chip-seq-data-analysis-1","date":"Monday, April 24, 2017"},{"title":"Ensembl Browser Workshop-UNC 18th April 2017","year":"2017","url":"www.ebi.ac.uk/training/events/2017/ensembl-browser-workshop-unc-18th-april-2017","date":"Tuesday, April 18, 2017"},{"title":"Multi-scale study of 3D Chromatin structure","year":"2017","url":"www.ebi.ac.uk/training/events/2017/multi-scale-study-3d-chromatin-structure","date":"Monday, April 10, 2017"},{"title":"ISCB NGS 2017: Accessing structural variation and population genomics data in Ensembl","year":"2017","url":"www.ebi.ac.uk/training/events/2017/iscb-ngs-2017-accessing-structural-variation-and-population-genomics-data-ensembl","date":"Wednesday, April 05, 2017"},{"title":"Ensembl Browser Workshop- EMBL-EBI 4th April 2017","year":"2017","url":"www.ebi.ac.uk/training/events/2017/ensembl-browser-workshop-embl-ebi-4th-april-2017","date":"Tuesday, April 04, 2017"},{"title":"Introduction to Next Generation Sequencing (April) ","year":"2017","url":"www.ebi.ac.uk/training/events/2017/introduction-next-generation-sequencing-april-0","date":"Monday, April 03, 2017"},{"title":"Bioinformatics for discovery","year":"2017","url":"www.ebi.ac.uk/training/events/2017/bioinformatics-discovery-0","date":"Thursday, March 16, 2017"},{"title":"Introduction to Omics data integration","year":"2017","url":"www.ebi.ac.uk/training/events/2017/introduction-omics-data-integration","date":"Tuesday, March 07, 2017"},{"title":"Ensembl Browser Workshop, Cambridge, 3rd March 2017","year":"2017","url":"www.ebi.ac.uk/training/events/2017/ensembl-browser-workshop-cambridge-3rd-march-2017","date":"Friday, March 03, 2017"},{"title":"EMBL-EBI: Interactions & Pathways - Reactome ","year":"2017","url":"www.ebi.ac.uk/training/events/2017/embl-ebi-interactions-pathways-reactome","date":"Tuesday, February 28, 2017"},{"title":"EMBL-EBI Bioinformatics Resources Workshop, Pavia 2017","year":"2017","url":"www.ebi.ac.uk/training/events/2017/embl-ebi-bioinformatics-resources-workshop-pavia-2017","date":"Tuesday, February 21, 2017"},{"title":"Ensembl Gene Annotation Workshop, Hsinchu, Taiwan","year":"2017","url":"www.ebi.ac.uk/training/events/2017/ensembl-gene-annotation-workshop-hsinchu-taiwan","date":"Friday, February 17, 2017"},{"title":"EMBL-EBI: Exploring genetic variation data","year":"2017","url":"www.ebi.ac.uk/training/events/2017/embl-ebi-exploring-genetic-variation-data","date":"Thursday, February 16, 2017"},{"title":"eHive Workshop","year":"2017","url":"www.ebi.ac.uk/training/events/2017/ehive-workshop","date":"Wednesday, February 15, 2017"},{"title":"EMBL-EBI: Transcriptomics Data and Tools","year":"2017","url":"www.ebi.ac.uk/training/events/2017/embl-ebi-transcriptomics-data-and-tools","date":"Tuesday, February 14, 2017"},{"title":"EMBO Practical Course on Metabolomics Bioinformatics for Life Scientists","year":"2017","url":"www.ebi.ac.uk/training/events/2017/embo-practical-course-metabolomics-bioinformatics-life-scientists-3","date":"Monday, February 13, 2017"},{"title":"Ensembl API Workshop","year":"2017","url":"www.ebi.ac.uk/training/events/2017/ensembl-api-workshop","date":"Thursday, February 09, 2017"},{"title":"Ensembl Bite-Sized February 2017","year":"2017","url":"www.ebi.ac.uk/training/events/2017/ensembl-bite-sized-february-2017","date":"Wednesday, February 08, 2017"},{"title":"EMBL-EBI: Introduction to Chemogenomics Resources ","year":"2017","url":"www.ebi.ac.uk/training/events/2017/embl-ebi-introduction-chemogenomics-resources","date":"Monday, February 06, 2017"},{"title":"Interactions & Pathways - IntAct","year":"2017","url":"www.ebi.ac.uk/training/events/2017/interactions-pathways-intact-0","date":"Friday, February 03, 2017"},{"title":"EMBL-EBI: An Introduction to Sequence Searching","year":"2017","url":"www.ebi.ac.uk/training/events/2017/embl-ebi-introduction-sequence-searching","date":"Thursday, February 02, 2017"},{"title":"EMBL-EBI Resources workshop, Malta 2017","year":"2017","url":"www.ebi.ac.uk/training/events/2017/embl-ebi-resources-workshop-malta-2017","date":"Thursday, February 02, 2017"},{"title":"EMBL-EBI: Introduction to InterPro","year":"2017","url":"www.ebi.ac.uk/training/events/2017/embl-ebi-introduction-interpro","date":"Wednesday, February 01, 2017"},{"title":"Data Visualisation for Biology: a practical workshop on design, techniques and tools","year":"2017","url":"www.ebi.ac.uk/training/events/2017/data-visualisation-biology-practical-workshop-design-techniques-and-tools","date":"Monday, January 30, 2017"},{"title":"EMBL-EBI: Introduction to ontologies","year":"2017","url":"www.ebi.ac.uk/training/events/2017/embl-ebi-introduction-ontologies","date":"Friday, January 27, 2017"},{"title":"EMBL-EBI: Introduction to EMBL-EBI resources","year":"2017","url":"www.ebi.ac.uk/training/events/2017/embl-ebi-introduction-embl-ebi-resources-0","date":"Monday, January 23, 2017"},{"title":"Ensembl Browser Workshop- University of Nottingham - 23rd-24th January 2017","year":"2017","url":"www.ebi.ac.uk/training/events/2017/ensembl-browser-workshop-university-nottingham-23rd-24th-january-2017","date":"Monday, January 23, 2017"},{"title":"Ensembl Browser Workshop- UCSF - 23rd January 2017","year":"2017","url":"www.ebi.ac.uk/training/events/2017/ensembl-browser-workshop-ucsf-23rd-january-2017","date":"Monday, January 23, 2017"},{"title":"Ensembl and Ensembl Genomes @ PAG","year":"2017","url":"www.ebi.ac.uk/training/events/2017/ensembl-and-ensembl-genomes-pag","date":"Sunday, January 15, 2017"},{"title":"Ensembl Genomes Browser Workshop - IPSP-CNR (Bari Unit) - 5th December","year":"2016","url":"www.ebi.ac.uk/training/events/2016/ensembl-genomes-browser-workshop-ipsp-cnr-bari-unit-5th-december","date":"Monday, December 05, 2016"},{"title":"Proteomics Bioinformatics","year":"2016","url":"www.ebi.ac.uk/training/events/2016/proteomics-bioinformatics-0","date":"Sunday, December 04, 2016"},{"title":"Ensembl Bite sized \u2013 November 2016","year":"2016","url":"www.ebi.ac.uk/training/events/2016/ensembl-bite-sized-november-2016","date":"Wednesday, November 30, 2016"},{"title":"Exploring genomic variation with high throughput sequencing data","year":"2016","url":"www.ebi.ac.uk/training/events/2016/exploring-genomic-variation-high-throughput-sequencing-data","date":"Monday, November 28, 2016"},{"title":"Introduction to ChIP-seq Data Analysis and Visualisation using Ensembl","year":"2016","url":"www.ebi.ac.uk/training/events/2016/introduction-chip-seq-data-analysis-and-visualisation-using-ensembl","date":"Tuesday, November 22, 2016"},{"title":"X-meeting 2016 - Exploring and Retrieving Genomic Data Using the Ensembl Genome Browser","year":"2016","url":"www.ebi.ac.uk/training/events/2016/x-meeting-2016-exploring-and-retrieving-genomic-data-using-ensembl-genome-browser","date":"Thursday, November 17, 2016"},{"title":"Ensembl Browser Workshop","year":"2016","url":"www.ebi.ac.uk/training/events/2016/ensembl-browser-workshop","date":"Tuesday, November 01, 2016"},{"title":"Exploring biological sequence data","year":"2016","url":"www.ebi.ac.uk/training/events/2016/exploring-biological-sequence-data","date":"Tuesday, November 01, 2016"},{"title":"Bioinformatics resources for exploring disease related data","year":"2016","url":"www.ebi.ac.uk/training/events/2016/bioinformatics-resources-exploring-disease-related-data-0","date":"Monday, October 31, 2016"},{"title":"Ensembl Genomes Browser Workshop, IPSP-CNR, Torino","year":"2016","url":"www.ebi.ac.uk/training/events/2016/ensembl-genomes-browser-workshop-ipsp-cnr-torino","date":"Thursday, October 27, 2016"},{"title":"Ensembl Browser workshop, Vancouver, 23rd-24th October 2016","year":"2016","url":"www.ebi.ac.uk/training/events/2016/ensembl-browser-workshop-vancouver-23rd-24th-october-2016","date":"Sunday, October 23, 2016"},{"title":"ASHG 2016- Ensembl: hands-on exploring variation data and the VEP","year":"2016","url":"www.ebi.ac.uk/training/events/2016/ashg-2016-ensembl-hands-exploring-variation-data-and-vep","date":"Thursday, October 20, 2016"},{"title":"BioExcel: Workflow Training for Computational Biomolecular Research","year":"2016","url":"www.ebi.ac.uk/training/events/2016/bioexcel-workflow-training-computational-biomolecular-research","date":"Thursday, October 20, 2016"},{"title":"Databases for microRNA and long non-coding RNA biology","year":"2016","url":"www.ebi.ac.uk/training/events/2016/databases-microrna-and-long-non-coding-rna-biology","date":"Wednesday, October 19, 2016"},{"title":"Metagenomics Bioinformatics","year":"2016","url":"www.ebi.ac.uk/training/events/2016/metagenomics-bioinformatics-1","date":"Tuesday, October 18, 2016"},{"title":"Ensembl Browser Workshop, UC Denver, 13th October 2016","year":"2016","url":"www.ebi.ac.uk/training/events/2016/ensembl-browser-workshop-uc-denver-13th-october-2016","date":"Thursday, October 13, 2016"},{"title":"Introduction to Next Generation Sequencing (October)","year":"2016","url":"www.ebi.ac.uk/training/events/2016/introduction-next-generation-sequencing-october","date":"Monday, October 03, 2016"},{"title":"Ensembl Browser Workshop- EMBL-EBI- 28th September 2016","year":"2016","url":"www.ebi.ac.uk/training/events/2016/ensembl-browser-workshop-embl-ebi-28th-september-2016","date":"Wednesday, September 28, 2016"},{"title":"Ensembl Bite sized \u2013 September 2016","year":"2016","url":"www.ebi.ac.uk/training/events/2016/ensembl-bite-sized-september-2016","date":"Wednesday, September 21, 2016"},{"title":"Structural Bioinformatics 2016 ","year":"2016","url":"www.ebi.ac.uk/training/events/2016/structural-bioinformatics-2016","date":"Tuesday, September 20, 2016"},{"title":"Ensembl Browser Workshop, CRUK Cambridge Institute, 20th September 2016","year":"2016","url":"www.ebi.ac.uk/training/events/2016/ensembl-browser-workshop-cruk-cambridge-institute-20th-september-2016","date":"Tuesday, September 20, 2016"},{"title":"Software faster: From months to minutes","year":"2016","url":"www.ebi.ac.uk/training/events/2016/software-faster-months-minutes","date":"Tuesday, September 20, 2016"},{"title":"Analysis of High-Throughput Sequencing Data","year":"2016","url":"www.ebi.ac.uk/training/events/2016/analysis-high-throughput-sequencing-data","date":"Monday, September 05, 2016"},{"title":"EMBL-EBI Functional Genomics Resources","year":"2016","url":"www.ebi.ac.uk/training/events/2016/embl-ebi-functional-genomics-resources","date":"Monday, August 08, 2016"},{"title":"In Silico Systems Biology","year":"2016","url":"www.ebi.ac.uk/training/events/2016/silico-systems-biology","date":"Sunday, July 03, 2016"},{"title":"Ensembl API workshop, Cambridge, June 2016","year":"2016","url":"www.ebi.ac.uk/training/events/2016/ensembl-api-workshop-cambridge-june-2016","date":"Monday, June 27, 2016"},{"title":"Cancer Genomics","year":"2016","url":"www.ebi.ac.uk/training/events/2016/cancer-genomics-1","date":"Monday, June 27, 2016"},{"title":"Exploring Genetic Variation","year":"2016","url":"www.ebi.ac.uk/training/events/2016/exploring-genetic-variation","date":"Tuesday, June 21, 2016"},{"title":"Ensembl: Analysing variation data with the Variant Effect Predictor (VEP)- Helsinki, 14th June 2016 ","year":"2016","url":"www.ebi.ac.uk/training/events/2016/ensembl-analysing-variation-data-variant-effect-predictor-vep-helsinki-14th-june-2016","date":"Tuesday, June 14, 2016"},{"title":"Summer School in Bioinformatics","year":"2016","url":"www.ebi.ac.uk/training/events/2016/summer-school-bioinformatics","date":"Monday, June 13, 2016"},{"title":"Ensembl Browser Workshop \u2013 Cambridge June 2016","year":"2016","url":"www.ebi.ac.uk/training/events/2016/ensembl-browser-workshop-cambridge-june-2016","date":"Thursday, June 09, 2016"},{"title":"Ensembl Browser Workshop- University of the Western Cape, 7th June 2016","year":"2016","url":"www.ebi.ac.uk/training/events/2016/ensembl-browser-workshop-university-western-cape-7th-june-2016","date":"Tuesday, June 07, 2016"},{"title":"Bioinformatics for Principal Investigators","year":"2016","url":"www.ebi.ac.uk/training/events/2016/bioinformatics-principal-investigators","date":"Tuesday, June 07, 2016"},{"title":"Ensembl Browser Workshop- University of Cape Town, 6th June 2016","year":"2016","url":"www.ebi.ac.uk/training/events/2016/ensembl-browser-workshop-university-cape-town-6th-june-2016","date":"Monday, June 06, 2016"},{"title":"Ensembl Browser Workshop, University of Pretoria, 3rd June 2016","year":"2016","url":"www.ebi.ac.uk/training/events/2016/ensembl-browser-workshop-university-pretoria-3rd-june-2016","date":"Friday, June 03, 2016"},{"title":"Ensembl Browser Workshop \u2013 University College Dublin 2016","year":"2016","url":"www.ebi.ac.uk/training/events/2016/ensembl-browser-workshop-university-college-dublin-2016","date":"Thursday, June 02, 2016"},{"title":"Ensembl Browser Workshop, University of Witwatersrand, 2nd June 2016","year":"2016","url":"www.ebi.ac.uk/training/events/2016/ensembl-browser-workshop-university-witwatersrand-2nd-june-2016","date":"Thursday, June 02, 2016"},{"title":"Bioinformatics resources for biomedical research - part 2","year":"2016","url":"www.ebi.ac.uk/training/events/2016/bioinformatics-resources-biomedical-research-part-2","date":"Thursday, June 02, 2016"},{"title":"Ensembl Browser Workshop, University of Limpopo, 31st May 2016","year":"2016","url":"www.ebi.ac.uk/training/events/2016/ensembl-browser-workshop-university-limpopo-31st-may-2016","date":"Tuesday, May 31, 2016"},{"title":"Ensembl Browser Workshop- Turku, Finland- 26th-27th May 2016 ","year":"2016","url":"www.ebi.ac.uk/training/events/2016/ensembl-browser-workshop-turku-finland-26th-27th-may-2016","date":"Thursday, May 26, 2016"},{"title":"Ensembl Browser Workshop, CRG Barcelona, 25th May 2016","year":"2016","url":"www.ebi.ac.uk/training/events/2016/ensembl-browser-workshop-crg-barcelona-25th-may-2016","date":"Wednesday, May 25, 2016"},{"title":"Bioinformatics of Plants and Plant Pathogens 2016","year":"2016","url":"www.ebi.ac.uk/training/events/2016/bioinformatics-plants-and-plant-pathogens-2016","date":"Monday, May 23, 2016"},{"title":"Ensembl Bite sized \u2013 May 2016","year":"2016","url":"www.ebi.ac.uk/training/events/2016/ensembl-bite-sized-may-2016","date":"Wednesday, May 18, 2016"},{"title":"Ensembl browser workshops \u2013 Rothamsted May 2016","year":"2016","url":"www.ebi.ac.uk/training/events/2016/ensembl-browser-workshops-rothamsted-may-2016","date":"Wednesday, May 18, 2016"},{"title":"Ensembl Browser Workshop - Southampton, May 2016","year":"2016","url":"www.ebi.ac.uk/training/events/2016/ensembl-browser-workshop-southampton-may-2016","date":"Friday, May 13, 2016"},{"title":"Ensembl Browser Workshop- University of Glasgow, UK- 10th May 2016","year":"2016","url":"www.ebi.ac.uk/training/events/2016/ensembl-browser-workshop-university-glasgow-uk-10th-may-2016","date":"Tuesday, May 10, 2016"},{"title":"Networks and Pathways","year":"2016","url":"www.ebi.ac.uk/training/events/2016/networks-and-pathways-1","date":"Monday, May 09, 2016"},{"title":"EMBO Practical Course on Computational Molecular Evolution","year":"2016","url":"www.ebi.ac.uk/training/events/2016/embo-practical-course-computational-molecular-evolution","date":"Sunday, May 08, 2016"},{"title":"BioExcel: addressing training needs for advanced simulations in biomolecular research","year":"2016","url":"www.ebi.ac.uk/training/events/2016/bioexcel-addressing-training-needs-advanced-simulations-biomolecular-research","date":"Tuesday, May 03, 2016"},{"title":"Ensembl Browser Workshop \u2013 Queen Mary University of London April 2016","year":"2016","url":"www.ebi.ac.uk/training/events/2016/ensembl-browser-workshop-queen-mary-university-london-april-2016","date":"Wednesday, April 27, 2016"},{"title":"Bioinformatics resources for biomedical researchers","year":"2016","url":"www.ebi.ac.uk/training/events/2016/bioinformatics-resources-biomedical-researchers","date":"Monday, April 25, 2016"},{"title":"CRUK workshop, April 2016","year":"2016","url":"www.ebi.ac.uk/training/events/2016/cruk-workshop-april-2016","date":"Tuesday, April 19, 2016"},{"title":"Ensembl Browser Workshop \u2013 CRUK Cambridge April 2016","year":"2016","url":"www.ebi.ac.uk/training/events/2016/ensembl-browser-workshop-cruk-cambridge-april-2016","date":"Monday, April 18, 2016"},{"title":"Advanced RNA-Seq and ChiP-Seq Data Analysis 2016","year":"2016","url":"www.ebi.ac.uk/training/events/2016/advanced-rna-seq-and-chip-seq-data-analysis-2016","date":"Monday, April 18, 2016"},{"title":"Ensembl Browser workshop - Microbes, TGAC, April 2016","year":"2016","url":"www.ebi.ac.uk/training/events/2016/ensembl-browser-workshop-microbes-tgac-april-2016","date":"Wednesday, April 13, 2016"},{"title":"Ensembl Browser Workshop - Plants, TGAC, April 2016","year":"2016","url":"www.ebi.ac.uk/training/events/2016/ensembl-browser-workshop-plants-tgac-april-2016","date":"Tuesday, April 12, 2016"},{"title":"Ensembl Browser Workshop- EMBL-EBI- 5th April 2016","year":"2016","url":"www.ebi.ac.uk/training/events/2016/ensembl-browser-workshop-embl-ebi-5th-april-2016","date":"Tuesday, April 05, 2016"},{"title":"Ensembl Browser Workshop \u2013 Madrid April 2016","year":"2016","url":"www.ebi.ac.uk/training/events/2016/ensembl-browser-workshop-madrid-april-2016","date":"Monday, April 04, 2016"},{"title":"Introduction to Next Generation Sequencing (April)","year":"2016","url":"www.ebi.ac.uk/training/events/2016/introduction-next-generation-sequencing-april","date":"Monday, April 04, 2016"},{"title":"Ensembl Browser Workshop - Southampton, March 2016 ","year":"2016","url":"www.ebi.ac.uk/training/events/2016/ensembl-browser-workshop-southampton-march-2016","date":"Wednesday, March 23, 2016"},{"title":"Ensembl browser workshop \u2013 Erasmus MC 2016","year":"2016","url":"www.ebi.ac.uk/training/events/2016/ensembl-browser-workshop-erasmus-mc-2016","date":"Tuesday, March 22, 2016"},{"title":"Ensembl Browser Workshop \u2013 Cambridge March 2016","year":"2016","url":"www.ebi.ac.uk/training/events/2016/ensembl-browser-workshop-cambridge-march-2016","date":"Monday, March 14, 2016"},{"title":"Agrimetrics - Ensembl Workshop \u2013 Livestock Genomes","year":"2016","url":"www.ebi.ac.uk/training/events/2016/agrimetrics-ensembl-workshop-livestock-genomes","date":"Tuesday, March 08, 2016"},{"title":"Introduction to Integrative Omics","year":"2016","url":"www.ebi.ac.uk/training/events/2016/introduction-integrative-omics-0","date":"Monday, March 07, 2016"},{"title":"Ensembl Bite sized \u2013 Gene Regulation March 2016","year":"2016","url":"www.ebi.ac.uk/training/events/2016/ensembl-bite-sized-gene-regulation-march-2016","date":"Wednesday, March 02, 2016"},{"title":"Ensembl Highlights: accessing genomes","year":"2016","url":"www.ebi.ac.uk/training/events/2016/ensembl-highlights-accessing-genomes","date":"Thursday, February 25, 2016"},{"title":"Ensembl API and gene annotation workshop \u2013 NCHC 2016","year":"2016","url":"www.ebi.ac.uk/training/events/2016/ensembl-api-and-gene-annotation-workshop-nchc-2016","date":"Wednesday, February 24, 2016"},{"title":"Ensembl browser workshop \u2013 NCHC 2016","year":"2016","url":"www.ebi.ac.uk/training/events/2016/ensembl-browser-workshop-nchc-2016","date":"Tuesday, February 23, 2016"},{"title":"Ensembl browser workshop \u2013 Sinica 2016","year":"2016","url":"www.ebi.ac.uk/training/events/2016/ensembl-browser-workshop-sinica-2016","date":"Monday, February 22, 2016"},{"title":"Translational Bioinformatics Workshop 2016","year":"2016","url":"www.ebi.ac.uk/training/events/2016/translational-bioinformatics-workshop-2016","date":"Monday, February 22, 2016"},{"title":"Addressing the skills gaps in technical operation of biomedical research infrastructures ","year":"2016","url":"www.ebi.ac.uk/training/events/2016/addressing-skills-gaps-technical-operation-biomedical-research-infrastructures","date":"Wednesday, February 17, 2016"},{"title":"Addressing the skills gaps in research infrastructure management and leadership ","year":"2016","url":"www.ebi.ac.uk/training/events/2016/addressing-skills-gaps-research-infrastructure-management-and-leadership","date":"Tuesday, February 16, 2016"},{"title":"EMBO Practical Course on Metabolomics Bioinformatics for Life Scientists","year":"2016","url":"www.ebi.ac.uk/training/events/2016/embo-practical-course-metabolomics-bioinformatics-life-scientists-2","date":"Sunday, February 14, 2016"},{"title":"Bioinformatics resources for protein biology","year":"2016","url":"www.ebi.ac.uk/training/events/2016/bioinformatics-resources-protein-biology","date":"Tuesday, February 09, 2016"},{"title":"Human and Vertebrate Genomics: Bioinformatics Tools and Resources, Bangkok","year":"2016","url":"www.ebi.ac.uk/training/events/2016/human-and-vertebrate-genomics-bioinformatics-tools-and-resources-bangkok","date":"Sunday, February 07, 2016"},{"title":"Ensembl Browser Workshop \u2013 Hinxton Feb 2016","year":"2016","url":"www.ebi.ac.uk/training/events/2016/ensembl-browser-workshop-hinxton-feb-2016","date":"Wednesday, February 03, 2016"},{"title":"Ensembl API Workshops, EBI, Jan 2016","year":"2016","url":"www.ebi.ac.uk/training/events/2016/ensembl-api-workshops-ebi-jan-2016","date":"Monday, January 25, 2016"},{"title":"Ensembl Browser Workshop IV \u2013 Cambridge, Jan 2016","year":"2016","url":"www.ebi.ac.uk/training/events/2016/ensembl-browser-workshop-iv-cambridge-jan-2016","date":"Tuesday, January 19, 2016"},{"title":"Ensembl Browser Workshop III \u2013 Cambridge, Jan 2016","year":"2016","url":"www.ebi.ac.uk/training/events/2016/ensembl-browser-workshop-iii-cambridge-jan-2016","date":"Tuesday, January 19, 2016"},{"title":"Ensembl Browser Workshop \u2013 Nottingham, Jan 2016","year":"2016","url":"www.ebi.ac.uk/training/events/2016/ensembl-browser-workshop-nottingham-jan-2016","date":"Monday, January 18, 2016"},{"title":"Ensembl Browser Workshop \u2013 Queen Mary University of London Jan 2016","year":"2016","url":"www.ebi.ac.uk/training/events/2016/ensembl-browser-workshop-queen-mary-university-london-jan-2016","date":"Monday, January 18, 2016"},{"title":"Ensembl Browser Workshop II \u2013 Cambridge, Jan 2016","year":"2016","url":"www.ebi.ac.uk/training/events/2016/ensembl-browser-workshop-ii-cambridge-jan-2016","date":"Friday, January 15, 2016"},{"title":"Ensembl Browser Workshop I \u2013 Cambridge, Jan 2016","year":"2016","url":"www.ebi.ac.uk/training/events/2016/ensembl-browser-workshop-i-cambridge-jan-2016","date":"Friday, January 15, 2016"},{"title":"Transcriptomics Data and Tools","year":"2015","url":"www.ebi.ac.uk/training/events/2015/transcriptomics-data-and-tools","date":"Tuesday, December 15, 2015"},{"title":"Proteomics Bioinformatics","year":"2015","url":"www.ebi.ac.uk/training/events/2015/proteomics-bioinformatics","date":"Sunday, December 06, 2015"},{"title":"Bioinformatics resources for exploring disease related data","year":"2015","url":"www.ebi.ac.uk/training/events/2015/bioinformatics-resources-exploring-disease-related-data","date":"Thursday, December 03, 2015"},{"title":"EMBL-EBI bioinformatics workshop, Helsinki 2015","year":"2015","url":"www.ebi.ac.uk/training/events/2015/embl-ebi-bioinformatics-workshop-helsinki-2015","date":"Tuesday, December 01, 2015"},{"title":"Exploiting Metagenomics Approaches in Life Science Research","year":"2015","url":"www.ebi.ac.uk/training/events/2015/exploiting-metagenomics-approaches-life-science-research","date":"Tuesday, December 01, 2015"},{"title":"Ensembl Browser workshop, Cambridge, Nov 2015","year":"2015","url":"www.ebi.ac.uk/training/events/2015/ensembl-browser-workshop-cambridge-nov-2015","date":"Friday, November 27, 2015"},{"title":"NGS data analysis course, Pontificia Universidad Javeriana, Bogota, November 2015","year":"2015","url":"www.ebi.ac.uk/training/events/2015/ngs-data-analysis-course-pontificia-universidad-javeriana-bogota-november-2015","date":"Monday, November 23, 2015"},{"title":"Data Visualization for Biology: a practical workshop on design, techniques and tools ","year":"2015","url":"www.ebi.ac.uk/training/events/2015/data-visualization-biology-practical-workshop-design-techniques-and-tools","date":"Monday, November 23, 2015"},{"title":"Network Analysis with Cytoscape and PSICQUIC","year":"2015","url":"www.ebi.ac.uk/training/events/2015/network-analysis-cytoscape-and-psicquic","date":"Wednesday, November 18, 2015"},{"title":"PRIDE: Introduction to EMBL-EBI Resources & MS Proteomics","year":"2015","url":"www.ebi.ac.uk/training/events/2015/pride-introduction-embl-ebi-resources-ms-proteomics","date":"Wednesday, November 18, 2015"},{"title":"Ensembl Browser Workshop - Southampton, Nov 2015 ","year":"2015","url":"www.ebi.ac.uk/training/events/2015/ensembl-browser-workshop-southampton-nov-2015","date":"Friday, November 13, 2015"},{"title":"Ensembl Browser Workshop \u2013 Sea Lice Research Centre, 12th November","year":"2015","url":"www.ebi.ac.uk/training/events/2015/ensembl-browser-workshop-sea-lice-research-centre-12th-november","date":"Thursday, November 12, 2015"},{"title":"MiMS / NDPIA Bioinformatics Workshop - Umea, Sweden","year":"2015","url":"www.ebi.ac.uk/training/events/2015/mims-ndpia-bioinformatics-workshop-umea-sweden","date":"Tuesday, November 10, 2015"},{"title":"Symposium on Systems Biology of Neurodegenerative Diseases, sponsored by AgedBrainSYSBIO ","year":"2015","url":"www.ebi.ac.uk/training/events/2015/symposium-systems-biology-neurodegenerative-diseases-sponsored-agedbrainsysbio","date":"Friday, November 06, 2015"},{"title":"Introduction to Ontologies ","year":"2015","url":"www.ebi.ac.uk/training/events/2015/introduction-ontologies","date":"Wednesday, November 04, 2015"},{"title":"An Introduction to Sequence Searching ","year":"2015","url":"www.ebi.ac.uk/training/events/2015/introduction-sequence-searching","date":"Tuesday, November 03, 2015"},{"title":"Interactions & Pathways - Reactome ","year":"2015","url":"www.ebi.ac.uk/training/events/2015/interactions-pathways-reactome-1","date":"Tuesday, November 03, 2015"},{"title":"Accessing Epigenomes with Ensembl, Hinxton, Nov 2015","year":"2015","url":"www.ebi.ac.uk/training/events/2015/accessing-epigenomes-ensembl-hinxton-nov-2015","date":"Tuesday, November 03, 2015"},{"title":"Networks and Pathways","year":"2015","url":"www.ebi.ac.uk/training/events/2015/networks-and-pathways-0","date":"Monday, November 02, 2015"},{"title":"Resources for Computational Drug Discovery","year":"2015","url":"www.ebi.ac.uk/training/events/2015/resources-computational-drug-discovery","date":"Monday, November 02, 2015"},{"title":"Interactions & Pathways - IntAct","year":"2015","url":"www.ebi.ac.uk/training/events/2015/interactions-pathways-intact","date":"Friday, October 30, 2015"},{"title":"Exploring Protein Sequence and Functional Information with UniProt","year":"2015","url":"www.ebi.ac.uk/training/events/2015/exploring-protein-sequence-and-functional-information-uniprot-0","date":"Wednesday, October 28, 2015"},{"title":"EMBL-EBI: Introduction to EMBL-EBI Resources","year":"2015","url":"www.ebi.ac.uk/training/events/2015/embl-ebi-introduction-embl-ebi-resources","date":"Monday, October 26, 2015"},{"title":"Ensembl Browser workshop, Norwich, Oct 2015","year":"2015","url":"www.ebi.ac.uk/training/events/2015/ensembl-browser-workshop-norwich-oct-2015","date":"Tuesday, October 20, 2015"},{"title":"Ensembl Browser Workshop \u2013 IGMM Edinburgh, Oct 2015","year":"2015","url":"www.ebi.ac.uk/training/events/2015/ensembl-browser-workshop-igmm-edinburgh-oct-2015","date":"Tuesday, October 20, 2015"},{"title":"Ensembl Plants - Wheat breeder\'s workshop","year":"2015","url":"www.ebi.ac.uk/training/events/2015/ensembl-plants-wheat-breeders-workshop","date":"Tuesday, October 20, 2015"},{"title":"EMBO Practical Course on Analysis of High-Throughput Sequencing Data 2015","year":"2015","url":"www.ebi.ac.uk/training/events/2015/embo-practical-course-analysis-high-throughput-sequencing-data-2015","date":"Monday, October 19, 2015"},{"title":"Ensembl Browser Workshops - UC Denver 2015","year":"2015","url":"www.ebi.ac.uk/training/events/2015/ensembl-browser-workshops-uc-denver-2015","date":"Wednesday, October 14, 2015"},{"title":"Ensembl Browser Workshop - Southampton, Oct 2015 ","year":"2015","url":"www.ebi.ac.uk/training/events/2015/ensembl-browser-workshop-southampton-oct-2015","date":"Tuesday, October 13, 2015"},{"title":"Ensembl Browser Workshop \u2013 University of Utah 13th Oct 2015","year":"2015","url":"www.ebi.ac.uk/training/events/2015/ensembl-browser-workshop-university-utah-13th-oct-2015","date":"Tuesday, October 13, 2015"},{"title":"Structural Bioinformatics","year":"2015","url":"www.ebi.ac.uk/training/events/2015/structural-bioinformatics","date":"Monday, October 12, 2015"},{"title":"The Ensembl Toolkit for Big Data Access - ASHG 2015","year":"2015","url":"www.ebi.ac.uk/training/events/2015/ensembl-toolkit-big-data-access-ashg-2015","date":"Thursday, October 08, 2015"},{"title":"Ensembl Browser Workshop \u2013 Jackson Labs 5th October 2015","year":"2015","url":"www.ebi.ac.uk/training/events/2015/ensembl-browser-workshop-jackson-labs-5th-october-2015","date":"Monday, October 05, 2015"},{"title":"Ensembl Browser Workshop \u2013 EMBL-EBI 30th Sept 2015","year":"2015","url":"www.ebi.ac.uk/training/events/2015/ensembl-browser-workshop-embl-ebi-30th-sept-2015","date":"Wednesday, September 30, 2015"},{"title":"Introduction to Next Generation Sequencing ","year":"2015","url":"www.ebi.ac.uk/training/events/2015/introduction-next-generation-sequencing-2","date":"Monday, September 28, 2015"},{"title":"Interactions & Pathways - Reactome","year":"2015","url":"www.ebi.ac.uk/training/events/2015/interactions-pathways-reactome-0","date":"Tuesday, September 15, 2015"},{"title":"Ensembl API workshops, EBI, September 2015","year":"2015","url":"www.ebi.ac.uk/training/events/2015/ensembl-api-workshops-ebi-september-2015","date":"Monday, September 14, 2015"},{"title":"Metagenomics Bioinformatics","year":"2015","url":"www.ebi.ac.uk/training/events/2015/metagenomics-bioinformatics-0","date":"Monday, September 14, 2015"},{"title":"Bioinformatics Workshop, Campinas, Brazil, 2015","year":"2015","url":"www.ebi.ac.uk/training/events/2015/bioinformatics-workshop-campinas-brazil-2015","date":"Monday, August 03, 2015"},{"title":"Bioinformatics Workshop, University of S\xe3o Paulo, Brazil, 2015","year":"2015","url":"www.ebi.ac.uk/training/events/2015/bioinformatics-workshop-university-sao-paulo-brazil-2015","date":"Wednesday, July 29, 2015"},{"title":"Cancer Genomics","year":"2015","url":"www.ebi.ac.uk/training/events/2015/cancer-genomics-0","date":"Monday, July 20, 2015"},{"title":"Ensembl Browser Workshop - Roslin July 2015","year":"2015","url":"www.ebi.ac.uk/training/events/2015/ensembl-browser-workshop-roslin-july-2015","date":"Tuesday, July 07, 2015"},{"title":"Exploring Plant Variation Data ","year":"2015","url":"www.ebi.ac.uk/training/events/2015/exploring-plant-variation-data","date":"Wednesday, July 01, 2015"},{"title":"Exploring ENCODE data via the ENCODE Portal, UCSC and Ensembl at the ENCODE user\'s meeting, June 2015","year":"2015","url":"www.ebi.ac.uk/training/events/2015/exploring-encode-data-encode-portal-ucsc-and-ensembl-encode-users-meeting-june-2015","date":"Monday, June 29, 2015"},{"title":"Ensembl Interactive Workshop at the Canine/Feline Genomics Conference, June 2015","year":"2015","url":"www.ebi.ac.uk/training/events/2015/ensembl-interactive-workshop-caninefeline-genomics-conference-june-2015","date":"Wednesday, June 24, 2015"},{"title":"Ensembl Browser Workshop - Cambridge June 2015","year":"2015","url":"www.ebi.ac.uk/training/events/2015/ensembl-browser-workshop-cambridge-june-2015","date":"Monday, June 22, 2015"},{"title":"Joint EMBL-EBI/Wellcome Trust Summer School in Bioinformatics","year":"2015","url":"www.ebi.ac.uk/training/events/2015/joint-embl-ebiwellcome-trust-summer-school-bioinformatics-1","date":"Monday, June 22, 2015"},{"title":"EMBL-EBI Bioinformatics workshop \u2013 DKFZ, June 2015","year":"2015","url":"www.ebi.ac.uk/training/events/2015/embl-ebi-bioinformatics-workshop-dkfz-june-2015","date":"Thursday, June 18, 2015"},{"title":"Online database resources for non-coding RNA","year":"2015","url":"www.ebi.ac.uk/training/events/2015/online-database-resources-non-coding-rna","date":"Wednesday, June 17, 2015"},{"title":"Ensembl Browser Workshops - DKFZ June 2015","year":"2015","url":"www.ebi.ac.uk/training/events/2015/ensembl-browser-workshops-dkfz-june-2015","date":"Monday, June 15, 2015"},{"title":"Metabolomics and Bioinformatics for nutritionists","year":"2015","url":"www.ebi.ac.uk/training/events/2015/metabolomics-and-bioinformatics-nutritionists","date":"Tuesday, June 09, 2015"},{"title":"Ensembl Highlights: What\'s New in Accessing our Genomes? - ESHG 2015","year":"2015","url":"www.ebi.ac.uk/training/events/2015/ensembl-highlights-whats-new-accessing-our-genomes-eshg-2015","date":"Sunday, June 07, 2015"},{"title":"Joint EMBL-EBI-Wellcome Trust Course: In Silico Systems Biology","year":"2015","url":"www.ebi.ac.uk/training/events/2015/joint-embl-ebi-wellcome-trust-course-silico-systems-biology-0","date":"Sunday, June 07, 2015"},{"title":"Introduction to EMBL-EBI Data Resources","year":"2015","url":"www.ebi.ac.uk/training/events/2015/introduction-embl-ebi-data-resources","date":"Friday, June 05, 2015"},{"title":"EMBL-EBI Bioinformatics workshop \u2013 RVC, May 2015","year":"2015","url":"www.ebi.ac.uk/training/events/2015/embl-ebi-bioinformatics-workshop-rvc-may-2015","date":"Friday, May 29, 2015"},{"title":"A walk through genes and proteins with EMBL-EBI databases and tools - BIOS in Manizales","year":"2015","url":"www.ebi.ac.uk/training/events/2015/walk-through-genes-and-proteins-embl-ebi-databases-and-tools-bios-manizales","date":"Wednesday, May 27, 2015"},{"title":"A walk through genes and proteins with EMBL-EBI databases and tools - Universidad de los Andes ","year":"2015","url":"www.ebi.ac.uk/training/events/2015/walk-through-genes-and-proteins-embl-ebi-databases-and-tools-universidad-de-los-andes","date":"Monday, May 25, 2015"},{"title":"Bioinformatics: Introduction to Metabolomics","year":"2015","url":"www.ebi.ac.uk/training/events/2015/bioinformatics-introduction-metabolomics","date":"Wednesday, May 20, 2015"},{"title":"ODW \u2013 Human and Vertebrate Genomics: Bioinformatics Tools and Resources","year":"2015","url":"www.ebi.ac.uk/training/events/2015/odw-human-and-vertebrate-genomics-bioinformatics-tools-and-resources","date":"Monday, May 11, 2015"},{"title":"Advanced RNA-Seq and ChiP-Seq Data Analysis ","year":"2015","url":"www.ebi.ac.uk/training/events/2015/advanced-rna-seq-and-chip-seq-data-analysis","date":"Monday, May 11, 2015"},{"title":"Ensembl API Workshops - Glasgow 14-17 April 2015","year":"2015","url":"www.ebi.ac.uk/training/events/2015/ensembl-api-workshops-glasgow-14-17-april-2015","date":"Tuesday, April 14, 2015"},{"title":"Ensembl Browser Workshop - Glasgow 13 April, 2015","year":"2015","url":"www.ebi.ac.uk/training/events/2015/ensembl-browser-workshop-glasgow-13-april-2015","date":"Monday, April 13, 2015"},{"title":"Introduction to Next Generation Sequencing","year":"2015","url":"www.ebi.ac.uk/training/events/2015/introduction-next-generation-sequencing-3","date":"Monday, April 13, 2015"},{"title":"Joint EMBL-EBI Wellcome Trust Advanced Course on Computational Molecular Evolution","year":"2015","url":"www.ebi.ac.uk/training/events/2015/joint-embl-ebi-wellcome-trust-advanced-course-computational-molecular-evolution","date":"Monday, April 13, 2015"},{"title":"Bioinformatics: Using the Ensembl Genome Browser ","year":"2015","url":"www.ebi.ac.uk/training/events/2015/bioinformatics-using-ensembl-genome-browser","date":"Monday, March 23, 2015"},{"title":"Biological Interpretation of Next Generation Sequencing","year":"2015","url":"www.ebi.ac.uk/training/events/2015/biological-interpretation-next-generation-sequencing","date":"Monday, March 23, 2015"},{"title":"Bioinformatics: Network Analysis - Cytoscape and PSICQUIC","year":"2015","url":"www.ebi.ac.uk/training/events/2015/bioinformatics-network-analysis-cytoscape-and-psicquic","date":"Monday, March 16, 2015"},{"title":"I Ensembl Browser and 1000 Genomes Workshop - Royal Devon & Exeter NHS Foundation Trust","year":"2015","url":"www.ebi.ac.uk/training/events/2015/i-ensembl-browser-and-1000-genomes-workshop-royal-devon-exeter-nhs-foundation-trust","date":"Thursday, March 12, 2015"},{"title":"II Ensembl Browser and 1000 Genomes Workshop - Royal Devon & Exeter NHS Foundation Trust","year":"2015","url":"www.ebi.ac.uk/training/events/2015/ii-ensembl-browser-and-1000-genomes-workshop-royal-devon-exeter-nhs-foundation-trust","date":"Thursday, March 12, 2015"},{"title":"SME Bioinformatics Forum, Hinxton 2015","year":"2015","url":"www.ebi.ac.uk/training/events/2015/sme-bioinformatics-forum-hinxton-2015","date":"Monday, March 09, 2015"},{"title":"Micro B3 OSD Analysis Workshop 2015","year":"2015","url":"www.ebi.ac.uk/training/events/2015/micro-b3-osd-analysis-workshop-2015","date":"Monday, March 09, 2015"},{"title":"Introduction to Integrative Omics","year":"2015","url":"www.ebi.ac.uk/training/events/2015/introduction-integrative-omics","date":"Tuesday, March 03, 2015"},{"title":"Ensembl Browser Workshop - The Royal Veterinary College","year":"2015","url":"www.ebi.ac.uk/training/events/2015/ensembl-browser-workshop-royal-veterinary-college","date":"Thursday, February 26, 2015"},{"title":"Ensembl Webinar + Q&A - Genetic variants and gene regulation","year":"2015","url":"www.ebi.ac.uk/training/events/2015/ensembl-webinar-qa-genetic-variants-and-gene-regulation","date":"Tuesday, February 24, 2015"},{"title":"EMBO Practical Course on Metabolomics Bioinformatics for Life Scientists","year":"2015","url":"www.ebi.ac.uk/training/events/2015/embo-practical-course-metabolomics-bioinformatics-life-scientists-1","date":"Monday, February 16, 2015"},{"title":"Ensembl Webinar ","year":"2015","url":"www.ebi.ac.uk/training/events/2015/ensembl-webinar-0","date":"Thursday, February 05, 2015"},{"title":"Ensembl Browser Workshop - University of Leicester","year":"2015","url":"www.ebi.ac.uk/training/events/2015/ensembl-browser-workshop-university-leicester","date":"Thursday, February 05, 2015"},{"title":"Ensembl Browser Workshop - University of Nottingham","year":"2015","url":"www.ebi.ac.uk/training/events/2015/ensembl-browser-workshop-university-nottingham","date":"Thursday, January 29, 2015"},{"title":"Bioinformatics: Exploring Protein Sequence and Functional Information with UniProt ","year":"2015","url":"www.ebi.ac.uk/training/events/2015/bioinformatics-exploring-protein-sequence-and-functional-information-uniprot","date":"Wednesday, January 28, 2015"},{"title":"Exploring Protein Sequence and Functional Information with UniProt","year":"2015","url":"www.ebi.ac.uk/training/events/2015/exploring-protein-sequence-and-functional-information-uniprot","date":"Wednesday, January 28, 2015"},{"title":"Wellcome Trust Open Door Workshop","year":"2015","url":"www.ebi.ac.uk/training/events/2015/wellcome-trust-open-door-workshop","date":"Monday, January 26, 2015"},{"title":"Ensembl Plants Browser Workshop - Cambridge University","year":"2015","url":"www.ebi.ac.uk/training/events/2015/ensembl-plants-browser-workshop-cambridge-university","date":"Monday, January 26, 2015"},{"title":"Ensembl - Gene Regulation","year":"2015","url":"www.ebi.ac.uk/training/events/2015/ensembl-gene-regulation","date":"Friday, January 23, 2015"},{"title":"Ensembl Browser Workshop - Erasmus MC - Rotterdam","year":"2015","url":"www.ebi.ac.uk/training/events/2015/ensembl-browser-workshop-erasmus-mc-rotterdam","date":"Thursday, January 22, 2015"},{"title":"Ensembl Webinar - BioMart","year":"2014","url":"www.ebi.ac.uk/training/events/2014/ensembl-webinar-biomart","date":"Tuesday, December 16, 2014"},{"title":"Ensembl APIs Workshop - Cambridge","year":"2014","url":"www.ebi.ac.uk/training/events/2014/ensembl-apis-workshop-cambridge","date":"Tuesday, December 02, 2014"},{"title":"Bioinformatics: EMBL-EBI - Network Analysis - Cytoscape and PSICQUIC","year":"2014","url":"www.ebi.ac.uk/training/events/2014/bioinformatics-embl-ebi-network-analysis-cytoscape-and-psicquic","date":"Monday, December 01, 2014"},{"title":"Ensembl Browser Workshop - Cambridge University","year":"2014","url":"www.ebi.ac.uk/training/events/2014/ensembl-browser-workshop-cambridge-university","date":"Friday, November 28, 2014"},{"title":"Accessing Epigenomes with Ensembl","year":"2014","url":"www.ebi.ac.uk/training/events/2014/accessing-epigenomes-ensembl","date":"Tuesday, November 18, 2014"},{"title":"Ensembl Genebuild RNASeq pipeline workshop","year":"2014","url":"www.ebi.ac.uk/training/events/2014/ensembl-genebuild-rnaseq-pipeline-workshop","date":"Thursday, November 13, 2014"},{"title":"Ensembl Webinar - Tools","year":"2014","url":"www.ebi.ac.uk/training/events/2014/ensembl-webinar-tools","date":"Thursday, November 13, 2014"},{"title":"NTNU Trondheim Workshop 2014","year":"2014","url":"www.ebi.ac.uk/training/events/2014/ntnu-trondheim-workshop-2014","date":"Tuesday, November 11, 2014"},{"title":"Ensembl Genebuild Workshop","year":"2014","url":"www.ebi.ac.uk/training/events/2014/ensembl-genebuild-workshop","date":"Tuesday, November 11, 2014"},{"title":"Joint EMBL-EBI/Wellcome Trust Course: Proteomics Bioinformatics","year":"2014","url":"www.ebi.ac.uk/training/events/2014/joint-embl-ebiwellcome-trust-course-proteomics-bioinformatics-0","date":"Monday, November 10, 2014"},{"title":"Bioinformatics: EMBL-EBI - An Introduction to Sequence Searching ","year":"2014","url":"www.ebi.ac.uk/training/events/2014/bioinformatics-embl-ebi-introduction-sequence-searching","date":"Monday, November 10, 2014"},{"title":"Ensembl Bite-sized - BioMart","year":"2014","url":"www.ebi.ac.uk/training/events/2014/ensembl-bite-sized-biomart","date":"Friday, November 07, 2014"},{"title":"Metagenomics Bioinformatics, Brazil 2014","year":"2014","url":"www.ebi.ac.uk/training/events/2014/metagenomics-bioinformatics-brazil-2014","date":"Monday, November 03, 2014"},{"title":"Exploring variation in animal genomes (Brazil, 2014)","year":"2014","url":"www.ebi.ac.uk/training/events/2014/exploring-variation-animal-genomes-brazil-2014","date":"Monday, November 03, 2014"},{"title":"EMBL-EBI workshop Bioinformatics for Industry, Brazil","year":"2014","url":"www.ebi.ac.uk/training/events/2014/embl-ebi-workshop-bioinformatics-industry-brazil","date":"Friday, October 31, 2014"},{"title":"Ensembl Browser Workshop - Sanquin Blood Supply - Amsterdam","year":"2014","url":"www.ebi.ac.uk/training/events/2014/ensembl-browser-workshop-sanquin-blood-supply-amsterdam-0","date":"Friday, October 31, 2014"},{"title":"Ensembl Browser Workshop - Sanquin Blood Supply - Amsterdam","year":"2014","url":"www.ebi.ac.uk/training/events/2014/ensembl-browser-workshop-sanquin-blood-supply-amsterdam","date":"Thursday, October 30, 2014"},{"title":"Bioinformatics Workshop: Metabolomics Databases and Tools","year":"2014","url":"www.ebi.ac.uk/training/events/2014/bioinformatics-workshop-metabolomics-databases-and-tools","date":"Thursday, October 30, 2014"},{"title":"Introduction to Next Generation Sequencing ","year":"2014","url":"www.ebi.ac.uk/training/events/2014/introduction-next-generation-sequencing-0","date":"Tuesday, October 28, 2014"},{"title":"Introduction to EBI resources - QMUL, October 14","year":"2014","url":"www.ebi.ac.uk/training/events/2014/introduction-ebi-resources-qmul-october-14","date":"Tuesday, October 28, 2014"},{"title":"Ensembl Browser Workshop - University of Colorado, Oct 2014","year":"2014","url":"www.ebi.ac.uk/training/events/2014/ensembl-browser-workshop-university-colorado-oct-2014","date":"Thursday, October 23, 2014"},{"title":"Interactions & Pathways - Reactome","year":"2014","url":"www.ebi.ac.uk/training/events/2014/interactions-pathways-reactome","date":"Wednesday, October 22, 2014"},{"title":"Interactions & Pathways - IntAct - Cambridge, UK","year":"2014","url":"www.ebi.ac.uk/training/events/2014/interactions-pathways-intact-cambridge-uk-0","date":"Monday, October 20, 2014"},{"title":"EMBO Practical Course on Analysis of High-Throughput Sequencing Data ","year":"2014","url":"www.ebi.ac.uk/training/events/2014/embo-practical-course-analysis-high-throughput-sequencing-data-2","date":"Monday, October 20, 2014"},{"title":"Ensembl Highlights Workshop - ASHG, 2014","year":"2014","url":"www.ebi.ac.uk/training/events/2014/ensembl-highlights-workshop-ashg-2014","date":"Saturday, October 18, 2014"},{"title":"Bioinformatics: Transcriptomics Data and Tools - Cambridge, UK","year":"2014","url":"www.ebi.ac.uk/training/events/2014/bioinformatics-transcriptomics-data-and-tools-cambridge-uk-0","date":"Friday, October 17, 2014"},{"title":"UniProt: Protein Databases & Tools (Tokyo, 2014)","year":"2014","url":"www.ebi.ac.uk/training/events/2014/uniprot-protein-databases-tools-tokyo-2014","date":"Thursday, October 16, 2014"},{"title":"UniProt: Protein Databases & Tools (OIST, 2014)","year":"2014","url":"www.ebi.ac.uk/training/events/2014/uniprot-protein-databases-tools-oist-2014","date":"Tuesday, October 14, 2014"},{"title":"1000 Genomes and browsing Ensembl","year":"2014","url":"www.ebi.ac.uk/training/events/2014/1000-genomes-and-browsing-ensembl","date":"Tuesday, October 14, 2014"},{"title":"Bioinformatics Workshop: Small molecule resources with EMBL-EBI - Cambridge, UK","year":"2014","url":"www.ebi.ac.uk/training/events/2014/bioinformatics-workshop-small-molecule-resources-embl-ebi-cambridge-uk-0","date":"Friday, October 10, 2014"},{"title":"Bioinformatics: EMBL-EBI - Protein Databases and Tools","year":"2014","url":"www.ebi.ac.uk/training/events/2014/bioinformatics-embl-ebi-protein-databases-and-tools","date":"Tuesday, October 07, 2014"},{"title":"Introduction to EBI Resources - Cambridge University UK","year":"2014","url":"www.ebi.ac.uk/training/events/2014/introduction-ebi-resources-cambridge-university-uk-1","date":"Monday, October 06, 2014"},{"title":"Argentinian Bioinformatics Workshop, 2014","year":"2014","url":"www.ebi.ac.uk/training/events/2014/argentinian-bioinformatics-workshop-2014","date":"Tuesday, September 30, 2014"},{"title":"diXa Open Meeting - 29-30 September 2014 ","year":"2014","url":"www.ebi.ac.uk/training/events/2014/dixa-open-meeting-29-30-september-2014","date":"Monday, September 29, 2014"},{"title":"Animal Genome Informatics","year":"2014","url":"www.ebi.ac.uk/training/events/2014/animal-genome-informatics","date":"Monday, September 29, 2014"},{"title":"Ensembl Webinar","year":"2014","url":"www.ebi.ac.uk/training/events/2014/ensembl-webinar","date":"Wednesday, September 24, 2014"},{"title":"Ensembl Browser Workshop - CNIO Sep 2014","year":"2014","url":"www.ebi.ac.uk/training/events/2014/ensembl-browser-workshop-cnio-sep-2014","date":"Tuesday, September 23, 2014"},{"title":"Ensembl gene annotation workshop","year":"2014","url":"www.ebi.ac.uk/training/events/2014/ensembl-gene-annotation-workshop","date":"Friday, September 19, 2014"},{"title":"EU Codefest","year":"2014","url":"www.ebi.ac.uk/training/events/2014/eu-codefest","date":"Thursday, September 18, 2014"},{"title":"Next Generation Sequencing Data Analysis Workshop","year":"2014","url":"www.ebi.ac.uk/training/events/2014/next-generation-sequencing-data-analysis-workshop","date":"Tuesday, September 16, 2014"},{"title":"Ensembl Browser Workshop - Hinxton Sep 2014","year":"2014","url":"www.ebi.ac.uk/training/events/2014/ensembl-browser-workshop-hinxton-sep-2014","date":"Monday, September 15, 2014"},{"title":"Ensembl API Workshops - Hinxton Sep 2014","year":"2014","url":"www.ebi.ac.uk/training/events/2014/ensembl-api-workshops-hinxton-sep-2014","date":"Monday, September 15, 2014"},{"title":"Metagenomics Bioinformatics","year":"2014","url":"www.ebi.ac.uk/training/events/2014/metagenomics-bioinformatics","date":"Monday, September 08, 2014"},{"title":"EBI Extreme Java Master training course","year":"2014","url":"www.ebi.ac.uk/training/events/2014/ebi-extreme-java-master-training-course","date":"Monday, September 08, 2014"},{"title":"Ensembl Browser Workshop - University of Edinburgh","year":"2014","url":"www.ebi.ac.uk/training/events/2014/ensembl-browser-workshop-university-edinburgh-0","date":"Thursday, August 21, 2014"},{"title":"Ensembl API Workshops - University of Edinburgh","year":"2014","url":"www.ebi.ac.uk/training/events/2014/ensembl-api-workshops-university-edinburgh","date":"Wednesday, August 20, 2014"},{"title":"Ensembl Browser Workshop - University of Edinburgh","year":"2014","url":"www.ebi.ac.uk/training/events/2014/ensembl-browser-workshop-university-edinburgh","date":"Wednesday, August 20, 2014"},{"title":"Ensembl Bite-Sized Workshop: Browsing GRCh38, the new human assembly","year":"2014","url":"www.ebi.ac.uk/training/events/2014/ensembl-bite-sized-workshop-browsing-grch38-new-human-assembly","date":"Friday, August 15, 2014"},{"title":"EMBO Practical Course on Genotype to Phenotype Mapping of Complex Traits ","year":"2014","url":"www.ebi.ac.uk/training/events/2014/embo-practical-course-genotype-phenotype-mapping-complex-traits","date":"Monday, July 28, 2014"},{"title":"EMBL-EBI Bioinformatics Workshop, Portugal ","year":"2014","url":"www.ebi.ac.uk/training/events/2014/embl-ebi-bioinformatics-workshop-portugal","date":"Monday, July 21, 2014"},{"title":"Ensembl Browser Workshop - DKFZ 17 July 2014","year":"2014","url":"www.ebi.ac.uk/training/events/2014/ensembl-browser-workshop-dkfz-17-july-2014","date":"Thursday, July 17, 2014"},{"title":"Ensembl Browser Workshop - DKFZ 15 July 2014","year":"2014","url":"www.ebi.ac.uk/training/events/2014/ensembl-browser-workshop-dkfz-15-july-2014","date":"Tuesday, July 15, 2014"},{"title":"Ensembl Browser Workshop - EMBL Heidelberg July 2014","year":"2014","url":"www.ebi.ac.uk/training/events/2014/ensembl-browser-workshop-embl-heidelberg-july-2014","date":"Monday, July 14, 2014"},{"title":"RNA-Seq and ChIP-seq Data Analysis","year":"2014","url":"www.ebi.ac.uk/training/events/2014/rna-seq-and-chip-seq-data-analysis","date":"Wednesday, July 09, 2014"},{"title":"Plant and Pathogen Bioinformatics","year":"2014","url":"www.ebi.ac.uk/training/events/2014/plant-and-pathogen-bioinformatics","date":"Tuesday, July 08, 2014"},{"title":"EMBL-EBI Bioinformatics Workshop (Girona, Spain)","year":"2014","url":"www.ebi.ac.uk/training/events/2014/embl-ebi-bioinformatics-workshop-girona-spain","date":"Tuesday, July 01, 2014"},{"title":"Ensembl VEP at the Biochemical Society Meeting","year":"2014","url":"www.ebi.ac.uk/training/events/2014/ensembl-vep-biochemical-society-meeting","date":"Tuesday, July 01, 2014"},{"title":"Cancer Genomics Workshop ","year":"2014","url":"www.ebi.ac.uk/training/events/2014/cancer-genomics-workshop","date":"Monday, June 30, 2014"},{"title":"Ensembl Browser Workshop - Exeter Jun 2014 morning","year":"2014","url":"www.ebi.ac.uk/training/events/2014/ensembl-browser-workshop-exeter-jun-2014-morning","date":"Monday, June 23, 2014"},{"title":"Ensembl Browser Workshop - Exeter Jun 2014 afternoon","year":"2014","url":"www.ebi.ac.uk/training/events/2014/ensembl-browser-workshop-exeter-jun-2014-afternoon","date":"Monday, June 23, 2014"},{"title":"Joint EMBL-EBI/Wellcome Trust Summer School in Bioinformatics","year":"2014","url":"www.ebi.ac.uk/training/events/2014/joint-embl-ebiwellcome-trust-summer-school-bioinformatics-0","date":"Monday, June 23, 2014"},{"title":"Shared Data, Shared Costs","year":"2014","url":"www.ebi.ac.uk/training/events/2014/shared-data-shared-costs","date":"Wednesday, June 18, 2014"},{"title":"Ensembl Browser Workshop - Cambridge Jun 2014","year":"2014","url":"www.ebi.ac.uk/training/events/2014/ensembl-browser-workshop-cambridge-jun-2014","date":"Wednesday, June 18, 2014"},{"title":"Networks and Pathways","year":"2014","url":"www.ebi.ac.uk/training/events/2014/networks-and-pathways","date":"Monday, June 09, 2014"},{"title":"diXa: Microarray Analysis using R and Bioconductor","year":"2014","url":"www.ebi.ac.uk/training/events/2014/dixa-microarray-analysis-using-r-and-bioconductor-0","date":"Tuesday, June 03, 2014"},{"title":"The Bioinformatics Workshop, Prague","year":"2014","url":"www.ebi.ac.uk/training/events/2014/bioinformatics-workshop-prague","date":"Monday, June 02, 2014"},{"title":"Ensembl Browser Workshop -ESHG Milan, June 2014","year":"2014","url":"www.ebi.ac.uk/training/events/2014/ensembl-browser-workshop-eshg-milan-june-2014","date":"Sunday, June 01, 2014"},{"title":"Genomics for working with pathogens (Brazil)","year":"2014","url":"www.ebi.ac.uk/training/events/2014/genomics-working-pathogens-brazil","date":"Monday, May 26, 2014"},{"title":"Ensembl Bite-Sized Workshop: Browsing RNASeq data","year":"2014","url":"www.ebi.ac.uk/training/events/2014/ensembl-bite-sized-workshop-browsing-rnaseq-data","date":"Friday, May 23, 2014"},{"title":"Ensembl Genomes - NGS current challenges TGAC, Norwich May 2014","year":"2014","url":"www.ebi.ac.uk/training/events/2014/ensembl-genomes-ngs-current-challenges-tgac-norwich-may-2014","date":"Wednesday, May 21, 2014"},{"title":"Genome Annotation Resources at PAG Asia","year":"2014","url":"www.ebi.ac.uk/training/events/2014/genome-annotation-resources-pag-asia","date":"Wednesday, May 21, 2014"},{"title":"diXa: Molecular networks in toxicogenomics","year":"2014","url":"www.ebi.ac.uk/training/events/2014/dixa-molecular-networks-toxicogenomics","date":"Wednesday, May 21, 2014"},{"title":"The Systems Biology Modelling Cycle (supported by BioPreDyn)","year":"2014","url":"www.ebi.ac.uk/training/events/2014/systems-biology-modelling-cycle-supported-biopredyn","date":"Monday, May 12, 2014"},{"title":"Advanced RNA-Seq and ChiP-Seq Data Analysis Course","year":"2014","url":"www.ebi.ac.uk/training/events/2014/advanced-rna-seq-and-chip-seq-data-analysis-course","date":"Monday, May 12, 2014"},{"title":"EMBO Practical Course on Computational Molecular Evolution (Heraklion, Greece)","year":"2014","url":"www.ebi.ac.uk/training/events/2014/embo-practical-course-computational-molecular-evolution-heraklion-greece","date":"Monday, May 05, 2014"},{"title":"Ensembl ENCODE Workshop - Geneva 2014","year":"2014","url":"www.ebi.ac.uk/training/events/2014/ensembl-encode-workshop-geneva-2014","date":"Wednesday, April 30, 2014"},{"title":"BioMedBridges: Knowledge Exchange Workshop \u2013 An introduction to RDF, SPARQL and the EBI RDF Platform","year":"2014","url":"www.ebi.ac.uk/training/events/2014/biomedbridges-knowledge-exchange-workshop-introduction-rdf-sparql-and-ebi-rdf-platform","date":"Tuesday, April 29, 2014"},{"title":"Functional Interpretation of Toxicogenomic Data","year":"2014","url":"www.ebi.ac.uk/training/events/2014/functional-interpretation-toxicogenomic-data","date":"Tuesday, April 08, 2014"},{"title":"RNA-Seq and ChiP-Seq Data Analysis Course - Campinas, Brazil - 07-10 April 2014 ","year":"2014","url":"www.ebi.ac.uk/training/events/2014/rna-seq-and-chip-seq-data-analysis-course-campinas-brazil-07-10-april-2014","date":"Monday, April 07, 2014"},{"title":"EMBO Practical Course on Computational Structural Biology - from data to structure to function","year":"2014","url":"www.ebi.ac.uk/training/events/2014/embo-practical-course-computational-structural-biology-data-structure-function-1","date":"Monday, April 07, 2014"},{"title":"NGS data CRAMing, Archiving & Exploring","year":"2014","url":"www.ebi.ac.uk/training/events/2014/ngs-data-craming-archiving-exploring","date":"Wednesday, April 02, 2014"},{"title":"Ensembl API Workshop - Cambridge April 2014","year":"2014","url":"www.ebi.ac.uk/training/events/2014/ensembl-api-workshop-cambridge-april-2014","date":"Tuesday, April 01, 2014"},{"title":"Ensembl Browser Workshop - Newcastle Apr 2014","year":"2014","url":"www.ebi.ac.uk/training/events/2014/ensembl-browser-workshop-newcastle-apr-2014","date":"Tuesday, April 01, 2014"},{"title":"Ensembl Browser Workshop - Cambridge Mar 2014","year":"2014","url":"www.ebi.ac.uk/training/events/2014/ensembl-browser-workshop-cambridge-mar-2014","date":"Wednesday, March 26, 2014"},{"title":"Ensembl API Workshop - Leipzig Mar 2014","year":"2014","url":"www.ebi.ac.uk/training/events/2014/ensembl-api-workshop-leipzig-mar-2014","date":"Wednesday, March 26, 2014"},{"title":"ChEBI 3rd User Workshop: Harnessing ChEBI for systems biology and metabolic modelling","year":"2014","url":"www.ebi.ac.uk/training/events/2014/chebi-3rd-user-workshop-harnessing-chebi-systems-biology-and-metabolic-modelling","date":"Tuesday, March 25, 2014"},{"title":"Ensembl Browser Module in the Wellcome Trust Open Door Workshop, Montevideo, UY March 2014","year":"2014","url":"www.ebi.ac.uk/training/events/2014/ensembl-browser-module-wellcome-trust-open-door-workshop-montevideo-uy-march-2014","date":"Monday, March 24, 2014"},{"title":"Micro B3 Marine Metagenomics Bioinformatics","year":"2014","url":"www.ebi.ac.uk/training/events/2014/micro-b3-marine-metagenomics-bioinformatics","date":"Monday, March 24, 2014"},{"title":"Ensembl Browser Workshop - Leeds Teaching Hospitals NHS Trust, 20 March 2014","year":"2014","url":"www.ebi.ac.uk/training/events/2014/ensembl-browser-workshop-leeds-teaching-hospitals-nhs-trust-20-march-2014","date":"Thursday, March 20, 2014"},{"title":"Ensembl Browser Workshop - Leeds Teaching Hospitals NHS Trust, 19 March 2014","year":"2014","url":"www.ebi.ac.uk/training/events/2014/ensembl-browser-workshop-leeds-teaching-hospitals-nhs-trust-19-march-2014","date":"Wednesday, March 19, 2014"},{"title":"EMBO Practical Course on Metabolomics Bioinformatics for Life Scientists","year":"2014","url":"www.ebi.ac.uk/training/events/2014/embo-practical-course-metabolomics-bioinformatics-life-scientists-0","date":"Monday, March 17, 2014"},{"title":"Ensembl Browser Workshop - Cardiff March 2014","year":"2014","url":"www.ebi.ac.uk/training/events/2014/ensembl-browser-workshop-cardiff-march-2014","date":"Monday, March 10, 2014"},{"title":"Ensembl Browser Workshop - University of North Carolina, March 2014","year":"2014","url":"www.ebi.ac.uk/training/events/2014/ensembl-browser-workshop-university-north-carolina-march-2014","date":"Friday, March 07, 2014"},{"title":"Ensembl Browser Workshop - NIEHS/NIH March 2014","year":"2014","url":"www.ebi.ac.uk/training/events/2014/ensembl-browser-workshop-niehsnih-march-2014","date":"Thursday, March 06, 2014"},{"title":"SME Bioinformatics Forum","year":"2014","url":"www.ebi.ac.uk/training/events/2014/sme-bioinformatics-forum","date":"Thursday, March 06, 2014"},{"title":"Ensembl Browser Workshop - Turku, FI Mar 2014","year":"2014","url":"www.ebi.ac.uk/training/events/2014/ensembl-browser-workshop-turku-fi-mar-2014","date":"Thursday, March 06, 2014"},{"title":"Genomics Workshop at Avian Models Systems - CSHL, USA","year":"2014","url":"www.ebi.ac.uk/training/events/2014/genomics-workshop-avian-models-systems-cshl-usa","date":"Tuesday, March 04, 2014"},{"title":"Introduction to Next Generation Sequencing ","year":"2014","url":"www.ebi.ac.uk/training/events/2014/introduction-next-generation-sequencing","date":"Monday, March 03, 2014"},{"title":"Ensembl Browser Workshop - EMBL-EBI Feb 2014","year":"2014","url":"www.ebi.ac.uk/training/events/2014/ensembl-browser-workshop-embl-ebi-feb-2014","date":"Friday, February 28, 2014"},{"title":"Ensembl Browser Workshop - MedImmune Feb 2014","year":"2014","url":"www.ebi.ac.uk/training/events/2014/ensembl-browser-workshop-medimmune-feb-2014","date":"Thursday, February 27, 2014"},{"title":"JavaScript Tips & Best Practices ","year":"2014","url":"www.ebi.ac.uk/training/events/2014/javascript-tips-best-practices","date":"Wednesday, February 26, 2014"},{"title":"Agricultural-Omics","year":"2014","url":"www.ebi.ac.uk/training/events/2014/agricultural-omics","date":"Monday, February 17, 2014"},{"title":"Bringing Structure to Biology - Protein Structures and Tools - Cambridge, UK","year":"2014","url":"www.ebi.ac.uk/training/events/2014/bringing-structure-biology-protein-structures-and-tools-cambridge-uk","date":"Monday, February 17, 2014"},{"title":"Introduction to EBI Resources - Cambridge University, UK","year":"2014","url":"www.ebi.ac.uk/training/events/2014/introduction-ebi-resources-cambridge-university-uk-0","date":"Friday, February 14, 2014"},{"title":"Ensembl Browser Workshop - Rotterdam Feb 2014","year":"2014","url":"www.ebi.ac.uk/training/events/2014/ensembl-browser-workshop-rotterdam-feb-2014","date":"Wednesday, February 12, 2014"},{"title":"Ensembl API Workshop - EMBL-EBI Feb 2014","year":"2014","url":"www.ebi.ac.uk/training/events/2014/ensembl-api-workshop-embl-ebi-feb-2014","date":"Monday, February 10, 2014"},{"title":"Mosquito Informatics (INFRAVEC)","year":"2014","url":"www.ebi.ac.uk/training/events/2014/mosquito-informatics-infravec","date":"Wednesday, February 05, 2014"},{"title":"Working with ENCODE Data - Korea Feb 2014","year":"2014","url":"www.ebi.ac.uk/training/events/2014/working-encode-data-korea-feb-2014","date":"Wednesday, February 05, 2014"},{"title":"The Bioinformatics Workshop - Pavia","year":"2014","url":"www.ebi.ac.uk/training/events/2014/bioinformatics-workshop-pavia","date":"Tuesday, February 04, 2014"},{"title":"Introduction to sequence searching with EMBL-EBI - Cambridge, UK","year":"2014","url":"www.ebi.ac.uk/training/events/2014/introduction-sequence-searching-embl-ebi-cambridge-uk","date":"Tuesday, January 28, 2014"},{"title":"Microarray Analysis using R and Bioconductor - Maastricht, Netherlands","year":"2014","url":"www.ebi.ac.uk/training/events/2014/microarray-analysis-using-r-and-bioconductor-maastricht-netherlands","date":"Tuesday, January 28, 2014"},{"title":"Network Analysis - Cytoscape and PSICQUIC - Cambridge, UK","year":"2014","url":"www.ebi.ac.uk/training/events/2014/network-analysis-cytoscape-and-psicquic-cambridge-uk","date":"Monday, January 27, 2014"},{"title":"Interactions & Pathways - Reactome - Cambridge, UK","year":"2014","url":"www.ebi.ac.uk/training/events/2014/interactions-pathways-reactome-cambridge-uk","date":"Friday, January 24, 2014"},{"title":"Interactions & Pathways - IntAct - Cambridge, UK","year":"2014","url":"www.ebi.ac.uk/training/events/2014/interactions-pathways-intact-cambridge-uk","date":"Thursday, January 23, 2014"},{"title":"Introduction to EBI Resources - Cambridge, UK","year":"2014","url":"www.ebi.ac.uk/training/events/2014/introduction-ebi-resources-cambridge-uk","date":"Wednesday, January 22, 2014"},{"title":"Ensembl Browser Workshop - Nottingham Jan 2014","year":"2014","url":"www.ebi.ac.uk/training/events/2014/ensembl-browser-workshop-nottingham-jan-2014","date":"Tuesday, January 21, 2014"},{"title":"Molecular Phylogenetics","year":"2013","url":"www.ebi.ac.uk/training/events/2013/molecular-phylogenetics","date":"Monday, December 16, 2013"},{"title":"Joint EMBL-EBI-Wellcome Trust Course: Resources for Computational Drug Discovery","year":"2013","url":"www.ebi.ac.uk/training/events/2013/joint-embl-ebi-wellcome-trust-course-resources-computational-drug-discovery","date":"Monday, December 09, 2013"},{"title":"Ensembl API Workshop - Cambridge, UK Dec 2013","year":"2013","url":"www.ebi.ac.uk/training/events/2013/ensembl-api-workshop-cambridge-uk-dec-2013","date":"Wednesday, December 04, 2013"},{"title":"Biological Interpretation of Next-Generation Sequencing Data","year":"2013","url":"www.ebi.ac.uk/training/events/2013/biological-interpretation-next-generation-sequencing-data","date":"Monday, December 02, 2013"},{"title":"Ensembl Browser Workshop - Cambridge, UK Nov 2013","year":"2013","url":"www.ebi.ac.uk/training/events/2013/ensembl-browser-workshop-cambridge-uk-nov-2013","date":"Friday, November 29, 2013"},{"title":"Bioinformatics: Transcriptomics Data and Tools - Cambridge, UK","year":"2013","url":"www.ebi.ac.uk/training/events/2013/bioinformatics-transcriptomics-data-and-tools-cambridge-uk","date":"Thursday, November 28, 2013"},{"title":"Understanding \'omics data (joint dixa - Genedata workshop) - Basel, Switzerland","year":"2013","url":"www.ebi.ac.uk/training/events/2013/understanding-omics-data-joint-dixa-genedata-workshop-basel-switzerland","date":"Tuesday, November 19, 2013"},{"title":"The Genome Access Course (Ensembl module) - New York Nov 2013","year":"2013","url":"www.ebi.ac.uk/training/events/2013/genome-access-course-ensembl-module-new-york-nov-2013","date":"Monday, November 18, 2013"},{"title":"EMBO Practical Course Bioinformatics and statistics for large-scale data - China","year":"2013","url":"www.ebi.ac.uk/training/events/2013/embo-practical-course-bioinformatics-and-statistics-large-scale-data-china","date":"Sunday, November 17, 2013"},{"title":"Ensembl Browser Workshop - Orono Nov 2013","year":"2013","url":"www.ebi.ac.uk/training/events/2013/ensembl-browser-workshop-orono-nov-2013","date":"Friday, November 15, 2013"},{"title":"Ensembl API Workshop - Utrecht November 2013","year":"2013","url":"www.ebi.ac.uk/training/events/2013/ensembl-api-workshop-utrecht-november-2013","date":"Friday, November 15, 2013"},{"title":"Ensembl Browser Workshop - Bar Harbor Nov 2013","year":"2013","url":"www.ebi.ac.uk/training/events/2013/ensembl-browser-workshop-bar-harbor-nov-2013","date":"Thursday, November 14, 2013"},{"title":"The Bioinformatics Workshop - Udine, Italy ","year":"2013","url":"www.ebi.ac.uk/training/events/2013/bioinformatics-workshop-udine-italy","date":"Wednesday, November 13, 2013"},{"title":"Joint EMBL-EBI/Wellcome Trust Course: Proteomics Bioinformatics","year":"2013","url":"www.ebi.ac.uk/training/events/2013/joint-embl-ebiwellcome-trust-course-proteomics-bioinformatics","date":"Monday, November 11, 2013"},{"title":"Computational & Comparative Genomics (Ensembl module) - Cold Spring Harbor Nov 2013","year":"2013","url":"www.ebi.ac.uk/training/events/2013/computational-comparative-genomics-ensembl-module-cold-spring-harbor-nov-2013","date":"Thursday, November 07, 2013"},{"title":"Bioinformatics Workshop: Metabolomics Databases and Tools with the EBI - Cambridge, UK","year":"2013","url":"www.ebi.ac.uk/training/events/2013/bioinformatics-workshop-metabolomics-databases-and-tools-ebi-cambridge-uk","date":"Wednesday, November 06, 2013"},{"title":"Bioinformatics Workshop: Archives for Next Generation Sequence Data with the EBI - Cambridge, UK","year":"2013","url":"www.ebi.ac.uk/training/events/2013/bioinformatics-workshop-archives-next-generation-sequence-data-ebi-cambridge-uk","date":"Tuesday, November 05, 2013"},{"title":"OncoTrack Bioinformatics Workshop, Berlin","year":"2013","url":"www.ebi.ac.uk/training/events/2013/oncotrack-bioinformatics-workshop-berlin","date":"Monday, November 04, 2013"},{"title":"Ensembl Browser Workshop - Guy\'s Hospital London 4 Nov","year":"2013","url":"www.ebi.ac.uk/training/events/2013/ensembl-browser-workshop-guys-hospital-london-4-nov","date":"Monday, November 04, 2013"},{"title":"Bioinformatics Workshop: Small molecule resources with EMBL-EBI - Cambridge, UK","year":"2013","url":"www.ebi.ac.uk/training/events/2013/bioinformatics-workshop-small-molecule-resources-embl-ebi-cambridge-uk","date":"Wednesday, October 30, 2013"},{"title":"Introduction to EMBL-EBI Bioinformatics Resources - Shanghai, China","year":"2013","url":"www.ebi.ac.uk/training/events/2013/introduction-embl-ebi-bioinformatics-resources-shanghai-china","date":"Wednesday, October 30, 2013"},{"title":"Ensembl Gene Annotation Workshop - CSHL","year":"2013","url":"www.ebi.ac.uk/training/events/2013/ensembl-gene-annotation-workshop-cshl","date":"Tuesday, October 29, 2013"},{"title":"Managing and Exploring Next Generation Sequencing Data","year":"2013","url":"www.ebi.ac.uk/training/events/2013/managing-and-exploring-next-generation-sequencing-data","date":"Tuesday, October 29, 2013"},{"title":"Bioinformatics Workshop: Bringing Structure to Biology - Protein Structures and Tools - Cambridge, UK","year":"2013","url":"www.ebi.ac.uk/training/events/2013/bioinformatics-workshop-bringing-structure-biology-protein-structures-and-tools-cambridge-uk","date":"Tuesday, October 29, 2013"},{"title":"Introduction to EBI Resources - Queen Mary University of London, UK","year":"2013","url":"www.ebi.ac.uk/training/events/2013/introduction-ebi-resources-queen-mary-university-london-uk","date":"Tuesday, October 29, 2013"},{"title":"Introduction to EMBL-EBI Bioinformatics Resources - Beijing, China","year":"2013","url":"www.ebi.ac.uk/training/events/2013/introduction-embl-ebi-bioinformatics-resources-beijing-china","date":"Monday, October 28, 2013"},{"title":"From Genome Sequencing to Gene Function - Izmir, Turkey ","year":"2013","url":"www.ebi.ac.uk/training/events/2013/genome-sequencing-gene-function-izmir-turkey","date":"Saturday, October 26, 2013"},{"title":"Bioinformatics: Molecular Interaction Databases, Reactions and Pathways - Cambridge, UK","year":"2013","url":"www.ebi.ac.uk/training/events/2013/bioinformatics-molecular-interaction-databases-reactions-and-pathways-cambridge-uk","date":"Wednesday, October 23, 2013"},{"title":"Introduction to EMBL-EBI Bioinformatics Resources - Macau, China","year":"2013","url":"www.ebi.ac.uk/training/events/2013/introduction-embl-ebi-bioinformatics-resources-macau-china","date":"Wednesday, October 23, 2013"},{"title":"Bioinformatics workshop: Introduction to sequence searching with EMBL-EBI - Cambridge, UK","year":"2013","url":"www.ebi.ac.uk/training/events/2013/bioinformatics-workshop-introduction-sequence-searching-embl-ebi-cambridge-uk","date":"Tuesday, October 22, 2013"},{"title":"Introduction to EMBL-EBI Bioinformatics Resources - Hong Kong, China","year":"2013","url":"www.ebi.ac.uk/training/events/2013/introduction-embl-ebi-bioinformatics-resources-hong-kong-china-0","date":"Tuesday, October 22, 2013"},{"title":"Introduction to EMBL-EBI Bioinformatics Resources - Hong Kong, China","year":"2013","url":"www.ebi.ac.uk/training/events/2013/introduction-embl-ebi-bioinformatics-resources-hong-kong-china","date":"Monday, October 21, 2013"},{"title":"EMBO Practical Course on Analysis of High-Throughput Sequencing Data","year":"2013","url":"www.ebi.ac.uk/training/events/2013/embo-practical-course-analysis-high-throughput-sequencing-data-0","date":"Monday, October 21, 2013"},{"title":"Bioinformatics: Introduction to UniProt and InterPro - Cambridge, UK","year":"2013","url":"www.ebi.ac.uk/training/events/2013/bioinformatics-introduction-uniprot-and-interpro-cambridge-uk","date":"Monday, October 21, 2013"},{"title":"Ensembl Browser Workshop - St. Louis Oct 2013","year":"2013","url":"www.ebi.ac.uk/training/events/2013/ensembl-browser-workshop-st-louis-oct-2013-0","date":"Friday, October 18, 2013"},{"title":"Ensembl Browser Workshop - St. Louis Oct 2013","year":"2013","url":"www.ebi.ac.uk/training/events/2013/ensembl-browser-workshop-st-louis-oct-2013","date":"Thursday, October 17, 2013"},{"title":"2013 Advanced Genomics: Bioinformatics Workshop, Nairobi","year":"2013","url":"www.ebi.ac.uk/training/events/2013/2013-advanced-genomics-bioinformatics-workshop-nairobi","date":"Wednesday, October 16, 2013"},{"title":"Computational Aspects of High-Throughput Screening planning and analysis - Heidelberg, Germany","year":"2013","url":"www.ebi.ac.uk/training/events/2013/computational-aspects-high-throughput-screening-planning-and-analysis-heidelberg-germany","date":"Monday, October 14, 2013"},{"title":"Next Generation Sequencing Workshop","year":"2013","url":"www.ebi.ac.uk/training/events/2013/next-generation-sequencing-workshop-2","date":"Monday, October 14, 2013"},{"title":"Introduction to EBI Resources - Cambridge University, UK","year":"2013","url":"www.ebi.ac.uk/training/events/2013/introduction-ebi-resources-cambridge-university-uk","date":"Friday, October 11, 2013"},{"title":"The Wellcome Trust Open Door Workshop (Ensembl module) - Johannesburg Oct 2013","year":"2013","url":"www.ebi.ac.uk/training/events/2013/wellcome-trust-open-door-workshop-ensembl-module-johannesburg-oct-2013","date":"Friday, October 11, 2013"},{"title":"Microme Workshop on Microbial Metabolism","year":"2013","url":"www.ebi.ac.uk/training/events/2013/microme-workshop-microbial-metabolism","date":"Tuesday, October 08, 2013"},{"title":"Ensembl Browser Workshop - EMBL Heidelberg Oct 2013","year":"2013","url":"www.ebi.ac.uk/training/events/2013/ensembl-browser-workshop-embl-heidelberg-oct-2013","date":"Tuesday, October 08, 2013"},{"title":"Ensembl Browser Workshop - Dunedin Oct 2013","year":"2013","url":"www.ebi.ac.uk/training/events/2013/ensembl-browser-workshop-dunedin-oct-2013","date":"Monday, October 07, 2013"},{"title":"Ensembl Browser Workshop - Christchurch Oct 2013","year":"2013","url":"www.ebi.ac.uk/training/events/2013/ensembl-browser-workshop-christchurch-oct-2013","date":"Friday, October 04, 2013"},{"title":"Ensembl Browser Workshop - Vienna Oct 2013","year":"2013","url":"www.ebi.ac.uk/training/events/2013/ensembl-browser-workshop-vienna-oct-2013","date":"Thursday, October 03, 2013"},{"title":"Ensembl API Workshop - Hinxton Oct 2013","year":"2013","url":"www.ebi.ac.uk/training/events/2013/ensembl-api-workshop-hinxton-oct-2013","date":"Wednesday, October 02, 2013"},{"title":"Ensembl Browser Workshop - Palmerston North Oct 2013","year":"2013","url":"www.ebi.ac.uk/training/events/2013/ensembl-browser-workshop-palmerston-north-oct-2013","date":"Wednesday, October 02, 2013"},{"title":"Ensembl Browser Workshop - Hinxton Oct 2013","year":"2013","url":"www.ebi.ac.uk/training/events/2013/ensembl-browser-workshop-hinxton-oct-2013","date":"Tuesday, October 01, 2013"},{"title":"Practical Workshop on High-Throughput Sequencing Data Analysis Okinawa Japan","year":"2013","url":"www.ebi.ac.uk/training/events/2013/practical-workshop-high-throughput-sequencing-data-analysis-okinawa-japan","date":"Monday, September 30, 2013"},{"title":"Ensembl Browser Workshop - Auckland Sep 2013","year":"2013","url":"www.ebi.ac.uk/training/events/2013/ensembl-browser-workshop-auckland-sep-2013","date":"Monday, September 30, 2013"},{"title":"Genomic Bioinformatics Workshop (Ensembl module) - Sydney Sep 2013","year":"2013","url":"www.ebi.ac.uk/training/events/2013/genomic-bioinformatics-workshop-ensembl-module-sydney-sep-2013","date":"Saturday, September 28, 2013"},{"title":"Molecular Phylogenetics - Ljubljana, Slovenia","year":"2013","url":"www.ebi.ac.uk/training/events/2013/molecular-phylogenetics-ljubljana-slovenia","date":"Monday, September 23, 2013"},{"title":"Ensembl Browser Workshop - Edinburgh Sept 2013","year":"2013","url":"www.ebi.ac.uk/training/events/2013/ensembl-browser-workshop-edinburgh-sept-2013-0","date":"Thursday, September 19, 2013"},{"title":"Ensembl API Workshop - Norwich Sep 2013","year":"2013","url":"www.ebi.ac.uk/training/events/2013/ensembl-api-workshop-norwich-sep-2013","date":"Thursday, September 19, 2013"},{"title":"Ensembl Browser Workshop - Madrid Sep 2013","year":"2013","url":"www.ebi.ac.uk/training/events/2013/ensembl-browser-workshop-madrid-sep-2013","date":"Wednesday, September 18, 2013"},{"title":"Ensembl Browser Workshop - Edinburgh Sept 2013","year":"2013","url":"www.ebi.ac.uk/training/events/2013/ensembl-browser-workshop-edinburgh-sept-2013","date":"Wednesday, September 18, 2013"},{"title":"EBI resources introductory course - Zaragoza, Spain","year":"2013","url":"www.ebi.ac.uk/training/events/2013/ebi-resources-introductory-course-zaragoza-spain","date":"Tuesday, September 17, 2013"},{"title":"Black Forest Summer School 2013 (Ensembl module) - Herzogenhorn Sep 2013","year":"2013","url":"www.ebi.ac.uk/training/events/2013/black-forest-summer-school-2013-ensembl-module-herzogenhorn-sep-2013","date":"Thursday, September 12, 2013"},{"title":"Metagenomics: Managing, Analysing and Visualising Data Course","year":"2013","url":"www.ebi.ac.uk/training/events/2013/metagenomics-managing-analysing-and-visualising-data-course","date":"Monday, September 09, 2013"},{"title":"Introduction to Next Generation Sequencing (Cambridge, UK)","year":"2013","url":"www.ebi.ac.uk/training/events/2013/introduction-next-generation-sequencing-cambridge-uk-0","date":"Monday, September 09, 2013"},{"title":"Ensembl API Workshop - Cape Town Sep 2013","year":"2013","url":"www.ebi.ac.uk/training/events/2013/ensembl-api-workshop-cape-town-sep-2013","date":"Friday, September 06, 2013"},{"title":"Ensembl Browser Workshop - Cape Town Sep 2013","year":"2013","url":"www.ebi.ac.uk/training/events/2013/ensembl-browser-workshop-cape-town-sep-2013","date":"Thursday, September 05, 2013"},{"title":"Ensembl API Workshop - Grahamstown Sep 2013","year":"2013","url":"www.ebi.ac.uk/training/events/2013/ensembl-api-workshop-grahamstown-sep-2013","date":"Tuesday, September 03, 2013"},{"title":"Computational challenges and performance optimizations in NGS data analyses - London, UK","year":"2013","url":"www.ebi.ac.uk/training/events/2013/computational-challenges-and-performance-optimizations-ngs-data-analyses-london-uk","date":"Tuesday, September 03, 2013"},{"title":"Chemical and Biological resources for Toxicology and Toxicogenomics (diXa)","year":"2013","url":"www.ebi.ac.uk/training/events/2013/chemical-and-biological-resources-toxicology-and-toxicogenomics-dixa","date":"Tuesday, September 03, 2013"},{"title":"Bioinformatics resources for immunologists - Cambridge, United Kingdom","year":"2013","url":"www.ebi.ac.uk/training/events/2013/bioinformatics-resources-immunologists-cambridge-united-kingdom","date":"Monday, September 02, 2013"},{"title":"Ensembl Browser Workshop - Grahamstown Sep 2013","year":"2013","url":"www.ebi.ac.uk/training/events/2013/ensembl-browser-workshop-grahamstown-sep-2013","date":"Monday, September 02, 2013"},{"title":"Ensembl API Workshop - Johannesburg Aug 2013","year":"2013","url":"www.ebi.ac.uk/training/events/2013/ensembl-api-workshop-johannesburg-aug-2013","date":"Thursday, August 29, 2013"},{"title":"Ensembl Browser Workshop - Johannesburg Aug 2013","year":"2013","url":"www.ebi.ac.uk/training/events/2013/ensembl-browser-workshop-johannesburg-aug-2013","date":"Wednesday, August 28, 2013"},{"title":"Ensembl Browser Workshop - Bloemfontein Aug 2013","year":"2013","url":"www.ebi.ac.uk/training/events/2013/ensembl-browser-workshop-bloemfontein-aug-2013","date":"Monday, August 26, 2013"},{"title":"Ensembl Browser Workshop - Edinburgh 23 Aug 2013","year":"2013","url":"www.ebi.ac.uk/training/events/2013/ensembl-browser-workshop-edinburgh-23-aug-2013","date":"Friday, August 23, 2013"},{"title":"Ensembl Browser Workshop - Edinburgh 22 Aug 2013","year":"2013","url":"www.ebi.ac.uk/training/events/2013/ensembl-browser-workshop-edinburgh-22-aug-2013","date":"Thursday, August 22, 2013"},{"title":"Introduction to Next Generation Sequencing (Cambridge, UK)","year":"2013","url":"www.ebi.ac.uk/training/events/2013/introduction-next-generation-sequencing-cambridge-uk","date":"Thursday, July 25, 2013"},{"title":"Introduction to Computational RNA Biology (Cambridge, UK)","year":"2013","url":"www.ebi.ac.uk/training/events/2013/introduction-computational-rna-biology-cambridge-uk","date":"Monday, July 15, 2013"},{"title":"Ensembl Browser Workshop - Teramo Jul 2013","year":"2013","url":"www.ebi.ac.uk/training/events/2013/ensembl-browser-workshop-teramo-jul-2013","date":"Monday, July 15, 2013"},{"title":"Networks and Pathways Bioinformatics for Biologists","year":"2013","url":"www.ebi.ac.uk/training/events/2013/networks-and-pathways-bioinformatics-biologists-0","date":"Tuesday, July 09, 2013"},{"title":"Wellcome Trust Open Door Workshop: Working with the Human Genome Sequence (Ensembl module) - Hinxton Jul 2013","year":"2013","url":"www.ebi.ac.uk/training/events/2013/wellcome-trust-open-door-workshop-working-human-genome-sequence-ensembl-module-hinxton-jul-2013","date":"Tuesday, July 02, 2013"},{"title":"The Bioinformatics Workshop - San Michele all\'Adige (Trento), Italy","year":"2013","url":"www.ebi.ac.uk/training/events/2013/bioinformatics-workshop-san-michele-alladige-trento-italy","date":"Tuesday, July 02, 2013"},{"title":"Small Molecules, Gene Products and their Interaction - EBI Roadshow, Pathway-Network and diXa Training - Maastricht University","year":"2013","url":"www.ebi.ac.uk/training/events/2013/small-molecules-gene-products-and-their-interaction-ebi-roadshow-pathway-network-and-dixa-training","date":"Monday, July 01, 2013"},{"title":"Browsing Plant and Pathogen Genomes with Ensembl Genomes - Norwich Jun 2013","year":"2013","url":"www.ebi.ac.uk/training/events/2013/browsing-plant-and-pathogen-genomes-ensembl-genomes-norwich-jun-2013","date":"Thursday, June 27, 2013"},{"title":"Scuola Di Bioinformatica 2013","year":"2013","url":"www.ebi.ac.uk/training/events/2013/scuola-di-bioinformatica-2013","date":"Tuesday, June 25, 2013"},{"title":"Joint EMBL-EBI-Wellcome Trust Course: In Silico Systems Biology","year":"2013","url":"www.ebi.ac.uk/training/events/2013/joint-embl-ebi-wellcome-trust-course-silico-systems-biology","date":"Tuesday, June 25, 2013"},{"title":"FGED 15th International Conference Workshop: Next-generation sequencing data analysis with GenomeSpace and Galaxy - USA","year":"2013","url":"www.ebi.ac.uk/training/events/2013/fged-15th-international-conference-workshop-next-generation-sequencing-data-analysis-genomespace-and","date":"Saturday, June 22, 2013"},{"title":"Ensembl Browser Workshop - Cambridge Jun 2013","year":"2013","url":"www.ebi.ac.uk/training/events/2013/ensembl-browser-workshop-cambridge-jun-2013","date":"Friday, June 21, 2013"},{"title":"Ensembl Browser Workshop - Ljubljana Jun 2013","year":"2013","url":"www.ebi.ac.uk/training/events/2013/ensembl-browser-workshop-ljubljana-jun-2013","date":"Wednesday, June 19, 2013"},{"title":"Bioinformatics for Geneticists (Ensembl module) - London Jun 2013","year":"2013","url":"www.ebi.ac.uk/training/events/2013/bioinformatics-geneticists-ensembl-module-london-jun-2013","date":"Monday, June 17, 2013"},{"title":"Ensembl Browser Workshop - Heidelberg Jun 2013","year":"2013","url":"www.ebi.ac.uk/training/events/2013/ensembl-browser-workshop-heidelberg-jun-2013","date":"Monday, June 17, 2013"},{"title":"Joint EMBL-EBI/Wellcome Trust Summer School in Bioinformatics","year":"2013","url":"www.ebi.ac.uk/training/events/2013/joint-embl-ebiwellcome-trust-summer-school-bioinformatics","date":"Monday, June 10, 2013"},{"title":"Browsing Livestock Genomes with Ensembl - Norwich Jun 2013","year":"2013","url":"www.ebi.ac.uk/training/events/2013/browsing-livestock-genomes-ensembl-norwich-jun-2013","date":"Thursday, June 06, 2013"},{"title":"Ensembl Developers Workshop - Marseille Jun 2013","year":"2013","url":"www.ebi.ac.uk/training/events/2013/ensembl-developers-workshop-marseille-jun-2013","date":"Wednesday, June 05, 2013"},{"title":"The Bioinformatics Workshop Faroe Islands","year":"2013","url":"www.ebi.ac.uk/training/events/2013/bioinformatics-workshop-faroe-islands","date":"Monday, June 03, 2013"},{"title":"Ensembl Browser Workshop - Marseille Jun 2013","year":"2013","url":"www.ebi.ac.uk/training/events/2013/ensembl-browser-workshop-marseille-jun-2013","date":"Monday, June 03, 2013"},{"title":"Advanced RNA-Seq and ChiP-Seq Data Analysis Course 2013","year":"2013","url":"www.ebi.ac.uk/training/events/2013/advanced-rna-seq-and-chip-seq-data-analysis-course-2013","date":"Monday, June 03, 2013"},{"title":"The Bioinformatics Workshop - University College London","year":"2013","url":"www.ebi.ac.uk/training/events/2013/bioinformatics-workshop-university-college-london","date":"Tuesday, May 28, 2013"},{"title":"Ensembl Developers Workshop - Hinxton May 2013","year":"2013","url":"www.ebi.ac.uk/training/events/2013/ensembl-developers-workshop-hinxton-may-2013","date":"Wednesday, May 22, 2013"},{"title":"diXa: Microarray Analysis using R and Bioconductor","year":"2013","url":"www.ebi.ac.uk/training/events/2013/dixa-microarray-analysis-using-r-and-bioconductor","date":"Tuesday, May 14, 2013"},{"title":"Ensembl Browser Workshop - Research Triangle Park May 2013","year":"2013","url":"www.ebi.ac.uk/training/events/2013/ensembl-browser-workshop-research-triangle-park-may-2013","date":"Tuesday, May 14, 2013"},{"title":"Ensembl Browser Workshop - Chapel Hill May 2013","year":"2013","url":"www.ebi.ac.uk/training/events/2013/ensembl-browser-workshop-chapel-hill-may-2013","date":"Monday, May 13, 2013"},{"title":"Ensembl Browser Workshops - Bethesda May 2013 (advanced)","year":"2013","url":"www.ebi.ac.uk/training/events/2013/ensembl-browser-workshops-bethesda-may-2013-advanced","date":"Friday, May 03, 2013"},{"title":"Ensembl Browser Workshops - Bethesda May 2013 (introductory)","year":"2013","url":"www.ebi.ac.uk/training/events/2013/ensembl-browser-workshops-bethesda-may-2013-introductory","date":"Thursday, May 02, 2013"},{"title":"Joint Wellcome Trust-EMBL-EBI advanced course on Computational Molecular Evolution","year":"2013","url":"www.ebi.ac.uk/training/events/2013/joint-wellcome-trust-embl-ebi-advanced-course-computational-molecular-evolution","date":"Monday, April 29, 2013"},{"title":"The Bioinformatics Workshop - Prague, Czech Republic","year":"2013","url":"www.ebi.ac.uk/training/events/2013/bioinformatics-workshop-prague-czech-republic","date":"Wednesday, April 24, 2013"},{"title":"The Bioinformatics Workshop - NIMR, London","year":"2013","url":"www.ebi.ac.uk/training/events/2013/bioinformatics-workshop-nimr-london","date":"Monday, April 22, 2013"},{"title":"Working with ENCODE data Workshop (Ensembl module) - Singapore Apr 2013","year":"2013","url":"www.ebi.ac.uk/training/events/2013/working-encode-data-workshop-ensembl-module-singapore-apr-2013","date":"Tuesday, April 16, 2013"},{"title":"The Bioinformatics Workshop - Amsterdam","year":"2013","url":"www.ebi.ac.uk/training/events/2013/bioinformatics-workshop-amsterdam","date":"Tuesday, April 09, 2013"},{"title":"Ensembl Developers Workshop - Cambridge Apr 2013","year":"2013","url":"www.ebi.ac.uk/training/events/2013/ensembl-developers-workshop-cambridge-apr-2013","date":"Wednesday, April 03, 2013"},{"title":"Ensembl Browser Workshop - Cambridge Apr 2013","year":"2013","url":"www.ebi.ac.uk/training/events/2013/ensembl-browser-workshop-cambridge-apr-2013","date":"Tuesday, April 02, 2013"},{"title":"Next Generation Sequencing Workshop","year":"2013","url":"www.ebi.ac.uk/training/events/2013/next-generation-sequencing-workshop-1","date":"Monday, March 25, 2013"},{"title":"Ensembl Browser Workshop - Aberdeen Mar 2013","year":"2013","url":"www.ebi.ac.uk/training/events/2013/ensembl-browser-workshop-aberdeen-mar-2013","date":"Friday, March 22, 2013"},{"title":"Ensembl Browser Demo - Rotterdam Mar 2013","year":"2013","url":"www.ebi.ac.uk/training/events/2013/ensembl-browser-demo-rotterdam-mar-2013","date":"Tuesday, March 19, 2013"},{"title":"Ensembl Browser Workshop - Rotterdam Mar 2013","year":"2013","url":"www.ebi.ac.uk/training/events/2013/ensembl-browser-workshop-rotterdam-mar-2013","date":"Monday, March 18, 2013"},{"title":"CAGE-KID Cancer Genomics Workshop","year":"2013","url":"www.ebi.ac.uk/training/events/2013/cage-kid-cancer-genomics-workshop","date":"Monday, March 18, 2013"},{"title":"The Bioinformatics Workshop - Ispra, Italy","year":"2013","url":"www.ebi.ac.uk/training/events/2013/bioinformatics-workshop-ispra-italy","date":"Tuesday, March 12, 2013"},{"title":"Ensembl Developers Workshop - Montpellier Mar 2013","year":"2013","url":"www.ebi.ac.uk/training/events/2013/ensembl-developers-workshop-montpellier-mar-2013","date":"Tuesday, March 12, 2013"},{"title":"Ensembl Browser Workshop - Montpellier Mar 2013","year":"2013","url":"www.ebi.ac.uk/training/events/2013/ensembl-browser-workshop-montpellier-mar-2013","date":"Monday, March 11, 2013"},{"title":"BioMedBridges Knowledge Exchange Workshop: Practical Solutions with Ontologies","year":"2013","url":"www.ebi.ac.uk/training/events/2013/biomedbridges-knowledge-exchange-workshop-practical-solutions-ontologies","date":"Monday, March 04, 2013"},{"title":"Ensembl Browser Workshop - Tampere Feb/Mar 2012","year":"2013","url":"www.ebi.ac.uk/training/events/2013/ensembl-browser-workshop-tampere-febmar-2012","date":"Thursday, February 28, 2013"},{"title":"EMBO Practical Course on Metabolomics Bioinformatics for Life Scientists","year":"2013","url":"www.ebi.ac.uk/training/events/2013/embo-practical-course-metabolomics-bioinformatics-life-scientists","date":"Monday, February 25, 2013"},{"title":"AllBio Course on Data Resources and Tools for Plant-Omics 2013","year":"2013","url":"www.ebi.ac.uk/training/events/2013/allbio-course-data-resources-and-tools-plant-omics-2013","date":"Monday, February 18, 2013"},{"title":"Bringing Structure to Biology - Protein Structures and Tools from the EBI - Cambridge University, UK","year":"2013","url":"www.ebi.ac.uk/training/events/2013/bringing-structure-biology-protein-structures-and-tools-ebi-cambridge-university-uk-0","date":"Wednesday, February 06, 2013"},{"title":"Metabolomics Data and Tools from the EBI - Cambridge University, UK","year":"2013","url":"www.ebi.ac.uk/training/events/2013/metabolomics-data-and-tools-ebi-cambridge-university-uk-0","date":"Friday, February 01, 2013"},{"title":"Ensembl Browser Workshop - Hinxton Jan 2013","year":"2013","url":"www.ebi.ac.uk/training/events/2013/ensembl-browser-workshop-hinxton-jan-2013","date":"Thursday, January 31, 2013"},{"title":"Mass Spectrometry Proteomics at the EBI - Cambridge University, UK","year":"2013","url":"www.ebi.ac.uk/training/events/2013/mass-spectrometry-proteomics-ebi-cambridge-university-uk","date":"Wednesday, January 30, 2013"},{"title":"Molecular Interaction Data and Tools from the EBI - Cambridge University, UK ","year":"2013","url":"www.ebi.ac.uk/training/events/2013/molecular-interaction-data-and-tools-ebi-cambridge-university-uk-0","date":"Monday, January 28, 2013"},{"title":"Protein Databases and Tools from EBI - Cambridge University, UK ","year":"2013","url":"www.ebi.ac.uk/training/events/2013/protein-databases-and-tools-ebi-cambridge-university-uk-0","date":"Friday, January 25, 2013"},{"title":"Ensembl Browser Workshop - Nottingham Jan 2013","year":"2013","url":"www.ebi.ac.uk/training/events/2013/ensembl-browser-workshop-nottingham-jan-2013","date":"Thursday, January 24, 2013"},{"title":"Ensembl Browser Workshop - Denver Jan 2013","year":"2013","url":"www.ebi.ac.uk/training/events/2013/ensembl-browser-workshop-denver-jan-2013","date":"Thursday, January 24, 2013"},{"title":"Transcriptomics Data and Tools from the EBI - Cambridge University, UK","year":"2013","url":"www.ebi.ac.uk/training/events/2013/transcriptomics-data-and-tools-ebi-cambridge-university-uk-0","date":"Thursday, January 24, 2013"},{"title":"Ensembl Developers Workshop - Tucson Jan 2013","year":"2013","url":"www.ebi.ac.uk/training/events/2013/ensembl-developers-workshop-tucson-jan-2013","date":"Wednesday, January 23, 2013"},{"title":"Archives for Next Generation Sequence Data at the EBI - Cambridge University, UK","year":"2013","url":"www.ebi.ac.uk/training/events/2013/archives-next-generation-sequence-data-ebi-cambridge-university-uk-0","date":"Wednesday, January 23, 2013"},{"title":"Ensembl Browser Workshop - Tucson Jan 2013","year":"2013","url":"www.ebi.ac.uk/training/events/2013/ensembl-browser-workshop-tucson-jan-2013","date":"Tuesday, January 22, 2013"},{"title":"Introduction to EBI Resources/Searching the EBI website - Cambridge University, UK","year":"2013","url":"www.ebi.ac.uk/training/events/2013/introduction-ebi-resourcessearching-ebi-website-cambridge-university-uk","date":"Tuesday, January 22, 2013"},{"title":"Multiple Sequence Alignment and Analysis with Jalview -- Tutorial and Hackathon","year":"2013","url":"www.ebi.ac.uk/training/events/2013/multiple-sequence-alignment-and-analysis-jalview-tutorial-and-hackathon","date":"Monday, January 21, 2013"},{"title":"The Bioinformatics Roadshow - Zimbabwe","year":"2013","url":"www.ebi.ac.uk/training/events/2013/bioinformatics-roadshow-zimbabwe","date":"Monday, January 21, 2013"},{"title":"Ensembl Browser Workshop - Phoenix Jan 2013","year":"2013","url":"www.ebi.ac.uk/training/events/2013/ensembl-browser-workshop-phoenix-jan-2013","date":"Friday, January 18, 2013"},{"title":"Ensembl Browser Workshop - Toulouse Jan 2013","year":"2013","url":"www.ebi.ac.uk/training/events/2013/ensembl-browser-workshop-toulouse-jan-2013","date":"Thursday, January 17, 2013"},{"title":"Bioinformatics for Nutritionists (London, UK)","year":"2013","url":"www.ebi.ac.uk/training/events/2013/bioinformatics-nutritionists-london-uk","date":"Monday, January 14, 2013"},{"title":"The Bioinformatics Roadshow - Bangalore, India","year":"2013","url":"www.ebi.ac.uk/training/events/2013/bioinformatics-roadshow-bangalore-india","date":"Sunday, January 13, 2013"},{"title":"Using Bioinformatics Data and Tools to Engage Students in Problem Solving: A Curriculum Development Workshop ","year":"2013","url":"www.ebi.ac.uk/training/events/2013/using-bioinformatics-data-and-tools-engage-students-problem-solving-curriculum-development-workshop","date":"Monday, January 07, 2013"},{"title":"NIBMG-EBI Winter School on Analysis of Massively-Parallel Sequencing Data","year":"2013","url":"www.ebi.ac.uk/training/events/2013/nibmg-ebi-winter-school-analysis-massively-parallel-sequencing-data","date":"Monday, January 07, 2013"},{"title":"The Bioinformatics Roadshow - Chile","year":"2012","url":"www.ebi.ac.uk/training/events/2012/bioinformatics-roadshow-chile","date":"Wednesday, December 19, 2012"},{"title":"ENGAGE/GEUVADIS RNA-seq Workshop 2012 ","year":"2012","url":"www.ebi.ac.uk/training/events/2012/engagegeuvadis-rna-seq-workshop-2012","date":"Tuesday, December 04, 2012"},{"title":"Wellcome Trust Open Door Workshop Working with the Human Genome Sequence - Vietnam 2012","year":"2012","url":"www.ebi.ac.uk/training/events/2012/wellcome-trust-open-door-workshop-working-human-genome-sequence-vietnam-2012","date":"Monday, December 03, 2012"},{"title":"The Bioinformatics Roadshow - Faroe Islands","year":"2012","url":"www.ebi.ac.uk/training/events/2012/bioinformatics-roadshow-faroe-islands","date":"Wednesday, November 28, 2012"},{"title":"Ensembl Developers Workshop - Cambridge Nov 2012","year":"2012","url":"www.ebi.ac.uk/training/events/2012/ensembl-developers-workshop-cambridge-nov-2012","date":"Wednesday, November 28, 2012"},{"title":"Ensembl Browser Workshop - Cambridge Nov 2012","year":"2012","url":"www.ebi.ac.uk/training/events/2012/ensembl-browser-workshop-cambridge-nov-2012","date":"Tuesday, November 27, 2012"},{"title":"ELLS LearningLAB 2012 Biology 2.0 - making sense of biological data","year":"2012","url":"www.ebi.ac.uk/training/events/2012/ells-learninglab-2012-biology-20-making-sense-biological-data","date":"Sunday, November 25, 2012"},{"title":"1st transPLANT user training workshop ","year":"2012","url":"www.ebi.ac.uk/training/events/2012/1st-transplant-user-training-workshop","date":"Monday, November 12, 2012"},{"title":"The Genome Access Course - Nov 2012","year":"2012","url":"www.ebi.ac.uk/training/events/2012/genome-access-course-nov-2012","date":"Monday, November 12, 2012"},{"title":"Ensembl Developers Workshop - Utrecht Nov 2012","year":"2012","url":"www.ebi.ac.uk/training/events/2012/ensembl-developers-workshop-utrecht-nov-2012","date":"Friday, November 09, 2012"},{"title":"American Society of Human Genetics 2012 Annual Meeting (ASHG 2012)","year":"2012","url":"www.ebi.ac.uk/training/events/2012/american-society-human-genetics-2012-annual-meeting-ashg-2012","date":"Tuesday, November 06, 2012"},{"title":"Joint EBI-Wellcome Trust Proteomics Bioinformatics workshop ","year":"2012","url":"www.ebi.ac.uk/training/events/2012/joint-ebi-wellcome-trust-proteomics-bioinformatics-workshop","date":"Monday, November 05, 2012"},{"title":"Molecular Interaction Data and Tools from the EBI - Cambridge University, UK ","year":"2012","url":"www.ebi.ac.uk/training/events/2012/molecular-interaction-data-and-tools-ebi-cambridge-university-uk","date":"Wednesday, October 31, 2012"},{"title":"Metabolomics Data and Tools from the EBI - Cambridge University, UK ","year":"2012","url":"www.ebi.ac.uk/training/events/2012/metabolomics-data-and-tools-ebi-cambridge-university-uk","date":"Tuesday, October 30, 2012"},{"title":"The Bioinformatics Roadshow - Maine, USA","year":"2012","url":"www.ebi.ac.uk/training/events/2012/bioinformatics-roadshow-maine-usa-0","date":"Tuesday, October 30, 2012"},{"title":"Bringing Structure to Biology - Protein Structures and Tools from the EBI - Cambridge University, UK ","year":"2012","url":"www.ebi.ac.uk/training/events/2012/bringing-structure-biology-protein-structures-and-tools-ebi-cambridge-university-uk","date":"Monday, October 29, 2012"},{"title":"EMBO Practical Course: Analysis of High-Throughput Sequencing Data","year":"2012","url":"www.ebi.ac.uk/training/events/2012/embo-practical-course-analysis-high-throughput-sequencing-data","date":"Monday, October 29, 2012"},{"title":"Protein Databases and Tools from EBI - Cambridge University, UK ","year":"2012","url":"www.ebi.ac.uk/training/events/2012/protein-databases-and-tools-ebi-cambridge-university-uk","date":"Friday, October 26, 2012"},{"title":"Transcriptomics Data and Tools from the EBI - Cambridge University, UK ","year":"2012","url":"www.ebi.ac.uk/training/events/2012/transcriptomics-data-and-tools-ebi-cambridge-university-uk","date":"Thursday, October 25, 2012"},{"title":"Archives for Next Generation Sequence Data at the EBI - Cambridge University, UK","year":"2012","url":"www.ebi.ac.uk/training/events/2012/archives-next-generation-sequence-data-ebi-cambridge-university-uk","date":"Wednesday, October 24, 2012"},{"title":"The Bioinformatics Roadshow - Maine, USA","year":"2012","url":"www.ebi.ac.uk/training/events/2012/bioinformatics-roadshow-maine-usa","date":"Thursday, October 18, 2012"},{"title":"Next Generation Sequencing Workshop","year":"2012","url":"www.ebi.ac.uk/training/events/2012/next-generation-sequencing-workshop-0","date":"Tuesday, October 16, 2012"},{"title":"The Bioinformatics Roadshow - Chicago, USA","year":"2012","url":"www.ebi.ac.uk/training/events/2012/bioinformatics-roadshow-chicago-usa","date":"Tuesday, October 16, 2012"},{"title":"SME Bioinformatics Forum, Barcelona ","year":"2012","url":"www.ebi.ac.uk/training/events/2012/sme-bioinformatics-forum-barcelona","date":"Monday, October 08, 2012"},{"title":"Programmatic Access To Biological Databases (Perl)","year":"2012","url":"www.ebi.ac.uk/training/events/2012/programmatic-access-biological-databases-perl","date":"Monday, October 01, 2012"},{"title":"The Bioinformatics Roadshow - Leicester University","year":"2012","url":"www.ebi.ac.uk/training/events/2012/bioinformatics-roadshow-leicester-university","date":"Tuesday, September 25, 2012"},{"title":"The 4th EMBO Meeting Special Symposium","year":"2012","url":"www.ebi.ac.uk/training/events/2012/4th-embo-meeting-special-symposium","date":"Saturday, September 22, 2012"},{"title":"PhytoPath Training Course ","year":"2012","url":"www.ebi.ac.uk/training/events/2012/phytopath-training-course","date":"Wednesday, September 19, 2012"},{"title":"One day training course in the use of metabolomics bioinformatics resources ","year":"2012","url":"www.ebi.ac.uk/training/events/2012/one-day-training-course-use-metabolomics-bioinformatics-resources","date":"Thursday, September 13, 2012"},{"title":"The Bioinformatics Roadshow - Tokyo, Japan","year":"2012","url":"www.ebi.ac.uk/training/events/2012/bioinformatics-roadshow-tokyo-japan","date":"Tuesday, July 24, 2012"},{"title":"SLING seminar: Information Sources in Biotechnology - Oeiras, Portugal","year":"2012","url":"www.ebi.ac.uk/training/events/2012/sling-seminar-information-sources-biotechnology-oeiras-portugal","date":"Wednesday, July 18, 2012"},{"title":"The Bioinformatics Roadshow - Sydney Australia","year":"2012","url":"www.ebi.ac.uk/training/events/2012/bioinformatics-roadshow-sydney-australia","date":"Monday, July 16, 2012"},{"title":"The Bioinformatics Roadshow - Melbourne Australia","year":"2012","url":"www.ebi.ac.uk/training/events/2012/bioinformatics-roadshow-melbourne-australia","date":"Thursday, July 12, 2012"},{"title":"Joint EMBL-EBI/Wellcome Trust Course: Resources for Computational Drug Discovery","year":"2012","url":"www.ebi.ac.uk/training/events/2012/joint-embl-ebiwellcome-trust-course-resources-computational-drug-discovery","date":"Monday, July 02, 2012"},{"title":"Joint Wellcome Trust - EMBL-EBI Summer School in Bioinformatics 2012","year":"2012","url":"www.ebi.ac.uk/training/events/2012/joint-wellcome-trust-embl-ebi-summer-school-bioinformatics-2012","date":"Monday, June 25, 2012"},{"title":"The Bioinformatics Roadshow - Rotterdam, The Netherlands","year":"2012","url":"www.ebi.ac.uk/training/events/2012/bioinformatics-roadshow-rotterdam-netherlands-0","date":"Tuesday, June 12, 2012"},{"title":"EMBO Practical Course on Plant Bioinformatics: Going -OMICs, co-funded by the ESF-ENSS research networking programme (RNP)","year":"2012","url":"www.ebi.ac.uk/training/events/2012/embo-practical-course-plant-bioinformatics-going-omics-co-funded-esf-enss-research-networking","date":"Monday, June 11, 2012"},{"title":"Networks and Pathways Bioinformatics for Biologists","year":"2012","url":"www.ebi.ac.uk/training/events/2012/networks-and-pathways-bioinformatics-biologists","date":"Wednesday, May 16, 2012"},{"title":"The Bioinformatics Roadshow - Rotterdam, The Netherlands","year":"2012","url":"www.ebi.ac.uk/training/events/2012/bioinformatics-roadshow-rotterdam-netherlands","date":"Tuesday, May 08, 2012"},{"title":"Advanced RNA-Seq and ChiP-Seq Data Analysis Course 2012","year":"2012","url":"www.ebi.ac.uk/training/events/2012/advanced-rna-seq-and-chip-seq-data-analysis-course-2012","date":"Tuesday, May 01, 2012"},{"title":"Joint EMBL-EBI and Wellcome Trust In Silico Systems Biology 2012","year":"2012","url":"www.ebi.ac.uk/training/events/2012/joint-embl-ebi-and-wellcome-trust-silico-systems-biology-2012","date":"Monday, April 23, 2012"},{"title":"EMBO Practical Course: Computational structural biology - from data to structure to function","year":"2012","url":"www.ebi.ac.uk/training/events/2012/embo-practical-course-computational-structural-biology-data-structure-function","date":"Monday, April 16, 2012"},{"title":"NBAF Bio-Linux Course","year":"2012","url":"www.ebi.ac.uk/training/events/2012/nbaf-bio-linux-course","date":"Monday, April 02, 2012"},{"title":"Next Generation Sequencing Workshop","year":"2012","url":"www.ebi.ac.uk/training/events/2012/next-generation-sequencing-workshop","date":"Monday, March 12, 2012"},{"title":"The Bioinformatics SLING Roadshow - Aosta, Italy","year":"2012","url":"www.ebi.ac.uk/training/events/2012/bioinformatics-sling-roadshow-aosta-italy","date":"Monday, March 05, 2012"},{"title":"The Bioinformatics Roadshow - Norwich, UK","year":"2012","url":"www.ebi.ac.uk/training/events/2012/bioinformatics-roadshow-norwich-uk","date":"Thursday, March 01, 2012"},{"title":"DAS Workshop 2012","year":"2012","url":"www.ebi.ac.uk/training/events/2012/das-workshop-2012","date":"Monday, February 27, 2012"},{"title":"The Bioinformatics Roadshow - Pavia, Italy 2012 ","year":"2012","url":"www.ebi.ac.uk/training/events/2012/bioinformatics-roadshow-pavia-italy-2012","date":"Thursday, February 23, 2012"},{"title":"The Bioinformatics SLING Roadshow - Turin, Italy","year":"2012","url":"www.ebi.ac.uk/training/events/2012/bioinformatics-sling-roadshow-turin-italy","date":"Monday, February 20, 2012"},{"title":"ESGI Data Flow Workshop","year":"2012","url":"www.ebi.ac.uk/training/events/2012/esgi-data-flow-workshop","date":"Tuesday, February 07, 2012"},{"title":"The Bioinformatics SLING Roadshow - Thessaloniki, Greece","year":"2012","url":"www.ebi.ac.uk/training/events/2012/bioinformatics-sling-roadshow-thessaloniki-greece","date":"Tuesday, February 07, 2012"}]')},186:function(e,t,r){},311:function(e,t,r){e.exports=r.p+"static/media/Homepage.2db87a08.jpg"},335:function(e,t,r){e.exports=r(752)},340:function(e,t,r){},491:function(e,t){},493:function(e,t){},523:function(e,t){},524:function(e,t){},601:function(e,t){},752:function(e,t,r){"use strict";r.r(t);var n=r(1),a=r.n(n),i=r(47),o=r.n(i),s=(r(340),r(19)),l=r(6),c=r(2),u=r(14),d=r(311),m=r.n(d),h=function(e){var t={backgroundImage:"url("+JSON.stringify(m.a)+")"},r=function(){return"1"===e.isService};return a.a.createElement("section",{className:"vf-hero vf-hero--primary vf-hero--800 | vf-u-fullbleed",style:t,"data-vf-google-analytics-region":"masthead"},a.a.createElement("div",{className:"vf-hero__content | vf-box | vf-stack vf-stack--400"},r()?a.a.createElement("p",{className:"vf-hero__text"},a.a.createElement("a",{href:e.serviceUrl,className:"vf-link"},e.serviceName)):"",a.a.createElement("h1",{className:"vf-hero__heading"},e.title?e.title:"EMBL-EBI Training"),a.a.createElement("p",{className:"vf-hero__subheading"},e.subtitle?"NA"!==e.subtitle?e.subtitle:"":"Delivering world-class training in data-driven life sciences."),"Live training"===e.title||"On-demand training"===e.title?a.a.createElement("p",{className:"vf-hero__text"},"We also offer ","Live training"===e.title?a.a.createElement(u.b,{to:"/on-demand",className:"vf-link"},"on-demand training"):a.a.createElement(u.b,{to:"/live-events",className:"vf-link"}," ","live training")):"",r()&&"1"!==e.isServiceHome?a.a.createElement("p",{className:"vf-hero__text"},"We also offer "," ",a.a.createElement("a",{href:e.linkToOtherType,className:"vf-link"},e.textToOtherType)):""))},f="",v="";/localhost/.test(window.location.href)||/192.168/.test(window.location.href)||/wwwdev/.test(window.location.href)?(f="https://wwwdev.ebi.ac.uk",v="https://dev.trainingcontent.embl.org"):(f="https://www.ebi.ac.uk",v="https://trainingcontent.embl.org");var p=f,g=function(e){var t=e.handleQuerySubmit,r=e.handleSearch,i=e.search,o=e.query,s=e.options,l=e.optionClick,u=e.placeholder,d=Object(n.useState)(),m=Object(c.a)(d,2),h=m[0],f=m[1],v=Object(n.useState)(),p=Object(c.a)(v,2),g=p[0],y=p[1];return a.a.createElement(a.a.Fragment,null,a.a.createElement("form",{id:"searchForm",className:"vf-form vf-form--search vf-form--search--responsive | vf-sidebar vf-sidebar--end",onSubmit:function(e){return t(e)},"data-vf-google-analytics-region":"search"},a.a.createElement("div",{className:"vf-sidebar__inner"},a.a.createElement("div",{className:"vf-form__item | vf-search__item ebi-training-materials-search-input "},a.a.createElement("label",{className:"vf-form__label vf-u-sr-only | vf-search__label",htmlFor:"textbox-filter"},"Search our courses, webinars and online tutorials"),a.a.createElement("input",{id:"textbox-filter",onChange:function(e){return r(e.currentTarget.value)},onKeyDown:function(e){return function(e){y(null===s||void 0===s?void 0:s.filter((function(e){return e.includes(i)})));var t=h||0;if(13===e.keyCode)h>0&&r(g[h]),h||r(e.currentTarget.value),0===h&&r(g[0]),f(void 0);else if(38===e.keyCode)0===t&&f(t),f(t-=1);else if(40===e.keyCode&&(h||f(0),0===h&&(f(h+1),console.log(h)),h>0&&f(h+1),t-1===(null===g||void 0===g?void 0:g.length)))return}(e)},value:i?i.replace(":",""):"",type:"search",placeholder:u||"Search our courses, webinars and online tutorials",className:"vf-form__input | vf-search__input",autoComplete:"off",maxLength:50,minLength:3}),s&&s.length>0&&o!==i&&i&&(null===i||void 0===i?void 0:i.length)>=3?a.a.createElement("ul",{className:"vf-list suggestions_results"},null===s||void 0===s?void 0:s.filter((function(e,t){return e.includes(i)})).map((function(e,t){var r="";return t===h&&(r="activeOptions"),a.a.createElement("li",{key:t,className:"vf-list__item ".concat(r),onClick:function(t){return l(e)}},e)}))):""),a.a.createElement("input",{type:"submit",value:"Search",className:"vf-search__button | vf-button vf-button--primary"}))))},y=r(8),b=r.n(y);r(186);function w(){w=function(){return e};var e={},t=Object.prototype,r=t.hasOwnProperty,n="function"==typeof Symbol?Symbol:{},a=n.iterator||"@@iterator",i=n.asyncIterator||"@@asyncIterator",o=n.toStringTag||"@@toStringTag";function s(e,t,r){return Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}),e[t]}try{s({},"")}catch(O){s=function(e,t,r){return e[t]=r}}function l(e,t,r,n){var a=t&&t.prototype instanceof d?t:d,i=Object.create(a.prototype),o=new N(n||[]);return i._invoke=function(e,t,r){var n="suspendedStart";return function(a,i){if("executing"===n)throw new Error("Generator is already running");if("completed"===n){if("throw"===a)throw i;return L()}for(r.method=a,r.arg=i;;){var o=r.delegate;if(o){var s=E(o,r);if(s){if(s===u)continue;return s}}if("next"===r.method)r.sent=r._sent=r.arg;else if("throw"===r.method){if("suspendedStart"===n)throw n="completed",r.arg;r.dispatchException(r.arg)}else"return"===r.method&&r.abrupt("return",r.arg);n="executing";var l=c(e,t,r);if("normal"===l.type){if(n=r.done?"completed":"suspendedYield",l.arg===u)continue;return{value:l.arg,done:r.done}}"throw"===l.type&&(n="completed",r.method="throw",r.arg=l.arg)}}}(e,r,o),i}function c(e,t,r){try{return{type:"normal",arg:e.call(t,r)}}catch(O){return{type:"throw",arg:O}}}e.wrap=l;var u={};function d(){}function m(){}function h(){}var f={};s(f,a,(function(){return this}));var v=Object.getPrototypeOf,p=v&&v(v(x([])));p&&p!==t&&r.call(p,a)&&(f=p);var g=h.prototype=d.prototype=Object.create(f);function y(e){["next","throw","return"].forEach((function(t){s(e,t,(function(e){return this._invoke(t,e)}))}))}function b(e,t){var n;this._invoke=function(a,i){function o(){return new t((function(n,o){!function n(a,i,o,s){var l=c(e[a],e,i);if("throw"!==l.type){var u=l.arg,d=u.value;return d&&"object"==typeof d&&r.call(d,"__await")?t.resolve(d.__await).then((function(e){n("next",e,o,s)}),(function(e){n("throw",e,o,s)})):t.resolve(d).then((function(e){u.value=e,o(u)}),(function(e){return n("throw",e,o,s)}))}s(l.arg)}(a,i,n,o)}))}return n=n?n.then(o,o):o()}}function E(e,t){var r=e.iterator[t.method];if(void 0===r){if(t.delegate=null,"throw"===t.method){if(e.iterator.return&&(t.method="return",t.arg=void 0,E(e,t),"throw"===t.method))return u;t.method="throw",t.arg=new TypeError("The iterator does not provide a 'throw' method")}return u}var n=c(r,e.iterator,t.arg);if("throw"===n.type)return t.method="throw",t.arg=n.arg,t.delegate=null,u;var a=n.arg;return a?a.done?(t[e.resultName]=a.value,t.next=e.nextLoc,"return"!==t.method&&(t.method="next",t.arg=void 0),t.delegate=null,u):a:(t.method="throw",t.arg=new TypeError("iterator result is not an object"),t.delegate=null,u)}function _(e){var t={tryLoc:e[0]};1 in e&&(t.catchLoc=e[1]),2 in e&&(t.finallyLoc=e[2],t.afterLoc=e[3]),this.tryEntries.push(t)}function k(e){var t=e.completion||{};t.type="normal",delete t.arg,e.completion=t}function N(e){this.tryEntries=[{tryLoc:"root"}],e.forEach(_,this),this.reset(!0)}function x(e){if(e){var t=e[a];if(t)return t.call(e);if("function"==typeof e.next)return e;if(!isNaN(e.length)){var n=-1,i=function t(){for(;++n<e.length;)if(r.call(e,n))return t.value=e[n],t.done=!1,t;return t.value=void 0,t.done=!0,t};return i.next=i}}return{next:L}}function L(){return{value:void 0,done:!0}}return m.prototype=h,s(g,"constructor",h),s(h,"constructor",m),m.displayName=s(h,o,"GeneratorFunction"),e.isGeneratorFunction=function(e){var t="function"==typeof e&&e.constructor;return!!t&&(t===m||"GeneratorFunction"===(t.displayName||t.name))},e.mark=function(e){return Object.setPrototypeOf?Object.setPrototypeOf(e,h):(e.__proto__=h,s(e,o,"GeneratorFunction")),e.prototype=Object.create(g),e},e.awrap=function(e){return{__await:e}},y(b.prototype),s(b.prototype,i,(function(){return this})),e.AsyncIterator=b,e.async=function(t,r,n,a,i){void 0===i&&(i=Promise);var o=new b(l(t,r,n,a),i);return e.isGeneratorFunction(r)?o:o.next().then((function(e){return e.done?e.value:o.next()}))},y(g),s(g,o,"Generator"),s(g,a,(function(){return this})),s(g,"toString",(function(){return"[object Generator]"})),e.keys=function(e){var t=[];for(var r in e)t.push(r);return t.reverse(),function r(){for(;t.length;){var n=t.pop();if(n in e)return r.value=n,r.done=!1,r}return r.done=!0,r}},e.values=x,N.prototype={constructor:N,reset:function(e){if(this.prev=0,this.next=0,this.sent=this._sent=void 0,this.done=!1,this.delegate=null,this.method="next",this.arg=void 0,this.tryEntries.forEach(k),!e)for(var t in this)"t"===t.charAt(0)&&r.call(this,t)&&!isNaN(+t.slice(1))&&(this[t]=void 0)},stop:function(){this.done=!0;var e=this.tryEntries[0].completion;if("throw"===e.type)throw e.arg;return this.rval},dispatchException:function(e){if(this.done)throw e;var t=this;function n(r,n){return o.type="throw",o.arg=e,t.next=r,n&&(t.method="next",t.arg=void 0),!!n}for(var a=this.tryEntries.length-1;a>=0;--a){var i=this.tryEntries[a],o=i.completion;if("root"===i.tryLoc)return n("end");if(i.tryLoc<=this.prev){var s=r.call(i,"catchLoc"),l=r.call(i,"finallyLoc");if(s&&l){if(this.prev<i.catchLoc)return n(i.catchLoc,!0);if(this.prev<i.finallyLoc)return n(i.finallyLoc)}else if(s){if(this.prev<i.catchLoc)return n(i.catchLoc,!0)}else{if(!l)throw new Error("try statement without catch or finally");if(this.prev<i.finallyLoc)return n(i.finallyLoc)}}}},abrupt:function(e,t){for(var n=this.tryEntries.length-1;n>=0;--n){var a=this.tryEntries[n];if(a.tryLoc<=this.prev&&r.call(a,"finallyLoc")&&this.prev<a.finallyLoc){var i=a;break}}i&&("break"===e||"continue"===e)&&i.tryLoc<=t&&t<=i.finallyLoc&&(i=null);var o=i?i.completion:{};return o.type=e,o.arg=t,i?(this.method="next",this.next=i.finallyLoc,u):this.complete(o)},complete:function(e,t){if("throw"===e.type)throw e.arg;return"break"===e.type||"continue"===e.type?this.next=e.arg:"return"===e.type?(this.rval=this.arg=e.arg,this.method="return",this.next="end"):"normal"===e.type&&t&&(this.next=t),u},finish:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var r=this.tryEntries[t];if(r.finallyLoc===e)return this.complete(r.completion,r.afterLoc),k(r),u}},catch:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var r=this.tryEntries[t];if(r.tryLoc===e){var n=r.completion;if("throw"===n.type){var a=n.arg;k(r)}return a}}throw new Error("illegal catch attempt")},delegateYield:function(e,t,r){return this.delegate={iterator:x(e),resultName:t,nextLoc:r},"next"===this.method&&(this.arg=void 0),u}},e}var E=function(){var e=Object(n.useState)(),t=Object(c.a)(e,2),r=t[0],i=t[1],o="";o=/localhost/.test(window.location.href)||/192.168/.test(window.location.href)||/wwwdev/.test(window.location.href)?"https://dev.trainingcontent.embl.org/":"https://trainingcontent.embl.org/",Object(n.useEffect)((function(){(function(){var e=Object(l.a)(w().mark((function e(){var t,r;return w().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,b.a.get("".concat(o,"/get_featured_courses?_format=json×tamp=").concat(Date.now()));case 2:return t=e.sent,e.next=5,t.data;case 5:r=e.sent,i(r);case 7:case"end":return e.stop()}}),e)})));return function(){return e.apply(this,arguments)}})()()}),[o]);return a.a.createElement("section",{className:"vf-summary-container | embl-grid","data-vf-google-analytics-region":"featured"},a.a.createElement("div",{className:"vf-section-header__heading"},"Featured courses"),a.a.createElement("div",null,r?null===r||void 0===r?void 0:r.map((function(e,t){return a.a.createElement("article",{className:"vf-summary vf-summary--news",key:e.url},a.a.createElement("span",{className:"vf-summary__date",style:{textTransform:"uppercase"}},"Live Webinar"===e.training_type&&"Closed"===e.status?"Recorded Webinar":e.training_type),a.a.createElement("img",{alt:"",src:"https://acxngcvroo.cloudimg.io/v7/https:".concat(e.image,"?w=300&h=200"),className:"vf-summary__image",loading:"lazy",style:{width:"150px"}}),a.a.createElement("h3",{className:"vf-summary__title",style:{paddingLeft:"0px"}},a.a.createElement("a",{href:"https://www.ebi.ac.uk/training/".concat("book_cover"===e.content_type?"online/courses":"events").concat(e.url),className:"vf-summary__link"},e.title),a.a.createElement("p",{className:"vf-summary__text"},e.subtitle),"Live Webinar"===e.training_type&&"Closed"===e.status?"":a.a.createElement("div",{className:"vf-summary__text vf-summary--event"},a.a.createElement("div",{className:"vf-summary__location"},"book_cover"!==e.content_type?a.a.createElement("div",null,function(e){return"1"===e.show_application_close?a.a.createElement("span",{style:{fontWeight:"bold"}},"Applications close: ",a.a.createElement("strong",null,e.applications_closed)):e.status}(e)," |"," ",a.a.createElement("i",{className:"icon icon-common icon-calendar-alt"})," ",e.dates," |"," ",a.a.createElement("i",{className:"icon icon-common icon-location"})," ",e.location," "):""))))})):a.a.createElement("div",null,a.a.createElement("img",{alt:"progress",src:"progressbar.gif"}),a.a.createElement("h4",null,"Loading results..."))))},_=r(32),k=function(){var e=Object(n.useState)(""),t=Object(c.a)(e,2),r=t[0],i=t[1],o=Object(n.useState)(""),s=Object(c.a)(o,2),l=s[0],u=s[1];return Object(n.useEffect)((function(){fetch("https://www.embl.org/api/v1/pattern.html?filter-content-type=article&filter-id=181401&pattern=node-body&source=contenthub").then((function(e){return e.text()})).then((function(e){u(e)})).catch((function(e){console.warn("Something went wrong.",e)})),fetch("https://www.embl.org/api/v1/pattern.html?filter-content-type=article&filter-id=181425&pattern=node-body&source=contenthub").then((function(e){return e.text()})).then((function(e){i(e)})).catch((function(e){console.warn("Something went wrong.",e)}))})),a.a.createElement(a.a.Fragment,null,a.a.createElement("section",{id:"navcards-region","data-vf-google-analytics-region":"navcards",className:"vf-u-fullbleed vf-u-background-color-ui--grey--light vf-u-padding__top--800 vf-u-padding__bottom--100",style:Object(_.a)({backgroundSize:"auto"},"backgroundImage","url(https://acxngcvroo.cloudimg.io/v7/https://www.embl.org/files/wp-content/uploads/Screenshot-2021-03-08-at-08.44.32.png)")},a.a.createElement("div",{dangerouslySetInnerHTML:{__html:r}})),a.a.createElement("div",{dangerouslySetInnerHTML:{__html:l}}))},N=r(53);function x(){x=function(){return e};var e={},t=Object.prototype,r=t.hasOwnProperty,n="function"==typeof Symbol?Symbol:{},a=n.iterator||"@@iterator",i=n.asyncIterator||"@@asyncIterator",o=n.toStringTag||"@@toStringTag";function s(e,t,r){return Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}),e[t]}try{s({},"")}catch(O){s=function(e,t,r){return e[t]=r}}function l(e,t,r,n){var a=t&&t.prototype instanceof d?t:d,i=Object.create(a.prototype),o=new k(n||[]);return i._invoke=function(e,t,r){var n="suspendedStart";return function(a,i){if("executing"===n)throw new Error("Generator is already running");if("completed"===n){if("throw"===a)throw i;return L()}for(r.method=a,r.arg=i;;){var o=r.delegate;if(o){var s=w(o,r);if(s){if(s===u)continue;return s}}if("next"===r.method)r.sent=r._sent=r.arg;else if("throw"===r.method){if("suspendedStart"===n)throw n="completed",r.arg;r.dispatchException(r.arg)}else"return"===r.method&&r.abrupt("return",r.arg);n="executing";var l=c(e,t,r);if("normal"===l.type){if(n=r.done?"completed":"suspendedYield",l.arg===u)continue;return{value:l.arg,done:r.done}}"throw"===l.type&&(n="completed",r.method="throw",r.arg=l.arg)}}}(e,r,o),i}function c(e,t,r){try{return{type:"normal",arg:e.call(t,r)}}catch(O){return{type:"throw",arg:O}}}e.wrap=l;var u={};function d(){}function m(){}function h(){}var f={};s(f,a,(function(){return this}));var v=Object.getPrototypeOf,p=v&&v(v(N([])));p&&p!==t&&r.call(p,a)&&(f=p);var g=h.prototype=d.prototype=Object.create(f);function y(e){["next","throw","return"].forEach((function(t){s(e,t,(function(e){return this._invoke(t,e)}))}))}function b(e,t){var n;this._invoke=function(a,i){function o(){return new t((function(n,o){!function n(a,i,o,s){var l=c(e[a],e,i);if("throw"!==l.type){var u=l.arg,d=u.value;return d&&"object"==typeof d&&r.call(d,"__await")?t.resolve(d.__await).then((function(e){n("next",e,o,s)}),(function(e){n("throw",e,o,s)})):t.resolve(d).then((function(e){u.value=e,o(u)}),(function(e){return n("throw",e,o,s)}))}s(l.arg)}(a,i,n,o)}))}return n=n?n.then(o,o):o()}}function w(e,t){var r=e.iterator[t.method];if(void 0===r){if(t.delegate=null,"throw"===t.method){if(e.iterator.return&&(t.method="return",t.arg=void 0,w(e,t),"throw"===t.method))return u;t.method="throw",t.arg=new TypeError("The iterator does not provide a 'throw' method")}return u}var n=c(r,e.iterator,t.arg);if("throw"===n.type)return t.method="throw",t.arg=n.arg,t.delegate=null,u;var a=n.arg;return a?a.done?(t[e.resultName]=a.value,t.next=e.nextLoc,"return"!==t.method&&(t.method="next",t.arg=void 0),t.delegate=null,u):a:(t.method="throw",t.arg=new TypeError("iterator result is not an object"),t.delegate=null,u)}function E(e){var t={tryLoc:e[0]};1 in e&&(t.catchLoc=e[1]),2 in e&&(t.finallyLoc=e[2],t.afterLoc=e[3]),this.tryEntries.push(t)}function _(e){var t=e.completion||{};t.type="normal",delete t.arg,e.completion=t}function k(e){this.tryEntries=[{tryLoc:"root"}],e.forEach(E,this),this.reset(!0)}function N(e){if(e){var t=e[a];if(t)return t.call(e);if("function"==typeof e.next)return e;if(!isNaN(e.length)){var n=-1,i=function t(){for(;++n<e.length;)if(r.call(e,n))return t.value=e[n],t.done=!1,t;return t.value=void 0,t.done=!0,t};return i.next=i}}return{next:L}}function L(){return{value:void 0,done:!0}}return m.prototype=h,s(g,"constructor",h),s(h,"constructor",m),m.displayName=s(h,o,"GeneratorFunction"),e.isGeneratorFunction=function(e){var t="function"==typeof e&&e.constructor;return!!t&&(t===m||"GeneratorFunction"===(t.displayName||t.name))},e.mark=function(e){return Object.setPrototypeOf?Object.setPrototypeOf(e,h):(e.__proto__=h,s(e,o,"GeneratorFunction")),e.prototype=Object.create(g),e},e.awrap=function(e){return{__await:e}},y(b.prototype),s(b.prototype,i,(function(){return this})),e.AsyncIterator=b,e.async=function(t,r,n,a,i){void 0===i&&(i=Promise);var o=new b(l(t,r,n,a),i);return e.isGeneratorFunction(r)?o:o.next().then((function(e){return e.done?e.value:o.next()}))},y(g),s(g,o,"Generator"),s(g,a,(function(){return this})),s(g,"toString",(function(){return"[object Generator]"})),e.keys=function(e){var t=[];for(var r in e)t.push(r);return t.reverse(),function r(){for(;t.length;){var n=t.pop();if(n in e)return r.value=n,r.done=!1,r}return r.done=!0,r}},e.values=N,k.prototype={constructor:k,reset:function(e){if(this.prev=0,this.next=0,this.sent=this._sent=void 0,this.done=!1,this.delegate=null,this.method="next",this.arg=void 0,this.tryEntries.forEach(_),!e)for(var t in this)"t"===t.charAt(0)&&r.call(this,t)&&!isNaN(+t.slice(1))&&(this[t]=void 0)},stop:function(){this.done=!0;var e=this.tryEntries[0].completion;if("throw"===e.type)throw e.arg;return this.rval},dispatchException:function(e){if(this.done)throw e;var t=this;function n(r,n){return o.type="throw",o.arg=e,t.next=r,n&&(t.method="next",t.arg=void 0),!!n}for(var a=this.tryEntries.length-1;a>=0;--a){var i=this.tryEntries[a],o=i.completion;if("root"===i.tryLoc)return n("end");if(i.tryLoc<=this.prev){var s=r.call(i,"catchLoc"),l=r.call(i,"finallyLoc");if(s&&l){if(this.prev<i.catchLoc)return n(i.catchLoc,!0);if(this.prev<i.finallyLoc)return n(i.finallyLoc)}else if(s){if(this.prev<i.catchLoc)return n(i.catchLoc,!0)}else{if(!l)throw new Error("try statement without catch or finally");if(this.prev<i.finallyLoc)return n(i.finallyLoc)}}}},abrupt:function(e,t){for(var n=this.tryEntries.length-1;n>=0;--n){var a=this.tryEntries[n];if(a.tryLoc<=this.prev&&r.call(a,"finallyLoc")&&this.prev<a.finallyLoc){var i=a;break}}i&&("break"===e||"continue"===e)&&i.tryLoc<=t&&t<=i.finallyLoc&&(i=null);var o=i?i.completion:{};return o.type=e,o.arg=t,i?(this.method="next",this.next=i.finallyLoc,u):this.complete(o)},complete:function(e,t){if("throw"===e.type)throw e.arg;return"break"===e.type||"continue"===e.type?this.next=e.arg:"return"===e.type?(this.rval=this.arg=e.arg,this.method="return",this.next="end"):"normal"===e.type&&t&&(this.next=t),u},finish:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var r=this.tryEntries[t];if(r.finallyLoc===e)return this.complete(r.completion,r.afterLoc),_(r),u}},catch:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var r=this.tryEntries[t];if(r.tryLoc===e){var n=r.completion;if("throw"===n.type){var a=n.arg;_(r)}return a}}throw new Error("illegal catch attempt")},delegateYield:function(e,t,r){return this.delegate={iterator:N(e),resultName:t,nextLoc:r},"next"===this.method&&(this.arg=void 0),u}},e}var L=function(){var e={display:"inline",marginRight:"10px"},t=Object(n.useState)(null),r=Object(c.a)(t,2),i=r[0],o=r[1];return Object(n.useEffect)((function(){if(null===i&&function(){var e=Object(l.a)(x().mark((function e(){return x().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,b.a.get("".concat(p,"/training/usercontent/api/v1/user/status?_format=json")).then((function(e){o(e.data),console.log("UserMenu.tsx 28")}));case 2:case"end":return e.stop()}}),e)})));return function(){return e.apply(this,arguments)}}()(),null!==i&&!0===(null===i||void 0===i?void 0:i.logged_in)){var e,t=document.querySelectorAll("[data-vf-js-dropdown]"),r=Object(N.a)(t);try{var n=function(){var t=e.value;t.addEventListener("click",(function(){t.classList.toggle("vf-dropdown--open")}))};for(r.s();!(e=r.n()).done;)n()}catch(a){r.e(a)}finally{r.f()}}}),[i]),a.a.createElement("div",null,null===i||!1===(null===i||void 0===i?void 0:i.logged_in)?a.a.createElement("nav",null,a.a.createElement("ul",{style:{marginTop:"1rem"},className:"vf-list vf-list--inline"},a.a.createElement("li",{style:e},a.a.createElement(u.b,{className:"vf-link",to:"/user/login"},"Login")),a.a.createElement("li",{style:e},a.a.createElement(u.b,{className:"vf-link",to:"/user/register"},"Register")))):a.a.createElement("nav",{id:"user_account"},a.a.createElement("div",{className:"vf-dropdown","data-vf-js-dropdown":!0,style:{width:"14rem"}},a.a.createElement("div",{className:"vf-dropdown__label-container"},a.a.createElement("div",{id:"user_account_name",className:"vf-dropdown__label",style:{textAlign:"left"}},i&&null!==(null===i||void 0===i?void 0:i.first_name)?null===i||void 0===i?void 0:i.first_name:"My account"),a.a.createElement("div",null,a.a.createElement("svg",{"aria-hidden":"true",className:"arrow-icon",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 16 16",height:"16",width:"16"},a.a.createElement("g",{transform:"matrix(0.6666666666666666,0,0,0.6666666666666666,0,0)"},a.a.createElement("path",{d:"M12,19.5a2.34,2.34,0,0,1-1.73-.78L.46,7.57A1.85,1.85,0,1,1,3.23,5.13l8.58,9.75a.25.25,0,0,0,.38,0l8.58-9.75a1.85,1.85,0,1,1,2.77,2.44L13.73,18.72A2.34,2.34,0,0,1,12,19.5Z",style:{fill:"#000000"}}))))),a.a.createElement("div",{className:"vf-dropdown__menu-container"},a.a.createElement("div",{className:"vf-dropdown-overlay"}),a.a.createElement("div",{className:"vf-dropdown__menu"},a.a.createElement("div",{className:"vf-dropdown__menu-item"},a.a.createElement("a",{className:"vf-dropdown__menu-item-link",href:"/training/user"},"My learning")),a.a.createElement("div",{className:"vf-dropdown__menu-item"},a.a.createElement("a",{className:"vf-dropdown__menu-item-link",href:"/training/playlists"},"My playlists")),a.a.createElement("div",{className:"vf-dropdown__menu-item"},a.a.createElement("a",{className:"vf-dropdown__menu-item-link",href:"/training/user/account"},"My account")),a.a.createElement("div",{className:"vf-dropdown__menu-item"},a.a.createElement("a",{className:"vf-dropdown__menu-item-link",href:"mailto:trainonline@ebi.ac.uk"},"Contact us")),a.a.createElement("div",{className:"vf-dropdown__menu-item"},a.a.createElement("a",{className:"vf-dropdown__menu-item-link",href:"/training/user/logout"},"Logout")))))))};function O(){O=function(){return e};var e={},t=Object.prototype,r=t.hasOwnProperty,n="function"==typeof Symbol?Symbol:{},a=n.iterator||"@@iterator",i=n.asyncIterator||"@@asyncIterator",o=n.toStringTag||"@@toStringTag";function s(e,t,r){return Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}),e[t]}try{s({},"")}catch(L){s=function(e,t,r){return e[t]=r}}function l(e,t,r,n){var a=t&&t.prototype instanceof d?t:d,i=Object.create(a.prototype),o=new k(n||[]);return i._invoke=function(e,t,r){var n="suspendedStart";return function(a,i){if("executing"===n)throw new Error("Generator is already running");if("completed"===n){if("throw"===a)throw i;return x()}for(r.method=a,r.arg=i;;){var o=r.delegate;if(o){var s=w(o,r);if(s){if(s===u)continue;return s}}if("next"===r.method)r.sent=r._sent=r.arg;else if("throw"===r.method){if("suspendedStart"===n)throw n="completed",r.arg;r.dispatchException(r.arg)}else"return"===r.method&&r.abrupt("return",r.arg);n="executing";var l=c(e,t,r);if("normal"===l.type){if(n=r.done?"completed":"suspendedYield",l.arg===u)continue;return{value:l.arg,done:r.done}}"throw"===l.type&&(n="completed",r.method="throw",r.arg=l.arg)}}}(e,r,o),i}function c(e,t,r){try{return{type:"normal",arg:e.call(t,r)}}catch(L){return{type:"throw",arg:L}}}e.wrap=l;var u={};function d(){}function m(){}function h(){}var f={};s(f,a,(function(){return this}));var v=Object.getPrototypeOf,p=v&&v(v(N([])));p&&p!==t&&r.call(p,a)&&(f=p);var g=h.prototype=d.prototype=Object.create(f);function y(e){["next","throw","return"].forEach((function(t){s(e,t,(function(e){return this._invoke(t,e)}))}))}function b(e,t){var n;this._invoke=function(a,i){function o(){return new t((function(n,o){!function n(a,i,o,s){var l=c(e[a],e,i);if("throw"!==l.type){var u=l.arg,d=u.value;return d&&"object"==typeof d&&r.call(d,"__await")?t.resolve(d.__await).then((function(e){n("next",e,o,s)}),(function(e){n("throw",e,o,s)})):t.resolve(d).then((function(e){u.value=e,o(u)}),(function(e){return n("throw",e,o,s)}))}s(l.arg)}(a,i,n,o)}))}return n=n?n.then(o,o):o()}}function w(e,t){var r=e.iterator[t.method];if(void 0===r){if(t.delegate=null,"throw"===t.method){if(e.iterator.return&&(t.method="return",t.arg=void 0,w(e,t),"throw"===t.method))return u;t.method="throw",t.arg=new TypeError("The iterator does not provide a 'throw' method")}return u}var n=c(r,e.iterator,t.arg);if("throw"===n.type)return t.method="throw",t.arg=n.arg,t.delegate=null,u;var a=n.arg;return a?a.done?(t[e.resultName]=a.value,t.next=e.nextLoc,"return"!==t.method&&(t.method="next",t.arg=void 0),t.delegate=null,u):a:(t.method="throw",t.arg=new TypeError("iterator result is not an object"),t.delegate=null,u)}function E(e){var t={tryLoc:e[0]};1 in e&&(t.catchLoc=e[1]),2 in e&&(t.finallyLoc=e[2],t.afterLoc=e[3]),this.tryEntries.push(t)}function _(e){var t=e.completion||{};t.type="normal",delete t.arg,e.completion=t}function k(e){this.tryEntries=[{tryLoc:"root"}],e.forEach(E,this),this.reset(!0)}function N(e){if(e){var t=e[a];if(t)return t.call(e);if("function"==typeof e.next)return e;if(!isNaN(e.length)){var n=-1,i=function t(){for(;++n<e.length;)if(r.call(e,n))return t.value=e[n],t.done=!1,t;return t.value=void 0,t.done=!0,t};return i.next=i}}return{next:x}}function x(){return{value:void 0,done:!0}}return m.prototype=h,s(g,"constructor",h),s(h,"constructor",m),m.displayName=s(h,o,"GeneratorFunction"),e.isGeneratorFunction=function(e){var t="function"==typeof e&&e.constructor;return!!t&&(t===m||"GeneratorFunction"===(t.displayName||t.name))},e.mark=function(e){return Object.setPrototypeOf?Object.setPrototypeOf(e,h):(e.__proto__=h,s(e,o,"GeneratorFunction")),e.prototype=Object.create(g),e},e.awrap=function(e){return{__await:e}},y(b.prototype),s(b.prototype,i,(function(){return this})),e.AsyncIterator=b,e.async=function(t,r,n,a,i){void 0===i&&(i=Promise);var o=new b(l(t,r,n,a),i);return e.isGeneratorFunction(r)?o:o.next().then((function(e){return e.done?e.value:o.next()}))},y(g),s(g,o,"Generator"),s(g,a,(function(){return this})),s(g,"toString",(function(){return"[object Generator]"})),e.keys=function(e){var t=[];for(var r in e)t.push(r);return t.reverse(),function r(){for(;t.length;){var n=t.pop();if(n in e)return r.value=n,r.done=!1,r}return r.done=!0,r}},e.values=N,k.prototype={constructor:k,reset:function(e){if(this.prev=0,this.next=0,this.sent=this._sent=void 0,this.done=!1,this.delegate=null,this.method="next",this.arg=void 0,this.tryEntries.forEach(_),!e)for(var t in this)"t"===t.charAt(0)&&r.call(this,t)&&!isNaN(+t.slice(1))&&(this[t]=void 0)},stop:function(){this.done=!0;var e=this.tryEntries[0].completion;if("throw"===e.type)throw e.arg;return this.rval},dispatchException:function(e){if(this.done)throw e;var t=this;function n(r,n){return o.type="throw",o.arg=e,t.next=r,n&&(t.method="next",t.arg=void 0),!!n}for(var a=this.tryEntries.length-1;a>=0;--a){var i=this.tryEntries[a],o=i.completion;if("root"===i.tryLoc)return n("end");if(i.tryLoc<=this.prev){var s=r.call(i,"catchLoc"),l=r.call(i,"finallyLoc");if(s&&l){if(this.prev<i.catchLoc)return n(i.catchLoc,!0);if(this.prev<i.finallyLoc)return n(i.finallyLoc)}else if(s){if(this.prev<i.catchLoc)return n(i.catchLoc,!0)}else{if(!l)throw new Error("try statement without catch or finally");if(this.prev<i.finallyLoc)return n(i.finallyLoc)}}}},abrupt:function(e,t){for(var n=this.tryEntries.length-1;n>=0;--n){var a=this.tryEntries[n];if(a.tryLoc<=this.prev&&r.call(a,"finallyLoc")&&this.prev<a.finallyLoc){var i=a;break}}i&&("break"===e||"continue"===e)&&i.tryLoc<=t&&t<=i.finallyLoc&&(i=null);var o=i?i.completion:{};return o.type=e,o.arg=t,i?(this.method="next",this.next=i.finallyLoc,u):this.complete(o)},complete:function(e,t){if("throw"===e.type)throw e.arg;return"break"===e.type||"continue"===e.type?this.next=e.arg:"return"===e.type?(this.rval=this.arg=e.arg,this.method="return",this.next="end"):"normal"===e.type&&t&&(this.next=t),u},finish:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var r=this.tryEntries[t];if(r.finallyLoc===e)return this.complete(r.completion,r.afterLoc),_(r),u}},catch:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var r=this.tryEntries[t];if(r.tryLoc===e){var n=r.completion;if("throw"===n.type){var a=n.arg;_(r)}return a}}throw new Error("illegal catch attempt")},delegateYield:function(e,t,r){return this.delegate={iterator:N(e),resultName:t,nextLoc:r},"next"===this.method&&(this.arg=void 0),u}},e}var S=function(){var e=Object(s.g)(),t=Object(n.useState)(""),r=Object(c.a)(t,2),i=r[0],o=r[1],u=Object(n.useState)(),d=Object(c.a)(u,2),m=d[0],f=d[1],v=Object(n.useState)(),y=Object(c.a)(v,2),w=y[0],_=y[1];Object(n.useEffect)((function(){try{(function(){var e=Object(l.a)(O().mark((function e(){var t,r,n,a;return O().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(!(void 0!==i&&i.length>=3)){e.next=12;break}return e.next=3,b.a.get("".concat(p,"/api/v1/ebi-training-autocomplete-keywords?source=trainingcontenthub&_format=json"));case 3:return t=e.sent,e.next=6,Promise.all([t]);case 6:r=e.sent,n=Object(c.a)(r,1),a=n[0],f(a),e.next=13;break;case 12:f(void 0);case 13:case"end":return e.stop()}}),e)})));return function(){return e.apply(this,arguments)}})()()}catch(e){alert(e)}}),[i]);var N=function(){var t=Object(l.a)(O().mark((function t(r){return O().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:r.preventDefault(),void 0!==i&&i.length>=3?(_(i.trim()),e.push("/search-results?query=".concat(i.trim(),"&domain=ebiweb_training"))):alert("Please enter your search term to proceed");case 2:case"end":return t.stop()}}),t)})));return function(e){return t.apply(this,arguments)}}();return a.a.createElement(a.a.Fragment,null,a.a.createElement("div",{className:"vf-grid vf-grid__col-4"},a.a.createElement("div",{className:"vf-grid__col--span-3"}),a.a.createElement("div",null,a.a.createElement(L,null))),a.a.createElement(h,{title:"EMBL-EBI Training",subtitle:"Delivering world-class training in data-driven life sciences.",isHome:"1"}),a.a.createElement("section",{id:"eventsSearch",className:"embl-grid embl-grid--has-centered-content vf-u-padding__top--800 vf-u-margin__bottom--800"},a.a.createElement("div",null),a.a.createElement("div",null,a.a.createElement(g,{handleQuerySubmit:N,handleSearch:function(e){o(e.toLowerCase())},search:i,query:w,options:null===m||void 0===m?void 0:m.data,optionClick:function(t){o(t),e.push("/search-results?query=".concat(t,"&domain=ebiweb_training"))}})),a.a.createElement("div",null)),a.a.createElement(E,null),a.a.createElement(k,null),a.a.createElement("div",{className:"vf-u-margin__top--1200"}),a.a.createElement("div",{className:"vf-u-margin__top--1200"}))},j=r(15),T=r(313),C=r(312),B=r.n(C),M=function(e){var t=e.activePage,r=e.totalItemsCount,n=e.handlePageChange;return a.a.createElement(a.a.Fragment,null,a.a.createElement("div",{className:"vf-divider"}),a.a.createElement("nav",{className:"vf-pagination","aria-label":"Pagination"},a.a.createElement(B.a,{activePage:t,itemsCountPerPage:10,totalItemsCount:r,pageRangeDisplayed:5,onChange:function(e){return n(e)},innerClass:"vf-pagination__list",itemClass:"vf-pagination__item",itemClassPrev:"vf-pagination__item--previous-page",itemClassNext:"vf-pagination__item--next-page",linkClass:"vf-pagination__link vf-pagination__label",activeClass:"vf-pagination__item--is-active",prevPageText:"Previous",nextPageText:"Next"})))},I=function(e){var t=e.click,r=(e.allData,e.data),n=e.facetsFromURL;e.clear;return a.a.createElement(a.a.Fragment,null,null===r||void 0===r?void 0:r.facets.map((function(e,r){return a.a.createElement("div",{key:r},e.facetValues.slice(10,200).map((function(r,i){return-1!==(null===n||void 0===n?void 0:n.indexOf(e.id+":"+r.label))?a.a.createElement("li",{key:i},a.a.createElement("div",{className:"vf-form__item vf-form__item--checkbox"},a.a.createElement("input",{type:"checkbox",id:r.value,name:r.value,onChange:function(e){return t(e)},className:"vf-form__checkbox","data-facetid":e.id,"data-facetlabel":r.label,checked:-1!==(null===n||void 0===n?void 0:n.indexOf(e.id+":"+r.label))}),a.a.createElement("label",{htmlFor:r.value,"data-id":r.value,className:"vf-form__label"}," ",r.label," (",r.count,")"," "))):null})))})))};var A=function(e){var t=e.click,r=(e.allData,e.data),n=e.facetsFromURL,i=e.clear,o=e.domainSource,s=e.isPast;return a.a.createElement(a.a.Fragment,null,a.a.createElement("ul",{className:"vf-list | ebi-academy-facetGroup"},null===r||void 0===r?void 0:r.facets.filter((function(e){return"domain_source"!==e.id&&"resource_training_page"!==e.id})).map((function(e,l){return a.a.createElement("div",{key:l},a.a.createElement("legend",{className:"vf-form__legend ebi-legend-custom | vf-text"},e.label),e.facetValues.slice(0,10).map((function(r,i){return a.a.createElement("li",{key:i,style:{marginBottom:"1rem"}},a.a.createElement("div",{className:"vf-form__item vf-form__item--checkbox"},a.a.createElement("input",{type:"checkbox",id:r.value+o,name:r.value,onChange:function(e){return t(e)},className:"vf-form__checkbox","data-facetid":e.id,"data-facetlabel":r.label,"data-domainsource":o,checked:-1!==(null===n||void 0===n?void 0:n.indexOf(e.id+":"+r.label))}),function(e,t){if("null"!==e.label)return a.a.createElement("label",{htmlFor:e.value+t,"data-id":e.value,className:"vf-form__label"}," ",e.label," (",e.count,")"," ")}(r,o)))})),!0===s&&"year"===e.id?a.a.createElement("div",null,a.a.createElement("a",{className:"vf-link",href:"/training/archived"},"Earlier courses"),a.a.createElement("div",{className:"vf-u-margin__top--400"})):"",e.facetValues.length>10?a.a.createElement(I,{click:t,clear:i,data:r,facetsFromURL:n}):"")}))))},P=function(e){var t=e.click,r=e.id,n=e.name,i=e.facetid,o=e.facetlabel,s=e.facetsFromURL,l=e.itemCount,c=e.disabled,u=e.domain;return a.a.createElement("li",{key:"key"},a.a.createElement("div",{className:"vf-form__item vf-form__item--checkbox"},a.a.createElement("input",{type:"checkbox",id:r,name:n,onChange:function(e){return t(e)},className:"vf-form__checkbox","data-facetid":i,"data-facetlabel":o,"data-domain":u,checked:-1!==(null===s||void 0===s?void 0:s.indexOf(i+":"+o)),disabled:c}),a.a.createElement("label",{htmlFor:o,"data-id":o,"data-domain":u,className:"vf-form__label"}," ",o," (",l,")"," ")))},F=function(e){var t=e.click,r=(e.allFacets,e.facetsFromURL),n=e.typeCount,i=e.durationCount,o=e.disabled;e.domain;return a.a.createElement(a.a.Fragment,null,a.a.createElement("ul",{className:"vf-list | ebi-academy-facetGroup"},a.a.createElement("legend",{className:"vf-form__legend ebi-legend-custom | vf-text"},"Type"),a.a.createElement(P,{click:t,id:"Webinar_ondemand",name:"Webinar_ondemand",facetid:"type",facetlabel:"Webinar",facetsFromURL:r,itemCount:n[0]?n[0]:0,disabled:o,domain:"ebiweb_training_online"}),a.a.createElement(P,{click:t,id:"Online tutorial",name:"Online tutorial",facetid:"type",facetlabel:"Online tutorial",facetsFromURL:r,itemCount:n[1]?n[1]:0,disabled:o,domain:"ebiweb_training_online"}),a.a.createElement("legend",{className:"vf-form__legend ebi-legend-custom | vf-text"},"Duration"),a.a.createElement(P,{click:t,id:"Less than 1 hour",name:"Less than 1 hour",facetid:"duration",facetlabel:"Less than 1 hour",facetsFromURL:r,itemCount:i[0]?i[0]:0,disabled:o,domain:"ebiweb_training_online"}),a.a.createElement(P,{click:t,id:"1 to 3 hours",name:"1 to 3 hours",facetid:"duration",facetlabel:"1 to 3 hours",facetsFromURL:r,itemCount:i[1]?i[1]:0,disabled:o,domain:"ebiweb_training_online"}),a.a.createElement(P,{click:t,id:"More than 3 hours",name:"More than 3 hours",facetid:"duration",facetlabel:"More than 3 hours",facetsFromURL:r,itemCount:i[2]?i[2]:0,disabled:o,domain:"ebiweb_training_online"})))},G=function(e){var t=e.click,r=(e.allFacets,e.facetsFromURL),n=e.typeCount,i=e.statusCount,o=e.year,s=e.locations,l=e.disabled;e.domain;return a.a.createElement(a.a.Fragment,null,a.a.createElement("ul",{className:"vf-list | ebi-academy-facetGroup"},a.a.createElement("legend",{className:"vf-form__legend ebi-legend-custom | vf-text"},"Type"),a.a.createElement(P,{click:t,id:"Webinar",name:"Webinar",facetid:"type",facetlabel:"Webinar",facetsFromURL:r,itemCount:n[0]?n[0]:0,disabled:l,domain:"ebiweb_training_events"}),a.a.createElement(P,{click:t,id:"Virtual course",name:"Virtual course",facetid:"type",facetlabel:"Virtual course",facetsFromURL:r,itemCount:n[1]?n[1]:0,disabled:l,domain:"ebiweb_training_events"}),a.a.createElement(P,{click:t,id:"Course at EMBL-EBI",name:"Course at EMBL-EBI",facetid:"type",facetlabel:"Course at EMBL-EBI",facetsFromURL:r,itemCount:n[2]?n[2]:0,disabled:l,domain:"ebiweb_training_events"}),a.a.createElement(P,{click:t,id:"Course outside EMBL-EBI",name:"Course outside EMBL-EBI",facetid:"type",facetlabel:"Course outside EMBL-EBI",facetsFromURL:r,itemCount:n[3]?n[3]:0,disabled:l,domain:"ebiweb_training_events"}),a.a.createElement("legend",{className:"vf-form__legend ebi-legend-custom | vf-text"},"Status"),a.a.createElement(P,{click:t,id:"Open",name:"Open",facetid:"status",facetlabel:"Open",facetsFromURL:r,itemCount:i[0]?i[0]:0,disabled:l,domain:"ebiweb_training_events"}),a.a.createElement(P,{click:t,id:"Closed",name:"Closed",facetid:"status",facetlabel:"Closed",facetsFromURL:r,itemCount:i[1]?i[1]:0,disabled:l,domain:"ebiweb_training_events"}),a.a.createElement("legend",{className:"vf-form__legend ebi-legend-custom | vf-text"},"Year"),null===o||void 0===o?void 0:o.facetValues.map((function(e){return a.a.createElement(P,{click:t,id:e.label,name:e.label,facetid:"year",facetlabel:e.label,facetsFromURL:r,itemCount:e.count,disabled:l,domain:"ebiweb_training_events"})})),a.a.createElement("legend",{className:"vf-form__legend ebi-legend-custom | vf-text"},"Location"),null===s||void 0===s?void 0:s.facetValues.map((function(e){return a.a.createElement(P,{click:t,id:e.label,name:e.label,facetid:"location",facetlabel:e.label,facetsFromURL:r,itemCount:e.count,disabled:l,domain:"ebiweb_training_events"})}))))},W=r(25),q=r.n(W),D=r(10),R=r(11),J=r(13),U=r(12);function z(){z=function(){return e};var e={},t=Object.prototype,r=t.hasOwnProperty,n="function"==typeof Symbol?Symbol:{},a=n.iterator||"@@iterator",i=n.asyncIterator||"@@asyncIterator",o=n.toStringTag||"@@toStringTag";function s(e,t,r){return Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}),e[t]}try{s({},"")}catch(L){s=function(e,t,r){return e[t]=r}}function l(e,t,r,n){var a=t&&t.prototype instanceof d?t:d,i=Object.create(a.prototype),o=new k(n||[]);return i._invoke=function(e,t,r){var n="suspendedStart";return function(a,i){if("executing"===n)throw new Error("Generator is already running");if("completed"===n){if("throw"===a)throw i;return x()}for(r.method=a,r.arg=i;;){var o=r.delegate;if(o){var s=w(o,r);if(s){if(s===u)continue;return s}}if("next"===r.method)r.sent=r._sent=r.arg;else if("throw"===r.method){if("suspendedStart"===n)throw n="completed",r.arg;r.dispatchException(r.arg)}else"return"===r.method&&r.abrupt("return",r.arg);n="executing";var l=c(e,t,r);if("normal"===l.type){if(n=r.done?"completed":"suspendedYield",l.arg===u)continue;return{value:l.arg,done:r.done}}"throw"===l.type&&(n="completed",r.method="throw",r.arg=l.arg)}}}(e,r,o),i}function c(e,t,r){try{return{type:"normal",arg:e.call(t,r)}}catch(L){return{type:"throw",arg:L}}}e.wrap=l;var u={};function d(){}function m(){}function h(){}var f={};s(f,a,(function(){return this}));var v=Object.getPrototypeOf,p=v&&v(v(N([])));p&&p!==t&&r.call(p,a)&&(f=p);var g=h.prototype=d.prototype=Object.create(f);function y(e){["next","throw","return"].forEach((function(t){s(e,t,(function(e){return this._invoke(t,e)}))}))}function b(e,t){var n;this._invoke=function(a,i){function o(){return new t((function(n,o){!function n(a,i,o,s){var l=c(e[a],e,i);if("throw"!==l.type){var u=l.arg,d=u.value;return d&&"object"==typeof d&&r.call(d,"__await")?t.resolve(d.__await).then((function(e){n("next",e,o,s)}),(function(e){n("throw",e,o,s)})):t.resolve(d).then((function(e){u.value=e,o(u)}),(function(e){return n("throw",e,o,s)}))}s(l.arg)}(a,i,n,o)}))}return n=n?n.then(o,o):o()}}function w(e,t){var r=e.iterator[t.method];if(void 0===r){if(t.delegate=null,"throw"===t.method){if(e.iterator.return&&(t.method="return",t.arg=void 0,w(e,t),"throw"===t.method))return u;t.method="throw",t.arg=new TypeError("The iterator does not provide a 'throw' method")}return u}var n=c(r,e.iterator,t.arg);if("throw"===n.type)return t.method="throw",t.arg=n.arg,t.delegate=null,u;var a=n.arg;return a?a.done?(t[e.resultName]=a.value,t.next=e.nextLoc,"return"!==t.method&&(t.method="next",t.arg=void 0),t.delegate=null,u):a:(t.method="throw",t.arg=new TypeError("iterator result is not an object"),t.delegate=null,u)}function E(e){var t={tryLoc:e[0]};1 in e&&(t.catchLoc=e[1]),2 in e&&(t.finallyLoc=e[2],t.afterLoc=e[3]),this.tryEntries.push(t)}function _(e){var t=e.completion||{};t.type="normal",delete t.arg,e.completion=t}function k(e){this.tryEntries=[{tryLoc:"root"}],e.forEach(E,this),this.reset(!0)}function N(e){if(e){var t=e[a];if(t)return t.call(e);if("function"==typeof e.next)return e;if(!isNaN(e.length)){var n=-1,i=function t(){for(;++n<e.length;)if(r.call(e,n))return t.value=e[n],t.done=!1,t;return t.value=void 0,t.done=!0,t};return i.next=i}}return{next:x}}function x(){return{value:void 0,done:!0}}return m.prototype=h,s(g,"constructor",h),s(h,"constructor",m),m.displayName=s(h,o,"GeneratorFunction"),e.isGeneratorFunction=function(e){var t="function"==typeof e&&e.constructor;return!!t&&(t===m||"GeneratorFunction"===(t.displayName||t.name))},e.mark=function(e){return Object.setPrototypeOf?Object.setPrototypeOf(e,h):(e.__proto__=h,s(e,o,"GeneratorFunction")),e.prototype=Object.create(g),e},e.awrap=function(e){return{__await:e}},y(b.prototype),s(b.prototype,i,(function(){return this})),e.AsyncIterator=b,e.async=function(t,r,n,a,i){void 0===i&&(i=Promise);var o=new b(l(t,r,n,a),i);return e.isGeneratorFunction(r)?o:o.next().then((function(e){return e.done?e.value:o.next()}))},y(g),s(g,o,"Generator"),s(g,a,(function(){return this})),s(g,"toString",(function(){return"[object Generator]"})),e.keys=function(e){var t=[];for(var r in e)t.push(r);return t.reverse(),function r(){for(;t.length;){var n=t.pop();if(n in e)return r.value=n,r.done=!1,r}return r.done=!0,r}},e.values=N,k.prototype={constructor:k,reset:function(e){if(this.prev=0,this.next=0,this.sent=this._sent=void 0,this.done=!1,this.delegate=null,this.method="next",this.arg=void 0,this.tryEntries.forEach(_),!e)for(var t in this)"t"===t.charAt(0)&&r.call(this,t)&&!isNaN(+t.slice(1))&&(this[t]=void 0)},stop:function(){this.done=!0;var e=this.tryEntries[0].completion;if("throw"===e.type)throw e.arg;return this.rval},dispatchException:function(e){if(this.done)throw e;var t=this;function n(r,n){return o.type="throw",o.arg=e,t.next=r,n&&(t.method="next",t.arg=void 0),!!n}for(var a=this.tryEntries.length-1;a>=0;--a){var i=this.tryEntries[a],o=i.completion;if("root"===i.tryLoc)return n("end");if(i.tryLoc<=this.prev){var s=r.call(i,"catchLoc"),l=r.call(i,"finallyLoc");if(s&&l){if(this.prev<i.catchLoc)return n(i.catchLoc,!0);if(this.prev<i.finallyLoc)return n(i.finallyLoc)}else if(s){if(this.prev<i.catchLoc)return n(i.catchLoc,!0)}else{if(!l)throw new Error("try statement without catch or finally");if(this.prev<i.finallyLoc)return n(i.finallyLoc)}}}},abrupt:function(e,t){for(var n=this.tryEntries.length-1;n>=0;--n){var a=this.tryEntries[n];if(a.tryLoc<=this.prev&&r.call(a,"finallyLoc")&&this.prev<a.finallyLoc){var i=a;break}}i&&("break"===e||"continue"===e)&&i.tryLoc<=t&&t<=i.finallyLoc&&(i=null);var o=i?i.completion:{};return o.type=e,o.arg=t,i?(this.method="next",this.next=i.finallyLoc,u):this.complete(o)},complete:function(e,t){if("throw"===e.type)throw e.arg;return"break"===e.type||"continue"===e.type?this.next=e.arg:"return"===e.type?(this.rval=this.arg=e.arg,this.method="return",this.next="end"):"normal"===e.type&&t&&(this.next=t),u},finish:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var r=this.tryEntries[t];if(r.finallyLoc===e)return this.complete(r.completion,r.afterLoc),_(r),u}},catch:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var r=this.tryEntries[t];if(r.tryLoc===e){var n=r.completion;if("throw"===n.type){var a=n.arg;_(r)}return a}}throw new Error("illegal catch attempt")},delegateYield:function(e,t,r){return this.delegate={iterator:N(e),resultName:t,nextLoc:r},"next"===this.method&&(this.arg=void 0),u}},e}var H={isCurrentlyAuthenticated:function(){return Object(l.a)(z().mark((function e(){var t;return z().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return t="",e.next=3,b.a.get("".concat(p,"/training/usercontent/api/v1/user/status?_format=json")).then((function(e){t=e.data,console.log(e.data.logged_in)}));case 3:return console.log(t),e.abrupt("return",t.logged_in);case 5:case"end":return e.stop()}}),e)})))()},requireLogin:function(){this.currentUser().then((function(){return!0})).catch((function(){window.location.replace("/training/login")}))},currentUser:function(){return new Promise(function(){var e=Object(l.a)(z().mark((function e(t,r){var n;return z().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return n="",e.next=3,b.a.get("".concat(p,"/training/usercontent/session/token")).then((function(e){n=e.data}));case 3:return e.next=5,b.a.get("".concat(p,"/training/usercontent/users/?_format=json×tamp=").concat(Date.now()),{withCredentials:!0,headers:{Accept:"application/hal+json","Content-Type":"application/hal+json","X-CSRF-Token":n,Authorization:"Basic"}}).then((function(e){console.log(e),t(e)})).catch((function(e){401===e.response.status&&console.log("Account fetch error"),r(e)}));case 5:case"end":return e.stop()}}),e)})));return function(t,r){return e.apply(this,arguments)}}())},logout:function(){return new Promise(function(){var e=Object(l.a)(z().mark((function e(t,r){var n,a;return z().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return n="",a="",e.next=4,b.a.get("".concat(p,"/training/usercontent/api/v1/user/status?_format=json")).then((function(e){a=e.data.csrf_token,n=e.data.logout_token,console.log("Auth.js 67")}));case 4:return e.next=6,b.a.get("".concat(p,"/training/usercontent/user/logout?_format=json&token=").concat(n),{withCredentials:!0,headers:{"X-CSRF-Token":a}}).then((function(e){console.log("Auth Logout"),t(e)})).catch((function(e){var t,n;401!==(null===(t=e.response)||void 0===t?void 0:t.status)&&403!==(null===(n=e.response)||void 0===n?void 0:n.status)||console.log("Auth Logout"),r(e)}));case 6:case"end":return e.stop()}}),e)})));return function(t,r){return e.apply(this,arguments)}}())},preventEbiUser:function(){return Object(l.a)(z().mark((function e(){var t;return z().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return t="",e.next=3,b.a.get("".concat(p,"/training/usercontent/api/v1/user/status?_format=json")).then((function(e){t=e.data.user,console.log("Auth.js 99")}));case 3:t.includes("ebi.ac.uk")&&window.history.back();case 4:case"end":return e.stop()}}),e)})))()},getCsrfToken:function(){return Object(l.a)(z().mark((function e(){var t;return z().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return t="",e.next=3,b.a.get("".concat(p,"/training/usercontent/session/token")).then((function(e){t=e.data,console.log("Auth.js 111")}));case 3:return e.abrupt("return",t);case 4:case"end":return e.stop()}}),e)})))()},getUserID:function(){return Object(l.a)(z().mark((function e(){var t;return z().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return t="",e.next=3,b.a.get("".concat(p,"/training/usercontent/api/v1/user/status?_format=json")).then((function(e){t=e.data.userid,console.log("Auth.js 121")}));case 3:return e.abrupt("return",t||"");case 4:case"end":return e.stop()}}),e)})))()}};function V(){V=function(){return e};var e={},t=Object.prototype,r=t.hasOwnProperty,n="function"==typeof Symbol?Symbol:{},a=n.iterator||"@@iterator",i=n.asyncIterator||"@@asyncIterator",o=n.toStringTag||"@@toStringTag";function s(e,t,r){return Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}),e[t]}try{s({},"")}catch(L){s=function(e,t,r){return e[t]=r}}function l(e,t,r,n){var a=t&&t.prototype instanceof d?t:d,i=Object.create(a.prototype),o=new k(n||[]);return i._invoke=function(e,t,r){var n="suspendedStart";return function(a,i){if("executing"===n)throw new Error("Generator is already running");if("completed"===n){if("throw"===a)throw i;return x()}for(r.method=a,r.arg=i;;){var o=r.delegate;if(o){var s=w(o,r);if(s){if(s===u)continue;return s}}if("next"===r.method)r.sent=r._sent=r.arg;else if("throw"===r.method){if("suspendedStart"===n)throw n="completed",r.arg;r.dispatchException(r.arg)}else"return"===r.method&&r.abrupt("return",r.arg);n="executing";var l=c(e,t,r);if("normal"===l.type){if(n=r.done?"completed":"suspendedYield",l.arg===u)continue;return{value:l.arg,done:r.done}}"throw"===l.type&&(n="completed",r.method="throw",r.arg=l.arg)}}}(e,r,o),i}function c(e,t,r){try{return{type:"normal",arg:e.call(t,r)}}catch(L){return{type:"throw",arg:L}}}e.wrap=l;var u={};function d(){}function m(){}function h(){}var f={};s(f,a,(function(){return this}));var v=Object.getPrototypeOf,p=v&&v(v(N([])));p&&p!==t&&r.call(p,a)&&(f=p);var g=h.prototype=d.prototype=Object.create(f);function y(e){["next","throw","return"].forEach((function(t){s(e,t,(function(e){return this._invoke(t,e)}))}))}function b(e,t){var n;this._invoke=function(a,i){function o(){return new t((function(n,o){!function n(a,i,o,s){var l=c(e[a],e,i);if("throw"!==l.type){var u=l.arg,d=u.value;return d&&"object"==typeof d&&r.call(d,"__await")?t.resolve(d.__await).then((function(e){n("next",e,o,s)}),(function(e){n("throw",e,o,s)})):t.resolve(d).then((function(e){u.value=e,o(u)}),(function(e){return n("throw",e,o,s)}))}s(l.arg)}(a,i,n,o)}))}return n=n?n.then(o,o):o()}}function w(e,t){var r=e.iterator[t.method];if(void 0===r){if(t.delegate=null,"throw"===t.method){if(e.iterator.return&&(t.method="return",t.arg=void 0,w(e,t),"throw"===t.method))return u;t.method="throw",t.arg=new TypeError("The iterator does not provide a 'throw' method")}return u}var n=c(r,e.iterator,t.arg);if("throw"===n.type)return t.method="throw",t.arg=n.arg,t.delegate=null,u;var a=n.arg;return a?a.done?(t[e.resultName]=a.value,t.next=e.nextLoc,"return"!==t.method&&(t.method="next",t.arg=void 0),t.delegate=null,u):a:(t.method="throw",t.arg=new TypeError("iterator result is not an object"),t.delegate=null,u)}function E(e){var t={tryLoc:e[0]};1 in e&&(t.catchLoc=e[1]),2 in e&&(t.finallyLoc=e[2],t.afterLoc=e[3]),this.tryEntries.push(t)}function _(e){var t=e.completion||{};t.type="normal",delete t.arg,e.completion=t}function k(e){this.tryEntries=[{tryLoc:"root"}],e.forEach(E,this),this.reset(!0)}function N(e){if(e){var t=e[a];if(t)return t.call(e);if("function"==typeof e.next)return e;if(!isNaN(e.length)){var n=-1,i=function t(){for(;++n<e.length;)if(r.call(e,n))return t.value=e[n],t.done=!1,t;return t.value=void 0,t.done=!0,t};return i.next=i}}return{next:x}}function x(){return{value:void 0,done:!0}}return m.prototype=h,s(g,"constructor",h),s(h,"constructor",m),m.displayName=s(h,o,"GeneratorFunction"),e.isGeneratorFunction=function(e){var t="function"==typeof e&&e.constructor;return!!t&&(t===m||"GeneratorFunction"===(t.displayName||t.name))},e.mark=function(e){return Object.setPrototypeOf?Object.setPrototypeOf(e,h):(e.__proto__=h,s(e,o,"GeneratorFunction")),e.prototype=Object.create(g),e},e.awrap=function(e){return{__await:e}},y(b.prototype),s(b.prototype,i,(function(){return this})),e.AsyncIterator=b,e.async=function(t,r,n,a,i){void 0===i&&(i=Promise);var o=new b(l(t,r,n,a),i);return e.isGeneratorFunction(r)?o:o.next().then((function(e){return e.done?e.value:o.next()}))},y(g),s(g,o,"Generator"),s(g,a,(function(){return this})),s(g,"toString",(function(){return"[object Generator]"})),e.keys=function(e){var t=[];for(var r in e)t.push(r);return t.reverse(),function r(){for(;t.length;){var n=t.pop();if(n in e)return r.value=n,r.done=!1,r}return r.done=!0,r}},e.values=N,k.prototype={constructor:k,reset:function(e){if(this.prev=0,this.next=0,this.sent=this._sent=void 0,this.done=!1,this.delegate=null,this.method="next",this.arg=void 0,this.tryEntries.forEach(_),!e)for(var t in this)"t"===t.charAt(0)&&r.call(this,t)&&!isNaN(+t.slice(1))&&(this[t]=void 0)},stop:function(){this.done=!0;var e=this.tryEntries[0].completion;if("throw"===e.type)throw e.arg;return this.rval},dispatchException:function(e){if(this.done)throw e;var t=this;function n(r,n){return o.type="throw",o.arg=e,t.next=r,n&&(t.method="next",t.arg=void 0),!!n}for(var a=this.tryEntries.length-1;a>=0;--a){var i=this.tryEntries[a],o=i.completion;if("root"===i.tryLoc)return n("end");if(i.tryLoc<=this.prev){var s=r.call(i,"catchLoc"),l=r.call(i,"finallyLoc");if(s&&l){if(this.prev<i.catchLoc)return n(i.catchLoc,!0);if(this.prev<i.finallyLoc)return n(i.finallyLoc)}else if(s){if(this.prev<i.catchLoc)return n(i.catchLoc,!0)}else{if(!l)throw new Error("try statement without catch or finally");if(this.prev<i.finallyLoc)return n(i.finallyLoc)}}}},abrupt:function(e,t){for(var n=this.tryEntries.length-1;n>=0;--n){var a=this.tryEntries[n];if(a.tryLoc<=this.prev&&r.call(a,"finallyLoc")&&this.prev<a.finallyLoc){var i=a;break}}i&&("break"===e||"continue"===e)&&i.tryLoc<=t&&t<=i.finallyLoc&&(i=null);var o=i?i.completion:{};return o.type=e,o.arg=t,i?(this.method="next",this.next=i.finallyLoc,u):this.complete(o)},complete:function(e,t){if("throw"===e.type)throw e.arg;return"break"===e.type||"continue"===e.type?this.next=e.arg:"return"===e.type?(this.rval=this.arg=e.arg,this.method="return",this.next="end"):"normal"===e.type&&t&&(this.next=t),u},finish:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var r=this.tryEntries[t];if(r.finallyLoc===e)return this.complete(r.completion,r.afterLoc),_(r),u}},catch:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var r=this.tryEntries[t];if(r.tryLoc===e){var n=r.completion;if("throw"===n.type){var a=n.arg;_(r)}return a}}throw new Error("illegal catch attempt")},delegateYield:function(e,t,r){return this.delegate={iterator:N(e),resultName:t,nextLoc:r},"next"===this.method&&(this.arg=void 0),u}},e}var Y={api_call_config:{withCredentials:!0,headers:{Accept:"application/json","Content-Type":"application/json","X-CSRF-Token":function(){var e=Object(l.a)(V().mark((function e(){return V().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,H.getCsrfToken().then((function(e){return e}));case 2:case"end":return e.stop()}}),e)})));return function(){return e.apply(this,arguments)}}(),Authorization:"Basic"}},initial_number_of_playlists_in_backend:0,no_of_playlists_tracker:0,getPlaylistsFromLocalDb:function(){var e=this;return Object(l.a)(V().mark((function t(){return V().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if(!(e.no_of_playlists_tracker>e.initial_number_of_playlists_in_backend)){t.next=3;break}return t.next=3,e.refreshPlaylists(1);case 3:return t.abrupt("return",JSON.parse(localStorage.getItem("playlists")));case 4:case"end":return t.stop()}}),t)})))()},getSinglePlaylistFromLocalDb:function(e){return new Promise((function(t,r){t(JSON.parse(localStorage.getItem("playlists")).filter((function(t){return t.id===e}))[0])}))},updatePlaylistCoursesInLocalDb:function(e,t){return new Promise((function(r,n){var a=JSON.parse(localStorage.getItem("playlists")),i=a.findIndex((function(t){return t.id===e.id}));a[i].courses=t,localStorage.setItem("playlists",JSON.stringify(a)),r(e)}))},addCourseToPlaylist:function(e,t){var r=this,n=JSON.parse(JSON.stringify(e));return new Promise((function(e,a){var i=n.courses.length>0?n.courses[n.courses.length-1].position+1:1,o={id:t,position:i};n.courses.push(o);var s={playlist:n,updated_courses_list:n.courses,request_scope:2};r.updatePlaylist(s).then((function(){e(n.courses)})).catch((function(e){a(e)}))}))},removeCourseFromPlaylist:function(e,t){var r=this;return new Promise((function(n,a){var i=e.courses.findIndex((function(e){return e.id===t}));e.courses.splice(i,1);for(var o=0;o<e.courses.length;o++)e.courses[o].position=o+1;var s={playlist:e,updated_courses_list:e.courses,request_scope:2};r.updatePlaylist(s).then((function(){n(e.courses)})).catch((function(e){a(e)}))}))},updatePlaylist:function(e){return new Promise(function(){var t=Object(l.a)(V().mark((function t(r,n){var a;return V().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.next=2,H.getCsrfToken();case 2:return a=t.sent,t.next=5,b.a.patch("".concat(p,"/training/usercontent/api/playlists?_format=json×tamp=").concat(Date.now()),e,{withCredentials:!0,headers:{Accept:"application/json","Content-Type":"application/json","X-CSRF-Token":a,Authorization:"Basic"}}).then((function(e){r(e)})).catch((function(e){console.log(e),n(e)}));case 5:case"end":return t.stop()}}),t)})));return function(e,r){return t.apply(this,arguments)}}())},refreshPlaylists:function(e){var t=this;return Object(l.a)(V().mark((function r(){return V().wrap((function(r){for(;;)switch(r.prev=r.next){case 0:return r.abrupt("return",b.a.get("".concat(p,"/training/usercontent/api/playlists?_format=json×tamp=").concat(Date.now(),"&playlist_request_scope=").concat(e),t.api_call_config).then((function(e){var r=e.data.playlists?e.data.playlists:"No playlists";t.initial_number_of_playlists_in_backend=e.data.playlists.length,t.no_of_playlists_tracker=e.data.playlists.length,localStorage.setItem("playlists",JSON.stringify(r))})).catch((function(e){console.log("catch error",e)})));case 1:case"end":return r.stop()}}),r)})))()},playlistContainsSpecificCourse:function(e,t){return e.courses.some((function(e){return e.id===t}))},createNewPlaylist:function(e){var t=this;return new Promise(function(){var r=Object(l.a)(V().mark((function r(n,a){var i;return V().wrap((function(r){for(;;)switch(r.prev=r.next){case 0:return r.next=2,H.getCsrfToken();case 2:return i=r.sent,r.next=5,b.a.post("".concat(p,"/training/usercontent/api/playlists?_format=json"),e,{withCredentials:!0,headers:{Accept:"application/json","Content-Type":"application/json","X-CSRF-Token":i,Authorization:"Basic"}}).then((function(e){t.no_of_playlists_tracker++,n(e)})).catch((function(e){a(e)}));case 5:case"end":return r.stop()}}),r)})));return function(e,t){return r.apply(this,arguments)}}())}},K=r(55),Z=function(e){return a.a.createElement(a.a.Fragment,null,a.a.createElement("span",{className:"vf-u-sr-only"},"this field is required."),a.a.createElement("svg",{className:"vf-icon vf-icon--asterick",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24"},a.a.createElement("title",null,"asterick"),a.a.createElement("path",{d:"M23.555,8.729a1.505,1.505,0,0,0-1.406-.98H16.062a.5.5,0,0,1-.472-.334L13.405,1.222a1.5,1.5,0,0,0-2.81,0l-.005.016L8.41,7.415a.5.5,0,0,1-.471.334H1.85A1.5,1.5,0,0,0,.887,10.4l5.184,4.3a.5.5,0,0,1,.155.543L4.048,21.774a1.5,1.5,0,0,0,2.31,1.684l5.346-3.92a.5.5,0,0,1,.591,0l5.344,3.919a1.5,1.5,0,0,0,2.312-1.683l-2.178-6.535a.5.5,0,0,1,.155-.543l5.194-4.306A1.5,1.5,0,0,0,23.555,8.729Z"})))},X=function(e){return a.a.createElement(a.a.Fragment,null,function(){var t;return"text"===e.input_type||"password"===e.input_type||"email"===e.input_type?a.a.createElement("div",{className:"vf-form__item vf-form__item--inline vf-stack"},a.a.createElement("label",{htmlFor:e.input_name,className:"vf-form__label vf-form__label--required"},e.input_label,e.hide_astericks?"":a.a.createElement(Z,null)),"email"===e.input_type?"":e.children,a.a.createElement("input",{type:e.input_type,name:e.input_name,id:e.input_name,className:"vf-form__input",value:e.input_value,onChange:e.handleChange,readOnly:e.readonly,onBlur:e.validateInput}),a.a.createElement("p",{className:"vf-form__helper vf-form__helper--error"},"email"===e.input_type&&["embl.org","embl.de","embl-hamburg.de","embl.es","embl.fr","embl.it","ebi.ac.uk"].includes(null===(t=e.input_value)||void 0===t?void 0:t.split("@").pop())?e.children:e.input_errors)):"checkbox"===e.input_type?a.a.createElement("div",{className:"vf-form__item vf-form__item--checkbox"},a.a.createElement("input",{type:"checkbox",name:e.input_name,value:e.input_value,id:"checkbox_01",className:"vf-form__checkbox",onChange:e.handleChange}),a.a.createElement("label",{htmlFor:"checkbox_01",className:"vf-form__label vf-form__label--required"},e.input_legend," \xa0 ",e.children),a.a.createElement("p",{className:"vf-form__helper vf-form__helper--error"},e.input_errors)):"select"===e.input_type?a.a.createElement("div",{className:"vf-form__item vf-stack"},a.a.createElement("label",{className:"vf-form__label vf-form__label--required",htmlFor:"vf-form__select"},"Country of Residence",a.a.createElement(Z,null)),a.a.createElement("select",{name:e.input_name,className:"vf-form__select",id:"vf-form__select",value:e.input_value,onChange:e.handleChange},a.a.createElement("option",{value:""}),e.options_list.map((function(e,t){return a.a.createElement("option",{key:t},e)}))),a.a.createElement("p",{className:"vf-form__helper vf-form__helper--error"},e.input_errors)):"radio"===e.input_type?a.a.createElement("fieldset",{className:"vf-form__fieldset | vf-stack vf-stack--400"},a.a.createElement("legend",{className:"vf-form__legend"},e.input_label),a.a.createElement("div",{className:"vf-cluster vf-cluster--400"},a.a.createElement("div",{className:"vf-cluster__inner"},a.a.createElement("div",{className:"vf-form__item vf-form__item--radio"},a.a.createElement("input",{type:"radio",name:e.input_name,value:"Yes",checked:"Yes"===e.input_value,id:"radio_01",className:"vf-form__radio",onChange:e.handleChange}),a.a.createElement("label",{htmlFor:"radio_01",className:"vf-form__label"},"Yes")),a.a.createElement("div",{className:"vf-form__item vf-form__item--radio"},a.a.createElement("input",{type:"radio",name:e.input_name,value:"No",id:"radio_02",checked:"No"===e.input_value,className:"vf-form__radio",onChange:e.handleChange}),a.a.createElement("label",{htmlFor:"radio_02",className:"vf-form__label"},"No, thanks"))))):"textarea"===e.input_type?a.a.createElement("div",{className:"vf-form__item"},a.a.createElement("label",{htmlFor:e.input_name,className:"vf-form__label vf-form__label--required"}," ",e.input_label,e.hide_astericks?"":a.a.createElement(Z,null)),a.a.createElement("textarea",{className:"vf-form__textarea",id:e.input_name,name:e.input_name,rows:"5",value:e.input_value,onChange:e.handleChange,readOnly:e.readonly,onBlur:e.validateInput})):void 0}())},Q=r(83),$=r(84),ee=r.n($),te=r(48),re=function(e){var t=e.width,r=void 0===t?30:t,n=e.height,i=void 0===n?30:n;return a.a.createElement("div",null,a.a.createElement("img",{src:"progressbar.gif",alt:"progress",width:r,height:i}))},ne=function(e){Object(J.a)(r,e);var t=Object(U.a)(r);function r(e){var n;return Object(D.a)(this,r),(n=t.call(this,e)).toggleCreatePlaylistModal=function(e){n.setState({show_create_playlist_modal:e})},n.state={playlists:[],show_create_playlist_modal:!1,attempting_to_create_new_playlist:!1,new_playlist:{title:null,description:""},editor_state:te.EditorState.createEmpty(),errors:[]},n}return Object(R.a)(r,[{key:"updatePlaylistCourses",value:function(e,t){var r=this;Y.getSinglePlaylistFromLocalDb(t.id).then((function(n){var a=JSON.parse(JSON.stringify(n));Y.addCourseToPlaylist(a,r.props.course_id).then((function(n){e.target.checked?Y.removeCourseFromPlaylist(a,r.props.course_id).then((function(e){r.updateLocalDbAndRefreshState(t,e)})):Y.addCourseToPlaylist(a,r.props.course_id).then((function(e){r.updateLocalDbAndRefreshState(t,e)}))}))}))}},{key:"updateLocalDbAndRefreshState",value:function(e,t){var r=this;Y.updatePlaylistCoursesInLocalDb(e,t).then((function(){Y.getPlaylistsFromLocalDb().then((function(e){r.setState({playlists:e})}))}))}},{key:"handleChange",value:function(e){var t=this.state.new_playlist;t[e.target.name]=e.target.value,this.setState({fields:t})}},{key:"onEditorStateChange",value:function(e){this.setState({editor_state:e});var t=this.state.new_playlist;t.description=ee()(Object(te.convertToRaw)(e.getCurrentContent())),this.setState({current_playlist:t})}},{key:"createPlaylist",value:function(e){var t=this;e.preventDefault(),this.setState({attempting_to_create_new_playlist:!0}),Y.createNewPlaylist(this.state.new_playlist).then((function(){Y.refreshPlaylists(1).then((function(){Y.getPlaylistsFromLocalDb().then((function(){document.getElementById("details-element-"+t.props.course_id).open=!1,t.setState({attempting_to_create_new_playlist:!1}),t.toggleCreatePlaylistModal(!1)}))}))})).catch((function(e){t.setState({errors:e.response.data.errors}),t.setState({attempting_to_create_new_playlist:!1})}))}},{key:"render",value:function(){var e=this;return a.a.createElement(a.a.Fragment,null,a.a.createElement("details",{id:"details-element-"+this.props.course_id,className:"vf-details",onClick:function(t){Y.getPlaylistsFromLocalDb().then((function(t){e.setState({playlists:t})}))}},a.a.createElement("summary",{className:"vf-details--summary"},a.a.createElement("span",{id:"inline-add-to-playlist-btn"},"Add to playlist")),a.a.createElement("fieldset",{className:"vf-form__fieldset vf-stack vf-stack--400"},this.state.playlists.map((function(t){return a.a.createElement(a.a.Fragment,null,a.a.createElement("div",{className:"vf-grid"},a.a.createElement("div",{className:"vf-grid__col--span-3"},a.a.createElement("div",{className:"vf-form__item vf-form__item--checkbox"},a.a.createElement("input",{type:"checkbox",name:t.title,value:t.title,id:"".concat(e.props.course_id,"_playlist_").concat(t.id),className:"vf-form__checkbox",onChange:function(r){r.persist(),e.updatePlaylistCourses(r,t)},checked:Y.playlistContainsSpecificCourse(t,e.props.course_id)}),a.a.createElement("label",{htmlFor:"".concat(e.props.course_id,"_playlist_").concat(t.id),className:"vf-form__label"},t.title))),a.a.createElement("div",{className:"vf-grid__col-3",style:{paddingTop:"5px"}},a.a.createElement("a",{href:"/training/playlists/".concat(t.slug),className:"vf-link"},"View"))))}))),a.a.createElement("div",{className:"vf-u-margin__top--400"}),a.a.createElement("a",{className:"vf-link",href:"/#",onClick:function(t){t.preventDefault(),e.toggleCreatePlaylistModal(!0)}},"+ Create a new playlist")),a.a.createElement(K.a,{open:this.state.show_create_playlist_modal,onClose:function(){e.toggleCreatePlaylistModal(!1)}},a.a.createElement("div",{className:"vf-body"},a.a.createElement("div",{className:"vf-grid"},a.a.createElement("form",{className:"vf-stack vf-stack--400"},a.a.createElement(X,{input_label:"Title",input_name:"title",input_type:"text",input_value:this.state.new_playlist.title,input_errors:this.state.errors.title,handleChange:function(t){e.handleChange(t)}}),a.a.createElement("label",{htmlFor:"props.input_name",className:"vf-form__label vf-form__label--required"}," ","Description"),a.a.createElement(Q.Editor,{editorStyle:{height:"400px"},editorState:this.state.editor_state,toolbar:{options:["inline","list"],inline:{options:["bold","italic","underline"]},list:{options:["unordered","ordered"]}},toolbarClassName:"toolbarClassName",wrapperClassName:"wrapperClassName",editorClassName:"vf-form__textarea",onEditorStateChange:function(t){e.onEditorStateChange(t)}}),this.state.attempting_to_create_new_playlist?a.a.createElement(re,null):a.a.createElement("button",{className:"vf-button vf-button--primary",onClick:function(t){e.createPlaylist(t)}},"Create playlist"))))))}}]),r}(a.a.Component);function ae(){ae=function(){return e};var e={},t=Object.prototype,r=t.hasOwnProperty,n="function"==typeof Symbol?Symbol:{},a=n.iterator||"@@iterator",i=n.asyncIterator||"@@asyncIterator",o=n.toStringTag||"@@toStringTag";function s(e,t,r){return Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}),e[t]}try{s({},"")}catch(L){s=function(e,t,r){return e[t]=r}}function l(e,t,r,n){var a=t&&t.prototype instanceof d?t:d,i=Object.create(a.prototype),o=new k(n||[]);return i._invoke=function(e,t,r){var n="suspendedStart";return function(a,i){if("executing"===n)throw new Error("Generator is already running");if("completed"===n){if("throw"===a)throw i;return x()}for(r.method=a,r.arg=i;;){var o=r.delegate;if(o){var s=w(o,r);if(s){if(s===u)continue;return s}}if("next"===r.method)r.sent=r._sent=r.arg;else if("throw"===r.method){if("suspendedStart"===n)throw n="completed",r.arg;r.dispatchException(r.arg)}else"return"===r.method&&r.abrupt("return",r.arg);n="executing";var l=c(e,t,r);if("normal"===l.type){if(n=r.done?"completed":"suspendedYield",l.arg===u)continue;return{value:l.arg,done:r.done}}"throw"===l.type&&(n="completed",r.method="throw",r.arg=l.arg)}}}(e,r,o),i}function c(e,t,r){try{return{type:"normal",arg:e.call(t,r)}}catch(L){return{type:"throw",arg:L}}}e.wrap=l;var u={};function d(){}function m(){}function h(){}var f={};s(f,a,(function(){return this}));var v=Object.getPrototypeOf,p=v&&v(v(N([])));p&&p!==t&&r.call(p,a)&&(f=p);var g=h.prototype=d.prototype=Object.create(f);function y(e){["next","throw","return"].forEach((function(t){s(e,t,(function(e){return this._invoke(t,e)}))}))}function b(e,t){var n;this._invoke=function(a,i){function o(){return new t((function(n,o){!function n(a,i,o,s){var l=c(e[a],e,i);if("throw"!==l.type){var u=l.arg,d=u.value;return d&&"object"==typeof d&&r.call(d,"__await")?t.resolve(d.__await).then((function(e){n("next",e,o,s)}),(function(e){n("throw",e,o,s)})):t.resolve(d).then((function(e){u.value=e,o(u)}),(function(e){return n("throw",e,o,s)}))}s(l.arg)}(a,i,n,o)}))}return n=n?n.then(o,o):o()}}function w(e,t){var r=e.iterator[t.method];if(void 0===r){if(t.delegate=null,"throw"===t.method){if(e.iterator.return&&(t.method="return",t.arg=void 0,w(e,t),"throw"===t.method))return u;t.method="throw",t.arg=new TypeError("The iterator does not provide a 'throw' method")}return u}var n=c(r,e.iterator,t.arg);if("throw"===n.type)return t.method="throw",t.arg=n.arg,t.delegate=null,u;var a=n.arg;return a?a.done?(t[e.resultName]=a.value,t.next=e.nextLoc,"return"!==t.method&&(t.method="next",t.arg=void 0),t.delegate=null,u):a:(t.method="throw",t.arg=new TypeError("iterator result is not an object"),t.delegate=null,u)}function E(e){var t={tryLoc:e[0]};1 in e&&(t.catchLoc=e[1]),2 in e&&(t.finallyLoc=e[2],t.afterLoc=e[3]),this.tryEntries.push(t)}function _(e){var t=e.completion||{};t.type="normal",delete t.arg,e.completion=t}function k(e){this.tryEntries=[{tryLoc:"root"}],e.forEach(E,this),this.reset(!0)}function N(e){if(e){var t=e[a];if(t)return t.call(e);if("function"==typeof e.next)return e;if(!isNaN(e.length)){var n=-1,i=function t(){for(;++n<e.length;)if(r.call(e,n))return t.value=e[n],t.done=!1,t;return t.value=void 0,t.done=!0,t};return i.next=i}}return{next:x}}function x(){return{value:void 0,done:!0}}return m.prototype=h,s(g,"constructor",h),s(h,"constructor",m),m.displayName=s(h,o,"GeneratorFunction"),e.isGeneratorFunction=function(e){var t="function"==typeof e&&e.constructor;return!!t&&(t===m||"GeneratorFunction"===(t.displayName||t.name))},e.mark=function(e){return Object.setPrototypeOf?Object.setPrototypeOf(e,h):(e.__proto__=h,s(e,o,"GeneratorFunction")),e.prototype=Object.create(g),e},e.awrap=function(e){return{__await:e}},y(b.prototype),s(b.prototype,i,(function(){return this})),e.AsyncIterator=b,e.async=function(t,r,n,a,i){void 0===i&&(i=Promise);var o=new b(l(t,r,n,a),i);return e.isGeneratorFunction(r)?o:o.next().then((function(e){return e.done?e.value:o.next()}))},y(g),s(g,o,"Generator"),s(g,a,(function(){return this})),s(g,"toString",(function(){return"[object Generator]"})),e.keys=function(e){var t=[];for(var r in e)t.push(r);return t.reverse(),function r(){for(;t.length;){var n=t.pop();if(n in e)return r.value=n,r.done=!1,r}return r.done=!0,r}},e.values=N,k.prototype={constructor:k,reset:function(e){if(this.prev=0,this.next=0,this.sent=this._sent=void 0,this.done=!1,this.delegate=null,this.method="next",this.arg=void 0,this.tryEntries.forEach(_),!e)for(var t in this)"t"===t.charAt(0)&&r.call(this,t)&&!isNaN(+t.slice(1))&&(this[t]=void 0)},stop:function(){this.done=!0;var e=this.tryEntries[0].completion;if("throw"===e.type)throw e.arg;return this.rval},dispatchException:function(e){if(this.done)throw e;var t=this;function n(r,n){return o.type="throw",o.arg=e,t.next=r,n&&(t.method="next",t.arg=void 0),!!n}for(var a=this.tryEntries.length-1;a>=0;--a){var i=this.tryEntries[a],o=i.completion;if("root"===i.tryLoc)return n("end");if(i.tryLoc<=this.prev){var s=r.call(i,"catchLoc"),l=r.call(i,"finallyLoc");if(s&&l){if(this.prev<i.catchLoc)return n(i.catchLoc,!0);if(this.prev<i.finallyLoc)return n(i.finallyLoc)}else if(s){if(this.prev<i.catchLoc)return n(i.catchLoc,!0)}else{if(!l)throw new Error("try statement without catch or finally");if(this.prev<i.finallyLoc)return n(i.finallyLoc)}}}},abrupt:function(e,t){for(var n=this.tryEntries.length-1;n>=0;--n){var a=this.tryEntries[n];if(a.tryLoc<=this.prev&&r.call(a,"finallyLoc")&&this.prev<a.finallyLoc){var i=a;break}}i&&("break"===e||"continue"===e)&&i.tryLoc<=t&&t<=i.finallyLoc&&(i=null);var o=i?i.completion:{};return o.type=e,o.arg=t,i?(this.method="next",this.next=i.finallyLoc,u):this.complete(o)},complete:function(e,t){if("throw"===e.type)throw e.arg;return"break"===e.type||"continue"===e.type?this.next=e.arg:"return"===e.type?(this.rval=this.arg=e.arg,this.method="return",this.next="end"):"normal"===e.type&&t&&(this.next=t),u},finish:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var r=this.tryEntries[t];if(r.finallyLoc===e)return this.complete(r.completion,r.afterLoc),_(r),u}},catch:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var r=this.tryEntries[t];if(r.tryLoc===e){var n=r.completion;if("throw"===n.type){var a=n.arg;_(r)}return a}}throw new Error("illegal catch attempt")},delegateYield:function(e,t,r){return this.delegate={iterator:N(e),resultName:t,nextLoc:r},"next"===this.method&&(this.arg=void 0),u}},e}var ie=function(e){var t,r,i,o,s,u,d,m,h=e.id,f=e.type,v=e.slug,g=Object(n.useState)(),y=Object(c.a)(g,2),w=y[0],E=y[1],_=Object(n.useState)("vf-u-display-none"),k=Object(c.a)(_,2),N=k[0],x=k[1],L=Object(n.useState)(!1),O=Object(c.a)(L,2),S=O[0],j=O[1],T=Object(n.useCallback)(Object(l.a)(ae().mark((function e(){var t,r,n;return ae().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.prev=0,e.next=3,H.isCurrentlyAuthenticated();case 3:return t=e.sent,j(t),e.next=7,b.a.get("".concat(p,"/training/usercontent/api/v1/user/progress?_format=json"),{withCredentials:!0}).then((function(e){E(e.data.progress),console.log(e.data.progress)}));case 7:e.next=12;break;case 9:e.prev=9,e.t0=e.catch(0),401===(null===(r=e.t0.response)||void 0===r?void 0:r.status)||null===(n=e.t0.response)||void 0===n||n.status;case 12:case"end":return e.stop()}}),e,null,[[0,9]])}))),[]);Object(n.useEffect)((function(){w||T()}),[w,T]);var C=function(){var e=Object(l.a)(ae().mark((function e(t,r,n,a){var i,o,s,l;return ae().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return t.preventDefault(),x(""),o="",o="online_tutorial"===(i=f)||"collection"===i?a:r,s=n,e.next=8,H.getCsrfToken();case 8:return l=e.sent,e.next=11,b.a.post("".concat(p,"/training/usercontent/api/v1/user/progress?_format=json"),{course_id:o,course_title:"",course_url:"",course_type:i,action:s,scope:"favourite"},{withCredentials:!0,headers:{Accept:"application/hal+json","Content-Type":"application/hal+json","X-CSRF-Token":l,Authorization:"Basic"}}).then((function(e){T(),x("vf-u-display-none")}));case 11:case"end":return e.stop()}}),e)})));return function(t,r,n,a){return e.apply(this,arguments)}}();return a.a.createElement(a.a.Fragment,null,!0===S?a.a.createElement(a.a.Fragment,null,a.a.createElement("div",{className:"vf-u-margin__top--200"}),"online_tutorial"===f||"collection"===f?a.a.createElement("div",{style:{display:"flex"}},a.a.createElement(a.a.Fragment,null,"1"===(null===w||void 0===w||null===(t=w.filter((function(e){return e.cover_page_id===h}))[0])||void 0===t?void 0:t.course_favourite)?a.a.createElement(a.a.Fragment,null,a.a.createElement("button",{style:{WebkitAlignSelf:"baseline",marginTop:"0",fontWeight:"normal",paddingTop:"0",marginRight:"0",paddingRight:"0"},className:"vf-bookmark vf-bookmark--inline | vf-button vf-button--link vf-bookmark--active",onClick:function(e){return C(e,h,"unmark",v)}},a.a.createElement("span",{className:"vf-bookmark--icon vf-bookmark--icon-heart"},a.a.createElement("svg",{"aria-hidden":"true",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 140 140",height:"140",width:"140"},a.a.createElement("g",{transform:"matrix(10,0,0,10,0,0)"},a.a.createElement("path",{d:"M7,12.45l-5.52-5c-3-3,1.41-8.76,5.52-4.1,4.11-4.66,8.5,1.12,5.52,4.1Z"})))),"Marked as favourite")," ",a.a.createElement("img",{style:{width:"30px",height:"30px"},className:N,alt:"progress",src:"progressbar.gif"})):a.a.createElement(a.a.Fragment,null,a.a.createElement("button",{style:{WebkitAlignSelf:"baseline",marginTop:"0",fontWeight:"normal",paddingTop:"0",marginRight:"0",paddingRight:"0"},className:"vf-bookmark vf-bookmark--inline | vf-button vf-button--link",onClick:function(e){return C(e,h,"mark",v)}},a.a.createElement("span",{className:"vf-bookmark--icon vf-bookmark--icon-heart"},a.a.createElement("svg",{"aria-hidden":"true",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 140 140",height:"140",width:"140"},a.a.createElement("g",{transform:"matrix(10,0,0,10,0,0)"},a.a.createElement("path",{d:"M7,12.45l-5.52-5c-3-3,1.41-8.76,5.52-4.1,4.11-4.66,8.5,1.12,5.52,4.1Z"})))),"Mark as favourite"),a.a.createElement("img",{style:{width:"30px",height:"30px"},className:N,alt:"progress",src:"progressbar.gif"}))),"\xa0\xa0\xa0",a.a.createElement("div",{style:{display:"inline-flex"}},a.a.createElement(ne,{course_id:h})),a.a.createElement("div",{style:{marginLeft:"auto",display:"inline-flex"}},(null===w||void 0===w||null===(r=w.filter((function(e){return e.cover_page_id===h}))[0])||void 0===r?void 0:r.course_progress)>0&&(null===w||void 0===w||null===(i=w.filter((function(e){return e.cover_page_id===h}))[0])||void 0===i?void 0:i.course_progress)<100?a.a.createElement(a.a.Fragment,null,a.a.createElement("div",null,a.a.createElement("label",{id:"progress_bar_label",htmlFor:"progress_bar"},"Course progress: ",null===w||void 0===w||null===(o=w.filter((function(e){return e.cover_page_id===h}))[0])||void 0===o?void 0:o.course_progress,"%"),a.a.createElement("progress",{id:"progress_bar",style:{width:"100%",height:"6px"},value:null===w||void 0===w||null===(s=w.filter((function(e){return e.cover_page_id===h}))[0])||void 0===s?void 0:s.course_progress,max:"100"}," 0%")),a.a.createElement("div",{style:{marginLeft:"2rem"}},a.a.createElement("button",{onClick:function(e){return window.location=null===w||void 0===w?void 0:w.filter((function(e){return e.cover_page_id===h}))[0].pages.reverse()[0].page_url},className:"vf-button vf-button--secondary vf-button--sm"},"Resume"))):"","100"===(null===w||void 0===w||null===(u=w.filter((function(e){return e.cover_page_id===h}))[0])||void 0===u?void 0:u.course_progress)?a.a.createElement(a.a.Fragment,null,a.a.createElement("div",null,a.a.createElement("span",{className:"vf-badge vf-badge--primary"},"Completed"))):"")):"","webinar"===f||"course_materials"===f?a.a.createElement("div",{style:{display:"flex"}},a.a.createElement(a.a.Fragment,null,"1"===(null===w||void 0===w||null===(d=w.filter((function(e){return e.course_id===h}))[0])||void 0===d?void 0:d.course_favourite)?a.a.createElement(a.a.Fragment,null,a.a.createElement("button",{style:{WebkitAlignSelf:"baseline",marginTop:"0",fontWeight:"normal",paddingTop:"0",marginRight:"0",paddingRight:"0"},className:"vf-bookmark vf-bookmark--inline | vf-button vf-button--link vf-bookmark--active",onClick:function(e){return C(e,h,"unmark",v)}},a.a.createElement("span",{className:"vf-bookmark--icon vf-bookmark--icon-heart"},a.a.createElement("svg",{"aria-hidden":"true",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 140 140",height:"140",width:"140"},a.a.createElement("g",{transform:"matrix(10,0,0,10,0,0)"},a.a.createElement("path",{d:"M7,12.45l-5.52-5c-3-3,1.41-8.76,5.52-4.1,4.11-4.66,8.5,1.12,5.52,4.1Z"})))),"Marked as favourite")," ",a.a.createElement("img",{style:{width:"30px",height:"30px"},className:N,alt:"progress",src:"progressbar.gif"})):a.a.createElement(a.a.Fragment,null,a.a.createElement("button",{style:{WebkitAlignSelf:"baseline",marginTop:"0",fontWeight:"normal",paddingTop:"0",marginRight:"0",paddingRight:"0"},className:"vf-bookmark vf-bookmark--inline | vf-button vf-button--link",onClick:function(e){return C(e,h,"mark",v)}},a.a.createElement("span",{className:"vf-bookmark--icon vf-bookmark--icon-heart"},a.a.createElement("svg",{"aria-hidden":"true",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 140 140",height:"140",width:"140"},a.a.createElement("g",{transform:"matrix(10,0,0,10,0,0)"},a.a.createElement("path",{d:"M7,12.45l-5.52-5c-3-3,1.41-8.76,5.52-4.1,4.11-4.66,8.5,1.12,5.52,4.1Z"})))),"Mark as favourite ")," ",a.a.createElement("img",{style:{width:"30px",height:"30px"},className:N,alt:"progress",src:"progressbar.gif"}))),a.a.createElement("div",{style:{display:"inline-flex"}},a.a.createElement(ne,{course_id:h})),a.a.createElement("div",{style:{marginLeft:"auto",display:"inline-flex"}},"100"===(null===w||void 0===w||null===(m=w.filter((function(e){return e.course_id===h}))[0])||void 0===m?void 0:m.course_progress)?a.a.createElement(a.a.Fragment,null,a.a.createElement("div",null,a.a.createElement("span",{className:"vf-badge vf-badge--primary"},"Completed"))):"")):""):"")},oe=function(e){var t=e.id,r=e.slug,n=e.url,i=e.title,o=e.subtitle,s=e.description,l=(e.training_type,e.type),c=e.query,u=e.requestSrc,d=e.lastItem;return a.a.createElement("div",{className:"vf-summary vf-summary--event ".concat(!0===d?"":"ebi-academy-course-list-item")},a.a.createElement("p",{className:"vf-summary__date"},l),a.a.createElement("h3",{className:"vf-summary__title ebi-academy-summary-title"},a.a.createElement("a",{href:n,className:"vf-summary__link"},q()(i),": ",q()(o))),a.a.createElement("div",{className:"ebi-academy-course-list-details"},a.a.createElement("div",{className:"vf-summary__text"},q()(s)),"search"===u?a.a.createElement("p",null,a.a.createElement("a",{className:"vf-link",href:"".concat(n,"/search/page?s=").concat(c)},"More results for ",a.a.createElement("strong",null,c)," from this online tutorial")):"",a.a.createElement(ie,{type:"online_tutorial",id:t,slug:r})))},se=function(e){var t=e.url,r=e.title,n=e.description,i=e.training_type,o=e.type,s=e.status,l=e.date_time_clean,c=e.venue,u=e.materials,d=e.lastItem;return a.a.createElement("div",{className:"vf-summary vf-summary--event ".concat(!0===d?"":"ebi-academy-course-list-item")},a.a.createElement("div",{className:"ebi-academy-course-list-details"},a.a.createElement("p",{className:"vf-summary__date"},function(e,t){return"Virtual course"===e?"Virtual course":"Webinar"===e?"Webinar":"Webinar series"===e?"Webinar series":"Train at EMBL-EBI"===t?"Course at EMBL-EBI":"Course outside EMBL-EBI"}(o[0],i[0])),a.a.createElement("h3",{className:"vf-summary__title ebi-academy-summary-title"},a.a.createElement("a",{href:t.replace("wwwdev.","www."),className:"vf-summary__link"},q()(r))),a.a.createElement("p",{className:"vf-summary__text"},q()(n||""))),a.a.createElement("div",{className:"vf-u-margin__top--600"}),a.a.createElement("div",{className:"vf-summary__location"},a.a.createElement("span",null,s,"null"===u[0]||0===(null===u||void 0===u?void 0:u.length)?"":a.a.createElement("span",null,": Materials available "))," "," | ",a.a.createElement("span",null,a.a.createElement("i",{className:"icon icon-common icon-calendar-alt"})," ",l),a.a.createElement("span",null," | ",a.a.createElement("i",{className:"icon icon-common icon-location"})," ",function(e,t){return"Train at EMBL-EBI"===e?"European Bioinformatics Institute (EMBL-EBI), United Kingdom":"Live Virtual"===e?"Online":t}(i[0],c),d)))},le=function(e){var t=e.id,r=e.url,n=e.title,i=e.description,o=e.training_type,s=e.type,l=e.timeframe,c=e.date_time_clean,u=e.recording_available,d=e.lastItem;return a.a.createElement("div",{className:"vf-summary vf-summary--event ".concat(!0===d?"":"ebi-academy-course-list-item")},a.a.createElement("p",{className:"vf-summary__date"},s),a.a.createElement("h3",{className:"vf-summary__title ebi-academy-summary-title"},a.a.createElement("a",{href:r.replace("wwwdev.","www."),className:"vf-summary__link"},q()(n))),a.a.createElement("div",{className:"ebi-academy-course-list-details"},a.a.createElement("p",{className:"vf-summary__text"},q()(i)),"Live Virtual"===o?a.a.createElement("div",{className:"vf-summary__location"},a.a.createElement("div",{className:"vf-u-margin__top--1200"}),a.a.createElement("span",null,"upcoming"===l?"Open | ":"Closed"),"yes"===u?a.a.createElement("span",null,": Recording available | "):"",a.a.createElement("span",null,a.a.createElement("i",{className:"icon icon-common icon-calendar-alt"})," ",c),a.a.createElement("span",null," | ",a.a.createElement("i",{className:"icon icon-common icon-location"})," Online")):a.a.createElement(ie,{type:"webinar",id:t})))},ce=function(e){var t=e.id,r=e.url,n=e.title,i=e.description,o=e.type,s=e.requestSrc,l=e.query,c=e.lastItem;return a.a.createElement("div",{className:"vf-summary vf-summary--event ".concat(!0===c?"":"ebi-academy-course-list-item")},a.a.createElement("p",{className:"vf-summary__date"},o),a.a.createElement("h3",{className:"vf-summary__title ebi-academy-summary-title"},a.a.createElement("a",{href:r,className:"vf-summary__link"},q()(n))),a.a.createElement("div",{className:"ebi-academy-course-list-details"},a.a.createElement("div",{className:"vf-summary__text"},a.a.createElement("p",null,q()(i||""))),"search"===s?a.a.createElement("p",null,a.a.createElement("a",{className:"vf-link",href:"".concat(r,"/search/page?s=").concat(l)},"More results for ",a.a.createElement("strong",null,l)," from the course materials")):"",a.a.createElement(ie,{type:"course_materials",id:t})))},ue=function(e){var t=e.id,r=e.slug,n=e.url,i=e.title,o=e.description,s=e.type,l=e.requestSrc,c=e.query,u=e.lastItem;return a.a.createElement("div",{className:"vf-summary vf-summary--event ".concat(!0===u?"":"ebi-academy-course-list-item")},a.a.createElement("p",{className:"vf-summary__date"},s),a.a.createElement("h3",{className:"vf-summary__title ebi-academy-summary-title"},a.a.createElement("a",{href:n,className:"vf-summary__link"},q()(i))),a.a.createElement("div",{className:"ebi-academy-course-list-details"},a.a.createElement("div",{className:"vf-summary__text"},q()(o||"")),"search"===l?a.a.createElement("p",null,a.a.createElement("a",{className:"vf-link",href:"".concat(n,"/search/page?s=").concat(c)},"More results for ",a.a.createElement("strong",null,c)," from the collection")):"",a.a.createElement(ie,{type:"collection",id:t,slug:r})))};function de(){de=function(){return e};var e={},t=Object.prototype,r=t.hasOwnProperty,n="function"==typeof Symbol?Symbol:{},a=n.iterator||"@@iterator",i=n.asyncIterator||"@@asyncIterator",o=n.toStringTag||"@@toStringTag";function s(e,t,r){return Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}),e[t]}try{s({},"")}catch(L){s=function(e,t,r){return e[t]=r}}function l(e,t,r,n){var a=t&&t.prototype instanceof d?t:d,i=Object.create(a.prototype),o=new k(n||[]);return i._invoke=function(e,t,r){var n="suspendedStart";return function(a,i){if("executing"===n)throw new Error("Generator is already running");if("completed"===n){if("throw"===a)throw i;return x()}for(r.method=a,r.arg=i;;){var o=r.delegate;if(o){var s=w(o,r);if(s){if(s===u)continue;return s}}if("next"===r.method)r.sent=r._sent=r.arg;else if("throw"===r.method){if("suspendedStart"===n)throw n="completed",r.arg;r.dispatchException(r.arg)}else"return"===r.method&&r.abrupt("return",r.arg);n="executing";var l=c(e,t,r);if("normal"===l.type){if(n=r.done?"completed":"suspendedYield",l.arg===u)continue;return{value:l.arg,done:r.done}}"throw"===l.type&&(n="completed",r.method="throw",r.arg=l.arg)}}}(e,r,o),i}function c(e,t,r){try{return{type:"normal",arg:e.call(t,r)}}catch(L){return{type:"throw",arg:L}}}e.wrap=l;var u={};function d(){}function m(){}function h(){}var f={};s(f,a,(function(){return this}));var v=Object.getPrototypeOf,p=v&&v(v(N([])));p&&p!==t&&r.call(p,a)&&(f=p);var g=h.prototype=d.prototype=Object.create(f);function y(e){["next","throw","return"].forEach((function(t){s(e,t,(function(e){return this._invoke(t,e)}))}))}function b(e,t){var n;this._invoke=function(a,i){function o(){return new t((function(n,o){!function n(a,i,o,s){var l=c(e[a],e,i);if("throw"!==l.type){var u=l.arg,d=u.value;return d&&"object"==typeof d&&r.call(d,"__await")?t.resolve(d.__await).then((function(e){n("next",e,o,s)}),(function(e){n("throw",e,o,s)})):t.resolve(d).then((function(e){u.value=e,o(u)}),(function(e){return n("throw",e,o,s)}))}s(l.arg)}(a,i,n,o)}))}return n=n?n.then(o,o):o()}}function w(e,t){var r=e.iterator[t.method];if(void 0===r){if(t.delegate=null,"throw"===t.method){if(e.iterator.return&&(t.method="return",t.arg=void 0,w(e,t),"throw"===t.method))return u;t.method="throw",t.arg=new TypeError("The iterator does not provide a 'throw' method")}return u}var n=c(r,e.iterator,t.arg);if("throw"===n.type)return t.method="throw",t.arg=n.arg,t.delegate=null,u;var a=n.arg;return a?a.done?(t[e.resultName]=a.value,t.next=e.nextLoc,"return"!==t.method&&(t.method="next",t.arg=void 0),t.delegate=null,u):a:(t.method="throw",t.arg=new TypeError("iterator result is not an object"),t.delegate=null,u)}function E(e){var t={tryLoc:e[0]};1 in e&&(t.catchLoc=e[1]),2 in e&&(t.finallyLoc=e[2],t.afterLoc=e[3]),this.tryEntries.push(t)}function _(e){var t=e.completion||{};t.type="normal",delete t.arg,e.completion=t}function k(e){this.tryEntries=[{tryLoc:"root"}],e.forEach(E,this),this.reset(!0)}function N(e){if(e){var t=e[a];if(t)return t.call(e);if("function"==typeof e.next)return e;if(!isNaN(e.length)){var n=-1,i=function t(){for(;++n<e.length;)if(r.call(e,n))return t.value=e[n],t.done=!1,t;return t.value=void 0,t.done=!0,t};return i.next=i}}return{next:x}}function x(){return{value:void 0,done:!0}}return m.prototype=h,s(g,"constructor",h),s(h,"constructor",m),m.displayName=s(h,o,"GeneratorFunction"),e.isGeneratorFunction=function(e){var t="function"==typeof e&&e.constructor;return!!t&&(t===m||"GeneratorFunction"===(t.displayName||t.name))},e.mark=function(e){return Object.setPrototypeOf?Object.setPrototypeOf(e,h):(e.__proto__=h,s(e,o,"GeneratorFunction")),e.prototype=Object.create(g),e},e.awrap=function(e){return{__await:e}},y(b.prototype),s(b.prototype,i,(function(){return this})),e.AsyncIterator=b,e.async=function(t,r,n,a,i){void 0===i&&(i=Promise);var o=new b(l(t,r,n,a),i);return e.isGeneratorFunction(r)?o:o.next().then((function(e){return e.done?e.value:o.next()}))},y(g),s(g,o,"Generator"),s(g,a,(function(){return this})),s(g,"toString",(function(){return"[object Generator]"})),e.keys=function(e){var t=[];for(var r in e)t.push(r);return t.reverse(),function r(){for(;t.length;){var n=t.pop();if(n in e)return r.value=n,r.done=!1,r}return r.done=!0,r}},e.values=N,k.prototype={constructor:k,reset:function(e){if(this.prev=0,this.next=0,this.sent=this._sent=void 0,this.done=!1,this.delegate=null,this.method="next",this.arg=void 0,this.tryEntries.forEach(_),!e)for(var t in this)"t"===t.charAt(0)&&r.call(this,t)&&!isNaN(+t.slice(1))&&(this[t]=void 0)},stop:function(){this.done=!0;var e=this.tryEntries[0].completion;if("throw"===e.type)throw e.arg;return this.rval},dispatchException:function(e){if(this.done)throw e;var t=this;function n(r,n){return o.type="throw",o.arg=e,t.next=r,n&&(t.method="next",t.arg=void 0),!!n}for(var a=this.tryEntries.length-1;a>=0;--a){var i=this.tryEntries[a],o=i.completion;if("root"===i.tryLoc)return n("end");if(i.tryLoc<=this.prev){var s=r.call(i,"catchLoc"),l=r.call(i,"finallyLoc");if(s&&l){if(this.prev<i.catchLoc)return n(i.catchLoc,!0);if(this.prev<i.finallyLoc)return n(i.finallyLoc)}else if(s){if(this.prev<i.catchLoc)return n(i.catchLoc,!0)}else{if(!l)throw new Error("try statement without catch or finally");if(this.prev<i.finallyLoc)return n(i.finallyLoc)}}}},abrupt:function(e,t){for(var n=this.tryEntries.length-1;n>=0;--n){var a=this.tryEntries[n];if(a.tryLoc<=this.prev&&r.call(a,"finallyLoc")&&this.prev<a.finallyLoc){var i=a;break}}i&&("break"===e||"continue"===e)&&i.tryLoc<=t&&t<=i.finallyLoc&&(i=null);var o=i?i.completion:{};return o.type=e,o.arg=t,i?(this.method="next",this.next=i.finallyLoc,u):this.complete(o)},complete:function(e,t){if("throw"===e.type)throw e.arg;return"break"===e.type||"continue"===e.type?this.next=e.arg:"return"===e.type?(this.rval=this.arg=e.arg,this.method="return",this.next="end"):"normal"===e.type&&t&&(this.next=t),u},finish:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var r=this.tryEntries[t];if(r.finallyLoc===e)return this.complete(r.completion,r.afterLoc),_(r),u}},catch:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var r=this.tryEntries[t];if(r.tryLoc===e){var n=r.completion;if("throw"===n.type){var a=n.arg;_(r)}return a}}throw new Error("illegal catch attempt")},delegateYield:function(e,t,r){return this.delegate={iterator:N(e),resultName:t,nextLoc:r},"next"===this.method&&(this.arg=void 0),u}},e}var me=function(e){Object(J.a)(r,e);var t=Object(U.a)(r);function r(e){var n;return Object(D.a)(this,r),(n=t.call(this,e)).state={added_courses:[]},n}return Object(R.a)(r,[{key:"componentDidMount",value:function(){this.setState({added_courses:this.props.playlist.courses})}},{key:"checkIfCourseHasBeenAdded",value:function(e){return this.props.playlist.courses.some((function(t){return t.id===e}))}},{key:"addCourse",value:function(){var e=Object(l.a)(de().mark((function e(t){var r,n,a;return de().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return t.position=this.props.playlist.courses.length+1,(r=this.props.playlist.courses).push(t),this.setState({added_courses:r}),n={playlist:this.props.playlist,updated_courses_list:r,request_scope:2},e.next=7,H.getCsrfToken();case 7:return a=e.sent,e.next=10,b.a.patch("".concat(p,"/training/usercontent/api/playlists?_format=json×tamp=").concat(Date.now()),n,{withCredentials:!0,headers:{Accept:"application/json","Content-Type":"application/json","X-CSRF-Token":a,Authorization:"Basic"}}).then((function(){}));case 10:case"end":return e.stop()}}),e,this)})));return function(t){return e.apply(this,arguments)}}()},{key:"removeCourse",value:function(){var e=Object(l.a)(de().mark((function e(t){var r,n,a,i,o;return de().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:for(r=this.props.playlist.courses,n=r.findIndex((function(e){return e.id===t.id})),r.splice(n,1),a=0;a<r.length;a++)r[a].position=a+1;return this.setState({added_courses:r}),i={playlist:this.props.playlist,updated_courses_list:r,request_scope:2},e.next=8,H.getCsrfToken();case 8:return o=e.sent,e.next=11,b.a.patch("".concat(p,"/training/usercontent/api/playlists?_format=json×tamp=").concat(Date.now()),i,{withCredentials:!0,headers:{Accept:"application/json","Content-Type":"application/json","X-CSRF-Token":o,Authorization:"Basic"}});case 11:case"end":return e.stop()}}),e,this)})));return function(t){return e.apply(this,arguments)}}()},{key:"render",value:function(){var e=this;return a.a.createElement(a.a.Fragment,null,this.checkIfCourseHasBeenAdded(this.props.course.id)?a.a.createElement("button",{className:"vf-button vf-button--secondary vf-button--sm",onClick:function(){e.removeCourse(e.props.course)}},"Remove from playlist sss"):a.a.createElement("button",{className:"vf-button vf-button--primary vf-button--sm",onClick:function(){e.addCourse(e.props.course)}},"Add to playlist"))}}]),r}(a.a.Component),he=function(e){var t=e.data,r=e.query,n=e.requestSrc,i=e.supportPlaylistBuilding,o=e.playlist,s=function(e){return e&&e.length>200?e.slice(0,200).split(" ").slice(0,-1).join(" ")+"...":e},l=function(e){try{var t=null===r||void 0===r?void 0:r.split(" "),n=e;return null===t||void 0===t||t.forEach((function(e){var t=new RegExp("(\\b"+e+"\\b)","gim");n=n.replace(t,"<strong>$1</strong>")})),n}catch(a){return a}};return a.a.createElement(a.a.Fragment,null,t?t.entries.map((function(e,t,c){var u=c.length;return"Online"===e.fields.training_type[0]&&"Online tutorial"===e.fields.type[0]||"Online"===e.fields.training_type&&"Online tutorial"===e.fields.type?a.a.createElement("div",{key:t},i?a.a.createElement(me,{course:e,playlist:o,key:e.id}):"",a.a.createElement(oe,{key:e.id,id:e.id,slug:e.fields.slug?e.fields.slug[0]:"",url:e.fieldURLs[0].value,title:l(e.fields.title[0]),subtitle:l(e.fields.subtitle?e.fields.subtitle[0]:""),description:l(s(e.fields.description[0])),training_type:e.fields.training_type,type:e.fields.type,query:r,requestSrc:n,lastItem:t+1===u})):"Webinar"===e.fields.type[0]||"Webinar"===e.fields.type?a.a.createElement("div",{key:t},i?a.a.createElement(me,{course:e,playlist:o,key:e.id}):"",a.a.createElement(le,{id:e.id,key:e.id,url:e.fieldURLs[0].value,title:l(e.fields.title[0]),description:l(s(e.fields.description[0])),training_type:e.fields.training_type[0],type:"Webinar",timeframe:e.fields.timeframe?e.fields.timeframe[0]:"",date_time_clean:e.fields.date_time_clean,recording_available:e.fields.recording_available?e.fields.recording_available[0]:"",lastItem:t+1===u})):"Recorded webinar"===e.fields.type[0]?a.a.createElement("div",{key:t},i?a.a.createElement(me,{course:e,playlist:o,key:e.id}):"",a.a.createElement(le,{id:e.id,key:e.id,url:e.fieldURLs[0].value,title:l(e.fields.title[0]),description:l(s(e.fields.description[0])),training_type:e.fields.training_type[0],type:"Recorded webinar",timeframe:e.fields.timeframe?e.fields.timeframe[0]:"",date_time_clean:e.fields.date_time_clean,lastItem:t+1===u})):"Course materials"===e.fields.type[0]?a.a.createElement("div",{key:t},i?a.a.createElement(me,{course:e,playlist:o,key:e.id}):"",a.a.createElement(ce,{id:e.id,key:e.id,url:e.fieldURLs[0].value,title:l(e.fields.title[0]),description:l(s(e.fields.description[0])),type:"Course materials",query:r,requestSrc:n,lastItem:t+1===u})):"Collection"===e.fields.type[0]?a.a.createElement("div",{key:t},i?a.a.createElement(me,{course:e,playlist:o,key:e.id}):"",a.a.createElement(ue,{id:e.id,key:e.id,slug:e.fields.slug?e.fields.slug[0]:"",url:e.fieldURLs[0].value,title:l(e.fields.title[0]),description:l(s(e.fields.description[0])),type:"Collection",query:r,requestSrc:n,lastItem:t+1===u})):a.a.createElement(se,{key:e.id,url:e.fieldURLs[0].value,title:l(e.fields.title[0]),description:e.fields.description?l(s(e.fields.description[0])):"",training_type:e.fields.training_type,status:e.fields.status,date_time_clean:e.fields.date_time_clean,venue:e.fields.venue?e.fields.venue[0]:"",type:e.fields.type,materials:e.fields.materials,lastItem:t+1===u})})):"")},fe=function(e){var t=e.query,r=e.zeroQuery;return a.a.createElement("div",{className:"vf-summary vf-summary--event"},a.a.createElement("div",{className:"vf-summary__text"},"No results found for ",a.a.createElement("strong",null," ",r||t," "),r?a.a.createElement("span",null,"showing results for ",a.a.createElement("strong",null,t)," instead "):""))},ve=function(e){var t=e.clear;return a.a.createElement("div",{className:"ebi-academy-facetGroup"},a.a.createElement("button",{onClick:function(e){return t(e)},className:"vf-link"},"Clear all"))},pe=function(e){var t=e.title,r=e.breadcrumSectionTitle,n=e.breadcrumSectionURL,i=e.fourthLevelTitle,o=e.thirdLevelURL;return a.a.createElement("nav",{className:"vf-breadcrumbs","aria-label":"Breadcrumb"},a.a.createElement("ul",{className:"vf-breadcrumbs__list | vf-list vf-list--inline"},a.a.createElement("li",{className:"vf-breadcrumbs__item"},a.a.createElement("a",{href:"/training",className:"vf-breadcrumbs__link"},"EMBL-EBI Training")),r?a.a.createElement(a.a.Fragment,null,a.a.createElement("li",{className:"vf-breadcrumbs__item"},a.a.createElement("a",{href:n,className:"vf-breadcrumbs__link"},t)),i?a.a.createElement(a.a.Fragment,null,a.a.createElement("li",{className:"vf-breadcrumbs__item"},a.a.createElement("a",{href:o,className:"vf-breadcrumbs__link"},r)),a.a.createElement("li",{className:"vf-breadcrumbs__item","aria-current":"location"},i)):a.a.createElement("li",{className:"vf-breadcrumbs__item","aria-current":"location"},r)):a.a.createElement("li",{className:"vf-breadcrumbs__item","aria-current":"location"},t)))};function ge(){ge=function(){return e};var e={},t=Object.prototype,r=t.hasOwnProperty,n="function"==typeof Symbol?Symbol:{},a=n.iterator||"@@iterator",i=n.asyncIterator||"@@asyncIterator",o=n.toStringTag||"@@toStringTag";function s(e,t,r){return Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}),e[t]}try{s({},"")}catch(L){s=function(e,t,r){return e[t]=r}}function l(e,t,r,n){var a=t&&t.prototype instanceof d?t:d,i=Object.create(a.prototype),o=new k(n||[]);return i._invoke=function(e,t,r){var n="suspendedStart";return function(a,i){if("executing"===n)throw new Error("Generator is already running");if("completed"===n){if("throw"===a)throw i;return x()}for(r.method=a,r.arg=i;;){var o=r.delegate;if(o){var s=w(o,r);if(s){if(s===u)continue;return s}}if("next"===r.method)r.sent=r._sent=r.arg;else if("throw"===r.method){if("suspendedStart"===n)throw n="completed",r.arg;r.dispatchException(r.arg)}else"return"===r.method&&r.abrupt("return",r.arg);n="executing";var l=c(e,t,r);if("normal"===l.type){if(n=r.done?"completed":"suspendedYield",l.arg===u)continue;return{value:l.arg,done:r.done}}"throw"===l.type&&(n="completed",r.method="throw",r.arg=l.arg)}}}(e,r,o),i}function c(e,t,r){try{return{type:"normal",arg:e.call(t,r)}}catch(L){return{type:"throw",arg:L}}}e.wrap=l;var u={};function d(){}function m(){}function h(){}var f={};s(f,a,(function(){return this}));var v=Object.getPrototypeOf,p=v&&v(v(N([])));p&&p!==t&&r.call(p,a)&&(f=p);var g=h.prototype=d.prototype=Object.create(f);function y(e){["next","throw","return"].forEach((function(t){s(e,t,(function(e){return this._invoke(t,e)}))}))}function b(e,t){var n;this._invoke=function(a,i){function o(){return new t((function(n,o){!function n(a,i,o,s){var l=c(e[a],e,i);if("throw"!==l.type){var u=l.arg,d=u.value;return d&&"object"==typeof d&&r.call(d,"__await")?t.resolve(d.__await).then((function(e){n("next",e,o,s)}),(function(e){n("throw",e,o,s)})):t.resolve(d).then((function(e){u.value=e,o(u)}),(function(e){return n("throw",e,o,s)}))}s(l.arg)}(a,i,n,o)}))}return n=n?n.then(o,o):o()}}function w(e,t){var r=e.iterator[t.method];if(void 0===r){if(t.delegate=null,"throw"===t.method){if(e.iterator.return&&(t.method="return",t.arg=void 0,w(e,t),"throw"===t.method))return u;t.method="throw",t.arg=new TypeError("The iterator does not provide a 'throw' method")}return u}var n=c(r,e.iterator,t.arg);if("throw"===n.type)return t.method="throw",t.arg=n.arg,t.delegate=null,u;var a=n.arg;return a?a.done?(t[e.resultName]=a.value,t.next=e.nextLoc,"return"!==t.method&&(t.method="next",t.arg=void 0),t.delegate=null,u):a:(t.method="throw",t.arg=new TypeError("iterator result is not an object"),t.delegate=null,u)}function E(e){var t={tryLoc:e[0]};1 in e&&(t.catchLoc=e[1]),2 in e&&(t.finallyLoc=e[2],t.afterLoc=e[3]),this.tryEntries.push(t)}function _(e){var t=e.completion||{};t.type="normal",delete t.arg,e.completion=t}function k(e){this.tryEntries=[{tryLoc:"root"}],e.forEach(E,this),this.reset(!0)}function N(e){if(e){var t=e[a];if(t)return t.call(e);if("function"==typeof e.next)return e;if(!isNaN(e.length)){var n=-1,i=function t(){for(;++n<e.length;)if(r.call(e,n))return t.value=e[n],t.done=!1,t;return t.value=void 0,t.done=!0,t};return i.next=i}}return{next:x}}function x(){return{value:void 0,done:!0}}return m.prototype=h,s(g,"constructor",h),s(h,"constructor",m),m.displayName=s(h,o,"GeneratorFunction"),e.isGeneratorFunction=function(e){var t="function"==typeof e&&e.constructor;return!!t&&(t===m||"GeneratorFunction"===(t.displayName||t.name))},e.mark=function(e){return Object.setPrototypeOf?Object.setPrototypeOf(e,h):(e.__proto__=h,s(e,o,"GeneratorFunction")),e.prototype=Object.create(g),e},e.awrap=function(e){return{__await:e}},y(b.prototype),s(b.prototype,i,(function(){return this})),e.AsyncIterator=b,e.async=function(t,r,n,a,i){void 0===i&&(i=Promise);var o=new b(l(t,r,n,a),i);return e.isGeneratorFunction(r)?o:o.next().then((function(e){return e.done?e.value:o.next()}))},y(g),s(g,o,"Generator"),s(g,a,(function(){return this})),s(g,"toString",(function(){return"[object Generator]"})),e.keys=function(e){var t=[];for(var r in e)t.push(r);return t.reverse(),function r(){for(;t.length;){var n=t.pop();if(n in e)return r.value=n,r.done=!1,r}return r.done=!0,r}},e.values=N,k.prototype={constructor:k,reset:function(e){if(this.prev=0,this.next=0,this.sent=this._sent=void 0,this.done=!1,this.delegate=null,this.method="next",this.arg=void 0,this.tryEntries.forEach(_),!e)for(var t in this)"t"===t.charAt(0)&&r.call(this,t)&&!isNaN(+t.slice(1))&&(this[t]=void 0)},stop:function(){this.done=!0;var e=this.tryEntries[0].completion;if("throw"===e.type)throw e.arg;return this.rval},dispatchException:function(e){if(this.done)throw e;var t=this;function n(r,n){return o.type="throw",o.arg=e,t.next=r,n&&(t.method="next",t.arg=void 0),!!n}for(var a=this.tryEntries.length-1;a>=0;--a){var i=this.tryEntries[a],o=i.completion;if("root"===i.tryLoc)return n("end");if(i.tryLoc<=this.prev){var s=r.call(i,"catchLoc"),l=r.call(i,"finallyLoc");if(s&&l){if(this.prev<i.catchLoc)return n(i.catchLoc,!0);if(this.prev<i.finallyLoc)return n(i.finallyLoc)}else if(s){if(this.prev<i.catchLoc)return n(i.catchLoc,!0)}else{if(!l)throw new Error("try statement without catch or finally");if(this.prev<i.finallyLoc)return n(i.finallyLoc)}}}},abrupt:function(e,t){for(var n=this.tryEntries.length-1;n>=0;--n){var a=this.tryEntries[n];if(a.tryLoc<=this.prev&&r.call(a,"finallyLoc")&&this.prev<a.finallyLoc){var i=a;break}}i&&("break"===e||"continue"===e)&&i.tryLoc<=t&&t<=i.finallyLoc&&(i=null);var o=i?i.completion:{};return o.type=e,o.arg=t,i?(this.method="next",this.next=i.finallyLoc,u):this.complete(o)},complete:function(e,t){if("throw"===e.type)throw e.arg;return"break"===e.type||"continue"===e.type?this.next=e.arg:"return"===e.type?(this.rval=this.arg=e.arg,this.method="return",this.next="end"):"normal"===e.type&&t&&(this.next=t),u},finish:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var r=this.tryEntries[t];if(r.finallyLoc===e)return this.complete(r.completion,r.afterLoc),_(r),u}},catch:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var r=this.tryEntries[t];if(r.tryLoc===e){var n=r.completion;if("throw"===n.type){var a=n.arg;_(r)}return a}}throw new Error("illegal catch attempt")},delegateYield:function(e,t,r){return this.delegate={iterator:N(e),resultName:t,nextLoc:r},"next"===this.method&&(this.arg=void 0),u}},e}var ye=function(){var e,t=Object(n.useState)(),r=Object(c.a)(t,2),i=r[0],o=r[1],u=Object(n.useState)(),d=Object(c.a)(u,2),m=d[0],f=d[1],v=Object(n.useState)(),y=Object(c.a)(v,2),w=y[0],E=y[1],_=Object(n.useState)(),k=Object(c.a)(_,2),N=k[0],x=k[1],O=Object(n.useState)(),S=Object(c.a)(O,2),C=S[0],B=S[1],I=Object(n.useState)(),P=Object(c.a)(I,2),W=P[0],q=P[1],D=Object(n.useState)(0),R=Object(c.a)(D,2),J=R[0],U=R[1],z=Object(n.useState)(),H=Object(c.a)(z,2),V=H[0],Y=H[1],K=Object(n.useState)(),Z=Object(c.a)(K,2),X=Z[0],Q=Z[1],$=Object(n.useState)([]),ee=Object(c.a)($,2),te=ee[0],re=ee[1],ne=Object(n.useState)(!1),ae=Object(c.a)(ne,2),ie=ae[0],oe=ae[1],se=Object(n.useState)(),le=Object(c.a)(se,2),ce=le[0],ue=le[1],de=Object(s.g)(),me=Object(s.h)(),ye=new URLSearchParams(me.search);Object(n.useEffect)((function(){try{var e=function(){var e=Object(l.a)(ge().mark((function e(){var t,r,n,a,i,s,l,u,d,m,h,v,g;return ge().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(!X||!V||X!==N||void 0===N||null===N){e.next=29;break}return o(void 0),E(void 0),f(void 0),t="",t="ebiweb_training"===V?"".concat(p,"/ebisearch/ws/rest/ebiweb_training?query=").concat(X," NOT (type:Webinar AND timeframe:past) &format=json&fieldurl=true&viewurl=true&entryattrs=score&fields=title,subtitle,description,training_type,type,venue,country,year,date_time_clean,course_image,status,location,materials,timeframe,recording_available&start=").concat(J,"&size=10&hlfields=description&facetcount=50&facets=").concat(te||""):"".concat(p,"/ebisearch/ws/rest/").concat(V,"?query=").concat(X,"&format=json&fieldurl=true&viewurl=true&entryattrs=score&fields=title,subtitle,description,training_type,type,venue,country,year,date_time_clean,course_image,status,location,materials,timeframe,recording_available&start=").concat(J,"&size=10&hlfields=description&facetcount=50&facets=").concat(te||""),e.next=8,b.a.get(t);case 8:if(r=e.sent,f(r.data),"ebiweb_training"!==V&&"ebiweb_training_events"!==V){e.next=15;break}return e.next=13,b.a.get("".concat(p,"/ebisearch/ws/rest/ebiweb_training_events?query=").concat(X,"&facets=").concat(te||"","&format=json&fieldurl=true&viewurl=true&entryattrs=score&fields=title,subtitle,description,training_type,type,venue,country,location,year,date_time_clean,course_image,status,materials,timeframe,recording_available&hlfields=description&facetcount=50"));case 13:n=e.sent,o(n.data);case 15:if("ebiweb_training"!==V&&"ebiweb_training_online"!==V){e.next=20;break}return e.next=18,b.a.get("".concat(p,"/ebisearch/ws/rest/ebiweb_training_online?query=").concat(X,"&facets=").concat(te||"","&format=json&fieldurl=true&viewurl=true&entryattrs=score&fields=title,subtitle,description,training_type,type,location,course_image,status,timeframe,recording_available&hlfields=description&facetcount=50"));case 18:a=e.sent,E(a.data);case 20:if(0!==r.data.entries.length){e.next=29;break}return e.next=23,b.a.get("".concat(p,"/api/v1/ebi-training-autocomplete-keywords?source=trainingcontenthub"));case 23:i=e.sent,s=i.data,l={minMatchCharLength:3,shouldSort:!0,threshold:.4},u=new T.a(s,l),(d=u.search(X)).length>0?(o(void 0),E(void 0),f(void 0),ue(X),x(d[0].item.replace(":","")),Q(d[0].item.replace(":","")),oe(!0)):(ue(void 0),oe(!0));case 29:if(!(N&&N.length>=3&&N!==X)){e.next=41;break}return e.next=32,b.a.get("".concat(p,"/api/v1/ebi-training-autocomplete-keywords?source=trainingcontenthub&_format=json"));case 32:return m=e.sent,e.next=35,Promise.all([m]);case 35:h=e.sent,v=Object(c.a)(h,1),g=v[0],B(g),e.next=42;break;case 41:B(["undefined"]);case 42:case"end":return e.stop()}}),e)})));return function(){return e.apply(this,arguments)}}();de.push("/search-results?query=".concat(X,"&domain=").concat(V,"&page=").concat(W||1,"&facets=").concat(te)),e()}catch(t){alert(t)}}),[X,te,V,de,W,J,N]),de.listen(function(){var e=Object(l.a)(ge().mark((function e(t,r){var n;return ge().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if("POP"!==r){e.next=5;break}if(void 0===W){e.next=5;break}return n=1===W?1:W-1,e.next=5,_e(n);case 5:case"end":return e.stop()}}),e)})));return function(t,r){return e.apply(this,arguments)}}()),function(){var e=Object(l.a)(ge().mark((function e(){var t,r,n,a,i;return ge().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(e.prev=0,!ye||X){e.next=6;break}return e.next=4,Q(null===(t=ye.get("query"))||void 0===t?void 0:t.replace(/(<([^>]+)>)/gi,"").substring(0,50));case 4:return e.next=6,x(null===(r=ye.get("query"))||void 0===r?void 0:r.replace(/(<([^>]+)>)/gi,"").substring(0,50));case 6:ye.get("domain")&&!V&&(n=ye.get("domain"),Y("ebiweb_training"===n||"ebiweb_training_events"===n||"ebiweb_training_live_virtual"===n||"ebiweb_training_online"===n||"ebiweb_training_on_site"===n||"ebiweb_training_off_site"===n?n:"ebiweb_training")),null!==ye.get("domain")&&""!==ye.get("domain")||(ye.append("domain","ebiweb_training"),de.push("/search-results?query=".concat(N,"&domain=ebiweb_training"))),ye.get("page")&&!W&&(a=ye.get("page"),q(a?parseInt(a):1),U(a?10*(parseInt(a)-1):0)),ye.get("facets")&&0===(null===te||void 0===te?void 0:te.length)&&(i=ye.get("facets"),re(i?i.split(","):[])),e.next=15;break;case 12:e.prev=12,e.t0=e.catch(0),alert(e.t0);case 15:case"end":return e.stop()}}),e,null,[[0,12]])})));return function(){return e.apply(this,arguments)}}()();var be=function(){var e=Object(l.a)(ge().mark((function e(t){return ge().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:Q(null===N||void 0===N?void 0:N.trim().replace(":","")),q(1),U(0),t.preventDefault(),oe(!1),ue(void 0);case 6:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}(),we=function(){var e=Object(l.a)(ge().mark((function e(t){var r,n,a,i,o;return ge().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:try{N||x(null===X||void 0===X?void 0:X.replace(":","")),r=t.target,n=r.dataset.domainsource,r.checked?(Y(n),(a=[]).push.apply(a,Object(j.a)(te||[]).concat([r.dataset.facetid+":"+r.dataset.facetlabel])),re(a),q(1),U(0)):((i=[]).push.apply(i,Object(j.a)(te||[])),o=null===i||void 0===i?void 0:i.indexOf(r.dataset.facetid+":"+r.dataset.facetlabel),i.splice(o,1),i.filter((function(e){return""!==e})).length>0?re(i):(Y("ebiweb_training"),re([""])),q(1),U(0))}catch(s){alert(s)}case 1:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}(),Ee=function(){var e=Object(l.a)(ge().mark((function e(t){return ge().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:Y("ebiweb_training"),re([""]),q(1),U(0),t.preventDefault();case 5:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}(),_e=function(e){q(e),U(e?10*(e-1):1),setTimeout((function(){window.scrollTo(0,0)}),700)},ke=function(){if((null===m||void 0===m?void 0:m.hitCount)&&W){var e="".concat(10*W-9," - ").concat(10*W),t="".concat(10*W-9," - ").concat(m.hitCount);return m.hitCount>=10*W?e:t}};return a.a.createElement(a.a.Fragment,null,a.a.createElement("div",{className:"vf-grid vf-grid__col-4"},a.a.createElement("div",{className:"vf-grid__col--span-3"},a.a.createElement(pe,{title:"Search EMBL-EBI Training"})),a.a.createElement("div",{className:"vf-grid__col--span-1"},a.a.createElement(L,null))),a.a.createElement(h,{title:"Search EMBL-EBI Training",subtitle:"Delivering world-class training in data-driven life sciences."}),a.a.createElement("div",{className:"vf-u-margin__top--400"}),a.a.createElement("section",{className:"vf-grid | vf-u-padding__top--800 vf-u-margin__bottom--800"},a.a.createElement("div",null),a.a.createElement("div",{className:"vf-content | vf-grid__col--span-2",style:{paddingLeft:"1.4rem"}},a.a.createElement(g,{handleQuerySubmit:be,handleSearch:function(e){x(e.toLowerCase().replace(":",""))},search:N,query:X,options:null===C||void 0===C?void 0:C.data,optionClick:function(e){o(void 0),E(void 0),f(void 0),ue(void 0),oe(!1),x(e.replace(":","")),Q(e.replace(":","")),q(1),U(0),de.push("/search-results?query=".concat(e,"&domain=ebiweb_training"))}}))),a.a.createElement("section",{className:"vf-grid"},m&&(i||w)?a.a.createElement(a.a.Fragment,null,a.a.createElement("div",null,a.a.createElement("div",{className:"vf-content"},a.a.createElement("h3",null,"Refine your search"),te&&(null===te||void 0===te||null===(e=te.filter((function(e){return""!==e})))||void 0===e?void 0:e.length)>0?a.a.createElement(ve,{clear:Ee}):""),a.a.createElement("form",{id:"filters",className:"vf-content | ebi-academy-facetGroup"},a.a.createElement("div",null,w&&w.entries.length>0?a.a.createElement(a.a.Fragment,null,a.a.createElement("h4",null,"On-demand training (",w.hitCount,")"),a.a.createElement("div",{style:{marginLeft:"1rem"}},a.a.createElement(A,{click:we,clear:Ee,allData:i,data:w,facetsFromURL:te,domainSource:"ebiweb_training_online"}))):a.a.createElement(a.a.Fragment,null,a.a.createElement("legend",{className:"vf-form__legend ebi-legend-custom | vf-text vf-u-margin__top--800"},a.a.createElement("h4",null,"On-demand training (0)")),a.a.createElement("div",{style:{marginLeft:"1rem"}},a.a.createElement(F,{disabled:!0,allFacets:w,typeCount:[],durationCount:[],click:we,facetsFromURL:te}))),i&&i.entries.length>0?a.a.createElement(a.a.Fragment,null,a.a.createElement("legend",{className:"vf-form__legend ebi-legend-custom | vf-text vf-u-margin__top--800"},a.a.createElement("h4",null,"Live training (",i.hitCount,")")),a.a.createElement("div",{style:{marginLeft:"20px"}},a.a.createElement(A,{click:we,clear:Ee,allData:i,data:i,facetsFromURL:te,domainSource:"ebiweb_training_events"}))):a.a.createElement(a.a.Fragment,null,a.a.createElement("legend",{className:"vf-form__legend ebi-legend-custom | vf-text vf-u-margin__top--800"},a.a.createElement("h4",null,"Live training (0)")),a.a.createElement("div",{style:{marginLeft:"20px"}},a.a.createElement(G,{disabled:!0,allFacets:i,typeCount:[],statusCount:[],click:we,facetsFromURL:te,year:null,locations:null})))))),a.a.createElement("div",{className:"vf-content | vf-grid__col--span-2"},a.a.createElement("div",null,function(){return a.a.createElement(a.a.Fragment,null,ie?a.a.createElement(a.a.Fragment,null,a.a.createElement(fe,{query:X,zeroQuery:ce})):"",a.a.createElement("h3",null,"Search results for ",a.a.createElement("strong",null,X," "),"ebiweb_training"===V?a.a.createElement("p",null,"Showing ",a.a.createElement("strong",null,ke()," ")," out of ",a.a.createElement("strong",null,null===m||void 0===m?void 0:m.hitCount)," results in"," ",a.a.createElement("strong",null,"all training")):a.a.createElement("p",null,"Showing ",a.a.createElement("strong",null,ke()," ")," out of ",a.a.createElement("strong",null,null===m||void 0===m?void 0:m.hitCount)," results in"," ",a.a.createElement("strong",null," ","ebiweb_training_events"===(e=V)?"live":"ebiweb_training_live_virtual"===e?"Live virtual":"ebiweb_training_online"===e?"on-demand":"ebiweb_training_on_site"===e?"Train at EMBL-EBI":"ebiweb_training_off_site"===e?"Train outside EMBL-EBI":void 0," training "))));var e}(),a.a.createElement(he,{data:m,query:X||"",requestSrc:"search"})),m.hitCount>10?a.a.createElement(M,{activePage:W||1,totalItemsCount:m.hitCount,handlePageChange:_e}):"")):a.a.createElement("section",{className:"vf-grid"},a.a.createElement("div",null,a.a.createElement("img",{alt:"progress",src:"progressbar.gif"}),a.a.createElement("h4",null,"Loading results...")))),a.a.createElement("div",{className:"vf-u-margin__top--1200"}))};function be(){be=function(){return e};var e={},t=Object.prototype,r=t.hasOwnProperty,n="function"==typeof Symbol?Symbol:{},a=n.iterator||"@@iterator",i=n.asyncIterator||"@@asyncIterator",o=n.toStringTag||"@@toStringTag";function s(e,t,r){return Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}),e[t]}try{s({},"")}catch(L){s=function(e,t,r){return e[t]=r}}function l(e,t,r,n){var a=t&&t.prototype instanceof d?t:d,i=Object.create(a.prototype),o=new k(n||[]);return i._invoke=function(e,t,r){var n="suspendedStart";return function(a,i){if("executing"===n)throw new Error("Generator is already running");if("completed"===n){if("throw"===a)throw i;return x()}for(r.method=a,r.arg=i;;){var o=r.delegate;if(o){var s=w(o,r);if(s){if(s===u)continue;return s}}if("next"===r.method)r.sent=r._sent=r.arg;else if("throw"===r.method){if("suspendedStart"===n)throw n="completed",r.arg;r.dispatchException(r.arg)}else"return"===r.method&&r.abrupt("return",r.arg);n="executing";var l=c(e,t,r);if("normal"===l.type){if(n=r.done?"completed":"suspendedYield",l.arg===u)continue;return{value:l.arg,done:r.done}}"throw"===l.type&&(n="completed",r.method="throw",r.arg=l.arg)}}}(e,r,o),i}function c(e,t,r){try{return{type:"normal",arg:e.call(t,r)}}catch(L){return{type:"throw",arg:L}}}e.wrap=l;var u={};function d(){}function m(){}function h(){}var f={};s(f,a,(function(){return this}));var v=Object.getPrototypeOf,p=v&&v(v(N([])));p&&p!==t&&r.call(p,a)&&(f=p);var g=h.prototype=d.prototype=Object.create(f);function y(e){["next","throw","return"].forEach((function(t){s(e,t,(function(e){return this._invoke(t,e)}))}))}function b(e,t){var n;this._invoke=function(a,i){function o(){return new t((function(n,o){!function n(a,i,o,s){var l=c(e[a],e,i);if("throw"!==l.type){var u=l.arg,d=u.value;return d&&"object"==typeof d&&r.call(d,"__await")?t.resolve(d.__await).then((function(e){n("next",e,o,s)}),(function(e){n("throw",e,o,s)})):t.resolve(d).then((function(e){u.value=e,o(u)}),(function(e){return n("throw",e,o,s)}))}s(l.arg)}(a,i,n,o)}))}return n=n?n.then(o,o):o()}}function w(e,t){var r=e.iterator[t.method];if(void 0===r){if(t.delegate=null,"throw"===t.method){if(e.iterator.return&&(t.method="return",t.arg=void 0,w(e,t),"throw"===t.method))return u;t.method="throw",t.arg=new TypeError("The iterator does not provide a 'throw' method")}return u}var n=c(r,e.iterator,t.arg);if("throw"===n.type)return t.method="throw",t.arg=n.arg,t.delegate=null,u;var a=n.arg;return a?a.done?(t[e.resultName]=a.value,t.next=e.nextLoc,"return"!==t.method&&(t.method="next",t.arg=void 0),t.delegate=null,u):a:(t.method="throw",t.arg=new TypeError("iterator result is not an object"),t.delegate=null,u)}function E(e){var t={tryLoc:e[0]};1 in e&&(t.catchLoc=e[1]),2 in e&&(t.finallyLoc=e[2],t.afterLoc=e[3]),this.tryEntries.push(t)}function _(e){var t=e.completion||{};t.type="normal",delete t.arg,e.completion=t}function k(e){this.tryEntries=[{tryLoc:"root"}],e.forEach(E,this),this.reset(!0)}function N(e){if(e){var t=e[a];if(t)return t.call(e);if("function"==typeof e.next)return e;if(!isNaN(e.length)){var n=-1,i=function t(){for(;++n<e.length;)if(r.call(e,n))return t.value=e[n],t.done=!1,t;return t.value=void 0,t.done=!0,t};return i.next=i}}return{next:x}}function x(){return{value:void 0,done:!0}}return m.prototype=h,s(g,"constructor",h),s(h,"constructor",m),m.displayName=s(h,o,"GeneratorFunction"),e.isGeneratorFunction=function(e){var t="function"==typeof e&&e.constructor;return!!t&&(t===m||"GeneratorFunction"===(t.displayName||t.name))},e.mark=function(e){return Object.setPrototypeOf?Object.setPrototypeOf(e,h):(e.__proto__=h,s(e,o,"GeneratorFunction")),e.prototype=Object.create(g),e},e.awrap=function(e){return{__await:e}},y(b.prototype),s(b.prototype,i,(function(){return this})),e.AsyncIterator=b,e.async=function(t,r,n,a,i){void 0===i&&(i=Promise);var o=new b(l(t,r,n,a),i);return e.isGeneratorFunction(r)?o:o.next().then((function(e){return e.done?e.value:o.next()}))},y(g),s(g,o,"Generator"),s(g,a,(function(){return this})),s(g,"toString",(function(){return"[object Generator]"})),e.keys=function(e){var t=[];for(var r in e)t.push(r);return t.reverse(),function r(){for(;t.length;){var n=t.pop();if(n in e)return r.value=n,r.done=!1,r}return r.done=!0,r}},e.values=N,k.prototype={constructor:k,reset:function(e){if(this.prev=0,this.next=0,this.sent=this._sent=void 0,this.done=!1,this.delegate=null,this.method="next",this.arg=void 0,this.tryEntries.forEach(_),!e)for(var t in this)"t"===t.charAt(0)&&r.call(this,t)&&!isNaN(+t.slice(1))&&(this[t]=void 0)},stop:function(){this.done=!0;var e=this.tryEntries[0].completion;if("throw"===e.type)throw e.arg;return this.rval},dispatchException:function(e){if(this.done)throw e;var t=this;function n(r,n){return o.type="throw",o.arg=e,t.next=r,n&&(t.method="next",t.arg=void 0),!!n}for(var a=this.tryEntries.length-1;a>=0;--a){var i=this.tryEntries[a],o=i.completion;if("root"===i.tryLoc)return n("end");if(i.tryLoc<=this.prev){var s=r.call(i,"catchLoc"),l=r.call(i,"finallyLoc");if(s&&l){if(this.prev<i.catchLoc)return n(i.catchLoc,!0);if(this.prev<i.finallyLoc)return n(i.finallyLoc)}else if(s){if(this.prev<i.catchLoc)return n(i.catchLoc,!0)}else{if(!l)throw new Error("try statement without catch or finally");if(this.prev<i.finallyLoc)return n(i.finallyLoc)}}}},abrupt:function(e,t){for(var n=this.tryEntries.length-1;n>=0;--n){var a=this.tryEntries[n];if(a.tryLoc<=this.prev&&r.call(a,"finallyLoc")&&this.prev<a.finallyLoc){var i=a;break}}i&&("break"===e||"continue"===e)&&i.tryLoc<=t&&t<=i.finallyLoc&&(i=null);var o=i?i.completion:{};return o.type=e,o.arg=t,i?(this.method="next",this.next=i.finallyLoc,u):this.complete(o)},complete:function(e,t){if("throw"===e.type)throw e.arg;return"break"===e.type||"continue"===e.type?this.next=e.arg:"return"===e.type?(this.rval=this.arg=e.arg,this.method="return",this.next="end"):"normal"===e.type&&t&&(this.next=t),u},finish:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var r=this.tryEntries[t];if(r.finallyLoc===e)return this.complete(r.completion,r.afterLoc),_(r),u}},catch:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var r=this.tryEntries[t];if(r.tryLoc===e){var n=r.completion;if("throw"===n.type){var a=n.arg;_(r)}return a}}throw new Error("illegal catch attempt")},delegateYield:function(e,t,r){return this.delegate={iterator:N(e),resultName:t,nextLoc:r},"next"===this.method&&(this.arg=void 0),u}},e}var we=function(){var e=Object(s.g)(),t=Object(n.useState)(""),r=Object(c.a)(t,2),i=r[0],o=r[1],u=Object(n.useState)(),d=Object(c.a)(u,2),m=d[0],f=d[1],v=Object(n.useState)(),p=Object(c.a)(v,2),y=p[0],w=p[1];Object(n.useEffect)((function(){try{(function(){var e=Object(l.a)(be().mark((function e(){var t,r,n,a;return be().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(!(i&&i.length>=3)){e.next=12;break}return e.next=3,b.a.get("https://www.ebi.ac.uk/api/v1/ebi-training-autocomplete-keywords?source=trainingcontenthub&_format=json");case 3:return t=e.sent,e.next=6,Promise.all([t]);case 6:r=e.sent,n=Object(c.a)(r,1),a=n[0],f(a),e.next=13;break;case 12:f(void 0);case 13:case"end":return e.stop()}}),e)})));return function(){return e.apply(this,arguments)}})()()}catch(e){alert(e)}}),[i]);var E=function(){var t=Object(l.a)(be().mark((function t(r){return be().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:r.preventDefault(),w(i.trim().replace(":","")),e.push("/search-results?query=".concat(i.trim(),"&domain=ebiweb_training"));case 3:case"end":return t.stop()}}),t)})));return function(e){return t.apply(this,arguments)}}();return a.a.createElement("div",null,a.a.createElement(h,{title:"EMBL-EBI Training",subtitle:"Delivering world-class training in data-driven life sciences."}),a.a.createElement("section",{id:"eventsSearch",className:"embl-grid embl-grid--has-centered-content vf-u-padding__top--800 vf-u-margin__bottom--800 | vf-u-fullbleed vf-u-background-color-ui--grey--light"},a.a.createElement("div",null),a.a.createElement("div",null,a.a.createElement(g,{handleQuerySubmit:E,handleSearch:function(e){o(e.trim().replace(":",""))},search:i,query:y,options:m,optionClick:function(t){o(t.trim().replace(":","")),e.push("/search-results?query=".concat(t.trim(),"&domain=ebiweb_training"))}})),a.a.createElement("div",null)),a.a.createElement("p",null,"\xa0"),a.a.createElement("p",null,"\xa0"),a.a.createElement("p",null,"\xa0"),a.a.createElement("p",null,"\xa0"),a.a.createElement("p",null,"\xa0"),a.a.createElement("p",null,"\xa0"))};function Ee(){Ee=function(){return e};var e={},t=Object.prototype,r=t.hasOwnProperty,n="function"==typeof Symbol?Symbol:{},a=n.iterator||"@@iterator",i=n.asyncIterator||"@@asyncIterator",o=n.toStringTag||"@@toStringTag";function s(e,t,r){return Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}),e[t]}try{s({},"")}catch(L){s=function(e,t,r){return e[t]=r}}function l(e,t,r,n){var a=t&&t.prototype instanceof d?t:d,i=Object.create(a.prototype),o=new k(n||[]);return i._invoke=function(e,t,r){var n="suspendedStart";return function(a,i){if("executing"===n)throw new Error("Generator is already running");if("completed"===n){if("throw"===a)throw i;return x()}for(r.method=a,r.arg=i;;){var o=r.delegate;if(o){var s=w(o,r);if(s){if(s===u)continue;return s}}if("next"===r.method)r.sent=r._sent=r.arg;else if("throw"===r.method){if("suspendedStart"===n)throw n="completed",r.arg;r.dispatchException(r.arg)}else"return"===r.method&&r.abrupt("return",r.arg);n="executing";var l=c(e,t,r);if("normal"===l.type){if(n=r.done?"completed":"suspendedYield",l.arg===u)continue;return{value:l.arg,done:r.done}}"throw"===l.type&&(n="completed",r.method="throw",r.arg=l.arg)}}}(e,r,o),i}function c(e,t,r){try{return{type:"normal",arg:e.call(t,r)}}catch(L){return{type:"throw",arg:L}}}e.wrap=l;var u={};function d(){}function m(){}function h(){}var f={};s(f,a,(function(){return this}));var v=Object.getPrototypeOf,p=v&&v(v(N([])));p&&p!==t&&r.call(p,a)&&(f=p);var g=h.prototype=d.prototype=Object.create(f);function y(e){["next","throw","return"].forEach((function(t){s(e,t,(function(e){return this._invoke(t,e)}))}))}function b(e,t){var n;this._invoke=function(a,i){function o(){return new t((function(n,o){!function n(a,i,o,s){var l=c(e[a],e,i);if("throw"!==l.type){var u=l.arg,d=u.value;return d&&"object"==typeof d&&r.call(d,"__await")?t.resolve(d.__await).then((function(e){n("next",e,o,s)}),(function(e){n("throw",e,o,s)})):t.resolve(d).then((function(e){u.value=e,o(u)}),(function(e){return n("throw",e,o,s)}))}s(l.arg)}(a,i,n,o)}))}return n=n?n.then(o,o):o()}}function w(e,t){var r=e.iterator[t.method];if(void 0===r){if(t.delegate=null,"throw"===t.method){if(e.iterator.return&&(t.method="return",t.arg=void 0,w(e,t),"throw"===t.method))return u;t.method="throw",t.arg=new TypeError("The iterator does not provide a 'throw' method")}return u}var n=c(r,e.iterator,t.arg);if("throw"===n.type)return t.method="throw",t.arg=n.arg,t.delegate=null,u;var a=n.arg;return a?a.done?(t[e.resultName]=a.value,t.next=e.nextLoc,"return"!==t.method&&(t.method="next",t.arg=void 0),t.delegate=null,u):a:(t.method="throw",t.arg=new TypeError("iterator result is not an object"),t.delegate=null,u)}function E(e){var t={tryLoc:e[0]};1 in e&&(t.catchLoc=e[1]),2 in e&&(t.finallyLoc=e[2],t.afterLoc=e[3]),this.tryEntries.push(t)}function _(e){var t=e.completion||{};t.type="normal",delete t.arg,e.completion=t}function k(e){this.tryEntries=[{tryLoc:"root"}],e.forEach(E,this),this.reset(!0)}function N(e){if(e){var t=e[a];if(t)return t.call(e);if("function"==typeof e.next)return e;if(!isNaN(e.length)){var n=-1,i=function t(){for(;++n<e.length;)if(r.call(e,n))return t.value=e[n],t.done=!1,t;return t.value=void 0,t.done=!0,t};return i.next=i}}return{next:x}}function x(){return{value:void 0,done:!0}}return m.prototype=h,s(g,"constructor",h),s(h,"constructor",m),m.displayName=s(h,o,"GeneratorFunction"),e.isGeneratorFunction=function(e){var t="function"==typeof e&&e.constructor;return!!t&&(t===m||"GeneratorFunction"===(t.displayName||t.name))},e.mark=function(e){return Object.setPrototypeOf?Object.setPrototypeOf(e,h):(e.__proto__=h,s(e,o,"GeneratorFunction")),e.prototype=Object.create(g),e},e.awrap=function(e){return{__await:e}},y(b.prototype),s(b.prototype,i,(function(){return this})),e.AsyncIterator=b,e.async=function(t,r,n,a,i){void 0===i&&(i=Promise);var o=new b(l(t,r,n,a),i);return e.isGeneratorFunction(r)?o:o.next().then((function(e){return e.done?e.value:o.next()}))},y(g),s(g,o,"Generator"),s(g,a,(function(){return this})),s(g,"toString",(function(){return"[object Generator]"})),e.keys=function(e){var t=[];for(var r in e)t.push(r);return t.reverse(),function r(){for(;t.length;){var n=t.pop();if(n in e)return r.value=n,r.done=!1,r}return r.done=!0,r}},e.values=N,k.prototype={constructor:k,reset:function(e){if(this.prev=0,this.next=0,this.sent=this._sent=void 0,this.done=!1,this.delegate=null,this.method="next",this.arg=void 0,this.tryEntries.forEach(_),!e)for(var t in this)"t"===t.charAt(0)&&r.call(this,t)&&!isNaN(+t.slice(1))&&(this[t]=void 0)},stop:function(){this.done=!0;var e=this.tryEntries[0].completion;if("throw"===e.type)throw e.arg;return this.rval},dispatchException:function(e){if(this.done)throw e;var t=this;function n(r,n){return o.type="throw",o.arg=e,t.next=r,n&&(t.method="next",t.arg=void 0),!!n}for(var a=this.tryEntries.length-1;a>=0;--a){var i=this.tryEntries[a],o=i.completion;if("root"===i.tryLoc)return n("end");if(i.tryLoc<=this.prev){var s=r.call(i,"catchLoc"),l=r.call(i,"finallyLoc");if(s&&l){if(this.prev<i.catchLoc)return n(i.catchLoc,!0);if(this.prev<i.finallyLoc)return n(i.finallyLoc)}else if(s){if(this.prev<i.catchLoc)return n(i.catchLoc,!0)}else{if(!l)throw new Error("try statement without catch or finally");if(this.prev<i.finallyLoc)return n(i.finallyLoc)}}}},abrupt:function(e,t){for(var n=this.tryEntries.length-1;n>=0;--n){var a=this.tryEntries[n];if(a.tryLoc<=this.prev&&r.call(a,"finallyLoc")&&this.prev<a.finallyLoc){var i=a;break}}i&&("break"===e||"continue"===e)&&i.tryLoc<=t&&t<=i.finallyLoc&&(i=null);var o=i?i.completion:{};return o.type=e,o.arg=t,i?(this.method="next",this.next=i.finallyLoc,u):this.complete(o)},complete:function(e,t){if("throw"===e.type)throw e.arg;return"break"===e.type||"continue"===e.type?this.next=e.arg:"return"===e.type?(this.rval=this.arg=e.arg,this.method="return",this.next="end"):"normal"===e.type&&t&&(this.next=t),u},finish:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var r=this.tryEntries[t];if(r.finallyLoc===e)return this.complete(r.completion,r.afterLoc),_(r),u}},catch:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var r=this.tryEntries[t];if(r.tryLoc===e){var n=r.completion;if("throw"===n.type){var a=n.arg;_(r)}return a}}throw new Error("illegal catch attempt")},delegateYield:function(e,t,r){return this.delegate={iterator:N(e),resultName:t,nextLoc:r},"next"===this.method&&(this.arg=void 0),u}},e}var _e=function(){var e=Object(n.useState)(),t=Object(c.a)(e,2),r=t[0],i=t[1],o=Object(n.useState)(),u=Object(c.a)(o,2),d=u[0],m=u[1],f=Object(n.useState)([]),v=Object(c.a)(f,2),y=v[0],w=v[1],E=Object(n.useState)(),_=Object(c.a)(E,2),k=_[0],N=_[1],x=Object(n.useState)(0),O=Object(c.a)(x,2),S=O[0],T=O[1],C=Object(n.useState)(),B=Object(c.a)(C,2),I=B[0],P=B[1],F=Object(n.useState)(""),G=Object(c.a)(F,2),W=G[0],q=G[1],D=Object(n.useState)(),R=Object(c.a)(D,2),J=R[0],U=R[1],z=Object(s.g)(),H=Object(s.h)();Object(n.useEffect)((function(){try{(function(){var e=Object(l.a)(Ee().mark((function e(){var t;return Ee().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return t=function(){var e=Object(l.a)(Ee().mark((function e(){var t,r,n,a,o,s,l,u,d,h,f,v;return Ee().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return r=new URLSearchParams(H.search),n=r.get("facets")?null===(t=r.get("facets"))||void 0===t?void 0:t.split(","):"",0===(null===y||void 0===y?void 0:y.length)&&w(n),a=r.get("page")?r.get("page"):"1",N(a?parseInt(a):1),o=a?10*(parseInt(a)-1):0,T(o),z.listen((function(e,t){"POP"===t&&(setTimeout((function(){window.scrollTo(0,0)}),700),console.log("POP"))})),s=r.get("query")?r.get("query"):"",U(s),P(s),e.next=13,b.a.get("".concat(p,"/ebisearch/ws/rest/ebiweb_training_online?format=json&query=").concat(s||"domain_source:ebiweb_training_online","&start=").concat(o,"&size=10&fieldurl=true&fields=title,subtitle,description,type,training_type,url,venue,timeframe,slug&facetcount=50&sort=").concat(s&&""!==s?"":"title"));case 13:return l=e.sent,e.next=16,b.a.get("".concat(p,"/ebisearch/ws/rest/ebiweb_training_online?format=json&query=").concat(s||"domain_source:ebiweb_training_online","&start=").concat(o,"&size=10&fieldurl=true&fields=title,subtitle,description,type,training_type,url,venue,timeframe,slug&facetcount=50&sort=").concat(s&&""!==s?"":"title","&facets=").concat(n));case 16:return u=e.sent,e.next=19,b.a.get("".concat(p,"/api/v1/ebi-training-autocomplete-keywords?source=trainingcontenthub&domain=on-demand&_format=json"));case 19:return d=e.sent,e.next=22,Promise.all([d]);case 22:return h=e.sent,f=Object(c.a)(h,1),v=f[0],e.next=27,Y.refreshPlaylists(1);case 27:m(l.data),i(u.data),q(v);case 30:case"end":return e.stop()}}),e)})));return function(){return e.apply(this,arguments)}}(),e.next=3,t();case 3:case"end":return e.stop()}}),e)})));return function(){return e.apply(this,arguments)}})()()}catch(e){alert(e)}}),[y,z,H,k,S,J]);var V=function(){var e=Object(l.a)(Ee().mark((function e(t){var r,n,a,i;return Ee().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:try{(r=t.target).checked?((n=[]).push.apply(n,Object(j.a)(y||[]).concat([r.dataset.facetid+":"+r.dataset.facetlabel])),w(n),z.push("?facets=".concat(n,"&query=").concat(J))):((a=[]).push.apply(a,Object(j.a)(y||[])),i=null===a||void 0===a?void 0:a.indexOf(r.dataset.facetid+":"+r.dataset.facetlabel),a.splice(i,1),a.length>0?w(a):w([]),z.push("?facets=".concat(a,"&query=").concat(J)))}catch(o){alert(o)}case 1:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}(),K=function(){var e=Object(l.a)(Ee().mark((function e(t){return Ee().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:z.push("?facets="),w([]),t.preventDefault();case 3:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}(),Z=function(){var e=Object(l.a)(Ee().mark((function e(t){return Ee().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:t.preventDefault(),U(null===I||void 0===I?void 0:I.trim()),z.push("/on-demand?query=".concat(null===I||void 0===I?void 0:I.trim(),"&domain=ebiweb_training_online"));case 3:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}();return a.a.createElement(a.a.Fragment,null,a.a.createElement("div",{className:"vf-grid vf-grid__col-4"},a.a.createElement("div",{className:"vf-grid__col--span-3"},a.a.createElement(pe,{title:"On-demand training"})),a.a.createElement("div",{className:"vf-grid__col--span-1"},a.a.createElement(L,null))),a.a.createElement("div",{id:"on-demand-masthead-container"},a.a.createElement(h,{title:"On-demand training",subtitle:"Discover our online tutorials and webinar library, designed and delivered by EMBL-EBI experts and our wider training faculty. Openly accessible and available whenever you need them - enabling you to learn flexibly at your own pace, wherever you may be.",isHome:"0"})),a.a.createElement("div",{className:"vf-u-margin__top--800"}),a.a.createElement("div",{className:"vf-content"},a.a.createElement("div",{className:"vf-u-margin__top--400"}),a.a.createElement("section",{className:"vf-grid"},d&&r?a.a.createElement(a.a.Fragment,null,a.a.createElement("div",null,a.a.createElement("div",{className:"vf-u-margin__top--1200"}),a.a.createElement("h3",null,"Refine"),a.a.createElement("form",{id:"filters",className:"vf-list | ebi-academy-facetGroup"},a.a.createElement(A,{click:V,allData:d,data:r,facetsFromURL:y,clear:K,domainSource:"ebiweb_training_online"}))),a.a.createElement("div",null,a.a.createElement("div",{className:"vf-u-margin__top--1200"}),a.a.createElement("div",null,a.a.createElement("section",null,a.a.createElement("div",null),a.a.createElement("div",null,a.a.createElement(g,{handleQuerySubmit:Z,handleSearch:function(e){P(e)},search:I,query:J,options:null===W||void 0===W?void 0:W.data,optionClick:function(e){P(null===e||void 0===e?void 0:e.trim()),U(null===e||void 0===e?void 0:e.trim()),z.push("/on-demand?query=".concat(e.trim(),"&domain=ebiweb_training_online"))},placeholder:"Search within on-demand training"}),a.a.createElement("div",null,a.a.createElement("p",null,"Showing ",a.a.createElement("strong",null,function(){if((null===r||void 0===r?void 0:r.hitCount)&&k){var e="".concat(10*k-9," - ").concat(10*k),t="".concat(10*k-9," - ").concat(r.hitCount);return r.hitCount>=10*k?e:t}}())," "," out of ",a.a.createElement("strong",null,null===r||void 0===r?void 0:r.hitCount)," results ",J?"for ".concat(J):""," in on-demand training"," ")))),a.a.createElement("div",{className:"vf-u-margin__top--1200"}),a.a.createElement(he,{data:r})),r.hitCount>10?a.a.createElement(M,{activePage:k||1,totalItemsCount:r.hitCount,handlePageChange:function(e){N(e),T(e?10*(e-1):1),z.push("?facets=".concat(y,"&page=").concat(e,"&query=").concat(J)),setTimeout((function(){window.scrollTo(0,0)}),700)}}):"")):a.a.createElement("section",{className:"vf-grid"},a.a.createElement("div",null,a.a.createElement("img",{alt:"progress",src:"progressbar.gif"}),a.a.createElement("h4",null,"Loading results..."))))),a.a.createElement("div",{className:"vf-u-margin__top--1200"}))};function ke(){ke=function(){return e};var e={},t=Object.prototype,r=t.hasOwnProperty,n="function"==typeof Symbol?Symbol:{},a=n.iterator||"@@iterator",i=n.asyncIterator||"@@asyncIterator",o=n.toStringTag||"@@toStringTag";function s(e,t,r){return Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}),e[t]}try{s({},"")}catch(L){s=function(e,t,r){return e[t]=r}}function l(e,t,r,n){var a=t&&t.prototype instanceof d?t:d,i=Object.create(a.prototype),o=new k(n||[]);return i._invoke=function(e,t,r){var n="suspendedStart";return function(a,i){if("executing"===n)throw new Error("Generator is already running");if("completed"===n){if("throw"===a)throw i;return x()}for(r.method=a,r.arg=i;;){var o=r.delegate;if(o){var s=w(o,r);if(s){if(s===u)continue;return s}}if("next"===r.method)r.sent=r._sent=r.arg;else if("throw"===r.method){if("suspendedStart"===n)throw n="completed",r.arg;r.dispatchException(r.arg)}else"return"===r.method&&r.abrupt("return",r.arg);n="executing";var l=c(e,t,r);if("normal"===l.type){if(n=r.done?"completed":"suspendedYield",l.arg===u)continue;return{value:l.arg,done:r.done}}"throw"===l.type&&(n="completed",r.method="throw",r.arg=l.arg)}}}(e,r,o),i}function c(e,t,r){try{return{type:"normal",arg:e.call(t,r)}}catch(L){return{type:"throw",arg:L}}}e.wrap=l;var u={};function d(){}function m(){}function h(){}var f={};s(f,a,(function(){return this}));var v=Object.getPrototypeOf,p=v&&v(v(N([])));p&&p!==t&&r.call(p,a)&&(f=p);var g=h.prototype=d.prototype=Object.create(f);function y(e){["next","throw","return"].forEach((function(t){s(e,t,(function(e){return this._invoke(t,e)}))}))}function b(e,t){var n;this._invoke=function(a,i){function o(){return new t((function(n,o){!function n(a,i,o,s){var l=c(e[a],e,i);if("throw"!==l.type){var u=l.arg,d=u.value;return d&&"object"==typeof d&&r.call(d,"__await")?t.resolve(d.__await).then((function(e){n("next",e,o,s)}),(function(e){n("throw",e,o,s)})):t.resolve(d).then((function(e){u.value=e,o(u)}),(function(e){return n("throw",e,o,s)}))}s(l.arg)}(a,i,n,o)}))}return n=n?n.then(o,o):o()}}function w(e,t){var r=e.iterator[t.method];if(void 0===r){if(t.delegate=null,"throw"===t.method){if(e.iterator.return&&(t.method="return",t.arg=void 0,w(e,t),"throw"===t.method))return u;t.method="throw",t.arg=new TypeError("The iterator does not provide a 'throw' method")}return u}var n=c(r,e.iterator,t.arg);if("throw"===n.type)return t.method="throw",t.arg=n.arg,t.delegate=null,u;var a=n.arg;return a?a.done?(t[e.resultName]=a.value,t.next=e.nextLoc,"return"!==t.method&&(t.method="next",t.arg=void 0),t.delegate=null,u):a:(t.method="throw",t.arg=new TypeError("iterator result is not an object"),t.delegate=null,u)}function E(e){var t={tryLoc:e[0]};1 in e&&(t.catchLoc=e[1]),2 in e&&(t.finallyLoc=e[2],t.afterLoc=e[3]),this.tryEntries.push(t)}function _(e){var t=e.completion||{};t.type="normal",delete t.arg,e.completion=t}function k(e){this.tryEntries=[{tryLoc:"root"}],e.forEach(E,this),this.reset(!0)}function N(e){if(e){var t=e[a];if(t)return t.call(e);if("function"==typeof e.next)return e;if(!isNaN(e.length)){var n=-1,i=function t(){for(;++n<e.length;)if(r.call(e,n))return t.value=e[n],t.done=!1,t;return t.value=void 0,t.done=!0,t};return i.next=i}}return{next:x}}function x(){return{value:void 0,done:!0}}return m.prototype=h,s(g,"constructor",h),s(h,"constructor",m),m.displayName=s(h,o,"GeneratorFunction"),e.isGeneratorFunction=function(e){var t="function"==typeof e&&e.constructor;return!!t&&(t===m||"GeneratorFunction"===(t.displayName||t.name))},e.mark=function(e){return Object.setPrototypeOf?Object.setPrototypeOf(e,h):(e.__proto__=h,s(e,o,"GeneratorFunction")),e.prototype=Object.create(g),e},e.awrap=function(e){return{__await:e}},y(b.prototype),s(b.prototype,i,(function(){return this})),e.AsyncIterator=b,e.async=function(t,r,n,a,i){void 0===i&&(i=Promise);var o=new b(l(t,r,n,a),i);return e.isGeneratorFunction(r)?o:o.next().then((function(e){return e.done?e.value:o.next()}))},y(g),s(g,o,"Generator"),s(g,a,(function(){return this})),s(g,"toString",(function(){return"[object Generator]"})),e.keys=function(e){var t=[];for(var r in e)t.push(r);return t.reverse(),function r(){for(;t.length;){var n=t.pop();if(n in e)return r.value=n,r.done=!1,r}return r.done=!0,r}},e.values=N,k.prototype={constructor:k,reset:function(e){if(this.prev=0,this.next=0,this.sent=this._sent=void 0,this.done=!1,this.delegate=null,this.method="next",this.arg=void 0,this.tryEntries.forEach(_),!e)for(var t in this)"t"===t.charAt(0)&&r.call(this,t)&&!isNaN(+t.slice(1))&&(this[t]=void 0)},stop:function(){this.done=!0;var e=this.tryEntries[0].completion;if("throw"===e.type)throw e.arg;return this.rval},dispatchException:function(e){if(this.done)throw e;var t=this;function n(r,n){return o.type="throw",o.arg=e,t.next=r,n&&(t.method="next",t.arg=void 0),!!n}for(var a=this.tryEntries.length-1;a>=0;--a){var i=this.tryEntries[a],o=i.completion;if("root"===i.tryLoc)return n("end");if(i.tryLoc<=this.prev){var s=r.call(i,"catchLoc"),l=r.call(i,"finallyLoc");if(s&&l){if(this.prev<i.catchLoc)return n(i.catchLoc,!0);if(this.prev<i.finallyLoc)return n(i.finallyLoc)}else if(s){if(this.prev<i.catchLoc)return n(i.catchLoc,!0)}else{if(!l)throw new Error("try statement without catch or finally");if(this.prev<i.finallyLoc)return n(i.finallyLoc)}}}},abrupt:function(e,t){for(var n=this.tryEntries.length-1;n>=0;--n){var a=this.tryEntries[n];if(a.tryLoc<=this.prev&&r.call(a,"finallyLoc")&&this.prev<a.finallyLoc){var i=a;break}}i&&("break"===e||"continue"===e)&&i.tryLoc<=t&&t<=i.finallyLoc&&(i=null);var o=i?i.completion:{};return o.type=e,o.arg=t,i?(this.method="next",this.next=i.finallyLoc,u):this.complete(o)},complete:function(e,t){if("throw"===e.type)throw e.arg;return"break"===e.type||"continue"===e.type?this.next=e.arg:"return"===e.type?(this.rval=this.arg=e.arg,this.method="return",this.next="end"):"normal"===e.type&&t&&(this.next=t),u},finish:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var r=this.tryEntries[t];if(r.finallyLoc===e)return this.complete(r.completion,r.afterLoc),_(r),u}},catch:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var r=this.tryEntries[t];if(r.tryLoc===e){var n=r.completion;if("throw"===n.type){var a=n.arg;_(r)}return a}}throw new Error("illegal catch attempt")},delegateYield:function(e,t,r){return this.delegate={iterator:N(e),resultName:t,nextLoc:r},"next"===this.method&&(this.arg=void 0),u}},e}var Ne=function(){var e=Object(n.useState)(),t=Object(c.a)(e,2),r=t[0],i=t[1],o=Object(n.useState)(),d=Object(c.a)(o,2),m=d[0],f=d[1],v=Object(n.useState)([]),y=Object(c.a)(v,2),w=y[0],E=y[1],_=Object(n.useState)(),k=Object(c.a)(_,2),N=k[0],x=k[1],O=Object(n.useState)(0),S=Object(c.a)(O,2),T=S[0],C=S[1],B=Object(n.useState)(),I=Object(c.a)(B,2),P=I[0],F=I[1],G=Object(n.useState)(),W=Object(c.a)(G,2),q=W[0],D=W[1],R=Object(n.useState)(),J=Object(c.a)(R,2),U=J[0],z=J[1],H=Object(s.g)(),V=Object(s.h)();Object(n.useEffect)((function(){try{(function(){var e=Object(l.a)(ke().mark((function e(){var t;return ke().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return t=function(){var e=Object(l.a)(ke().mark((function e(){var t,r,n,a,o,s,l,u,d,m,h,v;return ke().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return r=new URLSearchParams(V.search),n=r.get("facets")?null===(t=r.get("facets"))||void 0===t?void 0:t.split(","):"",a=r.get("page")?r.get("page"):"1",x(a?parseInt(a):1),o=a?10*(parseInt(a)-1):0,C(o),0===(null===w||void 0===w?void 0:w.length)&&E(n),H.listen((function(e,t){"POP"===t&&setTimeout((function(){window.scrollTo(0,0)}),700)})),s=r.get("query")?r.get("query"):"",z(s),F(s),e.next=13,b.a.get("".concat(p,"/ebisearch/ws/rest/ebiweb_training_events?format=json&query=").concat(s||"domain_source:ebiweb_training_events"," AND timeframe:upcoming&start=").concat(o,"&size=10&fieldurl=true&fields=title,description,start_date,end_date,date_time_clean,type,training_type,url,venue,materials,status,timeframe&facetcount=50&sort=").concat(s&&""!==s?"":"start_date"));case 13:return l=e.sent,e.next=16,b.a.get("".concat(p,"/ebisearch/ws/rest/ebiweb_training_events?format=json&query=").concat(s||"domain_source:ebiweb_training_events"," AND timeframe:upcoming&start=").concat(o,"&size=10&fieldurl=true&fields=title,description,start_date,end_date,date_time_clean,type,training_type,url,venue,materials,status,timeframe&facetcount=50&sort=").concat(s&&""!==s?"":"start_date","&facets=").concat(n));case 16:return u=e.sent,e.next=19,b.a.get("".concat(p,"/api/v1/ebi-training-autocomplete-keywords?source=trainingcontenthub&domain=live&_format=json"));case 19:return d=e.sent,e.next=22,Promise.all([d]);case 22:m=e.sent,h=Object(c.a)(m,1),v=h[0],f(l.data),i(u.data),D(v),f(l.data),i(u.data);case 30:case"end":return e.stop()}}),e)})));return function(){return e.apply(this,arguments)}}(),e.next=3,t();case 3:case"end":return e.stop()}}),e)})));return function(){return e.apply(this,arguments)}})()()}catch(e){alert(e)}}),[w,H,V,N,T,U]);var Y=function(){var e=Object(l.a)(ke().mark((function e(t){var r,n,a,i;return ke().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:try{(r=t.target).checked?((n=[]).push.apply(n,Object(j.a)(w||[]).concat([r.dataset.facetid+":"+r.dataset.facetlabel])),E(n),H.push("?facets=".concat(n,"&query=").concat(U))):((a=[]).push.apply(a,Object(j.a)(w||[])),i=null===a||void 0===a?void 0:a.indexOf(r.dataset.facetid+":"+r.dataset.facetlabel),a.splice(i,1),a.length>0?E(a):E([]),H.push("?facets=".concat(a,"&query=").concat(U)))}catch(o){alert(o)}case 1:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}(),K=function(){var e=Object(l.a)(ke().mark((function e(t){return ke().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:H.push("?facets="),E([]),t.preventDefault();case 3:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}(),Z=function(){var e=Object(l.a)(ke().mark((function e(t){return ke().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:t.preventDefault(),z(null===P||void 0===P?void 0:P.trim()),H.push("/live-events?query=".concat(null===P||void 0===P?void 0:P.trim(),"&domain=ebiweb_training_events"));case 3:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}();return a.a.createElement(a.a.Fragment,null,a.a.createElement("div",{className:"vf-grid vf-grid__col-4"},a.a.createElement("div",{className:"vf-grid__col--span-3"},a.a.createElement(pe,{title:"Live training"})),a.a.createElement("div",{className:"vf-grid__col--span-1"},a.a.createElement(L,null))),a.a.createElement(h,{title:"Live training",subtitle:"Join scientists from around the world to advance your bioinformatics skills and knowledge either live online, in person at EMBL-EBI or at your institute with courses developed and delivered by EMBL-EBI. Learn from experts in the field whilst sharing your experiences with scientific peers, broadening your knowledge and your network.",isHome:"0"}),a.a.createElement("div",{className:"vf-u-margin__top--1200"}),a.a.createElement("div",{className:"vf-content"},a.a.createElement("section",{className:"vf-grid"},m&&r?a.a.createElement(a.a.Fragment,null,a.a.createElement("div",null,a.a.createElement(u.b,{className:"vf-tabs__link ebi-academy-catalogue-tabs__link is-active",to:"live-events",role:"tab",id:"tab1","data-tabs__item":"tab1","data-timeframe":"upcoming","aria-selected":"true"},"Upcoming events"),"\xa0\xa0\xa0\xa0\xa0\xa0\xa0\xa0\xa0\xa0",a.a.createElement(u.b,{className:"vf-tabs__link ebi-academy-catalogue-tabs__link",to:"past-events",role:"tab",id:"tab2","data-tabs__item":"tab2","data-timeframe":"past",tabIndex:-1},"Past events"),a.a.createElement("div",{className:"vf-u-margin__top--1200"}),a.a.createElement("h3",null,"Refine"),a.a.createElement("form",{id:"filters",className:"vf-list | ebi-academy-facetGroup"},a.a.createElement(A,{click:Y,allData:m,data:r,facetsFromURL:w,clear:K,domainSource:"ebiweb_training_events"}))),a.a.createElement("div",null,a.a.createElement("div",{className:"vf-u-margin__top--1200"}),a.a.createElement("section",null,a.a.createElement("div",{className:"vf-u-margin__top--400"}),a.a.createElement("section",null,a.a.createElement("div",null),a.a.createElement("div",null,a.a.createElement(g,{handleQuerySubmit:Z,handleSearch:function(e){F(e)},search:P,query:U,options:null===q||void 0===q?void 0:q.data,optionClick:function(e){F(null===e||void 0===e?void 0:e.trim()),z(null===e||void 0===e?void 0:e.trim()),H.push("/live-events?query=".concat(e.trim(),"&domain=ebiweb_training_events"))},placeholder:"Search within live training"}),a.a.createElement("div",null,a.a.createElement("p",null,"Showing ",a.a.createElement("strong",null,function(){if((null===r||void 0===r?void 0:r.hitCount)&&N){var e="".concat(10*N-9," - ").concat(10*N),t="".concat(10*N-9," - ").concat(r.hitCount);return r.hitCount>=10*N?e:t}}())," "," out of ",a.a.createElement("strong",null,null===r||void 0===r?void 0:r.hitCount)," live events"," ")))),a.a.createElement("div",{className:"vf-u-margin__top--1200"}),a.a.createElement(he,{data:r})),r.hitCount>10?a.a.createElement(M,{activePage:N||1,totalItemsCount:r.hitCount,handlePageChange:function(e){x(e),C(e?10*(e-1):1),H.push("?facets=".concat(w,"&page=").concat(e,"&query=").concat(U)),setTimeout((function(){window.scrollTo(0,0)}),700)}}):"")):a.a.createElement("section",{className:"vf-grid"},a.a.createElement("div",null,a.a.createElement("img",{alt:"progress",src:"progressbar.gif"}),a.a.createElement("h4",null,"Loading live events..."))))),a.a.createElement("div",{className:"vf-u-margin__top--1200"}))};r(228);function xe(){xe=function(){return e};var e={},t=Object.prototype,r=t.hasOwnProperty,n="function"==typeof Symbol?Symbol:{},a=n.iterator||"@@iterator",i=n.asyncIterator||"@@asyncIterator",o=n.toStringTag||"@@toStringTag";function s(e,t,r){return Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}),e[t]}try{s({},"")}catch(L){s=function(e,t,r){return e[t]=r}}function l(e,t,r,n){var a=t&&t.prototype instanceof d?t:d,i=Object.create(a.prototype),o=new k(n||[]);return i._invoke=function(e,t,r){var n="suspendedStart";return function(a,i){if("executing"===n)throw new Error("Generator is already running");if("completed"===n){if("throw"===a)throw i;return x()}for(r.method=a,r.arg=i;;){var o=r.delegate;if(o){var s=w(o,r);if(s){if(s===u)continue;return s}}if("next"===r.method)r.sent=r._sent=r.arg;else if("throw"===r.method){if("suspendedStart"===n)throw n="completed",r.arg;r.dispatchException(r.arg)}else"return"===r.method&&r.abrupt("return",r.arg);n="executing";var l=c(e,t,r);if("normal"===l.type){if(n=r.done?"completed":"suspendedYield",l.arg===u)continue;return{value:l.arg,done:r.done}}"throw"===l.type&&(n="completed",r.method="throw",r.arg=l.arg)}}}(e,r,o),i}function c(e,t,r){try{return{type:"normal",arg:e.call(t,r)}}catch(L){return{type:"throw",arg:L}}}e.wrap=l;var u={};function d(){}function m(){}function h(){}var f={};s(f,a,(function(){return this}));var v=Object.getPrototypeOf,p=v&&v(v(N([])));p&&p!==t&&r.call(p,a)&&(f=p);var g=h.prototype=d.prototype=Object.create(f);function y(e){["next","throw","return"].forEach((function(t){s(e,t,(function(e){return this._invoke(t,e)}))}))}function b(e,t){var n;this._invoke=function(a,i){function o(){return new t((function(n,o){!function n(a,i,o,s){var l=c(e[a],e,i);if("throw"!==l.type){var u=l.arg,d=u.value;return d&&"object"==typeof d&&r.call(d,"__await")?t.resolve(d.__await).then((function(e){n("next",e,o,s)}),(function(e){n("throw",e,o,s)})):t.resolve(d).then((function(e){u.value=e,o(u)}),(function(e){return n("throw",e,o,s)}))}s(l.arg)}(a,i,n,o)}))}return n=n?n.then(o,o):o()}}function w(e,t){var r=e.iterator[t.method];if(void 0===r){if(t.delegate=null,"throw"===t.method){if(e.iterator.return&&(t.method="return",t.arg=void 0,w(e,t),"throw"===t.method))return u;t.method="throw",t.arg=new TypeError("The iterator does not provide a 'throw' method")}return u}var n=c(r,e.iterator,t.arg);if("throw"===n.type)return t.method="throw",t.arg=n.arg,t.delegate=null,u;var a=n.arg;return a?a.done?(t[e.resultName]=a.value,t.next=e.nextLoc,"return"!==t.method&&(t.method="next",t.arg=void 0),t.delegate=null,u):a:(t.method="throw",t.arg=new TypeError("iterator result is not an object"),t.delegate=null,u)}function E(e){var t={tryLoc:e[0]};1 in e&&(t.catchLoc=e[1]),2 in e&&(t.finallyLoc=e[2],t.afterLoc=e[3]),this.tryEntries.push(t)}function _(e){var t=e.completion||{};t.type="normal",delete t.arg,e.completion=t}function k(e){this.tryEntries=[{tryLoc:"root"}],e.forEach(E,this),this.reset(!0)}function N(e){if(e){var t=e[a];if(t)return t.call(e);if("function"==typeof e.next)return e;if(!isNaN(e.length)){var n=-1,i=function t(){for(;++n<e.length;)if(r.call(e,n))return t.value=e[n],t.done=!1,t;return t.value=void 0,t.done=!0,t};return i.next=i}}return{next:x}}function x(){return{value:void 0,done:!0}}return m.prototype=h,s(g,"constructor",h),s(h,"constructor",m),m.displayName=s(h,o,"GeneratorFunction"),e.isGeneratorFunction=function(e){var t="function"==typeof e&&e.constructor;return!!t&&(t===m||"GeneratorFunction"===(t.displayName||t.name))},e.mark=function(e){return Object.setPrototypeOf?Object.setPrototypeOf(e,h):(e.__proto__=h,s(e,o,"GeneratorFunction")),e.prototype=Object.create(g),e},e.awrap=function(e){return{__await:e}},y(b.prototype),s(b.prototype,i,(function(){return this})),e.AsyncIterator=b,e.async=function(t,r,n,a,i){void 0===i&&(i=Promise);var o=new b(l(t,r,n,a),i);return e.isGeneratorFunction(r)?o:o.next().then((function(e){return e.done?e.value:o.next()}))},y(g),s(g,o,"Generator"),s(g,a,(function(){return this})),s(g,"toString",(function(){return"[object Generator]"})),e.keys=function(e){var t=[];for(var r in e)t.push(r);return t.reverse(),function r(){for(;t.length;){var n=t.pop();if(n in e)return r.value=n,r.done=!1,r}return r.done=!0,r}},e.values=N,k.prototype={constructor:k,reset:function(e){if(this.prev=0,this.next=0,this.sent=this._sent=void 0,this.done=!1,this.delegate=null,this.method="next",this.arg=void 0,this.tryEntries.forEach(_),!e)for(var t in this)"t"===t.charAt(0)&&r.call(this,t)&&!isNaN(+t.slice(1))&&(this[t]=void 0)},stop:function(){this.done=!0;var e=this.tryEntries[0].completion;if("throw"===e.type)throw e.arg;return this.rval},dispatchException:function(e){if(this.done)throw e;var t=this;function n(r,n){return o.type="throw",o.arg=e,t.next=r,n&&(t.method="next",t.arg=void 0),!!n}for(var a=this.tryEntries.length-1;a>=0;--a){var i=this.tryEntries[a],o=i.completion;if("root"===i.tryLoc)return n("end");if(i.tryLoc<=this.prev){var s=r.call(i,"catchLoc"),l=r.call(i,"finallyLoc");if(s&&l){if(this.prev<i.catchLoc)return n(i.catchLoc,!0);if(this.prev<i.finallyLoc)return n(i.finallyLoc)}else if(s){if(this.prev<i.catchLoc)return n(i.catchLoc,!0)}else{if(!l)throw new Error("try statement without catch or finally");if(this.prev<i.finallyLoc)return n(i.finallyLoc)}}}},abrupt:function(e,t){for(var n=this.tryEntries.length-1;n>=0;--n){var a=this.tryEntries[n];if(a.tryLoc<=this.prev&&r.call(a,"finallyLoc")&&this.prev<a.finallyLoc){var i=a;break}}i&&("break"===e||"continue"===e)&&i.tryLoc<=t&&t<=i.finallyLoc&&(i=null);var o=i?i.completion:{};return o.type=e,o.arg=t,i?(this.method="next",this.next=i.finallyLoc,u):this.complete(o)},complete:function(e,t){if("throw"===e.type)throw e.arg;return"break"===e.type||"continue"===e.type?this.next=e.arg:"return"===e.type?(this.rval=this.arg=e.arg,this.method="return",this.next="end"):"normal"===e.type&&t&&(this.next=t),u},finish:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var r=this.tryEntries[t];if(r.finallyLoc===e)return this.complete(r.completion,r.afterLoc),_(r),u}},catch:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var r=this.tryEntries[t];if(r.tryLoc===e){var n=r.completion;if("throw"===n.type){var a=n.arg;_(r)}return a}}throw new Error("illegal catch attempt")},delegateYield:function(e,t,r){return this.delegate={iterator:N(e),resultName:t,nextLoc:r},"next"===this.method&&(this.arg=void 0),u}},e}var Le=function(e){var t=e.click,r=e.data,i=e.state,o=e.onOpenModal,s=e.onCloseModal,u=e.facetsFromURL,d=Object(n.useState)([]),m=Object(c.a)(d,2),h=m[0],f=m[1],v=function(){var e=Object(l.a)(xe().mark((function e(t){var r,n,a,i;return xe().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(!(r=t.target).checked){e.next=9;break}return n=[],e.next=5,null===n||void 0===n?void 0:n.push.apply(n,Object(j.a)(h).concat(["location:".concat(t.target.dataset.facetlabel)]));case 5:return e.next=7,f(n);case 7:e.next=15;break;case 9:return a=[],e.next=12,null===a||void 0===a?void 0:a.push.apply(a,Object(j.a)(h));case 12:i=null===a||void 0===a?void 0:a.indexOf("location:"+r.dataset.facetlabel),a.splice(i,1),f(a);case 15:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}();return a.a.createElement(a.a.Fragment,null,a.a.createElement("button",{className:"readmore",onClick:function(e){return function(e){if(e.preventDefault(),o(e),u&&u.length>0){var t=null===u||void 0===u?void 0:u.filter((function(e,t,r){return e.includes("location")}));f(t)}else f([])}(e)}},"More locations... ",a.a.createElement("i",{className:"icon icon-common icon-angle-right"})),a.a.createElement(K.a,{open:i,onClose:function(){return s()},classNames:{overlay:"ebi-academy-overlay"},center:!0,blockScroll:!1},a.a.createElement("h2",null,"Location"),a.a.createElement("div",null,null===r||void 0===r?void 0:r.facets.filter((function(e){return"location"===e.id})).map((function(e,t){return a.a.createElement("ul",{key:"locations",className:"vf-list | ebi-academy-facetGroup more-locations"},e.facetValues.map((function(t,r){return a.a.createElement("li",{key:"locations_".concat(r)},a.a.createElement("div",{className:"vf-form__item vf-form__item--checkbox"},a.a.createElement("input",{type:"checkbox",id:"dialog ".concat(t.value),name:t.value,className:"vf-form__checkbox","data-facetid":e.id,"data-facetlabel":t.label,onChange:function(e){return v(e)},checked:-1!==(null===h||void 0===h?void 0:h.indexOf("location:"+t.label))}),a.a.createElement("label",{htmlFor:"dialog ".concat(t.value),"data-id":t.value,className:"vf-form__label",key:"label_".concat(r)}," ",t.label," (",t.count,")"," ")))})))}))),a.a.createElement("div",{className:"vf-u-float__right"},a.a.createElement("button",{className:"vf-button vf-button--primary vf-button--sm",onClick:function(e){return t(h)}},"Apply"))))};r(473);function Oe(){Oe=function(){return e};var e={},t=Object.prototype,r=t.hasOwnProperty,n="function"==typeof Symbol?Symbol:{},a=n.iterator||"@@iterator",i=n.asyncIterator||"@@asyncIterator",o=n.toStringTag||"@@toStringTag";function s(e,t,r){return Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}),e[t]}try{s({},"")}catch(L){s=function(e,t,r){return e[t]=r}}function l(e,t,r,n){var a=t&&t.prototype instanceof d?t:d,i=Object.create(a.prototype),o=new k(n||[]);return i._invoke=function(e,t,r){var n="suspendedStart";return function(a,i){if("executing"===n)throw new Error("Generator is already running");if("completed"===n){if("throw"===a)throw i;return x()}for(r.method=a,r.arg=i;;){var o=r.delegate;if(o){var s=w(o,r);if(s){if(s===u)continue;return s}}if("next"===r.method)r.sent=r._sent=r.arg;else if("throw"===r.method){if("suspendedStart"===n)throw n="completed",r.arg;r.dispatchException(r.arg)}else"return"===r.method&&r.abrupt("return",r.arg);n="executing";var l=c(e,t,r);if("normal"===l.type){if(n=r.done?"completed":"suspendedYield",l.arg===u)continue;return{value:l.arg,done:r.done}}"throw"===l.type&&(n="completed",r.method="throw",r.arg=l.arg)}}}(e,r,o),i}function c(e,t,r){try{return{type:"normal",arg:e.call(t,r)}}catch(L){return{type:"throw",arg:L}}}e.wrap=l;var u={};function d(){}function m(){}function h(){}var f={};s(f,a,(function(){return this}));var v=Object.getPrototypeOf,p=v&&v(v(N([])));p&&p!==t&&r.call(p,a)&&(f=p);var g=h.prototype=d.prototype=Object.create(f);function y(e){["next","throw","return"].forEach((function(t){s(e,t,(function(e){return this._invoke(t,e)}))}))}function b(e,t){var n;this._invoke=function(a,i){function o(){return new t((function(n,o){!function n(a,i,o,s){var l=c(e[a],e,i);if("throw"!==l.type){var u=l.arg,d=u.value;return d&&"object"==typeof d&&r.call(d,"__await")?t.resolve(d.__await).then((function(e){n("next",e,o,s)}),(function(e){n("throw",e,o,s)})):t.resolve(d).then((function(e){u.value=e,o(u)}),(function(e){return n("throw",e,o,s)}))}s(l.arg)}(a,i,n,o)}))}return n=n?n.then(o,o):o()}}function w(e,t){var r=e.iterator[t.method];if(void 0===r){if(t.delegate=null,"throw"===t.method){if(e.iterator.return&&(t.method="return",t.arg=void 0,w(e,t),"throw"===t.method))return u;t.method="throw",t.arg=new TypeError("The iterator does not provide a 'throw' method")}return u}var n=c(r,e.iterator,t.arg);if("throw"===n.type)return t.method="throw",t.arg=n.arg,t.delegate=null,u;var a=n.arg;return a?a.done?(t[e.resultName]=a.value,t.next=e.nextLoc,"return"!==t.method&&(t.method="next",t.arg=void 0),t.delegate=null,u):a:(t.method="throw",t.arg=new TypeError("iterator result is not an object"),t.delegate=null,u)}function E(e){var t={tryLoc:e[0]};1 in e&&(t.catchLoc=e[1]),2 in e&&(t.finallyLoc=e[2],t.afterLoc=e[3]),this.tryEntries.push(t)}function _(e){var t=e.completion||{};t.type="normal",delete t.arg,e.completion=t}function k(e){this.tryEntries=[{tryLoc:"root"}],e.forEach(E,this),this.reset(!0)}function N(e){if(e){var t=e[a];if(t)return t.call(e);if("function"==typeof e.next)return e;if(!isNaN(e.length)){var n=-1,i=function t(){for(;++n<e.length;)if(r.call(e,n))return t.value=e[n],t.done=!1,t;return t.value=void 0,t.done=!0,t};return i.next=i}}return{next:x}}function x(){return{value:void 0,done:!0}}return m.prototype=h,s(g,"constructor",h),s(h,"constructor",m),m.displayName=s(h,o,"GeneratorFunction"),e.isGeneratorFunction=function(e){var t="function"==typeof e&&e.constructor;return!!t&&(t===m||"GeneratorFunction"===(t.displayName||t.name))},e.mark=function(e){return Object.setPrototypeOf?Object.setPrototypeOf(e,h):(e.__proto__=h,s(e,o,"GeneratorFunction")),e.prototype=Object.create(g),e},e.awrap=function(e){return{__await:e}},y(b.prototype),s(b.prototype,i,(function(){return this})),e.AsyncIterator=b,e.async=function(t,r,n,a,i){void 0===i&&(i=Promise);var o=new b(l(t,r,n,a),i);return e.isGeneratorFunction(r)?o:o.next().then((function(e){return e.done?e.value:o.next()}))},y(g),s(g,o,"Generator"),s(g,a,(function(){return this})),s(g,"toString",(function(){return"[object Generator]"})),e.keys=function(e){var t=[];for(var r in e)t.push(r);return t.reverse(),function r(){for(;t.length;){var n=t.pop();if(n in e)return r.value=n,r.done=!1,r}return r.done=!0,r}},e.values=N,k.prototype={constructor:k,reset:function(e){if(this.prev=0,this.next=0,this.sent=this._sent=void 0,this.done=!1,this.delegate=null,this.method="next",this.arg=void 0,this.tryEntries.forEach(_),!e)for(var t in this)"t"===t.charAt(0)&&r.call(this,t)&&!isNaN(+t.slice(1))&&(this[t]=void 0)},stop:function(){this.done=!0;var e=this.tryEntries[0].completion;if("throw"===e.type)throw e.arg;return this.rval},dispatchException:function(e){if(this.done)throw e;var t=this;function n(r,n){return o.type="throw",o.arg=e,t.next=r,n&&(t.method="next",t.arg=void 0),!!n}for(var a=this.tryEntries.length-1;a>=0;--a){var i=this.tryEntries[a],o=i.completion;if("root"===i.tryLoc)return n("end");if(i.tryLoc<=this.prev){var s=r.call(i,"catchLoc"),l=r.call(i,"finallyLoc");if(s&&l){if(this.prev<i.catchLoc)return n(i.catchLoc,!0);if(this.prev<i.finallyLoc)return n(i.finallyLoc)}else if(s){if(this.prev<i.catchLoc)return n(i.catchLoc,!0)}else{if(!l)throw new Error("try statement without catch or finally");if(this.prev<i.finallyLoc)return n(i.finallyLoc)}}}},abrupt:function(e,t){for(var n=this.tryEntries.length-1;n>=0;--n){var a=this.tryEntries[n];if(a.tryLoc<=this.prev&&r.call(a,"finallyLoc")&&this.prev<a.finallyLoc){var i=a;break}}i&&("break"===e||"continue"===e)&&i.tryLoc<=t&&t<=i.finallyLoc&&(i=null);var o=i?i.completion:{};return o.type=e,o.arg=t,i?(this.method="next",this.next=i.finallyLoc,u):this.complete(o)},complete:function(e,t){if("throw"===e.type)throw e.arg;return"break"===e.type||"continue"===e.type?this.next=e.arg:"return"===e.type?(this.rval=this.arg=e.arg,this.method="return",this.next="end"):"normal"===e.type&&t&&(this.next=t),u},finish:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var r=this.tryEntries[t];if(r.finallyLoc===e)return this.complete(r.completion,r.afterLoc),_(r),u}},catch:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var r=this.tryEntries[t];if(r.tryLoc===e){var n=r.completion;if("throw"===n.type){var a=n.arg;_(r)}return a}}throw new Error("illegal catch attempt")},delegateYield:function(e,t,r){return this.delegate={iterator:N(e),resultName:t,nextLoc:r},"next"===this.method&&(this.arg=void 0),u}},e}var Se=function(){var e=Object(n.useState)(),t=Object(c.a)(e,2),r=t[0],i=t[1],o=Object(n.useState)(),d=Object(c.a)(o,2),m=d[0],f=d[1],v=Object(n.useState)([]),y=Object(c.a)(v,2),w=y[0],E=y[1],_=Object(n.useState)(!1),k=Object(c.a)(_,2),N=k[0],x=k[1],O=Object(n.useState)(),S=Object(c.a)(O,2),T=S[0],C=S[1],B=Object(n.useState)(0),I=Object(c.a)(B,2),P=I[0],F=I[1],G=Object(n.useState)(),W=Object(c.a)(G,2),q=W[0],D=W[1],R=Object(n.useState)(),J=Object(c.a)(R,2),U=J[0],z=J[1],H=Object(n.useState)(),V=Object(c.a)(H,2),Y=V[0],K=V[1],Z=Object(s.g)(),X=Object(s.h)();Object(n.useEffect)((function(){try{(function(){var e=Object(l.a)(Oe().mark((function e(){return Oe().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:(function(){var e=Object(l.a)(Oe().mark((function e(){var t,r,n,a,o,s,l,u,d,m,h,v;return Oe().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return r=new URLSearchParams(X.search),n=r.get("facets")?null===(t=r.get("facets"))||void 0===t?void 0:t.split(","):"",0===(null===w||void 0===w?void 0:w.length)&&E(n),a=r.get("page")?r.get("page"):"1",C(a?parseInt(a):1),o=a?10*(parseInt(a)-1):0,F(o),0===(null===w||void 0===w?void 0:w.length)&&E(n),Z.listen((function(e,t){"POP"===t&&setTimeout((function(){window.scrollTo(0,0)}),700)})),s=r.get("query")?r.get("query"):"",K(s),D(s),e.next=14,b.a.get("".concat(p,"/ebisearch/ws/rest/ebiweb_training_events?format=json&query=").concat(s||"domain_source:ebiweb_training_events"," AND timeframe:past&start=").concat(o,"&size=10&fieldurl=true&fields=title,description,start_date,end_date,date_time_clean,type,training_type,url,venue,location,materials,status,timeframe,recording_available&facetcount=50&sort=").concat(s&&""!==s?"":"start_date:desc"));case 14:return l=e.sent,e.next=17,b.a.get("".concat(p,"/ebisearch/ws/rest/ebiweb_training_events?format=json&query=").concat(s||"domain_source:ebiweb_training_events"," AND timeframe:past&start=").concat(o,"&size=10&fieldurl=true&fields=title,description,start_date,end_date,date_time_clean,type,training_type,url,venue,location,materials,status,timeframe,recording_available&facetcount=50&sort=").concat(s&&""!==s?"":"start_date:desc","&facets=").concat(n));case 17:return u=e.sent,e.next=20,b.a.get("".concat(p,"/api/v1/ebi-training-autocomplete-keywords?source=trainingcontenthub&domain=live&_format=json"));case 20:return d=e.sent,e.next=23,Promise.all([d]);case 23:m=e.sent,h=Object(c.a)(m,1),v=h[0],f(l.data),i(u.data),z(v),f(l.data),i(u.data);case 31:case"end":return e.stop()}}),e)})));return function(){return e.apply(this,arguments)}})()();case 2:case"end":return e.stop()}}),e)})));return function(){return e.apply(this,arguments)}})()()}catch(e){alert(e)}}),[w,Z,X,T,P,Y]);var Q=function(e){x(!0),e.preventDefault()},$=function(){x(!1)},ee=function(){var e=Object(l.a)(Oe().mark((function e(t){return Oe().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:Z.push("?facets="),E([]),t.preventDefault(),console.log("reset called");case 4:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}(),te=function(){var e=Object(l.a)(Oe().mark((function e(t){var r,n;return Oe().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return r=t,e.next=3,$();case 3:n=[],w&&w.length>0&&(n=null===w||void 0===w?void 0:w.filter((function(e,t,r){return!e.includes("location")}))),r&&r.length>0&&r.map((function(e,t){var r;return null===(r=n)||void 0===r?void 0:r.push(e)})),n&&n.length>0&&(E(n),Z.push("?facets=".concat(n,"&query=").concat(Y)));case 7:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}(),re=function(){var e=Object(l.a)(Oe().mark((function e(t){var r,n,a,i;return Oe().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:try{(r=t.target).checked?((n=[]).push.apply(n,Object(j.a)(w||[]).concat([r.dataset.facetid+":"+r.dataset.facetlabel])),E(n),Z.push("?facets=".concat(n,"&query=").concat(Y))):((a=[]).push.apply(a,Object(j.a)(w||[])),i=null===a||void 0===a?void 0:a.indexOf(r.dataset.facetid+":"+r.dataset.facetlabel),a.splice(i,1),a.length>0?E(a):E([]),Z.push("?facets=".concat(a,"&query=").concat(Y)))}catch(o){alert(o)}case 1:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}(),ne=function(){var e=Object(l.a)(Oe().mark((function e(t){return Oe().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:t.preventDefault(),K(null===q||void 0===q?void 0:q.trim()),Z.push("/past-events?query=".concat(null===q||void 0===q?void 0:q.trim(),"&domain=ebiweb_training_events"));case 3:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}();return a.a.createElement(a.a.Fragment,null,a.a.createElement("div",{className:"vf-grid vf-grid__col-4"},a.a.createElement("div",{className:"vf-grid__col--span-3"},a.a.createElement(pe,{title:"Live training"})),a.a.createElement("div",{className:"vf-grid__col--span-1"},a.a.createElement(L,null))),a.a.createElement(h,{title:"Live training",subtitle:"Join scientists from around the world to advance your bioinformatics skills and knowledge either live online, in person at EMBL-EBI or at your institute with courses developed and delivered by EMBL-EBI. Learn from experts in the field whilst sharing your experiences with scientific peers, broadening your knowledge and your network.",isHome:"0"}),a.a.createElement("div",{className:"vf-u-margin__top--1200"}),a.a.createElement("div",{className:"vf-content"},a.a.createElement("section",{className:"vf-grid"},m&&r?a.a.createElement(a.a.Fragment,null,a.a.createElement("div",null,a.a.createElement(u.b,{className:"vf-tabs__link ebi-academy-catalogue-tabs__link",to:"live-events",role:"tab",id:"tab1","data-tabs__item":"tab1"},"Upcoming events"),"\xa0\xa0\xa0\xa0\xa0\xa0\xa0\xa0\xa0\xa0",a.a.createElement(u.b,{className:"vf-tabs__link ebi-academy-catalogue-tabs__link is-active",to:"past-events",role:"tab",id:"tab2","data-tabs__item":"tab2","aria-selected":"true"},"Past events"),a.a.createElement("div",{className:"vf-u-margin__top--1600"}),a.a.createElement("h3",{style:{marginTop:"18px"}},"Refine"),a.a.createElement("form",{id:"filters",className:"vf-list | ebi-academy-facetGroup"},a.a.createElement(A,{click:re,allData:m,data:r,facetsFromURL:w,clear:ee,domainSource:"ebiweb_training_events",isPast:!0}),r.facets.filter((function(e){return"location"===e.id})).map((function(e){return e.facetValues.length>10?a.a.createElement(Le,{data:r,click:te,state:N,onOpenModal:Q,onCloseModal:$,facetsFromURL:w}):""})),a.a.createElement("div",{className:"vf-u-margin__top--400"}))),a.a.createElement("div",null,a.a.createElement("section",null,a.a.createElement("div",{className:"vf-u-margin__top--1600"}),a.a.createElement("div",{className:"vf-u-margin__top--1200"}),a.a.createElement(g,{handleQuerySubmit:ne,handleSearch:function(e){D(e)},search:q,query:Y,options:null===U||void 0===U?void 0:U.data,optionClick:function(e){D(null===e||void 0===e?void 0:e.trim()),K(null===e||void 0===e?void 0:e.trim()),Z.push("/past-events?query=".concat(e.trim(),"&domain=ebiweb_training_events"))},placeholder:"Search within past training"}),a.a.createElement("div",null,a.a.createElement("p",null,"Showing ",a.a.createElement("strong",null,function(){if((null===r||void 0===r?void 0:r.hitCount)&&T){var e="".concat(10*T-9," - ").concat(10*T),t="".concat(10*T-9," - ").concat(r.hitCount);return r.hitCount>=10*T?e:t}}())," "," out of ",a.a.createElement("strong",null,null===r||void 0===r?void 0:r.hitCount)," past events"," ")),a.a.createElement(he,{data:r})),r.hitCount>10?a.a.createElement(M,{activePage:T||1,totalItemsCount:r.hitCount,handlePageChange:function(e){C(e),F(e?10*(e-1):1),Z.push("?facets=".concat(w,"&page=").concat(e,"&query=").concat(Y)),setTimeout((function(){window.scrollTo(0,0)}),700)}}):"")):a.a.createElement("section",{className:"vf-grid"},a.a.createElement("div",null,a.a.createElement("img",{alt:"progress",src:"progressbar.gif"}),a.a.createElement("h4",null,"Loading past events..."))))),a.a.createElement("div",{className:"vf-u-margin__top--1200"}))},je=function(){return a.a.createElement("div",{className:"vf-content","data-vf-google-analytics-region":"feedbackbanner"},a.a.createElement("div",{className:"vf-banner vf-banner--alert vf-banner--info"},a.a.createElement("div",{className:"vf-banner__content"},a.a.createElement("p",{className:"vf-banner__text"},"There are delays in the issuing of visas from the UK Government. We encourage you to check if you need a visa and apply in plenty of time before travelling. Current waiting times are three weeks. For more information please visit the UK Gov website:"," ",a.a.createElement("a",{className:"vf-banner__link",href:"https://www.gov.uk/guidance/visa-decision-waiting-times-applications-outside-the-uk#when-you-might-wait-longer"},"https://www.gov.uk/guidance/visa-decision-waiting-times-applications-outside-the-uk#when-you-might-wait-longer")))))};function Te(){Te=function(){return e};var e={},t=Object.prototype,r=t.hasOwnProperty,n="function"==typeof Symbol?Symbol:{},a=n.iterator||"@@iterator",i=n.asyncIterator||"@@asyncIterator",o=n.toStringTag||"@@toStringTag";function s(e,t,r){return Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}),e[t]}try{s({},"")}catch(L){s=function(e,t,r){return e[t]=r}}function l(e,t,r,n){var a=t&&t.prototype instanceof d?t:d,i=Object.create(a.prototype),o=new k(n||[]);return i._invoke=function(e,t,r){var n="suspendedStart";return function(a,i){if("executing"===n)throw new Error("Generator is already running");if("completed"===n){if("throw"===a)throw i;return x()}for(r.method=a,r.arg=i;;){var o=r.delegate;if(o){var s=w(o,r);if(s){if(s===u)continue;return s}}if("next"===r.method)r.sent=r._sent=r.arg;else if("throw"===r.method){if("suspendedStart"===n)throw n="completed",r.arg;r.dispatchException(r.arg)}else"return"===r.method&&r.abrupt("return",r.arg);n="executing";var l=c(e,t,r);if("normal"===l.type){if(n=r.done?"completed":"suspendedYield",l.arg===u)continue;return{value:l.arg,done:r.done}}"throw"===l.type&&(n="completed",r.method="throw",r.arg=l.arg)}}}(e,r,o),i}function c(e,t,r){try{return{type:"normal",arg:e.call(t,r)}}catch(L){return{type:"throw",arg:L}}}e.wrap=l;var u={};function d(){}function m(){}function h(){}var f={};s(f,a,(function(){return this}));var v=Object.getPrototypeOf,p=v&&v(v(N([])));p&&p!==t&&r.call(p,a)&&(f=p);var g=h.prototype=d.prototype=Object.create(f);function y(e){["next","throw","return"].forEach((function(t){s(e,t,(function(e){return this._invoke(t,e)}))}))}function b(e,t){var n;this._invoke=function(a,i){function o(){return new t((function(n,o){!function n(a,i,o,s){var l=c(e[a],e,i);if("throw"!==l.type){var u=l.arg,d=u.value;return d&&"object"==typeof d&&r.call(d,"__await")?t.resolve(d.__await).then((function(e){n("next",e,o,s)}),(function(e){n("throw",e,o,s)})):t.resolve(d).then((function(e){u.value=e,o(u)}),(function(e){return n("throw",e,o,s)}))}s(l.arg)}(a,i,n,o)}))}return n=n?n.then(o,o):o()}}function w(e,t){var r=e.iterator[t.method];if(void 0===r){if(t.delegate=null,"throw"===t.method){if(e.iterator.return&&(t.method="return",t.arg=void 0,w(e,t),"throw"===t.method))return u;t.method="throw",t.arg=new TypeError("The iterator does not provide a 'throw' method")}return u}var n=c(r,e.iterator,t.arg);if("throw"===n.type)return t.method="throw",t.arg=n.arg,t.delegate=null,u;var a=n.arg;return a?a.done?(t[e.resultName]=a.value,t.next=e.nextLoc,"return"!==t.method&&(t.method="next",t.arg=void 0),t.delegate=null,u):a:(t.method="throw",t.arg=new TypeError("iterator result is not an object"),t.delegate=null,u)}function E(e){var t={tryLoc:e[0]};1 in e&&(t.catchLoc=e[1]),2 in e&&(t.finallyLoc=e[2],t.afterLoc=e[3]),this.tryEntries.push(t)}function _(e){var t=e.completion||{};t.type="normal",delete t.arg,e.completion=t}function k(e){this.tryEntries=[{tryLoc:"root"}],e.forEach(E,this),this.reset(!0)}function N(e){if(e){var t=e[a];if(t)return t.call(e);if("function"==typeof e.next)return e;if(!isNaN(e.length)){var n=-1,i=function t(){for(;++n<e.length;)if(r.call(e,n))return t.value=e[n],t.done=!1,t;return t.value=void 0,t.done=!0,t};return i.next=i}}return{next:x}}function x(){return{value:void 0,done:!0}}return m.prototype=h,s(g,"constructor",h),s(h,"constructor",m),m.displayName=s(h,o,"GeneratorFunction"),e.isGeneratorFunction=function(e){var t="function"==typeof e&&e.constructor;return!!t&&(t===m||"GeneratorFunction"===(t.displayName||t.name))},e.mark=function(e){return Object.setPrototypeOf?Object.setPrototypeOf(e,h):(e.__proto__=h,s(e,o,"GeneratorFunction")),e.prototype=Object.create(g),e},e.awrap=function(e){return{__await:e}},y(b.prototype),s(b.prototype,i,(function(){return this})),e.AsyncIterator=b,e.async=function(t,r,n,a,i){void 0===i&&(i=Promise);var o=new b(l(t,r,n,a),i);return e.isGeneratorFunction(r)?o:o.next().then((function(e){return e.done?e.value:o.next()}))},y(g),s(g,o,"Generator"),s(g,a,(function(){return this})),s(g,"toString",(function(){return"[object Generator]"})),e.keys=function(e){var t=[];for(var r in e)t.push(r);return t.reverse(),function r(){for(;t.length;){var n=t.pop();if(n in e)return r.value=n,r.done=!1,r}return r.done=!0,r}},e.values=N,k.prototype={constructor:k,reset:function(e){if(this.prev=0,this.next=0,this.sent=this._sent=void 0,this.done=!1,this.delegate=null,this.method="next",this.arg=void 0,this.tryEntries.forEach(_),!e)for(var t in this)"t"===t.charAt(0)&&r.call(this,t)&&!isNaN(+t.slice(1))&&(this[t]=void 0)},stop:function(){this.done=!0;var e=this.tryEntries[0].completion;if("throw"===e.type)throw e.arg;return this.rval},dispatchException:function(e){if(this.done)throw e;var t=this;function n(r,n){return o.type="throw",o.arg=e,t.next=r,n&&(t.method="next",t.arg=void 0),!!n}for(var a=this.tryEntries.length-1;a>=0;--a){var i=this.tryEntries[a],o=i.completion;if("root"===i.tryLoc)return n("end");if(i.tryLoc<=this.prev){var s=r.call(i,"catchLoc"),l=r.call(i,"finallyLoc");if(s&&l){if(this.prev<i.catchLoc)return n(i.catchLoc,!0);if(this.prev<i.finallyLoc)return n(i.finallyLoc)}else if(s){if(this.prev<i.catchLoc)return n(i.catchLoc,!0)}else{if(!l)throw new Error("try statement without catch or finally");if(this.prev<i.finallyLoc)return n(i.finallyLoc)}}}},abrupt:function(e,t){for(var n=this.tryEntries.length-1;n>=0;--n){var a=this.tryEntries[n];if(a.tryLoc<=this.prev&&r.call(a,"finallyLoc")&&this.prev<a.finallyLoc){var i=a;break}}i&&("break"===e||"continue"===e)&&i.tryLoc<=t&&t<=i.finallyLoc&&(i=null);var o=i?i.completion:{};return o.type=e,o.arg=t,i?(this.method="next",this.next=i.finallyLoc,u):this.complete(o)},complete:function(e,t){if("throw"===e.type)throw e.arg;return"break"===e.type||"continue"===e.type?this.next=e.arg:"return"===e.type?(this.rval=this.arg=e.arg,this.method="return",this.next="end"):"normal"===e.type&&t&&(this.next=t),u},finish:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var r=this.tryEntries[t];if(r.finallyLoc===e)return this.complete(r.completion,r.afterLoc),_(r),u}},catch:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var r=this.tryEntries[t];if(r.tryLoc===e){var n=r.completion;if("throw"===n.type){var a=n.arg;_(r)}return a}}throw new Error("illegal catch attempt")},delegateYield:function(e,t,r){return this.delegate={iterator:N(e),resultName:t,nextLoc:r},"next"===this.method&&(this.arg=void 0),u}},e}var Ce=function(){var e=Object(n.useState)(""),t=Object(c.a)(e,2),r=t[0],i=t[1],o="",u=Object(s.h)(),d=new URLSearchParams(u.search);Object(n.useEffect)((function(){fetch("https://www.embl.org/api/v1/pattern.html?filter-content-type=article&filter-id=".concat(m(o),"&pattern=node-body&source=contenthub")).then((function(e){return e.text()})).then((function(e){i(e)})).catch((function(e){console.warn("Something went wrong.",e)}))})),function(){var e=Object(l.a)(Te().mark((function e(){return Te().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:try{o=d.get("topic")?d.get("topic"):"application-support"}catch(t){alert(t)}case 1:case"end":return e.stop()}}),e)})));return function(){return e.apply(this,arguments)}}()();var m=function(e){return"application-support"===e?"108054":"registration-support"===e?"108636":"payment-support"===e?"108638":"travel-and-accomodation"===e?"108640":void 0};return a.a.createElement("div",null,a.a.createElement("div",{className:"vf-grid vf-grid__col-4"},a.a.createElement("div",{className:"vf-grid__col--span-3"},a.a.createElement(pe,{title:"Help and Support"})),a.a.createElement("div",{className:"vf-grid__col--span-1"},a.a.createElement(L,null))),a.a.createElement("div",{className:"vf-u-margin__top--400"}),a.a.createElement(h,{title:"Help and Support",subtitle:"Check out our tips for course applications and the answers to many questions about attending one of our courses."}),a.a.createElement("section",null,a.a.createElement("div",{className:"vf-u-margin__top--400"}),a.a.createElement("nav",{className:"vf-navigation vf-navigation--main | vf-cluster"},a.a.createElement("ul",{className:"vf-navigation__list | vf-list--inline | vf-cluster__inner"},a.a.createElement("li",{className:"vf-navigation__item"},a.a.createElement("a",{"aria-current":"application-support"===o?"page":void 0,href:"/training/help/?topic=application-support",className:"vf-navigation__link"},"Application support",a.a.createElement("span",{className:"vf-u-sr-only"}," page"))),a.a.createElement("li",{className:"vf-navigation__item"},a.a.createElement("a",{"aria-current":"registration-support"===o?"page":void 0,href:"/training/help/?topic=registration-support",className:"vf-navigation__link"},"Registration support",a.a.createElement("span",{className:"vf-u-sr-only"}," page"))),a.a.createElement("li",{className:"vf-navigation__item"},a.a.createElement("a",{"aria-current":"payment-support"===o?"page":void 0,href:"/training/help/?topic=payment-support",className:"vf-navigation__link"},"Payment support",a.a.createElement("span",{className:"vf-u-sr-only"}," page"))),a.a.createElement("li",{className:"vf-navigation__item"},a.a.createElement("a",{"aria-current":"travel-and-accomodation"===o?"page":void 0,href:"/training/help/?topic=travel-and-accomodation",className:"vf-navigation__link"},"Travel and accommodation",a.a.createElement("span",{className:"vf-u-sr-only"}," page"))))),a.a.createElement("div",{className:"vf-u-margin__top--800"}),a.a.createElement(je,null),a.a.createElement("div",{className:"vf-u-margin__top--800"}),a.a.createElement("div",{dangerouslySetInnerHTML:{__html:r}})),a.a.createElement("div",{className:"vf-u-margin__top--1200"}))},Be=r(317),Me=r.n(Be),Ie=r(314),Ae=function(){var e=Object(n.useState)(""),t=Object(c.a)(e,2),r=t[0],i=t[1];return Object(n.useEffect)((function(){fetch("https://www.embl.org/api/v1/pattern.html?filter-content-type=article&filter-id=108058&pattern=node-body&source=contenthub").then((function(e){return e.text()})).then((function(e){i(e)})).catch((function(e){console.warn("Something went wrong.",e)}))})),a.a.createElement(a.a.Fragment,null,a.a.createElement(Me.a,null,a.a.createElement("title",null,"About EMBL-EBI Training"),a.a.createElement("meta",{property:"og:title",content:"About EMBL-EBI Training"}),a.a.createElement("meta",{property:"og:type",content:"website"}),a.a.createElement("meta",{property:"og:url",content:"https://www.ebi.ac.uk/training/about"}),a.a.createElement("meta",{property:"og:image",content:"https://www.ebi.ac.uk/training/static/media/Homepage.2db87a08.jpg"}),a.a.createElement("meta",{property:"og:description",content:"Discover more about our approach to developing, delivering and supporting bioinformatics training across the world."}),a.a.createElement("meta",{name:"description",content:"Discover more about our approach to developing, delivering and supporting bioinformatics training across the world."}),a.a.createElement("meta",{property:"keywords",content:"EMBL-EBI Training, Bioinformatics, About EMBL-EBI Training"})),a.a.createElement(Ie.a,null,a.a.createElement("link",{rel:"canonical",href:"https://www.ebi.ac.uk/training/about"})),a.a.createElement("div",{className:"vf-grid vf-grid__col-4"},a.a.createElement("div",{className:"vf-grid__col--span-3"},a.a.createElement(pe,{title:"About"})),a.a.createElement("div",{className:"vf-grid__col--span-1"},a.a.createElement(L,null))),a.a.createElement(h,{title:"About EMBL-EBI Training",subtitle:"Discover more about our approach to developing, delivering and supporting bioinformatics training across the world."}),a.a.createElement("section",{id:"displayPage"},a.a.createElement("div",{className:"vf-u-margin__top--1200"}),a.a.createElement("div",{dangerouslySetInnerHTML:{__html:r}})),a.a.createElement("div",{className:"vf-u-margin__top--1200"}))},Pe=function(e){var t=e.url,r=e.title,n=e.overview,i=e.length,o=e.resources_covered;return a.a.createElement("div",{className:"vf-summary vf-summary--event ebi-academy-course-list-item"},a.a.createElement("p",{className:"vf-summary__date"},i),a.a.createElement("h3",{className:"vf-summary__title ebi-academy-summary-title"},a.a.createElement("a",{href:t,className:"vf-summary__link"},q()(r))),a.a.createElement("div",{className:"ebi-academy-course-list-details"},a.a.createElement("p",{className:"vf-summary__text"},q()(n)),a.a.createElement("p",{className:"vf-summary__text"},a.a.createElement("strong",null,"Resources covered"),q()(o))))};function Fe(){Fe=function(){return e};var e={},t=Object.prototype,r=t.hasOwnProperty,n="function"==typeof Symbol?Symbol:{},a=n.iterator||"@@iterator",i=n.asyncIterator||"@@asyncIterator",o=n.toStringTag||"@@toStringTag";function s(e,t,r){return Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}),e[t]}try{s({},"")}catch(L){s=function(e,t,r){return e[t]=r}}function l(e,t,r,n){var a=t&&t.prototype instanceof d?t:d,i=Object.create(a.prototype),o=new k(n||[]);return i._invoke=function(e,t,r){var n="suspendedStart";return function(a,i){if("executing"===n)throw new Error("Generator is already running");if("completed"===n){if("throw"===a)throw i;return x()}for(r.method=a,r.arg=i;;){var o=r.delegate;if(o){var s=w(o,r);if(s){if(s===u)continue;return s}}if("next"===r.method)r.sent=r._sent=r.arg;else if("throw"===r.method){if("suspendedStart"===n)throw n="completed",r.arg;r.dispatchException(r.arg)}else"return"===r.method&&r.abrupt("return",r.arg);n="executing";var l=c(e,t,r);if("normal"===l.type){if(n=r.done?"completed":"suspendedYield",l.arg===u)continue;return{value:l.arg,done:r.done}}"throw"===l.type&&(n="completed",r.method="throw",r.arg=l.arg)}}}(e,r,o),i}function c(e,t,r){try{return{type:"normal",arg:e.call(t,r)}}catch(L){return{type:"throw",arg:L}}}e.wrap=l;var u={};function d(){}function m(){}function h(){}var f={};s(f,a,(function(){return this}));var v=Object.getPrototypeOf,p=v&&v(v(N([])));p&&p!==t&&r.call(p,a)&&(f=p);var g=h.prototype=d.prototype=Object.create(f);function y(e){["next","throw","return"].forEach((function(t){s(e,t,(function(e){return this._invoke(t,e)}))}))}function b(e,t){var n;this._invoke=function(a,i){function o(){return new t((function(n,o){!function n(a,i,o,s){var l=c(e[a],e,i);if("throw"!==l.type){var u=l.arg,d=u.value;return d&&"object"==typeof d&&r.call(d,"__await")?t.resolve(d.__await).then((function(e){n("next",e,o,s)}),(function(e){n("throw",e,o,s)})):t.resolve(d).then((function(e){u.value=e,o(u)}),(function(e){return n("throw",e,o,s)}))}s(l.arg)}(a,i,n,o)}))}return n=n?n.then(o,o):o()}}function w(e,t){var r=e.iterator[t.method];if(void 0===r){if(t.delegate=null,"throw"===t.method){if(e.iterator.return&&(t.method="return",t.arg=void 0,w(e,t),"throw"===t.method))return u;t.method="throw",t.arg=new TypeError("The iterator does not provide a 'throw' method")}return u}var n=c(r,e.iterator,t.arg);if("throw"===n.type)return t.method="throw",t.arg=n.arg,t.delegate=null,u;var a=n.arg;return a?a.done?(t[e.resultName]=a.value,t.next=e.nextLoc,"return"!==t.method&&(t.method="next",t.arg=void 0),t.delegate=null,u):a:(t.method="throw",t.arg=new TypeError("iterator result is not an object"),t.delegate=null,u)}function E(e){var t={tryLoc:e[0]};1 in e&&(t.catchLoc=e[1]),2 in e&&(t.finallyLoc=e[2],t.afterLoc=e[3]),this.tryEntries.push(t)}function _(e){var t=e.completion||{};t.type="normal",delete t.arg,e.completion=t}function k(e){this.tryEntries=[{tryLoc:"root"}],e.forEach(E,this),this.reset(!0)}function N(e){if(e){var t=e[a];if(t)return t.call(e);if("function"==typeof e.next)return e;if(!isNaN(e.length)){var n=-1,i=function t(){for(;++n<e.length;)if(r.call(e,n))return t.value=e[n],t.done=!1,t;return t.value=void 0,t.done=!0,t};return i.next=i}}return{next:x}}function x(){return{value:void 0,done:!0}}return m.prototype=h,s(g,"constructor",h),s(h,"constructor",m),m.displayName=s(h,o,"GeneratorFunction"),e.isGeneratorFunction=function(e){var t="function"==typeof e&&e.constructor;return!!t&&(t===m||"GeneratorFunction"===(t.displayName||t.name))},e.mark=function(e){return Object.setPrototypeOf?Object.setPrototypeOf(e,h):(e.__proto__=h,s(e,o,"GeneratorFunction")),e.prototype=Object.create(g),e},e.awrap=function(e){return{__await:e}},y(b.prototype),s(b.prototype,i,(function(){return this})),e.AsyncIterator=b,e.async=function(t,r,n,a,i){void 0===i&&(i=Promise);var o=new b(l(t,r,n,a),i);return e.isGeneratorFunction(r)?o:o.next().then((function(e){return e.done?e.value:o.next()}))},y(g),s(g,o,"Generator"),s(g,a,(function(){return this})),s(g,"toString",(function(){return"[object Generator]"})),e.keys=function(e){var t=[];for(var r in e)t.push(r);return t.reverse(),function r(){for(;t.length;){var n=t.pop();if(n in e)return r.value=n,r.done=!1,r}return r.done=!0,r}},e.values=N,k.prototype={constructor:k,reset:function(e){if(this.prev=0,this.next=0,this.sent=this._sent=void 0,this.done=!1,this.delegate=null,this.method="next",this.arg=void 0,this.tryEntries.forEach(_),!e)for(var t in this)"t"===t.charAt(0)&&r.call(this,t)&&!isNaN(+t.slice(1))&&(this[t]=void 0)},stop:function(){this.done=!0;var e=this.tryEntries[0].completion;if("throw"===e.type)throw e.arg;return this.rval},dispatchException:function(e){if(this.done)throw e;var t=this;function n(r,n){return o.type="throw",o.arg=e,t.next=r,n&&(t.method="next",t.arg=void 0),!!n}for(var a=this.tryEntries.length-1;a>=0;--a){var i=this.tryEntries[a],o=i.completion;if("root"===i.tryLoc)return n("end");if(i.tryLoc<=this.prev){var s=r.call(i,"catchLoc"),l=r.call(i,"finallyLoc");if(s&&l){if(this.prev<i.catchLoc)return n(i.catchLoc,!0);if(this.prev<i.finallyLoc)return n(i.finallyLoc)}else if(s){if(this.prev<i.catchLoc)return n(i.catchLoc,!0)}else{if(!l)throw new Error("try statement without catch or finally");if(this.prev<i.finallyLoc)return n(i.finallyLoc)}}}},abrupt:function(e,t){for(var n=this.tryEntries.length-1;n>=0;--n){var a=this.tryEntries[n];if(a.tryLoc<=this.prev&&r.call(a,"finallyLoc")&&this.prev<a.finallyLoc){var i=a;break}}i&&("break"===e||"continue"===e)&&i.tryLoc<=t&&t<=i.finallyLoc&&(i=null);var o=i?i.completion:{};return o.type=e,o.arg=t,i?(this.method="next",this.next=i.finallyLoc,u):this.complete(o)},complete:function(e,t){if("throw"===e.type)throw e.arg;return"break"===e.type||"continue"===e.type?this.next=e.arg:"return"===e.type?(this.rval=this.arg=e.arg,this.method="return",this.next="end"):"normal"===e.type&&t&&(this.next=t),u},finish:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var r=this.tryEntries[t];if(r.finallyLoc===e)return this.complete(r.completion,r.afterLoc),_(r),u}},catch:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var r=this.tryEntries[t];if(r.tryLoc===e){var n=r.completion;if("throw"===n.type){var a=n.arg;_(r)}return a}}throw new Error("illegal catch attempt")},delegateYield:function(e,t,r){return this.delegate={iterator:N(e),resultName:t,nextLoc:r},"next"===this.method&&(this.arg=void 0),u}},e}var Ge=function(){var e=Object(s.g)(),t=Object(s.h)(),r=Object(n.useState)(),i=Object(c.a)(r,2),o=i[0],u=i[1],d=Object(n.useState)(!0),m=Object(c.a)(d,2),f=m[0],v=m[1],p=Object(n.useState)(),g=Object(c.a)(p,2),y=g[0],w=g[1],E=Object(n.useState)(),_=Object(c.a)(E,2),k=_[0],N=_[1],x=Object(n.useState)(),O=Object(c.a)(x,2),S=O[0],j=O[1];Object(n.useEffect)((function(){try{(function(){var e=Object(l.a)(Fe().mark((function e(){return Fe().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:(function(){var e=Object(l.a)(Fe().mark((function e(){var r,n,a,i;return Fe().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return r=new URLSearchParams(t.search),n=r.get("page")?r.get("page"):"1",u(n?parseInt(n):1),S&&"All"!==S&&v(!1),k&&v(!1),a="https://trainingcontent.embl.org/offsite-modules-samp?page=".concat(o?o-1:0),k&&S&&(a="https://trainingcontent.embl.org/offsite-modules-samp?keyword=".concat(k,"&length=").concat(S)),k&&!S&&(a="https://trainingcontent.embl.org/offsite-modules-samp?keyword=".concat(k)),S&&!k&&(a="https://trainingcontent.embl.org/offsite-modules-samp?length=".concat(S)),e.next=12,b.a.get(a);case 12:i=e.sent,w(i.data);case 14:case"end":return e.stop()}}),e)})));return function(){return e.apply(this,arguments)}})()();case 2:case"end":return e.stop()}}),e)})));return function(){return e.apply(this,arguments)}})()()}catch(e){alert(e)}}),[e,t,o,k,S]);return a.a.createElement("div",null,a.a.createElement("div",{className:"vf-grid vf-grid__col-4"},a.a.createElement("div",{className:"vf-grid__col--span-3"},a.a.createElement(pe,{title:"Bring the training to you"})),a.a.createElement("div",{className:"vf-grid__col--span-1"},a.a.createElement(L,null))),a.a.createElement("div",{className:"vf-u-margin__top--400"}),a.a.createElement(h,{title:"Bring the training to you",subtitle:"Work with us to bring training to your organisation tailored to the needs of your researchers."}),a.a.createElement("section",null,a.a.createElement("div",{className:"vf-u-margin__top--400"}),a.a.createElement("div",{className:"vf-u-margin__top--400"}),a.a.createElement("link",{rel:"import",href:"https://www.embl.org/api/v1/pattern.html?filter-content-type=article&filter-id=108060&pattern=node-body&source=contenthub","data-target":"self","data-embl-js-content-hub-loader":""})),a.a.createElement("section",{className:"vf-u-margin__top--1600"},a.a.createElement("div",null,a.a.createElement("form",{className:"vf-form"},a.a.createElement("div",{className:"vf-grid"},a.a.createElement("div",{className:"vf-form__item | vf-search__item"},a.a.createElement("input",{id:"textbox-filter",onChange:function(e){return t=e.currentTarget.value,void N(t);var t},type:"search",className:"vf-form__input | vf-search__input",autoComplete:"off",placeholder:"By keyword",maxLength:50,minLength:3})),a.a.createElement("div",{className:"vf-form__item | vf-search__item"},a.a.createElement("select",{className:"vf-form__select",placeholder:"By length",onChange:function(e){return t=e.currentTarget.value,void j(t);var t}},a.a.createElement("option",{selected:!0,value:"All"},"All"),a.a.createElement("option",{value:"Full Day"},"Full Day"),a.a.createElement("option",{value:"Half Day"},"Half Day"))),a.a.createElement("div",{className:"vf-form__item | vf-search__item"},a.a.createElement("input",{onClick:function(t){t.preventDefault(),k&&S&&e.push("?keyword=".concat(k,"&length=").concat(S)),k&&!S&&e.push("?keyword=".concat(k)),S&&!k&&e.push("?length=".concat(S)),k||S&&"All"!==S||v(!0)},type:"submit",value:"Filter",className:"vf-search__button | vf-button vf-button--sm vf-button--primary"})))))),a.a.createElement("div",{className:"vf-content"},a.a.createElement("div",null,a.a.createElement("section",null,a.a.createElement("div",{className:"vf-u-margin__top--1200"},y?y.map((function(e){return a.a.createElement(Pe,{url:e.url,title:e.title,overview:e.overview,length:e.length,resources_covered:e.resources_covered})})):""))),a.a.createElement("div",null,f?a.a.createElement(M,{activePage:o||1,totalItemsCount:28,handlePageChange:function(t){e.push("?page=".concat(t)),setTimeout((function(){window.scrollTo(0,0)}),700)}}):"")))},We=function(){var e=Object(n.useState)(""),t=Object(c.a)(e,2),r=t[0],i=t[1];return Object(n.useEffect)((function(){fetch("https://www.embl.org/api/v1/pattern.html?filter-content-type=article&filter-id=108056&pattern=node-body&source=contenthub").then((function(e){return e.text()})).then((function(e){i(e)})).catch((function(e){console.warn("Something went wrong.",e)}))})),a.a.createElement("div",null,a.a.createElement("div",{className:"vf-grid vf-grid__col-4"},a.a.createElement("div",{className:"vf-grid__col--span-3"},a.a.createElement(pe,{title:"Support for trainers"})),a.a.createElement("div",{className:"vf-grid__col--span-1"},a.a.createElement(L,null))),a.a.createElement("div",{className:"vf-u-margin__top--400"}),a.a.createElement(h,{title:"Support for trainers",subtitle:"Find out how we can help support you and your training courses with openly accessible resources and opportunities for skills development."}),a.a.createElement("section",null,a.a.createElement("div",{className:"vf-u-margin__top--400"}),a.a.createElement("div",{className:"vf-u-margin__top--400"}),a.a.createElement("div",{dangerouslySetInnerHTML:{__html:r}})),a.a.createElement("p",null),a.a.createElement("div",{className:"vf-u-margin__top--1200"}))},qe=r(105);function De(){De=function(){return e};var e={},t=Object.prototype,r=t.hasOwnProperty,n="function"==typeof Symbol?Symbol:{},a=n.iterator||"@@iterator",i=n.asyncIterator||"@@asyncIterator",o=n.toStringTag||"@@toStringTag";function s(e,t,r){return Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}),e[t]}try{s({},"")}catch(L){s=function(e,t,r){return e[t]=r}}function l(e,t,r,n){var a=t&&t.prototype instanceof d?t:d,i=Object.create(a.prototype),o=new k(n||[]);return i._invoke=function(e,t,r){var n="suspendedStart";return function(a,i){if("executing"===n)throw new Error("Generator is already running");if("completed"===n){if("throw"===a)throw i;return x()}for(r.method=a,r.arg=i;;){var o=r.delegate;if(o){var s=w(o,r);if(s){if(s===u)continue;return s}}if("next"===r.method)r.sent=r._sent=r.arg;else if("throw"===r.method){if("suspendedStart"===n)throw n="completed",r.arg;r.dispatchException(r.arg)}else"return"===r.method&&r.abrupt("return",r.arg);n="executing";var l=c(e,t,r);if("normal"===l.type){if(n=r.done?"completed":"suspendedYield",l.arg===u)continue;return{value:l.arg,done:r.done}}"throw"===l.type&&(n="completed",r.method="throw",r.arg=l.arg)}}}(e,r,o),i}function c(e,t,r){try{return{type:"normal",arg:e.call(t,r)}}catch(L){return{type:"throw",arg:L}}}e.wrap=l;var u={};function d(){}function m(){}function h(){}var f={};s(f,a,(function(){return this}));var v=Object.getPrototypeOf,p=v&&v(v(N([])));p&&p!==t&&r.call(p,a)&&(f=p);var g=h.prototype=d.prototype=Object.create(f);function y(e){["next","throw","return"].forEach((function(t){s(e,t,(function(e){return this._invoke(t,e)}))}))}function b(e,t){var n;this._invoke=function(a,i){function o(){return new t((function(n,o){!function n(a,i,o,s){var l=c(e[a],e,i);if("throw"!==l.type){var u=l.arg,d=u.value;return d&&"object"==typeof d&&r.call(d,"__await")?t.resolve(d.__await).then((function(e){n("next",e,o,s)}),(function(e){n("throw",e,o,s)})):t.resolve(d).then((function(e){u.value=e,o(u)}),(function(e){return n("throw",e,o,s)}))}s(l.arg)}(a,i,n,o)}))}return n=n?n.then(o,o):o()}}function w(e,t){var r=e.iterator[t.method];if(void 0===r){if(t.delegate=null,"throw"===t.method){if(e.iterator.return&&(t.method="return",t.arg=void 0,w(e,t),"throw"===t.method))return u;t.method="throw",t.arg=new TypeError("The iterator does not provide a 'throw' method")}return u}var n=c(r,e.iterator,t.arg);if("throw"===n.type)return t.method="throw",t.arg=n.arg,t.delegate=null,u;var a=n.arg;return a?a.done?(t[e.resultName]=a.value,t.next=e.nextLoc,"return"!==t.method&&(t.method="next",t.arg=void 0),t.delegate=null,u):a:(t.method="throw",t.arg=new TypeError("iterator result is not an object"),t.delegate=null,u)}function E(e){var t={tryLoc:e[0]};1 in e&&(t.catchLoc=e[1]),2 in e&&(t.finallyLoc=e[2],t.afterLoc=e[3]),this.tryEntries.push(t)}function _(e){var t=e.completion||{};t.type="normal",delete t.arg,e.completion=t}function k(e){this.tryEntries=[{tryLoc:"root"}],e.forEach(E,this),this.reset(!0)}function N(e){if(e){var t=e[a];if(t)return t.call(e);if("function"==typeof e.next)return e;if(!isNaN(e.length)){var n=-1,i=function t(){for(;++n<e.length;)if(r.call(e,n))return t.value=e[n],t.done=!1,t;return t.value=void 0,t.done=!0,t};return i.next=i}}return{next:x}}function x(){return{value:void 0,done:!0}}return m.prototype=h,s(g,"constructor",h),s(h,"constructor",m),m.displayName=s(h,o,"GeneratorFunction"),e.isGeneratorFunction=function(e){var t="function"==typeof e&&e.constructor;return!!t&&(t===m||"GeneratorFunction"===(t.displayName||t.name))},e.mark=function(e){return Object.setPrototypeOf?Object.setPrototypeOf(e,h):(e.__proto__=h,s(e,o,"GeneratorFunction")),e.prototype=Object.create(g),e},e.awrap=function(e){return{__await:e}},y(b.prototype),s(b.prototype,i,(function(){return this})),e.AsyncIterator=b,e.async=function(t,r,n,a,i){void 0===i&&(i=Promise);var o=new b(l(t,r,n,a),i);return e.isGeneratorFunction(r)?o:o.next().then((function(e){return e.done?e.value:o.next()}))},y(g),s(g,o,"Generator"),s(g,a,(function(){return this})),s(g,"toString",(function(){return"[object Generator]"})),e.keys=function(e){var t=[];for(var r in e)t.push(r);return t.reverse(),function r(){for(;t.length;){var n=t.pop();if(n in e)return r.value=n,r.done=!1,r}return r.done=!0,r}},e.values=N,k.prototype={constructor:k,reset:function(e){if(this.prev=0,this.next=0,this.sent=this._sent=void 0,this.done=!1,this.delegate=null,this.method="next",this.arg=void 0,this.tryEntries.forEach(_),!e)for(var t in this)"t"===t.charAt(0)&&r.call(this,t)&&!isNaN(+t.slice(1))&&(this[t]=void 0)},stop:function(){this.done=!0;var e=this.tryEntries[0].completion;if("throw"===e.type)throw e.arg;return this.rval},dispatchException:function(e){if(this.done)throw e;var t=this;function n(r,n){return o.type="throw",o.arg=e,t.next=r,n&&(t.method="next",t.arg=void 0),!!n}for(var a=this.tryEntries.length-1;a>=0;--a){var i=this.tryEntries[a],o=i.completion;if("root"===i.tryLoc)return n("end");if(i.tryLoc<=this.prev){var s=r.call(i,"catchLoc"),l=r.call(i,"finallyLoc");if(s&&l){if(this.prev<i.catchLoc)return n(i.catchLoc,!0);if(this.prev<i.finallyLoc)return n(i.finallyLoc)}else if(s){if(this.prev<i.catchLoc)return n(i.catchLoc,!0)}else{if(!l)throw new Error("try statement without catch or finally");if(this.prev<i.finallyLoc)return n(i.finallyLoc)}}}},abrupt:function(e,t){for(var n=this.tryEntries.length-1;n>=0;--n){var a=this.tryEntries[n];if(a.tryLoc<=this.prev&&r.call(a,"finallyLoc")&&this.prev<a.finallyLoc){var i=a;break}}i&&("break"===e||"continue"===e)&&i.tryLoc<=t&&t<=i.finallyLoc&&(i=null);var o=i?i.completion:{};return o.type=e,o.arg=t,i?(this.method="next",this.next=i.finallyLoc,u):this.complete(o)},complete:function(e,t){if("throw"===e.type)throw e.arg;return"break"===e.type||"continue"===e.type?this.next=e.arg:"return"===e.type?(this.rval=this.arg=e.arg,this.method="return",this.next="end"):"normal"===e.type&&t&&(this.next=t),u},finish:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var r=this.tryEntries[t];if(r.finallyLoc===e)return this.complete(r.completion,r.afterLoc),_(r),u}},catch:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var r=this.tryEntries[t];if(r.tryLoc===e){var n=r.completion;if("throw"===n.type){var a=n.arg;_(r)}return a}}throw new Error("illegal catch attempt")},delegateYield:function(e,t,r){return this.delegate={iterator:N(e),resultName:t,nextLoc:r},"next"===this.method&&(this.arg=void 0),u}},e}var Re=function(){var e=Object(s.h)(),t=new URLSearchParams(e.search),r="";return function(){var e=Object(l.a)(De().mark((function e(){return De().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:try{r=t.get("year")?t.get("year"):"2022"}catch(n){alert(n)}case 1:case"end":return e.stop()}}),e)})));return function(){return e.apply(this,arguments)}}()(),a.a.createElement("div",null,a.a.createElement("div",{className:"vf-grid vf-grid__col-4"},a.a.createElement("div",{className:"vf-grid__col--span-3"},a.a.createElement(pe,{title:"EMBL-EBI training archive"})),a.a.createElement("div",{className:"vf-grid__col--span-1"},a.a.createElement(L,null))),a.a.createElement("div",{className:"vf-u-margin__top--400"}),a.a.createElement(h,{title:"EMBL-EBI training archive",subtitle:"Browse archived training courses from previous years, representing a broad range of EMBL-EBI services, bioinformatics and data science topics."}),a.a.createElement("section",null,a.a.createElement("nav",{className:"vf-navigation vf-navigation--on-this-page | vf-u-fullbleed | vf-cluster"},a.a.createElement("ul",{className:"vf-navigation__list | vf-list | vf-cluster__inner","data-vf-js-navigation-on-this-page-container":"false"},a.a.createElement("li",{className:"vf-navigation__item"},a.a.createElement(u.b,{to:"/archived/?year=2022",className:"vf-navigation__link","aria-selected":"2022"===r?"true":"false"},"2022",a.a.createElement("span",{className:"vf-u-sr-only"}," page"))),a.a.createElement("li",{className:"vf-navigation__item"},a.a.createElement(u.b,{to:"/archived/?year=2021",className:"vf-navigation__link","aria-selected":"2021"===r?"true":"false"},"2021",a.a.createElement("span",{className:"vf-u-sr-only"}," page"))),a.a.createElement("li",{className:"vf-navigation__item"},a.a.createElement(u.b,{to:"/archived/?year=2020",className:"vf-navigation__link","aria-selected":"2020"===r?"true":"false"},"2020",a.a.createElement("span",{className:"vf-u-sr-only"}," page"))),a.a.createElement("li",{className:"vf-navigation__item"},a.a.createElement(u.b,{to:"/archived/?year=2019",className:"vf-navigation__link","aria-selected":"2019"===r?"true":"false"},"2019",a.a.createElement("span",{className:"vf-u-sr-only"}," page"))),a.a.createElement("li",{className:"vf-navigation__item"},a.a.createElement(u.b,{to:"/archived/?year=2018",className:"vf-navigation__link","aria-selected":"2018"===r?"true":"false"},"2018",a.a.createElement("span",{className:"vf-u-sr-only"}," page"))),a.a.createElement("li",{className:"vf-navigation__item"},a.a.createElement(u.b,{to:"/archived/?year=2017",className:"vf-navigation__link","aria-selected":"2018"===r?"true":"false"},"2017",a.a.createElement("span",{className:"vf-u-sr-only"}," page"))),a.a.createElement("li",{className:"vf-navigation__item"},a.a.createElement(u.b,{to:"/archived/?year=2016",className:"vf-navigation__link","aria-selected":"2016"===r?"true":"false"},"2016",a.a.createElement("span",{className:"vf-u-sr-only"}," page"))),a.a.createElement("li",{className:"vf-navigation__item"},a.a.createElement(u.b,{to:"/archived/?year=2015",className:"vf-navigation__link","aria-selected":"2015"===r?"true":"false"},"2015",a.a.createElement("span",{className:"vf-u-sr-only"}," page"))),a.a.createElement("li",{className:"vf-navigation__item"},a.a.createElement(u.b,{to:"/archived/?year=2014",className:"vf-navigation__link","aria-selected":"2014"===r?"true":"false"},"2014",a.a.createElement("span",{className:"vf-u-sr-only"}," page"))),a.a.createElement("li",{className:"vf-navigation__item"},a.a.createElement(u.b,{to:"/archived/?year=2013",className:"vf-navigation__link","aria-selected":"2013"===r?"true":"false"},"2013",a.a.createElement("span",{className:"vf-u-sr-only"}," page"))),a.a.createElement("li",{className:"vf-navigation__item"},a.a.createElement(u.b,{to:"/archived/?year=2012",className:"vf-navigation__link","aria-selected":"2012"===r?"true":"false"},"2012",a.a.createElement("span",{className:"vf-u-sr-only"}," page"))))),a.a.createElement("hr",{className:"vf-divider"}),qe?a.a.createElement(a.a.Fragment,null,a.a.createElement("ul",{className:"vf-list vf-list--ordered"},null===qe||void 0===qe?void 0:qe.map((function(e){return e.year===r?a.a.createElement("li",{className:"vf-list__item"},a.a.createElement("div",null,e.date," "),a.a.createElement("a",{className:"vf-link",href:"https://".concat(e.url)}," ",e.title)," "):""})))):""),a.a.createElement("div",{className:"vf-u-margin__top--1200"}))},Je=function(){var e=Object(n.useState)(""),t=Object(c.a)(e,2),r=t[0],i=t[1];return Object(n.useEffect)((function(){fetch("https://www.embl.org/api/v1/pattern.html?filter-content-type=article&filter-id=108646&pattern=node-body&source=contenthub").then((function(e){return e.text()})).then((function(e){i(e)})).catch((function(e){console.warn("Something went wrong.",e)}))})),a.a.createElement("div",null,a.a.createElement("div",{className:"vf-grid vf-grid__col-4"},a.a.createElement("div",{className:"vf-grid__col--span-3"},a.a.createElement(pe,{title:"Support for trainers",breadcrumSectionTitle:"Expand your training skills",breadcrumSectionURL:"/training/trainer-support"})),a.a.createElement("div",{className:"vf-grid__col--span-1"},a.a.createElement(L,null))),a.a.createElement("div",{className:"vf-u-margin__top--400"}),a.a.createElement(h,{title:"Expand your training skills",subtitle:"Access resources and training that can help you develop further."}),a.a.createElement("section",null,a.a.createElement("div",{className:"vf-u-margin__top--400"}),a.a.createElement("div",{className:"vf-u-margin__top--400"}),a.a.createElement("div",{dangerouslySetInnerHTML:{__html:r}})),a.a.createElement("div",{className:"vf-u-margin__top--1200"}))},Ue=function(){var e=Object(n.useState)(""),t=Object(c.a)(e,2),r=t[0],i=t[1];return Object(n.useEffect)((function(){fetch("https://www.embl.org/api/v1/pattern.html?filter-content-type=article&filter-id=108644&pattern=node-body&source=contenthub").then((function(e){return e.text()})).then((function(e){i(e)})).catch((function(e){console.warn("Something went wrong.",e)}))})),a.a.createElement("div",null,a.a.createElement("div",{className:"vf-grid vf-grid__col-4"},a.a.createElement("div",{className:"vf-grid__col--span-3"},a.a.createElement(pe,{title:"Support for trainers",breadcrumSectionTitle:"Use our content",breadcrumSectionURL:"/training/trainer-support"})),a.a.createElement("div",{className:"vf-grid__col--span-1"},a.a.createElement(L,null))),a.a.createElement("div",{className:"vf-u-margin__top--400"}),a.a.createElement(h,{title:"Use our content",subtitle:"Access a wealth of standalone online tutorials, webinars and past course content."}),a.a.createElement("section",null,a.a.createElement("div",{className:"vf-u-margin__top--400"}),a.a.createElement("div",{className:"vf-u-margin__top--400"}),a.a.createElement("div",{dangerouslySetInnerHTML:{__html:r}})),a.a.createElement("div",{className:"vf-u-margin__top--1200"}))},ze=r(21),He=function(e){return a.a.createElement("div",{className:"vf-body"},a.a.createElement("div",{className:"sparse-content"},a.a.createElement("div",{className:"vf-u-margin__top--600"}),a.a.createElement("div",{className:"vf-u-margin__top--1200"}),a.a.createElement("section",{className:"vf-intro",id:"403"},a.a.createElement("div",{className:"vf-stack"},a.a.createElement("h1",{className:"vf-intro__heading"},e.status_header),a.a.createElement("p",{className:"vf-lede"},e.status_message),a.a.createElement("p",{className:"vf-intro__text"},e.next_step),e.children,a.a.createElement("section",{className:"embl-grid"},a.a.createElement("div",{className:"vf-content"},e.requires_assitance?a.a.createElement("h3",null,"Need assistance?"):"",e.support_action?a.a.createElement("a",{className:"vf-button vf-button--primary",href:e.support_link?e.support_link:"https://www-db.embl.de/EMBLPersonGroup-PersonPicture/MailForm/?recipient=websupport"},e.support_action):""))))))},Ve=function(e){var t=e.data,r=t[0],n=t[1],i=t[2];return a.a.createElement("div",{className:"vf-stack vf-stack--400"},a.a.createElement("ul",{className:"vf-list"},a.a.createElement("li",{id:i,className:"vf-list__item"},a.a.createElement("span",null,function(){if(n)return document.getElementById(i).style.color="black",a.a.createElement("svg",{width:"24",height:"24",viewBox:"0 0 16 17",fill:"none",xmlns:"http://www.w3.org/2000/svg"},a.a.createElement("rect",{y:"0.5",width:"16",height:"16",rx:"8",fill:"#4fc528"}),a.a.createElement("path",{d:"M6.28211 11.6413C6.11005 11.639 5.94077 11.5976 5.78703 11.5203C5.6333 11.443 5.49914 11.3317 5.39468 11.195L4.14154 9.77042C4.04918 9.65576 4.00465 9.50986 4.01723 9.36316C4.02981 9.21646 4.09853 9.08027 4.20906 8.983C4.3196 8.88573 4.46342 8.83488 4.61053 8.84105C4.75764 8.84723 4.89669 8.90995 4.99868 9.01614L6.17297 10.3527C6.18603 10.3676 6.20203 10.3795 6.21996 10.3879C6.23788 10.3962 6.25734 10.4007 6.27711 10.4012C6.29687 10.4016 6.31651 10.3979 6.33479 10.3904C6.35306 10.3828 6.36956 10.3715 6.38325 10.3573L11.0118 5.53328C11.0635 5.47888 11.1254 5.43519 11.194 5.40471C11.2626 5.37423 11.3365 5.35756 11.4116 5.35565C11.4866 5.35374 11.5613 5.36663 11.6313 5.39358C11.7014 5.42053 11.7654 5.46101 11.8198 5.51271C11.8742 5.56441 11.9179 5.62633 11.9484 5.69491C11.9789 5.7635 11.9955 5.83742 11.9975 5.91245C11.9994 5.98748 11.9865 6.06215 11.9595 6.1322C11.9326 6.20225 11.8921 6.26631 11.8404 6.32071L7.15354 11.2539C7.04625 11.3792 6.91234 11.479 6.76159 11.546C6.61084 11.613 6.44704 11.6456 6.28211 11.6413Z",fill:"white"}))}())," ",a.a.createElement("span",null,r))))},Ye=function(e){var t=Object(n.useState)(!1),r=Object(c.a)(t,2),i=r[0],o=r[1],s=Object(n.useState)(!1),l=Object(c.a)(s,2),u=l[0],d=l[1],m=Object(n.useState)(!1),h=Object(c.a)(m,2),f=h[0],v=h[1],p=Object(n.useState)(!1),g=Object(c.a)(p,2),y=g[0],b=g[1],w=Object(n.useState)(!1),E=Object(c.a)(w,2),_=E[0],k=E[1],N=[["At least 8 characters",_,"pci-01"],["At least one number",f,"pci-02"],["At least one lowercase letter",u,"pci-03"],["At least one uppercase letter",i,"pci-04"],["A special character (~`! @#$%^&*()_-+={[}]|:; \u201c\u2018<,>.?/)",y,"pci-05"]],x=function(){e.input_value.toLowerCase()!==e.input_value?o(!0):o(!1),e.input_value.toUpperCase()!==e.input_value?d(!0):d(!1),/\d/.test(e.input_value)?v(!0):v(!1),/[~`@!#$\xa3\u20ac%\^&*+=.()_\-\[\]\\';,/{}|\\":<>\?]/g.test(e.input_value)?b(!0):b(!1),e.input_value.length>=8?k(!0):k(!1)};return a.a.createElement(a.a.Fragment,null,a.a.createElement(a.a.Fragment,null,a.a.createElement("div",{className:"vf-form__item vf-form__item--inline vf-stack"},a.a.createElement("label",{htmlFor:"new-password",className:"vf-form__label vf-form__label--required"},e.input_label?e.input_label:"Password",e.hide_astericks?"":a.a.createElement(Z,null)),e.children,a.a.createElement("input",{type:"Password",name:"password",id:"new-password",className:"vf-form__input",value:e.input_value,onChange:e.handleChange,onKeyUp:x}),a.a.createElement("p",{className:"vf-form__helper vf-form__helper--error"},e.input_errors)),a.a.createElement("p",null,a.a.createElement("strong",null,"This should contain:")),a.a.createElement("div",null,N.map((function(e){return a.a.createElement(Ve,{data:e})})))))},Ke=r(332),Ze=function(){return[{label:"Afghanistan",value:"Afghanistan"},{label:"\xc5land Islands",value:"\xc5land Islands"},{label:"Albania",value:"Albania"},{label:"Algeria",value:"Algeria"},{label:"American Samoa",value:"American Samoa"},{label:"Andorra",value:"Andorra"},{label:"Angola",value:"Angola"},{label:"Anguilla",value:"Anguilla"},{label:"Antarctica",value:"Antarctica"},{label:"Antigua and Barbuda",value:"Antigua and Barbuda"},{label:"Argentina",value:"Argentina"},{label:"Armenia",value:"Armenia"},{label:"Aruba",value:"Aruba"},{label:"Australia",value:"Australia"},{label:"Austria",value:"Austria"},{label:"Azerbaijan",value:"Azerbaijan"},{label:"Bahamas",value:"Bahamas"},{label:"Bahrain",value:"Bahrain"},{label:"Bangladesh",value:"Bangladesh"},{label:"Barbados",value:"Barbados"},{label:"Belarus",value:"Belarus"},{label:"Belgium",value:"Belgium"},{label:"Belize",value:"Belize"},{label:"Benin",value:"Benin"},{label:"Bermuda",value:"Bermuda"},{label:"Bhutan",value:"Bhutan"},{label:"Bolivia",value:"Bolivia"},{label:"Bosnia and Herzegovina",value:"Bosnia and Herzegovina"},{label:"Botswana",value:"Botswana"},{label:"Bouvet Island",value:"Bouvet Island"},{label:"Brazil",value:"Brazil"},{label:"British Indian Ocean Territory",value:"British Indian Ocean Territory"},{label:"Brunei Darussalam",value:"Brunei Darussalam"},{label:"Bulgaria",value:"Bulgaria"},{label:"Burkina Faso",value:"Burkina Faso"},{label:"Burundi",value:"Burundi"},{label:"Cambodia",value:"Cambodia"},{label:"Cameroon",value:"Cameroon"},{label:"Canada",value:"Canada"},{label:"Cape Verde",value:"Cape Verde"},{label:"Cayman Islands",value:"Cayman Islands"},{label:"Central African Republic",value:"Central African Republic"},{label:"Chad",value:"Chad"},{label:"Chile",value:"Chile"},{label:"China",value:"China"},{label:"Christmas Island",value:"Christmas Island"},{label:"Cocos (Keeling) Islands",value:"Cocos (Keeling) Islands"},{label:"Colombia",value:"Colombia"},{label:"Comoros",value:"Comoros"},{label:"Congo",value:"Congo"},{label:"Congo, The Democratic Republic of the",value:"Congo, The Democratic Republic of the"},{label:"Cook Islands",value:"Cook Islands"},{label:"Costa Rica",value:"Costa Rica"},{label:"Cote D'Ivoire",value:"Cote D'Ivoire"},{label:"Croatia",value:"Croatia"},{label:"Cuba",value:"Cuba"},{label:"Cyprus",value:"Cyprus"},{label:"Czech Republic",value:"Czech Republic"},{label:"Denmark",value:"Denmark"},{label:"Djibouti",value:"Djibouti"},{label:"Dominica",value:"Dominica"},{label:"Dominican Republic",value:"Dominican Republic"},{label:"Ecuador",value:"Ecuador"},{label:"Egypt",value:"Egypt"},{label:"El Salvador",value:"El Salvador"},{label:"Equatorial Guinea",value:"Equatorial Guinea"},{label:"Eritrea",value:"Eritrea"},{label:"Estonia",value:"Estonia"},{label:"Ethiopia",value:"Ethiopia"},{label:"Falkland Islands (Malvinas)",value:"Falkland Islands (Malvinas)"},{label:"Faroe Islands",value:"Faroe Islands"},{label:"Fiji",value:"Fiji"},{label:"Finland",value:"Finland"},{label:"France",value:"France"},{label:"French Guiana",value:"French Guiana"},{label:"French Polynesia",value:"French Polynesia"},{label:"French Southern Territories",value:"French Southern Territories"},{label:"Gabon",value:"Gabon"},{label:"Gambia",value:"Gambia"},{label:"Georgia",value:"Georgia"},{label:"Germany",value:"Germany"},{label:"Ghana",value:"Ghana"},{label:"Gibraltar",value:"Gibraltar"},{label:"Greece",value:"Greece"},{label:"Greenland",value:"Greenland"},{label:"Grenada",value:"Grenada"},{label:"Guadeloupe",value:"Guadeloupe"},{label:"Guam",value:"Guam"},{label:"Guatemala",value:"Guatemala"},{label:"Guernsey",value:"Guernsey"},{label:"Guinea",value:"Guinea"},{label:"Guinea-Bissau",value:"Guinea-Bissau"},{label:"Guyana",value:"Guyana"},{label:"Haiti",value:"Haiti"},{label:"Heard Island and Mcdonald Islands",value:"Heard Island and Mcdonald Islands"},{label:"Holy See (Vatican City State)",value:"Holy See (Vatican City State)"},{label:"Honduras",value:"Honduras"},{label:"Hong Kong",value:"Hong Kong"},{label:"Hungary",value:"Hungary"},{label:"Iceland",value:"Iceland"},{label:"India",value:"India"},{label:"Indonesia",value:"Indonesia"},{label:"Iran, Islamic Republic Of",value:"Iran, Islamic Republic Of"},{label:"Iraq",value:"Iraq"},{label:"Ireland",value:"Ireland"},{label:"Isle of Man",value:"Isle of Man"},{label:"Israel",value:"Israel"},{label:"Italy",value:"Italy"},{label:"Jamaica",value:"Jamaica"},{label:"Japan",value:"Japan"},{label:"Jersey",value:"Jersey"},{label:"Jordan",value:"Jordan"},{label:"Kazakhstan",value:"Kazakhstan"},{label:"Kenya",value:"Kenya"},{label:"Kiribati",value:"Kiribati"},{label:"Korea, Democratic People'S Republic of",value:"Korea, Democratic People'S Republic of"},{label:"Korea, Republic of",value:"Korea, Republic of"},{label:"Kuwait",value:"Kuwait"},{label:"Kyrgyzstan",value:"Kyrgyzstan"},{label:"Lao People's Democratic Republic",value:"Lao People's Democratic Republic"},{label:"Latvia",value:"Latvia"},{label:"Lebanon",value:"Lebanon"},{label:"Lesotho",value:"Lesotho"},{label:"Liberia",value:"Liberia"},{label:"Libyan Arab Jamahiriya",value:"Libyan Arab Jamahiriya"},{label:"Liechtenstein",value:"Liechtenstein"},{label:"Lithuania",value:"Lithuania"},{label:"Luxembourg",value:"Luxembourg"},{label:"Macao",value:"Macao"},{label:"Macedonia, The Former Yugoslav Republic of",value:"Macedonia, The Former Yugoslav Republic of"},{label:"Madagascar",value:"Madagascar"},{label:"Malawi",value:"Malawi"},{label:"Malaysia",value:"Malaysia"},{label:"Maldives",value:"Maldives"},{label:"Mali",value:"Mali"},{label:"Malta",value:"Malta"},{label:"Marshall Islands",value:"Marshall Islands"},{label:"Martinique",value:"Martinique"},{label:"Mauritania",value:"Mauritania"},{label:"Mauritius",value:"Mauritius"},{label:"Mayotte",value:"Mayotte"},{label:"Mexico",value:"Mexico"},{label:"Micronesia, Federated States of",value:"Micronesia, Federated States of"},{label:"Moldova, Republic of",value:"Moldova, Republic of"},{label:"Monaco",value:"Monaco"},{label:"Mongolia",value:"Mongolia"},{label:"Montserrat",value:"Montserrat"},{label:"Morocco",value:"Morocco"},{label:"Mozambique",value:"Mozambique"},{label:"Myanmar",value:"Myanmar"},{label:"Namibia",value:"Namibia"},{label:"Nauru",value:"Nauru"},{label:"Nepal",value:"Nepal"},{label:"Netherlands",value:"Netherlands"},{label:"Netherlands Antilles",value:"Netherlands Antilles"},{label:"New Caledonia",value:"New Caledonia"},{label:"New Zealand",value:"New Zealand"},{label:"Nicaragua",value:"Nicaragua"},{label:"Niger",value:"Niger"},{label:"Nigeria",value:"Nigeria"},{label:"Niue",value:"Niue"},{label:"Norfolk Island",value:"Norfolk Island"},{label:"Northern Mariana Islands",value:"Northern Mariana Islands"},{label:"Norway",value:"Norway"},{label:"Oman",value:"Oman"},{label:"Pakistan",value:"Pakistan"},{label:"Palau",value:"Palau"},{label:"Palestinian Territory, Occupied",value:"Palestinian Territory, Occupied"},{label:"Panama",value:"Panama"},{label:"Papua New Guinea",value:"Papua New Guinea"},{label:"Paraguay",value:"Paraguay"},{label:"Peru",value:"Peru"},{label:"Philippines",value:"Philippines"},{label:"Pitcairn",value:"Pitcairn"},{label:"Poland",value:"Poland"},{label:"Portugal",value:"Portugal"},{label:"Puerto Rico",value:"Puerto Rico"},{label:"Qatar",value:"Qatar"},{label:"Reunion",value:"Reunion"},{label:"Romania",value:"Romania"},{label:"Russian Federation",value:"Russian Federation"},{label:"RWANDA",value:"RWANDA"},{label:"Saint Helena",value:"Saint Helena"},{label:"Saint Kitts and Nevis",value:"Saint Kitts and Nevis"},{label:"Saint Lucia",value:"Saint Lucia"},{label:"Saint Pierre and Miquelon",value:"Saint Pierre and Miquelon"},{label:"Saint Vincent and the Grenadines",value:"Saint Vincent and the Grenadines"},{label:"Samoa",value:"Samoa"},{label:"San Marino",value:"San Marino"},{label:"Sao Tome and Principe",value:"Sao Tome and Principe"},{label:"Saudi Arabia",value:"Saudi Arabia"},{label:"Senegal",value:"Senegal"},{label:"Serbia and Montenegro",value:"Serbia and Montenegro"},{label:"Seychelles",value:"Seychelles"},{label:"Sierra Leone",value:"Sierra Leone"},{label:"Singapore",value:"Singapore"},{label:"Slovakia",value:"Slovakia"},{label:"Slovenia",value:"Slovenia"},{label:"Solomon Islands",value:"Solomon Islands"},{label:"Somalia",value:"Somalia"},{label:"South Africa",value:"South Africa"},{label:"South Georgia and the South Sandwich Islands",value:"South Georgia and the South Sandwich Islands"},{label:"Spain",value:"Spain"},{label:"Sri Lanka",value:"Sri Lanka"},{label:"Sudan",value:"Sudan"},{label:"Suriname",value:"Suriname"},{label:"Svalbard and Jan Mayen",value:"Svalbard and Jan Mayen"},{label:"Swaziland",value:"Swaziland"},{label:"Sweden",value:"Sweden"},{label:"Switzerland",value:"Switzerland"},{label:"Syrian Arab Republic",value:"Syrian Arab Republic"},{label:"Taiwan",value:"Taiwan"},{label:"Tajikistan",value:"Tajikistan"},{label:"Tanzania, United Republic of",value:"Tanzania, United Republic of"},{label:"Thailand",value:"Thailand"},{label:"Timor-Leste",value:"Timor-Leste"},{label:"Togo",value:"Togo"},{label:"Tokelau",value:"Tokelau"},{label:"Tonga",value:"Tonga"},{label:"Trinidad and Tobago",value:"Trinidad and Tobago"},{label:"Tunisia",value:"Tunisia"},{label:"Turkey",value:"Turkey"},{label:"Turkmenistan",value:"Turkmenistan"},{label:"Turks and Caicos Islands",value:"Turks and Caicos Islands"},{label:"Tuvalu",value:"Tuvalu"},{label:"Uganda",value:"Uganda"},{label:"Ukraine",value:"Ukraine"},{label:"United Arab Emirates",value:"United Arab Emirates"},{label:"United Kingdom",value:"United Kingdom"},{label:"United States",value:"United States"},{label:"United States Minor Outlying Islands",value:"United States Minor Outlying Islands"},{label:"Uruguay",value:"Uruguay"},{label:"Uzbekistan",value:"Uzbekistan"},{label:"Vanuatu",value:"Vanuatu"},{label:"Venezuela",value:"Venezuela"},{label:"VietNam",value:"VietNam"},{label:"Virgin Islands, British",value:"Virgin Islands, British"},{label:"Virgin Islands, U.S.",value:"Virgin Islands, U.S."},{label:"Wallis and Futuna",value:"Wallis and Futuna"},{label:"Western Sahara",value:"Western Sahara"},{label:"Yemen",value:"Yemen"},{label:"Zambia",value:"Zambia"},{label:"Zimbabwe",value:"Zimbabwe"}]},Xe=function(e){Object(J.a)(r,e);var t=Object(U.a)(r);function r(){return Object(D.a)(this,r),t.apply(this,arguments)}return Object(R.a)(r,[{key:"componentDidMount",value:function(){document.getElementById("countries-selector").autocomplete="off"}},{key:"render",value:function(){var e=Ze();return a.a.createElement(a.a.Fragment,null,a.a.createElement("label",{className:"vf-form__label vf-form__label--required",htmlFor:"countries-selector"},"Country of Residence",a.a.createElement(Z,null)),a.a.createElement(Ke.a,{id:"country_of_residence",options:e,classNamePrefix:"custom-dropdown",className:"custom-dropdown",inputId:"countries-selector",name:"country",onChange:this.props.handleChange,value:this.props.input_value}))}}]),r}(a.a.Component),Qe=function(e){Object(J.a)(r,e);var t=Object(U.a)(r);function r(){return Object(D.a)(this,r),t.apply(this,arguments)}return Object(R.a)(r,[{key:"render",value:function(){return a.a.createElement(a.a.Fragment,null,a.a.createElement("div",{className:"vf-banner vf-banner--alert vf-banner--warning vf-u-margin__top--800"},a.a.createElement("div",{className:"vf-banner__content"},a.a.createElement("p",{className:"vf-banner__text"},this.props.error_message))))}}]),r}(a.a.Component);function $e(){$e=function(){return e};var e={},t=Object.prototype,r=t.hasOwnProperty,n="function"==typeof Symbol?Symbol:{},a=n.iterator||"@@iterator",i=n.asyncIterator||"@@asyncIterator",o=n.toStringTag||"@@toStringTag";function s(e,t,r){return Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}),e[t]}try{s({},"")}catch(L){s=function(e,t,r){return e[t]=r}}function l(e,t,r,n){var a=t&&t.prototype instanceof d?t:d,i=Object.create(a.prototype),o=new k(n||[]);return i._invoke=function(e,t,r){var n="suspendedStart";return function(a,i){if("executing"===n)throw new Error("Generator is already running");if("completed"===n){if("throw"===a)throw i;return x()}for(r.method=a,r.arg=i;;){var o=r.delegate;if(o){var s=w(o,r);if(s){if(s===u)continue;return s}}if("next"===r.method)r.sent=r._sent=r.arg;else if("throw"===r.method){if("suspendedStart"===n)throw n="completed",r.arg;r.dispatchException(r.arg)}else"return"===r.method&&r.abrupt("return",r.arg);n="executing";var l=c(e,t,r);if("normal"===l.type){if(n=r.done?"completed":"suspendedYield",l.arg===u)continue;return{value:l.arg,done:r.done}}"throw"===l.type&&(n="completed",r.method="throw",r.arg=l.arg)}}}(e,r,o),i}function c(e,t,r){try{return{type:"normal",arg:e.call(t,r)}}catch(L){return{type:"throw",arg:L}}}e.wrap=l;var u={};function d(){}function m(){}function h(){}var f={};s(f,a,(function(){return this}));var v=Object.getPrototypeOf,p=v&&v(v(N([])));p&&p!==t&&r.call(p,a)&&(f=p);var g=h.prototype=d.prototype=Object.create(f);function y(e){["next","throw","return"].forEach((function(t){s(e,t,(function(e){return this._invoke(t,e)}))}))}function b(e,t){var n;this._invoke=function(a,i){function o(){return new t((function(n,o){!function n(a,i,o,s){var l=c(e[a],e,i);if("throw"!==l.type){var u=l.arg,d=u.value;return d&&"object"==typeof d&&r.call(d,"__await")?t.resolve(d.__await).then((function(e){n("next",e,o,s)}),(function(e){n("throw",e,o,s)})):t.resolve(d).then((function(e){u.value=e,o(u)}),(function(e){return n("throw",e,o,s)}))}s(l.arg)}(a,i,n,o)}))}return n=n?n.then(o,o):o()}}function w(e,t){var r=e.iterator[t.method];if(void 0===r){if(t.delegate=null,"throw"===t.method){if(e.iterator.return&&(t.method="return",t.arg=void 0,w(e,t),"throw"===t.method))return u;t.method="throw",t.arg=new TypeError("The iterator does not provide a 'throw' method")}return u}var n=c(r,e.iterator,t.arg);if("throw"===n.type)return t.method="throw",t.arg=n.arg,t.delegate=null,u;var a=n.arg;return a?a.done?(t[e.resultName]=a.value,t.next=e.nextLoc,"return"!==t.method&&(t.method="next",t.arg=void 0),t.delegate=null,u):a:(t.method="throw",t.arg=new TypeError("iterator result is not an object"),t.delegate=null,u)}function E(e){var t={tryLoc:e[0]};1 in e&&(t.catchLoc=e[1]),2 in e&&(t.finallyLoc=e[2],t.afterLoc=e[3]),this.tryEntries.push(t)}function _(e){var t=e.completion||{};t.type="normal",delete t.arg,e.completion=t}function k(e){this.tryEntries=[{tryLoc:"root"}],e.forEach(E,this),this.reset(!0)}function N(e){if(e){var t=e[a];if(t)return t.call(e);if("function"==typeof e.next)return e;if(!isNaN(e.length)){var n=-1,i=function t(){for(;++n<e.length;)if(r.call(e,n))return t.value=e[n],t.done=!1,t;return t.value=void 0,t.done=!0,t};return i.next=i}}return{next:x}}function x(){return{value:void 0,done:!0}}return m.prototype=h,s(g,"constructor",h),s(h,"constructor",m),m.displayName=s(h,o,"GeneratorFunction"),e.isGeneratorFunction=function(e){var t="function"==typeof e&&e.constructor;return!!t&&(t===m||"GeneratorFunction"===(t.displayName||t.name))},e.mark=function(e){return Object.setPrototypeOf?Object.setPrototypeOf(e,h):(e.__proto__=h,s(e,o,"GeneratorFunction")),e.prototype=Object.create(g),e},e.awrap=function(e){return{__await:e}},y(b.prototype),s(b.prototype,i,(function(){return this})),e.AsyncIterator=b,e.async=function(t,r,n,a,i){void 0===i&&(i=Promise);var o=new b(l(t,r,n,a),i);return e.isGeneratorFunction(r)?o:o.next().then((function(e){return e.done?e.value:o.next()}))},y(g),s(g,o,"Generator"),s(g,a,(function(){return this})),s(g,"toString",(function(){return"[object Generator]"})),e.keys=function(e){var t=[];for(var r in e)t.push(r);return t.reverse(),function r(){for(;t.length;){var n=t.pop();if(n in e)return r.value=n,r.done=!1,r}return r.done=!0,r}},e.values=N,k.prototype={constructor:k,reset:function(e){if(this.prev=0,this.next=0,this.sent=this._sent=void 0,this.done=!1,this.delegate=null,this.method="next",this.arg=void 0,this.tryEntries.forEach(_),!e)for(var t in this)"t"===t.charAt(0)&&r.call(this,t)&&!isNaN(+t.slice(1))&&(this[t]=void 0)},stop:function(){this.done=!0;var e=this.tryEntries[0].completion;if("throw"===e.type)throw e.arg;return this.rval},dispatchException:function(e){if(this.done)throw e;var t=this;function n(r,n){return o.type="throw",o.arg=e,t.next=r,n&&(t.method="next",t.arg=void 0),!!n}for(var a=this.tryEntries.length-1;a>=0;--a){var i=this.tryEntries[a],o=i.completion;if("root"===i.tryLoc)return n("end");if(i.tryLoc<=this.prev){var s=r.call(i,"catchLoc"),l=r.call(i,"finallyLoc");if(s&&l){if(this.prev<i.catchLoc)return n(i.catchLoc,!0);if(this.prev<i.finallyLoc)return n(i.finallyLoc)}else if(s){if(this.prev<i.catchLoc)return n(i.catchLoc,!0)}else{if(!l)throw new Error("try statement without catch or finally");if(this.prev<i.finallyLoc)return n(i.finallyLoc)}}}},abrupt:function(e,t){for(var n=this.tryEntries.length-1;n>=0;--n){var a=this.tryEntries[n];if(a.tryLoc<=this.prev&&r.call(a,"finallyLoc")&&this.prev<a.finallyLoc){var i=a;break}}i&&("break"===e||"continue"===e)&&i.tryLoc<=t&&t<=i.finallyLoc&&(i=null);var o=i?i.completion:{};return o.type=e,o.arg=t,i?(this.method="next",this.next=i.finallyLoc,u):this.complete(o)},complete:function(e,t){if("throw"===e.type)throw e.arg;return"break"===e.type||"continue"===e.type?this.next=e.arg:"return"===e.type?(this.rval=this.arg=e.arg,this.method="return",this.next="end"):"normal"===e.type&&t&&(this.next=t),u},finish:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var r=this.tryEntries[t];if(r.finallyLoc===e)return this.complete(r.completion,r.afterLoc),_(r),u}},catch:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var r=this.tryEntries[t];if(r.tryLoc===e){var n=r.completion;if("throw"===n.type){var a=n.arg;_(r)}return a}}throw new Error("illegal catch attempt")},delegateYield:function(e,t,r){return this.delegate={iterator:N(e),resultName:t,nextLoc:r},"next"===this.method&&(this.arg=void 0),u}},e}var et=window.location.href,tt="/";tt=-1!==et.search("wwwdev")||-1!==et.search("localhost")?"https://wwwdev.ebi.ac.uk/training/usercontent/saml/login":"https://www.ebi.ac.uk/training/usercontent/saml/login";var rt=function(e){Object(J.a)(r,e);var t=Object(U.a)(r);function r(e){var n;return Object(D.a)(this,r),(n=t.call(this,e)).state={user:{first_name:"",last_name:"",email:"",country:"",organisation:"",password:"",password_confirmation:"",gdpr:!1,subscribed_to_mailing_list:"No",authenticated:!1},errors:{first_name:null,last_name:null,email:null,country:null,organisation:null,password:null,password_confirmation:null,gdpr:""},all_countries:[],registration_completed:!1,flood_error:null,loading:!1},n.handleChange=n.handleChange.bind(Object(ze.a)(n)),n.handleSubmit=n.handleSubmit.bind(Object(ze.a)(n)),n.validateInput=n.validateInput.bind(Object(ze.a)(n)),n.capitalizeFirstLetter=n.capitalizeFirstLetter.bind(Object(ze.a)(n)),n.handleCountryChange=n.handleCountryChange.bind(Object(ze.a)(n)),n}return Object(R.a)(r,[{key:"componentDidMount",value:function(){var e=Object(l.a)($e().mark((function e(){var t;return $e().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return this.setState({uid:Date.now()}),e.next=3,H.isCurrentlyAuthenticated();case 3:t=e.sent,this.setState({authenticated:t});case 5:case"end":return e.stop()}}),e,this)})));return function(){return e.apply(this,arguments)}}()},{key:"output",value:function(){return this.state.registration_completed?a.a.createElement(He,{status_header:"Your account has been created",status_message:"We've sent a verification link to "+this.state.user.email,next_step:"Click on the link to verify your account.",suggest_mailing_list:!0}):a.a.createElement("div",{className:"vf-body"},a.a.createElement("div",{className:"vf-grid vf-grid__col-4"},a.a.createElement("div",{className:"vf-grid__col--span-3"},a.a.createElement(pe,{title:"Register"})),a.a.createElement("div",{className:"vf-grid__col--span-1"},a.a.createElement(L,null))),a.a.createElement("div",{className:"vf-u-margin__top--600"}),a.a.createElement("h1",{className:"vf-hero__heading"},"Register"),a.a.createElement("div",{className:"vf-u-margin__top--600"}),a.a.createElement("legend",{className:"vf-form__legend"},"Register or"," ",a.a.createElement("a",{href:"/training/user/login",className:"vf-link"},"login")," ","to track your learning progress through our library of bioinformatics training."),a.a.createElement("p",{className:"vf-text-body vf-text-body--2 vf-u-margin__top--400"},"Creating an account is not required to access and complete on-demand training. Registering will provide you with a personal \u2018My learning\u2019 page to keep track of training that interests you, pages you last visited, and a record of training and quizzes you have completed."),this.state.flood_error?a.a.createElement(Qe,{error_message:this.state.flood_error}):"",a.a.createElement("div",{className:"vf-u-margin__top--600"}),a.a.createElement("div",{className:"vf-grid"},a.a.createElement("form",{className:"vf-stack vf-stack--400",onSubmit:this.handleSubmit},a.a.createElement("div",{className:"vf-grid vf-grid__col-2"},a.a.createElement(X,{input_label:"First Name",input_name:"first_name",input_value:this.state.user.first_name,input_errors:this.state.errors.first_name,handleChange:this.handleChange,validateInput:this.validateInput,input_type:"text"}),a.a.createElement(X,{input_label:"Last Name",input_name:"last_name",input_value:this.state.user.last_name,input_errors:this.state.errors.last_name,handleChange:this.handleChange,validateInput:this.validateInput,input_type:"text"})),a.a.createElement(X,{input_label:"Email",input_name:"email",input_value:this.state.user.email,input_errors:this.state.errors.email,handleChange:this.handleChange,input_type:"email",validateInput:this.validateInput},a.a.createElement(a.a.Fragment,null,"It seems you already have an EMBL account. \xa0",a.a.createElement("a",{href:tt},"Login with your EMBL credentials"))),a.a.createElement(Ye,{input_value:this.state.user.password,input_errors:this.state.errors.password,handleChange:this.handleChange}),a.a.createElement(X,{input_label:"Confirm password",input_name:"password_confirmation",input_value:this.state.user.password_confirmation,input_errors:this.state.errors.password_confirmation,handleChange:this.handleChange,input_type:"password",validateInput:this.validateInput}),a.a.createElement(Xe,{handleChange:this.handleCountryChange}),a.a.createElement("div",null,a.a.createElement(X,{input_label:"Organisation",input_name:"organisation",input_value:this.state.user.organisation,input_errors:this.state.errors.organisation,handleChange:this.handleChange,input_type:"text",validateInput:this.validateInput})),a.a.createElement(X,{input_label:"Yes",input_name:"gdpr",input_value:this.state.user.gdpr,input_errors:this.state.errors.gdpr,handleChange:this.handleChange,input_type:"checkbox",input_legend:"I have read and agree to the"},a.a.createElement("a",{href:"https://www.ebi.ac.uk/data-protection/privacy-notice/ebi-training",className:"vf-link",rel:"noopener noreferrer",target:"_blank"},"Privacy notice (Opens in new tab)")," ",a.a.createElement(Z,null)),a.a.createElement(X,{input_label:"Do you want to subscribe to our mailing list ?",input_name:"subscribed_to_mailing_list",input_value:this.state.user.subscribed_to_mailing_list,input_errors:this.state.errors.subscribed_to_mailing_list,handleChange:this.handleChange,input_type:"radio"}),a.a.createElement("input",{hidden:!0,name:"Address"}),a.a.createElement("div",null,this.state.loading?a.a.createElement("div",null,a.a.createElement("div",{className:"vf-u-margin__top--200"}),a.a.createElement("span",null,"In progress..."),a.a.createElement("img",{alt:"progress",style:{width:"7%"},src:"../progressbar.gif"})):a.a.createElement("button",{className:"vf-button vf-button--primary"},"Create an account"))),a.a.createElement("div",null)),a.a.createElement("div",{className:"vf-u-margin__top--600"}),a.a.createElement("label",{className:"vf-form__label"},"Already have an account? \xa0"," ",a.a.createElement("a",{href:"/training/user/login",className:"vf-link"},"Login"),"."),a.a.createElement("div",{className:"vf-u-margin__top--400"}),"If you work for EMBL,"," ",a.a.createElement("a",{className:"vf-link",href:tt},"login with your EMBL credentials."),a.a.createElement("div",{className:"vf-u-margin__top--200"}),a.a.createElement("div",{className:"vf-u-margin__top--600"}))}},{key:"handleChange",value:function(e){console.log("type",e.target.type);var t=this.state.user,r="gdpr"===e.target.name?e.target.checked:e.target.value;"gdpr"===e.target.name?t[e.target.name]=r:t[e.target.name]=r.replace(/(<([^>]+)>)/gi,""),this.setState({fields:t})}},{key:"handleCountryChange",value:function(e){var t=this.state.user;t.country=e.value,this.setState({fields:t})}},{key:"validateInput",value:function(e){var t=this.state.errors,r=e.target.name.replace(/_/g," ");if(t[e.target.name]=e.target.value.replace(/\s/g,"")?"":this.capitalizeFirstLetter(r)+" is required","text"===e.target.type){t[e.target.name]=/^([a-zA-Z\xc0-\xd6\xd8-\xf6\xf8-\xff]+[,]?[ ]?|[a-z]+['-]?)+$/i.test(e.target.value)?"":t[e.target.name]="Special characters are not allowed in this field"}if("email"===e.target.type){t[e.target.name]=/^(([^<>()[\]\\.,;:\s@"]+(\.[^<>()[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/.test(e.target.value)?"":t[e.target.name]="Enter a valid email"}this.setState({errors:t})}},{key:"capitalizeFirstLetter",value:function(e){return e.charAt(0).toUpperCase()+e.slice(1)}},{key:"handleSubmit",value:function(e){var t=this;e.preventDefault();var r=this.state.user;this.setState({loading:!0}),b.a.post(p+"/training/usercontent/users?_format=json",r).then((function(e){t.setState({registration_completed:!0,loading:!1}),window.scrollTo(0,0)})).catch((function(e){if(t.setState({loading:!1}),422===e.response.status){var r=e.response.data.errors;t.setState({errors:r});for(var n=["pci-01","pci-02","pci-03","pci-04","pci-05"],a=0;a<n.length;a++){var i=n[a];i in r&&(document.getElementById(i).style.color="#d41645")}}else 403===e.response.status?t.setState({flood_error:e.response.data.message}):alert("Your request could not be completed, please try again")}))}},{key:"render",value:function(){return this.state.authenticated?a.a.createElement(s.a,{to:"/user"}):a.a.createElement(a.a.Fragment,null,this.output())}}]),r}(a.a.Component);function nt(){nt=function(){return e};var e={},t=Object.prototype,r=t.hasOwnProperty,n="function"==typeof Symbol?Symbol:{},a=n.iterator||"@@iterator",i=n.asyncIterator||"@@asyncIterator",o=n.toStringTag||"@@toStringTag";function s(e,t,r){return Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}),e[t]}try{s({},"")}catch(L){s=function(e,t,r){return e[t]=r}}function l(e,t,r,n){var a=t&&t.prototype instanceof d?t:d,i=Object.create(a.prototype),o=new k(n||[]);return i._invoke=function(e,t,r){var n="suspendedStart";return function(a,i){if("executing"===n)throw new Error("Generator is already running");if("completed"===n){if("throw"===a)throw i;return x()}for(r.method=a,r.arg=i;;){var o=r.delegate;if(o){var s=w(o,r);if(s){if(s===u)continue;return s}}if("next"===r.method)r.sent=r._sent=r.arg;else if("throw"===r.method){if("suspendedStart"===n)throw n="completed",r.arg;r.dispatchException(r.arg)}else"return"===r.method&&r.abrupt("return",r.arg);n="executing";var l=c(e,t,r);if("normal"===l.type){if(n=r.done?"completed":"suspendedYield",l.arg===u)continue;return{value:l.arg,done:r.done}}"throw"===l.type&&(n="completed",r.method="throw",r.arg=l.arg)}}}(e,r,o),i}function c(e,t,r){try{return{type:"normal",arg:e.call(t,r)}}catch(L){return{type:"throw",arg:L}}}e.wrap=l;var u={};function d(){}function m(){}function h(){}var f={};s(f,a,(function(){return this}));var v=Object.getPrototypeOf,p=v&&v(v(N([])));p&&p!==t&&r.call(p,a)&&(f=p);var g=h.prototype=d.prototype=Object.create(f);function y(e){["next","throw","return"].forEach((function(t){s(e,t,(function(e){return this._invoke(t,e)}))}))}function b(e,t){var n;this._invoke=function(a,i){function o(){return new t((function(n,o){!function n(a,i,o,s){var l=c(e[a],e,i);if("throw"!==l.type){var u=l.arg,d=u.value;return d&&"object"==typeof d&&r.call(d,"__await")?t.resolve(d.__await).then((function(e){n("next",e,o,s)}),(function(e){n("throw",e,o,s)})):t.resolve(d).then((function(e){u.value=e,o(u)}),(function(e){return n("throw",e,o,s)}))}s(l.arg)}(a,i,n,o)}))}return n=n?n.then(o,o):o()}}function w(e,t){var r=e.iterator[t.method];if(void 0===r){if(t.delegate=null,"throw"===t.method){if(e.iterator.return&&(t.method="return",t.arg=void 0,w(e,t),"throw"===t.method))return u;t.method="throw",t.arg=new TypeError("The iterator does not provide a 'throw' method")}return u}var n=c(r,e.iterator,t.arg);if("throw"===n.type)return t.method="throw",t.arg=n.arg,t.delegate=null,u;var a=n.arg;return a?a.done?(t[e.resultName]=a.value,t.next=e.nextLoc,"return"!==t.method&&(t.method="next",t.arg=void 0),t.delegate=null,u):a:(t.method="throw",t.arg=new TypeError("iterator result is not an object"),t.delegate=null,u)}function E(e){var t={tryLoc:e[0]};1 in e&&(t.catchLoc=e[1]),2 in e&&(t.finallyLoc=e[2],t.afterLoc=e[3]),this.tryEntries.push(t)}function _(e){var t=e.completion||{};t.type="normal",delete t.arg,e.completion=t}function k(e){this.tryEntries=[{tryLoc:"root"}],e.forEach(E,this),this.reset(!0)}function N(e){if(e){var t=e[a];if(t)return t.call(e);if("function"==typeof e.next)return e;if(!isNaN(e.length)){var n=-1,i=function t(){for(;++n<e.length;)if(r.call(e,n))return t.value=e[n],t.done=!1,t;return t.value=void 0,t.done=!0,t};return i.next=i}}return{next:x}}function x(){return{value:void 0,done:!0}}return m.prototype=h,s(g,"constructor",h),s(h,"constructor",m),m.displayName=s(h,o,"GeneratorFunction"),e.isGeneratorFunction=function(e){var t="function"==typeof e&&e.constructor;return!!t&&(t===m||"GeneratorFunction"===(t.displayName||t.name))},e.mark=function(e){return Object.setPrototypeOf?Object.setPrototypeOf(e,h):(e.__proto__=h,s(e,o,"GeneratorFunction")),e.prototype=Object.create(g),e},e.awrap=function(e){return{__await:e}},y(b.prototype),s(b.prototype,i,(function(){return this})),e.AsyncIterator=b,e.async=function(t,r,n,a,i){void 0===i&&(i=Promise);var o=new b(l(t,r,n,a),i);return e.isGeneratorFunction(r)?o:o.next().then((function(e){return e.done?e.value:o.next()}))},y(g),s(g,o,"Generator"),s(g,a,(function(){return this})),s(g,"toString",(function(){return"[object Generator]"})),e.keys=function(e){var t=[];for(var r in e)t.push(r);return t.reverse(),function r(){for(;t.length;){var n=t.pop();if(n in e)return r.value=n,r.done=!1,r}return r.done=!0,r}},e.values=N,k.prototype={constructor:k,reset:function(e){if(this.prev=0,this.next=0,this.sent=this._sent=void 0,this.done=!1,this.delegate=null,this.method="next",this.arg=void 0,this.tryEntries.forEach(_),!e)for(var t in this)"t"===t.charAt(0)&&r.call(this,t)&&!isNaN(+t.slice(1))&&(this[t]=void 0)},stop:function(){this.done=!0;var e=this.tryEntries[0].completion;if("throw"===e.type)throw e.arg;return this.rval},dispatchException:function(e){if(this.done)throw e;var t=this;function n(r,n){return o.type="throw",o.arg=e,t.next=r,n&&(t.method="next",t.arg=void 0),!!n}for(var a=this.tryEntries.length-1;a>=0;--a){var i=this.tryEntries[a],o=i.completion;if("root"===i.tryLoc)return n("end");if(i.tryLoc<=this.prev){var s=r.call(i,"catchLoc"),l=r.call(i,"finallyLoc");if(s&&l){if(this.prev<i.catchLoc)return n(i.catchLoc,!0);if(this.prev<i.finallyLoc)return n(i.finallyLoc)}else if(s){if(this.prev<i.catchLoc)return n(i.catchLoc,!0)}else{if(!l)throw new Error("try statement without catch or finally");if(this.prev<i.finallyLoc)return n(i.finallyLoc)}}}},abrupt:function(e,t){for(var n=this.tryEntries.length-1;n>=0;--n){var a=this.tryEntries[n];if(a.tryLoc<=this.prev&&r.call(a,"finallyLoc")&&this.prev<a.finallyLoc){var i=a;break}}i&&("break"===e||"continue"===e)&&i.tryLoc<=t&&t<=i.finallyLoc&&(i=null);var o=i?i.completion:{};return o.type=e,o.arg=t,i?(this.method="next",this.next=i.finallyLoc,u):this.complete(o)},complete:function(e,t){if("throw"===e.type)throw e.arg;return"break"===e.type||"continue"===e.type?this.next=e.arg:"return"===e.type?(this.rval=this.arg=e.arg,this.method="return",this.next="end"):"normal"===e.type&&t&&(this.next=t),u},finish:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var r=this.tryEntries[t];if(r.finallyLoc===e)return this.complete(r.completion,r.afterLoc),_(r),u}},catch:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var r=this.tryEntries[t];if(r.tryLoc===e){var n=r.completion;if("throw"===n.type){var a=n.arg;_(r)}return a}}throw new Error("illegal catch attempt")},delegateYield:function(e,t,r){return this.delegate={iterator:N(e),resultName:t,nextLoc:r},"next"===this.method&&(this.arg=void 0),u}},e}var at=function(e){Object(J.a)(r,e);var t=Object(U.a)(r);function r(e){var n;return Object(D.a)(this,r),(n=t.call(this,e)).state={new_password_request:{current_password:"",password:"",password_confirmation:""},new_email_request:{email:"",current_password:""},open_password_modal:!1,open_email_modal:!1,user:{user_id:null,first_name:"",last_name:"",email:"",country:"",orgainsation:""},errors:{first_name:null,last_name:null,email:null,country:null,orgainsation:null,password:null,password_confirmation:null},password_updated:!1,account_details_updated:!1,email_updated:!1,loading:!1,userLoading:!1,vfTabsrun:!1},n.handleChange=n.handleChange.bind(Object(ze.a)(n)),n.handleEmailChange=n.handleEmailChange.bind(Object(ze.a)(n)),n.handlePasswordChange=n.handlePasswordChange.bind(Object(ze.a)(n)),n.handleEmailChangeRequest=n.handleEmailChangeRequest.bind(Object(ze.a)(n)),n.handlePasswordChangeRequest=n.handlePasswordChangeRequest.bind(Object(ze.a)(n)),n.handleSubmit=n.handleSubmit.bind(Object(ze.a)(n)),n.dismissAccountBanner=n.dismissAccountBanner.bind(Object(ze.a)(n)),n.handleCountryChange=n.handleCountryChange.bind(Object(ze.a)(n)),n.callVFTabs=n.callVFTabs.bind(Object(ze.a)(n)),n}return Object(R.a)(r,[{key:"callVFTabs",value:function(){var e=this;!1===this.state.vfTabsrun&&(setTimeout((function(){window.vfTabs(),console.log("setTimeOut vfTabs()"),console.log(e.state.vfTabsrun)}),1e3),this.setState({vfTabsrun:!0})),console.log(this.state.vfTabsrun)}},{key:"componentDidMount",value:function(){var e=Object(l.a)(nt().mark((function e(){var t=this;return nt().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:H.currentUser().then((function(e){t.setState({user:e.data.user}),t.setState({userLoading:!0})})).catch((function(e){401===e.response.status&&(console.log("Account edit error"),t.setState({userLoading:!0}))}));case 1:case"end":return e.stop()}}),e)})));return function(){return e.apply(this,arguments)}}()},{key:"resetErrors",value:function(){this.setState({errors:{first_name:null,last_name:null,email:null,country:null,orgainsation:null,password:null,password_confirmation:null}})}},{key:"dismissAccountBanner",value:function(){this.setState({account_details_updated:!1})}},{key:"handlePasswordChange",value:function(e){var t=this.state.new_password_request;t[e.target.name]=e.target.value,this.setState({fields:t})}},{key:"handleEmailChange",value:function(e){var t=this.state.new_email_request;t[e.target.name]=e.target.value,this.setState({fields:t})}},{key:"handleChange",value:function(e){var t=this.state.user;t[e.target.name]=e.target.value,this.setState({fields:t})}},{key:"handleCountryChange",value:function(e){var t=this.state.user;t.country=e.label,this.setState({fields:t})}},{key:"handlePasswordChangeRequest",value:function(){var e=Object(l.a)(nt().mark((function e(t){var r,n,a=this;return nt().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return t.preventDefault(),this.setState({loading:!0}),r=this.state.new_password_request,n="",e.next=6,b.a.get("".concat(p,"/training/usercontent/session/token")).then((function(e){n=e.data,console.log(e.data)}));case 6:return e.next=8,b.a.patch(p+"/training/usercontent/forgot-password?_format=json",r,{withCredentials:!0,headers:{Accept:"application/json","Content-Type":"application/json","X-CSRF-Token":n,Authorization:"Basic"}}).then((function(){H.logout().then((function(){window.scrollTo(0,0),a.setState({password_updated:!0}),a.props.history.push("/user/login")})).catch((function(e){var t,r;window.scrollTo(0,0),401!==(null===(t=e.response)||void 0===t?void 0:t.status)&&403!==(null===(r=e.response)||void 0===r?void 0:r.status)||a.setState({password_updated:!0})}))})).catch((function(e){if(a.setState({loading:!1}),window.scrollTo(0,0),422===e.response.status){var t=e.response.data.errors;a.setState({errors:t});for(var r=["pci-01","pci-02","pci-03","pci-04","pci-05"],n=0;n<r.length;n++){var i=r[n];i in t&&(document.getElementById(i).style.color="#d41645")}}}));case 8:case"end":return e.stop()}}),e,this)})));return function(t){return e.apply(this,arguments)}}()},{key:"handleEmailChangeRequest",value:function(){var e=Object(l.a)(nt().mark((function e(t){var r,n,a=this;return nt().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return t.preventDefault(),this.setState({loading:!0}),(r=this.state.new_email_request).what_to_update="email",n="",e.next=7,b.a.get("".concat(p,"/training/usercontent/session/token")).then((function(e){n=e.data,console.log(e.data)}));case 7:return e.next=9,b.a.patch(p+"/training/usercontent/users?_format=json",r,{withCredentials:!0,headers:{Accept:"application/json","Content-Type":"application/json","X-CSRF-Token":n,Authorization:"Basic"}}).then((function(e){H.logout().then((function(){a.setState({email_updated:!0}),a.props.history.push("/user/login")})).catch((function(e){var t,r;401!==(null===(t=e.response)||void 0===t?void 0:t.status)&&403!==(null===(r=e.response)||void 0===r?void 0:r.status)||a.setState({email_updated:!0})}))})).catch((function(e){a.setState({loading:!1}),a.setState({errors:e.response.data.errors}),window.scrollTo(0,0)}));case 9:case"end":return e.stop()}}),e,this)})));return function(t){return e.apply(this,arguments)}}()},{key:"handleSubmit",value:function(){var e=Object(l.a)(nt().mark((function e(t){var r,n,a=this;return nt().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return t.preventDefault(),this.setState({loading:!0}),(r=this.state.user).what_to_update="generic_data",n="",e.next=7,b.a.get("".concat(p,"/training/usercontent/session/token")).then((function(e){n=e.data,console.log(e.data)}));case 7:return e.next=9,b.a.patch(p+"/training/usercontent/users?_format=json",r,{withCredentials:!0,headers:{Accept:"application/json","Content-Type":"application/json","X-CSRF-Token":n,Authorization:"Basic"}}).then((function(e){a.setState({account_details_updated:!0}),a.resetErrors(),a.setState({loading:!1})})).catch((function(e){a.setState({loading:!1}),422===e.response.status&&(a.setState({errors:e.response.data.errors}),window.scrollTo(0,0))}));case 9:case"end":return e.stop()}}),e,this)})));return function(t){return e.apply(this,arguments)}}()},{key:"render",value:function(){var e,t,r,n,i,o,l,c,u,d;return this.state.userLoading?this.state.user.email?a.a.createElement(a.a.Fragment,null,a.a.createElement("div",{className:"vf-grid vf-grid__col-4"},a.a.createElement("div",{className:"vf-grid__col--span-3"},a.a.createElement(pe,{title:"Edit account"})),a.a.createElement("div",{className:"vf-grid__col--span-1"},a.a.createElement(L,null))),a.a.createElement("section",{className:"vf-body"},a.a.createElement("div",{className:"vf-u-margin__top--600"}),a.a.createElement("h1",{className:"vf-hero__heading"},"Edit account details"),a.a.createElement("div",{className:"vf-tabs"},a.a.createElement("ul",{className:"vf-tabs__list","data-vf-js-tabs":!0},a.a.createElement("li",{className:"vf-tabs__item"},a.a.createElement("a",{className:"vf-tabs__link",href:"#vf-tabs__section--1"},"About you")),a.a.createElement("li",{className:"vf-tabs__item"},a.a.createElement("a",{className:"vf-tabs__link",href:"#vf-tabs__section--2"},"Email")),this.state.user.email.includes("ebi.ac.uk")||this.state.user.email.includes("embl")?"":a.a.createElement("li",{className:"vf-tabs__item"},a.a.createElement("a",{className:"vf-tabs__link",href:"#vf-tabs__section--3"},"Password")))),!1===this.state.vfTabsrun?this.callVFTabs():"",a.a.createElement("div",{className:"vf-tabs-content","data-vf-js-tabs-content":!0},a.a.createElement("section",{className:"vf-tabs__section",id:"vf-tabs__section--1"},a.a.createElement("h2",null,"About you"),this.state.account_details_updated?a.a.createElement(a.a.Fragment,null,a.a.createElement("div",{className:"vf-u-margin__top--400"}),a.a.createElement("div",{className:"vf-banner vf-banner--alert vf-banner--success"},a.a.createElement("div",{className:"vf-banner__content"},a.a.createElement("p",{className:"vf-banner__text"},"Your changes have been saved"),a.a.createElement("button",{"aria-label":"close notification banner",className:"vf-button vf-button--icon vf-button--dismiss | vf-banner__button",onClick:this.dismissAccountBanner},a.a.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24"},a.a.createElement("title",null,"dismiss banner"),a.a.createElement("path",{d:"M14.3,12.179a.25.25,0,0,1,0-.354l9.263-9.262A1.5,1.5,0,0,0,21.439.442L12.177,9.7a.25.25,0,0,1-.354,0L2.561.442A1.5,1.5,0,0,0,.439,2.563L9.7,11.825a.25.25,0,0,1,0,.354L.439,21.442a1.5,1.5,0,0,0,2.122,2.121L11.823,14.3a.25.25,0,0,1,.354,0l9.262,9.263a1.5,1.5,0,0,0,2.122-2.121Z"}))))),a.a.createElement("div",{className:"vf-u-margin__top--400"})):"",a.a.createElement("div",{className:"vf-grid"},a.a.createElement("form",{className:"vf-stack vf-stack--400",onSubmit:this.handleSubmit},a.a.createElement("div",{className:"vf-grid vf-grid__col-2"},a.a.createElement(X,{input_label:"First Name",input_name:"first_name",input_value:this.state.user.first_name,input_errors:null===(e=this.state.errors)||void 0===e?void 0:e.first_name,handleChange:this.handleChange,input_type:"text"}),a.a.createElement(X,{input_label:"Last Name",input_name:"last_name",input_value:this.state.user.last_name,input_errors:null===(t=this.state.errors)||void 0===t?void 0:t.last_name,handleChange:this.handleChange,input_type:"text"}),a.a.createElement(X,{input_label:"Do you want to subscribe to our mailing list ?",input_name:"subscribed_to_mailing_list",input_value:this.state.user.subscribed_to_mailing_list,input_errors:null===(r=this.state.errors)||void 0===r?void 0:r.subscribed_to_mailing_list,handleChange:this.handleChange,input_type:"radio"})),a.a.createElement(Xe,{handleChange:this.handleCountryChange,input_value:{label:this.state.user.country,value:this.state.user.country}}),this.state.user.email.includes("ebi.ac.uk")||this.state.user.email.includes("embl")?"":a.a.createElement(X,{input_label:"Organisation",input_name:"organisation",input_value:this.state.user.organisation,input_errors:null===(n=this.state.errors)||void 0===n?void 0:n.organisation,handleChange:this.handleChange,input_type:"text"}),a.a.createElement("div",{className:"vf-u-margin__top--400"}),this.state.loading?a.a.createElement("div",null,a.a.createElement("div",{className:"vf-u-margin__top--200"}),a.a.createElement("span",null,"In progress..."),a.a.createElement("img",{alt:"progress",style:{width:"7%"},src:"../progressbar.gif"})):a.a.createElement("button",{className:"vf-button vf-button--primary"},"Save changes")),a.a.createElement("div",null))),a.a.createElement("section",{className:"vf-tabs__section",id:"vf-tabs__section--2"},a.a.createElement("h2",null,"Email"),a.a.createElement("p",null,"Your email address: ",this.state.user.email),a.a.createElement("h3",null,"Change your email address"),this.state.user.email.includes("ebi.ac.uk")||this.state.user.email.includes("embl")?a.a.createElement("p",null,"If you are leaving EMBL and would like to keep your EMBL-EBI Training account by changing your associated email address, please email ",a.a.createElement("a",{href:"mailto:trainonline@ebi.ac.uk"},"trainonline@ebi.ac.uk")," with the non-EMBL email address you would like to link to this account."):a.a.createElement(a.a.Fragment,null,a.a.createElement("div",{className:"vf-grid"},a.a.createElement("form",{className:"vf-stack vf-stack--400",onSubmit:this.handleEmailChangeRequest},a.a.createElement(X,{input_label:"Enter a new email address",input_name:"email",input_value:this.state.new_email_request.email,input_errors:null===(i=this.state.errors)||void 0===i?void 0:i.email,handleChange:this.handleEmailChange,hide_astericks:!0,input_type:"email"},a.a.createElement(a.a.Fragment,null,"You cannot assign an EMBL or EBI email here.")),a.a.createElement(X,{input_label:"Confirm new email address",input_name:"email_confirmation",input_value:this.state.new_email_request.email_confirmation,input_errors:null===(o=this.state.errors)||void 0===o?void 0:o.email_confirmation,handleChange:this.handleEmailChange,input_type:"email",hide_astericks:!0}),a.a.createElement(X,{input_label:"Confirm your password",input_name:"password",input_value:this.state.new_email_request.password,input_errors:null===(l=this.state.errors)||void 0===l?void 0:l.password,handleChange:this.handleEmailChange,hide_astericks:!0,input_type:"password"}),a.a.createElement("div",null,this.state.loading?a.a.createElement("div",null,a.a.createElement("div",{className:"vf-u-margin__top--200"}),a.a.createElement("span",null,"In progress..."),a.a.createElement("img",{alt:"progress",style:{width:"7%"},src:"../progressbar.gif"})):a.a.createElement(a.a.Fragment,null,a.a.createElement("p",null,"If you decide to change your email address, you will need to verify your new email address and login again."),a.a.createElement("button",{className:"vf-button vf-button--secondary"},"Change my email address")))),a.a.createElement("div",null)))),this.state.user.email.includes("ebi.ac.uk")||this.state.user.email.includes("embl")?"":a.a.createElement("section",{className:"vf-tabs__section",id:"vf-tabs__section--3"},a.a.createElement("h2",null,"Password"),a.a.createElement("div",{className:"vf-grid"},a.a.createElement("form",{className:"vf-stack vf-stack--400",onSubmit:this.handlePasswordChangeRequest},a.a.createElement(X,{input_label:"Current password",input_name:"current_password",input_value:this.state.new_password_request.current_password,input_errors:null===(c=this.state.errors)||void 0===c?void 0:c.current_password,handleChange:this.handlePasswordChange,input_type:"password",hide_astericks:!0}),a.a.createElement(Ye,{input_label:"New password",input_value:this.state.new_password_request.password,input_errors:null===(u=this.state.errors)||void 0===u?void 0:u.password,handleChange:this.handlePasswordChange,hide_astericks:!0}),a.a.createElement(X,{input_label:"Confirm new password",input_name:"password_confirmation",input_value:this.state.new_password_request.password_confirmation,input_errors:null===(d=this.state.errors)||void 0===d?void 0:d.password_confirmation,handleChange:this.handlePasswordChange,input_type:"password",hide_astericks:!0}),a.a.createElement("div",null,a.a.createElement("p",null,"If you decide to change your password, you will be logged out and need to login again with the new password."),a.a.createElement("button",{className:"vf-button vf-button--secondary"},"Change my password"))),a.a.createElement("div",null))))),a.a.createElement("div",{className:"vf-u-margin__top--200"}),a.a.createElement("div",{className:"vf-u-margin__top--600"})):this.state.email_updated?a.a.createElement(a.a.Fragment,null,a.a.createElement(He,{status_header:"Your email address has been updated",status_message:"We've sent a verification link to "+this.state.new_email_request.email+".",next_step:"Click on the link to verify your new email and login again"},a.a.createElement("p",{className:"vf-intro__text"},a.a.createElement("a",{href:"/training",className:"vf-link"},"Browse courses")))):this.state.password_updated?a.a.createElement(a.a.Fragment,null,a.a.createElement(He,{status_header:"Your password has been updated"},a.a.createElement("p",{className:"vf-intro__text"},a.a.createElement("a",{href:"/training/user/login",className:"vf-link"},"Login with your new password")))):a.a.createElement(s.a,{to:"/user/login"}):a.a.createElement(a.a.Fragment,null,a.a.createElement("img",{alt:"progress",src:"../progressbar.gif",style:{width:"7%"}}),a.a.createElement("h4",null,"Loading account details..."))}}]),r}(a.a.Component);function it(){it=function(){return e};var e={},t=Object.prototype,r=t.hasOwnProperty,n="function"==typeof Symbol?Symbol:{},a=n.iterator||"@@iterator",i=n.asyncIterator||"@@asyncIterator",o=n.toStringTag||"@@toStringTag";function s(e,t,r){return Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}),e[t]}try{s({},"")}catch(L){s=function(e,t,r){return e[t]=r}}function l(e,t,r,n){var a=t&&t.prototype instanceof d?t:d,i=Object.create(a.prototype),o=new k(n||[]);return i._invoke=function(e,t,r){var n="suspendedStart";return function(a,i){if("executing"===n)throw new Error("Generator is already running");if("completed"===n){if("throw"===a)throw i;return x()}for(r.method=a,r.arg=i;;){var o=r.delegate;if(o){var s=w(o,r);if(s){if(s===u)continue;return s}}if("next"===r.method)r.sent=r._sent=r.arg;else if("throw"===r.method){if("suspendedStart"===n)throw n="completed",r.arg;r.dispatchException(r.arg)}else"return"===r.method&&r.abrupt("return",r.arg);n="executing";var l=c(e,t,r);if("normal"===l.type){if(n=r.done?"completed":"suspendedYield",l.arg===u)continue;return{value:l.arg,done:r.done}}"throw"===l.type&&(n="completed",r.method="throw",r.arg=l.arg)}}}(e,r,o),i}function c(e,t,r){try{return{type:"normal",arg:e.call(t,r)}}catch(L){return{type:"throw",arg:L}}}e.wrap=l;var u={};function d(){}function m(){}function h(){}var f={};s(f,a,(function(){return this}));var v=Object.getPrototypeOf,p=v&&v(v(N([])));p&&p!==t&&r.call(p,a)&&(f=p);var g=h.prototype=d.prototype=Object.create(f);function y(e){["next","throw","return"].forEach((function(t){s(e,t,(function(e){return this._invoke(t,e)}))}))}function b(e,t){var n;this._invoke=function(a,i){function o(){return new t((function(n,o){!function n(a,i,o,s){var l=c(e[a],e,i);if("throw"!==l.type){var u=l.arg,d=u.value;return d&&"object"==typeof d&&r.call(d,"__await")?t.resolve(d.__await).then((function(e){n("next",e,o,s)}),(function(e){n("throw",e,o,s)})):t.resolve(d).then((function(e){u.value=e,o(u)}),(function(e){return n("throw",e,o,s)}))}s(l.arg)}(a,i,n,o)}))}return n=n?n.then(o,o):o()}}function w(e,t){var r=e.iterator[t.method];if(void 0===r){if(t.delegate=null,"throw"===t.method){if(e.iterator.return&&(t.method="return",t.arg=void 0,w(e,t),"throw"===t.method))return u;t.method="throw",t.arg=new TypeError("The iterator does not provide a 'throw' method")}return u}var n=c(r,e.iterator,t.arg);if("throw"===n.type)return t.method="throw",t.arg=n.arg,t.delegate=null,u;var a=n.arg;return a?a.done?(t[e.resultName]=a.value,t.next=e.nextLoc,"return"!==t.method&&(t.method="next",t.arg=void 0),t.delegate=null,u):a:(t.method="throw",t.arg=new TypeError("iterator result is not an object"),t.delegate=null,u)}function E(e){var t={tryLoc:e[0]};1 in e&&(t.catchLoc=e[1]),2 in e&&(t.finallyLoc=e[2],t.afterLoc=e[3]),this.tryEntries.push(t)}function _(e){var t=e.completion||{};t.type="normal",delete t.arg,e.completion=t}function k(e){this.tryEntries=[{tryLoc:"root"}],e.forEach(E,this),this.reset(!0)}function N(e){if(e){var t=e[a];if(t)return t.call(e);if("function"==typeof e.next)return e;if(!isNaN(e.length)){var n=-1,i=function t(){for(;++n<e.length;)if(r.call(e,n))return t.value=e[n],t.done=!1,t;return t.value=void 0,t.done=!0,t};return i.next=i}}return{next:x}}function x(){return{value:void 0,done:!0}}return m.prototype=h,s(g,"constructor",h),s(h,"constructor",m),m.displayName=s(h,o,"GeneratorFunction"),e.isGeneratorFunction=function(e){var t="function"==typeof e&&e.constructor;return!!t&&(t===m||"GeneratorFunction"===(t.displayName||t.name))},e.mark=function(e){return Object.setPrototypeOf?Object.setPrototypeOf(e,h):(e.__proto__=h,s(e,o,"GeneratorFunction")),e.prototype=Object.create(g),e},e.awrap=function(e){return{__await:e}},y(b.prototype),s(b.prototype,i,(function(){return this})),e.AsyncIterator=b,e.async=function(t,r,n,a,i){void 0===i&&(i=Promise);var o=new b(l(t,r,n,a),i);return e.isGeneratorFunction(r)?o:o.next().then((function(e){return e.done?e.value:o.next()}))},y(g),s(g,o,"Generator"),s(g,a,(function(){return this})),s(g,"toString",(function(){return"[object Generator]"})),e.keys=function(e){var t=[];for(var r in e)t.push(r);return t.reverse(),function r(){for(;t.length;){var n=t.pop();if(n in e)return r.value=n,r.done=!1,r}return r.done=!0,r}},e.values=N,k.prototype={constructor:k,reset:function(e){if(this.prev=0,this.next=0,this.sent=this._sent=void 0,this.done=!1,this.delegate=null,this.method="next",this.arg=void 0,this.tryEntries.forEach(_),!e)for(var t in this)"t"===t.charAt(0)&&r.call(this,t)&&!isNaN(+t.slice(1))&&(this[t]=void 0)},stop:function(){this.done=!0;var e=this.tryEntries[0].completion;if("throw"===e.type)throw e.arg;return this.rval},dispatchException:function(e){if(this.done)throw e;var t=this;function n(r,n){return o.type="throw",o.arg=e,t.next=r,n&&(t.method="next",t.arg=void 0),!!n}for(var a=this.tryEntries.length-1;a>=0;--a){var i=this.tryEntries[a],o=i.completion;if("root"===i.tryLoc)return n("end");if(i.tryLoc<=this.prev){var s=r.call(i,"catchLoc"),l=r.call(i,"finallyLoc");if(s&&l){if(this.prev<i.catchLoc)return n(i.catchLoc,!0);if(this.prev<i.finallyLoc)return n(i.finallyLoc)}else if(s){if(this.prev<i.catchLoc)return n(i.catchLoc,!0)}else{if(!l)throw new Error("try statement without catch or finally");if(this.prev<i.finallyLoc)return n(i.finallyLoc)}}}},abrupt:function(e,t){for(var n=this.tryEntries.length-1;n>=0;--n){var a=this.tryEntries[n];if(a.tryLoc<=this.prev&&r.call(a,"finallyLoc")&&this.prev<a.finallyLoc){var i=a;break}}i&&("break"===e||"continue"===e)&&i.tryLoc<=t&&t<=i.finallyLoc&&(i=null);var o=i?i.completion:{};return o.type=e,o.arg=t,i?(this.method="next",this.next=i.finallyLoc,u):this.complete(o)},complete:function(e,t){if("throw"===e.type)throw e.arg;return"break"===e.type||"continue"===e.type?this.next=e.arg:"return"===e.type?(this.rval=this.arg=e.arg,this.method="return",this.next="end"):"normal"===e.type&&t&&(this.next=t),u},finish:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var r=this.tryEntries[t];if(r.finallyLoc===e)return this.complete(r.completion,r.afterLoc),_(r),u}},catch:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var r=this.tryEntries[t];if(r.tryLoc===e){var n=r.completion;if("throw"===n.type){var a=n.arg;_(r)}return a}}throw new Error("illegal catch attempt")},delegateYield:function(e,t,r){return this.delegate={iterator:N(e),resultName:t,nextLoc:r},"next"===this.method&&(this.arg=void 0),u}},e}var ot=function(e){Object(J.a)(r,e);var t=Object(U.a)(r);function r(e){var n;Object(D.a)(this,r),n=t.call(this,e);var a=window.location.search;a=a.replace("&","&");var i=new URLSearchParams(a),o=i.get("email");return n.state={user:{email:null===o||void 0===o?void 0:o.replace(/\s/g,"+"),verification_code:i.get("code")},verification_successful:!1,errors_caught:!1,error_message:"",error_status_code:0,error_title:"",authenticated:!1},n}return Object(R.a)(r,[{key:"componentDidMount",value:function(){var e=Object(l.a)(it().mark((function e(){var t,r=this;return it().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,H.isCurrentlyAuthenticated();case 2:return t=e.sent,this.setState({authenticated:t}),e.next=6,b.a.put(p+"/training/usercontent/users?_format=json",this.state.user).then((function(e){204===e.status&&r.setState({verification_successful:!0})})).catch((function(e){r.setState({errors_caught:!0,error_status_code:e.response.status,error_title:e.response.data.title,error_message:"We could not complete this verification because "+e.response.data.message})}));case 6:case"end":return e.stop()}}),e,this)})));return function(){return e.apply(this,arguments)}}()},{key:"showVerificationStatus",value:function(){return this.state.verification_successful?a.a.createElement(He,{status_header:"Verification successful",status_message:"Your account has been successfully verified.",support_link:"/training/user/login",support_action:"Log in"}):this.state.errors_caught?a.a.createElement(He,{status_header:this.state.error_title,status_message:this.state.error_message,support_link:409===this.state.error_status_code&&"/training/user/login",support_action:409===this.state.error_status_code&&"Login"}):void 0}},{key:"render",value:function(){return this.state.authenticated?a.a.createElement(s.a,{to:"/user"}):a.a.createElement(a.a.Fragment,null,this.showVerificationStatus())}}]),r}(a.a.Component),st=r(30);st.Font.register({family:"IBMPlexSans",fonts:[{src:"../training/fonts/IBM_Plex_Sans/IBMPlexSans-Medium.ttf"},{src:"../training/fonts/IBM_Plex_Sans/IBMPlexSans-Bold.ttf",fontWeight:"bold"}]}),st.Font.registerHyphenationCallback((function(e){var t=Math.floor(e.length/2),r=1===e.length?[e]:[e.substring(0,t),e.substring(t)];return console.log(e,r),[e]}));var lt=function(e){return a.a.createElement(st.Document,null,a.a.createElement(st.Page,{size:"A4"},a.a.createElement(st.Image,{src:"https://www.ebi.ac.uk/training/EMBL-EBI-logo.png",style:{width:"150px",margin:"20px"}}),a.a.createElement(st.Image,{src:"https://www.ebi.ac.uk/training/static/media/Homepage.2db87a08.jpg"}),a.a.createElement(st.View,null,a.a.createElement(st.Text,{style:{fontSize:"42px",fontWeight:"bold",margin:"30px",fontFamily:"IBMPlexSans"}},e.attendee_name)),a.a.createElement(st.View,null,a.a.createElement(st.Text,{style:{marginLeft:"30px",marginTop:"40px",fontFamily:"IBMPlexSans"}},"has completed the")),a.a.createElement(st.View,null,a.a.createElement(st.Text,{style:{marginLeft:"30px",marginTop:"70px",fontSize:"32px",fontFamily:"IBMPlexSans",color:"#18974c",fontWeight:"bold"}},e.course_title)),a.a.createElement(st.View,null,a.a.createElement(st.Text,{style:{marginLeft:"30px",marginTop:"50px",fontFamily:"IBMPlexSans"}},e.course_dates," "),a.a.createElement(st.Text,{style:{marginLeft:"30px",marginTop:"10px",fontSize:"14px",fontFamily:"IBMPlexSans"}}," (",e.course_hours," Hours)")),a.a.createElement(st.View,{style:{backgroundColor:"#734595",height:"60px",width:"100%",bottom:"0px",position:"absolute",borderTop:"3px solid green"}},a.a.createElement(st.Text,{style:{marginTop:"15px",marginLeft:"30px",fontSize:"12px",color:"#FFFFFF",fontFamily:"IBMPlexSans"}},"EMBL's European Bioinformatics Institute"),a.a.createElement(st.Text,{style:{marginTop:"15px",fontSize:"12px",color:"#FFFFFF",position:"absolute",right:"30px",fontFamily:"IBMPlexSans"}},"www.ebi.ac.uk/training"))))},ct=function(e){var t=e.course_title,r=e.course_dates,n=e.course_hours,i=e.attendee_name;return a.a.createElement("div",null,a.a.createElement(st.PDFDownloadLink,{document:a.a.createElement(lt,{course_title:t,course_dates:r,course_hours:n,attendee_name:i}),fileName:"".concat(i,".pdf")},(function(){return a.a.createElement("button",{className:"vf-button vf-button--secondary vf-button--sm"},"Download certificate")})))};function ut(){ut=function(){return e};var e={},t=Object.prototype,r=t.hasOwnProperty,n="function"==typeof Symbol?Symbol:{},a=n.iterator||"@@iterator",i=n.asyncIterator||"@@asyncIterator",o=n.toStringTag||"@@toStringTag";function s(e,t,r){return Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}),e[t]}try{s({},"")}catch(L){s=function(e,t,r){return e[t]=r}}function l(e,t,r,n){var a=t&&t.prototype instanceof d?t:d,i=Object.create(a.prototype),o=new k(n||[]);return i._invoke=function(e,t,r){var n="suspendedStart";return function(a,i){if("executing"===n)throw new Error("Generator is already running");if("completed"===n){if("throw"===a)throw i;return x()}for(r.method=a,r.arg=i;;){var o=r.delegate;if(o){var s=w(o,r);if(s){if(s===u)continue;return s}}if("next"===r.method)r.sent=r._sent=r.arg;else if("throw"===r.method){if("suspendedStart"===n)throw n="completed",r.arg;r.dispatchException(r.arg)}else"return"===r.method&&r.abrupt("return",r.arg);n="executing";var l=c(e,t,r);if("normal"===l.type){if(n=r.done?"completed":"suspendedYield",l.arg===u)continue;return{value:l.arg,done:r.done}}"throw"===l.type&&(n="completed",r.method="throw",r.arg=l.arg)}}}(e,r,o),i}function c(e,t,r){try{return{type:"normal",arg:e.call(t,r)}}catch(L){return{type:"throw",arg:L}}}e.wrap=l;var u={};function d(){}function m(){}function h(){}var f={};s(f,a,(function(){return this}));var v=Object.getPrototypeOf,p=v&&v(v(N([])));p&&p!==t&&r.call(p,a)&&(f=p);var g=h.prototype=d.prototype=Object.create(f);function y(e){["next","throw","return"].forEach((function(t){s(e,t,(function(e){return this._invoke(t,e)}))}))}function b(e,t){var n;this._invoke=function(a,i){function o(){return new t((function(n,o){!function n(a,i,o,s){var l=c(e[a],e,i);if("throw"!==l.type){var u=l.arg,d=u.value;return d&&"object"==typeof d&&r.call(d,"__await")?t.resolve(d.__await).then((function(e){n("next",e,o,s)}),(function(e){n("throw",e,o,s)})):t.resolve(d).then((function(e){u.value=e,o(u)}),(function(e){return n("throw",e,o,s)}))}s(l.arg)}(a,i,n,o)}))}return n=n?n.then(o,o):o()}}function w(e,t){var r=e.iterator[t.method];if(void 0===r){if(t.delegate=null,"throw"===t.method){if(e.iterator.return&&(t.method="return",t.arg=void 0,w(e,t),"throw"===t.method))return u;t.method="throw",t.arg=new TypeError("The iterator does not provide a 'throw' method")}return u}var n=c(r,e.iterator,t.arg);if("throw"===n.type)return t.method="throw",t.arg=n.arg,t.delegate=null,u;var a=n.arg;return a?a.done?(t[e.resultName]=a.value,t.next=e.nextLoc,"return"!==t.method&&(t.method="next",t.arg=void 0),t.delegate=null,u):a:(t.method="throw",t.arg=new TypeError("iterator result is not an object"),t.delegate=null,u)}function E(e){var t={tryLoc:e[0]};1 in e&&(t.catchLoc=e[1]),2 in e&&(t.finallyLoc=e[2],t.afterLoc=e[3]),this.tryEntries.push(t)}function _(e){var t=e.completion||{};t.type="normal",delete t.arg,e.completion=t}function k(e){this.tryEntries=[{tryLoc:"root"}],e.forEach(E,this),this.reset(!0)}function N(e){if(e){var t=e[a];if(t)return t.call(e);if("function"==typeof e.next)return e;if(!isNaN(e.length)){var n=-1,i=function t(){for(;++n<e.length;)if(r.call(e,n))return t.value=e[n],t.done=!1,t;return t.value=void 0,t.done=!0,t};return i.next=i}}return{next:x}}function x(){return{value:void 0,done:!0}}return m.prototype=h,s(g,"constructor",h),s(h,"constructor",m),m.displayName=s(h,o,"GeneratorFunction"),e.isGeneratorFunction=function(e){var t="function"==typeof e&&e.constructor;return!!t&&(t===m||"GeneratorFunction"===(t.displayName||t.name))},e.mark=function(e){return Object.setPrototypeOf?Object.setPrototypeOf(e,h):(e.__proto__=h,s(e,o,"GeneratorFunction")),e.prototype=Object.create(g),e},e.awrap=function(e){return{__await:e}},y(b.prototype),s(b.prototype,i,(function(){return this})),e.AsyncIterator=b,e.async=function(t,r,n,a,i){void 0===i&&(i=Promise);var o=new b(l(t,r,n,a),i);return e.isGeneratorFunction(r)?o:o.next().then((function(e){return e.done?e.value:o.next()}))},y(g),s(g,o,"Generator"),s(g,a,(function(){return this})),s(g,"toString",(function(){return"[object Generator]"})),e.keys=function(e){var t=[];for(var r in e)t.push(r);return t.reverse(),function r(){for(;t.length;){var n=t.pop();if(n in e)return r.value=n,r.done=!1,r}return r.done=!0,r}},e.values=N,k.prototype={constructor:k,reset:function(e){if(this.prev=0,this.next=0,this.sent=this._sent=void 0,this.done=!1,this.delegate=null,this.method="next",this.arg=void 0,this.tryEntries.forEach(_),!e)for(var t in this)"t"===t.charAt(0)&&r.call(this,t)&&!isNaN(+t.slice(1))&&(this[t]=void 0)},stop:function(){this.done=!0;var e=this.tryEntries[0].completion;if("throw"===e.type)throw e.arg;return this.rval},dispatchException:function(e){if(this.done)throw e;var t=this;function n(r,n){return o.type="throw",o.arg=e,t.next=r,n&&(t.method="next",t.arg=void 0),!!n}for(var a=this.tryEntries.length-1;a>=0;--a){var i=this.tryEntries[a],o=i.completion;if("root"===i.tryLoc)return n("end");if(i.tryLoc<=this.prev){var s=r.call(i,"catchLoc"),l=r.call(i,"finallyLoc");if(s&&l){if(this.prev<i.catchLoc)return n(i.catchLoc,!0);if(this.prev<i.finallyLoc)return n(i.finallyLoc)}else if(s){if(this.prev<i.catchLoc)return n(i.catchLoc,!0)}else{if(!l)throw new Error("try statement without catch or finally");if(this.prev<i.finallyLoc)return n(i.finallyLoc)}}}},abrupt:function(e,t){for(var n=this.tryEntries.length-1;n>=0;--n){var a=this.tryEntries[n];if(a.tryLoc<=this.prev&&r.call(a,"finallyLoc")&&this.prev<a.finallyLoc){var i=a;break}}i&&("break"===e||"continue"===e)&&i.tryLoc<=t&&t<=i.finallyLoc&&(i=null);var o=i?i.completion:{};return o.type=e,o.arg=t,i?(this.method="next",this.next=i.finallyLoc,u):this.complete(o)},complete:function(e,t){if("throw"===e.type)throw e.arg;return"break"===e.type||"continue"===e.type?this.next=e.arg:"return"===e.type?(this.rval=this.arg=e.arg,this.method="return",this.next="end"):"normal"===e.type&&t&&(this.next=t),u},finish:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var r=this.tryEntries[t];if(r.finallyLoc===e)return this.complete(r.completion,r.afterLoc),_(r),u}},catch:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var r=this.tryEntries[t];if(r.tryLoc===e){var n=r.completion;if("throw"===n.type){var a=n.arg;_(r)}return a}}throw new Error("illegal catch attempt")},delegateYield:function(e,t,r){return this.delegate={iterator:N(e),resultName:t,nextLoc:r},"next"===this.method&&(this.arg=void 0),u}},e}var dt=function(){var e,t,r,i=Object(n.useState)(),o=Object(c.a)(i,2),u=o[0],d=o[1],m=Object(n.useState)(),h=Object(c.a)(m,2),f=h[0],v=h[1],g=Object(n.useState)(),y=Object(c.a)(g,2),w=y[0],E=y[1],_=Object(n.useState)(),k=Object(c.a)(_,2),N=k[0],x=k[1],O=Object(s.g)();Object(n.useEffect)((function(){u||function(){var e=Object(l.a)(ut().mark((function e(){var t,r;return ut().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.prev=0,e.next=3,b.a.get("".concat(p,"/training/usercontent/api/v1/user/progress?_format=json"),{withCredentials:!0,headers:{Accept:"application/hal+json","Content-Type":"application/hal+json",Authorization:"Basic"}}).then((function(e){"unauthorised"===e.data?O.push("/user/login"):(v(e.status),d(e.data),E(e.data.progress))}));case 3:e.next=8;break;case 5:e.prev=5,e.t0=e.catch(0),401!==(null===(t=e.t0.response)||void 0===t?void 0:t.status)&&403!==(null===(r=e.t0.response)||void 0===r?void 0:r.status)||O.push("/user/login");case 8:case"end":return e.stop()}}),e,null,[[0,5]])})));return function(){return e.apply(this,arguments)}}()()}),[u,f,O]),Object(n.useEffect)((function(){b.a.get("".concat(p,"/training/usercontent/api/my-learning-notifications?_format=json×tamp=").concat(Date.now()),{withCredentials:!0,headers:{Accept:"application/json","Content-Type":"application/json",Authorization:"Basic"}}).then((function(e){x(e.data.body)}))}),[]),Object(n.useEffect)((function(){window.vfTabs()}),[]);return a.a.createElement("div",{className:"sparse-content"},a.a.createElement("div",{className:"vf-grid vf-grid__col-4"},a.a.createElement("div",{className:"vf-grid__col--span-3"},a.a.createElement(pe,{title:"My learning"})),a.a.createElement("div",{className:"vf-grid__col--span-1"},a.a.createElement(L,null))),a.a.createElement("section",null,a.a.createElement("h1",null,"My learning"),N?a.a.createElement("div",{id:"banner",className:"vf-banner vf-banner--alert vf-banner--info"},a.a.createElement("div",{className:"vf-banner__content"},a.a.createElement("p",{className:"vf-banner__text"},a.a.createElement("div",{dangerouslySetInnerHTML:{__html:N}})),a.a.createElement("button",{"aria-label":"close notification banner",className:"vf-button vf-button--icon vf-button--dismiss | vf-banner__button",onClick:function(){document.getElementById("banner").style.display="none";var e="",t="";H.getCsrfToken().then((function(t){e=t})),H.getUserID().then((function(e){t=e})),b.a.patch("".concat(p,"/training/usercontent/api/my-learning-notifications?_format=json"),{user_id:t},{withCredentials:!0,headers:{Accept:"application/json","Content-Type":"application/json","X-CSRF-Token":e,Authorization:"Basic"}}).then((function(){document.getElementById("banner").style.display="none",console.log("test")}))}},a.a.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24"},a.a.createElement("title",null,"dismiss banner"),a.a.createElement("path",{d:"M14.3,12.179a.25.25,0,0,1,0-.354l9.263-9.262A1.5,1.5,0,0,0,21.439.442L12.177,9.7a.25.25,0,0,1-.354,0L2.561.442A1.5,1.5,0,0,0,.439,2.563L9.7,11.825a.25.25,0,0,1,0,.354L.439,21.442a1.5,1.5,0,0,0,2.122,2.121L11.823,14.3a.25.25,0,0,1,.354,0l9.262,9.263a1.5,1.5,0,0,0,2.122-2.121Z"}))))):"",a.a.createElement("div",null,u&&(null===(e=u.live_training)||void 0===e?void 0:e.length)>0?a.a.createElement("div",null,a.a.createElement("div",{className:"vf-u-margin__top--1200"}),a.a.createElement("h3",null,"Live training"),a.a.createElement("table",{className:"vf-table",style:{width:"100%"}},a.a.createElement("thead",{className:"vf-table__header"},a.a.createElement("tr",{className:"vf-table__row"},a.a.createElement("th",{className:"vf-table__heading",scope:"col"}," Course title"),a.a.createElement("th",{className:"vf-table__heading",scope:"col"}," Dates"),a.a.createElement("th",{className:"vf-table__heading",scope:"col"}," Course handbook"),a.a.createElement("th",{className:"vf-table__heading",scope:"col"}," Course materials"),a.a.createElement("th",{className:"vf-table__heading",scope:"col"}," Certificate(s)"),a.a.createElement("th",{className:"vf-table__heading",scope:"col"}," Survey"))),a.a.createElement("tbody",{className:"vf-table__body"},null===(t=u.live_training)||void 0===t?void 0:t.map((function(e){var t,r;return a.a.createElement("tr",{className:"vf-table__row"},a.a.createElement("td",{className:"vf-table__cell"},e.course_title),a.a.createElement("td",{className:"vf-table__cell"},e.course_dates),a.a.createElement("td",{className:"vf-table__cell"},(null===(t=e.handbook)||void 0===t?void 0:t.title)?a.a.createElement("a",{className:"vf-link",href:"".concat(p,"/training/materials").concat(e.handbook.slug)},"View"):" - "),a.a.createElement("td",{className:"vf-table__cell"},(null===(r=e.course_materials)||void 0===r?void 0:r.title)?a.a.createElement("a",{className:"vf-link",href:"".concat(p,"/training/materials").concat(e.course_materials.slug)},"View"):" - "),a.a.createElement("td",{className:"vf-table__cell"}," ",1===e.certificate?a.a.createElement(ct,{course_title:e.course_title,course_dates:e.course_dates,course_hours:e.course_hours,attendee_name:e.attendee_full_name}):" - "," "),a.a.createElement("td",{className:"vf-table__cell"},e.survey_label?a.a.createElement("a",{target:"_blank",rel:"noopener noreferrer",className:"vf-link",href:"".concat(e.survey_link)},e.survey_label," ",a.a.createElement("i",{className:"icon icon-common icon-external-link-alt"})):" - "))}))))):"",a.a.createElement("div",null,u&&(null===(r=u.live_training)||void 0===r?void 0:r.length)>0?a.a.createElement("div",null,a.a.createElement("div",{className:"vf-u-margin__top--1200"}),a.a.createElement("h3",null,"On-demand training")):"",a.a.createElement("div",{className:"vf-tabs"},a.a.createElement("ul",{className:"vf-tabs__list",style:{width:"100%"},"data-vf-js-tabs":!0},a.a.createElement("li",{className:"vf-tabs__item"},a.a.createElement("a",{className:"vf-tabs__link",href:"#vf-tabs__section--1"},"Favourite (",w?null===w||void 0===w?void 0:w.filter((function(e){return"1"===e.course_favourite})).length:0,")")),a.a.createElement("li",{className:"vf-tabs__item"},a.a.createElement("a",{className:"vf-tabs__link",href:"#vf-tabs__section--2"},"In progress (",w?null===w||void 0===w?void 0:w.filter((function(e){return"1"===e.course_in_progress})).length:0,")")),a.a.createElement("li",{className:"vf-tabs__item"},a.a.createElement("a",{className:"vf-tabs__link",href:"#vf-tabs__section--3"},"Completed (",w?null===w||void 0===w?void 0:w.filter((function(e){return"1"===e.course_completed})).length:0,")")))),a.a.createElement("div",{className:"vf-tabs-content","data-vf-js-tabs-content":!0},a.a.createElement("section",{className:"vf-tabs__section",id:"vf-tabs__section--1"},(null===w||void 0===w?void 0:w.filter((function(e){return"1"===e.course_favourite})).length)>0?null===w||void 0===w?void 0:w.filter((function(e){return"1"===e.course_favourite})).map((function(e){return a.a.createElement("div",{key:e.course_title,className:"vf-grid vf-grid__col-5"},a.a.createElement("div",null,a.a.createElement("img",{src:e.course_image?e.course_image:"https://acxngcvroo.cloudimg.io/v7/https://trainingcontent.embl.org/sites/default/files/online-event-images/featured%20image%20card_16.jpeg",alt:"",className:"vf-summary__image",loading:"lazy",style:{width:"150px"}})),a.a.createElement("div",{className:"vf-grid__col--span-2"},a.a.createElement("div",{className:"vf-summary vf-summary--event"},a.a.createElement("div",null,a.a.createElement("p",{className:"vf-summary__date"},"online_tutorial"===e.course_type?"Online tutorial":e.timeframe),a.a.createElement("h3",{className:"vf-summary__title ebi-academy-summary-title"},a.a.createElement("a",{href:"".concat(e.course_url),className:"vf-summary__link"},e.course_title)),a.a.createElement("span",null,e.course_subtitle)),a.a.createElement("div",{className:"vf-u-margin__top--600"}))),a.a.createElement("div",null),a.a.createElement("div",null,a.a.createElement("p",null,a.a.createElement("button",{className:"vf-button vf-button--secondary vf-button--sm",onClick:function(){window.location.href=e.course_url}},"View"))))})):a.a.createElement("div",{className:"vf-summary"},a.a.createElement("p",{className:"vf-summary__text"},"Once you mark a course as favourite it will appear here."))),a.a.createElement("section",{className:"vf-tabs__section",id:"vf-tabs__section--2"},(null===w||void 0===w?void 0:w.filter((function(e){return"1"===e.course_in_progress})).length)>0?null===w||void 0===w?void 0:w.filter((function(e){return"1"===e.course_in_progress})).map((function(e){return a.a.createElement("div",null,a.a.createElement("div",{key:e.course_title,className:"vf-grid vf-grid__col-5",style:{marginTop:"2rem"}},a.a.createElement("div",null,a.a.createElement("img",{src:e.course_image?e.course_image:"https://acxngcvroo.cloudimg.io/v7/https://trainingcontent.embl.org/sites/default/files/online-event-images/featured%20image%20card_16.jpeg",alt:"",className:"vf-summary__image",loading:"lazy",style:{width:"150px"}})),a.a.createElement("div",{className:"vf-grid__col--span-2"},a.a.createElement("div",{className:"vf-summary vf-summary--event"},a.a.createElement("div",null,a.a.createElement("p",{className:"vf-summary__date"},"online_tutorial"===e.course_type?"Online tutorial":e.timeframe),a.a.createElement("h3",{className:"vf-summary__title ebi-academy-summary-title"},a.a.createElement("a",{href:"".concat(e.course_url),className:"vf-summary__link"},e.course_title)),a.a.createElement("span",null,e.course_subtitle),e.pages?a.a.createElement("p",null,"Last page completed:"," ",e.pages.reverse()[0].page_title):""),a.a.createElement("div",{className:"vf-u-margin__top--600"}))),a.a.createElement("div",null,a.a.createElement("p",null,a.a.createElement("progress",{id:"progress_bar",style:{width:"60%",height:"10px"},value:e.course_progress,max:"100"}," ","32%"," ")," ",e.course_progress,"%")),a.a.createElement("div",null,a.a.createElement("p",null,a.a.createElement("button",{className:"vf-button vf-button--secondary vf-button--sm",onClick:function(){window.location.href=e.pages?e.pages[0].page_url:e.course_url}},"Resume")))),e.quiz_progress?a.a.createElement("div",{className:"vf-grid vf-grid__col-5 ebi-academy-course-list-item"},a.a.createElement("div",null),a.a.createElement("div",{className:"vf-grid__col--span-4 "},a.a.createElement("details",{className:"vf-details"},a.a.createElement("summary",{className:"vf-details--summary"},"My results"),a.a.createElement("table",{className:"vf-table"},a.a.createElement("thead",{className:"vf-table__header"},a.a.createElement("tr",{className:"vf-table__row"},a.a.createElement("th",{className:"vf-table__heading",scope:"col"}," ","Content"),a.a.createElement("th",{className:"vf-table__heading",scope:"col"}," ","Score"),a.a.createElement("th",{className:"vf-table__heading",scope:"col"}," ","Maximum score"),a.a.createElement("th",{className:"vf-table__heading",scope:"col"}," ","Finished"))),a.a.createElement("tbody",{className:"vf-table__body"},e.quiz_progress.map((function(e){return a.a.createElement("tr",{className:"vf-table__row"},a.a.createElement("td",{className:"vf-table__cell"}," ",a.a.createElement("a",{className:"vf-link",href:"".concat(e.page_url)},e.page_title," ")),a.a.createElement("td",{className:"vf-table__cell"},e.score),a.a.createElement("td",{className:"vf-table__cell"},e.score_max),a.a.createElement("td",{className:"vf-table__cell"},new Date(e.datetime).toDateString()))}))))))):"")})):a.a.createElement("div",{className:"vf-summary"},a.a.createElement("p",{className:"vf-summary__text"},"Any courses you begin to work through will appear here, once you have started to mark pages as complete. Why not browse our"," ",a.a.createElement("a",{className:"vf-link",href:"/training/on-demand"},"on-demand listings")," ","and choose a course that matches your learning needs?"))),a.a.createElement("section",{className:"vf-tabs__section",id:"vf-tabs__section--3"},(null===w||void 0===w?void 0:w.filter((function(e){return"1"===e.course_completed})).length)>0?null===w||void 0===w?void 0:w.filter((function(e){return"1"===e.course_completed})).map((function(e){return a.a.createElement("div",null,a.a.createElement("div",{key:e.course_title,className:"vf-grid vf-grid__col-5"},a.a.createElement("div",null,a.a.createElement("img",{src:e.course_image?e.course_image:"https://acxngcvroo.cloudimg.io/v7/https://trainingcontent.embl.org/sites/default/files/online-event-images/featured%20image%20card_16.jpeg",alt:"",className:"vf-summary__image",loading:"lazy",style:{width:"150px"}})),a.a.createElement("div",{className:"vf-grid__col--span-2"},a.a.createElement("div",{className:"vf-summary vf-summary--event"},a.a.createElement("div",null,a.a.createElement("p",{className:"vf-summary__date"},"online_tutorial"===e.course_type?"Online tutorial":e.timeframe),a.a.createElement("h3",{className:"vf-summary__title ebi-academy-summary-title"},a.a.createElement("a",{href:"".concat(e.course_url),className:"vf-summary__link"},e.course_title)),a.a.createElement("span",null,e.course_subtitle)),a.a.createElement("div",{className:"vf-u-margin__top--600"}))),a.a.createElement("div",null,a.a.createElement("p",null,e.course_finished?function(e){var t=new Date(e);return"Date completed: "+t.getDate()+" "+["January","February","March","April","May","June","July","August","September","October","November","December"][t.getMonth()]+" "+t.getFullYear()}(e.course_finished):"")),a.a.createElement("div",null,a.a.createElement("p",null,a.a.createElement("button",{className:"vf-button vf-button--secondary vf-button--sm",onClick:function(){window.location.href=e.course_url}},"View")))),e.quiz_progress?a.a.createElement("div",{className:"vf-grid vf-grid__col-5 ebi-academy-course-list-item"},a.a.createElement("div",null),a.a.createElement("div",{className:"vf-grid__col--span-4 "},a.a.createElement("details",{className:"vf-details"},a.a.createElement("summary",{className:"vf-details--summary"},"My results"),a.a.createElement("table",{className:"vf-table"},a.a.createElement("thead",{className:"vf-table__header"},a.a.createElement("tr",{className:"vf-table__row"},a.a.createElement("th",{className:"vf-table__heading",scope:"col"}," ","Content"),a.a.createElement("th",{className:"vf-table__heading",scope:"col"}," ","Score"),a.a.createElement("th",{className:"vf-table__heading",scope:"col"}," ","Maximum score"),a.a.createElement("th",{className:"vf-table__heading",scope:"col"}," ","Finished"))),a.a.createElement("tbody",{className:"vf-table__body"},e.quiz_progress.map((function(e){return a.a.createElement("tr",{className:"vf-table__row"},a.a.createElement("td",{className:"vf-table__cell"}," ",a.a.createElement("a",{className:"vf-link",href:"".concat(e.page_url)},e.page_title," ")),a.a.createElement("td",{className:"vf-table__cell"},e.score),a.a.createElement("td",{className:"vf-table__cell"},e.score_max),a.a.createElement("td",{className:"vf-table__cell"},new Date(e.datetime).toDateString()))}))))))):"")})):a.a.createElement("div",{className:"vf-summary"},a.a.createElement("p",{className:"vf-summary__text"},"Once you have completed a course it will appear here."))))))),a.a.createElement("div",{className:"vf-u-margin__top--1600"}))};function mt(){mt=function(){return e};var e={},t=Object.prototype,r=t.hasOwnProperty,n="function"==typeof Symbol?Symbol:{},a=n.iterator||"@@iterator",i=n.asyncIterator||"@@asyncIterator",o=n.toStringTag||"@@toStringTag";function s(e,t,r){return Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}),e[t]}try{s({},"")}catch(L){s=function(e,t,r){return e[t]=r}}function l(e,t,r,n){var a=t&&t.prototype instanceof d?t:d,i=Object.create(a.prototype),o=new k(n||[]);return i._invoke=function(e,t,r){var n="suspendedStart";return function(a,i){if("executing"===n)throw new Error("Generator is already running");if("completed"===n){if("throw"===a)throw i;return x()}for(r.method=a,r.arg=i;;){var o=r.delegate;if(o){var s=w(o,r);if(s){if(s===u)continue;return s}}if("next"===r.method)r.sent=r._sent=r.arg;else if("throw"===r.method){if("suspendedStart"===n)throw n="completed",r.arg;r.dispatchException(r.arg)}else"return"===r.method&&r.abrupt("return",r.arg);n="executing";var l=c(e,t,r);if("normal"===l.type){if(n=r.done?"completed":"suspendedYield",l.arg===u)continue;return{value:l.arg,done:r.done}}"throw"===l.type&&(n="completed",r.method="throw",r.arg=l.arg)}}}(e,r,o),i}function c(e,t,r){try{return{type:"normal",arg:e.call(t,r)}}catch(L){return{type:"throw",arg:L}}}e.wrap=l;var u={};function d(){}function m(){}function h(){}var f={};s(f,a,(function(){return this}));var v=Object.getPrototypeOf,p=v&&v(v(N([])));p&&p!==t&&r.call(p,a)&&(f=p);var g=h.prototype=d.prototype=Object.create(f);function y(e){["next","throw","return"].forEach((function(t){s(e,t,(function(e){return this._invoke(t,e)}))}))}function b(e,t){var n;this._invoke=function(a,i){function o(){return new t((function(n,o){!function n(a,i,o,s){var l=c(e[a],e,i);if("throw"!==l.type){var u=l.arg,d=u.value;return d&&"object"==typeof d&&r.call(d,"__await")?t.resolve(d.__await).then((function(e){n("next",e,o,s)}),(function(e){n("throw",e,o,s)})):t.resolve(d).then((function(e){u.value=e,o(u)}),(function(e){return n("throw",e,o,s)}))}s(l.arg)}(a,i,n,o)}))}return n=n?n.then(o,o):o()}}function w(e,t){var r=e.iterator[t.method];if(void 0===r){if(t.delegate=null,"throw"===t.method){if(e.iterator.return&&(t.method="return",t.arg=void 0,w(e,t),"throw"===t.method))return u;t.method="throw",t.arg=new TypeError("The iterator does not provide a 'throw' method")}return u}var n=c(r,e.iterator,t.arg);if("throw"===n.type)return t.method="throw",t.arg=n.arg,t.delegate=null,u;var a=n.arg;return a?a.done?(t[e.resultName]=a.value,t.next=e.nextLoc,"return"!==t.method&&(t.method="next",t.arg=void 0),t.delegate=null,u):a:(t.method="throw",t.arg=new TypeError("iterator result is not an object"),t.delegate=null,u)}function E(e){var t={tryLoc:e[0]};1 in e&&(t.catchLoc=e[1]),2 in e&&(t.finallyLoc=e[2],t.afterLoc=e[3]),this.tryEntries.push(t)}function _(e){var t=e.completion||{};t.type="normal",delete t.arg,e.completion=t}function k(e){this.tryEntries=[{tryLoc:"root"}],e.forEach(E,this),this.reset(!0)}function N(e){if(e){var t=e[a];if(t)return t.call(e);if("function"==typeof e.next)return e;if(!isNaN(e.length)){var n=-1,i=function t(){for(;++n<e.length;)if(r.call(e,n))return t.value=e[n],t.done=!1,t;return t.value=void 0,t.done=!0,t};return i.next=i}}return{next:x}}function x(){return{value:void 0,done:!0}}return m.prototype=h,s(g,"constructor",h),s(h,"constructor",m),m.displayName=s(h,o,"GeneratorFunction"),e.isGeneratorFunction=function(e){var t="function"==typeof e&&e.constructor;return!!t&&(t===m||"GeneratorFunction"===(t.displayName||t.name))},e.mark=function(e){return Object.setPrototypeOf?Object.setPrototypeOf(e,h):(e.__proto__=h,s(e,o,"GeneratorFunction")),e.prototype=Object.create(g),e},e.awrap=function(e){return{__await:e}},y(b.prototype),s(b.prototype,i,(function(){return this})),e.AsyncIterator=b,e.async=function(t,r,n,a,i){void 0===i&&(i=Promise);var o=new b(l(t,r,n,a),i);return e.isGeneratorFunction(r)?o:o.next().then((function(e){return e.done?e.value:o.next()}))},y(g),s(g,o,"Generator"),s(g,a,(function(){return this})),s(g,"toString",(function(){return"[object Generator]"})),e.keys=function(e){var t=[];for(var r in e)t.push(r);return t.reverse(),function r(){for(;t.length;){var n=t.pop();if(n in e)return r.value=n,r.done=!1,r}return r.done=!0,r}},e.values=N,k.prototype={constructor:k,reset:function(e){if(this.prev=0,this.next=0,this.sent=this._sent=void 0,this.done=!1,this.delegate=null,this.method="next",this.arg=void 0,this.tryEntries.forEach(_),!e)for(var t in this)"t"===t.charAt(0)&&r.call(this,t)&&!isNaN(+t.slice(1))&&(this[t]=void 0)},stop:function(){this.done=!0;var e=this.tryEntries[0].completion;if("throw"===e.type)throw e.arg;return this.rval},dispatchException:function(e){if(this.done)throw e;var t=this;function n(r,n){return o.type="throw",o.arg=e,t.next=r,n&&(t.method="next",t.arg=void 0),!!n}for(var a=this.tryEntries.length-1;a>=0;--a){var i=this.tryEntries[a],o=i.completion;if("root"===i.tryLoc)return n("end");if(i.tryLoc<=this.prev){var s=r.call(i,"catchLoc"),l=r.call(i,"finallyLoc");if(s&&l){if(this.prev<i.catchLoc)return n(i.catchLoc,!0);if(this.prev<i.finallyLoc)return n(i.finallyLoc)}else if(s){if(this.prev<i.catchLoc)return n(i.catchLoc,!0)}else{if(!l)throw new Error("try statement without catch or finally");if(this.prev<i.finallyLoc)return n(i.finallyLoc)}}}},abrupt:function(e,t){for(var n=this.tryEntries.length-1;n>=0;--n){var a=this.tryEntries[n];if(a.tryLoc<=this.prev&&r.call(a,"finallyLoc")&&this.prev<a.finallyLoc){var i=a;break}}i&&("break"===e||"continue"===e)&&i.tryLoc<=t&&t<=i.finallyLoc&&(i=null);var o=i?i.completion:{};return o.type=e,o.arg=t,i?(this.method="next",this.next=i.finallyLoc,u):this.complete(o)},complete:function(e,t){if("throw"===e.type)throw e.arg;return"break"===e.type||"continue"===e.type?this.next=e.arg:"return"===e.type?(this.rval=this.arg=e.arg,this.method="return",this.next="end"):"normal"===e.type&&t&&(this.next=t),u},finish:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var r=this.tryEntries[t];if(r.finallyLoc===e)return this.complete(r.completion,r.afterLoc),_(r),u}},catch:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var r=this.tryEntries[t];if(r.tryLoc===e){var n=r.completion;if("throw"===n.type){var a=n.arg;_(r)}return a}}throw new Error("illegal catch attempt")},delegateYield:function(e,t,r){return this.delegate={iterator:N(e),resultName:t,nextLoc:r},"next"===this.method&&(this.arg=void 0),u}},e}var ht=function(){var e,t,r,i=Object(n.useState)(),o=Object(c.a)(i,2),u=o[0],d=o[1],m=Object(n.useState)(),h=Object(c.a)(m,2),f=h[0],v=h[1],g=Object(n.useState)(),y=Object(c.a)(g,2),w=y[0],E=y[1],_=Object(n.useState)(!1),k=Object(c.a)(_,2),N=k[0],x=k[1],O=Object(s.g)(),S=JSON.parse(localStorage.getItem("login_destination")||"{}"),j=Object(s.h)(),T=new URLSearchParams(j.search);Object(n.useEffect)((function(){u||function(){var e=Object(l.a)(mt().mark((function e(){var t;return mt().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return t=T.get("userid"),e.prev=1,e.next=4,b.a.get("".concat(p,"/training/usercontent/api/v1/admin/view/?_format=json&user_id=").concat(t),{withCredentials:!0,headers:{Accept:"application/json","Content-Type":"application/json",Authorization:"Basic"}}).then((function(e){v(e.status),d(e.data),E(e.data.progress)})).catch((function(){x(!0)}));case 4:e.next=10;break;case 6:e.prev=6,e.t0=e.catch(1),x(!0),console.log(e.t0);case 10:case"end":return e.stop()}}),e,null,[[1,6]])})));return function(){return e.apply(this,arguments)}}()()}),[u,f,O,S,T,N]),Object(n.useEffect)((function(){window.vfTabs()}),[]);return a.a.createElement("div",{className:"sparse-content"},a.a.createElement("div",{className:"vf-grid vf-grid__col-4"},a.a.createElement("div",{className:"vf-grid__col--span-3"},a.a.createElement(pe,{title:"Admin view"})),a.a.createElement("div",{className:"vf-grid__col--span-1"},a.a.createElement(L,null))),N?a.a.createElement("div",null,"Unauthorised"):a.a.createElement("section",null,a.a.createElement("h1",null,null===u||void 0===u?void 0:u.user_email," "),a.a.createElement("div",null,u&&(null===(e=u.live_training)||void 0===e?void 0:e.length)>0?a.a.createElement("div",null,a.a.createElement("div",{className:"vf-u-margin__top--1200"}),a.a.createElement("h3",null,"Live training"),a.a.createElement("table",{className:"vf-table",style:{width:"100%"}},a.a.createElement("thead",{className:"vf-table__header"},a.a.createElement("tr",{className:"vf-table__row"},a.a.createElement("th",{className:"vf-table__heading",scope:"col"}," Course title"),a.a.createElement("th",{className:"vf-table__heading",scope:"col"}," Dates"),a.a.createElement("th",{className:"vf-table__heading",scope:"col"}," Course handbook"),a.a.createElement("th",{className:"vf-table__heading",scope:"col"}," Course materials"),a.a.createElement("th",{className:"vf-table__heading",scope:"col"}," Certificate(s)"),a.a.createElement("th",{className:"vf-table__heading",scope:"col"}," Survey"))),a.a.createElement("tbody",{className:"vf-table__body"},null===(t=u.live_training)||void 0===t?void 0:t.map((function(e){var t,r;return a.a.createElement("tr",{className:"vf-table__row"},a.a.createElement("td",{className:"vf-table__cell"},e.course_title),a.a.createElement("td",{className:"vf-table__cell"},e.course_dates),a.a.createElement("td",{className:"vf-table__cell"},(null===(t=e.handbook)||void 0===t?void 0:t.title)?a.a.createElement("a",{className:"vf-link",href:"".concat(p,"/training/materials").concat(e.handbook.slug)},"View"):" - "),a.a.createElement("td",{className:"vf-table__cell"},(null===(r=e.course_materials)||void 0===r?void 0:r.title)?a.a.createElement("a",{className:"vf-link",href:"".concat(p,"/training/materials").concat(e.course_materials.slug)},"View"):" - "),a.a.createElement("td",{className:"vf-table__cell"}," ",1===e.certificate?a.a.createElement(ct,{course_title:e.course_title,course_dates:e.course_dates,course_hours:e.course_hours,attendee_name:e.attendee_full_name}):" - "," "),a.a.createElement("td",{className:"vf-table__cell"},e.survey_label?a.a.createElement("a",{className:"vf-link",href:"".concat(e.survey_link)},e.survey_label):" - "))}))))):"",u&&(null===(r=u.live_training)||void 0===r?void 0:r.length)>0?a.a.createElement("div",null,a.a.createElement("div",{className:"vf-u-margin__top--800"}),a.a.createElement("h3",null,"On-demand training")):"",a.a.createElement("div",{className:"vf-tabs"},a.a.createElement("ul",{className:"vf-tabs__list",style:{width:"100%"},"data-vf-js-tabs":!0},a.a.createElement("li",{className:"vf-tabs__item"},a.a.createElement("a",{className:"vf-tabs__link",href:"#vf-tabs__section--1"},"Favourite (",w?null===w||void 0===w?void 0:w.filter((function(e){return"1"===e.course_favourite})).length:0,")")),a.a.createElement("li",{className:"vf-tabs__item"},a.a.createElement("a",{className:"vf-tabs__link",href:"#vf-tabs__section--2"},"In progress (",w?null===w||void 0===w?void 0:w.filter((function(e){return"1"===e.course_in_progress})).length:0,")")),a.a.createElement("li",{className:"vf-tabs__item"},a.a.createElement("a",{className:"vf-tabs__link",href:"#vf-tabs__section--3"},"Completed (",w?null===w||void 0===w?void 0:w.filter((function(e){return"1"===e.course_completed})).length:0,")")))),a.a.createElement("div",{className:"vf-tabs-content","data-vf-js-tabs-content":!0},a.a.createElement("section",{className:"vf-tabs__section",id:"vf-tabs__section--1"},(null===w||void 0===w?void 0:w.filter((function(e){return"1"===e.course_favourite})).length)>0?null===w||void 0===w?void 0:w.filter((function(e){return"1"===e.course_favourite})).map((function(e){return a.a.createElement("div",{key:e.course_title,className:"vf-grid vf-grid__col-5"},a.a.createElement("div",null,a.a.createElement("img",{src:e.course_image?e.course_image:"https://acxngcvroo.cloudimg.io/v7/https://trainingcontent.embl.org/sites/default/files/online-event-images/featured%20image%20card_16.jpeg",alt:"",className:"vf-summary__image",loading:"lazy",style:{width:"150px"}})),a.a.createElement("div",{className:"vf-grid__col--span-2"},a.a.createElement("div",{className:"vf-summary vf-summary--event"},a.a.createElement("div",null,a.a.createElement("p",{className:"vf-summary__date"},"online_tutorial"===e.course_type?"Online tutorial":e.timeframe),a.a.createElement("h3",{className:"vf-summary__title ebi-academy-summary-title"},a.a.createElement("a",{href:"".concat(e.course_url),className:"vf-summary__link"},e.course_title))),a.a.createElement("div",{className:"vf-u-margin__top--600"}))),a.a.createElement("div",null),a.a.createElement("div",null,a.a.createElement("p",null,a.a.createElement("button",{className:"vf-button vf-button--secondary vf-button--sm",onClick:function(){window.location.href=e.course_url}},"View"))))})):a.a.createElement("div",{className:"vf-summary"},a.a.createElement("p",{className:"vf-summary__text"},"Once you mark a course as favourite it will appear here."))),a.a.createElement("section",{className:"vf-tabs__section",id:"vf-tabs__section--2"},(null===w||void 0===w?void 0:w.filter((function(e){return"1"===e.course_in_progress})).length)>0?null===w||void 0===w?void 0:w.filter((function(e){return"1"===e.course_in_progress})).map((function(e){return a.a.createElement("div",null,a.a.createElement("div",{key:e.course_title,className:"vf-grid vf-grid__col-5",style:{marginTop:"2rem"}},a.a.createElement("div",null,a.a.createElement("img",{src:e.course_image?e.course_image:"https://acxngcvroo.cloudimg.io/v7/https://trainingcontent.embl.org/sites/default/files/online-event-images/featured%20image%20card_16.jpeg",alt:"",className:"vf-summary__image",loading:"lazy",style:{width:"150px"}})),a.a.createElement("div",{className:"vf-grid__col--span-2"},a.a.createElement("div",{className:"vf-summary vf-summary--event"},a.a.createElement("div",null,a.a.createElement("p",{className:"vf-summary__date"},"online_tutorial"===e.course_type?"Online tutorial":e.timeframe),a.a.createElement("h3",{className:"vf-summary__title ebi-academy-summary-title"},a.a.createElement("a",{href:"".concat(e.course_url),className:"vf-summary__link"},e.course_title)),e.pages?a.a.createElement("p",null,"Last page completed:"," ",e.pages.reverse()[0].page_title):""),a.a.createElement("div",{className:"vf-u-margin__top--600"}))),a.a.createElement("div",null,a.a.createElement("p",null,a.a.createElement("progress",{id:"progress_bar",style:{width:"60%",height:"10px"},value:e.course_progress,max:"100"}," ","32%"," ")," ",e.course_progress,"%")),a.a.createElement("div",null,a.a.createElement("p",null,a.a.createElement("button",{className:"vf-button vf-button--secondary vf-button--sm",onClick:function(){window.location.href=e.pages?e.pages[0].page_url:e.course_url}},"Resume")))),e.quiz_progress?a.a.createElement("div",{className:"vf-grid vf-grid__col-5 ebi-academy-course-list-item"},a.a.createElement("div",null),a.a.createElement("div",{className:"vf-grid__col--span-4 "},a.a.createElement("details",{className:"vf-details"},a.a.createElement("summary",{className:"vf-details--summary"},"My results"),a.a.createElement("table",{className:"vf-table"},a.a.createElement("thead",{className:"vf-table__header"},a.a.createElement("tr",{className:"vf-table__row"},a.a.createElement("th",{className:"vf-table__heading",scope:"col"}," ","Content"),a.a.createElement("th",{className:"vf-table__heading",scope:"col"}," ","Score"),a.a.createElement("th",{className:"vf-table__heading",scope:"col"}," ","Maximum score"),a.a.createElement("th",{className:"vf-table__heading",scope:"col"}," ","Finished"))),a.a.createElement("tbody",{className:"vf-table__body"},e.quiz_progress.map((function(e){return a.a.createElement("tr",{className:"vf-table__row"},a.a.createElement("td",{className:"vf-table__cell"}," ",a.a.createElement("a",{className:"vf-link",href:"".concat(e.page_url)},e.page_title," ")),a.a.createElement("td",{className:"vf-table__cell"},e.score),a.a.createElement("td",{className:"vf-table__cell"},e.score_max),a.a.createElement("td",{className:"vf-table__cell"},new Date(e.datetime).toDateString()))}))))))):"")})):a.a.createElement("div",{className:"vf-summary"},a.a.createElement("p",{className:"vf-summary__text"},"Any courses you begin to work through will appear here, once you have started to mark pages as complete. Why not browse our"," ",a.a.createElement("a",{className:"vf-link",href:"/training/on-demand"},"on-demand listings")," ","and choose a course that matches your learning needs?"))),a.a.createElement("section",{className:"vf-tabs__section",id:"vf-tabs__section--3"},(null===w||void 0===w?void 0:w.filter((function(e){return"1"===e.course_completed})).length)>0?null===w||void 0===w?void 0:w.filter((function(e){return"1"===e.course_completed})).map((function(e){return a.a.createElement("div",{key:e.course_title,className:"vf-grid vf-grid__col-5"},a.a.createElement("div",null,a.a.createElement("img",{src:e.course_image?e.course_image:"https://acxngcvroo.cloudimg.io/v7/https://trainingcontent.embl.org/sites/default/files/online-event-images/featured%20image%20card_16.jpeg",alt:"",className:"vf-summary__image",loading:"lazy",style:{width:"150px"}})),a.a.createElement("div",{className:"vf-grid__col--span-2"},a.a.createElement("div",{className:"vf-summary vf-summary--event"},a.a.createElement("div",null,a.a.createElement("p",{className:"vf-summary__date"},"online_tutorial"===e.course_type?"Online tutorial":e.timeframe),a.a.createElement("h3",{className:"vf-summary__title ebi-academy-summary-title"},a.a.createElement("a",{href:"".concat(e.course_url),className:"vf-summary__link"},e.course_title))),a.a.createElement("div",{className:"vf-u-margin__top--600"}))),a.a.createElement("div",null,a.a.createElement("p",null,e.course_finished?function(e){var t=new Date(e);return"Date completed: "+t.getDate()+" "+["January","February","March","April","May","June","July","August","September","October","November","December"][t.getMonth()]+" "+t.getFullYear()}(e.course_finished):"")),a.a.createElement("div",null,a.a.createElement("p",null,a.a.createElement("button",{className:"vf-button vf-button--secondary vf-button--sm",onClick:function(){window.location.href=e.course_url}},"View"))))})):a.a.createElement("div",{className:"vf-summary"},a.a.createElement("p",{className:"vf-summary__text"},"Once you have completed a course it will appear here."))))),a.a.createElement("div",{className:"vf-u-margin__top--1600"})))};function ft(){ft=function(){return e};var e={},t=Object.prototype,r=t.hasOwnProperty,n="function"==typeof Symbol?Symbol:{},a=n.iterator||"@@iterator",i=n.asyncIterator||"@@asyncIterator",o=n.toStringTag||"@@toStringTag";function s(e,t,r){return Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}),e[t]}try{s({},"")}catch(L){s=function(e,t,r){return e[t]=r}}function l(e,t,r,n){var a=t&&t.prototype instanceof d?t:d,i=Object.create(a.prototype),o=new k(n||[]);return i._invoke=function(e,t,r){var n="suspendedStart";return function(a,i){if("executing"===n)throw new Error("Generator is already running");if("completed"===n){if("throw"===a)throw i;return x()}for(r.method=a,r.arg=i;;){var o=r.delegate;if(o){var s=w(o,r);if(s){if(s===u)continue;return s}}if("next"===r.method)r.sent=r._sent=r.arg;else if("throw"===r.method){if("suspendedStart"===n)throw n="completed",r.arg;r.dispatchException(r.arg)}else"return"===r.method&&r.abrupt("return",r.arg);n="executing";var l=c(e,t,r);if("normal"===l.type){if(n=r.done?"completed":"suspendedYield",l.arg===u)continue;return{value:l.arg,done:r.done}}"throw"===l.type&&(n="completed",r.method="throw",r.arg=l.arg)}}}(e,r,o),i}function c(e,t,r){try{return{type:"normal",arg:e.call(t,r)}}catch(L){return{type:"throw",arg:L}}}e.wrap=l;var u={};function d(){}function m(){}function h(){}var f={};s(f,a,(function(){return this}));var v=Object.getPrototypeOf,p=v&&v(v(N([])));p&&p!==t&&r.call(p,a)&&(f=p);var g=h.prototype=d.prototype=Object.create(f);function y(e){["next","throw","return"].forEach((function(t){s(e,t,(function(e){return this._invoke(t,e)}))}))}function b(e,t){var n;this._invoke=function(a,i){function o(){return new t((function(n,o){!function n(a,i,o,s){var l=c(e[a],e,i);if("throw"!==l.type){var u=l.arg,d=u.value;return d&&"object"==typeof d&&r.call(d,"__await")?t.resolve(d.__await).then((function(e){n("next",e,o,s)}),(function(e){n("throw",e,o,s)})):t.resolve(d).then((function(e){u.value=e,o(u)}),(function(e){return n("throw",e,o,s)}))}s(l.arg)}(a,i,n,o)}))}return n=n?n.then(o,o):o()}}function w(e,t){var r=e.iterator[t.method];if(void 0===r){if(t.delegate=null,"throw"===t.method){if(e.iterator.return&&(t.method="return",t.arg=void 0,w(e,t),"throw"===t.method))return u;t.method="throw",t.arg=new TypeError("The iterator does not provide a 'throw' method")}return u}var n=c(r,e.iterator,t.arg);if("throw"===n.type)return t.method="throw",t.arg=n.arg,t.delegate=null,u;var a=n.arg;return a?a.done?(t[e.resultName]=a.value,t.next=e.nextLoc,"return"!==t.method&&(t.method="next",t.arg=void 0),t.delegate=null,u):a:(t.method="throw",t.arg=new TypeError("iterator result is not an object"),t.delegate=null,u)}function E(e){var t={tryLoc:e[0]};1 in e&&(t.catchLoc=e[1]),2 in e&&(t.finallyLoc=e[2],t.afterLoc=e[3]),this.tryEntries.push(t)}function _(e){var t=e.completion||{};t.type="normal",delete t.arg,e.completion=t}function k(e){this.tryEntries=[{tryLoc:"root"}],e.forEach(E,this),this.reset(!0)}function N(e){if(e){var t=e[a];if(t)return t.call(e);if("function"==typeof e.next)return e;if(!isNaN(e.length)){var n=-1,i=function t(){for(;++n<e.length;)if(r.call(e,n))return t.value=e[n],t.done=!1,t;return t.value=void 0,t.done=!0,t};return i.next=i}}return{next:x}}function x(){return{value:void 0,done:!0}}return m.prototype=h,s(g,"constructor",h),s(h,"constructor",m),m.displayName=s(h,o,"GeneratorFunction"),e.isGeneratorFunction=function(e){var t="function"==typeof e&&e.constructor;return!!t&&(t===m||"GeneratorFunction"===(t.displayName||t.name))},e.mark=function(e){return Object.setPrototypeOf?Object.setPrototypeOf(e,h):(e.__proto__=h,s(e,o,"GeneratorFunction")),e.prototype=Object.create(g),e},e.awrap=function(e){return{__await:e}},y(b.prototype),s(b.prototype,i,(function(){return this})),e.AsyncIterator=b,e.async=function(t,r,n,a,i){void 0===i&&(i=Promise);var o=new b(l(t,r,n,a),i);return e.isGeneratorFunction(r)?o:o.next().then((function(e){return e.done?e.value:o.next()}))},y(g),s(g,o,"Generator"),s(g,a,(function(){return this})),s(g,"toString",(function(){return"[object Generator]"})),e.keys=function(e){var t=[];for(var r in e)t.push(r);return t.reverse(),function r(){for(;t.length;){var n=t.pop();if(n in e)return r.value=n,r.done=!1,r}return r.done=!0,r}},e.values=N,k.prototype={constructor:k,reset:function(e){if(this.prev=0,this.next=0,this.sent=this._sent=void 0,this.done=!1,this.delegate=null,this.method="next",this.arg=void 0,this.tryEntries.forEach(_),!e)for(var t in this)"t"===t.charAt(0)&&r.call(this,t)&&!isNaN(+t.slice(1))&&(this[t]=void 0)},stop:function(){this.done=!0;var e=this.tryEntries[0].completion;if("throw"===e.type)throw e.arg;return this.rval},dispatchException:function(e){if(this.done)throw e;var t=this;function n(r,n){return o.type="throw",o.arg=e,t.next=r,n&&(t.method="next",t.arg=void 0),!!n}for(var a=this.tryEntries.length-1;a>=0;--a){var i=this.tryEntries[a],o=i.completion;if("root"===i.tryLoc)return n("end");if(i.tryLoc<=this.prev){var s=r.call(i,"catchLoc"),l=r.call(i,"finallyLoc");if(s&&l){if(this.prev<i.catchLoc)return n(i.catchLoc,!0);if(this.prev<i.finallyLoc)return n(i.finallyLoc)}else if(s){if(this.prev<i.catchLoc)return n(i.catchLoc,!0)}else{if(!l)throw new Error("try statement without catch or finally");if(this.prev<i.finallyLoc)return n(i.finallyLoc)}}}},abrupt:function(e,t){for(var n=this.tryEntries.length-1;n>=0;--n){var a=this.tryEntries[n];if(a.tryLoc<=this.prev&&r.call(a,"finallyLoc")&&this.prev<a.finallyLoc){var i=a;break}}i&&("break"===e||"continue"===e)&&i.tryLoc<=t&&t<=i.finallyLoc&&(i=null);var o=i?i.completion:{};return o.type=e,o.arg=t,i?(this.method="next",this.next=i.finallyLoc,u):this.complete(o)},complete:function(e,t){if("throw"===e.type)throw e.arg;return"break"===e.type||"continue"===e.type?this.next=e.arg:"return"===e.type?(this.rval=this.arg=e.arg,this.method="return",this.next="end"):"normal"===e.type&&t&&(this.next=t),u},finish:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var r=this.tryEntries[t];if(r.finallyLoc===e)return this.complete(r.completion,r.afterLoc),_(r),u}},catch:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var r=this.tryEntries[t];if(r.tryLoc===e){var n=r.completion;if("throw"===n.type){var a=n.arg;_(r)}return a}}throw new Error("illegal catch attempt")},delegateYield:function(e,t,r){return this.delegate={iterator:N(e),resultName:t,nextLoc:r},"next"===this.method&&(this.arg=void 0),u}},e}var vt=function(){var e=Object(n.useState)(!1),t=Object(c.a)(e,2),r=t[0],i=t[1],o=Object(n.useState)(),d=Object(c.a)(o,2),m=d[0],h=d[1],f=Object(n.useState)(),v=Object(c.a)(f,2),g=v[0],y=v[1],w=Object(n.useState)(),E=Object(c.a)(w,2),_=E[0],k=E[1],N=Object(n.useState)(!1),x=Object(c.a)(N,2),O=x[0],S=x[1],j=Object(n.useState)(),T=Object(c.a)(j,2),C=T[0],B=T[1],M=Object(s.g)(),I=window.location.href,A="";A=-1!==I.search("wwwdev")||-1!==I.search("localhost")?"https://wwwdev.ebi.ac.uk/training/usercontent/saml/login":"https://www.ebi.ac.uk/training/usercontent/saml/login",Object(n.useEffect)((function(){(function(){var e=Object(l.a)(ft().mark((function e(){var t;return ft().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.prev=0,t="",e.next=4,b.a.get("".concat(p,"/training/usercontent/session/token")).then((function(e){t=e}));case 4:return e.next=6,b.a.get("".concat(p,"/training/usercontent/api/v1/user/progress?_format=json"),{withCredentials:!0,headers:{Accept:"application/hal+json","Content-Type":"application/hal+json","X-CSRF-Token":t,Authorization:"Basic"}}).then((function(e){"unauthorise"===e.data?i(!1):(i(!0),M.push("/user"))}));case 6:e.next=11;break;case 8:e.prev=8,e.t0=e.catch(0),console.log(e.t0);case 11:case"end":return e.stop()}}),e,null,[[0,8]])})));return function(){return e.apply(this,arguments)}})()()}),[M,r]);return a.a.createElement("div",{className:"vf-body"},a.a.createElement("div",{className:"vf-grid vf-grid__col-4"},a.a.createElement("div",{className:"vf-grid__col--span-3"},a.a.createElement(pe,{title:"Login"})),a.a.createElement("div",{className:"vf-grid__col--span-1"},a.a.createElement(L,null))),a.a.createElement("div",{className:"vf-u-margin__top--600"}),a.a.createElement("h1",{className:"vf-hero__heading"},"Login"),a.a.createElement("div",{className:"vf-u-margin__top--600"}),a.a.createElement("legend",{className:"vf-form__legend"},"Login or"," ",a.a.createElement("a",{href:"/training/user/register",className:"vf-link"},"register")," ","to track your learning progress through our library of on-demand bioinformatics training."),a.a.createElement("p",{className:"vf-text-body vf-text-body--2 vf-u-margin__top--400"},"Creating an account is not required to access and complete on-demand training. Registering will provide you with a personal \u2018My learning\u2019 page to keep track of courses that interest you, pages you last visited, and a record of training and quizzes you have completed."),a.a.createElement("div",{className:"vf-u-margin__top--600"}),r?M.push("/user"):a.a.createElement("div",{className:"vf-grid"},a.a.createElement("div",null,C?a.a.createElement("div",null,a.a.createElement("div",{className:"vf-u-margin__top--200"}),a.a.createElement("span",null,"Verifying details..."),a.a.createElement("img",{alt:"progress",style:{width:"7%"},src:"../progressbar.gif"})):"",_?a.a.createElement(a.a.Fragment,null,a.a.createElement("div",{className:"vf-u-margin__top--800"}),a.a.createElement("div",{className:"vf-banner vf-banner--alert vf-banner--warning"},a.a.createElement("div",{className:"vf-banner__content"},a.a.createElement("p",{className:"vf-banner__text"},_)))):"",a.a.createElement("div",{className:"vf-u-margin__top--800"}),a.a.createElement("form",{className:"vf-stack vf-stack--400",onSubmit:function(e){return function(e){e.preventDefault(),m&&g?(r||B(!0),O?k("Please login with your EMBL credentials"):b.a.post("".concat(p,"/training/usercontent/user/login?_format=json"),{name:m,pass:g},{withCredentials:!0,headers:{Accept:"application/hal+json","Content-Type":"application/hal+json","X-CSRF-Token":"",Authorization:"Basic"}}).then((function(e){i(!0)})).catch((function(e){localStorage.setItem("last_login_attempt",String(Date.now())),e.response?(console.log(e.response),k(e.response.data.message)):(console.log("login error",e),k("There was an error with your request. Please try again later."))})).finally((function(){B(!1)}))):k("Please enter a valid email and password")}(e)}},a.a.createElement("div",{className:"vf-form__item vf-stack"},a.a.createElement("label",{htmlFor:"user",className:"vf-form__label vf-form__label--required"},"Email address",a.a.createElement("span",{className:"vf-u-sr-only"},"this field is required."),a.a.createElement("svg",{className:"vf-icon vf-icon--asterick",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24"},a.a.createElement("title",null,"asterick"),a.a.createElement("path",{d:"M23.555,8.729a1.505,1.505,0,0,0-1.406-.98H16.062a.5.5,0,0,1-.472-.334L13.405,1.222a1.5,1.5,0,0,0-2.81,0l-.005.016L8.41,7.415a.5.5,0,0,1-.471.334H1.85A1.5,1.5,0,0,0,.887,10.4l5.184,4.3a.5.5,0,0,1,.155.543L4.048,21.774a1.5,1.5,0,0,0,2.31,1.684l5.346-3.92a.5.5,0,0,1,.591,0l5.344,3.919a1.5,1.5,0,0,0,2.312-1.683l-2.178-6.535a.5.5,0,0,1,.155-.543l5.194-4.306A1.5,1.5,0,0,0,23.555,8.729Z"}))),a.a.createElement("input",{type:"email",id:"user",onChange:function(e){return function(e){var t=e.target.value;["embl.org","embl.de","embl-hamburg.de","embl.es","embl.fr","embl.it","ebi.ac.uk"].includes(null===t||void 0===t?void 0:t.split("@").pop())?S(!0):S(!1),h(e.target.value)}(e)},className:"vf-form__input",required:!0}),O?a.a.createElement("p",{className:"vf-form__helper vf-form__helper--error"},"It seems you already have an EMBL account. \xa0",a.a.createElement("a",{href:A},"Login with your EMBL credentials")):""),a.a.createElement("div",{className:"vf-form__item vf-stack"},a.a.createElement("label",{htmlFor:"pass",className:"vf-form__label vf-form__label--required"},"Password",a.a.createElement("span",{className:"vf-u-sr-only"},"this field is required."),a.a.createElement("svg",{className:"vf-icon vf-icon--asterick",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24"},a.a.createElement("title",null,"asterick"),a.a.createElement("path",{d:"M23.555,8.729a1.505,1.505,0,0,0-1.406-.98H16.062a.5.5,0,0,1-.472-.334L13.405,1.222a1.5,1.5,0,0,0-2.81,0l-.005.016L8.41,7.415a.5.5,0,0,1-.471.334H1.85A1.5,1.5,0,0,0,.887,10.4l5.184,4.3a.5.5,0,0,1,.155.543L4.048,21.774a1.5,1.5,0,0,0,2.31,1.684l5.346-3.92a.5.5,0,0,1,.591,0l5.344,3.919a1.5,1.5,0,0,0,2.312-1.683l-2.178-6.535a.5.5,0,0,1,.155-.543l5.194-4.306A1.5,1.5,0,0,0,23.555,8.729Z"}))),a.a.createElement("input",{type:"password",id:"pass",onChange:function(e){return function(e){y(e.target.value)}(e)},className:"vf-form__input",required:!0}),a.a.createElement("div",{className:"vf-u-margin__top--200"}),a.a.createElement(u.b,{id:"forgot-password-link",className:"vf-link",to:"/user/forgot-password"},"Forgot password ?")),a.a.createElement("button",{style:{width:"calc( 60%)"},type:"submit",className:"vf-button vf-button--primary"},"Login"),a.a.createElement("div",{className:"vf-u-margin__top--400"})),a.a.createElement("div",{className:"vf-u-margin__top--800"}),a.a.createElement("div",{style:{width:"calc( 60%)"},className:"_1y14rg4 Divider"},a.a.createElement("hr",{className:"_9cn6ba5"}),a.a.createElement("div",{className:"_trfeet"},"or"),a.a.createElement("hr",{className:"_9cn6ba5"})),a.a.createElement("div",{className:"vf-u-margin__top--400"}),a.a.createElement("button",{onClick:function(){window.location.href=A},style:{width:"calc( 60%)"},className:"vf-button vf-button--secondary vf-button--sm"},"Login with EMBL credentials"),a.a.createElement("div",{className:"vf-u-margin__top--400"}),a.a.createElement("p",{className:"vf-text-body vf-text-body--2"},"Do not have an account?"," ",a.a.createElement(u.b,{className:"vf-link",to:"/user/register"},"Create one.")),a.a.createElement("div",{className:"vf-u-margin__top--800"})),a.a.createElement("div",null)))},pt=r(754);function gt(){gt=function(){return e};var e={},t=Object.prototype,r=t.hasOwnProperty,n="function"==typeof Symbol?Symbol:{},a=n.iterator||"@@iterator",i=n.asyncIterator||"@@asyncIterator",o=n.toStringTag||"@@toStringTag";function s(e,t,r){return Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}),e[t]}try{s({},"")}catch(L){s=function(e,t,r){return e[t]=r}}function l(e,t,r,n){var a=t&&t.prototype instanceof d?t:d,i=Object.create(a.prototype),o=new k(n||[]);return i._invoke=function(e,t,r){var n="suspendedStart";return function(a,i){if("executing"===n)throw new Error("Generator is already running");if("completed"===n){if("throw"===a)throw i;return x()}for(r.method=a,r.arg=i;;){var o=r.delegate;if(o){var s=w(o,r);if(s){if(s===u)continue;return s}}if("next"===r.method)r.sent=r._sent=r.arg;else if("throw"===r.method){if("suspendedStart"===n)throw n="completed",r.arg;r.dispatchException(r.arg)}else"return"===r.method&&r.abrupt("return",r.arg);n="executing";var l=c(e,t,r);if("normal"===l.type){if(n=r.done?"completed":"suspendedYield",l.arg===u)continue;return{value:l.arg,done:r.done}}"throw"===l.type&&(n="completed",r.method="throw",r.arg=l.arg)}}}(e,r,o),i}function c(e,t,r){try{return{type:"normal",arg:e.call(t,r)}}catch(L){return{type:"throw",arg:L}}}e.wrap=l;var u={};function d(){}function m(){}function h(){}var f={};s(f,a,(function(){return this}));var v=Object.getPrototypeOf,p=v&&v(v(N([])));p&&p!==t&&r.call(p,a)&&(f=p);var g=h.prototype=d.prototype=Object.create(f);function y(e){["next","throw","return"].forEach((function(t){s(e,t,(function(e){return this._invoke(t,e)}))}))}function b(e,t){var n;this._invoke=function(a,i){function o(){return new t((function(n,o){!function n(a,i,o,s){var l=c(e[a],e,i);if("throw"!==l.type){var u=l.arg,d=u.value;return d&&"object"==typeof d&&r.call(d,"__await")?t.resolve(d.__await).then((function(e){n("next",e,o,s)}),(function(e){n("throw",e,o,s)})):t.resolve(d).then((function(e){u.value=e,o(u)}),(function(e){return n("throw",e,o,s)}))}s(l.arg)}(a,i,n,o)}))}return n=n?n.then(o,o):o()}}function w(e,t){var r=e.iterator[t.method];if(void 0===r){if(t.delegate=null,"throw"===t.method){if(e.iterator.return&&(t.method="return",t.arg=void 0,w(e,t),"throw"===t.method))return u;t.method="throw",t.arg=new TypeError("The iterator does not provide a 'throw' method")}return u}var n=c(r,e.iterator,t.arg);if("throw"===n.type)return t.method="throw",t.arg=n.arg,t.delegate=null,u;var a=n.arg;return a?a.done?(t[e.resultName]=a.value,t.next=e.nextLoc,"return"!==t.method&&(t.method="next",t.arg=void 0),t.delegate=null,u):a:(t.method="throw",t.arg=new TypeError("iterator result is not an object"),t.delegate=null,u)}function E(e){var t={tryLoc:e[0]};1 in e&&(t.catchLoc=e[1]),2 in e&&(t.finallyLoc=e[2],t.afterLoc=e[3]),this.tryEntries.push(t)}function _(e){var t=e.completion||{};t.type="normal",delete t.arg,e.completion=t}function k(e){this.tryEntries=[{tryLoc:"root"}],e.forEach(E,this),this.reset(!0)}function N(e){if(e){var t=e[a];if(t)return t.call(e);if("function"==typeof e.next)return e;if(!isNaN(e.length)){var n=-1,i=function t(){for(;++n<e.length;)if(r.call(e,n))return t.value=e[n],t.done=!1,t;return t.value=void 0,t.done=!0,t};return i.next=i}}return{next:x}}function x(){return{value:void 0,done:!0}}return m.prototype=h,s(g,"constructor",h),s(h,"constructor",m),m.displayName=s(h,o,"GeneratorFunction"),e.isGeneratorFunction=function(e){var t="function"==typeof e&&e.constructor;return!!t&&(t===m||"GeneratorFunction"===(t.displayName||t.name))},e.mark=function(e){return Object.setPrototypeOf?Object.setPrototypeOf(e,h):(e.__proto__=h,s(e,o,"GeneratorFunction")),e.prototype=Object.create(g),e},e.awrap=function(e){return{__await:e}},y(b.prototype),s(b.prototype,i,(function(){return this})),e.AsyncIterator=b,e.async=function(t,r,n,a,i){void 0===i&&(i=Promise);var o=new b(l(t,r,n,a),i);return e.isGeneratorFunction(r)?o:o.next().then((function(e){return e.done?e.value:o.next()}))},y(g),s(g,o,"Generator"),s(g,a,(function(){return this})),s(g,"toString",(function(){return"[object Generator]"})),e.keys=function(e){var t=[];for(var r in e)t.push(r);return t.reverse(),function r(){for(;t.length;){var n=t.pop();if(n in e)return r.value=n,r.done=!1,r}return r.done=!0,r}},e.values=N,k.prototype={constructor:k,reset:function(e){if(this.prev=0,this.next=0,this.sent=this._sent=void 0,this.done=!1,this.delegate=null,this.method="next",this.arg=void 0,this.tryEntries.forEach(_),!e)for(var t in this)"t"===t.charAt(0)&&r.call(this,t)&&!isNaN(+t.slice(1))&&(this[t]=void 0)},stop:function(){this.done=!0;var e=this.tryEntries[0].completion;if("throw"===e.type)throw e.arg;return this.rval},dispatchException:function(e){if(this.done)throw e;var t=this;function n(r,n){return o.type="throw",o.arg=e,t.next=r,n&&(t.method="next",t.arg=void 0),!!n}for(var a=this.tryEntries.length-1;a>=0;--a){var i=this.tryEntries[a],o=i.completion;if("root"===i.tryLoc)return n("end");if(i.tryLoc<=this.prev){var s=r.call(i,"catchLoc"),l=r.call(i,"finallyLoc");if(s&&l){if(this.prev<i.catchLoc)return n(i.catchLoc,!0);if(this.prev<i.finallyLoc)return n(i.finallyLoc)}else if(s){if(this.prev<i.catchLoc)return n(i.catchLoc,!0)}else{if(!l)throw new Error("try statement without catch or finally");if(this.prev<i.finallyLoc)return n(i.finallyLoc)}}}},abrupt:function(e,t){for(var n=this.tryEntries.length-1;n>=0;--n){var a=this.tryEntries[n];if(a.tryLoc<=this.prev&&r.call(a,"finallyLoc")&&this.prev<a.finallyLoc){var i=a;break}}i&&("break"===e||"continue"===e)&&i.tryLoc<=t&&t<=i.finallyLoc&&(i=null);var o=i?i.completion:{};return o.type=e,o.arg=t,i?(this.method="next",this.next=i.finallyLoc,u):this.complete(o)},complete:function(e,t){if("throw"===e.type)throw e.arg;return"break"===e.type||"continue"===e.type?this.next=e.arg:"return"===e.type?(this.rval=this.arg=e.arg,this.method="return",this.next="end"):"normal"===e.type&&t&&(this.next=t),u},finish:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var r=this.tryEntries[t];if(r.finallyLoc===e)return this.complete(r.completion,r.afterLoc),_(r),u}},catch:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var r=this.tryEntries[t];if(r.tryLoc===e){var n=r.completion;if("throw"===n.type){var a=n.arg;_(r)}return a}}throw new Error("illegal catch attempt")},delegateYield:function(e,t,r){return this.delegate={iterator:N(e),resultName:t,nextLoc:r},"next"===this.method&&(this.arg=void 0),u}},e}var yt=function(){var e=document.referrer,t=Object(s.g)(),r=Object(n.useState)(),i=Object(c.a)(r,2),o=i[0],u=i[1],d=Object(pt.a)(["user_data"]),m=Object(c.a)(d,2),h=m[0],f=m[1];return Object(n.useEffect)((function(){var r="",n="",a="",i="";function o(){return(o=Object(l.a)(gt().mark((function o(){return gt().wrap((function(o){for(;;)switch(o.prev=o.next){case 0:if(o.prev=0,e.includes("ebi.ac.uk/training/usercontent")){o.next=5;break}u("Invalid operation. Please try again."),o.next=15;break;case 5:return o.next=7,b.a.get("".concat(p,"/training/usercontent/api/v1/user/saml/react/?_format=json×tamp=").concat(Date.now()),{withCredentials:!0,headers:{Accept:"application/json","Content-Type":"application/json",Authorization:"Basic"}}).then((function(e){r=e.data.user_name,n=e.data.user_id,a=e.data.logout_token}));case 7:return o.next=9,b.a.get("".concat(p,"/training/usercontent/session/token/?_format=json"),{withCredentials:!0,headers:{Accept:"application/json","Content-Type":"application/json",Authorization:"Basic"}}).then((function(e){i=e.data}));case 9:return o.next=11,f("user_data",JSON.stringify({user:r,userid:n,logout_token:a,csrf_token:i}),{path:"/",maxAge:2e6});case 11:console.log(i),console.log(n),console.log(e),t.push("/user");case 15:o.next=20;break;case 17:o.prev=17,o.t0=o.catch(0),o.t0.response?u(o.t0.response.data.message):o.t0.request?u("Server or network error. Please try later"):u("Fatal error. Please try later");case 20:case"end":return o.stop()}}),o,null,[[0,17]])})))).apply(this,arguments)}!function(){o.apply(this,arguments)}()}),[e,h,f,t]),a.a.createElement("div",null,a.a.createElement("p",{className:"lede"},o||"Please wait..."," "))},bt=function(){function e(){if(Object(D.a)(this,e),e.instance)return this.instance;e.instance=this}return Object(R.a)(e,[{key:"get",value:function(){return{Accept:"application/json","Content-Type":"application/json",Authorization:window.localStorage.getItem("auth_token")}}}]),e}(),wt="".concat(p,"/training/usercontent");b.a.defaults.baseURL=wt;var Et=function(){function e(){if(Object(D.a)(this,e),this.headers=new bt,e.instance)return e.instance;e.instance=this}return Object(R.a)(e,[{key:"get",value:function(e){return b.a.get(e,{headers:this.headers.get(),withCredentials:!1})}},{key:"post",value:function(e,t){return b.a.post(e,t,{headers:this.headers.get(),withCredentials:!1})}},{key:"patch",value:function(e,t){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"json";return b.a.patch(e,t,{headers:this.headers.get(r),withCredentials:!0})}}]),e}();function _t(){_t=function(){return e};var e={},t=Object.prototype,r=t.hasOwnProperty,n="function"==typeof Symbol?Symbol:{},a=n.iterator||"@@iterator",i=n.asyncIterator||"@@asyncIterator",o=n.toStringTag||"@@toStringTag";function s(e,t,r){return Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}),e[t]}try{s({},"")}catch(L){s=function(e,t,r){return e[t]=r}}function l(e,t,r,n){var a=t&&t.prototype instanceof d?t:d,i=Object.create(a.prototype),o=new k(n||[]);return i._invoke=function(e,t,r){var n="suspendedStart";return function(a,i){if("executing"===n)throw new Error("Generator is already running");if("completed"===n){if("throw"===a)throw i;return x()}for(r.method=a,r.arg=i;;){var o=r.delegate;if(o){var s=w(o,r);if(s){if(s===u)continue;return s}}if("next"===r.method)r.sent=r._sent=r.arg;else if("throw"===r.method){if("suspendedStart"===n)throw n="completed",r.arg;r.dispatchException(r.arg)}else"return"===r.method&&r.abrupt("return",r.arg);n="executing";var l=c(e,t,r);if("normal"===l.type){if(n=r.done?"completed":"suspendedYield",l.arg===u)continue;return{value:l.arg,done:r.done}}"throw"===l.type&&(n="completed",r.method="throw",r.arg=l.arg)}}}(e,r,o),i}function c(e,t,r){try{return{type:"normal",arg:e.call(t,r)}}catch(L){return{type:"throw",arg:L}}}e.wrap=l;var u={};function d(){}function m(){}function h(){}var f={};s(f,a,(function(){return this}));var v=Object.getPrototypeOf,p=v&&v(v(N([])));p&&p!==t&&r.call(p,a)&&(f=p);var g=h.prototype=d.prototype=Object.create(f);function y(e){["next","throw","return"].forEach((function(t){s(e,t,(function(e){return this._invoke(t,e)}))}))}function b(e,t){var n;this._invoke=function(a,i){function o(){return new t((function(n,o){!function n(a,i,o,s){var l=c(e[a],e,i);if("throw"!==l.type){var u=l.arg,d=u.value;return d&&"object"==typeof d&&r.call(d,"__await")?t.resolve(d.__await).then((function(e){n("next",e,o,s)}),(function(e){n("throw",e,o,s)})):t.resolve(d).then((function(e){u.value=e,o(u)}),(function(e){return n("throw",e,o,s)}))}s(l.arg)}(a,i,n,o)}))}return n=n?n.then(o,o):o()}}function w(e,t){var r=e.iterator[t.method];if(void 0===r){if(t.delegate=null,"throw"===t.method){if(e.iterator.return&&(t.method="return",t.arg=void 0,w(e,t),"throw"===t.method))return u;t.method="throw",t.arg=new TypeError("The iterator does not provide a 'throw' method")}return u}var n=c(r,e.iterator,t.arg);if("throw"===n.type)return t.method="throw",t.arg=n.arg,t.delegate=null,u;var a=n.arg;return a?a.done?(t[e.resultName]=a.value,t.next=e.nextLoc,"return"!==t.method&&(t.method="next",t.arg=void 0),t.delegate=null,u):a:(t.method="throw",t.arg=new TypeError("iterator result is not an object"),t.delegate=null,u)}function E(e){var t={tryLoc:e[0]};1 in e&&(t.catchLoc=e[1]),2 in e&&(t.finallyLoc=e[2],t.afterLoc=e[3]),this.tryEntries.push(t)}function _(e){var t=e.completion||{};t.type="normal",delete t.arg,e.completion=t}function k(e){this.tryEntries=[{tryLoc:"root"}],e.forEach(E,this),this.reset(!0)}function N(e){if(e){var t=e[a];if(t)return t.call(e);if("function"==typeof e.next)return e;if(!isNaN(e.length)){var n=-1,i=function t(){for(;++n<e.length;)if(r.call(e,n))return t.value=e[n],t.done=!1,t;return t.value=void 0,t.done=!0,t};return i.next=i}}return{next:x}}function x(){return{value:void 0,done:!0}}return m.prototype=h,s(g,"constructor",h),s(h,"constructor",m),m.displayName=s(h,o,"GeneratorFunction"),e.isGeneratorFunction=function(e){var t="function"==typeof e&&e.constructor;return!!t&&(t===m||"GeneratorFunction"===(t.displayName||t.name))},e.mark=function(e){return Object.setPrototypeOf?Object.setPrototypeOf(e,h):(e.__proto__=h,s(e,o,"GeneratorFunction")),e.prototype=Object.create(g),e},e.awrap=function(e){return{__await:e}},y(b.prototype),s(b.prototype,i,(function(){return this})),e.AsyncIterator=b,e.async=function(t,r,n,a,i){void 0===i&&(i=Promise);var o=new b(l(t,r,n,a),i);return e.isGeneratorFunction(r)?o:o.next().then((function(e){return e.done?e.value:o.next()}))},y(g),s(g,o,"Generator"),s(g,a,(function(){return this})),s(g,"toString",(function(){return"[object Generator]"})),e.keys=function(e){var t=[];for(var r in e)t.push(r);return t.reverse(),function r(){for(;t.length;){var n=t.pop();if(n in e)return r.value=n,r.done=!1,r}return r.done=!0,r}},e.values=N,k.prototype={constructor:k,reset:function(e){if(this.prev=0,this.next=0,this.sent=this._sent=void 0,this.done=!1,this.delegate=null,this.method="next",this.arg=void 0,this.tryEntries.forEach(_),!e)for(var t in this)"t"===t.charAt(0)&&r.call(this,t)&&!isNaN(+t.slice(1))&&(this[t]=void 0)},stop:function(){this.done=!0;var e=this.tryEntries[0].completion;if("throw"===e.type)throw e.arg;return this.rval},dispatchException:function(e){if(this.done)throw e;var t=this;function n(r,n){return o.type="throw",o.arg=e,t.next=r,n&&(t.method="next",t.arg=void 0),!!n}for(var a=this.tryEntries.length-1;a>=0;--a){var i=this.tryEntries[a],o=i.completion;if("root"===i.tryLoc)return n("end");if(i.tryLoc<=this.prev){var s=r.call(i,"catchLoc"),l=r.call(i,"finallyLoc");if(s&&l){if(this.prev<i.catchLoc)return n(i.catchLoc,!0);if(this.prev<i.finallyLoc)return n(i.finallyLoc)}else if(s){if(this.prev<i.catchLoc)return n(i.catchLoc,!0)}else{if(!l)throw new Error("try statement without catch or finally");if(this.prev<i.finallyLoc)return n(i.finallyLoc)}}}},abrupt:function(e,t){for(var n=this.tryEntries.length-1;n>=0;--n){var a=this.tryEntries[n];if(a.tryLoc<=this.prev&&r.call(a,"finallyLoc")&&this.prev<a.finallyLoc){var i=a;break}}i&&("break"===e||"continue"===e)&&i.tryLoc<=t&&t<=i.finallyLoc&&(i=null);var o=i?i.completion:{};return o.type=e,o.arg=t,i?(this.method="next",this.next=i.finallyLoc,u):this.complete(o)},complete:function(e,t){if("throw"===e.type)throw e.arg;return"break"===e.type||"continue"===e.type?this.next=e.arg:"return"===e.type?(this.rval=this.arg=e.arg,this.method="return",this.next="end"):"normal"===e.type&&t&&(this.next=t),u},finish:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var r=this.tryEntries[t];if(r.finallyLoc===e)return this.complete(r.completion,r.afterLoc),_(r),u}},catch:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var r=this.tryEntries[t];if(r.tryLoc===e){var n=r.completion;if("throw"===n.type){var a=n.arg;_(r)}return a}}throw new Error("illegal catch attempt")},delegateYield:function(e,t,r){return this.delegate={iterator:N(e),resultName:t,nextLoc:r},"next"===this.method&&(this.arg=void 0),u}},e}var kt=function(e){Object(J.a)(r,e);var t=Object(U.a)(r);function r(e){var n;return Object(D.a)(this,r),(n=t.call(this,e)).state={user:{email:""},errors:{email:null},password_change_requested:!1,flood_error:null,authenticated:!1},n.handleChange=n.handleChange.bind(Object(ze.a)(n)),n.handleSubmit=n.handleSubmit.bind(Object(ze.a)(n)),n}return Object(R.a)(r,[{key:"componentDidMount",value:function(){var e=Object(l.a)(_t().mark((function e(){var t;return _t().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,H.isCurrentlyAuthenticated();case 2:t=e.sent,this.setState({authenticated:t});case 4:case"end":return e.stop()}}),e,this)})));return function(){return e.apply(this,arguments)}}()},{key:"output",value:function(){return this.state.password_change_requested?a.a.createElement(He,{status_header:"New password requested",status_message:"We've sent an email to "+this.state.user.email,next_step:"Follow the instructions in the email to set a new password."}):a.a.createElement("div",{className:"vf-body"},a.a.createElement("div",{className:"vf-grid__col--span-3"},a.a.createElement(pe,{title:"Forgot password"})),a.a.createElement("div",{className:"sparse-content"},a.a.createElement("div",{className:"vf-u-margin__top--600"}),a.a.createElement("h1",{className:"vf-hero__heading"},"Forgot password"),a.a.createElement("div",{className:"vf-u-margin__top--600"}),a.a.createElement("legend",{className:"vf-form__legend"},"Enter your email address to request a new password"),this.state.flood_error?a.a.createElement(Qe,{error_message:this.state.flood_error}):"",a.a.createElement("div",{className:"vf-u-margin__top--600"}),a.a.createElement("div",{className:"vf-grid"},a.a.createElement("form",{className:"vf-stack vf-stack--400",onSubmit:this.handleSubmit},a.a.createElement("div",{className:"vf-grid vf-grid__col-2"},a.a.createElement(X,{input_label:"Email",input_name:"email",hide_astericks:!0,input_value:this.state.user.email,input_errors:this.state.errors.email,handleChange:this.handleChange,input_type:"email"})),a.a.createElement("button",{className:"vf-button vf-button--primary"},"Submit")))))}},{key:"handleChange",value:function(e){var t=this.state.user;t[e.target.name]=e.target.value,this.setState({fields:t})}},{key:"handleSubmit",value:function(e){var t=this;e.preventDefault();var r=this.state.user;(new Et).post("/forgot-password?_format=json",r).then((function(){t.setState({password_change_requested:!0}),window.scrollTo(0,0)})).catch((function(e){422===e.response.status&&t.setState({errors:e.response.data.errors}),403===e.response.status&&t.setState({flood_error:e.response.data.message})}))}},{key:"render",value:function(){return this.state.authenticated?a.a.createElement(s.a,{to:"/user"}):a.a.createElement(a.a.Fragment,null,this.output())}}]),r}(a.a.Component);function Nt(){Nt=function(){return e};var e={},t=Object.prototype,r=t.hasOwnProperty,n="function"==typeof Symbol?Symbol:{},a=n.iterator||"@@iterator",i=n.asyncIterator||"@@asyncIterator",o=n.toStringTag||"@@toStringTag";function s(e,t,r){return Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}),e[t]}try{s({},"")}catch(L){s=function(e,t,r){return e[t]=r}}function l(e,t,r,n){var a=t&&t.prototype instanceof d?t:d,i=Object.create(a.prototype),o=new k(n||[]);return i._invoke=function(e,t,r){var n="suspendedStart";return function(a,i){if("executing"===n)throw new Error("Generator is already running");if("completed"===n){if("throw"===a)throw i;return x()}for(r.method=a,r.arg=i;;){var o=r.delegate;if(o){var s=w(o,r);if(s){if(s===u)continue;return s}}if("next"===r.method)r.sent=r._sent=r.arg;else if("throw"===r.method){if("suspendedStart"===n)throw n="completed",r.arg;r.dispatchException(r.arg)}else"return"===r.method&&r.abrupt("return",r.arg);n="executing";var l=c(e,t,r);if("normal"===l.type){if(n=r.done?"completed":"suspendedYield",l.arg===u)continue;return{value:l.arg,done:r.done}}"throw"===l.type&&(n="completed",r.method="throw",r.arg=l.arg)}}}(e,r,o),i}function c(e,t,r){try{return{type:"normal",arg:e.call(t,r)}}catch(L){return{type:"throw",arg:L}}}e.wrap=l;var u={};function d(){}function m(){}function h(){}var f={};s(f,a,(function(){return this}));var v=Object.getPrototypeOf,p=v&&v(v(N([])));p&&p!==t&&r.call(p,a)&&(f=p);var g=h.prototype=d.prototype=Object.create(f);function y(e){["next","throw","return"].forEach((function(t){s(e,t,(function(e){return this._invoke(t,e)}))}))}function b(e,t){var n;this._invoke=function(a,i){function o(){return new t((function(n,o){!function n(a,i,o,s){var l=c(e[a],e,i);if("throw"!==l.type){var u=l.arg,d=u.value;return d&&"object"==typeof d&&r.call(d,"__await")?t.resolve(d.__await).then((function(e){n("next",e,o,s)}),(function(e){n("throw",e,o,s)})):t.resolve(d).then((function(e){u.value=e,o(u)}),(function(e){return n("throw",e,o,s)}))}s(l.arg)}(a,i,n,o)}))}return n=n?n.then(o,o):o()}}function w(e,t){var r=e.iterator[t.method];if(void 0===r){if(t.delegate=null,"throw"===t.method){if(e.iterator.return&&(t.method="return",t.arg=void 0,w(e,t),"throw"===t.method))return u;t.method="throw",t.arg=new TypeError("The iterator does not provide a 'throw' method")}return u}var n=c(r,e.iterator,t.arg);if("throw"===n.type)return t.method="throw",t.arg=n.arg,t.delegate=null,u;var a=n.arg;return a?a.done?(t[e.resultName]=a.value,t.next=e.nextLoc,"return"!==t.method&&(t.method="next",t.arg=void 0),t.delegate=null,u):a:(t.method="throw",t.arg=new TypeError("iterator result is not an object"),t.delegate=null,u)}function E(e){var t={tryLoc:e[0]};1 in e&&(t.catchLoc=e[1]),2 in e&&(t.finallyLoc=e[2],t.afterLoc=e[3]),this.tryEntries.push(t)}function _(e){var t=e.completion||{};t.type="normal",delete t.arg,e.completion=t}function k(e){this.tryEntries=[{tryLoc:"root"}],e.forEach(E,this),this.reset(!0)}function N(e){if(e){var t=e[a];if(t)return t.call(e);if("function"==typeof e.next)return e;if(!isNaN(e.length)){var n=-1,i=function t(){for(;++n<e.length;)if(r.call(e,n))return t.value=e[n],t.done=!1,t;return t.value=void 0,t.done=!0,t};return i.next=i}}return{next:x}}function x(){return{value:void 0,done:!0}}return m.prototype=h,s(g,"constructor",h),s(h,"constructor",m),m.displayName=s(h,o,"GeneratorFunction"),e.isGeneratorFunction=function(e){var t="function"==typeof e&&e.constructor;return!!t&&(t===m||"GeneratorFunction"===(t.displayName||t.name))},e.mark=function(e){return Object.setPrototypeOf?Object.setPrototypeOf(e,h):(e.__proto__=h,s(e,o,"GeneratorFunction")),e.prototype=Object.create(g),e},e.awrap=function(e){return{__await:e}},y(b.prototype),s(b.prototype,i,(function(){return this})),e.AsyncIterator=b,e.async=function(t,r,n,a,i){void 0===i&&(i=Promise);var o=new b(l(t,r,n,a),i);return e.isGeneratorFunction(r)?o:o.next().then((function(e){return e.done?e.value:o.next()}))},y(g),s(g,o,"Generator"),s(g,a,(function(){return this})),s(g,"toString",(function(){return"[object Generator]"})),e.keys=function(e){var t=[];for(var r in e)t.push(r);return t.reverse(),function r(){for(;t.length;){var n=t.pop();if(n in e)return r.value=n,r.done=!1,r}return r.done=!0,r}},e.values=N,k.prototype={constructor:k,reset:function(e){if(this.prev=0,this.next=0,this.sent=this._sent=void 0,this.done=!1,this.delegate=null,this.method="next",this.arg=void 0,this.tryEntries.forEach(_),!e)for(var t in this)"t"===t.charAt(0)&&r.call(this,t)&&!isNaN(+t.slice(1))&&(this[t]=void 0)},stop:function(){this.done=!0;var e=this.tryEntries[0].completion;if("throw"===e.type)throw e.arg;return this.rval},dispatchException:function(e){if(this.done)throw e;var t=this;function n(r,n){return o.type="throw",o.arg=e,t.next=r,n&&(t.method="next",t.arg=void 0),!!n}for(var a=this.tryEntries.length-1;a>=0;--a){var i=this.tryEntries[a],o=i.completion;if("root"===i.tryLoc)return n("end");if(i.tryLoc<=this.prev){var s=r.call(i,"catchLoc"),l=r.call(i,"finallyLoc");if(s&&l){if(this.prev<i.catchLoc)return n(i.catchLoc,!0);if(this.prev<i.finallyLoc)return n(i.finallyLoc)}else if(s){if(this.prev<i.catchLoc)return n(i.catchLoc,!0)}else{if(!l)throw new Error("try statement without catch or finally");if(this.prev<i.finallyLoc)return n(i.finallyLoc)}}}},abrupt:function(e,t){for(var n=this.tryEntries.length-1;n>=0;--n){var a=this.tryEntries[n];if(a.tryLoc<=this.prev&&r.call(a,"finallyLoc")&&this.prev<a.finallyLoc){var i=a;break}}i&&("break"===e||"continue"===e)&&i.tryLoc<=t&&t<=i.finallyLoc&&(i=null);var o=i?i.completion:{};return o.type=e,o.arg=t,i?(this.method="next",this.next=i.finallyLoc,u):this.complete(o)},complete:function(e,t){if("throw"===e.type)throw e.arg;return"break"===e.type||"continue"===e.type?this.next=e.arg:"return"===e.type?(this.rval=this.arg=e.arg,this.method="return",this.next="end"):"normal"===e.type&&t&&(this.next=t),u},finish:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var r=this.tryEntries[t];if(r.finallyLoc===e)return this.complete(r.completion,r.afterLoc),_(r),u}},catch:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var r=this.tryEntries[t];if(r.tryLoc===e){var n=r.completion;if("throw"===n.type){var a=n.arg;_(r)}return a}}throw new Error("illegal catch attempt")},delegateYield:function(e,t,r){return this.delegate={iterator:N(e),resultName:t,nextLoc:r},"next"===this.method&&(this.arg=void 0),u}},e}var xt=function(e){Object(J.a)(r,e);var t=Object(U.a)(r);function r(e){var n;Object(D.a)(this,r),n=t.call(this,e);var a=window.location.search;a=a.replace("&","&");var i=new URLSearchParams(a);return n.state={user:{email:i.get("email"),password_reset_code:i.get("code"),password:"",password_confirmation:""},errors:{email:null,password:"",password_confirmation:""},error_message:"",error_status_code:0,error_title:"",current_status:0,authenticated:!1},n.handleChange=n.handleChange.bind(Object(ze.a)(n)),n.handleSubmit=n.handleSubmit.bind(Object(ze.a)(n)),n}return Object(R.a)(r,[{key:"componentDidMount",value:function(){var e=Object(l.a)(Nt().mark((function e(){var t,r,n=this;return Nt().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,H.isCurrentlyAuthenticated();case 2:t=e.sent,this.setState({authenticated:t}),(r=this.state.user.email).includes(" ")&&(r=r.replace(" ","%2B")),b.a.get(p+"/training/usercontent/forgot-password?_format=json&email="+r+"&password_reset_code="+this.state.user.password_reset_code+"×tamp="+Date.now()).then((function(e){n.setState({current_status:1})})).catch((function(e){n.setState({current_status:3,error_status_code:e.response.status,error_title:e.response.data.title,error_message:"We could not complete this request because "+e.response.data.message})}));case 7:case"end":return e.stop()}}),e,this)})));return function(){return e.apply(this,arguments)}}()},{key:"handleChange",value:function(e){var t=this.state.user;t[e.target.name]=e.target.value,this.setState({fields:t})}},{key:"handleSubmit",value:function(e){var t=this;e.preventDefault();var r=this.state.user;r.email=r.email.includes(" ")?r.email.replace(" ","+"):r.email,b.a.put(p+"/training/usercontent/forgot-password?_format=json",r).then((function(e){t.setState({current_status:2}),window.scrollTo(0,0)})).catch((function(e){if(422===e.response.status){var r=e.response.data.errors;t.setState({errors:r});for(var n=["pci-01","pci-02","pci-03","pci-04","pci-05"],a=0;a<n.length;a++){var i=n[a];i in r&&(document.getElementById(i).style.color="#d41645")}}403===e.response.status&&t.setState({current_status:3,error_status_code:e.response.status,error_title:e.response.data.title,error_message:"We could not complete this request because "+e.response.data.message})}))}},{key:"output",value:function(){switch(this.state.current_status){case 1:return a.a.createElement("div",{className:"vf-body"},a.a.createElement("div",{className:"vf-grid__col--span-3"},a.a.createElement(pe,{title:"Forgot password"})),a.a.createElement("div",{className:"sparse-content"},a.a.createElement("div",{className:"vf-u-margin__top--600"}),a.a.createElement("h1",{className:"vf-hero__heading"},"Set a new password"),this.state.flood_error?a.a.createElement(Qe,{error_message:this.state.flood_error}):"",a.a.createElement("div",{className:"vf-u-margin__top--600"}),a.a.createElement("div",{className:"vf-grid"},a.a.createElement("form",{className:"vf-stack vf-stack--400",onSubmit:this.handleSubmit},a.a.createElement(Ye,{input_value:this.state.user.password,input_errors:this.state.errors.password,handleChange:this.handleChange}),a.a.createElement(X,{input_label:"Confirm password",input_name:"password_confirmation",hide_astericks:!0,input_value:this.state.user.password_confirmation,input_errors:this.state.errors.password_confirmation,handleChange:this.handleChange,input_type:"password"}),a.a.createElement("button",{className:"vf-button vf-button--primary"},"Change password")),a.a.createElement("div",null))));case 2:return a.a.createElement(He,{status_header:"New password set",status_message:"You can now login with your new password.",support_link:"/training/user/login",support_action:"Log in"});case 3:return a.a.createElement(He,{status_header:this.state.error_title,status_message:this.state.error_message},a.a.createElement("p",{className:"vf-intro__text"},a.a.createElement("a",{href:"/training/user/forgot-password",className:"vf-link"},"Request a new link")));default:return a.a.createElement(a.a.Fragment,null)}}},{key:"render",value:function(){return this.state.authenticated?a.a.createElement(s.a,{to:"/user"}):a.a.createElement(a.a.Fragment,null,this.output())}}]),r}(a.a.Component);function Lt(){Lt=function(){return e};var e={},t=Object.prototype,r=t.hasOwnProperty,n="function"==typeof Symbol?Symbol:{},a=n.iterator||"@@iterator",i=n.asyncIterator||"@@asyncIterator",o=n.toStringTag||"@@toStringTag";function s(e,t,r){return Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}),e[t]}try{s({},"")}catch(L){s=function(e,t,r){return e[t]=r}}function l(e,t,r,n){var a=t&&t.prototype instanceof d?t:d,i=Object.create(a.prototype),o=new k(n||[]);return i._invoke=function(e,t,r){var n="suspendedStart";return function(a,i){if("executing"===n)throw new Error("Generator is already running");if("completed"===n){if("throw"===a)throw i;return x()}for(r.method=a,r.arg=i;;){var o=r.delegate;if(o){var s=w(o,r);if(s){if(s===u)continue;return s}}if("next"===r.method)r.sent=r._sent=r.arg;else if("throw"===r.method){if("suspendedStart"===n)throw n="completed",r.arg;r.dispatchException(r.arg)}else"return"===r.method&&r.abrupt("return",r.arg);n="executing";var l=c(e,t,r);if("normal"===l.type){if(n=r.done?"completed":"suspendedYield",l.arg===u)continue;return{value:l.arg,done:r.done}}"throw"===l.type&&(n="completed",r.method="throw",r.arg=l.arg)}}}(e,r,o),i}function c(e,t,r){try{return{type:"normal",arg:e.call(t,r)}}catch(L){return{type:"throw",arg:L}}}e.wrap=l;var u={};function d(){}function m(){}function h(){}var f={};s(f,a,(function(){return this}));var v=Object.getPrototypeOf,p=v&&v(v(N([])));p&&p!==t&&r.call(p,a)&&(f=p);var g=h.prototype=d.prototype=Object.create(f);function y(e){["next","throw","return"].forEach((function(t){s(e,t,(function(e){return this._invoke(t,e)}))}))}function b(e,t){var n;this._invoke=function(a,i){function o(){return new t((function(n,o){!function n(a,i,o,s){var l=c(e[a],e,i);if("throw"!==l.type){var u=l.arg,d=u.value;return d&&"object"==typeof d&&r.call(d,"__await")?t.resolve(d.__await).then((function(e){n("next",e,o,s)}),(function(e){n("throw",e,o,s)})):t.resolve(d).then((function(e){u.value=e,o(u)}),(function(e){return n("throw",e,o,s)}))}s(l.arg)}(a,i,n,o)}))}return n=n?n.then(o,o):o()}}function w(e,t){var r=e.iterator[t.method];if(void 0===r){if(t.delegate=null,"throw"===t.method){if(e.iterator.return&&(t.method="return",t.arg=void 0,w(e,t),"throw"===t.method))return u;t.method="throw",t.arg=new TypeError("The iterator does not provide a 'throw' method")}return u}var n=c(r,e.iterator,t.arg);if("throw"===n.type)return t.method="throw",t.arg=n.arg,t.delegate=null,u;var a=n.arg;return a?a.done?(t[e.resultName]=a.value,t.next=e.nextLoc,"return"!==t.method&&(t.method="next",t.arg=void 0),t.delegate=null,u):a:(t.method="throw",t.arg=new TypeError("iterator result is not an object"),t.delegate=null,u)}function E(e){var t={tryLoc:e[0]};1 in e&&(t.catchLoc=e[1]),2 in e&&(t.finallyLoc=e[2],t.afterLoc=e[3]),this.tryEntries.push(t)}function _(e){var t=e.completion||{};t.type="normal",delete t.arg,e.completion=t}function k(e){this.tryEntries=[{tryLoc:"root"}],e.forEach(E,this),this.reset(!0)}function N(e){if(e){var t=e[a];if(t)return t.call(e);if("function"==typeof e.next)return e;if(!isNaN(e.length)){var n=-1,i=function t(){for(;++n<e.length;)if(r.call(e,n))return t.value=e[n],t.done=!1,t;return t.value=void 0,t.done=!0,t};return i.next=i}}return{next:x}}function x(){return{value:void 0,done:!0}}return m.prototype=h,s(g,"constructor",h),s(h,"constructor",m),m.displayName=s(h,o,"GeneratorFunction"),e.isGeneratorFunction=function(e){var t="function"==typeof e&&e.constructor;return!!t&&(t===m||"GeneratorFunction"===(t.displayName||t.name))},e.mark=function(e){return Object.setPrototypeOf?Object.setPrototypeOf(e,h):(e.__proto__=h,s(e,o,"GeneratorFunction")),e.prototype=Object.create(g),e},e.awrap=function(e){return{__await:e}},y(b.prototype),s(b.prototype,i,(function(){return this})),e.AsyncIterator=b,e.async=function(t,r,n,a,i){void 0===i&&(i=Promise);var o=new b(l(t,r,n,a),i);return e.isGeneratorFunction(r)?o:o.next().then((function(e){return e.done?e.value:o.next()}))},y(g),s(g,o,"Generator"),s(g,a,(function(){return this})),s(g,"toString",(function(){return"[object Generator]"})),e.keys=function(e){var t=[];for(var r in e)t.push(r);return t.reverse(),function r(){for(;t.length;){var n=t.pop();if(n in e)return r.value=n,r.done=!1,r}return r.done=!0,r}},e.values=N,k.prototype={constructor:k,reset:function(e){if(this.prev=0,this.next=0,this.sent=this._sent=void 0,this.done=!1,this.delegate=null,this.method="next",this.arg=void 0,this.tryEntries.forEach(_),!e)for(var t in this)"t"===t.charAt(0)&&r.call(this,t)&&!isNaN(+t.slice(1))&&(this[t]=void 0)},stop:function(){this.done=!0;var e=this.tryEntries[0].completion;if("throw"===e.type)throw e.arg;return this.rval},dispatchException:function(e){if(this.done)throw e;var t=this;function n(r,n){return o.type="throw",o.arg=e,t.next=r,n&&(t.method="next",t.arg=void 0),!!n}for(var a=this.tryEntries.length-1;a>=0;--a){var i=this.tryEntries[a],o=i.completion;if("root"===i.tryLoc)return n("end");if(i.tryLoc<=this.prev){var s=r.call(i,"catchLoc"),l=r.call(i,"finallyLoc");if(s&&l){if(this.prev<i.catchLoc)return n(i.catchLoc,!0);if(this.prev<i.finallyLoc)return n(i.finallyLoc)}else if(s){if(this.prev<i.catchLoc)return n(i.catchLoc,!0)}else{if(!l)throw new Error("try statement without catch or finally");if(this.prev<i.finallyLoc)return n(i.finallyLoc)}}}},abrupt:function(e,t){for(var n=this.tryEntries.length-1;n>=0;--n){var a=this.tryEntries[n];if(a.tryLoc<=this.prev&&r.call(a,"finallyLoc")&&this.prev<a.finallyLoc){var i=a;break}}i&&("break"===e||"continue"===e)&&i.tryLoc<=t&&t<=i.finallyLoc&&(i=null);var o=i?i.completion:{};return o.type=e,o.arg=t,i?(this.method="next",this.next=i.finallyLoc,u):this.complete(o)},complete:function(e,t){if("throw"===e.type)throw e.arg;return"break"===e.type||"continue"===e.type?this.next=e.arg:"return"===e.type?(this.rval=this.arg=e.arg,this.method="return",this.next="end"):"normal"===e.type&&t&&(this.next=t),u},finish:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var r=this.tryEntries[t];if(r.finallyLoc===e)return this.complete(r.completion,r.afterLoc),_(r),u}},catch:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var r=this.tryEntries[t];if(r.tryLoc===e){var n=r.completion;if("throw"===n.type){var a=n.arg;_(r)}return a}}throw new Error("illegal catch attempt")},delegateYield:function(e,t,r){return this.delegate={iterator:N(e),resultName:t,nextLoc:r},"next"===this.method&&(this.arg=void 0),u}},e}var Ot=function(){var e=Object(n.useState)(),t=Object(c.a)(e,2),r=t[0],i=t[1],o=Object(s.g)();return Object(n.useEffect)((function(){r||function(){var e=Object(l.a)(Lt().mark((function e(){var t,n;return Lt().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.prev=0,e.next=3,b.a.get("".concat(p,"/training/usercontent/api/v1/user/status?_format=json")).then((function(e){i(e.data)}));case 3:return e.next=5,b.a.get("".concat(p,"/training/usercontent/user/logout/?_format=json&token=").concat(null===r||void 0===r?void 0:r.logout_token),{withCredentials:!0,headers:{"X-CSRF-Token":null===r||void 0===r?void 0:r.csrf_token}}).then((function(e){console.log(e),o.push("/user/login")}));case 5:e.next=10;break;case 7:e.prev=7,e.t0=e.catch(0),401!==(null===(t=e.t0.response)||void 0===t?void 0:t.status)&&403!==(null===(n=e.t0.response)||void 0===n?void 0:n.status)||(console.log(e.t0),alert("Invalid session, please login again."));case 10:case"end":return e.stop()}}),e,null,[[0,7]])})));return function(){return e.apply(this,arguments)}}()()}),[o,r]),a.a.createElement("div",null,a.a.createElement("div",{className:"vf-grid vf-grid__col-4"},a.a.createElement("div",{className:"vf-grid__col--span-3"},a.a.createElement(pe,{title:"My learning"}))),a.a.createElement("section",{className:"vf-body"},a.a.createElement("div",{className:"vf-u-margin__top--1200"}),a.a.createElement("div",null,a.a.createElement("div",{className:"vf-u-margin__top--200"}),a.a.createElement("span",null,"Logging out... "),a.a.createElement("img",{alt:"logout progress",style:{width:"7%"},src:"../progressbar.gif"})),a.a.createElement("div",{className:"vf-u-margin__top--1200"})))},St=function(e){Object(J.a)(r,e);var t=Object(U.a)(r);function r(e){var n;return Object(D.a)(this,r),(n=t.call(this,e)).state={user:{user_id:null,first_name:"",last_name:"",email:"",registered_since:"",country:""},loading:!1},n.goToEditAccountPage=n.goToEditAccountPage.bind(Object(ze.a)(n)),n}return Object(R.a)(r,[{key:"componentDidMount",value:function(){var e=this;H.currentUser().then((function(t){e.setState({user:t.data.user}),e.setState({loading:!0}),console.log(t)})).catch((function(t){401===t.response.status&&(console.log(t),e.setState({loading:!0}))}))}},{key:"goToEditAccountPage",value:function(){this.props.history.push("/user/edit-account")}},{key:"render",value:function(){return this.state.loading?this.state.user.email?(console.log("account html"),a.a.createElement("div",{className:"vf-body"},a.a.createElement("div",{className:"sparse-content"},a.a.createElement("div",{className:"vf-grid vf-grid__col-4"},a.a.createElement("div",{className:"vf-grid__col--span-3"},a.a.createElement(pe,{title:"Account details"})),a.a.createElement("div",{className:"vf-grid__col--span-1"},a.a.createElement(L,null))),a.a.createElement("section",null,a.a.createElement("div",{className:"vf-u-margin__top--600"}),a.a.createElement("h1",{className:"vf-hero__heading"},"My account"),a.a.createElement("div",{className:"vf-u-margin__top--1200"}),this.state.user.first_name?a.a.createElement("legend",{className:"vf-form__legend"},this.state.user.first_name+" "+this.state.user.last_name," "):"",a.a.createElement("div",{className:"vf-u-margin__top--200"}),a.a.createElement("p",null,this.state.user.email),a.a.createElement("p",null,"Registered since ",this.state.user.registered_since),a.a.createElement("div",{className:"vf-u-margin__top--1200"}),a.a.createElement("button",{className:"vf-button vf-button--secondary",onClick:this.goToEditAccountPage},"Edit account details")),a.a.createElement("div",{className:"vf-u-margin__top--1200"}),a.a.createElement("hr",null),a.a.createElement("div",{className:"vf-u-margin__top--1200"}),this.state.user.email.includes("ebi.ac.uk")?"":a.a.createElement("section",null,a.a.createElement("h1",{className:"vf-hero__heading--3"},"Delete account"),a.a.createElement("p",null,"Deleting your account will remove all your progress on EMBL-EBI training courses, any courses you have marked as favourite and any certificates you received from attending live courses. Deleting your account cannot be undone and there is no way to restore it."),a.a.createElement("p",{className:"vf-summary__text"},a.a.createElement("a",{className:"vf-link",href:"/training/user/deletion-reason"},"Delete my account")))))):a.a.createElement("div",{className:"vf-body"},a.a.createElement("div",{className:"vf-grid"},a.a.createElement("div",null),a.a.createElement("div",null,a.a.createElement("div",{className:"vf-u-margin__top--1200"}),a.a.createElement("div",{className:"vf-u-margin__top--1200"}),a.a.createElement("h3",null,"Access denied."),a.a.createElement("p",null,"Please ",a.a.createElement("a",{href:"/training/user/login"},"login")," to access your account."),a.a.createElement("div",{className:"vf-u-margin__top--1200"}),a.a.createElement("div",{className:"vf-u-margin__top--1200"})))):a.a.createElement(a.a.Fragment,null,a.a.createElement("img",{alt:"progress",src:"../progressbar.gif",style:{width:"7%"}}),a.a.createElement("h4",null,"Loading account details..."))}}]),r}(a.a.Component);function jt(){jt=function(){return e};var e={},t=Object.prototype,r=t.hasOwnProperty,n="function"==typeof Symbol?Symbol:{},a=n.iterator||"@@iterator",i=n.asyncIterator||"@@asyncIterator",o=n.toStringTag||"@@toStringTag";function s(e,t,r){return Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}),e[t]}try{s({},"")}catch(L){s=function(e,t,r){return e[t]=r}}function l(e,t,r,n){var a=t&&t.prototype instanceof d?t:d,i=Object.create(a.prototype),o=new k(n||[]);return i._invoke=function(e,t,r){var n="suspendedStart";return function(a,i){if("executing"===n)throw new Error("Generator is already running");if("completed"===n){if("throw"===a)throw i;return x()}for(r.method=a,r.arg=i;;){var o=r.delegate;if(o){var s=w(o,r);if(s){if(s===u)continue;return s}}if("next"===r.method)r.sent=r._sent=r.arg;else if("throw"===r.method){if("suspendedStart"===n)throw n="completed",r.arg;r.dispatchException(r.arg)}else"return"===r.method&&r.abrupt("return",r.arg);n="executing";var l=c(e,t,r);if("normal"===l.type){if(n=r.done?"completed":"suspendedYield",l.arg===u)continue;return{value:l.arg,done:r.done}}"throw"===l.type&&(n="completed",r.method="throw",r.arg=l.arg)}}}(e,r,o),i}function c(e,t,r){try{return{type:"normal",arg:e.call(t,r)}}catch(L){return{type:"throw",arg:L}}}e.wrap=l;var u={};function d(){}function m(){}function h(){}var f={};s(f,a,(function(){return this}));var v=Object.getPrototypeOf,p=v&&v(v(N([])));p&&p!==t&&r.call(p,a)&&(f=p);var g=h.prototype=d.prototype=Object.create(f);function y(e){["next","throw","return"].forEach((function(t){s(e,t,(function(e){return this._invoke(t,e)}))}))}function b(e,t){var n;this._invoke=function(a,i){function o(){return new t((function(n,o){!function n(a,i,o,s){var l=c(e[a],e,i);if("throw"!==l.type){var u=l.arg,d=u.value;return d&&"object"==typeof d&&r.call(d,"__await")?t.resolve(d.__await).then((function(e){n("next",e,o,s)}),(function(e){n("throw",e,o,s)})):t.resolve(d).then((function(e){u.value=e,o(u)}),(function(e){return n("throw",e,o,s)}))}s(l.arg)}(a,i,n,o)}))}return n=n?n.then(o,o):o()}}function w(e,t){var r=e.iterator[t.method];if(void 0===r){if(t.delegate=null,"throw"===t.method){if(e.iterator.return&&(t.method="return",t.arg=void 0,w(e,t),"throw"===t.method))return u;t.method="throw",t.arg=new TypeError("The iterator does not provide a 'throw' method")}return u}var n=c(r,e.iterator,t.arg);if("throw"===n.type)return t.method="throw",t.arg=n.arg,t.delegate=null,u;var a=n.arg;return a?a.done?(t[e.resultName]=a.value,t.next=e.nextLoc,"return"!==t.method&&(t.method="next",t.arg=void 0),t.delegate=null,u):a:(t.method="throw",t.arg=new TypeError("iterator result is not an object"),t.delegate=null,u)}function E(e){var t={tryLoc:e[0]};1 in e&&(t.catchLoc=e[1]),2 in e&&(t.finallyLoc=e[2],t.afterLoc=e[3]),this.tryEntries.push(t)}function _(e){var t=e.completion||{};t.type="normal",delete t.arg,e.completion=t}function k(e){this.tryEntries=[{tryLoc:"root"}],e.forEach(E,this),this.reset(!0)}function N(e){if(e){var t=e[a];if(t)return t.call(e);if("function"==typeof e.next)return e;if(!isNaN(e.length)){var n=-1,i=function t(){for(;++n<e.length;)if(r.call(e,n))return t.value=e[n],t.done=!1,t;return t.value=void 0,t.done=!0,t};return i.next=i}}return{next:x}}function x(){return{value:void 0,done:!0}}return m.prototype=h,s(g,"constructor",h),s(h,"constructor",m),m.displayName=s(h,o,"GeneratorFunction"),e.isGeneratorFunction=function(e){var t="function"==typeof e&&e.constructor;return!!t&&(t===m||"GeneratorFunction"===(t.displayName||t.name))},e.mark=function(e){return Object.setPrototypeOf?Object.setPrototypeOf(e,h):(e.__proto__=h,s(e,o,"GeneratorFunction")),e.prototype=Object.create(g),e},e.awrap=function(e){return{__await:e}},y(b.prototype),s(b.prototype,i,(function(){return this})),e.AsyncIterator=b,e.async=function(t,r,n,a,i){void 0===i&&(i=Promise);var o=new b(l(t,r,n,a),i);return e.isGeneratorFunction(r)?o:o.next().then((function(e){return e.done?e.value:o.next()}))},y(g),s(g,o,"Generator"),s(g,a,(function(){return this})),s(g,"toString",(function(){return"[object Generator]"})),e.keys=function(e){var t=[];for(var r in e)t.push(r);return t.reverse(),function r(){for(;t.length;){var n=t.pop();if(n in e)return r.value=n,r.done=!1,r}return r.done=!0,r}},e.values=N,k.prototype={constructor:k,reset:function(e){if(this.prev=0,this.next=0,this.sent=this._sent=void 0,this.done=!1,this.delegate=null,this.method="next",this.arg=void 0,this.tryEntries.forEach(_),!e)for(var t in this)"t"===t.charAt(0)&&r.call(this,t)&&!isNaN(+t.slice(1))&&(this[t]=void 0)},stop:function(){this.done=!0;var e=this.tryEntries[0].completion;if("throw"===e.type)throw e.arg;return this.rval},dispatchException:function(e){if(this.done)throw e;var t=this;function n(r,n){return o.type="throw",o.arg=e,t.next=r,n&&(t.method="next",t.arg=void 0),!!n}for(var a=this.tryEntries.length-1;a>=0;--a){var i=this.tryEntries[a],o=i.completion;if("root"===i.tryLoc)return n("end");if(i.tryLoc<=this.prev){var s=r.call(i,"catchLoc"),l=r.call(i,"finallyLoc");if(s&&l){if(this.prev<i.catchLoc)return n(i.catchLoc,!0);if(this.prev<i.finallyLoc)return n(i.finallyLoc)}else if(s){if(this.prev<i.catchLoc)return n(i.catchLoc,!0)}else{if(!l)throw new Error("try statement without catch or finally");if(this.prev<i.finallyLoc)return n(i.finallyLoc)}}}},abrupt:function(e,t){for(var n=this.tryEntries.length-1;n>=0;--n){var a=this.tryEntries[n];if(a.tryLoc<=this.prev&&r.call(a,"finallyLoc")&&this.prev<a.finallyLoc){var i=a;break}}i&&("break"===e||"continue"===e)&&i.tryLoc<=t&&t<=i.finallyLoc&&(i=null);var o=i?i.completion:{};return o.type=e,o.arg=t,i?(this.method="next",this.next=i.finallyLoc,u):this.complete(o)},complete:function(e,t){if("throw"===e.type)throw e.arg;return"break"===e.type||"continue"===e.type?this.next=e.arg:"return"===e.type?(this.rval=this.arg=e.arg,this.method="return",this.next="end"):"normal"===e.type&&t&&(this.next=t),u},finish:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var r=this.tryEntries[t];if(r.finallyLoc===e)return this.complete(r.completion,r.afterLoc),_(r),u}},catch:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var r=this.tryEntries[t];if(r.tryLoc===e){var n=r.completion;if("throw"===n.type){var a=n.arg;_(r)}return a}}throw new Error("illegal catch attempt")},delegateYield:function(e,t,r){return this.delegate={iterator:N(e),resultName:t,nextLoc:r},"next"===this.method&&(this.arg=void 0),u}},e}var Tt=function(e){Object(J.a)(r,e);var t=Object(U.a)(r);function r(e){var n;return Object(D.a)(this,r),(n=t.call(this,e)).state={user:{user_id:null,password:""},errors:{password:null},userid:"",csrf:null,account_deleted:!1},n.handleChange=n.handleChange.bind(Object(ze.a)(n)),n.handleSubmit=n.handleSubmit.bind(Object(ze.a)(n)),H.preventEbiUser(),n}return Object(R.a)(r,[{key:"handleChange",value:function(e){var t=this.state.user;t[e.target.name]=e.target.value,this.setState({fields:t})}},{key:"handleSubmit",value:function(){var e=Object(l.a)(jt().mark((function e(t){var r,n=this;return jt().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return t.preventDefault(),e.next=3,H.getCsrfToken();case 3:return r=e.sent,e.next=6,b.a.post("/user-deletion?_format=json",this.state.user,{withCredentials:!0,headers:{Accept:"application/json","Content-Type":"application/json","X-CSRF-Token":r,Authorization:"Basic"}}).then((function(){n.setState({account_deleted:!0})})).catch((function(e){n.setState({errors:e.response.data.errors})}));case 6:case"end":return e.stop()}}),e,this)})));return function(t){return e.apply(this,arguments)}}()},{key:"componentDidMount",value:function(){var e=Object(l.a)(jt().mark((function e(){var t;return jt().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,H.getUserID();case 2:t=e.sent,this.setState({userid:t});case 4:case"end":return e.stop()}}),e,this)})));return function(){return e.apply(this,arguments)}}()},{key:"render",value:function(){return null!==this.state.userid?this.state.account_deleted?a.a.createElement(He,{status_header:"Your account has been deleted"},a.a.createElement("p",{className:"vf-intro__text"},a.a.createElement("a",{href:"/training"},"Training homepage"),".")):a.a.createElement("div",{className:"vf-body"},a.a.createElement("div",{className:"sparse-content"},a.a.createElement("div",{className:"vf-grid vf-grid__col-4"},a.a.createElement("div",{className:"vf-grid__col--span-3"},a.a.createElement(pe,{title:"Delete account"})),a.a.createElement("div",{className:"vf-grid__col--span-1"},a.a.createElement(L,null))),a.a.createElement("section",null,a.a.createElement("div",{className:"vf-u-margin__top--600"}),a.a.createElement("h1",{className:"vf-hero__heading"},"Delete account"),a.a.createElement("div",{className:"vf-u-margin__top--600"}),a.a.createElement("div",{className:"vf-banner vf-banner--alert vf-banner--warning"},a.a.createElement("div",{className:"vf-banner__content"},a.a.createElement("p",{className:"vf-banner__text"},"Once you confirm, your account will be permanently deleted. This cannot be undone."))),a.a.createElement("div",{className:"vf-u-margin__top--600"}),a.a.createElement("div",{className:"vf-grid"},a.a.createElement("form",{className:"vf-stack vf-stack--400",onSubmit:this.handleSubmit},a.a.createElement(X,{input_label:"Type in your password to confirm",input_name:"password",input_value:this.state.user.password,input_errors:this.state.errors.password,handleChange:this.handleChange,hide_astericks:!0,input_type:"password"}),a.a.createElement("button",{className:"vf-button vf-button--primary"},"Yes, delete my account"),a.a.createElement("p",{className:"vf-summary"},a.a.createElement("a",{className:"vf-link",href:"/training/user/account"},"No, keep my account"))),a.a.createElement("div",null))))):a.a.createElement(s.a,{to:"/user/login"})}}]),r}(a.a.Component);function Ct(){Ct=function(){return e};var e={},t=Object.prototype,r=t.hasOwnProperty,n="function"==typeof Symbol?Symbol:{},a=n.iterator||"@@iterator",i=n.asyncIterator||"@@asyncIterator",o=n.toStringTag||"@@toStringTag";function s(e,t,r){return Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}),e[t]}try{s({},"")}catch(L){s=function(e,t,r){return e[t]=r}}function l(e,t,r,n){var a=t&&t.prototype instanceof d?t:d,i=Object.create(a.prototype),o=new k(n||[]);return i._invoke=function(e,t,r){var n="suspendedStart";return function(a,i){if("executing"===n)throw new Error("Generator is already running");if("completed"===n){if("throw"===a)throw i;return x()}for(r.method=a,r.arg=i;;){var o=r.delegate;if(o){var s=w(o,r);if(s){if(s===u)continue;return s}}if("next"===r.method)r.sent=r._sent=r.arg;else if("throw"===r.method){if("suspendedStart"===n)throw n="completed",r.arg;r.dispatchException(r.arg)}else"return"===r.method&&r.abrupt("return",r.arg);n="executing";var l=c(e,t,r);if("normal"===l.type){if(n=r.done?"completed":"suspendedYield",l.arg===u)continue;return{value:l.arg,done:r.done}}"throw"===l.type&&(n="completed",r.method="throw",r.arg=l.arg)}}}(e,r,o),i}function c(e,t,r){try{return{type:"normal",arg:e.call(t,r)}}catch(L){return{type:"throw",arg:L}}}e.wrap=l;var u={};function d(){}function m(){}function h(){}var f={};s(f,a,(function(){return this}));var v=Object.getPrototypeOf,p=v&&v(v(N([])));p&&p!==t&&r.call(p,a)&&(f=p);var g=h.prototype=d.prototype=Object.create(f);function y(e){["next","throw","return"].forEach((function(t){s(e,t,(function(e){return this._invoke(t,e)}))}))}function b(e,t){var n;this._invoke=function(a,i){function o(){return new t((function(n,o){!function n(a,i,o,s){var l=c(e[a],e,i);if("throw"!==l.type){var u=l.arg,d=u.value;return d&&"object"==typeof d&&r.call(d,"__await")?t.resolve(d.__await).then((function(e){n("next",e,o,s)}),(function(e){n("throw",e,o,s)})):t.resolve(d).then((function(e){u.value=e,o(u)}),(function(e){return n("throw",e,o,s)}))}s(l.arg)}(a,i,n,o)}))}return n=n?n.then(o,o):o()}}function w(e,t){var r=e.iterator[t.method];if(void 0===r){if(t.delegate=null,"throw"===t.method){if(e.iterator.return&&(t.method="return",t.arg=void 0,w(e,t),"throw"===t.method))return u;t.method="throw",t.arg=new TypeError("The iterator does not provide a 'throw' method")}return u}var n=c(r,e.iterator,t.arg);if("throw"===n.type)return t.method="throw",t.arg=n.arg,t.delegate=null,u;var a=n.arg;return a?a.done?(t[e.resultName]=a.value,t.next=e.nextLoc,"return"!==t.method&&(t.method="next",t.arg=void 0),t.delegate=null,u):a:(t.method="throw",t.arg=new TypeError("iterator result is not an object"),t.delegate=null,u)}function E(e){var t={tryLoc:e[0]};1 in e&&(t.catchLoc=e[1]),2 in e&&(t.finallyLoc=e[2],t.afterLoc=e[3]),this.tryEntries.push(t)}function _(e){var t=e.completion||{};t.type="normal",delete t.arg,e.completion=t}function k(e){this.tryEntries=[{tryLoc:"root"}],e.forEach(E,this),this.reset(!0)}function N(e){if(e){var t=e[a];if(t)return t.call(e);if("function"==typeof e.next)return e;if(!isNaN(e.length)){var n=-1,i=function t(){for(;++n<e.length;)if(r.call(e,n))return t.value=e[n],t.done=!1,t;return t.value=void 0,t.done=!0,t};return i.next=i}}return{next:x}}function x(){return{value:void 0,done:!0}}return m.prototype=h,s(g,"constructor",h),s(h,"constructor",m),m.displayName=s(h,o,"GeneratorFunction"),e.isGeneratorFunction=function(e){var t="function"==typeof e&&e.constructor;return!!t&&(t===m||"GeneratorFunction"===(t.displayName||t.name))},e.mark=function(e){return Object.setPrototypeOf?Object.setPrototypeOf(e,h):(e.__proto__=h,s(e,o,"GeneratorFunction")),e.prototype=Object.create(g),e},e.awrap=function(e){return{__await:e}},y(b.prototype),s(b.prototype,i,(function(){return this})),e.AsyncIterator=b,e.async=function(t,r,n,a,i){void 0===i&&(i=Promise);var o=new b(l(t,r,n,a),i);return e.isGeneratorFunction(r)?o:o.next().then((function(e){return e.done?e.value:o.next()}))},y(g),s(g,o,"Generator"),s(g,a,(function(){return this})),s(g,"toString",(function(){return"[object Generator]"})),e.keys=function(e){var t=[];for(var r in e)t.push(r);return t.reverse(),function r(){for(;t.length;){var n=t.pop();if(n in e)return r.value=n,r.done=!1,r}return r.done=!0,r}},e.values=N,k.prototype={constructor:k,reset:function(e){if(this.prev=0,this.next=0,this.sent=this._sent=void 0,this.done=!1,this.delegate=null,this.method="next",this.arg=void 0,this.tryEntries.forEach(_),!e)for(var t in this)"t"===t.charAt(0)&&r.call(this,t)&&!isNaN(+t.slice(1))&&(this[t]=void 0)},stop:function(){this.done=!0;var e=this.tryEntries[0].completion;if("throw"===e.type)throw e.arg;return this.rval},dispatchException:function(e){if(this.done)throw e;var t=this;function n(r,n){return o.type="throw",o.arg=e,t.next=r,n&&(t.method="next",t.arg=void 0),!!n}for(var a=this.tryEntries.length-1;a>=0;--a){var i=this.tryEntries[a],o=i.completion;if("root"===i.tryLoc)return n("end");if(i.tryLoc<=this.prev){var s=r.call(i,"catchLoc"),l=r.call(i,"finallyLoc");if(s&&l){if(this.prev<i.catchLoc)return n(i.catchLoc,!0);if(this.prev<i.finallyLoc)return n(i.finallyLoc)}else if(s){if(this.prev<i.catchLoc)return n(i.catchLoc,!0)}else{if(!l)throw new Error("try statement without catch or finally");if(this.prev<i.finallyLoc)return n(i.finallyLoc)}}}},abrupt:function(e,t){for(var n=this.tryEntries.length-1;n>=0;--n){var a=this.tryEntries[n];if(a.tryLoc<=this.prev&&r.call(a,"finallyLoc")&&this.prev<a.finallyLoc){var i=a;break}}i&&("break"===e||"continue"===e)&&i.tryLoc<=t&&t<=i.finallyLoc&&(i=null);var o=i?i.completion:{};return o.type=e,o.arg=t,i?(this.method="next",this.next=i.finallyLoc,u):this.complete(o)},complete:function(e,t){if("throw"===e.type)throw e.arg;return"break"===e.type||"continue"===e.type?this.next=e.arg:"return"===e.type?(this.rval=this.arg=e.arg,this.method="return",this.next="end"):"normal"===e.type&&t&&(this.next=t),u},finish:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var r=this.tryEntries[t];if(r.finallyLoc===e)return this.complete(r.completion,r.afterLoc),_(r),u}},catch:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var r=this.tryEntries[t];if(r.tryLoc===e){var n=r.completion;if("throw"===n.type){var a=n.arg;_(r)}return a}}throw new Error("illegal catch attempt")},delegateYield:function(e,t,r){return this.delegate={iterator:N(e),resultName:t,nextLoc:r},"next"===this.method&&(this.arg=void 0),u}},e}var Bt=function(e){Object(J.a)(r,e);var t=Object(U.a)(r);function r(e){var n;return Object(D.a)(this,r),(n=t.call(this,e)).state={user:{selected_reason:null,specific_reason:null},userid:"",errors:{selected_reason:null,specific_reason:null}},n.handleSubmit=n.handleSubmit.bind(Object(ze.a)(n)),H.preventEbiUser(),n}return Object(R.a)(r,[{key:"componentDidMount",value:function(){var e=Object(l.a)(Ct().mark((function e(){var t;return Ct().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,H.getUserID();case 2:t=e.sent,this.setState({userid:t});case 4:case"end":return e.stop()}}),e,this)})));return function(){return e.apply(this,arguments)}}()},{key:"handleSubmit",value:function(){this.props.history.push("/user/delete")}},{key:"render",value:function(){return console.log(this.state.userid),null!==this.state.userid?a.a.createElement("div",{className:"vf-body"},a.a.createElement("div",{className:"sparse-content"},a.a.createElement("div",{className:"vf-grid vf-grid__col-4"},a.a.createElement("div",{className:"vf-grid__col--span-3"},a.a.createElement(pe,{title:"Delete account"})),a.a.createElement("div",{className:"vf-grid__col--span-1"},a.a.createElement(L,null))),a.a.createElement("section",null,a.a.createElement("h1",{className:"vf-hero__heading"},"We are sorry you're leaving"),a.a.createElement("div",{className:"vf-grid"},a.a.createElement("form",{className:"vf-stack vf-stack--400",onSubmit:this.handleSubmit},a.a.createElement("fieldset",{className:"vf-form__fieldset | vf-stack vf-stack--400"},a.a.createElement("legend",null,a.a.createElement("p",{className:"vf-summary"},"Before you delete your account, can you tell us why you are leaving ?")),a.a.createElement("div",{className:"vf-form__item vf-form__item--checkbox"},a.a.createElement("input",{type:"checkbox",name:"selected_reason",value:"1",id:"reason_01",className:"vf-form__checkbox"}),a.a.createElement("label",{htmlFor:"reason_01",className:"vf-form__label"},"I don't find it useful")),a.a.createElement("div",{className:"vf-form__item vf-form__item--checkbox"},a.a.createElement("input",{type:"checkbox",name:"selected_reason",value:"2",id:"reason_02",className:"vf-form__checkbox"}),a.a.createElement("label",{htmlFor:"reason_02",className:"vf-form__label"},"I don't understand how it works")),a.a.createElement("div",{className:"vf-form__item vf-form__item--checkbox"},a.a.createElement("input",{type:"checkbox",name:"selected_reason",value:"3",id:"reason_03",className:"vf-form__checkbox"}),a.a.createElement("label",{htmlFor:"reason_03",className:"vf-form__label"},"I have safety concerns")),a.a.createElement("div",{className:"vf-form__item vf-form__item--checkbox"},a.a.createElement("input",{type:"checkbox",name:"selected_reason",value:"4",id:"reason_04",className:"vf-form__checkbox"}),a.a.createElement("label",{htmlFor:"reason_04",className:"vf-form__label"},"I have privacy concerns")),a.a.createElement("div",{className:"vf-form__item vf-form__item--checkbox"},a.a.createElement("input",{type:"checkbox",name:"selected_reason",value:"5",id:"reason_05",className:"vf-form__checkbox"}),a.a.createElement("label",{htmlFor:"reason_05",className:"vf-form__label"},"Other"))),a.a.createElement("div",{className:"vf-form__item vf-stack"},a.a.createElement("label",{htmlFor:"text-area",className:"vf-form__label"},"Please specify"),a.a.createElement("textarea",{className:"vf-form__textarea",id:"text-area",name:"text-area",rows:5})),a.a.createElement("button",{className:"vf-button vf-button--primary"},"Proceed to delete account"),a.a.createElement("p",{className:"vf-summary"},a.a.createElement("a",{className:"vf-link",href:"/training/user/account"},"No, keep my account"))),a.a.createElement("div",null))))):a.a.createElement(s.a,{to:"/user/login"})}}]),r}(a.a.Component),Mt=function(){var e=Object(n.useState)(""),t=Object(c.a)(e,2),r=t[0],i=t[1];return Object(n.useEffect)((function(){fetch("https://www.embl.org/api/v1/pattern.html?filter-content-type=article&filter-id=162595&pattern=node-body&source=contenthub").then((function(e){return e.text()})).then((function(e){return i(e)})).catch((function(e){console.warn("Something went wrong.",e)}))})),a.a.createElement(a.a.Fragment,null,a.a.createElement("div",{className:"vf-grid vf-grid__col-4"},a.a.createElement("div",{className:"vf-grid__col--span-3"},a.a.createElement(pe,{title:"COVID-19 safety policy"})),a.a.createElement("div",{className:"vf-grid__col--span-1"},a.a.createElement(L,null))),a.a.createElement(h,{title:"COVID-19 safety policy for on-site events at EMBI-EBI Hinxton",subtitle:" "}),a.a.createElement("section",{className:"vf-content"},a.a.createElement("div",{dangerouslySetInnerHTML:{__html:r}})),a.a.createElement("div",{className:"vf-u-margin__top--1200"}))},It=r(25),At=function(e){Object(J.a)(r,e);var t=Object(U.a)(r);function r(e){var n;return Object(D.a)(this,r),(n=t.call(this,e)).state={trainer:{cpid:"",full_name:"",job_title:"",affiliation:"",slug:"",expertise:"",orcid:"",courses_organised:[],training_activity:[]}},n}return Object(R.a)(r,[{key:"componentDidMount",value:function(){var e=this,t="";t=/localhost/.test(window.location.href)||/192.168/.test(window.location.href)||/wwwdev/.test(window.location.href)?"https://dev.trainingcontent.embl.org/api/v1/trainer?_format=json":"https://trainingcontent.embl.org/api/v1/trainer?_format=json",b.a.get("".concat(t,"&slug=").concat(this.props.match.params.slug)).then((function(t){e.setState({trainer:null===t||void 0===t?void 0:t.data.trainers[0]})}))}},{key:"render",value:function(){return a.a.createElement(a.a.Fragment,null,a.a.createElement("div",{className:"vf-body"},a.a.createElement("div",{className:"vf-grid vf-grid__col-4"},a.a.createElement("div",{className:"vf-grid__col--span-3"},a.a.createElement(pe,{breadcrumSectionTitle:this.state.trainer.full_name,breadcrumSectionURL:"/training/trainers",title:"Our trainers"})),a.a.createElement("div",{className:"vf-grid__col--span-1"},a.a.createElement(L,null))),a.a.createElement("div",{className:"vf-u-margin__top--600"}),a.a.createElement("section",{className:"embl-grid embl-grid--has-centered-content"},a.a.createElement("div",null),a.a.createElement("div",{className:"vf-content"},a.a.createElement("article",{className:"vf-profile vf-profile--very-easy vf-profile--medium vf-profile--inline","data-embl-js-conditional-edit":"81400"},a.a.createElement("img",{className:"vf-profile__image",src:this.state.trainer.photo?this.state.trainer.photo:"https://content.embl.org/sites/default/files/styles/medium/public/default_images/vf-icon--avatar.png?itok=HPxTrDkU",alt:""}),a.a.createElement("h1",{className:"vf-profile__title",style:{marginBottom:0}},this.state.trainer.full_name),a.a.createElement("p",{className:"vf-profile__job-title"},this.state.trainer.job_title),a.a.createElement("p",{className:"vf-profile__text | vf-u-last-item "},this.state.trainer.affiliation),this.state.trainer.orcid?a.a.createElement("p",{className:"vf-profile__uuid"},a.a.createElement("span",null,"ORCID: "),a.a.createElement("a",{className:"vf-profile__link vf-profile__link--secondary",href:"https://europepmc.org/authors/"+this.state.trainer.orcid},this.state.trainer.orcid)):this.state.trainer.google_scholar?a.a.createElement("p",{className:"vf-profile__uuid"},a.a.createElement("a",{className:"vf-profile__link vf-profile__link--secondary",href:"https://europepmc.org/authors/"+this.state.trainer.google_scholar},a.a.createElement("strong",null," Google scholar profile"))):"",a.a.createElement("p",{className:"vf-profile__uuid"},this.state.trainer.personal_profile?a.a.createElement("a",{className:"vf-profile__link vf-profile__link--secondary",href:this.state.trainer.personal_profile},"Personal page"):"",this.state.trainer.institutional_link?a.a.createElement(a.a.Fragment,null,this.state.trainer.personal_profile?" | ":"",a.a.createElement("a",{className:"vf-profile__link vf-profile__link--secondary",href:this.state.trainer.institutional_link},"Institutional page")):"",this.state.trainer.linkedin?a.a.createElement(a.a.Fragment,null,this.state.trainer.personal_profile||this.state.trainer.institutional_link?" | ":"",a.a.createElement("a",{className:"vf-profile__link",href:this.state.trainer.linkedin},"LinkedIn page")):"")))),this.state.trainer.expertise?a.a.createElement(a.a.Fragment,null,a.a.createElement("div",{className:"vf-u-margin__top--600"}),a.a.createElement("section",{className:"embl-grid embl-grid--has-centered-content"},a.a.createElement("div",{className:"vf-section-header",id:"biography"},a.a.createElement("h2",{className:"vf-section-header__heading"},"About")),a.a.createElement("div",{className:"vf-content"},a.a.createElement("div",null,a.a.createElement("span",null,It("<span>".concat(this.state.trainer.expertise||"","</span>"))))))):"",Object.keys(this.state.trainer.training_activity).length>0?a.a.createElement("section",{className:"embl-grid embl-grid--has-centered-content"},a.a.createElement("div",{className:"vf-section-header",id:"biography"},a.a.createElement("h2",{className:"vf-section-header__heading"},"Training activity")),a.a.createElement("div",{className:"vf-content"},Object.entries(this.state.trainer.training_activity).reverse().map((function(e,t){var r;return a.a.createElement("div",{key:t},a.a.createElement("h3",null,e[0]),null===(r=e[1])||void 0===r?void 0:r.map((function(e,t){return a.a.createElement("div",{key:t,className:"vf-summary vf-summary--event",style:{marginBottom:"0px",border:"0"}},a.a.createElement("div",{className:"ebi-academy-course-list-details"},a.a.createElement("p",null,a.a.createElement("span",{className:"vf-summary__date"},e.type),"organiser"===e.contribution?a.a.createElement("span",{className:"vf-u-type__text-body--4"}," | Organiser "):""),a.a.createElement("h3",{className:"vf-summary__title ebi-academy-summary-title"},a.a.createElement("a",{href:e.url},e.title))))})),a.a.createElement("div",{className:"vf-u-margin__top--1200"}))})))):""))}}]),r}(a.a.Component);function Pt(){Pt=function(){return e};var e={},t=Object.prototype,r=t.hasOwnProperty,n="function"==typeof Symbol?Symbol:{},a=n.iterator||"@@iterator",i=n.asyncIterator||"@@asyncIterator",o=n.toStringTag||"@@toStringTag";function s(e,t,r){return Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}),e[t]}try{s({},"")}catch(L){s=function(e,t,r){return e[t]=r}}function l(e,t,r,n){var a=t&&t.prototype instanceof d?t:d,i=Object.create(a.prototype),o=new k(n||[]);return i._invoke=function(e,t,r){var n="suspendedStart";return function(a,i){if("executing"===n)throw new Error("Generator is already running");if("completed"===n){if("throw"===a)throw i;return x()}for(r.method=a,r.arg=i;;){var o=r.delegate;if(o){var s=w(o,r);if(s){if(s===u)continue;return s}}if("next"===r.method)r.sent=r._sent=r.arg;else if("throw"===r.method){if("suspendedStart"===n)throw n="completed",r.arg;r.dispatchException(r.arg)}else"return"===r.method&&r.abrupt("return",r.arg);n="executing";var l=c(e,t,r);if("normal"===l.type){if(n=r.done?"completed":"suspendedYield",l.arg===u)continue;return{value:l.arg,done:r.done}}"throw"===l.type&&(n="completed",r.method="throw",r.arg=l.arg)}}}(e,r,o),i}function c(e,t,r){try{return{type:"normal",arg:e.call(t,r)}}catch(L){return{type:"throw",arg:L}}}e.wrap=l;var u={};function d(){}function m(){}function h(){}var f={};s(f,a,(function(){return this}));var v=Object.getPrototypeOf,p=v&&v(v(N([])));p&&p!==t&&r.call(p,a)&&(f=p);var g=h.prototype=d.prototype=Object.create(f);function y(e){["next","throw","return"].forEach((function(t){s(e,t,(function(e){return this._invoke(t,e)}))}))}function b(e,t){var n;this._invoke=function(a,i){function o(){return new t((function(n,o){!function n(a,i,o,s){var l=c(e[a],e,i);if("throw"!==l.type){var u=l.arg,d=u.value;return d&&"object"==typeof d&&r.call(d,"__await")?t.resolve(d.__await).then((function(e){n("next",e,o,s)}),(function(e){n("throw",e,o,s)})):t.resolve(d).then((function(e){u.value=e,o(u)}),(function(e){return n("throw",e,o,s)}))}s(l.arg)}(a,i,n,o)}))}return n=n?n.then(o,o):o()}}function w(e,t){var r=e.iterator[t.method];if(void 0===r){if(t.delegate=null,"throw"===t.method){if(e.iterator.return&&(t.method="return",t.arg=void 0,w(e,t),"throw"===t.method))return u;t.method="throw",t.arg=new TypeError("The iterator does not provide a 'throw' method")}return u}var n=c(r,e.iterator,t.arg);if("throw"===n.type)return t.method="throw",t.arg=n.arg,t.delegate=null,u;var a=n.arg;return a?a.done?(t[e.resultName]=a.value,t.next=e.nextLoc,"return"!==t.method&&(t.method="next",t.arg=void 0),t.delegate=null,u):a:(t.method="throw",t.arg=new TypeError("iterator result is not an object"),t.delegate=null,u)}function E(e){var t={tryLoc:e[0]};1 in e&&(t.catchLoc=e[1]),2 in e&&(t.finallyLoc=e[2],t.afterLoc=e[3]),this.tryEntries.push(t)}function _(e){var t=e.completion||{};t.type="normal",delete t.arg,e.completion=t}function k(e){this.tryEntries=[{tryLoc:"root"}],e.forEach(E,this),this.reset(!0)}function N(e){if(e){var t=e[a];if(t)return t.call(e);if("function"==typeof e.next)return e;if(!isNaN(e.length)){var n=-1,i=function t(){for(;++n<e.length;)if(r.call(e,n))return t.value=e[n],t.done=!1,t;return t.value=void 0,t.done=!0,t};return i.next=i}}return{next:x}}function x(){return{value:void 0,done:!0}}return m.prototype=h,s(g,"constructor",h),s(h,"constructor",m),m.displayName=s(h,o,"GeneratorFunction"),e.isGeneratorFunction=function(e){var t="function"==typeof e&&e.constructor;return!!t&&(t===m||"GeneratorFunction"===(t.displayName||t.name))},e.mark=function(e){return Object.setPrototypeOf?Object.setPrototypeOf(e,h):(e.__proto__=h,s(e,o,"GeneratorFunction")),e.prototype=Object.create(g),e},e.awrap=function(e){return{__await:e}},y(b.prototype),s(b.prototype,i,(function(){return this})),e.AsyncIterator=b,e.async=function(t,r,n,a,i){void 0===i&&(i=Promise);var o=new b(l(t,r,n,a),i);return e.isGeneratorFunction(r)?o:o.next().then((function(e){return e.done?e.value:o.next()}))},y(g),s(g,o,"Generator"),s(g,a,(function(){return this})),s(g,"toString",(function(){return"[object Generator]"})),e.keys=function(e){var t=[];for(var r in e)t.push(r);return t.reverse(),function r(){for(;t.length;){var n=t.pop();if(n in e)return r.value=n,r.done=!1,r}return r.done=!0,r}},e.values=N,k.prototype={constructor:k,reset:function(e){if(this.prev=0,this.next=0,this.sent=this._sent=void 0,this.done=!1,this.delegate=null,this.method="next",this.arg=void 0,this.tryEntries.forEach(_),!e)for(var t in this)"t"===t.charAt(0)&&r.call(this,t)&&!isNaN(+t.slice(1))&&(this[t]=void 0)},stop:function(){this.done=!0;var e=this.tryEntries[0].completion;if("throw"===e.type)throw e.arg;return this.rval},dispatchException:function(e){if(this.done)throw e;var t=this;function n(r,n){return o.type="throw",o.arg=e,t.next=r,n&&(t.method="next",t.arg=void 0),!!n}for(var a=this.tryEntries.length-1;a>=0;--a){var i=this.tryEntries[a],o=i.completion;if("root"===i.tryLoc)return n("end");if(i.tryLoc<=this.prev){var s=r.call(i,"catchLoc"),l=r.call(i,"finallyLoc");if(s&&l){if(this.prev<i.catchLoc)return n(i.catchLoc,!0);if(this.prev<i.finallyLoc)return n(i.finallyLoc)}else if(s){if(this.prev<i.catchLoc)return n(i.catchLoc,!0)}else{if(!l)throw new Error("try statement without catch or finally");if(this.prev<i.finallyLoc)return n(i.finallyLoc)}}}},abrupt:function(e,t){for(var n=this.tryEntries.length-1;n>=0;--n){var a=this.tryEntries[n];if(a.tryLoc<=this.prev&&r.call(a,"finallyLoc")&&this.prev<a.finallyLoc){var i=a;break}}i&&("break"===e||"continue"===e)&&i.tryLoc<=t&&t<=i.finallyLoc&&(i=null);var o=i?i.completion:{};return o.type=e,o.arg=t,i?(this.method="next",this.next=i.finallyLoc,u):this.complete(o)},complete:function(e,t){if("throw"===e.type)throw e.arg;return"break"===e.type||"continue"===e.type?this.next=e.arg:"return"===e.type?(this.rval=this.arg=e.arg,this.method="return",this.next="end"):"normal"===e.type&&t&&(this.next=t),u},finish:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var r=this.tryEntries[t];if(r.finallyLoc===e)return this.complete(r.completion,r.afterLoc),_(r),u}},catch:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var r=this.tryEntries[t];if(r.tryLoc===e){var n=r.completion;if("throw"===n.type){var a=n.arg;_(r)}return a}}throw new Error("illegal catch attempt")},delegateYield:function(e,t,r){return this.delegate={iterator:N(e),resultName:t,nextLoc:r},"next"===this.method&&(this.arg=void 0),u}},e}var Ft=function(){var e=Object(n.useState)(""),t=Object(c.a)(e,2),r=t[0],i=t[1],o="",u=Object(s.h)(),d=new URLSearchParams(u.search);(function(){var e=Object(l.a)(Pt().mark((function e(){return Pt().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:try{o=d.get("topic")?d.get("topic"):"event-admission-process"}catch(t){alert(t)}case 1:case"end":return e.stop()}}),e)})));return function(){return e.apply(this,arguments)}})()();return Object(n.useEffect)((function(){fetch("https://www.embl.org/api/v1/pattern.html?filter-content-type=article&filter-id=".concat(function(e){return"event-admission-process"===e?"168155":"payment-of-registration-fees"===e?"168153":"cancellation-policy"===e?"27944":"computer-usage-policy"===e?"168151":"event-conduct"===e?"168149":"covid-19-terms"===e?"168147":void 0}(o),"&pattern=node-body&source=contenthub")).then((function(e){return e.text()})).then((function(e){i(e)})).catch((function(e){console.warn("Something went wrong.",e)}))})),a.a.createElement("div",{className:"vf-content"},a.a.createElement("div",{className:"vf-grid vf-grid__col-4"},a.a.createElement("div",{className:"vf-grid__col--span-3"},a.a.createElement(pe,{title:"Terms and conditions"})),a.a.createElement("div",{className:"vf-grid__col--span-1"},a.a.createElement(L,null))),a.a.createElement(h,{title:"Terms and conditions",subtitle:"For EMBL-EBI Training events"}),a.a.createElement("section",{id:"displayPage"},a.a.createElement("div",{className:"vf-u-margin__top--1200"}),a.a.createElement("nav",{className:"vf-navigation vf-navigation--main | vf-cluster"},a.a.createElement("ul",{className:"vf-navigation__list | vf-list--inline"},a.a.createElement("li",{className:"vf-navigation__item"},a.a.createElement("a",{"aria-current":"event-admission-process"===o?"page":void 0,href:"/training/terms-conditions/?topic=event-admission-process",className:"vf-navigation__link"},"Event admission process",a.a.createElement("span",{className:"vf-u-sr-only"}," page"))),a.a.createElement("li",{className:"vf-navigation__item"},a.a.createElement("a",{"aria-current":"payment-of-registration-fees"===o?"page":void 0,href:"/training/terms-conditions/?topic=payment-of-registration-fees",className:"vf-navigation__link"},"Payment of fees",a.a.createElement("span",{className:"vf-u-sr-only"}," page"))),a.a.createElement("li",{className:"vf-navigation__item"},a.a.createElement("a",{"aria-current":"cancellation-policy"===o?"page":void 0,href:"/training/terms-conditions/?topic=cancellation-policy",className:"vf-navigation__link"},"Cancellation",a.a.createElement("span",{className:"vf-u-sr-only"}," page"))),a.a.createElement("li",{className:"vf-navigation__item"},a.a.createElement("a",{"aria-current":"computer-usage-policy"===o?"page":void 0,href:"/training/terms-conditions/?topic=computer-usage-policy",className:"vf-navigation__link"},"Use of compute facilities",a.a.createElement("span",{className:"vf-u-sr-only"}," page"))),a.a.createElement("li",{className:"vf-navigation__item"},a.a.createElement("a",{"aria-current":"event-conduct"===o?"page":void 0,href:"/training/terms-conditions/?topic=event-conduct",className:"vf-navigation__link"},"Event conduct",a.a.createElement("span",{className:"vf-u-sr-only"}," page"))),a.a.createElement("li",{className:"vf-navigation__item"},a.a.createElement("a",{"aria-current":"covid-19-terms"===o?"page":void 0,href:"/training/terms-conditions/?topic=covid-19-terms",className:"vf-navigation__link"},"COVID-19 terms",a.a.createElement("span",{className:"vf-u-sr-only"}," page"))))),a.a.createElement("div",{className:"vf-u-margin__top--800"}),a.a.createElement("div",{className:"embl-grid embl-grid--has-centered-content"},a.a.createElement("div",null),a.a.createElement("div",{dangerouslySetInnerHTML:{__html:r}}))),a.a.createElement("div",{className:"vf-u-margin__top--1200"}))},Gt=function(e){Object(J.a)(r,e);var t=Object(U.a)(r);function r(e){var n;return Object(D.a)(this,r),(n=t.call(this,e)).state={trainers:[],filtered_list:[],emblTrainers:[],emblTrainers_filtered:[],firstTabLink:a.a.createRef(),secondTabLink:a.a.createRef()},n.linkTab=n.linkTab.bind(Object(ze.a)(n)),n}return Object(R.a)(r,[{key:"componentDidMount",value:function(){var e=this;b.a.get("https://trainingcontent.embl.org/api/v1/trainer?_format=json").then((function(t){e.setState({trainers:t.data.trainers,filtered_list:t.data.trainers}),e.state.filtered_list||e.setState({filtered_list:t.data.trainers})})),b.a.get("".concat(v,"/api/v1/ebi_trainers?_format=json")).then((function(t){e.setState({emblTrainers:t.data,emblTrainers_filtered:t.data}),e.state.emblTrainers_filtered||e.setState({emblTrainers_filtered:t.data})})),window.vfTabs(document,!0)}},{key:"linkTab",value:function(e){var t=window.location.href.split("#")[0];window.location.replace(t+e)}},{key:"search_trainers",value:function(e){var t=this.state.trainers.filter((function(t){return t.full_name.toLowerCase().includes(e.target.value.toLowerCase())||t.affiliation.toLowerCase().includes(e.target.value.toLowerCase())}));this.setState({filtered_list:t})}},{key:"search_embl_trainers",value:function(e){var t=this.state.emblTrainers.filter((function(t){return t.name.toLowerCase().includes(e.target.value.toLowerCase())||t.organisation.toLowerCase().includes(e.target.value.toLowerCase())}));this.setState({emblTrainers_filtered:t})}},{key:"render",value:function(){var e=this;return a.a.createElement(a.a.Fragment,null,a.a.createElement("div",{className:"vf-body"},a.a.createElement("div",{className:"vf-grid vf-grid__col-4"},a.a.createElement("div",{className:"vf-grid__col--span-3"},a.a.createElement(pe,{title:"Our trainers"})),a.a.createElement("div",{className:"vf-grid__col--span-1"},a.a.createElement(L,null))),a.a.createElement(h,{title:"Our trainers",subtitle:"Learn more about the people who deliver EMBL-EBI training"}),a.a.createElement("div",null,a.a.createElement("p",{className:"vf-u-type__text-body--2"},"Our programme is delivered by a mix of EMBL trainers and guest trainers, who join us from many institutions around the world and help us to create the varied programme you can explore today. If you are interested in joining us as a trainer please ",a.a.createElement("a",{className:"vf-link",target:"_blank",rel:"noopener noreferrer",href:"https://www.eventsforce.net/embl/139/register"},"register your interest"),"."),a.a.createElement("p",null,a.a.createElement("a",{href:"/training/previous-embl-trainers",className:"vf-link"},"You can also view EMBL alumni who previously delivered EMBL-EBI training."))),a.a.createElement("div",{className:"vf-u-margin__top--600"}),a.a.createElement("div",null,a.a.createElement("div",{className:"vf-tabs"},a.a.createElement("ul",{className:"vf-tabs__list",style:{width:"100%"},"data-vf-js-tabs":!0},a.a.createElement("li",{className:"vf-tabs__item"},a.a.createElement("a",{ref:this.state.firstTabLink,className:"vf-tabs__link",href:"#vf-tabs__section--1",onClick:function(){e.linkTab("#vf-tabs__section--1")}},"Guest trainers")),a.a.createElement("li",{className:"vf-tabs__item"},a.a.createElement("a",{ref:this.state.secondTabLink,className:"vf-tabs__link",href:"#vf-tabs__section--2",onClick:function(){e.linkTab("#vf-tabs__section--2")}},"Trainers at EMBL"))))),a.a.createElement("div",{className:"vf-u-margin__top--600"}),a.a.createElement("div",{className:"vf-tabs-content","data-vf-js-tabs-content":!0},a.a.createElement("section",{className:"vf-tabs__section",id:"vf-tabs__section--1"},a.a.createElement("div",{className:"vf-grid"},a.a.createElement("div",{className:"vf-form__item"},a.a.createElement("div",{className:"vf-u-margin__top--200"}),a.a.createElement("label",{className:"vf-form__label vf-u-sr-only",htmlFor:"filter_trainers"},"Search"),a.a.createElement("input",{type:"text",id:"filter_trainers",className:"vf-form__input",placeholder:"Search name and affiliation",onKeyUp:function(t){return e.search_trainers(t)}}),a.a.createElement("div",{className:"vf-u-margin__top--600"})),a.a.createElement("div",null)),a.a.createElement("div",{className:"vf-content-hub-html vf-grid vf-grid__col-3"},this.state.filtered_list.map((function(e){return"1"!==e.exclude_from_index&&a.a.createElement("div",{className:"vf-content",key:e.slug},a.a.createElement("article",{className:"vf-profile vf-profile--very-easy vf-profile--medium vf-profile--inline","data-embl-js-conditional-edit":"81400"},a.a.createElement("img",{className:"vf-profile__image",src:e.photo?e.photo:"https://content.embl.org/sites/default/files/styles/medium/public/default_images/vf-icon--avatar.png?itok=HPxTrDkU",alt:""}),a.a.createElement("h3",{className:"vf-profile__title"},a.a.createElement("a",{href:"/training/trainers"+e.slug,className:"vf-profile__link"},e.full_name)),a.a.createElement("p",{className:"vf-text vf-text-body--3 vf-u-margin__bottom--50 vf-u-margin__bottom--50"},e.job_title),a.a.createElement("p",{className:"vf-profile__text | vf-u-last-item "},e.affiliation)))})))),a.a.createElement("section",{className:"vf-tabs__section",id:"vf-tabs__section--2"},a.a.createElement("div",{className:"vf-grid"},a.a.createElement("div",{className:"vf-form__item"},a.a.createElement("div",{className:"vf-u-margin__top--200"}),a.a.createElement("label",{className:"vf-form__label vf-u-sr-only",htmlFor:"filter_trainers"},"Search"),a.a.createElement("input",{type:"text",id:"filter_trainers",className:"vf-form__input",placeholder:"Search name and affiliation",onKeyUp:function(t){return e.search_embl_trainers(t)}}),a.a.createElement("div",{className:"vf-u-margin__top--600"})),a.a.createElement("div",null)),a.a.createElement("div",{className:"vf-content-hub-html vf-grid vf-grid__col-3"},this.state.emblTrainers_filtered.map((function(e){return a.a.createElement("div",{className:"vf-content",key:e.cpid},a.a.createElement("article",{className:"vf-profile vf-profile--very-easy vf-profile--medium vf-profile--inline","data-embl-js-conditional-edit":"81400"},a.a.createElement("img",{className:"vf-profile__image",src:e.photo?e.photo:"https://content.embl.org/sites/default/files/styles/medium/public/default_images/vf-icon--avatar.png?itok=HPxTrDkU",alt:""}),a.a.createElement("h3",{className:"vf-profile__title"},a.a.createElement("a",{href:null===e||void 0===e?void 0:e.url,className:"vf-profile__link"},e.name)),a.a.createElement("p",{className:"vf-text vf-text-body--3 vf-u-margin__bottom--50 vf-u-margin__bottom--50"},e.position),a.a.createElement("p",{className:"vf-profile__text | vf-u-last-item "},e.organisation)))})))))))}}]),r}(a.a.Component);r(749);function Wt(){Wt=function(){return e};var e={},t=Object.prototype,r=t.hasOwnProperty,n="function"==typeof Symbol?Symbol:{},a=n.iterator||"@@iterator",i=n.asyncIterator||"@@asyncIterator",o=n.toStringTag||"@@toStringTag";function s(e,t,r){return Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}),e[t]}try{s({},"")}catch(L){s=function(e,t,r){return e[t]=r}}function l(e,t,r,n){var a=t&&t.prototype instanceof d?t:d,i=Object.create(a.prototype),o=new k(n||[]);return i._invoke=function(e,t,r){var n="suspendedStart";return function(a,i){if("executing"===n)throw new Error("Generator is already running");if("completed"===n){if("throw"===a)throw i;return x()}for(r.method=a,r.arg=i;;){var o=r.delegate;if(o){var s=w(o,r);if(s){if(s===u)continue;return s}}if("next"===r.method)r.sent=r._sent=r.arg;else if("throw"===r.method){if("suspendedStart"===n)throw n="completed",r.arg;r.dispatchException(r.arg)}else"return"===r.method&&r.abrupt("return",r.arg);n="executing";var l=c(e,t,r);if("normal"===l.type){if(n=r.done?"completed":"suspendedYield",l.arg===u)continue;return{value:l.arg,done:r.done}}"throw"===l.type&&(n="completed",r.method="throw",r.arg=l.arg)}}}(e,r,o),i}function c(e,t,r){try{return{type:"normal",arg:e.call(t,r)}}catch(L){return{type:"throw",arg:L}}}e.wrap=l;var u={};function d(){}function m(){}function h(){}var f={};s(f,a,(function(){return this}));var v=Object.getPrototypeOf,p=v&&v(v(N([])));p&&p!==t&&r.call(p,a)&&(f=p);var g=h.prototype=d.prototype=Object.create(f);function y(e){["next","throw","return"].forEach((function(t){s(e,t,(function(e){return this._invoke(t,e)}))}))}function b(e,t){var n;this._invoke=function(a,i){function o(){return new t((function(n,o){!function n(a,i,o,s){var l=c(e[a],e,i);if("throw"!==l.type){var u=l.arg,d=u.value;return d&&"object"==typeof d&&r.call(d,"__await")?t.resolve(d.__await).then((function(e){n("next",e,o,s)}),(function(e){n("throw",e,o,s)})):t.resolve(d).then((function(e){u.value=e,o(u)}),(function(e){return n("throw",e,o,s)}))}s(l.arg)}(a,i,n,o)}))}return n=n?n.then(o,o):o()}}function w(e,t){var r=e.iterator[t.method];if(void 0===r){if(t.delegate=null,"throw"===t.method){if(e.iterator.return&&(t.method="return",t.arg=void 0,w(e,t),"throw"===t.method))return u;t.method="throw",t.arg=new TypeError("The iterator does not provide a 'throw' method")}return u}var n=c(r,e.iterator,t.arg);if("throw"===n.type)return t.method="throw",t.arg=n.arg,t.delegate=null,u;var a=n.arg;return a?a.done?(t[e.resultName]=a.value,t.next=e.nextLoc,"return"!==t.method&&(t.method="next",t.arg=void 0),t.delegate=null,u):a:(t.method="throw",t.arg=new TypeError("iterator result is not an object"),t.delegate=null,u)}function E(e){var t={tryLoc:e[0]};1 in e&&(t.catchLoc=e[1]),2 in e&&(t.finallyLoc=e[2],t.afterLoc=e[3]),this.tryEntries.push(t)}function _(e){var t=e.completion||{};t.type="normal",delete t.arg,e.completion=t}function k(e){this.tryEntries=[{tryLoc:"root"}],e.forEach(E,this),this.reset(!0)}function N(e){if(e){var t=e[a];if(t)return t.call(e);if("function"==typeof e.next)return e;if(!isNaN(e.length)){var n=-1,i=function t(){for(;++n<e.length;)if(r.call(e,n))return t.value=e[n],t.done=!1,t;return t.value=void 0,t.done=!0,t};return i.next=i}}return{next:x}}function x(){return{value:void 0,done:!0}}return m.prototype=h,s(g,"constructor",h),s(h,"constructor",m),m.displayName=s(h,o,"GeneratorFunction"),e.isGeneratorFunction=function(e){var t="function"==typeof e&&e.constructor;return!!t&&(t===m||"GeneratorFunction"===(t.displayName||t.name))},e.mark=function(e){return Object.setPrototypeOf?Object.setPrototypeOf(e,h):(e.__proto__=h,s(e,o,"GeneratorFunction")),e.prototype=Object.create(g),e},e.awrap=function(e){return{__await:e}},y(b.prototype),s(b.prototype,i,(function(){return this})),e.AsyncIterator=b,e.async=function(t,r,n,a,i){void 0===i&&(i=Promise);var o=new b(l(t,r,n,a),i);return e.isGeneratorFunction(r)?o:o.next().then((function(e){return e.done?e.value:o.next()}))},y(g),s(g,o,"Generator"),s(g,a,(function(){return this})),s(g,"toString",(function(){return"[object Generator]"})),e.keys=function(e){var t=[];for(var r in e)t.push(r);return t.reverse(),function r(){for(;t.length;){var n=t.pop();if(n in e)return r.value=n,r.done=!1,r}return r.done=!0,r}},e.values=N,k.prototype={constructor:k,reset:function(e){if(this.prev=0,this.next=0,this.sent=this._sent=void 0,this.done=!1,this.delegate=null,this.method="next",this.arg=void 0,this.tryEntries.forEach(_),!e)for(var t in this)"t"===t.charAt(0)&&r.call(this,t)&&!isNaN(+t.slice(1))&&(this[t]=void 0)},stop:function(){this.done=!0;var e=this.tryEntries[0].completion;if("throw"===e.type)throw e.arg;return this.rval},dispatchException:function(e){if(this.done)throw e;var t=this;function n(r,n){return o.type="throw",o.arg=e,t.next=r,n&&(t.method="next",t.arg=void 0),!!n}for(var a=this.tryEntries.length-1;a>=0;--a){var i=this.tryEntries[a],o=i.completion;if("root"===i.tryLoc)return n("end");if(i.tryLoc<=this.prev){var s=r.call(i,"catchLoc"),l=r.call(i,"finallyLoc");if(s&&l){if(this.prev<i.catchLoc)return n(i.catchLoc,!0);if(this.prev<i.finallyLoc)return n(i.finallyLoc)}else if(s){if(this.prev<i.catchLoc)return n(i.catchLoc,!0)}else{if(!l)throw new Error("try statement without catch or finally");if(this.prev<i.finallyLoc)return n(i.finallyLoc)}}}},abrupt:function(e,t){for(var n=this.tryEntries.length-1;n>=0;--n){var a=this.tryEntries[n];if(a.tryLoc<=this.prev&&r.call(a,"finallyLoc")&&this.prev<a.finallyLoc){var i=a;break}}i&&("break"===e||"continue"===e)&&i.tryLoc<=t&&t<=i.finallyLoc&&(i=null);var o=i?i.completion:{};return o.type=e,o.arg=t,i?(this.method="next",this.next=i.finallyLoc,u):this.complete(o)},complete:function(e,t){if("throw"===e.type)throw e.arg;return"break"===e.type||"continue"===e.type?this.next=e.arg:"return"===e.type?(this.rval=this.arg=e.arg,this.method="return",this.next="end"):"normal"===e.type&&t&&(this.next=t),u},finish:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var r=this.tryEntries[t];if(r.finallyLoc===e)return this.complete(r.completion,r.afterLoc),_(r),u}},catch:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var r=this.tryEntries[t];if(r.tryLoc===e){var n=r.completion;if("throw"===n.type){var a=n.arg;_(r)}return a}}throw new Error("illegal catch attempt")},delegateYield:function(e,t,r){return this.delegate={iterator:N(e),resultName:t,nextLoc:r},"next"===this.method&&(this.arg=void 0),u}},e}var qt=function(e){Object(J.a)(r,e);var t=Object(U.a)(r);function r(e){var n;return Object(D.a)(this,r),n=t.call(this,e),H.requireLogin(),n.state={playlist:{title:null,description:"",courses:[]},editor_state:te.EditorState.createEmpty(),errors:{title:null,description:null},show_courses_modal:!1,search:"",query:"",active_page:1,offset:0,zero_results:!1,zero_query:void 0,all_data:[]},n}return Object(R.a)(r,[{key:"handleChange",value:function(e){var t=this.state.playlist;t[e.target.name]=e.target.value,this.setState({fields:t})}},{key:"createPlaylist",value:function(){var e=Object(l.a)(Wt().mark((function e(t){var r,n,a=this;return Wt().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return t.preventDefault(),r=this.state.playlist,e.next=4,H.getCsrfToken();case 4:return n=e.sent,e.next=7,b.a.post("".concat(p,"/training/usercontent/api/playlists?_format=json"),r,{withCredentials:!0,headers:{Accept:"application/json","Content-Type":"application/json","X-CSRF-Token":n,Authorization:"Basic"}}).then((function(e){window.location.replace("/training/playlists"+e.data.new_playlist_id)})).catch((function(e){422===e.response.status&&a.setState({errors:e.response.data.errors})}));case 7:case"end":return e.stop()}}),e,this)})));return function(t){return e.apply(this,arguments)}}()},{key:"onEditorStateChange",value:function(e){var t=this.state.playlist,r=ee()(Object(te.convertToRaw)(e.getCurrentContent()));this.checkIfDescriptionContainsUnwantedHTMLTags(r)?this.setState({errors:{description:["The description cannot contain HTML tags other than the presented options on the editor"]}}):(this.setState({editor_state:e,errors:{description:[null]}}),t.description=r,this.setState({current_playlist:t}))}},{key:"checkIfDescriptionContainsUnwantedHTMLTags",value:function(e){var t=["p","br","strong","em","u","ol","ul","li","span","ins"],r=document.createElement("div");r.innerHTML=e;for(var n=r.getElementsByTagName("*"),a=0;a<n.length;a++){var i=n[a];if(!t.includes(i.tagName.toLowerCase()))return!0}return!1}},{key:"render",value:function(){var e=this;return a.a.createElement(a.a.Fragment,null,a.a.createElement("div",null,a.a.createElement("div",{className:"vf-grid__col--span-3"},a.a.createElement(pe,{title:"My playlists",breadcrumSectionTitle:"Create a new playlist",breadcrumSectionURL:"/training/playlists"})),a.a.createElement("div",{className:"vf-grid__col--span-1"},a.a.createElement(L,null))),a.a.createElement("section",{className:"vf-body sparse-content"},a.a.createElement("div",{className:"vf-u-margin__top--600"}),a.a.createElement("h1",{className:"vf-hero__heading"},"Enter the details of your new playlist"),a.a.createElement("p",{className:"vf-summary__text"},"To create your playlist, add a title and description to help anyone you share the playlist with understand what it\u2019s about. Once you have this, use the \u2018Add on-demand training\u2019 button to add the EMBL-EBI on-demand training that you would like to include in your playlist."),a.a.createElement("div",{className:"vf-grid"},a.a.createElement("form",{className:"vf-stack vf-stack--400"},a.a.createElement(X,{input_label:"Title",input_name:"title",input_value:this.state.playlist.title,input_errors:this.state.errors.title,handleChange:function(t){e.handleChange(t)},input_type:"text"}),a.a.createElement("label",{htmlFor:"props.input_name",className:"vf-form__label vf-form__label--required"}," ","Description"),a.a.createElement(Q.Editor,{editorStyle:{height:"400px"},editorState:this.state.editor_state,toolbar:{options:["inline","list"],inline:{options:["bold","italic","underline"]},list:{options:["unordered","ordered"]}},toolbarClassName:"toolbarClassName",wrapperClassName:"wrapperClassName",editorClassName:"vf-form__textarea",onEditorStateChange:function(t){e.onEditorStateChange(t)}}),a.a.createElement("p",{className:"vf-form__helper vf-form__helper--error"},this.state.errors.description),a.a.createElement("button",{className:"vf-button vf-button--primary",onClick:function(t){e.createPlaylist(t)}},"Create playlist")))))}}]),r}(a.a.Component);function Dt(){Dt=function(){return e};var e={},t=Object.prototype,r=t.hasOwnProperty,n="function"==typeof Symbol?Symbol:{},a=n.iterator||"@@iterator",i=n.asyncIterator||"@@asyncIterator",o=n.toStringTag||"@@toStringTag";function s(e,t,r){return Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}),e[t]}try{s({},"")}catch(L){s=function(e,t,r){return e[t]=r}}function l(e,t,r,n){var a=t&&t.prototype instanceof d?t:d,i=Object.create(a.prototype),o=new k(n||[]);return i._invoke=function(e,t,r){var n="suspendedStart";return function(a,i){if("executing"===n)throw new Error("Generator is already running");if("completed"===n){if("throw"===a)throw i;return x()}for(r.method=a,r.arg=i;;){var o=r.delegate;if(o){var s=w(o,r);if(s){if(s===u)continue;return s}}if("next"===r.method)r.sent=r._sent=r.arg;else if("throw"===r.method){if("suspendedStart"===n)throw n="completed",r.arg;r.dispatchException(r.arg)}else"return"===r.method&&r.abrupt("return",r.arg);n="executing";var l=c(e,t,r);if("normal"===l.type){if(n=r.done?"completed":"suspendedYield",l.arg===u)continue;return{value:l.arg,done:r.done}}"throw"===l.type&&(n="completed",r.method="throw",r.arg=l.arg)}}}(e,r,o),i}function c(e,t,r){try{return{type:"normal",arg:e.call(t,r)}}catch(L){return{type:"throw",arg:L}}}e.wrap=l;var u={};function d(){}function m(){}function h(){}var f={};s(f,a,(function(){return this}));var v=Object.getPrototypeOf,p=v&&v(v(N([])));p&&p!==t&&r.call(p,a)&&(f=p);var g=h.prototype=d.prototype=Object.create(f);function y(e){["next","throw","return"].forEach((function(t){s(e,t,(function(e){return this._invoke(t,e)}))}))}function b(e,t){var n;this._invoke=function(a,i){function o(){return new t((function(n,o){!function n(a,i,o,s){var l=c(e[a],e,i);if("throw"!==l.type){var u=l.arg,d=u.value;return d&&"object"==typeof d&&r.call(d,"__await")?t.resolve(d.__await).then((function(e){n("next",e,o,s)}),(function(e){n("throw",e,o,s)})):t.resolve(d).then((function(e){u.value=e,o(u)}),(function(e){return n("throw",e,o,s)}))}s(l.arg)}(a,i,n,o)}))}return n=n?n.then(o,o):o()}}function w(e,t){var r=e.iterator[t.method];if(void 0===r){if(t.delegate=null,"throw"===t.method){if(e.iterator.return&&(t.method="return",t.arg=void 0,w(e,t),"throw"===t.method))return u;t.method="throw",t.arg=new TypeError("The iterator does not provide a 'throw' method")}return u}var n=c(r,e.iterator,t.arg);if("throw"===n.type)return t.method="throw",t.arg=n.arg,t.delegate=null,u;var a=n.arg;return a?a.done?(t[e.resultName]=a.value,t.next=e.nextLoc,"return"!==t.method&&(t.method="next",t.arg=void 0),t.delegate=null,u):a:(t.method="throw",t.arg=new TypeError("iterator result is not an object"),t.delegate=null,u)}function E(e){var t={tryLoc:e[0]};1 in e&&(t.catchLoc=e[1]),2 in e&&(t.finallyLoc=e[2],t.afterLoc=e[3]),this.tryEntries.push(t)}function _(e){var t=e.completion||{};t.type="normal",delete t.arg,e.completion=t}function k(e){this.tryEntries=[{tryLoc:"root"}],e.forEach(E,this),this.reset(!0)}function N(e){if(e){var t=e[a];if(t)return t.call(e);if("function"==typeof e.next)return e;if(!isNaN(e.length)){var n=-1,i=function t(){for(;++n<e.length;)if(r.call(e,n))return t.value=e[n],t.done=!1,t;return t.value=void 0,t.done=!0,t};return i.next=i}}return{next:x}}function x(){return{value:void 0,done:!0}}return m.prototype=h,s(g,"constructor",h),s(h,"constructor",m),m.displayName=s(h,o,"GeneratorFunction"),e.isGeneratorFunction=function(e){var t="function"==typeof e&&e.constructor;return!!t&&(t===m||"GeneratorFunction"===(t.displayName||t.name))},e.mark=function(e){return Object.setPrototypeOf?Object.setPrototypeOf(e,h):(e.__proto__=h,s(e,o,"GeneratorFunction")),e.prototype=Object.create(g),e},e.awrap=function(e){return{__await:e}},y(b.prototype),s(b.prototype,i,(function(){return this})),e.AsyncIterator=b,e.async=function(t,r,n,a,i){void 0===i&&(i=Promise);var o=new b(l(t,r,n,a),i);return e.isGeneratorFunction(r)?o:o.next().then((function(e){return e.done?e.value:o.next()}))},y(g),s(g,o,"Generator"),s(g,a,(function(){return this})),s(g,"toString",(function(){return"[object Generator]"})),e.keys=function(e){var t=[];for(var r in e)t.push(r);return t.reverse(),function r(){for(;t.length;){var n=t.pop();if(n in e)return r.value=n,r.done=!1,r}return r.done=!0,r}},e.values=N,k.prototype={constructor:k,reset:function(e){if(this.prev=0,this.next=0,this.sent=this._sent=void 0,this.done=!1,this.delegate=null,this.method="next",this.arg=void 0,this.tryEntries.forEach(_),!e)for(var t in this)"t"===t.charAt(0)&&r.call(this,t)&&!isNaN(+t.slice(1))&&(this[t]=void 0)},stop:function(){this.done=!0;var e=this.tryEntries[0].completion;if("throw"===e.type)throw e.arg;return this.rval},dispatchException:function(e){if(this.done)throw e;var t=this;function n(r,n){return o.type="throw",o.arg=e,t.next=r,n&&(t.method="next",t.arg=void 0),!!n}for(var a=this.tryEntries.length-1;a>=0;--a){var i=this.tryEntries[a],o=i.completion;if("root"===i.tryLoc)return n("end");if(i.tryLoc<=this.prev){var s=r.call(i,"catchLoc"),l=r.call(i,"finallyLoc");if(s&&l){if(this.prev<i.catchLoc)return n(i.catchLoc,!0);if(this.prev<i.finallyLoc)return n(i.finallyLoc)}else if(s){if(this.prev<i.catchLoc)return n(i.catchLoc,!0)}else{if(!l)throw new Error("try statement without catch or finally");if(this.prev<i.finallyLoc)return n(i.finallyLoc)}}}},abrupt:function(e,t){for(var n=this.tryEntries.length-1;n>=0;--n){var a=this.tryEntries[n];if(a.tryLoc<=this.prev&&r.call(a,"finallyLoc")&&this.prev<a.finallyLoc){var i=a;break}}i&&("break"===e||"continue"===e)&&i.tryLoc<=t&&t<=i.finallyLoc&&(i=null);var o=i?i.completion:{};return o.type=e,o.arg=t,i?(this.method="next",this.next=i.finallyLoc,u):this.complete(o)},complete:function(e,t){if("throw"===e.type)throw e.arg;return"break"===e.type||"continue"===e.type?this.next=e.arg:"return"===e.type?(this.rval=this.arg=e.arg,this.method="return",this.next="end"):"normal"===e.type&&t&&(this.next=t),u},finish:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var r=this.tryEntries[t];if(r.finallyLoc===e)return this.complete(r.completion,r.afterLoc),_(r),u}},catch:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var r=this.tryEntries[t];if(r.tryLoc===e){var n=r.completion;if("throw"===n.type){var a=n.arg;_(r)}return a}}throw new Error("illegal catch attempt")},delegateYield:function(e,t,r){return this.delegate={iterator:N(e),resultName:t,nextLoc:r},"next"===this.method&&(this.arg=void 0),u}},e}var Rt,Jt,Ut,zt=function(e){Object(J.a)(r,e);var t=Object(U.a)(r);function r(e){var n;return Object(D.a)(this,r),(n=t.call(this,e)).trimText=function(e){return e&&e.length>200?e.slice(0,200).split(" ").slice(0,-1).join(" ")+"...":e},n.openEditPlaylistModal=function(){n.setState({show_edit_playlist_modal:!0})},n.closeEditPlaylistModal=function(){n.setState({show_edit_playlist_modal:!1})},n.viewPlaylist=function(e){n.props.history.push("/playlists/"+e.slug)},H.requireLogin(),n.state={playlists:[],selected_playlist:{},editor_state:te.EditorState.createEmpty(),show_share_playlist_modal:!1,show_edit_playlist_modal:!1,errors:{title:null,description:null}},n}return Object(R.a)(r,[{key:"componentDidMount",value:function(){var e=Object(l.a)(Dt().mark((function e(){var t,r=this;return Dt().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return window.scrollTo(0,0),e.next=3,H.getCsrfToken();case 3:return t=e.sent,e.next=6,b.a.get("".concat(p,"/training/usercontent/api/playlists?_format=json×tamp=").concat(Date.now(),"\n &playlist_request_scope=",1),{withCredentials:!0,headers:{Accept:"application/json","Content-Type":"application/json","X-CSRF-Token":t,Authorization:"Basic"}}).then((function(e){r.setState({playlists:e.data.playlists})}));case 6:case"end":return e.stop()}}),e)})));return function(){return e.apply(this,arguments)}}()},{key:"closeSharePlaylistModal",value:function(){this.setState({show_share_playlist_modal:!1})}},{key:"sharePlaylist",value:function(){var e=Object(l.a)(Dt().mark((function e(t){var r,n,a=this;return Dt().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,H.getCsrfToken();case 2:return r=e.sent,this.setState({selected_playlist:t,show_share_playlist_modal:!0}),n={playlist:t,request_scope:4},e.next=7,b.a.patch("".concat(p,"/training/usercontent/api/playlists?_format=json×tamp=").concat(Date.now()),n,{withCredentials:!0,headers:{Accept:"application/json","Content-Type":"application/json","X-CSRF-Token":r,Authorization:"Basic"}}).then((function(){a.setState({selected_playlist:t,show_share_playlist_modal:!0})}));case 7:case"end":return e.stop()}}),e,this)})));return function(t){return e.apply(this,arguments)}}()},{key:"editPlaylist",value:function(e){var t=te.EditorState.createWithContent(te.ContentState.createFromBlockArray(Object(te.convertFromHTML)(e.description||"")));this.setState({selected_playlist:e,show_edit_playlist_modal:!0,editor_state:t})}},{key:"onEditorStateChange",value:function(e){var t=this.state.selected_playlist,r=ee()(Object(te.convertToRaw)(e.getCurrentContent()));this.checkIfDescriptionContainsUnwantedHTMLTags(r)?this.setState({errors:{description:["The description cannot contain HTML tags other than the presented options on the editor"]}}):(this.setState({editor_state:e,errors:{description:[null]}}),t.description=r,this.setState({current_playlist:t}))}},{key:"checkIfDescriptionContainsUnwantedHTMLTags",value:function(e){var t=["p","br","strong","em","u","ol","ul","li","span","ins"],r=document.createElement("div");r.innerHTML=e;for(var n=r.getElementsByTagName("*"),a=0;a<n.length;a++){var i=n[a];if(!t.includes(i.tagName.toLowerCase()))return console.log("returning true",i),!0}return!1}},{key:"deletePlaylist",value:function(){var e=Object(l.a)(Dt().mark((function e(t,r){var n,a=this;return Dt().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(window.confirm("Are you sure you want to delete "+t.title+" ?")){e.next=2;break}return e.abrupt("return");case 2:return e.next=4,H.getCsrfToken();case 4:return n=e.sent,e.next=7,b.a.delete("".concat(p,"/training/usercontent/api/playlists?_format=json×tamp=").concat(Date.now(),"&id=").concat(t.id),{withCredentials:!0,headers:{Accept:"application/json","Content-Type":"application/json","X-CSRF-Token":n,Authorization:"Basic"}}).then((function(){var e=a.state.playlists;e.splice(r,1),a.setState({current_playlists:e})}));case 7:case"end":return e.stop()}}),e)})));return function(t,r){return e.apply(this,arguments)}}()},{key:"updatePlaylist",value:function(){var e=Object(l.a)(Dt().mark((function e(){var t,r,n=this;return Dt().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return t={playlist:this.state.selected_playlist,request_scope:1},e.next=3,H.getCsrfToken();case 3:return r=e.sent,e.next=6,b.a.patch("".concat(p,"/training/usercontent/api/playlists?_format=json×tamp=").concat(Date.now()),t,{withCredentials:!0,headers:{Accept:"application/json","Content-Type":"application/json","X-CSRF-Token":r,Authorization:"Basic"}}).then((function(){window.location.reload()})).catch((function(e){422===e.response.status&&n.setState({errors:e.response.data.errors})}));case 6:case"end":return e.stop()}}),e,this)})));return function(){return e.apply(this,arguments)}}()},{key:"handleChange",value:function(e){var t=this.state.selected_playlist;t[e.target.name]=e.target.value,this.setState({fields:t})}},{key:"render",value:function(){var e=this;return a.a.createElement("div",{className:"vf-body sparse-content"},a.a.createElement("div",{className:"vf-grid vf-grid__col-4"},a.a.createElement("div",{className:"vf-grid__col--span-3"},a.a.createElement(pe,{title:"My playlists"})),a.a.createElement("div",{className:"vf-grid__col--span-1"},a.a.createElement(L,null))),a.a.createElement("section",null,a.a.createElement("h1",null,"My Playlists"),a.a.createElement("p",{className:"vf-summary__text"},"To plan your own learning or share a collection for others to work though, you can create a playlist of EMBL-EBI\u2019s on-demand training. A shareable link will be created with your playlist, that can be viewed by anyone, including those without an account for the EMBL-EBI Training site. Take a look at ",a.a.createElement("a",{className:"vf-link",href:"https://www.ebi.ac.uk/training/playlists/shared/example-playlist"},"this example playlist "),"for inspiration."),a.a.createElement("table",{className:"vf-table vf-table--loose"},a.a.createElement("thead",{className:"vf-table__header"},a.a.createElement("tr",{className:"vf-table__row"},a.a.createElement("th",{className:"vf-table__heading",scope:"col-3"}," ","Title"),a.a.createElement("th",{className:"vf-table__heading",scope:"col"}," ","Description"),a.a.createElement("th",{className:"vf-table__heading",scope:"col"}," ","Created On"),a.a.createElement("th",{className:"vf-table__heading",scope:"col"}," ","Last updated"),a.a.createElement("th",{className:"vf-table__heading vf-table__heading--actions"},"Actions"))),a.a.createElement("tbody",{className:"vf-table__body"},this.state.playlists.map((function(t,r){return a.a.createElement("tr",{className:"vf-table__row",key:t.id},a.a.createElement("td",{className:"vf-table__cell clickable-col",style:{width:"27%"},onClick:function(){e.viewPlaylist(t)}},a.a.createElement("p",null,t.title)),a.a.createElement("td",{className:"vf-table__cell clickable-col",onClick:function(){e.viewPlaylist(t)}},a.a.createElement("div",{className:"vf-intro__text"},t.description?q()(e.trimText(t.description)):"")),a.a.createElement("td",{className:"vf-table__cell clickable-col",onClick:function(){e.viewPlaylist(t)}},a.a.createElement("p",null,t.created_at)),a.a.createElement("td",{className:"vf-table__cell clickable-col",onClick:function(){e.viewPlaylist(t)}},a.a.createElement("p",null,t.updated_at)),a.a.createElement("td",{className:"vf-table__cell vf-table__cell--actions"},a.a.createElement("p",null,a.a.createElement("button",{className:"vf-button vf-button--sm vf-button--icon",onClick:function(r){e.editPlaylist(t)}},"Edit"),a.a.createElement("br",null),a.a.createElement("button",{className:"vf-button vf-button--sm vf-button--icon",onClick:function(){e.deletePlaylist(t,r)}},"Delete"))))})))),a.a.createElement("div",{className:"vf-u-margin__top--600"}),a.a.createElement("a",{href:"/training/playlists/new",className:"vf-button vf-button--primary vf-button--sm"},"Create a new playlist")),a.a.createElement(K.a,{open:this.state.show_share_playlist_modal,onClose:function(){e.closeSharePlaylistModal()}},a.a.createElement("div",{className:"vf-body"},a.a.createElement("div",{className:"vf-grid"},a.a.createElement("form",{className:"vf-stack vf-stack--400"},a.a.createElement("div",{className:"vf-grid"},a.a.createElement(X,{input_label:"Public playlist URL",input_type:"text",hide_astericks:!0,input_value:"".concat(p,"/training/playlists/shared/")+this.state.selected_playlist.slug})),a.a.createElement("div",{className:"vf-grid vf-grid__col-2"},a.a.createElement("button",{className:"vf-button vf-button--primary vf-button--sm",onClick:function(){navigator.clipboard.writeText("".concat(p,"/training/playlists/shared/")+e.state.selected_playlist.slug).then((function(e){alert("copied")}))}},"Copy to clipboard")))))),a.a.createElement(K.a,{open:this.state.show_edit_playlist_modal,onClose:function(){e.closeEditPlaylistModal()}},a.a.createElement("div",{className:"vf-body"},a.a.createElement("div",{className:"vf-grid"},a.a.createElement("form",{className:"vf-stack vf-stack--400"},a.a.createElement(X,{input_label:"Title",input_name:"title",input_type:"text",input_value:this.state.selected_playlist.title,input_errors:this.state.errors.title,handleChange:function(t){e.handleChange(t)}}),a.a.createElement("label",{htmlFor:"props.input_name",className:"vf-form__label vf-form__label--required"}," ","Description"),a.a.createElement(Q.Editor,{editorStyle:{height:"400px"},editorState:this.state.editor_state,toolbar:{options:["inline","list"],inline:{options:["bold","italic","underline"]},list:{options:["unordered","ordered"]}},toolbarClassName:"toolbarClassName",wrapperClassName:"wrapperClassName",editorClassName:"vf-form__textarea",onEditorStateChange:function(t){e.onEditorStateChange(t)}}),a.a.createElement("p",{className:"vf-form__helper vf-form__helper--error"},this.state.errors.description),a.a.createElement("button",{className:"vf-button vf-button--primary",onClick:function(t){t.preventDefault(),e.updatePlaylist()}},"Save"))))))}}]),r}(a.a.Component),Ht=Object(s.j)(zt),Vt=r(16),Yt=r(85),Kt=r(103),Zt=r(104),Xt=Zt.a.div(Rt||(Rt=Object(Kt.a)(["\n border: 2.5px dotted lightgrey;\n margin-bottom: 50px;\n padding: 2px;\n"]))),Qt=function(e){Object(J.a)(r,e);var t=Object(U.a)(r);function r(){return Object(D.a)(this,r),t.apply(this,arguments)}return Object(R.a)(r,[{key:"render",value:function(){var e=this;return a.a.createElement(Yt.b,{draggableId:String(this.props.course.id),index:this.props.index},(function(t){return a.a.createElement(Xt,Object.assign({},t.draggableProps,t.dragHandleProps,{ref:t.innerRef}),a.a.createElement("div",null,a.a.createElement("div",{key:e.props.course.id,className:"vf-grid vf-grid__col-5"},a.a.createElement("div",null,a.a.createElement("img",{src:e.props.course.image?e.props.course.image:"https://acxngcvroo.cloudimg.io/v7/https://trainingcontent.embl.org/sites/default/files/online-event-images/featured%20image%20card_16.jpeg",alt:"",className:"vf-summary__image",loading:"lazy",style:{width:"150px"}})),a.a.createElement("div",{className:"vf-grid__col--span-2"},a.a.createElement("div",{className:"vf-summary vf-summary--event"},a.a.createElement("div",null,a.a.createElement("p",{className:"vf-summary__date"},"online_tutorial"===e.props.course.type?"Online tutorial":e.props.course.timeframe),a.a.createElement("h3",{className:"vf-summary__title ebi-academy-summary-title"},a.a.createElement("a",{href:"".concat(e.props.course.url),className:"vf-summary__link",target:"_blank",rel:"noopener noreferrer"},e.props.course.title)),"online_tutorial"===e.props.course.type?e.props.course.subtitle:""),a.a.createElement("div",{className:"vf-u-margin__top--600"}))),a.a.createElement("div",null,a.a.createElement("p",null,a.a.createElement("button",{className:"vf-button vf-button--secondary vf-button--sm",onClick:function(){e.props.removeCourse(e.props.course)}},"Remove"))))),a.a.createElement("br",null))}))}}]),r}(a.a.Component);function $t(){$t=function(){return e};var e={},t=Object.prototype,r=t.hasOwnProperty,n="function"==typeof Symbol?Symbol:{},a=n.iterator||"@@iterator",i=n.asyncIterator||"@@asyncIterator",o=n.toStringTag||"@@toStringTag";function s(e,t,r){return Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}),e[t]}try{s({},"")}catch(L){s=function(e,t,r){return e[t]=r}}function l(e,t,r,n){var a=t&&t.prototype instanceof d?t:d,i=Object.create(a.prototype),o=new k(n||[]);return i._invoke=function(e,t,r){var n="suspendedStart";return function(a,i){if("executing"===n)throw new Error("Generator is already running");if("completed"===n){if("throw"===a)throw i;return x()}for(r.method=a,r.arg=i;;){var o=r.delegate;if(o){var s=w(o,r);if(s){if(s===u)continue;return s}}if("next"===r.method)r.sent=r._sent=r.arg;else if("throw"===r.method){if("suspendedStart"===n)throw n="completed",r.arg;r.dispatchException(r.arg)}else"return"===r.method&&r.abrupt("return",r.arg);n="executing";var l=c(e,t,r);if("normal"===l.type){if(n=r.done?"completed":"suspendedYield",l.arg===u)continue;return{value:l.arg,done:r.done}}"throw"===l.type&&(n="completed",r.method="throw",r.arg=l.arg)}}}(e,r,o),i}function c(e,t,r){try{return{type:"normal",arg:e.call(t,r)}}catch(L){return{type:"throw",arg:L}}}e.wrap=l;var u={};function d(){}function m(){}function h(){}var f={};s(f,a,(function(){return this}));var v=Object.getPrototypeOf,p=v&&v(v(N([])));p&&p!==t&&r.call(p,a)&&(f=p);var g=h.prototype=d.prototype=Object.create(f);function y(e){["next","throw","return"].forEach((function(t){s(e,t,(function(e){return this._invoke(t,e)}))}))}function b(e,t){var n;this._invoke=function(a,i){function o(){return new t((function(n,o){!function n(a,i,o,s){var l=c(e[a],e,i);if("throw"!==l.type){var u=l.arg,d=u.value;return d&&"object"==typeof d&&r.call(d,"__await")?t.resolve(d.__await).then((function(e){n("next",e,o,s)}),(function(e){n("throw",e,o,s)})):t.resolve(d).then((function(e){u.value=e,o(u)}),(function(e){return n("throw",e,o,s)}))}s(l.arg)}(a,i,n,o)}))}return n=n?n.then(o,o):o()}}function w(e,t){var r=e.iterator[t.method];if(void 0===r){if(t.delegate=null,"throw"===t.method){if(e.iterator.return&&(t.method="return",t.arg=void 0,w(e,t),"throw"===t.method))return u;t.method="throw",t.arg=new TypeError("The iterator does not provide a 'throw' method")}return u}var n=c(r,e.iterator,t.arg);if("throw"===n.type)return t.method="throw",t.arg=n.arg,t.delegate=null,u;var a=n.arg;return a?a.done?(t[e.resultName]=a.value,t.next=e.nextLoc,"return"!==t.method&&(t.method="next",t.arg=void 0),t.delegate=null,u):a:(t.method="throw",t.arg=new TypeError("iterator result is not an object"),t.delegate=null,u)}function E(e){var t={tryLoc:e[0]};1 in e&&(t.catchLoc=e[1]),2 in e&&(t.finallyLoc=e[2],t.afterLoc=e[3]),this.tryEntries.push(t)}function _(e){var t=e.completion||{};t.type="normal",delete t.arg,e.completion=t}function k(e){this.tryEntries=[{tryLoc:"root"}],e.forEach(E,this),this.reset(!0)}function N(e){if(e){var t=e[a];if(t)return t.call(e);if("function"==typeof e.next)return e;if(!isNaN(e.length)){var n=-1,i=function t(){for(;++n<e.length;)if(r.call(e,n))return t.value=e[n],t.done=!1,t;return t.value=void 0,t.done=!0,t};return i.next=i}}return{next:x}}function x(){return{value:void 0,done:!0}}return m.prototype=h,s(g,"constructor",h),s(h,"constructor",m),m.displayName=s(h,o,"GeneratorFunction"),e.isGeneratorFunction=function(e){var t="function"==typeof e&&e.constructor;return!!t&&(t===m||"GeneratorFunction"===(t.displayName||t.name))},e.mark=function(e){return Object.setPrototypeOf?Object.setPrototypeOf(e,h):(e.__proto__=h,s(e,o,"GeneratorFunction")),e.prototype=Object.create(g),e},e.awrap=function(e){return{__await:e}},y(b.prototype),s(b.prototype,i,(function(){return this})),e.AsyncIterator=b,e.async=function(t,r,n,a,i){void 0===i&&(i=Promise);var o=new b(l(t,r,n,a),i);return e.isGeneratorFunction(r)?o:o.next().then((function(e){return e.done?e.value:o.next()}))},y(g),s(g,o,"Generator"),s(g,a,(function(){return this})),s(g,"toString",(function(){return"[object Generator]"})),e.keys=function(e){var t=[];for(var r in e)t.push(r);return t.reverse(),function r(){for(;t.length;){var n=t.pop();if(n in e)return r.value=n,r.done=!1,r}return r.done=!0,r}},e.values=N,k.prototype={constructor:k,reset:function(e){if(this.prev=0,this.next=0,this.sent=this._sent=void 0,this.done=!1,this.delegate=null,this.method="next",this.arg=void 0,this.tryEntries.forEach(_),!e)for(var t in this)"t"===t.charAt(0)&&r.call(this,t)&&!isNaN(+t.slice(1))&&(this[t]=void 0)},stop:function(){this.done=!0;var e=this.tryEntries[0].completion;if("throw"===e.type)throw e.arg;return this.rval},dispatchException:function(e){if(this.done)throw e;var t=this;function n(r,n){return o.type="throw",o.arg=e,t.next=r,n&&(t.method="next",t.arg=void 0),!!n}for(var a=this.tryEntries.length-1;a>=0;--a){var i=this.tryEntries[a],o=i.completion;if("root"===i.tryLoc)return n("end");if(i.tryLoc<=this.prev){var s=r.call(i,"catchLoc"),l=r.call(i,"finallyLoc");if(s&&l){if(this.prev<i.catchLoc)return n(i.catchLoc,!0);if(this.prev<i.finallyLoc)return n(i.finallyLoc)}else if(s){if(this.prev<i.catchLoc)return n(i.catchLoc,!0)}else{if(!l)throw new Error("try statement without catch or finally");if(this.prev<i.finallyLoc)return n(i.finallyLoc)}}}},abrupt:function(e,t){for(var n=this.tryEntries.length-1;n>=0;--n){var a=this.tryEntries[n];if(a.tryLoc<=this.prev&&r.call(a,"finallyLoc")&&this.prev<a.finallyLoc){var i=a;break}}i&&("break"===e||"continue"===e)&&i.tryLoc<=t&&t<=i.finallyLoc&&(i=null);var o=i?i.completion:{};return o.type=e,o.arg=t,i?(this.method="next",this.next=i.finallyLoc,u):this.complete(o)},complete:function(e,t){if("throw"===e.type)throw e.arg;return"break"===e.type||"continue"===e.type?this.next=e.arg:"return"===e.type?(this.rval=this.arg=e.arg,this.method="return",this.next="end"):"normal"===e.type&&t&&(this.next=t),u},finish:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var r=this.tryEntries[t];if(r.finallyLoc===e)return this.complete(r.completion,r.afterLoc),_(r),u}},catch:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var r=this.tryEntries[t];if(r.tryLoc===e){var n=r.completion;if("throw"===n.type){var a=n.arg;_(r)}return a}}throw new Error("illegal catch attempt")},delegateYield:function(e,t,r){return this.delegate={iterator:N(e),resultName:t,nextLoc:r},"next"===this.method&&(this.arg=void 0),u}},e}var er=Zt.a.div(Jt||(Jt=Object(Kt.a)([""]))),tr=Zt.a.div(Ut||(Ut=Object(Kt.a)([""]))),rr=function(e){Object(J.a)(r,e);var t=Object(U.a)(r);function r(e){var n;return Object(D.a)(this,r),(n=t.call(this,e)).state={added_courses:[]},n}return Object(R.a)(r,[{key:"componentDidMount",value:function(){this.setState({added_courses:this.props.playlist.courses})}},{key:"removeCourse",value:function(){var e=Object(l.a)($t().mark((function e(t){var r,n,a,i,o;return $t().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,H.getCsrfToken();case 2:for(r=e.sent,n=this.props.playlist.courses,a=n.findIndex((function(e){return e.id===t.id})),n.splice(a,1),i=0;i<n.length;i++)n[i].position=i+1;return this.setState({added_courses:n}),o={playlist:this.props.playlist,updated_courses_list:n,request_scope:2},e.next=11,b.a.patch("".concat(p,"/training/usercontent/api/playlists?_format=json×tamp=").concat(Date.now()),o,{withCredentials:!0,headers:{Accept:"application/json","Content-Type":"application/json","X-CSRF-Token":r,Authorization:"Basic"}});case 11:case"end":return e.stop()}}),e,this)})));return function(t){return e.apply(this,arguments)}}()},{key:"render",value:function(){var e=this;return a.a.createElement(er,null,a.a.createElement(Yt.c,{droppableId:this.props.playlist.id},(function(t){return a.a.createElement(tr,Object.assign({},t.droppableProps,{ref:t.innerRef}),e.props.playlist.courses.map((function(t,r){return a.a.createElement(Qt,{key:t.id,course:t,index:r,removeCourse:function(t){e.removeCourse(t)}})})),t.placeholder)})))}}]),r}(a.a.Component);function nr(){nr=function(){return e};var e={},t=Object.prototype,r=t.hasOwnProperty,n="function"==typeof Symbol?Symbol:{},a=n.iterator||"@@iterator",i=n.asyncIterator||"@@asyncIterator",o=n.toStringTag||"@@toStringTag";function s(e,t,r){return Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}),e[t]}try{s({},"")}catch(L){s=function(e,t,r){return e[t]=r}}function l(e,t,r,n){var a=t&&t.prototype instanceof d?t:d,i=Object.create(a.prototype),o=new k(n||[]);return i._invoke=function(e,t,r){var n="suspendedStart";return function(a,i){if("executing"===n)throw new Error("Generator is already running");if("completed"===n){if("throw"===a)throw i;return x()}for(r.method=a,r.arg=i;;){var o=r.delegate;if(o){var s=w(o,r);if(s){if(s===u)continue;return s}}if("next"===r.method)r.sent=r._sent=r.arg;else if("throw"===r.method){if("suspendedStart"===n)throw n="completed",r.arg;r.dispatchException(r.arg)}else"return"===r.method&&r.abrupt("return",r.arg);n="executing";var l=c(e,t,r);if("normal"===l.type){if(n=r.done?"completed":"suspendedYield",l.arg===u)continue;return{value:l.arg,done:r.done}}"throw"===l.type&&(n="completed",r.method="throw",r.arg=l.arg)}}}(e,r,o),i}function c(e,t,r){try{return{type:"normal",arg:e.call(t,r)}}catch(L){return{type:"throw",arg:L}}}e.wrap=l;var u={};function d(){}function m(){}function h(){}var f={};s(f,a,(function(){return this}));var v=Object.getPrototypeOf,p=v&&v(v(N([])));p&&p!==t&&r.call(p,a)&&(f=p);var g=h.prototype=d.prototype=Object.create(f);function y(e){["next","throw","return"].forEach((function(t){s(e,t,(function(e){return this._invoke(t,e)}))}))}function b(e,t){var n;this._invoke=function(a,i){function o(){return new t((function(n,o){!function n(a,i,o,s){var l=c(e[a],e,i);if("throw"!==l.type){var u=l.arg,d=u.value;return d&&"object"==typeof d&&r.call(d,"__await")?t.resolve(d.__await).then((function(e){n("next",e,o,s)}),(function(e){n("throw",e,o,s)})):t.resolve(d).then((function(e){u.value=e,o(u)}),(function(e){return n("throw",e,o,s)}))}s(l.arg)}(a,i,n,o)}))}return n=n?n.then(o,o):o()}}function w(e,t){var r=e.iterator[t.method];if(void 0===r){if(t.delegate=null,"throw"===t.method){if(e.iterator.return&&(t.method="return",t.arg=void 0,w(e,t),"throw"===t.method))return u;t.method="throw",t.arg=new TypeError("The iterator does not provide a 'throw' method")}return u}var n=c(r,e.iterator,t.arg);if("throw"===n.type)return t.method="throw",t.arg=n.arg,t.delegate=null,u;var a=n.arg;return a?a.done?(t[e.resultName]=a.value,t.next=e.nextLoc,"return"!==t.method&&(t.method="next",t.arg=void 0),t.delegate=null,u):a:(t.method="throw",t.arg=new TypeError("iterator result is not an object"),t.delegate=null,u)}function E(e){var t={tryLoc:e[0]};1 in e&&(t.catchLoc=e[1]),2 in e&&(t.finallyLoc=e[2],t.afterLoc=e[3]),this.tryEntries.push(t)}function _(e){var t=e.completion||{};t.type="normal",delete t.arg,e.completion=t}function k(e){this.tryEntries=[{tryLoc:"root"}],e.forEach(E,this),this.reset(!0)}function N(e){if(e){var t=e[a];if(t)return t.call(e);if("function"==typeof e.next)return e;if(!isNaN(e.length)){var n=-1,i=function t(){for(;++n<e.length;)if(r.call(e,n))return t.value=e[n],t.done=!1,t;return t.value=void 0,t.done=!0,t};return i.next=i}}return{next:x}}function x(){return{value:void 0,done:!0}}return m.prototype=h,s(g,"constructor",h),s(h,"constructor",m),m.displayName=s(h,o,"GeneratorFunction"),e.isGeneratorFunction=function(e){var t="function"==typeof e&&e.constructor;return!!t&&(t===m||"GeneratorFunction"===(t.displayName||t.name))},e.mark=function(e){return Object.setPrototypeOf?Object.setPrototypeOf(e,h):(e.__proto__=h,s(e,o,"GeneratorFunction")),e.prototype=Object.create(g),e},e.awrap=function(e){return{__await:e}},y(b.prototype),s(b.prototype,i,(function(){return this})),e.AsyncIterator=b,e.async=function(t,r,n,a,i){void 0===i&&(i=Promise);var o=new b(l(t,r,n,a),i);return e.isGeneratorFunction(r)?o:o.next().then((function(e){return e.done?e.value:o.next()}))},y(g),s(g,o,"Generator"),s(g,a,(function(){return this})),s(g,"toString",(function(){return"[object Generator]"})),e.keys=function(e){var t=[];for(var r in e)t.push(r);return t.reverse(),function r(){for(;t.length;){var n=t.pop();if(n in e)return r.value=n,r.done=!1,r}return r.done=!0,r}},e.values=N,k.prototype={constructor:k,reset:function(e){if(this.prev=0,this.next=0,this.sent=this._sent=void 0,this.done=!1,this.delegate=null,this.method="next",this.arg=void 0,this.tryEntries.forEach(_),!e)for(var t in this)"t"===t.charAt(0)&&r.call(this,t)&&!isNaN(+t.slice(1))&&(this[t]=void 0)},stop:function(){this.done=!0;var e=this.tryEntries[0].completion;if("throw"===e.type)throw e.arg;return this.rval},dispatchException:function(e){if(this.done)throw e;var t=this;function n(r,n){return o.type="throw",o.arg=e,t.next=r,n&&(t.method="next",t.arg=void 0),!!n}for(var a=this.tryEntries.length-1;a>=0;--a){var i=this.tryEntries[a],o=i.completion;if("root"===i.tryLoc)return n("end");if(i.tryLoc<=this.prev){var s=r.call(i,"catchLoc"),l=r.call(i,"finallyLoc");if(s&&l){if(this.prev<i.catchLoc)return n(i.catchLoc,!0);if(this.prev<i.finallyLoc)return n(i.finallyLoc)}else if(s){if(this.prev<i.catchLoc)return n(i.catchLoc,!0)}else{if(!l)throw new Error("try statement without catch or finally");if(this.prev<i.finallyLoc)return n(i.finallyLoc)}}}},abrupt:function(e,t){for(var n=this.tryEntries.length-1;n>=0;--n){var a=this.tryEntries[n];if(a.tryLoc<=this.prev&&r.call(a,"finallyLoc")&&this.prev<a.finallyLoc){var i=a;break}}i&&("break"===e||"continue"===e)&&i.tryLoc<=t&&t<=i.finallyLoc&&(i=null);var o=i?i.completion:{};return o.type=e,o.arg=t,i?(this.method="next",this.next=i.finallyLoc,u):this.complete(o)},complete:function(e,t){if("throw"===e.type)throw e.arg;return"break"===e.type||"continue"===e.type?this.next=e.arg:"return"===e.type?(this.rval=this.arg=e.arg,this.method="return",this.next="end"):"normal"===e.type&&t&&(this.next=t),u},finish:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var r=this.tryEntries[t];if(r.finallyLoc===e)return this.complete(r.completion,r.afterLoc),_(r),u}},catch:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var r=this.tryEntries[t];if(r.tryLoc===e){var n=r.completion;if("throw"===n.type){var a=n.arg;_(r)}return a}}throw new Error("illegal catch attempt")},delegateYield:function(e,t,r){return this.delegate={iterator:N(e),resultName:t,nextLoc:r},"next"===this.method&&(this.arg=void 0),u}},e}var ar=function(e){var t=e.playlist,r=Object(n.useState)(),i=Object(c.a)(r,2),o=i[0],u=i[1],d=Object(n.useState)(),m=Object(c.a)(d,2),h=m[0],f=m[1],v=Object(n.useState)([]),y=Object(c.a)(v,2),w=y[0],E=y[1],_=Object(n.useState)(),k=Object(c.a)(_,2),N=k[0],x=k[1],L=Object(n.useState)(0),O=Object(c.a)(L,2),S=O[0],T=O[1],C=Object(n.useState)(),B=Object(c.a)(C,2),I=B[0],P=B[1],F=Object(n.useState)(""),G=Object(c.a)(F,2),W=G[0],q=G[1],D=Object(n.useState)(),R=Object(c.a)(D,2),J=R[0],U=R[1],z=Object(s.g)(),H=Object(s.h)();Object(n.useEffect)((function(){try{(function(){var e=Object(l.a)(nr().mark((function e(){var t;return nr().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return t=function(){var e=Object(l.a)(nr().mark((function e(){var t,r,n,a,i,o,s,l,d,m,h,v;return nr().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return r=new URLSearchParams(H.search),n=r.get("facets")?null===(t=r.get("facets"))||void 0===t?void 0:t.split(","):"",0===(null===w||void 0===w?void 0:w.length)&&E(n),a=r.get("page")?r.get("page"):"1",x(a?parseInt(a):1),i=a?10*(parseInt(a)-1):0,T(i),z.listen((function(e,t){"POP"===t&&(setTimeout((function(){window.scrollTo(0,0)}),700),console.log("POP"))})),o=r.get("query")?r.get("query"):"",U(o),P(o),e.next=13,b.a.get("".concat(p,"/ebisearch/ws/rest/ebiweb_training_online?format=json&query=").concat(o||"domain_source:ebiweb_training_online","&start=").concat(i,"&size=10&fieldurl=true&fields=title,subtitle,description,type,training_type,url,venue,timeframe&facetcount=50&sort=").concat(o&&""!==o?"":"title"));case 13:return s=e.sent,e.next=16,b.a.get("".concat(p,"/ebisearch/ws/rest/ebiweb_training_online?format=json&query=").concat(o||"domain_source:ebiweb_training_online","&start=").concat(i,"&size=10&fieldurl=true&fields=title,subtitle,description,type,training_type,url,venue,timeframe&facetcount=50&sort=").concat(o&&""!==o?"":"title","&facets=").concat(n));case 16:return l=e.sent,e.next=19,b.a.get("".concat(p,"/api/v1/ebi-training-autocomplete-keywords?source=trainingcontenthub&domain=on-demand&_format=json"));case 19:return d=e.sent,e.next=22,Promise.all([d]);case 22:return m=e.sent,h=Object(c.a)(m,1),v=h[0],e.next=27,Y.refreshPlaylists(1);case 27:f(s.data),u(l.data),q(v);case 30:case"end":return e.stop()}}),e)})));return function(){return e.apply(this,arguments)}}(),e.next=3,t();case 3:case"end":return e.stop()}}),e)})));return function(){return e.apply(this,arguments)}})()()}catch(e){alert(e)}}),[w,z,H,N,S,J]);var V=function(){var e=Object(l.a)(nr().mark((function e(t){var r,n,a,i;return nr().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:try{(r=t.target).checked?((n=[]).push.apply(n,Object(j.a)(w||[]).concat([r.dataset.facetid+":"+r.dataset.facetlabel])),E(n),z.push("?facets=".concat(n,"&query=").concat(J))):((a=[]).push.apply(a,Object(j.a)(w||[])),i=null===a||void 0===a?void 0:a.indexOf(r.dataset.facetid+":"+r.dataset.facetlabel),a.splice(i,1),a.length>0?E(a):E([]),z.push("?facets=".concat(a,"&query=").concat(J)))}catch(o){alert(o)}case 1:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}(),K=function(){var e=Object(l.a)(nr().mark((function e(t){return nr().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:z.push("?facets="),E([]),t.preventDefault();case 3:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}(),Z=function(){var e=Object(l.a)(nr().mark((function e(t){return nr().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:t.preventDefault(),U(null===I||void 0===I?void 0:I.trim()),z.push("?query=".concat(null===I||void 0===I?void 0:I.trim(),"&domain=ebiweb_training_online"));case 3:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}();return a.a.createElement(a.a.Fragment,null,a.a.createElement("div",{className:"vf-u-margin__top--800"}),a.a.createElement("div",{className:"vf-content"},a.a.createElement("div",{className:"vf-u-margin__top--400"}),a.a.createElement("section",{className:"vf-grid"},h&&o?a.a.createElement(a.a.Fragment,null,a.a.createElement("div",null,a.a.createElement("div",{className:"vf-u-margin__top--1200"}),a.a.createElement("h3",null,"Refine"),a.a.createElement("form",{id:"filters",className:"vf-list | ebi-academy-facetGroup"},a.a.createElement(A,{click:V,allData:h,data:o,facetsFromURL:w,clear:K,domainSource:"ebiweb_training_online"}))),a.a.createElement("div",null,a.a.createElement("div",{className:"vf-u-margin__top--1200"}),a.a.createElement("div",null,a.a.createElement("section",null,a.a.createElement("div",null),a.a.createElement("div",null,a.a.createElement(g,{handleQuerySubmit:Z,handleSearch:function(e){P(e)},search:I,query:J,options:null===W||void 0===W?void 0:W.data,optionClick:function(e){P(null===e||void 0===e?void 0:e.trim()),U(null===e||void 0===e?void 0:e.trim()),z.push("?query=".concat(e.trim(),"&domain=ebiweb_training_online"))},placeholder:"Search within on-demand training"}),a.a.createElement("div",null,a.a.createElement("p",null,"Showing ",a.a.createElement("strong",null,function(){if((null===o||void 0===o?void 0:o.hitCount)&&N){var e="".concat(10*N-9," - ").concat(10*N),t="".concat(10*N-9," - ").concat(o.hitCount);return o.hitCount>=10*N?e:t}}())," "," out of ",a.a.createElement("strong",null,null===o||void 0===o?void 0:o.hitCount)," results"," ",J?"for ".concat(J):""," in on-demand training"," ")))),a.a.createElement("div",{className:"vf-u-margin__top--1200"}),a.a.createElement(he,{data:o,supportPlaylistBuilding:!0,playlist:t})),o.hitCount>10?a.a.createElement(M,{activePage:N||1,totalItemsCount:o.hitCount,handlePageChange:function(e){x(e),T(e?10*(e-1):1),z.push("?facets=".concat(w,"&page=").concat(e,"&query=").concat(J)),setTimeout((function(){window.scrollTo(0,0)}),700)}}):"")):a.a.createElement("section",{className:"vf-grid"},a.a.createElement("div",null,a.a.createElement("img",{alt:"progress",src:"progressbar.gif"}),a.a.createElement("h4",null,"Loading results..."))))),a.a.createElement("div",{className:"vf-u-margin__top--1200"}))},ir=r(331),or=r.n(ir);function sr(){sr=function(){return e};var e={},t=Object.prototype,r=t.hasOwnProperty,n="function"==typeof Symbol?Symbol:{},a=n.iterator||"@@iterator",i=n.asyncIterator||"@@asyncIterator",o=n.toStringTag||"@@toStringTag";function s(e,t,r){return Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}),e[t]}try{s({},"")}catch(L){s=function(e,t,r){return e[t]=r}}function l(e,t,r,n){var a=t&&t.prototype instanceof d?t:d,i=Object.create(a.prototype),o=new k(n||[]);return i._invoke=function(e,t,r){var n="suspendedStart";return function(a,i){if("executing"===n)throw new Error("Generator is already running");if("completed"===n){if("throw"===a)throw i;return x()}for(r.method=a,r.arg=i;;){var o=r.delegate;if(o){var s=w(o,r);if(s){if(s===u)continue;return s}}if("next"===r.method)r.sent=r._sent=r.arg;else if("throw"===r.method){if("suspendedStart"===n)throw n="completed",r.arg;r.dispatchException(r.arg)}else"return"===r.method&&r.abrupt("return",r.arg);n="executing";var l=c(e,t,r);if("normal"===l.type){if(n=r.done?"completed":"suspendedYield",l.arg===u)continue;return{value:l.arg,done:r.done}}"throw"===l.type&&(n="completed",r.method="throw",r.arg=l.arg)}}}(e,r,o),i}function c(e,t,r){try{return{type:"normal",arg:e.call(t,r)}}catch(L){return{type:"throw",arg:L}}}e.wrap=l;var u={};function d(){}function m(){}function h(){}var f={};s(f,a,(function(){return this}));var v=Object.getPrototypeOf,p=v&&v(v(N([])));p&&p!==t&&r.call(p,a)&&(f=p);var g=h.prototype=d.prototype=Object.create(f);function y(e){["next","throw","return"].forEach((function(t){s(e,t,(function(e){return this._invoke(t,e)}))}))}function b(e,t){var n;this._invoke=function(a,i){function o(){return new t((function(n,o){!function n(a,i,o,s){var l=c(e[a],e,i);if("throw"!==l.type){var u=l.arg,d=u.value;return d&&"object"==typeof d&&r.call(d,"__await")?t.resolve(d.__await).then((function(e){n("next",e,o,s)}),(function(e){n("throw",e,o,s)})):t.resolve(d).then((function(e){u.value=e,o(u)}),(function(e){return n("throw",e,o,s)}))}s(l.arg)}(a,i,n,o)}))}return n=n?n.then(o,o):o()}}function w(e,t){var r=e.iterator[t.method];if(void 0===r){if(t.delegate=null,"throw"===t.method){if(e.iterator.return&&(t.method="return",t.arg=void 0,w(e,t),"throw"===t.method))return u;t.method="throw",t.arg=new TypeError("The iterator does not provide a 'throw' method")}return u}var n=c(r,e.iterator,t.arg);if("throw"===n.type)return t.method="throw",t.arg=n.arg,t.delegate=null,u;var a=n.arg;return a?a.done?(t[e.resultName]=a.value,t.next=e.nextLoc,"return"!==t.method&&(t.method="next",t.arg=void 0),t.delegate=null,u):a:(t.method="throw",t.arg=new TypeError("iterator result is not an object"),t.delegate=null,u)}function E(e){var t={tryLoc:e[0]};1 in e&&(t.catchLoc=e[1]),2 in e&&(t.finallyLoc=e[2],t.afterLoc=e[3]),this.tryEntries.push(t)}function _(e){var t=e.completion||{};t.type="normal",delete t.arg,e.completion=t}function k(e){this.tryEntries=[{tryLoc:"root"}],e.forEach(E,this),this.reset(!0)}function N(e){if(e){var t=e[a];if(t)return t.call(e);if("function"==typeof e.next)return e;if(!isNaN(e.length)){var n=-1,i=function t(){for(;++n<e.length;)if(r.call(e,n))return t.value=e[n],t.done=!1,t;return t.value=void 0,t.done=!0,t};return i.next=i}}return{next:x}}function x(){return{value:void 0,done:!0}}return m.prototype=h,s(g,"constructor",h),s(h,"constructor",m),m.displayName=s(h,o,"GeneratorFunction"),e.isGeneratorFunction=function(e){var t="function"==typeof e&&e.constructor;return!!t&&(t===m||"GeneratorFunction"===(t.displayName||t.name))},e.mark=function(e){return Object.setPrototypeOf?Object.setPrototypeOf(e,h):(e.__proto__=h,s(e,o,"GeneratorFunction")),e.prototype=Object.create(g),e},e.awrap=function(e){return{__await:e}},y(b.prototype),s(b.prototype,i,(function(){return this})),e.AsyncIterator=b,e.async=function(t,r,n,a,i){void 0===i&&(i=Promise);var o=new b(l(t,r,n,a),i);return e.isGeneratorFunction(r)?o:o.next().then((function(e){return e.done?e.value:o.next()}))},y(g),s(g,o,"Generator"),s(g,a,(function(){return this})),s(g,"toString",(function(){return"[object Generator]"})),e.keys=function(e){var t=[];for(var r in e)t.push(r);return t.reverse(),function r(){for(;t.length;){var n=t.pop();if(n in e)return r.value=n,r.done=!1,r}return r.done=!0,r}},e.values=N,k.prototype={constructor:k,reset:function(e){if(this.prev=0,this.next=0,this.sent=this._sent=void 0,this.done=!1,this.delegate=null,this.method="next",this.arg=void 0,this.tryEntries.forEach(_),!e)for(var t in this)"t"===t.charAt(0)&&r.call(this,t)&&!isNaN(+t.slice(1))&&(this[t]=void 0)},stop:function(){this.done=!0;var e=this.tryEntries[0].completion;if("throw"===e.type)throw e.arg;return this.rval},dispatchException:function(e){if(this.done)throw e;var t=this;function n(r,n){return o.type="throw",o.arg=e,t.next=r,n&&(t.method="next",t.arg=void 0),!!n}for(var a=this.tryEntries.length-1;a>=0;--a){var i=this.tryEntries[a],o=i.completion;if("root"===i.tryLoc)return n("end");if(i.tryLoc<=this.prev){var s=r.call(i,"catchLoc"),l=r.call(i,"finallyLoc");if(s&&l){if(this.prev<i.catchLoc)return n(i.catchLoc,!0);if(this.prev<i.finallyLoc)return n(i.finallyLoc)}else if(s){if(this.prev<i.catchLoc)return n(i.catchLoc,!0)}else{if(!l)throw new Error("try statement without catch or finally");if(this.prev<i.finallyLoc)return n(i.finallyLoc)}}}},abrupt:function(e,t){for(var n=this.tryEntries.length-1;n>=0;--n){var a=this.tryEntries[n];if(a.tryLoc<=this.prev&&r.call(a,"finallyLoc")&&this.prev<a.finallyLoc){var i=a;break}}i&&("break"===e||"continue"===e)&&i.tryLoc<=t&&t<=i.finallyLoc&&(i=null);var o=i?i.completion:{};return o.type=e,o.arg=t,i?(this.method="next",this.next=i.finallyLoc,u):this.complete(o)},complete:function(e,t){if("throw"===e.type)throw e.arg;return"break"===e.type||"continue"===e.type?this.next=e.arg:"return"===e.type?(this.rval=this.arg=e.arg,this.method="return",this.next="end"):"normal"===e.type&&t&&(this.next=t),u},finish:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var r=this.tryEntries[t];if(r.finallyLoc===e)return this.complete(r.completion,r.afterLoc),_(r),u}},catch:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var r=this.tryEntries[t];if(r.tryLoc===e){var n=r.completion;if("throw"===n.type){var a=n.arg;_(r)}return a}}throw new Error("illegal catch attempt")},delegateYield:function(e,t,r){return this.delegate={iterator:N(e),resultName:t,nextLoc:r},"next"===this.method&&(this.arg=void 0),u}},e}var lr=function(e){Object(J.a)(r,e);var t=Object(U.a)(r);function r(e){var n;return Object(D.a)(this,r),(n=t.call(this,e)).onDragEnd=function(){var e=Object(l.a)(sr().mark((function e(t){var r,a,i,o,s,l,c,u;return sr().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,H.getCsrfToken();case 2:if(r=e.sent,a=t.destination,i=t.source,o=t.draggableId,a){e.next=6;break}return e.abrupt("return");case 6:if(a.droppableId!==i.droppableId||a.index!==i.index){e.next=8;break}return e.abrupt("return");case 8:return(s=Array.from(n.state.playlist.courses)).splice(i.index,1),l=n.state.playlist.courses.find((function(e){return e.id===o})),s.splice(a.index,0,l),Object(Vt.a)({},n.state.playlist).courses=s,(c=n.state.playlist).courses=s,n.setState({fields:c}),u={playlist:n.state.playlist,request_scope:3},e.next=20,b.a.patch("".concat(p,"/training/usercontent/api/playlists?_format=json×tamp=").concat(Date.now()),u,{withCredentials:!0,headers:{Accept:"application/json","Content-Type":"application/json","X-CSRF-Token":r,Authorization:"Basic"}});case 20:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}(),n.openCoursesModal=function(e){e.preventDefault(),n.setState({show_courses_modal:!0})},n.closeCoursesModal=function(){window.location.reload()},n.state={playlist:{slug:n.props.match.params.slug,title:null,description:null,created_at:null,updated_at:null,courses:[],showBanner:!1},show_courses_modal:!1,show_share_playlist_modal:!1,show_copy_url_modal:!1},n}return Object(R.a)(r,[{key:"closeSharePlaylistModal",value:function(){this.setState({show_share_playlist_modal:!1})}},{key:"closeCopyURLModal",value:function(){this.setState({show_copy_url_modal:!1})}},{key:"sharePlaylist",value:function(){var e=Object(l.a)(sr().mark((function e(){var t,r,n=this;return sr().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,H.getCsrfToken();case 2:return t=e.sent,r={playlist:this.state.playlist,request_scope:4},e.next=6,b.a.patch("".concat(p,"/training/usercontent/api/playlists?_format=json×tamp=").concat(Date.now()),r,{withCredentials:!0,headers:{Accept:"application/json","Content-Type":"application/json","X-CSRF-Token":t,Authorization:"Basic"}}).then((function(){n.getPlaylist(),n.setState({show_share_playlist_modal:!1})}));case 6:case"end":return e.stop()}}),e,this)})));return function(){return e.apply(this,arguments)}}()},{key:"componentDidMount",value:function(){window.scrollTo(0,0),this.getPlaylist()}},{key:"getPlaylist",value:function(){var e=Object(l.a)(sr().mark((function e(){var t,r=this;return sr().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,H.getCsrfToken();case 2:return t=e.sent,e.next=5,b.a.get("".concat(p,"/training/usercontent/api/playlists?_format=json×tamp=").concat(Date.now(),"&slug=").concat(this.props.match.params.slug,"&playlist_request_scope=",2),{withCredentials:!0,headers:{Accept:"application/json","Content-Type":"application/json","X-CSRF-Token":t,Authorization:"Basic"}}).then((function(e){r.setState({playlist:e.data.playlists[0]})}));case 5:case"end":return e.stop()}}),e,this)})));return function(){return e.apply(this,arguments)}}()},{key:"sanitizedData",value:function(){return or.a.sanitize(this.state.playlist.description)}},{key:"render",value:function(){var e=this;return void 0===this.state.playlist?a.a.createElement("div",{className:"vf-grid"},a.a.createElement("div",null),a.a.createElement("div",{style:{minHeight:"300px"}},a.a.createElement("div",{className:"vf-grid vf-grid__col-4"},a.a.createElement("div",{className:"vf-grid__col--span-3"},a.a.createElement(pe,{title:"Playlists",breadcrumSectionTitle:"",breadcrumSectionURL:""})),a.a.createElement("div",{className:"vf-grid__col--span-1"},a.a.createElement(L,null))),a.a.createElement("h3",null,"Something is wrong!"),a.a.createElement("p",null,"If you are looking for a playlist please ask the creator to create a shareable link for the playlist."),a.a.createElement("p",null,"If you are the playlist creator please ",a.a.createElement("a",{href:"/training/user/login",className:"vf-link"},"login ")," and use the Share button on the playlist to generate a shareable link.")),a.a.createElement("div",null)):a.a.createElement(a.a.Fragment,null,a.a.createElement("div",{className:"vf-grid vf-grid__col-4"},a.a.createElement("div",{className:"vf-grid__col--span-3"},a.a.createElement(pe,{title:"My playlists",breadcrumSectionTitle:this.state.playlist.title,breadcrumSectionURL:"/training/playlists"})),a.a.createElement("div",{className:"vf-grid__col--span-1"},a.a.createElement(L,null))),a.a.createElement("section",{className:"vf-body sparse-content"},a.a.createElement("section",{className:"vf-intro"},a.a.createElement("div",null),a.a.createElement("div",{className:"vf-stack"},a.a.createElement("h1",{className:"vf-intro__heading "},this.state.playlist.title),a.a.createElement("div",{className:"vf-grid"},a.a.createElement("div",null,"Created on: ",this.state.playlist.created_at),a.a.createElement("div",null,"Last updated: ",this.state.playlist.updated_at)),"1"===this.state.playlist.shared?a.a.createElement("div",null,a.a.createElement("article",{className:"vf-summary"},a.a.createElement("h3",{className:"vf-summary__title findmore_title"},"Share this playlist:"),a.a.createElement("div",{"data-vf-google-analytics-region":"playllistsocialicons"},a.a.createElement("svg",{"aria-hidden":"true",display:"none",className:"vf-icon-collection vf-icon-collection--social"},a.a.createElement("defs",null,a.a.createElement("g",{id:"vf-social--linkedin"},a.a.createElement("rect",{xmlns:"http://www.w3.org/2000/svg",width:"5",height:"14",x:"2",y:"8.5",rx:".5",ry:".5"}),a.a.createElement("ellipse",{xmlns:"http://www.w3.org/2000/svg",cx:"4.48",cy:"4",rx:"2.48",ry:"2.5"}),a.a.createElement("path",{xmlns:"http://www.w3.org/2000/svg",d:"M18.5,22.5h3A.5.5,0,0,0,22,22V13.6C22,9.83,19.87,8,16.89,8a4.21,4.21,0,0,0-3.17,1.27A.41.41,0,0,1,13,9a.5.5,0,0,0-.5-.5h-3A.5.5,0,0,0,9,9V22a.5.5,0,0,0,.5.5h3A.5.5,0,0,0,13,22V14.5a2.5,2.5,0,0,1,5,0V22A.5.5,0,0,0,18.5,22.5Z"})),a.a.createElement("g",{id:"vf-social--facebook"},a.a.createElement("path",{xmlns:"http://www.w3.org/2000/svg",d:"m18.14 7.17a.5.5 0 0 0 -.37-.17h-3.77v-1.41c0-.28.06-.6.51-.6h3a.44.44 0 0 0 .35-.15.5.5 0 0 0 .14-.34v-4a.5.5 0 0 0 -.5-.5h-4.33c-4.8 0-5.17 4.1-5.17 5.35v1.65h-2.5a.5.5 0 0 0 -.5.5v4a.5.5 0 0 0 .5.5h2.5v11.5a.5.5 0 0 0 .5.5h5a.5.5 0 0 0 .5-.5v-11.5h3.35a.5.5 0 0 0 .5-.45l.42-4a.5.5 0 0 0 -.13-.38z"})),a.a.createElement("g",{id:"vf-social--twitter"},a.a.createElement("path",{d:"M18.244 2.25h3.308l-7.227 8.26 8.502 11.24H16.17l-5.214-6.817L4.99 21.75H1.68l7.73-8.835L1.254 2.25H8.08l4.713 6.231zm-1.161 17.52h1.833L7.084 4.126H5.117z"})),a.a.createElement("g",{id:"vf-social--youtube"},a.a.createElement("path",{xmlns:"http://www.w3.org/2000/svg",d:"M20.06,3.5H3.94A3.94,3.94,0,0,0,0,7.44v9.12A3.94,3.94,0,0,0,3.94,20.5H20.06A3.94,3.94,0,0,0,24,16.56V7.44A3.94,3.94,0,0,0,20.06,3.5ZM16.54,12,9.77,16.36A.5.5,0,0,1,9,15.94V7.28a.5.5,0,0,1,.77-.42l6.77,4.33a.5.5,0,0,1,0,.84Z"})),a.a.createElement("g",{id:"vf-social--instagram"},a.a.createElement("path",{xmlns:"http://www.w3.org/2000/svg",d:"M17.5,0H6.5A6.51,6.51,0,0,0,0,6.5v11A6.51,6.51,0,0,0,6.5,24h11A6.51,6.51,0,0,0,24,17.5V6.5A6.51,6.51,0,0,0,17.5,0ZM12,17.5A5.5,5.5,0,1,1,17.5,12,5.5,5.5,0,0,1,12,17.5Zm6.5-11A1.5,1.5,0,1,1,20,5,1.5,1.5,0,0,1,18.5,6.5Z"})))),a.a.createElement("div",{className:"vf-social-links"},a.a.createElement("button",{className:"vf-button vf-button--primary vf-button--sm",onClick:function(){navigator.clipboard.writeText("".concat(p,"/training/playlists/shared/")+e.state.playlist.slug).then((function(t){e.setState({showBanner:!0})}))}},"Copy shareable link"),this.state.showBanner?a.a.createElement("div",{id:"banner",className:"vf-banner vf-banner--alert vf-banner--info"},a.a.createElement("div",{className:"vf-banner__content"},a.a.createElement("p",{className:"vf-banner__text"},"Link copied to clipboard"),a.a.createElement("button",{"aria-label":"close notification banner",className:"vf-button vf-button--icon vf-button--dismiss | vf-banner__button",onClick:function(){return e.setState({showBanner:!1})}},a.a.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24"},a.a.createElement("title",null,"dismiss banner"),a.a.createElement("path",{d:"M14.3,12.179a.25.25,0,0,1,0-.354l9.263-9.262A1.5,1.5,0,0,0,21.439.442L12.177,9.7a.25.25,0,0,1-.354,0L2.561.442A1.5,1.5,0,0,0,.439,2.563L9.7,11.825a.25.25,0,0,1,0,.354L.439,21.442a1.5,1.5,0,0,0,2.122,2.121L11.823,14.3a.25.25,0,0,1,.354,0l9.262,9.263a1.5,1.5,0,0,0,2.122-2.121Z"}))))):"",a.a.createElement("ul",{className:"vf-social-links__list"},a.a.createElement("li",{className:"vf-social-links__item"},a.a.createElement("a",{target:"_blank",rel:"noopener noreferrer",id:"whatsapp-share",className:"vf-social-links__link",href:"https://api.whatsapp.com/send?text=Check out my playlist of @ebitraining bioinformatics on-demand training ".concat(p,"/training/playlists/shared/").concat(this.state.playlist.slug)},a.a.createElement("span",{className:"vf-u-sr-only"},"whatsapp"),a.a.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",width:"24",height:"24",viewBox:"0 0 24 24",fill:"white"},a.a.createElement("path",{d:"M.057 24l1.687-6.163c-1.041-1.804-1.588-3.849-1.587-5.946.003-6.556 5.338-11.891 11.893-11.891 3.181.001 6.167 1.24 8.413 3.488 2.245 2.248 3.481 5.236 3.48 8.414-.003 6.557-5.338 11.892-11.893 11.892-1.99-.001-3.951-.5-5.688-1.448l-6.305 1.654zm6.597-3.807c1.676.995 3.276 1.591 5.392 1.592 5.448 0 9.886-4.434 9.889-9.885.002-5.462-4.415-9.89-9.881-9.892-5.452 0-9.887 4.434-9.889 9.884-.001 2.225.651 3.891 1.746 5.634l-.999 3.648 3.742-.981zm11.387-5.464c-.074-.124-.272-.198-.57-.347-.297-.149-1.758-.868-2.031-.967-.272-.099-.47-.149-.669.149-.198.297-.768.967-.941 1.165-.173.198-.347.223-.644.074-.297-.149-1.255-.462-2.39-1.475-.883-.788-1.48-1.761-1.653-2.059-.173-.297-.018-.458.13-.606.134-.133.297-.347.446-.521.151-.172.2-.296.3-.495.099-.198.05-.372-.025-.521-.075-.148-.669-1.611-.916-2.206-.242-.579-.487-.501-.669-.51l-.57-.01c-.198 0-.52.074-.792.372s-1.04 1.016-1.04 2.479 1.065 2.876 1.213 3.074c.149.198 2.095 3.2 5.076 4.487.709.306 1.263.489 1.694.626.712.226 1.36.194 1.872.118.571-.085 1.758-.719 2.006-1.413.248-.695.248-1.29.173-1.414z"})))),a.a.createElement("li",{className:"vf-social-links__item"},a.a.createElement("a",{target:"_blank",rel:"noopener noreferrer",id:"twitter-share",className:"vf-social-links__link",href:"https://twitter.com/intent/tweet?text=Check out my playlist of @ebitraining bioinformatics on-demand training&url=".concat(p,"/training/playlists/shared/").concat(this.state.playlist.slug)},a.a.createElement("span",{className:"vf-u-sr-only"},"twitter"),a.a.createElement("svg",{"aria-hidden":"true",className:"vf-icon vf-icon--social vf-icon--twitter",width:"24",height:"24",viewBox:"0 0 24 24",xmlns:"http://www.w3.org/2000/svg",version:"1.1",preserveAspectRatio:"xMinYMin"},a.a.createElement("use",{xlinkHref:"#vf-social--twitter"})))),a.a.createElement("li",{className:"vf-social-links__item"},a.a.createElement("a",{target:"_blank",rel:"noopener noreferrer",id:"facebook-share",className:"vf-social-links__link",href:"https://www.facebook.com/sharer/sharer.php?u=".concat(p,"/training/playlists/shared/").concat(this.state.playlist.slug)},a.a.createElement("span",{className:"vf-u-sr-only"},"facebook"),a.a.createElement("svg",{"aria-hidden":"true",className:"vf-icon vf-icon--social vf-icon--facebook",width:"24",height:"24",viewBox:"0 0 24 24",xmlns:"http://www.w3.org/2000/svg",version:"1.1",preserveAspectRatio:"xMinYMin"},a.a.createElement("use",{xlinkHref:"#vf-social--facebook"})))),a.a.createElement("li",{className:"vf-social-links__item"},a.a.createElement("a",{target:"_blank",rel:"noopener noreferrer",id:"linkedin-share",className:"vf-social-links__link",href:"https://www.linkedin.com/sharing/share-offsite/?url=".concat(p,"/training/playlists/shared/").concat(this.state.playlist.slug)},a.a.createElement("span",{className:"vf-u-sr-only"},"linkedin"),a.a.createElement("svg",{"aria-hidden":"true",className:"vf-icon vf-icon--social vf-icon--linkedin",width:"24",height:"24",viewBox:"0 0 24 24",xmlns:"http://www.w3.org/2000/svg",version:"1.1",preserveAspectRatio:"xMinYMin"},a.a.createElement("use",{xlinkHref:"#vf-social--linkedin"}))))))))):a.a.createElement("button",{className:"vf-button vf-button--primary vf-button--sm",onClick:function(){e.setState({show_share_playlist_modal:!0})}},"Share"))),a.a.createElement("section",{className:"embl-grid"},a.a.createElement("div",{className:"vf-section-header"},a.a.createElement("h3",{className:"vf-section-header__heading",id:"interviews"},"Description")),a.a.createElement("div",{className:"vf-content"},a.a.createElement("div",{className:"vf-intro__text",dangerouslySetInnerHTML:{__html:this.sanitizedData()}}))),a.a.createElement("section",{className:"embl-grid"},a.a.createElement("div",{className:"vf-section-header"},a.a.createElement("h3",{className:"vf-section-header__heading",id:"application"},"Courses"),a.a.createElement("p",null,"You can drag and drop to reorder courses")),a.a.createElement("div",{className:"vf-content"},a.a.createElement("hr",null),a.a.createElement(Yt.a,{onDragEnd:this.onDragEnd},a.a.createElement(rr,{playlist:this.state.playlist})),a.a.createElement("a",{href:"/training/on-demand",className:"vf-button vf-button--primary vf-button--sm"},"Add on-demand training")))),a.a.createElement(K.b,{open:this.state.show_courses_modal,onClose:this.closeCoursesModal},a.a.createElement("h2",null,"Select the courses you want to include in this playlist"),a.a.createElement(ar,{playlist:this.state.playlist})),a.a.createElement(K.b,{open:this.state.show_share_playlist_modal,onClose:function(){e.closeSharePlaylistModal()}},a.a.createElement("div",{className:"vf-body"},a.a.createElement("div",{className:"vf-content"},a.a.createElement("h2",null,"Do you want to share this playlist?"),a.a.createElement("p",null,"Sharing the playlist will make it public for anyone who is given the link."),a.a.createElement("button",{style:{background:"white",color:"white",border:"none",position:"absolute"}}),a.a.createElement("button",{className:"vf-button vf-button--primary vf-button--sm",onClick:function(){return e.sharePlaylist()}},"Yes"),a.a.createElement("button",{className:"vf-button vf-button--secondary vf-button--sm",onClick:function(){return e.setState({show_share_playlist_modal:!1})}},"No")))),a.a.createElement(K.b,{open:this.state.show_copy_url_modal,onClose:function(){e.closeCopyURLModal()}},a.a.createElement("div",{className:"vf-body"},a.a.createElement("div",{className:"vf-grid"},a.a.createElement("form",{className:"vf-stack vf-stack--400"},a.a.createElement("h3",null,"Copy this link to share the playlist."),a.a.createElement("div",{className:"vf-grid"},a.a.createElement(X,{input_label:"Public playlist URL",input_type:"text",hide_astericks:!0,input_value:"".concat(p,"/training/playlists/shared/")+this.state.playlist.slug})),a.a.createElement("div",{className:"vf-grid vf-grid__col-2"},a.a.createElement("button",{className:"vf-button vf-button--primary vf-button--sm",onClick:function(){navigator.clipboard.writeText("".concat(p,"/training/playlists/shared/")+e.state.playlist.slug).then((function(e){}))}},"Copy to clipboard")))))))}}]),r}(a.a.Component);function cr(){cr=function(){return e};var e={},t=Object.prototype,r=t.hasOwnProperty,n="function"==typeof Symbol?Symbol:{},a=n.iterator||"@@iterator",i=n.asyncIterator||"@@asyncIterator",o=n.toStringTag||"@@toStringTag";function s(e,t,r){return Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}),e[t]}try{s({},"")}catch(L){s=function(e,t,r){return e[t]=r}}function l(e,t,r,n){var a=t&&t.prototype instanceof d?t:d,i=Object.create(a.prototype),o=new k(n||[]);return i._invoke=function(e,t,r){var n="suspendedStart";return function(a,i){if("executing"===n)throw new Error("Generator is already running");if("completed"===n){if("throw"===a)throw i;return x()}for(r.method=a,r.arg=i;;){var o=r.delegate;if(o){var s=w(o,r);if(s){if(s===u)continue;return s}}if("next"===r.method)r.sent=r._sent=r.arg;else if("throw"===r.method){if("suspendedStart"===n)throw n="completed",r.arg;r.dispatchException(r.arg)}else"return"===r.method&&r.abrupt("return",r.arg);n="executing";var l=c(e,t,r);if("normal"===l.type){if(n=r.done?"completed":"suspendedYield",l.arg===u)continue;return{value:l.arg,done:r.done}}"throw"===l.type&&(n="completed",r.method="throw",r.arg=l.arg)}}}(e,r,o),i}function c(e,t,r){try{return{type:"normal",arg:e.call(t,r)}}catch(L){return{type:"throw",arg:L}}}e.wrap=l;var u={};function d(){}function m(){}function h(){}var f={};s(f,a,(function(){return this}));var v=Object.getPrototypeOf,p=v&&v(v(N([])));p&&p!==t&&r.call(p,a)&&(f=p);var g=h.prototype=d.prototype=Object.create(f);function y(e){["next","throw","return"].forEach((function(t){s(e,t,(function(e){return this._invoke(t,e)}))}))}function b(e,t){var n;this._invoke=function(a,i){function o(){return new t((function(n,o){!function n(a,i,o,s){var l=c(e[a],e,i);if("throw"!==l.type){var u=l.arg,d=u.value;return d&&"object"==typeof d&&r.call(d,"__await")?t.resolve(d.__await).then((function(e){n("next",e,o,s)}),(function(e){n("throw",e,o,s)})):t.resolve(d).then((function(e){u.value=e,o(u)}),(function(e){return n("throw",e,o,s)}))}s(l.arg)}(a,i,n,o)}))}return n=n?n.then(o,o):o()}}function w(e,t){var r=e.iterator[t.method];if(void 0===r){if(t.delegate=null,"throw"===t.method){if(e.iterator.return&&(t.method="return",t.arg=void 0,w(e,t),"throw"===t.method))return u;t.method="throw",t.arg=new TypeError("The iterator does not provide a 'throw' method")}return u}var n=c(r,e.iterator,t.arg);if("throw"===n.type)return t.method="throw",t.arg=n.arg,t.delegate=null,u;var a=n.arg;return a?a.done?(t[e.resultName]=a.value,t.next=e.nextLoc,"return"!==t.method&&(t.method="next",t.arg=void 0),t.delegate=null,u):a:(t.method="throw",t.arg=new TypeError("iterator result is not an object"),t.delegate=null,u)}function E(e){var t={tryLoc:e[0]};1 in e&&(t.catchLoc=e[1]),2 in e&&(t.finallyLoc=e[2],t.afterLoc=e[3]),this.tryEntries.push(t)}function _(e){var t=e.completion||{};t.type="normal",delete t.arg,e.completion=t}function k(e){this.tryEntries=[{tryLoc:"root"}],e.forEach(E,this),this.reset(!0)}function N(e){if(e){var t=e[a];if(t)return t.call(e);if("function"==typeof e.next)return e;if(!isNaN(e.length)){var n=-1,i=function t(){for(;++n<e.length;)if(r.call(e,n))return t.value=e[n],t.done=!1,t;return t.value=void 0,t.done=!0,t};return i.next=i}}return{next:x}}function x(){return{value:void 0,done:!0}}return m.prototype=h,s(g,"constructor",h),s(h,"constructor",m),m.displayName=s(h,o,"GeneratorFunction"),e.isGeneratorFunction=function(e){var t="function"==typeof e&&e.constructor;return!!t&&(t===m||"GeneratorFunction"===(t.displayName||t.name))},e.mark=function(e){return Object.setPrototypeOf?Object.setPrototypeOf(e,h):(e.__proto__=h,s(e,o,"GeneratorFunction")),e.prototype=Object.create(g),e},e.awrap=function(e){return{__await:e}},y(b.prototype),s(b.prototype,i,(function(){return this})),e.AsyncIterator=b,e.async=function(t,r,n,a,i){void 0===i&&(i=Promise);var o=new b(l(t,r,n,a),i);return e.isGeneratorFunction(r)?o:o.next().then((function(e){return e.done?e.value:o.next()}))},y(g),s(g,o,"Generator"),s(g,a,(function(){return this})),s(g,"toString",(function(){return"[object Generator]"})),e.keys=function(e){var t=[];for(var r in e)t.push(r);return t.reverse(),function r(){for(;t.length;){var n=t.pop();if(n in e)return r.value=n,r.done=!1,r}return r.done=!0,r}},e.values=N,k.prototype={constructor:k,reset:function(e){if(this.prev=0,this.next=0,this.sent=this._sent=void 0,this.done=!1,this.delegate=null,this.method="next",this.arg=void 0,this.tryEntries.forEach(_),!e)for(var t in this)"t"===t.charAt(0)&&r.call(this,t)&&!isNaN(+t.slice(1))&&(this[t]=void 0)},stop:function(){this.done=!0;var e=this.tryEntries[0].completion;if("throw"===e.type)throw e.arg;return this.rval},dispatchException:function(e){if(this.done)throw e;var t=this;function n(r,n){return o.type="throw",o.arg=e,t.next=r,n&&(t.method="next",t.arg=void 0),!!n}for(var a=this.tryEntries.length-1;a>=0;--a){var i=this.tryEntries[a],o=i.completion;if("root"===i.tryLoc)return n("end");if(i.tryLoc<=this.prev){var s=r.call(i,"catchLoc"),l=r.call(i,"finallyLoc");if(s&&l){if(this.prev<i.catchLoc)return n(i.catchLoc,!0);if(this.prev<i.finallyLoc)return n(i.finallyLoc)}else if(s){if(this.prev<i.catchLoc)return n(i.catchLoc,!0)}else{if(!l)throw new Error("try statement without catch or finally");if(this.prev<i.finallyLoc)return n(i.finallyLoc)}}}},abrupt:function(e,t){for(var n=this.tryEntries.length-1;n>=0;--n){var a=this.tryEntries[n];if(a.tryLoc<=this.prev&&r.call(a,"finallyLoc")&&this.prev<a.finallyLoc){var i=a;break}}i&&("break"===e||"continue"===e)&&i.tryLoc<=t&&t<=i.finallyLoc&&(i=null);var o=i?i.completion:{};return o.type=e,o.arg=t,i?(this.method="next",this.next=i.finallyLoc,u):this.complete(o)},complete:function(e,t){if("throw"===e.type)throw e.arg;return"break"===e.type||"continue"===e.type?this.next=e.arg:"return"===e.type?(this.rval=this.arg=e.arg,this.method="return",this.next="end"):"normal"===e.type&&t&&(this.next=t),u},finish:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var r=this.tryEntries[t];if(r.finallyLoc===e)return this.complete(r.completion,r.afterLoc),_(r),u}},catch:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var r=this.tryEntries[t];if(r.tryLoc===e){var n=r.completion;if("throw"===n.type){var a=n.arg;_(r)}return a}}throw new Error("illegal catch attempt")},delegateYield:function(e,t,r){return this.delegate={iterator:N(e),resultName:t,nextLoc:r},"next"===this.method&&(this.arg=void 0),u}},e}var ur=function(e){Object(J.a)(r,e);var t=Object(U.a)(r);function r(e){var n;return Object(D.a)(this,r),(n=t.call(this,e)).state={playlist:{id:n.props.match.params.slug,title:null,description:null,created_at:null,updated_at:null,courses:[]}},n}return Object(R.a)(r,[{key:"componentDidMount",value:function(){var e=Object(l.a)(cr().mark((function e(){var t,r=this;return cr().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,H.getCsrfToken();case 2:return t=e.sent,e.next=5,b.a.get("".concat(p,"/training/usercontent/api/playlists?_format=json×tamp=").concat(Date.now(),"&slug=").concat(this.props.match.params.slug,"&playlist_request_scope=",3),{withCredentials:!0,headers:{Accept:"application/json","Content-Type":"application/json","X-CSRF-Token":t,Authorization:"Basic"}}).then((function(e){r.setState({playlist:e.data.playlists[0]})}));case 5:case"end":return e.stop()}}),e,this)})));return function(){return e.apply(this,arguments)}}()},{key:"render",value:function(){return a.a.createElement(a.a.Fragment,null,a.a.createElement("div",{className:"vf-grid vf-grid__col-4"},a.a.createElement("div",{className:"vf-grid__col--span-3"},a.a.createElement(pe,{title:this.state.playlist.title})),a.a.createElement("div",{className:"vf-grid__col--span-1"},a.a.createElement(L,null))),a.a.createElement("section",{className:"vf-body sparse-content"},a.a.createElement("section",{className:"vf-intro"},a.a.createElement("div",null),a.a.createElement("div",{className:"vf-stack"},a.a.createElement("h1",{className:"vf-intro__heading "},this.state.playlist.title),a.a.createElement("p",null,"Created on ",this.state.playlist.created_at),a.a.createElement("p",null,"Last updated: ",this.state.playlist.updated_at))),a.a.createElement("section",{className:"embl-grid"},a.a.createElement("div",{className:"vf-section-header"},a.a.createElement("h3",{className:"vf-section-header__heading",id:"interviews"},"Description")),a.a.createElement("div",{className:"vf-content"},a.a.createElement("div",{className:"vf-intro__text",dangerouslySetInnerHTML:{__html:this.state.playlist.description}}))),a.a.createElement("section",{className:"embl-grid"},a.a.createElement("div",{className:"vf-section-header"},a.a.createElement("h3",{className:"vf-section-header__heading",id:"application"},"Courses")),a.a.createElement("div",{className:"vf-content"},this.state.playlist.courses.map((function(e){return a.a.createElement(a.a.Fragment,null,a.a.createElement("div",{key:e.id,className:"vf-grid vf-grid__col-5 vf-u-margin__bottom--600"},a.a.createElement("div",null,a.a.createElement("img",{src:e.image?e.image:"https://acxngcvroo.cloudimg.io/v7/https://trainingcontent.embl.org/sites/default/files/online-event-images/featured%20image%20card_16.jpeg",alt:"",className:"vf-summary__image",loading:"lazy",style:{width:"150px"}})),a.a.createElement("div",{className:"vf-grid__col--span-2"},a.a.createElement("div",{className:"vf-summary vf-summary--event"},a.a.createElement("div",null,a.a.createElement("p",{className:"vf-summary__date"},"online_tutorial"===e.type?"Online tutorial":e.timeframe),a.a.createElement("h3",{className:"vf-summary__title ebi-academy-summary-title"},a.a.createElement("a",{href:"".concat(e.url),className:"vf-summary__link",target:"_blank",rel:"noopener noreferrer"},e.title)),"online_tutorial"===e.type?e.subtitle:""),a.a.createElement("div",{className:"vf-u-margin__top--600"})))),a.a.createElement("br",null))}))))))}}]),r}(a.a.Component),dr=function(e){Object(J.a)(r,e);var t=Object(U.a)(r);function r(e){var n;return Object(D.a)(this,r),(n=t.call(this,e)).state={playlist:{id:n.props.match.params.slug,userid:n.props.match.params.userid,title:null,description:null,created_at:null,updated_at:null,courses:[]}},n}return Object(R.a)(r,[{key:"componentDidMount",value:function(){var e=this;b.a.get("".concat(p,"/training/usercontent/api/playlists?_format=json×tamp=").concat(Date.now(),"&slug=").concat(this.props.match.params.slug,"&playlist_request_scope=",4,"&user_id=").concat(this.props.match.params.userid),{withCredentials:!0,headers:{Accept:"application/json","Content-Type":"application/json","X-CSRF-Token":H.getCsrfToken(),Authorization:"Basic"}}).then((function(t){e.setState({playlist:t.data.playlists[0]})}))}},{key:"render",value:function(){return a.a.createElement(a.a.Fragment,null,a.a.createElement("div",{className:"vf-grid vf-grid__col-4"},a.a.createElement("div",{className:"vf-grid__col--span-3"},a.a.createElement(pe,{title:this.state.playlist.title})),a.a.createElement("div",{className:"vf-grid__col--span-1"},a.a.createElement(L,null))),a.a.createElement("section",{className:"vf-body sparse-content"},a.a.createElement("section",{className:"vf-intro"},a.a.createElement("div",null),a.a.createElement("div",{className:"vf-stack"},a.a.createElement("h1",{className:"vf-intro__heading "},this.state.playlist.title),a.a.createElement("div",{className:"vf-grid"},a.a.createElement("div",null,"Created on: ",this.state.playlist.created_at),a.a.createElement("div",null,"Created by: ",this.state.playlist.owner_id),a.a.createElement("div",null,"Last updated: ",this.state.playlist.updated_at)))),a.a.createElement("section",{className:"embl-grid"},a.a.createElement("div",{className:"vf-section-header"},a.a.createElement("h3",{className:"vf-section-header__heading",id:"interviews"},"Description")),a.a.createElement("div",{className:"vf-content"},a.a.createElement("div",{className:"vf-intro__text",dangerouslySetInnerHTML:{__html:this.state.playlist.description}}))),a.a.createElement("section",{className:"embl-grid"},a.a.createElement("div",{className:"vf-section-header"},a.a.createElement("h3",{className:"vf-section-header__heading",id:"application"},"Courses")),a.a.createElement("div",{className:"vf-content"},this.state.playlist.courses.map((function(e){return a.a.createElement(a.a.Fragment,null,a.a.createElement("div",{key:e.id,className:"vf-grid vf-grid__col-5 vf-u-margin__bottom--600"},a.a.createElement("div",null,a.a.createElement("img",{src:e.image?e.image:"https://acxngcvroo.cloudimg.io/v7/https://trainingcontent.embl.org/sites/default/files/online-event-images/featured%20image%20card_16.jpeg",alt:"",className:"vf-summary__image",loading:"lazy",style:{width:"150px"}})),a.a.createElement("div",{className:"vf-grid__col--span-2"},a.a.createElement("div",{className:"vf-summary vf-summary--event"},a.a.createElement("div",null,a.a.createElement("p",{className:"vf-summary__date"},"online_tutorial"===e.type?"Online tutorial":e.timeframe),a.a.createElement("h3",{className:"vf-summary__title ebi-academy-summary-title"},a.a.createElement("a",{href:"".concat(e.url),className:"vf-summary__link",target:"_blank",rel:"noopener noreferrer"},e.title))),a.a.createElement("div",{className:"vf-u-margin__top--600"})))),a.a.createElement("br",null))}))))))}}]),r}(a.a.Component);function mr(){mr=function(){return e};var e={},t=Object.prototype,r=t.hasOwnProperty,n="function"==typeof Symbol?Symbol:{},a=n.iterator||"@@iterator",i=n.asyncIterator||"@@asyncIterator",o=n.toStringTag||"@@toStringTag";function s(e,t,r){return Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}),e[t]}try{s({},"")}catch(L){s=function(e,t,r){return e[t]=r}}function l(e,t,r,n){var a=t&&t.prototype instanceof d?t:d,i=Object.create(a.prototype),o=new k(n||[]);return i._invoke=function(e,t,r){var n="suspendedStart";return function(a,i){if("executing"===n)throw new Error("Generator is already running");if("completed"===n){if("throw"===a)throw i;return x()}for(r.method=a,r.arg=i;;){var o=r.delegate;if(o){var s=w(o,r);if(s){if(s===u)continue;return s}}if("next"===r.method)r.sent=r._sent=r.arg;else if("throw"===r.method){if("suspendedStart"===n)throw n="completed",r.arg;r.dispatchException(r.arg)}else"return"===r.method&&r.abrupt("return",r.arg);n="executing";var l=c(e,t,r);if("normal"===l.type){if(n=r.done?"completed":"suspendedYield",l.arg===u)continue;return{value:l.arg,done:r.done}}"throw"===l.type&&(n="completed",r.method="throw",r.arg=l.arg)}}}(e,r,o),i}function c(e,t,r){try{return{type:"normal",arg:e.call(t,r)}}catch(L){return{type:"throw",arg:L}}}e.wrap=l;var u={};function d(){}function m(){}function h(){}var f={};s(f,a,(function(){return this}));var v=Object.getPrototypeOf,p=v&&v(v(N([])));p&&p!==t&&r.call(p,a)&&(f=p);var g=h.prototype=d.prototype=Object.create(f);function y(e){["next","throw","return"].forEach((function(t){s(e,t,(function(e){return this._invoke(t,e)}))}))}function b(e,t){var n;this._invoke=function(a,i){function o(){return new t((function(n,o){!function n(a,i,o,s){var l=c(e[a],e,i);if("throw"!==l.type){var u=l.arg,d=u.value;return d&&"object"==typeof d&&r.call(d,"__await")?t.resolve(d.__await).then((function(e){n("next",e,o,s)}),(function(e){n("throw",e,o,s)})):t.resolve(d).then((function(e){u.value=e,o(u)}),(function(e){return n("throw",e,o,s)}))}s(l.arg)}(a,i,n,o)}))}return n=n?n.then(o,o):o()}}function w(e,t){var r=e.iterator[t.method];if(void 0===r){if(t.delegate=null,"throw"===t.method){if(e.iterator.return&&(t.method="return",t.arg=void 0,w(e,t),"throw"===t.method))return u;t.method="throw",t.arg=new TypeError("The iterator does not provide a 'throw' method")}return u}var n=c(r,e.iterator,t.arg);if("throw"===n.type)return t.method="throw",t.arg=n.arg,t.delegate=null,u;var a=n.arg;return a?a.done?(t[e.resultName]=a.value,t.next=e.nextLoc,"return"!==t.method&&(t.method="next",t.arg=void 0),t.delegate=null,u):a:(t.method="throw",t.arg=new TypeError("iterator result is not an object"),t.delegate=null,u)}function E(e){var t={tryLoc:e[0]};1 in e&&(t.catchLoc=e[1]),2 in e&&(t.finallyLoc=e[2],t.afterLoc=e[3]),this.tryEntries.push(t)}function _(e){var t=e.completion||{};t.type="normal",delete t.arg,e.completion=t}function k(e){this.tryEntries=[{tryLoc:"root"}],e.forEach(E,this),this.reset(!0)}function N(e){if(e){var t=e[a];if(t)return t.call(e);if("function"==typeof e.next)return e;if(!isNaN(e.length)){var n=-1,i=function t(){for(;++n<e.length;)if(r.call(e,n))return t.value=e[n],t.done=!1,t;return t.value=void 0,t.done=!0,t};return i.next=i}}return{next:x}}function x(){return{value:void 0,done:!0}}return m.prototype=h,s(g,"constructor",h),s(h,"constructor",m),m.displayName=s(h,o,"GeneratorFunction"),e.isGeneratorFunction=function(e){var t="function"==typeof e&&e.constructor;return!!t&&(t===m||"GeneratorFunction"===(t.displayName||t.name))},e.mark=function(e){return Object.setPrototypeOf?Object.setPrototypeOf(e,h):(e.__proto__=h,s(e,o,"GeneratorFunction")),e.prototype=Object.create(g),e},e.awrap=function(e){return{__await:e}},y(b.prototype),s(b.prototype,i,(function(){return this})),e.AsyncIterator=b,e.async=function(t,r,n,a,i){void 0===i&&(i=Promise);var o=new b(l(t,r,n,a),i);return e.isGeneratorFunction(r)?o:o.next().then((function(e){return e.done?e.value:o.next()}))},y(g),s(g,o,"Generator"),s(g,a,(function(){return this})),s(g,"toString",(function(){return"[object Generator]"})),e.keys=function(e){var t=[];for(var r in e)t.push(r);return t.reverse(),function r(){for(;t.length;){var n=t.pop();if(n in e)return r.value=n,r.done=!1,r}return r.done=!0,r}},e.values=N,k.prototype={constructor:k,reset:function(e){if(this.prev=0,this.next=0,this.sent=this._sent=void 0,this.done=!1,this.delegate=null,this.method="next",this.arg=void 0,this.tryEntries.forEach(_),!e)for(var t in this)"t"===t.charAt(0)&&r.call(this,t)&&!isNaN(+t.slice(1))&&(this[t]=void 0)},stop:function(){this.done=!0;var e=this.tryEntries[0].completion;if("throw"===e.type)throw e.arg;return this.rval},dispatchException:function(e){if(this.done)throw e;var t=this;function n(r,n){return o.type="throw",o.arg=e,t.next=r,n&&(t.method="next",t.arg=void 0),!!n}for(var a=this.tryEntries.length-1;a>=0;--a){var i=this.tryEntries[a],o=i.completion;if("root"===i.tryLoc)return n("end");if(i.tryLoc<=this.prev){var s=r.call(i,"catchLoc"),l=r.call(i,"finallyLoc");if(s&&l){if(this.prev<i.catchLoc)return n(i.catchLoc,!0);if(this.prev<i.finallyLoc)return n(i.finallyLoc)}else if(s){if(this.prev<i.catchLoc)return n(i.catchLoc,!0)}else{if(!l)throw new Error("try statement without catch or finally");if(this.prev<i.finallyLoc)return n(i.finallyLoc)}}}},abrupt:function(e,t){for(var n=this.tryEntries.length-1;n>=0;--n){var a=this.tryEntries[n];if(a.tryLoc<=this.prev&&r.call(a,"finallyLoc")&&this.prev<a.finallyLoc){var i=a;break}}i&&("break"===e||"continue"===e)&&i.tryLoc<=t&&t<=i.finallyLoc&&(i=null);var o=i?i.completion:{};return o.type=e,o.arg=t,i?(this.method="next",this.next=i.finallyLoc,u):this.complete(o)},complete:function(e,t){if("throw"===e.type)throw e.arg;return"break"===e.type||"continue"===e.type?this.next=e.arg:"return"===e.type?(this.rval=this.arg=e.arg,this.method="return",this.next="end"):"normal"===e.type&&t&&(this.next=t),u},finish:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var r=this.tryEntries[t];if(r.finallyLoc===e)return this.complete(r.completion,r.afterLoc),_(r),u}},catch:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var r=this.tryEntries[t];if(r.tryLoc===e){var n=r.completion;if("throw"===n.type){var a=n.arg;_(r)}return a}}throw new Error("illegal catch attempt")},delegateYield:function(e,t,r){return this.delegate={iterator:N(e),resultName:t,nextLoc:r},"next"===this.method&&(this.arg=void 0),u}},e}var hr=function(){var e=Object(n.useState)(),t=Object(c.a)(e,2),r=t[0],i=t[1],o=Object(n.useState)(),s=Object(c.a)(o,2),u=s[0],d=s[1];Object(n.useEffect)((function(){r||function(){var e=Object(l.a)(mr().mark((function e(){return mr().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,b.a.get("".concat(v,"/api/v1/previous-embl-trainers?_format=json")).then((function(e){var t=e.data.map((function(e){return e.name}));i(e.data.filter((function(e,r){return!t.includes(e.name,r+1)}))),d(e.data.filter((function(e,r){return!t.includes(e.name,r+1)}))),console.log(t)}));case 2:case"end":return e.stop()}}),e)})));return function(){return e.apply(this,arguments)}}()()}),[r]);return a.a.createElement("div",null,a.a.createElement("div",{className:"vf-grid vf-grid__col-4"},a.a.createElement("div",{className:"vf-grid__col--span-3"},a.a.createElement(pe,{title:"Previous EMBL trainers"})),a.a.createElement("div",{className:"vf-grid__col--span-1"},a.a.createElement(L,null))),a.a.createElement("div",{className:"vf-u-margin__top--400"}),a.a.createElement(h,{title:"Previous EMBL trainers",subtitle:"Discover EMBL alumni who delivered EMBL-EBI training since 2022."}),a.a.createElement("section",null,a.a.createElement("div",{className:"vf-u-margin__top--400"}),a.a.createElement("p",{className:"vf-u-type__text-body--2"},"Our programme is delivered by many trainers from across EMBL, many of whom are now EMBL alumni. Learn more about ",a.a.createElement("a",{className:"vf-link",href:"https://www.embl.org/about/info/alumni/"},"EMBL's alumni"),". You can also view the ",a.a.createElement("a",{className:"vf-link",href:"/training/trainers"},"current EMBL trainers and our guest trainers"))),a.a.createElement("div",{className:"vf-grid"},a.a.createElement("div",{className:"vf-form__item"},a.a.createElement("div",{className:"vf-u-margin__top--200"}),a.a.createElement("label",{className:"vf-form__label vf-u-sr-only",htmlFor:"filter_trainers"},"Search"),a.a.createElement("input",{type:"text",id:"filter_trainers",className:"vf-form__input",placeholder:"Search name and affiliation",onKeyUp:function(e){return function(e){d(null);var t=r.filter((function(t){return t.name.toLowerCase().includes(e.target.value.toLowerCase())||t.organisation.toLowerCase().includes(e.target.value.toLowerCase())}));d(t)}(e)}}),a.a.createElement("div",{className:"vf-u-margin__top--600"})),a.a.createElement("div",null)),a.a.createElement("div",{className:"vf-content-hub-html vf-grid vf-grid__col-3"},u?null===u||void 0===u?void 0:u.map((function(e){return a.a.createElement("div",{className:"vf-content",key:e.cpid},a.a.createElement("article",null,a.a.createElement("h3",{className:"vf-profile__title"},e.name," "),a.a.createElement("p",{className:"vf-profile__text"},e.position),a.a.createElement("p",{className:"vf-profile__text"},e.organisation)),a.a.createElement("p",null))})):a.a.createElement("p",null,"Loading data...")))};function fr(){fr=function(){return e};var e={},t=Object.prototype,r=t.hasOwnProperty,n="function"==typeof Symbol?Symbol:{},a=n.iterator||"@@iterator",i=n.asyncIterator||"@@asyncIterator",o=n.toStringTag||"@@toStringTag";function s(e,t,r){return Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}),e[t]}try{s({},"")}catch(L){s=function(e,t,r){return e[t]=r}}function l(e,t,r,n){var a=t&&t.prototype instanceof d?t:d,i=Object.create(a.prototype),o=new k(n||[]);return i._invoke=function(e,t,r){var n="suspendedStart";return function(a,i){if("executing"===n)throw new Error("Generator is already running");if("completed"===n){if("throw"===a)throw i;return x()}for(r.method=a,r.arg=i;;){var o=r.delegate;if(o){var s=w(o,r);if(s){if(s===u)continue;return s}}if("next"===r.method)r.sent=r._sent=r.arg;else if("throw"===r.method){if("suspendedStart"===n)throw n="completed",r.arg;r.dispatchException(r.arg)}else"return"===r.method&&r.abrupt("return",r.arg);n="executing";var l=c(e,t,r);if("normal"===l.type){if(n=r.done?"completed":"suspendedYield",l.arg===u)continue;return{value:l.arg,done:r.done}}"throw"===l.type&&(n="completed",r.method="throw",r.arg=l.arg)}}}(e,r,o),i}function c(e,t,r){try{return{type:"normal",arg:e.call(t,r)}}catch(L){return{type:"throw",arg:L}}}e.wrap=l;var u={};function d(){}function m(){}function h(){}var f={};s(f,a,(function(){return this}));var v=Object.getPrototypeOf,p=v&&v(v(N([])));p&&p!==t&&r.call(p,a)&&(f=p);var g=h.prototype=d.prototype=Object.create(f);function y(e){["next","throw","return"].forEach((function(t){s(e,t,(function(e){return this._invoke(t,e)}))}))}function b(e,t){var n;this._invoke=function(a,i){function o(){return new t((function(n,o){!function n(a,i,o,s){var l=c(e[a],e,i);if("throw"!==l.type){var u=l.arg,d=u.value;return d&&"object"==typeof d&&r.call(d,"__await")?t.resolve(d.__await).then((function(e){n("next",e,o,s)}),(function(e){n("throw",e,o,s)})):t.resolve(d).then((function(e){u.value=e,o(u)}),(function(e){return n("throw",e,o,s)}))}s(l.arg)}(a,i,n,o)}))}return n=n?n.then(o,o):o()}}function w(e,t){var r=e.iterator[t.method];if(void 0===r){if(t.delegate=null,"throw"===t.method){if(e.iterator.return&&(t.method="return",t.arg=void 0,w(e,t),"throw"===t.method))return u;t.method="throw",t.arg=new TypeError("The iterator does not provide a 'throw' method")}return u}var n=c(r,e.iterator,t.arg);if("throw"===n.type)return t.method="throw",t.arg=n.arg,t.delegate=null,u;var a=n.arg;return a?a.done?(t[e.resultName]=a.value,t.next=e.nextLoc,"return"!==t.method&&(t.method="next",t.arg=void 0),t.delegate=null,u):a:(t.method="throw",t.arg=new TypeError("iterator result is not an object"),t.delegate=null,u)}function E(e){var t={tryLoc:e[0]};1 in e&&(t.catchLoc=e[1]),2 in e&&(t.finallyLoc=e[2],t.afterLoc=e[3]),this.tryEntries.push(t)}function _(e){var t=e.completion||{};t.type="normal",delete t.arg,e.completion=t}function k(e){this.tryEntries=[{tryLoc:"root"}],e.forEach(E,this),this.reset(!0)}function N(e){if(e){var t=e[a];if(t)return t.call(e);if("function"==typeof e.next)return e;if(!isNaN(e.length)){var n=-1,i=function t(){for(;++n<e.length;)if(r.call(e,n))return t.value=e[n],t.done=!1,t;return t.value=void 0,t.done=!0,t};return i.next=i}}return{next:x}}function x(){return{value:void 0,done:!0}}return m.prototype=h,s(g,"constructor",h),s(h,"constructor",m),m.displayName=s(h,o,"GeneratorFunction"),e.isGeneratorFunction=function(e){var t="function"==typeof e&&e.constructor;return!!t&&(t===m||"GeneratorFunction"===(t.displayName||t.name))},e.mark=function(e){return Object.setPrototypeOf?Object.setPrototypeOf(e,h):(e.__proto__=h,s(e,o,"GeneratorFunction")),e.prototype=Object.create(g),e},e.awrap=function(e){return{__await:e}},y(b.prototype),s(b.prototype,i,(function(){return this})),e.AsyncIterator=b,e.async=function(t,r,n,a,i){void 0===i&&(i=Promise);var o=new b(l(t,r,n,a),i);return e.isGeneratorFunction(r)?o:o.next().then((function(e){return e.done?e.value:o.next()}))},y(g),s(g,o,"Generator"),s(g,a,(function(){return this})),s(g,"toString",(function(){return"[object Generator]"})),e.keys=function(e){var t=[];for(var r in e)t.push(r);return t.reverse(),function r(){for(;t.length;){var n=t.pop();if(n in e)return r.value=n,r.done=!1,r}return r.done=!0,r}},e.values=N,k.prototype={constructor:k,reset:function(e){if(this.prev=0,this.next=0,this.sent=this._sent=void 0,this.done=!1,this.delegate=null,this.method="next",this.arg=void 0,this.tryEntries.forEach(_),!e)for(var t in this)"t"===t.charAt(0)&&r.call(this,t)&&!isNaN(+t.slice(1))&&(this[t]=void 0)},stop:function(){this.done=!0;var e=this.tryEntries[0].completion;if("throw"===e.type)throw e.arg;return this.rval},dispatchException:function(e){if(this.done)throw e;var t=this;function n(r,n){return o.type="throw",o.arg=e,t.next=r,n&&(t.method="next",t.arg=void 0),!!n}for(var a=this.tryEntries.length-1;a>=0;--a){var i=this.tryEntries[a],o=i.completion;if("root"===i.tryLoc)return n("end");if(i.tryLoc<=this.prev){var s=r.call(i,"catchLoc"),l=r.call(i,"finallyLoc");if(s&&l){if(this.prev<i.catchLoc)return n(i.catchLoc,!0);if(this.prev<i.finallyLoc)return n(i.finallyLoc)}else if(s){if(this.prev<i.catchLoc)return n(i.catchLoc,!0)}else{if(!l)throw new Error("try statement without catch or finally");if(this.prev<i.finallyLoc)return n(i.finallyLoc)}}}},abrupt:function(e,t){for(var n=this.tryEntries.length-1;n>=0;--n){var a=this.tryEntries[n];if(a.tryLoc<=this.prev&&r.call(a,"finallyLoc")&&this.prev<a.finallyLoc){var i=a;break}}i&&("break"===e||"continue"===e)&&i.tryLoc<=t&&t<=i.finallyLoc&&(i=null);var o=i?i.completion:{};return o.type=e,o.arg=t,i?(this.method="next",this.next=i.finallyLoc,u):this.complete(o)},complete:function(e,t){if("throw"===e.type)throw e.arg;return"break"===e.type||"continue"===e.type?this.next=e.arg:"return"===e.type?(this.rval=this.arg=e.arg,this.method="return",this.next="end"):"normal"===e.type&&t&&(this.next=t),u},finish:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var r=this.tryEntries[t];if(r.finallyLoc===e)return this.complete(r.completion,r.afterLoc),_(r),u}},catch:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var r=this.tryEntries[t];if(r.tryLoc===e){var n=r.completion;if("throw"===n.type){var a=n.arg;_(r)}return a}}throw new Error("illegal catch attempt")},delegateYield:function(e,t,r){return this.delegate={iterator:N(e),resultName:t,nextLoc:r},"next"===this.method&&(this.arg=void 0),u}},e}var vr=function(){var e=Object(n.useState)(""),t=Object(c.a)(e,2),r=t[0],i=t[1],o="",u=Object(s.h)(),d=new URLSearchParams(u.search);Object(n.useEffect)((function(){fetch("https://www.embl.org/api/v1/pattern.html?filter-content-type=article&filter-id=".concat(m(o),"&pattern=node-body&source=contenthub")).then((function(e){return e.text()})).then((function(e){i(e)})).catch((function(e){console.warn("Something went wrong.",e)}))})),function(){var e=Object(l.a)(fr().mark((function e(){return fr().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:try{o=d.get("topic")?d.get("topic"):"overview"}catch(t){alert(t)}case 1:case"end":return e.stop()}}),e)})));return function(){return e.apply(this,arguments)}}()();var m=function(e){return"overview"===e?"186803":"current-partnerships"===e?"186799":"past-partnerships"===e?"186801":void 0};return a.a.createElement("div",null,a.a.createElement("div",{className:"vf-grid vf-grid__col-4"},a.a.createElement("div",{className:"vf-grid__col--span-3"},a.a.createElement(pe,{title:"Our partnerships"})),a.a.createElement("div",{className:"vf-grid__col--span-1"},a.a.createElement(L,null))),a.a.createElement("div",{className:"vf-u-margin__top--400"}),a.a.createElement(h,{title:"Our partnerships",subtitle:"We work with others around the world to build competence and capacity in the data-driven life sciences."}),a.a.createElement("section",null,a.a.createElement("div",{className:"vf-u-margin__top--400"}),a.a.createElement("nav",{className:"vf-navigation vf-navigation--main | vf-cluster"},a.a.createElement("ul",{className:"vf-navigation__list | vf-list--inline | vf-cluster__inner"},a.a.createElement("li",{className:"vf-navigation__item"},a.a.createElement("a",{"aria-current":"overview"===o?"page":void 0,href:"/training/our-partnerships/?topic=overview",className:"vf-navigation__link"},"Overview",a.a.createElement("span",{className:"vf-u-sr-only"}," page"))),a.a.createElement("li",{className:"vf-navigation__item"},a.a.createElement("a",{"aria-current":"current-partnerships"===o?"page":void 0,href:"/training/our-partnerships/?topic=current-partnerships",className:"vf-navigation__link"},"Current partnerships",a.a.createElement("span",{className:"vf-u-sr-only"}," page"))),a.a.createElement("li",{className:"vf-navigation__item"},a.a.createElement("a",{"aria-current":"past-partnerships"===o?"page":void 0,href:"/training/our-partnerships/?topic=past-partnerships",className:"vf-navigation__link"},"Past partnerships",a.a.createElement("span",{className:"vf-u-sr-only"}," page"))))),a.a.createElement("div",{className:"vf-u-margin__top--800"}),a.a.createElement("div",{dangerouslySetInnerHTML:{__html:r}})),a.a.createElement("div",{className:"vf-u-margin__top--1200"}))},pr=function(e){return e&&e.length>90?e.slice(0,90).split(" ").slice(0,-1).join(" ")+"...":e},gr=function(e){var t=e.service;return a.a.createElement("div",{className:"vf-content"},a.a.createElement("hr",{className:"vf-divider"}),a.a.createElement("h4",null,"Training resources for related EMBL-EBI services"),a.a.createElement("div",{className:"vf-grid vf-grid__col-3"}," ",t.related_services.map((function(e,t){return a.a.createElement("div",{key:t},a.a.createElement("article",{className:"vf-summary vf-summary--has-image"},a.a.createElement("a",{href:e.url,className:"vf-summary__link"},a.a.createElement("img",{className:"vf-summary__image vf-summary__image--thumbnail",src:e.logo,alt:"BioSamples",loading:"lazy"})),a.a.createElement("h3",{className:"vf-summary__title"},a.a.createElement("a",{href:e.url,className:"vf-summary__link"},e.title)),a.a.createElement("p",{className:"vf-summary__text"},pr(e.short_description))))}))))};function yr(){yr=function(){return e};var e={},t=Object.prototype,r=t.hasOwnProperty,n="function"==typeof Symbol?Symbol:{},a=n.iterator||"@@iterator",i=n.asyncIterator||"@@asyncIterator",o=n.toStringTag||"@@toStringTag";function s(e,t,r){return Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}),e[t]}try{s({},"")}catch(L){s=function(e,t,r){return e[t]=r}}function l(e,t,r,n){var a=t&&t.prototype instanceof d?t:d,i=Object.create(a.prototype),o=new k(n||[]);return i._invoke=function(e,t,r){var n="suspendedStart";return function(a,i){if("executing"===n)throw new Error("Generator is already running");if("completed"===n){if("throw"===a)throw i;return x()}for(r.method=a,r.arg=i;;){var o=r.delegate;if(o){var s=w(o,r);if(s){if(s===u)continue;return s}}if("next"===r.method)r.sent=r._sent=r.arg;else if("throw"===r.method){if("suspendedStart"===n)throw n="completed",r.arg;r.dispatchException(r.arg)}else"return"===r.method&&r.abrupt("return",r.arg);n="executing";var l=c(e,t,r);if("normal"===l.type){if(n=r.done?"completed":"suspendedYield",l.arg===u)continue;return{value:l.arg,done:r.done}}"throw"===l.type&&(n="completed",r.method="throw",r.arg=l.arg)}}}(e,r,o),i}function c(e,t,r){try{return{type:"normal",arg:e.call(t,r)}}catch(L){return{type:"throw",arg:L}}}e.wrap=l;var u={};function d(){}function m(){}function h(){}var f={};s(f,a,(function(){return this}));var v=Object.getPrototypeOf,p=v&&v(v(N([])));p&&p!==t&&r.call(p,a)&&(f=p);var g=h.prototype=d.prototype=Object.create(f);function y(e){["next","throw","return"].forEach((function(t){s(e,t,(function(e){return this._invoke(t,e)}))}))}function b(e,t){var n;this._invoke=function(a,i){function o(){return new t((function(n,o){!function n(a,i,o,s){var l=c(e[a],e,i);if("throw"!==l.type){var u=l.arg,d=u.value;return d&&"object"==typeof d&&r.call(d,"__await")?t.resolve(d.__await).then((function(e){n("next",e,o,s)}),(function(e){n("throw",e,o,s)})):t.resolve(d).then((function(e){u.value=e,o(u)}),(function(e){return n("throw",e,o,s)}))}s(l.arg)}(a,i,n,o)}))}return n=n?n.then(o,o):o()}}function w(e,t){var r=e.iterator[t.method];if(void 0===r){if(t.delegate=null,"throw"===t.method){if(e.iterator.return&&(t.method="return",t.arg=void 0,w(e,t),"throw"===t.method))return u;t.method="throw",t.arg=new TypeError("The iterator does not provide a 'throw' method")}return u}var n=c(r,e.iterator,t.arg);if("throw"===n.type)return t.method="throw",t.arg=n.arg,t.delegate=null,u;var a=n.arg;return a?a.done?(t[e.resultName]=a.value,t.next=e.nextLoc,"return"!==t.method&&(t.method="next",t.arg=void 0),t.delegate=null,u):a:(t.method="throw",t.arg=new TypeError("iterator result is not an object"),t.delegate=null,u)}function E(e){var t={tryLoc:e[0]};1 in e&&(t.catchLoc=e[1]),2 in e&&(t.finallyLoc=e[2],t.afterLoc=e[3]),this.tryEntries.push(t)}function _(e){var t=e.completion||{};t.type="normal",delete t.arg,e.completion=t}function k(e){this.tryEntries=[{tryLoc:"root"}],e.forEach(E,this),this.reset(!0)}function N(e){if(e){var t=e[a];if(t)return t.call(e);if("function"==typeof e.next)return e;if(!isNaN(e.length)){var n=-1,i=function t(){for(;++n<e.length;)if(r.call(e,n))return t.value=e[n],t.done=!1,t;return t.value=void 0,t.done=!0,t};return i.next=i}}return{next:x}}function x(){return{value:void 0,done:!0}}return m.prototype=h,s(g,"constructor",h),s(h,"constructor",m),m.displayName=s(h,o,"GeneratorFunction"),e.isGeneratorFunction=function(e){var t="function"==typeof e&&e.constructor;return!!t&&(t===m||"GeneratorFunction"===(t.displayName||t.name))},e.mark=function(e){return Object.setPrototypeOf?Object.setPrototypeOf(e,h):(e.__proto__=h,s(e,o,"GeneratorFunction")),e.prototype=Object.create(g),e},e.awrap=function(e){return{__await:e}},y(b.prototype),s(b.prototype,i,(function(){return this})),e.AsyncIterator=b,e.async=function(t,r,n,a,i){void 0===i&&(i=Promise);var o=new b(l(t,r,n,a),i);return e.isGeneratorFunction(r)?o:o.next().then((function(e){return e.done?e.value:o.next()}))},y(g),s(g,o,"Generator"),s(g,a,(function(){return this})),s(g,"toString",(function(){return"[object Generator]"})),e.keys=function(e){var t=[];for(var r in e)t.push(r);return t.reverse(),function r(){for(;t.length;){var n=t.pop();if(n in e)return r.value=n,r.done=!1,r}return r.done=!0,r}},e.values=N,k.prototype={constructor:k,reset:function(e){if(this.prev=0,this.next=0,this.sent=this._sent=void 0,this.done=!1,this.delegate=null,this.method="next",this.arg=void 0,this.tryEntries.forEach(_),!e)for(var t in this)"t"===t.charAt(0)&&r.call(this,t)&&!isNaN(+t.slice(1))&&(this[t]=void 0)},stop:function(){this.done=!0;var e=this.tryEntries[0].completion;if("throw"===e.type)throw e.arg;return this.rval},dispatchException:function(e){if(this.done)throw e;var t=this;function n(r,n){return o.type="throw",o.arg=e,t.next=r,n&&(t.method="next",t.arg=void 0),!!n}for(var a=this.tryEntries.length-1;a>=0;--a){var i=this.tryEntries[a],o=i.completion;if("root"===i.tryLoc)return n("end");if(i.tryLoc<=this.prev){var s=r.call(i,"catchLoc"),l=r.call(i,"finallyLoc");if(s&&l){if(this.prev<i.catchLoc)return n(i.catchLoc,!0);if(this.prev<i.finallyLoc)return n(i.finallyLoc)}else if(s){if(this.prev<i.catchLoc)return n(i.catchLoc,!0)}else{if(!l)throw new Error("try statement without catch or finally");if(this.prev<i.finallyLoc)return n(i.finallyLoc)}}}},abrupt:function(e,t){for(var n=this.tryEntries.length-1;n>=0;--n){var a=this.tryEntries[n];if(a.tryLoc<=this.prev&&r.call(a,"finallyLoc")&&this.prev<a.finallyLoc){var i=a;break}}i&&("break"===e||"continue"===e)&&i.tryLoc<=t&&t<=i.finallyLoc&&(i=null);var o=i?i.completion:{};return o.type=e,o.arg=t,i?(this.method="next",this.next=i.finallyLoc,u):this.complete(o)},complete:function(e,t){if("throw"===e.type)throw e.arg;return"break"===e.type||"continue"===e.type?this.next=e.arg:"return"===e.type?(this.rval=this.arg=e.arg,this.method="return",this.next="end"):"normal"===e.type&&t&&(this.next=t),u},finish:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var r=this.tryEntries[t];if(r.finallyLoc===e)return this.complete(r.completion,r.afterLoc),_(r),u}},catch:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var r=this.tryEntries[t];if(r.tryLoc===e){var n=r.completion;if("throw"===n.type){var a=n.arg;_(r)}return a}}throw new Error("illegal catch attempt")},delegateYield:function(e,t,r){return this.delegate={iterator:N(e),resultName:t,nextLoc:r},"next"===this.method&&(this.arg=void 0),u}},e}var br=function(){var e,t,r,i,o=Object(n.useState)(),d=Object(c.a)(o,2),m=d[0],f=d[1],v=Object(n.useState)(),p=Object(c.a)(v,2),g=p[0],y=p[1],w=Object(n.useState)(null),E=Object(c.a)(w,2),_=E[0],k=E[1],N=Object(n.useState)(null),x=Object(c.a)(N,2),O=x[0],S=x[1],j=Object(n.useState)(!1),T=Object(c.a)(j,2),C=T[0],B=T[1],M=Object(s.i)(),I=null===M||void 0===M?void 0:M.servicename.toLowerCase();Object(n.useEffect)((function(){try{m||g||function(){var e=Object(l.a)(yr().mark((function e(){var t,r;return yr().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return B(!0),e.next=3,b.a.get("https://trainingcontent.embl.org/api/v1/training-services");case 3:return t=e.sent,k(t.data),S(null===_||void 0===_?void 0:_.results.find((function(e){return e.machine_name===I}))),r=function(){var e=Object(l.a)(yr().mark((function e(){var t,r,n;return yr().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(t=null===O||void 0===O?void 0:O.title,!_){e.next=11;break}return e.next=4,b.a.get("https://www.ebi.ac.uk/ebisearch/ws/rest/ebiweb_training_events?format=json&query=domain_source:ebiweb_training_events%20AND%20timeframe:upcoming&start=0&size=3&fieldurl=true&fields=title,description,start_date,end_date,date_time_clean,resource_training_page,type,training_type,url,venue,materials,status,timeframe,resource_training_page,course_image&facetcount=50&sort=start_date&facets=resource_training_page:".concat(t));case 4:return r=e.sent,e.next=7,b.a.get("https://www.ebi.ac.uk/ebisearch/ws/rest/ebiweb_training_online?format=json&query=domain_source:ebiweb_training_online&start=0&size=3&fieldurl=true&fields=title,subtitle,description,type,training_type,url,venue,timeframe,slug,course_image&facetcount=50&sort=title&facets=resource_training_page:".concat(t));case 7:n=e.sent,f(r.data),y(n.data),setTimeout((function(){return B(!1)}),1e3);case 11:case"end":return e.stop()}}),e)})));return function(){return e.apply(this,arguments)}}(),e.next=9,r();case 9:case"end":return e.stop()}}),e)})));return function(){return e.apply(this,arguments)}}()()}catch(e){alert(e)}}),[_,m,g,I,O]);var A=function(e){return e&&e.length>200?e.slice(0,200).split(" ").slice(0,-1).join(" ")+"...":e};return a.a.createElement(a.a.Fragment,null,a.a.createElement("div",{className:"vf-grid vf-grid__col-4"},a.a.createElement("div",{className:"vf-grid__col--span-3"},a.a.createElement(pe,{title:"EMBL-EBI Services training",breadcrumSectionTitle:"".concat(null===O||void 0===O?void 0:O.title," training"),breadcrumSectionURL:"/training/services"})),a.a.createElement("div",{className:"vf-grid__col--span-1"},a.a.createElement(L,null))),a.a.createElement(h,{title:"".concat(null===O||void 0===O?void 0:O.title," training"),subtitle:null===O||void 0===O?void 0:O.short_description,isHome:"0",isService:"1",isServiceHome:"1",serviceName:null===O||void 0===O?void 0:O.title,serviceUrl:null===O||void 0===O?void 0:O.service_website_url}),a.a.createElement("div",{className:"vf-u-margin__top--1200"}),a.a.createElement("div",{className:"vf-content"},a.a.createElement("div",{className:"vf-grid vf-grid__col-3"},a.a.createElement("section",{className:"vf-summary-container vf-grid__col--span-2"},a.a.createElement("div",{className:"vf-section-header__heading"},a.a.createElement("a",{className:"vf-section-header__heading vf-section-header__heading--is-link",href:"https://ebi.ac.uk/training/services/".concat(null===M||void 0===M?void 0:M.servicename.toLowerCase(),"/live-events")},"Live training",a.a.createElement("svg",{"aria-hidden":"true",className:"vf-section-header__icon | vf-icon vf-icon-arrow--inline-end",width:"24",height:"24",xmlns:"http://www.w3.org/2000/svg"},a.a.createElement("path",{d:"M0 12c0 6.627 5.373 12 12 12s12-5.373 12-12S18.627 0 12 0C5.376.008.008 5.376 0 12zm13.707-5.209l4.5 4.5a1 1 0 010 1.414l-4.5 4.5a1 1 0 01-1.414-1.414l2.366-2.367a.25.25 0 00-.177-.424H6a1 1 0 010-2h8.482a.25.25 0 00.177-.427l-2.366-2.368a1 1 0 011.414-1.414z",fill:"",fillRule:"nonzero"})))),a.a.createElement("div",{className:"vf-u-margin__top--800"}),C?a.a.createElement("img",{src:"../progressbar.gif",style:{width:"50px"},alt:""}):m&&(null===m||void 0===m?void 0:m.hitCount)>0?a.a.createElement(a.a.Fragment,null,a.a.createElement("div",null,null===(e=m.entries)||void 0===e?void 0:e.map((function(e,t){var r;return a.a.createElement("article",{className:"vf-summary vf-summary--news",key:e.fields.url},a.a.createElement("span",{className:"vf-summary__date",style:{textTransform:"uppercase"}},e.fields.type),a.a.createElement("h3",{className:"vf-summary__title",style:{paddingLeft:"0px"}},a.a.createElement("a",{href:e.fields.url,className:"vf-summary__link"},e.fields.title),a.a.createElement("p",null,q()(A(null===e||void 0===e||null===(r=e.fields)||void 0===r?void 0:r.description[0]))),a.a.createElement("p",{className:"vf-summary__text"},e.fields.subtitle),"Live Webinar"===e.fields.training_type&&"Closed"===e.fields.status?"":a.a.createElement("div",{className:"vf-summary__text vf-summary--event"},a.a.createElement("div",{className:"vf-summary__location"},a.a.createElement("div",null,e.fields.status," | "," ",a.a.createElement("i",{className:"icon icon-common icon-calendar-alt"})," ",e.fields.date_time_clean," |"," ",a.a.createElement("i",{className:"icon icon-common icon-location"})," ","null"!==e.fields.venue[0]?e.fields.venue[0]:"Online")))))})),(null===m||void 0===m?void 0:m.hitCount)>0?a.a.createElement(u.b,{to:"/services/".concat(null===M||void 0===M?void 0:M.servicename.toLowerCase(),"/live-events")}," View all live training"):"",a.a.createElement("div",{className:"vf-u-margin__top--800"}))):a.a.createElement("p",null,"Currently there are no upcoming events."),a.a.createElement("div",{className:"vf-divider"})),a.a.createElement("div",null)),a.a.createElement("div",{className:"vf-u-margin__top--800"}),a.a.createElement("div",{className:"vf-grid vf-grid__col-3"},a.a.createElement("section",{className:"vf-summary-container vf-grid__col--span-2"},a.a.createElement("div",{className:"vf-section-header__heading"},g&&g.hitCount>3?a.a.createElement("a",{className:"vf-section-header__heading vf-section-header__heading--is-link",href:"/training/services/".concat(null===M||void 0===M?void 0:M.servicename.toLowerCase(),"/on-demand")},"On-demand training",a.a.createElement("svg",{"aria-hidden":"true",className:"vf-section-header__icon | vf-icon vf-icon-arrow--inline-end",width:"24",height:"24",xmlns:"http://www.w3.org/2000/svg"},a.a.createElement("path",{d:"M0 12c0 6.627 5.373 12 12 12s12-5.373 12-12S18.627 0 12 0C5.376.008.008 5.376 0 12zm13.707-5.209l4.5 4.5a1 1 0 010 1.414l-4.5 4.5a1 1 0 01-1.414-1.414l2.366-2.367a.25.25 0 00-.177-.424H6a1 1 0 010-2h8.482a.25.25 0 00.177-.427l-2.366-2.368a1 1 0 011.414-1.414z",fill:"",fillRule:"nonzero"}))):"On-demand training"),a.a.createElement("div",{className:"vf-u-margin__top--800"}),C?a.a.createElement("img",{src:"../progressbar.gif",style:{width:"50px"},alt:""}):g&&(null===g||void 0===g?void 0:g.hitCount)>0?a.a.createElement("section",null,a.a.createElement("div",{className:"vf-tabs-content","data-vf-js-tabs-content":""},g?null===(t=g.entries)||void 0===t?void 0:t.map((function(e,t){var r;return a.a.createElement("article",{className:"vf-summary vf-summary--news",key:e.fields.url},a.a.createElement("span",{className:"vf-summary__date",style:{textTransform:"uppercase"}},e.fields.type),a.a.createElement("h3",{className:"vf-summary__title",style:{paddingLeft:"0px"}},a.a.createElement("a",{href:e.fields.url,className:"vf-summary__link"},e.fields.title,e.fields.subtitle[0]?": "+e.fields.subtitle:"")),a.a.createElement("p",{className:"vf-summary__text"},q()(A(null===e||void 0===e||null===(r=e.fields)||void 0===r?void 0:r.description[0]))," "))})):a.a.createElement("div",null,a.a.createElement("img",{alt:"progress",src:"progressbar.gif"}),a.a.createElement("h4",null,"Loading results..."))),(null===g||void 0===g?void 0:g.hitCount)>3?a.a.createElement(u.b,{to:"/services/".concat(null===M||void 0===M?void 0:M.servicename.toLowerCase(),"/on-demand")}," View all on-demand training"):"",a.a.createElement("div",{className:"vf-u-margin__top--800"})):a.a.createElement("p",null,"Currently there is no ",null===_||void 0===_||null===(r=_.results.find((function(e){return e.machine_name===(null===M||void 0===M?void 0:M.servicename.toLowerCase())})))||void 0===r?void 0:r.title," related on-demand training - please see our ",a.a.createElement(u.b,{to:"/services/".concat(null===M||void 0===M?void 0:M.servicename.toLowerCase(),"/live-events")},"upcoming live training"))),a.a.createElement("div",null)),(null===O||void 0===O||null===(i=O.related_services)||void 0===i?void 0:i.length)>0?a.a.createElement(gr,{service:O}):""))};function wr(){wr=function(){return e};var e={},t=Object.prototype,r=t.hasOwnProperty,n="function"==typeof Symbol?Symbol:{},a=n.iterator||"@@iterator",i=n.asyncIterator||"@@asyncIterator",o=n.toStringTag||"@@toStringTag";function s(e,t,r){return Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}),e[t]}try{s({},"")}catch(L){s=function(e,t,r){return e[t]=r}}function l(e,t,r,n){var a=t&&t.prototype instanceof d?t:d,i=Object.create(a.prototype),o=new k(n||[]);return i._invoke=function(e,t,r){var n="suspendedStart";return function(a,i){if("executing"===n)throw new Error("Generator is already running");if("completed"===n){if("throw"===a)throw i;return x()}for(r.method=a,r.arg=i;;){var o=r.delegate;if(o){var s=w(o,r);if(s){if(s===u)continue;return s}}if("next"===r.method)r.sent=r._sent=r.arg;else if("throw"===r.method){if("suspendedStart"===n)throw n="completed",r.arg;r.dispatchException(r.arg)}else"return"===r.method&&r.abrupt("return",r.arg);n="executing";var l=c(e,t,r);if("normal"===l.type){if(n=r.done?"completed":"suspendedYield",l.arg===u)continue;return{value:l.arg,done:r.done}}"throw"===l.type&&(n="completed",r.method="throw",r.arg=l.arg)}}}(e,r,o),i}function c(e,t,r){try{return{type:"normal",arg:e.call(t,r)}}catch(L){return{type:"throw",arg:L}}}e.wrap=l;var u={};function d(){}function m(){}function h(){}var f={};s(f,a,(function(){return this}));var v=Object.getPrototypeOf,p=v&&v(v(N([])));p&&p!==t&&r.call(p,a)&&(f=p);var g=h.prototype=d.prototype=Object.create(f);function y(e){["next","throw","return"].forEach((function(t){s(e,t,(function(e){return this._invoke(t,e)}))}))}function b(e,t){var n;this._invoke=function(a,i){function o(){return new t((function(n,o){!function n(a,i,o,s){var l=c(e[a],e,i);if("throw"!==l.type){var u=l.arg,d=u.value;return d&&"object"==typeof d&&r.call(d,"__await")?t.resolve(d.__await).then((function(e){n("next",e,o,s)}),(function(e){n("throw",e,o,s)})):t.resolve(d).then((function(e){u.value=e,o(u)}),(function(e){return n("throw",e,o,s)}))}s(l.arg)}(a,i,n,o)}))}return n=n?n.then(o,o):o()}}function w(e,t){var r=e.iterator[t.method];if(void 0===r){if(t.delegate=null,"throw"===t.method){if(e.iterator.return&&(t.method="return",t.arg=void 0,w(e,t),"throw"===t.method))return u;t.method="throw",t.arg=new TypeError("The iterator does not provide a 'throw' method")}return u}var n=c(r,e.iterator,t.arg);if("throw"===n.type)return t.method="throw",t.arg=n.arg,t.delegate=null,u;var a=n.arg;return a?a.done?(t[e.resultName]=a.value,t.next=e.nextLoc,"return"!==t.method&&(t.method="next",t.arg=void 0),t.delegate=null,u):a:(t.method="throw",t.arg=new TypeError("iterator result is not an object"),t.delegate=null,u)}function E(e){var t={tryLoc:e[0]};1 in e&&(t.catchLoc=e[1]),2 in e&&(t.finallyLoc=e[2],t.afterLoc=e[3]),this.tryEntries.push(t)}function _(e){var t=e.completion||{};t.type="normal",delete t.arg,e.completion=t}function k(e){this.tryEntries=[{tryLoc:"root"}],e.forEach(E,this),this.reset(!0)}function N(e){if(e){var t=e[a];if(t)return t.call(e);if("function"==typeof e.next)return e;if(!isNaN(e.length)){var n=-1,i=function t(){for(;++n<e.length;)if(r.call(e,n))return t.value=e[n],t.done=!1,t;return t.value=void 0,t.done=!0,t};return i.next=i}}return{next:x}}function x(){return{value:void 0,done:!0}}return m.prototype=h,s(g,"constructor",h),s(h,"constructor",m),m.displayName=s(h,o,"GeneratorFunction"),e.isGeneratorFunction=function(e){var t="function"==typeof e&&e.constructor;return!!t&&(t===m||"GeneratorFunction"===(t.displayName||t.name))},e.mark=function(e){return Object.setPrototypeOf?Object.setPrototypeOf(e,h):(e.__proto__=h,s(e,o,"GeneratorFunction")),e.prototype=Object.create(g),e},e.awrap=function(e){return{__await:e}},y(b.prototype),s(b.prototype,i,(function(){return this})),e.AsyncIterator=b,e.async=function(t,r,n,a,i){void 0===i&&(i=Promise);var o=new b(l(t,r,n,a),i);return e.isGeneratorFunction(r)?o:o.next().then((function(e){return e.done?e.value:o.next()}))},y(g),s(g,o,"Generator"),s(g,a,(function(){return this})),s(g,"toString",(function(){return"[object Generator]"})),e.keys=function(e){var t=[];for(var r in e)t.push(r);return t.reverse(),function r(){for(;t.length;){var n=t.pop();if(n in e)return r.value=n,r.done=!1,r}return r.done=!0,r}},e.values=N,k.prototype={constructor:k,reset:function(e){if(this.prev=0,this.next=0,this.sent=this._sent=void 0,this.done=!1,this.delegate=null,this.method="next",this.arg=void 0,this.tryEntries.forEach(_),!e)for(var t in this)"t"===t.charAt(0)&&r.call(this,t)&&!isNaN(+t.slice(1))&&(this[t]=void 0)},stop:function(){this.done=!0;var e=this.tryEntries[0].completion;if("throw"===e.type)throw e.arg;return this.rval},dispatchException:function(e){if(this.done)throw e;var t=this;function n(r,n){return o.type="throw",o.arg=e,t.next=r,n&&(t.method="next",t.arg=void 0),!!n}for(var a=this.tryEntries.length-1;a>=0;--a){var i=this.tryEntries[a],o=i.completion;if("root"===i.tryLoc)return n("end");if(i.tryLoc<=this.prev){var s=r.call(i,"catchLoc"),l=r.call(i,"finallyLoc");if(s&&l){if(this.prev<i.catchLoc)return n(i.catchLoc,!0);if(this.prev<i.finallyLoc)return n(i.finallyLoc)}else if(s){if(this.prev<i.catchLoc)return n(i.catchLoc,!0)}else{if(!l)throw new Error("try statement without catch or finally");if(this.prev<i.finallyLoc)return n(i.finallyLoc)}}}},abrupt:function(e,t){for(var n=this.tryEntries.length-1;n>=0;--n){var a=this.tryEntries[n];if(a.tryLoc<=this.prev&&r.call(a,"finallyLoc")&&this.prev<a.finallyLoc){var i=a;break}}i&&("break"===e||"continue"===e)&&i.tryLoc<=t&&t<=i.finallyLoc&&(i=null);var o=i?i.completion:{};return o.type=e,o.arg=t,i?(this.method="next",this.next=i.finallyLoc,u):this.complete(o)},complete:function(e,t){if("throw"===e.type)throw e.arg;return"break"===e.type||"continue"===e.type?this.next=e.arg:"return"===e.type?(this.rval=this.arg=e.arg,this.method="return",this.next="end"):"normal"===e.type&&t&&(this.next=t),u},finish:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var r=this.tryEntries[t];if(r.finallyLoc===e)return this.complete(r.completion,r.afterLoc),_(r),u}},catch:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var r=this.tryEntries[t];if(r.tryLoc===e){var n=r.completion;if("throw"===n.type){var a=n.arg;_(r)}return a}}throw new Error("illegal catch attempt")},delegateYield:function(e,t,r){return this.delegate={iterator:N(e),resultName:t,nextLoc:r},"next"===this.method&&(this.arg=void 0),u}},e}var Er=function(){var e,t,r,i,o=Object(n.useState)(),d=Object(c.a)(o,2),m=d[0],f=d[1],v=Object(n.useState)(),p=Object(c.a)(v,2),y=p[0],w=p[1],E=Object(n.useState)([]),_=Object(c.a)(E,2),k=_[0],N=_[1],x=Object(n.useState)(),O=Object(c.a)(x,2),S=O[0],T=O[1],C=Object(n.useState)(0),B=Object(c.a)(C,2),I=B[0],P=B[1],F=Object(n.useState)(null),G=Object(c.a)(F,2),W=G[0],q=G[1],D=Object(n.useState)(null),R=Object(c.a)(D,2),J=R[0],U=R[1],z=Object(n.useState)(),H=Object(c.a)(z,2),V=H[0],Y=H[1],K=Object(n.useState)(),Z=Object(c.a)(K,2),X=Z[0],Q=Z[1],$=Object(n.useState)(),ee=Object(c.a)($,2),te=ee[0],re=ee[1],ne=Object(s.g)(),ae=Object(s.h)(),ie=Object(s.i)(),oe=null===ie||void 0===ie?void 0:ie.servicename.toLowerCase();Object(n.useEffect)((function(){try{(function(){var e=Object(l.a)(wr().mark((function e(){var t,r;return wr().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return t=function(){var e=Object(l.a)(wr().mark((function e(){var t;return wr().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(null!==W){e.next=5;break}return e.next=3,b.a.get("https://trainingcontent.embl.org/api/v1/training-services");case 3:t=e.sent,q(t.data);case 5:null===J&&U(null===W||void 0===W?void 0:W.results.find((function(e){return e.machine_name===oe})));case 6:case"end":return e.stop()}}),e)})));return function(){return e.apply(this,arguments)}}(),r=function(){var e=Object(l.a)(wr().mark((function e(){var t,r,n,a,i,o,s,l,u,d,m,h,v;return wr().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return r=null===J||void 0===J?void 0:J.title,n=new URLSearchParams(ae.search),a=n.get("facets")?null===(t=n.get("facets"))||void 0===t?void 0:t.split(","):"",i=n.get("page")?n.get("page"):"1",T(i?parseInt(i):1),o=i?10*(parseInt(i)-1):0,P(o),0===(null===k||void 0===k?void 0:k.length)&&N(a),ne.listen((function(e,t){"POP"===t&&setTimeout((function(){window.scrollTo(0,0)}),700)})),s=n.get("query")?n.get("query"):"",re(s),Y(s),e.next=14,b.a.get("https://www.ebi.ac.uk/ebisearch/ws/rest/ebiweb_training_events?format=json&query=".concat(s||"domain_source:ebiweb_training_events"," AND timeframe:upcoming&start=").concat(o,"&size=10&fieldurl=true&fields=title,description,start_date,end_date,date_time_clean,type,training_type,url,venue,materials,status,timeframe&facetcount=50&sort=").concat(s&&""!==s?"":"start_date","&facets=resource_training_page:").concat(r));case 14:return l=e.sent,e.next=17,b.a.get("https://www.ebi.ac.uk/ebisearch/ws/rest/ebiweb_training_events?format=json&query=".concat(s||"domain_source:ebiweb_training_events"," AND timeframe:upcoming&start=").concat(o,"&size=10&fieldurl=true&fields=title,description,start_date,end_date,date_time_clean,type,training_type,url,venue,materials,status,timeframe&facetcount=50&sort=").concat(s&&""!==s?"":"start_date","&facets=").concat(a,",resource_training_page:").concat(r));case 17:return u=e.sent,e.next=20,b.a.get("https://www.ebi.ac.uk/api/v1/ebi-training-autocomplete-keywords?source=trainingcontenthub&domain=live&_format=json");case 20:return d=e.sent,e.next=23,Promise.all([d]);case 23:m=e.sent,h=Object(c.a)(m,1),v=h[0],w(l.data),f(u.data),Q(v),w(l.data),f(u.data);case 31:case"end":return e.stop()}}),e)})));return function(){return e.apply(this,arguments)}}(),e.next=4,t();case 4:return e.next=6,r();case 6:case"end":return e.stop()}}),e)})));return function(){return e.apply(this,arguments)}})()()}catch(e){alert(e)}}),[k,ne,ae,S,I,te,oe,W,J]);var se=function(){var e=Object(l.a)(wr().mark((function e(t){var r,n,a,i;return wr().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:try{(r=t.target).checked?((n=[]).push.apply(n,Object(j.a)(k||[]).concat([r.dataset.facetid+":"+r.dataset.facetlabel])),N(n),ne.push("?facets=".concat(n,"&query=").concat(te))):((a=[]).push.apply(a,Object(j.a)(k||[])),i=null===a||void 0===a?void 0:a.indexOf(r.dataset.facetid+":"+r.dataset.facetlabel),a.splice(i,1),a.length>0?N(a):N([]),ne.push("?facets=".concat(a,"&query=").concat(te)))}catch(o){alert(o)}case 1:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}(),le=function(){var e=Object(l.a)(wr().mark((function e(t){return wr().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:ne.push("?facets="),N([]),t.preventDefault();case 3:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}(),ce=function(){var e=Object(l.a)(wr().mark((function e(t){return wr().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:t.preventDefault(),re(null===V||void 0===V?void 0:V.trim()),ne.push("/services/".concat(null===ie||void 0===ie?void 0:ie.servicename.toLowerCase(),"/live-events?query=").concat(null===V||void 0===V?void 0:V.trim(),"&domain=ebiweb_training_events"));case 3:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}();return a.a.createElement(a.a.Fragment,null,a.a.createElement("div",{className:"vf-grid vf-grid__col-4"},a.a.createElement("div",{className:"vf-grid__col--span-3"},a.a.createElement(pe,{title:"".concat(null===W||void 0===W||null===(e=W.results.find((function(e){return e.machine_name===oe})))||void 0===e?void 0:e.title," training"),breadcrumSectionURL:"/training/services/".concat(null===ie||void 0===ie?void 0:ie.servicename.toLowerCase()),breadcrumSectionTitle:"Live ".concat(null===W||void 0===W||null===(t=W.results.find((function(e){return e.machine_name===oe})))||void 0===t?void 0:t.title," training")})),a.a.createElement("div",{className:"vf-grid__col--span-1"},a.a.createElement(L,null))),a.a.createElement(h,{title:"Live ".concat(null===J||void 0===J?void 0:J.title," training"),subtitle:null===J||void 0===J?void 0:J.short_description,isHome:"0",isService:"1",isServiceHome:0,serviceName:null===J||void 0===J?void 0:J.title,serviceUrl:null===J||void 0===J?void 0:J.service_website_url,textToOtherType:"on-demand ".concat(null===J||void 0===J?void 0:J.title," training"),linkToOtherType:"/training/services/".concat(null===ie||void 0===ie?void 0:ie.servicename.toLowerCase(),"/on-demand")}),a.a.createElement("div",{className:"vf-u-margin__top--1200"}),a.a.createElement("div",{className:"vf-content"},a.a.createElement("section",{className:"vf-grid"},y&&m?a.a.createElement(a.a.Fragment,null,a.a.createElement("div",null,a.a.createElement("nav",{className:"vf-navigation vf-navigation--on-this-page | vf-u-fullbleed | vf-cluster"},a.a.createElement("ul",{className:"vf-navigation__list | vf-list | vf-cluster__inner","data-vf-js-navigation-on-this-page-container":"false"},a.a.createElement("li",{className:"vf-navigation__item"},a.a.createElement(u.b,{to:"live-events",className:"vf-navigation__link","aria-selected":"true"},"Upcoming events")),a.a.createElement("li",{className:"vf-navigation__item"},a.a.createElement(u.b,{to:"past-events",className:"vf-navigation__link"},"Past events")))),a.a.createElement("div",{className:"vf-u-margin__top--1200"}),0===m.hitCount?"":a.a.createElement(a.a.Fragment,null,a.a.createElement("h3",null,"Refine"),a.a.createElement("form",{id:"filters",className:"vf-list | ebi-academy-facetGroup"},a.a.createElement(A,{click:se,allData:y,data:m,facetsFromURL:k,clear:le,domainSource:"ebiweb_training_events"})))),0===m.hitCount?"":a.a.createElement("div",null,a.a.createElement("div",{className:"vf-u-margin__top--1200"}),a.a.createElement("section",{id:"results"},a.a.createElement("div",{className:"vf-u-margin__top--400"}),a.a.createElement("section",null,a.a.createElement("div",null),a.a.createElement("div",null,a.a.createElement(g,{handleQuerySubmit:ce,handleSearch:function(e){Y(e)},search:V,query:te,options:null===X||void 0===X?void 0:X.data,optionClick:function(e){Y(null===e||void 0===e?void 0:e.trim()),re(null===e||void 0===e?void 0:e.trim()),ne.push("/live-events?query=".concat(e.trim(),"&domain=ebiweb_training_events"))},placeholder:"Search within live ".concat(null===W||void 0===W||null===(r=W.results.find((function(e){return e.machine_name===oe})))||void 0===r?void 0:r.title," training")}),a.a.createElement("div",null,a.a.createElement("p",null,"Showing ",a.a.createElement("strong",null,function(){if((null===m||void 0===m?void 0:m.hitCount)&&S){var e="".concat(10*S-9," - ").concat(10*S),t="".concat(10*S-9," - ").concat(m.hitCount);return m.hitCount>=10*S?e:t}}())," "," out of ",a.a.createElement("strong",null,null===m||void 0===m?void 0:m.hitCount)," live events"," ")))),a.a.createElement("div",{className:"vf-u-margin__top--1200"}),a.a.createElement(he,{data:m})),m.hitCount>10?a.a.createElement(M,{activePage:S||1,totalItemsCount:m.hitCount,handlePageChange:function(e){T(e),P(e?10*(e-1):1),ne.push("?facets=".concat(k,"&page=").concat(e,"&query=").concat(te)),setTimeout((function(){window.scrollTo(0,0)}),700)}}):"")):a.a.createElement("section",{className:"vf-grid"},a.a.createElement("div",null,a.a.createElement("img",{alt:"progress",src:"../../progressbar.gif",width:"50px"}),a.a.createElement("h4",null,"Loading live events...")))),0===(null===m||void 0===m?void 0:m.hitCount)?a.a.createElement("p",null,"Currently there are no upcoming events - please see our ",a.a.createElement(u.b,{to:"/services/".concat(null===ie||void 0===ie?void 0:ie.servicename.toLowerCase(),"/on-demand")},"on-demand training")," which includes materials from past courses."):""),(null===J||void 0===J||null===(i=J.related_services)||void 0===i?void 0:i.length)>0?a.a.createElement(gr,{service:J}):"",a.a.createElement("div",{className:"vf-u-margin__top--1200"}))};function _r(){_r=function(){return e};var e={},t=Object.prototype,r=t.hasOwnProperty,n="function"==typeof Symbol?Symbol:{},a=n.iterator||"@@iterator",i=n.asyncIterator||"@@asyncIterator",o=n.toStringTag||"@@toStringTag";function s(e,t,r){return Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}),e[t]}try{s({},"")}catch(L){s=function(e,t,r){return e[t]=r}}function l(e,t,r,n){var a=t&&t.prototype instanceof d?t:d,i=Object.create(a.prototype),o=new k(n||[]);return i._invoke=function(e,t,r){var n="suspendedStart";return function(a,i){if("executing"===n)throw new Error("Generator is already running");if("completed"===n){if("throw"===a)throw i;return x()}for(r.method=a,r.arg=i;;){var o=r.delegate;if(o){var s=w(o,r);if(s){if(s===u)continue;return s}}if("next"===r.method)r.sent=r._sent=r.arg;else if("throw"===r.method){if("suspendedStart"===n)throw n="completed",r.arg;r.dispatchException(r.arg)}else"return"===r.method&&r.abrupt("return",r.arg);n="executing";var l=c(e,t,r);if("normal"===l.type){if(n=r.done?"completed":"suspendedYield",l.arg===u)continue;return{value:l.arg,done:r.done}}"throw"===l.type&&(n="completed",r.method="throw",r.arg=l.arg)}}}(e,r,o),i}function c(e,t,r){try{return{type:"normal",arg:e.call(t,r)}}catch(L){return{type:"throw",arg:L}}}e.wrap=l;var u={};function d(){}function m(){}function h(){}var f={};s(f,a,(function(){return this}));var v=Object.getPrototypeOf,p=v&&v(v(N([])));p&&p!==t&&r.call(p,a)&&(f=p);var g=h.prototype=d.prototype=Object.create(f);function y(e){["next","throw","return"].forEach((function(t){s(e,t,(function(e){return this._invoke(t,e)}))}))}function b(e,t){var n;this._invoke=function(a,i){function o(){return new t((function(n,o){!function n(a,i,o,s){var l=c(e[a],e,i);if("throw"!==l.type){var u=l.arg,d=u.value;return d&&"object"==typeof d&&r.call(d,"__await")?t.resolve(d.__await).then((function(e){n("next",e,o,s)}),(function(e){n("throw",e,o,s)})):t.resolve(d).then((function(e){u.value=e,o(u)}),(function(e){return n("throw",e,o,s)}))}s(l.arg)}(a,i,n,o)}))}return n=n?n.then(o,o):o()}}function w(e,t){var r=e.iterator[t.method];if(void 0===r){if(t.delegate=null,"throw"===t.method){if(e.iterator.return&&(t.method="return",t.arg=void 0,w(e,t),"throw"===t.method))return u;t.method="throw",t.arg=new TypeError("The iterator does not provide a 'throw' method")}return u}var n=c(r,e.iterator,t.arg);if("throw"===n.type)return t.method="throw",t.arg=n.arg,t.delegate=null,u;var a=n.arg;return a?a.done?(t[e.resultName]=a.value,t.next=e.nextLoc,"return"!==t.method&&(t.method="next",t.arg=void 0),t.delegate=null,u):a:(t.method="throw",t.arg=new TypeError("iterator result is not an object"),t.delegate=null,u)}function E(e){var t={tryLoc:e[0]};1 in e&&(t.catchLoc=e[1]),2 in e&&(t.finallyLoc=e[2],t.afterLoc=e[3]),this.tryEntries.push(t)}function _(e){var t=e.completion||{};t.type="normal",delete t.arg,e.completion=t}function k(e){this.tryEntries=[{tryLoc:"root"}],e.forEach(E,this),this.reset(!0)}function N(e){if(e){var t=e[a];if(t)return t.call(e);if("function"==typeof e.next)return e;if(!isNaN(e.length)){var n=-1,i=function t(){for(;++n<e.length;)if(r.call(e,n))return t.value=e[n],t.done=!1,t;return t.value=void 0,t.done=!0,t};return i.next=i}}return{next:x}}function x(){return{value:void 0,done:!0}}return m.prototype=h,s(g,"constructor",h),s(h,"constructor",m),m.displayName=s(h,o,"GeneratorFunction"),e.isGeneratorFunction=function(e){var t="function"==typeof e&&e.constructor;return!!t&&(t===m||"GeneratorFunction"===(t.displayName||t.name))},e.mark=function(e){return Object.setPrototypeOf?Object.setPrototypeOf(e,h):(e.__proto__=h,s(e,o,"GeneratorFunction")),e.prototype=Object.create(g),e},e.awrap=function(e){return{__await:e}},y(b.prototype),s(b.prototype,i,(function(){return this})),e.AsyncIterator=b,e.async=function(t,r,n,a,i){void 0===i&&(i=Promise);var o=new b(l(t,r,n,a),i);return e.isGeneratorFunction(r)?o:o.next().then((function(e){return e.done?e.value:o.next()}))},y(g),s(g,o,"Generator"),s(g,a,(function(){return this})),s(g,"toString",(function(){return"[object Generator]"})),e.keys=function(e){var t=[];for(var r in e)t.push(r);return t.reverse(),function r(){for(;t.length;){var n=t.pop();if(n in e)return r.value=n,r.done=!1,r}return r.done=!0,r}},e.values=N,k.prototype={constructor:k,reset:function(e){if(this.prev=0,this.next=0,this.sent=this._sent=void 0,this.done=!1,this.delegate=null,this.method="next",this.arg=void 0,this.tryEntries.forEach(_),!e)for(var t in this)"t"===t.charAt(0)&&r.call(this,t)&&!isNaN(+t.slice(1))&&(this[t]=void 0)},stop:function(){this.done=!0;var e=this.tryEntries[0].completion;if("throw"===e.type)throw e.arg;return this.rval},dispatchException:function(e){if(this.done)throw e;var t=this;function n(r,n){return o.type="throw",o.arg=e,t.next=r,n&&(t.method="next",t.arg=void 0),!!n}for(var a=this.tryEntries.length-1;a>=0;--a){var i=this.tryEntries[a],o=i.completion;if("root"===i.tryLoc)return n("end");if(i.tryLoc<=this.prev){var s=r.call(i,"catchLoc"),l=r.call(i,"finallyLoc");if(s&&l){if(this.prev<i.catchLoc)return n(i.catchLoc,!0);if(this.prev<i.finallyLoc)return n(i.finallyLoc)}else if(s){if(this.prev<i.catchLoc)return n(i.catchLoc,!0)}else{if(!l)throw new Error("try statement without catch or finally");if(this.prev<i.finallyLoc)return n(i.finallyLoc)}}}},abrupt:function(e,t){for(var n=this.tryEntries.length-1;n>=0;--n){var a=this.tryEntries[n];if(a.tryLoc<=this.prev&&r.call(a,"finallyLoc")&&this.prev<a.finallyLoc){var i=a;break}}i&&("break"===e||"continue"===e)&&i.tryLoc<=t&&t<=i.finallyLoc&&(i=null);var o=i?i.completion:{};return o.type=e,o.arg=t,i?(this.method="next",this.next=i.finallyLoc,u):this.complete(o)},complete:function(e,t){if("throw"===e.type)throw e.arg;return"break"===e.type||"continue"===e.type?this.next=e.arg:"return"===e.type?(this.rval=this.arg=e.arg,this.method="return",this.next="end"):"normal"===e.type&&t&&(this.next=t),u},finish:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var r=this.tryEntries[t];if(r.finallyLoc===e)return this.complete(r.completion,r.afterLoc),_(r),u}},catch:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var r=this.tryEntries[t];if(r.tryLoc===e){var n=r.completion;if("throw"===n.type){var a=n.arg;_(r)}return a}}throw new Error("illegal catch attempt")},delegateYield:function(e,t,r){return this.delegate={iterator:N(e),resultName:t,nextLoc:r},"next"===this.method&&(this.arg=void 0),u}},e}var kr=function(){var e,t,r=Object(n.useState)(),i=Object(c.a)(r,2),o=i[0],d=i[1],m=Object(n.useState)(),f=Object(c.a)(m,2),v=f[0],p=f[1],y=Object(n.useState)([]),w=Object(c.a)(y,2),E=w[0],_=w[1],k=Object(n.useState)(),N=Object(c.a)(k,2),x=N[0],O=N[1],S=Object(n.useState)(0),T=Object(c.a)(S,2),C=T[0],B=T[1],I=Object(n.useState)(null),P=Object(c.a)(I,2),F=P[0],G=P[1],W=Object(n.useState)(null),q=Object(c.a)(W,2),D=q[0],R=q[1],J=Object(n.useState)(),U=Object(c.a)(J,2),z=U[0],H=U[1],V=Object(n.useState)(),Y=Object(c.a)(V,2),K=Y[0],Z=Y[1],X=Object(n.useState)(),Q=Object(c.a)(X,2),$=Q[0],ee=Q[1],te=Object(s.g)(),re=Object(s.h)(),ne=Object(s.i)(),ae=null===ne||void 0===ne?void 0:ne.servicename.toLowerCase();Object(n.useEffect)((function(){try{(function(){var e=Object(l.a)(_r().mark((function e(){var t,r;return _r().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return t=function(){var e=Object(l.a)(_r().mark((function e(){var t;return _r().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(null!==F){e.next=5;break}return e.next=3,b.a.get("https://trainingcontent.embl.org/api/v1/training-services");case 3:t=e.sent,G(t.data);case 5:null===D&&R(null===F||void 0===F?void 0:F.results.find((function(e){return e.machine_name===ae})));case 6:case"end":return e.stop()}}),e)})));return function(){return e.apply(this,arguments)}}(),r=function(){var e=Object(l.a)(_r().mark((function e(){var t,r,n,a,i,o,s,l,u,m,h,f,v;return _r().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return r=null===D||void 0===D?void 0:D.title,n=new URLSearchParams(re.search),a=n.get("facets")?null===(t=n.get("facets"))||void 0===t?void 0:t.split(","):"",i=n.get("page")?n.get("page"):"1",O(i?parseInt(i):1),o=i?10*(parseInt(i)-1):0,B(o),0===(null===E||void 0===E?void 0:E.length)&&_(a),te.listen((function(e,t){"POP"===t&&setTimeout((function(){window.scrollTo(0,0)}),700)})),s=n.get("query")?n.get("query"):"",ee(s),H(s),e.next=14,b.a.get("https://www.ebi.ac.uk/ebisearch/ws/rest/ebiweb_training_events?format=json&query=".concat(s||"domain_source:ebiweb_training_events"," AND timeframe:past&start=").concat(o,"&size=10&fieldurl=true&fields=title,description,start_date,end_date,date_time_clean,type,training_type,url,venue,materials,status,timeframe&facetcount=50&sort=").concat(s&&""!==s?"":"start_date","&facets=resource_training_page:").concat(r));case 14:return l=e.sent,e.next=17,b.a.get("https://www.ebi.ac.uk/ebisearch/ws/rest/ebiweb_training_events?format=json&query=".concat(s||"domain_source:ebiweb_training_events"," AND timeframe:past&start=").concat(o,"&size=10&fieldurl=true&fields=title,description,start_date,end_date,date_time_clean,type,training_type,url,venue,materials,status,timeframe&facetcount=50&sort=").concat(s&&""!==s?"":"start_date","&facets=").concat(a,",resource_training_page:").concat(r));case 17:return u=e.sent,e.next=20,b.a.get("https://www.ebi.ac.uk/api/v1/ebi-training-autocomplete-keywords?source=trainingcontenthub&domain=live&_format=json");case 20:return m=e.sent,e.next=23,Promise.all([m]);case 23:h=e.sent,f=Object(c.a)(h,1),v=f[0],p(l.data),d(u.data),Z(v),p(l.data),d(u.data);case 31:case"end":return e.stop()}}),e)})));return function(){return e.apply(this,arguments)}}(),e.next=4,t();case 4:return e.next=6,r();case 6:case"end":return e.stop()}}),e)})));return function(){return e.apply(this,arguments)}})()()}catch(e){alert(e)}}),[E,te,re,x,C,$,ae,F,D]);var ie=function(){var e=Object(l.a)(_r().mark((function e(t){var r,n,a,i;return _r().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:try{(r=t.target).checked?((n=[]).push.apply(n,Object(j.a)(E||[]).concat([r.dataset.facetid+":"+r.dataset.facetlabel])),_(n),te.push("?facets=".concat(n,"&query=").concat($))):((a=[]).push.apply(a,Object(j.a)(E||[])),i=null===a||void 0===a?void 0:a.indexOf(r.dataset.facetid+":"+r.dataset.facetlabel),a.splice(i,1),a.length>0?_(a):_([]),te.push("?facets=".concat(a,"&query=").concat($)))}catch(o){alert(o)}case 1:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}(),oe=function(){var e=Object(l.a)(_r().mark((function e(t){return _r().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:te.push("?facets="),_([]),t.preventDefault();case 3:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}(),se=function(){var e=Object(l.a)(_r().mark((function e(t){return _r().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:t.preventDefault(),ee(null===z||void 0===z?void 0:z.trim()),te.push("/services/".concat(null===ne||void 0===ne?void 0:ne.servicename.toLowerCase(),"/past-events?query=").concat(null===z||void 0===z?void 0:z.trim(),"&domain=ebiweb_training_events"));case 3:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}();return a.a.createElement(a.a.Fragment,null,a.a.createElement("div",{className:"vf-grid vf-grid__col-4"},a.a.createElement("div",{className:"vf-grid__col--span-3"},a.a.createElement(pe,{title:"".concat(null===D||void 0===D?void 0:D.title," training"),breadcrumSectionURL:"/training/services/".concat(null===ne||void 0===ne?void 0:ne.servicename.toLowerCase()),breadcrumSectionTitle:"Live ".concat(null===D||void 0===D?void 0:D.title," training")})),a.a.createElement("div",{className:"vf-grid__col--span-1"},a.a.createElement(L,null))),a.a.createElement(h,{title:"Live ".concat(null===D||void 0===D?void 0:D.title," training"),subtitle:null===D||void 0===D?void 0:D.short_description,isHome:"0",isService:"1",isServiceHome:0,serviceName:null===D||void 0===D?void 0:D.title,serviceUrl:null===D||void 0===D?void 0:D.service_website_url,textToOtherType:"on-demand ".concat(null===D||void 0===D?void 0:D.title," training"),linkToOtherType:"/training/services/".concat(null===ne||void 0===ne?void 0:ne.servicename.toLowerCase(),"/on-demand")}),a.a.createElement("div",{className:"vf-u-margin__top--1200"}),a.a.createElement("div",{className:"vf-content"},a.a.createElement("section",{className:"vf-grid"},v&&o?a.a.createElement(a.a.Fragment,null,a.a.createElement("div",null,a.a.createElement("nav",{className:"vf-navigation vf-navigation--on-this-page | vf-u-fullbleed | vf-cluster"},a.a.createElement("ul",{className:"vf-navigation__list | vf-list | vf-cluster__inner","data-vf-js-navigation-on-this-page-container":"false"},a.a.createElement("li",{className:"vf-navigation__item"},a.a.createElement(u.b,{to:"live-events",className:"vf-navigation__link"},"Upcoming events")),a.a.createElement("li",{className:"vf-navigation__item"},a.a.createElement(u.b,{to:"past-events",className:"vf-navigation__link","aria-selected":"true"},"Past events")))),a.a.createElement("div",{className:"vf-u-margin__top--1200"}),0===o.hitCount?"":a.a.createElement(a.a.Fragment,null,a.a.createElement("h3",null,"Refine"),a.a.createElement("form",{id:"filters",className:"vf-list | ebi-academy-facetGroup"},a.a.createElement(A,{click:ie,allData:v,data:o,facetsFromURL:E,clear:oe,domainSource:"ebiweb_training_events",isPast:!0})))),0===o.hitCount?"":a.a.createElement("div",null,a.a.createElement("div",{className:"vf-u-margin__top--1200"}),a.a.createElement("section",{id:"results"},a.a.createElement("div",{className:"vf-u-margin__top--400"}),a.a.createElement("section",null,a.a.createElement("div",null),a.a.createElement("div",null,a.a.createElement(g,{handleQuerySubmit:se,handleSearch:function(e){H(e)},search:z,query:$,options:null===K||void 0===K?void 0:K.data,optionClick:function(e){H(null===e||void 0===e?void 0:e.trim()),ee(null===e||void 0===e?void 0:e.trim()),te.push("/live-events?query=".concat(e.trim(),"&domain=ebiweb_training_events"))},placeholder:"Search within live ".concat(null===F||void 0===F||null===(e=F.results.find((function(e){return e.machine_name===ae})))||void 0===e?void 0:e.title," training")}),a.a.createElement("div",null,a.a.createElement("p",null,"Showing ",a.a.createElement("strong",null,function(){if((null===o||void 0===o?void 0:o.hitCount)&&x){var e="".concat(10*x-9," - ").concat(10*x),t="".concat(10*x-9," - ").concat(o.hitCount);return o.hitCount>=10*x?e:t}}())," "," out of ",a.a.createElement("strong",null,null===o||void 0===o?void 0:o.hitCount)," live events"," ")))),a.a.createElement("div",{className:"vf-u-margin__top--1200"}),a.a.createElement(he,{data:o})),o.hitCount>10?a.a.createElement(M,{activePage:x||1,totalItemsCount:o.hitCount,handlePageChange:function(e){O(e),B(e?10*(e-1):1),te.push("?facets=".concat(E,"&page=").concat(e,"&query=").concat($)),setTimeout((function(){window.scrollTo(0,0)}),700)}}):"")):a.a.createElement("section",{className:"vf-grid"},a.a.createElement("div",null,a.a.createElement("img",{alt:"progress",src:"../../progressbar.gif",width:"50px"}),a.a.createElement("h4",null,"Loading past events...")))),0===(null===o||void 0===o?void 0:o.hitCount)?a.a.createElement("p",null,"Currently there are no past events - please see our ",a.a.createElement(u.b,{to:"/services/".concat(null===ne||void 0===ne?void 0:ne.servicename.toLowerCase(),"/on-demand")},"on-demand")," which includes materials from past courses."):""),(null===D||void 0===D||null===(t=D.related_services)||void 0===t?void 0:t.length)>0?a.a.createElement(gr,{service:D}):"",a.a.createElement("div",{className:"vf-u-margin__top--1200"}))};function Nr(){Nr=function(){return e};var e={},t=Object.prototype,r=t.hasOwnProperty,n="function"==typeof Symbol?Symbol:{},a=n.iterator||"@@iterator",i=n.asyncIterator||"@@asyncIterator",o=n.toStringTag||"@@toStringTag";function s(e,t,r){return Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}),e[t]}try{s({},"")}catch(L){s=function(e,t,r){return e[t]=r}}function l(e,t,r,n){var a=t&&t.prototype instanceof d?t:d,i=Object.create(a.prototype),o=new k(n||[]);return i._invoke=function(e,t,r){var n="suspendedStart";return function(a,i){if("executing"===n)throw new Error("Generator is already running");if("completed"===n){if("throw"===a)throw i;return x()}for(r.method=a,r.arg=i;;){var o=r.delegate;if(o){var s=w(o,r);if(s){if(s===u)continue;return s}}if("next"===r.method)r.sent=r._sent=r.arg;else if("throw"===r.method){if("suspendedStart"===n)throw n="completed",r.arg;r.dispatchException(r.arg)}else"return"===r.method&&r.abrupt("return",r.arg);n="executing";var l=c(e,t,r);if("normal"===l.type){if(n=r.done?"completed":"suspendedYield",l.arg===u)continue;return{value:l.arg,done:r.done}}"throw"===l.type&&(n="completed",r.method="throw",r.arg=l.arg)}}}(e,r,o),i}function c(e,t,r){try{return{type:"normal",arg:e.call(t,r)}}catch(L){return{type:"throw",arg:L}}}e.wrap=l;var u={};function d(){}function m(){}function h(){}var f={};s(f,a,(function(){return this}));var v=Object.getPrototypeOf,p=v&&v(v(N([])));p&&p!==t&&r.call(p,a)&&(f=p);var g=h.prototype=d.prototype=Object.create(f);function y(e){["next","throw","return"].forEach((function(t){s(e,t,(function(e){return this._invoke(t,e)}))}))}function b(e,t){var n;this._invoke=function(a,i){function o(){return new t((function(n,o){!function n(a,i,o,s){var l=c(e[a],e,i);if("throw"!==l.type){var u=l.arg,d=u.value;return d&&"object"==typeof d&&r.call(d,"__await")?t.resolve(d.__await).then((function(e){n("next",e,o,s)}),(function(e){n("throw",e,o,s)})):t.resolve(d).then((function(e){u.value=e,o(u)}),(function(e){return n("throw",e,o,s)}))}s(l.arg)}(a,i,n,o)}))}return n=n?n.then(o,o):o()}}function w(e,t){var r=e.iterator[t.method];if(void 0===r){if(t.delegate=null,"throw"===t.method){if(e.iterator.return&&(t.method="return",t.arg=void 0,w(e,t),"throw"===t.method))return u;t.method="throw",t.arg=new TypeError("The iterator does not provide a 'throw' method")}return u}var n=c(r,e.iterator,t.arg);if("throw"===n.type)return t.method="throw",t.arg=n.arg,t.delegate=null,u;var a=n.arg;return a?a.done?(t[e.resultName]=a.value,t.next=e.nextLoc,"return"!==t.method&&(t.method="next",t.arg=void 0),t.delegate=null,u):a:(t.method="throw",t.arg=new TypeError("iterator result is not an object"),t.delegate=null,u)}function E(e){var t={tryLoc:e[0]};1 in e&&(t.catchLoc=e[1]),2 in e&&(t.finallyLoc=e[2],t.afterLoc=e[3]),this.tryEntries.push(t)}function _(e){var t=e.completion||{};t.type="normal",delete t.arg,e.completion=t}function k(e){this.tryEntries=[{tryLoc:"root"}],e.forEach(E,this),this.reset(!0)}function N(e){if(e){var t=e[a];if(t)return t.call(e);if("function"==typeof e.next)return e;if(!isNaN(e.length)){var n=-1,i=function t(){for(;++n<e.length;)if(r.call(e,n))return t.value=e[n],t.done=!1,t;return t.value=void 0,t.done=!0,t};return i.next=i}}return{next:x}}function x(){return{value:void 0,done:!0}}return m.prototype=h,s(g,"constructor",h),s(h,"constructor",m),m.displayName=s(h,o,"GeneratorFunction"),e.isGeneratorFunction=function(e){var t="function"==typeof e&&e.constructor;return!!t&&(t===m||"GeneratorFunction"===(t.displayName||t.name))},e.mark=function(e){return Object.setPrototypeOf?Object.setPrototypeOf(e,h):(e.__proto__=h,s(e,o,"GeneratorFunction")),e.prototype=Object.create(g),e},e.awrap=function(e){return{__await:e}},y(b.prototype),s(b.prototype,i,(function(){return this})),e.AsyncIterator=b,e.async=function(t,r,n,a,i){void 0===i&&(i=Promise);var o=new b(l(t,r,n,a),i);return e.isGeneratorFunction(r)?o:o.next().then((function(e){return e.done?e.value:o.next()}))},y(g),s(g,o,"Generator"),s(g,a,(function(){return this})),s(g,"toString",(function(){return"[object Generator]"})),e.keys=function(e){var t=[];for(var r in e)t.push(r);return t.reverse(),function r(){for(;t.length;){var n=t.pop();if(n in e)return r.value=n,r.done=!1,r}return r.done=!0,r}},e.values=N,k.prototype={constructor:k,reset:function(e){if(this.prev=0,this.next=0,this.sent=this._sent=void 0,this.done=!1,this.delegate=null,this.method="next",this.arg=void 0,this.tryEntries.forEach(_),!e)for(var t in this)"t"===t.charAt(0)&&r.call(this,t)&&!isNaN(+t.slice(1))&&(this[t]=void 0)},stop:function(){this.done=!0;var e=this.tryEntries[0].completion;if("throw"===e.type)throw e.arg;return this.rval},dispatchException:function(e){if(this.done)throw e;var t=this;function n(r,n){return o.type="throw",o.arg=e,t.next=r,n&&(t.method="next",t.arg=void 0),!!n}for(var a=this.tryEntries.length-1;a>=0;--a){var i=this.tryEntries[a],o=i.completion;if("root"===i.tryLoc)return n("end");if(i.tryLoc<=this.prev){var s=r.call(i,"catchLoc"),l=r.call(i,"finallyLoc");if(s&&l){if(this.prev<i.catchLoc)return n(i.catchLoc,!0);if(this.prev<i.finallyLoc)return n(i.finallyLoc)}else if(s){if(this.prev<i.catchLoc)return n(i.catchLoc,!0)}else{if(!l)throw new Error("try statement without catch or finally");if(this.prev<i.finallyLoc)return n(i.finallyLoc)}}}},abrupt:function(e,t){for(var n=this.tryEntries.length-1;n>=0;--n){var a=this.tryEntries[n];if(a.tryLoc<=this.prev&&r.call(a,"finallyLoc")&&this.prev<a.finallyLoc){var i=a;break}}i&&("break"===e||"continue"===e)&&i.tryLoc<=t&&t<=i.finallyLoc&&(i=null);var o=i?i.completion:{};return o.type=e,o.arg=t,i?(this.method="next",this.next=i.finallyLoc,u):this.complete(o)},complete:function(e,t){if("throw"===e.type)throw e.arg;return"break"===e.type||"continue"===e.type?this.next=e.arg:"return"===e.type?(this.rval=this.arg=e.arg,this.method="return",this.next="end"):"normal"===e.type&&t&&(this.next=t),u},finish:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var r=this.tryEntries[t];if(r.finallyLoc===e)return this.complete(r.completion,r.afterLoc),_(r),u}},catch:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var r=this.tryEntries[t];if(r.tryLoc===e){var n=r.completion;if("throw"===n.type){var a=n.arg;_(r)}return a}}throw new Error("illegal catch attempt")},delegateYield:function(e,t,r){return this.delegate={iterator:N(e),resultName:t,nextLoc:r},"next"===this.method&&(this.arg=void 0),u}},e}var xr=function(){var e,t,r,i=Object(n.useState)(),o=Object(c.a)(i,2),d=o[0],m=o[1],f=Object(n.useState)(),v=Object(c.a)(f,2),p=v[0],y=v[1],w=Object(n.useState)([]),E=Object(c.a)(w,2),_=E[0],k=E[1],N=Object(n.useState)(),x=Object(c.a)(N,2),O=x[0],S=x[1],T=Object(n.useState)(0),C=Object(c.a)(T,2),B=C[0],I=C[1],P=Object(n.useState)(null),F=Object(c.a)(P,2),G=F[0],W=F[1],q=Object(n.useState)(null),D=Object(c.a)(q,2),R=D[0],J=D[1],U=Object(n.useState)(),z=Object(c.a)(U,2),H=z[0],V=z[1],K=Object(n.useState)(""),Z=Object(c.a)(K,2),X=Z[0],Q=Z[1],$=Object(n.useState)(),ee=Object(c.a)($,2),te=ee[0],re=ee[1],ne=Object(s.g)(),ae=Object(s.h)(),ie=Object(s.i)(),oe=null===ie||void 0===ie?void 0:ie.servicename.toLowerCase();Object(n.useEffect)((function(){try{(function(){var e=Object(l.a)(Nr().mark((function e(){var t,r;return Nr().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return t=function(){var e=Object(l.a)(Nr().mark((function e(){var t;return Nr().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(null!==G){e.next=5;break}return e.next=3,b.a.get("https://trainingcontent.embl.org/api/v1/training-services");case 3:t=e.sent,W(t.data);case 5:null===R&&J(null===G||void 0===G?void 0:G.results.find((function(e){return e.machine_name===oe})));case 6:case"end":return e.stop()}}),e)})));return function(){return e.apply(this,arguments)}}(),r=function(){var e=Object(l.a)(Nr().mark((function e(){var t,r,n,a,i,o,s,l,u,d,h,f,v;return Nr().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return r=null===R||void 0===R?void 0:R.title,n=new URLSearchParams(ae.search),a=n.get("facets")?null===(t=n.get("facets"))||void 0===t?void 0:t.split(","):"",0===(null===_||void 0===_?void 0:_.length)&&k(a),i=n.get("page")?n.get("page"):"1",S(i?parseInt(i):1),o=i?10*(parseInt(i)-1):0,I(o),ne.listen((function(e,t){"POP"===t&&(setTimeout((function(){window.scrollTo(0,0)}),700),console.log("POP"))})),s=n.get("query")?n.get("query"):"",re(s),V(s),e.next=14,b.a.get("https://www.ebi.ac.uk/ebisearch/ws/rest/ebiweb_training_online?format=json&query=".concat(s||"domain_source:ebiweb_training_online","&start=").concat(o,"&size=10&fieldurl=true&fields=title,subtitle,description,type,resource_training_page,training_type,url,venue,timeframe,slug&facetcount=50&sort=").concat(s&&""!==s?"":"title","&facets=resource_training_page:").concat(r));case 14:return l=e.sent,e.next=17,b.a.get("https://www.ebi.ac.uk/ebisearch/ws/rest/ebiweb_training_online?format=json&query=".concat(s||"domain_source:ebiweb_training_online","&start=").concat(o,"&size=10&fieldurl=true&fields=title,subtitle,description,type,resource_training_page,training_type,url,venue,timeframe,slug&facetcount=50&sort=").concat(s&&""!==s?"":"title","&facets=").concat(a,",resource_training_page:").concat(r));case 17:return u=e.sent,e.next=20,b.a.get("https://www.ebi.ac.uk/api/v1/ebi-training-autocomplete-keywords?source=trainingcontenthub&domain=on-demand&_format=json");case 20:return d=e.sent,e.next=23,Promise.all([d]);case 23:return h=e.sent,f=Object(c.a)(h,1),v=f[0],e.next=28,Y.refreshPlaylists(1);case 28:y(l.data),m(u.data),Q(v);case 31:case"end":return e.stop()}}),e)})));return function(){return e.apply(this,arguments)}}(),e.next=4,t();case 4:return e.next=6,r();case 6:case"end":return e.stop()}}),e)})));return function(){return e.apply(this,arguments)}})()()}catch(e){alert(e)}}),[_,ne,ae,O,B,te,G,oe,R]);var se=function(){var e=Object(l.a)(Nr().mark((function e(t){var r,n,a,i;return Nr().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:try{(r=t.target).checked?((n=[]).push.apply(n,Object(j.a)(_||[]).concat([r.dataset.facetid+":"+r.dataset.facetlabel])),k(n),ne.push("?facets=".concat(n,"&query=").concat(te))):((a=[]).push.apply(a,Object(j.a)(_||[])),i=null===a||void 0===a?void 0:a.indexOf(r.dataset.facetid+":"+r.dataset.facetlabel),a.splice(i,1),a.length>0?k(a):k([]),ne.push("?facets=".concat(a,"&query=").concat(te)))}catch(o){alert(o)}case 1:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}(),le=function(){var e=Object(l.a)(Nr().mark((function e(t){return Nr().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:ne.push("?facets="),k([]),t.preventDefault();case 3:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}(),ce=function(){var e=Object(l.a)(Nr().mark((function e(t){return Nr().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:t.preventDefault(),re(null===H||void 0===H?void 0:H.trim()),ne.push("/services/".concat(null===ie||void 0===ie?void 0:ie.servicename.toLowerCase(),"/on-demand?query=").concat(null===H||void 0===H?void 0:H.trim(),"&domain=ebiweb_training_online"));case 3:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}();return a.a.createElement(a.a.Fragment,null,a.a.createElement("div",{className:"vf-grid vf-grid__col-4"},a.a.createElement("div",{className:"vf-grid__col--span-3"},a.a.createElement(pe,{title:"".concat(null===R||void 0===R?void 0:R.title," training"),breadcrumSectionURL:"/training/services/".concat(null===ie||void 0===ie?void 0:ie.servicename.toLowerCase()),breadcrumSectionTitle:"On-demand ".concat(null===R||void 0===R?void 0:R.title," training")})),a.a.createElement("div",{className:"vf-grid__col--span-1"},a.a.createElement(L,null))),a.a.createElement("div",{id:"on-demand-masthead-container"},a.a.createElement(h,{title:"On-demand ".concat(null===R||void 0===R?void 0:R.title," training"),subtitle:null===R||void 0===R?void 0:R.short_description,isHome:"0",isService:"1",isServiceHome:0,serviceName:null===R||void 0===R?void 0:R.title,serviceUrl:null===R||void 0===R?void 0:R.service_website_url,textToOtherType:"live ".concat(null===R||void 0===R?void 0:R.title," training"),linkToOtherType:"/training/services/".concat(null===ie||void 0===ie?void 0:ie.servicename.toLowerCase(),"/live-events")})),a.a.createElement("div",{className:"vf-u-margin__top--800"}),a.a.createElement("div",{className:"vf-content"},a.a.createElement("div",{className:"vf-u-margin__top--400"}),a.a.createElement("section",{className:"vf-grid"},p&&d&&0!==d.hitCount?a.a.createElement(a.a.Fragment,null,a.a.createElement("div",null,a.a.createElement("div",{className:"vf-u-margin__top--1200"}),a.a.createElement("h3",null,"Refine"),a.a.createElement("form",{id:"filters",className:"vf-list | ebi-academy-facetGroup"},a.a.createElement(A,{click:se,allData:p,data:d,facetsFromURL:_,clear:le,domainSource:"ebiweb_training_online"}))),a.a.createElement("div",null,a.a.createElement("div",{className:"vf-u-margin__top--1200"}),a.a.createElement("div",null,a.a.createElement("section",null,a.a.createElement("div",null),a.a.createElement("div",null,a.a.createElement(g,{handleQuerySubmit:ce,handleSearch:function(e){V(e)},search:H,query:te,options:null===X||void 0===X?void 0:X.data,optionClick:function(e){V(null===e||void 0===e?void 0:e.trim()),re(null===e||void 0===e?void 0:e.trim()),ne.push("/on-demand?query=".concat(e.trim(),"&domain=ebiweb_training_online"))},placeholder:"Search within on-demand ".concat(null===G||void 0===G||null===(e=G.results.find((function(e){return e.machine_name===oe})))||void 0===e?void 0:e.title," training")}),a.a.createElement("div",null,a.a.createElement("p",null,"Showing ",a.a.createElement("strong",null,function(){if((null===d||void 0===d?void 0:d.hitCount)&&O){var e="".concat(10*O-9," - ").concat(10*O),t="".concat(10*O-9," - ").concat(d.hitCount);return d.hitCount>=10*O?e:t}}())," "," out of ",a.a.createElement("strong",null,null===d||void 0===d?void 0:d.hitCount)," results ",te?"for ".concat(te):""," in on-demand training"," ")))),a.a.createElement("div",{className:"vf-u-margin__top--1200"}),a.a.createElement(he,{data:d})),d.hitCount>10?a.a.createElement(M,{activePage:O||1,totalItemsCount:d.hitCount,handlePageChange:function(e){S(e),I(e?10*(e-1):1),ne.push("?facets=".concat(_,"&page=").concat(e,"&query=").concat(te)),setTimeout((function(){window.scrollTo(0,0)}),700)}}):"")):a.a.createElement("section",{className:"vf-grid"},a.a.createElement("div",null,a.a.createElement("img",{alt:"progress",src:"../../progressbar.gif",width:"50px"}),a.a.createElement("h4",null,"Loading results...")))),0===(null===d||void 0===d?void 0:d.hitCount)?a.a.createElement("p",null,"Currently there is no ",null===G||void 0===G||null===(t=G.results.find((function(e){return e.machine_name===oe})))||void 0===t?void 0:t.title," related on-demand training - please see our ",a.a.createElement(u.b,{to:"/services/".concat(null===ie||void 0===ie?void 0:ie.servicename.toLowerCase(),"/live-events")},"upcoming live training")):"",(null===R||void 0===R||null===(r=R.related_services)||void 0===r?void 0:r.length)>0?a.a.createElement(gr,{service:R}):""),a.a.createElement("div",{className:"vf-u-margin__top--1200"}))};function Lr(){Lr=function(){return e};var e={},t=Object.prototype,r=t.hasOwnProperty,n="function"==typeof Symbol?Symbol:{},a=n.iterator||"@@iterator",i=n.asyncIterator||"@@asyncIterator",o=n.toStringTag||"@@toStringTag";function s(e,t,r){return Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}),e[t]}try{s({},"")}catch(L){s=function(e,t,r){return e[t]=r}}function l(e,t,r,n){var a=t&&t.prototype instanceof d?t:d,i=Object.create(a.prototype),o=new k(n||[]);return i._invoke=function(e,t,r){var n="suspendedStart";return function(a,i){if("executing"===n)throw new Error("Generator is already running");if("completed"===n){if("throw"===a)throw i;return x()}for(r.method=a,r.arg=i;;){var o=r.delegate;if(o){var s=w(o,r);if(s){if(s===u)continue;return s}}if("next"===r.method)r.sent=r._sent=r.arg;else if("throw"===r.method){if("suspendedStart"===n)throw n="completed",r.arg;r.dispatchException(r.arg)}else"return"===r.method&&r.abrupt("return",r.arg);n="executing";var l=c(e,t,r);if("normal"===l.type){if(n=r.done?"completed":"suspendedYield",l.arg===u)continue;return{value:l.arg,done:r.done}}"throw"===l.type&&(n="completed",r.method="throw",r.arg=l.arg)}}}(e,r,o),i}function c(e,t,r){try{return{type:"normal",arg:e.call(t,r)}}catch(L){return{type:"throw",arg:L}}}e.wrap=l;var u={};function d(){}function m(){}function h(){}var f={};s(f,a,(function(){return this}));var v=Object.getPrototypeOf,p=v&&v(v(N([])));p&&p!==t&&r.call(p,a)&&(f=p);var g=h.prototype=d.prototype=Object.create(f);function y(e){["next","throw","return"].forEach((function(t){s(e,t,(function(e){return this._invoke(t,e)}))}))}function b(e,t){var n;this._invoke=function(a,i){function o(){return new t((function(n,o){!function n(a,i,o,s){var l=c(e[a],e,i);if("throw"!==l.type){var u=l.arg,d=u.value;return d&&"object"==typeof d&&r.call(d,"__await")?t.resolve(d.__await).then((function(e){n("next",e,o,s)}),(function(e){n("throw",e,o,s)})):t.resolve(d).then((function(e){u.value=e,o(u)}),(function(e){return n("throw",e,o,s)}))}s(l.arg)}(a,i,n,o)}))}return n=n?n.then(o,o):o()}}function w(e,t){var r=e.iterator[t.method];if(void 0===r){if(t.delegate=null,"throw"===t.method){if(e.iterator.return&&(t.method="return",t.arg=void 0,w(e,t),"throw"===t.method))return u;t.method="throw",t.arg=new TypeError("The iterator does not provide a 'throw' method")}return u}var n=c(r,e.iterator,t.arg);if("throw"===n.type)return t.method="throw",t.arg=n.arg,t.delegate=null,u;var a=n.arg;return a?a.done?(t[e.resultName]=a.value,t.next=e.nextLoc,"return"!==t.method&&(t.method="next",t.arg=void 0),t.delegate=null,u):a:(t.method="throw",t.arg=new TypeError("iterator result is not an object"),t.delegate=null,u)}function E(e){var t={tryLoc:e[0]};1 in e&&(t.catchLoc=e[1]),2 in e&&(t.finallyLoc=e[2],t.afterLoc=e[3]),this.tryEntries.push(t)}function _(e){var t=e.completion||{};t.type="normal",delete t.arg,e.completion=t}function k(e){this.tryEntries=[{tryLoc:"root"}],e.forEach(E,this),this.reset(!0)}function N(e){if(e){var t=e[a];if(t)return t.call(e);if("function"==typeof e.next)return e;if(!isNaN(e.length)){var n=-1,i=function t(){for(;++n<e.length;)if(r.call(e,n))return t.value=e[n],t.done=!1,t;return t.value=void 0,t.done=!0,t};return i.next=i}}return{next:x}}function x(){return{value:void 0,done:!0}}return m.prototype=h,s(g,"constructor",h),s(h,"constructor",m),m.displayName=s(h,o,"GeneratorFunction"),e.isGeneratorFunction=function(e){var t="function"==typeof e&&e.constructor;return!!t&&(t===m||"GeneratorFunction"===(t.displayName||t.name))},e.mark=function(e){return Object.setPrototypeOf?Object.setPrototypeOf(e,h):(e.__proto__=h,s(e,o,"GeneratorFunction")),e.prototype=Object.create(g),e},e.awrap=function(e){return{__await:e}},y(b.prototype),s(b.prototype,i,(function(){return this})),e.AsyncIterator=b,e.async=function(t,r,n,a,i){void 0===i&&(i=Promise);var o=new b(l(t,r,n,a),i);return e.isGeneratorFunction(r)?o:o.next().then((function(e){return e.done?e.value:o.next()}))},y(g),s(g,o,"Generator"),s(g,a,(function(){return this})),s(g,"toString",(function(){return"[object Generator]"})),e.keys=function(e){var t=[];for(var r in e)t.push(r);return t.reverse(),function r(){for(;t.length;){var n=t.pop();if(n in e)return r.value=n,r.done=!1,r}return r.done=!0,r}},e.values=N,k.prototype={constructor:k,reset:function(e){if(this.prev=0,this.next=0,this.sent=this._sent=void 0,this.done=!1,this.delegate=null,this.method="next",this.arg=void 0,this.tryEntries.forEach(_),!e)for(var t in this)"t"===t.charAt(0)&&r.call(this,t)&&!isNaN(+t.slice(1))&&(this[t]=void 0)},stop:function(){this.done=!0;var e=this.tryEntries[0].completion;if("throw"===e.type)throw e.arg;return this.rval},dispatchException:function(e){if(this.done)throw e;var t=this;function n(r,n){return o.type="throw",o.arg=e,t.next=r,n&&(t.method="next",t.arg=void 0),!!n}for(var a=this.tryEntries.length-1;a>=0;--a){var i=this.tryEntries[a],o=i.completion;if("root"===i.tryLoc)return n("end");if(i.tryLoc<=this.prev){var s=r.call(i,"catchLoc"),l=r.call(i,"finallyLoc");if(s&&l){if(this.prev<i.catchLoc)return n(i.catchLoc,!0);if(this.prev<i.finallyLoc)return n(i.finallyLoc)}else if(s){if(this.prev<i.catchLoc)return n(i.catchLoc,!0)}else{if(!l)throw new Error("try statement without catch or finally");if(this.prev<i.finallyLoc)return n(i.finallyLoc)}}}},abrupt:function(e,t){for(var n=this.tryEntries.length-1;n>=0;--n){var a=this.tryEntries[n];if(a.tryLoc<=this.prev&&r.call(a,"finallyLoc")&&this.prev<a.finallyLoc){var i=a;break}}i&&("break"===e||"continue"===e)&&i.tryLoc<=t&&t<=i.finallyLoc&&(i=null);var o=i?i.completion:{};return o.type=e,o.arg=t,i?(this.method="next",this.next=i.finallyLoc,u):this.complete(o)},complete:function(e,t){if("throw"===e.type)throw e.arg;return"break"===e.type||"continue"===e.type?this.next=e.arg:"return"===e.type?(this.rval=this.arg=e.arg,this.method="return",this.next="end"):"normal"===e.type&&t&&(this.next=t),u},finish:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var r=this.tryEntries[t];if(r.finallyLoc===e)return this.complete(r.completion,r.afterLoc),_(r),u}},catch:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var r=this.tryEntries[t];if(r.tryLoc===e){var n=r.completion;if("throw"===n.type){var a=n.arg;_(r)}return a}}throw new Error("illegal catch attempt")},delegateYield:function(e,t,r){return this.delegate={iterator:N(e),resultName:t,nextLoc:r},"next"===this.method&&(this.arg=void 0),u}},e}var Or=function(){var e,t=Object(n.useState)(),r=Object(c.a)(t,2),i=r[0],o=r[1],s=Object(n.useState)(),u=Object(c.a)(s,2),d=u[0],m=u[1],f=Object(n.useState)(null),v=Object(c.a)(f,2),p=v[0],g=v[1],y=Object(n.useState)(null),w=Object(c.a)(y,2),E=w[0],_=w[1],k=Object(n.useState)([]),N=Object(c.a)(k,2),x=N[0],O=N[1],S=Object(n.useState)(0),j=Object(c.a)(S,2),T=j[0],C=j[1],B=Object(n.useState)(0),I=Object(c.a)(B,2),A=I[0],P=I[1];Object(n.useEffect)((function(){try{p||function(){var e=Object(l.a)(Lr().mark((function e(){var t,r;return Lr().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,b.a.get("https://trainingcontent.embl.org/api/v1/training-services?_format=json");case 2:return t=e.sent,g(t.data),_(t.data),r=function(){var e=Object(l.a)(Lr().mark((function e(){var t,r;return Lr().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,b.a.get("https://www.ebi.ac.uk/ebisearch/ws/rest/ebiweb_training_events?format=json&query=domain_source:ebiweb_training_events%20AND%20timeframe:upcoming&start=0&size=100&fieldurl=true&fields=title,start_date,end_date,date_time_clean,type,training_type,url,venue,materials,status,timeframe,resource_training_page,course_image&facetcount=50&sort=start_date");case 2:return t=e.sent,e.next=5,b.a.get("https://www.ebi.ac.uk/ebisearch/ws/rest/ebiweb_training_online?format=json&query=domain_source:ebiweb_training_online&start=0&size=500&fieldurl=true&fields=title,subtitle,description,type,training_type,url,venue,timeframe,slug,resource_training_page,course_image&facetcount=50&sort=title");case 5:r=e.sent,o(t.data),m(r.data);case 8:case"end":return e.stop()}}),e)})));return function(){return e.apply(this,arguments)}}(),e.next=8,r();case 8:case"end":return e.stop()}}),e)})));return function(){return e.apply(this,arguments)}}()()}catch(e){alert(e)}}),[p]);return a.a.createElement(a.a.Fragment,null,a.a.createElement("div",{className:"vf-grid vf-grid__col-4"},a.a.createElement("div",{className:"vf-grid__col--span-3"},a.a.createElement(pe,{title:"EMBL-EBI Services training"})),a.a.createElement("div",{className:"vf-grid__col--span-1"},a.a.createElement(L,null))),a.a.createElement(h,{title:"EMBL-EBI Services training",subtitle:"Browse live and on-demand training content from our extensive catalogue focussing on different EMBI-EBI Services",isHome:"0",isService:"1",isServiceHome:"1"}),a.a.createElement("div",{className:"vf-content"},a.a.createElement("div",{className:"embl-grid"},a.a.createElement("div",null,a.a.createElement("div",{className:"vf-u-margin__top--1600"}),a.a.createElement("form",{id:"filters",className:"vf-list | ebi-academy-facetGroup"},a.a.createElement("div",{className:"vf-u-margin__top--1600"}),a.a.createElement("h3",null,"Refine"),a.a.createElement("legend",{className:"vf-form__legend ebi-legend-custom | vf-text"},"Categories"),a.a.createElement("ul",{className:"vf-list"},null===p||void 0===p?void 0:p.filters.map((function(e,t){return a.a.createElement("li",{key:t,style:{marginBottom:"1rem"}},a.a.createElement("div",{className:"vf-form__item vf-form__item--checkbox"},a.a.createElement("input",{type:"checkbox",id:e,name:e,onChange:function(e){return function(e){var t=x;if(C(0),P(0),e.target.checked)t.push(e.target.name),O(t);else{var r=null===t||void 0===t?void 0:t.indexOf(e.target.name);t.splice(r,1),O(t)}if(0===t.length){var n={results:p.results};return _(n),null}var a=p.results.filter((function(e){return e.categories.includes(t[0])||e.categories.includes(t[1])||e.categories.includes(t[2])||e.categories.includes(t[3])||e.categories.includes(t[4])||e.categories.includes(t[5])||e.categories.includes(t[6])||e.categories.includes(t[7])||e.categories.includes(t[8])}));_({results:a})}(e)},className:"vf-form__checkbox","data-facetid":e,"data-facetlabel":e}),a.a.createElement("label",{htmlFor:e,"data-id":e,className:"vf-form__label"}," ",e)))}))))),a.a.createElement("section",{className:"vf-summary-container"},a.a.createElement("div",{className:"vf-u-margin__top--800"}),a.a.createElement("form",{action:"#",className:"vf-form vf-form--search vf-form--search--responsive | vf-sidebar vf-sidebar--end"},a.a.createElement("div",{className:"vf-sidebar__inner"},a.a.createElement("div",{className:"vf-form__item"},a.a.createElement("label",{className:"vf-form__label vf-u-sr-only | vf-search__label",htmlFor:"searchitem"},"Search"),a.a.createElement("input",{type:"search",placeholder:"Enter your search terms",id:"searchitem",className:"vf-form__input",onChange:function(e){return function(e){C(0),P(0);var t=E.results.filter((function(t){return t.title.toLowerCase().includes(e.target.value.toLowerCase())||t.short_description.toLowerCase().includes(e.target.value.toLowerCase())}));_({results:t})}(e)}})),a.a.createElement("button",{type:"submit",className:"vf-search__button | vf-button vf-button--primary"},a.a.createElement("span",{className:"vf-button__text"},"Search")))),a.a.createElement("div",{className:"vf-u-margin__top--800"}),(null===E||void 0===E?void 0:E.results)?a.a.createElement(a.a.Fragment,null,E.results.length>10?a.a.createElement("p",null,"Showing ",a.a.createElement("strong",null,A+1)," to ",a.a.createElement("strong",null," ",A?10*T:10," ")," out of ",a.a.createElement("strong",null,null===E||void 0===E?void 0:E.results.length)," results"):a.a.createElement("p",null,"Showing ",a.a.createElement("strong",null,A+1)," to ",a.a.createElement("strong",null,null===E||void 0===E?void 0:E.results.length)," out of ",a.a.createElement("strong",null,null===E||void 0===E?void 0:E.results.length)," results"),a.a.createElement("div",{className:"vf-divider"}),a.a.createElement("div",{key:"dev2"},null===E||void 0===E||null===(e=E.results)||void 0===e?void 0:e.slice(A,A+10).map((function(e,t){return a.a.createElement("div",{key:e.url},a.a.createElement("article",{className:"vf-summary vf-summary--has-image"},a.a.createElement("a",{href:e.url,className:"vf-summary__link"},a.a.createElement("img",{className:"vf-summary__image vf-summary__image--thumbnail",src:e.logo,alt:"BioSamples",loading:"lazy"})),a.a.createElement("h3",{className:"vf-summary__title"},a.a.createElement("a",{href:e.url,className:"vf-summary__link"},e.title)),a.a.createElement("p",{className:"vf-summary__text"},(r=e.short_description)&&r.length>200?r.slice(0,200).split(" ").slice(0,-1).join(" ")+"...":r),a.a.createElement("div",{className:"vf-summary__location",style:{color:"#707372"}},a.a.createElement("div",{className:"vf-u-margin__top--200"}),a.a.createElement("span",null,function(e){var t=0,r=0;return null===i||void 0===i||i.entries.map((function(r){r.fields.resource_training_page.includes(e)&&(t+=1)})),null===d||void 0===d||d.entries.map((function(t){t.fields.resource_training_page.includes(e)&&(r+=1)})),t&&r?q()("<strong>"+t+"</strong> live course(s) <strong>"+r+"</strong> On-demand training resource(s)"):t?q()("<strong>"+t+"</strong>live course(s)"):r?q()("<strong>"+r+"</strong> On-demand training resource(s)"):void 0}(e.title)," "))),9!==t?a.a.createElement("div",{className:"vf-divider"}):"");var r})),a.a.createElement("div",{className:"vf-u-margin__top--400"})),E.results.length>10?a.a.createElement(M,{activePage:T||1,totalItemsCount:E.results.length,handlePageChange:function(e){C(e),P(e?10*(e-1):1),setTimeout((function(){window.scrollTo(0,0)}),700)}}):""):a.a.createElement("p",null,"loading..."))),a.a.createElement("div",{className:"vf-u-margin__top--800"})))},Sr=function(){return a.a.createElement(s.d,null,a.a.createElement(s.b,{path:"/trainer-support/use-our-content",component:Ue}),a.a.createElement(s.b,{path:"/trainer-support/expand-your-training-skills",component:Je}),a.a.createElement(s.b,{path:"/covid-policy",component:Mt}),a.a.createElement(s.b,{path:"/search",component:we}),a.a.createElement(s.b,{path:"/search-results",component:ye}),a.a.createElement(s.b,{path:"/live-events",component:Ne}),a.a.createElement(s.b,{path:"/past-events",component:Se}),a.a.createElement(s.b,{path:"/on-demand",component:_e}),a.a.createElement(s.b,{path:"/services/:servicename/live-events",component:Er}),a.a.createElement(s.b,{path:"/services/:servicename/past-events",component:kr}),a.a.createElement(s.b,{path:"/services/:servicename/on-demand",component:xr}),a.a.createElement(s.b,{path:"/services/:servicename",component:br}),a.a.createElement(s.b,{path:"/services",component:Or}),a.a.createElement(s.b,{path:"/terms-conditions",component:Ft}),a.a.createElement(s.b,{path:"/help",component:Ce}),a.a.createElement(s.b,{path:"/our-partnerships",component:vr}),a.a.createElement(s.b,{path:"/about",component:Ae}),a.a.createElement(s.b,{path:"/tailored",component:Ge}),a.a.createElement(s.b,{path:"/trainer-support",component:We}),a.a.createElement(s.b,{path:"/archived",component:Re}),a.a.createElement(s.b,{path:"/user/register",component:rt}),a.a.createElement(s.b,{path:"/user/account",component:St}),a.a.createElement(s.b,{path:"/user/edit-account",component:at}),a.a.createElement(s.b,{path:"/user/delete",component:Tt}),a.a.createElement(s.b,{path:"/user/deletion-reason",component:Bt}),a.a.createElement(s.b,{path:"/user/verify",component:ot}),a.a.createElement(s.b,{path:"/user/login/saml",component:yt}),a.a.createElement(s.b,{path:"/user/login",component:vt}),a.a.createElement(s.b,{path:"/user/logout",component:Ot}),a.a.createElement(s.b,{path:"/user/forgot-password",component:kt}),a.a.createElement(s.b,{path:"/user/reset-password",component:xt}),a.a.createElement(s.b,{path:"/adminview",component:ht}),a.a.createElement(s.b,{path:"/user",component:dt}),a.a.createElement(s.b,{path:"/playlists/new",component:qt}),a.a.createElement(s.b,{path:"/playlists/shared/:slug",component:ur}),a.a.createElement(s.b,{path:"/playlists/adminview/:slug/:userid",component:dr}),a.a.createElement(s.b,{path:"/playlists/:slug",component:lr}),a.a.createElement(s.b,{path:"/playlists",component:Ht}),a.a.createElement(s.b,{path:"/trainers/:slug",component:At}),a.a.createElement(s.b,{path:"/trainers",component:Gt}),a.a.createElement(s.b,{path:"/previous-embl-trainers",component:hr}),a.a.createElement(s.b,{path:"/",component:S}))};Boolean("localhost"===window.location.hostname||"[::1]"===window.location.hostname||window.location.hostname.match(/^127(?:\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)){3}$/));var jr=r(753),Tr=document.getElementById("root");o.a.render(a.a.createElement(u.a,{basename:"/training"},a.a.createElement(jr.a,null,a.a.createElement(Sr,null))),Tr),"serviceWorker"in navigator&&navigator.serviceWorker.ready.then((function(e){e.unregister()})).catch((function(e){console.error(e.message)}))}},[[335,1,2]]]); //# sourceMappingURL=main.8c3cc113.chunk.js.map