{"id":3852,"date":"2026-06-14T18:36:22","date_gmt":"2026-06-14T18:36:22","guid":{"rendered":"https:\/\/allenglish4u.com\/cambridge-ket-6-test-1-rw\/"},"modified":"2026-07-05T02:44:12","modified_gmt":"2026-07-05T02:44:12","slug":"cambridge-ket-6-test-1-rw","status":"publish","type":"page","link":"https:\/\/allenglish4u.com\/vi\/cambridge-ket-6-test-1-rw\/","title":{"rendered":"KET 6 \u2014 Test 1 Reading &#038; Writing"},"content":{"rendered":"\n<style>\n@import url('https:\/\/fonts.googleapis.com\/css2?family=Plus+Jakarta+Sans:wght@400%3B500%3B600%3B700%3B800&family=Fraunces:opsz,wght@9..144,700&display=swap');\n\n\/* escape WP wrapper *\/\n.entry-content,.wp-block-post-content,.is-layout-constrained{max-width:none !important;width:auto !important;margin-left:0 !important;margin-right:0 !important;padding-left:0 !important;padding-right:0 !important;}\n.wp-block-post-title{display:none !important;}\n\n:root{\n  --accent-1:#F97316;\n  --accent-2:#F43F5E;\n  --gold:#F9C74F;\n  --green:#10B981;\n  --red:#EF4444;\n  --light-1:#FFF7ED;\n  --light-2:#FFFBF5;\n  --white:#FFFFFF;\n  --text:#0F172A;\n  --muted:#475569;\n  --subtle:#64748B;\n  --border:#E2E8F0;\n  --dark-1:#1B0F02;\n  --dark-2:#2D1A06;\n  --r-10:10px; --r-16:16px; --r-22:22px;\n  --sh-card:0 2px 8px rgba(0,0,0,.06);\n  --sh-lg:0 12px 40px rgba(0,0,0,.12);\n}\n*{margin:0;padding:0;box-sizing:border-box}\nhtml{scroll-behavior:smooth}\nbody{\n  font-family:'Plus Jakarta Sans',system-ui,sans-serif !important;\n  color:var(--text);\n  background:var(--light-2);\n  -webkit-font-smoothing:antialiased;\n  overflow-x:hidden;\n}\n.serif{font-family:'Fraunces',Georgia,serif !important;font-weight:700;letter-spacing:-.01em}\n.wrap{max-width:1080px;margin:0 auto;padding:0 24px}\na{color:inherit;text-decoration:none}\nbutton{font-family:inherit !important;cursor:pointer;border:none;background:none}\n\n\/* HEADER (same pattern as cambridge index) *\/\n.header{position:fixed;top:0;left:0;right:0;z-index:100;transition:background .28s ease,box-shadow .28s ease;border-bottom:1px solid transparent;}\n.header.solid{background:rgba(255,255,255,.92);backdrop-filter:saturate(180%) blur(16px);border-bottom:1px solid var(--border);box-shadow:0 1px 0 rgba(15,23,42,.02);}\n.header-inner{display:flex;align-items:center;gap:28px;height:72px;max-width:1200px;margin:0 auto;padding:0 24px}\n.brand{display:flex;align-items:center;gap:11px;flex-shrink:0}\n.brand img{width:40px;height:40px;border-radius:11px;object-fit:cover;box-shadow:var(--sh-card)}\n.brand-name{font-weight:800;font-size:18px;letter-spacing:-.02em;color:#fff;transition:color .28s ease}\n.header.solid .brand-name{color:var(--text)}\n.nav{display:flex;align-items:center;gap:4px;margin-left:8px}\n.nav a{position:relative;padding:9px 13px;font-size:14.5px;font-weight:600;color:rgba(255,255,255,.82);border-radius:var(--r-10);transition:color .16s ease,background .16s ease;}\n.nav a:hover{color:#fff;background:rgba(255,255,255,.08)}\n.header.solid .nav a{color:var(--muted)}\n.header.solid .nav a:hover{color:var(--text);background:var(--light-1)}\n.header-right{margin-left:auto;display:flex;align-items:center;gap:10px}\n.btn-back{display:inline-flex;align-items:center;gap:7px;padding:9px 16px;border-radius:999px;font-weight:700;font-size:14px;background:rgba(255,255,255,.14);color:#fff;border:1px solid rgba(255,255,255,.22);transition:background .16s ease}\n.btn-back:hover{background:rgba(255,255,255,.22)}\n.header.solid .btn-back{background:linear-gradient(100deg,var(--accent-1),var(--accent-2));color:#fff;border-color:transparent}\n.hamburger{display:none;width:40px;height:40px;border-radius:50%;color:#fff;align-items:center;justify-content:center}\n.header.solid .hamburger{color:var(--text)}\n\n\/* HERO *\/\n.hero{\n  position:relative;min-height:380px;padding:120px 0 60px;\n  background:linear-gradient(135deg,#FB923C 0%,#F43F5E 55%,#7C2D12 100%);\n  color:#fff;overflow:hidden;\n}\n.hero::before{content:\"\";position:absolute;inset:0;background-image:radial-gradient(circle at 20% 30%,rgba(255,255,255,.15) 0%,transparent 50%),radial-gradient(circle at 80% 70%,rgba(255,255,255,.10) 0%,transparent 50%);pointer-events:none}\n.hero .wrap{position:relative;z-index:1}\n.kicker{display:inline-block;font-size:12px;letter-spacing:.18em;text-transform:uppercase;font-weight:700;opacity:.92;margin-bottom:14px}\n.hero h1{font-size:clamp(34px,5vw,52px);line-height:1.05;margin-bottom:14px}\n.hero h1 span{font-style:italic;color:var(--gold)}\n.hero p.sub{font-size:17px;line-height:1.6;max-width:680px;opacity:.95;margin-bottom:22px}\n.hero-meta{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:24px}\n.meta-pill{display:inline-flex;align-items:center;gap:6px;padding:7px 14px;border-radius:999px;background:rgba(255,255,255,.18);backdrop-filter:blur(6px);border:1px solid rgba(255,255,255,.24);font-size:13px;font-weight:600}\n.meta-pill .dot{width:6px;height:6px;border-radius:50%;background:var(--gold)}\n.cta-row{display:flex;gap:12px;flex-wrap:wrap}\n.btn-primary{display:inline-flex;align-items:center;gap:8px;padding:13px 22px;border-radius:999px;background:#fff;color:var(--text);font-weight:700;font-size:15px;box-shadow:0 10px 30px rgba(0,0,0,.2);transition:transform .16s ease}\n.btn-primary:hover{transform:translateY(-2px)}\n.btn-ghost{display:inline-flex;align-items:center;gap:8px;padding:13px 22px;border-radius:999px;background:rgba(255,255,255,.12);color:#fff;font-weight:700;font-size:15px;border:1px solid rgba(255,255,255,.32);transition:background .16s ease}\n.btn-ghost:hover{background:rgba(255,255,255,.22)}\n\n\/* SCORE BAR *\/\n.score-bar{\n  position:sticky;top:72px;z-index:50;\n  background:rgba(255,255,255,.96);backdrop-filter:blur(12px);\n  border-bottom:1px solid var(--border);\n  padding:14px 0;\n}\n.sb-inner{display:flex;align-items:center;gap:16px;flex-wrap:wrap}\n.sb-prog{flex:1;min-width:200px}\n.sb-prog-bar{height:8px;background:var(--light-1);border-radius:999px;overflow:hidden}\n.sb-prog-fill{height:100%;background:linear-gradient(90deg,var(--accent-1),var(--accent-2));border-radius:999px;transition:width .3s ease;width:0}\n.sb-prog-label{font-size:12px;color:var(--muted);margin-top:5px;font-weight:600}\n.sb-score{display:flex;align-items:center;gap:10px;font-weight:700;font-size:14.5px;color:var(--text)}\n.sb-score b{font-size:18px;color:var(--accent-1)}\n.btn-submit{display:inline-flex;align-items:center;gap:7px;padding:10px 18px;border-radius:999px;background:linear-gradient(100deg,var(--accent-1),var(--accent-2));color:#fff;font-weight:700;font-size:14px;box-shadow:0 6px 18px rgba(249,115,22,.32);transition:transform .15s ease,opacity .15s ease}\n.btn-submit:hover{transform:translateY(-1px)}\n.btn-submit:disabled{opacity:.6;cursor:not-allowed;transform:none}\n.btn-reset{padding:10px 16px;border-radius:999px;background:#fff;color:var(--muted);font-weight:600;font-size:13px;border:1px solid var(--border);transition:background .15s ease}\n.btn-reset:hover{background:var(--light-1);color:var(--text)}\n\n\/* PARTS *\/\n.part-section{padding:48px 0;border-bottom:1px solid var(--border)}\n.part-section:nth-of-type(even){background:#fff}\n.part-head{display:flex;align-items:flex-start;gap:18px;margin-bottom:24px}\n.part-num{\n  flex-shrink:0;width:60px;height:60px;border-radius:18px;\n  background:linear-gradient(135deg,var(--accent-1),var(--accent-2));\n  color:#fff;display:grid;place-items:center;\n  font-family:'Fraunces',serif !important;font-weight:700;font-size:26px;\n  box-shadow:0 8px 22px rgba(249,115,22,.3);\n}\n.part-head-text h2{font-size:26px;line-height:1.15;margin-bottom:6px}\n.part-head-text .qrange{display:inline-block;font-size:12.5px;font-weight:700;color:var(--accent-1);background:var(--light-1);padding:4px 10px;border-radius:999px;letter-spacing:.04em;margin-bottom:8px}\n.part-head-text p{color:var(--muted);font-size:15px;line-height:1.55;max-width:740px}\n\n\/* PART 1 &#8212; notice match *\/\n.notices-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:14px;margin:20px 0 28px}\n.notice{\n  background:#fff;border:2px solid var(--border);border-radius:14px;padding:18px 14px;text-align:center;\n  font-weight:700;letter-spacing:.02em;color:var(--text);min-height:88px;display:grid;place-items:center;\n  font-size:14.5px;line-height:1.35;\n  box-shadow:0 1px 3px rgba(0,0,0,.04);\n}\n.notice-letter{position:absolute;top:6px;left:8px;font-size:11px;font-weight:800;color:var(--accent-1);background:var(--light-1);width:22px;height:22px;border-radius:50%;display:grid;place-items:center;}\n.notice{position:relative}\n\n\/* questions list *\/\n.q-list{display:flex;flex-direction:column;gap:14px;margin-top:8px}\n.q-item{\n  background:#fff;border:1px solid var(--border);border-radius:16px;padding:18px 20px;\n  display:flex;flex-direction:column;gap:12px;transition:border-color .2s ease,box-shadow .2s ease;\n}\n.q-item.correct{border-color:var(--green);box-shadow:0 0 0 3px rgba(16,185,129,.12)}\n.q-item.wrong{border-color:var(--red);box-shadow:0 0 0 3px rgba(239,68,68,.12)}\n.q-num{font-weight:800;color:var(--accent-1);font-size:14px;min-width:30px}\n.q-text{flex:1;font-size:15.5px;line-height:1.55;color:var(--text);display:flex;gap:10px;align-items:flex-start}\n.q-text b.qn{color:var(--accent-1);font-weight:800}\n.q-opts{display:flex;flex-wrap:wrap;gap:8px;margin-top:4px}\n.opt{\n  display:inline-flex;align-items:center;gap:7px;padding:8px 14px;border-radius:10px;\n  background:#F8FAFF;border:1.5px solid var(--border);font-weight:600;font-size:14px;color:var(--text);\n  cursor:pointer;transition:all .15s ease;user-select:none;\n}\n.opt:hover{background:var(--light-1);border-color:var(--accent-1)}\n.opt input{display:none}\n.opt .opt-letter{font-weight:800;color:var(--accent-1);background:#fff;width:22px;height:22px;border-radius:6px;display:grid;place-items:center;font-size:12.5px;border:1px solid var(--border)}\n.opt.selected{background:linear-gradient(100deg,rgba(249,115,22,.12),rgba(244,63,94,.12));border-color:var(--accent-1)}\n.opt.selected .opt-letter{background:linear-gradient(100deg,var(--accent-1),var(--accent-2));color:#fff;border-color:transparent}\n.opt.correct-opt{background:rgba(16,185,129,.12) !important;border-color:var(--green) !important}\n.opt.correct-opt .opt-letter{background:var(--green) !important;color:#fff !important;border-color:transparent !important}\n.opt.wrong-opt{background:rgba(239,68,68,.10) !important;border-color:var(--red) !important}\n.opt.wrong-opt .opt-letter{background:var(--red) !important;color:#fff !important;border-color:transparent !important}\n.feedback{font-size:13px;font-weight:600;display:none;padding:8px 12px;border-radius:8px;margin-top:4px}\n.q-item.answered .feedback{display:block}\n.q-item.correct .feedback{background:rgba(16,185,129,.12);color:#065F46}\n.q-item.wrong .feedback{background:rgba(239,68,68,.10);color:#991B1B}\n\n\/* PART 2 \/ cloze with input *\/\n.input-blank{\n  display:inline-block;min-width:90px;border:none;border-bottom:2px dashed var(--accent-1);\n  background:transparent;font-family:inherit !important;font-size:15.5px;color:var(--text);font-weight:600;\n  padding:2px 6px;margin:0 4px;text-align:center;outline:none;\n}\n.input-blank:focus{border-bottom-style:solid;background:var(--light-1)}\n.input-blank.correct{border-bottom-color:var(--green);color:#065F46;background:rgba(16,185,129,.10)}\n.input-blank.wrong{border-bottom-color:var(--red);color:#991B1B;background:rgba(239,68,68,.08)}\n\n\/* PART 4 &#8212; passage *\/\n.passage{\n  background:#fff;border:1px solid var(--border);border-radius:18px;\n  padding:24px 26px;margin:8px 0 20px;\n  font-size:15.5px;line-height:1.7;color:var(--text);\n  box-shadow:var(--sh-card);\n  position:relative;\n}\n.passage h3{font-family:'Fraunces',serif !important;font-size:22px;text-align:center;margin-bottom:14px;letter-spacing:.02em;color:var(--accent-2)}\n.passage p{margin-bottom:10px}\n\n\/* PART 5 &#8212; cloze passage *\/\n.cloze-passage{\n  background:#fff;border:1px solid var(--border);border-radius:18px;padding:22px 26px;\n  font-size:16px;line-height:1.8;color:var(--text);box-shadow:var(--sh-card);margin-bottom:24px;\n}\n.cloze-passage h3{font-family:'Fraunces',serif !important;font-size:24px;text-align:center;color:var(--accent-2);margin-bottom:14px}\n\n\/* PART 6 &#8212; single word with first letter *\/\n.word-row{display:flex;align-items:center;gap:14px;flex-wrap:wrap}\n.first-letter{font-weight:700;color:var(--accent-1);font-size:18px;font-family:'Fraunces',serif}\n.dashes{color:var(--muted);letter-spacing:6px;font-weight:600}\n\n\/* PART 8 &#8212; form *\/\n.form-card{background:#fff;border:1.5px solid var(--border);border-radius:16px;padding:22px;margin-top:18px;max-width:560px}\n.form-card h4{font-family:'Fraunces',serif !important;font-size:20px;text-align:center;color:var(--accent-2);margin-bottom:6px;border-bottom:2px solid var(--accent-1);padding-bottom:8px;display:inline-block;width:100%}\n.form-row{display:flex;gap:12px;align-items:center;margin-top:14px;flex-wrap:wrap}\n.form-row label{flex:0 0 200px;font-weight:600;color:var(--text);font-size:14.5px}\n.form-row .input-blank{flex:1;min-width:200px;text-align:left;font-size:14.5px}\n\n\/* PART 9 &#8212; writing *\/\n.writing-card{background:#fff;border:1.5px solid var(--border);border-radius:16px;padding:22px;margin-top:18px}\n.prompt-box{background:var(--light-1);border-left:4px solid var(--accent-1);padding:14px 18px;border-radius:0 12px 12px 0;margin-bottom:18px;font-size:15px;line-height:1.6}\n.prompt-box ul{margin:10px 0 4px 22px}\n.prompt-box li{margin-bottom:4px}\n.writing-area{width:100%;min-height:160px;padding:14px;font-family:inherit !important;font-size:15px;line-height:1.55;border:2px solid var(--border);border-radius:12px;background:#FAFBFC;color:var(--text);outline:none;resize:vertical;transition:border-color .2s ease}\n.writing-area:focus{border-color:var(--accent-1);background:#fff}\n.wc-counter{display:flex;justify-content:space-between;margin-top:8px;font-size:13px;color:var(--muted);font-weight:600}\n.wc-counter.ok{color:var(--green)}\n.wc-counter.over{color:var(--red)}\n.sample-toggle{margin-top:14px;display:inline-flex;align-items:center;gap:7px;padding:9px 16px;border-radius:999px;background:linear-gradient(100deg,var(--accent-1),var(--accent-2));color:#fff;font-weight:700;font-size:13.5px;border:none;cursor:pointer}\n.sample-box{display:none;margin-top:14px;padding:14px 18px;background:#FEF3C7;border-left:4px solid var(--gold);border-radius:0 12px 12px 0;font-size:14.5px;line-height:1.6}\n.sample-box.show{display:block}\n.sample-box h5{font-family:'Fraunces',serif !important;font-size:16px;margin-bottom:8px;color:#92400E}\n\n\/* SHOW ANSWER PER-Q BUTTONS *\/\n.show-ans-btn{\n  display:inline-flex;align-items:center;gap:6px;padding:5px 11px;border-radius:8px;\n  background:rgba(249,115,22,.10);color:var(--accent-1);font-weight:700;font-size:12px;\n  border:1px solid rgba(249,115,22,.30);cursor:pointer;transition:all .15s ease;\n  font-family:inherit !important;align-self:flex-start;margin-top:4px;letter-spacing:.02em;\n}\n.show-ans-btn:hover{background:rgba(249,115,22,.18);border-color:var(--accent-1)}\n.show-ans-btn[disabled]{opacity:.45;cursor:not-allowed}\n.show-ans-btn .emoji{width:14px;height:14px}\n.show-ans-btn-inline{\n  display:inline-flex;align-items:center;gap:4px;padding:3px 8px;border-radius:6px;\n  background:rgba(249,115,22,.10);color:var(--accent-1);font-weight:700;font-size:11.5px;\n  border:1px solid rgba(249,115,22,.28);cursor:pointer;font-family:inherit !important;\n  margin-left:4px;vertical-align:middle;transition:all .15s ease;\n}\n.show-ans-btn-inline:hover{background:rgba(249,115,22,.18)}\n.show-ans-btn-inline[disabled]{opacity:.45;cursor:not-allowed}\n\n\/* RESULTS BANNER *\/\n.results-banner{\n  display:none;margin:32px auto;padding:30px;border-radius:22px;\n  background:linear-gradient(135deg,#FB923C,#F43F5E);color:#fff;text-align:center;max-width:720px;\n  box-shadow:0 16px 50px rgba(249,115,22,.3);\n}\n.results-banner.show{display:block}\n.results-banner h3{font-size:30px;font-family:'Fraunces',serif !important;margin-bottom:10px}\n.results-banner .score-big{font-size:64px;font-weight:800;line-height:1;margin:14px 0;font-family:'Fraunces',serif}\n.results-banner p{opacity:.95;font-size:15px}\n\n\/* FOOTER *\/\n.footer{background:var(--dark-1);color:#9CA3AF;padding:36px 0;text-align:center;font-size:13.5px}\n.footer a{color:var(--gold);font-weight:600}\n\n\/* MOBILE *\/\n@media (max-width:820px){\n  .nav{display:none}\n  .hamburger{display:flex}\n  .hero{padding:110px 0 50px}\n  .part-head{flex-direction:column;gap:12px}\n  .part-num{width:50px;height:50px;font-size:22px}\n  .notices-grid{grid-template-columns:repeat(2,1fr)}\n  .form-row label{flex:1 1 100%}\n  .form-row .input-blank{width:100%}\n  .sb-inner{gap:10px}\n  .sb-prog{order:3;flex:1 1 100%}\n}\n\n\/* mobile drawer *\/\n.drawer{position:fixed;inset:0;background:rgba(15,23,42,.65);z-index:200;display:none;align-items:flex-start;justify-content:flex-end}\n.drawer.open{display:flex}\n.drawer-panel{width:280px;background:#fff;height:100%;padding:24px;display:flex;flex-direction:column;gap:8px}\n.drawer-panel a{padding:12px 14px;border-radius:10px;font-weight:600;color:var(--text)}\n.drawer-panel a:hover{background:var(--light-1)}\n.drawer-close{align-self:flex-end;width:40px;height:40px;border-radius:50%;display:grid;place-items:center;color:var(--muted)}\n<\/style>\n\n<!-- HEADER -->\n<header class=\"header\" id=\"hdr\">\n  <div class=\"header-inner\">\n    <a href=\"https:\/\/allenglish4u.com\" class=\"brand\">\n      <img decoding=\"async\" src=\"https:\/\/allenglish4u.com\/wp-content\/uploads\/2026\/04\/Transparent-background-MacBook-Pro-cua-Hang.png\" alt=\"AE4U\">\n      <span class=\"brand-name\">All English 4U<\/span>\n    <\/a>\n    <nav class=\"nav\">\n      <a href=\"https:\/\/allenglish4u.com\/grammar\/\">Grammar<\/a>\n      <a href=\"https:\/\/allenglish4u.com\/ielts\/\">IELTS<\/a>\n      <a href=\"https:\/\/allenglish4u.com\/toefl\/\">TOEFL<\/a>\n      <a href=\"https:\/\/allenglish4u.com\/cambridge\/\" class=\"active\">Cambridge<\/a>\n      <a href=\"https:\/\/allenglish4u.com\/celpip\/\">CELPIP<\/a>\n      <a href=\"https:\/\/allenglish4u.com\/dictation\/\">Dictation<\/a>\n      <\/nav>\n    <div class=\"header-right\">\n      <a href=\"https:\/\/allenglish4u.com\/cambridge\/\" class=\"btn-back\">\n        <svg width=\"14\" height=\"14\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.6\" stroke-linecap=\"round\"><path d=\"M19 12H5M11 18l-6-6 6-6\"\/><\/svg>\n        Back\n      <\/a>\n      <button class=\"hamburger\" id=\"hamb\" aria-label=\"Menu\">\n        <svg width=\"22\" height=\"22\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.3\" stroke-linecap=\"round\"><path d=\"M3 6h18M3 12h18M3 18h18\"\/><\/svg>\n      <\/button>\n    <\/div>\n  <\/div>\n<\/header>\n\n<div class=\"drawer\" id=\"drawer\">\n  <div class=\"drawer-panel\">\n    <button class=\"drawer-close\" id=\"drawerClose\" aria-label=\"Close\">\n      <svg width=\"22\" height=\"22\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.3\" stroke-linecap=\"round\"><path d=\"M18 6L6 18M6 6l12 12\"\/><\/svg>\n    <\/button>\n    <a href=\"https:\/\/allenglish4u.com\/grammar\/\">Grammar<\/a>\n    <a href=\"https:\/\/allenglish4u.com\/ielts\/\">IELTS<\/a>\n    <a href=\"https:\/\/allenglish4u.com\/toefl\/\">TOEFL<\/a>\n    <a href=\"https:\/\/allenglish4u.com\/cambridge\/\">Cambridge<\/a>\n    <a href=\"https:\/\/allenglish4u.com\/celpip\/\">CELPIP<\/a>\n    <a href=\"https:\/\/allenglish4u.com\/dictation\/\">Dictation<\/a>\n    <\/div>\n<\/div>\n\n<!-- HERO -->\n<section class=\"hero\">\n  <div class=\"wrap\">\n    <span class=\"kicker\">Cambridge English &#183; Key (KET)<\/span>\n    <h1 class=\"serif\">KET 6 &#8212; Test 1<br><span>Reading &amp; Writing<\/span><\/h1>\n    <p class=\"sub\">Practise the full A2 Key Reading &amp; Writing paper &#8212; 9 parts, 56 questions, instant auto-grading. Test yourself like the real exam, then check answers and learn from instant feedback.<\/p>\n    <div class=\"hero-meta\">\n      <span class=\"meta-pill\"><span class=\"dot\"><\/span>1 hour 10 minutes<\/span>\n      <span class=\"meta-pill\"><span class=\"dot\"><\/span>9 Parts<\/span>\n      <span class=\"meta-pill\"><span class=\"dot\"><\/span>55 auto-graded<\/span>\n      <span class=\"meta-pill\"><span class=\"dot\"><\/span>+ Writing prompt<\/span>\n    <\/div>\n    <div class=\"cta-row\">\n      <a href=\"#part1\" class=\"btn-primary\">\n        Start Test\n        <svg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.6\" stroke-linecap=\"round\"><path d=\"M5 12h14M13 6l6 6-6 6\"\/><\/svg>\n      <\/a>\n      <a href=\"https:\/\/allenglish4u.com\/cambridge\/\" class=\"btn-ghost\">All Cambridge Tests<\/a>\n    <\/div>\n  <\/div>\n<\/section>\n\n<!-- SCORE BAR -->\n<div class=\"score-bar\" id=\"scoreBar\">\n  <div class=\"wrap sb-inner\">\n    <div class=\"sb-score\">Score <b><span id=\"scoreNow\">0<\/span>\/55<\/b><\/div>\n    <div class=\"sb-prog\">\n      <div class=\"sb-prog-bar\"><div class=\"sb-prog-fill\" id=\"progFill\"><\/div><\/div>\n      <div class=\"sb-prog-label\"><span id=\"answeredCount\">0<\/span> of 55 answered<\/div>\n    <\/div>\n    <button class=\"btn-submit\" id=\"submitBtn\">\n      <svg width=\"14\" height=\"14\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.6\" stroke-linecap=\"round\"><path d=\"M20 6L9 17l-5-5\"\/><\/svg>\n      Submit &amp; Grade\n    <\/button>\n    <button class=\"btn-reset\" id=\"resetBtn\">Reset<\/button>\n  <\/div>\n<\/div>\n\n<!-- ============== PART 1 ============== -->\n<section class=\"part-section\" id=\"part1\">\n  <div class=\"wrap\">\n    <div class=\"part-head\">\n      <div class=\"part-num\">1<\/div>\n      <div class=\"part-head-text\">\n        <span class=\"qrange\">Questions 1&#8211;5<\/span>\n        <h2 class=\"serif\">Match the notice<\/h2>\n        <p>Which notice (A&#8211;H) says this (1&#8211;5)? For questions 1&#8211;5, choose the correct letter A&#8211;H.<\/p>\n      <\/div>\n    <\/div>\n\n    <div class=\"notices-grid\">\n      <div class=\"notice\"><span class=\"notice-letter\">A<\/span>Passport photographs<br>are ready in 5 minutes<\/div>\n      <div class=\"notice\"><span class=\"notice-letter\">B<\/span>Monica&#39;s art class will<br>be in room 31 today<\/div>\n      <div class=\"notice\"><span class=\"notice-letter\">C<\/span>CITY MUSEUM<br><sub style=\"font-size:11px;font-weight:600\">Talk on 16th-century artists<br>Wednesday, 6.30 pm &middot; &pound;2<\/sub><\/div>\n      <div class=\"notice\"><span class=\"notice-letter\">D<\/span>The Art Centre library is<br>now closed on Fridays<\/div>\n      <div class=\"notice\" style=\"opacity:.55\"><span class=\"notice-letter\">E<\/span>WINTON STORES<br><sub style=\"font-size:11px;font-weight:600;font-style:italic\">Postcards by our village<br>photographer on sale inside<\/sub><br><sub style=\"font-size:10px;color:var(--muted);font-style:italic;font-weight:600\">(example)<\/sub><\/div>\n      <div class=\"notice\"><span class=\"notice-letter\">F<\/span>HOMESTORE<br><sub style=\"font-size:11px;font-weight:600\">all paint half-price &ndash; for one month only<\/sub><\/div>\n      <div class=\"notice\"><span class=\"notice-letter\">G<\/span><b>Wet Paint!<\/b><br>Please use other entrance<\/div>\n      <div class=\"notice\"><span class=\"notice-letter\">H<\/span>BURLEY ART CLUB<br><sub style=\"font-size:11px;font-weight:600\">Sale of paintings starts Monday<\/sub><\/div>\n    <\/div>\n\n    <div class=\"q-list\" id=\"part1List\"><\/div>\n  <\/div>\n<\/section>\n\n<!-- ============== PART 2 ============== -->\n<section class=\"part-section\" id=\"part2\">\n  <div class=\"wrap\">\n    <div class=\"part-head\">\n      <div class=\"part-num\">2<\/div>\n      <div class=\"part-head-text\">\n        <span class=\"qrange\">Questions 6&#8211;10<\/span>\n        <h2 class=\"serif\">Camping<\/h2>\n        <p>Read the sentences (6&#8211;10) about camping. Choose the best word (A, B or C) for each space.<\/p>\n      <\/div>\n    <\/div>\n    <div style=\"background:#fff;border:1px solid var(--border);border-radius:14px;padding:14px 18px;margin-bottom:18px;font-size:14.5px;color:var(--muted)\">\n      <b style=\"color:var(--accent-1)\">Example:<\/b> A lot of families prefer to <u>stay<\/u> on a campsite because it is cheaper than a hotel. <b>(Answer: B)<\/b>\n    <\/div>\n    <div class=\"q-list\" id=\"part2List\"><\/div>\n  <\/div>\n<\/section>\n\n<!-- ============== PART 3a ============== -->\n<section class=\"part-section\" id=\"part3a\">\n  <div class=\"wrap\">\n    <div class=\"part-head\">\n      <div class=\"part-num\">3<\/div>\n      <div class=\"part-head-text\">\n        <span class=\"qrange\">Questions 11&#8211;15<\/span>\n        <h2 class=\"serif\">Complete the conversations<\/h2>\n        <p>Complete the five conversations. Choose the correct answer (A, B or C).<\/p>\n      <\/div>\n    <\/div>\n    <div style=\"background:#fff;border:1px solid var(--border);border-radius:14px;padding:14px 18px;margin-bottom:18px;font-size:14.5px;color:var(--muted)\">\n      <b style=\"color:var(--accent-1)\">Example:<\/b> Where do you come from? &#8212; <b>A<\/b> New York.\n    <\/div>\n    <div class=\"q-list\" id=\"part3aList\"><\/div>\n  <\/div>\n<\/section>\n\n<!-- ============== PART 3b ============== -->\n<section class=\"part-section\" id=\"part3b\">\n  <div class=\"wrap\">\n    <div class=\"part-head\">\n      <div class=\"part-num\">3<\/div>\n      <div class=\"part-head-text\">\n        <span class=\"qrange\">Questions 16&#8211;20<\/span>\n        <h2 class=\"serif\">Phone call: Lily &amp; Jennifer<\/h2>\n        <p>Complete the telephone conversation between two friends. What does Jennifer say to Lily? For each blank, choose the correct letter A&ndash;H.<\/p>\n      <\/div>\n    <\/div>\n\n    <div style=\"background:#fff;border:1px solid var(--border);border-radius:14px;padding:18px 22px;margin-bottom:18px;font-size:14.5px;line-height:1.7\">\n      <p><b>Lily:<\/b> Hi Jennifer, it will be lovely to see you on Friday.<\/p>\n      <p><b>Jennifer:<\/b> <span style=\"color:var(--accent-1);font-weight:700\">(Example: B)<\/span><\/p>\n      <p><b>Lily:<\/b> What time is your train?<\/p>\n      <p><b>Jennifer:<\/b> <select class=\"q-select\" data-qid=\"16\"><option value=\"\">&#8212; choose &#8212;<\/option><option>A<\/option><option>C<\/option><option>D<\/option><option>E<\/option><option>F<\/option><option>G<\/option><option>H<\/option><\/select><\/p>\n      <p><b>Lily:<\/b> OK. I&#39;ll meet you. Would you like to go out that evening?<\/p>\n      <p><b>Jennifer:<\/b> <select class=\"q-select\" data-qid=\"17\"><option value=\"\">&#8212; choose &#8212;<\/option><option>A<\/option><option>C<\/option><option>D<\/option><option>E<\/option><option>F<\/option><option>G<\/option><option>H<\/option><\/select><\/p>\n      <p><b>Lily:<\/b> If you want to. Then on Saturday we can go to the new shopping centre.<\/p>\n      <p><b>Jennifer:<\/b> <select class=\"q-select\" data-qid=\"18\"><option value=\"\">&#8212; choose &#8212;<\/option><option>A<\/option><option>C<\/option><option>D<\/option><option>E<\/option><option>F<\/option><option>G<\/option><option>H<\/option><\/select><\/p>\n      <p><b>Lily:<\/b> And in the evening we can go to Oliver&#39;s party.<\/p>\n      <p><b>Jennifer:<\/b> <select class=\"q-select\" data-qid=\"19\"><option value=\"\">&#8212; choose &#8212;<\/option><option>A<\/option><option>C<\/option><option>D<\/option><option>E<\/option><option>F<\/option><option>G<\/option><option>H<\/option><\/select><\/p>\n      <p><b>Lily:<\/b> Oh anything. It doesn&#39;t matter.<\/p>\n      <p><b>Jennifer:<\/b> <select class=\"q-select\" data-qid=\"20\"><option value=\"\">&#8212; choose &#8212;<\/option><option>A<\/option><option>C<\/option><option>D<\/option><option>E<\/option><option>F<\/option><option>G<\/option><option>H<\/option><\/select><\/p>\n      <p><b>Lily:<\/b> Yes. It&#39;s a good place for a party. See you Friday, then.<\/p>\n    <\/div>\n\n    <div style=\"background:#fff;border:1px solid var(--border);border-radius:14px;padding:18px 22px;font-size:14px;line-height:1.85\">\n      <b style=\"color:var(--accent-1);display:block;margin-bottom:6px\">Choices:<\/b>\n      <div><b>A<\/b> I have to go home at 6 o&#39;clock.<\/div>\n      <div style=\"opacity:.5\"><b>B<\/b> Yes, I haven&#39;t seen you for so long. <i>(example)<\/i><\/div>\n      <div><b>C<\/b> I&#39;ve heard it&#39;s really big.<\/div>\n      <div><b>D<\/b> Is he still living in the same house?<\/div>\n      <div><b>E<\/b> It should arrive early afternoon.<\/div>\n      <div><b>F<\/b> How long will we stay with him there?<\/div>\n      <div><b>G<\/b> I think I&#39;ll be tired. Shall we just stay at home?<\/div>\n      <div><b>H<\/b> Great! What should I bring to wear?<\/div>\n    <\/div>\n\n    <div id=\"part3bFeedback\" style=\"margin-top:14px\"><\/div>\n  <\/div>\n<\/section>\n\n<!-- ============== PART 4 ============== -->\n<section class=\"part-section\" id=\"part4\">\n  <div class=\"wrap\">\n    <div class=\"part-head\">\n      <div class=\"part-num\">4<\/div>\n      <div class=\"part-head-text\">\n        <span class=\"qrange\">Questions 21&#8211;27<\/span>\n        <h2 class=\"serif\">David swims the Cook Strait<\/h2>\n        <p>Read the article. Are sentences 21&#8211;27 <b>&#39;Right&#39; (A)<\/b> or <b>&#39;Wrong&#39; (B)<\/b>? If there is not enough information to answer &#39;Right&#39; or &#39;Wrong&#39;, choose <b>&#39;Doesn&#39;t say&#39; (C)<\/b>.<\/p>\n      <\/div>\n    <\/div>\n\n    <div class=\"passage\">\n      <h3>DAVID SWIMS THE COOK STRAIT<\/h3>\n      <p>David Johnson has loved swimming all his life. When he was 27, he swam in a race near his home in the USA. The sea was very cold and David started to feel unwell. He was taken to hospital but he soon got better and started swimming again. In 1983, he became the first person to swim from Santa Cruz Island to the Californian coast.<\/p>\n      <p>In January 2004, at the age of 52, David crossed New Zealand&#39;s Cook Strait in 9 hours and 38 minutes. The oldest swimmer before David was only 42 years old. David spent over a year getting ready to swim the Strait. Then, he and his wife flew to New Zealand so that David could practise for a few weeks there. But, only days after they arrived, the weather improved so David decided to start his swim. He did it with the help of a team. &#39;They were great,&#39; David said. &#39;They were in a boat next to me all the time! After a few hours, I thought about stopping but I didn&#39;t and went on swimming.&#39;<\/p>\n      <p>Afterwards, David and his wife travelled around New Zealand before returning to the USA.<\/p>\n    <\/div>\n\n    <div style=\"background:#fff;border:1px solid var(--border);border-radius:14px;padding:12px 18px;margin-bottom:18px;font-size:14px;color:var(--muted)\">\n      <b style=\"color:var(--accent-1)\">Example (0):<\/b> David Johnson has always enjoyed swimming. &#8594; <b>A (Right)<\/b>\n    <\/div>\n\n    <div class=\"q-list\" id=\"part4List\"><\/div>\n  <\/div>\n<\/section>\n\n<!-- ============== PART 5 ============== -->\n<section class=\"part-section\" id=\"part5\">\n  <div class=\"wrap\">\n    <div class=\"part-head\">\n      <div class=\"part-num\">5<\/div>\n      <div class=\"part-head-text\">\n        <span class=\"qrange\">Questions 28&#8211;35<\/span>\n        <h2 class=\"serif\">Doing homework<\/h2>\n        <p>Read the article. Choose the best word (A, B or C) for each space.<\/p>\n      <\/div>\n    <\/div>\n\n    <div class=\"cloze-passage\">\n      <h3>Doing homework<\/h3>\n      <p>It is a good idea to <u><b style=\"color:var(--accent-1)\">start<\/b><\/u> doing your homework early. If you can do it <span data-q=\"28\" class=\"cloze-blank\">[28]<\/span> your evening meal, you will have <span data-q=\"29\" class=\"cloze-blank\">[29]<\/span> time later to do things that you enjoy, like talking <span data-q=\"30\" class=\"cloze-blank\">[30]<\/span> the phone.<\/p>\n      <p>It is also better to do homework as soon as possible after the teacher has given it to you. Then, if the homework is difficult and you <span data-q=\"31\" class=\"cloze-blank\">[31]<\/span> time to think about it, you will <span data-q=\"32\" class=\"cloze-blank\">[32]<\/span> have time to do it.<\/p>\n      <p>Always turn off your mobile phone and the television when you <span data-q=\"33\" class=\"cloze-blank\">[33]<\/span> doing homework. You will work a lot <span data-q=\"34\" class=\"cloze-blank\">[34]<\/span> without them. Make sure you have a quiet place to work, with <span data-q=\"35\" class=\"cloze-blank\">[35]<\/span> light and a comfortable chair.<\/p>\n    <\/div>\n\n    <div class=\"q-list\" id=\"part5List\"><\/div>\n  <\/div>\n<\/section>\n\n<!-- ============== PART 6 ============== -->\n<section class=\"part-section\" id=\"part6\">\n  <div class=\"wrap\">\n    <div class=\"part-head\">\n      <div class=\"part-num\">6<\/div>\n      <div class=\"part-head-text\">\n        <span class=\"qrange\">Questions 36&#8211;40<\/span>\n        <h2 class=\"serif\">Things in a kitchen<\/h2>\n        <p>Read the descriptions (36&ndash;40) of some things you can find in a kitchen. What is the word for each one? The first letter is given. Type the word. <b>Example (0):<\/b> Breakfast, lunch and dinner are all examples of this. &#8594; <b>meal<\/b><\/p>\n      <\/div>\n    <\/div>\n    <div class=\"q-list\" id=\"part6List\"><\/div>\n  <\/div>\n<\/section>\n\n<!-- ============== PART 7 ============== -->\n<section class=\"part-section\" id=\"part7\">\n  <div class=\"wrap\">\n    <div class=\"part-head\">\n      <div class=\"part-num\">7<\/div>\n      <div class=\"part-head-text\">\n        <span class=\"qrange\">Questions 41&#8211;50<\/span>\n        <h2 class=\"serif\">Complete this letter<\/h2>\n        <p>Read the letter from Sunniya to her friend Giulia. Type <b>ONE word<\/b> for each space (41&#8211;50). (Example: <i>for<\/i>)<\/p>\n      <\/div>\n    <\/div>\n\n    <div style=\"max-width:580px;margin:0 auto\">\n      <div style=\"background:#fff;border:1.5px solid var(--border);border-radius:16px;padding:24px 26px;font-size:14.5px;line-height:1.95;font-family:&#39;Courier New&#39;,monospace\">\n<p>Dear Giulia,<\/p>\n        <p>Thank you (Example: <u>for<\/u>) the lovely birthday present. I already had some CDs by the same singer but I didn&#39;t have <input class=\"input-blank\" data-q=\"41\" type=\"text\"> one. I like it <input class=\"input-blank\" data-q=\"42\" type=\"text\"> much.<\/p>\n        <p>I <input class=\"input-blank\" data-q=\"43\" type=\"text\"> a lovely time on my birthday. My parents took me <input class=\"input-blank\" data-q=\"44\" type=\"text\"> a Japanese restaurant for lunch. The food was excellent and <input class=\"input-blank\" data-q=\"45\" type=\"text\"> all enjoyed it. <input class=\"input-blank\" data-q=\"46\" type=\"text\"> were some famous actors sitting near to <input class=\"input-blank\" data-q=\"47\" type=\"text\"> table. I asked <input class=\"input-blank\" data-q=\"48\" type=\"text\"> to write their names on my menu. They wrote: &#39;To Sunniya with love on your birthday&#39;. It was <input class=\"input-blank\" data-q=\"49\" type=\"text\"> great day. I&#39;ll <input class=\"input-blank\" data-q=\"50\" type=\"text\"> forget meeting them.<\/p>\n        <p>Love,<\/p>\n        <p><i>Sunniya<\/i><\/p>\n      <\/div>\n    <\/div>\n  <\/div>\n<\/section>\n\n<!-- ============== PART 8 ============== -->\n<section class=\"part-section\" id=\"part8\">\n  <div class=\"wrap\">\n    <div class=\"part-head\">\n      <div class=\"part-num\">8<\/div>\n      <div class=\"part-head-text\">\n        <span class=\"qrange\">Questions 51&#8211;55<\/span>\n        <h2 class=\"serif\">Anna&#8217;s cinema notes<\/h2>\n        <p>Read the advertisement and the email. Fill in the information in Anna&#8217;s notes (51&ndash;55).<\/p>\n      <\/div>\n    <\/div>\n\n    <div style=\"display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:14px;margin-bottom:18px\">\n      <div style=\"background:#fff;border:1.5px solid var(--border);border-radius:16px;padding:16px 18px;font-size:14px;line-height:1.6;text-align:center\">\n        <div style=\"font-style:italic;font-weight:700;font-size:18px;margin-bottom:2px\">Cinemax Cinema<\/div>\n        <div style=\"font-weight:600;margin-bottom:10px\">Monday 8 &ndash; Sunday 14 June<\/div>\n        <div style=\"font-weight:700;color:var(--accent-2)\">BLUE JUICE<\/div>\n        <div style=\"margin-bottom:8px\">4.30 pm | 7.15 pm | 8.30 pm<\/div>\n        <div style=\"font-weight:700;color:var(--accent-2)\">Moon Race<\/div>\n        <div style=\"margin-bottom:10px\">3.45 pm | 8.45 pm<\/div>\n        <div style=\"border-top:1px solid var(--border);padding-top:8px\">Tickets: &pound;4.75<br>&pound;5.50 for films after 6 pm<\/div>\n      <\/div>\n      <div style=\"background:#fff;border:1.5px solid var(--border);border-radius:16px;padding:16px 18px;font-size:14px;line-height:1.6\">\n        <div style=\"border-bottom:1px solid var(--border);padding-bottom:8px;margin-bottom:10px\"><b>From:<\/b> Jed<br><b>To:<\/b> Anna<\/div>\n        <p style=\"margin-bottom:0\">Can you book our tickets? I&#39;m working Friday evening but can go on Saturday. I don&#39;t want to see Blue Juice &ndash; I think the other film is better. Shall we go at the later time? Then we can eat before it starts. I&#39;ll wait for you in the caf&eacute; opposite at 7.30.<\/p>\n      <\/div>\n    <\/div>\n\n    <div class=\"form-card\">\n      <h4>Anna&#8217;s notes &middot; Cinema visit<\/h4>\n      <div class=\"form-row\"><label>Name of cinema:<\/label><span style=\"font-weight:600;color:var(--accent-2);font-style:italic\">Cinemax<\/span><\/div>\n      <div class=\"form-row\"><label>Name of film:<\/label><input class=\"input-blank\" data-q=\"51\" type=\"text\"><\/div>\n      <div class=\"form-row\"><label>Day:<\/label><input class=\"input-blank\" data-q=\"52\" type=\"text\"><\/div>\n      <div class=\"form-row\"><label>Start time:<\/label><input class=\"input-blank\" data-q=\"53\" type=\"text\"> pm<\/div>\n      <div class=\"form-row\"><label>Cost per person:<\/label>&pound; <input class=\"input-blank\" data-q=\"54\" type=\"text\"><\/div>\n      <div class=\"form-row\"><label>Place to meet Jed:<\/label><input class=\"input-blank\" data-q=\"55\" type=\"text\"><\/div>\n    <\/div>\n  <\/div>\n<\/section>\n\n<!-- ============== PART 9 &#8212; WRITING ============== -->\n<section class=\"part-section\" id=\"part9\">\n  <div class=\"wrap\">\n    <div class=\"part-head\">\n      <div class=\"part-num\">9<\/div>\n      <div class=\"part-head-text\">\n        <span class=\"qrange\">Question 56<\/span>\n        <h2 class=\"serif\">Writing &#8212; note to Sam<\/h2>\n        <p>This part is <b>not auto-graded<\/b>. Write your note, then click <i>Show Sample Answer<\/i> to see an example.<\/p>\n      <\/div>\n    <\/div>\n\n    <div class=\"writing-card\">\n      <div class=\"prompt-box\">\n        <b>Your friend Sam is coming to your house tomorrow evening. Write a note to Sam.<\/b>\n        <div style=\"background:#fff;border:1px dashed var(--accent-1);border-radius:10px;padding:12px 14px;margin:12px 0;line-height:1.55\">\n          Tell Sam:\n          <ul style=\"margin:8px 0 0 18px\">\n            <li><b>what<\/b> time to come<\/li>\n            <li><b>what<\/b> to bring<\/li>\n            <li><b>how<\/b> to get to your house<\/li>\n          <\/ul>\n        <\/div>\n        Write 25&ndash;35 words.\n      <\/div>\n      <textarea class=\"writing-area\" id=\"writingArea\" placeholder=\"Type your note here...\"><\/textarea>\n      <div class=\"wc-counter\" id=\"wcCounter\">0 words &#183; target 25&#8211;35<\/div>\n      <button class=\"sample-toggle\" id=\"sampleToggle\">\n        <svg width=\"14\" height=\"14\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.5\" stroke-linecap=\"round\"><path d=\"M1 12s4-8 11-8 11 8 11 8-4 8-11 8-11-8-11-8z\"\/><circle cx=\"12\" cy=\"12\" r=\"3\"\/><\/svg>\n        Show Sample Answer\n      <\/button>\n      <div class=\"sample-box\" id=\"sampleBox\">\n        <h5 style=\"margin-bottom:14px\">Real Cambridge sample answer &mdash; with examiner mark<\/h5>\n\n        <div style=\"background:#fff;border-left:3px solid var(--green);padding:10px 14px;margin-bottom:12px;border-radius:0 8px 8px 0\">\n          <b style=\"color:var(--green);font-size:12.5px;letter-spacing:.05em\">SAMPLE A &mdash; Mark 5\/5 (a very good answer, all three points covered)<\/b>\n          <p style=\"margin-top:6px\">Hi Sam,<br>\n          Please come to my house at half past six tomorrow evening. Can you bring some music and a film to watch? To get here, take bus number 12 and get off at the park. My house is the blue one opposite. See you soon!<\/p>\n        <\/div>\n        <div style=\"background:#fff;border-left:3px solid var(--gold);padding:10px 14px;border-radius:0 8px 8px 0\">\n          <b style=\"color:#B45309;font-size:12.5px;letter-spacing:.05em\">SAMPLE B &mdash; Mark 3\/5 (all points but with some errors)<\/b>\n          <p style=\"margin-top:6px\">Hi Sam,<br>\n          Come my house at seven o&#39;clock. Please you bring some snack and game. You take the bus number 12 to park, after walk two minutes. My house near the shop. See you!<\/p>\n        <\/div>\n      <\/div>\n    <\/div>\n  <\/div>\n<\/section>\n\n<!-- RESULTS BANNER -->\n<div class=\"wrap\">\n  <div class=\"results-banner\" id=\"resultsBanner\">\n    <h3>Your KET 6 Test 1 &#8212; Reading &amp; Writing score<\/h3>\n    <div class=\"score-big\"><span id=\"finalScore\">0<\/span>\/55<\/div>\n    <p id=\"resultsMsg\">Great effort! Scroll up to review your answers &#8212; correct ones are highlighted in green and wrong ones in red.<\/p>\n    <div style=\"margin-top:18px\"><button class=\"btn-primary\" onclick=\"window.scrollTo({top:0,behavior:'smooth'})\" style=\"background:#fff;color:var(--accent-2)\">Back to top<\/button><\/div>\n  <\/div>\n<\/div>\n\n<!-- FOOTER -->\n<footer class=\"footer\">\n  <div class=\"wrap\">\n    <p>&#169; 2026 All English 4U &#183; <a href=\"https:\/\/allenglish4u.com\/cambridge\/\">All Cambridge Tests<\/a> &#183; <a href=\"https:\/\/allenglish4u.com\/contact\/\">Contact<\/a><\/p>\n  <\/div>\n<\/footer>\n\n<script>eval(atob('CihmdW5jdGlvbigpewovLyA9PT09PSBIZWFkZXIgc2Nyb2xsID09PT09CnZhciBoZHI9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2hkcicpOwp2YXIgc2V0U29saWQ9ZnVuY3Rpb24oKXtpZih3aW5kb3cuc2Nyb2xsWT40MCloZHIuY2xhc3NMaXN0LmFkZCgnc29saWQnKTtlbHNlIGhkci5jbGFzc0xpc3QucmVtb3ZlKCdzb2xpZCcpfTsKd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ3Njcm9sbCcsc2V0U29saWQse3Bhc3NpdmU6dHJ1ZX0pO3NldFNvbGlkKCk7CgovLyBkcmF3ZXIKdmFyIGhhbWI9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2hhbWInKSxkcmF3ZXI9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2RyYXdlcicpLGRDbG9zZT1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnZHJhd2VyQ2xvc2UnKTsKaWYoaGFtYiloYW1iLmFkZEV2ZW50TGlzdGVuZXIoJ2NsaWNrJyxmdW5jdGlvbigpe2RyYXdlci5jbGFzc0xpc3QuYWRkKCdvcGVuJyl9KTsKaWYoZENsb3NlKWRDbG9zZS5hZGRFdmVudExpc3RlbmVyKCdjbGljaycsZnVuY3Rpb24oKXtkcmF3ZXIuY2xhc3NMaXN0LnJlbW92ZSgnb3BlbicpfSk7CmlmKGRyYXdlcilkcmF3ZXIuYWRkRXZlbnRMaXN0ZW5lcignY2xpY2snLGZ1bmN0aW9uKGUpe2lmKGUudGFyZ2V0PT09ZHJhd2VyKWRyYXdlci5jbGFzc0xpc3QucmVtb3ZlKCdvcGVuJyl9KTsKCi8vID09PT09IERBVEEgPT09PT0KLy8gTUNRIHF1ZXN0aW9uczogZWFjaCBlbnRyeSA9IHtuLCB0ZXh0LCBvcHRzOlt7bCx0fV0sIGFuc30KdmFyIFAxID0gWwogIHtuOjEsdGV4dDoiWW91IGNhbiBsZWFybiBob3cgdG8gcGFpbnQgaGVyZS4iLG9wdHM6J0FCQ0RGR0gnLGFuczonQid9LAogIHtuOjIsdGV4dDoiSWYgeW91IGdvIHNob3BwaW5nIGhlcmUgdGhpcyB3ZWVrLCB5b3UnbGwgcGF5IG11Y2ggbGVzcyB0aGFuIHVzdWFsLiIsb3B0czonQUJDREZHSCcsYW5zOidGJ30sCiAge246Myx0ZXh0OiJUaGlzIHBsYWNlIGlzIG5vdCBvcGVuIGV2ZXJ5IGRheS4iLG9wdHM6J0FCQ0RGR0gnLGFuczonRCd9LAogIHtuOjQsdGV4dDoiWW91IHdvbid0IGhhdmUgdG8gd2FpdCBsb25nIGJlZm9yZSB5b3UgZ2V0IHlvdXIgcGljdHVyZXMuIixvcHRzOidBQkNERkdIJyxhbnM6J0EnfSwKICB7bjo1LHRleHQ6IlNvbWVvbmUgaGFzIGp1c3QgcGFpbnRlZCBhIGRvb3IgaW4gdGhpcyBidWlsZGluZy4iLG9wdHM6J0FCQ0RGR0gnLGFuczonRyd9LApdOwp2YXIgUDIgPSBbCiAge246Nix0ZXh0OiJGb3Igc29tZSBjYW1wc2l0ZXMsIHlvdSBoYXZlIHRvIHBob25lIGFuZCBfX19fXyBiZWZvcmUgeW91IGdvLiIsb3B0czpbWydBJywiYm9vayJdLFsnQicsInRha2UiXSxbJ0MnLCJzcGVuZCJdXSxhbnM6J0EnfSwKICB7bjo3LHRleHQ6IlNvbWUgcGVvcGxlIHBsYXkgbG91ZCBtdXNpYyBvbiBjYW1wc2l0ZXMgc28gaXQgY2FuIGJlIHZlcnkgX19fX18uIixvcHRzOltbJ0EnLCJhbmdyeSJdLFsnQicsImJ1c3kiXSxbJ0MnLCJub2lzeSJdXSxhbnM6J0MnfSwKICB7bjo4LHRleHQ6Ik9uZSBvZiB0aGUgbmljZXN0IHRoaW5ncyBhYm91dCBjYW1waW5nIGlzIF9fX19fIGJyZWFrZmFzdCBvdXRzaWRlLiIsb3B0czpbWydBJywiZG9pbmciXSxbJ0InLCJoYXZpbmciXSxbJ0MnLCJwdXR0aW5nIl1dLGFuczonQid9LAogIHtuOjksdGV4dDoiSXQgaXMgYmV0dGVyIHRvIHVzZSBwbGFzdGljIGN1cHMgYW5kIHBsYXRlcyBmb3IgY2FtcGluZyBiZWNhdXNlIHRoZXkgZG9uJ3QgX19fX18gZWFzaWx5LiIsb3B0czpbWydBJywiYnJlYWsiXSxbJ0InLCJodXJ0Il0sWydDJywiZmFpbCJdXSxhbnM6J0EnfSwKICB7bjoxMCx0ZXh0OiJPbmUgcHJvYmxlbSB3aXRoIGNhbXBpbmcgaXMgbWFraW5nIF9fX19fIGluc2VjdHMgZG9uJ3QgZ2V0IGludG8gdGhlIHRlbnQuIixvcHRzOltbJ0EnLCJjYXJlZnVsIl0sWydCJywiY2xlYXIiXSxbJ0MnLCJzdXJlIl1dLGFuczonQyd9LApdOwp2YXIgUDNhID0gWwogIHtuOjExLHRleHQ6IklzIGl0IGEgZ29vZCBmaWxtPyIsb3B0czpbWydBJywiVGhhdCdzIHJpZ2h0LiJdLFsnQicsIkl0J3MgT0suIl0sWydDJywiSSBkb24ndCBhZ3JlZS4iXV0sYW5zOidCJ30sCiAge246MTIsdGV4dDoiSSdtIGdvaW5nIHRvIFRvbSdzIHBhcnR5IHRvbmlnaHQuIixvcHRzOltbJ0EnLCJDYW4gSSBnbyB0b28\/Il0sWydCJywiTGV0J3MgZ28uIl0sWydDJywiV2FzIGl0IGdvb2Q\/Il1dLGFuczonQSd9LAogIHtuOjEzLHRleHQ6IldoZW4gZGlkIHlvdSBsb3NlIHlvdXIgd2F0Y2g\/IixvcHRzOltbJ0EnLCJPbmNlIGEgd2Vlay4iXSxbJ0InLCJGb3Igc2l4IGRheXMuIl0sWydDJywiQSBtb250aCBhZ28uIl1dLGFuczonQyd9LAogIHtuOjE0LHRleHQ6IlNvcnJ5LCBJIGRvbid0IHVuZGVyc3RhbmQgeW91LiIsb3B0czpbWydBJywiTGV0IG1lIGV4cGxhaW4uIl0sWydCJywiSSBkb24ndCBrbm93LiJdLFsnQycsIldoYXQgZG9lcyBpdCBtZWFuPyJdXSxhbnM6J0EnfSwKICB7bjoxNSx0ZXh0OiJTaGFsbCB3ZSBhc2sgUGF1bCB0byBjb21lIHdpdGggdXM\/IixvcHRzOltbJ0EnLCJJIGJlbGlldmUgaXQuIl0sWydCJywiSSdtIHN1cmUuIl0sWydDJywiSWYgeW91IGxpa2UuIl1dLGFuczonQyd9LApdOwp2YXIgUDNiQW5zID0gewogIDE2OidFJywKICAxNzonRycsCiAgMTg6J0MnLAogIDE5OidIJywKICAyMDonRCcsCn07CnZhciBQNCA9IFsKICB7bjoyMSx0ZXh0OiJEYXZpZCBKb2huc29uIGhhZCBwcm9ibGVtcyBkdXJpbmcgYSBzd2ltbWluZyBjb21wZXRpdGlvbiBpbiB0aGUgVVNBLiIsb3B0czpbWydBJywiUmlnaHQiXSxbJ0InLCJXcm9uZyJdLFsnQycsIkRvZXNuJ3Qgc2F5Il1dLGFuczonQSd9LAogIHtuOjIyLHRleHQ6IkFmdGVyIDE5ODMsIG1hbnkgcGVvcGxlIHN3YW0gYmV0d2VlbiBTYW50YSBDcnV6IElzbGFuZCBhbmQgdGhlIENhbGlmb3JuaWFuIGNvYXN0LiIsb3B0czpbWydBJywiUmlnaHQiXSxbJ0InLCJXcm9uZyJdLFsnQycsIkRvZXNuJ3Qgc2F5Il1dLGFuczonQyd9LAogIHtuOjIzLHRleHQ6IkluIEphbnVhcnkgMjAwNCwgRGF2aWQgd2FzIHRoZSBmaXJzdCBwZXJzb24gb2YgaGlzIGFnZSB0byBzd2ltIGFjcm9zcyB0aGUgQ29vayBTdHJhaXQuIixvcHRzOltbJ0EnLCJSaWdodCJdLFsnQicsIldyb25nIl0sWydDJywiRG9lc24ndCBzYXkiXV0sYW5zOidBJ30sCiAge246MjQsdGV4dDoiRGF2aWQgcHJhY3Rpc2VkIGZvciBtb3JlIHRoYW4gYSB5ZWFyIHRvIHN3aW0gYWNyb3NzIHRoZSBDb29rIFN0cmFpdC4iLG9wdHM6W1snQScsIlJpZ2h0Il0sWydCJywiV3JvbmciXSxbJ0MnLCJEb2Vzbid0IHNheSJdXSxhbnM6J0EnfSwKICB7bjoyNSx0ZXh0OiJEYXZpZCB3YXMgaW4gTmV3IFplYWxhbmQgZm9yIGEgbG9uZyB0aW1lIGJlZm9yZSBoZSBzd2FtIGFjcm9zcyB0aGUgQ29vayBTdHJhaXQuIixvcHRzOltbJ0EnLCJSaWdodCJdLFsnQicsIldyb25nIl0sWydDJywiRG9lc24ndCBzYXkiXV0sYW5zOidCJ30sCiAge246MjYsdGV4dDoiRGF2aWQncyB3aWZlIHdhcyBpbiB0aGUgYm9hdCBiZXNpZGUgaGltIHdoZW4gaGUgc3dhbSB0aGUgQ29vayBTdHJhaXQuIixvcHRzOltbJ0EnLCJSaWdodCJdLFsnQicsIldyb25nIl0sWydDJywiRG9lc24ndCBzYXkiXV0sYW5zOidDJ30sCiAge246MjcsdGV4dDoiRGF2aWQgaGFkIHRvIHN0b3AgZm9yIGEgc2hvcnQgdGltZSB3aGlsZSBzd2ltbWluZyB0aGUgQ29vayBTdHJhaXQuIixvcHRzOltbJ0EnLCJSaWdodCJdLFsnQicsIldyb25nIl0sWydDJywiRG9lc24ndCBzYXkiXV0sYW5zOidCJ30sCl07CnZhciBQNSA9IFsKICB7bjoyOCxvcHRzOltbJ0EnLCJzaW5jZSJdLFsnQicsImJlZm9yZSJdLFsnQycsInVudGlsIl1dLGFuczonQid9LAogIHtuOjI5LG9wdHM6W1snQScsIm1vcmUiXSxbJ0InLCJtdWNoIl0sWydDJywibW9zdCJdXSxhbnM6J0EnfSwKICB7bjozMCxvcHRzOltbJ0EnLCJieSJdLFsnQicsImF0Il0sWydDJywib24iXV0sYW5zOidDJ30sCiAge246MzEsb3B0czpbWydBJywic2hvdWxkIl0sWydCJywibmVlZCJdLFsnQycsIm11c3QiXV0sYW5zOidCJ30sCiAge246MzIsb3B0czpbWydBJywic3RpbGwiXSxbJ0InLCJ5ZXQiXSxbJ0MnLCJhbHJlYWR5Il1dLGFuczonQSd9LAogIHtuOjMzLG9wdHM6W1snQScsImhhdmUiXSxbJ0InLCJhcmUiXSxbJ0MnLCJ3ZXJlIl1dLGFuczonQid9LAogIHtuOjM0LG9wdHM6W1snQScsImZhc3Rlc3QiXSxbJ0InLCJmYXN0Il0sWydDJywiZmFzdGVyIl1dLGFuczonQyd9LAogIHtuOjM1LG9wdHM6W1snQScsImVub3VnaCJdLFsnQicsImFsbCJdLFsnQycsIm1hbnkiXV0sYW5zOidBJ30sCl07CnZhciBQNiA9IFsKICB7bjozNix0ZXh0OiJUaGlzIGtlZXBzIGZvb2QgYW5kIGRyaW5rIGNvbGQuIixmaXJzdDonZicsYW5zOiJmcmlkZ2UifSwKICB7bjozNyx0ZXh0OiJZb3UgdXNlIHRoaXMgdG8gY3V0IHRoaW5ncy4iLGZpcnN0OidrJyxhbnM6ImtuaWZlIn0sCiAge246MzgsdGV4dDoiWW91IGRvIHRoaXMgdG8gd2F0ZXIgdG8gbWFrZSBpdCBob3QgZW5vdWdoIGZvciBhIGN1cCBvZiBjb2ZmZWUuIixmaXJzdDonYicsYW5zOiJib2lsIn0sCiAge246MzksdGV4dDoiU29tZSBwZW9wbGUgcHV0IHRoaXMgaW4gdGhlaXIgZHJpbmtzIHRvIG1ha2UgdGhlbSBzd2VldC4iLGZpcnN0OidzJyxhbnM6InN1Z2FyIn0sCiAge246NDAsdGV4dDoiWW91IGNhbiBtYWtlIGNoaXBzIHdpdGggdGhpcyB2ZWdldGFibGUuIixmaXJzdDoncCcsYW5zOiJwb3RhdG8ifSwKXTsKLy8gUGFydCA3IFx1MjAxNCBsZXR0ZXIgY2xvemU6IGFjY2VwdGVkIGFuc3dlcnMKdmFyIFA3QW5zID0gewogIDQxOlsidGhpcyIsICJ0aGF0IiwgImV2ZXJ5Il0sCiAgNDI6WyJ2ZXJ5IiwgInNvIl0sCiAgNDM6WyJoYWQiXSwKICA0NDpbInRvIl0sCiAgNDU6WyJ3ZSJdLAogIDQ2OlsidGhlcmUiXSwKICA0NzpbIm91ciIsICJteSIsICJ0aGUiXSwKICA0ODpbInRoZW0iXSwKICA0OTpbImEiXSwKICA1MDpbIm5ldmVyIiwgIm5vdCJdLAp9OwovLyBQYXJ0IDgKdmFyIFA4QW5zID0gewogIDUxOlsibW9vbiByYWNlIl0sCiAgNTI6WyJzYXR1cmRheSIsICJzYXQiLCAic2F0LiJdLAogIDUzOlsiOC40NSIsICI4LjQ1cG0iLCAiOC40NSBwbSIsICI4LjQ1IHAubS4iLCAicXVhcnRlciB0byBuaW5lIl0sCiAgNTQ6WyI1LjUwIiwgIlx1MDBhMzUuNTAiLCAiNS41IiwgIjUuNTAgcG91bmRzIl0sCiAgNTU6WyJjYWZcdTAwZTkgb3Bwb3NpdGUiLCAiY2FmZSBvcHBvc2l0ZSIsICJ0aGUgY2FmXHUwMGU5IG9wcG9zaXRlIiwgInRoZSBjYWZlIG9wcG9zaXRlIiwgImNhZlx1MDBlOSIsICJjYWZlIiwgIih0aGUpIGNhZlx1MDBlOSBvcHBvc2l0ZSJdLAp9OwoKLy8gPT09PT0gUmVuZGVyaW5nID09PT09CmZ1bmN0aW9uIHJlbmRlck1DUShsaXN0RWwsIGRhdGEpewogIGRhdGEuZm9yRWFjaChmdW5jdGlvbihxKXsKICAgIHZhciBkaXY9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7CiAgICBkaXYuY2xhc3NOYW1lPSdxLWl0ZW0nOyBkaXYuZGF0YXNldC5xaWQ9cS5uOwogICAgdmFyIG9wdHNIVE1MPScnOwogICAgaWYoQXJyYXkuaXNBcnJheShxLm9wdHMpKXsKICAgICAgcS5vcHRzLmZvckVhY2goZnVuY3Rpb24obyl7CiAgICAgICAgb3B0c0hUTUwgKz0gJzxsYWJlbCBjbGFzcz0ib3B0IiBkYXRhLWxldHRlcj0iJytvWzBdKyciPjxpbnB1dCB0eXBlPSJyYWRpbyIgbmFtZT0icScrcS5uKyciIHZhbHVlPSInK29bMF0rJyI+PHNwYW4gY2xhc3M9Im9wdC1sZXR0ZXIiPicrb1swXSsnPC9zcGFuPiAnK2VzY2FwZUh0bWwob1sxXSkrJzwvbGFiZWw+JzsKICAgICAgfSk7CiAgICB9IGVsc2UgewogICAgICAvLyBzdHJpbmcgb2YgbGV0dGVycyAoUDEpCiAgICAgIGZvcih2YXIgaT0wO2k8cS5vcHRzLmxlbmd0aDtpKyspewogICAgICAgIHZhciBMPXEub3B0c1tpXTsKICAgICAgICBvcHRzSFRNTCArPSAnPGxhYmVsIGNsYXNzPSJvcHQiIGRhdGEtbGV0dGVyPSInK0wrJyI+PGlucHV0IHR5cGU9InJhZGlvIiBuYW1lPSJxJytxLm4rJyIgdmFsdWU9IicrTCsnIj48c3BhbiBjbGFzcz0ib3B0LWxldHRlciI+JytMKyc8L3NwYW4+PC9sYWJlbD4nOwogICAgICB9CiAgICB9CiAgICBkaXYuaW5uZXJIVE1MID0gJzxkaXYgY2xhc3M9InEtdGV4dCI+PGIgY2xhc3M9InFuIj4nK3EubisnLjwvYj48c3Bhbj4nK2VzY2FwZUh0bWwocS50ZXh0KSsnPC9zcGFuPjwvZGl2PicrCiAgICAgICAgICAgICAgICAgICAgJzxkaXYgY2xhc3M9InEtb3B0cyI+JytvcHRzSFRNTCsnPC9kaXY+JysKICAgICAgICAgICAgICAgICAgICAnPGRpdiBjbGFzcz0iZmVlZGJhY2siPjwvZGl2Pic7CiAgICBsaXN0RWwuYXBwZW5kQ2hpbGQoZGl2KTsKICB9KTsKfQpmdW5jdGlvbiBlc2NhcGVIdG1sKHMpe3JldHVybiBTdHJpbmcocykucmVwbGFjZSgvWyY8PiInXS9nLGZ1bmN0aW9uKGMpe3JldHVybiB7JyYnOicmYW1wOycsJzwnOicmbHQ7JywnPic6JyZndDsnLCciJzonJnF1b3Q7JywiJyI6JyYjMzk7J31bY119KX0KCnJlbmRlck1DUShkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgncGFydDFMaXN0JyksUDEpOwpyZW5kZXJNQ1EoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3BhcnQyTGlzdCcpLFAyKTsKcmVuZGVyTUNRKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdwYXJ0M2FMaXN0JyksUDNhKTsKcmVuZGVyTUNRKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdwYXJ0NExpc3QnKSxQNCk7CgovLyBQYXJ0IDUgXHUyMDE0IHJlbmRlciBhcyBNQ1EgbGlzdCB1bmRlciB0aGUgcGFzc2FnZQpyZW5kZXJNQ1EoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3BhcnQ1TGlzdCcpLFA1Lm1hcChmdW5jdGlvbihxKXtyZXR1cm4ge246cS5uLHRleHQ6J1F1ZXN0aW9uICcrcS5uKycgXHUyMDE0IGNob29zZSB0aGUgYmVzdCB3b3JkIGZvciB0aGUgZ2FwLicsb3B0czpxLm9wdHMsYW5zOnEuYW5zfX0pKTsKCi8vIFBhcnQgNiBcdTIwMTQgZmlyc3QtbGV0dGVyICsgZGFzaGVzICsgaW5wdXQKKGZ1bmN0aW9uKCl7CiAgdmFyIGxpc3Q9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3BhcnQ2TGlzdCcpOwogIFA2LmZvckVhY2goZnVuY3Rpb24ocSl7CiAgICB2YXIgZGFzaENvdW50ID0gcS5hbnMubGVuZ3RoIC0gMTsKICAgIHZhciBkYXNoZXMgPSBuZXcgQXJyYXkoZGFzaENvdW50KS5maWxsKCdfJykuam9pbignICcpOwogICAgdmFyIGRpdj1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTsgZGl2LmNsYXNzTmFtZT0ncS1pdGVtJzsgZGl2LmRhdGFzZXQucWlkPXEubjsKICAgIGRpdi5pbm5lckhUTUw9JzxkaXYgY2xhc3M9InEtdGV4dCI+PGIgY2xhc3M9InFuIj4nK3EubisnLjwvYj48c3Bhbj4nK2VzY2FwZUh0bWwocS50ZXh0KSsnPC9zcGFuPjwvZGl2PicrCiAgICAgICAgICAgICAgICAgICc8ZGl2IGNsYXNzPSJ3b3JkLXJvdyI+PHNwYW4gY2xhc3M9ImZpcnN0LWxldHRlciI+JytxLmZpcnN0Kyc8L3NwYW4+PGlucHV0IHR5cGU9InRleHQiIGNsYXNzPSJpbnB1dC1ibGFuayIgZGF0YS1xPSInK3EubisnIiBwbGFjZWhvbGRlcj0iJytkYXNoZXMrJyIgc3R5bGU9Im1pbi13aWR0aDoyMDBweCI+PC9kaXY+JysKICAgICAgICAgICAgICAgICAgJzxkaXYgY2xhc3M9ImZlZWRiYWNrIj48L2Rpdj4nOwogICAgbGlzdC5hcHBlbmRDaGlsZChkaXYpOwogIH0pOwp9KSgpOwoKLy8gPT09PT0gV2lyZSBvcHRpb24gY2xpY2tzID09PT09CmRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoJy5vcHQnKS5mb3JFYWNoKGZ1bmN0aW9uKG9wdCl7CiAgb3B0LmFkZEV2ZW50TGlzdGVuZXIoJ2NsaWNrJyxmdW5jdGlvbihlKXsKICAgIGUucHJldmVudERlZmF1bHQoKTsKICAgIHZhciBpbnB1dD1vcHQucXVlcnlTZWxlY3RvcignaW5wdXQnKTsKICAgIHZhciBncm91cD1vcHQucGFyZW50RWxlbWVudDsKICAgIGdyb3VwLnF1ZXJ5U2VsZWN0b3JBbGwoJy5vcHQnKS5mb3JFYWNoKGZ1bmN0aW9uKG8pe28uY2xhc3NMaXN0LnJlbW92ZSgnc2VsZWN0ZWQnKX0pOwogICAgb3B0LmNsYXNzTGlzdC5hZGQoJ3NlbGVjdGVkJyk7CiAgICBpbnB1dC5jaGVja2VkPXRydWU7CiAgICB1cGRhdGVQcm9ncmVzcygpOwogIH0pOwp9KTsKCi8vIGlucHV0cwpkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKCcuaW5wdXQtYmxhbmssLnEtc2VsZWN0JykuZm9yRWFjaChmdW5jdGlvbihlbCl7CiAgZWwuYWRkRXZlbnRMaXN0ZW5lcignaW5wdXQnLHVwZGF0ZVByb2dyZXNzKTsKICBlbC5hZGRFdmVudExpc3RlbmVyKCdjaGFuZ2UnLHVwZGF0ZVByb2dyZXNzKTsKfSk7CgovLyA9PT09PSBTdWJtaXQgJiBHcmFkZSA9PT09PQpmdW5jdGlvbiBnZXRNY3FBbnMocWlkKXsKICB2YXIgc2VsPWRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJ2lucHV0W25hbWU9InEnK3FpZCsnIl06Y2hlY2tlZCcpOwogIHJldHVybiBzZWw\/c2VsLnZhbHVlOm51bGw7Cn0KZnVuY3Rpb24gZ2V0SW5wdXRBbnMocWlkKXsKICB2YXIgZWw9ZG9jdW1lbnQucXVlcnlTZWxlY3RvcignLmlucHV0LWJsYW5rW2RhdGEtcT0iJytxaWQrJyJdJyk7CiAgcmV0dXJuIGVsP2VsLnZhbHVlLnRyaW0oKS50b0xvd2VyQ2FzZSgpOicnOwp9CmZ1bmN0aW9uIGdldFNlbGVjdEFucyhxaWQpewogIHZhciBlbD1kb2N1bWVudC5xdWVyeVNlbGVjdG9yKCcucS1zZWxlY3RbZGF0YS1xaWQ9IicrcWlkKyciXScpOwogIHJldHVybiBlbD9lbC52YWx1ZTonJzsKfQpmdW5jdGlvbiB0b3RhbFFzKCl7cmV0dXJuIDU1fQoKZnVuY3Rpb24gYW5zd2VyZWRDb3VudCgpewogIHZhciBuPTA7CiAgLy8gTUNROiBQMSgxLTUpIFAyKDYtMTApIFAzYSgxMS0xNSkgUDQoMjEtMjcpIFA1KDI4LTM1KQogIFsxLDIsMyw0LDUsNiw3LDgsOSwxMCwxMSwxMiwxMywxNCwxNSwyMSwyMiwyMywyNCwyNSwyNiwyNywyOCwyOSwzMCwzMSwzMiwzMywzNCwzNV0uZm9yRWFjaChmdW5jdGlvbihxKXtpZihnZXRNY3FBbnMocSkpbisrfSk7CiAgWzE2LDE3LDE4LDE5LDIwXS5mb3JFYWNoKGZ1bmN0aW9uKHEpe2lmKGdldFNlbGVjdEFucyhxKSluKyt9KTsKICAvLyBpbnB1dHMKICBmb3IodmFyIGk9MzY7aTw9NTU7aSsrKXtpZihnZXRJbnB1dEFucyhpKSluKyt9CiAgcmV0dXJuIG47Cn0KZnVuY3Rpb24gdXBkYXRlUHJvZ3Jlc3MoKXsKICB2YXIgYT1hbnN3ZXJlZENvdW50KCksIHRvdGFsPXRvdGFsUXMoKTsKICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnYW5zd2VyZWRDb3VudCcpLnRleHRDb250ZW50PWE7CiAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3Byb2dGaWxsJykuc3R5bGUud2lkdGg9KGEvdG90YWwqMTAwKSsnJSc7Cn0KCmRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdzdWJtaXRCdG4nKS5hZGRFdmVudExpc3RlbmVyKCdjbGljaycsZnVuY3Rpb24oKXsKICB2YXIgc2NvcmU9MDsKICAvLyBNQ1EgcGFydHMKICB2YXIgbWNxUGFydHM9W1AxLFAyLFAzYSxQNCxQNV07CiAgbWNxUGFydHMuZm9yRWFjaChmdW5jdGlvbihwYXJ0KXsKICAgIHBhcnQuZm9yRWFjaChmdW5jdGlvbihxKXsKICAgICAgdmFyIHY9Z2V0TWNxQW5zKHEubiksIGl0ZW09ZG9jdW1lbnQucXVlcnlTZWxlY3RvcignLnEtaXRlbVtkYXRhLXFpZD0iJytxLm4rJyJdJyk7CiAgICAgIGlmKCFpdGVtKXJldHVybjsKICAgICAgaXRlbS5jbGFzc0xpc3QuYWRkKCdhbnN3ZXJlZCcpOwogICAgICAvLyBtYXJrIGNvcnJlY3QvaW5jb3JyZWN0IG9wdHMKICAgICAgaXRlbS5xdWVyeVNlbGVjdG9yQWxsKCcub3B0JykuZm9yRWFjaChmdW5jdGlvbihvKXsKICAgICAgICB2YXIgTD1vLmRhdGFzZXQubGV0dGVyOwogICAgICAgIGlmKEw9PT1xLmFucyl7by5jbGFzc0xpc3QuYWRkKCdjb3JyZWN0LW9wdCcpfQogICAgICAgIGlmKHY9PT1MKWlmKEwhPT1xLmFucyl7by5jbGFzc0xpc3QuYWRkKCd3cm9uZy1vcHQnKX0KICAgICAgfSk7CiAgICAgIHZhciBmYj1pdGVtLnF1ZXJ5U2VsZWN0b3IoJy5mZWVkYmFjaycpOwogICAgICBpZih2PT09cS5hbnMpe3Njb3JlKys7IGl0ZW0uY2xhc3NMaXN0LmFkZCgnY29ycmVjdCcpOyBmYi50ZXh0Q29udGVudD0nXHUyNzE0IENvcnJlY3QgXHUyMDE0ICcrcS5hbnN9CiAgICAgIGVsc2V7aXRlbS5jbGFzc0xpc3QuYWRkKCd3cm9uZycpOyBmYi50ZXh0Q29udGVudD0nXHUyNzE4IFdyb25nIFx1MjAxNCBjb3JyZWN0IGFuc3dlcjogJytxLmFucyArICh2PygnICh5b3UgY2hvc2UgJyt2KycpJyk6JyAobm8gYW5zd2VyKScpfQogICAgfSk7CiAgfSk7CiAgLy8gUGFydCAzYiBzZWxlY3RzCiAgdmFyIHAzYkZiPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdwYXJ0M2JGZWVkYmFjaycpOwogIHAzYkZiLmlubmVySFRNTD0nJzsKICBPYmplY3Qua2V5cyhQM2JBbnMpLmZvckVhY2goZnVuY3Rpb24ocWlkKXsKICAgIHZhciB2PWdldFNlbGVjdEFucyhxaWQpLCBjb3JyZWN0PVAzYkFuc1txaWRdOwogICAgdmFyIGVsPWRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJy5xLXNlbGVjdFtkYXRhLXFpZD0iJytxaWQrJyJdJyk7CiAgICBpZihlbCl7ZWwuc3R5bGUuYm9yZGVyQ29sb3I9KHY9PT1jb3JyZWN0PycjMTBCOTgxJzonI0VGNDQ0NCcpOyBlbC5zdHlsZS5ib3JkZXJXaWR0aD0nMnB4JzsgZWwuc3R5bGUuYm9yZGVyU3R5bGU9J3NvbGlkJ30KICAgIHZhciBub3RlPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpOwogICAgbm90ZS5zdHlsZS5jc3NUZXh0PSdwYWRkaW5nOjhweCAxMnB4O2JvcmRlci1yYWRpdXM6OHB4O21hcmdpbi10b3A6NnB4O2ZvbnQtc2l6ZToxMy41cHg7Zm9udC13ZWlnaHQ6NjAwOycrKHY9PT1jb3JyZWN0PydiYWNrZ3JvdW5kOnJnYmEoMTYsMTg1LDEyOSwuMTIpO2NvbG9yOiMwNjVGNDYnOidiYWNrZ3JvdW5kOnJnYmEoMjM5LDY4LDY4LC4xMCk7Y29sb3I6Izk5MUIxQicpOwogICAgbm90ZS5pbm5lckhUTUw9JzxiPlEnK3FpZCsnPC9iPjogJysodj09PWNvcnJlY3Q\/J1x1MjcxNCBDb3JyZWN0ICgnK2NvcnJlY3QrJyknOidcdTI3MTggV3JvbmcgXHUyMDE0IGNvcnJlY3Q6ICcrY29ycmVjdCsodj8nLCB5b3UgY2hvc2UgJyt2OicsIG5vIGFuc3dlcicpKTsKICAgIHAzYkZiLmFwcGVuZENoaWxkKG5vdGUpOwogICAgaWYodj09PWNvcnJlY3Qpc2NvcmUrKzsKICB9KTsKICAvLyBQYXJ0IDYKICBQNi5mb3JFYWNoKGZ1bmN0aW9uKHEpewogICAgdmFyIHY9Z2V0SW5wdXRBbnMocS5uKSwgZWw9ZG9jdW1lbnQucXVlcnlTZWxlY3RvcignLmlucHV0LWJsYW5rW2RhdGEtcT0iJytxLm4rJyJdJyksIGl0ZW09ZG9jdW1lbnQucXVlcnlTZWxlY3RvcignLnEtaXRlbVtkYXRhLXFpZD0iJytxLm4rJyJdJyk7CiAgICBpZighZWx8fCFpdGVtKXJldHVybjsKICAgIGl0ZW0uY2xhc3NMaXN0LmFkZCgnYW5zd2VyZWQnKTsKICAgIHZhciBvaz0odj09PXEuYW5zLnRvTG93ZXJDYXNlKCkpOwogICAgaWYob2spe3Njb3JlKys7IGVsLmNsYXNzTGlzdC5hZGQoJ2NvcnJlY3QnKTsgaXRlbS5jbGFzc0xpc3QuYWRkKCdjb3JyZWN0Jyk7IGl0ZW0ucXVlcnlTZWxlY3RvcignLmZlZWRiYWNrJykudGV4dENvbnRlbnQ9J1x1MjcxNCBDb3JyZWN0J30KICAgIGVsc2V7ZWwuY2xhc3NMaXN0LmFkZCgnd3JvbmcnKTsgaXRlbS5jbGFzc0xpc3QuYWRkKCd3cm9uZycpOyBpdGVtLnF1ZXJ5U2VsZWN0b3IoJy5mZWVkYmFjaycpLnRleHRDb250ZW50PSdcdTI3MTggV3JvbmcgXHUyMDE0IGNvcnJlY3Q6ICcrcS5hbnN9CiAgfSk7CiAgLy8gUGFydCA3CiAgT2JqZWN0LmtleXMoUDdBbnMpLmZvckVhY2goZnVuY3Rpb24ocWlkKXsKICAgIHZhciB2PWdldElucHV0QW5zKHFpZCksIGVsPWRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJy5pbnB1dC1ibGFua1tkYXRhLXE9IicrcWlkKyciXScpLCBhY2NlcHRlZD1QN0Fuc1txaWRdOwogICAgaWYoIWVsKXJldHVybjsKICAgIHZhciBvaz1hY2NlcHRlZC5pbmRleE9mKHYpPj0wOwogICAgaWYob2spe3Njb3JlKys7IGVsLmNsYXNzTGlzdC5hZGQoJ2NvcnJlY3QnKX0gZWxzZSB7ZWwuY2xhc3NMaXN0LmFkZCgnd3JvbmcnKTsgZWwudGl0bGU9J0NvcnJlY3Q6ICcrYWNjZXB0ZWQuam9pbignIC8gJyl9CiAgfSk7CiAgLy8gUGFydCA4CiAgT2JqZWN0LmtleXMoUDhBbnMpLmZvckVhY2goZnVuY3Rpb24ocWlkKXsKICAgIHZhciB2PWdldElucHV0QW5zKHFpZCksIGVsPWRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJy5pbnB1dC1ibGFua1tkYXRhLXE9IicrcWlkKyciXScpLCBhY2NlcHRlZD1QOEFuc1txaWRdOwogICAgaWYoIWVsKXJldHVybjsKICAgIHZhciBvaz1hY2NlcHRlZC5pbmRleE9mKHYpPj0wOwogICAgaWYob2spe3Njb3JlKys7IGVsLmNsYXNzTGlzdC5hZGQoJ2NvcnJlY3QnKX0gZWxzZSB7ZWwuY2xhc3NMaXN0LmFkZCgnd3JvbmcnKTsgZWwudGl0bGU9J0NvcnJlY3Q6ICcrYWNjZXB0ZWQuam9pbignIC8gJyl9CiAgfSk7CgogIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdzY29yZU5vdycpLnRleHRDb250ZW50PXNjb3JlOwogIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdmaW5hbFNjb3JlJykudGV4dENvbnRlbnQ9c2NvcmU7CiAgdmFyIHBjdD1NYXRoLnJvdW5kKHNjb3JlLzU1KjEwMCk7CiAgdmFyIG1zZz0nJzsKICBpZihwY3Q+PTg1KSBtc2c9J1x1ezFGM0M2fSBFeGNlbGxlbnQhIFlvdSBhcmUgd2VsbCBwcmVwYXJlZCBmb3IgdGhlIHJlYWwgS0VUIGV4YW0uJzsKICBlbHNlIGlmKHBjdD49NzApIG1zZz0nXHV7MUY0NER9IEdvb2Qgam9iISBBIGZldyBtb3JlIHRlc3RzIGFuZCB5b3Ugd2lsbCBiZSByZWFkeS4nOwogIGVsc2UgaWYocGN0Pj01MCkgbXNnPSdcdXsxRjREQX0gS2VlcCBwcmFjdGlzaW5nIFx1MjAxNCByZXZpZXcgdGhlIHdyb25nIGFuc3dlcnMgYWJvdmUuJzsKICBlbHNlIG1zZz0nXHV7MUY0QUF9IFN0YXJ0IHdpdGggdGhlIGJhc2ljcy4gUmVyZWFkIHRoZSBwYXNzYWdlcyBhbmQgdHJ5IGFnYWluLic7CiAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3Jlc3VsdHNNc2cnKS50ZXh0Q29udGVudD1tc2c7CiAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3Jlc3VsdHNCYW5uZXInKS5jbGFzc0xpc3QuYWRkKCdzaG93Jyk7CiAgc2V0VGltZW91dChmdW5jdGlvbigpe2RvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdyZXN1bHRzQmFubmVyJykuc2Nyb2xsSW50b1ZpZXcoe2JlaGF2aW9yOidzbW9vdGgnLGJsb2NrOidjZW50ZXInfSl9LDEyMCk7Cn0pOwoKZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3Jlc2V0QnRuJykuYWRkRXZlbnRMaXN0ZW5lcignY2xpY2snLGZ1bmN0aW9uKCl7CiAgaWYoIWNvbmZpcm0oJ1Jlc2V0IGFsbCBhbnN3ZXJzPycpKXJldHVybjsKICBsb2NhdGlvbi5yZWxvYWQoKTsKfSk7CgovLyBXcml0aW5nIHdvcmQgY291bnRlcgp2YXIgdGE9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3dyaXRpbmdBcmVhJyksd2M9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3djQ291bnRlcicpOwp0YS5hZGRFdmVudExpc3RlbmVyKCdpbnB1dCcsZnVuY3Rpb24oKXsKICB2YXIgdz10YS52YWx1ZS50cmltKCkuc3BsaXQoL1xzKy8pLmZpbHRlcihCb29sZWFuKS5sZW5ndGg7CiAgd2MudGV4dENvbnRlbnQ9dysnIHdvcmRzIFx1MDBCNyB0YXJnZXQgMjVcdTIwMTMzNSc7CiAgd2MuY2xhc3NMaXN0LnJlbW92ZSgnb2snLCdvdmVyJyk7CiAgaWYodz49MjUpaWYodzw9MzUpd2MuY2xhc3NMaXN0LmFkZCgnb2snKTsKICBlbHNlIGlmKHc+MzUpd2MuY2xhc3NMaXN0LmFkZCgnb3ZlcicpOwp9KTsKZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3NhbXBsZVRvZ2dsZScpLmFkZEV2ZW50TGlzdGVuZXIoJ2NsaWNrJyxmdW5jdGlvbigpewogIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdzYW1wbGVCb3gnKS5jbGFzc0xpc3QudG9nZ2xlKCdzaG93Jyk7Cn0pOwoKLy8gPT09PT0gU0hPVyBBTlNXRVIgUEVSLVEgRkVBVFVSRSA9PT09PQpmdW5jdGlvbiBnZXRBbnNGb3JRKG4pewogIGlmKG4+PTEpIGlmKG48PTUpIHJldHVybiAoUDEuZmluZChmdW5jdGlvbih4KXtyZXR1cm4geC5uPT09bn0pfHx7fSkuYW5zOwogIGlmKG4+PTYpIGlmKG48PTEwKSByZXR1cm4gKFAyLmZpbmQoZnVuY3Rpb24oeCl7cmV0dXJuIHgubj09PW59KXx8e30pLmFuczsKICBpZihuPj0xMSkgaWYobjw9MTUpIHJldHVybiAoUDNhLmZpbmQoZnVuY3Rpb24oeCl7cmV0dXJuIHgubj09PW59KXx8e30pLmFuczsKICBpZihuPj0yMSkgaWYobjw9MjcpIHJldHVybiAoUDQuZmluZChmdW5jdGlvbih4KXtyZXR1cm4geC5uPT09bn0pfHx7fSkuYW5zOwogIGlmKG4+PTI4KSBpZihuPD0zNSkgcmV0dXJuIChQNS5maW5kKGZ1bmN0aW9uKHgpe3JldHVybiB4Lm49PT1ufSl8fHt9KS5hbnM7CiAgcmV0dXJuIG51bGw7Cn0KLy8gTUNRIHEtaXRlbXM6IGFwcGVuZCBTaG93IEFuc3dlciBidXR0b24KZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCgnLnEtaXRlbScpLmZvckVhY2goZnVuY3Rpb24oaXRlbSl7CiAgaWYoaXRlbS5xdWVyeVNlbGVjdG9yKCcuc2hvdy1hbnMtYnRuJykpIHJldHVybjsKICB2YXIgcWlkPXBhcnNlSW50KGl0ZW0uZGF0YXNldC5xaWQpOwogIHZhciBidG49ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnYnV0dG9uJyk7CiAgYnRuLmNsYXNzTmFtZT0nc2hvdy1hbnMtYnRuJzsgYnRuLnR5cGU9J2J1dHRvbic7CiAgYnRuLmlubmVySFRNTD0nXHV7MUY0NDF9IFNob3cgQW5zd2VyJzsKICBidG4uYWRkRXZlbnRMaXN0ZW5lcignY2xpY2snLGZ1bmN0aW9uKCl7CiAgICB2YXIgaXNQNj1mYWxzZTsgaWYocWlkPj0zNikgaWYocWlkPD00MCkgaXNQNj10cnVlOwogICAgaWYoaXNQNil7CiAgICAgIC8vIFBhcnQgNiBzcGVsbCBpbnB1dAogICAgICB2YXIgcDZxPVA2LmZpbmQoZnVuY3Rpb24oeCl7cmV0dXJuIHgubj09PXFpZH0pOwogICAgICB2YXIgaW5wdXQ9aXRlbS5xdWVyeVNlbGVjdG9yKCcuaW5wdXQtYmxhbmsnKTsKICAgICAgaWYoaW5wdXQpIGlmKHA2cSl7aW5wdXQudmFsdWU9cDZxLmFuczsgaW5wdXQuY2xhc3NMaXN0LmFkZCgnY29ycmVjdCcpOyBpbnB1dC5kaXNwYXRjaEV2ZW50KG5ldyBFdmVudCgnaW5wdXQnKSk7fQogICAgICB2YXIgZmI2PWl0ZW0ucXVlcnlTZWxlY3RvcignLmZlZWRiYWNrJyk7CiAgICAgIGlmKGZiNikgaWYocDZxKXtpdGVtLmNsYXNzTGlzdC5hZGQoJ2Fuc3dlcmVkJyk7IGl0ZW0uY2xhc3NMaXN0LmFkZCgnY29ycmVjdCcpOyBmYjYudGV4dENvbnRlbnQ9J1x1ezFGNDQxfSBBbnN3ZXI6ICcrcDZxLmFuczt9CiAgICB9IGVsc2UgewogICAgICB2YXIgYW5zPWdldEFuc0ZvclEocWlkKTsKICAgICAgaWYoIWFucykgcmV0dXJuOwogICAgICAvLyBoaWdobGlnaHQgY29ycmVjdCBvcHRpb24KICAgICAgdmFyIGNvcnJlY3RPcHQ9aXRlbS5xdWVyeVNlbGVjdG9yKCcub3B0W2RhdGEtbGV0dGVyPSInK2FucysnIl0nKTsKICAgICAgaWYoY29ycmVjdE9wdCl7Y29ycmVjdE9wdC5jbGFzc0xpc3QuYWRkKCdjb3JyZWN0LW9wdCcpO30KICAgICAgLy8gc2ltdWxhdGUgY2xpY2sgc28gdXBkYXRlUHJvZ3Jlc3MgZmlyZXMKICAgICAgdmFyIGZiPWl0ZW0ucXVlcnlTZWxlY3RvcignLmZlZWRiYWNrJyk7CiAgICAgIGlmKGZiKXtpdGVtLmNsYXNzTGlzdC5hZGQoJ2Fuc3dlcmVkJyk7IGZiLnN0eWxlLmJhY2tncm91bmQ9J3JnYmEoMTYsMTg1LDEyOSwuMTIpJzsgZmIuc3R5bGUuY29sb3I9JyMwNjVGNDYnOyBmYi50ZXh0Q29udGVudD0nXHV7MUY0NDF9IEFuc3dlcjogJythbnM7fQogICAgfQogICAgYnRuLmRpc2FibGVkPXRydWU7CiAgfSk7CiAgaXRlbS5hcHBlbmRDaGlsZChidG4pOwp9KTsKLy8gUGFydCAzYiBzZWxlY3RzOiBhcHBlbmQgaW5saW5lIFNob3cgQW5zd2VyIGJ1dHRvbgpbMTYsMTcsMTgsMTksMjBdLmZvckVhY2goZnVuY3Rpb24ocWlkKXsKICB2YXIgc2VsPWRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJy5xLXNlbGVjdFtkYXRhLXFpZD0iJytxaWQrJyJdJyk7CiAgaWYoIXNlbCkgcmV0dXJuOwogIHZhciBidG49ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnYnV0dG9uJyk7CiAgYnRuLmNsYXNzTmFtZT0nc2hvdy1hbnMtYnRuLWlubGluZSc7IGJ0bi50eXBlPSdidXR0b24nOwogIHZhciBhbnM9UDNiQW5zW3FpZF07CiAgYnRuLmlubmVySFRNTD0nXHV7MUY0NDF9ICcrYW5zOwogIGJ0bi5hZGRFdmVudExpc3RlbmVyKCdjbGljaycsZnVuY3Rpb24oKXsKICAgIHNlbC52YWx1ZT1hbnM7IHNlbC5kaXNwYXRjaEV2ZW50KG5ldyBFdmVudCgnY2hhbmdlJykpOwogICAgc2VsLnN0eWxlLmJvcmRlckNvbG9yPScjMTBCOTgxJzsgc2VsLnN0eWxlLmJvcmRlcldpZHRoPScycHgnOyBzZWwuc3R5bGUuYm9yZGVyU3R5bGU9J3NvbGlkJzsKICAgIGJ0bi5kaXNhYmxlZD10cnVlOwogIH0pOwogIHNlbC5pbnNlcnRBZGphY2VudEVsZW1lbnQoJ2FmdGVyZW5kJywgYnRuKTsKfSk7Ci8vIFBhcnQgNyAmIDggaW5wdXRzOiBhcHBlbmQgaW5saW5lIFNob3cgQW5zd2VyIGJ1dHRvbgpmb3IodmFyIHFpPTQxO3FpPD01NTtxaSsrKXsKICAoZnVuY3Rpb24ocWlkKXsKICAgIHZhciBpbnA9ZG9jdW1lbnQucXVlcnlTZWxlY3RvcignLmlucHV0LWJsYW5rW2RhdGEtcT0iJytxaWQrJyJdJyk7CiAgICBpZighaW5wKSByZXR1cm47CiAgICB2YXIgYW5zPShxaWQ8PTUwKT9QN0Fuc1txaWRdWzBdOlA4QW5zW3FpZF1bMF07CiAgICB2YXIgYnRuPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2J1dHRvbicpOwogICAgYnRuLmNsYXNzTmFtZT0nc2hvdy1hbnMtYnRuLWlubGluZSc7IGJ0bi50eXBlPSdidXR0b24nOwogICAgYnRuLmlubmVySFRNTD0nXHV7MUY0NDF9ICcrYW5zOwogICAgYnRuLnRpdGxlPSdDbGljayB0byBmaWxsOiAnK2FuczsKICAgIGJ0bi5hZGRFdmVudExpc3RlbmVyKCdjbGljaycsZnVuY3Rpb24oKXsKICAgICAgaW5wLnZhbHVlPWFuczsgaW5wLmNsYXNzTGlzdC5hZGQoJ2NvcnJlY3QnKTsgaW5wLmRpc3BhdGNoRXZlbnQobmV3IEV2ZW50KCdpbnB1dCcpKTsKICAgICAgYnRuLmRpc2FibGVkPXRydWU7CiAgICB9KTsKICAgIGlucC5pbnNlcnRBZGphY2VudEVsZW1lbnQoJ2FmdGVyZW5kJywgYnRuKTsKICB9KShxaSk7Cn0KCn0pKCk7Cg=='));<\/script>\n\n","protected":false},"excerpt":{"rendered":"<p>All English 4U Grammar IELTS TOEFL Cambridge CELPIP Dictation Back Grammar IELTS TOEFL Cambridge CELPIP Dictation Cambridge English &#183; Key (KET) KET 6 &#8212; Test 1Reading &amp; Writing Practise the full A2 Key Reading &amp; Writing paper &#8212; 9 parts, 56 questions, instant auto-grading. Test yourself like the real exam, then check answers and learn [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"page-with-title","meta":{"footnotes":""},"class_list":["post-3852","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/allenglish4u.com\/vi\/wp-json\/wp\/v2\/pages\/3852","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/allenglish4u.com\/vi\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/allenglish4u.com\/vi\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/allenglish4u.com\/vi\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/allenglish4u.com\/vi\/wp-json\/wp\/v2\/comments?post=3852"}],"version-history":[{"count":3,"href":"https:\/\/allenglish4u.com\/vi\/wp-json\/wp\/v2\/pages\/3852\/revisions"}],"predecessor-version":[{"id":5905,"href":"https:\/\/allenglish4u.com\/vi\/wp-json\/wp\/v2\/pages\/3852\/revisions\/5905"}],"wp:attachment":[{"href":"https:\/\/allenglish4u.com\/vi\/wp-json\/wp\/v2\/media?parent=3852"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}