diff --git a/CHANGELOG.md b/CHANGELOG.md index c798885a..753ab77d 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -6,6 +6,14 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ## [Unreleased] +## [[0.9.5]](https://github.com/thoth-pub/thoth/releases/tag/v0.9.5) - 2023-01-17 +### Changed + - Upgrade rust to `1.66.0` in production and development `Dockerfile` + - Upgrade build dependencies (npm `v9.2.0`, n `v9.0.1`, node `v18.12.1` and rollup `v3.7.4`) in production and development `Dockerfile` + +### Fixed + - [#463](https://github.com/thoth-pub/thoth/issues/463) - Update Thema codes to v1.5 + ## [[0.9.4]](https://github.com/thoth-pub/thoth/releases/tag/v0.9.4) - 2022-12-05 ### Added - [#414](https://github.com/thoth-pub/thoth/pull/414) - Synchronise chapters' `work_status` and `publication_date` with parent's upon parent's update diff --git a/Cargo.lock b/Cargo.lock index 9c2177da..8b1c7110 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -2400,18 +2400,30 @@ checksum = "624a8340c38c1b80fd549087862da4ba43e08858af025b236e509b6649fc13d5" [[package]] name = "openssl" -version = "0.10.30" +version = "0.10.45" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8d575eff3665419f9b83678ff2815858ad9d11567e082f5ac1814baba4e2bcb4" +checksum = "b102428fd03bc5edf97f62620f7298614c45cedf287c271e7ed450bbaf83f2e1" dependencies = [ "bitflags", - "cfg-if 0.1.10", + "cfg-if 1.0.0", "foreign-types", - "lazy_static 1.4.0", "libc", + "once_cell", + "openssl-macros", "openssl-sys", ] +[[package]] +name = "openssl-macros" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b501e44f11665960c7e7fcf062c7d96a14ade4aa98116c004b2e37b5be7d736c" +dependencies = [ + "proc-macro2 1.0.36", + "quote 1.0.15", + "syn 1.0.72", +] + [[package]] name = "openssl-probe" version = "0.1.2" @@ -2429,9 +2441,9 @@ dependencies = [ [[package]] name = "openssl-sys" -version = "0.9.58" +version = "0.9.80" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a842db4709b604f0fe5d1170ae3565899be2ad3d9cbc72dedc789ac0511f78de" +checksum = "23bbbf7854cd45b83958ebe919f0e8e516793727652e27fda10a8384cfc790b7" dependencies = [ "autocfg 1.0.0", "cc", @@ -3822,7 +3834,7 @@ dependencies = [ [[package]] name = "thoth" -version = "0.9.4" +version = "0.9.5" dependencies = [ "cargo-husky", "clap", @@ -3837,7 +3849,7 @@ dependencies = [ [[package]] name = "thoth-api" -version = "0.9.4" +version = "0.9.5" dependencies = [ "actix-web", "argon2rs", @@ -3866,7 +3878,7 @@ dependencies = [ [[package]] name = "thoth-api-server" -version = "0.9.4" +version = "0.9.5" dependencies = [ "actix-cors", "actix-identity", @@ -3881,7 +3893,7 @@ dependencies = [ [[package]] name = "thoth-app" -version = "0.9.4" +version = "0.9.5" dependencies = [ "anyhow", "chrono", @@ -3909,7 +3921,7 @@ dependencies = [ [[package]] name = "thoth-app-server" -version = "0.9.4" +version = "0.9.5" dependencies = [ "actix-cors", "actix-web", @@ -3918,7 +3930,7 @@ dependencies = [ [[package]] name = "thoth-client" -version = "0.9.4" +version = "0.9.5" dependencies = [ "chrono", "graphql_client", @@ -3932,7 +3944,7 @@ dependencies = [ [[package]] name = "thoth-errors" -version = "0.9.4" +version = "0.9.5" dependencies = [ "actix-web", "csv", @@ -3951,7 +3963,7 @@ dependencies = [ [[package]] name = "thoth-export-server" -version = "0.9.4" +version = "0.9.5" dependencies = [ "actix-cors", "actix-web", diff --git a/Cargo.toml b/Cargo.toml index 6dd75734..0a893966 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "thoth" -version = "0.9.4" +version = "0.9.5" authors = ["Javier Arias ", "Ross Higman "] edition = "2018" license = "Apache-2.0" @@ -16,11 +16,11 @@ maintenance = { status = "actively-developed" } members = ["thoth-api", "thoth-api-server", "thoth-app", "thoth-app-server", "thoth-client", "thoth-errors", "thoth-export-server"] [dependencies] -thoth-api = { version = "0.9.4", path = "thoth-api", features = ["backend"] } -thoth-api-server = { version = "0.9.4", path = "thoth-api-server" } -thoth-app-server = { version = "0.9.4", path = "thoth-app-server" } -thoth-errors = { version = "0.9.4", path = "thoth-errors" } -thoth-export-server = { version = "0.9.4", path = "thoth-export-server" } +thoth-api = { version = "0.9.5", path = "thoth-api", features = ["backend"] } +thoth-api-server = { version = "0.9.5", path = "thoth-api-server" } +thoth-app-server = { version = "0.9.5", path = "thoth-app-server" } +thoth-errors = { version = "0.9.5", path = "thoth-errors" } +thoth-export-server = { version = "0.9.5", path = "thoth-export-server" } clap = "2.33.3" dialoguer = "0.7.1" dotenv = "0.15.0" diff --git a/Dockerfile b/Dockerfile index 0f8685e8..2cdcd55f 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,12 +1,12 @@ -ARG RUST_IMAGE=rust:1.65.0 -ARG MUSL_IMAGE=clux/muslrust:1.65.0-stable +ARG RUST_IMAGE=rust:1.66.0 +ARG MUSL_IMAGE=clux/muslrust:1.66.0 FROM ${RUST_IMAGE} as wasm -ENV NPM_VERSION=8.15.1 -ENV N_VERSION=9.0.0 -ENV NODE_VERSION=16.16.0 -ENV ROLLUP_VERSION=2.77.2 +ENV NPM_VERSION=9.2.0 +ENV N_VERSION=9.0.1 +ENV NODE_VERSION=18.12.1 +ENV ROLLUP_VERSION=3.7.4 ENV WASM_PACK_VERSION=0.10.3 ARG THOTH_GRAPHQL_API=https://api.thoth.pub @@ -18,9 +18,9 @@ WORKDIR /wasm # Install build dependencies RUN apt-get update && apt-get -y install pkg-config npm -RUN npm install -g npm@${NPM_VERSION} RUN npm install -g n@${N_VERSION} RUN n ${NODE_VERSION} +RUN npm install -g npm@${NPM_VERSION} RUN npm install -g rollup@${ROLLUP_VERSION} RUN cargo install wasm-pack --version ${WASM_PACK_VERSION} diff --git a/Dockerfile.dev b/Dockerfile.dev index 6d52a4eb..19d5b522 100644 --- a/Dockerfile.dev +++ b/Dockerfile.dev @@ -1,11 +1,11 @@ -ARG RUST_VERSION=1.65.0 +ARG RUST_VERSION=1.66.0 FROM rust:${RUST_VERSION} -ENV NPM_VERSION=8.15.1 -ENV N_VERSION=9.0.0 -ENV NODE_VERSION=16.16.0 -ENV ROLLUP_VERSION=2.77.2 +ENV NPM_VERSION=9.2.0 +ENV N_VERSION=9.0.1 +ENV NODE_VERSION=18.12.1 +ENV ROLLUP_VERSION=3.7.4 ENV WASM_PACK_VERSION=0.10.3 ARG THOTH_GRAPHQL_API=http://localhost:8000 @@ -22,9 +22,9 @@ EXPOSE 8181 # Install build dependencies RUN apt-get update && apt-get -y install pkg-config npm -RUN npm install -g npm@${NPM_VERSION} RUN npm install -g n@${N_VERSION} RUN n ${NODE_VERSION} +RUN npm install -g npm@${NPM_VERSION} RUN npm install -g rollup@${ROLLUP_VERSION} RUN cargo install wasm-pack --version ${WASM_PACK_VERSION} diff --git a/thoth-api-server/Cargo.toml b/thoth-api-server/Cargo.toml index b2c240ee..274a8d48 100644 --- a/thoth-api-server/Cargo.toml +++ b/thoth-api-server/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "thoth-api-server" -version = "0.9.4" +version = "0.9.5" authors = ["Javier Arias ", "Ross Higman "] edition = "2018" license = "Apache-2.0" @@ -9,8 +9,8 @@ repository = "https://github.com/thoth-pub/thoth" readme = "README.md" [dependencies] -thoth-api = { version = "0.9.4", path = "../thoth-api", features = ["backend"] } -thoth-errors = { version = "0.9.4", path = "../thoth-errors" } +thoth-api = { version = "0.9.5", path = "../thoth-api", features = ["backend"] } +thoth-errors = { version = "0.9.5", path = "../thoth-errors" } actix-web = "4.0.1" actix-cors = "0.6.0" actix-identity = "0.4.0" diff --git a/thoth-api/Cargo.toml b/thoth-api/Cargo.toml index b3cfe0b8..736ffba6 100644 --- a/thoth-api/Cargo.toml +++ b/thoth-api/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "thoth-api" -version = "0.9.4" +version = "0.9.5" authors = ["Javier Arias ", "Ross Higman "] edition = "2018" license = "Apache-2.0" @@ -16,7 +16,7 @@ maintenance = { status = "actively-developed" } backend = ["diesel", "diesel-derive-enum", "diesel_migrations", "futures", "actix-web"] [dependencies] -thoth-errors = { version = "0.9.4", path = "../thoth-errors" } +thoth-errors = { version = "0.9.5", path = "../thoth-errors" } actix-web = { version = "4.0.1", optional = true } argon2rs = "0.2.5" isbn2 = "0.4.0" diff --git a/thoth-api/src/model/subject/mod.rs b/thoth-api/src/model/subject/mod.rs index 739f2976..71dc4a1b 100644 --- a/thoth-api/src/model/subject/mod.rs +++ b/thoth-api/src/model/subject/mod.rs @@ -199,7 +199,7 @@ fn test_check_subject() { static THEMA_CODES: Map<&'static str, &'static str> = phf_map! { "A" => "The Arts", - "AB" => "The arts: general issues", + "AB" => "The arts: general topics", "ABA" => "Theory of art", "ABC" => "Conservation, restoration and care of artworks", "ABK" => "Forgery, falsification and theft of artworks", @@ -256,6 +256,8 @@ static THEMA_CODES: Map<&'static str, &'static str> = phf_map! { "AJTA" => "Camera-specific manuals", "AJTF" => "Photography: subject-specific techniques and principles", "AJTH" => "Digital photography", + "AJTR" => "Monochrome photography", + "AJTS" => "Light and lighting", "AJTV" => "Video photography / videography", "AK" => "Design, Industrial and commercial arts, illustration", "AKB" => "Individual designers or design groups", @@ -273,7 +275,7 @@ static THEMA_CODES: Map<&'static str, &'static str> = phf_map! { "AKR" => "Furniture design", "AKT" => "Fashion and textile design", "AKTF" => "Fashion and textile design: accessories", - "AKTR" => "National or regional costume", + "AKTR" => "National or regional costume / textiles", "AKX" => "History of design", "AM" => "Architecture", "AMA" => "Theory of architecture", @@ -313,6 +315,7 @@ static THEMA_CODES: Map<&'static str, &'static str> = phf_map! { "ATJ" => "Television", "ATJD" => "Television screenplays, scripts and performances", "ATJS" => "Television: styles and genres", + "ATJS1" => "Film, television, radio genres: reality shows", "ATJX" => "Television production: technical and background skills", "ATL" => "Radio / podcasts", "ATLD" => "Radio plays, scripts and performances", @@ -322,7 +325,7 @@ static THEMA_CODES: Map<&'static str, &'static str> = phf_map! { "ATMF" => "Film, television, radio genres: Drama", "ATMH" => "Film, television, radio genres: Historical", "ATMN" => "Film, television, radio genres: Science fiction, fantasy and horror", - "ATMP" => "Film, television, radio genres: superhero and comic book inspired", + "ATMP" => "Film, television, radio genres: Superhero and comic book inspired", "ATN" => "Internet and digital media: arts and performance", "ATQ" => "Dance", "ATQC" => "Choreography", @@ -331,7 +334,10 @@ static THEMA_CODES: Map<&'static str, &'static str> = phf_map! { "ATQT" => "Contemporary dance", "ATQV" => "Dancers / choreographers", "ATQZ" => "Folk dancing", + "ATS" => "Performing arts: makeup", + "ATT" => "Performing arts: costume / props", "ATX" => "Other performing arts", + "ATXB" => "Drag culture and performance", "ATXC" => "Circus and circus skills", "ATXD" => "Comedy and stand-up", "ATXF" => "Conjuring and magic", @@ -367,8 +373,10 @@ static THEMA_CODES: Map<&'static str, &'static str> = phf_map! { "AVRL" => "String instruments", "AVRL1" => "Guitar", "AVRL2" => "Plucked instruments", - "AVRL3" => "Violin", + "AVRL3" => "Violin and violin family instruments", "AVRN" => "Wind instruments", + "AVRN1" => "Brass instruments", + "AVRN2" => "Woodwind instruments", "AVRQ" => "Mechanical musical instruments", "AVRS" => "Electronic musical instruments", "AVS" => "Techniques of music / music tutorials / teaching of music", @@ -409,6 +417,7 @@ static THEMA_CODES: Map<&'static str, &'static str> = phf_map! { "CJAB" => "Language teaching and learning: first or native languages", "CJAD" => "Language teaching and learning: second or additional languages", "CJB" => "Language teaching and learning material and coursework", + "CJBC" => "Language teaching and learning material and coursework: culture / civilisation", "CJBG" => "Language learning: grammar, vocabulary and pronunciation", "CJBR" => "Language readers", "CJBT" => "Language self-study", @@ -450,6 +459,8 @@ static THEMA_CODES: Map<&'static str, &'static str> = phf_map! { "DNBB1" => "Autobiography: business and industry", "DNBF" => "Biography: arts and entertainment", "DNBF1" => "Autobiography: arts and entertainment", + "DNBG" => "Biography: social media", + "DNBG1" => "Autobiography: social media", "DNBH" => "Biography: historical, political and military", "DNBH1" => "Autobiography: historical, political and military", "DNBL" => "Biography: writers", @@ -472,6 +483,7 @@ static THEMA_CODES: Map<&'static str, &'static str> = phf_map! { "DNG" => "Animal life stories", "DNL" => "Literary essays", "DNP" => "Reportage, journalism or collected columns", + "DNPB" => "Interviews / discussions", "DNS" => "Speeches", "DNT" => "Anthologies: general", "DNX" => "True stories: general", @@ -502,14 +514,15 @@ static THEMA_CODES: Map<&'static str, &'static str> = phf_map! { "DSYC" => "Children’s and teenage book reviews and guides", "F" => "Fiction and Related items", "FB" => "Fiction: general and literary", - "FBA" => "Modern and contemporary fiction", - "FBAN" => "‘Street’ fiction", - "FBC" => "Classic fiction", - "FC" => "Biographical fiction", + "FBA" => "Modern and contemporary fiction: general and literary", + "FBAN" => "Street fiction / urban fiction", + "FBC" => "Classic fiction: general and literary", + "FC" => "Biographical fiction / autobiographical fiction", "FD" => "Speculative fiction", "FDB" => "Dystopian and utopian fiction", "FDK" => "Alternative history fiction", "FDM" => "Afrofuturism / Black Speculative fiction", + "FDV" => "Metaphysical / philosophical fiction", "FF" => "Crime and mystery fiction", "FFC" => "Classic crime and mystery fiction", "FFD" => "Crime and mystery: private investigator / amateur detectives", @@ -523,10 +536,15 @@ static THEMA_CODES: Map<&'static str, &'static str> = phf_map! { "FH" => "Thriller / suspense fiction", "FHD" => "Espionage and spy thriller", "FHK" => "Technothriller", + "FHM" => "Medical thriller", "FHP" => "Political / legal thriller", "FHQ" => "Esoteric thriller", + "FHR" => "Thriller: organised crime", + "FHS" => "Thriller: serial killers", + "FHT" => "Thriller: terrorism", "FHX" => "Psychological thriller", - "FJ" => "Adventure fiction", + "FJ" => "Adventure / action fiction", + "FJD" => "Martial arts fiction", "FJH" => "Historical adventure fiction", "FJM" => "War, combat and military adventure fiction", "FJMC" => "Napoleonic War fiction", @@ -542,8 +560,9 @@ static THEMA_CODES: Map<&'static str, &'static str> = phf_map! { "FL" => "Science fiction", "FLC" => "Classic science fiction", "FLG" => "Science fiction: time travel", + "FLH" => "Hard science fiction", "FLM" => "Science fiction: steampunk", - "FLP" => "Science fiction: near-future", + "FLP" => "Science fiction: near future", "FLPB" => "Science fiction: cyberpunk / biopunk", "FLQ" => "Science fiction: apocalyptic and post-apocalyptic", "FLR" => "Science fiction: military", @@ -556,28 +575,30 @@ static THEMA_CODES: Map<&'static str, &'static str> = phf_map! { "FMK" => "Comic (humorous) fantasy", "FMM" => "Magical realism", "FMR" => "Fantasy romance", + "FMS" => "Superhero stories", "FMT" => "Dark fantasy", "FMW" => "Contemporary fantasy", "FMX" => "Urban fantasy", - "FN" => "Traditional stories, myths and fairy tales", - "FNF" => "Fairy and Folk tales", - "FNM" => "Myths and Legends", + "FN" => "Fiction: Traditional stories, myths and fairy tales", + "FNF" => "Fairy and Folk tales / Fairy tale retellings", + "FNM" => "Myths and Legends / Mythic fiction", "FP" => "Erotic fiction", "FQ" => "Contemporary lifestyle fiction", "FR" => "Romance", - "FRD" => "Contemporary romance", + "FRD" => "Modern and Contemporary romance", "FRF" => "Romance: wholesome", "FRH" => "Historical romance", "FRJ" => "Romance: ‘western’, rural or ‘outback’", "FRM" => "Romantic suspense", "FRP" => "Romance in uniform", "FRQ" => "Romance: medical", + "FRR" => "Romance: the rich / famous / powerful", "FRT" => "Romance: fantasy and paranormal", "FRU" => "Romance: time travel", "FRV" => "Dark romance", "FRX" => "Erotic romance", "FS" => "Family life fiction", - "FT" => "Generational sagas", + "FT" => "Saga fiction (family / generational sagas)", "FU" => "Humorous fiction", "FUP" => "Satirical fiction and parodies", "FV" => "Historical fiction", @@ -585,7 +606,8 @@ static THEMA_CODES: Map<&'static str, &'static str> = phf_map! { "FX" => "Fiction: narrative themes", "FXB" => "Narrative theme: Coming of age", "FXD" => "Narrative theme: Love and relationships", - "FXE" => "Narrative theme: Environmental issues", + "FXE" => "Narrative theme: Environmental issues / the natural world", + "FXK" => "Narrative theme: Health and illness", "FXL" => "Narrative theme: Death, grief, loss", "FXM" => "Narrative theme: Interior life", "FXN" => "Narrative theme: Identity / belonging", @@ -593,16 +615,20 @@ static THEMA_CODES: Map<&'static str, &'static str> = phf_map! { "FXQ" => "Narrative theme: Displacement, exile, migration", "FXR" => "Narrative theme: Sense of place", "FXS" => "Narrative theme: Social issues", + "FXT" => "Narrative theme: Diversity, equality, inclusion", + "FXV" => "Narrative theme: Journeys and voyages", "FY" => "Fiction: special features", "FYB" => "Short stories", + "FYC" => "Novella (Short Novel)", "FYD" => "Epistolary fiction", "FYH" => "Fiction: pastiche", "FYM" => "Fiction: mashup", + "FYP" => "Fiction based on or inspired by true events", "FYQ" => "Fiction: special features: Yaoi / BL novels", "FYR" => "Category fiction", "FYS" => "Fiction: special features: ranobe (‘light novels’)", "FYT" => "Fiction in translation", - "FYV" => "Fiction: inspired by or adapted from", + "FYV" => "Fiction: inspired by or adapted from other media", "FYW" => "Fiction: special features: game-related", "FZ" => "Fiction companions", "G" => "Reference, Information and Interdisciplinary subjects", @@ -642,6 +668,7 @@ static THEMA_CODES: Map<&'static str, &'static str> = phf_map! { "GTM" => "Regional / International studies", "GTP" => "Development studies", "GTQ" => "Globalization", + "GTS" => "Decolonisation of knowledge / Decoloniality", "GTT" => "Flags, emblems, symbols, logos", "GTU" => "Peace studies and conflict resolution", "GTV" => "Institutions and learned societies: general", @@ -652,10 +679,10 @@ static THEMA_CODES: Map<&'static str, &'static str> = phf_map! { "JBCC" => "Cultural studies", "JBCC1" => "Popular culture", "JBCC2" => "Material culture", - "JBCC3" => "Cultural studies: fashion and society", + "JBCC3" => "Cultural studies: dress and society", "JBCC4" => "Cultural studies: food and society", "JBCC6" => "Cultural studies: customs and traditions", - "JBCC7" => "Cross-cultural studies and topics", + "JBCC7" => "Cross-cultural / Intercultural studies and topics", "JBCC8" => "Cultural policies and debates", "JBCC9" => "History of ideas", "JBCT" => "Media studies", @@ -665,12 +692,12 @@ static THEMA_CODES: Map<&'static str, &'static str> = phf_map! { "JBCT4" => "Media studies: journalism", "JBCT5" => "Disinformation and misinformation", "JBF" => "Social and ethical issues", - "JBFA" => "Social discrimination and equal treatment", - "JBFA1" => "Racism and racial discrimination", + "JBFA" => "Social discrimination and social justice", + "JBFA1" => "Racism and racial discrimination / Anti-racism", "JBFB" => "Social Integration and assimilation", "JBFC" => "Poverty and precarity", "JBFD" => "Housing and homelessness", - "JBFF" => "Social impact of disasters", + "JBFF" => "Social impact of disasters / accidents (natural or man-made)", "JBFG" => "Refugees and political asylum", "JBFG1" => "Aiding escape and evasion", "JBFH" => "Migration, immigration and emigration", @@ -697,9 +724,9 @@ static THEMA_CODES: Map<&'static str, &'static str> = phf_map! { "JBFX" => "Social attitudes", "JBFZ" => "Social forecasting, future studies", "JBG" => "Popular beliefs and controversial knowledge", - "JBGB" => "Folklore, myths and legends", + "JBGB" => "Folklore studies / Study of myth (mythology)", "JBGX" => "Conspiracy theories", - "JBS" => "Social groups and identities", + "JBS" => "Social groups, communities and identities", "JBSA" => "Social classes", "JBSC" => "Rural communities", "JBSD" => "Urban communities", @@ -708,7 +735,8 @@ static THEMA_CODES: Map<&'static str, &'static str> = phf_map! { "JBSF11" => "Feminism and feminist theory", "JBSF2" => "Gender studies: men and boys", "JBSF3" => "Gender studies: ‘trans’, transgender people and gender variance", - "JBSJ" => "LGBTQ+ / Gay and Lesbian Studies", + "JBSJ" => "LGBTQ+ Studies / topics", + "JBSJ2" => "LGBTQ+ topics: coming out", "JBSL" => "Ethnic studies", "JBSL1" => "Ethnic groups and multicultural studies", "JBSL11" => "Indigenous peoples", @@ -795,6 +823,7 @@ static THEMA_CODES: Map<&'static str, &'static str> = phf_map! { "JN" => "Education", "JNA" => "Philosophy and theory of education", "JNAM" => "Moral and social purpose of education", + "JNAS" => "Progressive education", "JNB" => "History of education", "JNC" => "Educational psychology", "JND" => "Educational systems and structures", @@ -814,6 +843,7 @@ static THEMA_CODES: Map<&'static str, &'static str> = phf_map! { "JNLB" => "Primary and middle schools", "JNLC" => "Secondary schools", "JNLP" => "Independent schools, private education", + "JNLQ" => "Residential educational institutions", "JNLR" => "Faith (religious) schools", "JNLV" => "Outdoor schools / education", "JNM" => "Higher education, tertiary education", @@ -857,7 +887,7 @@ static THEMA_CODES: Map<&'static str, &'static str> = phf_map! { "JPFR" => "Religious and theocratic ideologies", "JPH" => "Political structure and processes", "JPHC" => "Constitution: government and the state", - "JPHF" => "Elections and referenda", + "JPHF" => "Elections and referenda / suffrage", "JPHL" => "Political leaders and leadership", "JPHV" => "Political structures: democracy", "JPHX" => "Political structures: totalitarianism and dictatorship", @@ -880,8 +910,9 @@ static THEMA_CODES: Map<&'static str, &'static str> = phf_map! { "JPVH" => "Human rights, civil rights", "JPVR" => "Political oppression and persecution", "JPVR1" => "Political abduction, imprisonment, ‘Disappearance’ and assassination", - "JPW" => "Political activism", + "JPW" => "Political activism / Political engagement", "JPWA" => "Public opinion and polls", + "JPWB" => "Public affairs / Lobbying", "JPWC" => "Political campaigning and advertising", "JPWG" => "Pressure groups, protest movements and non-violent action", "JPWH" => "Non-governmental organizations (NGOs)", @@ -897,6 +928,7 @@ static THEMA_CODES: Map<&'static str, &'static str> = phf_map! { "JWCK" => "Naval forces and warfare", "JWCM" => "Air forces and warfare", "JWCS" => "Special and elite forces", + "JWD" => "Information warfare / Cyberwarfare", "JWJ" => "Military administration", "JWK" => "Military and defence strategy", "JWKF" => "Military intelligence", @@ -932,8 +964,8 @@ static THEMA_CODES: Map<&'static str, &'static str> = phf_map! { "KCJ" => "Economic forecasting", "KCK" => "Behavioural economics", "KCL" => "International economics", - "KCM" => "Development economics and emerging economies", "KCLT" => "International trade and commerce", + "KCM" => "Development economics and emerging economies", "KCP" => "Political economy", "KCS" => "Economic systems and structures", "KCSA" => "Capitalism", @@ -941,14 +973,14 @@ static THEMA_CODES: Map<&'static str, &'static str> = phf_map! { "KCSG" => "Planned economic systems", "KCST" => "Circular economic systems", "KCV" => "Economics of specific sectors", - "KCVD" => "Agricultural economics", + "KCVD" => "Agricultural and rural economics", "KCVG" => "Environmental economics", "KCVJ" => "Health economics", "KCVK" => "Welfare economics", "KCVM" => "Digital or internet economics", - "KCVP" => "Knowledge economics", + "KCVP" => "Knowledge / Information / Data economics", "KCVQ" => "Service sector economics", - "KCVS" => "Urban economics", + "KCVS" => "Regional / urban economics", "KCX" => "Economic and financial crises and disasters", "KCY" => "Popular economics", "KCZ" => "Economic history", @@ -956,12 +988,17 @@ static THEMA_CODES: Map<&'static str, &'static str> = phf_map! { "KFC" => "Accounting", "KFCC" => "Cost accounting", "KFCF" => "Financial accounting", - "KFCM" => "Management accounting and bookkeeping", + "KFCM" => "Management accounting, bookkeeping and auditing", + "KFCM1" => "Auditing / Audits", + "KFCM2" => "Valuation (finance)", "KFCP" => "Public finance accounting", "KFCR" => "Financial reporting, financial statements", + "KFCT" => "Tax planning and compliance", "KFCX" => "Accounting: study and revision guides", - "KFF" => "Finance", + "KFF" => "Finance and the finance industry", + "KFFC" => "Fundraising, grants, donations", "KFFD" => "Public finance and taxation", + "KFFF" => "Financial technology (fintech)", "KFFH" => "Corporate finance", "KFFJ" => "Currency / Foreign exchange", "KFFK" => "Banking", @@ -970,6 +1007,8 @@ static THEMA_CODES: Map<&'static str, &'static str> = phf_map! { "KFFN" => "Insurance and actuarial studies", "KFFP" => "Pensions", "KFFR" => "Property and real estate", + "KFFS" => "Green finance / sustainable finance", + "KFFT" => "Private wealth management", "KFFX" => "Banking and finance: study and revision guides", "KJ" => "Business and Management", "KJB" => "Business studies: general", @@ -980,7 +1019,7 @@ static THEMA_CODES: Map<&'static str, &'static str> = phf_map! { "KJE" => "E-commerce: business aspects", "KJF" => "Business competition", "KJG" => "Business ethics and social responsibility", - "KJH" => "Entrepreneurship", + "KJH" => "Entrepreneurship / Start-ups", "KJJ" => "Business and the environment; ‘green’ approaches to business", "KJK" => "International business", "KJL" => "Consultancy", @@ -988,6 +1027,7 @@ static THEMA_CODES: Map<&'static str, &'static str> = phf_map! { "KJMB" => "Management: leadership and motivation", "KJMD" => "Management decision making", "KJMK" => "Knowledge management", + "KJMN" => "Business process / operations management", "KJMP" => "Project management", "KJMQ" => "Quality Assurance (QA) and Total Quality Management (TQM)", "KJMT" => "Time management", @@ -995,8 +1035,9 @@ static THEMA_CODES: Map<&'static str, &'static str> = phf_map! { "KJMV1" => "Budgeting and financial management", "KJMV2" => "Personnel and human resources management", "KJMV21" => "Performance management / appraisals", - "KJMV22" => "Diversity and inclusion in the workplace", - "KJMV4" => "Management of real estate, property and plant", + "KJMV22" => "Diversity, equality and inclusion in the workplace", + "KJMV3" => "IT and information systems management", + "KJMV4" => "Management of assets: real estate, property and plant", "KJMV5" => "Production and quality control management", "KJMV6" => "Research and development management", "KJMV7" => "Sales and marketing management", @@ -1009,10 +1050,12 @@ static THEMA_CODES: Map<&'static str, &'static str> = phf_map! { "KJS" => "Sales and marketing", "KJSA" => "Advertising", "KJSC" => "Brands and branding", - "KJSG" => "Online marketing", + "KJSG" => "Online marketing / Social media marketing", "KJSJ" => "Direct marketing / telemarketing", "KJSM" => "Market research", "KJSP" => "Public relations", + "KJSR" => "Marketing for change / Cause-related marketing", + "KJST" => "Greenwashing and other forms of deceptive marketing", "KJSU" => "Customer services", "KJT" => "Operational research", "KJU" => "Organizational theory and behaviour", @@ -1023,6 +1066,7 @@ static THEMA_CODES: Map<&'static str, &'static str> = phf_map! { "KJVG" => "Multinationals", "KJVN" => "Public ownership / nationalization", "KJVP" => "Monopolies", + "KJVQ" => "Family and Owner-Managed Companies", "KJVS" => "Small businesses and self-employment", "KJVT" => "Outsourcing and insourcing", "KJVV" => "Joint ventures", @@ -1059,6 +1103,7 @@ static THEMA_CODES: Map<&'static str, &'static str> = phf_map! { "KNSG" => "Hospitality, sports, leisure and tourism industries", "KNSJ" => "Events management industry", "KNSX" => "Fashion and beauty industries", + "KNSZ" => "Deathcare and funeral industries", "KNT" => "Media, entertainment, information and communication industries", "KNTC" => "Film, TV and Radio industries", "KNTF" => "Music industry", @@ -1086,6 +1131,7 @@ static THEMA_CODES: Map<&'static str, &'static str> = phf_map! { "LAFT" => "Systems of law: Jewish Law", "LAFX" => "Systems of law: ecclesiastical (canon) law", "LAM" => "Comparative law", + "LAP" => "Legal technology", "LAQ" => "Law and society, sociology of law", "LAQG" => "Law and society, gender issues", "LAR" => "Legal aspects of criminology", @@ -1095,7 +1141,7 @@ static THEMA_CODES: Map<&'static str, &'static str> = phf_map! { "LASK" => "Legal skills: negotiating and interviewing", "LASN" => "Legal skills: research methods", "LASP" => "Legal practice: paralegals and paralegalism", - "LAT" => "Legal profession: general", + "LAT" => "Legal profession / practice of law: general", "LATC" => "Legal ethics and professional conduct", "LAY" => "Law as it applies to other professions and disciplines", "LAZ" => "Legal history", @@ -1137,7 +1183,8 @@ static THEMA_CODES: Map<&'static str, &'static str> = phf_map! { "LN" => "Laws of specific jurisdictions and specific areas of law", "LNA" => "Legal systems: general", "LNAA" => "Legal systems: courts and procedures", - "LNAA1" => "Legal systems: judicial powers", + "LNAA1" => "Legal systems: judges and judicial powers", + "LNAA12" => "Legal systems: lay and citizen judges / juries", "LNAA2" => "Legal systems: law of contempt", "LNAC" => "Legal systems: civil procedure, litigation and dispute resolution", "LNAC1" => "Civil remedies", @@ -1147,11 +1194,13 @@ static THEMA_CODES: Map<&'static str, &'static str> = phf_map! { "LNAC3" => "Civil procedure: law of evidence", "LNAC4" => "Civil procedure: investigation and specific proceedings", "LNAC5" => "Arbitration, mediation and alternative dispute resolution", + "LNAD" => "Legal systems: General Part / General Provisions", "LNAF" => "Legal systems: costs and funding", "LNAL" => "Legal systems: regulation of legal profession", "LNB" => "Private or civil law: general", "LNBA" => "Legal entity (natural and legal persons)", "LNBB" => "Civil registration system", + "LNBF" => "Law of Obligations / legal duties", "LNC" => "Company, commercial and competition law: general", "LNCB" => "Commercial law", "LNCB1" => "Franchising law", @@ -1229,7 +1278,7 @@ static THEMA_CODES: Map<&'static str, &'static str> = phf_map! { "LNFT" => "Road traffic law, motoring offences", "LNFU" => "Criminal law: fiscal offences", "LNFV" => "Criminal law: terrorism law", - "LNFW" => "Corruption", + "LNFW" => "Criminal law: corruption", "LNFX" => "Criminal procedure", "LNFX1" => "Sentencing and punishment", "LNFX3" => "Criminal procedure: law of evidence", @@ -1266,6 +1315,7 @@ static THEMA_CODES: Map<&'static str, &'static str> = phf_map! { "LNMB" => "Family law: marriage, separation and divorce", "LNMC" => "Family law: cohabitation", "LNMF" => "Family law: same-sex partnership", + "LNMG" => "Family law: legal guardianship", "LNMI" => "Family law: financial statement between spouses", "LNMK" => "Family law: children", "LNP" => "Financial law: general", @@ -1274,6 +1324,7 @@ static THEMA_CODES: Map<&'static str, &'static str> = phf_map! { "LNPC" => "Bankruptcy and insolvency", "LNPC1" => "Bankruptcy law: extrajudicial procedures", "LNPD" => "Capital markets and securities law and regulation", + "LNPE" => "Private equity law", "LNPF" => "Financial services law and regulation", "LNPN" => "Insurance law", "LNPP" => "Pensions, old-age provisions and private compensation", @@ -1287,7 +1338,7 @@ static THEMA_CODES: Map<&'static str, &'static str> = phf_map! { "LNRL" => "Designs law", "LNRV" => "Confidential information law", "LNS" => "Property law: general", - "LNSH" => "Land and real estate law", + "LNSH" => "Land and real estate law / Real property law", "LNSH1" => "Ownership and mortgage law", "LNSH3" => "Landlord and tenant law", "LNSH5" => "Conveyancing law", @@ -1310,8 +1361,10 @@ static THEMA_CODES: Map<&'static str, &'static str> = phf_map! { "LNTV" => "Food law", "LNTX" => "Licensing, gaming and club law", "LNU" => "Taxation and duties law", - "LNUC" => "Corporate and business tax", + "LNUC" => "Corporate and business tax laws", "LNUD" => "Local taxation, charges, public sector pricing", + "LNUE" => "Environmental tax laws", + "LNUG" => "Payroll or workforce tax laws", "LNUP" => "Personal tax", "LNUS" => "Sales tax, tariffs and customs duties", "LNUT" => "Trusts and estates taxation, gift tax", @@ -1324,7 +1377,8 @@ static THEMA_CODES: Map<&'static str, &'static str> = phf_map! { "LNVC" => "Negligence", "LNVF" => "Nuisance", "LNVJ" => "Personal injury", - "LNW" => "Law: wills, probate, succession", + "LNW" => "Law: wills, probate, succession, inheritance", + "LNWB" => "Private client law", "LNX" => "Public Law", "LNZ" => "Primary sources of law", "LNZC" => "Sources of law: case law, precedent", @@ -1356,7 +1410,7 @@ static THEMA_CODES: Map<&'static str, &'static str> = phf_map! { "MB" => "Medicine: general issues", "MBD" => "Medical profession", "MBDC" => "Medical ethics and professional conduct", - "MBDP" => "Doctor/patient relationship", + "MBDP" => "Doctor / patient relationship", "MBDS" => "Patient safety", "MBF" => "Medical and health informatics", "MBG" => "Medical equipment and techniques", @@ -1410,9 +1464,10 @@ static THEMA_CODES: Map<&'static str, &'static str> = phf_map! { "MJCG" => "Congenital diseases and disorders", "MJCG1" => "Hereditary diseases and disorders", "MJCJ" => "Infectious and contagious diseases", - "MJCJ1" => "Venereal diseases", - "MJCJ2" => "Medicine: HIV/AIDS, retroviral diseases", - "MJCJ3" => "Hospital-acquired infections", + "MJCJ1" => "Sexually transmitted infections / Venereal diseases", + "MJCJ2" => "Medicine: HIV/AIDS, retroviral diseases", + "MJCJ3" => "Hospital-acquired infections", + "MJCJ4" => "Human coronaviruses", "MJCL" => "Oncology", "MJCL1" => "Radiotherapy", "MJCL2" => "Chemotherapy", @@ -1422,7 +1477,7 @@ static THEMA_CODES: Map<&'static str, &'static str> = phf_map! { "MJE" => "Musculoskeletal medicine", "MJF" => "Haematology", "MJG" => "Endocrinology", - "MJGD" => "Medicine: Diabetes", + "MJGD" => "Medicine: Diabetes", "MJH" => "Gastroenterology", "MJJ" => "Hepatology", "MJK" => "Dermatology", @@ -1516,15 +1571,16 @@ static THEMA_CODES: Map<&'static str, &'static str> = phf_map! { "MQC" => "Nursing", "MQCA" => "Nursing fundamentals and skills", "MQCB" => "Nursing research and theory", - "MQCH" => "Nurse/patient relationship", + "MQCH" => "Nurse / patient relationship", "MQCL" => "Nursing specialties", "MQCL1" => "Accident and emergency nursing", "MQCL2" => "Intensive care nursing", "MQCL3" => "Paediatric nursing", "MQCL4" => "Geriatric nursing", - "MQCL5" => "Psychiatric nursing", + "MQCL5" => "Psychiatric nursing / Mental health nursing", "MQCL6" => "Surgical nursing", - "MQCL7" => "Nurse practitioner/ Advanced Practice nursing and equivalents", + "MQCL7" => "Nurse practitioner / Advanced Practice nursing and equivalents", + "MQCL8" => "Learning disability nursing / Special needs nursing", "MQCL9" => "Terminal care nursing", "MQCM" => "Nursing pharmacology", "MQCW" => "Nursing sociology", @@ -1540,7 +1596,7 @@ static THEMA_CODES: Map<&'static str, &'static str> = phf_map! { "MQR" => "Optometry / opticians", "MQS" => "Physiotherapy", "MQT" => "Occupational therapy", - "MQTC" => "Creative therapy", + "MQTC" => "Creative therapy / Expressive therapies", "MQU" => "Medical counselling", "MQV" => "Rehabilitation", "MQVB" => "Rehabilitation: brain and spinal injuries", @@ -1549,13 +1605,15 @@ static THEMA_CODES: Map<&'static str, &'static str> = phf_map! { "MQWP" => "Prosthetics", "MQZ" => "Mortuary practice", "MR" => "Medical study and revision guides and reference material", - "MRG" => "Medical study and revision guides", + "MRG" => "Medical study, exam preparation and revision guides", "MRGD" => "Medical revision aids: MRCP", "MRGK" => "Medical revision aids: MRCS", "MRGL" => "Medical revision aids: PLAB", + "MRP" => "Medical guidelines / Clinical guidelines", "MRT" => "Medical charts, colour atlases", - "MX" => "Complementary medicine", + "MX" => "Complementary and alternative medicine and therapies", "MXH" => "Chiropractic and osteopathy", + "MXN" => "Animal-assisted therapy", "MZ" => "Veterinary medicine", "MZA" => "Veterinary medicine: general", "MZAB" => "Veterinary medicine: research", @@ -1604,7 +1662,7 @@ static THEMA_CODES: Map<&'static str, &'static str> = phf_map! { "NHT" => "History: specific events and topics", "NHTB" => "Social and cultural history", "NHTD" => "Oral history", - "NHTF" => "History: plagues, diseases etc", + "NHTF" => "History: plagues, diseases, famines", "NHTG" => "Genealogy, heraldry, names and honours", "NHTK" => "Industrialisation and industrial history", "NHTM" => "Maritime history", @@ -1612,6 +1670,7 @@ static THEMA_CODES: Map<&'static str, &'static str> = phf_map! { "NHTP1" => "Historical maps and atlases", "NHTQ" => "Colonialism and imperialism", "NHTR" => "National liberation and independence", + "NHTR1" => "Decolonisation and postcolonial studies", "NHTS" => "Slavery and abolition of slavery", "NHTT" => "Invasion, conquest and occupation", "NHTV" => "Revolutions, uprisings, rebellions", @@ -1695,6 +1754,7 @@ static THEMA_CODES: Map<&'static str, &'static str> = phf_map! { "PDK" => "Science funding and policy", "PDM" => "Scientific research", "PDN" => "Scientific equipment, experiments and techniques", + "PDND" => "Microscopy", "PDR" => "Impact of science and technology on society", "PDT" => "Nanosciences", "PDX" => "History of science", @@ -1786,6 +1846,7 @@ static THEMA_CODES: Map<&'static str, &'static str> = phf_map! { "PSAN5" => "Cognitive and behavioural neuroscience", "PSAX" => "Computational biology / bioinformatics", "PSB" => "Biochemistry", + "PSBD" => "Phytochemistry", "PSC" => "Developmental biology", "PSD" => "Molecular biology", "PSE" => "Chemical biology", @@ -1817,7 +1878,7 @@ static THEMA_CODES: Map<&'static str, &'static str> = phf_map! { "PSVM3" => "Zoology: primates (primatology)", "PSVP" => "Ethology and animal behaviour", "PSX" => "Human biology", - "PSXE" => "Evolutionary anthropology", + "PSXE" => "Evolutionary anthropology / Human evolution", "Q" => "Philosophy and Religion", "QD" => "Philosophy", "QDH" => "Philosophical traditions and schools of thought", @@ -1844,11 +1905,15 @@ static THEMA_CODES: Map<&'static str, &'static str> = phf_map! { "QDTN" => "Philosophy: aesthetics", "QDTQ" => "Ethics and moral philosophy", "QDTS" => "Social and political philosophy", + "QDTS1" => "Critical theory", "QDX" => "Popular philosophy", + "QDXB" => "Popular philosophy: Meaning of life / finding sense in life", "QR" => "Religion and beliefs", "QRA" => "Religion: general", "QRAB" => "Philosophy of religion", - "QRAB1" => "Nature and existence of God", + "QRAB1" => "Nature and existence of God and of the Divine", + "QRAB7" => "Religion: Sin / salvation", + "QRAB9" => "Religion: Eschatology", "QRAC" => "Comparative religion", "QRAF" => "Interfaith relations", "QRAM" => "Religious issues and debates", @@ -1861,7 +1926,7 @@ static THEMA_CODES: Map<&'static str, &'static str> = phf_map! { "QRAX" => "History of religion", "QRD" => "Hinduism", "QRDB" => "Hinduism: branches and groups", - "QRDF" => "Hindu sacred texts and revered writings", + "QRDF" => "Hinduism: sacred texts and revered writings", "QRDF1" => "Hindu texts: Vedas, Upanishads", "QRDF2" => "Hindu texts: Bhagavad Gita", "QRDP" => "Hindu life and practice", @@ -1871,7 +1936,7 @@ static THEMA_CODES: Map<&'static str, &'static str> = phf_map! { "QRFB2" => "Mahayana Buddhism", "QRFB21" => "Tibetan Buddhism", "QRFB23" => "Zen Buddhism", - "QRFF" => "Buddhist sacred texts and revered writings", + "QRFF" => "Buddhism: sacred texts and revered writings", "QRFP" => "Buddhist life and practice", "QRJ" => "Judaism", "QRJB" => "Judaism: branches and groups", @@ -1892,7 +1957,7 @@ static THEMA_CODES: Map<&'static str, &'static str> = phf_map! { "QRMB33" => "Calvinist, Reformed and Presbyterian Churches", "QRMB34" => "Lutheran Churches", "QRMB35" => "Methodist Churches", - "QRMB36" => "Pentecostal Churches", + "QRMB36" => "Pentecostal or Charismatic Churches", "QRMB37" => "Quakers (Religious Society of Friends)", "QRMB39" => "Other Nonconformist and Evangelical Churches", "QRMB5" => "Denominations of American origin", @@ -1913,7 +1978,7 @@ static THEMA_CODES: Map<&'static str, &'static str> = phf_map! { "QRPB2" => "Islamic groups: Khawarij, Kharijite", "QRPB3" => "Islamic groups: Shi’ah, Shi’ite", "QRPB4" => "Islamic groups: Sufis", - "QRPF" => "Islamic sacred texts and revered writings", + "QRPF" => "Islam: sacred texts and revered writings", "QRPF1" => "The Koran (Qur’an)", "QRPF2" => "Hadith", "QRPP" => "Islamic life and practice", @@ -1927,10 +1992,10 @@ static THEMA_CODES: Map<&'static str, &'static str> = phf_map! { "QRRL3" => "Shintoism", "QRRL5" => "Taoism", "QRRL6" => "Chinese folk religion", - "QRRM" => "Afro-American religions", + "QRRM" => "Afro-American / African diaspora religions", "QRRN" => "Traditional African religions and spiritual beliefs", - "QRRT" => "Other indigenous, ethnic and folk religions and spiritual beliefs", - "QRRT1" => "Pre-Columbian religions and mythologies", + "QRRT" => "Indigenous, ethnic and folk religions and spiritual beliefs", + "QRRT1" => "Indigenous religions, spiritual beliefs and mythologies of the Americas", "QRRV" => "Animism and Shamanism", "QRS" => "Ancient religions and Mythologies", "QRSA" => "Ancient Egyptian religion and mythology", @@ -1953,6 +2018,7 @@ static THEMA_CODES: Map<&'static str, &'static str> = phf_map! { "QRVK" => "Spirituality and religious experience", "QRVK2" => "Mysticism", "QRVK4" => "Miracles, apparitions and religious phenomena", + "QRVL" => "Religion: death and dying", "QRVP" => "Religious life and practice", "QRVP1" => "Pilgrimage", "QRVP2" => "Religious Festivals", @@ -1960,6 +2026,7 @@ static THEMA_CODES: Map<&'static str, &'static str> = phf_map! { "QRVP4" => "Fasting and abstinence", "QRVP5" => "Religious counselling", "QRVP7" => "Religious aspects of sexuality, gender and relationships", + "QRVQ" => "Religious sites / Holy or sacred places", "QRVS" => "Religious institutions and organizations", "QRVS1" => "Religious and spiritual figures", "QRVS2" => "Religious social and pastoral thought and activity", @@ -2012,8 +2079,10 @@ static THEMA_CODES: Map<&'static str, &'static str> = phf_map! { "RGBL3" => "Broadleaf forest", "RGBL4" => "Boreal, coniferous forest", "RGBP" => "Coastlines", + "RGBP1" => "Coastal wetlands / tidal flats / mudflats", + "RGBQ" => "Islands", "RGBR" => "Coral reefs", - "RGBS" => "Mountains", + "RGBS" => "Mountains and uplands", "RGBU" => "Glaciers and ice caps", "RGC" => "Human geography", "RGCD" => "Development and environmental geography", @@ -2027,11 +2096,11 @@ static THEMA_CODES: Map<&'static str, &'static str> = phf_map! { "RGM" => "Biogeography", "RGR" => "Geographical discovery and exploration", "RGV" => "Cartography, map-making and projections", - "RGW" => "Geographical information systems and remote sensing", + "RGW" => "Geographical information systems, geodata and remote sensing", "RGX" => "Geographical reference works", - "RGXB" => "World atlases / world maps", - "RGXH" => "Geographical maps (specialist)", - "RGXM" => "Naval and marine charts", + "RGXB" => "World / regional atlases or maps", + "RGXH" => "Geographical maps: specialist / thematic maps", + "RGXM" => "Naval, nautical and marine charts", "RGXP" => "Place names and gazetteers", "RN" => "The environment", "RNA" => "Environmentalist thought and ideology", @@ -2047,6 +2116,7 @@ static THEMA_CODES: Map<&'static str, &'static str> = phf_map! { "RNK" => "Conservation of the environment", "RNKH" => "Conservation of wildlife and habitats", "RNKH1" => "Endangered species and extinction of species", + "RNKH2" => "Restoration ecology / rewilding", "RNP" => "Pollution and threats to the environment", "RNPD" => "Deforestation", "RNPG" => "Climate change", @@ -2084,6 +2154,7 @@ static THEMA_CODES: Map<&'static str, &'static str> = phf_map! { "SFBV" => "Rugby League", "SFC" => "Baseball", "SFD" => "Cricket", + "SFG" => "Floorball and other hockey variants", "SFH" => "Golf", "SFJ" => "Field hockey", "SFK" => "Lacrosse", @@ -2091,7 +2162,7 @@ static THEMA_CODES: Map<&'static str, &'static str> = phf_map! { "SFM" => "Basketball", "SFN" => "Netball", "SFP" => "Volleyball", - "SFQ" => "Handball", + "SFQ" => "Handball and its variants", "SFT" => "Racket games", "SFTA" => "Tennis", "SFTB" => "Badminton", @@ -2247,6 +2318,7 @@ static THEMA_CODES: Map<&'static str, &'static str> = phf_map! { "TGPR" => "Reliability engineering", "TGX" => "Engineering skills and trades", "TH" => "Energy technology and engineering", + "THD" => "Hydrogen technologies", "THF" => "Fossil fuel technologies", "THFG" => "Gas technology", "THFP" => "Petroleum technology", @@ -2263,8 +2335,10 @@ static THEMA_CODES: Map<&'static str, &'static str> = phf_map! { "THVS" => "Solar power", "THVW" => "Wind power", "THY" => "Energy, power generation, distribution and storage", + "THYB" => "Battery technology / fuel cell technology", "THYC" => "Energy efficiency", "TJ" => "Electronics and communications engineering", + "TJD" => "Haptic and other tactile technologies", "TJF" => "Electronics engineering", "TJFC" => "Electronics: circuits and components", "TJFD" => "Electronic devices and materials", @@ -2288,21 +2362,28 @@ static THEMA_CODES: Map<&'static str, &'static str> = phf_map! { "TNCE" => "Earthquake engineering", "TNCJ" => "Bridges", "TNF" => "Hydraulic engineering", + "TNFD" => "Coastal engineering", "TNFL" => "Flood control", "TNH" => "Highway and traffic engineering", "TNK" => "Building construction and materials", "TNKA" => "Accessibility in buildings and building design", + "TNKD" => "Building and construction regulations, rules and codes", "TNKE" => "Building physics and energy-efficient construction", "TNKF" => "Fire protection and safety", "TNKH" => "Heating, lighting, ventilation", "TNKP" => "Construction planning", - "TNKR" => "Building redevelopment", + "TNKR" => "Building redevelopment, retrofitting, refurbishment", "TNKS" => "Security and fire alarm systems", "TNKX" => "Conservation of buildings and building materials", "TNT" => "Building skills and trades", + "TNTB" => "Masonry, bricklaying, plastering, tiling, cementing skills and techniques", + "TNTC" => "Carpentry and joinery skills and techniques", + "TNTP" => "Plumbing skills and techniques", + "TNTR" => "Roofing skills and techniques", "TQ" => "Environmental science, engineering and technology", "TQD" => "Environmental monitoring", "TQK" => "Pollution control", + "TQP" => "Greenhouse gas emissions technologies", "TQS" => "Sanitary and municipal engineering", "TQSR" => "Waste treatment and disposal", "TQSW" => "Water supply and treatment", @@ -2319,6 +2400,7 @@ static THEMA_CODES: Map<&'static str, &'static str> = phf_map! { "TRP" => "Aerospace and aviation technology", "TRPS" => "Aviation skills and piloting", "TRT" => "Intelligent and automated transport system technology", + "TRV" => "Electric vehicles / alternative fuel vehicles", "TT" => "Other technologies and applied sciences", "TTA" => "Acoustic and sound engineering", "TTB" => "Applied optics", @@ -2329,6 +2411,7 @@ static THEMA_CODES: Map<&'static str, &'static str> = phf_map! { "TTD" => "Space science", "TTDS" => "Astronautics", "TTDX" => "Space exploration", + "TTG" => "Mechatronics", "TTM" => "Military engineering", "TTMW" => "Ordnance, weapons technology", "TTP" => "Explosives technology and pyrotechnics", @@ -2346,8 +2429,9 @@ static THEMA_CODES: Map<&'static str, &'static str> = phf_map! { "TV" => "Agriculture and farming", "TVB" => "Agricultural science", "TVBP" => "Soil science and management", + "TVBT" => "Agricultural land management", "TVD" => "Agricultural engineering and machinery", - "TVDR" => "Irrigation", + "TVDR" => "Irrigation and water management", "TVF" => "Sustainable agriculture", "TVG" => "Organic farming", "TVH" => "Animal husbandry", @@ -2358,13 +2442,13 @@ static THEMA_CODES: Map<&'static str, &'static str> = phf_map! { "TVHP" => "Poultry farming", "TVK" => "Agronomy and crop production", "TVM" => "Smallholdings", - "TVP" => "Pest control", - "TVQ" => "Tropical agriculture: practice and techniques", - "TVR" => "Forestry and silviculture: practice and techniques", + "TVP" => "Pest control / plant diseases", + "TVQ" => "Tropical agriculture", + "TVR" => "Forestry and silviculture", "TVS" => "Commercial horticulture", "TVSH" => "Hydroponics / hydroculture", "TVSW" => "Viticulture", - "TVT" => "Aquaculture and fish-farming: practice and techniques", + "TVT" => "Aquaculture and fish-farming", "TVU" => "Urban farming / urban agriculture", "U" => "Computing and Information Technology", "UB" => "Information technology: general topics", @@ -2393,7 +2477,7 @@ static THEMA_CODES: Map<&'static str, &'static str> = phf_map! { "UDT" => "Mobile phones and smartphones: consumer / user guides", "UDV" => "Digital TV and media centres: consumer / user guides", "UDX" => "Computer games / online games: strategy guides", - "UDY" => "Smart home technology and virtual assistants: consumer / guides", + "UDY" => "Smart home technology and virtual assistants: consumer / user guides", "UF" => "Business applications", "UFB" => "Integrated software packages", "UFC" => "Spreadsheet software", @@ -2428,7 +2512,7 @@ static THEMA_CODES: Map<&'static str, &'static str> = phf_map! { "UKP" => "Personal computers", "UKPC" => "PCs (IBM-compatible personal computers)", "UKPM" => "Macintosh", - "UKR" => "Maintenance and repairs", + "UKR" => "Computer and information technologies hardware: Maintenance and repairs", "UKS" => "Storage media and peripherals", "UKX" => "Utilities and tools", "UL" => "Operating systems", @@ -2477,7 +2561,7 @@ static THEMA_CODES: Map<&'static str, &'static str> = phf_map! { "UNH" => "Information retrieval", "UNJ" => "Object-oriented databases", "UNK" => "Distributed databases", - "UNKD" => "Distributed ledgers", + "UNKD" => "Distributed ledger technology / blockchain", "UNKP" => "Peer-to-peer networks", "UNN" => "Databases and the Web", "UNS" => "Database software", @@ -2537,6 +2621,7 @@ static THEMA_CODES: Map<&'static str, &'static str> = phf_map! { "UYV" => "Virtual reality", "UYW" => "Augmented reality (AR)", "UYX" => "Quantum computing and information", + "UYY" => "Spatial computing", "UYZ" => "Human–computer interaction", "UYZF" => "Information visualization", "UYZG" => "User interface design and usability", @@ -2545,54 +2630,59 @@ static THEMA_CODES: Map<&'static str, &'static str> = phf_map! { "VF" => "Family and health", "VFB" => "Personal safety", "VFD" => "Popular medicine and health", + "VFDB" => "Popular medicine and health: the human body", "VFDF" => "First aid for the home", "VFDJ" => "Children’s health", "VFDM" => "Men’s health", + "VFDM1" => "Prostate health", "VFDW" => "Women’s health", "VFDW2" => "Menopause", "VFG" => "Home nursing and caring", - "VFJ" => "Coping with personal, social and health topics", - "VFJB" => "Coping with illness and specific health conditions", - "VFJB1" => "Coping with allergies, including food allergies", - "VFJB2" => "Coping with back problems", - "VFJB3" => "Coping with cancer", - "VFJB4" => "Coping with heart conditions", - "VFJB5" => "Coping with diabetes", - "VFJB6" => "Coping with Alzheimer’s and dementia", - "VFJB7" => "Coping with headaches and migraines", - "VFJB9" => "Coping with chronic or long-term illness or conditions", - "VFJD" => "Coping with physical impairments / disability", - "VFJG" => "Coping with ageing", - "VFJH" => "Coping with body image issues", - "VFJJ" => "Coping with eating disorders", - "VFJK" => "Coping with drug and alcohol problems", - "VFJL" => "Coping with addiction", - "VFJM" => "Coping with abuse", - "VFJN" => "Coping with bullying, coercion and harassment", - "VFJP" => "Coping with anxiety and phobias", - "VFJQ" => "Coping with mental health issues", - "VFJQ1" => "Coping with depression and other mood disorders", - "VFJQ2" => "Coping with self-harm", - "VFJR" => "Coping with neurodevelopmental issues", - "VFJR1" => "Coping with autism / Asperger’s", - "VFJR2" => "Coping with ADHD", - "VFJR3" => "Coping with dyslexia and learning difficulties", - "VFJR4" => "Coping with communication difficulties", - "VFJS" => "Coping with stress", - "VFJT" => "Coping with loneliness / solitude", - "VFJV" => "Coping with sleep problems", - "VFJX" => "Coping with death and bereavement", - "VFJX1" => "Coping with suicide", + "VFJ" => "Coping with / advice about personal, social and health topics", + "VFJB" => "Coping with / advice about illness and specific health conditions", + "VFJB1" => "Coping with / advice about allergies, including food allergies", + "VFJB2" => "Coping with / advice about the back and back problems", + "VFJB3" => "Coping with / advice about cancer", + "VFJB31" => "Coping with / advice about breast cancer", + "VFJB4" => "Coping with heart conditions / advice about heart and circulatory health", + "VFJB5" => "Coping with / advice about diabetes", + "VFJB6" => "Coping with / advice about Alzheimer’s and dementia", + "VFJB7" => "Coping with / advice about headaches and migraines", + "VFJB9" => "Coping with / advice about chronic or long-term illness or conditions", + "VFJD" => "Coping with / advice about physical impairments / disability", + "VFJG" => "Coping with / advice about ageing", + "VFJH" => "Coping with / advice about body image issues", + "VFJJ" => "Coping with / advice about eating disorders", + "VFJK" => "Coping with / advice about drug and alcohol problems", + "VFJL" => "Coping with / advice about addiction", + "VFJM" => "Coping with / advice about abuse", + "VFJN" => "Coping with / advice about bullying, coercion and harassment", + "VFJP" => "Coping with / advice about anxiety and phobias", + "VFJQ" => "Coping with / advice about mental health issues", + "VFJQ1" => "Coping with / advice about depression and other mood disorders", + "VFJQ2" => "Coping with / advice about self-harm", + "VFJQ3" => "Coping with / advice about PTSD and other psychological traumas", + "VFJR" => "Coping with / advice about neurodevelopmental issues", + "VFJR1" => "Coping with / advice about autism / Asperger’s", + "VFJR2" => "Coping with / advice about ADHD", + "VFJR3" => "Coping with / advice about dyslexia and learning difficulties", + "VFJR4" => "Coping with / advice about communication difficulties", + "VFJS" => "Coping with / advice about stress", + "VFJT" => "Coping with / advice about loneliness / solitude", + "VFJV" => "Coping with / advice about sleep problems", + "VFJX" => "Coping with / advice about death and bereavement", + "VFJX1" => "Coping with / advice about suicidal thoughts and suicide of others", "VFL" => "Giving up smoking", "VFM" => "Fitness and diet", "VFMD" => "Diets and dieting, nutrition", "VFMG" => "Exercise and workouts", "VFMG1" => "Yoga for exercise", - "VFMG2" => "Weight training", + "VFMG2" => "Weight / strength training", "VFMS" => "Massage", "VFV" => "Relationships and families: advice and issues", "VFVC" => "Sex and sexuality: advice and issues", "VFVG" => "Dating, relationships, living together and marriage: advice and issues", + "VFVG2" => "Non-monogamy / Polyamorous relationships", "VFVJ" => "Involuntary childlessness: advice and issues", "VFVK" => "Adoption and fostering: advice and issues", "VFVM" => "Solo lifestyles: advice and issues", @@ -2612,7 +2702,7 @@ static THEMA_CODES: Map<&'static str, &'static str> = phf_map! { "VSD" => "Law, citizenship and rights for the lay person", "VSF" => "Roadcraft and driving", "VSG" => "Consumer advice", - "VSH" => "Housing and property for the individual: buying/selling and legal aspects", + "VSH" => "Housing and property for the individual: buying / selling and legal aspects", "VSK" => "Advice on education", "VSKB" => "Student life", "VSL" => "Adult literacy guides and handbooks", @@ -2621,6 +2711,7 @@ static THEMA_CODES: Map<&'static str, &'static str> = phf_map! { "VSPD" => "Mindfulness", "VSPM" => "Assertiveness, motivation, self-esteem and positive mental attitude", "VSPP" => "Personality traits", + "VSPQ" => "Emotions and emotional intelligence", "VSPT" => "Memory improvement and thinking techniques", "VSPX" => "Neuro Linguistic Programming (NLP)", "VSR" => "Retirement", @@ -2628,6 +2719,8 @@ static THEMA_CODES: Map<&'static str, &'static str> = phf_map! { "VSW" => "Living and working in other countries: practical advice", "VSY" => "Survivalism / Preparing for emergencies", "VSZ" => "Self-sufficiency and ‘green’ lifestyle", + "VSZD" => "Upcycling / Maintenance, reuse and repair of objects", + "VSZM" => "Minimalist lifestyle / Simple living", "VX" => "Mind, body, spirit", "VXA" => "Mind, body, spirit: thought and practice", "VXF" => "Fortune-telling and divination", @@ -2648,8 +2741,13 @@ static THEMA_CODES: Map<&'static str, &'static str> = phf_map! { "VXHF" => "Nature therapy", "VXHH" => "Homoeopathy", "VXHJ" => "Reflexology", - "VXHK" => "Reiki", + "VXHK" => "Reiki and energy healing", + "VXHN" => "Naturopathy / naturopathic medicine", + "VXHP" => "Hypnotherapy", "VXHT" => "Traditional medicine and herbal remedies", + "VXHT2" => "Ayurveda / Ayurvedic medicine", + "VXHT4" => "Herbal medicine and remedies", + "VXHV" => "Sound therapies / ASMR", "VXK" => "Earth energies", "VXM" => "Mind, body, spirit: meditation and visualization", "VXN" => "Dreams and their interpretation", @@ -2662,11 +2760,13 @@ static THEMA_CODES: Map<&'static str, &'static str> = phf_map! { "VXQ" => "Unexplained phenomena / the paranormal", "VXQB" => "UFOs and extraterrestrial beings", "VXQG" => "Ghosts and poltergeists", - "VXQM" => "Mythical and legendary beings, monsters and creatures", + "VXQM" => "Mythical, legendary and supernatural beings, monsters and creatures", "VXQM1" => "Mythical creatures: Dragons", "VXQM2" => "Mythical creatures: Vampires, werewolves and other shapeshifters", "VXQM3" => "Mythical creatures: Zombies and the undead", "VXQM4" => "Mythical creatures: Fairies, elves and similar folk", + "VXQM5" => "Mythical creatures: Daemons, demons and similar spirits or beings", + "VXQM6" => "Mythical creatures: Mermaids, mermen and other water spirits or beings", "VXV" => "Feng Shui and approaches to living space design and style", "VXW" => "Mysticism, magic and occult interests", "VXWK" => "Kabbalah: popular works", @@ -2674,23 +2774,33 @@ static THEMA_CODES: Map<&'static str, &'static str> = phf_map! { "VXWS" => "Shamanism, paganism and Druidry", "VXWT" => "Witchcraft and wicca", "W" => "Lifestyle, Hobbies and Leisure", - "WB" => "Cookery / food and drink", + "WB" => "Cookery / food and drink / food writing", "WBA" => "General cookery and recipes", "WBAC" => "Comfort food and food nostalgia", - "WBB" => "TV / celebrity chef cookbooks", + "WBB" => "TV / Celebrity chef / eateries cookbooks", "WBC" => "Cooking for one", "WBD" => "Budget cookery", "WBF" => "Quick and easy cookery", "WBH" => "Health and wholefood cookery", "WBHS" => "Cookery for specific diets and conditions", - "WBJ" => "Vegetarian Cookery and vegetarianism", - "WBJK" => "Vegan Cookery and veganism", + "WBHS1" => "Cookery / food for low-fat or low-cholesterol diets", + "WBHS2" => "Cookery / food for gluten-free diets", + "WBHS3" => "Cookery / food for low-carbohydrate diets", + "WBHS4" => "Cookery / food for high-protein diets", + "WBHS5" => "Cookery / food for low-sugar / sugar-free diets", + "WBHS6" => "Cookery / food for calorie counting", + "WBJ" => "Vegetarian Cookery and vegetarianism", + "WBJK" => "Vegan Cookery and veganism", "WBK" => "Organic food / organic cookery", + "WBL" => "Sustainable food / cookery", "WBN" => "National and regional cuisine", "WBNB" => "Street food", - "WBQ" => "Cookery for/with children", + "WBQ" => "Cookery for / with children / teenagers", "WBR" => "Cooking for parties and special occasions", - "WBS" => "Cooking with specific gadgets", + "WBS" => "Cooking with specific gadgets, equipment, utensils or techniques", + "WBSB" => "Cooking with specific gadgets or techniques: barbecues and grilling", + "WBSC" => "Cooking with specific gadgets or techniques: air fryers", + "WBSD" => "Cooking with specific gadgets or techniques: slow cooking / cookers", "WBT" => "Cookery / food by ingredient", "WBTB" => "Cookery / food by ingredient: meat and game", "WBTC" => "Cookery / food by ingredient: chicken and other poultry", @@ -2701,12 +2811,13 @@ static THEMA_CODES: Map<&'static str, &'static str> = phf_map! { "WBTP" => "Cookery / food by ingredient: pasta and noodles", "WBTR" => "Cookery / food by ingredient: egg, cheese and dairy products", "WBTX" => "Cookery / food by ingredient: chocolate", - "WBV" => "Cookery dishes and courses", + "WBV" => "Cookery dishes and courses / meals", "WBVD" => "Cookery dishes and courses: soups and starters", "WBVG" => "Cookery dishes and courses: salads and vegetables", "WBVH" => "Cookery dishes and courses: sauces", "WBVM" => "Cookery dishes and courses: main courses", "WBVQ" => "Cookery dishes and courses: desserts", + "WBVR" => "Cookery dishes and courses: sandwiches, picnics, lunch boxes", "WBVS" => "Baking", "WBVS1" => "Cakes and cake decoration, icing and sugarcraft", "WBVS2" => "Breads and bread making", @@ -2783,6 +2894,7 @@ static THEMA_CODES: Map<&'static str, &'static str> = phf_map! { "WFH" => "Toys: making and decorating", "WFJ" => "Jewellery and beadcrafts", "WFK" => "Decorative finishes and surfaces", + "WFL" => "Bamboo, reed and wicker crafts", "WFN" => "Pottery, ceramics and glass crafts", "WFP" => "Decorative metalwork", "WFQ" => "Decorative woodwork", @@ -2797,6 +2909,7 @@ static THEMA_CODES: Map<&'static str, &'static str> = phf_map! { "WGC" => "Road and motor vehicles: general interest", "WGCB" => "Motor cars: general interest", "WGCF" => "Buses, trams and commercial vehicles: general interest", + "WGCG" => "Construction vehicles and heavy equipment", "WGCK" => "Motorcycles: general interest", "WGCQ" => "Road and motor vehicles: Camper vans, Recreational vehicles", "WGCT" => "Tractors and farm vehicles: general interest", @@ -2812,7 +2925,7 @@ static THEMA_CODES: Map<&'static str, &'static str> = phf_map! { "WGGV" => "Boatbuilding and maintenance", "WGM" => "Aircraft and aviation", "WH" => "Humour", - "WHG" => "TV tie-in humour", + "WHG" => "Media tie-in humour", "WHJ" => "Jokes and riddles", "WHL" => "Slang and dialect humour", "WHP" => "Parodies and spoofs: non-fiction", @@ -2846,7 +2959,7 @@ static THEMA_CODES: Map<&'static str, &'static str> = phf_map! { "WMPY" => "Gardening: pests and diseases", "WMQ" => "Specialized gardening methods", "WMQB" => "Bonsai", - "WMQF" => "Organic gardening", + "WMQF" => "Organic gardening / Sustainable gardening", "WMQL" => "Landscape gardening", "WMQN" => "Natural and wild gardening", "WMQP" => "Gardening with native plants", @@ -2879,7 +2992,9 @@ static THEMA_CODES: Map<&'static str, &'static str> = phf_map! { "WNH" => "Zoos and wildlife parks: general interest", "WNJ" => "National parks and nature reserves: general interest", "WNP" => "Trees, wildflowers and plants: general interest", + "WNPB" => "Edible wild plants and foraging", "WNR" => "Rocks, minerals and fossils: general interest", + "WNS" => "Sounds of the natural world", "WNW" => "The Earth: natural history: general interest", "WNWM" => "Weather and climate: general interest", "WNX" => "Popular astronomy and space", @@ -2893,7 +3008,7 @@ static THEMA_CODES: Map<&'static str, &'static str> = phf_map! { "WTH" => "Travel and holiday guides", "WTHA" => "Travel guides: adventure holidays", "WTHB" => "Travel guides: business travel", - "WTHC" => "Travel guides: eco-tourism, ‘green’ tourism", + "WTHC" => "Travel guides: eco-tourism / ‘green’ tourism", "WTHD" => "Travel guides: food and drink regions", "WTHE" => "Travel guides: activity holidays", "WTHF" => "Travel guides: holidays with children / family holidays", @@ -2901,13 +3016,14 @@ static THEMA_CODES: Map<&'static str, &'static str> = phf_map! { "WTHH" => "Travel guides: hotel and holiday accommodation guides", "WTHH1" => "Travel guides: caravan and camp-site guides", "WTHK" => "Travel guides: beaches and coastal areas", - "WTHL" => "Travel guides: Cities", + "WTHL" => "Travel guides: cities", "WTHM" => "Travel guides: museums, historic sites, galleries etc", "WTHR" => "Travel guides: restaurants and cafes", "WTHT" => "Travel guides: theme parks and funfairs", - "WTHV" => "Travel guides: Rail travel", + "WTHV" => "Travel guides: rail travel", "WTHW" => "Travel guides: routes and ways", "WTHX" => "Travel guides: cruises", + "WTHY" => "Travel guides: road travel / road trips", "WTK" => "Language phrasebooks", "WTL" => "Travel writing", "WTLC" => "Classic travel writing", @@ -2922,14 +3038,14 @@ static THEMA_CODES: Map<&'static str, &'static str> = phf_map! { "WZS" => "Stationery items", "WZSJ" => "Thematic journals and notebooks", "WZSN" => "Blank stationery items", - "X" => "Graphic novels, Comic books, Cartoons", - "XA" => "Graphic novel and Comic book: types", - "XAB" => "European tradition graphic novels", - "XAD" => "European tradition comic books, Bandes dessinées", - "XADC" => "European comic books: general, classic, all ages", - "XAK" => "American / British style comic books and graphic novels", - "XAKC" => "American comic books: classic, Golden Age", - "XAM" => "Manga and Asian style comics", + "X" => "Graphic novels, Comic books, Manga, Cartoons", + "XA" => "Graphic novel / Comic book / Manga: styles / traditions", + "XAB" => "Graphic novels", + "XAD" => "European style / tradition comic books", + "XADC" => "Classic European style / tradition comic books", + "XAK" => "American style / tradition comic books", + "XAKC" => "Classic American style / tradition comic books", + "XAM" => "Manga and East Asian style / tradition comic books", "XAMC" => "Manga: Kodomo", "XAMF" => "Manga: Shōjo", "XAMG" => "Manga: Shōnen", @@ -2937,31 +3053,37 @@ static THEMA_CODES: Map<&'static str, &'static str> = phf_map! { "XAMR" => "Manga: Josei", "XAMT" => "Manga: Yaoi", "XAMV" => "Manga: Bara", - "XAMX" => "Manga: adult (erotic, extreme violence)", - "XAMX2" => "Manga: hentai manga", + "XAMX" => "Manga: Adult (erotic, extreme violence)", + "XAMX2" => "Manga: Hentai manga", "XAMY" => "Manga: Yuri", - "XQ" => "Graphic novel, Comic book and Manga: genres", - "XQA" => "Graphic novel / Comic book: memoirs, true stories and non-fiction", + "XAX" => "Alternative comic styles / traditions", + "XQ" => "Graphic novel / Comic book / Manga: genres", + "XQA" => "Graphic novel / Comic book / Manga: Memoirs, true stories and non-fiction", "XQAY" => "Graphic novel / Comic book / Manga: Educational", - "XQB" => "Graphic novel / Comic book: literary adaptations", - "XQC" => "Graphic novel / Comic book: inspired by or adapted from", - "XQD" => "Graphic novel / Comic book: crime, mystery and thrillers", - "XQG" => "Graphic novel / Comic book: action and adventure", - "XQGW" => "Graphic novel / Comic book: Westerns", - "XQH" => "Graphic novel / Comic book: horror", - "XQK" => "Graphic novel / Comic book: super-heroes and super-villains", - "XQL" => "Graphic novel / Comic book: science fiction", - "XQM" => "Graphic novel / Comic book: fantasy, esoteric", - "XQN" => "Graphic novel / Comic book: anthropomorphic / animal stories", - "XQR" => "Graphic novel / Comic book: romance", - "XQS" => "Graphic novel / Comic book: school / college life", - "XQT" => "Graphic novel / Comic book: humorous", - "XQV" => "Graphic novel / Comic book: historical", - "XQX" => "Graphic novel / Comic book: adult", - "XQXE" => "Graphic novel / Comic book: adult – erotic", - "XQXV" => "Graphic novel / Comic book: adult – extreme violence / gore", - "XR" => "Graphic novel and comic books: guides and reviews", - "XRM" => "Manga guides and reviews", + "XQB" => "Graphic novel / Comic book / Manga: Literary adaptations", + "XQC" => "Graphic novel / Comic book / Manga: Inspired by or adapted from other media", + "XQD" => "Graphic novel / Comic book / Manga: Crime, mystery and thrillers", + "XQE" => "Graphic novel / Comic book / Manga: Society / culture", + "XQF" => "Graphic novel / Comic book / Manga: Modern and contemporary fiction / literature", + "XQG" => "Graphic novel / Comic book / Manga: Action and adventure", + "XQGW" => "Graphic novel / Comic book / Manga: Westerns", + "XQH" => "Graphic novel / Comic book / Manga: Horror / supernatural", + "XQJ" => "Graphic novel / Comic book / Manga: Sports", + "XQK" => "Graphic novel / Comic book / Manga: Superheroes and super-villains", + "XQL" => "Graphic novel / Comic book / Manga: Science fiction", + "XQM" => "Graphic novel / Comic book / Manga: Fantasy, esoteric", + "XQN" => "Graphic novel / Comic book / Manga: Anthropomorphic / animal stories", + "XQP" => "Graphic novel / Comic book / Manga: Traditional stories, myths, legends", + "XQR" => "Graphic novel / Comic book / Manga: Romance", + "XQS" => "Graphic novel / Comic book / Manga: School / college life", + "XQT" => "Graphic novel / Comic book / Manga: Humorous", + "XQV" => "Graphic novel / Comic book / Manga: Historical", + "XQW" => "Graphic novel / Comic book / Manga: Religious, spiritual, inspirational", + "XQX" => "Graphic novel / Comic book / Manga: Adult", + "XQXE" => "Graphic novel / Comic book / Manga: Adult – erotic", + "XQXV" => "Graphic novel / Comic book / Manga: Adult – extreme violence / gore", + "XR" => "Graphic novel / Comic book / Manga: Reference, guides and reviews", + "XRM" => "Manga and East Asian style / tradition: Reference, guides and reviews", "XY" => "Strip cartoons", "Y" => "Children’s, Teenage and Educational", "YB" => "Children’s: picture books, activity books, early learning concepts", @@ -2969,7 +3091,7 @@ static THEMA_CODES: Map<&'static str, &'static str> = phf_map! { "YBCB" => "Baby books", "YBCH" => "Picture books: character books", "YBCS" => "Picture storybooks", - "YBCS1" => "Picture storybooks: bedtime stories and dreams", + "YBCS1" => "Picture storybooks: bedtime stories, sleep and dreams", "YBCS2" => "Picture storybooks: imagination and play", "YBD" => "Children’s / Teenage: Chapter books (transitional storybooks)", "YBG" => "Children’s interactive and activity books and kits", @@ -2986,33 +3108,45 @@ static THEMA_CODES: Map<&'static str, &'static str> = phf_map! { "YBLJ" => "Early years: time and seasons", "YBLL" => "Early years: nature and animals", "YBLM" => "Early years: daily routine", + "YBLM1" => "Early years: potty and toilet training", "YBLN" => "Early years: first experiences", "YBLN1" => "Early years: the body and the senses", "YBLP" => "Early years: people who help us", "YBLQ" => "Early years: family", "YBLT" => "Early years: things that go", "YD" => "Children’s / Teenage poetry, anthologies, annuals", - "YDA" => "Children’s / Teenage: Annuals", + "YDA" => "Children’s / Teenage: Annuals / yearbooks / almanacs", "YDC" => "Children’s / Teenage: Anthologies", "YDP" => "Children’s / Teenage: Poetry", "YF" => "Children’s / Teenage fiction and true stories", "YFA" => "Children’s / Teenage fiction: Classic fiction", - "YFB" => "Children’s / Teenage fiction: General fiction", + "YFB" => "Children’s / Teenage fiction: General, modern and contemporary fiction", "YFC" => "Children’s / Teenage fiction: Action and adventure stories", "YFCA" => "Children’s / Teenage fiction: Interactive adventure stories", - "YFCB" => "Children’s / Teenage fiction: Thrillers", + "YFCB" => "Children’s / Teenage fiction: Thrillers / suspense", "YFCF" => "Children’s / Teenage fiction: Crime and mystery fiction", "YFCW" => "Children’s / Teenage fiction: Military and war fiction", "YFD" => "Children’s / Teenage fiction: Horror and ghost stories, chillers", "YFE" => "Children’s / Teenage fiction: Speculative, dystopian and utopian fiction", + "YFEB" => "Children’s / Teenage fiction: Apocalyptic and post-apocalyptic stories", + "YFF" => "Children’s / Teenage fiction: Superhero stories", "YFG" => "Children’s / Teenage fiction: Science fiction", + "YFGR" => "Children’s / Teenage fiction: Space opera", "YFGS" => "Children’s / Teenage fiction: Steampunk", "YFH" => "Children’s / Teenage fiction: Fantasy", - "YFHD" => "Children’s / Teenage fiction: Magical realism", + "YFHB" => "Children’s / Teenage fiction: Epic fantasy / heroic fantasy", + "YFHD" => "Children’s / Teenage fiction: Magical realism / Magical fantasy", + "YFHG" => "Children’s / Teenage fiction: Mythic fantasy / Mythic fiction", + "YFHH" => "Children’s / Teenage fiction: Historical fantasy", + "YFHK" => "Children’s / Teenage fiction: Comic (humorous) fantasy", "YFHR" => "Children’s / Teenage fiction: Fantasy romance", + "YFHT" => "Children’s / Teenage fiction: Dark fantasy", + "YFHW" => "Children’s / Teenage fiction: Contemporary and urban fantasy", "YFJ" => "Children’s / Teenage fiction: Traditional stories", - "YFK" => "Children’s / Teenage fiction: Religious fiction", - "YFM" => "Children’s / Teenage fiction: Relationship stories – Romance, love or friendship", + "YFK" => "Children’s / Teenage fiction: Religious and spiritual stories", + "YFM" => "Children’s / Teenage fiction: Relationship stories", + "YFMF" => "Children’s / Teenage fiction: Friendship stories", + "YFMR" => "Children’s / Teenage fiction: Romance and love stories", "YFN" => "Children’s / Teenage fiction: Family and home stories", "YFP" => "Children’s / Teenage fiction: Nature and animal stories", "YFQ" => "Children’s / Teenage fiction: Humorous stories", @@ -3021,20 +3155,23 @@ static THEMA_CODES: Map<&'static str, &'static str> = phf_map! { "YFT" => "Children’s / Teenage fiction: Historical fiction", "YFU" => "Children’s / Teenage fiction: Short stories", "YFV" => "Children’s / Teenage fiction: Stories in verse", - "YFX" => "Children’s / Teenage fiction: Biographical fiction", - "YFY" => "Children’s / Teenage: True stories told as fiction", + "YFX" => "Children’s / Teenage fiction: Biographical fiction / autobiographical stories", + "YFY" => "Children’s / Teenage fiction: True stories told as fiction", "YFZ" => "Children’s / Teenage fiction: Special features and related items", + "YFZC" => "Children’s / Teenage fiction: Advent calendar stories", "YFZR" => "Children’s / Teenage category fiction", - "YFZS" => "Children’s / Teenage fiction: ranobe (‘light novels’)", - "YFZT" => "Children’s / Teenage: Fiction in translation", - "YFZV" => "Children’s / Teenage fiction: Inspired by or adapted from", + "YFZS" => "Children’s / Teenage fiction: Ranobe (‘light novels’)", + "YFZT" => "Children’s / Teenage fiction: Stories in translation", + "YFZV" => "Children’s / Teenage fiction: Stories Inspired by or adapted from other media", + "YFZW" => "Children’s / Teenage fiction: Game-related / LitRPG stories", "YFZZ" => "Children’s / Teenage fiction: Companion works", "YN" => "Children’s / Teenage: General interest", "YNA" => "Children’s / Teenage general interest: Art and artists", "YNB" => "Children’s / Teenage general interest: Biography and autobiography", - "YNC" => "Children’s / Teenage general interest: Music", - "YNCS" => "Songbooks for children", - "YND" => "Children’s / Teenage general interest: Drama and performing", + "YNC" => "Children’s / Teenage general interest: Music and musicians", + "YNCB" => "Children’s / Teenage general interest: Musical instruments", + "YNCS" => "Children’s / Teenage general interest: Songbooks / singing", + "YND" => "Children’s / Teenage general interest: Drama and performing arts", "YNDB" => "Children’s / Teenage general interest: Dance, ballet", "YNDS" => "Children’s / Teenage general interest: Playscripts", "YNF" => "Children’s / Teenage general interest: Television, video and film", @@ -3047,9 +3184,10 @@ static THEMA_CODES: Map<&'static str, &'static str> = phf_map! { "YNHP" => "Children’s / Teenage general interest: Lives of children in the past", "YNJ" => "Children’s / Teenage general interest: Warfare, battles, armed forces", "YNJC" => "Children’s / Teenage general interest: Castles and knights", - "YNK" => "Children’s / Teenage general interest: Work and society", - "YNKA" => "Children’s / Teenage general interest: Politics", + "YNK" => "Children’s / Teenage general interest: Work, politics and society", + "YNKA" => "Children’s / Teenage general interest: Politics and government", "YNKC" => "Children’s / Teenage general interest: Law, police and crime", + "YNKG" => "Children’s / Teenage general interest: Medical and emergency services", "YNL" => "Children’s / Teenage general interest: Literature, books and writers", "YNM" => "Children’s / Teenage general interest: Places and peoples", "YNMC" => "Children’s / Teenage general interest: Countries, cultures and national identity", @@ -3058,6 +3196,7 @@ static THEMA_CODES: Map<&'static str, &'static str> = phf_map! { "YNMH" => "Children’s / Teenage general interest: Boys and men", "YNMK" => "Children’s / Teenage general interest: City and town life", "YNML" => "Children’s / Teenage general interest: Rural and farm life", + "YNMP" => "Children’s / Teenage general interest: Home and daily life", "YNMW" => "Children’s / Teenage general interest: Queens, kings, princesses, princes etc", "YNN" => "Children’s / Teenage general interest: Nature, animals, the natural world", "YNNA" => "Children’s / Teenage general interest: Dinosaurs and prehistoric world", @@ -3065,8 +3204,11 @@ static THEMA_CODES: Map<&'static str, &'static str> = phf_map! { "YNNB1" => "Children’s / Teenage general interest: Wildlife and habitats: Oceans and seas", "YNNB2" => "Children’s / Teenage general interest: Wildlife and habitats: Jungles and tropical forests", "YNNB3" => "Children’s / Teenage general interest: Wildlife and habitats: Deserts", + "YNNB4" => "Children’s / Teenage general interest: Wildlife and habitats: Woodlands and forests", + "YNNB5" => "Children’s / Teenage general interest: Wildlife and habitats: Savannas and grasslands", "YNNB9" => "Children’s / Teenage general interest: Wildlife and habitats: Ice, snow and tundra", "YNNC" => "Children’s / Teenage general interest: Ecosystems", + "YNND" => "Children’s / Teenage general interest: Sounds of nature and the natural world", "YNNF" => "Children’s / Teenage general interest: Farm animals", "YNNH" => "Children’s / Teenage general interest: Pets and pet care", "YNNH1" => "Children’s / Teenage general interest: Pets and pet care: Dogs", @@ -3081,10 +3223,11 @@ static THEMA_CODES: Map<&'static str, &'static str> = phf_map! { "YNNJ21" => "Children’s / Teenage general interest: Dogs and wolves", "YNNJ22" => "Children’s / Teenage general interest: Cats including big cats", "YNNJ23" => "Children’s / Teenage general interest: Bears", - "YNNJ24" => "Children’s / Teenage general interest: Ponies and horses", + "YNNJ24" => "Children’s / Teenage general interest: Ponies, horses and related animals", "YNNJ25" => "Children’s / Teenage general interest: Cows and cattle", "YNNJ26" => "Children’s / Teenage general interest: Pigs, hogs and boars", "YNNJ27" => "Children’s / Teenage general interest: Sheep and goats", + "YNNJ28" => "Children’s / Teenage general interest: Deer, moose, reindeers", "YNNJ29" => "Children’s / Teenage general interest: Apes, monkeys and lemurs", "YNNJ3" => "Children’s / Teenage general interest: Small land mammals", "YNNJ31" => "Children’s / Teenage general interest: Rodents and rabbits", @@ -3094,9 +3237,12 @@ static THEMA_CODES: Map<&'static str, &'static str> = phf_map! { "YNNM" => "Children’s / Teenage general interest: Reptiles and amphibians", "YNNS" => "Children’s / Teenage general interest: Fish and marine life", "YNNT" => "Children’s / Teenage general interest: Plants and trees", - "YNNV" => "Children’s / Teenage general interest: Rocks, weather and physical world", + "YNNV" => "Children’s / Teenage general interest: Physical world", + "YNNV1" => "Children’s / Teenage general interest: Rocks and minerals", + "YNNV2" => "Children’s / Teenage general interest: Weather and climate", "YNNZ" => "Children’s / Teenage general interest: Space, stars and the solar system", "YNP" => "Children’s / Teenage general interest: Practical interests", + "YNPB" => "Children’s / Teenage general interest: Practical art, drawing, painting, photography", "YNPC" => "Children’s / Teenage general interest: Cooking and food", "YNPG" => "Children’s / Teenage general interest: Gardening", "YNPH" => "Children’s / Teenage general interest: Handicrafts", @@ -3104,7 +3250,7 @@ static THEMA_CODES: Map<&'static str, &'static str> = phf_map! { "YNPH2" => "Children’s / Teenage general interest: Needlecraft and fabric crafts", "YNPJ" => "Children’s / Teenage general interest: Clothing and fashion", "YNPK" => "Children’s / Teenage general interest: Money", - "YNQ" => "Children’s / Teenage: Youth clubs, societies, groups and organisations", + "YNQ" => "Children’s / Teenage general interest: Youth clubs, societies, groups and organisations", "YNR" => "Children’s / Teenage general interest: Philosophy, Religion and beliefs", "YNRA" => "Children’s / Teenage general interest: Philosophy", "YNRD" => "Children’s / Teenage general interest: Hinduism", @@ -3115,15 +3261,18 @@ static THEMA_CODES: Map<&'static str, &'static str> = phf_map! { "YNRR" => "Children’s / Teenage general interest: Other religions and spiritual traditions", "YNRU" => "Children’s / Teenage general interest: Ancient religions, Mythology and legends", "YNRX" => "Children’s / Teenage general interest: Religious texts, prayers and devotional material", + "YNRY" => "Children’s / Teenage general interest: Stories taken from sacred texts or religious traditions", "YNT" => "Children’s / Teenage general interest: Science and technology", "YNTA" => "Children’s / Teenage general interest: Science: The human body", "YNTC" => "Children’s / Teenage general interest: Computing and Information Technology", "YNTC1" => "Children’s / Teenage general interest: Programming and scripting languages", "YNTC2" => "Children’s / Teenage general interest: Social media", "YNTD" => "Children’s / Teenage general interest: Inventors, inventions and experiments", + "YNTE" => "Children’s / Teenage general interest: Science: Motion, sound, light, energy", + "YNTF" => "Children’s / Teenage general interest: Science: the Elements, crystals, chemistry experiments", "YNTG" => "Children’s / Teenage general interest: Machines and how things work", "YNTM" => "Children’s / Teenage general interest: Mathematics and numbers", - "YNTP" => "Children’s / Teenage general interest: Buildings and construction", + "YNTP" => "Children’s / Teenage general interest: Architecture, buildings and construction", "YNTR" => "Children’s / Teenage general interest: Transport and vehicles", "YNTT" => "Children’s / Teenage general interest: Time travel", "YNU" => "Children’s / Teenage general interest: Humour and jokes", @@ -3137,6 +3286,7 @@ static THEMA_CODES: Map<&'static str, &'static str> = phf_map! { "YNVP" => "Children’s / Teenage general interest: Puzzles and quizzes", "YNVU" => "Children’s / Teenage general interest: Computer and video games", "YNW" => "Children’s / Teenage general interest: Sports and outdoor recreation", + "YNWA" => "Children’s / Teenage general interest: Sporting events", "YNWD" => "Children’s / Teenage general interest: Ball games and sports", "YNWD1" => "Children’s / Teenage general interest: Ball games and sports: Association football (Soccer)", "YNWD2" => "Children’s / Teenage general interest: Ball games and sports: American Football", @@ -3145,11 +3295,15 @@ static THEMA_CODES: Map<&'static str, &'static str> = phf_map! { "YNWD5" => "Children’s / Teenage general interest: Ball games and sports: Cricket", "YNWD6" => "Children’s / Teenage general interest: Ball games and sports: Volleyball", "YNWD7" => "Children’s / Teenage general interest: Ball games and sports: Rugby", - "YNWD8" => "Children’s/Teenage general interest: Ball games and sports: Handball", + "YNWD8" => "Children’s / Teenage general interest: Ball games and sports: Handball", "YNWG" => "Children’s / Teenage general interest: Athletics and gymnastics", + "YNWJ" => "Children’s / Teenage general interest: Martial arts", + "YNWK" => "Children’s / Teenage general interest: Tennis and other racket sports", "YNWM" => "Children’s / Teenage general interest: Winter sports", "YNWM1" => "Children’s / Teenage general interest: Winter sports: Skiing", "YNWM2" => "Children’s / Teenage general interest: Winter sports: Ice hockey", + "YNWP" => "Children’s / Teenage general interest: Camping and active outdoor pursuits", + "YNWT" => "Children’s / Teenage general interest: Vehicle sports", "YNWW" => "Children’s / Teenage general interest: Swimming and water sports", "YNWY" => "Children’s / Teenage general interest: Cycling, rollerskating and skateboarding", "YNWZ" => "Children’s / Teenage general interest: Sports teams and clubs", @@ -3160,7 +3314,8 @@ static THEMA_CODES: Map<&'static str, &'static str> = phf_map! { "YNXB3" => "Children’s / Teenage general interest: Zombies, ghosts and the undead", "YNXB4" => "Children’s / Teenage general interest: Fairies, elves, etc", "YNXB5" => "Children’s / Teenage general interest: Unicorns", - "YNXB6" => "Children’s / Teenage general interest: Mermaids / Merfolk", + "YNXB6" => "Children’s / Teenage general interest: Mermaids / mermen / merfolk", + "YNXB7" => "Children’s / Teenage general interest: Giants, trolls and other mythical humanoids", "YNXF" => "Children’s / Teenage general interest: UFOs and extraterrestrial beings", "YNXW" => "Children’s / Teenage general interest: Witches, wizards and magicians", "YP" => "Educational material", @@ -3214,15 +3369,19 @@ static THEMA_CODES: Map<&'static str, &'static str> = phf_map! { "YPJV1" => "Educational: Economics", "YPJV2" => "Educational: Business administration and office skills", "YPJV3" => "Educational: Accounting", + "YPJX" => "Educational: Cultural studies", "YPM" => "Educational: Mathematics, science and technology, general", "YPMF" => "Educational: Mathematics and numeracy", "YPMF1" => "Educational: Mathematics and numeracy: arithmetic / times tables", + "YPMF2" => "Educational: Mathematics and numeracy: algebra", + "YPMF3" => "Educational: Mathematics and numeracy: geometry", "YPMP" => "Educational: Sciences, general science", "YPMP1" => "Educational: Biology", "YPMP3" => "Educational: Chemistry", "YPMP5" => "Educational: Physics", "YPMP51" => "Educational: Astronomy", "YPMP6" => "Educational: Environmental science", + "YPMP7" => "Educational: Earth sciences", "YPMT" => "Educational: Technology", "YPMT2" => "Educational: Design and technology", "YPMT3" => "Educational: Engineering", @@ -3250,8 +3409,9 @@ static THEMA_CODES: Map<&'static str, &'static str> = phf_map! { "YPWL3" => "Educational: Memory skills and creative thinking", "YPWL4" => "Educational: Social and life skills", "YPWN" => "Educational: Uniformed public or protective services", - "YPZ" => "Educational: study and revision guides", - "YPZN" => "Educational: Non-Verbal reasoning", + "YPZ" => "Educational: Study and revision guides", + "YPZH" => "Educational: School holiday / vacation workbook", + "YPZN" => "Educational: Non-Verbal reasoning / visual reasoning", "YPZP" => "Educational: Verbal reasoning", "YR" => "Children’s / Teenage reference material", "YRD" => "Children’s / Teenage reference: Dictionaries and Languages", @@ -3264,19 +3424,30 @@ static THEMA_CODES: Map<&'static str, &'static str> = phf_map! { "YX" => "Children’s / Teenage: Personal and social topics", "YXA" => "Children’s / Teenage personal and social topics: Body and health", "YXAB" => "Children’s / Teenage personal and social topics: Fitness, exercise and healthy eating", + "YXAD" => "Children’s / Teenage personal and social topics: Yoga, meditation, mindfulness", + "YXAM" => "Children’s / Teenage personal and social topics: Hair and hair care", "YXAX" => "Children’s / Teenage personal and social topics: Sex education and the facts of life", "YXB" => "Children’s / Teenage personal and social topics: LGBTQ+", + "YXBD" => "Children’s / Teenage: LGBTQ+: Coming out", "YXC" => "Children’s / Teenage personal and social topics: Gender identity", "YXD" => "Children’s / Teenage personal and social topics: Self-awareness and self-esteem", - "YXE" => "Children’s / Teenage personal and social topics: Emotions, moods and feelings", + "YXE" => "Children’s / Teenage personal and social topics: Emotions, moods, feelings and behaviours", + "YXEB" => "Children’s / Teenage emotions: Anger, frustration", + "YXED" => "Children’s / Teenage emotions: Sadness, unhappiness, disappointment", + "YXEF" => "Children’s / Teenage emotions: Worry, fear", + "YXEH" => "Children’s / Teenage emotions: Loneliness, isolation", + "YXEJ" => "Children’s / Teenage emotions: Compassion, empathy, kindness", + "YXEL" => "Children’s / Teenage emotions: Courage, bravery, hope", + "YXEN" => "Children’s / Teenage emotions: Happiness, joy", "YXF" => "Children’s / Teenage personal and social topics: Families and family members", + "YXFB" => "Children’s / Teenage personal and social topics: Parents", "YXFD" => "Children’s / Teenage personal and social topics: Divorce, separation, family break-up", "YXFF" => "Children’s / Teenage personal and social topics: Adoption / fostering", - "YXFR" => "Children’s / Teenage personal and social topics: siblings", + "YXFR" => "Children’s / Teenage personal and social topics: Siblings", "YXFS" => "Children’s / Teenage personal and social topics: New baby", - "YXG" => "Children’s / Teenage personal and social topics: Death and bereavement", + "YXG" => "Children’s / Teenage personal and social topics: Death and grief", "YXGS" => "Children’s / Teenage personal and social topics: Suicide", - "YXH" => "Children’s / Teenage personal and social topics: Relationships (non-family)", + "YXH" => "Children’s / Teenage personal and social topics: Relationships (non-family / groups)", "YXHB" => "Children’s / Teenage personal and social topics: Friends and friendships", "YXHL" => "Children’s / Teenage personal and social topics: Dating, relationships, romance and love", "YXHP" => "Children’s / Teenage personal and social topics: Life skills and choices", @@ -3287,30 +3458,36 @@ static THEMA_CODES: Map<&'static str, &'static str> = phf_map! { "YXLB" => "Children’s / Teenage personal and social topics: Illness and specific physical health conditions", "YXLB1" => "Children’s / Teenage personal and social topics: Cancer", "YXLD" => "Children’s / Teenage personal and social topics: Mental health", - "YXLD1" => "Children’s / Teenage personal and social topics: Eating disorders", + "YXLD1" => "Children’s / Teenage personal and social topics: Eating disorders and body image", "YXLD2" => "Children’s / Teenage personal and social topics: Anxiety, depression and self-harm", "YXLD6" => "Children’s / Teenage personal and social topics: Positive / good mental health", "YXM" => "Children’s / Teenage personal and social topics: Multicultural", - "YXN" => "Children’s / Teenage personal and social topics: Racism", - "YXP" => "Children’s / Teenage personal and social topics: Diversity and inclusion", + "YXN" => "Children’s / Teenage personal and social topics: Racism and anti-racism", + "YXP" => "Children’s / Teenage personal and social topics: Diversity, equality and inclusion", "YXPB" => "Children’s / Teenage personal and social topics: Prejudice and intolerance", "YXQ" => "Children’s / Teenage personal and social topics: Bullying, violence, abuse and peer pressure", "YXQD" => "Children’s / Teenage personal and social topics: Abuse", "YXQF" => "Children’s / Teenage personal and social topics: Bullying and harassment", "YXR" => "Children’s / Teenage personal and social topics: Personal safety", "YXS" => "Children’s / Teenage personal and social topics: Runaways", - "YXT" => "Children’s / Teenage personal and social topics: Truancy and school problems", + "YXT" => "Children’s / Teenage personal and social topics: School, education and teachers", + "YXTB" => "Children’s / Teenage personal and social topics: Truancy and school problems", "YXV" => "Teenage personal and social topics: Advice on careers and further education, leaving school", - "YXW" => "Children’s / Teenage personal and social topics: First experiences and growing up", - "YXZ" => "Children’s / Teenage: Social issues", - "YXZG" => "Children’s / Teenage social issues: Environment and green issues", - "YXZM" => "Children’s / Teenage social issues: Migration and refugees", - "YXZR" => "Children’s / Teenage social issues: Religious issues", - "YXZW" => "Children’s / Teenage social issues: War and conflict issues", + "YXW" => "Children’s / Teenage personal and social topics: First / new experiences and growing up / coming of age", + "YXZ" => "Children’s / Teenage: Social issues / topics", + "YXZB" => "Children’s / Teenage social topics: Activism / activists", + "YXZC" => "Children’s / Teenage social topics: Identity / belonging", + "YXZD" => "Children’s / Teenage social topics: Peace / reconciliation", + "YXZE" => "Children’s / Teenage social topics: Accidents, disasters or emergencies", + "YXZG" => "Children’s / Teenage social topics: Environment, sustainability and green issues", + "YXZH" => "Children’s / Teenage: Social topics: Poverty / precarity", + "YXZM" => "Children’s / Teenage social topics: Migration / refugees", + "YXZR" => "Children’s / Teenage social topics: Religious issues / debates", + "YXZW" => "Children’s / Teenage social topics: War and conflict issues", "YZ" => "Children’s / Teenage stationery and miscellaneous items", "YZG" => "Children’s gift books", "YZS" => "Children’s stationery items", - "YZSG" => "Children’s / Teenage stationery items: thematic journals and notebooks", + "YZSG" => "Children’s / Teenage stationery items: Thematic journals and notebooks", "YZSN" => "Blank children’s stationery items", "1" => "Place qualifiers", "1A" => "World", @@ -4007,7 +4184,7 @@ static THEMA_CODES: Map<&'static str, &'static str> = phf_map! { "1DDU-GB-ENZL" => "The Lake District", "1DDU-GB-ES" => "South and South East England", "1DDU-GB-ESB" => "Berkshire", - "1DDU-GB-ESBR" => "Reading", + "1DDU-GB-ESBR" => "Reading (Berkshire)", "1DDU-GB-ESBW" => "Windsor", "1DDU-GB-ESD" => "Bedfordshire", "1DDU-GB-ESF" => "Oxfordshire", @@ -4111,7 +4288,7 @@ static THEMA_CODES: Map<&'static str, &'static str> = phf_map! { "1DDU-GB-W" => "Wales", "1DDU-GB-WC" => "Mid Wales", "1DDU-GB-WN" => "North Wales", - "1DDU-GB-WNS" => "Snowdonia", + "1DDU-GB-WNS" => "Snowdonia (Eryri)", "1DDU-GB-WS" => "South Wales", "1DDU-GB-WSC" => "Cardiff", "1DDU-GB-WSG" => "Swansea and the Gower", @@ -4128,7 +4305,7 @@ static THEMA_CODES: Map<&'static str, &'static str> = phf_map! { "1DFA-AT-K" => "Carinthia", "1DFA-AT-KB" => "Klagenfurt", "1DFA-AT-KD" => "Villach", - "1DFA-AT-KF" => "Wörthersee (Lake Wort)", + "1DFA-AT-KF" => "Wörthersee (Lake Worth)", "1DFA-AT-M" => "Styria", "1DFA-AT-MB" => "Bruck an der Mur", "1DFA-AT-MG" => "Graz", @@ -4179,6 +4356,9 @@ static THEMA_CODES: Map<&'static str, &'static str> = phf_map! { "1DFG-DE-BGD" => "Potsdam", "1DFG-DE-BGE" => "Cottbus", "1DFG-DE-BGF" => "Frankfurt (Oder)", + "1DFG-DE-BGN" => "Lower Lusatia", + "1DFG-DE-BGNS" => "Spreewald (Spree Forest)", + "1DFG-DE-BGT" => "Uckermark", "1DFG-DE-BK" => "German Baltic Sea coast and islands", "1DFG-DE-BKA" => "Rügen", "1DFG-DE-BKB" => "Fehmarn", @@ -4209,7 +4389,10 @@ static THEMA_CODES: Map<&'static str, &'static str> = phf_map! { "1DFG-DE-FSF" => "Freiberg", "1DFG-DE-FSG" => "Plauen", "1DFG-DE-FSH" => "Zwickau", - "1DFG-DE-FSN" => "Saxon Switzerland National Park", + "1DFG-DE-FSN" => "Saxon Switzerland", + "1DFG-DE-FSNB" => "Elbe Sandstone Mountains", + "1DFG-DE-FSP" => "Ore Mountains", + "1DFG-DE-FSQ" => "Vogtland", "1DFG-DE-FT" => "Thuringia", "1DFG-DE-FTB" => "Erfurt", "1DFG-DE-FTD" => "Thuringian Forest", @@ -4225,17 +4408,21 @@ static THEMA_CODES: Map<&'static str, &'static str> = phf_map! { "1DFG-DE-TBBBA" => "Berchtesgaden", "1DFG-DE-TBBD" => "Ingolstadt", "1DFG-DE-TBBF" => "Chiemgau", + "1DFG-DE-TBBFS" => "Chiemsee", "1DFG-DE-TBBG" => "Lake Starnberg", "1DFG-DE-TBBH" => "Tegernsee", + "1DFG-DE-TBBK" => "Ammersee (Lake Ammer)", "1DFG-DE-TBC" => "Munich", "1DFG-DE-TBD" => "Nuremburg", "1DFG-DE-TBF" => "Franconia", "1DFG-DE-TBFC" => "Upper Franconia", "1DFG-DE-TBFCB" => "Bamberg", "1DFG-DE-TBFCD" => "Bayreuth", + "1DFG-DE-TBFCP" => "Fichtel Mountains", "1DFG-DE-TBFM" => "Middle Franconia", "1DFG-DE-TBFMB" => "Fürth", "1DFG-DE-TBFMD" => "Rothenburg ob der Tauber", + "1DFG-DE-TBFS" => "Steigerwald", "1DFG-DE-TBFV" => "Lower Franconia", "1DFG-DE-TBFVB" => "Aschaffenburg", "1DFG-DE-TBFVD" => "Würzburg", @@ -4247,6 +4434,7 @@ static THEMA_CODES: Map<&'static str, &'static str> = phf_map! { "1DFG-DE-TBMB" => "Regensburg", "1DFG-DE-TBN" => "Altmühltal", "1DFG-DE-TBP" => "Bavarian Forest", + "1DFG-DE-TBR" => "Bavarian Alps", "1DFG-DE-U" => "Southwest Germany", "1DFG-DE-UB" => "Baden-Württemberg", "1DFG-DE-UBA" => "Stuttgart", @@ -4265,6 +4453,7 @@ static THEMA_CODES: Map<&'static str, &'static str> = phf_map! { "1DFG-DE-UBT" => "Tübingen", "1DFG-DE-UH" => "Hesse", "1DFG-DE-UHA" => "Frankfurt", + "1DFG-DE-UHB" => "Frankfurt Rhine-Main", "1DFG-DE-UHC" => "Rheingau", "1DFG-DE-UHCW" => "Wiesbaden", "1DFG-DE-UHE" => "Darmstadt", @@ -4278,14 +4467,18 @@ static THEMA_CODES: Map<&'static str, &'static str> = phf_map! { "1DFG-DE-URCW" => "Worms", "1DFG-DE-URK" => "Koblenz", "1DFG-DE-URT" => "Trier", + "1DFG-DE-URW" => "Hunsrück", "1DFG-DE-US" => "Saarland", + "1DFG-DE-UV" => "Middle Rhine Valley and region", "1DFG-DE-V" => "Northwest Germany", "1DFG-DE-VA" => "German North Sea coast and islands", "1DFG-DE-VAF" => "Heligoland", "1DFG-DE-VAN" => "North Frisia", + "1DFG-DE-VANB" => "Amrum", "1DFG-DE-VANF" => "Föhr", "1DFG-DE-VANS" => "Sylt", "1DFG-DE-VAP" => "East Frisia", + "1DFG-DE-VAPB" => "East Frisian Islands", "1DFG-DE-VB" => "Bremen", "1DFG-DE-VBC" => "Bremerhaven", "1DFG-DE-VH" => "Hamburg", @@ -4402,8 +4595,8 @@ static THEMA_CODES: Map<&'static str, &'static str> = phf_map! { "1DND-DK-FO" => "Odense", "1DND-DK-J" => "Jutland", "1DND-DK-JE" => "Esbjerg", - "1DND-DK-JL" => "Alborg", - "1DND-DK-JR" => "Arhus", + "1DND-DK-JL" => "Aalborg (Alborg)", + "1DND-DK-JR" => "Aarhus (Arhus)", "1DND-DK-L" => "Lolland-Falster", "1DND-DK-S" => "Zealand", "1DND-DK-SK" => "Copenhagen", @@ -4950,6 +5143,7 @@ static THEMA_CODES: Map<&'static str, &'static str> = phf_map! { "1DST-IT-ULM" => "Messina", "1DST-IT-ULME" => "Aeolian Islands", "1DST-IT-ULN" => "Trapani", + "1DST-IT-ULND" => "Egadi (Aegadian) Islands", "1DST-IT-ULP" => "Palermo", "1DST-IT-ULR" => "Ragusa", "1DST-IT-ULS" => "Syracuse", @@ -4969,6 +5163,7 @@ static THEMA_CODES: Map<&'static str, &'static str> = phf_map! { "1DST-IT-UPA" => "Bari", "1DST-IT-UPG" => "Foggia", "1DST-IT-UPGB" => "Tavoliere delle Puglie", + "1DST-IT-UPGT" => "Tremiti Islands (Isole Tremiti)", "1DST-IT-UPL" => "Lecce", "1DST-IT-UPR" => "Barletta Andria Trani", "1DST-IT-UPS" => "Brindisi", @@ -4999,6 +5194,7 @@ static THEMA_CODES: Map<&'static str, &'static str> = phf_map! { "1DST-IT-XTG" => "Mugello", "1DST-IT-XTL" => "Versilia", "1DST-IT-XTN" => "Ciociaria", + "1DST-IT-XTT" => "Tuscia", "1DST-IT-XU" => "Historical and cultural areas: Southern Italy and islands", "1DST-IT-XUA" => "Cilento", "1DST-IT-XUC" => "Irpinia", @@ -5030,7 +5226,7 @@ static THEMA_CODES: Map<&'static str, &'static str> = phf_map! { "1DTA-RU-NN" => "Nizhny Novgorod", "1DTA-RU-P" => "Russia: North Caucasus District", "1DTA-RU-PC" => "Chechen Republic (Chechnya)", - "1DTB" => "Belarus (Belorussia)", + "1DTB" => "Belarus", "1DTB-BY-M" => "Minsk", "1DTD" => "Latvia", "1DTD-LV-R" => "Riga", @@ -5102,7 +5298,8 @@ static THEMA_CODES: Map<&'static str, &'static str> = phf_map! { "1DTK-SK-ZV" => "The Vah and tributaries", "1DTM" => "Moldova (Moldavia)", "1DTN" => "Ukraine", - "1DTN-UA-K" => "Kiev", + "1DTN-UA-K" => "Kyiv (Kiev)", + "1DTNX" => "Crimea / Crimean Peninsula", "1DTP" => "Poland", "1DTP-PL-A" => "West Pomerania voivodeship", "1DTP-PL-AB" => "Szczecin", @@ -5152,6 +5349,14 @@ static THEMA_CODES: Map<&'static str, &'static str> = phf_map! { "1DTP-PL-SA" => "Wroclaw", "1DTT" => "Turkey", "1DTT-TR-A" => "Istanbul", + "1DTT-TR-B" => "Turkey: Marmara Region", + "1DTT-TR-C" => "Turkey: Black Sea Region", + "1DTT-TR-D" => "Turkey: Aegean Region", + "1DTT-TR-E" => "Turkey: Mediterranean Region", + "1DTT-TR-F" => "Turkey: Central Anatolia Region", + "1DTT-TR-G" => "Turkey: Eastern Anatolia Region", + "1DTT-TR-H" => "Turkey: Southeastern Anatolia Region", + "1DTTN" => "Anatolia / Asia Minor", "1DTV" => "Armenia", "1DTV-AM-Y" => "Yerevan", "1DTX" => "Azerbaijan", @@ -5276,6 +5481,11 @@ static THEMA_CODES: Map<&'static str, &'static str> = phf_map! { "1DZADT" => "River Tisza and tributaries", "1DZAR" => "Rhine river and tributaries", "1DZARC" => "Lake Constance", + "1DZAR-DE-M" => "Moselle (Mosel) river and its tributaries", + "1DZAR-DE-MS" => "Saar river and its tributaries", + "1DZAR-DE-N" => "Neckar river and tributaries", + "1DZAS" => "Meuse (Maas) river and tributaries", + "1DZAT" => "Scheldt river and tributaries", "1DZAV" => "Volga river and tributaries", "1DZA-CH-L" => "Lake Lugano", "1DZA-DE-E" => "Elbe river and tributaries", @@ -5298,6 +5508,7 @@ static THEMA_CODES: Map<&'static str, &'static str> = phf_map! { "1DZTA-CH-ADJ" => "Jungfrau", "1DZTA-CH-AG" => "Saint-Gotthard Massif", "1DZTA-CH-B" => "Val Bregaglia", + "1DZTA-DE-B" => "Allgäu Alps", "1DZTA-FR-B" => "Mont Blanc Massif", "1DZTA-FR-BM" => "Mont Blanc", "1DZTA-SI-C" => "Julian Alps", @@ -5359,7 +5570,7 @@ static THEMA_CODES: Map<&'static str, &'static str> = phf_map! { "1FBXM" => "Oman", "1FBXQ" => "Qatar", "1FBXS" => "Saudi Arabia", - "1FBXS-SA-H" => "Hejaz /Hijaz", + "1FBXS-SA-H" => "Hejaz / Hijaz", "1FBXS-SA-HJ" => "Jeddah", "1FBXS-SA-HM" => "Mecca / Makkah", "1FBXS-SA-HN" => "Medina", @@ -5367,6 +5578,7 @@ static THEMA_CODES: Map<&'static str, &'static str> = phf_map! { "1FBXU" => "United Arab Emirates", "1FBXU-AE-A" => "Abu Dhabi", "1FBXU-AE-D" => "Dubai", + "1FBXU-AE-F" => "Sharjah", "1FBXY" => "Yemen", "1FBZ" => "Middle East: places of interest", "1FBZB" => "Tigris and Euphrates rivers", @@ -5590,7 +5802,7 @@ static THEMA_CODES: Map<&'static str, &'static str> = phf_map! { "1FPJ-JP-GD" => "Kochi (JP)", "1FPJ-JP-H" => "Kyushu", "1FPJ-JP-HA" => "Fukuoka", - "1FPJ-JP-HB" => "Saga", + "1FPJ-JP-HB" => "Saga (Prefecture)", "1FPJ-JP-HC" => "Nagasaki", "1FPJ-JP-HD" => "Kumamoto", "1FPJ-JP-HE" => "Oita", @@ -5600,7 +5812,28 @@ static THEMA_CODES: Map<&'static str, &'static str> = phf_map! { "1FPK" => "Korea", "1FPKN" => "North Korea", "1FPKS" => "South Korea", - "1FPKS-KR-B" => "Seoul", + "1FPKS-KR-B" => "Seoul Capital Area (Sudogwon)", + "1FPKS-KR-BA" => "Seoul (City)", + "1FPKS-KR-BC" => "Incheon", + "1FPKS-KR-BD" => "Gyeonggi-do (Gyeonggi Province)", + "1FPKS-KR-C" => "Gangwon and Chungcheong region", + "1FPKS-KR-CA" => "Gangwon-do (Gangwon Province)", + "1FPKS-KR-CB" => "Chungcheongbuk-do (North Chungcheong Province)", + "1FPKS-KR-CD" => "Chungcheongnam-do (South Chungcheong Province)", + "1FPKS-KR-CE" => "Daejeon", + "1FPKS-KR-CF" => "Sejong", + "1FPKS-KR-D" => "Yeongnam region", + "1FPKS-KR-DA" => "Gyeongsangbuk-do (North Gyeongsang Province)", + "1FPKS-KR-DB" => "Gyeongsangnam-do (South Gyeongsang Province)", + "1FPKS-KR-DC" => "Daegu", + "1FPKS-KR-DE" => "Busan", + "1FPKS-KR-DF" => "Ulsan", + "1FPKS-KR-DK" => "Dokdo", + "1FPKS-KR-F" => "Honam region", + "1FPKS-KR-FA" => "Jeollabuk-do (North Jeolla Province)", + "1FPKS-KR-FB" => "Jeollanam-do (South Jeolla Province)", + "1FPKS-KR-FC" => "Gwangju", + "1FPKS-KR-J" => "Jeju-do (Jeju Province)", "1FPM" => "Mongolia", "1FZ" => "Asia: physical features", "1FZA" => "Asia: rivers, lakes etc", @@ -5698,6 +5931,7 @@ static THEMA_CODES: Map<&'static str, &'static str> = phf_map! { "1HFDM-ML-A" => "Timbuktu", "1HFDN" => "Nigeria", "1HFDN-NG-A" => "Lagos", + "1HFDN-NG-R" => "Niger Delta region", "1HFDR" => "Niger", "1HFDS" => "Senegal", "1HFDS-SN-A" => "Dakar", @@ -5731,20 +5965,20 @@ static THEMA_CODES: Map<&'static str, &'static str> = phf_map! { "1HFGU-UG-A" => "Kampala", "1HFJ" => "Central Africa", "1HFJA" => "Cameroon", - "1HFJC" => "Congo (Congo-Brazzaville)", + "1HFJC" => "Republic of the Congo (Congo-Brazzaville)", "1HFJC-CG-A" => "Brazzaville", "1HFJG" => "Gabon", "1HFJQ" => "Equatorial Guinea", "1HFJR" => "Central African Republic", "1HFJS" => "Sao Tome and Principe", - "1HFJZ" => "Democratic Republic of Congo (former Zaire)", + "1HFJZ" => "Democratic Republic of Congo", "1HFJZ-CD-A" => "Kinshasa", "1HFM" => "Southern Africa", "1HFMA" => "Angola", "1HFMB" => "Botswana", "1HFMB-BW-A" => "Gaborone", "1HFMB-BW-V" => "Okavango River and Delta", - "1HFMK" => "Eswatini (Swaziland)", + "1HFMK" => "Eswatini", "1HFML" => "Lesotho", "1HFMM" => "Malawi", "1HFMN" => "Namibia", @@ -5962,7 +6196,7 @@ static THEMA_CODES: Map<&'static str, &'static str> = phf_map! { "1KBB-US-WMTT" => "Taos", "1KBB-US-WMU" => "Utah", "1KBB-US-WMUS" => "Salt Lake City", - "1KBB-US-WMUZ" => "Zion National Park", + "1KBB-US-WMUZ" => "Zion and other Utah National or State Parks", "1KBB-US-WMW" => "Wyoming", "1KBB-US-WMWC" => "Cheyenne (WY)", "1KBB-US-WMWJ" => "Jackson Hole", @@ -5976,13 +6210,15 @@ static THEMA_CODES: Map<&'static str, &'static str> = phf_map! { "1KBB-US-WPCD" => "San Diego", "1KBB-US-WPCF" => "San Francisco", "1KBB-US-WPCJ" => "San Jose", - "1KBB-US-WPCM" => "Monterey", + "1KBB-US-WPCM" => "Monterey and the Central Coast", "1KBB-US-WPCN" => "Napa and Sonoma", - "1KBB-US-WPCP" => "Palm Springs", - "1KBB-US-WPCR" => "Fresno", + "1KBB-US-WPCP" => "Palm Springs and the Inland Empire", + "1KBB-US-WPCR" => "Fresno and the San Joaquin Valley", "1KBB-US-WPCS" => "Sacramento", - "1KBB-US-WPCY" => "Yosemite National Park", - "1KBB-US-WPH" => "Hawaii", + "1KBB-US-WPCW" => "North Coast and Redwood region", + "1KBB-US-WPCX" => "Death Valley National Park", + "1KBB-US-WPCY" => "Yosemite, Sequoia and Kings Canyon National parks", + "1KBB-US-WPH" => "Hawaii / Hawaiʻi (State of)", "1KBB-US-WPHH" => "Hawaii (Big Island)", "1KBB-US-WPHK" => "Kauai", "1KBB-US-WPHM" => "Maui", @@ -6184,11 +6420,12 @@ static THEMA_CODES: Map<&'static str, &'static str> = phf_map! { "1KBZA-US-L" => "Great Salt Lake", "1KBZA-US-O" => "Columbia river and tributaries", "1KBZA-US-P" => "Potomac river and Chesapeake Bay", - "1KBZT" => "North America: mountains, hills, plains, coastlines etc", + "1KBZT" => "North America: mountains, hills, plains, coastlines, deserts, etc", "1KBZTA" => "Appalachian Mountains", "1KBZTG" => "Grand Canyon", "1KBZTP" => "North America: Great Plains", "1KBZTR" => "Rocky Mountains", + "1KBZTS" => "North American deserts", "1KBZT-US-D" => "Denali", "1KJ" => "Caribbean islands", "1KJC" => "Cuba", @@ -6544,7 +6781,7 @@ static THEMA_CODES: Map<&'static str, &'static str> = phf_map! { "1KLZTG" => "Galapagos Islands", "1KLZTM" => "Sierra Madre mountains", "1M" => "Australasia, Oceania, Pacific Islands, Atlantic Islands", - "1MB" => "Australasia", + "1MB" => "Australia and New Zealand / Aotearoa", "1MBF" => "Australia", "1MBF-AU-C" => "Australian Capital Territory (ACT)", "1MBF-AU-CA" => "Canberra", @@ -6562,7 +6799,26 @@ static THEMA_CODES: Map<&'static str, &'static str> = phf_map! { "1MBF-AU-WP" => "Perth", "1MBF-AU-X" => "Northern Territory", "1MBF-AU-XD" => "Darwin", - "1MBN" => "New Zealand", + "1MBN" => "New Zealand / Aotearoa", + "1MBN-NZ-D" => "North Island / Te Ika-a-Māui", + "1MBN-NZ-DA" => "Northland / Te Tai Tokerau", + "1MBN-NZ-DB" => "Auckland / Tāmaki-makau-rau", + "1MBN-NZ-DC" => "Waikato", + "1MBN-NZ-DD" => "Bay of Plenty / Te Moana-a-Toitehuatahi", + "1MBN-NZ-DE" => "Gisborne / Tūranga-nui-a-Kiwa", + "1MBN-NZ-DF" => "Hawke‘s Bay / Te Matau-a-Māui", + "1MBN-NZ-DG" => "Taranaki", + "1MBN-NZ-DH" => "Manawatu-Whanganui", + "1MBN-NZ-DJ" => "Wellington / Te Whanganui-a-Tara", + "1MBN-NZ-G" => "South Island / Te Waipounamu", + "1MBN-NZ-GA" => "Tasman / Te Tai o Aorere", + "1MBN-NZ-GB" => "Nelson / Whakatū", + "1MBN-NZ-GC" => "Marlborough / Te Tauihu-o-te-waka", + "1MBN-NZ-GD" => "West Coast / Te Tai Poutini", + "1MBN-NZ-GE" => "Canterbury / Waitaha", + "1MBN-NZ-GF" => "Otago / Ōtākou", + "1MBN-NZ-GG" => "Southland / Murihiku", + "1MBN-NZ-GP" => "Southern Alps / Kā Tiritiri o te Moana", "1MBZ" => "Australasia: physical features", "1MBZA" => "Australasia: rivers, lakes etc", "1MBZAD" => "Murray-Darling river and tributaries", @@ -6623,19 +6879,20 @@ static THEMA_CODES: Map<&'static str, &'static str> = phf_map! { "1MTAST" => "Tristan da Cunha", "1MTN" => "Arctic regions", "1MTNG" => "Greenland", - "1MTNG-GL-A" => "North-east Greenland (National park)", + "1MTNG-GL-A" => "Northeast Greenland National park", "1MTNG-GL-D" => "Kommune Kujalleq", "1MTNG-GL-G" => "Kommuneqarfik Sermersooq", "1MTNG-GL-GN" => "Nuuk", "1MTNG-GL-J" => "Qeqqata Kommunia", "1MTNG-GL-JK" => "Kangerlussuaq (Søndre Strømfjord)", - "1MTNG-GL-M" => "Qaasuitsup Kommunia", + "1MTNG-GL-M" => "Avannaata Kommunia", "1MTNG-GL-MP" => "Thule Air Base (Pituffik)", + "1MTNG-GL-N" => "Kommune Qeqertalik", "1MTN-NO-J" => "Jan Mayen", "1MTN-NO-S" => "Svalbard", "1MTS" => "Antarctica", "1Q" => "Other geographical groupings: Oceans and seas, historical, political etc", - "1QB" => "Historical states, empires and regions", + "1QB" => "Historical states, empires, territories and regions", "1QBA" => "Ancient World", "1QBAA" => "Assyrian Empires", "1QBAB" => "Babylonia", @@ -6646,20 +6903,24 @@ static THEMA_CODES: Map<&'static str, &'static str> = phf_map! { "1QBAL" => "Ancient / Biblical Israel", "1QBAM" => "Mesopotamia", "1QBAP" => "Persian Empire", + "1QBAQ" => "Phoenicia / Phoenician civilization", "1QBAR" => "Ancient Rome", "1QBAS" => "Sumer", "1QBAT" => "Etruria", - "1QBC" => "Historical states and empires: multi-continental", + "1QBC" => "Historical states, empires, territories and regions: multi-continental", "1QBCB" => "Byzantine Empire", "1QBCE" => "Islamic Caliphate", "1QBCL" => "Mongol Empire", + "1QBCM" => "Silk Roads", "1QBCS" => "Ottoman Empire", "1QBCU" => "British Empire", "1QBCV" => "Spanish Empire", "1QBCW" => "Portuguese Empire", "1QBC-FR-C" => "French Colonial Empire", - "1QBD" => "Historical states and empires: Europe", + "1QBD" => "Historical states, empires, territories and regions: Europe", "1QBDA" => "Austro-Hungarian Empire", + "1QBDB" => "Viking / Norse civilisations", + "1QBDC" => "Celtic civilisations / Celtic world", "1QBDF" => "Holy Roman Empire", "1QBDK" => "Czechoslovakia", "1QBDL" => "East Germany, DDR", @@ -6674,36 +6935,44 @@ static THEMA_CODES: Map<&'static str, &'static str> = phf_map! { "1QBD-FR-L" => "Carolingian Empire", "1QBD-FR-N" => "Napoleonic Empire", "1QBD-FR-Z" => "France: Historical and cultural regions", - "1QBF" => "Historical states and empires: Asia", - "1QBH" => "Historical states and empires: Africa", - "1QBHK" => "Ashanti Kingdoms", - "1QBK" => "Historical states and empires: Americas", + "1QBF" => "Historical states, empires, territories and regions: Asia", + "1QBFB" => "Indus Valley civilisations", + "1QBFC" => "Ancient China", + "1QBFG" => "Mughal Empire", + "1QBH" => "Historical states, empires, territories and regions: Africa", + "1QBHK" => "Ashanti / Asante Empire / Kingdoms", + "1QBHM" => "Kingdom of Benin (Benin Empire) / Edo Kingdom", + "1QBHN" => "Nubia", + "1QBK" => "Historical states, empires, territories and regions: Americas", "1QBKC" => "Confederate States of America", - "1QBKL" => "Inca Empire / Incas", - "1QBKM" => "Mesoamerican civilisations", - "1QBKMA" => "Aztec Empire", - "1QBKMM" => "Mayan states", + "1QBKK" => "Andean cultures / civilisations", + "1QBKL" => "Inca Empire / Inca civilisations", + "1QBKM" => "Mesoamerican cultures / civilisations", + "1QBKMA" => "Aztec Empire / Aztec civilisation", + "1QBKMM" => "Mayan states / Mayan civilisations", "1QBK-CA-Q" => "New France", "1QBK-CA-QA" => "New France: Acadia", "1QBK-CA-QL" => "New France: French Louisiana", "1QBK-CO-B" => "Gran Colombia", "1QBK-CO-C" => "Nueva Granada (New Granada)", - "1QBM" => "Historical states and empires: Australasia, Oceania and other land areas", + "1QBM" => "Historical states and empires, territories and regions: Australasia, Oceania, the Pacific islands", "1QF" => "Political, socio-economic, cultural and strategic groupings", "1QFA" => "Arab world / Arab League", "1QFAM" => "Maghreb", "1QFB" => "African Union", "1QFC" => "Commonwealth of Nations", "1QFE" => "EU (European Union)", - "1QFG" => "Developing countries", - "1QFH" => "Industrialized / developed countries", + "1QFG" => "Global South / Developing countries", + "1QFH" => "Global North / Industrialized or developed countries", "1QFL" => "Sápmi", "1QFM" => "Islamic countries", - "1QFN" => "NATO", - "1QFP" => "OPEC", - "1QFS" => "ASEAN", + "1QFN" => "NATO (North Atlantic Treaty Organisation)", + "1QFP" => "OPEC (Organization of the Petroleum Exporting Countries)", + "1QFS" => "ASEAN (Association of Southeast Asian Nations)", "1QFT" => "Mercosur / Mercosul", "1QFU" => "United Nations", + "1QFX" => "Ibero-America", + "1QFY" => "Francophonie", "1QFW" => "Warsaw Pact, Eastern bloc", "1QF-CA-A" => "Atlantic Canada (NB, PE, NS, NL)", "1QF-CA-C" => "Central Canada (ON, QC)", @@ -6714,10 +6983,15 @@ static THEMA_CODES: Map<&'static str, &'static str> = phf_map! { "1QF-CA-W" => "Western Canada (BC, AB, SK, MB)", "1QM" => "Climatic regions", "1QMP" => "Polar regions", + "1QMQ" => "Subarctic region / zone", + "1QMR" => "Temperate regions / zones", + "1QMS" => "Dry / arid / desert regions / zones", "1QMT" => "Tropics", "1QR" => "Groupings linked by seas", + "1QRG" => "Indo-Pacific", "1QRM" => "Mediterranean countries", "1QRP" => "Pacific Rim countries", + "1QRPN" => "Asia-Pacific (APAC)", "1QS" => "Oceans and seas", "1QSA" => "Atlantic Ocean", "1QSAN" => "North Atlantic", @@ -6739,6 +7013,7 @@ static THEMA_CODES: Map<&'static str, &'static str> = phf_map! { "1QSN" => "Indian Ocean", "1QSNP" => "Persian Gulf", "1QSP" => "Pacific Ocean", + "1QSPL" => "Western Pacific Ocean", "1QSPN" => "North Pacific", "1QSPS" => "South Pacific", "1QSR" => "Arctic Ocean", @@ -6776,7 +7051,7 @@ static THEMA_CODES: Map<&'static str, &'static str> = phf_map! { "2ACD" => "Dutch", "2ACF" => "Flemish", "2ACG" => "German", - "2ACGH" => "Swiss German (Alemannic)", + "2ACGH" => "Swiss German /Alemannic / Alsatian", "2ACGM" => "German, Middle High", "2ACGP" => "German, Old High", "2ACK" => "Afrikaans", @@ -6794,6 +7069,7 @@ static THEMA_CODES: Map<&'static str, &'static str> = phf_map! { "2ACZ" => "Other Germanic languages and dialects", "2ACZF" => "Frisian", "2ACZH" => "Low German / Low Saxon", + "2ACZK" => "Limburgan / Limburger / Limburgish", "2ACZL" => "Luxembourgish / Letzeburgesch", "2AD" => "Romance, Italic and Rhaeto-Romanic languages", "2ADC" => "Catalan", @@ -6810,6 +7086,7 @@ static THEMA_CODES: Map<&'static str, &'static str> = phf_map! { "2ADPB" => "Brazilian Portuguese", "2ADQ" => "Galician (Gallego, Galego)", "2ADR" => "Romanian", + "2ADRB" => "Aromanian / Macedo-Romanian / Vlach", "2ADS" => "Spanish", "2ADSL" => "Latin-American Spanish", "2ADSR" => "Judeo-Spanish / Ladino", @@ -6818,11 +7095,14 @@ static THEMA_CODES: Map<&'static str, &'static str> = phf_map! { "2ADV" => "Sardinian", "2ADW" => "Rhaeto-Romance (Rhaetian) languages", "2ADWD" => "Ladin", + "2ADWF" => "Friulian", "2ADWR" => "Romansh", + "2AD-BE-W" => "Walloon", "2AD-ES-G" => "Aragonese", "2AD-ES-N" => "Aranese", "2AD-ES-T" => "Asturian", "2AD-FR-C" => "Occitan (lenga d’òc)", + "2AD-FR-P" => "Picard", "2AF" => "Celtic languages", "2AFB" => "Breton", "2AFC" => "Cornish", @@ -6841,7 +7121,9 @@ static THEMA_CODES: Map<&'static str, &'static str> = phf_map! { "2AGP" => "Polish", "2AGR" => "Russian", "2AGS" => "Serbo-Croatian", + "2AGSB" => "Bosnian", "2AGSC" => "Croatian", + "2AGSK" => "Montenegrin", "2AGSS" => "Serbian", "2AGU" => "Ukrainian", "2AGV" => "Slovenian", @@ -6871,7 +7153,7 @@ static THEMA_CODES: Map<&'static str, &'static str> = phf_map! { "2BMK" => "Kashmiri", "2BMN" => "Nepali", "2BMP" => "Punjabi", - "2BMR" => "Romany", + "2BMR" => "Romani (Romany)", "2BMS" => "Sinhalese", "2BMSM" => "Maldivian", "2BMU" => "Urdu", @@ -6898,11 +7180,12 @@ static THEMA_CODES: Map<&'static str, &'static str> = phf_map! { "2CSTA" => "Amharic", "2CSTT" => "Tigrinya", "2CX" => "Non-Semitic Afro-Asiatic languages", - "2CXB" => "Berber (Tuareg)", + "2CXB" => "Berber languages", "2CXC" => "Coptic", "2CXG" => "Egyptian", "2CXH" => "Hausa", - "2CXS" => "Somali", + "2CXS" => "Cushitic languages", + "2CXSD" => "Somali", "2CXSR" => "Oromo", "2F" => "Ural-Altaic and Hyperborean languages", "2FC" => "Finno-Ugric languages", @@ -6938,7 +7221,7 @@ static THEMA_CODES: Map<&'static str, &'static str> = phf_map! { "2GDCM" => "Mandarin", "2GDCW" => "Wu", "2GDCY" => "Amoy", - "2GDK" => "Karen", + "2GDK" => "Karen / Karenic languages", "2GDT" => "Tibetan", "2GJ" => "Japanese", "2GK" => "Korean", @@ -6956,7 +7239,7 @@ static THEMA_CODES: Map<&'static str, &'static str> = phf_map! { "2HCBBC" => "Chichewa (Chewa)", "2HCBBF" => "Chilomwe (Lomwe)", "2HCBBH" => "Chinyanja (Cinyanja, Nyanja)", - "2HCBBJ" => "Chitonga (Tonga)", + "2HCBBJ" => "Chitonga (Tonga, Nyasa)", "2HCBBL" => "Chitumbuka (Tumbuka)", "2HCBBN" => "Chiyao (Yao)", "2HCBBP" => "Icibemba (Bemba)", @@ -6972,20 +7255,23 @@ static THEMA_CODES: Map<&'static str, &'static str> = phf_map! { "2HCBLR" => "Nyankore (Runyankore-Rukiga)", "2HCBM" => "Fang (Yaunde-Fang)", "2HCBN" => "Duala", - "2HCBP" => "Tshivenda and Venda group", + "2HCBP" => "Tshivenda (Venda)", "2HCBQ" => "Shona", "2HCBS" => "Sotho-Tswana group", "2HCBSA" => "Sesotho (Sotho, Sesotho sa Leboa, Southern Sotho)", "2HCBSB" => "Sepedi (Northern Sotho)", "2HCBSD" => "Setswana (Tswana)", "2HCBSF" => "Silozi", + "2HCBT" => "Southern Ndebele", + "2HCBU" => "Makua / Makhuwa languages", "2HCBV" => "XiTsonga (Tsonga)", "2HCBW" => "Siswati (Swazi)", "2HCBX" => "isiXhosa (Xhosa)", "2HCBY" => "isiNdebele (Ndebele)", "2HCBZ" => "isiZulu (Zulu)", "2HCW" => "West Atlantic and Volta Congo languages", - "2HCWF" => "Fulani (Fulah)", + "2HCWF" => "Fula (Fulani / Fulah)", + "2HCWM" => "Mande languages", "2HCWV" => "Volta-Congo languages", "2HCWVB" => "Ibo (Igbo)", "2HCWVD" => "Dagbani (Dagomba)", @@ -6998,7 +7284,7 @@ static THEMA_CODES: Map<&'static str, &'static str> = phf_map! { "2HK" => "Khoisan languages", "2HN" => "Nilo-Saharan and Chari-Nile (Macrosudanic) languages", "2HND" => "Dinka", - "2HNM" => "Masai", + "2HNM" => "Masai / Maasai", "2HNR" => "Nubian", "2HNT" => "Teso (Ateso)", "2HX" => "Other African languages", @@ -7068,11 +7354,14 @@ static THEMA_CODES: Map<&'static str, &'static str> = phf_map! { "2JNN" => "Uto-Aztecan languages", "2JNNA" => "Nahuatl languages", "2JNP" => "Oto-Manguean languages", + "2JNPM" => "Mixtecan languages", + "2JNPZ" => "Zapotec / Zapotecan languages", "2JNZ" => "Zuni", "2JS" => "South American and Caribbean indigenous languages", "2JSC" => "Cariban languages", "2JSG" => "Tupian and Guarani languages", "2JSQ" => "Quechuan languages", + "2JSR" => "Aymara", "2P" => "Oceanic and Austronesian languages", "2PB" => "Australian Aboriginal languages", "2PC" => "Papuan languages", @@ -7081,23 +7370,24 @@ static THEMA_CODES: Map<&'static str, &'static str> = phf_map! { "2PGB" => "Formosan (Taiwanese)", "2PGG" => "Malagasy", "2PGJ" => "Tagalog (Filipino)", + "2PGK" => "Bisayan / Visayan languages", "2PGN" => "Indonesian languages", "2PGNA" => "Indonesian (Bahasa Indonesia)", "2PGNC" => "Balinese", "2PGND" => "Javanese", "2PGNM" => "Malay (Bahasa Malaysia)", "2PGP" => "Oceanic and Polynesian languages", - "2PGPA" => "Maori language", + "2PGPA" => "Maori language / te reo Māori", "2PGPF" => "Fijian", "2PGPG" => "Tongan", "2PGPH" => "Tahitian", - "2PGPR" => "Rarotongan", + "2PGPR" => "Cook Islands Maori (Rarotongan)", "2PGPS" => "Samoan", "2PGPW" => "Hawaiian", "2PGPX" => "Other Oceanic languages", "2PGPXK" => "Mokilese", "2PGPXM" => "Marshallese", - "2PGPXN" => "Ponapean", + "2PGPXN" => "Pohnpeian (Ponapean)", "2PGPXP" => "Palauan", "2PGPXT" => "Tokelauan", "2S" => "Sign / Signed languages", @@ -7109,7 +7399,14 @@ static THEMA_CODES: Map<&'static str, &'static str> = phf_map! { "2ZP" => "Pidgins and Creoles", "2ZPE" => "English-based creoles", "2ZPF" => "French-based creoles", + "2ZPFH" => "Haitian / Haitian Creole", + "2ZPH" => "Saramaccan", + "2ZPJ" => "Sranan Tongo, Surinaams", + "2ZPP" => "Portuguese-based creoles", + "2ZPQ" => "Papiamento / Papiamentu", + "2ZPS" => "Spanish-based creoles", "2ZPT" => "Tok Pisin", + "2ZS" => "Argot / Secret languages / Cant languages", "2ZX" => "Artificial languages", "2ZXA" => "Afrihili", "2ZXC" => "Occidental", @@ -7118,6 +7415,9 @@ static THEMA_CODES: Map<&'static str, &'static str> = phf_map! { "3" => "Time period qualifiers", "3A" => "Geological time", "3AC" => "Cenozoic era", + "3ACF" => "Quaternary period", + "3ACFB" => "Pleistocene epoch", + "3ACFD" => "Holocene epoch", "3AM" => "Mesozoic era", "3AP" => "Palaeozoic era", "3AR" => "Proterozoic eon", @@ -7132,6 +7432,9 @@ static THEMA_CODES: Map<&'static str, &'static str> = phf_map! { "3BR" => "Iron Age", "3B-AA-E" => "c 5500 to c 2700 BCE (Egyptian Predynastic and Early Dynastic period)", "3C" => "BCE period – Protohistory", + "3CA" => "c 50 000 to c 20 000 BCE", + "3CB" => "c 20 000 to c 10 000 BCE", + "3CC" => "c 10 000 to c 4000 BCE", "3CD" => "c 4000 to c 3000 BCE", "3CDA" => "c 4000 to c 3500 BCE", "3CDB" => "c 3500 to c 3000 BCE", @@ -7155,6 +7458,7 @@ static THEMA_CODES: Map<&'static str, &'static str> = phf_map! { "3CT-IT-A" => "c 1000 to c 500 BCE (Italian period of Antiquity)", "3CT-JP-Y" => "c 1000 BCE to 300 CE (Japanese Yayoi period)", "3C-AA-E" => "c 2686 to c 323 BCE (Ancient Egyptian period)", + "3C-KR-G" => "c 2000 BCE to c 300 CE (Ancient Korean period )", "3K" => "CE period up to c 1500", "3KB" => "c 1 to c 500 CE", "3KBF" => "1st century, c 1 to c 99", @@ -7165,6 +7469,7 @@ static THEMA_CODES: Map<&'static str, &'static str> = phf_map! { "3KB-AA-E" => "c 332 BCE to c 630 CE (Egyptian Greco-Roman period)", "3KB-GB-A" => "c 43 BCE to c 410 CE (period of Roman Britain / Britannia)", "3KB-JP-K" => "c 300 CE to 591 (Japanese Kofun period)", + "3KB-KR-B" => "c 57 BCE to c 668 CE (period of the Three Kingdoms of Korea)", "3KH" => "c 500 to c 1000 CE", "3KHF" => "6th century, c 500 to c 599", "3KHFB" => "Early 6th century, c 500 to c 550", @@ -7191,6 +7496,9 @@ static THEMA_CODES: Map<&'static str, &'static str> = phf_map! { "3KH-IE-V" => "c 800 to c 1014 (Irish Viking age)", "3KH-IT-C" => "c 500 to c 1000 (period of Germanic and Frankish Kingdoms in Italy)", "3KH-JP-H" => "c 785 to c 1068 (Japanese Early and Middle Heian period)", + "3KH-KR-H" => "c 668 to c 935 (Korean Unified Silla period)", + "3KH-KR-N" => "c 698 to c 926 (Korean Balhae period)", + "3KH-NO-V" => "c 790 to c 1070 (the Viking Age)", "3KH-SE-H" => "c 800 to c 1050 (Swedish Viking age)", "3KL" => "c 1000 CE to c 1500", "3KLF" => "11th century, c 1000 to c 1099", @@ -7221,6 +7529,7 @@ static THEMA_CODES: Map<&'static str, &'static str> = phf_map! { "3KL-GB-D" => "c 1154 to c 1485 (Plantagenet and Angevin period)", "3KL-IE-N" => "1169 to c 1350 (Irish Norman and medieval period)", "3KL-IT-D" => "c 1000 to c 1400 (Italian period of Communes, ‘Signorie’)", + "3KL-KR-N" => "c 918 to c 1392 (Korean Goryeo period)", "3KL-PL-A" => "c 960 to 1370 (period of the Piast dynasty)", "3KL-SE-J" => "c 1050 to c 1520 (Swedish medieval period)", "3K-ES-A" => "c 400 to c 1492 (Spanish medieval period)", @@ -7247,6 +7556,7 @@ static THEMA_CODES: Map<&'static str, &'static str> = phf_map! { "3MD-GB-G" => "1485–1603 (Tudor period)", "3MD-GB-GE" => "1558–1603 (Elizabethan period)", "3MD-IE-P" => "c 1556 to c 1663 (period of the Plantations of Ireland)", + "3MD-IT-N" => "c 1494 to c 1559 (period of the Italian Wars, period of the Italian High Renaissance)", "3MD-SE-L" => "c 1520 to 1654 (period of the Vasa dynasty)", "3MG" => "17th century, c 1600 to c 1699", "3MGB" => "Early 17th century c 1600 to c 1650", @@ -7312,7 +7622,7 @@ static THEMA_CODES: Map<&'static str, &'static str> = phf_map! { "3MNB-ES-A" => "1808–1813 (period of Spanish War of Independence)", "3MNB-GB-T" => "c 1760 to c 1840 (period of the British Industrial Revolution)", "3MNB-IT-M" => "1796–1848 (Napoleonic era, Restoration period, Risorgimento uprisings in Italy)", - "3MNB-US-D" => "c 1800 to c 1861 (period of American exploration and expansion)", + "3MNB-US-D" => "c 1800 to c 1861 (period of North American exploration and expansion)", "3MNB-XA-R" => "c 1808 to c 1833 (period of Spanish American wars of independence)", "3MNQ" => "Later 19th century c 1850 to c 1899", "3MNQM" => "c 1850 to c 1859", @@ -7328,6 +7638,7 @@ static THEMA_CODES: Map<&'static str, &'static str> = phf_map! { "3MNQ-IT-P" => "1861 to c 1900 (period of National Unification and the first decades of the Kingdom of Italy)", "3MNQ-JP-M" => "1868–1912 (Japanese Meiji period)", "3MNQ-MX-P" => "1876 to 1910 (The Porfiriato period)", + "3MNQ-NL-B" => "c 1871 to c 1914 (Belle Époque period)", "3MNQ-US-E" => "1861–1877 (American Civil War period and the era of Reconstruction)", "3MNQ-US-F" => "c 1877 to c 1893 (‘The Gilded Age’ in the USA)", "3MN-DK-G" => "c 1800 to c 1850 (Danish Golden Age)", @@ -7374,6 +7685,7 @@ static THEMA_CODES: Map<&'static str, &'static str> = phf_map! { "3MPB-IT-R" => "1900–1914 (Italian Giolittian period)", "3MPB-JP-B" => "1912–1926 (Japanese Taisho period)", "3MPB-JP-D" => "1926–1945 (Japanese pre-war Showa period)", + "3MPB-KR-S" => "c 1910 to c 1945 (Korean Japanese colonial period)", "3MPB-US-H" => "c 1890 to c 1929 (Progressive Era in the USA)", "3MPQ" => "Later 20th century c 1950 to c 1999", "3MPQM" => "c 1950 to c 1959", @@ -7416,18 +7728,20 @@ static THEMA_CODES: Map<&'static str, &'static str> = phf_map! { "3M-ES-A" => "c 1492 to c 1808 (Spanish Early Modern period)", "3M-ES-AB" => "c 1492 to c 1690 (Spanish Golden Age or ‘Siglo de oro’)", "3M-JP-E" => "c 1600 to 1867 (Japanese Edo period)", + "3M-KR-T" => "c 1392 to 1910 (Korean Joseon dynasty period)", "4" => "Educational purpose qualifiers", "4C" => "For all educational levels", "4CA" => "For pre-school learning", "4CD" => "For primary education", "4CF" => "For middle / preparatory school education", "4CL" => "For secondary education", - "4CN" => "For advanced secondary education", + "4CN" => "For advanced / upper secondary education", "4CP" => "For vocational / professional education / training", "4CPC" => "For vocational / professional certification / qualifications", "4CPF" => "For official government / civil service exams / qualifications", "4CPG" => "For Recruitment, Professional Aptitude or Reasoning tests", "4CPK" => "For tests of general knowledge or culture", + "4CQ" => "For bridging courses / education", "4CT" => "For higher / tertiary / university education", "4CTB" => "For undergraduate education and equivalents", "4CTM" => "For graduate / post-graduate and equivalents", @@ -7460,6 +7774,7 @@ static THEMA_CODES: Map<&'static str, &'static str> = phf_map! { "4LZ-IT-HD" => "For Italian language learning: CIC Certificate", "4LZ-IT-HF" => "For Italian language learning: PLIDA Certificate", "4LZ-IT-HH" => "For Italian language learning: CILS Certificate", + "4LZ-KR-K" => "For Korean language Proficiency tests and exams", "4T" => "For specific educational purposes", "4TC" => "Textbook, coursework", "4TM" => "Revision and study guide", @@ -7468,10 +7783,11 @@ static THEMA_CODES: Map<&'static str, &'static str> = phf_map! { "4TNH" => "For Entrance or Admissions exams / tests", "4TP" => "Content and language integrated learning (CLIL)", "4TQ" => "For Intercultural bilingual education (IBE)", + "4TR" => "For plurilingual or intercultural education", "4TV" => "For supplementary education programmes (compensatory / complementary education)", "4TW" => "For specific learning difficulties", - "4TY" => "For home learning / Self-study / autonomous learning", - "4TYB" => "For home learning: beginner levels", + "4TY" => "For home learning / Self-study / autonomous learning", + "4TYB" => "For home learning: beginner / introductory levels", "4TYF" => "For home learning: intermediary levels", "4TYL" => "For home learning: advanced levels", "4Z" => "For specific national or regional educational curricula", @@ -7535,15 +7851,15 @@ static THEMA_CODES: Map<&'static str, &'static str> = phf_map! { "4Z-BE-BEAA" => "A-stream (BE)", "4Z-BE-BEAB" => "B-stream (BE)", "4Z-BE-BEB" => "Second cycle (years 3 and 4)", - "4Z-BE-BEBA" => "General Secondary Education (ASO)", - "4Z-BE-BEBB" => "Vocational Secondary Education (BSO)", - "4Z-BE-BEBC" => "Art Secondary Education (KSO)", - "4Z-BE-BEBD" => "Technical Secondary Education (TSO)", + "4Z-BE-BEBA" => "Second cycle: General Secondary Education (ASO)", + "4Z-BE-BEBB" => "Second cycle: Vocational Secondary Education (BSO)", + "4Z-BE-BEBC" => "Second cycle: Art Secondary Education (KSO)", + "4Z-BE-BEBD" => "Second cycle: Technical Secondary Education (TSO)", "4Z-BE-BEC" => "Third cycle (years 5 and 6)", - "4Z-BE-BECA" => "General Secondary Education (ASO)", - "4Z-BE-BECB" => "Vocational Secondary Education (BSO)", - "4Z-BE-BECC" => "Art Secondary Education (KSO)", - "4Z-BE-BECD" => "Technical Secondary Education (TSO)", + "4Z-BE-BECA" => "Third cycle: General Secondary Education (ASO)", + "4Z-BE-BECB" => "Third cycle: Vocational Secondary Education (BSO)", + "4Z-BE-BECC" => "Third cycle: Art Secondary Education (KSO)", + "4Z-BE-BECD" => "Third cycle: Technical Secondary Education (TSO)", "4Z-BE-BECE" => "Secondary-after-Secondary (Se-n-Se)", "4Z-BE-D" => "For the educational curricula of the French community (Belgium)", "4Z-BE-DA" => "Pre-primary education (French community BE)", @@ -7554,6 +7870,7 @@ static THEMA_CODES: Map<&'static str, &'static str> = phf_map! { "4Z-BE-HC" => "Primary education (German-speaking community BE)", "4Z-BE-HE" => "Secondary Education (German-speaking community BE)", "4Z-BO-" => "For the educational curriculum of Bolivia", + "4Z-BR-" => "For the educational curriculum of Brazil", "4Z-CA-" => "For educational curricula of Canada", "4Z-CA-A" => "For Elementary Education (Canada)", "4Z-CA-C" => "For Secondary Education (Canada)", @@ -7581,12 +7898,13 @@ static THEMA_CODES: Map<&'static str, &'static str> = phf_map! { "4Z-CL-" => "For the educational curriculum of Chile", "4Z-CO-" => "For the educational curriculum of Colombia", "4Z-CO-A" => "Initial education – Pre-jardín and Jardín (Colombia)", - "4Z-CO-B" => "Preschool education – Transición (Colombia)", + "4Z-CO-B" => "Preschool education – Transición (Colombia)", "4Z-CO-C" => "Basic Education – Primary and Secondary (Colombia)", "4Z-CO-D" => "Middle Education – Tenth and Eleventh Grades (Colombia)", "4Z-CO-E" => "Higher Education (Colombia)", "4Z-CR-" => "For the educational curriculum of Costa Rica", "4Z-CU-" => "For the educational curriculum of Cuba", + "4Z-CZ-" => "For the educational curriculum of Czechia / Czech Republic", "4Z-DE-" => "For educational curricula of Germany", "4Z-DE-A" => "For pre-school learning (Germany)", "4Z-DE-B" => "For primary education (Germany)", @@ -7808,8 +8126,8 @@ static THEMA_CODES: Map<&'static str, &'static str> = phf_map! { "4Z-FI-BB" => "Basic Education Grades 7–9 (Finland)", "4Z-FI-BD" => "Basic Education – OPS2016 (Finland)", "4Z-FI-C" => "General upper secondary education (Finland)", - "4Z-FI-CB" => "General upper secondary education – LOPS2016", - "4Z-FI-CC" => "General upper secondary education – LOPS2021", + "4Z-FI-CB" => "General upper secondary education – LOPS2016", + "4Z-FI-CC" => "General upper secondary education – LOPS2021", "4Z-FI-D" => "Vocational upper secondary education (Finland)", "4Z-FR-" => "For the educational curriculum of France", "4Z-GB-" => "For educational curricula of the United Kingdom", @@ -7868,9 +8186,14 @@ static THEMA_CODES: Map<&'static str, &'static str> = phf_map! { "4Z-GB-VTC" => "For Cambridge Nationals", "4Z-GB-VTD" => "For City and Guilds qualifications", "4Z-GB-W" => "For the educational curricula of Wales", + "4Z-GB-WB" => "For primary curriculum (Wales)", + "4Z-GB-WD" => "For secondary curriculum (Wales)", + "4Z-GB-WF" => "Designed / suitable for GCSE (Wales)", + "4Z-GB-WH" => "Designed / suitable for A and AS Level (Wales)", "4Z-GB-WV" => "For Welsh vocational or technical qualifications", "4Z-GT-" => "For the educational curriculum of Guatemala", "4Z-HN-" => "For the educational curriculum of Honduras", + "4Z-HU-" => "For the educational curriculum of Hungary", "4Z-IE-" => "For the educational curriculum of Ireland", "4Z-IE-P" => "For Irish primary level curriculum", "4Z-IE-S" => "For Irish secondary level curriculum", @@ -7947,7 +8270,7 @@ static THEMA_CODES: Map<&'static str, &'static str> = phf_map! { "4Z-IN-T" => "For School Entrance Exams / Admission tests (India)", "4Z-IN-TC" => "Central Hindu School (CHS) Entrance Exam", "4Z-IN-TD" => "Jawahar Navodya Vidyalya schools entrance exams", - "4Z-IN-TN" => "For Military Academies and Schools Entrance Exams /Admissions tests (India)", + "4Z-IN-TN" => "For Military Academies and Schools Entrance Exams / Admissions tests (India)", "4Z-IN-U" => "For University Entrance Exams and material (India)", "4Z-IN-UB" => "For Aligarh Muslim university (AMU)", "4Z-IN-UC" => "For Allahabad Central University", @@ -8043,6 +8366,36 @@ static THEMA_CODES: Map<&'static str, &'static str> = phf_map! { "4Z-JP-KJ" => "For university / college entrance examination (Japan)", "4Z-JP-KJA" => "For National Centre Test for University Admissions (Japan)", "4Z-JP-KK" => "For graduate school entrance examination (Japan)", + "4Z-KR-" => "For the educational curriculum of Korea", + "4Z-KR-A" => "For primary and secondary school curriculum (Korea)", + "4Z-KR-AB" => "For early education (Korea)", + "4Z-KR-AC" => "For kindergarten learning (Korea)", + "4Z-KR-AD" => "For preliminary elementary school learning (Korea)", + "4Z-KR-AE" => "For elementary school learning (Korea)", + "4Z-KR-AEA" => "For elementary school learning year 1 (Korea)", + "4Z-KR-AEB" => "For elementary school learning year 2 (Korea)", + "4Z-KR-AEC" => "For elementary school learning year 3 (Korea)", + "4Z-KR-AED" => "For elementary school learning year 4 (Korea)", + "4Z-KR-AEF" => "For elementary school learning year 5 (Korea)", + "4Z-KR-AEG" => "For elementary school learning year 6 (Korea)", + "4Z-KR-AF" => "For preliminary middle school learning (Korea)", + "4Z-KR-AG" => "For middle school learning (Korea)", + "4Z-KR-AGA" => "For middle school learning year 1 (Korea)", + "4Z-KR-AGB" => "For middle school learning year 2 (Korea)", + "4Z-KR-AGC" => "For middle school learning year 3 (Korea)", + "4Z-KR-AH" => "For preliminary high school learning (Korea)", + "4Z-KR-AJ" => "For high school learning (Korea)", + "4Z-KR-AJA" => "For high school learning year 1 (Korea)", + "4Z-KR-AJB" => "For high school learning year 2 (Korea)", + "4Z-KR-AJC" => "For high school learning year 3 (Korea)", + "4Z-KR-B" => "For Korean vocational, professional qualifications, exams and tests", + "4Z-KR-BA" => "For Korean civil service exams", + "4Z-KR-BE" => "For Korean vocational, professional qualifications, exams and tests in economics, finance, management and logistics sector", + "4Z-KR-BH" => "For Korean vocational, professional qualifications, exams and tests in law, humanity and social science sector", + "4Z-KR-BI" => "For Korean vocational, professional qualifications, exams and tests for medical experts and other health care sector", + "4Z-KR-BJ" => "For Korean recruitment exam, general knowledge, and aptitude tests", + "4Z-KR-BK" => "For Korean entry exams for 4-year course college, school qualification exams, and self-education", + "4Z-KR-BL" => "For Korean History Proficiency Test", "4Z-MX-" => "For the educational curriculum of Mexico", "4Z-MX-A" => "for Preschool education (Mexico)", "4Z-MX-B" => "For Primary education (Mexico)", @@ -8070,9 +8423,14 @@ static THEMA_CODES: Map<&'static str, &'static str> = phf_map! { "4Z-PL-CD" => "For Polish basic vocational schools", "4Z-PL-D" => "Polish vocational or professional exams", "4Z-PL-E" => "Polish secondary school leaving exams (Matura)", + "4Z-PT-" => "For the educational curriculum of Portugal", "4Z-PY-" => "For the educational curriculum of Paraguay", + "4Z-RO-" => "For the educational curriculum of Romania", "4Z-SG-" => "For the educational curriculum of Singapore", + "4Z-SK-" => "For the educational curriculum of Slovakia", "4Z-SV-" => "For the educational curriculum of El Salvador", + "4Z-TR-" => "For the educational curriculum of Turkey", + "4Z-UA-" => "For the educational curriculum of Ukraine", "4Z-US-" => "For educational curricula of the USA", "4Z-US-A" => "For SAT (Scholastic Assessment Test) (USA)", "4Z-US-B" => "For ACT (American College Testing) (USA)", @@ -8087,7 +8445,7 @@ static THEMA_CODES: Map<&'static str, &'static str> = phf_map! { "4Z-US-L" => "For Legal Bar (USA)", "4Z-US-M" => "For High School Entrance (USA)", "4Z-US-N" => "For College Entrance (USA)", - "4Z-US-O" => "For Advance Placement (USA)", + "4Z-US-O" => "For AP - Advanced Placement (USA)", "4Z-US-P" => "For Armed Forces (USA)", "4Z-UY-" => "For the educational curriculum of Uruguay", "4Z-VE-" => "For the educational curriculum of Venezuela", @@ -8099,6 +8457,7 @@ static THEMA_CODES: Map<&'static str, &'static str> = phf_map! { "5ABD" => "For babies from 3 months", "5ABF" => "For babies from 6 months", "5ABH" => "For infants from c 12 months", + "5ABJ" => "For infants from c 18 months", "5ABK" => "Interest age: from c 24 months", "5AC" => "Interest age: from c 3 years", "5AD" => "Interest age: from c 4 years", @@ -8117,12 +8476,13 @@ static THEMA_CODES: Map<&'static str, &'static str> = phf_map! { "5AT" => "Interest age: from c 16 years", "5AU" => "Interest age: from c 17 years", "5AX" => "For adult emergent readers", - "5AZ" => "For people with learning / communication difficulties", + "5AZ" => "For people with learning / communication difficulties or impairments", "5H" => "Holidays, events and seasonal interest", "5HC" => "Holidays and celebrations", "5HCA" => "New Year", "5HCB" => "Days of commemoration", "5HCBA" => "Holocaust Memorial or Remembrance Days", + "5HCBD" => "Emancipation Days", "5HCB-AR-B" => "May Revolution Day (Argentina)", "5HCB-AR-D" => "Day of Remembrance for Truth and Justice", "5HCB-MX-B" => "Mexican Revolution Day", @@ -8161,16 +8521,20 @@ static THEMA_CODES: Map<&'static str, &'static str> = phf_map! { "5HKM" => "First Communion, Holy Communion", "5HKQ" => "Confirmation", "5HKT" => "Bar Mitzvah, Bat Mitzvah", - "5HKU" => "Engagement / Wedding / Marriage", + "5HKU" => "Wedding / Marriage", + "5HKUD" => "Engagement / Betrothal", "5HKV" => "Coming of age celebrations / festivals / rituals", "5HP" => "Religious holidays", "5HPD" => "Christmas", "5HPDA" => "Advent", "5HPDE" => "Epiphany", "5HPF" => "Easter", + "5HPFD" => "Lent", "5HPFH" => "Holy Week", + "5HPFP" => "Pentecost", "5HPG" => "Holi (Festival of Colours)", "5HPH" => "Diwali", + "5HPJ" => "Vaisakhi (Baisakhi)", "5HPK" => "Ramadan", "5HPKE" => "Eid al-Fitr", "5HPL" => "Eid al-Adha", @@ -8189,9 +8553,9 @@ static THEMA_CODES: Map<&'static str, &'static str> = phf_map! { "5HRC" => "Seasonal interest: Autumn, Fall", "5HRD" => "Seasonal interest: Winter", "5HRD-FI-P" => "Polar night", - "5J" => "Intended for specific groups", - "5JA" => "Intended primarily or specifically for women and/or girls", - "5JB" => "Intended primarily or specifically for men and/or boys", + "5J" => "Subject matter intended exclusively for specific groups", + "5JA" => "Subject matter intended specifically for women and/or girls", + "5JB" => "Subject matter intended specifically for men and/or boys", "5L" => "Relating to the stages of life", "5LB" => "Relating to infancy", "5LC" => "Relating to childhood", @@ -8202,14 +8566,26 @@ static THEMA_CODES: Map<&'static str, &'static str> = phf_map! { "5LKM" => "Relating to middle adulthood", "5LKS" => "Relating to late adulthood / old age", "5P" => "Relating to specific groups and cultures or social and cultural interests", - "5PB" => "Relating to peoples: ethnic groups, indigenous peoples, cultures, tribes and other groupings of people", - "5PBA" => "Relating to indigenous peoples", - "5PBC" => "Relating to migrant groups / communities", - "5PBD" => "Relating to peoples of African descent", + "5PB" => "Relating to peoples: ethnic groups, indigenous peoples, cultures and other groupings of people", + "5PBA" => "Relating to Indigenous peoples", + "5PBB" => "Relating to peoples or groups of multiple heritage / culture", + "5PBC" => "Relating to migrant groups / diaspora communities or peoples", + "5PBCB" => "Relating to people of the Middle Eastern diasporas / heritage", + "5PBCD" => "Relating to people of the North African / Maghreb diasporas / heritage", + "5PBCG" => "Relating to people of the South Asian diasporas / heritage", + "5PBCH" => "Relating to people of the South East Asian diasporas / heritage", + "5PBCJ" => "Relating to people of the East Asian diasporas / heritage", + "5PBCL" => "Relating to people of the Pacific Island diasporas / heritage", + "5PBCM" => "Relating to people of the Caribbean diasporas / heritage", + "5PBCN" => "Relating to people of the Latin American diasporas / heritage", + "5PBCP" => "Relating to people of the North American diasporas / heritage", + "5PBCQ" => "Relating to people of the European diasporas / heritage", + "5PBD" => "Relating to people of the African diasporas / heritage", "5PBK" => "Relating to Kurdish people", "5PBR" => "Relating to Romani people and Travellers", "5PBR-IE-T" => "Relating to Irish Travellers", "5PBS" => "Relating to Sami people", + "5PB-AA-A" => "Relating to Arab people", "5PB-AU-A" => "Relating to Australian Aboriginal peoples and Torres Strait Islanders", "5PB-GB-M" => "Relating to Black, Asian and Minority Ethnic (BAME) peoples", "5PB-GB-A" => "Relating to British Asian people", @@ -8219,21 +8595,28 @@ static THEMA_CODES: Map<&'static str, &'static str> = phf_map! { "5PB-GB-BC" => "Relating to Black British Caribbean people", "5PB-GB-BF" => "Relating to Black British African people", "5PB-GB-N" => "Relating to Ulster-Scots (or Scots-Irish) people", + "5PB-IT-A" => "Relating to the Arbëreshë people", "5PB-NO-K" => "Relating to Kven people", "5PB-NZ-A" => "Relating to Maori people", "5PB-US-B" => "Relating to Amish / Mennonite people", - "5PB-US-C" => "Relating to African American people", - "5PB-US-D" => "Relating to Asian American people", + "5PB-US-C" => "Relating to African American / Black American people", + "5PB-US-D" => "Relating to Asian American / Pacific Islander American people", "5PB-US-E" => "Relating to Native American people", "5PB-US-F" => "Relating to Creole people", "5PB-US-G" => "Relating to Cajun people", "5PB-US-H" => "Relating to Latin / Hispanic American people", + "5PD" => "Relating to specific socioeconomic groups / status", + "5PDD" => "Relating to lower socioeconomic groups / status", + "5PDH" => "Relating to middle socioeconomic groups / status", + "5PDM" => "Relating to higher socioeconomic groups / status", "5PG" => "Relating to religious groups", "5PGC" => "Relating to Confucian people and groups", "5PGD" => "Relating to Hindu people and groups", + "5PGE" => "Relating to Sikh people and groups", "5PGF" => "Relating to Buddhist people and groups", "5PGJ" => "Relating to Jewish people and groups", "5PGM" => "Relating to Christian people and groups", + "5PGQ" => "Relating to Druze people and groups", "5PGP" => "Relating to Islamic / Muslim people and groups", "5PGS" => "Relating to Shinto people and groups", "5PGT" => "Relating to Taoist people and groups", @@ -8243,17 +8626,24 @@ static THEMA_CODES: Map<&'static str, &'static str> = phf_map! { "5PMF" => "Relating to people with hearing disabilities or impairments", "5PMH" => "Relating to people on the autism spectrum", "5PMJ" => "Relating to people with learning disorders, difficulties or disabilities", + "5PMK" => "Relating to people with Down syndrome", + "5PML" => "Relating to people with cerebral palsy", "5PMN" => "Relating to people with degenerative conditions", - "5PMP" => "Relating to people with hidden or invisible disabilities", + "5PMP" => "Relating to people with hidden or invisible disabilities / disorders", "5PS" => "Relating to LGBTQ+ people", - "5PSB" => "Relating to bisexuals or pansexuals", + "5PSB" => "Relating to bisexual / pansexual / polysexual people", "5PSG" => "Relating to gay people", "5PSL" => "Relating to lesbians", "5PT" => "Relating to Trans / Transgender people or gender minorities", + "5PU" => "Relating to intersex people", "5PV" => "Relating to asexual or aromantic people", "5PX" => "Relating to specific and significant cultural interests", - "5PX-GB-S" => "Shakespeare", + "5PX-GB-S" => "Relating to Shakespeare / Shakespearean", + "5PX-XA-A" => "Relating to King Arthur / Arthurian", "5X" => "Contains explicit or offensive material or content", + "5Y" => "Relating to special / particular aspects of the content", + "5YA" => "Relating to non-stereotypical gender roles", + "5YS" => "Relating to UN Sustainable Development Goals (SDGs)", "6" => "Style qualifiers", "6A" => "Styles (A)", "6AA" => "Abstractism", @@ -8312,7 +8702,7 @@ static THEMA_CODES: Map<&'static str, &'static str> = phf_map! { "6EF" => "Expressionism", "6EG" => "Ancient Egyptian style", "6EH" => "Epic", - "6EJ" => "Elegy", + "6EJ" => "Elegy / Elegiac styles", "6EK" => "EDM (Electronic Dance Music)", "6F" => "Styles (F)", "6FA" => "Fauvism", @@ -8334,16 +8724,17 @@ static THEMA_CODES: Map<&'static str, &'static str> = phf_map! { "6J" => "Styles (IJ)", "6JA" => "Impressionism", "6JB" => "Iberian style", - "6JC" => "Indie", + "6JC" => "Indie styles", "6JD" => "Jazz", "6JF" => "Jack of Diamonds", "6JG" => "Jugendstil", "6JL" => "Islamic styles", "6JN" => "Indigenous styles", "6K" => "Styles (K)", + "6KA" => "K-pop style", "6L" => "Styles (L)", "6LA" => "Lettrism", - "6LB" => "Lyric", + "6LB" => "Lyric / Lyrical styles", "6LC" => "Latin style", "6M" => "Styles (M)", "6MA" => "Mannerism", @@ -8358,6 +8749,7 @@ static THEMA_CODES: Map<&'static str, &'static str> = phf_map! { "6MM" => "Mid-century modern", "6MN" => "Muralism", "6MQ" => "Mughal style", + "6MR" => "Mariachi and related regional Mexican styles", "6N" => "Styles (NO)", "6NA" => "Naive style", "6NB" => "Naturalism", @@ -8371,6 +8763,7 @@ static THEMA_CODES: Map<&'static str, &'static str> = phf_map! { "6NK" => "New age", "6NL" => "Norwich School", "6NM" => "Orphism", + "6NN" => "Neorealism", "6NW" => "New Wave", "6P" => "Styles (P)", "6PA" => "Pop art", @@ -8388,6 +8781,7 @@ static THEMA_CODES: Map<&'static str, &'static str> = phf_map! { "6PP" => "Purism", "6PQ" => "Pre-Columbian styles", "6PR" => "Persian / Iranian styles", + "6PS" => "Postcolonial styles", "6Q" => "Styles (Q)", "6QA" => "Queen Anne style", "6R" => "Styles (R)", @@ -8395,7 +8789,7 @@ static THEMA_CODES: Map<&'static str, &'static str> = phf_map! { "6RB" => "Romanesque", "6RC" => "Renaissance style", "6RD" => "Rococo", - "6RE" => "Regency", + "6RE" => "Regency style", "6RF" => "Rock", "6RG" => "Rock and Roll", "6RH" => "Rhythm and blues, R’n’B", @@ -8407,6 +8801,7 @@ static THEMA_CODES: Map<&'static str, &'static str> = phf_map! { "6RP" => "Retro art", "6RQ" => "Return to order", "6RR" => "Ancient Roman style", + "6RS" => "Reggaeton", "6S" => "Styles (S)", "6SA" => "Surrealism", "6SB" => "Soul and Funk", @@ -8427,7 +8822,9 @@ static THEMA_CODES: Map<&'static str, &'static str> = phf_map! { "6ST" => "Symbolist / symbolism", "6SU" => "Synthetic Cubism", "6SV" => "Synthetism", - "6SW" => "Satirical", + "6SW" => "Satirical style / satire", + "6SX" => "Styles (S) - continued", + "6SXA" => "Spatialism / Spazialismo", "6T" => "Styles (T)", "6TA" => "Tango", "6TB" => "Tachism", diff --git a/thoth-app-server/Cargo.toml b/thoth-app-server/Cargo.toml index 06fcbbce..65a416a3 100644 --- a/thoth-app-server/Cargo.toml +++ b/thoth-app-server/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "thoth-app-server" -version = "0.9.4" +version = "0.9.5" authors = ["Javier Arias ", "Ross Higman "] edition = "2018" license = "Apache-2.0" diff --git a/thoth-app/Cargo.toml b/thoth-app/Cargo.toml index a7df30bb..08d97ee3 100644 --- a/thoth-app/Cargo.toml +++ b/thoth-app/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "thoth-app" -version = "0.9.4" +version = "0.9.5" authors = ["Javier Arias ", "Ross Higman "] edition = "2018" license = "Apache-2.0" @@ -38,5 +38,5 @@ serde = { version = "1.0.115", features = ["derive"] } serde_json = "1.0" url = "2.1.1" uuid = { version = "0.7", features = ["serde", "v4"] } -thoth-api = { version = "0.9.4", path = "../thoth-api" } -thoth-errors = { version = "0.9.4", path = "../thoth-errors" } +thoth-api = { version = "0.9.5", path = "../thoth-api" } +thoth-errors = { version = "0.9.5", path = "../thoth-errors" } diff --git a/thoth-app/manifest.json b/thoth-app/manifest.json index 898f54d2..b560d63b 100644 --- a/thoth-app/manifest.json +++ b/thoth-app/manifest.json @@ -9,7 +9,7 @@ "start_url": "/?homescreen=1", "background_color": "#ffffff", "theme_color": "#ffdd57", - "version": "0.9.4", + "version": "0.9.5", "icons": [ { "src": "\/android-icon-36x36.png", diff --git a/thoth-client/Cargo.toml b/thoth-client/Cargo.toml index 93bf5642..756c7295 100644 --- a/thoth-client/Cargo.toml +++ b/thoth-client/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "thoth-client" -version = "0.9.4" +version = "0.9.5" authors = ["Javier Arias ", "Ross Higman "] edition = "2018" license = "Apache-2.0" @@ -9,8 +9,8 @@ repository = "https://github.com/thoth-pub/thoth" readme = "README.md" [dependencies] -thoth-api = {version = "0.9.4", path = "../thoth-api" } -thoth-errors = {version = "0.9.4", path = "../thoth-errors" } +thoth-api = {version = "0.9.5", path = "../thoth-api" } +thoth-errors = {version = "0.9.5", path = "../thoth-errors" } graphql_client = "0.11.0" chrono = { version = "0.4", features = ["serde"] } reqwest = { version = "0.11", features = ["json"] } diff --git a/thoth-errors/Cargo.toml b/thoth-errors/Cargo.toml index 77b7559f..364549b5 100644 --- a/thoth-errors/Cargo.toml +++ b/thoth-errors/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "thoth-errors" -version = "0.9.4" +version = "0.9.5" authors = ["Javier Arias ", "Ross Higman "] edition = "2018" license = "Apache-2.0" diff --git a/thoth-export-server/Cargo.toml b/thoth-export-server/Cargo.toml index ca55b88a..b9408371 100644 --- a/thoth-export-server/Cargo.toml +++ b/thoth-export-server/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "thoth-export-server" -version = "0.9.4" +version = "0.9.5" authors = ["Javier Arias ", "Ross Higman "] edition = "2018" license = "Apache-2.0" @@ -9,9 +9,9 @@ repository = "https://github.com/thoth-pub/thoth" readme = "README.md" [dependencies] -thoth-api = { version = "0.9.4", path = "../thoth-api" } -thoth-errors = { version = "0.9.4", path = "../thoth-errors" } -thoth-client = { version = "0.9.4", path = "../thoth-client" } +thoth-api = { version = "0.9.5", path = "../thoth-api" } +thoth-errors = { version = "0.9.5", path = "../thoth-errors" } +thoth-client = { version = "0.9.5", path = "../thoth-client" } actix-web = "4.0.1" actix-cors = "0.6.0" chrono = { version = "0.4", features = ["serde"] }