Arbejdsmarked


Arbejdsstyrken
ARXSTK2_raw <- 
  statgl_url("ARXSTK2", lang = language) |> 
  statgl_fetch(
    aar       = px_top(),
    udd_grp   = c("AA", "10", "20", "30", "40", "50"),
    opg_var   = px_all(),
    .col_code = TRUE
  ) %>% 
  as_tibble()

ARXSTK2 <-
  ARXSTK2_raw %>% 
  mutate(
    udd_grp = udd_grp %>% factor(levels = unique(udd_grp)),
    opg_var = opg_var %>% fct_rev()
  ) %>% 
  spread(udd_grp, value)


ARXSTK2 %>% 
  select(-aar) %>% 
  rename(" " = 1) %>% 
  statgl_table() %>% 
  pack_rows(index = ARXSTK2[["aar"]] %>% table()) |> 
  row_spec(1, bold = T)
Alle Folkeskole Gymnasieuddannelse Erhvervsuddannelse: Samlet Suppleringskursus Videregående uddannelse
2023
Samlet befolkning 37.072 20.027 2.208 8.263 1.409 5.165
Personer uden for arbejdsstyrken i gennemsnit pr. måned (samlet befolkning - arbejdsstyrke) 8.023 5.922 575 1.042 176 308
Ledighed i gennemsnit pr. måned 857 712 18 98 12 18
Beskæftigelse i gennemsnit pr. måned 28.192 13.393 1.615 7.123 1.222 4.840
Arbejdsstyrken i gennemsnit pr. måned (beskæftigelse + ledighed) 29.049 14.105 1.633 7.221 1.233 4.857


Se Statistikbankens tabel: ARXSTK2

Arbejdssøgende


ARXLED2_raw <- 
  statgl_url("ARXLED2", lang = language) %>%
  statgl_fetch(
    aar       = px_top(2),
    md        = px_all(),
    koen      = 3,
    type_k    = "A",
    alderskat = px_all(),
    .col_code = TRUE
  ) %>% 
  as_tibble()

ARXLED2 <- 
  ARXLED2_raw %>% 
  filter(aar <= Sys.time() %>% year() - 1) %>% 
  mutate(
    alderskat = alderskat %>% factor(levels = unique(alderskat)),
    md = md %>% factor(levels = unique(md))
  ) %>% 
  spread(md, value) %>% 
  unite(combi, type_k, koen, sep = ", ")

ARXLED2 %>% 
  select(-c(aar, combi)) %>% 
  rename(" " = 1) %>% 
  statgl_table() %>% 
  pack_rows(index = ARXLED2[["aar"]] %>% table())
Januar Februar Marts April Maj Juni Juli August September Oktober November December
2024
18-19 86 78 73 67 68 68 69 54 43 60 70 96
20-24 200 193 184 200 173 150 137 126 115 142 178 207
25-29 200 181 182 185 169 157 158 145 126 146 179 220
30-34 219 189 184 203 187 170 157 160 126 153 176 217
35-39 193 160 171 175 147 132 115 131 109 131 147 187
40-44 173 148 139 147 146 121 114 110 114 137 153 160
45-49 123 104 95 115 101 95 84 85 77 96 107 120
50-54 160 113 123 131 116 99 98 92 90 107 125 147
55-59 261 209 189 214 192 164 154 134 138 166 210 240
60+ 208 147 150 166 176 158 144 141 133 175 209 219


Se Statistikbankens tabel: ARXLED2

ARXLEDVAR_raw <- 
  statgl_url("ARXLEDVAR", lang = language) %>% 
  statgl_fetch(
    koen      = 0,
    Alderskat = "A",
    opg_var   = px_all(),
    taar_kvar = px_top(1),
    kvar_led  = px_all(),
    .col_code = TRUE
  ) %>% 
  as_tibble()

ARXLEDVAR <- 
  ARXLEDVAR_raw %>% 
  unite(combi, Alderskat, koen, sep = ", ") %>% 
  mutate(
    kvar_led = kvar_led %>% fct_inorder(),
    opg_var = opg_var %>% fct_inorder()
  ) %>% 
  spread(opg_var, value)

ARXLEDVAR %>% 
  select(-c(combi, taar_kvar)) %>% 
  rename(" " = 1) %>% 
  statgl_table() %>% 
  pack_rows(index = ARXLEDVAR[["taar_kvar"]] %>% table()) %>% 
  row_spec(1, bold = TRUE)
Antal personer Procentandel
2025Q1
Alle 4.616 100,0
1-3 måneder 2.597 56,3
4-6 måneder 1.112 24,1
7-9 måneder 475 10,3
10-12 måneder 432 9,4


Se Statistikbankens tabel: ARXSTK1

Beskæftigelsen
url <- paste0("https://bank.stat.gl/api/v1/", language, "/Greenland/AR/AR30/ARXBFB01.px")

ARXBFB1_raw <- 
  #url |> 
  statgl_url("ARXBFB01", lang = language) |> 
  statgl_fetch(
    aar       = px_top(),
    beskbrch  = px_all(),
    sex       = "A",
    opg_var   = "G",
    bybygd    = px_all(),
    .col_code = TRUE
  ) %>% 
  as_tibble()

ARXBFB1 <- 
  ARXBFB1_raw %>% 
  arrange(-value) %>% 
  mutate(
    beskbrch = beskbrch %>% fct_inorder(),
    bybygd = bybygd %>% fct_inorder()
  ) %>% 
  spread(bybygd, value) %>% 
  unite(combi, opg_var, aar, sep = ", ")

ARXBFB1 %>% 
  select(-c(combi, sex)) %>% 
  rename(" " = 1) %>% 
  statgl_table() %>% 
  pack_rows(index = ARXBFB1[["combi"]] %>% table()) %>% 
  row_spec(1, bold = TRUE) 
Alle Byer Bygder m.m.
Hovedbeskæftigelse i gennemsnit pr. måned, 2023
Alle brancher 29.339 25.874 3.465
Offentlig forvaltning og service 12.730 11.487 1.243
Social beskyttelse (COFOG 10) 5.089 4.651 437
Fiskeri og fiskerirelateret industri og handel 4.517 3.281 1.237
Engroshandel og detailhandel 3.055 2.701 354
Familie og børne (COFOG 10.40) 2.519 2.290 229
Undervisning (COFOG 9) 2.479 2.173 307
Bygge- og anlægsvirksomhed 2.239 2.185 54
Transport og godshåndtering 2.087 1.859 228
Folkeskolen og lign. (COFOG 9.10) 1.559 1.262 297
Social beskyttelse (COFOG 10.x) 1.317 1.259 58
Sundhedsvæsen (COFOG 7) 1.302 1.222 80
Generelle offentlige tjenester (COFOG 1) 1.270 1.135 135
Alderdom (COFOG 10.20) 1.253 1.102 150
Overnatningsfaciliteter og restaurationsvirksomhed 903 847 56
Uoplyst 822 748 74
Andet (COFOG x) 750 701 49
Ungdomsuddannelsesniveau (COFOG 9.20) 629 622 7
Økonomiske anliggender (COFOG 4) 619 501 118
Information og kommunikation 555 550 5
Offentlig orden og sikkerhed (COFOG3) 521 497 24
Administrative tjenesteydelser og hjælpetjenester 449 385 65
Energi- og vandforsyning 424 327 97
Fritid, kultur og religion (COFOG 8) 359 308 51
Øvrige serviceerhverv 330 325 4
Fast ejendom 325 320 5
Liberale, videnskabelige og tekniske tjenesteydelser 298 296 2
Undervisning andet (COFOG 9.x) 291 289 3
Miljøbeskyttelse (COFOG 5) 264 226 39
Fremstillingsvirksomhed 231 226 5
Pengeinstitut og finansvirksomhed 208 207 0
Råstofindvinding 85 79 6
Landbrug, skovbrug og landbrugsrelateret industri og handel 83 53 31
Forsvar (COFOG 2) 48 45 3
Boliger og offentlige faciliteter (COFOG 6) 29 29 NA


Se Statistikbankens tabel: ARXBFB01

Ledigheden
url <- paste0("https://bank.stat.gl/api/v1/", language, "/Greenland/AR/AR40/ARXLED6.px")

ARXLED6_raw <- 
  statgl_url("ARXLED6", lang = language) |> 
  statgl_fetch(
    aar       = px_top(5),
    udd_grp   = px_all(),
    opg_var   = "P",
    .col_code = TRUE
  ) %>% 
  as_tibble()

ARXLED6_raw %>% 
  mutate(
    udd_grp = udd_grp %>% fct_inorder(),
    aar = aar %>% fct_inorder()
  ) %>% 
  spread(aar, value) %>%
  select(-opg_var) |> 
  rename(" " = 1) %>% 
  statgl_table() %>% 
  row_spec(1, bold = TRUE) |> 
  add_footnote(ARXLED6_raw[[3]][1], notation = "symbol")
2019 2020 2021 2022 2023
Alle 4,3 4,5 3,7 3,2 2,9
Folkeskole 7,1 7,5 6,2 5,5 5,0
Gymnasieuddannelse 1,4 1,4 0,9 0,9 1,1
Erhvervsuddannelse: Samlet 2,1 2,3 1,8 1,5 1,4
Erhvervsuddannelse: Kunst og humaniora 2,6 3,4 2,8 2,0 0,7
Erhvervsuddannelse: Erhverv, administration og jura 0,9 1,5 1,3 0,9 0,5
Erhvervsuddannelse: Ingeniørvidenskab, produktion og konstruktion 1,8 1,9 1,6 1,6 1,4
Erhvervsuddannelse: Landbrug, skovbrug, fiskeri og veterinær 6,1 6,5 5,2 4,0 3,4
Erhvervsuddannelse: Sundhed og velfærd 1,6 1,7 1,4 1,1 1,1
Erhvervsuddannelse: Servicesektor 3,0 3,2 2,1 1,8 1,9
Erhvervsuddannelse: Øvrige 1,2 1,5 0,7 0,3 0,5
Suppleringskursus 1,7 1,9 1,3 1,2 0,9
Videregående uddannelse 0,4 0,4 0,3 0,4 0,4
* Ledighedsprocent i gennemsnit pr. måned


Se Statistikbankens tabel: ARXLED7


Sidst opdateret: 22. juni 2025
LS0tDQpwYXJhbXM6DQogIGxhbmc6ICJkYSINCm91dHB1dDoNCiAgc3RhdGdsOjpzdGF0Z2xfcmVwb3J0Og0KICAgIGNvZGVfZG93bmxvYWQ6IHRydWUNCiAgICBjb2RlX2ZvbGRpbmc6IGhpZGUNCmVkaXRvcl9vcHRpb25zOiANCiAgY2h1bmtfb3V0cHV0X3R5cGU6IGNvbnNvbGUNCi0tLQ0KDQpgYGB7ciBzZXR1cCwgaW5jbHVkZT1GQUxTRX0NCg0Ka25pdHI6Om9wdHNfY2h1bmskc2V0KA0KCWVjaG8gICAgPSBUUlVFLA0KCW1lc3NhZ2UgPSBGQUxTRSwNCgl3YXJuaW5nID0gRkFMU0UsDQoJY2xhc3Mub3V0cHV0ID0gInNjcm9sbC0xMDAiDQopDQoNCmxpYnJhcnkoInRpZHl2ZXJzZSIpDQpsaWJyYXJ5KCJzdGF0Z2wiKQ0KbGlicmFyeSgia2FibGVFeHRyYSIpDQpsaWJyYXJ5KCJsdWJyaWRhdGUiKQ0KbGlicmFyeSgieWFtbCIpDQoNCmxhbmd1YWdlICA8LSBwYXJhbXMkbGFuZw0Kb3B0aW9uICAgIDwtIHBhc3RlMCgiP2xhbmc9IiwgbGFuZ3VhZ2UsICImc2VsZWN0IikNCmxvZ28gICAgICA8LSBwYXN0ZTAoZ2V0d2QoKSwiL2FkZC9sb2dvLmdpZiIpDQp0eHQgICAgICAgPC0gcmVhZF95YW1sKHBhc3RlMChnZXR3ZCgpLCAiL2FkZC90eHQueW1sIiksIGZpbGVFbmNvZGluZyA9ICJJU08tODg1OS0xIikNCnNvdXJjZSAgICA8LSB0eHQkc291cmNlW2xhbmd1YWdlXSAlPiUgdW5saXN0KCkNCg0KeGFyaW5nYW5FeHRyYTo6dXNlX2NsaXBib2FyZCgpDQoNCmBgYA0KDQpgYGB7Y3NzLCBlY2hvID0gRkFMU0V9DQoNCi5hY2NvcmRpb24gew0KICBiYWNrZ3JvdW5kLWNvbG9yOiAjOTE5OTAwOw0KICBjb2xvcjogd2hpdGU7DQogIGN1cnNvcjogcG9pbnRlcjsNCiAgcGFkZGluZzogMThweDsNCiAgd2lkdGg6IDEwMCU7DQogIGJvcmRlcjogbm9uZTsNCiAgYm9yZGVyLXJhZGl1czogNXB4Ow0KICB0ZXh0LWFsaWduOiBsZWZ0Ow0KICBvdXRsaW5lOiBub25lOw0KICBmb250LXNpemU6IDE1cHg7DQogIHRyYW5zaXRpb246IDAuNHM7DQp9DQoNCi5hY3RpdmUsIC5hY2NvcmRpb246aG92ZXIgew0KICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjk3MjQyOw0KfQ0KDQouYWNjb3JkaW9uOmFmdGVyIHsNCiAgY29udGVudDogJ1wwMDJCJzsNCiAgY29sb3I6ICM3Nzc7DQogIGZvbnQtd2VpZ2h0OiBib2xkOw0KICBmbG9hdDogcmlnaHQ7DQogIG1hcmdpbi1sZWZ0OiA1cHg7DQp9DQoNCi5hY3RpdmU6YWZ0ZXIgew0KICBjb250ZW50OiAiXDIyMTIiOw0KfQ0KDQoucGFuZWwgew0KICBwYWRkaW5nOiAwcHggNXB4IDBweCA1cHg7DQogIGJhY2tncm91bmQtY29sb3I6IHdoaXRlOw0KICBtYXgtaGVpZ2h0OiAwOw0KICBvdmVyZmxvdzogaGlkZGVuOw0KICB0cmFuc2l0aW9uOiBtYXgtaGVpZ2h0IDAuMnMgZWFzZS1vdXQ7DQp9DQoNCmRldGFpbHMgew0KICB3aWR0aDogMTAwJTsNCn0NCg0KZGV0YWlscyA+IHN1bW1hcnkgew0KICBwYWRkaW5nOiA0cHggMTJweDsNCiAgd2lkdGg6IDEwMCU7DQogIGJhY2tncm91bmQtY29sb3I6ICMwMDdmOTk7DQogIGJvcmRlcjogc29saWQ7DQogIGJvcmRlci1jb2xvcjogd2hpdGU7DQogIGJvcmRlci1yYWRpdXM6IDVweDsNCiAgY3Vyc29yOiBwb2ludGVyOw0KICBmb250LXNpemU6IDE1cHg7DQogIGNvbG9yOiB3aGl0ZTsNCn0NCg0KZGV0YWlsc1tvcGVuXSA+IHN1bW1hcnkgew0KICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmFhNDFhOw0KfQ0KDQoNCi50aXRsZSB7DQogIGNvbG9yOiAjMWI1NDYzOw0KICBmb250LXNpemU6IDM2cHg7DQp9DQoNCg0KLnBlcnNvbmVyIHsNCiAgYm94LXNoYWRvdzogM3B4IDNweCA0cHggYmxhY2s7DQogIGJhY2tncm91bmQ6ICMwMDQ0NTk7DQogIHBhZGRpbmctcmlnaHQ6IDE1cHg7DQogIHBhZGRpbmctbGVmdDogMTZweDsNCiAgcGFkZGluZy10b3A6IDAuMXB4Ow0KICBwYWRkaW5nLWJvdHRvbTogMXB4Ow0KICBmb250LXNpemU6IDExcHg7DQogIGNvbG9yOiB3aGl0ZTsNCiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsNCn0NCg0KLsO4a29ub21pIHsNCiAgYm94LXNoYWRvdzogM3B4IDNweCA0cHggYmxhY2s7DQogIGJhY2tncm91bmQ6ICMwMDdGOTk7DQogIHBhZGRpbmctcmlnaHQ6IDE1cHg7DQogIHBhZGRpbmctbGVmdDogMTZweDsNCiAgcGFkZGluZy10b3A6IDFweDsNCiAgcGFkZGluZy1ib3R0b206IDAuMXB4Ow0KICBmb250LXNpemU6IDExcHg7DQogIGNvbG9yOiB3aGl0ZTsNCiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsNCn0NCg0KLnR2w6ZyZ8OlZW5kZSB7DQogIGJveC1zaGFkb3c6IDNweCAzcHggNHB4IGJsYWNrOw0KICBiYWNrZ3JvdW5kOiAjZmFhNDFhOw0KICBwYWRkaW5nLXJpZ2h0OiAxNXB4Ow0KICBwYWRkaW5nLWxlZnQ6IDE2cHg7DQogIHBhZGRpbmctdG9wOiAwLjFweDsNCiAgcGFkZGluZy1ib3R0b206IDFweDsNCiAgZm9udC1zaXplOiAxMXB4Ow0KICBjb2xvcjogd2hpdGU7DQogIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7DQp9DQoNCi5jb250YWluZXIgew0KICB3aWR0aDogaW5oZXJpdDsNCn0NCg0KLnNjcm9sbC0xMDAgew0KICBtYXgtaGVpZ2h0OiAxMDA7DQogIG92ZXJmbG93LXk6IGF1dG87DQogIGJhY2tncm91bmQtY29sb3I6IGluaGVyaXQ7DQp9DQoNCg0KcHJlIHsNCiAgbWF4LWhlaWdodDogMzAwcHg7DQogIG92ZXJmbG93LXk6IGF1dG87DQp9DQoNCnByZVtjbGFzc10gew0KICBtYXgtaGVpZ2h0OiAzMDBweDsNCn0NCg0KYGBgDQoNCjxicj4NCjxicj4NCg0KPGNlbnRlcj4NCg0KLS0tDQogDQojIFtgciB0eHQkQVIkdGl0bGVbbGFuZ3VhZ2VdYF17LnRpdGxlfQ0KIA0KLS0tDQo8L2NlbnRlcj4NCg0KPGRldGFpbHM+IDxzdW1tYXJ5PiBgciB0eHQkQVIkc3ViMVtsYW5ndWFnZV1gIDwvc3VtbWFyeT4gDQo8YnI+DQo8YnV0dG9uIGNsYXNzPSJhY2NvcmRpb24iPiBgciBwYXN0ZTAoIioqVGFiZWwgMTogKioiLCBzdGF0Z2xfbWV0YShzdGF0Z2xfdXJsKCJBUlhTVEsyIiwgbGFuZyA9IGxhbmd1YWdlKSlbMV0kdGl0bGUpIGAgPC9idXR0b24+IDxkaXYgY2xhc3M9InBhbmVsIj4NCg0KYGBge3IgQVJYU1RLMn0NCg0KQVJYU1RLMl9yYXcgPC0gDQogIHN0YXRnbF91cmwoIkFSWFNUSzIiLCBsYW5nID0gbGFuZ3VhZ2UpIHw+IA0KICBzdGF0Z2xfZmV0Y2goDQogICAgYWFyICAgICAgID0gcHhfdG9wKCksDQogICAgdWRkX2dycCAgID0gYygiQUEiLCAiMTAiLCAiMjAiLCAiMzAiLCAiNDAiLCAiNTAiKSwNCiAgICBvcGdfdmFyICAgPSBweF9hbGwoKSwNCiAgICAuY29sX2NvZGUgPSBUUlVFDQogICkgJT4lIA0KICBhc190aWJibGUoKQ0KDQpBUlhTVEsyIDwtDQogIEFSWFNUSzJfcmF3ICU+JSANCiAgbXV0YXRlKA0KICAgIHVkZF9ncnAgPSB1ZGRfZ3JwICU+JSBmYWN0b3IobGV2ZWxzID0gdW5pcXVlKHVkZF9ncnApKSwNCiAgICBvcGdfdmFyID0gb3BnX3ZhciAlPiUgZmN0X3JldigpDQogICkgJT4lIA0KICBzcHJlYWQodWRkX2dycCwgdmFsdWUpDQoNCg0KQVJYU1RLMiAlPiUgDQogIHNlbGVjdCgtYWFyKSAlPiUgDQogIHJlbmFtZSgiICIgPSAxKSAlPiUgDQogIHN0YXRnbF90YWJsZSgpICU+JSANCiAgcGFja19yb3dzKGluZGV4ID0gQVJYU1RLMltbImFhciJdXSAlPiUgdGFibGUoKSkgfD4gDQogIHJvd19zcGVjKDEsIGJvbGQgPSBUKQ0KDQpgYGANCjxicj4NClshW10oYHIgbG9nb2Ape3dpZHRoPTQwfWByIHBhc3RlKHNvdXJjZSwgIkFSWFNUSzIiKWBdKGByIHBhc3RlMCgiaHR0cHM6Ly9iYW5rLnN0YXQuZ2w6NDQzL3NxL2MzOWRiNmIyLTkzY2QtNDY2OS04ZmFkLWRhZDE2ZDhhMGVhMSIsIG9wdGlvbilgKXt0YXJnZXQ9Il9ibGFuayJ9DQo8L2Rpdj4gDQo8L2RldGFpbHM+DQoNCjxkZXRhaWxzPiA8c3VtbWFyeT4gYHIgdHh0JEFSJHN1YjJbbGFuZ3VhZ2VdYCA8L3N1bW1hcnk+DQo8YnI+DQoNCjxidXR0b24gY2xhc3M9ImFjY29yZGlvbiI+IGByIHBhc3RlMCgiKipUYWJlbCAyOiAqKiIsIHN0YXRnbF9tZXRhKHN0YXRnbF91cmwoIkFSWExFRDIiLCBsYW5nID0gbGFuZ3VhZ2UpKVsxXSR0aXRsZSkgYCA8L2J1dHRvbj4gPGRpdiBjbGFzcz0icGFuZWwiPg0KDQpgYGB7ciBBUlhMRUQyfQ0KDQpBUlhMRUQyX3JhdyA8LSANCiAgc3RhdGdsX3VybCgiQVJYTEVEMiIsIGxhbmcgPSBsYW5ndWFnZSkgJT4lDQogIHN0YXRnbF9mZXRjaCgNCiAgICBhYXIgICAgICAgPSBweF90b3AoMiksDQogICAgbWQgICAgICAgID0gcHhfYWxsKCksDQogICAga29lbiAgICAgID0gMywNCiAgICB0eXBlX2sgICAgPSAiQSIsDQogICAgYWxkZXJza2F0ID0gcHhfYWxsKCksDQogICAgLmNvbF9jb2RlID0gVFJVRQ0KICApICU+JSANCiAgYXNfdGliYmxlKCkNCg0KQVJYTEVEMiA8LSANCiAgQVJYTEVEMl9yYXcgJT4lIA0KICBmaWx0ZXIoYWFyIDw9IFN5cy50aW1lKCkgJT4lIHllYXIoKSAtIDEpICU+JSANCiAgbXV0YXRlKA0KICAgIGFsZGVyc2thdCA9IGFsZGVyc2thdCAlPiUgZmFjdG9yKGxldmVscyA9IHVuaXF1ZShhbGRlcnNrYXQpKSwNCiAgICBtZCA9IG1kICU+JSBmYWN0b3IobGV2ZWxzID0gdW5pcXVlKG1kKSkNCiAgKSAlPiUgDQogIHNwcmVhZChtZCwgdmFsdWUpICU+JSANCiAgdW5pdGUoY29tYmksIHR5cGVfaywga29lbiwgc2VwID0gIiwgIikNCg0KQVJYTEVEMiAlPiUgDQogIHNlbGVjdCgtYyhhYXIsIGNvbWJpKSkgJT4lIA0KICByZW5hbWUoIiAiID0gMSkgJT4lIA0KICBzdGF0Z2xfdGFibGUoKSAlPiUgDQogIHBhY2tfcm93cyhpbmRleCA9IEFSWExFRDJbWyJhYXIiXV0gJT4lIHRhYmxlKCkpDQoNCmBgYA0KPGJyPg0KWyFbXShgciBsb2dvYCl7d2lkdGg9NDB9YHIgcGFzdGUoc291cmNlLCAiQVJYTEVEMiIpYF0oYHIgcGFzdGUwKCJodHRwczovL2Jhbmsuc3RhdC5nbDo0NDMvc3EvOGRjMmMyMWQtODNjMy00NjlmLWE3YTEtOWVhYTNmOWUxOTkxIiwgb3B0aW9uKWApe3RhcmdldD0iX2JsYW5rIn0NCjwvZGl2PiANCg0KDQo8YnV0dG9uIGNsYXNzPSJhY2NvcmRpb24iPiBgciBwYXN0ZTAoIioqVGFiZWwgMzogKioiLCBzdGF0Z2xfbWV0YShzdGF0Z2xfdXJsKCJBUlhMRURWQVIiLCBsYW5nID0gbGFuZ3VhZ2UpKVsxXSR0aXRsZSkgYCA8L2J1dHRvbj4gPGRpdiBjbGFzcz0icGFuZWwiPg0KDQpgYGB7ciBBUlhMRURWQVJ9DQoNCkFSWExFRFZBUl9yYXcgPC0gDQogIHN0YXRnbF91cmwoIkFSWExFRFZBUiIsIGxhbmcgPSBsYW5ndWFnZSkgJT4lIA0KICBzdGF0Z2xfZmV0Y2goDQogICAga29lbiAgICAgID0gMCwNCiAgICBBbGRlcnNrYXQgPSAiQSIsDQogICAgb3BnX3ZhciAgID0gcHhfYWxsKCksDQogICAgdGFhcl9rdmFyID0gcHhfdG9wKDEpLA0KICAgIGt2YXJfbGVkICA9IHB4X2FsbCgpLA0KICAgIC5jb2xfY29kZSA9IFRSVUUNCiAgKSAlPiUgDQogIGFzX3RpYmJsZSgpDQoNCkFSWExFRFZBUiA8LSANCiAgQVJYTEVEVkFSX3JhdyAlPiUgDQogIHVuaXRlKGNvbWJpLCBBbGRlcnNrYXQsIGtvZW4sIHNlcCA9ICIsICIpICU+JSANCiAgbXV0YXRlKA0KICAgIGt2YXJfbGVkID0ga3Zhcl9sZWQgJT4lIGZjdF9pbm9yZGVyKCksDQogICAgb3BnX3ZhciA9IG9wZ192YXIgJT4lIGZjdF9pbm9yZGVyKCkNCiAgKSAlPiUgDQogIHNwcmVhZChvcGdfdmFyLCB2YWx1ZSkNCg0KQVJYTEVEVkFSICU+JSANCiAgc2VsZWN0KC1jKGNvbWJpLCB0YWFyX2t2YXIpKSAlPiUgDQogIHJlbmFtZSgiICIgPSAxKSAlPiUgDQogIHN0YXRnbF90YWJsZSgpICU+JSANCiAgcGFja19yb3dzKGluZGV4ID0gQVJYTEVEVkFSW1sidGFhcl9rdmFyIl1dICU+JSB0YWJsZSgpKSAlPiUgDQogIHJvd19zcGVjKDEsIGJvbGQgPSBUUlVFKQ0KDQoNCg0KDQpgYGANCjxicj4NClshW10oYHIgbG9nb2Ape3dpZHRoPTQwfWByIHBhc3RlKHNvdXJjZSwgIkFSWFNUSzEiKWBdKGByIHBhc3RlMCgiaHR0cHM6Ly9iYW5rLnN0YXQuZ2w6NDQzL3NxLzc1MjQ0YTQ5LWZjMjktNGNiYS05NDFhLTkwZWU0NjYzYWM0NyIsIG9wdGlvbilgKXt0YXJnZXQ9Il9ibGFuayJ9DQo8L2Rpdj4gDQo8L2RldGFpbHM+DQoNCjxkZXRhaWxzPiA8c3VtbWFyeT4gYHIgdHh0JEFSJHN1YjNbbGFuZ3VhZ2VdYCA8L3N1bW1hcnk+IA0KPGJyPg0KPGJ1dHRvbiBjbGFzcz0iYWNjb3JkaW9uIj4gYHIgJypUYWJlbCA0Oioge3N0YXRnbF9tZXRhKGdsdWU6OmdsdWUoImh0dHBzOi8vYmFuay5zdGF0LmdsL2FwaS92MS97bGFuZ3VhZ2V9L0dyZWVubGFuZC9BUi9BUjMwL0FSWEJGQjAxLnB4IikpIHw+IHBsdWNrKCJ0aXRsZSIpfScgfD4gZ2x1ZTo6Z2x1ZSgpIGAgPC9idXR0b24+IDxkaXYgY2xhc3M9InBhbmVsIj4NCg0KYGBge3IgQVJYQkZCMDF9DQoNCnVybCA8LSBwYXN0ZTAoImh0dHBzOi8vYmFuay5zdGF0LmdsL2FwaS92MS8iLCBsYW5ndWFnZSwgIi9HcmVlbmxhbmQvQVIvQVIzMC9BUlhCRkIwMS5weCIpDQoNCkFSWEJGQjFfcmF3IDwtIA0KICAjdXJsIHw+IA0KICBzdGF0Z2xfdXJsKCJBUlhCRkIwMSIsIGxhbmcgPSBsYW5ndWFnZSkgfD4gDQogIHN0YXRnbF9mZXRjaCgNCiAgICBhYXIgICAgICAgPSBweF90b3AoKSwNCiAgICBiZXNrYnJjaCAgPSBweF9hbGwoKSwNCiAgICBzZXggICAgICAgPSAiQSIsDQogICAgb3BnX3ZhciAgID0gIkciLA0KICAgIGJ5YnlnZCAgICA9IHB4X2FsbCgpLA0KICAgIC5jb2xfY29kZSA9IFRSVUUNCiAgKSAlPiUgDQogIGFzX3RpYmJsZSgpDQoNCkFSWEJGQjEgPC0gDQogIEFSWEJGQjFfcmF3ICU+JSANCiAgYXJyYW5nZSgtdmFsdWUpICU+JSANCiAgbXV0YXRlKA0KICAgIGJlc2ticmNoID0gYmVza2JyY2ggJT4lIGZjdF9pbm9yZGVyKCksDQogICAgYnlieWdkID0gYnlieWdkICU+JSBmY3RfaW5vcmRlcigpDQogICkgJT4lIA0KICBzcHJlYWQoYnlieWdkLCB2YWx1ZSkgJT4lIA0KICB1bml0ZShjb21iaSwgb3BnX3ZhciwgYWFyLCBzZXAgPSAiLCAiKQ0KDQpBUlhCRkIxICU+JSANCiAgc2VsZWN0KC1jKGNvbWJpLCBzZXgpKSAlPiUgDQogIHJlbmFtZSgiICIgPSAxKSAlPiUgDQogIHN0YXRnbF90YWJsZSgpICU+JSANCiAgcGFja19yb3dzKGluZGV4ID0gQVJYQkZCMVtbImNvbWJpIl1dICU+JSB0YWJsZSgpKSAlPiUgDQogIHJvd19zcGVjKDEsIGJvbGQgPSBUUlVFKSANCg0KYGBgDQo8YnI+DQpbIVtdKGByIGxvZ29gKXt3aWR0aD00MH1gciBwYXN0ZShzb3VyY2UsICJBUlhCRkIwMSIpYF0oYHIgcGFzdGUwKCJodHRwczovL2Jhbmsuc3RhdC5nbDo0NDMvc3EvMDFhZjU5MzQtZTlhYi00ZTcxLTkwZWEtNWYwODBjMTRiYWMyIiwgb3B0aW9uKWApe3RhcmdldD0iX2JsYW5rIn0NCjwvZGl2PiANCjwvZGV0YWlscz4gDQoNCjxkZXRhaWxzPiA8c3VtbWFyeT4gYHIgdHh0JEFSJHN1YjRbbGFuZ3VhZ2VdYCA8L3N1bW1hcnk+DQo8YnI+DQo8YnV0dG9uIGNsYXNzPSJhY2NvcmRpb24iPiBgciBwYXN0ZTAoIioqVGFiZWwgNTogKioiLCBzdGF0Z2xfbWV0YShzdGF0Z2xfdXJsKCJBUlhMRUQ2IiwgbGFuZyA9IGxhbmd1YWdlKSlbMV0kdGl0bGUpIGAgPC9idXR0b24+IDxkaXYgY2xhc3M9InBhbmVsIj4NCg0KYGBge3IgQVJYTEVENn0NCg0KdXJsIDwtIHBhc3RlMCgiaHR0cHM6Ly9iYW5rLnN0YXQuZ2wvYXBpL3YxLyIsIGxhbmd1YWdlLCAiL0dyZWVubGFuZC9BUi9BUjQwL0FSWExFRDYucHgiKQ0KDQpBUlhMRUQ2X3JhdyA8LSANCiAgc3RhdGdsX3VybCgiQVJYTEVENiIsIGxhbmcgPSBsYW5ndWFnZSkgfD4gDQogIHN0YXRnbF9mZXRjaCgNCiAgICBhYXIgICAgICAgPSBweF90b3AoNSksDQogICAgdWRkX2dycCAgID0gcHhfYWxsKCksDQogICAgb3BnX3ZhciAgID0gIlAiLA0KICAgIC5jb2xfY29kZSA9IFRSVUUNCiAgKSAlPiUgDQogIGFzX3RpYmJsZSgpDQoNCkFSWExFRDZfcmF3ICU+JSANCiAgbXV0YXRlKA0KICAgIHVkZF9ncnAgPSB1ZGRfZ3JwICU+JSBmY3RfaW5vcmRlcigpLA0KICAgIGFhciA9IGFhciAlPiUgZmN0X2lub3JkZXIoKQ0KICApICU+JSANCiAgc3ByZWFkKGFhciwgdmFsdWUpICU+JQ0KICBzZWxlY3QoLW9wZ192YXIpIHw+IA0KICByZW5hbWUoIiAiID0gMSkgJT4lIA0KICBzdGF0Z2xfdGFibGUoKSAlPiUgDQogIHJvd19zcGVjKDEsIGJvbGQgPSBUUlVFKSB8PiANCiAgYWRkX2Zvb3Rub3RlKEFSWExFRDZfcmF3W1szXV1bMV0sIG5vdGF0aW9uID0gInN5bWJvbCIpDQoNCmBgYA0KPGJyPg0KWyFbXShgciBsb2dvYCl7d2lkdGg9NDB9YHIgcGFzdGUoc291cmNlLCAiQVJYTEVENyIpYF0oYHIgcGFzdGUwKCJodHRwczovL2Jhbmsuc3RhdC5nbDo0NDMvc3EvZmNhOWEzMjYtZDYwZS00OWE3LTgwY2EtZGI0MWUxNzdiZGUyIiwgb3B0aW9uKWApe3RhcmdldD0iX2JsYW5rIn0NCjwvZGl2PiANCjwvZGV0YWlscz4gDQoNCg0KDQo8aHIgc3R5bGU9ImJvcmRlcjoxcHggcmlkZ2UgbGlnaHRncmF5Ij4gPC9ocj4NCjxjZW50ZXI+IDxzcGFuIHN0eWxlPSdjb2xvcjojRDNEM0QzOyBmb250LXNpemU6OTAlOyc+IGByIHBhc3RlKHR4dCR1cGRhdGVbbGFuZ3VhZ2VdLCBmb3JtYXQoU3lzLkRhdGUoKSwgIiVkLiAlQiAlWSIpKWAgPC9zcGFuPiA8L2NlbnRlcj4NCg0KDQoNCg0KPHNjcmlwdD4NCnZhciBhY2MgPSBkb2N1bWVudC5nZXRFbGVtZW50c0J5Q2xhc3NOYW1lKCJhY2NvcmRpb24iKTsNCnZhciBpOw0KDQpmb3IgKGkgPSAwOyBpIDwgYWNjLmxlbmd0aDsgaSsrKSB7DQogIGFjY1tpXS5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGZ1bmN0aW9uKCkgew0KICAgIHRoaXMuY2xhc3NMaXN0LnRvZ2dsZSgiYWN0aXZlIik7DQogICAgdmFyIHBhbmVsID0gdGhpcy5uZXh0RWxlbWVudFNpYmxpbmc7DQogICAgaWYgKHBhbmVsLnN0eWxlLm1heEhlaWdodCkgew0KICAgICAgcGFuZWwuc3R5bGUubWF4SGVpZ2h0ID0gbnVsbDsNCiAgICB9IGVsc2Ugew0KICAgICAgcGFuZWwuc3R5bGUubWF4SGVpZ2h0ID0gcGFuZWwuc2Nyb2xsSGVpZ2h0ICsgInB4IjsNCiAgICB9IA0KICB9KTsNCn0NCjwvc2NyaXB0Pg0KDQoNCg==