{"id":19524,"date":"2026-10-31T16:05:49","date_gmt":"2026-10-31T14:05:49","guid":{"rendered":"https:\/\/nmu.org.ua\/main\/?page_id=19524"},"modified":"2026-11-02T08:05:30","modified_gmt":"2026-11-02T06:05:30","slug":"steel-grades","status":"publish","type":"page","link":"https:\/\/nmu.org.ua\/main\/research\/services-and-references\/steel-grades\/","title":{"rendered":"\u041c\u0430\u0440\u043a\u0438 \u0441\u0442\u0430\u043b\u0435\u0439 \u0456 \u0441\u043f\u043b\u0430\u0432\u0456\u0432"},"content":{"rendered":"\n<section id=\"steel-catalog\" class=\"ntu-content-section\">\n<h2>\u041a\u0430\u0442\u0430\u043b\u043e\u0433 \u043c\u0430\u0440\u043e\u043a<\/h2>\n<p>\u0428\u0443\u043a\u0430\u0439\u0442\u0435 \u043c\u0430\u0440\u043a\u0443 \u0437\u0430 \u043d\u0430\u0437\u0432\u043e\u044e, \u0437\u0430\u0440\u0443\u0431\u0456\u0436\u043d\u0438\u043c \u0430\u043d\u0430\u043b\u043e\u0433\u043e\u043c \u0430\u0431\u043e \u0441\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u043e\u043c, \u0437\u0432\u0443\u0436\u0443\u0439\u0442\u0435 \u0432\u0438\u0431\u0456\u0440 \u0437\u0430 \u0433\u0440\u0443\u043f\u043e\u044e, \u043a\u043b\u0430\u0441\u043e\u043c \u0456 \u0432\u043c\u0456\u0441\u0442\u043e\u043c \u0445\u0456\u043c\u0456\u0447\u043d\u0438\u0445 \u0435\u043b\u0435\u043c\u0435\u043d\u0442\u0456\u0432. \u041d\u0430\u0442\u0438\u0441\u043d\u0456\u0442\u044c \u043d\u0430 \u043d\u0430\u0437\u0432\u0443 \u043c\u0430\u0440\u043a\u0438, \u0449\u043e\u0431 \u0432\u0456\u0434\u043a\u0440\u0438\u0442\u0438 \u0457\u0457 \u043a\u0430\u0440\u0442\u043a\u0443: \u0445\u0456\u043c\u0456\u0447\u043d\u0438\u0439 \u0441\u043a\u043b\u0430\u0434, \u043f\u0440\u0438\u0437\u043d\u0430\u0447\u0435\u043d\u043d\u044f, \u0442\u0435\u0445\u043d\u043e\u043b\u043e\u0433\u0456\u0447\u043d\u0456, \u043c\u0435\u0445\u0430\u043d\u0456\u0447\u043d\u0456 \u0442\u0430 \u0444\u0456\u0437\u0438\u0447\u043d\u0456 \u0432\u043b\u0430\u0441\u0442\u0438\u0432\u043e\u0441\u0442\u0456, \u0442\u0432\u0435\u0440\u0434\u0456\u0441\u0442\u044c \u0456 \u0437\u0430\u0440\u0443\u0431\u0456\u0436\u043d\u0456 \u0430\u043d\u0430\u043b\u043e\u0433\u0438.<\/p>\n<style>.ntu-steel{margin:8px 0 32px;color:var(--ink,#082235);font-size:.95rem;line-height:1.5}\r\n.ntu-steel *,.ntu-steel *::before,.ntu-steel *::after{box-sizing:border-box}\r\n.ntu-steel__form{padding:20px;background:var(--surface,#f2f6f8);border-radius:var(--radius,18px)}\r\n.ntu-steel__grid{display:grid;gap:14px;grid-template-columns:minmax(0,2fr) minmax(0,1fr) minmax(0,1fr)}\r\n.ntu-steel__field{display:flex;flex-direction:column;gap:6px;min-width:0}\r\n.ntu-steel__label{color:var(--muted,#536b79);font-size:.74rem;font-weight:800;letter-spacing:.02em}\r\n.ntu-steel .ntu-steel__input{width:100%;min-height:46px;padding:0 12px;color:var(--ink,#082235);background:#fff;border:1px solid var(--line,#d9e3e8);border-radius:10px;font:inherit}\r\n.ntu-steel select.ntu-steel__input{padding-right:8px}\r\n.ntu-steel__condhead{display:flex;flex-wrap:wrap;gap:10px;align-items:center;justify-content:space-between;margin-top:16px}\r\n.ntu-steel__conds{display:grid;gap:10px;margin-top:10px}\r\n.ntu-steel__cond{display:grid;gap:10px;grid-template-columns:minmax(0,2fr) minmax(0,1fr) minmax(0,1fr) auto;align-items:center}\r\n.ntu-steel .ntu-steel__btn{min-height:44px;padding:0 18px;color:var(--navy,#032d44);background:#fff;border:1px solid var(--line,#d9e3e8);border-radius:10px;font:inherit;font-weight:800;cursor:pointer}\r\n.ntu-steel .ntu-steel__btn:hover{background:var(--cyan2,#cceff6)}\r\n.ntu-steel .ntu-steel__btn--ghost{min-height:38px;padding:0 14px;font-size:.82rem;background:transparent}\r\n.ntu-steel button:focus-visible,.ntu-steel input:focus-visible,.ntu-steel select:focus-visible,.ntu-steel a:focus-visible{outline:3px solid var(--cyan,#06a9d5);outline-offset:2px}\r\n.ntu-steel__status{margin:16px 0 8px;color:var(--muted,#536b79);font-weight:700}\r\n.ntu-steel__results{border-top:1px solid var(--line,#d9e3e8)}\r\n.ntu-steel__item{border-bottom:1px solid var(--line,#d9e3e8);scroll-margin-top:96px}\r\n.ntu-steel__head{display:grid;gap:6px 20px;grid-template-columns:minmax(120px,170px) minmax(0,1.1fr) minmax(0,1.3fr);align-items:start;padding:14px 4px}\r\n.ntu-steel .ntu-steel__name{justify-self:start;padding:6px 0;color:#006b8f;background:none;border:0;font:inherit;font-size:1.05rem;font-weight:800;text-align:left;text-decoration:underline;text-underline-offset:3px;cursor:pointer}\r\n.ntu-steel .ntu-steel__name::after{content:'';display:inline-block;width:.45em;height:.45em;margin-left:.55em;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:translateY(-.15em) rotate(45deg);transition:transform .15s}\r\n.ntu-steel__item.is-open .ntu-steel__name::after{transform:translateY(.05em) rotate(-135deg)}\r\n@media (prefers-reduced-motion:reduce){.ntu-steel .ntu-steel__name::after{transition:none}}\r\n.ntu-steel__namebox{display:flex;flex-direction:column;align-items:flex-start;min-width:0}\r\n.ntu-steel__alt{color:var(--muted,#536b79);font-size:.8rem;overflow-wrap:anywhere}\r\n.ntu-steel__meta{display:flex;flex-direction:column;gap:2px;min-width:0}\r\n.ntu-steel__class{font-weight:700}\r\n.ntu-steel__std{color:var(--muted,#536b79);font-size:.85rem}\r\n.ntu-steel__comp{color:var(--muted,#536b79);font-size:.85rem;overflow-wrap:anywhere}\r\n.ntu-steel__body{margin:0 0 16px;padding:16px 18px;background:var(--surface,#f2f6f8);border-radius:14px}\r\n.ntu-steel__dl{display:grid;gap:4px 16px;grid-template-columns:max-content minmax(0,1fr);margin:0 0 12px}\r\n.ntu-steel__dl dt{color:var(--muted,#536b79);font-weight:800}\r\n.ntu-steel__dl dd{margin:0;overflow-wrap:anywhere}\r\n.ntu-steel__sec{margin-top:16px}\r\n.ntu-steel .ntu-steel__sec h3{margin:0 0 8px;font-size:.9rem;font-weight:800;line-height:1.3;letter-spacing:0}\r\n.ntu-steel__scroll{max-width:100%;overflow-x:auto}\r\n.ntu-steel .ntu-steel__tbl{display:table;width:100%;margin:0;border-collapse:collapse;font-size:.82rem;background:#fff}\r\n.ntu-steel .ntu-steel__tbl th,.ntu-steel .ntu-steel__tbl td{padding:6px 10px;border:1px solid var(--line,#d9e3e8);text-align:left;vertical-align:top;color:var(--ink,#082235)}\r\n.ntu-steel .ntu-steel__tbl th{background:#eaf1f4;font-weight:800;white-space:nowrap}\r\n.ntu-steel__note{margin:6px 0 0;color:var(--muted,#536b79);font-size:.82rem}\r\n.ntu-steel__foot{margin:16px 0 0;font-size:.85rem}\r\n.ntu-steel__src{margin:20px 0 0;color:var(--muted,#536b79);font-size:.82rem}\r\n.ntu-steel__results+.ntu-steel__btn{display:block;margin:18px auto 0}\r\n@media (max-width:760px){\r\n  .ntu-steel__form{padding:14px}\r\n  .ntu-steel__grid{grid-template-columns:1fr}\r\n  .ntu-steel__cond{grid-template-columns:1fr 1fr}\r\n  .ntu-steel__cond select{grid-column:1\/-1}\r\n  .ntu-steel__head{grid-template-columns:1fr;padding:12px 2px}\r\n  .ntu-steel__dl{grid-template-columns:1fr}\r\n  .ntu-steel__body{padding:12px}\r\n}<\/style><div class=\"ntu-steel\" lang=\"uk\" data-index=\"https:\/\/nmu.org.ua\/main\/?ntu_steel=index&amp;v=2\" data-detail=\"https:\/\/nmu.org.ua\/main\/?ntu_steel=d&amp;v=2\"><noscript><p>\u0414\u043b\u044f \u0440\u043e\u0431\u043e\u0442\u0438 \u0434\u043e\u0432\u0456\u0434\u043d\u0438\u043a\u0430 \u043f\u043e\u0442\u0440\u0456\u0431\u0435\u043d JavaScript.<\/p><\/noscript><\/div><script>(function () {\r\n  'use strict';\r\n  var root = document.querySelector('.ntu-steel');\r\n  if (!root || root.getAttribute('data-ready')) { return; }\r\n  root.setAttribute('data-ready', '1');\r\n  var URL_INDEX = root.getAttribute('data-index');\r\n  var URL_DETAIL = root.getAttribute('data-detail');\r\n  var STEP = 40;\r\n  var data = null, list = [], shown = 0, openId = null, detailCache = {};\r\n  var cond = [];\r\n\r\n  function el(tag, cls, text) {\r\n    var n = document.createElement(tag);\r\n    if (cls) { n.className = cls; }\r\n    if (text !== undefined && text !== null) { n.textContent = text; }\r\n    return n;\r\n  }\r\n  function clear(n) { while (n.firstChild) { n.removeChild(n.firstChild); } }\r\n  function fmt(x) { return String(x).replace('.', ','); }\r\n  function rangeText(r) {\r\n    if (!r) { return ''; }\r\n    if (r[0] === r[1]) { return fmt(r[1]); }\r\n    if (r[0] === 0) { return '\u0434\u043e ' + fmt(r[1]); }\r\n    return fmt(r[0]) + '-' + fmt(r[1]);\r\n  }\r\n  \/\/ Latin look-alikes -> Cyrillic so that \"X12\" finds \"\u042512\"\r\n  var LAT = { a: '\u0430', b: '\u0432', c: '\u0441', e: '\u0435', h: '\u043d', k: '\u043a', m: '\u043c', o: '\u043e', p: '\u0440', t: '\u0442', x: '\u0445', y: '\u0443' };\r\n  function fold(s) {\r\n    return String(s).toLowerCase().replace(\/[abcehkmoptxy]\/g, function (m) { return LAT[m]; }).replace(\/\u044d\/g, '\u0435').replace(\/\u0438\/g, '\u0456');\r\n  }\r\n  var KEY = ['C', 'Cr', 'Ni', 'Mo', 'V', 'W', 'Ti', 'Nb', 'Al', 'Cu', 'Zn', 'Sn', 'Pb', 'Mg', 'Co', 'Si', 'Mn', 'Zr', 'B', 'N'];\r\n  \/\/ names of foreign standard systems: skipped in a multi-word query (\"AISI 304\" -> \"304\"), the data holds designations only\r\n  var SYSTEMS = { aisi: 1, sae: 1, astm: 1, uns: 1, ams: 1, asme: 1, din: 1, wnr: 1, jis: 1, afnor: 1, bs: 1, pn: 1, csn: 1, en: 1, uni: 1, gb: 1, bds: 1, ss: 1, une: 1, msz: 1, onorm: 1, stas: 1, iso: 1, ks: 1, nbn: 1, as: 1, sfs: 1, snv: 1, is: 1, copant: 1, hg: 1, nen: 1, ns: 1 };\r\n\r\n  \/\/ ---------- build the controls ----------\r\n  var form = el('form', 'ntu-steel__form');\r\n  form.setAttribute('role', 'search');\r\n  form.addEventListener('submit', function (e) { e.preventDefault(); });\r\n  var fSearch = field('\u041c\u0430\u0440\u043a\u0430, \u0430\u043d\u0430\u043b\u043e\u0433 \u0430\u0431\u043e \u0441\u0442\u0430\u043d\u0434\u0430\u0440\u0442', 'input');\r\n  fSearch.input.type = 'search';\r\n  fSearch.input.placeholder = '\u041d\u0430\u043f\u0440\u0438\u043a\u043b\u0430\u0434: 40\u0425, C45, 12\u042518\u041d10\u0422, \u041416, \u0413\u041e\u0421\u0422 1050';\r\n  fSearch.input.setAttribute('autocomplete', 'off');\r\n  var fGroup = field('\u0413\u0440\u0443\u043f\u0430 \u043c\u0430\u0442\u0435\u0440\u0456\u0430\u043b\u0456\u0432', 'select');\r\n  var fClass = field('\u041a\u043b\u0430\u0441', 'select');\r\n  var grid = el('div', 'ntu-steel__grid');\r\n  grid.appendChild(fSearch.wrap); grid.appendChild(fGroup.wrap); grid.appendChild(fClass.wrap);\r\n  form.appendChild(grid);\r\n  var condBox = el('div', 'ntu-steel__conds');\r\n  var condHead = el('div', 'ntu-steel__condhead');\r\n  condHead.appendChild(el('span', 'ntu-steel__label', '\u0425\u0456\u043c\u0456\u0447\u043d\u0438\u0439 \u0441\u043a\u043b\u0430\u0434, %'));\r\n  var addBtn = el('button', 'ntu-steel__btn ntu-steel__btn--ghost', '\u0414\u043e\u0434\u0430\u0442\u0438 \u0443\u043c\u043e\u0432\u0443');\r\n  addBtn.type = 'button';\r\n  var resetBtn = el('button', 'ntu-steel__btn ntu-steel__btn--ghost', '\u0421\u043a\u0438\u043d\u0443\u0442\u0438 \u0432\u0441\u0435');\r\n  resetBtn.type = 'button';\r\n  condHead.appendChild(addBtn); condHead.appendChild(resetBtn);\r\n  form.appendChild(condHead); form.appendChild(condBox);\r\n  var status = el('p', 'ntu-steel__status');\r\n  status.setAttribute('role', 'status'); status.setAttribute('aria-live', 'polite');\r\n  var results = el('div', 'ntu-steel__results');\r\n  var more = el('button', 'ntu-steel__btn', '\u041f\u043e\u043a\u0430\u0437\u0430\u0442\u0438 \u0449\u0435');\r\n  more.type = 'button'; more.hidden = true;\r\n  var src = el('p', 'ntu-steel__src');\r\n  src.appendChild(document.createTextNode('\u0414\u0436\u0435\u0440\u0435\u043b\u043e \u0434\u0430\u043d\u0438\u0445: '));\r\n  var a = el('a', null, '\u00ab\u041c\u0430\u0440\u043e\u0447\u043d\u0438\u043a \u0441\u0442\u0430\u043b\u0435\u0439 \u0456 \u0441\u043f\u043b\u0430\u0432\u0456\u0432\u00bb');\r\n  a.href = 'https:\/\/www.splav-kharkov.com\/main.php'; a.rel = 'noopener'; a.target = '_blank';\r\n  src.appendChild(a);\r\n  src.appendChild(document.createTextNode(' (splav-kharkov.com). \u0414\u0430\u043d\u0456 \u043f\u0435\u0440\u0435\u043a\u043b\u0430\u0434\u0435\u043d\u043e \u0443\u043a\u0440\u0430\u0457\u043d\u0441\u044c\u043a\u043e\u044e \u0442\u0430 \u0432\u043f\u043e\u0440\u044f\u0434\u043a\u043e\u0432\u0430\u043d\u043e \u0432 \u041d\u0422\u0423 \u00ab\u0414\u043d\u0456\u043f\u0440\u043e\u0432\u0441\u044c\u043a\u0430 \u043f\u043e\u043b\u0456\u0442\u0435\u0445\u043d\u0456\u043a\u0430\u00bb; \u0432\u043e\u043d\u0438 \u043c\u0430\u044e\u0442\u044c \u0434\u043e\u0432\u0456\u0434\u043a\u043e\u0432\u0438\u0439 \u0445\u0430\u0440\u0430\u043a\u0442\u0435\u0440, \u0442\u043e\u0447\u043d\u0456 \u0437\u043d\u0430\u0447\u0435\u043d\u043d\u044f \u043d\u0430\u0432\u0435\u0434\u0435\u043d\u043e \u0432 \u0447\u0438\u043d\u043d\u0438\u0445 \u0441\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u0430\u0445.'));\r\n  root.appendChild(form); root.appendChild(status); root.appendChild(results); root.appendChild(more); root.appendChild(src);\r\n  var loading = el('p', 'ntu-steel__status', '\u0417\u0430\u0432\u0430\u043d\u0442\u0430\u0436\u0435\u043d\u043d\u044f \u0434\u043e\u0432\u0456\u0434\u043d\u0438\u043a\u0430...');\r\n  results.appendChild(loading);\r\n\r\n  function field(label, kind) {\r\n    var wrap = el('label', 'ntu-steel__field');\r\n    wrap.appendChild(el('span', 'ntu-steel__label', label));\r\n    var input = el(kind);\r\n    input.className = 'ntu-steel__input';\r\n    wrap.appendChild(input);\r\n    return { wrap: wrap, input: input };\r\n  }\r\n\r\n  \/\/ ---------- load ----------\r\n  fetch(URL_INDEX, { credentials: 'same-origin' }).then(function (r) {\r\n    if (!r.ok) { throw new Error('HTTP ' + r.status); }\r\n    return r.json();\r\n  }).then(function (d) {\r\n    data = d;\r\n    init();\r\n  }).catch(function () {\r\n    clear(results);\r\n    results.appendChild(el('p', 'ntu-steel__status', '\u041d\u0435 \u0432\u0434\u0430\u043b\u043e\u0441\u044f \u0437\u0430\u0432\u0430\u043d\u0442\u0430\u0436\u0438\u0442\u0438 \u0434\u043e\u0432\u0456\u0434\u043d\u0438\u043a. \u041e\u043d\u043e\u0432\u0456\u0442\u044c \u0441\u0442\u043e\u0440\u0456\u043d\u043a\u0443 \u0430\u0431\u043e \u0441\u043f\u0440\u043e\u0431\u0443\u0439\u0442\u0435 \u043f\u0456\u0437\u043d\u0456\u0448\u0435.'));\r\n  });\r\n\r\n  function opt(select, value, text) {\r\n    var o = document.createElement('option'); o.value = value; o.textContent = text; select.appendChild(o);\r\n  }\r\n  function fillClasses() {\r\n    var g = fGroup.input.value;\r\n    clear(fClass.input);\r\n    opt(fClass.input, '', '\u0423\u0441\u0456 \u043a\u043b\u0430\u0441\u0438');\r\n    data.classes.forEach(function (c, i) {\r\n      if (g === '' || String(c[0]) === g) { opt(fClass.input, String(i), c[1]); }\r\n    });\r\n  }\r\n  function addCond(preset) {\r\n    var row = el('div', 'ntu-steel__cond');\r\n    var sel = el('select', 'ntu-steel__input');\r\n    sel.setAttribute('aria-label', '\u0425\u0456\u043c\u0456\u0447\u043d\u0438\u0439 \u0435\u043b\u0435\u043c\u0435\u043d\u0442');\r\n    data.els.forEach(function (e) { opt(sel, e[0], e[0] + ' ' + e[1]); });\r\n    var from = el('input', 'ntu-steel__input'); from.type = 'number'; from.step = 'any'; from.min = '0'; from.placeholder = '\u0432\u0456\u0434'; from.setAttribute('aria-label', '\u0412\u043c\u0456\u0441\u0442 \u0432\u0456\u0434, %');\r\n    var to = el('input', 'ntu-steel__input'); to.type = 'number'; to.step = 'any'; to.min = '0'; to.placeholder = '\u0434\u043e'; to.setAttribute('aria-label', '\u0412\u043c\u0456\u0441\u0442 \u0434\u043e, %');\r\n    var del = el('button', 'ntu-steel__btn ntu-steel__btn--ghost', '\u041f\u0440\u0438\u0431\u0440\u0430\u0442\u0438'); del.type = 'button';\r\n    row.appendChild(sel); row.appendChild(from); row.appendChild(to); row.appendChild(del);\r\n    condBox.appendChild(row);\r\n    var c = { row: row, sel: sel, from: from, to: to };\r\n    cond.push(c);\r\n    [sel, from, to].forEach(function (n) { n.addEventListener('input', apply); n.addEventListener('change', apply); });\r\n    del.addEventListener('click', function () { cond.splice(cond.indexOf(c), 1); condBox.removeChild(row); apply(); });\r\n    if (preset) { sel.value = preset; }\r\n    return c;\r\n  }\r\n  function init() {\r\n    opt(fGroup.input, '', '\u0423\u0441\u0456 \u0433\u0440\u0443\u043f\u0438');\r\n    data.groups.forEach(function (g, i) { opt(fGroup.input, String(i), g); });\r\n    fillClasses();\r\n    data.items.sort(function (x, y) {\r\n      var cx = data.classes[x[2]], cy = data.classes[y[2]];\r\n      if (cx[0] !== cy[0]) { return cx[0] - cy[0]; }\r\n      if (x[2] !== y[2]) { return x[2] - y[2]; }\r\n      return String(x[1]).localeCompare(String(y[1]), 'uk', { numeric: true });\r\n    });\r\n    data.items.forEach(function (it, i) { it._i = i; it._f = fold(it[1]); it._q = fold(it[5] || ''); it._s = fold(it[3] || ''); it._a = fold(it[6] || ''); });\r\n    fSearch.input.addEventListener('input', apply);\r\n    fGroup.input.addEventListener('change', function () { fillClasses(); apply(); });\r\n    fClass.input.addEventListener('change', apply);\r\n    addBtn.addEventListener('click', function () { addCond(); });\r\n    resetBtn.addEventListener('click', function () {\r\n      fSearch.input.value = ''; fGroup.input.value = ''; fillClasses();\r\n      cond.slice().forEach(function (c) { condBox.removeChild(c.row); }); cond.length = 0;\r\n      apply();\r\n    });\r\n    apply();\r\n    var m = \/^#m(\\d+)$\/.exec(location.hash || '');\r\n    if (m) { jumpTo(parseInt(m[1], 10)); }\r\n  }\r\n\r\n  \/\/ ---------- filter + render ----------\r\n  function overlaps(range, lo, hi) {\r\n    var r = range || [0, 0];\r\n    if (lo !== null && r[1] < lo) { return false; }\r\n    if (hi !== null && r[0] > hi) { return false; }\r\n    return true;\r\n  }\r\n  \/\/ every word of the query must be found in the name, the other designation, the analogues or the standard\r\n  function matches(it, words, wf) {\r\n    for (var i = 0; i < words.length; i++) {\r\n      if (it._f.indexOf(wf[i]) === -1 && it._a.indexOf(wf[i]) === -1 && it._q.indexOf(wf[i]) === -1 && it._s.indexOf(wf[i]) === -1) { return false; }\r\n    }\r\n    return true;\r\n  }\r\n  function apply() {\r\n    var q = fSearch.input.value.trim();\r\n    var words = q.toLowerCase().split(\/\\s+\/).filter(function (w) { return w !== ''; });\r\n    var core = words.filter(function (w) { return !SYSTEMS[w]; });\r\n    if (core.length) { words = core; }\r\n    var wf = words.map(fold), qf = wf.join(' ');\r\n    var g = fGroup.input.value, c = fClass.input.value;\r\n    var conds = cond.map(function (k) {\r\n      return { e: k.sel.value, lo: k.from.value === '' ? null : parseFloat(k.from.value), hi: k.to.value === '' ? null : parseFloat(k.to.value) };\r\n    }).filter(function (k) { return k.lo !== null || k.hi !== null; });\r\n    list = data.items.filter(function (it) {\r\n      if (g !== '' && String(data.classes[it[2]][0]) !== g) { return false; }\r\n      if (c !== '' && String(it[2]) !== c) { return false; }\r\n      if (words.length && !matches(it, words, wf)) { return false; }\r\n      for (var i = 0; i < conds.length; i++) {\r\n        if (!overlaps(it[4][conds[i].e], conds[i].lo, conds[i].hi)) { return false; }\r\n      }\r\n      return true;\r\n    });\r\n    if (q !== '') {\r\n      list.sort(function (x, y) { return score(x, qf) - score(y, qf) || x._i - y._i; });\r\n    }\r\n    shown = 0; openId = null;\r\n    clear(results);\r\n    renderMore();\r\n    status.textContent = list.length ? '\u0417\u043d\u0430\u0439\u0434\u0435\u043d\u043e \u043c\u0430\u0440\u043e\u043a: ' + list.length + ' \u0456\u0437 ' + data.items.length + '.' : '\u0417\u0430 \u0432\u0430\u0448\u0438\u043c\u0438 \u0443\u043c\u043e\u0432\u0430\u043c\u0438 \u043d\u0456\u0447\u043e\u0433\u043e \u043d\u0435 \u0437\u043d\u0430\u0439\u0434\u0435\u043d\u043e. \u0417\u043c\u0456\u043d\u0456\u0442\u044c \u043f\u043e\u0448\u0443\u043a\u043e\u0432\u0438\u0439 \u0437\u0430\u043f\u0438\u0442 \u0430\u0431\u043e \u0444\u0456\u043b\u044c\u0442\u0440\u0438.';\r\n  }\r\n  function has(hay, w) { return (' ' + hay + ' ').indexOf(' ' + w + ' ') !== -1; }\r\n  \/\/ 0 name or other designation equals the query, 1 name starts with it, 2 an analogue equals it,\r\n  \/\/ 3 name or other designation contains it, 4 any other match (part of an analogue or of the standard)\r\n  function score(it, qf) {\r\n    if (it._f === qf || has(it._a, qf)) { return 0; }\r\n    if (it._f.indexOf(qf) === 0) { return 1; }\r\n    if (has(it._q, qf)) { return 2; }\r\n    if (it._f.indexOf(qf) > 0 || it._a.indexOf(qf) !== -1) { return 3; }\r\n    return 4;\r\n  }\r\n  function compText(it) {\r\n    var parts = [], used = 0;\r\n    KEY.forEach(function (e) {\r\n      if (used < 6 && it[4][e]) { parts.push(e + ' ' + rangeText(it[4][e])); used++; }\r\n    });\r\n    return parts.join('; ');\r\n  }\r\n  function renderMore() {\r\n    var end = Math.min(list.length, shown + STEP);\r\n    for (var i = shown; i < end; i++) { results.appendChild(rowFor(list[i])); }\r\n    shown = end;\r\n    more.hidden = shown >= list.length;\r\n    more.textContent = '\u041f\u043e\u043a\u0430\u0437\u0430\u0442\u0438 \u0449\u0435 ' + Math.min(STEP, list.length - shown);\r\n  }\r\n  more.addEventListener('click', renderMore);\r\n\r\n  function rowFor(it) {\r\n    var id = it[0];\r\n    var item = el('article', 'ntu-steel__item');\r\n    item.id = 'm' + id;\r\n    var head = el('div', 'ntu-steel__head');\r\n    var btn = el('button', 'ntu-steel__name', it[1]);\r\n    btn.type = 'button'; btn.setAttribute('aria-expanded', 'false'); btn.setAttribute('aria-controls', 'd' + id);\r\n    var meta = el('div', 'ntu-steel__meta');\r\n    meta.appendChild(el('span', 'ntu-steel__class', data.classes[it[2]][1]));\r\n    if (it[3]) { meta.appendChild(el('span', 'ntu-steel__std', it[3])); }\r\n    var comp = el('div', 'ntu-steel__comp', compText(it));\r\n    var nameBox = el('div', 'ntu-steel__namebox');\r\n    nameBox.appendChild(btn);\r\n    if (it[6]) { nameBox.appendChild(el('span', 'ntu-steel__alt', '\u0456\u043d\u0448\u0435 \u043f\u043e\u0437\u043d\u0430\u0447\u0435\u043d\u043d\u044f ' + it[6])); }\r\n    head.appendChild(nameBox); head.appendChild(meta); head.appendChild(comp);\r\n    var body = el('div', 'ntu-steel__body'); body.id = 'd' + id; body.hidden = true;\r\n    item.appendChild(head); item.appendChild(body);\r\n    btn.addEventListener('click', function () { toggle(item, btn, body, id); });\r\n    return item;\r\n  }\r\n  function toggle(item, btn, body, id) {\r\n    var open = body.hidden;\r\n    body.hidden = !open;\r\n    btn.setAttribute('aria-expanded', open ? 'true' : 'false');\r\n    item.classList.toggle('is-open', open);\r\n    if (open && !body.getAttribute('data-ok')) {\r\n      clear(body); body.appendChild(el('p', 'ntu-steel__status', '\u0417\u0430\u0432\u0430\u043d\u0442\u0430\u0436\u0435\u043d\u043d\u044f...'));\r\n      getDetail(id).then(function (d) { clear(body); renderDetail(body, d); body.setAttribute('data-ok', '1'); })\r\n        .catch(function () { clear(body); body.appendChild(el('p', 'ntu-steel__status', '\u041d\u0435 \u0432\u0434\u0430\u043b\u043e\u0441\u044f \u0437\u0430\u0432\u0430\u043d\u0442\u0430\u0436\u0438\u0442\u0438 \u043a\u0430\u0440\u0442\u043a\u0443 \u043c\u0430\u0440\u043a\u0438.')); });\r\n    }\r\n  }\r\n  function getDetail(id) {\r\n    if (detailCache[id]) { return Promise.resolve(detailCache[id]); }\r\n    return fetch(URL_DETAIL + '&id=' + encodeURIComponent(id), { credentials: 'same-origin' }).then(function (r) {\r\n      if (!r.ok) { throw new Error('HTTP ' + r.status); }\r\n      return r.json();\r\n    }).then(function (d) { detailCache[id] = d; return d; });\r\n  }\r\n  \/\/ a link like #m329: search for the grade name so that its card is among the first rows, open it and scroll to it\r\n  function jumpTo(id) {\r\n    var target = null;\r\n    for (var i = 0; i < data.items.length; i++) { if (data.items[i][0] === id) { target = data.items[i]; break; } }\r\n    if (!target) { return; }\r\n    fSearch.input.value = target[1];\r\n    apply();\r\n    var idx = -1;\r\n    for (var j = 0; j < list.length; j++) { if (list[j][0] === id) { idx = j; break; } }\r\n    if (idx < 0) { return; }\r\n    while (shown <= idx) { renderMore(); }\r\n    var node = document.getElementById('m' + id);\r\n    if (node) { node.querySelector('.ntu-steel__name').click(); node.scrollIntoView({ block: 'start', behavior: 'instant' }); }\r\n  }\r\n\r\n  \/\/ ---------- detail ----------\r\n  function section(parent, title) {\r\n    var s = el('section', 'ntu-steel__sec');\r\n    s.appendChild(el('h3', null, title));\r\n    parent.appendChild(s);\r\n    return s;\r\n  }\r\n  function table(head, rows, cls) {\r\n    var wrap = el('div', 'ntu-steel__scroll');\r\n    var t = el('table', 'ntu-steel__tbl' + (cls ? ' ' + cls : ''));\r\n    if (head) {\r\n      var thead = el('thead'), tr = el('tr');\r\n      head.forEach(function (h) { var th = el('th', null, h); th.scope = 'col'; tr.appendChild(th); });\r\n      thead.appendChild(tr); t.appendChild(thead);\r\n    }\r\n    var tb = el('tbody');\r\n    rows.forEach(function (r) {\r\n      var tr = el('tr');\r\n      r.forEach(function (c) { tr.appendChild(el('td', null, c)); });\r\n      tb.appendChild(tr);\r\n    });\r\n    t.appendChild(tb); wrap.appendChild(t);\r\n    return wrap;\r\n  }\r\n  function renderDetail(body, d) {\r\n    var cls = data.classes[d.cl];\r\n    var info = el('dl', 'ntu-steel__dl');\r\n    function kv(k, v) { if (v) { info.appendChild(el('dt', null, k)); info.appendChild(el('dd', null, v)); } }\r\n    kv('\u041c\u0430\u0440\u043a\u0430', d.n + (d.x ? ' (' + d.x + ')' : ''));\r\n    kv('\u041a\u043b\u0430\u0441', cls ? cls[1] : '');\r\n    kv('\u0417\u0430\u043c\u0456\u043d\u043d\u0438\u043a', d.sub);\r\n    kv('\u041f\u0440\u0438\u043c\u0456\u0442\u043a\u0430', d.note);\r\n    kv('\u041f\u0440\u0438\u0437\u043d\u0430\u0447\u0435\u043d\u043d\u044f', d.ap);\r\n    body.appendChild(info);\r\n    (d.comp || []).forEach(function (c, i) {\r\n      var s = section(body, '\u0425\u0456\u043c\u0456\u0447\u043d\u0438\u0439 \u0441\u043a\u043b\u0430\u0434, %' + (c.std ? ', ' + c.std : ''));\r\n      s.appendChild(table(c.els, [c.vals], 'ntu-steel__tbl--comp'));\r\n      if (c.note) { s.appendChild(el('p', 'ntu-steel__note', c.note)); }\r\n    });\r\n    if (d.crit) { var sc = section(body, '\u041a\u0440\u0438\u0442\u0438\u0447\u043d\u0456 \u0442\u043e\u0447\u043a\u0438, \u00b0C'); sc.appendChild(el('p', null, d.crit)); }\r\n    if (d.tech && d.tech.length) { var st = section(body, '\u0422\u0435\u0445\u043d\u043e\u043b\u043e\u0433\u0456\u0447\u043d\u0456 \u0432\u043b\u0430\u0441\u0442\u0438\u0432\u043e\u0441\u0442\u0456'); st.appendChild(table(null, d.tech)); }\r\n    if (d.mech && d.mech.r.length) {\r\n      var sm = section(body, '\u041c\u0435\u0445\u0430\u043d\u0456\u0447\u043d\u0456 \u0432\u043b\u0430\u0441\u0442\u0438\u0432\u043e\u0441\u0442\u0456 \u043f\u0440\u0438 20 \u00b0C');\r\n      var head = d.mech.h.map(function (h, i) { return d.mech.u[i] ? h + ', ' + d.mech.u[i] : h; });\r\n      sm.appendChild(table(head, d.mech.r));\r\n    }\r\n    if (d.hard && d.hard.length) { var sh = section(body, '\u0422\u0432\u0435\u0440\u0434\u0456\u0441\u0442\u044c'); sh.appendChild(table(['\u0421\u0442\u0430\u043d, \u0441\u0442\u0430\u043d\u0434\u0430\u0440\u0442', '\u0417\u043d\u0430\u0447\u0435\u043d\u043d\u044f'], d.hard)); }\r\n    if (d.phys) { var sp = section(body, '\u0424\u0456\u0437\u0438\u0447\u043d\u0456 \u0432\u043b\u0430\u0441\u0442\u0438\u0432\u043e\u0441\u0442\u0456'); sp.appendChild(table(d.phys.h, d.phys.r)); }\r\n    if (d.an && d.an.length) {\r\n      var sa = section(body, '\u0417\u0430\u0440\u0443\u0431\u0456\u0436\u043d\u0456 \u0430\u043d\u0430\u043b\u043e\u0433\u0438');\r\n      sa.appendChild(el('p', 'ntu-steel__note', '\u041d\u0430\u0432\u0435\u0434\u0435\u043d\u043e \u044f\u043a \u0442\u043e\u0447\u043d\u0456, \u0442\u0430\u043a \u0456 \u043d\u0430\u0439\u0431\u043b\u0438\u0436\u0447\u0456 \u0430\u043d\u0430\u043b\u043e\u0433\u0438.'));\r\n      sa.appendChild(table(['\u041a\u0440\u0430\u0457\u043d\u0430', '\u0421\u0442\u0430\u043d\u0434\u0430\u0440\u0442', '\u041f\u043e\u0437\u043d\u0430\u0447\u0435\u043d\u043d\u044f'], d.an.map(function (r) { return [r[0], r[1], r[2].join(', ')]; })));\r\n    }\r\n    var foot = el('p', 'ntu-steel__foot');\r\n    var link = el('a', null, '\u0421\u0442\u043e\u0440\u0456\u043d\u043a\u0430 \u043c\u0430\u0440\u043a\u0438 \u0432 \u041c\u0430\u0440\u043e\u0447\u043d\u0438\u043a\u0443');\r\n    link.href = 'https:\/\/www.splav-kharkov.com\/mat_start.php?name_id=' + encodeURIComponent(d.i);\r\n    link.target = '_blank'; link.rel = 'noopener';\r\n    foot.appendChild(link);\r\n    foot.appendChild(document.createTextNode(' \u00b7 '));\r\n    var perma = el('a', null, '\u041f\u043e\u0441\u0438\u043b\u0430\u043d\u043d\u044f \u043d\u0430 \u0446\u044e \u043c\u0430\u0440\u043a\u0443'); perma.href = '#m' + d.i;\r\n    foot.appendChild(perma);\r\n    body.appendChild(foot);\r\n  }\r\n})();<\/script>\n<\/section>\n","protected":false},"excerpt":{"rendered":"<p>\u041f\u043e\u043d\u0430\u0434 \u0442\u0438\u0441\u044f\u0447\u0430 \u043c\u0430\u0440\u043e\u043a \u0441\u0442\u0430\u043b\u0435\u0439, \u0447\u0430\u0432\u0443\u043d\u0456\u0432 \u0456 \u0441\u043f\u043b\u0430\u0432\u0456\u0432 \u043d\u0430 \u043e\u0441\u043d\u043e\u0432\u0456 \u0430\u043b\u044e\u043c\u0456\u043d\u0456\u044e, \u043c\u0456\u0434\u0456, \u0442\u0438\u0442\u0430\u043d\u0443, \u043d\u0456\u043a\u0435\u043b\u044e \u0442\u0430 \u043c\u0430\u0433\u043d\u0456\u044e: \u0445\u0456\u043c\u0456\u0447\u043d\u0438\u0439 \u0441\u043a\u043b\u0430\u0434, \u043f\u0440\u0438\u0437\u043d\u0430\u0447\u0435\u043d\u043d\u044f, \u043c\u0435\u0445\u0430\u043d\u0456\u0447\u043d\u0456 \u0442\u0430 \u0444\u0456\u0437\u0438\u0447\u043d\u0456 \u0432\u043b\u0430\u0441\u0442\u0438\u0432\u043e\u0441\u0442\u0456, \u0437\u0430\u0440\u0443\u0431\u0456\u0436\u043d\u0456 \u0430\u043d\u0430\u043b\u043e\u0433\u0438.<\/p>\n","protected":false},"author":33,"featured_media":0,"parent":19506,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_acf_changed":false,"pagelayer_contact_templates":[],"_pagelayer_content":"","footnotes":""},"class_list":["post-19524","page","type-page","status-publish","hentry"],"acf":[],"_links":{"self":[{"href":"https:\/\/nmu.org.ua\/main\/wp-json\/wp\/v2\/pages\/19524","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/nmu.org.ua\/main\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/nmu.org.ua\/main\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/nmu.org.ua\/main\/wp-json\/wp\/v2\/users\/33"}],"replies":[{"embeddable":true,"href":"https:\/\/nmu.org.ua\/main\/wp-json\/wp\/v2\/comments?post=19524"}],"version-history":[{"count":3,"href":"https:\/\/nmu.org.ua\/main\/wp-json\/wp\/v2\/pages\/19524\/revisions"}],"predecessor-version":[{"id":19530,"href":"https:\/\/nmu.org.ua\/main\/wp-json\/wp\/v2\/pages\/19524\/revisions\/19530"}],"up":[{"embeddable":true,"href":"https:\/\/nmu.org.ua\/main\/wp-json\/wp\/v2\/pages\/19506"}],"wp:attachment":[{"href":"https:\/\/nmu.org.ua\/main\/wp-json\/wp\/v2\/media?parent=19524"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}