commit fafa86d3a6deb33d399dedf2c896bc5b0f239f68 Author: wangruiguo Date: Thu Sep 3 17:55:45 2026 +0800 首次提交: OnebotCatalog 项目代码与文档(含 NX 按需生成服务二期、后台、一键启动) diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..0730403 --- /dev/null +++ b/.gitignore @@ -0,0 +1,50 @@ +# ============================================================ +# OnebotCatalog .gitignore — 版本管理只存代码+文档,排除大文件/数据/产物 +# ============================================================ + +# ---- 数据与手册(大文件,不入 git)---- +*.pdf +*.xlsx +*.xls +*.step +*.stp +*.igs +*.stl +*.glb +*.gltf +*.wasm +*.prt + +# ---- 编译产物 / 数据包 ---- +*.exe +*.dll +*.opc +*.o +*.obj +*.pdb + +# ---- 图片(手册页/预览,量大,不入 git)---- +*.png +*.jpg +*.jpeg +*.gif + +# ---- 生成/运行时目录 ---- +bin/ +release/ +sample/ +genserver-local/output/ +genserver-local/jobs/ +genserver-local/work/ +catalog-masters/*/dbg_out/ +catalog-masters/*/E*.stp +catalog-masters/*/E*.igs +catalog-masters/*/*.log + +# ---- 备份/临时 ---- +*.bak +*.tmp +*~ +*.log +.DS_Store +Thumbs.db diff --git a/ONEBOT目录-客户版.lnk b/ONEBOT目录-客户版.lnk new file mode 100644 index 0000000..761be82 Binary files /dev/null and b/ONEBOT目录-客户版.lnk differ diff --git a/ONEBOT目录-维护版.lnk b/ONEBOT目录-维护版.lnk new file mode 100644 index 0000000..c09697d Binary files /dev/null and b/ONEBOT目录-维护版.lnk differ diff --git a/OnebotCatalog升级改制开发说明书.md b/OnebotCatalog升级改制开发说明书.md new file mode 100644 index 0000000..8dc698b --- /dev/null +++ b/OnebotCatalog升级改制开发说明书.md @@ -0,0 +1,80 @@ +# OnebotCatalog 升级改制开发说明书 + +> 定位:在现有 OnebotCatalog 基础上**继续优化,不推翻重做**。 +> 核心原则:保留「NX 母模 + 预生成 STEP」主线(用户的强项),新增「服务器轻量化 + TC 集成」两块。 + +--- + +## 一、升级项目清单(按优先级) + +| # | 升级项目 | 现状 | 升级目标 | 优先级 | +|---|---|---|---|---| +| 1 | 网页 3D 轻量化 | 新迪查看器直渲 STEP(体积大、依赖 wasm) | 服务器 OCCT 转 **glTF** + Three.js 渲染 | ⭐ P0 | +| 2 | 服务器去 NX 化 | 非标按需生成需服务器装 NX(重、贵) | 服务器**不装 NX**,OCCT 当转换器 | ⭐ P0 | +| 3 | TC 母模数据源 | 母模存文件系统 + 人工 robocopy | 母模入 TC,管版本 / 发布状态 | P1 | +| 4 | 客户 TC 检入 | 无 | 客户选型后一键检入客户 TC | P2(有需求再做)| +| 5 | 增强功能 | 尺寸图用手册 PNG | 3D 标注 / 2D 尺寸 SVG / 工程图导出 | P3(可选)| + +--- + +## 二、各升级项目开发步骤 + +### 升级 1:网页 3D 轻量化(OCCT 转换器) + +``` +NX 导出 STEP → 服务器 OCCT 服务 → 转 glTF → Three.js 网页秒开 +``` + +1. 搭 OCCT 转换服务(Python + OCP,**已验证跑通**,见 `d:\source_code\occt_demo\`) +2. 提供接口:`POST /convert`(传 STEP → 返回 glTF/GLB) +3. 前端 Three.js 加载 glTF,替代/降级新迪查看器 +4. 构建期**预生成** glTF(批量转,服务器存静态文件,网页直接读) + +### 升级 2:服务器去 NX 化 + +1. **标准档位**:继续 NX 本机批量导出 STEP → 服务器只存文件(Nginx 即可) +2. **转换**:OCCT 服务负责 STEP→glTF(同升级 1,写一次通用) +3. **非标/任意参数**:分两条路 + - 规则件(气缸等)→ OCCT 程序化建模(可实时生成) + - 复杂件 → NX 本机离线算好再传,服务器仍不装 NX + +### 升级 3:TC 母模数据源 + +1. 母模检入 TC(Item + ItemRevision) +2. 定义「已发布」状态工作流(只有已发布母模才进目录) +3. 目录系统从 TC 拉「已发布」母模,替代人工 robocopy + +### 升级 4:客户 TC 检入(CADENAS 级卖点,M4) + +1. 用自有 TC 当测试环境,跑通 TC SOA API +2. 配置映射:ItemType / 属性映射 / 目标文件夹 / ID 回写 +3. 实现选型 → 检入(单个 + 批量 + 失败重试 + 日志) + +### 升级 5:增强功能(可选,按需) + +- 3D 标注:Three.js + CSS2DRenderer + Raycaster(标签 / 面高亮) +- 2D 尺寸:参数化 SVG(替代手册 PNG) +- 工程图导出:OCCT HLR 投影 → PDF/SVG(DWG/DXF 需 ODA 商业库,单独评估) + +--- + +## 三、建议实施顺序 + +``` +第一步:升级 1+2(服务器轻量化)—— 收益最大、成本最低、已验证 +第二步:升级 3(TC 母模)—— 规范数据管理,你已有 TC +第三步:升级 4(客户 TC 检入)—— 有 TC 大客户需求时再做 +第四步:升级 5(增强功能)—— 按客户反馈挑着做 +``` + +--- + +## 四、技术栈不变清单(不用动) + +- 桌面版 C#/net48 WPF + 客户版单文件 exe ✅ +- 参数化选型引擎(规则 JSON + 双端解释器)✅ +- NX 母模 + journal 批量导出 ✅ +- .opc 数据包 + 一键发布流水线 ✅ +- 平替对照 / 购物车 / 搜索 ✅ + +**升级只动 3 处新增**:① OCCT 转换服务 ② Three.js 前端 ③ TC 集成模块 diff --git a/README.md b/README.md new file mode 100644 index 0000000..57f11af --- /dev/null +++ b/README.md @@ -0,0 +1,79 @@ +# OnebotCatalog —— 欧霓博气动元件电子目录软件(自研) + +对标 CADENAS PARTdataManager 目录光盘,但不依赖任何 CADENAS 组件。目标:普通客户通过软件选型并**下载 STEP 文件**,导入自己的 CAD 使用。 + +> 📌 项目全景/架构/踩坑/待办见同目录 **项目总览.md**(继续开发的入口);本文件夹各目录用途见 **文件夹说明.md**;改数据看 **onebot-data\数据维护说明书.md**;NX 母模建模看 **sample-data\tools\NX母模建模操作说明书.md**。 + +## 现状(2026-08-22) + +- **M1/M2/M3 全部完成**:桌面版(含维护入口)+ 网页版(纯静态)+ 一键发布三份产物 + 真实数据入库(17 系列 52,193 型号;含 2026-08-23 新增的 6 个 UNIVER 系分类样板系列 UCBM/ULP/USP/UGP/UAGP/LAE) +- 数据源:`onebot-data\catalog\`(catalog.json + series\*.meta.json + csv\ + step\ + manual\ + crossref.csv 平替对照) +- 特色功能:平替对照(竞品型号↔我方型号,搜索/标签页双入口)、手册页对照、新迪 3D(menu=min 精简)、.stp/.step 后缀兼容 +- 自测:ONEBOT 包 25 项 / 样例包 40 项(`--selftest`,结果 `sample\selftest.log`) +- 品牌:ONEBOT;维护密码:onebot888 + +## 目录结构(自包含布局,整体拷贝不断链) + +``` +OnebotCatalog/ +├── 项目总览.md / 文件夹说明.md / 设计文档 / 开发提示词 ← 文档都在根 +├── src/ # 源代码: App(WPF界面) + CatalogCore(数据包/规则引擎/构建器) + Viewer3D(自绘3D) +├── bin/ # 编译产物: OnebotCatalog.exe(开发版) + OnebotCatalog-Customer.exe(客户版) + 维护入口.bat +├── sample/ # 数据包 .opc + selftest.log + SC-meta.json(单系列配置样例) +├── release/ # 交付产物: OnebotCatalog_2026.08\(客户版目录) + update_2026.08\(增量包) + web_2026.08\(网页站) +├── web/ # 网页版前端源码 (纯静态: index.html/app.js/style.css) +├── viewer/ # 新迪 3D 查看器本地副本 (桌面浏览器预览/网页 3D; 原项目 Z 盘只读) +├── tools/ # build.ps1 编译 / publish.ps1 一键发布 / serve-web.ps1 本地预览(16并发) / fix-bom.ps1 等 +├── assets/ # OneBot 图标 (编译进 exe) +├── docs/ # 用户手册 / 维护手册 +├── onebot-data/ # ★唯一数据源★ catalog\ + 生成工具 + 数据维护说明书.md +└── sample-data/ # 样例数据 + NX 工具 (nx-batch-export.vb 批量导出 / nx-batch-export-glb.vb / 母模说明书) +``` + +## 常用命令 + +```powershell +# 编译开发版 +powershell -NoProfile -ExecutionPolicy Bypass -File tools\build.ps1 + +# 自测 (结果看 sample\selftest.log) +bin\OnebotCatalog.exe --selftest sample\OnebotCatalog_2026.08.opc + +# 全量构建 (统一路线: 源目录 → .opc; 维护窗口【重建全量目录】同内核) +bin\OnebotCatalog.exe --buildfull onebot-data\catalog sample\OnebotCatalog_2026.08.opc + +# 一键发布 (自测门禁 → 客户版 exe(数据内置) → 光盘目录+增量包+网页站; ★先停 serve-web 和运行中的 exe★) +powershell -NoProfile -ExecutionPolicy Bypass -File tools\publish.ps1 + +# 本地网页预览 (localhost:8080, 关掉即停) +powershell -NoProfile -ExecutionPolicy Bypass -File tools\serve-web.ps1 + +# 运行 (客户模式 / 维护模式) +bin\OnebotCatalog.exe sample\OnebotCatalog_2026.08.opc +bin\OnebotCatalog.exe sample\OnebotCatalog_2026.08.opc --admin # 或双击 维护入口.bat (密码 onebot888) +``` + +**注意**: 编辑任何含中文的 .ps1/.cs/.vb 后必须运行 `sample-data\tools\fix-bom.ps1` 再编译/运行(PowerShell 5.1/csc 对无 BOM 文件按 GBK 读取)。 + +## 与设计文档的偏差(环境适配) + +| 设计文档 (M1) | 实际实现 | 原因 | +|---|---|---| +| C# / .NET 8 (WPF+MVVM) | C# / .NET Framework 4.8 (代码式 WPF) | 本机无 .NET SDK;net48 内置于 Win10/11,客户机免装运行时 | +| SQLite + FTS5 | catalog.json (zip 内) + 内存查询 | 避免外部依赖;10 万级变体内存 LINQ 足够 | +| Helix Toolkit 渲染 | WPF 内置 Viewport3D + 自绘解析器 | 零依赖;真实 B-rep 走浏览器+新迪查看器(内嵌本机服务器) | +| 预生成预览网格 | 占位几何直接解析;真实数模浏览器预览 | 真实 CAD 通用 STEP 由 NX 母模批量导出(预生成变体) | +| MVVM | 代码式事件驱动 | 保持模块分层(Core 不依赖 UI) | + +## 已知简化(诚实清单) + +- 维护密码硬编码 `onebot888`(在 App.cs,未移配置) +- 桌面 3D:真实 B-rep **窗口内直渲、不弹浏览器**——有 STL 网格走开源 Helix Toolkit(MIT),无网格走 **WebView2 内嵌新迪查看器**(真实 STEP 直接渲染,Win11 自带运行时);两者都不可用才回退外部浏览器;网页轻量化(glTF)待办 9 +- 行程为离散标准档位(10/20/30/50/75/100);"任意行程"待参数化二期(NX 运行时生成,待办 7) +- 网页 3D 对占位 STEP 走 Canvas 回退;真实 NX STEP 走新迪渲染(已验证) +- 发布站 app.js 的 `VIEWER_BASE` 需按生产部署改前缀(见项目总览 §12) + +## 待办(见项目总览 §9 完整清单) + +- NX 母模批量导出真实 STEP(KC-00-32x10 已试点;母模说明书见 sample-data\tools\) +- 代码签名证书 / 虚拟机验收 / 检查更新 / 参数化二期 / TC 集成(可选) diff --git a/SMELA_CRA询证清单_英文.html b/SMELA_CRA询证清单_英文.html new file mode 100644 index 0000000..bd4f4d7 --- /dev/null +++ b/SMELA_CRA询证清单_英文.html @@ -0,0 +1,124 @@ + + + + + +SMELA CRA 合规询证清单(英文 · 可直接发送) + + + +
+ +

给 SMELA 的 CRA 合规询证清单(英文 · 可直接发送)

+

针对德国大众 CRA 问卷 | 电缸型号:liteECO® INTEGRATED series | 用于 Magswitch 夹紧缸

+ +
+为什么必须找 SMELA:CRA(欧盟《网络弹性法案》(EU) 2024/2847)的合规证据源头在含数字元素产品的制造商。 +你们(Magswitch)把 SMELA 电缸集成进夹紧缸,但固件、通信协议栈、漏洞管理、安全更新等证据都在 SMELA 手里。 +大众要的 CRA 答案,最终需要 SMELA 出具以下文件。 +
+ +

一、可直接发送的英文询证邮件

+

复制下面整段,填入你的公司信息、联系人、采购型号后发送到 sales@smela.cominfo@smela.com

+ + + +

二、所需文件逐项清单(中文说明 + 英文术语)

+ + + + + + + + + + +
#所需文件/信息英文术语对应 CRA 问卷哪一列优先级
1CRA 适用性 & 分级确认CRA applicability & classification (default/important/critical)J / M最高
2软件物料清单 SBOMSoftware Bill of Materials (SBOM)Q(交付时 CRA 能力)最高
3漏洞管理流程 + 安全更新期限Vulnerability handling + security update periodO(安全更新至…)最高
4IEC 62443-4 安全等级IEC 62443-4-2 Security Level (SL1–4)N(等级1–4)
5欧盟符合性声明(MVO + CRA)EU Declaration of Conformity (MVO & CRA)K(已满足?)最高
6CE 标志状态 + 评估程序CE marking & conformity assessment procedureK / L
7半成品机械组装说明Assembly declaration (Einbauerklärung)K(MVO 合规)
8产品安全指南/加固建议Product security guidance / hardening备注
+ +

三、内部提示(给 Magswitch 自己看,不发给 SMELA)

+
+
    +
  • 时间线要紧:大众要"带时间承诺"的答复,邮件里务必写 by [DATE],别发开放式问题。
  • +
  • 准备好采购证据:SMELA 可能只对正式客户出具 SBOM/合规文件,附上你们的型号、采购订单号可加快。
  • +
  • CRA 生效时间:CRA (EU) 2024/2847 已于 2024 年 12 月生效,义务从 2027 年起分阶段适用(重要/关键产品更早)。确认 SMELA 的合规路线图与大众要求的时间是否匹配。
  • +
  • MVO 已强制:欧盟机械法规 (EU) 2023/1230 已适用,CE 声明是硬性要求,优先要。
  • +
  • 分级是关键变量:若 SMELA 说产品是"default(一般)"级,CRA 义务较轻(自我评估为主);若是"important(重要)"级,需更严的评估程序。先问清分级,再决定应答强度。
  • +
+
+ +

四、跟进话术(SMELA 迟迟不回时)

+ + +
+ 说明:本清单基于欧盟 CRA (EU) 2024/2847、MVO (EU) 2023/1230、IEC 62443-4 的通用要求整理,供商务/合规沟通使用,非法律意见。 + 具体法规义务与时间线请以官方文本及贵司法律顾问意见为准。 +
+ +
+ + diff --git a/SMELA电机手册_中文对照.html b/SMELA电机手册_中文对照.html new file mode 100644 index 0000000..de15ae3 --- /dev/null +++ b/SMELA电机手册_中文对照.html @@ -0,0 +1,167 @@ + + + + + +SMELA liteECO® INTEGRATED 电机手册 · 中文对照 + + + +
+ +

SMELA liteECO® INTEGRATED 系列 · 中文对照手册

+

线性执行器(电缸)数据手册 | 文件号 DS-LE-INTEGRATED-EN,版本 002,2024-10-29 | 用于 Magswitch 夹紧缸

+ +
+用途提醒:本电机内置运动控制器 + EtherCAT/CANopen 通信 + 定位传感器,属于"含数字元素"产品, +因此 Magswitch 夹紧缸在德国大众 CRA 问卷中明确适用《网络弹性法案》(CRA)。本对照表同时服务于 CRA 合规证据准备。 +
+ +

一、产品概述(Overview)

+ + + + + + + + + +
英文原文中文翻译
liteECO® INTEGRATED series — Linear actuators for short stroke movements up to 115 mm stroke and 750 N force (static) with integrated motion controllerliteECO® INTEGRATED 系列 — 短行程直线运动执行器,行程最高 115 mm、静态力 750 N,内置运动控制器
SMELA liteECO® series are the most compact electromechanical alternative to pneumatic short-stroke cylinders due to their patented telescopic concept of motor and mechanics.SMELA liteECO® 系列凭借其专利的"电机+机械"伸缩式结构,是气动短行程气缸最紧凑的电动机械替代方案。
A servo motor incl. positioning sensor enables the movement of simple to complex profiles: for fixing, adjusting, locking and following any motion profile.内置伺服电机及定位传感器,可实现从简单到复杂的运动曲线:用于夹紧、调节、锁紧及跟随任意运动轨迹。
The highly efficient motor not only saves up to 90% of the energy compared to pneumatic systems. It saves up to 80% of installation space compared to existing electrical solutions.高效电机相比气动系统最高省电 90%;相比现有电动方案最高节省 80% 安装空间。
the liteECO® series offers the possibility of a simple refurbishment. Replacing worn mechanics is very easy and helps the drives to achieve several life cycles: sustainable, cost- and resource-saving.liteECO® 系列支持简易翻新:更换磨损机械件非常容易,使驱动器可实现多个生命周期,可持续、节省成本与资源。
the LE-INTEGRATED actuators have an integrated motion controller based on 24 volts and optionally on 48 volts. The actuators are controlled via EtherCAT, CANopen or digital IOs.LE-INTEGRATED 执行器内置运动控制器(24V,可选 48V),通过 EtherCAT、CANopen 或数字 IO 进行控制。
In addition to sealing to the degree of protection IP65, conventional M8 and M12 circular connectors have been integrated in the codings A, B, L and Y.除 IP65 防护等级外,还集成了常规 M8/M12 圆形连接器,编码类型 A、B、L、Y。
+ +

优势(Advantages)

+ + + + + + +
英文中文
High power and dynamics in a compact design紧凑设计下高功率与高动态性能
High utilization of the installation length for the stroke安装长度对行程的高利用率
Up to 90% energy savings compared to pneumatics相比气动最高省电 90%
Up to 80% installation space savings compared to electrical alternatives相比电动方案最高节省安装空间 80%
+ +

特性(Features)

+ + + + + + +
英文中文
Integrated motion controller集成运动控制器
EtherCAT, CANopen and/or digital IO interfacesEtherCAT、CANopen 和/或数字 IO 接口
Robust M8 and M12 circular connectors坚固的 M8/M12 圆形连接器
Degree of protection IP65防护等级 IP65
+ +

二、产品配置(Product Configuration)

+ + + + + + + + +
英文中文
Stroke length: 085 = 85 mm, 115 = 115 mm行程:085 = 85 mm,115 = 115 mm
Lead screw type and pitch (mm/revolution): Pitch / High helix / Trapezoidal丝杠类型与导程(mm/转):普通导程 / 大导程 / 梯形丝杠
Size | Flange width 50, Load capacity up to 750 N规格|法兰宽 50,负载能力最高 750 N
IDIO.A — Digital IO, M12 Connector variant (A - Automotive)IDIO.A — 数字 IO,M12 连接器(A 型,汽车规格)
ICAT.A* — EtherCAT, M12 Connector variant (A - Automotive)ICAT.A* — EtherCAT,M12 连接器(A 型,汽车规格)
ICAN.S* — CANopen incl. digital IOs, M8 Connector variant (S - Standard)ICAN.S* — CANopen(含数字 IO),M8 连接器(S 型,标准规格)
+ +

三、技术数据 — 尺寸(Technical data, dimensions)

+ + + + + + + + + + + + + +
参数英文085(85mm 行程)115(115mm 行程)
行程 Stroke SStroke S [mm]85115
长度 Length LLength L [mm]118.7148.7
宽度 Width BWidth B [mm]50
高度 Height H1Height H1 [mm]68.5
高度 Height H2Height H2 [mm]85.5
定心凸台 Centering collar D2Centering collar D2 [mm]Ø 20g6 × 2.5
顶杆直径 Diameter plunger D1Diameter plunger D1 [mm]Ø 11
顶杆螺纹 Thread on plungerThread on plungerM6×16(外螺纹)
重量 WeightWeight [g]800850
横向力 My, MzMy, Mz (Transverse forces) [Nm]< 1
安装螺栓M4, tightening torque (8.8级) [Nm]4× M4 通孔(4.3mm),拧紧扭矩 3.0 Nm
+ +

材料(Materials of external components)

+ + + + + + +
英文中文
Plunger — Stainless steel (1.4305)顶杆 — 不锈钢 (1.4305)
Flange — Aluminium法兰 — 铝合金
Cover — Stainless steel (1.4301 or 1.4304)盖板 — 不锈钢 (1.4301 / 1.4304)
Wiper ring (optional) — HPU (Hydrolysis-resistant Polyurethan)防尘圈(可选)— HPU(耐水解聚氨酯)
+ +

四、机械性能数据(Performance data — mechanical)

+

丝杠配置对应的极限载荷、回程间隙、峰值力/电流、额定力/电流、最大速度、最大加速度、定位时间。

+ + + + + + + +
丝杠配置极限载荷1)回程间隙2)峰值力3)/峰值电流额定力4)/额定电流最大速度5)最大加速度6)定位时间7)
大导程 S100370 N约 ±0.1 mm300 N / 12 A125 N / 5 A500 mm/s25 m/s²120 ms
大导程 S150370 N200 N / 12 A83 N / 5 A750 mm/s37.5 m/s²85 ms
大导程 S240315 N125 N / 12 A52 N / 5 A1200 mm/s60 m/s²65 ms
梯形 T020750 N约 ±0.1 mm750 N / 6 A625 N / 5 A50 mm/s2.5 m/s²900 ms
梯形 T040750 N750 N / 12 A313 N / 5 A100 mm/s5 m/s²450 ms
+ +

五、电气性能数据(Performance data — electrical)

+ + + + + + + + + + + + + + + + + + + + +
参数英文数值
逻辑供电电压Power supply logic Ulogic19–30 VDC(额定 24)
电机供电电压Power supply motor Umotor19–30 VDC(额定 24)
逻辑电流Current consumption logic Ilogic100–310 mA
电机电流Current consumption motor Imotor0–15 A(额定 3 A)
工作温度Operating temperature Tamb+5 ~ +40 °C
内部温度限值Internal temperature limit Tint,max+90 °C
数字 IO 逻辑Digital IO logicPNP 24 V
CANopen 协议CANopen protocolCiA 301 v4.2、CiA 305 v2.2.13、CiA 402 v3.0
EtherCAT 协议EtherCAT protocolCoE、CiA402、IEC 61800-7-301
最大允许转速Max. permissible speed nmax13,025 min⁻¹
最大电机相电流Max. motor phase current Imax12 A
额定电流(差/好热连接)Nom. current IN,wc / IN,nc3 A / 5 A
最大扭矩Max. torque Mmax750 mNm
扭矩常数Torque constant kM62.5 mNm/A
转速常数Speed constant kn126 min⁻¹/V
端子电阻 / 电感Terminal resistance RS / inductance LS585 mΩ / 300 µH
极对数Number of pole pairs7
转子惯量Rotor inertia J455 g·cm²
+ +

六、连接变体与引脚定义(Connections / Pin assignment)

+ + + + + + + + +
接口英文连接器说明
供电 24VDCPower supply 24 VDCM12, L-coded, 5针, 公头引脚:2=0V电机,4=24V电机,5=FE
数字输入(控制)Digital IN, control (IDIO)M12, A-coded, 4/5针, 公头2=收回命令,4=伸出命令,3=0V
数字输出(反馈)Digital OUT, feedback (IDIO)M12, A-coded, 5针, 公头2=已收回反馈,4=已伸出反馈
EtherCATEtherCAT (ICAT)M12, Y-coded, 8针, 母头(进/出)1=TX+,2=TX-,3=RX+,4=RX-
CANopenCANopenM8, B-coded, 5针(进公/出母)1=CAN V+,3=CAN H,4=CAN L,5=CAN GND
IO 连接器IO ConnectorM12, A-coded, 12针, 母头3–5=DIN1–3,6–7=LIMIT1–2,8=DOUT,9–10=AIN±
+ +

七、制造商信息

+ + + + +
英文中文
SMELA GmbH, Liebknechtstraße 55, DE-39108 MagdeburgSMELA GmbH,Liebknechtstraße 55,DE-39108 马格德堡(德国)
www.smela.com | info@smela.com | sales@smela.com官网 www.smela.com | 邮箱 info@smela.com / sales@smela.com
+ +
+ 说明:本对照基于 DS-LE-INTEGRATED-EN 版本 002(2024-10-29)数据手册全文提取翻译,供内部评审与 CRA 合规准备使用。 + 技术参数以 SMELA 官方原文为准;标注 * 表示"按需/计划中"。CRA = 欧盟《网络弹性法案》(EU) 2024/2847。 +
+ +
+ + diff --git a/_dump_xlsx.py b/_dump_xlsx.py new file mode 100644 index 0000000..b9bc848 --- /dev/null +++ b/_dump_xlsx.py @@ -0,0 +1,35 @@ +# -*- coding: utf-8 -*- +import sys, io, json + +sys.stdout = io.TextIOWrapper(sys.stdout.buffer, encoding='utf-8') + +path = r"C:\Users\ruigu\Downloads\文档说明.html\20260826德国大众的要求文件\MAGSWITCH TECHNOLOGY EUROPE_CRA_Abfrage.xlsx" + +try: + import openpyxl +except ImportError: + print("NO_OPENPYXL") + sys.exit(0) + +wb = openpyxl.load_workbook(path, data_only=False) +print("SHEETS:", wb.sheetnames) + +out = {} +for ws in wb.worksheets: + rows = [] + for row in ws.iter_rows(): + r = [] + for c in row: + v = c.value + if v is None: + v = "" + r.append(str(v)) + rows.append(r) + out[ws.title] = rows + print("==== SHEET:", ws.title, "dims:", ws.dimensions, "max_row:", ws.max_row, "max_col:", ws.max_column) + +# dump full JSON to a file for reliable re-read +with open(r"d:\开发\OnebotCatalog\_xlsx_dump.json", "w", encoding="utf-8") as f: + json.dump(out, f, ensure_ascii=False, indent=1) + +print("DUMP_DONE") diff --git a/_start_all.bat b/_start_all.bat new file mode 100644 index 0000000..a28914f --- /dev/null +++ b/_start_all.bat @@ -0,0 +1,51 @@ +@echo off +setlocal +cd /d "%~dp0" + +echo. +echo ============================================================ +echo ONEBOT one-click start: web + GenServer + NX worker +echo ============================================================ +echo. + +echo [1/6] stop old processes ... +taskkill /F /IM GenServer.exe >nul 2>nul +taskkill /F /IM run_journal.exe >nul 2>nul +ping -n 2 127.0.0.1 >nul + +echo [2/6] build GenServer ... +powershell -NoProfile -ExecutionPolicy Bypass -File "%~dp0tools\build-genserver.ps1" +if not %errorlevel%==0 ( + echo. + echo [FAIL] GenServer build failed. Check error above. + pause + exit /b 1 +) + +echo [3/6] start GenServer ... +start "GenServer" /min "%~dp0bin\GenServer.exe" "%~dp0genserver-local\genserver-config.json" +ping -n 3 127.0.0.1 >nul + +echo [4/6] start NX worker ... +start "NXworker" /min "C:\Program Files\Siemens\NX2506\NXBIN\run_journal.exe" "%~dp0sample-data\tools\worker_journal.vb" +ping -n 3 127.0.0.1 >nul + +echo [5/6] start web server (port 8080) ... +start "OnebotWeb" /min powershell -NoProfile -ExecutionPolicy Bypass -File "%~dp0tools\serve-web.ps1" +ping -n 4 127.0.0.1 >nul + +echo [6/6] health check ... +curl.exe -s http://localhost:8899/health +echo. +curl.exe -s -o nul -w "web 8080 : %%{http_code}" http://localhost:8080/index.html +echo. + +echo. +echo ============================================================ +echo done. Open browser: http://localhost:8080 +echo admin: http://localhost:8899/admin (password: onebot888) +echo keep the GenServer / NXworker / OnebotWeb windows open +echo ============================================================ +echo. +pause +endlocal diff --git a/_start_web.bat b/_start_web.bat new file mode 100644 index 0000000..9a6b7ec --- /dev/null +++ b/_start_web.bat @@ -0,0 +1,17 @@ +@echo off +setlocal +cd /d "%~dp0" + +echo ==== start web server (default root = release\web_2026.08, port 8080) ==== +start "OnebotWeb" powershell -NoProfile -ExecutionPolicy Bypass -File "tools\serve-web.ps1" + +timeout /t 4 /nobreak >nul + +echo ==== check web (8080) + genserver (8899) ==== +curl.exe -s -o nul -w "web : %%{http_code}\n" http://localhost:8080/index.html +curl.exe -s http://localhost:8899/health +echo. + +echo ==== done. browser: http://localhost:8080 ==== +echo (keep the OnebotWeb window open; close it to stop the server) +endlocal diff --git a/assets/OneBot-logo.ico b/assets/OneBot-logo.ico new file mode 100644 index 0000000..d54355d Binary files /dev/null and b/assets/OneBot-logo.ico differ diff --git a/assets/icon.ico b/assets/icon.ico new file mode 100644 index 0000000..bb139cd Binary files /dev/null and b/assets/icon.ico differ diff --git a/blog_mirror/crawl_log.txt b/blog_mirror/crawl_log.txt new file mode 100644 index 0000000..3eda7c0 --- /dev/null +++ b/blog_mirror/crawl_log.txt @@ -0,0 +1,21 @@ +=== 开始镜像 http://171.80.3.206:39897 @ 2026-08-27 21:46:18 === +队列 1 个页面待处理 +[FAIL] page http://171.80.3.206/ : +============================================================ +完成。页面 0 个,manifest 条目 1 个 +类型统计: {'page': 1} +失败 1 个: + http://171.80.3.206/ | +=== 开始镜像 http://171.80.3.206:39897 @ 2026-08-27 23:07:26 === +队列 1 个页面待处理 +[FAIL] page http://171.80.3.206/ : +============================================================ +完成。页面 0 个,manifest 条目 1 个 +类型统计: {'page': 1} +失败 1 个: + http://171.80.3.206/ | +=== 开始镜像 http://171.80.3.206:39897 @ 2026-08-27 23:12:02 === +队列 1 个页面待处理 +============================================================ +完成。页面 1 个,manifest 条目 8 个 +类型统计: {'page': 6, 'asset': 2} diff --git a/blog_mirror/crawl_manifest.json b/blog_mirror/crawl_manifest.json new file mode 100644 index 0000000..a2f4bb2 --- /dev/null +++ b/blog_mirror/crawl_manifest.json @@ -0,0 +1,47 @@ +{ + "http://171.80.3.206:39897/": { + "path": "index.html", + "type": "page", + "status": "ok", + "size": 5016 + }, + "http://171.80.3.206:39897/logo.svg": { + "path": "logo.svg", + "type": "asset", + "status": "ok", + "size": 2042, + "ct": "image/svg+xml" + }, + "http://171.80.3.206:39897/assets/index-DTlSLaLS.js": { + "path": "assets\\index-DTlSLaLS.js", + "type": "asset", + "status": "ok", + "size": 183464, + "ct": "text/javascript; charset=utf-8" + }, + "http://171.80.3.206:39897/assets/vendor-vue-DiG09V7Q.js": { + "type": "page", + "status": "dead", + "err": "junk" + }, + "http://171.80.3.206:39897/assets/vendor-i18n-F92pr2wT.js": { + "type": "page", + "status": "dead", + "err": "junk" + }, + "http://171.80.3.206:39897/assets/vendor-misc-CbSuWkr5.js": { + "type": "page", + "status": "dead", + "err": "junk" + }, + "http://171.80.3.206:39897/assets/vendor-misc-DB0Q8XAf.css": { + "type": "page", + "status": "dead", + "err": "junk" + }, + "http://171.80.3.206:39897/assets/index-Dk4t2Wci.css": { + "type": "page", + "status": "dead", + "err": "junk" + } +} \ No newline at end of file diff --git a/blog_mirror/mirror.py b/blog_mirror/mirror.py new file mode 100644 index 0000000..598fcda --- /dev/null +++ b/blog_mirror/mirror.py @@ -0,0 +1,554 @@ +# -*- coding: utf-8 -*- +"""通用网站离线镜像爬虫(skill: website-mirror) +用法: + python mirror.py <起始URL> [额外页面域,逗号分隔] [最大页数] +示例: + python mirror.py https://zh.example.com/ + python mirror.py https://www.example.com/ "media.example.com,static.example.com" 5000 + +行为: + - 页面 BFS 爬取(仅目标域 + 额外域),统一存为 .html 便于 file:// 浏览 + - 附件(pdf/zip/CAD 等)任何域名都下载 + - CSS/JS/图片/字体等页面资源下载并把 HTML/CSS 内链接改写为本地相对路径 + - 断点续传(crawl_manifest.json),可重复运行补漏 + - 每请求间隔 0.3s,单线程,礼貌抓取 +输出: + mirror/<域名>/... 可离线浏览的站点副本 + crawl_manifest.json 全部 URL 的下载记录 + crawl_log.txt 日志与失败清单 +""" +import os, re, sys, json, time, hashlib, warnings, threading +from urllib.parse import urlparse, urljoin, urldefrag, unquote, quote +from collections import deque +from concurrent.futures import ThreadPoolExecutor +import requests +from bs4 import BeautifulSoup + +warnings.filterwarnings("ignore") + +if len(sys.argv) < 2: + print(__doc__) + sys.exit(1) + +TARGET = sys.argv[1].rstrip("/") +EXTRA_HOSTS = {h.strip().lower() for h in sys.argv[2].split(",") if h.strip()} if len(sys.argv) > 2 else set() +MAX_PAGES = int(sys.argv[3]) if len(sys.argv) > 3 else 3000 + +ROOT = os.path.dirname(os.path.abspath(__file__)) +HOST = urlparse(TARGET).netloc +HOST_DIR = re.sub(r'[<>:"\\|?*]', "_", HOST) # Windows 目录名非法字符替换(端口冒号等) +OUT = os.path.join(ROOT, "mirror", HOST_DIR) +MANIFEST = os.path.join(ROOT, "crawl_manifest.json") +QUEUE_FILE = os.path.join(ROOT, "queue.json") +LOG = open(os.path.join(ROOT, "crawl_log.txt"), "a", encoding="utf-8") + +PAGE_HOSTS = {HOST.lower()} | EXTRA_HOSTS +START_URLS = [TARGET] +ATT_EXT = { + ".pdf", ".zip", ".rar", ".7z", ".stp", ".step", ".dwg", ".dxf", ".igs", ".iges", + ".stl", ".easm", ".eprt", ".sldprt", ".sldasm", ".slddrw", ".xls", ".xlsx", + ".csv", ".doc", ".docx", ".ppt", ".pptx", ".catpart", ".catproduct", ".3mf", ".jt", + ".ifc", ".rfa", ".dgn", ".prt", ".asm", ".sdp", ".sat", ".stpz", +} +# 跳过的查询参数(表单/会话/语言切换等爬虫陷阱) +SKIP_QUERY_KEYS = {"cmsfkt", "print", "lang", "language", "sprache", "session", "cfid", "cftoken", "search", "q"} +SKIP_QUERY_VALS = {"watchlist", "nl_add", "logout", "login", "cart", "basket"} +DELAY = 0.3 +UA = "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/126.0.0.0 Safari/537.36" +# 统计探针/广告等注定失败的域名,直接跳过 +SKIP_ASSET_HOSTS = {"etracker.com", "google-analytics.com", "googletagmanager.com", + "doubleclick.net", "hotjar.com", "statcounter.com", "matomo.org"} +failed_logged = set() +LOCK = threading.RLock() # 可重入:持锁代码内还会调用 save_manifest/log +POOL = ThreadPoolExecutor(max_workers=4) # 文件下载并发线程池 + +sess = requests.Session() +sess.headers.update({"User-Agent": UA, "Accept-Language": "zh-CN,zh;q=0.9"}) + +manifest = {} +if os.path.exists(MANIFEST): + try: + manifest = json.load(open(MANIFEST, encoding="utf-8")) + except Exception: + pass +visited = {u for u, v in manifest.items() if v.get("status") == "ok"} +failed = [] +ext_html_seen = set() + +def log(*a): + s = " ".join(str(x) for x in a) + print(s, flush=True) + with LOCK: + LOG.write(s + "\n"); LOG.flush() + +def save_manifest(): + with LOCK: + with open(MANIFEST, "w", encoding="utf-8") as f: + json.dump(manifest, f, ensure_ascii=False, indent=1) + +def load_q(): + """恢复上次未处理完的页面队列。""" + try: + return json.load(open(QUEUE_FILE, encoding="utf-8")) + except Exception: + return [] + +def save_q(q): + with LOCK: + json.dump(list(q), open(QUEUE_FILE, "w", encoding="utf-8")) + +def recover_queue(): + """从已保存页面的本地链接反向恢复站内页面 URL(弥补崩溃丢失的队列)。""" + out = set() + for u, v in manifest.items(): + if v.get("type") != "page" or v.get("status") != "ok": + continue + fp = os.path.join(OUT, v.get("path", "")) + if not os.path.exists(fp): + continue + try: + html = open(fp, encoding="utf-8", errors="replace").read() + except Exception: + continue + for m in re.finditer(r'(?:href|src|data-link|data-href)\s*=\s*["\']([^"\']+)["\']', html, re.I): + h = m.group(1).strip() + if h.startswith(("#", "javascript:", "mailto:", "tel:", "data:")): + continue + cand = urljoin(u, h) + p = urlparse(cand) + if p.netloc.lower().split(":")[0] not in PAGE_HOSTS: + continue + if p.path.lower().endswith((".jpg", ".jpeg", ".png", ".gif", ".css", ".js", + ".ico", ".svg", ".woff", ".woff2", ".ttf", ".webp")): + continue + path = p.path + if path.endswith(".html"): + path = path[:-5] + if path in ("/index", "/index.html"): # 首页别名归一 + path = "/" + path, _, qs = path.partition("@@") # 反向还原查询参数编码(改写过的链接) + if qs: + path = path + "?" + qs + elif p.query: # 未改写的原始链接:保留 query + path = path + "?" + p.query + cand = norm_url(f"{p.scheme}://{p.netloc}{path}") + if cand and not is_attachment(cand) and not is_junk_page(cand): + out.add(cand) + return out + +def norm_url(u): + u = u.strip() + if not u or u.startswith(("javascript:", "mailto:", "tel:", "data:", "sms:", "#")): + return None + u, frag = urldefrag(u) + p = urlparse(u) + if p.scheme not in ("http", "https"): + return None + host = p.netloc.lower().split(":")[0] + path = p.path or "/" + qs = [] + if p.query: + for kv in p.query.split("&"): + k = kv.split("=", 1)[0].lower() + v = kv.split("=", 1)[1].lower() if "=" in kv else "" + if k in SKIP_QUERY_KEYS or v in SKIP_QUERY_VALS: + continue + qs.append(kv) + query = "&".join(qs) + return f"{p.scheme}://{host}{path}" + (f"?{query}" if query else "") + +def is_attachment(u): + p = urlparse(u) + path = unquote(p.path).lower() + if path.endswith(tuple(ATT_EXT)): + return True + if "/d3/" in path and p.query: # 下载中心类动态链接 + return True + return False + +STATIC_EXT = (".jpg", ".jpeg", ".png", ".gif", ".ico", ".svg", ".bmp", ".webp", ".tif", ".tiff") + +def is_static(u): + """ 直接指向图片等静态文件时按资源处理(不追加 .html)。""" + return urlparse(u).path.lower().endswith(STATIC_EXT) + +def skip_asset(u): + p = urlparse(u) + h = p.netloc.lower().split(":")[0] + for bad in SKIP_ASSET_HOSTS: # 含子域名匹配 + if h == bad or h.endswith("." + bad): + return True + if not p.path or p.path == "/": + return True + return False + +def is_junk_page(u): + """解析噪声/静态资源伪装成的页面 URL。""" + p = urlparse(u) + path = p.path.lower() + if path.endswith((".css", ".js", ".png", ".jpg", ".jpeg", ".gif", ".ico", ".svg", + ".woff", ".woff2", ".ttf", ".webp", ".bin")): + return True + if any(s in ("http", "https") for s in [x for x in p.path.split("/") if x]): + return True + return False + +def sanitize_seg(seg): + seg = re.sub(r'[<>:"\\|?*]', "_", seg) + seg = seg.strip(" .") + if not seg: + seg = "_" + if len(seg) > 90: + seg = seg[:80] + "_" + hashlib.md5(seg.encode()).hexdigest()[:8] + return seg + +def local_path(u, is_page): + """URL → 本地相对路径。文件名使用真实 Unicode。""" + p = urlparse(u) + path = unquote(p.path) + if path.endswith("/"): + path += "index" + segs = [sanitize_seg(s) for s in path.split("/") if s] + if not segs: + segs = ["index"] + name = segs.pop() + if is_page: + name += ".html" + else: + if "." not in name or not re.search(r"\.[A-Za-z0-9]{1,6}$", name): + name += ".bin" + if p.query: + qs = sanitize_seg(unquote(p.query).replace("/", "_").replace("\\", "_"))[:120] + name = name.rsplit(".", 1)[0] + "@@" + qs + "." + name.rsplit(".", 1)[1] + return os.path.join(*segs, name) + +def fetch(u, timeout=(15, 60)): + for attempt in range(3): + try: + r = sess.get(u, timeout=timeout) + r.raise_for_status() + return r + except requests.exceptions.HTTPError as e: + if e.response is not None and e.response.status_code in (400, 401, 403, 404, 410): + raise + if attempt == 2: + raise + time.sleep(2 * (attempt + 1)) + except Exception: + if attempt == 2: + raise + time.sleep(2 * (attempt + 1)) + +def download_file(u, kind): + """下载二进制资源/附件(流式+硬时限+并发安全),返回相对路径。""" + if skip_asset(u): + return None + rel = local_path(u, is_page=False) + fp = os.path.join(OUT, rel) + with LOCK: + if u in manifest and manifest[u].get("status") == "ok" and os.path.exists(fp): + return rel + manifest[u] = {"path": rel, "type": kind, "status": "pending"} + save_manifest() + try: + with requests.get(u, timeout=(15, 60), stream=True, + headers={"User-Agent": UA}) as r: + r.raise_for_status() + os.makedirs(os.path.dirname(fp), exist_ok=True) + deadline = time.time() + 600 # 单文件总时限 10 分钟,防慢速滴流卡死 + total = 0 + with open(fp, "wb") as f: + for chunk in r.iter_content(65536): + if time.time() > deadline: + raise TimeoutError("总时限到") + f.write(chunk) + total += len(chunk) + ct = r.headers.get("Content-Type", "") + # CSS: 下载其 url() 引用并改写为本地路径 + if kind == "asset" and (rel.lower().endswith(".css") or "css" in ct): + try: + with open(fp, "rb") as f: + data = f.read() + new_css = css_urls(data.decode("utf-8", "replace"), u) + with open(fp, "w", encoding="utf-8") as f: + f.write(new_css) + except Exception: + pass + with LOCK: + manifest[u] = {"path": rel, "type": kind, "status": "ok", + "size": total, "ct": ct} + save_manifest() + return rel + except Exception as e: + with LOCK: + failed.append((u, str(e))) + dead = isinstance(e, requests.exceptions.HTTPError) and \ + e.response is not None and e.response.status_code in (404, 410) + manifest[u] = {"path": rel, "type": kind, + "status": "dead" if dead else "failed", "err": str(e)[:200]} + save_manifest() + if u not in failed_logged: + failed_logged.add(u) + log(f" [FAIL] {kind} {u} : {e}") + return None + +def css_urls(css, css_url): + def rep(m): + raw = m.group(1).strip().strip("'\"") + if raw.startswith(("data:", "http://", "https://", "//")): + absu = raw if raw.startswith(("http://", "https://")) else "https:" + raw + else: + absu = urljoin(css_url, raw) + if absu.startswith(("data:", "javascript:")): + return m.group(0) + rel = download_file(absu, "asset") + if rel: + from_dir = os.path.dirname(local_path(css_url, is_page=False)) + rr = os.path.relpath(rel, from_dir).replace("\\", "/") + return f"url({rr})" + return m.group(0) + return re.sub(r"url\(\s*(.*?)\s*\)", rep, css, flags=re.I | re.S) + +def process_page(u, r): + soup = BeautifulSoup(r.content, "html.parser") + base = u + b = soup.find("base", href=True) + if b: + base = urljoin(u, b["href"]) + + rel_page = local_path(u, is_page=True) + page_dir = os.path.dirname(rel_page) + + def to_local(absu, kind="page"): + """绝对 URL → 相对当前页面的本地路径。""" + if absu is None: + return None + rel = local_path(absu, is_page=(kind == "page")) + rp = os.path.relpath(rel, page_dir).replace("\\", "/") + return rp + + new_pages, atts, assets = [], [], [] + + for a in soup.find_all("a", href=True): + h = a["href"].strip() + if h.startswith("#"): + continue + absu = norm_url(urljoin(base, h)) + if absu is None: + continue + host = urlparse(absu).netloc.lower().split(":")[0] + if is_attachment(absu): + atts.append(absu) + elif is_static(absu): + assets.append(absu) # 图片直链按资源下载 + elif host in PAGE_HOSTS: + new_pages.append(absu) + else: + ext_html_seen.add(absu) + + # JS 跳转类链接:遍历全部 data-* 属性,值像 URL 的(以 / 开头、含 pid=/documentId= 等)都按链接处理 + for tag in soup.find_all(True): + for attr, val in list(tag.attrs.items()): + if not (attr.startswith("data-") and isinstance(val, str)): + continue + v = val.strip() + if not (v.startswith("/") or v.startswith("http") or re.search(r"\.(cfm|html|php|aspx)\b|pid=|documentId=", v)): + continue + absu = norm_url(urljoin(base, v)) + if absu is None: + continue + host = urlparse(absu).netloc.lower().split(":")[0] + if is_attachment(absu): + atts.append(absu) + elif is_static(absu): + assets.append(absu) + elif host in PAGE_HOSTS: + new_pages.append(absu) + + for tag in soup.find_all(["img", "script", "source", "embed", "video", "audio", "iframe"]): + for attr in ("src", "data", "poster"): + if tag.has_attr(attr): + absu = norm_url(urljoin(base, tag[attr].strip())) + if absu: + assets.append(absu) + if tag.has_attr("srcset"): + for part in tag["srcset"].split(","): + part = part.strip() + if part: + su = part.split()[0] + absu = norm_url(urljoin(base, su)) + if absu: + assets.append(absu) + if tag.name == "iframe" and tag.has_attr("src"): + absu = norm_url(urljoin(base, tag["src"].strip())) + if absu and urlparse(absu).netloc.lower().split(":")[0] in PAGE_HOSTS and not is_attachment(absu): + new_pages.append(absu) + + for l in soup.find_all("link", href=True): + rels = " ".join(l.get("rel", [])).lower() + if any(r in rels for r in ("preconnect", "dns-prefetch", "canonical", "alternate")): + continue # 预连接/SEO 标签不是真实资源 + absu = norm_url(urljoin(base, l["href"].strip())) + if absu: + assets.append(absu) + + # ---- 改写链接为本地路径 ---- + for a in soup.find_all("a", href=True): + h = a["href"].strip() + if h.startswith(("#", "javascript:", "mailto:", "tel:")): + continue + absu = norm_url(urljoin(base, h)) + if absu is None: + continue + frag = "" + if "#" in h: + frag = "#" + h.split("#", 1)[1] + host = urlparse(absu).netloc.lower().split(":")[0] + if is_attachment(absu) or is_static(absu): + a["href"] = (to_local(absu, "asset") or absu) + frag + elif host in PAGE_HOSTS: + a["href"] = to_local(absu, "page") + frag + + for tag in soup.find_all(["img", "script", "source", "embed", "video", "audio"]): + for attr in ("src", "data", "poster"): + if tag.has_attr(attr): + absu = norm_url(urljoin(base, tag[attr].strip())) + if absu: + tag[attr] = to_local(absu, "asset") or absu + if tag.has_attr("srcset"): + parts = [] + for part in tag["srcset"].split(","): + part = part.strip() + if not part: + continue + su, *rest = part.split() + absu = norm_url(urljoin(base, su)) + parts.append((to_local(absu, "asset") or absu) + (" " + " ".join(rest) if rest else "")) + tag["srcset"] = ", ".join(parts) + + for l in soup.find_all("link", href=True): + rels = " ".join(l.get("rel", [])).lower() + if any(r in rels for r in ("preconnect", "dns-prefetch", "canonical", "alternate")): + continue + absu = norm_url(urljoin(base, l["href"].strip())) + if absu: + l["href"] = to_local(absu, "asset") or absu + + for tag in soup.find_all(True): + for attr, val in list(tag.attrs.items()): + if not (attr.startswith("data-") and isinstance(val, str)): + continue + v = val.strip() + if not (v.startswith("/") or v.startswith("http") or re.search(r"\.(cfm|html|php|aspx)\b|pid=|documentId=", v)): + continue + absu = norm_url(urljoin(base, v)) + if absu: + tag[attr] = to_local(absu, "page") or absu + + for f in soup.find_all("iframe", src=True): + absu = norm_url(urljoin(base, f["src"].strip())) + if absu: + host = urlparse(absu).netloc.lower().split(":")[0] + f["src"] = to_local(absu, "page" if host in PAGE_HOSTS else "asset") or absu + + if not soup.find("meta", attrs={"charset": True}): + hd = soup.find("head") + if hd: + hd.insert(0, BeautifulSoup('', "html.parser").find("meta")) + + # 删除 标签:改写后的相对链接按页面自身目录解析,base 会劫持解析基准导致离线浏览全部 404 + for btag in soup.find_all("base"): + btag.decompose() + + fp = os.path.join(OUT, rel_page) + os.makedirs(os.path.dirname(fp), exist_ok=True) + with open(fp, "w", encoding="utf-8") as f: + f.write(str(soup)) + manifest[u] = {"path": rel_page, "type": "page", "status": "ok", "size": len(r.content)} + save_manifest() + return new_pages, atts, assets + +def main(): + # 恢复队列:上次未处理的 + 种子 + 失败页面 + 从已存页面反推的链接(断点续传) + q = deque() + for u in load_q() + [norm_url(u) for u in START_URLS] + \ + [u for u, v in manifest.items() if v.get("type") == "page" and v.get("status") in ("failed", "pending")] + \ + sorted(recover_queue()): + u = norm_url(u) + if u and u not in q and not is_junk_page(u): + q.append(u) + log(f"队列恢复 {len(q)} 个页面待处理") + pages_done = 0 + # 先续传上次中断未完成的文件 + 重试网络错误失败的附件(死链除外) + pend = [(u, manifest[u].get("type", "asset")) for u, v in manifest.items() + if v.get("type") in ("asset", "attachment") and v.get("status") in ("pending", "failed")] + if pend: + log(f"续传未完成文件 {len(pend)} 个") + for u, k in pend: + POOL.submit(download_file, u, k) + while q: + u = q.popleft() + if u in visited: + continue + visited.add(u) + if is_junk_page(u): + manifest[u] = {"type": "page", "status": "dead", "err": "junk"} + continue + try: + r = fetch(u) + except Exception as e: + failed.append((u, str(e))) + # 404/410 为永久死链,标记 dead 不再重试;其它错误下次续传时重试 + dead = isinstance(e, requests.exceptions.HTTPError) and \ + e.response is not None and e.response.status_code in (404, 410) + manifest[u] = {"type": "page", "status": "dead" if dead else "failed", "err": str(e)[:200]} + save_manifest() + if not dead or u not in failed_logged: + failed_logged.add(u) + log(f"[FAIL] page {u} : {e}") + time.sleep(DELAY) + continue + ct = r.headers.get("Content-Type", "") + pth = urlparse(u).path.lower() + if "html" in ct.lower() or pth.endswith((".cfm", ".html", ".htm")): + try: + new_pages, atts, assets = process_page(u, r) + pages_done += 1 + for a in atts: + POOL.submit(download_file, a, "attachment") + for a in assets: + POOL.submit(download_file, a, "asset") + for p in new_pages: + if p not in visited and p not in q: + q.append(p) + save_q(q) # 队列持久化,中断后可续爬 + if pages_done % 25 == 0: + log(f"... 已处理 {pages_done} 页, 队列 {len(q)}, 文件总数 {len(manifest)}") + except Exception as e: + log(f"[ERR] parse {u}: {e}") + else: + download_file(u, "attachment" if is_attachment(u) else "asset") + if pages_done > MAX_PAGES: + log("达到页面数上限,停止") + break + time.sleep(DELAY) + + POOL.shutdown(wait=True) # 等待所有文件下载完成 + log("=" * 60) + log(f"完成。页面 {pages_done} 个,manifest 条目 {len(manifest)} 个") + types = {} + for v in manifest.values(): + types[v.get("type", "?")] = types.get(v.get("type", "?"), 0) + 1 + log("类型统计:", types) + if failed: + log(f"失败 {len(failed)} 个:") + for u, e in failed: + log(" ", u, "|", e) + if ext_html_seen: + log(f"未跟进的站外 HTML 链接 {len(ext_html_seen)} 个 (示例):") + for u in list(ext_html_seen)[:10]: + log(" ", u) + +if __name__ == "__main__": + log(f"=== 开始镜像 {TARGET} @ {time.strftime('%Y-%m-%d %H:%M:%S')} ===") + main() diff --git a/blog_mirror/mirror/171.80.3.206_39897/assets/index-DTlSLaLS.js b/blog_mirror/mirror/171.80.3.206_39897/assets/index-DTlSLaLS.js new file mode 100644 index 0000000..8d89077 --- /dev/null +++ b/blog_mirror/mirror/171.80.3.206_39897/assets/index-DTlSLaLS.js @@ -0,0 +1,100 @@ +const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/SetupWizardView-CtMmsdGl.js","assets/vendor-vue-DiG09V7Q.js","assets/Select-D30muN2D.js","assets/vendor-i18n-F92pr2wT.js","assets/Select-DJFS-V-w.css","assets/Toggle.vue_vue_type_script_setup_true_lang-DQc4J13H.js","assets/vendor-misc-CbSuWkr5.js","assets/vendor-misc-DB0Q8XAf.css","assets/HomeView-BamAAWDq.js","assets/LocaleSwitcher-NZdTAMRd.js","assets/LocaleSwitcher-CjvPxOhx.css","assets/featureFlags-BGmEWa6f.js","assets/HomeView-Dagk0jRk.css","assets/LoginView-CG7oKiiH.js","assets/AppHeader.vue_vue_type_style_index_0_scoped_80f3916c_lang-CDiu2GJa.js","assets/AppHeader-CBmmG15k.css","assets/useClipboard-CRD2-bt3.js","assets/AuthLayout-Cm2JGifu.js","assets/AuthLayout-BMNyCXdz.css","assets/LoginAgreementPrompt-CiQ7qxqZ.js","assets/oauthAffiliate-CrlUwkd1.js","assets/LoginAgreementPrompt-DhEkaHwn.css","assets/CaptchaChallenge.vue_vue_type_script_setup_true_lang-BfUvIrjC.js","assets/CaptchaChallenge-DXOSsY36.css","assets/apiError-BcAuv_LF.js","assets/LoginView-D0nGZ1jO.css","assets/RegisterView-OspI_nE0.js","assets/authError-Ch9RozGZ.js","assets/registrationEmailPolicy-BIuq-4e8.js","assets/RegisterView-BFNm_SoS.css","assets/EmailVerifyView-gs3hZCnz.js","assets/EmailVerifyView-CCbXb7Sd.css","assets/OAuthCallbackView-opQvtN0P.js","assets/LinuxDoCallbackView-53MNwCm3.js","assets/PendingOAuthCreateAccountForm-D3p4nTRc.js","assets/PendingOAuthCreateAccountForm-CE5mbEbn.css","assets/LinuxDoCallbackView-DQ7xRnW6.css","assets/WechatCallbackView-B55RsnhI.js","assets/WechatCallbackView-BRJlNRB0.css","assets/WechatPaymentCallbackView-CiFgXqIY.js","assets/DingTalkCallbackView-xlqtkhZf.js","assets/DingTalkCallbackView-2-yiQGEP.css","assets/DingTalkEmailCompletionView-BfaHamK_.js","assets/OidcCallbackView-BZxx1saB.js","assets/OidcCallbackView-Buxp4n1p.css","assets/ForgotPasswordView-B1bp-x3S.js","assets/ForgotPasswordView-D5q6IfTR.css","assets/ResetPasswordView-Daq1Y6we.js","assets/ResetPasswordView-Bthzu-nm.css","assets/KeyUsageView-CZO7atjl.js","assets/KeyUsageView-Bg34gQbA.css","assets/LegalDocumentView-Bl-a8syD.js","assets/LegalDocumentView-DCxikJph.css","assets/ModelPlazaView-BKR3RV6U.js","assets/AppLayout.vue_vue_type_script_setup_true_lang-ChTVwRWQ.js","assets/PlatformIcon.vue_vue_type_script_setup_true_lang-BBRKqOKq.js","assets/platformColors-DkrFx9Dx.js","assets/GroupBadge.vue_vue_type_script_setup_true_lang-BtYLceOF.js","assets/peak-rate-qZGUWdry.js","assets/channel-Dd4-tJhr.js","assets/ModelPlazaView-DMARGOoX.css","assets/DashboardView-C352HJfx.js","assets/usage-BtVZSllv.js","assets/LoadingSpinner-CtbO5XfC.js","assets/LoadingSpinner-DT-rtrW_.css","assets/TokenUsageTrend.vue_vue_type_script_setup_true_lang-q_qSNYnT.js","assets/vendor-chart-CPDPBTdF.js","assets/TokenUsageTrend-hT21aKUj.css","assets/EmptyState.vue_vue_type_script_setup_true_lang-Dezl_dQu.js","assets/user-BGDln7Tl.js","assets/KeysView-j2GjR7YA.js","assets/usePersistedPageSize-x0WpaIWh.js","assets/groups-C9yIS-67.js","assets/TablePageLayout-jdKtgWjv.js","assets/TablePageLayout-CTUsgGJ4.css","assets/DataTable-BWh4O3qO.js","assets/DataTable-bsUFtred.css","assets/Pagination-CxhohxQb.js","assets/Pagination-DgYObafU.css","assets/ConfirmDialog.vue_vue_type_script_setup_true_lang-CQl04wzu.js","assets/SearchInput.vue_vue_type_script_setup_true_lang-HZKcH6y5.js","assets/vendor-ui-Dp1J11H8.js","assets/GroupOptionItem-CAUmRjO0.js","assets/GroupOptionItem-EDVK0Prz.css","assets/maskApiKey-ClKV8GuA.js","assets/BatchImageGuideView-BsegdhEd.js","assets/BatchImageGuideView-DE8oicIw.css","assets/UsageView-ZnU_UoGg.js","assets/GroupDistributionChart.vue_vue_type_script_setup_true_lang-BF1DaPRX.js","assets/EndpointDistributionChart.vue_vue_type_script_setup_true_lang-DQ3Sy2cz.js","assets/ModelDistributionChart.vue_vue_type_script_setup_true_lang-BoU3Va4W.js","assets/errorBadges-BL9gkz69.js","assets/DeepseekUsageView-CBmx7VTp.js","assets/RedeemView-kAn3uGpL.js","assets/RedeemView-B_dQgFBZ.css","assets/AffiliateView-PBEYCuF_.js","assets/AvailableChannelsView-B0TLi9j4.js","assets/ProfileView-BP1D1hmj.js","assets/totp-C_CUB5et.js","assets/SubscriptionsView-4xYVu9HW.js","assets/subscriptionQuota-DBCjRtsa.js","assets/PaymentView-DOHTRE_8.js","assets/payment-CHpovzgX.js","assets/payment-CttFX-pM.js","assets/providerConfig-CHSBMM6y.js","assets/wxpay-UHDvuORB.js","assets/paymentFlow-cys_N5rS.js","assets/currency-DpW1WrYL.js","assets/paymentUx-DGTR60TU.js","assets/UserOrdersView-Bp_9M1U6.js","assets/OrderTable.vue_vue_type_script_setup_true_lang-ggGcVf_H.js","assets/OrderStatusBadge.vue_vue_type_script_setup_true_lang-ClbyLrox.js","assets/PaymentQRCodeView-CPmUsX5l.js","assets/PaymentResultView-BjwOvFxf.js","assets/StripePaymentView-B0oR6A1o.js","assets/AirwallexPaymentView-FcyMOW8M.js","assets/StripePopupView-DKU1Y83f.js","assets/CustomPageView-BN70n0YO.js","assets/CustomPageView-CPy1ApRj.css","assets/DashboardView-B15wIpMO.js","assets/OpsDashboard-mREKPhVH.js","assets/platforms-BQiEVrJv.js","assets/HelpTooltip.vue_vue_type_script_setup_true_lang-D1bWplWf.js","assets/OpsErrorLogTable.vue_vue_type_script_setup_true_lang-BkCcmoVg.js","assets/OpsDashboard-DwWJHeD7.css","assets/AuditLogView-BscNH9_T.js","assets/UsersView-Dm_lzOpC.js","assets/useTableSelection-BQfJTHkJ.js","assets/stableObjectKey-DullU5Fx.js","assets/TotpStepUpDialog.vue_vue_type_script_setup_true_lang-CHKu-MV1.js","assets/UserBalanceHistoryModal.vue_vue_type_script_setup_true_lang-Bg6-Z6pW.js","assets/UsersView-DK3Tutsw.css","assets/GroupsView-CMPpm0Bs.js","assets/useKeyedDebouncedSearch-DPVn8gz2.js","assets/ModelTagInput.vue_vue_type_script_setup_true_lang-fMktJbFr.js","assets/useKeyedDebouncedSearch-CEokDlf1.css","assets/GroupsView-yOT7cHd7.css","assets/ChannelsView-C3jfdT0y.js","assets/ChannelsView-BNzI5F2c.css","assets/ChannelMonitorView-CO0rxX11.js","assets/channelMonitorV2-BuetocWl.js","assets/ChannelStatusView-BzXWzlvx.js","assets/ChannelStatusView-BlQhAFzI.css","assets/SubscriptionsView-_f7UTO1b.js","assets/SubscriptionsView-DpnnMyfY.css","assets/AccountsView-CPEV6fCd.js","assets/proxyExpiry-BPlJIWZs.js","assets/AccountTestModal.vue_vue_type_style_index_0_lang-CufzEWKz.js","assets/ModelWhitelistSelector.vue_vue_type_script_setup_true_lang-YW82jC2z.js","assets/ModelWhitelistSelector-BR3Adxor.css","assets/ProxySelector-CkS1CP1x.js","assets/ProxySelector-CL3006OT.css","assets/ProxyAdBanner.vue_vue_type_script_setup_true_lang-x2W1uT8W.js","assets/GroupSelector.vue_vue_type_script_setup_true_lang-Dv771YpY.js","assets/AccountTestModal-oFT-ulRD.css","assets/AccountsView-DnxbEBA-.css","assets/PluginsView-CZxnHh5F.js","assets/InterfaceConfigView-CeYGs-wS.js","assets/InterfaceCheckView-DPruziE1.js","assets/ModelPlazaConfigView-CWSCNkSy.js","assets/ModelPlazaConfigView-BzMy-uG8.css","assets/AnnouncementsView-DS1tprVR.js","assets/ProxiesView-CFCEirKc.js","assets/RedeemView-CXEnCuVM.js","assets/PromoCodesView-ByTYkNH7.js","assets/SettingsView-LyzgzC5e.js","assets/SettingsView-C_rHSdO5.css","assets/RiskControlView-C9_oXT3f.js","assets/PromptAuditView-QBcE12lS.js","assets/UsageView-h7mE6SST.js","assets/AdminAffiliateInvitesView-Dc64iw0Z.js","assets/AdminAffiliateRecordsTable.vue_vue_type_script_setup_true_lang-mqKeyBV9.js","assets/AdminAffiliateRebatesView-Bob3YZsl.js","assets/AdminAffiliateTransfersView-si99T1Bb.js","assets/AdminPaymentDashboardView-BwSL9d0t.js","assets/AdminOrdersView-D98Vc5XF.js","assets/AdminPaymentPlansView-B7ixmBuh.js","assets/NotFoundView-DCiUJdjA.js"])))=>i.map(i=>d[i]); +import{d as X,c as I,z as L,B as _,A as Z,C,L as oe,r as w,D as pe,k as U,aa as va,K as re,P as Be,F as At,V as wa,E as j,G as R,S as kt,ab as we,_ as He,Q as ba,R as Aa,w as ee,o as St,a as ka,I as be,U as Ke,n as Sa,H as Ae,Y as Pa,u as T,O as Pt,Z as Ia,X as Ea,ac as $a,ad as Ca,ae as Ma,af as Ta,ag as Ra}from"./vendor-vue-DiG09V7Q.js";import{c as xa,u as It}from"./vendor-i18n-F92pr2wT.js";import{a as Pe,d as ke,p as Et}from"./vendor-misc-CbSuWkr5.js";(function(){const t=document.createElement("link").relList;if(t&&t.supports&&t.supports("modulepreload"))return;for(const o of document.querySelectorAll('link[rel="modulepreload"]'))r(o);new MutationObserver(o=>{for(const s of o)if(s.type==="childList")for(const i of s.addedNodes)i.tagName==="LINK"&&i.rel==="modulepreload"&&r(i)}).observe(document,{childList:!0,subtree:!0});function a(o){const s={};return o.integrity&&(s.integrity=o.integrity),o.referrerPolicy&&(s.referrerPolicy=o.referrerPolicy),o.crossOrigin==="use-credentials"?s.credentials="include":o.crossOrigin==="anonymous"?s.credentials="omit":s.credentials="same-origin",s}function r(o){if(o.ep)return;o.ep=!0;const s=a(o);fetch(o.href,s)}})();const La=["stroke-width"],Oa=["d"],de=X({__name:"Icon",props:{name:{},size:{default:"md"},strokeWidth:{default:1.5}},setup(e){const t=e,a={play:"M5.25 5.653c0-.856.917-1.398 1.667-.986l11.54 6.348a1.125 1.125 0 010 1.971l-11.54 6.347a1.125 1.125 0 01-1.667-.985V5.653z",refresh:"M16.023 9.348h4.992v-.001M2.985 19.644v-4.992m0 0h4.992m-4.993 0l3.181 3.183a8.25 8.25 0 0013.803-3.7M4.031 9.865a8.25 8.25 0 0113.803-3.7l3.181 3.182m0-4.991v4.99",edit:"M16.862 4.487l1.687-1.688a1.875 1.875 0 112.652 2.652L10.582 16.07a4.5 4.5 0 01-1.897 1.13L6 18l.8-2.685a4.5 4.5 0 011.13-1.897l8.932-8.931zm0 0L19.5 7.125M18 14v4.75A2.25 2.25 0 0115.75 21H5.25A2.25 2.25 0 013 18.75V8.25A2.25 2.25 0 015.25 6H10",trash:"M14.74 9l-.346 9m-4.788 0L9.26 9m9.968-3.21c.342.052.682.107 1.022.166m-1.022-.165L18.16 19.673a2.25 2.25 0 01-2.244 2.077H8.084a2.25 2.25 0 01-2.244-2.077L4.772 5.79m14.456 0a48.108 48.108 0 00-3.478-.397m-12 .562c.34-.059.68-.114 1.022-.165m0 0a48.11 48.11 0 013.478-.397m7.5 0v-.916c0-1.18-.91-2.164-2.09-2.201a51.964 51.964 0 00-3.32 0c-1.18.037-2.09 1.022-2.09 2.201v.916m7.5 0a48.667 48.667 0 00-7.5 0",plus:"M12 4.5v15m7.5-7.5h-15",search:"M21 21l-5.197-5.197m0 0A7.5 7.5 0 105.196 5.196a7.5 7.5 0 0010.607 10.607z",more:"M6.75 12a.75.75 0 11-1.5 0 .75.75 0 011.5 0zM12.75 12a.75.75 0 11-1.5 0 .75.75 0 011.5 0zM18.75 12a.75.75 0 11-1.5 0 .75.75 0 011.5 0z",chart:"M3 13.125C3 12.504 3.504 12 4.125 12h2.25c.621 0 1.125.504 1.125 1.125v6.75C7.5 20.496 6.996 21 6.375 21h-2.25A1.125 1.125 0 013 19.875v-6.75zM9.75 8.625c0-.621.504-1.125 1.125-1.125h2.25c.621 0 1.125.504 1.125 1.125v11.25c0 .621-.504 1.125-1.125 1.125h-2.25a1.125 1.125 0 01-1.125-1.125V8.625zM16.5 4.125c0-.621.504-1.125 1.125-1.125h2.25C20.496 3 21 3.504 21 4.125v15.75c0 .621-.504 1.125-1.125 1.125h-2.25a1.125 1.125 0 01-1.125-1.125V4.125z",clock:"M12 6v6h4.5m4.5 0a9 9 0 11-18 0 9 9 0 0118 0z",link:"M13.19 8.688a4.5 4.5 0 011.242 7.244l-4.5 4.5a4.5 4.5 0 01-6.364-6.364l1.757-1.757m13.35-.622l1.757-1.757a4.5 4.5 0 00-6.364-6.364l-4.5 4.5a4.5 4.5 0 001.242 7.244",sync:"M19.5 12c0-1.232-.046-2.453-.138-3.662a4.006 4.006 0 00-3.7-3.7 48.678 48.678 0 00-7.324 0 4.006 4.006 0 00-3.7 3.7c-.017.22-.032.441-.046.662M19.5 12l3-3m-3 3l-3-3m-12 3c0 1.232.046 2.453.138 3.662a4.006 4.006 0 003.7 3.7 48.656 48.656 0 007.324 0 4.006 4.006 0 003.7-3.7c.017-.22.032-.441.046-.662M4.5 12l3 3m-3-3l-3 3",chevronDown:"M19.5 8.25l-7.5 7.5-7.5-7.5",chevronRight:"M8.25 4.5l7.5 7.5-7.5 7.5",chevronLeft:"M15.75 19.5L8.25 12l7.5-7.5",check:"M4.5 12.75l6 6 9-13.5",x:"M6 18L18 6M6 6l12 12",eye:"M2.036 12.322a1.012 1.012 0 010-.639C3.423 7.51 7.36 4.5 12 4.5c4.638 0 8.573 3.007 9.963 7.178.07.207.07.431 0 .639C20.577 16.49 16.64 19.5 12 19.5c-4.638 0-8.573-3.007-9.963-7.178zM15 12a3 3 0 11-6 0 3 3 0 016 0z",eyeOff:"M3.98 8.223A10.477 10.477 0 001.934 12C3.226 16.338 7.244 19.5 12 19.5c.993 0 1.953-.138 2.863-.395M6.228 6.228A10.45 10.45 0 0112 4.5c4.756 0 8.773 3.162 10.065 7.498a10.523 10.523 0 01-4.293 5.774M6.228 6.228L3 3m3.228 3.228l3.65 3.65m7.894 7.894L21 21m-3.228-3.228l-3.65-3.65m0 0a3 3 0 10-4.243-4.243m4.242 4.242L9.88 9.88",cog:"M9.594 3.94c.09-.542.56-.94 1.11-.94h2.593c.55 0 1.02.398 1.11.94l.213 1.281c.063.374.313.686.645.87.074.04.147.083.22.127.324.196.72.257 1.075.124l1.217-.456a1.125 1.125 0 011.37.49l1.296 2.247a1.125 1.125 0 01-.26 1.431l-1.003.827c-.293.24-.438.613-.431.992a6.759 6.759 0 010 .255c-.007.378.138.75.43.99l1.005.828c.424.35.534.954.26 1.43l-1.298 2.247a1.125 1.125 0 01-1.369.491l-1.217-.456c-.355-.133-.75-.072-1.076.124a6.57 6.57 0 01-.22.128c-.331.183-.581.495-.644.869l-.213 1.28c-.09.543-.56.941-1.11.941h-2.594c-.55 0-1.02-.398-1.11-.94l-.213-1.281c-.062-.374-.312-.686-.644-.87a6.52 6.52 0 01-.22-.127c-.325-.196-.72-.257-1.076-.124l-1.217.456a1.125 1.125 0 01-1.369-.49l-1.297-2.247a1.125 1.125 0 01.26-1.431l1.004-.827c.292-.24.437-.613.43-.992a6.932 6.932 0 010-.255c.007-.378-.138-.75-.43-.99l-1.004-.828a1.125 1.125 0 01-.26-1.43l1.297-2.247a1.125 1.125 0 011.37-.491l1.216.456c.356.133.751.072 1.076-.124.072-.044.146-.087.22-.128.332-.183.582-.495.644-.869l.214-1.281z M15 12a3 3 0 11-6 0 3 3 0 016 0z",grid:"M3.75 6A2.25 2.25 0 016 3.75h2.25A2.25 2.25 0 0110.5 6v2.25a2.25 2.25 0 01-2.25 2.25H6a2.25 2.25 0 01-2.25-2.25V6zM3.75 15.75A2.25 2.25 0 016 13.5h2.25a2.25 2.25 0 012.25 2.25V18a2.25 2.25 0 01-2.25 2.25H6A2.25 2.25 0 013.75 18v-2.25zM13.5 6a2.25 2.25 0 012.25-2.25H18A2.25 2.25 0 0120.25 6v2.25A2.25 2.25 0 0118 10.5h-2.25a2.25 2.25 0 01-2.25-2.25V6zM13.5 15.75a2.25 2.25 0 012.25-2.25H18a2.25 2.25 0 012.25 2.25V18A2.25 2.25 0 0118 20.25h-2.25A2.25 2.25 0 0113.5 18v-2.25z",chat:"M8.625 12a.375.375 0 11-.75 0 .375.375 0 01.75 0zm0 0H8.25m4.125 0a.375.375 0 11-.75 0 .375.375 0 01.75 0zm0 0H12m4.125 0a.375.375 0 11-.75 0 .375.375 0 01.75 0zm0 0h-.375M21 12c0 4.556-4.03 8.25-9 8.25a9.764 9.764 0 01-2.555-.337A5.972 5.972 0 015.41 20.97a5.969 5.969 0 01-.474-.065 4.48 4.48 0 00.978-2.025c.09-.457-.133-.901-.467-1.226C3.93 16.178 3 14.189 3 12c0-4.556 4.03-8.25 9-8.25s9 3.694 9 8.25z",lightbulb:"M12 18v-5.25m0 0a6.01 6.01 0 001.5-.189m-1.5.189a6.01 6.01 0 01-1.5-.189m3.75 7.478a12.06 12.06 0 01-4.5 0m3.75 2.383a14.406 14.406 0 01-3 0M14.25 18v-.192c0-.983.658-1.823 1.508-2.316a7.5 7.5 0 10-7.517 0c.85.493 1.509 1.333 1.509 2.316V18",arrowRight:"M13.5 4.5L21 12m0 0l-7.5 7.5M21 12H3",arrowLeft:"M10.5 19.5L3 12m0 0l7.5-7.5M3 12h18",arrowUp:"M5 10l7-7m0 0l7 7m-7-7v18",arrowDown:"M19 14l-7 7m0 0l-7-7m7 7V3",arrowsUpDown:"M3 7.5L7.5 3m0 0L12 7.5M7.5 3v13.5m13.5 0L16.5 21m0 0L12 16.5m4.5 4.5V7.5",chevronUp:"M5 15l7-7 7 7",externalLink:"M10 6H6a2 2 0 00-2 2v10a2 2 0 002 2h10a2 2 0 002-2v-4M14 4h6m0 0v6m0-6L10 14",checkCircle:"M9 12.75L11.25 15 15 9.75M21 12a9 9 0 11-18 0 9 9 0 0118 0z",xCircle:"M10 14l2-2m0 0l2-2m-2 2l-2-2m2 2l2 2m7-2a9 9 0 11-18 0 9 9 0 0118 0z",exclamationCircle:"M12 9v3.75m9-.75a9 9 0 11-18 0 9 9 0 0118 0zm-9 3.75h.008v.008H12v-.008z",exclamationTriangle:"M12 9v2m0 4h.01m-6.938 4h13.856c1.54 0 2.502-1.667 1.732-3L13.732 4c-.77-1.333-2.694-1.333-3.464 0L3.34 16c-.77 1.333.192 3 1.732 3z",trophy:"M16.5 18.75h-9m9 0a3 3 0 013 3h-15a3 3 0 013-3m9 0v-4.5A3.375 3.375 0 0012.75 11.25h-1.5A3.375 3.375 0 008.25 14.25v4.5m8.25-12V6.75a.75.75 0 00-.75-.75h-1.5a.75.75 0 00-.75.75v1.5m0 0V9a.75.75 0 01-.75.75H9.75A.75.75 0 019 9V8.25m0 0V6.75a.75.75 0 00-.75-.75h-1.5a.75.75 0 00-.75.75v1.5m12 0h.008v.008h-.008V8.25zm-12 0h.008v.008H5.25V8.25z",infoCircle:"M11.25 11.25l.041-.02a.75.75 0 011.063.852l-.708 2.836a.75.75 0 001.063.853l.041-.021M21 12a9 9 0 11-18 0 9 9 0 0118 0zm-9-3.75h.008v.008H12V8.25z",questionCircle:"M8.228 9c.549-1.165 2.03-2 3.772-2 2.21 0 4 1.343 4 3 0 1.4-1.278 2.575-3.006 2.907-.542.104-.994.54-.994 1.093m0 3h.01M21 12a9 9 0 11-18 0 9 9 0 0118 0z",user:"M15.75 6a3.75 3.75 0 11-7.5 0 3.75 3.75 0 017.5 0zM4.501 20.118a7.5 7.5 0 0114.998 0A17.933 17.933 0 0112 21.75c-2.676 0-5.216-.584-7.499-1.632z",userCircle:"M5.121 17.804A13.937 13.937 0 0112 16c2.5 0 4.847.655 6.879 1.804M15 10a3 3 0 11-6 0 3 3 0 016 0zm6 2a9 9 0 11-18 0 9 9 0 0118 0z",userPlus:"M18 9v3m0 0v3m0-3h3m-3 0h-3m-2-5a4 4 0 11-8 0 4 4 0 018 0zM3 20a6 6 0 0112 0v1H3v-1z",users:"M17 20h5v-2a3 3 0 00-5.356-1.857M17 20H7m10 0v-2c0-.656-.126-1.283-.356-1.857M7 20H2v-2a3 3 0 015.356-1.857M7 20v-2c0-.656.126-1.283.356-1.857m0 0a5.002 5.002 0 019.288 0M15 7a3 3 0 11-6 0 3 3 0 016 0zm6 3a2 2 0 11-4 0 2 2 0 014 0zM7 10a2 2 0 11-4 0 2 2 0 014 0z",document:"M9 12h6m-6 4h6m2 5H7a2 2 0 01-2-2V5a2 2 0 012-2h5.586a1 1 0 01.707.293l5.414 5.414a1 1 0 01.293.707V19a2 2 0 01-2 2z",clipboard:"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2",copy:"M8 16H6a2 2 0 01-2-2V6a2 2 0 012-2h8a2 2 0 012 2v2m-6 12h8a2 2 0 002-2v-8a2 2 0 00-2-2h-8a2 2 0 00-2 2v8a2 2 0 002 2z",inbox:"M20 13V6a2 2 0 00-2-2H6a2 2 0 00-2 2v7m16 0v5a2 2 0 01-2 2H6a2 2 0 01-2-2v-5m16 0h-2.586a1 1 0 00-.707.293l-2.414 2.414a1 1 0 01-.707.293h-3.172a1 1 0 01-.707-.293l-2.414-2.414A1 1 0 006.586 13H4",download:"M4 16v1a3 3 0 003 3h10a3 3 0 003-3v-1m-4-4l-4 4m0 0l-4-4m4 4V4",upload:"M3 16.5v2.25A2.25 2.25 0 005.25 21h13.5A2.25 2.25 0 0021 18.75V16.5m-13.5-9L12 3m0 0l4.5 4.5M12 3v13.5",filter:"M12 3c2.755 0 5.455.232 8.083.678.533.09.917.556.917 1.096v1.044a2.25 2.25 0 01-.659 1.591l-5.432 5.432a2.25 2.25 0 00-.659 1.591v2.927a2.25 2.25 0 01-1.244 2.013L9.75 21v-6.568a2.25 2.25 0 00-.659-1.591L3.659 7.409A2.25 2.25 0 013 5.818V4.774c0-.54.384-1.006.917-1.096A48.32 48.32 0 0112 3z",globe:"M12 21a9.004 9.004 0 008.716-6.747M12 21a9.004 9.004 0 01-8.716-6.747M12 21c2.485 0 4.5-4.03 4.5-9S14.485 3 12 3m0 18c-2.485 0-4.5-4.03-4.5-9S9.515 3 12 3m0 0a8.997 8.997 0 017.843 4.582M12 3a8.997 8.997 0 00-7.843 4.582m15.686 0A11.953 11.953 0 0112 10.5c-2.998 0-5.74-1.1-7.843-2.918m15.686 0A8.959 8.959 0 0121 12c0 .778-.099 1.533-.284 2.253m0 0A17.919 17.919 0 0112 16.5c-3.162 0-6.133-.815-8.716-2.247m0 0A9.015 9.015 0 013 12c0-1.605.42-3.113 1.157-4.418",sort:"M8.25 15L12 18.75 15.75 15m-7.5-6L12 5.25 15.75 9",key:"M15.75 5.25a3 3 0 013 3m3 0a6 6 0 01-7.029 5.912c-.563-.097-1.159.026-1.563.43L10.5 17.25H8.25v2.25H6v2.25H2.25v-2.818c0-.597.237-1.17.659-1.591l6.499-6.499c.404-.404.527-1 .43-1.563A6 6 0 1121.75 8.25z",lock:"M16.5 10.5V6.75a4.5 4.5 0 10-9 0v3.75m-.75 11.25h10.5a2.25 2.25 0 002.25-2.25v-6.75a2.25 2.25 0 00-2.25-2.25H6.75a2.25 2.25 0 00-2.25 2.25v6.75a2.25 2.25 0 002.25 2.25z",shield:"M9 12.75L11.25 15 15 9.75m-3-7.036A11.959 11.959 0 013.598 6 11.99 11.99 0 003 9.749c0 5.592 3.824 10.29 9 11.623 5.176-1.332 9-6.03 9-11.622 0-1.31-.21-2.571-.598-3.751h-.152c-3.196 0-6.1-1.248-8.25-3.285z",menu:"M3.75 6.75h16.5M3.75 12h16.5m-16.5 5.25h16.5",calendar:"M6.75 3v2.25M17.25 3v2.25M3 18.75V7.5a2.25 2.25 0 012.25-2.25h13.5A2.25 2.25 0 0121 7.5v11.25m-18 0A2.25 2.25 0 005.25 21h13.5A2.25 2.25 0 0021 18.75m-18 0v-7.5A2.25 2.25 0 015.25 9h13.5A2.25 2.25 0 0121 11.25v7.5",home:"M2.25 12l8.954-8.955c.44-.439 1.152-.439 1.591 0L21.75 12M4.5 9.75v10.125c0 .621.504 1.125 1.125 1.125H9.75v-4.875c0-.621.504-1.125 1.125-1.125h2.25c.621 0 1.125.504 1.125 1.125V21h4.125c.621 0 1.125-.504 1.125-1.125V9.75M8.25 21h8.25",terminal:"M6.75 7.5l3 2.25-3 2.25m4.5 0h3m-9 8.25h13.5A2.25 2.25 0 0021 18V6a2.25 2.25 0 00-2.25-2.25H5.25A2.25 2.25 0 003 6v12a2.25 2.25 0 002.25 2.25z",gift:"M21 11.25v8.25a1.5 1.5 0 01-1.5 1.5H5.25a1.5 1.5 0 01-1.5-1.5v-8.25M12 4.875A2.625 2.625 0 109.375 7.5H12m0-2.625V7.5m0-2.625A2.625 2.625 0 1114.625 7.5H12m0 0V21m-8.625-9.75h18c.621 0 1.125-.504 1.125-1.125v-1.5c0-.621-.504-1.125-1.125-1.125h-18c-.621 0-1.125.504-1.125 1.125v1.5c0 .621.504 1.125 1.125 1.125z",creditCard:"M2.25 8.25h19.5M2.25 9h19.5m-16.5 5.25h6m-6 2.25h3m-3.75 3h15a2.25 2.25 0 002.25-2.25V6.75A2.25 2.25 0 0019.5 4.5h-15a2.25 2.25 0 00-2.25 2.25v10.5A2.25 2.25 0 004.5 19.5z",mail:"M21.75 6.75v10.5a2.25 2.25 0 01-2.25 2.25h-15a2.25 2.25 0 01-2.25-2.25V6.75m19.5 0A2.25 2.25 0 0019.5 4.5h-15a2.25 2.25 0 00-2.25 2.25m19.5 0v.243a2.25 2.25 0 01-1.07 1.916l-7.5 4.615a2.25 2.25 0 01-2.36 0L3.32 8.91a2.25 2.25 0 01-1.07-1.916V6.75",chartBar:"M9 19v-6a2 2 0 00-2-2H5a2 2 0 00-2 2v6a2 2 0 002 2h2a2 2 0 002-2zm0 0V9a2 2 0 012-2h2a2 2 0 012 2v10m-6 0a2 2 0 002 2h2a2 2 0 002-2m0 0V5a2 2 0 012-2h2a2 2 0 012 2v14a2 2 0 01-2 2h-2a2 2 0 01-2-2z",trendingUp:"M13 7h8m0 0v8m0-8l-8 8-4-4-6 6",database:"M20.25 6.375c0 2.278-3.694 4.125-8.25 4.125S3.75 8.653 3.75 6.375m16.5 0c0-2.278-3.694-4.125-8.25-4.125S3.75 4.097 3.75 6.375m16.5 0v11.25c0 2.278-3.694 4.125-8.25 4.125s-8.25-1.847-8.25-4.125V6.375m16.5 0v3.75m-16.5-3.75v3.75m16.5 0v3.75C20.25 16.153 16.556 18 12 18s-8.25-1.847-8.25-4.125v-3.75m16.5 0c0 2.278-3.694 4.125-8.25 4.125s-8.25-1.847-8.25-4.125",cube:"M20 7l-8-4-8 4m16 0l-8 4m8-4v10l-8 4m0-10L4 7m8 4v10M4 7v10l8 4",bell:"M15 17h5l-1.405-1.405A2.032 2.032 0 0118 14.158V11a6.002 6.002 0 00-4-5.659V5a2 2 0 10-4 0v.341C7.67 6.165 6 8.388 6 11v3.159c0 .538-.214 1.055-.595 1.436L4 17h5m6 0v1a3 3 0 11-6 0v-1m6 0H9",bolt:"M13 10V3L4 14h7v7l9-11h-7z",sparkles:"M9.813 15.904L9 18.75l-.813-2.846a4.5 4.5 0 00-3.09-3.09L2.25 12l2.846-.813a4.5 4.5 0 003.09-3.09L9 5.25l.813 2.846a4.5 4.5 0 003.09 3.09L15.75 12l-2.846.813a4.5 4.5 0 00-3.09 3.09zM18.259 8.715L18 9.75l-.259-1.035a3.375 3.375 0 00-2.455-2.456L14.25 6l1.036-.259a3.375 3.375 0 002.455-2.456L18 2.25l.259 1.035a3.375 3.375 0 002.456 2.456L21.75 6l-1.035.259a3.375 3.375 0 00-2.456 2.456z",cloud:"M2.25 15a4.5 4.5 0 004.5 4.5H18a3.75 3.75 0 001.332-7.257 3 3 0 00-3.758-3.848 5.25 5.25 0 00-10.233 2.33A4.502 4.502 0 002.25 15z",server:"M5.25 14.25h13.5m-13.5 0a3 3 0 01-3-3m3 3a3 3 0 100 6h13.5a3 3 0 100-6m-16.5-3a3 3 0 013-3h13.5a3 3 0 013 3m-19.5 0a4.5 4.5 0 01.9-2.7L5.737 5.1a3.375 3.375 0 012.7-1.35h7.126c1.062 0 2.062.5 2.7 1.35l2.587 3.45a4.5 4.5 0 01.9 2.7m0 0a3 3 0 01-3 3m0 3h.008v.008h-.008v-.008zm0-6h.008v.008h-.008v-.008zm-3 6h.008v.008h-.008v-.008zm0-6h.008v.008h-.008v-.008z",sun:"M12 3v2.25m6.364.386l-1.591 1.591M21 12h-2.25m-.386 6.364l-1.591-1.591M12 18.75V21m-4.773-4.227l-1.591 1.591M5.25 12H3m4.227-4.773L5.636 5.636M15.75 12a3.75 3.75 0 11-7.5 0 3.75 3.75 0 017.5 0z",moon:"M21.752 15.002A9.718 9.718 0 0118 15.75c-5.385 0-9.75-4.365-9.75-9.75 0-1.33.266-2.597.748-3.752A9.753 9.753 0 003 11.25C3 16.635 7.365 21 12.75 21a9.753 9.753 0 009.002-5.998z",book:"M12 6.042A8.967 8.967 0 006 3.75c-1.052 0-2.062.18-3 .512v14.25A8.987 8.987 0 016 18c2.305 0 4.408.867 6 2.292m0-14.25a8.966 8.966 0 016-2.292c1.052 0 2.062.18 3 .512v14.25A8.987 8.987 0 0018 18a8.967 8.967 0 00-6 2.292m0-14.25v14.25",dollar:"M12 6v12m-3-2.818l.879.659c1.171.879 3.07.879 4.242 0 1.172-.879 1.172-2.303 0-3.182C13.536 12.219 12.768 12 12 12c-.725 0-1.45-.22-2.003-.659-1.106-.879-1.106-2.303 0-3.182s2.9-.879 4.006 0l.415.33M21 12a9 9 0 11-18 0 9 9 0 0118 0z",ban:"M18.364 18.364A9 9 0 005.636 5.636m12.728 12.728A9 9 0 015.636 5.636m12.728 12.728L5.636 5.636",login:"M15.75 9V5.25A2.25 2.25 0 0013.5 3h-6a2.25 2.25 0 00-2.25 2.25v13.5A2.25 2.25 0 007.5 21h6a2.25 2.25 0 002.25-2.25V15m3 0l3-3m0 0l-3-3m3 3H9",swap:"M7.5 21L3 16.5m0 0L7.5 12M3 16.5h13.5m0-13.5L21 7.5m0 0L16.5 12M21 7.5H7.5",beaker:"M9.75 3.104v5.714a2.25 2.25 0 01-.659 1.591L5 14.5M9.75 3.104c-.251.023-.501.05-.75.082m.75-.082a24.301 24.301 0 014.5 0m0 0v5.714c0 .597.237 1.17.659 1.591L19.8 15.3M14.25 3.104c.251.023.501.05.75.082M19.8 15.3l-1.57.393A9.065 9.065 0 0112 15a9.065 9.065 0 00-6.23.693L5 14.5m14.8.8l1.402 1.402c1.232 1.232.65 3.318-1.067 3.611A48.309 48.309 0 0112 21c-2.773 0-5.491-.235-8.135-.687-1.718-.293-2.3-2.379-1.067-3.61L5 14.5",cpu:"M9 3v2m6-2v2M9 19v2m6-2v2M5 9H3m2 6H3m18-6h-2m2 6h-2M7 19h10a2 2 0 002-2V7a2 2 0 00-2-2H7a2 2 0 00-2 2v10a2 2 0 002 2zM9 9h6v6H9V9z",chatBubble:"M8 10h.01M12 10h.01M16 10h.01M9 16H5a2 2 0 01-2-2V6a2 2 0 012-2h14a2 2 0 012 2v8a2 2 0 01-2 2h-5l-5 5v-5z",calculator:"M9 7h6m0 10v-3m-3 3h.01M9 17h.01M9 14h.01M12 14h.01M15 11h.01M12 11h.01M9 11h.01M7 21h10a2 2 0 002-2V5a2 2 0 00-2-2H7a2 2 0 00-2 2v14a2 2 0 002 2z",fire:"M17.657 18.657A8 8 0 016.343 7.343S7 9 9 10c0-2 .5-5 2.986-7C14 5 16.09 5.777 17.656 7.343A7.975 7.975 0 0120 13a7.975 7.975 0 01-2.343 5.657z",badge:"M9 12.75L11.25 15 15 9.75M21 12c0 1.268-.63 2.39-1.593 3.068a3.745 3.745 0 01-1.043 3.296 3.745 3.745 0 01-3.296 1.043A3.745 3.745 0 0112 21c-1.268 0-2.39-.63-3.068-1.593a3.746 3.746 0 01-3.296-1.043 3.745 3.745 0 01-1.043-3.296A3.745 3.745 0 013 12c0-1.268.63-2.39 1.593-3.068a3.745 3.745 0 011.043-3.296 3.746 3.746 0 013.296-1.043A3.746 3.746 0 0112 3c1.268 0 2.39.63 3.068 1.593a3.746 3.746 0 013.296 1.043 3.746 3.746 0 011.043 3.296A3.745 3.745 0 0121 12z",brain:"M9.75 3.104v5.714a2.25 2.25 0 01-.659 1.591L5 14.5M9.75 3.104c-.251.023-.501.05-.75.082m.75-.082a24.301 24.301 0 014.5 0m0 0v5.714c0 .597.237 1.17.659 1.591L19.8 15.3M14.25 3.104c.251.023.501.05.75.082M19.8 15.3l-1.57.393A9.065 9.065 0 0112 15a9.065 9.065 0 00-6.23.693L5 14.5m0 0l-2.69 2.689c-1.232 1.232-.65 3.318 1.067 3.611A48.309 48.309 0 0012 21c2.773 0 5.491-.235 8.135-.687 1.718-.293 2.3-2.379 1.067-3.61L19.8 15.3M12 8.25a1.5 1.5 0 100-3 1.5 1.5 0 000 3zm0 0v3m-3-1.5a1.5 1.5 0 100-3 1.5 1.5 0 000 3zm0 0h6m-3 4.5a1.5 1.5 0 100-3 1.5 1.5 0 000 3z"},r=I(()=>a[t.name]),o=I(()=>({xs:"h-3 w-3",sm:"h-4 w-4",md:"h-5 w-5",lg:"h-6 w-6",xl:"h-8 w-8"})[t.size]);return(s,i)=>(C(),L("svg",{class:Z(o.value),fill:"none",viewBox:"0 0 24 24",stroke:"currentColor","stroke-width":e.strokeWidth},[_("path",{"stroke-linecap":"round","stroke-linejoin":"round",d:r.value},null,8,Oa)],10,La))}}),Da="modulepreload",qa=function(e){return"/"+e},it={},h=function(t,a,r){let o=Promise.resolve();if(a&&a.length>0){document.getElementsByTagName("link");const i=document.querySelector("meta[property=csp-nonce]"),c=(i==null?void 0:i.nonce)||(i==null?void 0:i.getAttribute("nonce"));o=Promise.allSettled(a.map(u=>{if(u=qa(u),u in it)return;it[u]=!0;const p=u.endsWith(".css"),d=p?'[rel="stylesheet"]':"";if(document.querySelector(`link[href="${u}"]${d}`))return;const y=document.createElement("link");if(y.rel=p?"stylesheet":Da,p||(y.as="script"),y.crossOrigin="",y.href=u,c&&y.setAttribute("nonce",c),document.head.appendChild(y),p)return new Promise((m,l)=>{y.addEventListener("load",m),y.addEventListener("error",()=>l(new Error(`Unable to preload CSS for ${u}`)))})}))}function s(i){const c=new Event("vite:preloadError",{cancelable:!0});if(c.payload=i,window.dispatchEvent(c),!c.defaultPrevented)throw i}return o.then(i=>{for(const c of i||[])c.status==="rejected"&&s(c.reason);return t().catch(s)})},$t="sub2api_locale",Fe="en",za={en:()=>h(()=>import("./index-B8K7lps6.js"),[]),zh:()=>h(()=>import("./index-fC5CwlSr.js"),[])};function We(e){return e==="en"||e==="zh"}function Ua(){const e=localStorage.getItem($t);return e&&We(e)?e:navigator.language.toLowerCase().startsWith("zh")?"zh":Fe}const D=xa({legacy:!1,locale:Ua(),fallbackLocale:Fe,messages:{},warnHtmlMessage:!1}),ct=new Set;async function Ct(e){if(ct.has(e))return;const t=za[e],a=await t();D.global.setLocaleMessage(e,a.default),ct.add(e)}async function Ka(){const e=Y();await Ct(e),document.documentElement.setAttribute("lang",e)}async function Wp(e){var y;if(!We(e))return;await Ct(e),D.global.locale.value=e,localStorage.setItem($t,e),document.documentElement.setAttribute("lang",e);const{resolveRouteDocumentTitle:t}=await h(async()=>{const{resolveRouteDocumentTitle:m}=await Promise.resolve().then(()=>ep);return{resolveRouteDocumentTitle:m}},void 0),{default:a}=await h(async()=>{const{default:m}=await Promise.resolve().then(()=>xp);return{default:m}},void 0),{useAppStore:r}=await h(async()=>{const{useAppStore:m}=await Promise.resolve().then(()=>Kn);return{useAppStore:m}},void 0),{useAuthStore:o}=await h(async()=>{const{useAuthStore:m}=await Promise.resolve().then(()=>hm);return{useAuthStore:m}},void 0),{useAdminSettingsStore:s}=await h(async()=>{const{useAdminSettingsStore:m}=await Promise.resolve().then(()=>ym);return{useAdminSettingsStore:m}},void 0),i=a.currentRoute.value,c=r(),u=o(),p=s(),d=[...((y=c.cachedPublicSettings)==null?void 0:y.custom_menu_items)??[],...u.isAdmin?p.customMenuItems:[]];document.title=t(i,c.siteName,d)}function Y(){const e=D.global.locale.value;return We(e)?e:Fe}const jp=[{code:"en",name:"English",flag:"🇺🇸"},{code:"zh",name:"中文",flag:"🇨🇳"}],Va="X-Admin-UI-Request",Na="X-User-UI-Request";function ut(e){return e==="/admin"||e.startsWith("/admin/")||e==="/api/v1/admin"||e.startsWith("/api/v1/admin/")}function Mt(e){const t=e.trim();if(!t)return"";try{const a=typeof window<"u"?window.location.origin:"http://localhost";return new URL(t,a).pathname}catch{return t.split(/[?#]/,1)[0]}}function Ba(e){const t=Mt(e);return t?t==="/api/v1"||t.startsWith("/api/v1/")?t.slice(7)||"/":t.startsWith("/")?t:`/${t}`:""}function Ha(e){const t=Ba(e);return t?t==="/auth/me"||t==="/auth/revoke-all-sessions"||t==="/auth/oauth/bind-token"||t==="/user"||t.startsWith("/user/")||t==="/keys"||t.startsWith("/keys/")||t==="/groups/available"||t==="/groups/rates"||t==="/channels/available"||t==="/usage"||t.startsWith("/usage/")||t==="/announcements"||t.startsWith("/announcements/")||t==="/redeem"||t.startsWith("/redeem/")||t==="/subscriptions"||t.startsWith("/subscriptions/")||t==="/channel-monitors"||t.startsWith("/channel-monitors/")?!0:t.startsWith("/payment/")?!(t.startsWith("/payment/public")||t.startsWith("/payment/webhook")):!1:!1}function Fa(e,t){const a=typeof window<"u"?window.location.pathname:"";return ut(Mt(e))||ut(a)}function Wa(e){return Ha(e)}const ce="/api/v1",ja=Ga();function je(e){return e.startsWith("/")?e:`/${e}`}function Ga(e){const a=(String(ce).trim()||ce).replace(/\/+$/,"");return/^[a-z][a-z\d+.-]*:\/\//i.test(a)||a.startsWith("//")?a:je(a)}function me(){return ja}function Gp(e){const t=me().replace(/\/+$/,"");let a=je(e);return a===ce?a="":a.startsWith(`${ce}/`)&&(a=a.slice(ce.length)),`${t}${a}`}function Tt(e){const t=je(e);try{return`${typeof window>"u"?new URL(me()).origin:new URL(me(),window.location.origin).origin}${t}`}catch{return t}}const Ge="auth_token",Qa="auth_user",Ie="refresh_token",Qe="token_expires_at",Ja="sub2api-auth-token-refresh",lt=3e4,Rt=1e3,Ya=1e3,Xa=25;let ie=null;function Je(){const e=localStorage.getItem(Qa);if(!e)return null;try{const t=Number(JSON.parse(e).id);return Number.isFinite(t)&&t>0?t:null}catch{return null}}function Za(){const e=localStorage.getItem(Ie);if(!e)throw new Error("No refresh token available");return{accessToken:localStorage.getItem(Ge),refreshToken:e,expiresAt:Number(localStorage.getItem(Qe)),userID:Je()}}function en(e){const t=localStorage.getItem(Ge),a=localStorage.getItem(Ie),r=Number(localStorage.getItem(Qe));return!t||!a||!Number.isFinite(r)||r<=Date.now()||Je()!==e.userID?null:{access_token:t,refresh_token:a,expires_in:Math.max(1,Math.ceil((r-Date.now())/1e3)),token_type:"Bearer"}}function Se(e,t){const a=en(e);return a&&(a.refresh_token!==e.refreshToken||t&&e.accessToken!==t&&a.access_token===e.accessToken)?a:null}async function tn(e,t,a=Date.now()+Rt){for(;Date.now()window.setTimeout(o,Xa))}return Se(e,t)}function an(e){localStorage.setItem(Ge,e.access_token),localStorage.setItem(Qe,String(Date.now()+e.expires_in*1e3)),localStorage.setItem(Ie,e.refresh_token)}async function nn(e,t,a=!1){var o;const r=Date.now()+lt+Ya;try{const i=(await Pe.post(`${me()}/auth/refresh`,{refresh_token:e.refreshToken},{headers:{"Content-Type":"application/json"},timeout:lt})).data;if(i.code!==0||!i.data)throw new Error(i.message||"Token refresh failed");if(localStorage.getItem(Ie)!==e.refreshToken||Je()!==e.userID){const c=Se(e,t);if(c)return c;throw new Error("Session changed during token refresh")}return an(i.data),i.data}catch(s){const i=(o=s.response)==null?void 0:o.status,c=typeof i=="number"&&i>=400&&i<500,u=await tn(e,t,c&&a?r:Date.now()+Rt);if(u)return u;throw s}}async function rn(e){const t=Za(),a=async(r=!1)=>{const o=Se(t,e.failedAccessToken);return o||nn(t,e.failedAccessToken,r)};return typeof navigator<"u"&&navigator.locks?navigator.locks.request(Ja,()=>a(!1)):a(!0)}function xt(e={}){if(ie)return ie;const t=rn(e);ie=t;const a=()=>{ie===t&&(ie=null)};return t.then(a,a),t}const n=Pe.create({baseURL:me(),withCredentials:!0,timeout:3e4,headers:{"Content-Type":"application/json"}}),on=()=>{try{return Intl.DateTimeFormat().resolvedOptions().timeZone}catch{return"UTC"}};n.interceptors.request.use(e=>{const t=localStorage.getItem("auth_token");if(t&&e.headers&&(e.headers.Authorization=`Bearer ${t}`),e.headers&&(e.headers["Accept-Language"]=Y()),e.method==="get"&&(e.params||(e.params={}),e.params.timezone=on()),e.headers){const a=String(e.url||"");Fa(a)&&(e.headers[Va]="1"),Wa(a)&&(e.headers[Na]="1")}return e},e=>Promise.reject(e));n.interceptors.response.use(e=>{const t=e.data;if(t&&typeof t=="object"&&"code"in t)if(t.code===0)e.data=t.data;else{const a=t;return Promise.reject({status:e.status,code:t.code,message:t.message||"Unknown error",reason:a.reason,metadata:a.metadata})}return e},async e=>{var a,r;if(e.code==="ERR_CANCELED"||Pe.isCancel(e))return Promise.reject(e);const t=e.config;if(e.response){const{status:o,data:s}=e.response,i=String(((a=e.config)==null?void 0:a.url)||""),c=typeof s=="object"&&s!==null?s:{};if(o===404&&c.message==="Ops monitoring is disabled"){try{localStorage.setItem("ops_monitoring_enabled_cached","false")}catch{}try{window.dispatchEvent(new CustomEvent("ops-monitoring-disabled"))}catch{}return window.location.pathname.startsWith("/admin/ops")&&(window.location.href="/admin/settings"),Promise.reject({status:o,code:"OPS_DISABLED",message:c.message||e.message,url:i})}if(o===423&&c.code==="ADMIN_COMPLIANCE_ACK_REQUIRED"){try{window.dispatchEvent(new CustomEvent("admin-compliance-required",{detail:c.metadata||{}}))}catch{}return Promise.reject({status:o,code:c.code,message:c.message||e.message,metadata:c.metadata})}if(o===401&&!t._retry){const u=localStorage.getItem("refresh_token"),p=i.includes("/auth/login")||i.includes("/auth/register")||i.includes("/auth/refresh");if(u&&!p){const f=localStorage.getItem("auth_user");t._retry=!0;try{const g=t.headers,A=(g==null?void 0:g.Authorization)??(g==null?void 0:g.authorization),P=typeof A=="string"&&A.startsWith("Bearer ")?A.slice(7):null,b=await xt({failedAccessToken:P});return t.headers&&(t.headers.Authorization=`Bearer ${b.access_token}`),n(t)}catch{return localStorage.getItem("refresh_token")!==u||localStorage.getItem("auth_user")!==f?Promise.reject({status:401,code:"AUTH_SESSION_CHANGED",message:"Authentication session changed while refreshing."}):(localStorage.removeItem("auth_token"),localStorage.removeItem("refresh_token"),localStorage.removeItem("auth_user"),localStorage.removeItem("token_expires_at"),sessionStorage.setItem("auth_expired","1"),window.location.pathname.includes("/login")||(window.location.href="/login"),Promise.reject({status:401,code:"TOKEN_REFRESH_FAILED",message:"Session expired. Please log in again."}))}}const d=!!localStorage.getItem("auth_token"),y=(r=e.config)==null?void 0:r.headers,m=(y==null?void 0:y.Authorization)??(y==null?void 0:y.authorization),l=typeof m=="string"?m.trim()!=="":Array.isArray(m)?m.length>0:!!m;localStorage.removeItem("auth_token"),localStorage.removeItem("refresh_token"),localStorage.removeItem("auth_user"),localStorage.removeItem("token_expires_at"),(d||l)&&!p&&sessionStorage.setItem("auth_expired","1"),window.location.pathname.includes("/login")||(window.location.href="/login")}return Promise.reject({status:o,code:c.code,reason:c.reason,error:c.error,message:c.message||c.detail||e.message,metadata:c.metadata})}return Promise.reject({status:0,message:"Network error. Please check your connection."})});async function sn(){const{data:e}=await n.get("/admin/system/version");return e}async function Lt(e=!1){const{data:t}=await n.get("/admin/system/check-updates",{params:e?{force:"true"}:void 0});return t}async function cn(){const{data:e}=await n.get("/admin/system/rollback-versions");return e}const Ot=15*60*1e3;async function un(){const{data:e}=await n.post("/admin/system/update",void 0,{timeout:Ot});return e}async function ln(e){const{data:t}=await n.post("/admin/system/rollback",e?{version:e}:void 0,{timeout:Ot});return t}async function dn(){const{data:e}=await n.post("/admin/system/restart");return e}const mn={getVersion:sn,checkUpdates:Lt,performUpdate:un,getRollbackVersions:cn,rollback:ln,restartService:dn};function Qp(e){const a="/api/v1".replace(/\/$/,""),r=new URLSearchParams(e.params).toString(),o=`${a}/auth/oauth/${e.provider}/start`;return r?`${o}?${r}`:o}async function Jp(e,t){const{data:a}=await n.post(`/auth/oauth/${e.provider}/start`,t,{params:e.params});return a}function Ye(e){return"requires_2fa"in e&&e.requires_2fa===!0}function Ee(e){localStorage.setItem("auth_token",e)}function fe(e){localStorage.setItem("refresh_token",e)}function ge(e){const t=Date.now()+e*1e3;localStorage.setItem("token_expires_at",String(t))}function Xe(){return localStorage.getItem("auth_token")}function Dt(){return localStorage.getItem("refresh_token")}function pn(){const e=localStorage.getItem("token_expires_at");return e?parseInt(e,10):null}function qt(){localStorage.removeItem("auth_token"),localStorage.removeItem("refresh_token"),localStorage.removeItem("auth_user"),localStorage.removeItem("token_expires_at")}async function fn(e){const{data:t}=await n.post("/auth/login",e);return Ye(t)||(Ee(t.access_token),t.refresh_token&&fe(t.refresh_token),t.expires_in&&ge(t.expires_in),localStorage.setItem("auth_user",JSON.stringify(t.user))),t}async function gn(e){const{data:t}=await n.post("/auth/login/2fa",e);return Ee(t.access_token),t.refresh_token&&fe(t.refresh_token),t.expires_in&&ge(t.expires_in),localStorage.setItem("auth_user",JSON.stringify(t.user)),t}async function hn(e){const{data:t}=await n.post("/auth/register",e);return Ee(t.access_token),t.refresh_token&&fe(t.refresh_token),t.expires_in&&ge(t.expires_in),localStorage.setItem("auth_user",JSON.stringify(t.user)),t}async function yn(){return n.get("/auth/me")}async function _n(){const e=Dt();if(e)try{await n.post("/auth/logout",{refresh_token:e})}catch{}qt()}function zt(e){const t={};return typeof(e==null?void 0:e.adoptDisplayName)=="boolean"&&(t.adopt_display_name=e.adoptDisplayName),typeof(e==null?void 0:e.adoptAvatar)=="boolean"&&(t.adopt_avatar=e.adoptAvatar),t}function vn(e){return typeof e.access_token=="string"&&e.access_token.trim().length>0}function wn(e){return vn(e)?"login":"bind"}function bn(e){return wn(e)}function An(e){return e.error==="invitation_required"}function kn(e){return!!(e.suggested_display_name||e.suggested_avatar_url)}function Yp(e){e.refresh_token&&fe(e.refresh_token),e.expires_in&&ge(e.expires_in)}async function Xp(){Xe()&&await n.post("/auth/oauth/bind-token")}async function Sn(){return xt()}async function Pn(){const{data:e}=await n.post("/auth/revoke-all-sessions");return e}function In(){return Xe()!==null}async function Ut(){const{data:e}=await n.get("/settings/public");return e}function Zp(e){const t=(e==null?void 0:e.wechat_oauth_enabled)??!1;return typeof(e==null?void 0:e.wechat_oauth_open_enabled)=="boolean"||typeof(e==null?void 0:e.wechat_oauth_mp_enabled)=="boolean"?(e==null?void 0:e.wechat_oauth_open_enabled)===!0||(e==null?void 0:e.wechat_oauth_mp_enabled)===!0:t}function En(e){return typeof(e==null?void 0:e.wechat_oauth_open_enabled)=="boolean"&&typeof(e==null?void 0:e.wechat_oauth_mp_enabled)=="boolean"}function $n(e,t){const a=(t??(typeof navigator<"u"?navigator.userAgent:"")??"").trim(),r=/MicroMessenger/i.test(a),o=(e==null?void 0:e.wechat_oauth_enabled)??!1,s=typeof(e==null?void 0:e.wechat_oauth_open_enabled)=="boolean"?e.wechat_oauth_open_enabled:o,i=typeof(e==null?void 0:e.wechat_oauth_mp_enabled)=="boolean"?e.wechat_oauth_mp_enabled:o,c=typeof(e==null?void 0:e.wechat_oauth_mobile_enabled)=="boolean"?e.wechat_oauth_mobile_enabled:!1;return r?i?{mode:"mp",openEnabled:s,mpEnabled:i,mobileEnabled:c,isWeChatBrowser:r,unavailableReason:null}:s?{mode:null,openEnabled:s,mpEnabled:i,mobileEnabled:c,isWeChatBrowser:r,unavailableReason:"external_browser_required"}:{mode:null,openEnabled:s,mpEnabled:i,mobileEnabled:c,isWeChatBrowser:r,unavailableReason:"not_configured"}:s?{mode:"open",openEnabled:s,mpEnabled:i,mobileEnabled:c,isWeChatBrowser:r,unavailableReason:null}:i?{mode:null,openEnabled:s,mpEnabled:i,mobileEnabled:c,isWeChatBrowser:r,unavailableReason:"wechat_browser_required"}:{mode:null,openEnabled:s,mpEnabled:i,mobileEnabled:c,isWeChatBrowser:r,unavailableReason:"not_configured"}}function ef(e,t){const a=((typeof navigator<"u"?navigator.userAgent:"")??"").trim(),r=/MicroMessenger/i.test(a);return En(e)?$n(e,a):{mode:null,openEnabled:!1,mpEnabled:!1,mobileEnabled:!1,isWeChatBrowser:r,unavailableReason:"capability_unknown"}}async function Cn(e){const{data:t}=await n.post("/auth/send-verify-code",e);return t}async function Mn(e){const{data:t}=await n.post("/auth/oauth/pending/send-verify-code",e);return t}async function Tn(e){const{data:t}=await n.post("/auth/validate-promo-code",{code:e});return t}async function Rn(e){const{data:t}=await n.post("/auth/validate-invitation-code",{code:e});return t}async function xn(e){const{data:t}=await n.post("/auth/forgot-password",e);return t}async function Ln(e){const{data:t}=await n.post("/auth/reset-password",e);return t}async function On(e,t,a){return Kt(e,t,a)}async function Dn(e,t,a){return Vt(e,t,a)}async function qn(e,t,a){return Nt(e,t,a)}async function $e(e,t,a,r){const o=r==null?void 0:r.trim(),{data:s}=await n.post(`/auth/oauth/${e}/complete-registration`,{invitation_code:t,...o?{aff_code:o}:{},...zt(a)});return s}async function Kt(e,t,a){return $e("linuxdo",e,t,a)}async function Vt(e,t,a){return $e("oidc",e,t,a)}async function Nt(e,t,a){return $e("wechat",e,t,a)}async function zn(e,t,a){return $e("dingtalk",e,t,a)}async function Bt(e){const{data:t}=await n.post("/auth/oauth/pending/exchange",zt(e));return t}async function Un(e){return Bt(e)}const ne={login:fn,login2FA:gn,isTotp2FARequired:Ye,register:hn,getCurrentUser:yn,logout:_n,isAuthenticated:In,setAuthToken:Ee,setRefreshToken:fe,setTokenExpiresAt:ge,getAuthToken:Xe,getRefreshToken:Dt,getTokenExpiresAt:pn,clearAuthToken:qt,getPublicSettings:Ut,sendVerifyCode:Cn,sendPendingOAuthVerifyCode:Mn,validatePromoCode:Tn,validateInvitationCode:Rn,forgotPassword:xn,resetPassword:Ln,refreshToken:Sn,revokeAllSessions:Pn,getPendingOAuthBindLoginKind:bn,isPendingOAuthCreateAccountRequired:An,hasPendingOAuthSuggestedProfile:kn,completePendingOAuthBindLogin:Bt,createPendingLinuxDoOAuthAccount:Kt,createPendingOIDCOAuthAccount:Vt,createPendingWeChatOAuthAccount:Nt,exchangePendingOAuthCompletion:Un,completeLinuxDoOAuthRegistration:On,completeOIDCOAuthRegistration:Dn,completeWeChatOAuthRegistration:qn,createPendingDingTalkOAuthAccount:zn},ae=oe("app",()=>{const e=w(!1),t=w(!1),a=w(0),r=w(!1),o=w([]),s=w(!1),i=w(!1),c=w("Sub2API"),u=w(""),p=w(""),d=w(""),y=w(""),m=w(""),l=w(null);let f=null;const g=w(!1),A=w(!1),P=w(""),b=w(""),M=w(!1),E=w("source"),K=w(null);let G=0;const H=I(()=>o.value.length>0),F=I(()=>{var k;return((k=l.value)==null?void 0:k.backend_mode_enabled)??!1}),z=w(0);function W(){e.value=!e.value}function O(k){e.value=k}function q(){t.value=!t.value}function V(k){t.value=k}function v(k){k?z.value++:z.value=Math.max(0,z.value-1),r.value=z.value>0}function S(k,$,N){const B=`toast-${++G}`,_a={id:B,type:k,message:$,duration:N,startTime:N!==void 0?Date.now():void 0};return o.value.push(_a),N!==void 0&&setTimeout(()=>{st(B)},N),B}function x(k,$=3e3){return S("success",k,$)}function Q(k,$=5e3){return S("error",k,$)}function se(k,$=3e3){return S("info",k,$)}function ca(k,$=4e3){return S("warning",k,$)}function st(k){const $=o.value.findIndex(N=>N.id===k);$!==-1&&o.value.splice($,1)}function ua(){o.value=[]}async function la(k){v(!0);try{return await k()}finally{v(!1)}}async function da(k,$){v(!0);try{return await k()}catch(N){const B=$||N.message||D.global.t("common.unknownError");return Q(B),null}finally{v(!1)}}function ma(){e.value=!1,r.value=!1,z.value=0,o.value=[]}async function pa(k=!1){if(g.value&&!k)return{current_version:P.value,latest_version:b.value,has_update:M.value,build_type:E.value,release_info:K.value||void 0,cached:!0};if(A.value)return null;A.value=!0;try{const $=await Lt(k);return P.value=$.current_version,b.value=$.latest_version,M.value=$.has_update,E.value=$.build_type||"source",K.value=$.release_info||null,g.value=!0,$}catch($){return console.error("Failed to fetch version:",$),null}finally{A.value=!1}}function fa(){g.value=!1,M.value=!1}function Re(k){typeof window<"u"&&(window.__APP_CONFIG__={...k}),l.value=k,c.value=k.site_name||"Sub2API",u.value=k.site_logo||"",p.value=k.version||"",d.value=k.contact_info||"",y.value=k.api_base_url||"",m.value=k.doc_url||"",s.value=!0}function ga(k=!1){if(f)return f;if(!s.value&&!k&&window.__APP_CONFIG__)return Re(window.__APP_CONFIG__),Promise.resolve(window.__APP_CONFIG__);if(s.value&&!k)return l.value?Promise.resolve({...l.value}):Promise.resolve({registration_enabled:!1,email_verify_enabled:!1,force_email_on_third_party_signup:!1,registration_email_suffix_whitelist:[],promo_code_enabled:!0,password_reset_enabled:!1,invitation_code_enabled:!1,turnstile_enabled:!1,turnstile_site_key:"",aliyun_captcha_enabled:!1,aliyun_captcha_scene_id:"",aliyun_captcha_prefix:"",aliyun_captcha_region:"cn",site_name:c.value,site_logo:u.value,site_subtitle:"",api_base_url:y.value,contact_info:d.value,doc_url:m.value,home_content:"",compact_home_enabled:!1,hide_ccs_import_button:!1,payment_enabled:!1,table_default_page_size:20,table_page_size_options:[10,20,50,100],custom_menu_items:[],custom_endpoints:[],linuxdo_oauth_enabled:!1,wechat_oauth_enabled:!1,wechat_oauth_open_enabled:!1,wechat_oauth_mp_enabled:!1,wechat_oauth_mobile_enabled:!1,oidc_oauth_enabled:!1,oidc_oauth_provider_name:"OIDC",github_oauth_enabled:!1,google_oauth_enabled:!1,backend_mode_enabled:!1,passkey_enabled:!1,version:p.value,balance_low_notify_enabled:!1,account_quota_notify_enabled:!1,balance_low_notify_threshold:0,channel_monitor_enabled:!0,channel_monitor_default_interval_seconds:60,available_channels_enabled:!1,model_plaza_enabled:!1,model_plaza_require_auth:!1,plugin_management_enabled:!1,risk_control_enabled:!1,service_quota_enabled:!1,affiliate_enabled:!1,allow_user_view_error_requests:!1});i.value=!0;let $;try{$=Ut()}catch(B){return console.error("Failed to fetch public settings:",B),i.value=!1,Promise.resolve(null)}const N=$.then(B=>(Re(B),B)).catch(B=>(console.error("Failed to fetch public settings:",B),null)).finally(()=>{f===N&&(f=null,i.value=!1)});return f=N,N}function ha(){s.value=!1,l.value=null}function ya(){return window.__APP_CONFIG__?(Re(window.__APP_CONFIG__),!0):!1}return{sidebarCollapsed:e,mobileOpen:t,sidebarScrollTop:a,loading:r,toasts:o,publicSettingsLoaded:s,siteName:c,siteLogo:u,siteVersion:p,contactInfo:d,apiBaseUrl:y,docUrl:m,cachedPublicSettings:l,versionLoaded:g,versionLoading:A,currentVersion:P,latestVersion:b,hasUpdate:M,buildType:E,releaseInfo:K,hasActiveToasts:H,backendModeEnabled:F,toggleSidebar:W,setSidebarCollapsed:O,toggleMobileSidebar:q,setMobileOpen:V,setLoading:v,showToast:S,showSuccess:x,showError:Q,showInfo:se,showWarning:ca,hideToast:st,clearAllToasts:ua,withLoading:la,withLoadingAndError:da,reset:ma,fetchVersion:pa,clearVersionCache:fa,fetchPublicSettings:ga,clearPublicSettingsCache:ha,initFromInjectedConfig:ya}}),Kn=Object.freeze(Object.defineProperty({__proto__:null,useAppStore:ae},Symbol.toStringTag,{value:"Module"})),Vn={class:"pointer-events-none fixed right-4 top-4 z-[9999] space-y-3","aria-live":"polite","aria-atomic":"true"},Nn={class:"p-4"},Bn={class:"flex items-start gap-3"},Hn={class:"mt-0.5 flex-shrink-0"},Fn={class:"min-w-0 flex-1"},Wn={key:0,class:"text-sm font-semibold text-gray-900 dark:text-white"},jn=["onClick"],Gn={key:0,class:"h-1 bg-gray-100 dark:bg-dark-700"},Qn=X({__name:"Toast",setup(e){const t=ae(),a=I(()=>t.toasts),r=u=>{switch(u){case"success":return"checkCircle";case"error":return"xCircle";case"warning":return"exclamationTriangle";case"info":default:return"infoCircle"}},o=u=>{const p={success:"text-green-500",error:"text-red-500",warning:"text-yellow-500",info:"text-blue-500"};return p[u]||p.info},s=u=>{const p={success:"border-green-500",error:"border-red-500",warning:"border-yellow-500",info:"border-blue-500"};return p[u]||p.info},i=u=>{const p={success:"bg-green-500",error:"bg-red-500",warning:"bg-yellow-500",info:"bg-blue-500"};return p[u]||p.info},c=u=>{t.hideToast(u)};return(u,p)=>(C(),pe(Be,{to:"body"},[_("div",Vn,[U(va,{"enter-active-class":"transition ease-out duration-300","enter-from-class":"opacity-0 translate-x-full","enter-to-class":"opacity-100 translate-x-0","leave-active-class":"transition ease-in duration-200","leave-from-class":"opacity-100 translate-x-0","leave-to-class":"opacity-0 translate-x-full"},{default:re(()=>[(C(!0),L(At,null,wa(a.value,d=>(C(),L("div",{key:d.id,class:Z(["pointer-events-auto min-w-[320px] max-w-md overflow-hidden rounded-lg shadow-lg","bg-white dark:bg-dark-800","border-l-4",s(d.type)])},[_("div",Nn,[_("div",Bn,[_("div",Hn,[U(de,{name:r(d.type),size:"md",class:Z(o(d.type)),"aria-hidden":"true"},null,8,["name","class"])]),_("div",Fn,[d.title?(C(),L("p",Wn,R(d.title),1)):j("",!0),_("p",{class:Z(["text-sm leading-relaxed",d.title?"mt-1 text-gray-600 dark:text-gray-300":"text-gray-900 dark:text-white"])},R(d.message),3)]),_("button",{onClick:y=>c(d.id),class:"-m-1 flex-shrink-0 rounded p-1 text-gray-400 transition-colors hover:bg-gray-100 hover:text-gray-600 dark:text-gray-500 dark:hover:bg-dark-700 dark:hover:text-gray-300","aria-label":"Close notification"},[U(de,{name:"x",size:"sm"})],8,jn)])]),d.duration?(C(),L("div",Gn,[_("div",{class:Z(["h-full toast-progress",i(d.type)]),style:kt({animationDuration:`${d.duration}ms`})},null,6)])):j("",!0)],2))),128))]),_:1})])]))}}),Ce=(e,t)=>{const a=e.__vccOpts||e;for(const[r,o]of t)a[r]=o;return a},Jn=Ce(Qn,[["__scopeId","data-v-5ff03eb7"]]);function Yn(){const e=w(!1);let t=null,a=null;const r=w(!1),o=100,s=()=>{a!==null&&(clearTimeout(a),a=null)},i=()=>{t=Date.now(),e.value=!0,s(),a=setTimeout(()=>{e.value&&(r.value=!0)},o)},c=()=>{s(),e.value=!1,r.value=!1,t=null},u=()=>{s(),t=null},p=()=>{s(),e.value=!1,r.value=!1,t=null},d=()=>t===null?null:Date.now()-t,y=I(()=>r.value),m=we(e);return{isLoading:y,isNavigating:m,startNavigation:i,endNavigation:c,cancelNavigation:u,resetState:p,getNavigationDuration:d,ANTI_FLICKER_DELAY:o}}let xe=null;function Ht(){return xe||(xe=Yn()),xe}const Xn={class:"navigation-progress",role:"progressbar","aria-label":"Loading","aria-valuenow":"0","aria-valuemin":"0","aria-valuemax":"100"},Zn=X({__name:"NavigationProgress",setup(e){const{isLoading:t}=Ht(),a=I(()=>t.value);return(r,o)=>(C(),pe(He,{name:"progress-fade"},{default:re(()=>[ba(_("div",Xn,[...o[0]||(o[0]=[_("div",{class:"navigation-progress-bar"},null,-1)])],512),[[Aa,a.value]])]),_:1}))}}),er=Ce(Zn,[["__scopeId","data-v-0856a86e"]]),tr={class:"modal-header"},ar={key:0,class:"modal-footer"},nr=X({__name:"BaseDialog",props:{show:{type:Boolean},title:{},width:{default:"normal"},closeOnEscape:{type:Boolean,default:!0},closeOnClickOutside:{type:Boolean,default:!1},showCloseButton:{type:Boolean,default:!0},zIndex:{default:50}},emits:["close"],setup(e,{emit:t}){let a=0;const r=`modal-title-${++a}`,o=w(null),s=w(null);let i=null;const c=e,u=t,p=I(()=>c.zIndex!==50?{zIndex:c.zIndex}:void 0),d=I(()=>({narrow:"max-w-md",normal:"max-w-lg",wide:"w-full sm:max-w-2xl md:max-w-3xl lg:max-w-4xl","extra-wide":"w-full sm:max-w-3xl md:max-w-4xl lg:max-w-5xl xl:max-w-6xl",full:"w-full sm:max-w-4xl md:max-w-5xl lg:max-w-6xl xl:max-w-7xl"})[c.width]),y=()=>{c.closeOnClickOutside&&u("close")},m=l=>{c.show&&c.closeOnEscape&&l.key==="Escape"&&u("close")};return ee(()=>c.show,async l=>{if(l){if(i=document.activeElement,document.body.classList.add("modal-open"),await Sa(),s.value&&(s.value.scrollTop=0),o.value){const f=o.value.querySelector('button, [href], input, select, textarea, [tabindex]:not([tabindex="-1"])');f==null||f.focus()}}else document.body.classList.remove("modal-open"),i&&typeof i.focus=="function"&&i.focus(),i=null},{immediate:!0}),St(()=>{document.addEventListener("keydown",m)}),ka(()=>{document.removeEventListener("keydown",m),document.body.classList.remove("modal-open")}),(l,f)=>(C(),pe(Be,{to:"body"},[U(He,{name:"modal"},{default:re(()=>[e.show?(C(),L("div",{key:0,class:"modal-overlay",style:kt(p.value),"aria-labelledby":r,role:"dialog","aria-modal":"true",onClick:Ke(y,["self"])},[_("div",{ref_key:"dialogRef",ref:o,class:Z(["modal-content",d.value]),onClick:f[1]||(f[1]=Ke(()=>{},["stop"]))},[_("div",tr,[_("h3",{id:r,class:"modal-title"},R(e.title),1),e.showCloseButton?(C(),L("button",{key:0,onClick:f[0]||(f[0]=g=>u("close")),class:"-mr-2 rounded-xl p-2 text-gray-400 transition-colors hover:bg-gray-100 hover:text-gray-600 focus:outline-none focus-visible:ring-2 focus-visible:ring-primary-500/30 focus-visible:ring-offset-2 dark:text-dark-500 dark:hover:bg-dark-700 dark:hover:text-dark-300 dark:focus-visible:ring-offset-dark-900","aria-label":"Close modal"},[U(de,{name:"x",size:"md"})])):j("",!0)]),_("div",{ref_key:"modalBodyRef",ref:s,class:"modal-body"},[be(l.$slots,"default")],512),l.$slots.footer?(C(),L("div",ar,[be(l.$slots,"footer")])):j("",!0)],2)],4)):j("",!0)]),_:3})]))}}),rr={class:"w-full"},or=["for"],sr={key:0,class:"text-red-500"},ir={class:"relative"},cr={key:0,class:"pointer-events-none absolute inset-y-0 left-0 flex items-center pl-3.5 text-gray-400 dark:text-dark-400"},ur=["id","type","value","disabled","required","placeholder","autocomplete","readonly"],lr={key:1,class:"absolute inset-y-0 right-0 flex items-center pr-3 text-gray-400 dark:text-dark-400"},dr={key:1,class:"input-error-text mt-1.5"},mr={key:2,class:"input-hint mt-1.5"},pr=X({__name:"Input",props:{modelValue:{},type:{default:"text"},label:{},placeholder:{},disabled:{type:Boolean,default:!1},required:{type:Boolean,default:!1},readonly:{type:Boolean,default:!1},error:{},hint:{},id:{},autocomplete:{}},emits:["update:modelValue","change","blur","focus","enter"],setup(e,{expose:t,emit:a}){const r=e,o=a,s=w(null),i=I(()=>r.placeholder||""),c=u=>{const p=u.target.value;o("update:modelValue",p)};return t({focus:()=>{var u;return(u=s.value)==null?void 0:u.focus()},select:()=>{var u;return(u=s.value)==null?void 0:u.select()}}),(u,p)=>(C(),L("div",rr,[e.label?(C(),L("label",{key:0,for:e.id,class:"input-label mb-1.5 block"},[Ae(R(e.label)+" ",1),e.required?(C(),L("span",sr,"*")):j("",!0)],8,or)):j("",!0),_("div",ir,[u.$slots.prefix?(C(),L("div",cr,[be(u.$slots,"prefix")])):j("",!0),_("input",{id:e.id,ref_key:"inputRef",ref:s,type:e.type,value:e.modelValue,disabled:e.disabled,required:e.required,placeholder:i.value,autocomplete:e.autocomplete,readonly:e.readonly,class:Z(["input w-full transition-all duration-200",u.$slots.prefix?"pl-11":"",u.$slots.suffix?"pr-11":"",e.error?"input-error ring-2 ring-red-500/20":"",e.disabled?"cursor-not-allowed bg-gray-100 opacity-60 dark:bg-dark-900":""]),onInput:c,onChange:p[0]||(p[0]=d=>u.$emit("change",d.target.value)),onBlur:p[1]||(p[1]=d=>u.$emit("blur",d)),onFocus:p[2]||(p[2]=d=>u.$emit("focus",d)),onKeyup:p[3]||(p[3]=Pa(d=>u.$emit("enter",d),["enter"]))},null,42,ur),u.$slots.suffix?(C(),L("div",lr,[be(u.$slots,"suffix")])):j("",!0)]),e.error?(C(),L("p",dr,R(e.error),1)):e.hint?(C(),L("p",mr,R(e.hint),1)):j("",!0)]))}});function Ft(){if(!window.PublicKeyCredential||!navigator.credentials)throw new Error("Passkeys are not supported by this browser")}function ue(e){const t=e.replace(/-/g,"+").replace(/_/g,"/"),a=t+"=".repeat((4-t.length%4)%4),r=atob(a);return Uint8Array.from(r,s=>s.charCodeAt(0)).buffer}function J(e){if(e===null)return null;const t=new Uint8Array(e);let a="";for(const r of t)a+=String.fromCharCode(r);return btoa(a).replace(/\+/g,"-").replace(/\//g,"_").replace(/=+$/g,"")}function fr(e){const t={...e};t.challenge=ue(String(t.challenge));const a={...t.user};return a.id=ue(String(a.id)),t.user=a,Array.isArray(t.excludeCredentials)&&(t.excludeCredentials=t.excludeCredentials.map(r=>({...r,id:ue(String(r.id))}))),t}function gr(e){const t={...e};return t.challenge=ue(String(t.challenge)),Array.isArray(t.allowCredentials)&&(t.allowCredentials=t.allowCredentials.map(a=>({...a,id:ue(String(a.id))}))),t}function hr(e){const t=e.response;return{id:e.id,rawId:J(e.rawId),type:e.type,authenticatorAttachment:e.authenticatorAttachment,clientExtensionResults:e.getClientExtensionResults(),response:{attestationObject:J(t.attestationObject),clientDataJSON:J(t.clientDataJSON),transports:typeof t.getTransports=="function"?t.getTransports():[]}}}function yr(e){const t=e.response;return{id:e.id,rawId:J(e.rawId),type:e.type,authenticatorAttachment:e.authenticatorAttachment,clientExtensionResults:e.getClientExtensionResults(),response:{authenticatorData:J(t.authenticatorData),clientDataJSON:J(t.clientDataJSON),signature:J(t.signature),userHandle:J(t.userHandle)}}}async function _r(e){Ft();const{data:t}=e?await n.post("/auth/passkey/login/begin",e):await n.post("/auth/passkey/login/begin"),a=await navigator.credentials.get({publicKey:gr(t.options.publicKey)});if(!(a instanceof PublicKeyCredential))throw new Error("Passkey sign-in was cancelled");const{data:r}=await n.post("/auth/passkey/login/finish",{session_token:t.session_token,credential:yr(a)});return r}async function vr(e,t){Ft();const{data:a}=await n.post("/user/passkeys/register/begin",{password:t}),r=await navigator.credentials.create({publicKey:fr(a.options.publicKey)});if(!(r instanceof PublicKeyCredential))throw new Error("Passkey creation was cancelled");const{data:o}=await n.post("/user/passkeys/register/finish",{session_token:a.session_token,name:e,credential:hr(r)});return o}async function wr(){const{data:e}=await n.get("/user/passkeys");return e}async function br(e,t){await n.patch(`/user/passkeys/${e}`,{name:t})}async function Ar(e,t){await n.delete(`/user/passkeys/${e}`,{data:{password:t}})}const kr={isSupported:()=>!!(window.PublicKeyCredential&&navigator.credentials),login:_r,register:vr,list:wr,rename:br,remove:Ar};async function Sr(e=!1){const{data:t}=await n.get("/announcements",{params:e?{unread_only:1}:{}});return t}async function Pr(e){const{data:t}=await n.post(`/announcements/${e}/read`);return t}const Le={list:Sr,markRead:Pr};async function Ir(){const{data:e}=await n.get("/admin/dashboard/stats");return e}async function Er(){const{data:e}=await n.get("/admin/dashboard/realtime");return e}async function $r(e){const{data:t}=await n.get("/admin/dashboard/trend",{params:e});return t}async function Cr(e){const{data:t}=await n.get("/admin/dashboard/models",{params:e});return t}async function Mr(e){const{data:t}=await n.get("/admin/dashboard/groups",{params:e});return t}async function tf(e){const{data:t}=await n.get("/admin/dashboard/user-breakdown",{params:e});return t}async function Tr(e){const{data:t}=await n.get("/admin/dashboard/snapshot-v2",{params:e});return t}async function Rr(e){const{data:t}=await n.get("/admin/dashboard/api-keys-trend",{params:e});return t}async function xr(e){const{data:t}=await n.get("/admin/dashboard/users-trend",{params:e});return t}async function Lr(e){const{data:t}=await n.get("/admin/dashboard/users-ranking",{params:e});return t}async function Or(e){const{data:t}=await n.post("/admin/dashboard/users-usage",{user_ids:e});return t}async function Dr(e){const{data:t}=await n.post("/admin/dashboard/api-keys-usage",{api_key_ids:e});return t}const qr={getStats:Ir,getRealtimeMetrics:Er,getUsageTrend:$r,getModelStats:Cr,getGroupStats:Mr,getSnapshotV2:Tr,getApiKeyUsageTrend:Rr,getUserUsageTrend:xr,getUserSpendingRanking:Lr,getBatchUsersUsage:Or,getBatchApiKeysUsage:Dr};async function zr(e=1,t=20,a,r){const o={page:e,page_size:t,status:a==null?void 0:a.status,role:a==null?void 0:a.role,search:a==null?void 0:a.search,group_name:a==null?void 0:a.group_name,api_key_group_id:a==null?void 0:a.api_key_group_id,include_subscriptions:a==null?void 0:a.include_subscriptions,sort_by:a==null?void 0:a.sort_by,sort_order:a==null?void 0:a.sort_order};if(a!=null&&a.attributes)for(const[i,c]of Object.entries(a.attributes))c&&(o[`attr[${i}]`]=c);const{data:s}=await n.get("/admin/users",{params:o,signal:r==null?void 0:r.signal});return s}async function Ur(e,t=!1){const a=t?`/admin/users/${e}?include_deleted=true`:`/admin/users/${e}`,{data:r}=await n.get(a);return r}async function Kr(e){const{data:t}=await n.post("/admin/users",e);return t}async function Ze(e,t){const{data:a}=await n.put(`/admin/users/${e}`,t);return a}async function Vr(e){const{data:t}=await n.delete(`/admin/users/${e}`);return t}async function Nr(e,t,a="set",r){const{data:o}=await n.post(`/admin/users/${e}/balance`,{balance:t,operation:a,notes:r||""});return o}async function Br(e,t){return Ze(e,{concurrency:t})}async function Hr(e){const{data:t}=await n.post("/admin/users/batch-limits",e);return t}async function Fr(e,t){return Ze(e,{status:t})}async function Wr(e){const{data:t}=await n.get(`/admin/users/${e}/api-keys`);return t}async function jr(e,t="month"){const{data:a}=await n.get(`/admin/users/${e}/usage`,{params:{period:t}});return a}async function Gr(e,t=1,a=20,r){const o={page:t,page_size:a};r&&(o.type=r);const{data:s}=await n.get(`/admin/users/${e}/balance-history`,{params:o});return s}async function Qr(e,t,a){const{data:r}=await n.post(`/admin/users/${e}/replace-group`,{old_group_id:t,new_group_id:a});return r}async function Jr(e,t){const{data:a}=await n.post(`/admin/users/${e}/auth-identities`,t);return a}async function Yr(e){const{data:t}=await n.get(`/admin/users/${e}/platform-quotas`);return t}async function Xr(e,t){const{data:a}=await n.put(`/admin/users/${e}/platform-quotas`,{quotas:t});return a}async function Zr(e,t,a){const{data:r}=await n.post(`/admin/users/${e}/platform-quotas/reset`,{platform:t,window:a});return r}const eo={list:zr,getById:Ur,create:Kr,update:Ze,delete:Vr,updateBalance:Nr,updateConcurrency:Br,batchUpdateLimits:Hr,toggleStatus:Fr,getUserApiKeys:Wr,getUserUsageStats:jr,getUserBalanceHistory:Gr,replaceGroup:Qr,bindUserAuthIdentity:Jr,getPlatformQuotas:Yr,updatePlatformQuotas:Xr,resetPlatformQuotaWindow:Zr};async function to(e=1,t=20,a,r){const{data:o}=await n.get("/admin/groups",{params:{page:e,page_size:t,...a},signal:r==null?void 0:r.signal});return o}async function Wt(e){const{data:t}=await n.get("/admin/groups/all",{params:e?{platform:e}:void 0});return t}async function ao(){const{data:e}=await n.get("/admin/groups/all",{params:{include_inactive:!0}});return e}async function no(e){return Wt(e)}async function ro(){const{data:e}=await n.get("/admin/groups/live-capability");return e}async function oo(e){const{data:t}=await n.get(`/admin/groups/${e}`);return t}async function so(e,t){const{data:a}=await n.get(`/admin/groups/${e}/models-list-candidates`,{params:t?{platform:t}:void 0});return a.models||[]}async function io(e){const{data:t}=await n.post("/admin/groups",e);return t}const Oe=new Map;function co(){var e;try{const t=(e=globalThis.localStorage)==null?void 0:e.getItem("auth_user");if(!t)return null;const a=JSON.parse(t);if(typeof a!="object"||a===null)return null;const r=a.id;return typeof r!="number"||!Number.isSafeInteger(r)||r<=0?null:String(r)}catch{return null}}function uo(e){const t=co();return t?{adminID:t,key:`sub2api:admin:group-duplicate:${t}:${e}`}:null}function lo(e){var t;try{return((t=globalThis.sessionStorage)==null?void 0:t.getItem(e))??null}catch{return null}}function dt(e,t){var a,r;try{t?(a=globalThis.sessionStorage)==null||a.setItem(e,t):(r=globalThis.sessionStorage)==null||r.removeItem(e)}catch{}}async function mo(e){var o,s;const t=uo(e);let a=t?Oe.get(t.key)??lo(t.key):null;if(!a){const i=((s=(o=globalThis.crypto)==null?void 0:o.randomUUID)==null?void 0:s.call(o))??`${Date.now()}-${Math.random().toString(36).slice(2)}`;a=`group-duplicate-${(t==null?void 0:t.adminID)??"unknown-admin"}-${e}-${i}`}t&&(Oe.set(t.key,a),dt(t.key,a));const{data:r}=await n.post(`/admin/groups/${e}/duplicate`,void 0,{headers:{"Idempotency-Key":a}});return t&&(Oe.delete(t.key),dt(t.key,null)),r}async function jt(e,t){const{data:a}=await n.put(`/admin/groups/${e}`,t);return a}async function po(e){const{data:t}=await n.delete(`/admin/groups/${e}`);return t}async function fo(e,t){return jt(e,{status:t})}async function go(e){const{data:t}=await n.get(`/admin/groups/${e}/stats`);return t}async function ho(e,t=1,a=20){const{data:r}=await n.get(`/admin/groups/${e}/api-keys`,{params:{page:t,page_size:a}});return r}async function yo(e){const{data:t}=await n.get(`/admin/groups/${e}/composite-routes`);return t}async function _o(e,t){const{data:a}=await n.post(`/admin/groups/${e}/composite-routes`,t);return a}async function vo(e,t,a){const{data:r}=await n.put(`/admin/groups/${e}/composite-routes/${t}`,a);return r}async function wo(e,t){const{data:a}=await n.delete(`/admin/groups/${e}/composite-routes/${t}`);return a}async function bo(e,t){const{data:a}=await n.post(`/admin/groups/${e}/composite-routes/preview`,t);return a}async function Ao(e){const{data:t}=await n.get(`/admin/groups/${e}/rate-multipliers`);return t}async function ko(e){const{data:t}=await n.put("/admin/groups/sort-order",{updates:e});return t}async function So(e){const{data:t}=await n.delete(`/admin/groups/${e}/rate-multipliers`);return t}async function Po(e,t){const{data:a}=await n.put(`/admin/groups/${e}/rate-multipliers`,{entries:t});return a}async function Io(e){const{data:t}=await n.get(`/admin/groups/${e}/rate-multipliers`);return t.filter(a=>a.rpm_override!=null).map(a=>({user_id:a.user_id,user_name:a.user_name,user_email:a.user_email,user_notes:a.user_notes,user_status:a.user_status,rpm_override:a.rpm_override}))}async function Eo(e,t){const{data:a}=await n.put(`/admin/groups/${e}/rpm-overrides`,{entries:t});return a}async function $o(e){const{data:t}=await n.delete(`/admin/groups/${e}/rpm-overrides`);return t}async function Co(){const{data:e}=await n.get("/admin/groups/usage-summary");return e}async function Mo(){const{data:e}=await n.get("/admin/groups/capacity-summary");return e}const To={list:to,getAll:Wt,getByPlatform:no,getAllIncludingInactive:ao,getLiveCapability:ro,getById:oo,getModelsListCandidates:so,create:io,duplicate:mo,update:jt,delete:po,toggleStatus:fo,getStats:go,getGroupApiKeys:ho,listCompositeRoutes:yo,createCompositeRoute:_o,updateCompositeRoute:vo,deleteCompositeRoute:wo,previewCompositeRoute:bo,getGroupRateMultipliers:Ao,clearGroupRateMultipliers:So,batchSetGroupRateMultipliers:Po,getGroupRPMOverrides:Io,clearGroupRPMOverrides:$o,batchSetGroupRPMOverrides:Eo,updateSortOrder:ko,getUsageSummary:Co,getCapacitySummary:Mo};async function Ro(e=1,t=20,a,r){const{data:o}=await n.get("/admin/accounts",{params:{page:e,page_size:t,...a},signal:r==null?void 0:r.signal});return o}async function xo(e=1,t=20,a,r){var c;const o={};r!=null&&r.etag&&(o["If-None-Match"]=r.etag);const s=await n.get("/admin/accounts",{params:{page:e,page_size:t,...a},headers:o,signal:r==null?void 0:r.signal,validateStatus:u=>u>=200&&u<300||u===304}),i=typeof((c=s.headers)==null?void 0:c.etag)=="string"?s.headers.etag:null;return s.status===304?{notModified:!0,etag:i,data:null}:{notModified:!1,etag:i,data:s.data}}async function Lo(e){const{data:t}=await n.get(`/admin/accounts/${e}`);return t}async function Oo(e){const{data:t}=await n.post("/admin/accounts",e);return t}const De=new Map;function Ve(e){return`sub2api:admin:account-duplicate:${e}`}function Do(e){var t;try{return((t=globalThis.sessionStorage)==null?void 0:t.getItem(Ve(e)))??null}catch{return null}}function mt(e,t){var a,r;try{t?(a=globalThis.sessionStorage)==null||a.setItem(Ve(e),t):(r=globalThis.sessionStorage)==null||r.removeItem(Ve(e))}catch{}}async function qo(e){var r,o;let t=De.get(e)??Do(e);if(!t){const s=((o=(r=globalThis.crypto)==null?void 0:r.randomUUID)==null?void 0:o.call(r))??`${Date.now()}-${Math.random().toString(36).slice(2)}`;t=`account-duplicate-${e}-${s}`}De.set(e,t),mt(e,t);const{data:a}=await n.post(`/admin/accounts/${e}/duplicate`,void 0,{headers:{"Idempotency-Key":t}});return De.delete(e),mt(e,null),a}async function Gt(e,t){const{data:a}=await n.put(`/admin/accounts/${e}`,t);return a}async function zo(e){const{data:t}=await n.post("/admin/accounts/check-mixed-channel",e);return t}async function Uo(e){const{data:t}=await n.delete(`/admin/accounts/${e}`);return t}async function Ko(e,t){return Gt(e,{status:t})}async function Vo(e){const{data:t}=await n.post(`/admin/accounts/${e}/test`);return t}async function No(e){const{data:t}=await n.post(`/admin/accounts/${e}/refresh`);return t}async function Bo(e,t){const{data:a}=await n.post(`/admin/accounts/${e}/apply-oauth-credentials`,t);return a}async function Ho(e,t=30){const{data:a}=await n.get(`/admin/accounts/${e}/stats`,{params:{days:t}});return a}async function Fo(e){const{data:t}=await n.post(`/admin/accounts/${e}/clear-error`);return t}async function Wo(e,t,a){const r={};t&&(r.source=t),a&&(r.force="true");const{data:o}=await n.get(`/admin/accounts/${e}/usage`,{params:Object.keys(r).length>0?r:void 0});return o}async function jo(e,t){const{data:a}=await n.post("/admin/accounts/usage/batch",{account_ids:e,force:t===!0});return a}async function Go(e){const{data:t}=await n.post(`/admin/accounts/${e}/clear-rate-limit`);return t}async function Qo(e){const{data:t}=await n.post(`/admin/accounts/${e}/recover-state`);return t}async function Jo(e){const{data:t}=await n.post(`/admin/accounts/${e}/reset-quota`);return t}async function Yo(e){const{data:t}=await n.get(`/admin/accounts/${e}/temp-unschedulable`);return t}async function Xo(e){const{data:t}=await n.delete(`/admin/accounts/${e}/temp-unschedulable`);return t}async function Zo(e,t){const{data:a}=await n.post(e,t);return a}async function es(e,t){const{data:a}=await n.post(e,t);return a}async function ts(e){const{data:t}=await n.post("/admin/accounts/batch",{accounts:e});return t}async function as(e){const{data:t}=await n.post("/admin/accounts/batch-update-credentials",e);return t}async function ns(e,t){const a=Array.isArray(e)?{account_ids:e,...t??{}}:e,{data:r}=await n.post("/admin/accounts/bulk-update",a);return r}async function rs(e){const{data:t}=await n.get(`/admin/accounts/${e}/today-stats`);return t}async function os(e){const{data:t}=await n.post("/admin/accounts/today-stats/batch",{account_ids:e});return t}async function ss(e,t){const{data:a}=await n.post(`/admin/accounts/${e}/schedulable`,{schedulable:t});return a}async function is(e){const{data:t}=await n.get(`/admin/accounts/${e}/models`);return t}async function cs(e){const{data:t}=await n.post(`/admin/accounts/${e}/models/sync-upstream`);return t}async function us(e){const{data:t}=await n.post("/admin/accounts/models/sync-upstream-preview",e);return t}async function ls(e){const{data:t}=await n.post("/admin/accounts/sync/crs/preview",e);return t}async function ds(e){const{data:t}=await n.post("/admin/accounts/sync/crs",e,{timeout:18e4});return t}async function ms(e){const t={};if(e!=null&&e.ids&&e.ids.length>0)t.ids=e.ids.join(",");else if(e!=null&&e.filters){const{platform:r,type:o,status:s,group:i,privacy_mode:c,search:u,sort_by:p,sort_order:d}=e.filters;r&&(t.platform=r),o&&(t.type=o),s&&(t.status=s),i&&(t.group=i),c&&(t.privacy_mode=c),u&&(t.search=u),p&&(t.sort_by=p),d&&(t.sort_order=d)}(e==null?void 0:e.includeProxies)===!1&&(t.include_proxies="false");const{data:a}=await n.get("/admin/accounts/data",{params:t});return a}async function ps(e){const{data:t}=await n.post("/admin/accounts/data",{data:e.data,skip_default_group_bind:e.skip_default_group_bind});return t}async function fs(e){const{data:t}=await n.post("/admin/accounts/import/codex-session",e,{timeout:12e4});return t}async function gs(e){const{data:t}=await n.post("/admin/openai/create-from-codex-pat",e);return t}async function hs(){const{data:e}=await n.get("/admin/accounts/antigravity/default-model-mapping");return e}async function ys(e,t,a="/admin/openai/refresh-token",r){const o={refresh_token:e};t&&(o.proxy_id=t),r&&(o.client_id=r);const{data:s}=await n.post(a,o);return s}async function _s(e){const{data:t}=await n.post(`/admin/accounts/${e}/revert-proxy-fallback`);return t}async function vs(e){const{data:t}=await n.post("/admin/accounts/batch-delete",{account_ids:e});return t}async function ws(e){const{data:t}=await n.post("/admin/accounts/batch-clear-error",{account_ids:e});return t}async function bs(e){const{data:t}=await n.post("/admin/accounts/batch-refresh",{account_ids:e},{timeout:12e4});return t}async function As(e){const{data:t}=await n.post(`/admin/accounts/${e}/set-privacy`);return t}async function ks(e){const{data:t}=await n.post(`/admin/openai/accounts/${e}/quota/refresh`);return t}async function Ss(e){const{data:t}=await n.post(`/admin/openai/accounts/${e}/reset-quota`,void 0,{timeout:9e4});return t}async function Ps(e,t){const{data:a}=await n.post(`/admin/accounts/${e}/shadow`,t);return a}async function Is(){const{data:e}=await n.get("/admin/accounts/upstream-billing-probe/settings");return e}async function Es(e){const{data:t}=await n.put("/admin/accounts/upstream-billing-probe/settings",e);return t}async function $s(e,t){await n.put(`/admin/accounts/${e}/upstream-billing-probe`,{enabled:t})}async function Cs(e){const{data:t}=await n.post(`/admin/accounts/${e}/upstream-billing-probe`);return t}async function Ms(e){const{data:t}=await n.post("/admin/accounts/upstream-billing-probe/batch",{account_ids:e});return t.results}async function Ts(){const{data:e}=await n.get("/admin/accounts/ollama-cloud-usage/settings");return e}async function Rs(e){const{data:t}=await n.put("/admin/accounts/ollama-cloud-usage/settings",e);return t}async function xs(e){const{data:t}=await n.get(`/admin/accounts/${e}/ollama-cloud-usage`);return t}async function Ls(e,t){const{data:a}=await n.put(`/admin/accounts/${e}/ollama-cloud-usage/session`,{session:t});return a}async function Os(e){const{data:t}=await n.delete(`/admin/accounts/${e}/ollama-cloud-usage/session`);return t}async function Ds(e,t){const{data:a}=await n.put(`/admin/accounts/${e}/ollama-cloud-usage/auto-refresh`,{enabled:t});return a}async function qs(e){const{data:t}=await n.post(`/admin/accounts/${e}/ollama-cloud-usage/refresh`);return t}const zs={list:Ro,listWithEtag:xo,getById:Lo,create:Oo,duplicate:qo,update:Gt,checkMixedChannelRisk:zo,delete:Uo,toggleStatus:Ko,testAccount:Vo,refreshCredentials:No,applyOAuthCredentials:Bo,getStats:Ho,clearError:Fo,getUsage:Wo,getBatchUsage:jo,getTodayStats:rs,getBatchTodayStats:os,clearRateLimit:Go,recoverState:Qo,resetAccountQuota:Jo,getTempUnschedulableStatus:Yo,resetTempUnschedulable:Xo,setSchedulable:ss,getAvailableModels:is,syncUpstreamModels:cs,syncUpstreamModelsPreview:us,generateAuthUrl:Zo,exchangeCode:es,refreshOpenAIToken:ys,batchCreate:ts,batchUpdateCredentials:as,bulkUpdate:ns,previewFromCrs:ls,syncFromCrs:ds,exportData:ms,importData:ps,importCodexSession:fs,createOpenAICodexPAT:gs,getAntigravityDefaultModelMapping:hs,batchDelete:vs,batchClearError:ws,batchRefresh:bs,setPrivacy:As,revertProxyFallback:_s,refreshOpenAIQuota:ks,resetOpenAIQuota:Ss,createSparkShadow:Ps,getUpstreamBillingProbeSettings:Is,updateUpstreamBillingProbeSettings:Es,setUpstreamBillingProbeEnabled:$s,probeUpstreamBilling:Cs,probeUpstreamBillingBatch:Ms,getOllamaCloudUsageSettings:Ts,updateOllamaCloudUsageSettings:Rs,getOllamaCloudUsage:xs,saveOllamaCloudUsageSession:Ls,deleteOllamaCloudUsageSession:Os,setOllamaCloudUsageAutoRefresh:Ds,refreshOllamaCloudUsage:qs};async function Us(e=1,t=20,a,r){const{data:o}=await n.get("/admin/proxies",{params:{page:e,page_size:t,...a},signal:r==null?void 0:r.signal});return o}async function Ks(){const{data:e}=await n.get("/admin/proxies/all");return e}async function Vs(){const{data:e}=await n.get("/admin/proxies/all",{params:{with_count:"true"}});return e}async function Ns(e){const{data:t}=await n.get(`/admin/proxies/${e}`);return t}async function Bs(e){const{data:t}=await n.post("/admin/proxies",e);return t}async function Qt(e,t){const{data:a}=await n.put(`/admin/proxies/${e}`,t);return a}async function Hs(e){const{data:t}=await n.delete(`/admin/proxies/${e}`);return t}async function Fs(e,t){return Qt(e,{status:t})}async function Ws(e){const{data:t}=await n.post(`/admin/proxies/${e}/test`);return t}async function js(e){const{data:t}=await n.post(`/admin/proxies/${e}/quality-check`);return t}async function Gs(e){const{data:t}=await n.get(`/admin/proxies/${e}/stats`);return t}async function Qs(e){const{data:t}=await n.get(`/admin/proxies/${e}/accounts`);return t}async function Js(e){const{data:t}=await n.post("/admin/proxies/batch",{proxies:e});return t}async function Ys(e){const{data:t}=await n.post("/admin/proxies/batch-delete",{ids:e});return t}async function Xs(e){const t={};if(e!=null&&e.ids&&e.ids.length>0)t.ids=e.ids.join(",");else if(e!=null&&e.filters){const{protocol:r,status:o,search:s,sort_by:i,sort_order:c}=e.filters;r&&(t.protocol=r),o&&(t.status=o),s&&(t.search=s),i&&(t.sort_by=i),c&&(t.sort_order=c)}const{data:a}=await n.get("/admin/proxies/data",{params:t});return a}async function Zs(e){const{data:t}=await n.post("/admin/proxies/data",e);return t}const ei={list:Us,getAll:Ks,getAllWithCount:Vs,getById:Ns,create:Bs,update:Qt,delete:Hs,toggleStatus:Fs,testProxy:Ws,checkProxyQuality:js,getStats:Gs,getProxyAccounts:Qs,batchCreate:Js,batchDelete:Ys,exportData:Xs,importData:Zs};async function ti(e=1,t=20,a,r){const{data:o}=await n.get("/admin/redeem-codes",{params:{page:e,page_size:t,...a},signal:r==null?void 0:r.signal});return o}async function ai(e){const{data:t}=await n.get(`/admin/redeem-codes/${e}`);return t}async function ni(e,t,a,r,o,s,i,c,u,p,d,y,m){const l={count:e,type:t,value:a};t==="subscription"&&(l.group_id=r,o&&o>0&&(l.validity_days=o),i&&i>0&&(l.validity_hours=i),l.concurrency=c&&c>0?c:2),t==="balance"&&m&&(l.sync_concurrency=!0,l.concurrency=c&&c>0?c:2),s&&s>0&&(l.expires_in_days=s),u&&(l.is_compensation=!0);const f=p!=null&&p>0,g=y!=null&&y>0;f&&(l.platform_limit_usd=p),g&&(l.interface_limit_usd=y),(f||g)&&(l.platform_window_hours=d&&d>0?d:24);const{data:A}=await n.post("/admin/redeem-codes/generate",l);return A}async function ri(e){const{data:t}=await n.delete(`/admin/redeem-codes/${e}`);return t}async function oi(e){const{data:t}=await n.post("/admin/redeem-codes/batch-delete",{ids:e});return t}async function si(e,t){const{data:a}=await n.post("/admin/redeem-codes/batch-update",{ids:e,fields:t});return a}async function ii(e){const{data:t}=await n.post(`/admin/redeem-codes/${e}/expire`);return t}async function ci(){const{data:e}=await n.get("/admin/redeem-codes/stats");return e}async function ui(e){return(await n.get("/admin/redeem-codes/export",{params:e,responseType:"blob"})).data}const li={list:ti,getById:ai,generate:ni,delete:ri,batchDelete:oi,batchUpdate:si,expire:ii,getStats:ci,exportCodes:ui};async function di(e=1,t=20,a,r){const{data:o}=await n.get("/admin/promo-codes",{params:{page:e,page_size:t,...a},signal:r==null?void 0:r.signal});return o}async function mi(e){const{data:t}=await n.get(`/admin/promo-codes/${e}`);return t}async function pi(e){const{data:t}=await n.post("/admin/promo-codes",e);return t}async function fi(e,t){const{data:a}=await n.put(`/admin/promo-codes/${e}`,t);return a}async function gi(e){const{data:t}=await n.delete(`/admin/promo-codes/${e}`);return t}async function hi(e,t=1,a=20){const{data:r}=await n.get(`/admin/promo-codes/${e}/usages`,{params:{page:t,page_size:a}});return r}const yi={list:di,getById:mi,create:pi,update:fi,delete:gi,getUsages:hi};async function _i(e=1,t=20,a,r){const{data:o}=await n.get("/admin/announcements",{params:{page:e,page_size:t,...a},signal:r==null?void 0:r.signal});return o}async function vi(e){const{data:t}=await n.get(`/admin/announcements/${e}`);return t}async function wi(e){const{data:t}=await n.post("/admin/announcements",e);return t}async function bi(e,t){const{data:a}=await n.put(`/admin/announcements/${e}`,t);return a}async function Ai(e){const{data:t}=await n.delete(`/admin/announcements/${e}`);return t}async function ki(e,t=1,a=20,r,o){const{data:s}=await n.get(`/admin/announcements/${e}/read-status`,{params:{page:t,page_size:a,...r},signal:o==null?void 0:o.signal});return s}const Si={list:_i,getById:vi,create:wi,update:bi,delete:Ai,getReadStatus:ki},Jt=["anthropic","openai","gemini","antigravity","grok"],Pi=["openai","anthropic","grok","kimi","zhipu"];function Ii(e){const t={};for(const a of Pi){const r=e==null?void 0:e[a];t[a]=typeof r=="number"&&Number.isFinite(r)?Math.min(100,Math.max(1,Math.trunc(r))):100}return t}function af(e){return Ii(e)}function Ei(e){const t={};for(const a of Jt){const r=e==null?void 0:e[a];t[a]={daily:typeof(r==null?void 0:r.daily)=="number"?r.daily:null,weekly:typeof(r==null?void 0:r.weekly)=="number"?r.weekly:null,monthly:typeof(r==null?void 0:r.monthly)=="number"?r.monthly:null}}return t}function $i(e){const t=r=>typeof r=="number"&&Number.isFinite(r)&&r>=0?r:null,a={};for(const r of Jt){const o=e==null?void 0:e[r];a[r]={daily:t(o==null?void 0:o.daily),weekly:t(o==null?void 0:o.weekly),monthly:t(o==null?void 0:o.monthly)}}return a}const Yt=["email","linuxdo","oidc","wechat","github","google","dingtalk"],Ci=0,Xt=5,Mi={open:"open",open_platform:"open",official:"open",wx_open:"open",mp:"mp",official_account:"mp",wechat_mp:"mp",mini_program:"mp",mobile:"mobile",mobile_app:"mobile",native_app:"mobile"};function Zt(e){return Array.isArray(e)?e.filter(t=>t.group_id>0&&t.validity_days>0).map(t=>({group_id:Math.floor(t.group_id),validity_days:Math.min(36500,Math.max(1,Math.floor(t.validity_days)))})):[]}function nf(e){const t=e;return Yt.reduce((a,r)=>{const o=t[`auth_source_default_${r}_subscriptions`];return a[r]={balance:Number(t[`auth_source_default_${r}_balance`]??Ci),concurrency:Math.max(1,Number(t[`auth_source_default_${r}_concurrency`]??Xt)),subscriptions:Zt(Array.isArray(o)?o:[]),grant_on_signup:t[`auth_source_default_${r}_grant_on_signup`]===!0,grant_on_first_bind:t[`auth_source_default_${r}_grant_on_first_bind`]===!0,platform_quotas:Ei(t[`auth_source_default_${r}_platform_quotas`])},a},{})}function rf(e,t){const a=e;for(const r of Yt){const o=t[r];a[`auth_source_default_${r}_balance`]=Number(o.balance)||0,a[`auth_source_default_${r}_concurrency`]=Math.max(1,Math.floor(Number(o.concurrency)||Xt)),a[`auth_source_default_${r}_subscriptions`]=Zt(o.subscriptions),a[`auth_source_default_${r}_grant_on_signup`]=o.grant_on_signup,a[`auth_source_default_${r}_grant_on_first_bind`]=o.grant_on_first_bind,a[`auth_source_default_${r}_platform_quotas`]=$i(o.platform_quotas)}return e}function et(e){if(typeof e!="string")return"open";const t=e.trim().toLowerCase();return t?Mi[t]??"open":"open"}function of(e){switch(et(e)){case"mp":return"snsapi_userinfo";case"mobile":return"";default:return"snsapi_login"}}function sf(e,t,a,r){if(typeof e=="boolean"||typeof t=="boolean"||typeof a=="boolean")return{openEnabled:e===!0,mpEnabled:t===!0,mobileEnabled:a===!0};switch(et(r)){case"mp":return{openEnabled:!1,mpEnabled:!0,mobileEnabled:!1};case"mobile":return{openEnabled:!1,mpEnabled:!1,mobileEnabled:!0};default:return{openEnabled:!0,mpEnabled:!1,mobileEnabled:!1}}}function cf(e,t,a,r){return t?"mp":a?"mobile":e?"open":et(r)}async function Ti(){const{data:e}=await n.get("/admin/settings");return e}async function Ri(e){const{data:t}=await n.put("/admin/settings",e);return t}async function xi(e){const{data:t}=await n.post("/admin/settings/test-smtp",e);return t}async function Li(e){const{data:t}=await n.post("/admin/settings/send-test-email",e);return t}async function Oi(){const{data:e}=await n.get("/admin/settings/email-templates");return e}async function Di(e,t){const{data:a}=await n.get(`/admin/settings/email-templates/${encodeURIComponent(e)}/${encodeURIComponent(t)}`);return a}async function qi(e,t,a){const{data:r}=await n.put(`/admin/settings/email-templates/${encodeURIComponent(e)}/${encodeURIComponent(t)}`,a);return r}async function zi(e,t){const{data:a}=await n.post(`/admin/settings/email-templates/${encodeURIComponent(e)}/${encodeURIComponent(t)}/restore-official`);return a}async function Ui(e){const{data:t}=await n.post("/admin/settings/email-template-preview",e);return t}async function Ki(){const{data:e}=await n.get("/admin/settings/admin-api-key");return e}async function Vi(){const{data:e}=await n.post("/admin/settings/admin-api-key/regenerate");return e}async function Ni(){const{data:e}=await n.delete("/admin/settings/admin-api-key");return e}async function Bi(){const{data:e}=await n.get("/admin/settings/overload-cooldown");return e}async function Hi(e){const{data:t}=await n.put("/admin/settings/overload-cooldown",e);return t}async function Fi(){const{data:e}=await n.get("/admin/settings/rate-limit-429-cooldown");return e}async function Wi(e){const{data:t}=await n.put("/admin/settings/rate-limit-429-cooldown",e);return t}async function ji(){const{data:e}=await n.get("/admin/settings/panel-rate-limit");return e}async function Gi(e){const{data:t}=await n.put("/admin/settings/panel-rate-limit",e);return t}async function Qi(){const{data:e}=await n.get("/admin/settings/stream-timeout");return e}async function Ji(e){const{data:t}=await n.put("/admin/settings/stream-timeout",e);return t}async function Yi(){const{data:e}=await n.get("/admin/settings/rectifier");return e}async function Xi(e){const{data:t}=await n.put("/admin/settings/rectifier",e);return t}async function Zi(){const{data:e}=await n.get("/admin/settings/beta-policy");return e}async function ec(e){const{data:t}=await n.put("/admin/settings/beta-policy",e);return t}async function tc(){const{data:e}=await n.get("/admin/settings/web-search-emulation");return e}async function ac(e){const{data:t}=await n.put("/admin/settings/web-search-emulation",e);return t}async function nc(e){const{data:t}=await n.post("/admin/settings/web-search-emulation/test",{query:e});return t}async function rc(e){await n.post("/admin/settings/web-search-emulation/reset-usage",e)}const oc={getSettings:Ti,updateSettings:Ri,testSmtpConnection:xi,sendTestEmail:Li,getEmailTemplates:Oi,getEmailTemplate:Di,updateEmailTemplate:qi,restoreOfficialEmailTemplate:zi,previewEmailTemplate:Ui,getAdminApiKey:Ki,regenerateAdminApiKey:Vi,deleteAdminApiKey:Ni,getOverloadCooldownSettings:Bi,updateOverloadCooldownSettings:Hi,getRateLimit429CooldownSettings:Fi,updateRateLimit429CooldownSettings:Wi,getPanelRateLimitSettings:ji,updatePanelRateLimitSettings:Gi,getStreamTimeoutSettings:Qi,updateStreamTimeoutSettings:Ji,getRectifierSettings:Yi,updateRectifierSettings:Xi,getBetaPolicySettings:Zi,updateBetaPolicySettings:ec,getWebSearchEmulationConfig:tc,updateWebSearchEmulationConfig:ac,testWebSearchEmulation:nc,resetWebSearchUsage:rc};async function sc(e=1,t=20,a,r){const{data:o}=await n.get("/admin/subscriptions",{params:{page:e,page_size:t,...a},signal:r==null?void 0:r.signal});return o}async function ic(e){const{data:t}=await n.get(`/admin/subscriptions/${e}`);return t}async function cc(e){const{data:t}=await n.get(`/admin/subscriptions/${e}/progress`);return t}async function uc(e){const{data:t}=await n.post("/admin/subscriptions/assign",e);return t}async function lc(e){const{data:t}=await n.post("/admin/subscriptions/bulk-assign",e);return t}async function dc(e,t){const{data:a}=await n.post(`/admin/subscriptions/${e}/extend`,t);return a}async function mc(e){const{data:t}=await n.post(`/admin/subscriptions/${e}/revoke`);return t}async function pc(e){const{data:t}=await n.post(`/admin/subscriptions/${e}/restore`);return t}async function fc(e,t){const{data:a}=await n.post(`/admin/subscriptions/${e}/reset-quota`,t);return a}async function gc(e,t=1,a=20){const{data:r}=await n.get(`/admin/groups/${e}/subscriptions`,{params:{page:t,page_size:a}});return r}async function hc(e,t=1,a=20){const{data:r}=await n.get(`/admin/users/${e}/subscriptions`,{params:{page:t,page_size:a}});return r}const yc={list:sc,getById:ic,getProgress:cc,assign:uc,bulkAssign:lc,extend:dc,revoke:mc,restore:pc,resetQuota:fc,listByGroup:gc,listByUser:hc};async function _c(e,t){const{data:a}=await n.get("/admin/usage",{params:e,signal:t==null?void 0:t.signal});return a}async function vc(e){const{data:t}=await n.get("/admin/usage/stats",{params:e});return t}async function wc(e){const{data:t}=await n.get("/admin/usage/search-users",{params:{q:e}});return t}async function bc(e,t){const a={};e!==void 0&&(a.user_id=e),t&&(a.q=t);const{data:r}=await n.get("/admin/usage/search-api-keys",{params:a});return r}async function Ac(e,t){const{data:a}=await n.get("/admin/usage/cleanup-tasks",{params:e,signal:t==null?void 0:t.signal});return a}async function kc(e){const{data:t}=await n.post("/admin/usage/cleanup-tasks",e);return t}async function Sc(e){const{data:t}=await n.post(`/admin/usage/cleanup-tasks/${e}/cancel`);return t}const Pc={list:_c,getStats:vc,searchUsers:wc,searchApiKeys:bc,listCleanupTasks:Ac,createCleanupTask:kc,cancelCleanupTask:Sc};async function Ic(e){const{data:t}=await n.post("/admin/gemini/oauth/auth-url",e);return t}async function Ec(e){const{data:t}=await n.post("/admin/gemini/oauth/exchange-code",e);return t}async function $c(){const{data:e}=await n.get("/admin/gemini/oauth/capabilities");return e}const Cc={generateAuthUrl:Ic,exchangeCode:Ec,getCapabilities:$c};async function Mc(e){const{data:t}=await n.post("/admin/antigravity/oauth/auth-url",e);return t}async function Tc(e){const{data:t}=await n.post("/admin/antigravity/oauth/exchange-code",e);return t}async function Rc(e,t){const a={refresh_token:e};t&&(a.proxy_id=t);const{data:r}=await n.post("/admin/antigravity/oauth/refresh-token",a);return r}const xc={generateAuthUrl:Mc,exchangeCode:Tc,refreshAntigravityToken:Rc},ea=12e4;async function Lc(){const{data:e}=await n.get("/admin/grok/oauth/capabilities");return e}const Oc=3,Dc=9e4,qc=9e4;function zc(e){return Math.ceil(Math.max(1,e)/Oc)*Dc+qc}async function Uc(e){const{data:t}=await n.post("/admin/grok/oauth/auth-url",e);return t}async function Kc(e){const{data:t}=await n.post("/admin/grok/oauth/exchange-code",e);return t}async function Vc(e,t){const a={refresh_token:e};t&&(a.proxy_id=t);const{data:r}=await n.post("/admin/grok/oauth/refresh-token",a);return r}async function Nc(e){const{data:t}=await n.get(`/admin/grok/accounts/${e}/quota`);return t}async function Bc(e){const{data:t}=await n.post(`/admin/grok/accounts/${e}/reset-quota`);return t}async function Hc(e){const{data:t}=await n.post("/admin/grok/sso-to-oauth",e,{timeout:zc(e.sso_tokens.length)});return t}async function Fc(e,t){const a={sso_token:e};t&&(a.proxy_id=t);const{data:r}=await n.post("/admin/grok/oauth/sso-token",a,{timeout:ea});return r}async function Wc(e,t){const a="----",r=e.indexOf(a),o=(r>=0?e.slice(0,r):e).trim(),s=r>=0?e.slice(r+a.length):"",i={email:o,password:s};t&&(i.proxy_id=t);const{data:c}=await n.post("/admin/grok/oauth/password",i,{timeout:ea});return c}const jc={generateAuthUrl:Uc,getCapabilities:Lc,exchangeCode:Kc,refreshGrokToken:Vc,queryQuota:Nc,resetQuota:Bc,createFromSSO:Hc,validateSSOToken:Fc,authorizePassword:Wc};async function Gc(e){const{data:t}=await n.get(`/admin/cn-providers/accounts/${e}/quota`);return t}async function Qc(e){const{data:t}=await n.get(`/admin/cn-providers/accounts/${e}/balance`);return t}const Jc={queryQuota:Gc,queryBalance:Qc};async function Yc(){const{data:e}=await n.get("/admin/user-attributes");return e}async function Xc(){const{data:e}=await n.get("/admin/user-attributes",{params:{enabled:!0}});return e}async function Zc(e){const{data:t}=await n.post("/admin/user-attributes",e);return t}async function eu(e,t){const{data:a}=await n.put(`/admin/user-attributes/${e}`,t);return a}async function tu(e){const{data:t}=await n.delete(`/admin/user-attributes/${e}`);return t}async function au(e){const{data:t}=await n.put("/admin/user-attributes/reorder",{ids:e});return t}async function nu(e){const{data:t}=await n.get(`/admin/users/${e}/attributes`);return t}async function ru(e,t){const{data:a}=await n.put(`/admin/users/${e}/attributes`,{values:t});return a}async function ou(e){const{data:t}=await n.post("/admin/user-attributes/batch",{user_ids:e});return t}const su={listDefinitions:Yc,listEnabledDefinitions:Xc,createDefinition:Zc,updateDefinition:eu,deleteDefinition:tu,reorderDefinitions:au,getUserAttributeValues:nu,updateUserAttributeValues:ru,getBatchUserAttributes:ou};async function iu(e,t){const a={};e&&(a.platform=e),typeof t=="number"&&t>0&&(a.group_id=t);const{data:r}=await n.get("/admin/ops/concurrency",{params:a});return r}async function cu(){const{data:e}=await n.get("/admin/ops/user-concurrency");return e}async function uu(e,t){const a={};e&&(a.platform=e),typeof t=="number"&&t>0&&(a.group_id=t);const{data:r}=await n.get("/admin/ops/account-availability",{params:a});return r}async function lu(e,t,a){const r={window:e};t&&(r.platform=t),typeof a=="number"&&a>0&&(r.group_id=a);const{data:o}=await n.get("/admin/ops/realtime-traffic",{params:r});return o}const du={REALTIME_DISABLED:4001},mu="sub2api-admin";function pu(e,t={}){let a=null,r=0;const o=Number.isFinite(t.maxReconnectAttempts)?t.maxReconnectAttempts:1/0,s=t.reconnectBaseDelayMs??1e3,i=t.reconnectMaxDelayMs??3e4;let c=null,u=!0,p=!1,d=!1,y=0;const m=t.staleTimeoutMs??12e4,l=t.staleCheckIntervalMs??3e4;let f=null;const g=H=>{var F;(F=t.onStatusChange)==null||F.call(t,H)},A=()=>{c&&(clearTimeout(c),c=null)},P=()=>{f&&(clearInterval(f),f=null)},b=()=>{P(),!(!m||m<=0)&&(f=setInterval(()=>{if(!u||!a||a.readyState!==WebSocket.OPEN||!y)return;Date.now()-y>m&&a.close()},l))},M=()=>{var W;if(!u||d&&r>=o)return;if(typeof navigator<"u"&&"onLine"in navigator&&!navigator.onLine){g("offline");return}const H=s*Math.pow(2,r),F=Math.min(H,i),z=Math.floor(Math.random()*250);A(),c=setTimeout(()=>{r++,G()},F+z),(W=t.onReconnectScheduled)==null||W.call(t,{attempt:r+1,delayMs:F+z})},E=()=>{u&&(a&&(a.readyState===WebSocket.OPEN||a.readyState===WebSocket.CONNECTING)||G())},K=()=>{g("offline")},G=()=>{if(!u||p||a&&(a.readyState===WebSocket.OPEN||a.readyState===WebSocket.CONNECTING)||d&&r>=o)return;p=!0,g(d?"reconnecting":"connecting");const H=t.wsBaseUrl||void 0,F=H?new URL(`${window.location.protocol==="https:"?"wss:":"ws:"}//${H}/api/v1/admin/ops/ws/qps`):new URL(Tt("/api/v1/admin/ops/ws/qps").replace(/^http/,"ws")),z=String(t.token??localStorage.getItem("auth_token")??"").trim(),W=[mu];z&&W.push(`jwt.${z}`),a=new WebSocket(F.toString(),W),a.onopen=()=>{var O;r=0,p=!1,d=!0,A(),y=Date.now(),b(),g("connected"),(O=t.onOpen)==null||O.call(t)},a.onmessage=O=>{try{const q=JSON.parse(O.data);y=Date.now(),e(q)}catch(q){console.warn("[OpsWS] Failed to parse message:",q)}},a.onerror=O=>{var q;console.error("[OpsWS] Connection error:",O),(q=t.onError)==null||q.call(t,O)},a.onclose=O=>{var q,V;if(p=!1,(q=t.onClose)==null||q.call(t,O),P(),a=null,O&&typeof O.code=="number"&&O.code===du.REALTIME_DISABLED){u=!1,A(),g("closed"),(V=t.onFatalClose)==null||V.call(t,O);return}M()}};return window.addEventListener("online",E),window.addEventListener("offline",K),G(),()=>{u=!1,window.removeEventListener("online",E),window.removeEventListener("offline",K),A(),P(),a&&a.close(),a=null,g("closed")}}async function fu(e,t={}){const{data:a}=await n.get("/admin/ops/dashboard/overview",{params:e,signal:t.signal});return a}async function gu(e,t={}){const{data:a}=await n.get("/admin/ops/dashboard/snapshot-v2",{params:e,signal:t.signal});return a}async function hu(e,t={}){const{data:a}=await n.get("/admin/ops/dashboard/throughput-trend",{params:e,signal:t.signal});return a}async function yu(e,t={}){const{data:a}=await n.get("/admin/ops/dashboard/latency-histogram",{params:e,signal:t.signal});return a}async function _u(e,t={}){const{data:a}=await n.get("/admin/ops/dashboard/error-trend",{params:e,signal:t.signal});return a}async function vu(e,t={}){const{data:a}=await n.get("/admin/ops/dashboard/error-distribution",{params:e,signal:t.signal});return a}async function wu(e,t={}){const{data:a}=await n.get("/admin/ops/dashboard/openai-token-stats",{params:e,signal:t.signal});return a}async function bu(e){const{data:t}=await n.get("/admin/ops/errors",{params:e});return t}async function Au(e){const{data:t}=await n.get(`/admin/ops/errors/${e}`);return t}async function ku(e,t){await n.put(`/admin/ops/errors/${e}/resolve`,{resolved:t})}async function Su(e){const{data:t}=await n.get("/admin/ops/request-errors",{params:e});return t}async function Pu(e){const{data:t}=await n.get("/admin/ops/upstream-errors",{params:e});return t}async function Iu(e){const{data:t}=await n.get(`/admin/ops/request-errors/${e}`);return t}async function Eu(e){const{data:t}=await n.get(`/admin/ops/upstream-errors/${e}`);return t}async function $u(e,t){await n.put(`/admin/ops/request-errors/${e}/resolve`,{resolved:t})}async function Cu(e,t){await n.put(`/admin/ops/upstream-errors/${e}/resolve`,{resolved:t})}async function Mu(e,t={},a={}){const r={...t};a.include_detail&&(r.include_detail="1");const{data:o}=await n.get(`/admin/ops/request-errors/${e}/upstream-errors`,{params:r});return o}async function Tu(e){const{data:t}=await n.get("/admin/ops/requests",{params:e});return t}async function Ru(){const{data:e}=await n.get("/admin/ops/alert-rules");return e}async function xu(e){const{data:t}=await n.post("/admin/ops/alert-rules",e);return t}async function Lu(e,t){const{data:a}=await n.put(`/admin/ops/alert-rules/${e}`,t);return a}async function Ou(e){await n.delete(`/admin/ops/alert-rules/${e}`)}async function Du(e={}){const{data:t}=await n.get("/admin/ops/alert-events",{params:e});return t}async function qu(e){const{data:t}=await n.get(`/admin/ops/alert-events/${e}`);return t}async function zu(e,t){await n.put(`/admin/ops/alert-events/${e}/status`,{status:t})}async function Uu(e){await n.post("/admin/ops/alert-silences",e)}async function Ku(){const{data:e}=await n.get("/admin/ops/email-notification/config");return e}async function Vu(e){const{data:t}=await n.put("/admin/ops/email-notification/config",e);return t}async function Nu(){const{data:e}=await n.get("/admin/ops/runtime/alert");return e}async function Bu(e){const{data:t}=await n.put("/admin/ops/runtime/alert",e);return t}async function Hu(){const{data:e}=await n.get("/admin/ops/runtime/logging");return e}async function Fu(e){const{data:t}=await n.put("/admin/ops/runtime/logging",e);return t}async function Wu(){const{data:e}=await n.post("/admin/ops/runtime/logging/reset");return e}async function ju(e){const{data:t}=await n.get("/admin/ops/system-logs",{params:e});return t}async function Gu(e){const{data:t}=await n.post("/admin/ops/system-logs/cleanup",e);return t}async function Qu(){const{data:e}=await n.get("/admin/ops/system-logs/health");return e}async function Ju(){const{data:e}=await n.get("/admin/ops/advanced-settings");return e}async function Yu(e){const{data:t}=await n.put("/admin/ops/advanced-settings",e);return t}async function Xu(){const{data:e}=await n.get("/admin/ops/settings/metric-thresholds");return e}async function Zu(e){await n.put("/admin/ops/settings/metric-thresholds",e)}const el={getDashboardSnapshotV2:gu,getDashboardOverview:fu,getThroughputTrend:hu,getLatencyHistogram:yu,getErrorTrend:_u,getErrorDistribution:vu,getOpenAITokenStats:wu,getConcurrencyStats:iu,getUserConcurrencyStats:cu,getAccountAvailabilityStats:uu,getRealtimeTrafficSummary:lu,subscribeQPS:pu,listErrorLogs:bu,getErrorLogDetail:Au,updateErrorResolved:ku,listRequestErrors:Su,listUpstreamErrors:Pu,getRequestErrorDetail:Iu,getUpstreamErrorDetail:Eu,updateRequestErrorResolved:$u,updateUpstreamErrorResolved:Cu,listRequestErrorUpstreamErrors:Mu,listRequestDetails:Tu,listAlertRules:Ru,createAlertRule:xu,updateAlertRule:Lu,deleteAlertRule:Ou,listAlertEvents:Du,getAlertEvent:qu,updateAlertEventStatus:zu,createAlertSilence:Uu,getEmailNotificationConfig:Ku,updateEmailNotificationConfig:Vu,getAlertRuntimeSettings:Nu,updateAlertRuntimeSettings:Bu,getRuntimeLogConfig:Hu,updateRuntimeLogConfig:Fu,resetRuntimeLogConfig:Wu,getAdvancedSettings:Ju,updateAdvancedSettings:Yu,getMetricThresholds:Xu,updateMetricThresholds:Zu,listSystemLogs:ju,cleanupSystemLogs:Gu,getSystemLogSinkHealth:Qu};async function tl(){const{data:e}=await n.get("/admin/error-passthrough-rules");return e}async function al(e){const{data:t}=await n.get(`/admin/error-passthrough-rules/${e}`);return t}async function nl(e){const{data:t}=await n.post("/admin/error-passthrough-rules",e);return t}async function ta(e,t){const{data:a}=await n.put(`/admin/error-passthrough-rules/${e}`,t);return a}async function rl(e){const{data:t}=await n.delete(`/admin/error-passthrough-rules/${e}`);return t}async function ol(e,t){return ta(e,{enabled:t})}const sl={list:tl,getById:al,create:nl,update:ta,delete:rl,toggleEnabled:ol};async function il(){const{data:e}=await n.get("/admin/data-management/agent/health");return e}async function cl(){const{data:e}=await n.get("/admin/data-management/config");return e}async function ul(e){const{data:t}=await n.put("/admin/data-management/config",e);return t}async function ll(e){const{data:t}=await n.post("/admin/data-management/s3/test",e);return t}async function dl(e){const{data:t}=await n.get(`/admin/data-management/sources/${e}/profiles`);return t}async function ml(e,t){const{data:a}=await n.post(`/admin/data-management/sources/${e}/profiles`,t);return a}async function pl(e,t,a){const{data:r}=await n.put(`/admin/data-management/sources/${e}/profiles/${t}`,a);return r}async function fl(e,t){await n.delete(`/admin/data-management/sources/${e}/profiles/${t}`)}async function gl(e,t){const{data:a}=await n.post(`/admin/data-management/sources/${e}/profiles/${t}/activate`);return a}async function hl(){const{data:e}=await n.get("/admin/data-management/s3/profiles");return e}async function yl(e){const{data:t}=await n.post("/admin/data-management/s3/profiles",e);return t}async function _l(e,t){const{data:a}=await n.put(`/admin/data-management/s3/profiles/${e}`,t);return a}async function vl(e){await n.delete(`/admin/data-management/s3/profiles/${e}`)}async function wl(e){const{data:t}=await n.post(`/admin/data-management/s3/profiles/${e}/activate`);return t}async function bl(e){const t=e.idempotency_key?{"X-Idempotency-Key":e.idempotency_key}:void 0,{data:a}=await n.post("/admin/data-management/backups",e,{headers:t});return a}async function Al(e){const{data:t}=await n.get("/admin/data-management/backups",{params:e});return t}async function kl(e){const{data:t}=await n.get(`/admin/data-management/backups/${e}`);return t}const Sl={getAgentHealth:il,getConfig:cl,updateConfig:ul,listSourceProfiles:dl,createSourceProfile:ml,updateSourceProfile:pl,deleteSourceProfile:fl,setActiveSourceProfile:gl,testS3:ll,listS3Profiles:hl,createS3Profile:yl,updateS3Profile:_l,deleteS3Profile:vl,setActiveS3Profile:wl,createBackupJob:bl,listBackupJobs:Al,getBackupJob:kl};async function Pl(e,t){const{data:a}=await n.put(`/admin/api-keys/${e}`,{group_id:t===null?0:t});return a}const Il={updateApiKeyGroup:Pl};async function El(e){const{data:t}=await n.get(`/admin/accounts/${e}/scheduled-test-plans`);return t??[]}async function $l(e){const{data:t}=await n.post("/admin/scheduled-test-plans",e);return t}async function Cl(e,t){const{data:a}=await n.put(`/admin/scheduled-test-plans/${e}`,t);return a}async function Ml(e){await n.delete(`/admin/scheduled-test-plans/${e}`)}async function Tl(e,t){const{data:a}=await n.get(`/admin/scheduled-test-plans/${e}/results`,{params:t?{limit:t}:void 0});return a??[]}const Rl={listByAccount:El,create:$l,update:Cl,delete:Ml,listResults:Tl};async function xl(){const{data:e}=await n.get("/admin/backups/s3-config");return e}async function Ll(e){const{data:t}=await n.put("/admin/backups/s3-config",e);return t}async function Ol(e){const{data:t}=await n.post("/admin/backups/s3-config/test",e);return t}async function Dl(){const{data:e}=await n.get("/admin/backups/image-storage");return e}async function ql(e){const{data:t}=await n.put("/admin/backups/image-storage",e);return t}async function zl(e){const{data:t}=await n.post("/admin/backups/image-storage/test",e);return t}async function Ul(){const{data:e}=await n.get("/admin/backups/schedule");return e}async function Kl(e){const{data:t}=await n.put("/admin/backups/schedule",e);return t}async function Vl(e){const{data:t}=await n.post("/admin/backups",e||{});return t}async function Nl(){const{data:e}=await n.get("/admin/backups");return e}async function Bl(e){const{data:t}=await n.get(`/admin/backups/${e}`);return t}async function Hl(e){await n.delete(`/admin/backups/${e}`)}async function Fl(e){const{data:t}=await n.get(`/admin/backups/${e}/download-url`);return t}async function Wl(e,t){const{data:a}=await n.post(`/admin/backups/${e}/restore`,{password:t});return a}const jl={getS3Config:xl,updateS3Config:Ll,testS3Connection:Ol,getImageStorageConfig:Dl,updateImageStorageConfig:ql,testImageStorageConnection:zl,getSchedule:Ul,updateSchedule:Kl,createBackup:Vl,listBackups:Nl,getBackup:Bl,deleteBackup:Hl,getDownloadURL:Fl,restoreBackup:Wl};async function Gl(){const{data:e}=await n.get("/admin/tls-fingerprint-profiles");return e}async function Ql(e){const{data:t}=await n.get(`/admin/tls-fingerprint-profiles/${e}`);return t}async function Jl(e){const{data:t}=await n.post("/admin/tls-fingerprint-profiles",e);return t}async function Yl(e,t){const{data:a}=await n.put(`/admin/tls-fingerprint-profiles/${e}`,t);return a}async function Xl(e){const{data:t}=await n.delete(`/admin/tls-fingerprint-profiles/${e}`);return t}const Zl={list:Gl,getById:Ql,create:Jl,update:Yl,delete:Xl};async function ed(e=1,t=20,a,r){const{data:o}=await n.get("/admin/channels",{params:{page:e,page_size:t,...a},signal:r==null?void 0:r.signal});return o}async function td(e){const{data:t}=await n.get(`/admin/channels/${e}`);return t}async function ad(e){const{data:t}=await n.post("/admin/channels",e);return t}async function nd(e,t){const{data:a}=await n.put(`/admin/channels/${e}`,t);return a}async function rd(e){await n.delete(`/admin/channels/${e}`)}async function od(e){const{data:t}=await n.get("/admin/channels/model-pricing",{params:{model:e}});return t}async function sd(e){const{data:t}=await n.get("/admin/channels/pricing/sync-models",{params:{platform:e}});return t}const id={list:ed,getById:td,create:ad,update:nd,remove:rd,getModelDefaultPricing:od,syncPricingModels:sd};async function cd(e={},t){const{data:a}=await n.get("/admin/channel-monitors",{params:e,signal:t==null?void 0:t.signal});return a}async function ud(e){const{data:t}=await n.get(`/admin/channel-monitors/${e}`);return t}async function ld(e){const{data:t}=await n.post("/admin/channel-monitors",e);return t}const qe=new Map;function dd(){var e;try{const t=(e=globalThis.localStorage)==null?void 0:e.getItem("auth_user");if(!t)return null;const a=JSON.parse(t);if(typeof a!="object"||a===null)return null;const r=a.id;return typeof r!="number"||!Number.isSafeInteger(r)||r<=0?null:String(r)}catch{return null}}function md(e){const t=dd();return t?{adminID:t,key:`sub2api:admin:channel-monitor-duplicate:${t}:${e}`}:null}function pd(e){var t;try{return((t=globalThis.sessionStorage)==null?void 0:t.getItem(e))??null}catch{return null}}function pt(e,t){var a,r;try{t?(a=globalThis.sessionStorage)==null||a.setItem(e,t):(r=globalThis.sessionStorage)==null||r.removeItem(e)}catch{}}async function fd(e){var o,s;const t=md(e);let a=t?qe.get(t.key)??pd(t.key):null;if(!a){const i=((s=(o=globalThis.crypto)==null?void 0:o.randomUUID)==null?void 0:s.call(o))??`${Date.now()}-${Math.random().toString(36).slice(2)}`;a=`channel-monitor-duplicate-${(t==null?void 0:t.adminID)??"unknown-admin"}-${e}-${i}`}t&&(qe.set(t.key,a),pt(t.key,a));const{data:r}=await n.post(`/admin/channel-monitors/${e}/duplicate`,void 0,{headers:{"Idempotency-Key":a}});return t&&(qe.delete(t.key),pt(t.key,null)),r}async function gd(e,t){const{data:a}=await n.put(`/admin/channel-monitors/${e}`,t);return a}async function hd(e){await n.delete(`/admin/channel-monitors/${e}`)}async function yd(e){const{data:t}=await n.post(`/admin/channel-monitors/${e}/run`);return t}async function _d(e,t={}){const{data:a}=await n.get(`/admin/channel-monitors/${e}/history`,{params:t});return a}const vd={list:cd,get:ud,create:ld,duplicate:fd,update:gd,del:hd,runNow:yd,listHistory:_d};async function wd(e={}){const{data:t}=await n.get("/admin/channel-monitor-templates",{params:e});return t}async function bd(e){const{data:t}=await n.get(`/admin/channel-monitor-templates/${e}`);return t}async function Ad(e){const{data:t}=await n.post("/admin/channel-monitor-templates",e);return t}async function kd(e,t){const{data:a}=await n.put(`/admin/channel-monitor-templates/${e}`,t);return a}async function Sd(e){await n.delete(`/admin/channel-monitor-templates/${e}`)}async function Pd(e,t){const{data:a}=await n.post(`/admin/channel-monitor-templates/${e}/apply`,{monitor_ids:t});return a}async function Id(e){const{data:t}=await n.get(`/admin/channel-monitor-templates/${e}/monitors`);return t}const Ed={list:wd,get:bd,create:Ad,update:kd,del:Sd,apply:Pd,listAssociatedMonitors:Id},$d={getConfig(){return n.get("/admin/payment/config")},updateConfig(e){return n.put("/admin/payment/config",e)},getDashboard(e){return n.get("/admin/payment/dashboard",{params:e?{days:e}:void 0})},getOrders(e){return n.get("/admin/payment/orders",{params:e})},getOrder(e){return n.get(`/admin/payment/orders/${e}`)},cancelOrder(e){return n.post(`/admin/payment/orders/${e}/cancel`)},retryRecharge(e){return n.post(`/admin/payment/orders/${e}/retry`)},refundOrder(e,t){return n.post(`/admin/payment/orders/${e}/refund`,t)},queryRefund(e){return n.post(`/admin/payment/orders/${e}/refund/query`)},getChannels(){return n.get("/admin/payment/channels")},createChannel(e){return n.post("/admin/payment/channels",e)},updateChannel(e,t){return n.put(`/admin/payment/channels/${e}`,t)},deleteChannel(e){return n.delete(`/admin/payment/channels/${e}`)},getPlans(){return n.get("/admin/payment/plans")},createPlan(e){return n.post("/admin/payment/plans",e)},updatePlan(e,t){return n.put(`/admin/payment/plans/${e}`,t)},deletePlan(e){return n.delete(`/admin/payment/plans/${e}`)},getProviders(){return n.get("/admin/payment/providers")},createProvider(e){return n.post("/admin/payment/providers",e)},updateProvider(e,t){return n.put(`/admin/payment/providers/${e}`,t)},deleteProvider(e){return n.delete(`/admin/payment/providers/${e}`)}};async function Cd(e={}){const{data:t}=await n.get("/admin/affiliates/users",{params:{page:e.page??1,page_size:e.page_size??20,search:e.search??""}});return t}async function Md(e){const{data:t}=await n.get("/admin/affiliates/users/lookup",{params:{q:e}});return t}async function Td(e,t){const{data:a}=await n.put(`/admin/affiliates/users/${e}`,t);return a}async function Rd(e){const{data:t}=await n.delete(`/admin/affiliates/users/${e}`);return t}async function xd(e){const{data:t}=await n.post("/admin/affiliates/users/batch-rate",e);return t}function tt(e={}){return{page:e.page??1,page_size:e.page_size??20,search:e.search??"",start_at:e.start_at||void 0,end_at:e.end_at||void 0,sort_by:e.sort_by||void 0,sort_order:e.sort_order||void 0,timezone:e.timezone||void 0}}async function Ld(e={}){const{data:t}=await n.get("/admin/affiliates/invites",{params:tt(e)});return t}async function Od(e={}){const{data:t}=await n.get("/admin/affiliates/rebates",{params:tt(e)});return t}async function Dd(e={}){const{data:t}=await n.get("/admin/affiliates/transfers",{params:tt(e)});return t}async function qd(e){const{data:t}=await n.get(`/admin/affiliates/users/${e}/overview`);return t}const zd={listUsers:Cd,lookupUsers:Md,updateUserSettings:Td,clearUserSettings:Rd,batchSetRate:xd,listInviteRecords:Ld,listRebateRecords:Od,listTransferRecords:Dd,getUserOverview:qd};async function Ud(){const{data:e}=await n.get("/admin/risk-control/config");return e}async function Kd(e){const{data:t}=await n.put("/admin/risk-control/config",e);return t}async function Vd(){const{data:e}=await n.get("/admin/risk-control/status");return e}async function Nd(e={}){const{data:t}=await n.post("/admin/risk-control/api-keys/test",e);return t}async function Bd(e={}){const{data:t}=await n.get("/admin/risk-control/logs",{params:e});return t}async function Hd(e){const{data:t}=await n.post(`/admin/risk-control/users/${e}/unban`);return t}async function Fd(e){const{data:t}=await n.delete("/admin/risk-control/hashes",{data:{input_hash:e}});return t}async function Wd(){const{data:e}=await n.delete("/admin/risk-control/hashes/all");return e}const jd={getConfig:Ud,updateConfig:Kd,getStatus:Vd,testAPIKeys:Nd,listLogs:Bd,unbanUser:Hd,deleteFlaggedHash:Fd,clearFlaggedHashes:Wd},Ne={async getStatus(){const{data:e}=await n.get("/admin/compliance");return e},async accept(e){const{data:t}=await n.post("/admin/compliance/accept",e);return t}};async function Gd(e){const{data:t}=await n.get("/admin/audit-logs",{params:e});return t}async function Qd(e){const{data:t}=await n.get(`/admin/audit-logs/${e}`);return t}async function Jd(e){const{data:t}=await n.post("/admin/audit-logs/clear",{totp_code:e});return t}const Yd={list:Gd,get:Qd,clear:Jd};async function Xd(){const{data:e}=await n.get("/admin/plugins");return e}async function Zd(e){const t=new FormData;t.append("plugin",e);const{data:a}=await n.post("/admin/plugins/upload",t,{headers:{"Content-Type":"multipart/form-data"},timeout:12e4});return a}async function em(e,t,a){const{data:r}=await n.post(`/admin/plugins/${e}/enable`,{rollout_percent:t,accept_untested:a});return r}async function tm(e){const{data:t}=await n.post(`/admin/plugins/${e}/disable`);return t}async function am(e){await n.delete(`/admin/plugins/${e}`)}async function nm(e){const{data:t}=await n.get(`/admin/plugins/${e}/config`);return t}async function rm(e,t){const{data:a}=await n.put(`/admin/plugins/${e}/config`,t);return a}async function om(e){const{data:t}=await n.post(`/admin/plugins/${e}/test`);return t}async function sm(e){const{data:t}=await n.post(`/admin/plugins/${e}/ui-session`);return t}const im={list:Xd,upload:Zd,enable:em,disable:tm,remove:am,getConfig:nm,saveConfig:rm,test:om,createUISession:sm};async function cm(){const{data:e}=await n.get("/admin/model-plaza/config");return e}async function um(e){const{data:t}=await n.put("/admin/model-plaza/config",e);return t}async function lm(){const{data:e}=await n.get("/admin/model-plaza/options");return e}const dm={getModelPlazaConfig:cm,updateModelPlazaConfig:um,getModelPlazaOptions:lm},ft={dashboard:qr,users:eo,groups:To,accounts:zs,proxies:ei,redeem:li,promo:yi,announcements:Si,settings:oc,system:mn,subscriptions:yc,usage:Pc,gemini:Cc,antigravity:xc,grok:jc,cnProviders:Jc,userAttributes:su,ops:el,errorPassthrough:sl,dataManagement:Sl,apiKeys:Il,scheduledTests:Rl,backup:jl,tlsFingerprintProfiles:Zl,channels:id,channelMonitor:vd,channelMonitorTemplate:Ed,payment:$d,affiliates:zd,riskControl:jd,compliance:Ne,audit:Yd,plugins:im,modelPlaza:dm},he="auth_token",ye="auth_user",_e="refresh_token",ve="token_expires_at",le="pending_auth_session",mm=60*1e3,pm=120*1e3;function fm(e){return e==="pending_oauth_token"?"pending_oauth_token":"pending_auth_token"}function gt(){const e=localStorage.getItem(le);if(!e)return null;try{const t=JSON.parse(e),a=typeof(t==null?void 0:t.provider)=="string"?t.provider.trim():"";return a?{token:typeof(t==null?void 0:t.token)=="string"?t.token:"",token_field:fm(t==null?void 0:t.token_field),provider:a,redirect:typeof(t==null?void 0:t.redirect)=="string"?t.redirect:void 0,adoption_required:typeof(t==null?void 0:t.adoption_required)=="boolean"?t.adoption_required:void 0,suggested_display_name:typeof(t==null?void 0:t.suggested_display_name)=="string"?t.suggested_display_name:void 0,suggested_avatar_url:typeof(t==null?void 0:t.suggested_avatar_url)=="string"?t.suggested_avatar_url:void 0}:(localStorage.removeItem(le),null)}catch{return localStorage.removeItem(le),null}}function gm(e){localStorage.setItem(le,JSON.stringify(e))}function ht(){localStorage.removeItem(le)}const Me=oe("auth",()=>{const e=w(null),t=w(null),a=w(null),r=w(null),o=w("standard"),s=w(null);let i=null,c=null;const u=I(()=>!!t.value&&!!e.value),p=I(()=>{var v;return((v=e.value)==null?void 0:v.role)==="admin"}),d=I(()=>o.value==="simple"),y=I(()=>s.value!==null);function m(){const v=localStorage.getItem(he),S=localStorage.getItem(ye),x=localStorage.getItem(_e),Q=localStorage.getItem(ve);if(s.value=gt(),v&&S)try{t.value=v,e.value=JSON.parse(S),a.value=x,r.value=Q?parseInt(Q,10):null,q().catch(se=>{console.error("Failed to refresh user on init:",se)}),l(),x&&r.value!==null&&g(r.value)}catch(se){console.error("Failed to parse saved user data:",se),V({preservePendingAuthSession:!0})}}function l(){f(),i=setInterval(()=>{t.value&&q().catch(v=>{console.error("Auto-refresh user failed:",v)})},mm)}function f(){i&&(clearInterval(i),i=null)}function g(v){c&&(clearTimeout(c),c=null);const S=Date.now(),x=Math.max(0,v-S-pm);if(x<=0){P();return}c=setTimeout(()=>{P()},x)}function A(v){const S=Date.now()+v*1e3;r.value=S,localStorage.setItem(ve,String(S)),g(S)}async function P(){if(a.value)try{const v=await ne.refreshToken();t.value=v.access_token,a.value=v.refresh_token,A(v.expires_in)}catch(v){console.error("Token refresh failed:",v)}}function b(){c&&(clearTimeout(c),c=null)}async function M(v){try{const S=await ne.login(v);return Ye(S)||G(S),S}catch(S){throw V({preservePendingAuthSession:s.value!==null}),S}}async function E(v,S){try{const x=await ne.login2FA({temp_token:v,totp_code:S});return G(x),e.value}catch(x){throw V({preservePendingAuthSession:s.value!==null}),x}}async function K(v){try{const S=await kr.login(v);return G(S),e.value}catch(S){throw V({preservePendingAuthSession:s.value!==null}),S}}function G(v){t.value=v.access_token,v.refresh_token&&(a.value=v.refresh_token,localStorage.setItem(_e,v.refresh_token)),v.user.run_mode&&(o.value=v.user.run_mode);const{run_mode:S,...x}=v.user;e.value=x,localStorage.setItem(he,v.access_token),localStorage.setItem(ye,JSON.stringify(x)),W(),l(),v.refresh_token&&v.expires_in&&A(v.expires_in)}async function H(v){try{const S=await ne.register(v);return G(S),e.value}catch(S){throw V({preservePendingAuthSession:s.value!==null}),S}}async function F(v){f(),b(),t.value=null,e.value=null,t.value=v,localStorage.setItem(he,v);const S=localStorage.getItem(_e),x=localStorage.getItem(ve);S&&(a.value=S),x&&(r.value=parseInt(x,10));try{const Q=await q();return l(),S&&r.value!==null&&g(r.value),W(),Q}catch(Q){throw V({preservePendingAuthSession:s.value!==null}),Q}}function z(v){if(s.value=v,v){gm(v);return}ht()}function W(){z(null)}async function O(){try{await ne.logout()}catch(v){console.warn("Logout API call failed, clearing local session anyway",v)}finally{V()}}async function q(){if(!t.value)throw new Error("Not authenticated");try{const v=await ne.getCurrentUser();v.data.run_mode&&(o.value=v.data.run_mode);const{run_mode:S,...x}=v.data;return e.value=x,localStorage.setItem(ye,JSON.stringify(x)),x}catch(v){throw v.status===401&&V({preservePendingAuthSession:s.value!==null}),v}}function V(v){if(f(),b(),t.value=null,a.value=null,r.value=null,e.value=null,localStorage.removeItem(he),localStorage.removeItem(ye),localStorage.removeItem(_e),localStorage.removeItem(ve),v!=null&&v.preservePendingAuthSession){s.value=gt();return}s.value=null,ht()}return{user:e,token:t,runMode:we(o),pendingAuthSession:we(s),isAuthenticated:u,isAdmin:p,isSimpleMode:d,hasPendingAuthSession:y,login:M,loginWithPasskey:K,login2FA:E,register:H,setToken:F,logout:O,checkAuth:m,refreshUser:q,setPendingAuthSession:z,clearPendingAuthSession:W}}),hm=Object.freeze(Object.defineProperty({__proto__:null,useAuthStore:Me},Symbol.toStringTag,{value:"Module"})),at=oe("adminSettings",()=>{const e=w(!1),t=w(!1),a=(b,M)=>{try{const E=localStorage.getItem(b);if(E==="true")return!0;if(E==="false")return!1}catch{}return M},r=(b,M)=>{try{localStorage.setItem(b,M?"true":"false")}catch{}},o=(b,M)=>{try{const E=localStorage.getItem(b);if(typeof E=="string"&&E.length>0)return E}catch{}return M},s=(b,M)=>{try{localStorage.setItem(b,M)}catch{}},i=w(a("ops_monitoring_enabled_cached",!0)),c=w(a("ops_realtime_monitoring_enabled_cached",!0)),u=w(o("ops_query_mode_default_cached","auto")),p=w(a("payment_enabled_cached",!1)),d=w([]);async function y(b=!1){var M;if(!(e.value&&!b)&&!t.value){t.value=!0;try{const[E,K]=await Promise.all([ft.settings.getSettings(),ft.payment.getConfig()]);i.value=E.ops_monitoring_enabled??!0,r("ops_monitoring_enabled_cached",i.value),c.value=E.ops_realtime_monitoring_enabled??!0,r("ops_realtime_monitoring_enabled_cached",c.value),u.value=E.ops_query_mode_default||"auto",s("ops_query_mode_default_cached",u.value),d.value=Array.isArray(E.custom_menu_items)?E.custom_menu_items:[],p.value=((M=K.data)==null?void 0:M.enabled)??!1,r("payment_enabled_cached",p.value),e.value=!0}catch(E){e.value=!0,console.error("[adminSettings] Failed to fetch settings:",E)}finally{t.value=!1}}}function m(b){i.value=b,r("ops_monitoring_enabled_cached",b),e.value=!0}function l(b){c.value=b,r("ops_realtime_monitoring_enabled_cached",b),e.value=!0}function f(b){p.value=b,r("payment_enabled_cached",b),e.value=!0}function g(b){u.value=b||"auto",s("ops_query_mode_default_cached",u.value),e.value=!0}let A=null;function P(){if(!A)try{const b=()=>{m(!1)};window.addEventListener("ops-monitoring-disabled",b),A=()=>{window.removeEventListener("ops-monitoring-disabled",b)}}catch{}}return typeof window<"u"&&P(),{loaded:e,loading:t,opsMonitoringEnabled:i,opsRealtimeMonitoringEnabled:c,opsQueryModeDefault:u,paymentEnabled:p,customMenuItems:d,fetch:y,setOpsMonitoringEnabledLocal:m,setOpsRealtimeMonitoringEnabledLocal:l,setPaymentEnabledLocal:f,setOpsQueryModeDefaultLocal:g}}),ym=Object.freeze(Object.defineProperty({__proto__:null,useAdminSettingsStore:at},Symbol.toStringTag,{value:"Module"}));async function _m(){return(await n.get("/subscriptions")).data}async function vm(){return(await n.get("/subscriptions/active")).data}async function wm(){return(await n.get("/subscriptions/progress")).data}async function bm(){return(await n.get("/subscriptions/summary")).data}async function Am(e){return(await n.get(`/subscriptions/${e}/progress`)).data}const km={getMySubscriptions:_m,getActiveSubscriptions:vm,getSubscriptionsProgress:wm,getSubscriptionSummary:bm,getSubscriptionProgress:Am},Sm=6e4;let ze=0;const Pm=oe("subscriptions",()=>{const e=w([]),t=w(!1),a=w(!1),r=w(null);let o=null,s=null;const i=I(()=>e.value.length>0);async function c(m=!1){const l=Date.now();if(!m&&a.value&&r.value&&l-r.value(f===ze&&(e.value=A,a.value=!0,r.value=Date.now()),A)).catch(A=>{throw console.error("Failed to fetch active subscriptions:",A),A}).finally(()=>{o===g&&(t.value=!1,o=null)});return o=g,o}function u(){s||(s=setInterval(()=>{c(!0).catch(m=>{console.error("Subscription polling failed:",m)})},5*60*1e3))}function p(){s&&(clearInterval(s),s=null)}function d(){ze++,o=null,e.value=[],a.value=!1,r.value=null,p()}function y(){r.value=null}return{activeSubscriptions:e,loading:t,hasActiveSubscriptions:i,fetchActiveSubscriptions:c,startPolling:u,stopPolling:p,clear:d,invalidateCache:y}}),Im=20*60*1e3,aa=oe("announcements",()=>{const e=w([]),t=w(!1),a=w(0),r=w([]),o=w(null);let s=new Set;const i=I(()=>e.value.filter(f=>!f.read_at).length);async function c(f=!1){const g=Date.now();if(!(!f&&a.value>0&&g-a.valueg.notify_mode==="popup"&&!g.read_at&&!s.has(g.id));if(f.length!==0){for(const g of f)r.value.some(A=>A.id===g.id)||r.value.push(g);o.value||p()}}function p(){if(r.value.length===0){o.value=null;return}o.value=r.value.shift(),s.add(o.value.id)}async function d(){if(!o.value)return;const f=o.value.id;o.value=null,y(f),r.value.length>0&&setTimeout(()=>p(),300)}async function y(f){try{await Le.markRead(f);const g=e.value.find(A=>A.id===f);g&&(g.read_at=new Date().toISOString())}catch(g){console.error("Failed to mark announcement as read:",g)}}async function m(){const f=e.value.filter(g=>!g.read_at);if(f.length!==0)try{t.value=!0,await Promise.all(f.map(g=>Le.markRead(g.id))),e.value.forEach(g=>{g.read_at||(g.read_at=new Date().toISOString())})}catch(g){throw console.error("Failed to mark all as read:",g),g}finally{t.value=!1}}function l(){e.value=[],a.value=0,s=new Set,r.value=[],o.value=null,t.value=!1}return{announcements:e,loading:t,currentPopup:o,unreadCount:i,fetchAnnouncements:c,dismissPopup:d,markAsRead:y,markAllAsRead:m,reset:l}}),yt="我已阅读、理解并同意 Sub2API 部署与运营合规承诺",_t="I have read, understood, and agree to the Sub2API Deployment and Operation Compliance Commitment",nt=oe("adminCompliance",()=>{const e=w(null),t=w(!1),a=w(!1),r=w(!1),o=w(!1),s=I(()=>{var l;return((l=e.value)==null?void 0:l.required)===!0}),i=I(()=>s.value||o.value),c=I(()=>Y()),u=I(()=>{var l,f;return c.value==="zh"?((l=e.value)==null?void 0:l.ack_phrase_zh)||yt:((f=e.value)==null?void 0:f.ack_phrase_en)||_t});async function p(){t.value=!0;try{const l=await Ne.getStatus();return e.value=l,r.value=!0,o.value=l.required,l}finally{t.value=!1}}async function d(l){a.value=!0;try{const f=await Ne.accept({phrase:l,language:c.value});return e.value=f,o.value=f.required,f}finally{a.value=!1}}function y(l){var f,g,A,P,b,M,E,K;e.value={required:!0,version:(l==null?void 0:l.version)||((f=e.value)==null?void 0:f.version)||"v2026.06.10",document_path_zh:(l==null?void 0:l.document_path_zh)||((g=e.value)==null?void 0:g.document_path_zh)||"docs/legal/admin-compliance.zh.md",document_path_en:(l==null?void 0:l.document_path_en)||((A=e.value)==null?void 0:A.document_path_en)||"docs/legal/admin-compliance.en.md",document_url_zh:(l==null?void 0:l.document_url_zh)||((P=e.value)==null?void 0:P.document_url_zh)||"https://github.com/Wei-Shaw/sub2api/blob/main/docs/legal/admin-compliance.zh.md",document_url_en:(l==null?void 0:l.document_url_en)||((b=e.value)==null?void 0:b.document_url_en)||"https://github.com/Wei-Shaw/sub2api/blob/main/docs/legal/admin-compliance.en.md",ack_phrase_zh:(l==null?void 0:l.ack_phrase_zh)||((M=e.value)==null?void 0:M.ack_phrase_zh)||yt,ack_phrase_en:(l==null?void 0:l.ack_phrase_en)||((E=e.value)==null?void 0:E.ack_phrase_en)||_t,acknowledgement:(K=e.value)==null?void 0:K.acknowledgement},r.value=!0,o.value=!0}function m(){e.value=null,t.value=!1,a.value=!1,r.value=!1,o.value=!1}return{status:e,loading:t,submitting:a,initialized:r,required:s,shouldShow:i,expectedPhrase:u,fetchStatus:p,accept:d,requireAcknowledgement:y,reset:m}}),Em=`# Sub2API 部署与运营合规承诺\r +\r +版本:v2026.06.10\r +\r +本文件适用于部署、配置、管理、运营或实际控制 Sub2API 实例的个人、组织及其授权代表。继续访问或使用控制台功能前,确认主体应完整阅读、理解并接受本文件。\r +\r +## 一、适用范围\r +\r +Sub2API 是开源软件。任何基于 Sub2API 进行的自部署、二次开发、托管运行、对外服务、商业化使用、用户管理、内容处理、数据处理、支付结算、客户支持及上游账号或接口使用行为,均由相应实例的部署、运营或控制主体自行负责。\r +\r +本文件不替代开源许可证、上游服务条款、用户协议、隐私政策、数据处理协议、商业合同、监管备案、行政许可、安全评估或其他依法应当具备的文件、手续或义务。\r +\r +## 二、主体责任\r +\r +确认主体应自行评估并持续遵守其所在地、服务器所在地、目标用户所在地、业务实际开展地以及上游服务提供方所在地可能适用的法律法规、监管要求、行业规范、合同约定和平台规则。\r +\r +确认主体应确保其已具备部署和运营相关实例所需的授权、资质、备案、许可、评估、合同、风控能力、内容安全能力、数据保护能力、投诉处理机制和应急处置能力。相关义务不得因使用开源软件而转移、免除或降低。\r +\r +## 三、非关联关系与责任隔离\r +\r +任何第三方实例、商业服务、收费套餐、用户招揽、内容处理、数据处理、账号使用、接口调用、支付结算、客户支持或推广活动,均由相应部署、运营或控制主体独立实施,并不因本项目开源、代码贡献、议题讨论、文档维护、版本发布、缺陷修复、社区交流或一般性技术说明而形成开源项目、著作权人、贡献者或维护者对该等活动的参与、授权、认可、担保、共同经营、代理、合伙、雇佣、授权运营、共同控制、收益分配、共同侵权或其他连带责任关系。\r +\r +确认主体不得以项目名称、标识、文档、截图、社区内容或开源仓库信息明示或暗示其第三方实例、商业服务、收费套餐或运营活动获得开源项目、著作权人、贡献者、维护者或社区的参与、授权、认可、担保或背书。\r +\r +确认主体应独立承担因其部署、配置、运营、推广、收费、用户行为管理、内容处理、数据处理、账号使用、接口调用及违反法律法规、监管要求、合同约定或上游规则所产生的相关后果。\r +\r +依法不得由协议排除或限制的强制性责任,依相关法律规定处理;该等法定例外不构成对任何第三方部署、运营或商业活动的参与、授权、认可、担保或背书。\r +\r +## 四、合规承诺\r +\r +确认主体在继续使用控制台功能时,作出以下承诺:\r +\r +1. 已独立审阅并将持续遵守 OpenAI、Anthropic、Google 及其他上游服务提供方的服务条款、可接受使用政策、支持国家和地区、账号/API Key 使用规则、商业使用要求、转售限制、风控要求和技术限制。\r +2. 不利用本项目规避或协助他人规避上游服务的地区限制、访问限制、账号限制、风控限制、计费限制、身份验证、使用限制或服务条款。\r +3. 不在缺乏必要授权、资质、备案、许可、评估或合同安排的情况下,向公众或不特定对象提供 API 中转、模型调用转售、账号额度分发、共享订阅、付费调用、代充代付或其他类似服务。\r +4. 如在中国大陆境内或面向中国大陆公众提供生成式人工智能服务、深度合成服务、算法相关服务、API 中转、付费调用或其他可能受监管服务,将自行完成可能适用的互联网信息服务、生成式人工智能服务、深度合成、算法备案、安全评估、网络安全、数据安全、个人信息保护、内容安全、支付结算、税务及上游授权等义务。\r +5. 建立与业务规模和风险相匹配的用户管理、访问控制、内容审核、滥用处理、日志留存、隐私保护、数据删除、投诉处理、应急下线和安全事件响应机制。\r +6. 不向任何用户、客户、合作方、渠道方、监管机构或第三方作出与本文件第三条相冲突的陈述、承诺、宣传或保证。\r +7. 对其部署、运营、推广、收费、用户行为管理、内容处理、数据处理、账号使用、接口调用及违反法律法规、监管要求、合同约定或上游规则所产生的后果独立承担责任。\r +\r +## 五、风险与责任提示\r +\r +将 Sub2API 用于公开 API 服务、商业中转、额度分发、团队共享、付费调用或类似用途,可能涉及服务条款、合同违约、数据保护、内容安全、消费者权益、支付结算、税务、出口管制、制裁合规、网络安全、行业准入及行政监管等风险。不同司法辖区和业务场景的要求可能不同,并可能随时间变化。\r +\r +控制台中的强制提示、协议链接、逐字输入确认和本地确认记录,旨在以清晰、显著、可留痕的方式提示部署与运营风险,确认控制台使用者已阅读当前版本文件,并在开源项目、著作权人、贡献者、维护者与第三方部署、运营或控制主体之间形成明确的责任隔离记录。\r +\r +## 六、电子确认\r +\r +确认主体通过继续使用控制台、打开协议链接、阅读本文件并按页面要求逐字输入确认短语,即表示其以电子方式确认已阅读、理解并同意本文件,并同意系统记录确认版本、确认时间、控制台账户标识、IP 地址和 User-Agent 等必要留痕信息。\r +`,$m=`# Sub2API Deployment and Operation Compliance Commitment\r +\r +Version: v2026.06.10\r +\r +This document applies to any individual, organization, or authorized representative that deploys, configures, manages, operates, or effectively controls a Sub2API instance. Before continuing to access or use console functions, the acknowledging party must read, understand, and accept this document in full.\r +\r +## 1. Scope\r +\r +Sub2API is open-source software. Any self-hosted deployment, modification, hosted operation, external service, commercial use, user management, content processing, data processing, payment settlement, customer support, or upstream account/API usage based on Sub2API is the sole responsibility of the party that deploys, operates, or controls the relevant instance.\r +\r +This document does not replace the open-source license, upstream terms of service, user agreements, privacy policies, data processing agreements, commercial contracts, regulatory filings, administrative permits, security assessments, or any other documents, procedures, or obligations required by applicable law or contract.\r +\r +## 2. Responsibility of the Deploying or Operating Party\r +\r +The acknowledging party must independently assess and continuously comply with the laws, regulations, regulatory requirements, industry rules, contractual obligations, and platform policies that may apply in its location, server location, target-user location, place of actual business operation, and the locations of upstream service providers.\r +\r +The acknowledging party must ensure that it has all authorizations, qualifications, filings, permits, assessments, contracts, risk-control capabilities, content-safety capabilities, data-protection capabilities, complaint-handling mechanisms, and emergency-response capabilities required for deploying and operating the relevant instance. Such obligations are not transferred, waived, or reduced by the use of open-source software.\r +\r +## 3. No Affiliation and Allocation of Responsibility\r +\r +Any third-party instance, commercial service, paid plan, user solicitation, content processing, data processing, account usage, API call, payment settlement, customer support, or promotional activity is independently carried out by the corresponding deploying, operating, or controlling party. The open-source nature of this project, code contributions, issue discussions, documentation maintenance, version releases, bug fixes, community communications, or general technical explanations do not create participation in, authorization of, approval of, warranty for, joint operation, agency, partnership, employment, authorized operation, joint control, revenue sharing, joint tort, or any other joint-and-several liability relationship between the open-source project, copyright holders, contributors, or maintainers and such activities.\r +\r +The acknowledging party must not use the project name, marks, documentation, screenshots, community content, or open-source repository information to state or imply that its third-party instance, commercial service, paid plan, or operation is participated in, authorized, approved, warranted, or endorsed by the open-source project, copyright holders, contributors, maintainers, or community.\r +\r +The acknowledging party is independently responsible for consequences arising from its deployment, configuration, operation, promotion, charging, user-behavior management, content processing, data processing, account usage, API calls, or violations of laws, regulations, regulatory requirements, contractual obligations, or upstream rules.\r +\r +Any mandatory liability that cannot be excluded or limited by agreement shall be handled according to applicable law. Such statutory exception does not constitute participation in, authorization of, approval of, warranty for, or endorsement of any third-party deployment, operation, or commercial activity.\r +\r +## 4. Compliance Commitments\r +\r +By continuing to use console functions, the acknowledging party makes the following commitments:\r +\r +1. It has independently reviewed and will continuously comply with the terms of service, acceptable use policies, supported countries and regions, account/API key rules, commercial-use requirements, resale restrictions, risk-control requirements, and technical restrictions of OpenAI, Anthropic, Google, and any other upstream service providers.\r +2. It will not use this project to bypass, or assist others in bypassing, upstream regional restrictions, access restrictions, account restrictions, risk controls, billing restrictions, identity verification, usage limits, or terms of service.\r +3. It will not provide API relay, model-call resale, account quota distribution, shared subscriptions, paid calls, top-up/payment agency, or similar services to the public or an indefinite group of users unless all necessary authorizations, qualifications, filings, permits, assessments, or contractual arrangements have been obtained.\r +4. If it provides generative AI services, deep synthesis services, algorithm-related services, API relay, paid calls, or other potentially regulated services within Mainland China or to the Mainland China public, it will independently complete all potentially applicable obligations regarding internet information services, generative AI services, deep synthesis, algorithm filing, security assessment, cybersecurity, data security, personal information protection, content safety, payment settlement, taxes, and upstream authorization.\r +5. It will maintain user management, access control, content review, abuse handling, log retention, privacy protection, data deletion, complaint handling, emergency takedown, and security incident response mechanisms appropriate to the scale and risk of its business.\r +6. It will not make any statement, commitment, marketing representation, or warranty to any user, customer, partner, channel, regulator, or third party that conflicts with Section 3 of this document.\r +7. It will be independently responsible for consequences arising from its deployment, operation, promotion, charging, user-behavior management, content processing, data processing, account usage, API calls, or violations of laws, regulations, regulatory requirements, contractual obligations, or upstream rules.\r +\r +## 5. Risk and Responsibility Notice\r +\r +Using Sub2API for public API services, commercial relay, quota distribution, team sharing, paid calls, or similar purposes may involve risks relating to terms of service, contractual breach, data protection, content safety, consumer protection, payment settlement, taxes, export controls, sanctions compliance, cybersecurity, industry access, and administrative regulation. Requirements vary by jurisdiction and business model and may change over time.\r +\r +The mandatory notice, document link, exact-phrase acknowledgment, and local acknowledgment record in the console are intended to provide clear, conspicuous, and reproducible notice of deployment and operation risks, confirm that the console user has read the current version of this document, and create a clear responsibility-separation record between the open-source project, copyright holders, contributors, maintainers and any third-party deploying, operating, or controlling party.\r +\r +## 6. Electronic Acknowledgment\r +\r +By continuing to use the console, opening the document link, reading this document, and typing the required confirmation phrase exactly as displayed, the acknowledging party electronically confirms that it has read, understood, and agreed to this document, and agrees that the system may record necessary evidence including the acknowledged version, acknowledgment time, console account identifier, IP address, and User-Agent.\r +`,Cm={class:"space-y-5"},Mm={class:"rounded-lg border border-amber-200 bg-amber-50 p-4 text-sm text-amber-900 dark:border-amber-500/30 dark:bg-amber-500/10 dark:text-amber-100"},Tm={class:"flex gap-3"},Rm={class:"space-y-2"},xm={class:"font-semibold"},Lm={class:"leading-6"},Om={class:"grid gap-4 md:grid-cols-[minmax(0,1fr)_240px]"},Dm={class:"min-h-[320px] max-h-[46vh] overflow-y-auto rounded-lg border border-gray-200 bg-white p-5 dark:border-dark-700 dark:bg-dark-900"},qm=["innerHTML"],zm={class:"space-y-3 rounded-lg border border-gray-200 bg-gray-50 p-4 text-sm dark:border-dark-700 dark:bg-dark-900/60"},Um={class:"text-xs font-medium uppercase tracking-wide text-gray-500 dark:text-dark-400"},Km={class:"mt-1 break-all font-mono text-gray-900 dark:text-white"},Vm=["href"],Nm={class:"leading-6 text-gray-600 dark:text-dark-300"},Bm={class:"space-y-3"},Hm={for:"admin-compliance-phrase",class:"block text-sm font-semibold text-gray-900 dark:text-white"},Fm={class:"rounded-lg bg-gray-100 px-3 py-2 font-mono text-sm text-gray-900 dark:bg-dark-800 dark:text-dark-100"},Wm={class:"text-xs leading-5 text-gray-500 dark:text-dark-400"},jm={class:"flex flex-col gap-3 sm:flex-row sm:justify-end"},Gm=["disabled"],Qm=["disabled"],Jm={key:0},Ym={key:1},Xm=X({__name:"AdminComplianceDialog",setup(e){const{t}=It(),a=nt(),r=Me(),o=ae(),s=w(""),i=w(!1);ke.setOptions({breaks:!0,gfm:!0});const c=I(()=>r.isAuthenticated&&r.isAdmin&&a.shouldShow),u=I(()=>a.expectedPhrase),p=I(()=>s.value.trim()===u.value),d=I(()=>Y()==="zh"?Em:$m),y=I(()=>{var P,b;return Y()==="zh"?((P=a.status)==null?void 0:P.document_url_zh)||"https://github.com/Wei-Shaw/sub2api/blob/main/docs/legal/admin-compliance.zh.md":((b=a.status)==null?void 0:b.document_url_en)||"https://github.com/Wei-Shaw/sub2api/blob/main/docs/legal/admin-compliance.en.md"}),m=I(()=>!i.value||p.value?"":t("adminCompliance.inputMismatch")),l=I(()=>{const P=ke.parse(d.value);return Et.sanitize(P)});ee(u,()=>{s.value="",i.value=!1}),ee(c,P=>{P&&(s.value="",i.value=!1)});function f(){}async function g(){if(i.value=!0,!!p.value)try{(await a.accept(s.value.trim())).required||(o.showSuccess(t("adminCompliance.accepted")),s.value="",i.value=!1)}catch(P){const b=(P==null?void 0:P.message)||t("adminCompliance.acceptFailed");o.showError(b)}}async function A(){await r.logout(),window.location.href="/login"}return(P,b)=>(C(),pe(nr,{show:c.value,title:T(t)("adminCompliance.title"),width:"wide","close-on-escape":!1,"close-on-click-outside":!1,"show-close-button":!1,"z-index":80,onClose:f},{footer:re(()=>[_("div",jm,[_("button",{type:"button",class:"btn btn-secondary",disabled:T(a).submitting,onClick:A},R(T(t)("adminCompliance.logout")),9,Gm),_("button",{type:"button",class:"btn btn-primary",disabled:!p.value||T(a).submitting,onClick:g},[T(a).submitting?(C(),L("span",Jm,R(T(t)("common.submitting")),1)):(C(),L("span",Ym,R(T(t)("adminCompliance.accept")),1))],8,Qm)])]),default:re(()=>{var M;return[_("div",Cm,[_("div",Mm,[_("div",Tm,[U(de,{name:"exclamationTriangle",size:"md",class:"mt-0.5 flex-shrink-0"}),_("div",Rm,[_("p",xm,R(T(t)("adminCompliance.blockingNotice")),1),_("p",Lm,R(T(t)("adminCompliance.riskNotice")),1)])])]),_("div",Om,[_("section",Dm,[_("div",{class:"legal-document-content",innerHTML:l.value},null,8,qm)]),_("aside",zm,[_("div",null,[_("p",Um,R(T(t)("adminCompliance.version")),1),_("p",Km,R(((M=T(a).status)==null?void 0:M.version)||"v2026.06.10"),1)]),_("a",{href:y.value,target:"_blank",rel:"noopener noreferrer",class:"inline-flex items-center gap-2 text-primary-600 underline underline-offset-4 hover:text-primary-700 dark:text-primary-300 dark:hover:text-primary-200"},[U(de,{name:"externalLink",size:"sm"}),Ae(" "+R(T(t)("adminCompliance.openDocument")),1)],8,Vm),_("p",Nm,R(T(t)("adminCompliance.documentSource")),1)])]),_("div",Bm,[_("label",Hm,R(T(t)("adminCompliance.inputLabel")),1),_("div",Fm,R(u.value),1),U(pr,{id:"admin-compliance-phrase",modelValue:s.value,"onUpdate:modelValue":b[0]||(b[0]=E=>s.value=E),placeholder:T(t)("adminCompliance.inputPlaceholder"),autocomplete:"off",disabled:T(a).submitting,error:m.value,onEnter:g},null,8,["modelValue","placeholder","disabled","error"])]),_("p",Wm,R(T(t)("adminCompliance.legalNote")),1)])]}),_:1},8,["show","title"]))}}),Zm=Ce(Xm,[["__scopeId","data-v-42404ff1"]]);function na(e,t,a){const r=typeof t=="string"&&t.trim()?t.trim():"Sub2API";if(typeof a=="string"&&a.trim()){const o=D.global.t(a);if(o&&o!==a)return`${o} - ${r}`}return typeof e=="string"&&e.trim()?`${e.trim()} - ${r}`:r}function rt(e,t,a=[]){const r=typeof e.params.id=="string"?e.params.id:"",o=e.name==="CustomPage"&&r?a.find(i=>i.id===r):void 0,s=o==null?void 0:o.label.trim();return na(s||e.meta.title,t,s?void 0:e.meta.titleKey)}const ep=Object.freeze(Object.defineProperty({__proto__:null,resolveDocumentTitle:na,resolveRouteDocumentTitle:rt},Symbol.toStringTag,{value:"Module"}));function tp(e){if(!e)return D.global.t("common.time.never");const t=new Date,a=new Date(e),r=t.getTime()-a.getTime();if(r<0||isNaN(r))return D.global.t("common.time.never");const o=Math.floor(r/1e3),s=Math.floor(o/60),i=Math.floor(s/60),c=Math.floor(i/24);return c>0?D.global.t("common.time.daysAgo",{n:c}):i>0?D.global.t("common.time.hoursAgo",{n:i}):s>0?D.global.t("common.time.minutesAgo",{n:s}):D.global.t("common.time.justNow")}function uf(e){if(e==null)return"0";const t=Y(),a=Math.abs(e);return new Intl.NumberFormat(t,{notation:a>=1e4?"compact":"standard",maximumFractionDigits:1}).format(e)}function lf(e,t="USD"){if(e==null)return"$0.00";const a=Y(),r=e>0&&e<.01?6:2;return new Intl.NumberFormat(a,{style:"currency",currency:t,minimumFractionDigits:r,maximumFractionDigits:r}).format(e)}function df(e,t=2){if(e===0)return"0 Bytes";const a=1024,r=t<0?0:t,o=["Bytes","KB","MB","GB","TB","PB","EB","ZB","YB"],s=Math.floor(Math.log(e)/Math.log(a));return parseFloat((e/Math.pow(a,s)).toFixed(r))+" "+o[s]}function ot(e,t={year:"numeric",month:"2-digit",day:"2-digit",hour:"2-digit",minute:"2-digit",second:"2-digit",hour12:!1},a){if(!e)return"";const r=new Date(e);if(isNaN(r.getTime()))return"";const o=a??Y();return new Intl.DateTimeFormat(o,t).format(r)}function ap(e,t,a){return ot(e,t,a)}function mf(e,t){return ot(e,{year:"numeric",month:"2-digit",day:"2-digit",hour:"2-digit",minute:"2-digit",hour12:!1},t)}function pf(e){if(isNaN(e.getTime()))return"";const t=e.getFullYear(),a=String(e.getMonth()+1).padStart(2,"0"),r=String(e.getDate()).padStart(2,"0");return`${t}-${a}-${r}`}function ff(e){if(!e)return"";const t=new Date(e*1e3);if(isNaN(t.getTime()))return"";const a=t.getFullYear(),r=String(t.getMonth()+1).padStart(2,"0"),o=String(t.getDate()).padStart(2,"0"),s=String(t.getHours()).padStart(2,"0"),i=String(t.getMinutes()).padStart(2,"0");return`${a}-${r}-${o}T${s}:${i}`}function gf(e){if(!e)return null;const t=new Date(e);return isNaN(t.getTime())?null:Math.floor(t.getTime()/1e3)}function hf(e){const t=(e??"").toString().trim();if(!t)return"-";switch(t.toLowerCase().replace(/[-_\s]/g,"")){case"low":return"Low";case"medium":return"Medium";case"high":return"High";case"xhigh":case"extrahigh":return"XHigh";case"max":return"Max";case"none":case"minimal":return"-";default:return t.length>1?t[0].toUpperCase()+t.slice(1):t.toUpperCase()}}function yf(e){return ot(e,{hour:"2-digit",minute:"2-digit",second:"2-digit",hour12:!1})}function _f(e){return e.toLocaleString()}function vf(e,t=4){return e.toFixed(t)}function wf(e){return e>=1e6?`${(e/1e6).toFixed(1)}M`:e>=1e3?`${(e/1e3).toFixed(1)}K`:e.toString()}function bf(e,t){if(e==null)return"0";const a=Math.abs(e);return(t==null?void 0:t.allowBillions)!==!1&&a>=1e9?`${(e/1e9).toFixed(1)}B`:a>=1e6?`${(e/1e6).toFixed(1)}M`:a>=1e3?`${(e/1e3).toFixed(1)}K`:e.toString()}function np(e){if(!e)return null;const t=new Date,r=new Date(e).getTime()-t.getTime();if(r<=0||isNaN(r))return null;const o=Math.floor(r/(1e3*60)),s=Math.floor(o/60),i=Math.floor(s/24),c=s%24,u=o%60;return i>0?D.global.t("common.time.countdown.daysHours",{d:i,h:c}):s>0?D.global.t("common.time.countdown.hoursMinutes",{h:s,m:u}):D.global.t("common.time.countdown.minutes",{m:o})}function Af(e){const t=np(e);return t?D.global.t("common.time.countdown.withSuffix",{time:t}):null}function rp(e){if(!e)return"";const t=tp(e),a=ap(e);return!a||t===D.global.t("common.time.never")?t:`${t} · ${a}`}const op={key:0,class:"fixed inset-0 z-[120] flex items-start justify-center overflow-y-auto bg-gradient-to-br from-black/70 via-black/60 to-black/70 p-4 pt-[8vh] backdrop-blur-md"},sp={class:"relative overflow-hidden border-b border-amber-100/80 bg-gradient-to-br from-amber-50/80 via-orange-50/50 to-yellow-50/30 px-8 py-6 dark:border-dark-700/50 dark:from-amber-900/20 dark:via-orange-900/10 dark:to-yellow-900/5"},ip={class:"relative z-10"},cp={class:"mb-3 flex items-center gap-2"},up={class:"inline-flex items-center gap-1.5 rounded-lg bg-gradient-to-r from-amber-500 to-orange-600 px-2.5 py-1 text-xs font-medium text-white shadow-lg shadow-amber-500/30"},lp={class:"mb-2 text-2xl font-bold leading-tight text-gray-900 dark:text-white"},dp={class:"flex items-center gap-1.5 text-sm text-gray-600 dark:text-gray-400"},mp={class:"max-h-[50vh] overflow-y-auto bg-white px-8 py-8 dark:bg-dark-800"},pp={class:"relative"},fp={class:"pl-6"},gp=["innerHTML"],hp={class:"border-t border-gray-100 bg-gray-50/50 px-8 py-5 dark:border-dark-700 dark:bg-dark-900/30"},yp={class:"flex items-center justify-end"},_p={class:"flex items-center gap-2"},vp={key:0,class:"h-4 w-4",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor","stroke-width":"2"},wp={key:1,class:"h-4 w-4",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor","stroke-width":"2"},bp=X({__name:"AnnouncementPopup",props:{announcement:{default:null},preview:{type:Boolean,default:!1}},emits:["close"],setup(e,{emit:t}){const a=e,r=t,{t:o}=It(),s=aa(),i=I(()=>a.preview?a.announcement:s.currentPopup);ke.setOptions({breaks:!0,gfm:!0});const c=I(()=>{var y;const p=(y=i.value)==null?void 0:y.content;if(!p)return"";const d=ke.parse(p);return Et.sanitize(d)});function u(){if(a.preview){r("close");return}s.dismissPopup()}return ee(i,p=>{p?document.body.style.overflow="hidden":a.preview&&(document.body.style.overflow="")},{immediate:!0}),Pt(()=>{a.preview&&(document.body.style.overflow="")}),(p,d)=>(C(),pe(Be,{to:"body"},[U(He,{name:"popup-fade"},{default:re(()=>[i.value?(C(),L("div",op,[_("div",{class:"w-full max-w-[680px] overflow-hidden rounded-3xl bg-white shadow-2xl ring-1 ring-black/5 dark:bg-dark-800 dark:ring-white/10",onClick:d[0]||(d[0]=Ke(()=>{},["stop"]))},[_("div",sp,[d[4]||(d[4]=_("div",{class:"absolute right-0 top-0 h-full w-64 bg-gradient-to-l from-orange-100/30 to-transparent dark:from-orange-900/20"},null,-1)),d[5]||(d[5]=_("div",{class:"absolute -right-8 -top-8 h-32 w-32 rounded-full bg-gradient-to-br from-amber-400/20 to-orange-500/20 blur-3xl"},null,-1)),d[6]||(d[6]=_("div",{class:"absolute -left-4 -bottom-4 h-24 w-24 rounded-full bg-gradient-to-tr from-yellow-400/20 to-amber-500/20 blur-2xl"},null,-1)),_("div",ip,[_("div",cp,[d[2]||(d[2]=_("div",{class:"flex h-10 w-10 items-center justify-center rounded-xl bg-gradient-to-br from-amber-500 to-orange-600 text-white shadow-lg shadow-amber-500/30"},[_("svg",{class:"h-5 w-5",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor","stroke-width":"2"},[_("path",{"stroke-linecap":"round","stroke-linejoin":"round",d:"M15 17h5l-1.405-1.405A2.032 2.032 0 0118 14.158V11a6.002 6.002 0 00-4-5.659V5a2 2 0 10-4 0v.341C7.67 6.165 6 8.388 6 11v3.159c0 .538-.214 1.055-.595 1.436L4 17h5m6 0v1a3 3 0 11-6 0v-1m6 0H9"})])],-1)),_("span",up,[d[1]||(d[1]=_("span",{class:"relative flex h-2 w-2"},[_("span",{class:"absolute inline-flex h-full w-full animate-ping rounded-full bg-white opacity-75"}),_("span",{class:"relative inline-flex h-2 w-2 rounded-full bg-white"})],-1)),Ae(" "+R(T(o)("announcements.unread")),1)])]),_("h2",lp,R(i.value.title),1),_("div",dp,[d[3]||(d[3]=_("svg",{class:"h-4 w-4",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor","stroke-width":"2"},[_("path",{"stroke-linecap":"round","stroke-linejoin":"round",d:"M12 8v4l3 3m6-3a9 9 0 11-18 0 9 9 0 0118 0z"})],-1)),_("time",null,R(T(rp)(i.value.created_at)),1)])])]),_("div",mp,[_("div",pp,[d[7]||(d[7]=_("div",{class:"absolute left-0 top-0 bottom-0 w-1 rounded-full bg-gradient-to-b from-amber-500 via-orange-500 to-yellow-500"},null,-1)),_("div",fp,[_("div",{class:"markdown-body prose prose-sm max-w-none dark:prose-invert",innerHTML:c.value},null,8,gp)])])]),_("div",hp,[_("div",yp,[_("button",{onClick:u,"data-testid":"announcement-popup-dismiss",class:"rounded-xl bg-gradient-to-r from-amber-500 to-orange-600 px-6 py-2.5 text-sm font-medium text-white shadow-lg shadow-amber-500/30 transition-all hover:shadow-xl hover:scale-105"},[_("span",_p,[e.preview?(C(),L("svg",vp,[...d[8]||(d[8]=[_("path",{"stroke-linecap":"round","stroke-linejoin":"round",d:"M6 18L18 6M6 6l12 12"},null,-1)])])):(C(),L("svg",wp,[...d[9]||(d[9]=[_("path",{"stroke-linecap":"round","stroke-linejoin":"round",d:"M5 13l4 4L19 7"},null,-1)])])),Ae(" "+R(e.preview?T(o)("common.close"):T(o)("announcements.markRead")),1)])])])])])])):j("",!0)]),_:1})]))}}),Ap=Ce(bp,[["__scopeId","data-v-bdbde8bb"]]),Te=Pe.create({baseURL:Tt("/").replace(/\/+$/,""),timeout:3e4,headers:{"Content-Type":"application/json"}});async function ra(){return(await Te.get("/setup/status")).data.data}async function kf(e){await Te.post("/setup/test-db",e)}async function Sf(e){await Te.post("/setup/test-redis",e)}async function Pf(e){return(await Te.post("/setup/install",e)).data.data}function oa(e,t={}){const a=e.trim();if(!a)return"";if(t.allowRelative&&a.startsWith("/")&&!a.startsWith("//")||t.allowDataUrl&&a.startsWith("data:image/"))return a;if(!a.match(/^https?:\/\//i))return"";try{const r=new URL(a),o=r.protocol.toLowerCase();return o!=="http:"&&o!=="https:"?"":r.toString()}catch{return""}}function sa(e){const t=oa(e,{allowRelative:!0,allowDataUrl:!0});if(!t)return;let a=document.querySelector('link[rel="icon"]');a||(a=document.createElement("link"),a.rel="icon",document.head.appendChild(a)),a.type=t.endsWith(".svg")?"image/svg+xml":"image/x-icon",a.href=t}const kp=X({__name:"App",setup(e){const t=Ia(),a=Ea(),r=ae(),o=Me(),s=Pm(),i=aa(),c=nt(),u=at();function p(){var l;const m=[...((l=r.cachedPublicSettings)==null?void 0:l.custom_menu_items)??[],...o.isAdmin?u.customMenuItems:[]];document.title=rt(a,r.siteName,m)}ee(()=>r.siteLogo,m=>{m&&sa(m)},{immediate:!0}),ee([()=>a.fullPath,()=>a.meta.title,()=>a.meta.titleKey,()=>r.siteName,()=>{var m;return(m=r.cachedPublicSettings)==null?void 0:m.custom_menu_items},()=>o.isAdmin,()=>u.customMenuItems],p,{deep:!0});function d(){document.visibilityState==="visible"&&o.isAuthenticated&&i.fetchAnnouncements()}function y(m){const l=m.detail||{};c.requireAcknowledgement(l)}return ee(()=>o.isAuthenticated,(m,l)=>{m?(o.isAdmin&&c.fetchStatus().catch(f=>{console.error("Failed to fetch admin compliance status:",f)}),s.fetchActiveSubscriptions().catch(f=>{console.error("Failed to preload subscriptions:",f)}),s.startPolling(),l===!1?setTimeout(()=>i.fetchAnnouncements(!0),3e3):i.fetchAnnouncements(),document.addEventListener("visibilitychange",d)):(s.clear(),i.reset(),c.reset(),document.removeEventListener("visibilitychange",d))},{immediate:!0}),t.afterEach(()=>{o.isAuthenticated&&i.fetchAnnouncements()}),Pt(()=>{document.removeEventListener("visibilitychange",d),window.removeEventListener("admin-compliance-required",y)}),St(async()=>{window.addEventListener("admin-compliance-required",y);try{if((await ra()).needs_setup&&a.path!=="/setup"){t.replace("/setup");return}}catch{}await r.fetchPublicSettings(),p()}),(m,l)=>(C(),L(At,null,[U(er),U(T($a)),U(Jn),U(Ap),U(Zm)],64))}}),Sp={"/admin/dashboard":["/admin/accounts","/admin/users"],"/admin/accounts":["/admin/dashboard","/admin/users"],"/admin/users":["/admin/groups","/admin/dashboard"],"/admin/groups":["/admin/subscriptions","/admin/users"],"/admin/subscriptions":["/admin/groups","/admin/redeem"],"/dashboard":["/keys","/usage"],"/keys":["/dashboard","/usage"],"/usage":["/keys","/redeem"],"/redeem":["/usage","/profile"],"/profile":["/dashboard","/keys"]},Pp=(e,t)=>typeof window.requestIdleCallback=="function"?window.requestIdleCallback(e,t):setTimeout(()=>{e({didTimeout:!1,timeRemaining:()=>50})},1e3),Ip=e=>{typeof window.cancelIdleCallback=="function"&&typeof e=="number"?window.cancelIdleCallback(e):clearTimeout(e)};function Ep(e){const t=w(null),a=w(new Set),r=y=>{var f;if(!e)return null;const l=e.getRoutes().find(g=>g.path===y);if(l&&((f=l.components)!=null&&f.default)){const g=l.components.default;if(typeof g=="function")return g}return null},o=y=>Sp[y.path]||[],s=async y=>{try{await y()}catch{}},i=()=>{t.value!==null&&(Ip(t.value),t.value=null)},c=y=>{i();const m=o(y);m.length!==0&&(t.value=Pp(()=>{t.value=null;const l=y.path;if(a.value.has(l))return;const f=[];for(const g of m){const A=r(g);A&&f.push(A)}f.length>0&&Promise.all(f.map(s)).then(()=>{a.value.add(l)})},{timeout:2e3}))},u=()=>{i(),a.value.clear()},p=y=>y.startsWith("/admin"),d=y=>{const m=o(y),l=[];for(const f of m){const g=r(f);g&&l.push(g)}return l};return{prefetchedRoutes:we(a),triggerPrefetch:c,cancelPendingPrefetch:i,resetPrefetchState:u,_getPrefetchConfig:d,_isAdminRoute:p}}function $p(e,t){return e?t?"/admin/dashboard":"/dashboard":"/login"}const Cp=[{path:"/setup",name:"Setup",component:()=>h(()=>import("./SetupWizardView-CtMmsdGl.js"),__vite__mapDeps([0,1,2,3,4,5,6,7])),meta:{requiresAuth:!1,title:"Setup"}},{path:"/home",name:"Home",component:()=>h(()=>import("./HomeView-BamAAWDq.js"),__vite__mapDeps([8,9,1,3,10,11,6,7,12])),meta:{requiresAuth:!1,title:"Home"}},{path:"/login",name:"Login",component:()=>h(()=>import("./LoginView-CG7oKiiH.js"),__vite__mapDeps([13,1,14,15,6,7,16,17,18,19,20,3,21,22,23,24,25,10])),meta:{requiresAuth:!1,title:"Login",titleKey:"home.login"}},{path:"/register",name:"Register",component:()=>h(()=>import("./RegisterView-OspI_nE0.js"),__vite__mapDeps([26,1,14,15,6,7,16,17,18,19,20,3,21,22,23,27,24,28,29,10])),meta:{requiresAuth:!1,title:"Register",titleKey:"auth.createAccount"}},{path:"/email-verify",name:"EmailVerify",component:()=>h(()=>import("./EmailVerifyView-gs3hZCnz.js"),__vite__mapDeps([30,1,14,15,6,7,16,17,18,22,3,23,27,24,28,20,31,10])),meta:{requiresAuth:!1,title:"Verify Email"}},{path:"/auth/callback",name:"OAuthCallback",alias:"/auth/oauth/callback",component:()=>h(()=>import("./OAuthCallbackView-opQvtN0P.js"),__vite__mapDeps([32,1,16,20,3,6,7])),meta:{requiresAuth:!1,title:"OAuth Callback",titleKey:"auth.oauthCallbackPageTitle"}},{path:"/auth/linuxdo/callback",name:"LinuxDoOAuthCallback",component:()=>h(()=>import("./LinuxDoCallbackView-53MNwCm3.js"),__vite__mapDeps([33,1,14,15,6,7,16,17,18,34,22,3,23,35,20,36,10])),meta:{requiresAuth:!1,title:"LinuxDo OAuth Callback",titleKey:"auth.linuxdoCallbackPageTitle"}},{path:"/auth/wechat/callback",name:"WeChatOAuthCallback",component:()=>h(()=>import("./WechatCallbackView-B55RsnhI.js"),__vite__mapDeps([37,1,14,15,6,7,16,17,18,34,22,3,23,35,20,38,10])),meta:{requiresAuth:!1,title:"WeChat OAuth Callback",titleKey:"auth.wechatCallbackPageTitle"}},{path:"/auth/wechat/payment/callback",name:"WeChatPaymentOAuthCallback",component:()=>h(()=>import("./WechatPaymentCallbackView-CiFgXqIY.js"),__vite__mapDeps([39,1,3,6,7])),meta:{requiresAuth:!1,title:"WeChat Payment Callback",titleKey:"auth.wechatPaymentCallbackPageTitle"}},{path:"/auth/dingtalk/callback",name:"DingTalkOAuthCallback",component:()=>h(()=>import("./DingTalkCallbackView-xlqtkhZf.js"),__vite__mapDeps([40,1,14,15,6,7,16,17,18,34,22,3,23,35,20,41,10])),meta:{requiresAuth:!1,title:"DingTalk OAuth Callback",titleKey:"auth.dingtalkCallbackPageTitle"}},{path:"/auth/dingtalk/email-completion",name:"dingtalk-email-completion",component:()=>h(()=>import("./DingTalkEmailCompletionView-BfaHamK_.js"),__vite__mapDeps([42,1,14,15,6,7,16,17,18,34,22,3,23,35,20,10])),meta:{requiresAuth:!1,title:"DingTalk Email Completion"}},{path:"/auth/oidc/callback",name:"OIDCOAuthCallback",component:()=>h(()=>import("./OidcCallbackView-BZxx1saB.js"),__vite__mapDeps([43,1,14,15,6,7,16,17,18,34,22,3,23,35,20,44,10])),meta:{requiresAuth:!1,title:"OIDC OAuth Callback",titleKey:"auth.oidcCallbackPageTitle"}},{path:"/forgot-password",name:"ForgotPassword",component:()=>h(()=>import("./ForgotPasswordView-B1bp-x3S.js"),__vite__mapDeps([45,1,14,15,6,7,16,17,18,22,3,23,46,10])),meta:{requiresAuth:!1,title:"Forgot Password",titleKey:"auth.forgotPasswordTitle"}},{path:"/reset-password",name:"ResetPassword",component:()=>h(()=>import("./ResetPasswordView-Daq1Y6we.js"),__vite__mapDeps([47,1,14,15,6,7,16,17,18,3,48,10])),meta:{requiresAuth:!1,title:"Reset Password"}},{path:"/key-usage",name:"KeyUsage",component:()=>h(()=>import("./KeyUsageView-CZO7atjl.js"),__vite__mapDeps([49,1,9,3,10,6,7,50])),meta:{requiresAuth:!1,title:"Key Usage"}},{path:"/legal/:documentId",name:"LegalDocument",component:()=>h(()=>import("./LegalDocumentView-Bl-a8syD.js"),__vite__mapDeps([51,1,6,7,3,52])),meta:{requiresAuth:!1,title:"Legal Document"}},{path:"/model-plaza",name:"ModelPlaza",component:()=>h(()=>import("./ModelPlazaView-BKR3RV6U.js"),__vite__mapDeps([53,1,54,14,15,6,7,3,16,11,9,10,55,56,57,58,59,60])),meta:{requiresAuth:!1,title:"Model Plaza",titleKey:"modelPlaza.title"}},{path:"/",redirect:"/home"},{path:"/dashboard",name:"Dashboard",component:()=>h(()=>import("./DashboardView-C352HJfx.js"),__vite__mapDeps([61,62,54,14,1,15,6,7,3,16,11,9,10,63,64,65,66,67,2,4,68,69])),meta:{requiresAuth:!0,requiresAdmin:!1,title:"Dashboard",titleKey:"dashboard.title",descriptionKey:"dashboard.welcomeMessage"}},{path:"/keys",name:"Keys",component:()=>h(()=>import("./KeysView-j2GjR7YA.js"),__vite__mapDeps([70,1,54,14,15,6,7,3,16,11,9,10,71,62,72,73,74,75,76,77,2,4,78,79,68,80,81,57,58,55,82,83,84])),meta:{requiresAuth:!0,requiresAdmin:!1,title:"API Keys",titleKey:"keys.title",descriptionKey:"keys.description"}},{path:"/batch-image",name:"BatchImageGuide",alias:"/docs/batch-image",component:()=>h(()=>import("./BatchImageGuideView-BsegdhEd.js"),__vite__mapDeps([85,1,54,14,15,6,7,3,16,11,9,10,73,74,75,76,2,4,80,81,71,86])),meta:{requiresAuth:!0,requiresAdmin:!1,title:"Batch Image Guide",titleKey:"batchImageGuide.title",descriptionKey:"batchImageGuide.description"}},{path:"/usage",name:"Usage",component:()=>h(()=>import("./UsageView-ZnU_UoGg.js"),__vite__mapDeps([87,14,1,15,62,72,54,6,7,3,16,11,9,10,77,2,4,71,78,65,66,63,64,67,88,89,90,75,76,68,91])),meta:{requiresAuth:!0,requiresAdmin:!1,title:"Usage Records",titleKey:"usage.title",descriptionKey:"usage.description"}},{path:"/deepseek-usage",name:"DeepseekUsage",component:()=>h(()=>import("./DeepseekUsageView-CBmx7VTp.js"),__vite__mapDeps([92,1,54,14,15,6,7,3,16,11,9,10,77,2,4,71,78,62])),meta:{requiresAuth:!0,requiresAdmin:!1,title:"DeepSeek Usage",titleKey:"nav.deepseekUsage"}},{path:"/redeem",name:"Redeem",component:()=>h(()=>import("./RedeemView-kAn3uGpL.js"),__vite__mapDeps([93,1,54,14,15,6,7,3,16,11,9,10,94])),meta:{requiresAuth:!0,requiresAdmin:!1,title:"Redeem Code",titleKey:"redeem.title",descriptionKey:"redeem.description"}},{path:"/affiliate",name:"Affiliate",component:()=>h(()=>import("./AffiliateView-PBEYCuF_.js"),__vite__mapDeps([95,54,14,1,15,6,7,3,16,11,9,10,69,24])),meta:{requiresAuth:!0,requiresAdmin:!1,title:"Affiliate",titleKey:"affiliate.title",descriptionKey:"affiliate.description"}},{path:"/available-channels",name:"UserAvailableChannels",component:()=>h(()=>import("./AvailableChannelsView-B0TLi9j4.js"),__vite__mapDeps([96,1,54,14,15,6,7,3,16,11,9,10,73,74,55,57,58,59,56,72,24])),meta:{requiresAuth:!0,requiresAdmin:!1,title:"Available Channels",titleKey:"availableChannels.title",descriptionKey:"availableChannels.description"}},{path:"/profile",name:"Profile",component:()=>h(()=>import("./ProfileView-BP1D1hmj.js"),__vite__mapDeps([97,54,14,1,15,6,7,3,16,11,9,10,69,24,98])),meta:{requiresAuth:!0,requiresAdmin:!1,title:"Profile",titleKey:"profile.title",descriptionKey:"profile.description"}},{path:"/subscriptions",name:"Subscriptions",component:()=>h(()=>import("./SubscriptionsView-4xYVu9HW.js"),__vite__mapDeps([99,1,54,14,15,6,7,3,16,11,9,10,58,56,100])),meta:{requiresAuth:!0,requiresAdmin:!1,title:"My Subscriptions",titleKey:"userSubscriptions.title",descriptionKey:"userSubscriptions.description"}},{path:"/purchase",name:"PurchaseSubscription",component:()=>h(()=>import("./PaymentView-DOHTRE_8.js"),__vite__mapDeps([101,1,102,103,24,58,54,14,15,6,7,3,16,11,9,10,104,105,106,56,107,108])),meta:{requiresAuth:!0,requiresAdmin:!1,title:"Purchase Subscription",titleKey:"nav.buySubscription",descriptionKey:"purchase.description",requiresPayment:!0}},{path:"/orders",name:"OrderList",component:()=>h(()=>import("./UserOrdersView-Bp_9M1U6.js"),__vite__mapDeps([109,1,103,24,54,14,15,6,7,3,16,11,9,10,77,2,4,71,78,110,75,76,111,107])),meta:{requiresAuth:!0,requiresAdmin:!1,title:"My Orders",titleKey:"nav.myOrders",requiresPayment:!0}},{path:"/payment/qrcode",name:"PaymentQRCode",component:()=>h(()=>import("./PaymentQRCodeView-CPmUsX5l.js"),__vite__mapDeps([112,1,54,14,15,6,7,3,16,11,9,10,102,103,24,104,105])),meta:{requiresAuth:!0,requiresAdmin:!1,title:"Payment",titleKey:"payment.qr.scanToPay",requiresPayment:!0}},{path:"/payment/result",name:"PaymentResult",component:()=>h(()=>import("./PaymentResultView-BjwOvFxf.js"),__vite__mapDeps([113,1,111,3,106,102,103,107,108,24,6,7])),meta:{requiresAuth:!1,requiresAdmin:!1,title:"Payment Result",titleKey:"payment.result.success",requiresPayment:!1}},{path:"/payment/stripe",name:"StripePayment",component:()=>h(()=>import("./StripePaymentView-B0oR6A1o.js"),__vite__mapDeps([114,1,102,103,24,107,106,54,14,15,6,7,3,16,11,9,10])),meta:{requiresAuth:!1,requiresAdmin:!1,title:"Stripe Payment",titleKey:"payment.stripePay",requiresPayment:!1}},{path:"/payment/airwallex",name:"AirwallexPayment",component:()=>h(()=>import("./AirwallexPaymentView-FcyMOW8M.js"),__vite__mapDeps([115,1,54,14,15,6,7,3,16,11,9,10,106])),meta:{requiresAuth:!1,requiresAdmin:!1,title:"Airwallex Payment",titleKey:"payment.airwallexPay",requiresPayment:!1}},{path:"/payment/stripe-popup",name:"StripePopup",component:()=>h(()=>import("./StripePopupView-DKU1Y83f.js"),__vite__mapDeps([116,1,24,3,6,7])),meta:{requiresAuth:!1,requiresAdmin:!1,title:"Payment",requiresPayment:!1}},{path:"/custom/:id",name:"CustomPage",component:()=>h(()=>import("./CustomPageView-BN70n0YO.js"),__vite__mapDeps([117,1,54,14,15,6,7,3,16,11,9,10,118])),meta:{requiresAuth:!0,requiresAdmin:!1,title:"Custom Page",titleKey:"customPage.title"}},{path:"/admin",redirect:"/admin/dashboard"},{path:"/admin/dashboard",name:"AdminDashboard",component:()=>h(()=>import("./DashboardView-B15wIpMO.js"),__vite__mapDeps([119,1,54,14,15,6,7,3,16,11,9,10,63,64,65,66,67,2,4,90])),meta:{requiresAuth:!0,requiresAdmin:!0,title:"Admin Dashboard",titleKey:"admin.dashboard.title",descriptionKey:"admin.dashboard.description"}},{path:"/admin/ops",name:"AdminOps",component:()=>h(()=>import("./OpsDashboard-mREKPhVH.js"),__vite__mapDeps([120,1,54,14,15,6,7,3,16,11,9,10,2,4,121,122,123,75,76,68,77,71,78,91,66,81,24,5,79,124])),meta:{requiresAuth:!0,requiresAdmin:!0,title:"Ops Monitoring",titleKey:"admin.ops.title",descriptionKey:"admin.ops.description"}},{path:"/admin/audit-logs",name:"AdminAuditLogs",component:()=>h(()=>import("./AuditLogView-BscNH9_T.js"),__vite__mapDeps([125,1,98,54,14,15,6,7,3,16,11,9,10,73,74,75,76,77,2,4,71,78,79])),meta:{requiresAuth:!0,requiresAdmin:!0,title:"Audit Logs",titleKey:"admin.audit.title",descriptionKey:"admin.audit.description"}},{path:"/admin/users",name:"AdminUsers",component:()=>h(()=>import("./UsersView-Dm_lzOpC.js"),__vite__mapDeps([126,1,71,127,54,14,15,6,7,3,16,11,9,10,73,74,75,76,77,2,4,78,79,68,57,58,55,128,129,98,5,82,83,130,131])),meta:{requiresAuth:!0,requiresAdmin:!0,title:"User Management",titleKey:"admin.users.title",descriptionKey:"admin.users.description"}},{path:"/admin/groups",name:"AdminGroups",component:()=>h(()=>import("./GroupsView-CMPpm0Bs.js"),__vite__mapDeps([132,1,54,14,15,6,7,3,16,11,9,10,121,73,74,75,76,77,2,4,71,78,79,68,55,133,134,135,128,24,136])),meta:{requiresAuth:!0,requiresAdmin:!0,title:"Group Management",titleKey:"admin.groups.title",descriptionKey:"admin.groups.description"}},{path:"/admin/channels",redirect:"/admin/channels/pricing"},{path:"/admin/channels/pricing",name:"AdminChannels",component:()=>h(()=>import("./ChannelsView-C3jfdT0y.js"),__vite__mapDeps([137,1,24,134,3,56,54,14,15,6,7,16,11,9,10,73,74,75,76,77,2,4,71,78,79,68,55,5,133,135,138])),meta:{requiresAuth:!0,requiresAdmin:!0,title:"Channel Management",titleKey:"admin.channels.title",descriptionKey:"admin.channels.description"}},{path:"/admin/channels/monitor",name:"AdminChannelMonitor",component:()=>h(()=>import("./ChannelMonitorView-CO0rxX11.js"),__vite__mapDeps([139,24,54,14,1,15,6,7,3,16,11,9,10,73,74,75,76,77,2,4,71,78,79,68,122,5,140,72,134,57,58,55,84])),meta:{requiresAuth:!0,requiresAdmin:!0,title:"Channel Monitor",titleKey:"admin.channelMonitor.title",descriptionKey:"admin.channelMonitor.description"}},{path:"/monitor",name:"ChannelStatus",component:()=>h(()=>import("./ChannelStatusView-BzXWzlvx.js"),__vite__mapDeps([141,11,24,54,14,1,15,6,7,3,16,9,10,68,140,63,64,2,4,66,142])),meta:{requiresAuth:!0,requiresAdmin:!1,title:"Channel Status",titleKey:"nav.channelStatus"}},{path:"/admin/subscriptions",name:"AdminSubscriptions",component:()=>h(()=>import("./SubscriptionsView-_f7UTO1b.js"),__vite__mapDeps([143,1,71,54,14,15,6,7,3,16,11,9,10,73,74,75,76,77,2,4,78,79,68,57,58,55,82,83,100,121,144])),meta:{requiresAuth:!0,requiresAdmin:!0,title:"Subscription Management",titleKey:"admin.subscriptions.title",descriptionKey:"admin.subscriptions.description"}},{path:"/admin/accounts",name:"AdminAccounts",component:()=>h(()=>import("./AccountsView-CPEV6fCd.js"),__vite__mapDeps([145,1,71,81,146,55,3,127,129,98,54,14,15,6,7,16,11,9,10,73,74,75,76,122,77,2,4,78,79,147,148,149,24,150,151,152,153,57,58,5,128,154,56,80,121,66,63,64,90,89,155])),meta:{requiresAuth:!0,requiresAdmin:!0,title:"Account Management",titleKey:"admin.accounts.title",descriptionKey:"admin.accounts.description"}},{path:"/admin/plugins",name:"AdminPlugins",component:()=>h(()=>import("./PluginsView-CZxnHh5F.js"),__vite__mapDeps([156,54,14,1,15,6,7,3,16,11,9,10,129,98])),meta:{requiresAuth:!0,requiresAdmin:!0,title:"Plugin Management",titleKey:"admin.plugins.title",descriptionKey:"admin.plugins.description"}},{path:"/admin/interface-config",name:"AdminInterfaceConfig",component:()=>h(()=>import("./InterfaceConfigView-CeYGs-wS.js"),__vite__mapDeps([157,1,54,14,15,6,7,3,16,11,9,10,147,148,149,24,79,2,4,55,150,151,152,153,57,58,5,128,154,64])),meta:{requiresAuth:!0,requiresAdmin:!0,title:"Interface Configuration",titleKey:"nav.interfaceConfig"}},{path:"/admin/interface-check",name:"AdminInterfaceCheck",component:()=>h(()=>import("./InterfaceCheckView-DPruziE1.js"),__vite__mapDeps([158,1,54,14,15,6,7,3,16,11,9,10,24])),meta:{requiresAuth:!0,requiresAdmin:!0,title:"Interface Checks & Sync",titleKey:"nav.interfaceCheck"}},{path:"/admin/model-plaza-config",name:"AdminModelPlazaConfig",component:()=>h(()=>import("./ModelPlazaConfigView-CWSCNkSy.js"),__vite__mapDeps([159,1,54,14,15,6,7,3,16,11,9,10,160])),meta:{requiresAuth:!0,requiresAdmin:!0,title:"Model Center Display",titleKey:"nav.modelCenter"}},{path:"/admin/announcements",name:"AdminAnnouncements",component:()=>h(()=>import("./AnnouncementsView-DS1tprVR.js"),__vite__mapDeps([161,1,71,54,14,15,6,7,3,16,11,9,10,73,74,75,76,77,2,4,78,79,68,153,57,58,55])),meta:{requiresAuth:!0,requiresAdmin:!0,title:"Announcements",titleKey:"admin.announcements.title",descriptionKey:"admin.announcements.description"}},{path:"/admin/proxies",name:"AdminProxies",component:()=>h(()=>import("./ProxiesView-CFCEirKc.js"),__vite__mapDeps([162,1,54,14,15,6,7,3,16,11,9,10,73,74,75,76,77,2,4,71,78,79,68,152,146,55,127])),meta:{requiresAuth:!0,requiresAdmin:!0,title:"Proxy Management",titleKey:"admin.proxies.title",descriptionKey:"admin.proxies.description"}},{path:"/admin/redeem",name:"AdminRedeem",component:()=>h(()=>import("./RedeemView-CXEnCuVM.js"),__vite__mapDeps([163,1,16,127,71,54,14,15,6,7,3,11,9,10,73,74,75,76,77,2,4,78,79,57,58,55,82,83])),meta:{requiresAuth:!0,requiresAdmin:!0,title:"Redeem Code Management",titleKey:"admin.redeem.title",descriptionKey:"admin.redeem.description"}},{path:"/admin/promo-codes",name:"AdminPromoCodes",component:()=>h(()=>import("./PromoCodesView-ByTYkNH7.js"),__vite__mapDeps([164,1,16,71,54,14,15,6,7,3,11,9,10,73,74,75,76,77,2,4,78,79])),meta:{requiresAuth:!0,requiresAdmin:!0,title:"Promo Code Management",titleKey:"admin.promo.title",descriptionKey:"admin.promo.description"}},{path:"/admin/settings",name:"AdminSettings",component:()=>h(()=>import("./SettingsView-LyzgzC5e.js"),__vite__mapDeps([165,1,54,14,15,6,7,3,16,11,9,10,2,4,79,104,122,57,58,55,82,83,5,150,151,129,98,24,106,28,166])),meta:{requiresAuth:!0,requiresAdmin:!0,title:"System Settings",titleKey:"admin.settings.title",descriptionKey:"admin.settings.description"}},{path:"/admin/risk-control",name:"AdminRiskControl",component:()=>h(()=>import("./RiskControlView-C9_oXT3f.js"),__vite__mapDeps([167,1,54,14,15,6,7,3,16,11,9,10,2,4,5,77,71,78,148,149,150,151,24])),meta:{requiresAuth:!0,requiresAdmin:!0,title:"Risk Control",titleKey:"admin.riskControl.title",descriptionKey:"admin.riskControl.description",requiresRiskControl:!0}},{path:"/admin/prompt-audit",name:"AdminPromptAudit",component:()=>h(()=>import("./PromptAuditView-QBcE12lS.js"),__vite__mapDeps([168,1,54,14,15,6,7,3,16,11,9,10,79,24,77,2,4,71,78])),meta:{requiresAuth:!0,requiresAdmin:!0,title:"Prompt Audit",titleKey:"admin.promptAudit.title",descriptionKey:"admin.promptAudit.description",requiresRiskControl:!0}},{path:"/admin/usage",name:"AdminUsage",component:()=>h(()=>import("./UsageView-h7mE6SST.js"),__vite__mapDeps([169,1,6,7,71,88,3,89,66,63,64,90,75,76,68,91,54,14,15,16,11,9,10,77,2,4,78,65,67,79,130,123])),meta:{requiresAuth:!0,requiresAdmin:!0,title:"Usage Records",titleKey:"admin.usage.title",descriptionKey:"admin.usage.description"}},{path:"/admin/deepseek-usage",name:"AdminDeepseekUsage",component:()=>h(()=>import("./DeepseekUsageView-CBmx7VTp.js"),__vite__mapDeps([92,1,54,14,15,6,7,3,16,11,9,10,77,2,4,71,78,62])),meta:{requiresAuth:!0,requiresAdmin:!0,title:"DeepSeek Usage",titleKey:"nav.deepseekUsage"}},{path:"/admin/affiliates",redirect:"/admin/affiliates/invites"},{path:"/admin/affiliates/invites",name:"AdminAffiliateInvites",component:()=>h(()=>import("./AdminAffiliateInvitesView-Dc64iw0Z.js"),__vite__mapDeps([170,171,1,54,14,15,6,7,3,16,11,9,10,73,74,75,76,77,2,4,71,78,111,24])),meta:{requiresAuth:!0,requiresAdmin:!0,title:"Affiliate Invite Records",titleKey:"nav.affiliateInviteRecords",descriptionKey:"admin.affiliates.invitesDescription"}},{path:"/admin/affiliates/rebates",name:"AdminAffiliateRebates",component:()=>h(()=>import("./AdminAffiliateRebatesView-Bob3YZsl.js"),__vite__mapDeps([172,171,1,54,14,15,6,7,3,16,11,9,10,73,74,75,76,77,2,4,71,78,111,24])),meta:{requiresAuth:!0,requiresAdmin:!0,title:"Affiliate Rebate Records",titleKey:"nav.affiliateRebateRecords",descriptionKey:"admin.affiliates.rebatesDescription"}},{path:"/admin/affiliates/transfers",name:"AdminAffiliateTransfers",component:()=>h(()=>import("./AdminAffiliateTransfersView-si99T1Bb.js"),__vite__mapDeps([173,171,1,54,14,15,6,7,3,16,11,9,10,73,74,75,76,77,2,4,71,78,111,24])),meta:{requiresAuth:!0,requiresAdmin:!0,title:"Affiliate Transfer Records",titleKey:"nav.affiliateTransferRecords",descriptionKey:"admin.affiliates.transfersDescription"}},{path:"/admin/orders/dashboard",name:"AdminPaymentDashboard",component:()=>h(()=>import("./AdminPaymentDashboardView-BwSL9d0t.js"),__vite__mapDeps([174,24,54,14,1,15,6,7,3,16,11,9,10,63,64,66])),meta:{requiresAuth:!0,requiresAdmin:!0,title:"Payment Dashboard",titleKey:"nav.paymentDashboard",requiresPayment:!0}},{path:"/admin/orders",name:"AdminOrders",component:()=>h(()=>import("./AdminOrdersView-D98Vc5XF.js"),__vite__mapDeps([175,1,24,54,14,15,6,7,3,16,11,9,10,77,2,4,71,78,107,111,110,75,76])),meta:{requiresAuth:!0,requiresAdmin:!0,title:"Order Management",titleKey:"nav.orderManagement",requiresPayment:!0}},{path:"/admin/orders/plans",name:"AdminPaymentPlans",component:()=>h(()=>import("./AdminPaymentPlansView-B7ixmBuh.js"),__vite__mapDeps([176,24,54,14,1,15,6,7,3,16,11,9,10,75,76,79,57,58,55,107,2,4,56])),meta:{requiresAuth:!0,requiresAdmin:!0,title:"Subscription Plans",titleKey:"nav.paymentPlans",requiresPayment:!0}},{path:"/config-docs",name:"ConfigDocsRedirect",component:{render:()=>null},meta:{requiresAuth:!0,requiresAdmin:!1,title:"Configuration Docs",titleKey:"nav.configDocs"},beforeEnter:async()=>{const e=ae();e.publicSettingsLoaded||await e.fetchPublicSettings();const t=oa(e.docUrl);return t&&typeof window<"u"?(window.location.replace(t),!1):"/home"}},{path:"/:pathMatch(.*)*",name:"NotFound",component:()=>h(()=>import("./NotFoundView-DCiUJdjA.js"),__vite__mapDeps([177,1,3,6,7])),meta:{title:"404 Not Found"}}],te=Ca({history:Ma("/"),routes:Cp,scrollBehavior(e,t,a){return a||{top:0}}});let vt=!1;const ia=Ht();let Ue=null;const Mp=["/login","/key-usage","/setup","/payment/result","/payment/airwallex","/legal"],Tp=["/auth/callback","/auth/linuxdo/callback","/auth/dingtalk/callback","/auth/dingtalk/email-completion","/auth/oidc/callback","/auth/wechat/callback","/auth/wechat/payment/callback"],Rp=["/register","/email-verify"];function wt(e,t){return!!(Mp.some(a=>e===a||e.startsWith(a))||Tp.some(a=>e===a)||t&&Rp.some(a=>e===a))}te.beforeEach(async(e,t,a)=>{var p,d,y;ia.startNavigation();const r=Me();vt||(r.checkAuth(),vt=!0);const o=ae(),s=at(),i=[...((p=o.cachedPublicSettings)==null?void 0:p.custom_menu_items)??[],...r.isAdmin?s.customMenuItems:[]];document.title=rt(e,o.siteName,i);const c=e.meta.requiresAuth!==!1,u=e.meta.requiresAdmin===!0;if(e.path==="/setup")try{if(!(await ra()).needs_setup){a($p(r.isAuthenticated,r.isAdmin));return}}catch{}if(!c){if(r.isAuthenticated&&(e.path==="/login"||e.path==="/register")){if(o.backendModeEnabled&&!r.isAdmin){a();return}a(r.isAdmin?"/admin/dashboard":"/dashboard");return}if(e.path==="/model-plaza"){if(!o.publicSettingsLoaded)try{await o.fetchPublicSettings()}catch(l){console.warn("Failed to load public settings in route guard",l)}const m=o.cachedPublicSettings;if(o.publicSettingsLoaded&&(m==null?void 0:m.model_plaza_enabled)===!1){a(r.isAuthenticated?r.isAdmin?"/admin/dashboard":"/dashboard":"/home");return}if((m==null?void 0:m.model_plaza_require_auth)===!0&&!r.isAuthenticated){a({path:"/login",query:{redirect:e.fullPath}});return}if(o.backendModeEnabled&&r.isAuthenticated&&!r.isAdmin){a("/login");return}}if(o.backendModeEnabled&&!r.isAuthenticated&&!wt(e.path,r.hasPendingAuthSession)){a("/login");return}a();return}if(!r.isAuthenticated){a({path:"/login",query:{redirect:e.fullPath}});return}if(u&&!r.isAdmin){a("/dashboard");return}if(u&&r.isAdmin){const m=nt();if(!m.initialized)try{await m.fetchStatus()}catch(l){const f=l;f.status===423&&f.code==="ADMIN_COMPLIANCE_ACK_REQUIRED"&&m.requireAcknowledgement(f.metadata)}}if((e.meta.requiresPayment||e.meta.requiresRiskControl)&&!o.publicSettingsLoaded)try{await o.fetchPublicSettings()}catch(m){console.warn("Failed to load public settings in route guard",m)}if(e.meta.requiresPayment&&o.publicSettingsLoaded&&((d=o.cachedPublicSettings)==null?void 0:d.payment_enabled)===!1){a(r.isAdmin?"/admin/dashboard":"/dashboard");return}if(e.meta.requiresRiskControl&&o.publicSettingsLoaded&&((y=o.cachedPublicSettings)==null?void 0:y.risk_control_enabled)===!1){a(r.isAdmin?"/admin/settings":"/dashboard");return}if(r.isSimpleMode&&["/admin/groups","/admin/subscriptions","/admin/redeem","/subscriptions","/redeem"].some(l=>e.path.startsWith(l))){a(r.isAdmin?"/admin/dashboard":"/dashboard");return}if(o.backendModeEnabled){if(r.isAuthenticated&&r.isAdmin){a();return}if(!wt(e.path,r.hasPendingAuthSession)){a("/login");return}}a()});te.afterEach(e=>{ia.endNavigation(),Ue||(Ue=Ep(te)),Ue.triggerPrefetch(e)});te.onError(e=>{var a,r,o;if(console.error("Router error:",e),((a=e.message)==null?void 0:a.includes("Failed to fetch dynamically imported module"))||((r=e.message)==null?void 0:r.includes("Loading chunk"))||((o=e.message)==null?void 0:o.includes("Loading CSS chunk"))||e.name==="ChunkLoadError"){const s="chunk_reload_attempted",i=sessionStorage.getItem(s),c=Date.now();!i||c-parseInt(i)>1e4?(sessionStorage.setItem(s,c.toString()),console.warn("Chunk load error detected, reloading page to fetch latest version..."),window.location.reload()):console.error("Chunk load error persists after reload. Please clear browser cache.")}});const xp=Object.freeze(Object.defineProperty({__proto__:null,default:te},Symbol.toStringTag,{value:"Module"})),Lp=/\b(Mobi|Android|iPhone|iPod|Windows Phone|webOS|BlackBerry|IEMobile)\b/i,Op=/\b(iPad|Tablet)\b/i,Dp=/\b(iPhone|iPad|iPod)\b/i;function bt(e,t){var a;try{return((a=e==null?void 0:e(t))==null?void 0:a.matches)===!0}catch{return!1}}function qp(e={}){var d;const t=e.navigator;if(!t)return!1;if(((d=t.userAgentData)==null?void 0:d.mobile)===!0)return!0;const a=t.userAgent||"",r=t.maxTouchPoints??0,o=t.platform==="MacIntel"&&r>1,s=Lp.test(a),i=Op.test(a)||o,c=bt(e.matchMedia,"(pointer: coarse)"),u=bt(e.matchMedia,"(hover: none)"),p=r>0;return s||i||c&&u&&p}function If(){return typeof navigator>"u"?!1:qp({navigator,matchMedia:typeof window<"u"?window.matchMedia.bind(window):void 0})}function zp(e={}){const t=e.navigator;if(!t)return!1;const a=t.userAgent||"",r=t.maxTouchPoints??0,o=t.platform==="MacIntel"&&r>1;return Dp.test(a)||o}function Up(){return typeof navigator>"u"?!1:zp({navigator})}function Kp(){if(!Up())return;const e=document.querySelector('meta[name="viewport"]');if(!e)return;const t=e.getAttribute("content")||"";/maximum-scale/i.test(t)||e.setAttribute("content",`${t}, maximum-scale=1.0`)}function Vp(){const e=localStorage.getItem("theme"),t=e==="dark"||!e&&window.matchMedia("(prefers-color-scheme: dark)").matches;document.documentElement.classList.toggle("dark",t)}async function Np(){Vp(),Kp();const e=Ta(kp),t=Ra();e.use(t);const a=ae();a.initFromInjectedConfig(),a.siteName&&a.siteName!=="Sub2API"&&(document.title=`${a.siteName} - AI API Gateway`),sa(a.siteLogo),await Ka(),e.use(te),e.use(D),await te.isReady(),e.mount("#app")}Np();export{Ln as $,Wp as A,Ce as B,tf as C,h as D,If as E,Va as F,xt as G,ff as H,oa as I,Ut as J,Zp as K,Tn as L,Rn as M,Qp as N,Jp as O,Mn as P,Cn as Q,vn as R,wn as S,On as T,gn as U,Xe as V,En as W,qn as X,Dn as Y,xn as Z,de as _,ae as a,pf as a0,Em as a1,$m as a2,Y as a3,$d as a4,hf as a5,ne as a6,Ap as a7,gf as a8,Ye as a9,$i as aA,af as aB,rf as aC,uf as aD,np as aE,Af as aF,yf as aG,ks as aH,Ss as aI,pr as aJ,df as aa,el as ab,hs as ac,zs as ad,wf as ae,_f as af,vf as ag,id as ah,bf as ai,bu as aj,$n as ak,kr as al,un as am,cn as an,ln as ao,dn as ap,rp as aq,tp as ar,Ii as as,Ei as at,nf as au,Pi as av,Zt as aw,sf as ax,cf as ay,of as az,at as b,Pm as c,aa as d,nt as e,n as f,nr as g,ap as h,D as i,ft as j,zd as k,Sf as l,Pf as m,Tt as n,Gp as o,Xp as p,Yp as q,ef as r,Un as s,kf as t,Me as u,Pc as v,lf as w,km as x,mf as y,jp as z}; diff --git a/blog_mirror/mirror/171.80.3.206_39897/index.html b/blog_mirror/mirror/171.80.3.206_39897/index.html new file mode 100644 index 0000000..0b77fd9 --- /dev/null +++ b/blog_mirror/mirror/171.80.3.206_39897/index.html @@ -0,0 +1,18 @@ + + + + + + + Forestapi - AI API Gateway + + + + + + + + +
+ + diff --git a/blog_mirror/mirror/171.80.3.206_39897/logo.svg b/blog_mirror/mirror/171.80.3.206_39897/logo.svg new file mode 100644 index 0000000..aae9dae --- /dev/null +++ b/blog_mirror/mirror/171.80.3.206_39897/logo.svg @@ -0,0 +1,32 @@ + + Sub2API + An interlocking S symbol representing subscription routing into APIs. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/blog_mirror/mirror_stdlib.py b/blog_mirror/mirror_stdlib.py new file mode 100644 index 0000000..50d95b1 --- /dev/null +++ b/blog_mirror/mirror_stdlib.py @@ -0,0 +1,477 @@ +# -*- coding: utf-8 -*- +"""网站离线镜像爬虫(纯标准库版,无需 requests / beautifulsoup4) +用法: + python mirror_stdlib.py <起始URL> [最大页数] +示例: + python mirror_stdlib.py http://171.80.3.206:39897/ + python mirror_stdlib.py https://example.com/ 5000 + +行为: + - 页面 BFS 爬取(仅目标域),统一存为 .html 便于 file:// 浏览 + - 附件(pdf/zip 等)任何域名都下载 + - CSS/JS/图片/字体等资源下载并把 HTML/CSS 内链接改写为本地相对路径 + - 断点续传(crawl_manifest.json),可重复运行补漏 + - 每请求间隔 0.3s,礼貌抓取 +""" +import os, re, sys, json, time, hashlib, threading, gzip, zlib +from urllib.parse import urlparse, urljoin, urldefrag, unquote +from urllib.request import Request, urlopen +from urllib.error import HTTPError, URLError +from collections import deque +from concurrent.futures import ThreadPoolExecutor + +if len(sys.argv) < 2: + print(__doc__) + sys.exit(1) + +TARGET = sys.argv[1].rstrip("/") +MAX_PAGES = int(sys.argv[2]) if len(sys.argv) > 2 else 3000 + +ROOT = os.path.dirname(os.path.abspath(__file__)) +HOST = urlparse(TARGET).netloc +HOST_DIR = re.sub(r'[<>:"\\|?*]', "_", HOST) # Windows 目录名非法字符替换(端口冒号) +OUT = os.path.join(ROOT, "mirror", HOST_DIR) +MANIFEST = os.path.join(ROOT, "crawl_manifest.json") +QUEUE_FILE = os.path.join(ROOT, "queue.json") +LOG = open(os.path.join(ROOT, "crawl_log.txt"), "a", encoding="utf-8") + +PAGE_HOSTS = {HOST.lower()} +START_URLS = [TARGET] +ATT_EXT = { + ".pdf", ".zip", ".rar", ".7z", ".stp", ".step", ".dwg", ".dxf", ".igs", ".iges", + ".stl", ".xls", ".xlsx", ".csv", ".doc", ".docx", ".ppt", ".pptx", ".tar", ".gz", +} +SKIP_QUERY_KEYS = {"cmsfkt", "print", "lang", "language", "sprache", "session", "cfid", "cftoken", "search", "q"} +SKIP_QUERY_VALS = {"watchlist", "nl_add", "logout", "login", "cart", "basket"} +DELAY = 0.3 +UA = "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/126.0.0.0 Safari/537.36" +SKIP_ASSET_HOSTS = {"etracker.com", "google-analytics.com", "googletagmanager.com", + "doubleclick.net", "hotjar.com", "statcounter.com", "matomo.org", + "google.com", "facebook.com", "twitter.com", "linkedin.com"} +failed_logged = set() +LOCK = threading.RLock() +POOL = ThreadPoolExecutor(max_workers=4) + +manifest = {} +if os.path.exists(MANIFEST): + try: + manifest = json.load(open(MANIFEST, encoding="utf-8")) + except Exception: + pass +visited = {u for u, v in manifest.items() if v.get("status") == "ok"} +failed = [] +ext_html_seen = set() + +def log(*a): + s = " ".join(str(x) for x in a) + print(s, flush=True) + with LOCK: + LOG.write(s + "\n"); LOG.flush() + +def save_manifest(): + with LOCK: + with open(MANIFEST, "w", encoding="utf-8") as f: + json.dump(manifest, f, ensure_ascii=False, indent=1) + +def load_q(): + try: + return json.load(open(QUEUE_FILE, encoding="utf-8")) + except Exception: + return [] + +def save_q(q): + with LOCK: + json.dump(list(q), open(QUEUE_FILE, "w", encoding="utf-8")) + +def norm_url(u): + u = u.strip() + if not u or u.startswith(("javascript:", "mailto:", "tel:", "data:", "sms:", "about:", "#")): + return None + u, frag = urldefrag(u) + p = urlparse(u) + if p.scheme not in ("http", "https"): + return None + netloc = (p.netloc or "").lower() # 保留端口,不能 split(":") 去端口 + path = p.path or "/" + qs = [] + if p.query: + for kv in p.query.split("&"): + k = kv.split("=", 1)[0].lower() + v = kv.split("=", 1)[1].lower() if "=" in kv else "" + if k in SKIP_QUERY_KEYS or v in SKIP_QUERY_VALS: + continue + qs.append(kv) + query = "&".join(qs) + return f"{p.scheme}://{netloc}{path}" + (f"?{query}" if query else "") + +def is_attachment(u): + p = urlparse(u) + path = unquote(p.path).lower() + return path.endswith(tuple(ATT_EXT)) + +STATIC_EXT = (".jpg", ".jpeg", ".png", ".gif", ".ico", ".svg", ".bmp", ".webp", ".tif", ".tiff") + +def is_static(u): + return urlparse(u).path.lower().endswith(STATIC_EXT) + +def skip_asset(u): + p = urlparse(u) + h = (p.netloc or "").lower().split(":")[0] + for bad in SKIP_ASSET_HOSTS: + if h == bad or h.endswith("." + bad): + return True + if not p.path or p.path == "/": + return True + return False + +def is_junk_page(u): + p = urlparse(u) + path = p.path.lower() + return path.endswith((".css", ".js", ".png", ".jpg", ".jpeg", ".gif", ".ico", ".svg", + ".woff", ".woff2", ".ttf", ".webp", ".bin", ".map")) + +def sanitize_seg(seg): + seg = re.sub(r'[<>:"\\|?*]', "_", seg) + seg = seg.strip(" .") + if not seg: + seg = "_" + if len(seg) > 90: + seg = seg[:80] + "_" + hashlib.md5(seg.encode()).hexdigest()[:8] + return seg + +def local_path(u, is_page): + p = urlparse(u) + path = unquote(p.path) + if path.endswith("/"): + path += "index" + segs = [sanitize_seg(s) for s in path.split("/") if s] + if not segs: + segs = ["index"] + name = segs.pop() + if is_page: + name += ".html" + else: + if "." not in name or not re.search(r"\.[A-Za-z0-9]{1,6}$", name): + name += ".bin" + if p.query: + qs = sanitize_seg(unquote(p.query).replace("/", "_").replace("\\", "_"))[:120] + name = name.rsplit(".", 1)[0] + "@@" + qs + "." + name.rsplit(".", 1)[1] + return os.path.join(*segs, name) + +def http_get(u, timeout=30): + """urllib GET,返回 (bytes, content_type)。处理 gzip/deflate。""" + req = Request(u, headers={"User-Agent": UA, "Accept-Encoding": "identity"}) + resp = urlopen(req, timeout=timeout) + data = resp.read() + headers = resp.headers + enc = (headers.get("Content-Encoding", "") or "").lower() + if enc == "gzip": + try: + data = gzip.decompress(data) + except Exception: + pass + elif enc == "deflate": + try: + data = zlib.decompress(data) + except Exception: + pass + ct = headers.get("Content-Type", "") or "" + return data, ct + +def fetch(u, timeout=(15, 60)): + for attempt in range(3): + try: + return http_get(u, timeout=timeout[1]) + except HTTPError as e: + if e.code in (400, 401, 403, 404, 410): + raise + if attempt == 2: + raise + time.sleep(2 * (attempt + 1)) + except Exception: + if attempt == 2: + raise + time.sleep(2 * (attempt + 1)) + +def decode(data, ct): + """字节 -> 文本,尽力识别编码。""" + enc = None + m = re.search(r'charset=["\']?([\w\-]+)', ct, re.I) + if m: + enc = m.group(1) + if not enc: + head = data[:4096] + m = re.search(br']+charset=["\']?([\w\-]+)', head, re.I) + if m: + enc = m.group(1).decode("ascii", "ignore") + if not enc and data.startswith(b"\xef\xbb\xbf"): + enc = "utf-8-sig" + if not enc: + enc = "utf-8" + for e in (enc, "utf-8", "gbk", "gb18030", "latin-1"): + try: + return data.decode(e) + except Exception: + continue + return data.decode("latin-1", "replace") + +def download_file(u, kind): + """下载二进制资源/附件,返回相对路径。""" + if skip_asset(u): + return None + rel = local_path(u, is_page=False) + fp = os.path.join(OUT, rel) + with LOCK: + if u in manifest and manifest[u].get("status") == "ok" and os.path.exists(fp): + return rel + manifest[u] = {"path": rel, "type": kind, "status": "pending"} + save_manifest() + try: + data, ct = http_get(u) + os.makedirs(os.path.dirname(fp), exist_ok=True) + with open(fp, "wb") as f: + f.write(data) + # CSS: 改写 url() 引用为本地路径 + if kind == "asset" and (rel.lower().endswith(".css") or "css" in ct): + try: + new_css = css_urls(data.decode("utf-8", "replace"), u) + with open(fp, "w", encoding="utf-8") as f: + f.write(new_css) + except Exception: + pass + with LOCK: + manifest[u] = {"path": rel, "type": kind, "status": "ok", + "size": len(data), "ct": ct} + save_manifest() + return rel + except HTTPError as e: + with LOCK: + failed.append((u, str(e))) + manifest[u] = {"path": rel, "type": kind, + "status": "dead" if e.code in (404, 410) else "failed", "err": str(e)[:200]} + save_manifest() + if u not in failed_logged: + failed_logged.add(u) + log(f" [FAIL] {kind} {u} : {e}") + return None + except Exception as e: + with LOCK: + failed.append((u, str(e))) + manifest[u] = {"path": rel, "type": kind, "status": "failed", "err": str(e)[:200]} + save_manifest() + if u not in failed_logged: + failed_logged.add(u) + log(f" [FAIL] {kind} {u} : {e}") + return None + +def css_urls(css, css_url): + def rep(m): + raw = m.group(1).strip().strip("'\"") + if raw.startswith(("data:", "javascript:", "#")): + return m.group(0) + if raw.startswith("//"): + absu = "http:" + raw + else: + absu = urljoin(css_url, raw) + rel = download_file(absu, "asset") + if rel: + from_dir = os.path.dirname(local_path(css_url, is_page=False)) + rr = os.path.relpath(rel, from_dir).replace("\\", "/") + return f"url({rr})" + return m.group(0) + return re.sub(r"url\(\s*(.*?)\s*\)", rep, css, flags=re.I | re.S) + +def process_page(u, data, ct): + html = decode(data, ct) + page_rel = local_path(u, is_page=True) + page_dir = os.path.dirname(page_rel) + + # base 标签:用于解析相对链接,随后删除 + base_for_resolve = u + m = re.search(r']*href\s*=\s*(["\'])(.*?)\1', html, re.I | re.S) + if m: + base_for_resolve = urljoin(u, m.group(2).strip()) + html = re.sub(r']*/?>', '', html, flags=re.I) + + new_pages, atts, assets = [], [], [] + + def to_local(absu, is_page): + rel = local_path(absu, is_page=is_page) + return os.path.relpath(rel, page_dir).replace("\\", "/") + + def handle_href(raw): + v = raw.strip() + if not v or v.startswith(("#", "javascript:", "mailto:", "tel:", "data:", "about:")): + return raw + frag = "" + if "#" in v: + v, _, fr = v.partition("#") + frag = "#" + fr + absu = norm_url(urljoin(base_for_resolve, v)) + if not absu: + return raw + host = (urlparse(absu).netloc or "").lower() + if is_attachment(absu): + atts.append(absu); rel = local_path(absu, False) + elif is_static(absu): + assets.append(absu); rel = local_path(absu, False) + elif host in PAGE_HOSTS: + new_pages.append(absu); rel = local_path(absu, True) + else: + ext_html_seen.add(absu); return raw + return to_local(absu, is_page=not (is_attachment(absu) or is_static(absu))) + frag + + def handle_src(raw): + v = raw.strip() + if not v or v.startswith(("data:", "javascript:", "about:")): + return raw + absu = norm_url(urljoin(base_for_resolve, v)) + if not absu: + return raw + assets.append(absu) + return to_local(absu, False) + + # href / src / data / poster 属性 + def sub_attr(html, attr, handler): + pat = re.compile(r'\b(' + attr + r')\s*=\s*(["\'])(.*?)\2', re.I | re.S) + return pat.sub(lambda m: m.group(1) + "=" + m.group(2) + handler(m.group(3)) + m.group(2), html) + + html = sub_attr(html, r'href', handle_href) + html = sub_attr(html, r'src', handle_src) + html = sub_attr(html, r'data', handle_src) + html = sub_attr(html, r'poster', handle_src) + + # srcset(逗号分隔的 URL + 描述符列表) + def sub_srcset(html): + def rep(m): + parts = [] + for part in m.group(3).split(","): + part = part.strip() + if not part: + continue + toks = part.split() + su = toks[0] + rest = " ".join(toks[1:]) + newu = handle_src(su) + parts.append(newu + (" " + rest if rest else "")) + return m.group(1) + "=" + m.group(2) + ", ".join(parts) + m.group(2) + pat = re.compile(r'\b(srcset)\s*=\s*(["\'])(.*?)\2', re.I | re.S) + return pat.sub(rep, html) + html = sub_srcset(html) + + # data-* 属性:仅提取 URL 用于发现页面,不改写(避免破坏 JS) + for m in re.finditer(r'\b(data-[a-z0-9_-]+)\s*=\s*(["\'])(.*?)\2', html, re.I | re.S): + v = m.group(3).strip() + if not (v.startswith("/") or v.startswith("http") or re.search(r"\.(html?|php|cfm|aspx|jsp)\b", v)): + continue + absu = norm_url(urljoin(base_for_resolve, v)) + if not absu: + continue + host = (urlparse(absu).netloc or "").lower() + if host in PAGE_HOSTS and not is_attachment(absu) and not is_junk_page(absu): + new_pages.append(absu) + + # 确保有 charset meta + if not re.search(r']+charset', html, re.I): + m = re.search(r']*>', html, re.I) + if m: + html = html[:m.end()] + '' + html[m.end():] + + fp = os.path.join(OUT, page_rel) + os.makedirs(os.path.dirname(fp), exist_ok=True) + with open(fp, "w", encoding="utf-8") as f: + f.write(html) + manifest[u] = {"path": page_rel, "type": "page", "status": "ok", "size": len(data)} + save_manifest() + return new_pages, atts, assets + +def main(): + q = deque() + for u in load_q() + [norm_url(u) for u in START_URLS] + \ + [u for u, v in manifest.items() if v.get("type") == "page" and v.get("status") in ("failed", "pending")]: + u = norm_url(u) + if u and u not in q and not is_junk_page(u): + q.append(u) + log(f"队列 {len(q)} 个页面待处理") + pages_done = 0 + + pend = [(u, manifest[u].get("type", "asset")) for u, v in manifest.items() + if v.get("type") in ("asset", "attachment") and v.get("status") in ("pending", "failed")] + if pend: + log(f"续传未完成文件 {len(pend)} 个") + for u, k in pend: + POOL.submit(download_file, u, k) + + while q: + u = q.popleft() + if u in visited: + continue + visited.add(u) + if is_junk_page(u): + manifest[u] = {"type": "page", "status": "dead", "err": "junk"} + continue + try: + data, ct = fetch(u) + except HTTPError as e: + failed.append((u, str(e))) + manifest[u] = {"type": "page", "status": "dead" if e.code in (404, 410) else "failed", "err": str(e)[:200]} + save_manifest() + if u not in failed_logged: + failed_logged.add(u) + log(f"[FAIL] page {u} : {e}") + time.sleep(DELAY) + continue + except Exception as e: + failed.append((u, str(e))) + manifest[u] = {"type": "page", "status": "failed", "err": str(e)[:200]} + save_manifest() + if u not in failed_logged: + failed_logged.add(u) + log(f"[FAIL] page {u} : {e}") + time.sleep(DELAY) + continue + + pth = urlparse(u).path.lower() + if "html" in ct.lower() or pth.endswith((".htm", ".html", ".cfm", ".php", ".aspx", ".jsp")): + try: + new_pages, atts, assets = process_page(u, data, ct) + pages_done += 1 + for a in atts: + POOL.submit(download_file, a, "attachment") + for a in assets: + POOL.submit(download_file, a, "asset") + for p in new_pages: + if p not in visited and p not in q: + q.append(p) + save_q(q) + if pages_done % 25 == 0: + log(f"... 已处理 {pages_done} 页, 队列 {len(q)}, 文件 {len(manifest)}") + except Exception as e: + log(f"[ERR] parse {u}: {e}") + else: + download_file(u, "attachment" if is_attachment(u) else "asset") + + if pages_done > MAX_PAGES: + log("达到页面数上限,停止") + break + time.sleep(DELAY) + + POOL.shutdown(wait=True) + log("=" * 60) + log(f"完成。页面 {pages_done} 个,manifest 条目 {len(manifest)} 个") + types = {} + for v in manifest.values(): + types[v.get("type", "?")] = types.get(v.get("type", "?"), 0) + 1 + log("类型统计:", types) + if failed: + log(f"失败 {len(failed)} 个:") + for u, e in failed: + log(" ", u, "|", e) + if ext_html_seen: + log(f"未跟进的站外 HTML 链接 {len(ext_html_seen)} 个 (示例):") + for u in list(ext_html_seen)[:10]: + log(" ", u) + +if __name__ == "__main__": + log(f"=== 开始镜像 {TARGET} @ {time.strftime('%Y-%m-%d %H:%M:%S')} ===") + main() diff --git a/blog_mirror/queue.json b/blog_mirror/queue.json new file mode 100644 index 0000000..a5ea737 --- /dev/null +++ b/blog_mirror/queue.json @@ -0,0 +1 @@ +["http://171.80.3.206:39897/assets/vendor-vue-DiG09V7Q.js", "http://171.80.3.206:39897/assets/vendor-i18n-F92pr2wT.js", "http://171.80.3.206:39897/assets/vendor-misc-CbSuWkr5.js", "http://171.80.3.206:39897/assets/vendor-misc-DB0Q8XAf.css", "http://171.80.3.206:39897/assets/index-Dk4t2Wci.css"] \ No newline at end of file diff --git a/blog_mirror/run.bat b/blog_mirror/run.bat new file mode 100644 index 0000000..b31499f --- /dev/null +++ b/blog_mirror/run.bat @@ -0,0 +1,68 @@ +@echo off +setlocal +chcp 65001 >nul +set PYTHONIOENCODING=utf-8 +cd /d "%~dp0" + +echo ============================================ +echo Website Mirror Crawler +echo Target: http://171.80.3.206:39897/ +echo ============================================ +echo. + +set "PY=" + +python --version >nul 2>nul +if not errorlevel 1 ( + set "PY=python" + goto :found +) + +py -3 --version >nul 2>nul +if not errorlevel 1 ( + set "PY=py -3" + goto :found +) + +python3 --version >nul 2>nul +if not errorlevel 1 ( + set "PY=python3" + goto :found +) + +if exist "C:\Users\ruigu\AppData\Local\Programs\Python\Python310\python.exe" ( + set "PY=C:\Users\ruigu\AppData\Local\Programs\Python\Python310\python.exe" + goto :found +) + +echo [ERROR] No Python found. +echo Install Python 3.8+ from https://www.python.org/downloads/ +echo During install, check the box "Add Python to PATH". +echo Then double-click this file again. +pause +exit /b 1 + +:found +echo Using Python: %PY% +echo. + +echo [1/3] Checking dependencies... +%PY% -c "import requests, bs4" >nul 2>nul +if errorlevel 1 ( + echo [1/3] Installing requests and beautifulsoup4 ... + %PY% -m pip install -i https://pypi.tuna.tsinghua.edu.cn/simple requests beautifulsoup4 +) else ( + echo [1/3] Dependencies OK +) + +echo. +echo [2/3] Crawling site ... this may take minutes. Do NOT close this window. +echo. +%PY% -u mirror.py http://171.80.3.206:39897/ + +echo. +echo [3/3] Done! Offline copy is here: +echo %~dp0mirror\171.80.3.206_39897\ +echo Open index.html inside that folder with your browser. +echo. +pause diff --git a/blog_mirror/一键抓取.bat b/blog_mirror/一键抓取.bat new file mode 100644 index 0000000..e0ffe11 --- /dev/null +++ b/blog_mirror/一键抓取.bat @@ -0,0 +1,37 @@ +@echo off +chcp 65001 >nul +cd /d "%~dp0" + +echo ============================================ +echo 网站镜像抓取脚本 +echo 目标: http://171.80.3.206:39897/ +echo ============================================ +echo. + +where python >nul 2>nul +if errorlevel 1 ( + echo [错误] 没找到 python,请先安装 Python 3.8+ + pause + exit /b 1 +) + +echo [1/3] 检查依赖... +python -c "import requests, bs4" >nul 2>nul +if errorlevel 1 ( + echo [1/3] 缺少依赖,正在安装 requests beautifulsoup4 ... + python -m pip install -i https://pypi.tuna.tsinghua.edu.cn/simple requests beautifulsoup4 +) else ( + echo [1/3] 依赖已就绪 +) + +echo. +echo [2/3] 开始抓取(会持续几分钟到几十分钟,请勿关闭窗口)... +echo. +python -u mirror.py http://171.80.3.206:39897/ + +echo. +echo [3/3] 完成!离线站点在 mirror 目录下: +echo %~dp0mirror\171.80.3.206_39897\ +echo 入口文件:用浏览器打开上面的 index.html +echo. +pause diff --git a/catalog-masters/KC/_probe_display_api.bat b/catalog-masters/KC/_probe_display_api.bat new file mode 100644 index 0000000..6f10714 --- /dev/null +++ b/catalog-masters/KC/_probe_display_api.bat @@ -0,0 +1,3 @@ +@echo off +cd /d "%~dp0" +"C:\Program Files\Siemens\NX2506\NXBIN\run_journal.exe" "%~dp0..\..\sample-data\tools\probe-display-api.vb" diff --git a/catalog-masters/KC/_probe_selection.bat b/catalog-masters/KC/_probe_selection.bat new file mode 100644 index 0000000..418d26a --- /dev/null +++ b/catalog-masters/KC/_probe_selection.bat @@ -0,0 +1,3 @@ +@echo off +cd /d "%~dp0" +"C:\Program Files\Siemens\NX2506\NXBIN\run_journal.exe" "%~dp0..\..\sample-data\tools\probe-selection.vb" diff --git a/catalog-masters/KC/_probe_ugconvert.bat b/catalog-masters/KC/_probe_ugconvert.bat new file mode 100644 index 0000000..93742f8 --- /dev/null +++ b/catalog-masters/KC/_probe_ugconvert.bat @@ -0,0 +1,13 @@ +@echo off +cd /d "%~dp0" +echo ==== ug_convert_part.exe -help ==== +"C:\Program Files\Siemens\NX2506\NXBIN\ug_convert_part.exe" -help 2>&1 +echo. +echo ==== ug_convert_part.exe (no args) ==== +"C:\Program Files\Siemens\NX2506\NXBIN\ug_convert_part.exe" 2>&1 +echo. +echo ==== ugtopv.exe (no args) ==== +"C:\Program Files\Siemens\NX2506\NXBIN\ugtopv.exe" 2>&1 +echo. +echo ==== step214ug.exe (no args) ==== +"C:\Program Files\Siemens\NX2506\NXBIN\step214ug.exe" 2>&1 diff --git a/catalog-masters/KC/_run_rebuild.bat b/catalog-masters/KC/_run_rebuild.bat new file mode 100644 index 0000000..3c1221b --- /dev/null +++ b/catalog-masters/KC/_run_rebuild.bat @@ -0,0 +1,3 @@ +@echo off +cd /d "%~dp0" +"C:\Program Files\Siemens\NX2506\NXBIN\run_journal.exe" "%~dp0..\..\sample-data\tools\rebuild-verify-master.vb" diff --git a/catalog-masters/KC/_test_display_part.bat b/catalog-masters/KC/_test_display_part.bat new file mode 100644 index 0000000..2d7044c --- /dev/null +++ b/catalog-masters/KC/_test_display_part.bat @@ -0,0 +1,3 @@ +@echo off +cd /d "%~dp0" +"C:\Program Files\Siemens\NX2506\NXBIN\run_journal.exe" "%~dp0..\..\sample-data\tools\test-display-part.vb" diff --git a/catalog-masters/KC/_test_display_state.bat b/catalog-masters/KC/_test_display_state.bat new file mode 100644 index 0000000..c5af949 --- /dev/null +++ b/catalog-masters/KC/_test_display_state.bat @@ -0,0 +1,3 @@ +@echo off +cd /d "%~dp0" +"C:\Program Files\Siemens\NX2506\NXBIN\run_journal.exe" "%~dp0..\..\sample-data\tools\test-display-state.vb" diff --git a/catalog-masters/KC/_test_existingpart.bat b/catalog-masters/KC/_test_existingpart.bat new file mode 100644 index 0000000..0e9c947 --- /dev/null +++ b/catalog-masters/KC/_test_existingpart.bat @@ -0,0 +1,3 @@ +@echo off +cd /d "%~dp0" +"C:\Program Files\Siemens\NX2506\NXBIN\run_journal.exe" "%~dp0..\..\sample-data\tools\test-existingpart.vb" diff --git a/catalog-masters/KC/_test_fix_flags.bat b/catalog-masters/KC/_test_fix_flags.bat new file mode 100644 index 0000000..c089083 --- /dev/null +++ b/catalog-masters/KC/_test_fix_flags.bat @@ -0,0 +1,3 @@ +@echo off +cd /d "%~dp0" +"C:\Program Files\Siemens\NX2506\NXBIN\run_journal.exe" "%~dp0..\..\sample-data\tools\test-fix-flags.vb" diff --git a/catalog-masters/KC/_test_iges_export.bat b/catalog-masters/KC/_test_iges_export.bat new file mode 100644 index 0000000..e0adcaf --- /dev/null +++ b/catalog-masters/KC/_test_iges_export.bat @@ -0,0 +1,20 @@ +@echo off +cd /d "%~dp0" +echo ==== iges.exe (no args) usage ==== +"C:\Program Files\Siemens\NX2506\NXBIN\iges.exe" 2>&1 +echo. +echo ==== iges.exe: export KC_master.prt to IGES ==== +"C:\Program Files\Siemens\NX2506\NXBIN\iges.exe" "KC_master.prt" o="E3_export.igs" l="E3_export.log" +echo exit code = %ERRORLEVEL% +echo. +if exist "E3_export.igs" ( + dir "E3_export.igs" +) else ( + echo E3_export.igs NOT created +) +echo. +if exist "E3_export.log" ( + findstr /C:"solid" /C:"Total" /C:"Body" "E3_export.log" +) else ( + echo no log file +) diff --git a/catalog-masters/KC/_test_step214ug_export.bat b/catalog-masters/KC/_test_step214ug_export.bat new file mode 100644 index 0000000..25b3009 --- /dev/null +++ b/catalog-masters/KC/_test_step214ug_export.bat @@ -0,0 +1,19 @@ +@echo off +cd /d "%~dp0" +echo ==== step214ug.exe: export KC_master.prt to STEP ==== +"C:\Program Files\Siemens\NX2506\NXBIN\step214ug.exe" "KC_master.prt" o="E2_export.stp" l="E2_export.log" +echo exit code = %ERRORLEVEL% +echo. +echo ==== output file ==== +if exist "E2_export.stp" ( + dir "E2_export.stp" +) else ( + echo E2_export.stp NOT created +) +echo. +echo ==== log tail (solid count) ==== +if exist "E2_export.log" ( + findstr /C:"solid" /C:"Total" "E2_export.log" +) else ( + echo no log file +) diff --git a/catalog-masters/KC/check-master.txt b/catalog-masters/KC/check-master.txt new file mode 100644 index 0000000..f5da432 --- /dev/null +++ b/catalog-masters/KC/check-master.txt @@ -0,0 +1,7 @@ +特征数=1 +实体数=0 +表达式 bore=32 +表达式 stroke=10 +表达式 magOn=0 +表达式 mountIdx=0 +IsModified=False diff --git a/catalog-masters/KC/debug-export.txt b/catalog-masters/KC/debug-export.txt new file mode 100644 index 0000000..d8fe976 --- /dev/null +++ b/catalog-masters/KC/debug-export.txt @@ -0,0 +1,6 @@ +CWD=W:\团队文件-TeamCenter\airtac_0602_2026_v11sp5_world_version\airtac_0602_2026_v11sp5_world_version\OnebotCatalog\catalog-masters\KC masterExists=True +Work=W:\团队文件-TeamCenter\airtac_0602_2026_v11sp5_world_version\airtac_0602_2026_v11sp5_world_version\OnebotCatalog\catalog-masters\KC\KC_master.prt +EditExp+Update OK +实体数=2 +引用集: MODEL +STEP 导出失败: FileNotFoundException / 未能找到文件“W:\团队文件-TeamCenter\airtac_0602_2026_v11sp5_world_version\airtac_0602_2026_v11sp5_world_version\OnebotCatalog\catalog-masters\KC\dbg_out\DBG.stp”。 diff --git a/catalog-masters/KC/debug-save.txt b/catalog-masters/KC/debug-save.txt new file mode 100644 index 0000000..82956a9 --- /dev/null +++ b/catalog-masters/KC/debug-save.txt @@ -0,0 +1,4 @@ +CWD=W:\团队文件-TeamCenter\airtac_0602_2026_v11sp5_world_version\airtac_0602_2026_v11sp5_world_version\OnebotCatalog\catalog-masters\KC +exists=True +basePart1=W:\团队文件-TeamCenter\airtac_0602_2026_v11sp5_world_version\airtac_0602_2026_v11sp5_world_version\OnebotCatalog\catalog-masters\KC\KC_master.prt +Work=NULL diff --git a/catalog-masters/KC/probe-selection.txt b/catalog-masters/KC/probe-selection.txt new file mode 100644 index 0000000..7c3ce9b --- /dev/null +++ b/catalog-masters/KC/probe-selection.txt @@ -0,0 +1,384 @@ +StepCreator.ExportSelectionBlock type = NXOpen.ObjectSelector +=== NXOpen.ObjectSelector === +ESB: 8 get_SelectionComp +ESB: 8 get_SelectionScope +ESB: 8 set_SelectionScope +ESB: 8 Commit +ESB: 8 Destroy +ESB: 8 GetCommittedObjects +ESB: 8 GetObject +ESB: 8 ShowResults +ESB: 8 get_PreviewBuilder +ESB: 8 Validate +ESB: 8 get_Tag +ESB: 8 ToString +ESB: 8 PrintTestData +ESB: 8 PrintTestData +ESB: 8 get_NextSink +ESB: 8 SyncProcessMessage +ESB: 8 AsyncProcessMessage +ESB: 8 GetLifetimeService +ESB: 8 InitializeLifetimeService +ESB: 8 CreateObjRef +ESB: 8 Equals +ESB: 8 GetHashCode +ESB: 8 GetType +ESB: 16 SelectionComp +ESB: 16 SelectionScope +ESB: 16 PreviewBuilder +ESB: 16 Tag +ESB: 16 NextSink +SELB [NULL] +=== NXOpen.ScCollector === +SCCO: 8 GetCustomRule +SCCO: 8 AddRules +SCCO: 8 AskRulesAndCollectedEntities +SCCO: 8 SetInterpartNonFeatureReferenceMode +SCCO: 8 ReplaceRules +SCCO: 8 ReplaceRules +SCCO: 8 Destroy +SCCO: 8 GetObjects +SCCO: 8 GetRules +SCCO: 8 SetInterpart +SCCO: 8 RemoveRule +SCCO: 8 RemoveRules +SCCO: 8 CopyCollector +SCCO: 8 GetMultiComponent +SCCO: 8 SetMultiComponent +SCCO: 8 GetNonFeatureMode +SCCO: 8 SetNonFeatureMode +SCCO: 8 GetObjectsSortedById +SCCO: 8 AddEvaluationFilter +SCCO: 8 RemoveEvaluationFilter +SCCO: 8 IsEvaluationFilterEnabled +SCCO: 8 SetAllowRefCurves +SCCO: 8 GetAllowedWireframeType +SCCO: 8 SetAllowedWireframeType +SCCO: 8 RemoveMissingParents +SCCO: 8 Blank +SCCO: 8 Unblank +SCCO: 8 Highlight +SCCO: 8 Unhighlight +SCCO: 8 SetNameLocation +SCCO: 8 RedisplayObject +SCCO: 8 RemoveViewDependency +SCCO: 8 get_Color +SCCO: 8 set_Color +SCCO: 8 get_IsBlanked +SCCO: 8 get_Layer +SCCO: 8 set_Layer +SCCO: 8 get_LineFont +SCCO: 8 set_LineFont +SCCO: 8 get_LineWidth +SCCO: 8 set_LineWidth +SCCO: 8 get_NameLocation +SCCO: 8 SetAttribute +SCCO: 8 SetAttribute +SCCO: 8 SetTimeAttribute +SCCO: 8 SetTimeAttribute +SCCO: 8 GetIntegerAttribute +SCCO: 8 GetRealAttribute +SCCO: 8 GetStringAttribute +SCCO: 8 GetTimeAttribute +SCCO: 8 GetReferenceAttribute +SCCO: 8 DeleteAttributeByTypeAndTitle +SCCO: 8 DeleteAttributeByTypeAndTitle +SCCO: 8 SetReferenceAttribute +SCCO: 8 SetReferenceAttribute +SCCO: 8 GetAttributeTitlesByType +SCCO: 8 GetUserAttributesAsStrings +SCCO: 8 FindObject +SCCO: 8 Print +SCCO: 8 SetName +SCCO: 8 get_IsOccurrence +SCCO: 8 get_JournalIdentifier +SCCO: 8 get_Name +SCCO: 8 get_OwningComponent +SCCO: 8 get_OwningPart +SCCO: 8 get_Prototype +SCCO: 8 GetTimeUserAttribute +SCCO: 8 GetComputationalTimeUserAttribute +SCCO: 8 GetUserAttributes +SCCO: 8 GetUserAttributes +SCCO: 8 GetUserAttributes +SCCO: 8 GetUserAttributeAsString +SCCO: 8 DeleteUserAttributes +SCCO: 8 DeleteUserAttribute +SCCO: 8 DeleteUserAttributes +SCCO: 8 SetUserAttributeLock +SCCO: 8 GetUserAttributeLock +SCCO: 8 GetUserAttributeSourceObjects +SCCO: 8 SetPdmReferenceAttribute +SCCO: 8 GetPdmReferenceAttributeValue +SCCO: 8 GetUserAttribute +SCCO: 8 GetUserAttributes +SCCO: 8 DeleteAllAttributesByType +SCCO: 8 DeleteAllAttributesByType +SCCO: 8 SetAttribute +SCCO: 8 SetAttribute +SCCO: 8 SetAttribute +SCCO: 8 SetAttribute +SCCO: 8 SetAttribute +SCCO: 8 SetAttribute +SCCO: 8 SetUserAttribute +SCCO: 8 SetUserAttribute +SCCO: 8 SetUserAttribute +SCCO: 8 SetUserAttribute +SCCO: 8 SetUserAttribute +SCCO: 8 SetTimeUserAttribute +SCCO: 8 SetTimeUserAttribute +SCCO: 8 SetBooleanUserAttribute +SCCO: 8 CreateAttributeIterator +SCCO: 8 HasUserAttribute +SCCO: 8 HasUserAttribute +SCCO: 8 GetUserAttributeCount +SCCO: 8 GetUserAttributeCount +SCCO: 8 GetUserAttributeCount +SCCO: 8 GetUserAttributeCount +SCCO: 8 GetUserAttributeSize +SCCO: 8 GetNextUserAttribute +SCCO: 8 GetUserAttribute +SCCO: 8 GetBooleanUserAttribute +SCCO: 8 GetIntegerUserAttribute +SCCO: 8 GetRealUserAttribute +SCCO: 8 GetStringUserAttribute +SCCO: 8 get_Tag +SCCO: 8 ToString +SCCO: 8 PrintTestData +SCCO: 8 PrintTestData +SCCO: 8 get_NextSink +SCCO: 8 SyncProcessMessage +SCCO: 8 AsyncProcessMessage +SCCO: 8 GetLifetimeService +SCCO: 8 InitializeLifetimeService +SCCO: 8 CreateObjRef +SCCO: 8 Equals +SCCO: 8 GetHashCode +SCCO: 8 GetType +SCCO: 16 Color +SCCO: 16 IsBlanked +SCCO: 16 Layer +SCCO: 16 LineFont +SCCO: 16 LineWidth +SCCO: 16 NameLocation +SCCO: 16 IsOccurrence +SCCO: 16 JournalIdentifier +SCCO: 16 Name +SCCO: 16 OwningComponent +SCCO: 16 OwningPart +SCCO: 16 Prototype +SCCO: 16 Tag +SCCO: 16 NextSink +SEL [NULL] +=== types containing Selection/Collector === +T: NXOpen.ComponentReferenceCollector +T: NXOpen.ExpressionCollectorSet +T: NXOpen.ExpressionCollectorSetList +T: NXOpen.FacetCollector +T: NXOpen.FacetCollectorCollection +T: NXOpen.FacetSelectionRule +T: NXOpen.FacetSelectionRuleFactory +T: NXOpen.ScCollectorAllowTypes +T: NXOpen.ScCollector +T: NXOpen.ScCollectorCollection +T: NXOpen.ScCollectorList +T: NXOpen.ApparentChainingRuleSelection +T: NXOpen.SelectionIntentRule +T: NXOpen.SelectionIntentRuleOptions +T: NXOpen.SelectionMethod +T: NXOpen.Weld.WeldSelectionType +T: NXOpen.Weld.CharacteristicsSelectionBuilder +T: NXOpen.Validate.SelectionAndPlacementBuilder +T: NXOpen.SIM.NcChannelSelectionData +T: NXOpen.Routing.RouteObjectCollector +T: NXOpen.Routing.RouteObjectCollectorList +T: NXOpen.PartFamily.InstanceSelectionCriteria +T: NXOpen.Motion.GlobalSelectionBuilder +T: NXOpen.GeometricUtilities.CollectorPairBuilder +T: NXOpen.GeometricUtilities.CollectorPairBuilderList +T: NXOpen.GeometricUtilities.CollectorPairListBuilder +T: NXOpen.GeometricUtilities.CrayonSelectionData +T: NXOpen.GeometricUtilities.FacePlaneSelectionBuilder +T: NXOpen.GeometricUtilities.FacePlaneSelectionBuilderCollection +T: NXOpen.GeometricUtilities.PointFacePlaneSelectionBuilder +T: NXOpen.GeometricUtilities.PointFacePlaneSelectionBuilderList +T: NXOpen.GeometricUtilities.SelectionList +T: NXOpen.GeometricUtilities.SelectionListList +T: NXOpen.GeometricUtilities.TwoExpressionsCollectorSet +T: NXOpen.GeometricUtilities.TwoExpressionsCollectorSetList +T: NXOpen.Features.CustomFeatureSelectionFilter +T: NXOpen.Features.SelectionProgramAdjacentBuilder +T: NXOpen.Features.SelectionProgramBetweenBuilder +T: NXOpen.Features.SelectionProgramClosestBuilder +T: NXOpen.Features.SelectionProgramCollection +T: NXOpen.Features.SelectionProgramDirectionFromBuilder +T: NXOpen.Features.SelectionProgramFarthestBuilder +T: NXOpen.Features.SelectionProgramFeatureBuilder +T: NXOpen.Features.SelectionProgramInsideBodyBuilder +T: NXOpen.Features.SelectionProgramIntersectedByBuilder +T: NXOpen.Features.SelectionProgramListItemBuilder +T: NXOpen.Features.SelectionProgramListItemBuilderList +T: NXOpen.Features.SelectionProgramMainBuilder +T: NXOpen.Features.SelectionProgramObjectTypeBuilder +T: NXOpen.Features.SelectionProgramPiercedByBuilder +T: NXOpen.Features.SelectionProgramRegionFacesBuilder +T: NXOpen.Features.ShipDesign.NodeSelectionBuilder +T: NXOpen.Drawings.DraftingComponentSelectionBuilder +T: NXOpen.Display.EntitySelectionPlane +T: NXOpen.DesignSimulation.ConstructionBodyCollector +T: NXOpen.CAE.SelectionRecipeCollection +T: NXOpen.CAE.AcousticsAndVibrationMeshSelectionComponentAccessor +T: NXOpen.CAE.AcousticsAndVibrationTransientMeshSelectionAccessor +T: NXOpen.CAE.AcousticsAndVibrationVatvSelectionComponent +T: NXOpen.CAE.AcousticsAndVibrationVatvSelectionComponentAccessor +T: NXOpen.CAE.AlternateFemRepSelectionRecipe +T: NXOpen.CAE.AttributeSelectionRecipe +T: NXOpen.CAE.BCSelectionDisplayBuilder +T: NXOpen.CAE.BoundingVolumeSelectionRecipe +T: NXOpen.CAE.CadGroupFeatureSelectionRecipe +T: NXOpen.CAE.CoordinateSelectionRecipe +T: NXOpen.CAE.DestinationCollectorBuilder +T: NXOpen.CAE.IMeshCollector +T: NXOpen.CAE.LabelRangeSelectionRecipe +T: NXOpen.CAE.MeshCollector +T: NXOpen.CAE.MeshCollectorBuilder +T: NXOpen.CAE.MeshCollectorDisplayDefaults +T: NXOpen.CAE.MeshCollectorDisplayDefaults0d +T: NXOpen.CAE.MeshCollectorDisplayDefaults1d +T: NXOpen.CAE.MeshCollectorDisplayDefaults2d +T: NXOpen.CAE.MeshCollectorDisplayDefaults3d +T: NXOpen.CAE.MeshCollectorOccurrence +T: NXOpen.CAE.MeshCollectorOccurrenceBuilder +T: NXOpen.CAE.MeshManualSweepBetweenListItemSelection +T: NXOpen.CAE.MeshManualSweepBetweenListItemSelectionList +T: NXOpen.CAE.OrderedSelection +T: NXOpen.CAE.PointSelectionRecipe +T: NXOpen.CAE.PostEntitiesSelection +T: NXOpen.CAE.PostMeshCollector +T: NXOpen.CAE.PostScenarioMessageCollector +T: NXOpen.CAE.PostScenarioMessageCollectorTable +T: NXOpen.CAE.PostScenarioSelectionCallbackContext +T: NXOpen.CAE.PostScenarioSelectionParameters +T: NXOpen.CAE.PostScenarioValueCollector +T: NXOpen.CAE.PostSelectionBuilder +T: NXOpen.CAE.PostSelectionEntity +T: NXOpen.CAE.PostSelectionEntityList +T: NXOpen.CAE.PostSelectionPreference +T: NXOpen.CAE.PostSmartSelectionManager +T: NXOpen.CAE.PreTestExciterSelectionControl +T: NXOpen.CAE.PreTestExciterSelectionDofSetCollection +T: NXOpen.CAE.PreTestSensorSelectionControl +T: NXOpen.CAE.PreTestSensorSelectionDofSetCollection +T: NXOpen.CAE.SelectionRecipe +T: NXOpen.CAE.SelectionRecipeDisplay +T: NXOpen.CAE.SingleLabelSelectionRecipe +T: NXOpen.CAE.SmartSelectionManager +T: NXOpen.CAE.ModelCheck.ISelectionBuilder +T: NXOpen.CAE.Magnet.GlobalSelectionBuilder +T: NXOpen.CAE.Connections.LMIERegionSelection +T: NXOpen.CAE.Connections.LMIESelectionRecipe +T: NXOpen.CAE.Connections.SelectionRecipeLocation +T: NXOpen.CAE.Connections.SeamWeldNodeSelectionMethod +T: NXOpen.CableRouter.CableRouterVisibilityFrameSelectionstate +T: NXOpen.CableRouter.Managed.CableRouterManagedVisibilityFrameSelectionstate +T: NXOpen.CableRouter.Managed.CableRouterManagedStructuralItemSelectionstate +T: NXOpen.Annotations.PmiInterpartSelectionBuilder +T: NXOpen.JtCreator+SelectionScope +T: NXOpen.SelectionIntentRule+RuleType +T: NXOpen.UserDefinedObjects.UserDefinedClass+AllowOwnedObjectSelection +T: NXOpen.UserDefinedObjects.UserDefinedClass+Selection +T: NXOpen.Tooling.ClearanceManagementBuilder+Selection +T: NXOpen.Tooling.CompDrawingBuilder+FilterSelection +T: NXOpen.Tooling.CompDrawingBuilder+ComponentTypeSelection +T: NXOpen.Tooling.FastenerAssy+SelectionTypeMethod +T: NXOpen.Tooling.FastenerAssy+SelectionObjectMethod +T: NXOpen.Tooling.HoleReportBuilder+EnumSelectionType +T: NXOpen.Tooling.RemoveHolesBuilder+SelectionTypes +T: NXOpen.Routing.CustomManager+SelectionType +T: NXOpen.Routing.StockBlockBuilder+StockSelectionSource +T: NXOpen.Routing.StockBlockBuilder+SpaceReservationSelectionSource +T: NXOpen.Preferences.PartObject+ColorSelection +T: NXOpen.GeometricUtilities.CrayonSelectionData+EntityData +T: NXOpen.GeometricUtilities.CrayonSelectionData+_EntityData +T: NXOpen.GeometricUtilities.FacePlaneSelectionBuilder+TrimObjectType +T: NXOpen.GeometricUtilities.PointFacePlaneSelectionBuilder+TrimObjectType +T: NXOpen.GeometricUtilities.ReduceSurfaceRadiusBuilder+FaceSelectionSpecification +T: NXOpen.GeometricUtilities.UVMapping.UVMeshManipulatorData+ObjectSelectionData +T: NXOpen.GeometricUtilities.UVMapping.UVMeshManipulatorData+_ObjectSelectionData +T: NXOpen.Features.ConvertToNxLatticeBuilder+SelectionTypes +T: NXOpen.Features.GridTargetBuilder+GridPointSelectionType +T: NXOpen.Features.SelectionProgramAdjacentBuilder+AdjacentTypes +T: NXOpen.Features.SelectionProgramListItemBuilder+ProximityTypes +T: NXOpen.Features.SelectionProgramListItemBuilder+InstructionTypes +T: NXOpen.Features.SelectionProgramMainBuilder+CollectionTypes +T: NXOpen.Features.SelectionProgramMainBuilder+SelectionIntentTypes +T: NXOpen.Features.SelectionProgramObjectTypeBuilder+ObjectTypes +T: NXOpen.Features.SelectionProgramObjectTypeBuilder+FindTypes +T: NXOpen.Features.VDVEnvironmentBuilder+OcularPointSelectionType +T: NXOpen.Features.Subdivision.CageManipulatorData+ObjectSelectionData +T: NXOpen.Features.Subdivision.CageManipulatorData+_ObjectSelectionData +T: NXOpen.Features.Subdivision.DrawCageData+SelectionData +T: NXOpen.Features.Subdivision.DrawCageData+_SelectionData +T: NXOpen.Features.Subdivision.SectionTubeData+SelectionData +T: NXOpen.Features.Subdivision.SectionTubeData+_SelectionData +T: NXOpen.Features.StructureDesign.EditStockBuilder+AlignMemberSelectionType +T: NXOpen.Features.StructureDesign.MemberBuilder+AlignMemberSelectionType +T: NXOpen.Features.ShipDesign.ConfigurableReportBuilder+SelectionMethods +T: NXOpen.Features.ShipDesign.EndCutBuilder+SelectionTypes +T: NXOpen.Features.ShipDesign.MaterialEstimationBuilder+SelectionMethods +T: NXOpen.Features.ShipDesign.ShipCoordinatesBuilder+Selection +T: NXOpen.Features.ShipDesign.VerifyPenetrationBuilder+SelectionDialogType +T: NXOpen.Features.ShipDesign.WeightAndCGBuilder+SelectionMethods +T: NXOpen.Drawings.DraftingComponentSelectionBuilder+Geometry +T: NXOpen.Display.SelPref+SelectionRule +T: NXOpen.Display.SelPref+SelectionRadius +T: NXOpen.Diagramming.FillBuilder+SelectionType +T: NXOpen.CAM.DPMItpBuilder+SelectionMethodOption +T: NXOpen.CAM.InspectionOperationBuilder+SelectionMethodType +T: NXOpen.CAM.OnMachineProbingBuilder+SelectionMethodType +T: NXOpen.CAM.Preferences+PartSelectionTypes +T: NXOpen.CAM.Preferences+BlankSelectionTypes +T: NXOpen.CAM.Preferences+CheckSelectionTypes +T: NXOpen.CAM.Preferences+CutAreaSelectionTypes +T: NXOpen.CAM.Preferences+WallSelectionTypes +T: NXOpen.CAM.Preferences+AuxiliaryFloorColorSelectionTypes +T: NXOpen.CAM.Preferences+SelectionTypes +T: NXOpen.CAM.RoughFinishTurningBuilder+RegionSelectionTypes +T: NXOpen.CAM.TurnFeatureGeomBuilder+CutRegionSelectionModes +T: NXOpen.CAE.AcousticsAndVibrationTransientMeshSelectionAccessor+IntermediateEntity +T: NXOpen.CAE.AcousticsAndVibrationVatvSelectionComponentAccessor+SelectionChoiceEnum +T: NXOpen.CAE.BoltBuilder+Selection +T: NXOpen.CAE.DirectionalityFieldBuilder+SubcaseSelectionType +T: NXOpen.CAE.DirectionalityFieldBuilder+SelectionType +T: NXOpen.CAE.DurSpecialistEvent+SelectionCriterionType +T: NXOpen.CAE.LoadCaseIterationSelectorBuilder+LoadCaseSelection +T: NXOpen.CAE.LoadCaseIterationSelectorBuilder+IterationSelection +T: NXOpen.CAE.MeshCollectorBuilder+ElementDimensionOption +T: NXOpen.CAE.MeshCollectorOccurrenceBuilder+CreateOverrideOption +T: NXOpen.CAE.ModelAndLoadPreProcessLoadExtrusionBuilder+SelectionTypeEnum +T: NXOpen.CAE.ModelAndLoadPreProcessMeshMappingDataBuilder+TargetSelectionTypeEnum +T: NXOpen.CAE.ModelAndLoadPreProcessMeshMappingDataBuilder+SourceSelectionTypeEnum +T: NXOpen.CAE.NodalForceReportBuilder+LoadcaseSelection +T: NXOpen.CAE.PostEntitiesSelection+Type +T: NXOpen.CAE.PostEntitiesSelection+ResultModelType +T: NXOpen.CAE.PostMeshCollector+CollectorType +T: NXOpen.CAE.PostScenarioDescriptorBuilder+OverrideDefaultSelectionCallback +T: NXOpen.CAE.PostScenarioDescriptorBuilder+_OverrideDefaultSelectionCallback +T: NXOpen.CAE.PostScenarioDescriptorBuilder+_PostScenarioDescriptorBuilderOverrideDefaultSelectionCallbackAdapter +T: NXOpen.CAE.PostSmartSelectionManager+EntityType +T: NXOpen.CAE.PostSmartSelectionManager+NMaxMinParameters +T: NXOpen.CAE.PostSmartSelectionManager+ResultRangeParameters +T: NXOpen.CAE.Result+InitialDeformationSelection +T: NXOpen.CAE.ResultMeasure+SubsetSelection +T: NXOpen.CAE.ResultProbeBuilder+LoadcaseSelection +T: NXOpen.CAE.ResultProbeBuilder+IterationSelection +T: NXOpen.CAE.ResultProbeBuilder+SelectionType +T: NXOpen.CAE.SMTDiagramsBuilder+Nodeselectionplanetype +T: NXOpen.CAE.SMTDiagramsBuilder+Restrictnodeselectionplaneoptions +T: NXOpen.CAE.StressLinearization+LcaseSelection +T: NXOpen.CAE.StressLinearization+ResultSelection +T: NXOpen.CAE.SurfaceCoatBuilder+SelectionMethod +T: NXOpen.CAE.PenetrationCheck.AddSetBuilder+SelectionTypeOptions +T: NXOpen.CAE.ModelCheck.AlignShellElementFirstEdgeBuilder+ElemSelectionMode +T: NXOpen.Assemblies.LoadInterpartDataBuilder+SelectionScopeType +T: NXOpen.Annotations.BoundaryBuilder+SelectionMethod diff --git a/catalog-masters/KC/probe4.txt b/catalog-masters/KC/probe4.txt new file mode 100644 index 0000000..c2a8ecb --- /dev/null +++ b/catalog-masters/KC/probe4.txt @@ -0,0 +1,23 @@ +Work=W:\团队文件-TeamCenter\airtac_0602_2026_v11sp5_world_version\airtac_0602_2026_v11sp5_world_version\OnebotCatalog\catalog-masters\KC\KC_master.prt +ExpressionCollection type: NXOpen.ExpressionCollection +EC: NXOpen.SuppressByExpressionBuilder CreateSuppressByExpressionBuilder() +EC: NXOpen.Expression CreateSystemExpressionFromReferenceString(System.String) +EC: NXOpen.InterpartExpressionsBuilder CreateInterpartExpressionsBuilder() +EC: NXOpen.ReplaceExpressionsBuilder CreateReplaceExpressionsBuilder() +EC: System.String CreateSystemName(System.String, System.String) +EC: NXOpen.Expression CreateWithUnits(System.String, NXOpen.Unit) +EC: NXOpen.Expression CreateSystemExpressionWithUnits(System.String, NXOpen.Unit) +EC: Void Edit(NXOpen.Expression, System.String) +EC: Void EditWithUnits(NXOpen.Expression, NXOpen.Unit, System.String) +EC: NXOpen.Expression Create(System.String) +EC: NXOpen.Expression CreateNumberExpression(System.String, NXOpen.Unit) +EC: NXOpen.Expression CreateSystemExpression(System.String) +EC: NXOpen.Expression CreateSystemNumberExpression(System.String, NXOpen.Unit) +EC: NXOpen.Expression CreateExpression(System.String, System.String) +EC: NXOpen.Expression CreateExpressionWithUnit(System.String, System.String, NXOpen.Unit) +EC: NXOpen.Expression CreateSystemExpression(System.String, System.String) +EC: NXOpen.Expression CreateSystemExpressionWithUnit(System.String, System.String, NXOpen.Unit) +EC: Void EditExpression(NXOpen.Expression, System.String) +EC: Void EditExpressionWithUnits(NXOpen.Expression, NXOpen.Unit, System.String) +EC: System.Runtime.Remoting.ObjRef CreateObjRef(System.Type) +UC: NXOpen.Unit FindObject(System.String) diff --git a/catalog-masters/KC/probe5.txt b/catalog-masters/KC/probe5.txt new file mode 100644 index 0000000..d7db4b0 --- /dev/null +++ b/catalog-masters/KC/probe5.txt @@ -0,0 +1,49 @@ +=== 含 ReferenceSet 的类型 === +T: NXOpen.ReferenceSet +T: NXOpen.Tooling.FeatureReferenceSetBuilder +T: NXOpen.Preferences.ReferenceSetBehavior +T: NXOpen.Tooling.CompDrawingBuilder+ReferenceSet +T: NXOpen.RoutingCommon.ElbowCornerOptionBuilder+ReferenceSetType +T: NXOpen.MechanicalRouting.PlaceElbowsBuilder+ReferenceSetType +T: NXOpen.Assemblies.CreateNewComponentBuilder+ComponentReferenceSetType +T: NXOpen.Assemblies.DesignElementBuilder+ReferenceSetType +T: NXOpen.Assemblies.ReplaceComponentBuilder+ComponentReferenceSet +=== Part 成员 (Reference) === +P: 8 get_ViewPreferences +P: 8 CreateReferenceSet +P: 8 DeleteReferenceSet +P: 8 GetAllReferenceSets +P: 8 get_Preferences +P: 8 get_ExternalFileReferenceManager +P: 8 get_LayoutStatePreferences +P: 8 GetReferenceAttribute +P: 8 SetReferenceAttribute +P: 8 SetReferenceAttribute +P: 8 SetPdmReferenceAttribute +P: 8 GetPdmReferenceAttributeValue +P: 16 ViewPreferences +P: 16 Preferences +P: 16 ExternalFileReferenceManager +P: 16 LayoutStatePreferences +=== BasePart 成员 (Reference) === +B: 8 CreateReferenceSet +B: 8 DeleteReferenceSet +B: 8 GetAllReferenceSets +B: 8 get_Preferences +B: 8 get_ExternalFileReferenceManager +B: 8 get_LayoutStatePreferences +B: 8 GetReferenceAttribute +B: 8 SetReferenceAttribute +B: 8 SetReferenceAttribute +B: 8 SetPdmReferenceAttribute +B: 8 GetPdmReferenceAttributeValue +B: 16 Preferences +B: 16 ExternalFileReferenceManager +B: 16 LayoutStatePreferences +=== NXOpen.ReferenceSet 方法 === +RS: AddObjectsToReferenceSet +RS: RemoveObjectsFromReferenceSet +RS: AskMembersInReferenceSet +RS: AskAllDirectMembers +RS: SetAddComponentsAutomatically +RS: GetAddComponentsAutomatically diff --git a/catalog-masters/KC/probe6.txt b/catalog-masters/KC/probe6.txt new file mode 100644 index 0000000..c6e88c7 --- /dev/null +++ b/catalog-masters/KC/probe6.txt @@ -0,0 +1,70 @@ +SI: 8 SaveSettings +SI: 8 get_FileOpenFlag +SI: 8 set_FileOpenFlag +SI: 8 get_FlattenAssembly +SI: 8 set_FlattenAssembly +SI: 8 get_ImportTo +SI: 8 set_ImportTo +SI: 8 get_ImportToTeamcenter +SI: 8 set_ImportToTeamcenter +SI: 8 get_LayerDefault +SI: 8 set_LayerDefault +SI: 8 get_ObjectTypes +SI: 8 get_Optimize +SI: 8 set_Optimize +SI: 8 get_SettingsFile +SI: 8 set_SettingsFile +SI: 8 get_SewSurfaces +SI: 8 set_SewSurfaces +SI: 8 get_SimplifyGeometry +SI: 8 set_SimplifyGeometry +SI: 8 get_SmoothBSurfaces +SI: 8 set_SmoothBSurfaces +SI: 8 GetMode +SI: 8 SetMode +SI: 8 get_InputFile +SI: 8 set_InputFile +SI: 8 get_OutputFile +SI: 8 set_OutputFile +SI: 8 get_ProcessHoldFlag +SI: 8 set_ProcessHoldFlag +SI: 8 Commit +SI: 8 Destroy +SI: 8 GetCommittedObjects +SI: 8 GetObject +SI: 8 ShowResults +SI: 8 get_PreviewBuilder +SI: 8 Validate +SI: 8 get_Tag +SI: 8 ToString +SI: 8 PrintTestData +SI: 8 PrintTestData +SI: 8 get_NextSink +SI: 8 SyncProcessMessage +SI: 8 AsyncProcessMessage +SI: 8 GetLifetimeService +SI: 8 InitializeLifetimeService +SI: 8 CreateObjRef +SI: 8 Equals +SI: 8 GetHashCode +SI: 8 GetType +SI: 16 FileOpenFlag +SI: 16 FlattenAssembly +SI: 16 ImportTo +SI: 16 ImportToTeamcenter +SI: 16 LayerDefault +SI: 16 ObjectTypes +SI: 16 Optimize +SI: 16 SettingsFile +SI: 16 SewSurfaces +SI: 16 SimplifyGeometry +SI: 16 SmoothBSurfaces +SI: 16 InputFile +SI: 16 OutputFile +SI: 16 ProcessHoldFlag +SI: 16 PreviewBuilder +SI: 16 Tag +SI: 16 NextSink +SI NESTED: ImportToOption + = WorkPart + = NewPart diff --git a/catalog-masters/KC/rebuild-verify-master.txt b/catalog-masters/KC/rebuild-verify-master.txt new file mode 100644 index 0000000..61892ee --- /dev/null +++ b/catalog-masters/KC/rebuild-verify-master.txt @@ -0,0 +1,16 @@ +CWD=D:\开发\OnebotCatalog\catalog-masters\KC +masterExists=True +Work=D:\开发\OnebotCatalog\catalog-masters\KC\KC_master.prt +bodiesBefore=2 +unit mm=Unit 38735 +expr bore=32 stroke=10 magOn=0 mountIdx=0 +solids already exist, skip creation +afterUpdate bodies=2 +body1 faces=3 +body2 faces=3 +added 2 bodies to refset 'MODEL' +afterRefset bodies=2 +A_display.stp size=2186 bytes +save OK +B_existing.stp size=MISSING +DONE diff --git a/catalog-masters/KC/test-display-state.txt b/catalog-masters/KC/test-display-state.txt new file mode 100644 index 0000000..b833066 --- /dev/null +++ b/catalog-masters/KC/test-display-state.txt @@ -0,0 +1,9 @@ +masterExists=True +Work=D:\开发\OnebotCatalog\catalog-masters\KC\KC_master.prt +Work.bodies=2 +Display=D:\开发\OnebotCatalog\catalog-masters\KC\KC_master.prt +Display.bodies=2 +Display Is Work? True +refset added +S_display.stp size=2186 bytes +DONE diff --git a/catalog-masters/KC/test-existingpart.txt b/catalog-masters/KC/test-existingpart.txt new file mode 100644 index 0000000..ff74aa5 --- /dev/null +++ b/catalog-masters/KC/test-existingpart.txt @@ -0,0 +1,5 @@ +CWD=D:\开发\OnebotCatalog\catalog-masters\KC +masterExists=True +E1_existing.stp size=MISSING +E1_existing.igs size=MISSING +DONE diff --git a/catalog-masters/KC/test-fix-flags.txt b/catalog-masters/KC/test-fix-flags.txt new file mode 100644 index 0000000..9f3e70e --- /dev/null +++ b/catalog-masters/KC/test-fix-flags.txt @@ -0,0 +1,13 @@ +masterExists=True +bodies=2 +--- StepCreator defaults --- +ProcessHoldFlag=False +FileSaveFlag=False +ColorAndLayers=False +ExportFrom=DisplayPart +ExportAs=Ap214 +ExportSolidsAndSurfacesAs=Precise +ReferenceType=Absolute +F1_display_precise.stp size=MISSING +F2_display_tess.stp size=MISSING +DONE diff --git a/cra_dump.txt b/cra_dump.txt new file mode 100644 index 0000000..70c268e --- /dev/null +++ b/cra_dump.txt @@ -0,0 +1,208 @@ +FILE: C:\Users\ruigu\Downloads\文档说明.html\20260826德国大众的要求文件\MAGSWITCH TECHNOLOGY EUROPE_CRA_Abfrage.xlsx +SHEETS: V7_Karobau_CU | V6_Karobau_CU | V6_Karobau_POF | V7_Lack | V6_Lack | V7_Montage | V6_Montage | V7_FT_Karobau | V6_FT_Karobau | V7_FT_Montage | V6_FT_Montage +================================================================================ + +################################################################################ +## SHEET: V7_Karobau_CU (max_row=8, max_col=19) +################################################################################ +MERGED: B1:E1, C5:E5, J2:O2, C8:E8, P2:Q2, R2:S2, B4:G4, B2:E2, C7:E7, F1:G1, C6:E6 +B1=MgU-IV-B03-03-VW_Teil_1 | F1=Pr.-Komponentenliste Planung Automatisierung (VASS V7) +B2=Volkswagen\nKarosseriebau (Cu) | F2=VWxxx - Standort | G2=Stand 29.05.2026 | J2=Cyber Resilience Act (CRA) -Komponente | P2=CRA Parametrierung | R2=MVO und CRA Konformes Produkt +A3=Nummer | B3=Projekt-freigabe | C3=ABB | D3=Fanuc | E3=Kuka | F3=Artikelbezeichnung | G3=Artikelnummer | H3=Bemerkung | I3=Freigabestufe | J3=CRA Relevant | K3=erfüllt CRA bereits heute? | L3=Alternativprodukt nach CRA bis? | M3=Einstufungsklasse im CRA\nu. A. CRA Artikel 7 u. 8 | N3=Stufe (1 bis 4)\nnach Norm IEC 62443-4 | O3=Verfügbarkeit Security Updates\n geplant bis… (Datum) | P3=Name der Parametriersoftware | Q3=Zum Zeitpunkt der Komponentenauslieferung CRA Fähig? | R3=Bestellbar ab… | S3=Auslieferung ab… +B4=Änderungen +B5=Pos. | C5=Hersteller | F5=Änderungen | G5=Datum + +################################################################################ +## SHEET: V6_Karobau_CU (max_row=20, max_col=21) +################################################################################ +MERGED: N2:S2, B17:G17, B8:G8, J2:M2, B13:G13, B10:G10, B9:G9, C7:E7, B15:G15, T2:U2, B4:G4, B2:E2, C6:E6, B16:G16, B1:E1, C5:E5, B18:G18, B12:G12, F1:G1, B11:G11 +B1=MgU-IV-B03-03-VW_Teil_1 | F1=Pr.-Komponentenliste Planung Automatisierung (VASS V6) +B2=Volkswagen\nKarosseriebau (Cu) | F2=VWxxx - Standort | G2=Stand 04.07.2025 | J2=EU-Maschinenverordnung (MVO) | N2=Cyber Resilience Act (CRA) | T2=MVO und CRA Konformes Produkt +A3=Nummer | B3=Projekt-freigabe | C3=ABB | D3=Fanuc | E3=Kuka | F3=Artikelbezeichnung | G3=Artikelnummer | H3=Bemerkung | I3=Freigabestufe | J3=MVO Relevant? | K3=erfüllt MVO bereits heute? | L3=CE nach MVO bis? | M3=Alternativprodukt nach MVO bis? | N3=CRA Relevant | O3=erfüllt CRA bereits heute? | P3=Alternativprodukt nach CRA bis? | Q3=Einstufungsklasse im CRA\nu. A. CRA Artikel 7 u. 8 | R3=Stufe (1 bis 4)\nnach Norm IEC 62443-4 | S3=Verfügbarkeit Security Updates\n geplant bis… (Datum) | T3=Bestellbar ab… | U3=Auslieferung ab… +B4=Änderungen +B5=Pos. | C5=Hersteller | F5=Änderungen | G5=Datum +B8=002a-MKZB-Schweißzange (KE) +B10=003b-Gesamt-Leitungspakete | J10=Kapitel nicht MVO-relevant +B12=004-Spanntechnik im Karosseriebau +B13=MAGSWITCH TECHNOLOGY EUROPE - Spanntechnik +A14=K-ID-00235 | B14=X | F14=Siehe detailierte Freigabeliste | H14=Siehe detaillierte Freigabeliste und Datenzusammenstellung im KVS unter 11-14D 300168. Empfehlung: Erstellung separate Projektliste. | I14=TAS Markenfreigabe | J14=ja | K14=in Abfrage +B15=017a-EURO-Greifer nach VW-Spezifikation | J15=Kapitel nicht MVO-relevant +B17=103b-ID-Reader + +################################################################################ +## SHEET: V6_Karobau_POF (max_row=83, max_col=21) +################################################################################ +MERGED: B8:G8, B73:G73, B10:G10, B65:G65, B74:G74, C7:E7, B68:G68, B36:G36, B76:G76, B45:G45, B47:G47, B1:E1, B59:G59, B22:G22, B31:G31, B12:G12, B21:G21, B39:G39, B14:G14, B23:G23, B13:G13, B78:G78, B49:G49, B64:G64, B33:G33, B51:G51, T2:U2, B63:G63, B41:G41, B35:G35, B50:G50, B25:G25, B66:G66, B27:G27, B77:G77, B11:G11, N2:S2, B67:G67, B61:G61, B29:G29, B69:G69, B38:G38, B40:G40, B15:G15, B55:G55, B24:G24, B80:G80, B79:G79, B32:G32, B26:G26, B2:E2, B72:G72, C6:E6, B16:G16, B81:G81, B71:G71, B43:G43, B58:G58, B18:G18, B52:G52, F1:G1, B42:G42, B60:G60, B17:G17, B57:G57, J2:M2, B53:G53, B44:G44, B19:G19, B34:G34, B28:G28, B37:G37, B9:G9, B30:G30, B20:G20, B4:G4, B75:G75, B62:G62, B54:G54, B46:G46, C5:E5, B56:G56, B70:G70, B48:G48 +B1=MgU-IV-B03-03-VW_Teil_1 | F1=Pr.-Komponentenliste Planung Automatisierung (VASS V6) +B2=Volkswagen\nKarosseriebau (POF) | F2=VWxxx - Standort | G2=Stand 04.07.2025 | J2=EU-Maschinenverordnung (MVO) | N2=Cyber Resilience Act (CRA) | T2=MVO und CRA Konformes Produkt +A3=Nummer | B3=Projekt-freigabe | C3=ABB | D3=Fanuc | E3=Kuka | F3=Artikelbezeichnung | G3=Artikelnummer | H3=Bemerkung | I3=Freigabestufe | J3=MVO Relevant? | K3=erfüllt MVO bereits heute? | L3=CE nach MVO bis? | M3=Alternativprodukt nach MVO bis? | N3=CRA Relevant | O3=erfüllt CRA bereits heute? | P3=Alternativprodukt nach CRA bis? | Q3=Einstufungsklasse im CRA\nu. A. CRA Artikel 7 u. 8 | R3=Stufe (1 bis 4)\nnach Norm IEC 62443-4 | S3=Verfügbarkeit Security Updates\n geplant bis… (Datum) | T3=Bestellbar ab… | U3=Auslieferung ab… +B4=Änderungen +B5=Pos. | C5=Hersteller | F5=Änderungen | G5=Datum +B8=001d-Schweißsteuerung für Handschweißzangen +B10=002a-MKZB-Schweißzange (KE) +B12=002b-Schweißzangenantrieb (RZ/KE) +B14=002c-Roboterschweißzangen Trafo +B16=002d-Schweißzange roboterintegriert (RZ) +B18=002e-Schweißzange servopneumatisch (SPZ) +B20=002g-Stoßpunkten +B22=003a-Rückzugsysteme für Leitungspakete +B24=003b-Gesamt-Leitungspakete +B26=004-Spanntechnik im Karosseriebau +B28=009a-RP (WPS) Handpunkttrafozangen +B30=010b-Reinigungsgeräte +B32=013c-Setzköpfe für Buckel-Normteile inkl. Vereinzelung u. Zuführtechnik +B34=016a-Schutzfenster, Rolltore +B36=016b-LASER-Schutzfenster, -rolltore +B38=017a-EURO-Greifer nach VW-Spezifikation +B40=017b-Lieferanten EGT & VGT- Teile +B42=019a-Prägezangen +B44=020c-Roboter-Mechaniken +B46=022f-Vereinzelung und Zuführtechnik für Einzelteile / Kleinteile als Schüttgut +B48=023a-Laserstrahlquellen +B50=023b-Schweißoptik +B52=024-Drehtische +B54=025-Verfahreinheit für Roboter +B56=026-Schutzzäune +B58=033-Stau-/Taktbänder +B60=100-Schmiersysteme +B62=102-Federbeinlochen +B64=103b-ID-Reader +B66=103c-Vision-Sensor +B68=107a-Anlageninterne Skidfördertechnik (KB) +B70=109-Werkermitfahrbänder +B72=115a-Manipulator +B74=115b-Laufschiene +B76=115c-Balancer +B78=115e-Gleitleisten / Lager +B80=115f-Stoßdämpfer + +################################################################################ +## SHEET: V7_Lack (max_row=11, max_col=19) +################################################################################ +MERGED: B1:E1, B10:G10, C5:E5, J2:O2, B9:G9, R2:S2, B8:G8, P2:Q2, B4:G4, C6:E6, B2:E2, C7:E7, F1:G1, B11:G11 +B1=MgU-IV-B04-03-VW_Teil_1 | F1=Pr.-Komponentenliste Planung Automatisierung (VASS V7) +B2=Volkswagen\nLackiererei | F2=VWxxx - Standort | G2=Stand 29.05.2026 | J2=Cyber Resilience Act (CRA) -Komponente | P2=CRA Parametrierung | R2=MVO und CRA Konformes Produkt +A3=Nummer | B3=Projekt-freigabe | C3=ABB | D3=Fanuc | E3=Kuka | F3=Artikelbezeichnung | G3=Artikelnummer | H3=Bemerkung | I3=Freigabestufe | J3=CRA Relevant | K3=erfüllt CRA bereits heute? | L3=Alternativprodukt nach CRA bis? | M3=Einstufungsklasse im CRA\nu. A. CRA Artikel 7 u. 8 | N3=Stufe (1 bis 4)\nnach Norm IEC 62443-4 | O3=Verfügbarkeit Security Updates\n geplant bis… (Datum) | P3=Name der Parametriersoftware | Q3=Zum Zeitpunkt der Komponentenauslieferung CRA Fähig? | R3=Bestellbar ab… | S3=Auslieferung ab… +B4=Änderungen +B5=Pos. | C5=Hersteller | F5=Änderungen | G5=Datum +B8=016a-Schutzfenster, Rolltore +B10=103a-ID-Reader + +################################################################################ +## SHEET: V6_Lack (max_row=15, max_col=21) +################################################################################ +MERGED: N2:S2, B1:E1, B10:G10, T2:U2, C5:E5, B11:G11, B9:G9, B8:G8, B4:G4, B12:G12, B13:G13, B2:E2, C7:E7, J2:M2, F1:G1, C6:E6 +B1=MgU-IV-B04-03-VW_Teil_1 | F1=Pr.-Komponentenliste Planung Automatisierung (VASS V6) +B2=Volkswagen\nLackiererei | F2=VWxxx - Standort | G2=Stand 04.07.2025 | J2=EU-Maschinenverordnung (MVO) | N2=Cyber Resilience Act (CRA) | T2=MVO und CRA Konformes Produkt +A3=Nummer | B3=Projekt-freigabe | C3=ABB | D3=Fanuc | E3=Kuka | F3=Artikelbezeichnung | G3=Artikelnummer | H3=Bemerkung | I3=Freigabestufe | J3=MVO Relevant? | K3=erfüllt MVO bereits heute? | L3=CE nach MVO bis? | M3=Alternativprodukt nach MVO bis? | N3=CRA Relevant | O3=erfüllt CRA bereits heute? | P3=Alternativprodukt nach CRA bis? | Q3=Einstufungsklasse im CRA\nu. A. CRA Artikel 7 u. 8 | R3=Stufe (1 bis 4)\nnach Norm IEC 62443-4 | S3=Verfügbarkeit Security Updates\n geplant bis… (Datum) | T3=Bestellbar ab… | U3=Auslieferung ab… +B4=Änderungen +B5=Pos. | C5=Hersteller | F5=Änderungen | G5=Datum +B8=016a-Schutzfenster, Rolltore +B10=103b-ID-Reader +B12=103c-Vision-Sensor + +################################################################################ +## SHEET: V7_Montage (max_row=37, max_col=19) +################################################################################ +MERGED: B14:G14, B23:G23, B17:G17, B8:G8, B13:G13, B29:G29, B19:G19, B34:G34, B10:G10, B28:G28, B37:G37, B9:G9, P2:Q2, C7:E7, B30:G30, B15:G15, B33:G33, B24:G24, B20:G20, B36:G36, J2:O2, B35:G35, B32:G32, B4:G4, B26:G26, B2:E2, B25:G25, C6:E6, B16:G16, B1:E1, C5:E5, B22:G22, B31:G31, B27:G27, R2:S2, B18:G18, B12:G12, B21:G21, F1:G1, B11:G11 +B1=MgU-IV-B05-03-VW_Teil_1 | F1=Pr.-Komponentenliste Planung Automatisierung (VASS V7) +B2=Volkswagen\nMontage | F2=VWxxx - Standort | G2=Stand 29.05.2026 | J2=Cyber Resilience Act (CRA) -Komponente | P2=CRA Parametrierung | R2=MVO und CRA Konformes Produkt +A3=Nummer | B3=Projekt-freigabe | C3=ABB | D3=Fanuc | E3=Kuka | F3=Artikelbezeichnung | G3=Artikelnummer | H3=Bemerkung | I3=Freigabestufe | J3=CRA Relevant | K3=erfüllt CRA bereits heute? | L3=Alternativprodukt nach CRA bis? | M3=Einstufungsklasse im CRA\nu. A. CRA Artikel 7 u. 8 | N3=Stufe (1 bis 4)\nnach Norm IEC 62443-4 | O3=Verfügbarkeit Security Updates\n geplant bis… (Datum) | P3=Name der Parametriersoftware | Q3=Zum Zeitpunkt der Komponentenauslieferung CRA Fähig? | R3=Bestellbar ab… | S3=Auslieferung ab… +B4=Änderungen +B5=Pos. | C5=Hersteller | F5=Änderungen | G5=Datum +B8=003a-Rückzugsysteme für Leitungspakete +B10=003b-Gesamt-Leitungspakete +B12=012a-Multikupplung +B14=016a-Schutzfenster, Rolltore +B16=016c-Schutzbereichsabgrenzung mit hoher Schutzfunktion +B18=017a-EURO-Greifer nach VW-Spezifikation +B20=017b-Lieferanten EGT & VGT- Teile +B22=020a-Roboter-Steuerungen +B24=020c-Roboter-Mechaniken +B26=024-Drehtische +B28=025-Verfahreinheit für Roboter +B30=026-Schutzzäune +B32=100-Schmiersysteme +B34=103a-ID-Reader +B36=106-HIP/RIP + +################################################################################ +## SHEET: V6_Montage (max_row=47, max_col=21) +################################################################################ +MERGED: N2:S2, B42:G42, B14:G14, B17:G17, B23:G23, B8:G8, B13:G13, J2:M2, B44:G44, B29:G29, B38:G38, B19:G19, B34:G34, B10:G10, B28:G28, B37:G37, B9:G9, B40:G40, C7:E7, B30:G30, B15:G15, B33:G33, B24:G24, B20:G20, T2:U2, B36:G36, B45:G45, B41:G41, B35:G35, B32:G32, B4:G4, B26:G26, B2:E2, B25:G25, C6:E6, B16:G16, B1:E1, C5:E5, B22:G22, B31:G31, B27:G27, B43:G43, B18:G18, B12:G12, B21:G21, F1:G1, B39:G39, B11:G11 +B1=MgU-IV-B05-03-VW_Teil_1 | F1=Pr.-Komponentenliste Planung Automatisierung (VASS V6) +B2=Volkswagen\nMontage | F2=VWxxx - Standort | G2=Stand 04.07.2025 | J2=EU-Maschinenverordnung (MVO) | N2=Cyber Resilience Act (CRA) | T2=MVO und CRA Konformes Produkt +A3=Nummer | B3=Projekt-freigabe | C3=ABB | D3=Fanuc | E3=Kuka | F3=Artikelbezeichnung | G3=Artikelnummer | H3=Bemerkung | I3=Freigabestufe | J3=MVO Relevant? | K3=erfüllt MVO bereits heute? | L3=CE nach MVO bis? | M3=Alternativprodukt nach MVO bis? | N3=CRA Relevant | O3=erfüllt CRA bereits heute? | P3=Alternativprodukt nach CRA bis? | Q3=Einstufungsklasse im CRA\nu. A. CRA Artikel 7 u. 8 | R3=Stufe (1 bis 4)\nnach Norm IEC 62443-4 | S3=Verfügbarkeit Security Updates\n geplant bis… (Datum) | T3=Bestellbar ab… | U3=Auslieferung ab… +B4=Änderungen +B5=Pos. | C5=Hersteller | F5=Änderungen | G5=Datum +B8=003a-Rückzugsysteme für Leitungspakete +B10=003b-Gesamt-Leitungspakete +B12=012a-Multikupplung +B14=016a-Schutzfenster, Rolltore +B16=016c-Schutzbereichsabgrenzung mit hoher Schutzfunktion +B18=017a-EURO-Greifer nach VW-Spezifikation +B20=017b-Lieferanten EGT & VGT- Teile +B22=020a-Roboter-Steuerungen +B24=020c-Roboter-Mechaniken +B26=022f-Vereinzelung und Zuführtechnik für Einzelteile / Kleinteile als Schüttgut +B28=025-Verfahreinheit für Roboter +B30=026-Schutzzäune +B32=100-Schmiersysteme +B34=103b-ID-Reader +B36=103c-Vision-Sensor +B38=103d-Vision-System +B40=103e-PC-Kamera-Systeme +B42=106-HIP/RIP +B44=109-Werkermitfahrbänder + +################################################################################ +## SHEET: V7_FT_Karobau (max_row=13, max_col=19) +################################################################################ +MERGED: B1:E1, B10:G10, C5:E5, J2:O2, B11:G11, B9:G9, R2:S2, B8:G8, P2:Q2, B4:G4, B12:G12, B13:G13, B2:E2, C7:E7, F1:G1, C6:E6 +B1=MgU-IV-B06-03-VW_Teil_1 | F1=Pr.-Komponentenliste Planung Automatisierung (VASS V7) +B2=Volkswagen\nFördertechnik Karosseriebau | F2=VWxxx - Standort | G2=Stand 29.05.2026 | J2=Cyber Resilience Act (CRA) -Komponente | P2=CRA Parametrierung | R2=MVO und CRA Konformes Produkt +A3=Nummer | B3=Projekt-freigabe | C3=ABB | D3=Fanuc | E3=Kuka | F3=Artikelbezeichnung | G3=Artikelnummer | H3=Bemerkung | I3=Freigabestufe | J3=CRA Relevant | K3=erfüllt CRA bereits heute? | L3=Alternativprodukt nach CRA bis? | M3=Einstufungsklasse im CRA\nu. A. CRA Artikel 7 u. 8 | N3=Stufe (1 bis 4)\nnach Norm IEC 62443-4 | O3=Verfügbarkeit Security Updates\n geplant bis… (Datum) | P3=Name der Parametriersoftware | Q3=Zum Zeitpunkt der Komponentenauslieferung CRA Fähig? | R3=Bestellbar ab… | S3=Auslieferung ab… +B4=Änderungen +B5=Pos. | C5=Hersteller | F5=Änderungen | G5=Datum +B8=016a-Schutzfenster, Rolltore +B10=103a-ID-Reader +B12=103b-Vision-Sensor + +################################################################################ +## SHEET: V6_FT_Karobau (max_row=15, max_col=21) +################################################################################ +MERGED: N2:S2, B1:E1, B10:G10, T2:U2, C5:E5, B11:G11, B9:G9, B8:G8, B4:G4, B12:G12, B13:G13, B2:E2, C7:E7, J2:M2, F1:G1, C6:E6 +B1=MgU-IV-B06-03-VW_Teil_1 | F1=Pr.-Komponentenliste Planung Automatisierung (VASS V6) +B2=Volkswagen\nFördertechnik Karosseriebau | F2=VWxxx - Standort | G2=Stand 04.07.2025 | J2=EU-Maschinenverordnung (MVO) | N2=Cyber Resilience Act (CRA) | T2=MVO und CRA Konformes Produkt +A3=Nummer | B3=Projekt-freigabe | C3=ABB | D3=Fanuc | E3=Kuka | F3=Artikelbezeichnung | G3=Artikelnummer | H3=Bemerkung | I3=Freigabestufe | J3=MVO Relevant? | K3=erfüllt MVO bereits heute? | L3=CE nach MVO bis? | M3=Alternativprodukt nach MVO bis? | N3=CRA Relevant | O3=erfüllt CRA bereits heute? | P3=Alternativprodukt nach CRA bis? | Q3=Einstufungsklasse im CRA\nu. A. CRA Artikel 7 u. 8 | R3=Stufe (1 bis 4)\nnach Norm IEC 62443-4 | S3=Verfügbarkeit Security Updates\n geplant bis… (Datum) | T3=Bestellbar ab… | U3=Auslieferung ab… +B4=Änderungen +B5=Pos. | C5=Hersteller | F5=Änderungen | G5=Datum +B8=016a-Schutzfenster, Rolltore +B10=103b-ID-Reader +B12=103c-Vision-Sensor + +################################################################################ +## SHEET: V7_FT_Montage (max_row=13, max_col=19) +################################################################################ +MERGED: B1:E1, B10:G10, C5:E5, J2:O2, B11:G11, B9:G9, R2:S2, B8:G8, P2:Q2, B4:G4, B12:G12, B13:G13, B2:E2, C7:E7, F1:G1, C6:E6 +B1=MgU-IV-B06-03-VW_Teil_1 | F1=Pr.-Komponentenliste Planung Automatisierung (VASS V7) +B2=Volkswagen\nFördertechnik Montage | F2=VWxxx - Standort | G2=Stand 29.05.2026 | J2=Cyber Resilience Act (CRA) -Komponente | P2=CRA Parametrierung | R2=MVO und CRA Konformes Produkt +A3=Nummer | B3=Projekt-freigabe | C3=ABB | D3=Fanuc | E3=Kuka | F3=Artikelbezeichnung | G3=Artikelnummer | H3=Bemerkung | I3=Freigabestufe | J3=CRA Relevant | K3=erfüllt CRA bereits heute? | L3=Alternativprodukt nach CRA bis? | M3=Einstufungsklasse im CRA\nu. A. CRA Artikel 7 u. 8 | N3=Stufe (1 bis 4)\nnach Norm IEC 62443-4 | O3=Verfügbarkeit Security Updates\n geplant bis… (Datum) | P3=Name der Parametriersoftware | Q3=Zum Zeitpunkt der Komponentenauslieferung CRA Fähig? | R3=Bestellbar ab… | S3=Auslieferung ab… +B4=Änderungen +B5=Pos. | C5=Hersteller | F5=Änderungen | G5=Datum +B8=016a-Schutzfenster, Rolltore +B10=103a-ID-Reader +B12=103b-Vision-Sensor + +################################################################################ +## SHEET: V6_FT_Montage (max_row=15, max_col=21) +################################################################################ +MERGED: N2:S2, B1:E1, B10:G10, T2:U2, C5:E5, B11:G11, B9:G9, B8:G8, B4:G4, B12:G12, B13:G13, B2:E2, C7:E7, J2:M2, F1:G1, C6:E6 +B1=MgU-IV-B06-03-VW_Teil_1 | F1=Pr.-Komponentenliste Planung Automatisierung (VASS V6) +B2=Volkswagen\nFördertechnik Montage | F2=VWxxx - Standort | G2=Stand 04.07.2025 | J2=EU-Maschinenverordnung (MVO) | N2=Cyber Resilience Act (CRA) | T2=MVO und CRA Konformes Produkt +A3=Nummer | B3=Projekt-freigabe | C3=ABB | D3=Fanuc | E3=Kuka | F3=Artikelbezeichnung | G3=Artikelnummer | H3=Bemerkung | I3=Freigabestufe | J3=MVO Relevant? | K3=erfüllt MVO bereits heute? | L3=CE nach MVO bis? | M3=Alternativprodukt nach MVO bis? | N3=CRA Relevant | O3=erfüllt CRA bereits heute? | P3=Alternativprodukt nach CRA bis? | Q3=Einstufungsklasse im CRA\nu. A. CRA Artikel 7 u. 8 | R3=Stufe (1 bis 4)\nnach Norm IEC 62443-4 | S3=Verfügbarkeit Security Updates\n geplant bis… (Datum) | T3=Bestellbar ab… | U3=Auslieferung ab… +B4=Änderungen +B5=Pos. | C5=Hersteller | F5=Änderungen | G5=Datum +B8=016a-Schutzfenster, Rolltore +B10=103b-ID-Reader +B12=103c-Vision-Sensor \ No newline at end of file diff --git a/docs/工作交接.md b/docs/工作交接.md new file mode 100644 index 0000000..ab94de3 --- /dev/null +++ b/docs/工作交接.md @@ -0,0 +1,92 @@ +# 工作交接:NX 按需生成服务(二期 A 版) + +> 给接手的同事/新会话。读完这份 + `项目总览.md` + `开发记录-NX2506批处理攻坚.md` 即可快速跑起来。 +> 更新:2026-08-27 + +## 一、一句话现状 + +**软件侧全部打通,两天卡点(NX 批处理导出 0 solid)已解决,全链路实测通过。现在只等真实母模(母版)就位。** + +## 二、系统由 3 个进程组成 + +| 进程 | 端口 | 作用 | 怎么启动 | +|---|---|---|---| +| **网页端** serve-web.ps1 | 8080 | 选型界面(客户看到的就是这个)| `_start_all.bat` 不含它,需单独起,或见 §五 | +| **GenServer.exe** | 8899 | 生成服务后端(队列/校验/下载/预览)| `_start_all.bat` 第 3 步 | +| **NX worker** run_journal | — | 常驻轮询任务,调 NX 生成数模 | `_start_all.bat` 第 4 步 | + +## 三、一键启动(最关键的一条命令) + +``` +d:\开发\OnebotCatalog\_start_all.bat +``` + +它会:停旧进程 → 编译 GenServer → 启动 GenServer → 启动 NX worker → health 自检。 +浏览器开 `http://localhost:8080`,底部信息栏右侧有状态圆球:**绿=就绪,橙=等 worker,红=故障**。 + +## 四、UG(NX)配置后台怎么进 + +浏览器开:**`http://localhost:8899/admin`** + +**密码登录**:默认密码 `onebot888`。打开 `/admin` 先弹登录页 → 输密码 → 进后台。 + +后台是**顶部三个 tab**(点击切换): +1. **UG 配置**:NX 版本目录(自动探测 2506/2512,可手动选)、数据源/母模/输出/任务/工作各目录、端口、API Key、管理页密码、队列上限、批量上限、限流 +2. **参数配置**:直接编辑 `masters.json`(expressionMap / switchRules / exports),保存后即时热重载,无需重启 +3. **模型管理**:手动清理(一键清空 output 目录)+ 定时清理(设置留存时长 outputTtlHours,0=永不清空) + +- 密码改法:`genserver-local\genserver-config.json` 里 `adminKey` 字段(默认 `onebot888`) + +## 五、网页端单独启动 + +`_start_all.bat` 没包含网页端(它是独立的 serve-web)。单独起: + +``` +d:\开发\OnebotCatalog\_start_web.bat +``` + +(站点在 `release\web_2026.08\`,`config.js` 里 `api` 已指向 `http://localhost:8899`) + +## 六、母模 ↔ 参数的对应关系(建模工程师必读) + +对应靠 `onebot-data\masters.json` 这张翻译字典: + +```json +"KC": { + "masterPart": "KC_master.prt", + "expressionMap": { "bore": "bore", "stroke": "stroke" }, // 尺寸参数 → NX表达式名 + "switchRules": [ + ["magnet", "", "magOn", "0"], ["magnet", "M", "magOn", "1"], + ["mount", "", "mountIdx", "0"], ["mount", "FA", "mountIdx", "1"], ... + ], // 枚举开关 → NX表达式 + "exports": { "step": "214", "iges": true, "prt": true } +} +``` + +**铁律**:母模里的表达式名必须和 `masters.json` 写的**一字不差**(`bore`/`stroke`/`magOn`/`mountIdx`);`bore`/`stroke` 带 mm 单位,`magOn`/`mountIdx` 是纯数字开关;磁石/固定形式用「按表达式抑制」切换。 + +**待确认**:`type`(00/02/03)是否影响几何?影响则补映射,不影响则忽略。 + +## 七、真实母模就位后做什么 + +1. 把交互式建模的真实气缸母模命名 `KC_master.prt`,放到 `catalog-masters\KC\` 覆盖占位母模 +2. 重跑 `_start_all.bat` +3. 网页选 KC + stroke=87(非标)→ 在线生成 → 预览 → 下载 +4. NX 打开生成的 `.stp` 核对缸径/行程与请求一致 + +## 八、关键踩坑(接手前必看) + +1. **`.bat` 必须纯 ASCII 无中文**——cmd 按 GBK 读,中文会拆坏命令报"XX不是内部或外部命令"(见记忆 `bat-ascii-no-chinese`) +2. **编译前先停 GenServer**——exe 被运行中进程锁住会 `error CS2012` +3. **批处理里别用 DexManager 导出**——NX 2506 的 ST-DEVELOPER 翻译器在 run_journal 里判 0 solid,正解是独立命令行翻译器 `step214ug.exe`(.prt→.step)/`iges.exe`(.prt→.igs) +4. **配置以 D 盘为准**——W 盘是旧 TeamCenter 映射已废弃 +5. **前端 dev 源 `web/` 与发布产物 `release\web_2026.08\` 要同时改**——serve-web 服务的是 release 目录 + +## 九、待办(剩余) + +1. ⭐ **真母模**:建模工程师做真实气缸母模(等用户)—— 唯一真正卡进度的 +2. **NX 2512 实测**:换机后先验证 journal API + step214ug.exe 在 2512 下可用 +3. **生产部署**:netsh urlacl 授权、网页 config.js 填生产地址、桌面端 genApi 字段 +4. **待确认**:`type`(00/02/03)是否影响几何,影响则补 masters.json 映射(后台「参数配置」tab 可直接改) + +> 注:参数映射网页后台编辑、密码登录、模型管理(手动/定时清理)均已在 `/admin` 后台实现。 diff --git a/docs/用户手册.md b/docs/用户手册.md new file mode 100644 index 0000000..5c2bab4 --- /dev/null +++ b/docs/用户手册.md @@ -0,0 +1,52 @@ +# 欧霓博气动元件电子目录 —— 用户手册 / User Manual + +## 1. 安装与运行 / Install & Run + +- 本软件为绿色程序,**无需安装**,双击 `OnebotCatalog.exe` 即可运行(Windows 10/11,不需要额外安装 .NET 运行时)。 +- 光盘/U 盘自动播放默认被系统禁用,请直接双击 exe。 +- 首次运行若杀毒软件提示拦截(程序未做代码签名),请选择"允许"或加入白名单。 + +## 2. 选型 / Configure a Part + +1. 左侧目录树选择产品系列(如:汽车行业气缸 → KC 系列标准气缸)。 +2. 中间面板依次选择参数:型号 → 缸径 → 行程 → 磁石 → 固定形式。灰色下拉即已按选型规则过滤,不可能的组合不会出现。 +3. 选满后上方显示型号(如 `KC0032-100MLB`),3D 预览自动显示该型号外形。 +4. 3D 预览操作:鼠标左键拖拽旋转、滚轮缩放;真实数模会提示【在浏览器中打开 3D 预览】按钮(本机运行,不联网)。 +5. 三个区域(目录树/参数面板/3D 视图)之间的分隔条可拖拽调宽。 + +## 3. 下载 STEP 文件 / Download STEP + +- 完成选型后点击顶部 **「下载 STEP」**,选择保存位置,文件按 `型号.step` 命名(如 `KC0032-100MLB.step`)。 +- STEP 为通用交换格式,SolidWorks / NX / CATIA / Creo / Inventor 等主流 CAD 均可直接打开(打开时选择"零件/实体"模板)。 +- **批量下载**:切换到「参数表」标签页,Ctrl/Shift 多选型号行,点击上方「批量导出所选」,得到 zip(内含各型号 STEP + BOM.csv 清单)。 + +## 4. 搜索与筛选 / Search & Filter + +- 顶部搜索框支持:型号编码(如 `KC0032`、`32x50`)、中文名(缸径)、英文名(Bore)、拼音关键词(gangjing)。 +- 多个词用空格分隔;双击搜索结果直接定位到该型号。 +- 「参数表」标签页上方可对数值参数做范围筛选(如缸径 32 ~ 63),点「应用」生效、「重置」清除。 + +## 5. 尺寸图与数据表 / Drawings & Datasheet + +- 「尺寸图」标签页:2D 尺寸图 + **产品手册对照页**(选中系列即显示,滚动翻看规格参数/外形尺寸) +- 「数据表」标签页:打开 PDF 数据表 +- 顶栏按钮可在 中文 / EN 之间切换界面语言 + +## 6. 常见问题 / FAQ + +| 问题 | 处理 | +|---|---| +| 双击无反应 / 被杀软拦截 | 加入杀软白名单;确认系统为 Win10/11 | +| 提示"数据包格式版本高于软件支持" | 目录数据比软件新,请联系欧霓博获取新版软件 | +| 提示"数据包格式版本不兼容" | 数据包损坏或过旧,请重新获取 catalog.opc | +| 下载的 STEP 打开报错 | 换一种"打开"方式(文件→打开,模板选零件);或反馈该型号给欧霓博 | +| 3D 标签页显示提示按钮而非模型 | 该型号是真实 CAD 数模,点按钮在浏览器中查看 3D(本机运行) | +| 目录内容更新 | 用新 catalog.opc 替换程序旁的旧文件(目录版);单文件版需更换整个 exe | + +## 7. English Quick Guide + +1. Double-click `OnebotCatalog.exe` (no installation, Windows 10/11). +2. Pick a series in the left tree, then set parameters (type / bore / stroke / magnet / mounting) — invalid combinations are filtered automatically. +3. Click **Download STEP** to save the 3D model (e.g. `KC0032-100MLB.step`), or export many in the **Parameters** tab (Ctrl/Shift multi-select → Export selected). +4. Search by model code, Chinese/English names or pinyin keywords in the top search box. +5. Use **EN/中** button to switch language. diff --git a/docs/维护手册.md b/docs/维护手册.md new file mode 100644 index 0000000..f844916 --- /dev/null +++ b/docs/维护手册.md @@ -0,0 +1,109 @@ +# 欧霓博气动元件电子目录 —— 维护手册 / Maintenance Manual + +> 面向欧霓博目录维护人员。开发环境要求:Windows 10/11 + Visual Studio 2022 Build Tools(仅需其自带 csc 编译器)。 +> 更完整的团队操作指南(数模替换/新增系列/打包/排查)见 `onebot-data\数据维护说明书.md`。 + +## 1. 数据源(统一路线) + +**唯一数据源 = `onebot-data\catalog\`**: + +| 文件 | 要求 | +|---|---| +| catalog.json | 目录级定义(版本/分类/系列列表),手工编辑系列列表 | +| series\*.meta.json | 每系列定义(参数/规则/显示名/附件),**由维护向导编辑** | +| csv\*.csv | 参数表:首列=型号编码(唯一),参数列名=参数代码(bore/stroke/magnet/mount...),**必须含 `step_file` 列**;UTF-8 | +| step\*.step | STEP 文件,文件名与 `step_file` 列一致(NX 母模批量导出后放这里;**.stp 后缀自动兼容**,同名即可无需改名) | +| crossref.csv | 平替对照表(可选):brand,foreign_model,our_model,note;our_model 必须存在,构建自动校验 | +| manual\<系列>\ | 手册页 PNG(render-manual-pages.py 生成) | + +## 2. 日常编辑与重建 + +1. 双击 `bin\维护入口.bat`(密码 `onebot888`)→ 顶栏【维护入口】按钮 +2. 维护窗口:当前包系列清单 + 校验 +3. 【目录制作器】:Step1 顶部【数据源目录】(默认已填 `onebot-data\catalog`)→ 下拉选系列 → 编辑参数/规则/显示名/附件 →【保存配置】(写回 series\*.meta.json)→ 点 **【重建全量目录】** → 全量 .opc 生成,可一键加载验证 + - 新系列:手动导入 CSV → 填系列信息 → 保存配置 → 把系列代码加进 catalog.json 的分类列表 → 放 STEP → 重建 + - 等价 CLI:`bin\OnebotCatalog.exe --buildfull onebot-data\catalog sample\OnebotCatalog_2026.08.opc`(结果看 `sample\build.log`) + +## 3. 校验 / Validate + +维护入口 →「校验 / Validate」检查:STEP 缺失、编码重复、规则引用/冲突、附件缺失。**有 ERROR 不允许发布**(发布门禁会拦)。 + +## 4. 一键编译发布 / Publish + +```powershell +# 前提: 先关闭正在运行的目录软件 exe 和本地预览服务器 (占用文件会导致失败) +powershell -NoProfile -ExecutionPolicy Bypass -File tools\publish.ps1 -Opc sample\OnebotCatalog_2026.08.opc -Version 2026.08 +``` + +自动执行:自测门禁(31 项)→ 编译客户版(数据内置、维护入口剔除、图标)→ 发布目录(含本机 3D 查看器组件 ~8MB)→ 增量包 → 网页站。 + +产出: +- `release\OnebotCatalog_2026.08\` —— 客户交付目录,压缩成 zip 即发(工作区根有现成 zip 示例) +- `release\update_2026.08\catalog.opc` —— 增量更新包,客户替换同名文件即升级 +- `release\web_2026.08\` —— 网页站,整目录上传即上线 + +发布前建议在**纯净 Win10/11 虚拟机(断网)**上验收:双击运行、选型、下载 STEP 并在 CAD 中打开核对。 + +## 5. 日常命令 / Daily Commands + +| 操作 | 命令 | +|---|---| +| 编译开发版 | `powershell -NoProfile -ExecutionPolicy Bypass -File tools\build.ps1` | +| 自测 | `bin\OnebotCatalog.exe --selftest sample\OnebotCatalog_2026.08.opc`(结果 `sample\selftest.log`) | +| 全量构建 | `bin\OnebotCatalog.exe --buildfull onebot-data\catalog sample\OnebotCatalog_2026.08.opc` | +| 本地网页预览 | `powershell -NoProfile -ExecutionPolicy Bypass -File tools\serve-web.ps1`(localhost:8080,16 并发) | +| 刷新源数据(占位几何) | `powershell -NoProfile -ExecutionPolicy Bypass -File onebot-data\tools\gen-onebot-source.ps1`(NX 真实 STEP 直接替换 catalog\step\ 同名文件即可,无需跑这个) | + +**注意**:编辑任何含中文的 `.ps1`/`.cs`/`.vb` 后必须先运行 `sample-data\tools\fix-bom.ps1` 再编译/运行(PowerShell 5.1/csc 对无 BOM 文件按 GBK 读取会乱码报错)。 + +## 6. 修改维护密码 / Change Admin Password + +编辑 `src\App\App.cs` 中 `PromptPassword()` 的 `"onebot888"`,重新编译开发版即可(客户版不含维护入口,无需处理)。 + +## 7. 桌面 3D 预览说明 + +- 占位简化几何 → 桌面内置 3D 直接渲染 +- **真实 NX 数模 → 窗口内直渲,不弹浏览器**(2026-08-24 起),四级优先级: + 1. 有 STL 网格(`mesh\` 侧车目录,与 STEP 同名)→ 开源 Helix Toolkit 窗口内直渲 + 2. 无网格 → **WebView2 内嵌新迪查看器**(窗口内嵌浏览器控件,真实 STEP 直接渲染;Win11 自带运行时,Win10 装 Edge 即有) + 3. WebView2 不可用 → 外部浏览器回退(程序内嵌本机微型服务器,完全离线;客户版发布目录已附带查看器组件) + 4. 占位几何 → 内置自绘 +- 网格生成:NX journal 导出 STEP 时同步导出(`exportStl` 开关);已有真实 STEP 用 `python onebot-data\tools\step-to-stl.py` + `simplify-stl.py` 批量转换压缩 +- 网页端轻量化(glTF)待办 9,`nx-batch-export-glb.vb` 模板已备 + +## 8. 参数化选型引擎(一期,2026-08-25,两端一致) + +- **模式开关**:series.meta.json 的 series 块加 `"mode": "parametric"` + `"modelCodeTemplate"`(语法 `{field}` 或 `{field:padN}` 前补零),参数可定义 range 域:`"type": "range", "min": 10, "max": 200, "step": 1, "gridValues": [10, 20, 30, 50, 75, 100]`。缺失字段 = 枚举模式,老系列零影响 +- **语义**:CSV 仍是"标准档位网格"(搜索/平替/参数表/下载的数据源);选型面板可输入网格外的**非标组合**(range 自由输入),引擎按模板实时生成型号编码 +- **非标档位行为**:标题带徽标;STEP 下载按钮置灰(请联系销售或选择标准档位);3D 展示最近标准档位近似几何 + 提示条;可加入清单但打包时跳过并注明 +- **对拍门禁**:构建期强制校验——参数化系列的**全部 CSV 编码必须能被模板重新生成且一一对应**,任何一个不一致构建失败(build.log 显示"参数化对拍门禁通过: N 个编码全部一致") +- **双端一致性**:一份规则 JSON + C#/JS 各一个解释器 + 同一份测试向量 `catalog\parametric-vectors.json`(随 .opc 发布):桌面 selftest 自动对拍;网页无头 `node tools\e2e-parametric.js`(16 项)+ 购物车回归 `node tools\e2e-cart.js` +- **联动语义(重要)**:参数合法性按"域+规则"判定,**不按网格行存在性**;规则 Then 参数未选不判违背(避免选一半清空其他选项) +- **试点 KC** 已上线;推广新系列时:确认型号编码模板补零规则(对拍门禁会兜底)、按产品手册补规则、range 参数列出 gridValues + +## 9. NX 按需生成服务(二期 A 版,2026-08-25,开发完成待 NX 联调/部署) + +- **架构**:`bin\GenServer.exe`(csc 编译轻量后端:服务端二次校验(复用目录端同一规则引擎)→ 检索先行 → 文件任务队列 → 输出留存 → 限流/CORS)+ 常驻 NX worker(`sample-data\tools\worker_journal.vb`,每席位一个 `run_journal.exe` 进程:认领任务 → 拷母模副本 → 设表达式 → 更新 → 导出多格式 → 写结果;批量任务单会话顺序处理) +- **配置(服务器侧,`onebot-data\`)**:`genserver-config.json`(端口/API key/目录;apiKey 留空=匿名模式仅限流)、`masters.json`(母模+表达式映射+switchRules+exports)、`catalog-masters\<系列>\<母模>.prt` +- **部署三步**:① 管理员执行 `netsh http add urlacl url=http://+:8899/ user=Everyone`(否则仅本机)② 启动 GenServer ③ 每席位一个:`run_journal.exe worker_journal.vb `(NXBIN 下,计划任务守护) +- **两端接入**:网页 `web\config.js` 的 api(空=非标下载维持置灰过渡态);桌面 = 源目录 `catalog.json` 的 `genApi` 字段(重建+发布生效) +- **检索先行**:`output\<系列>\<型号编码>\` 留存不删(全格式齐全即命中复用,不再触发 NX);任务私有工作副本任务后即删 +- **多格式导出**:STEP(214)/Parasolid/IGES/STL,下载为全格式 zip;购物车含非标时打包前自动批量生成(型号子文件夹) +- **本地联调(无 NX)**:模拟 worker 的 PS 脚本 + 网页端 `tools\e2e-gen.js`(8 项) +- **NX 2506 实测 API(2026-08-26,反射探针核对,详见 `开发记录-NX2506批处理攻坚.md`)**:批处理打开部件用 **OpenBaseDisplay**(OpenBase 后 Work=NULL);CloseAll 两参数;建表达式 `Expressions.CreateExpression("Number","名=值")`;改表达式 UF `EditExp`(只改已存在);更新 `ufs.Modl.Update()`;导出器在 **Session.DexManager**(CreateStepCreator/CreateIgesCreator/CreateParasolidExporter/CreateStlCreator);journal 环境无 JSON 库 → 任务文件为行式键值;母模/worker 副本**必须清只读属性**(否则保存被拒) +- **待用户确认(上线前)**:① `masters.json` 表达式名按 NX 母模实际命名填写 ② KC 母模放入 `catalog-masters\KC\` ③ run_journal 路径(随 NX 版本)④ **卡点**:批处理模式翻译器导出空几何——需交互式 NX 录制导出宏修正 worker 导出函数,或用真母模直接实测(开发记录 §5 两方案)⑤ 部署时 `netsh http add urlacl url=http://+:8899/ user=Everyone` + +## 10. 购物车批量导出(2026-08-24,两端一致) + +- 加入:参数面板【加入清单】(选型完成后)/ 参数表行尾"+"或勾选行【加入清单】;顶栏【清单 (N)】角标实时计数 +- 清单面板:桌面独立窗口 / 网页右侧抽屉;数量可改(只在 BOM 数量列体现,zip 每型号一份);支持删除/清空 +- 一键打包:【下载全部 (zip + BOM)】→ `ONEBOT_清单_<时间戳>.zip` = 全部 STEP(型号命名)+ BOM.csv(UTF-8 BOM,Excel 直开)+ 清单.txt +- 购物车生命周期:网页刷新浏览器 / 桌面重启软件才清空;切系列/搜索/平替等操作不影响清单 +- 桌面零新依赖(net48 ZipArchive);网页用开源 JSZip 3.10.1(MIT,web\libs\jszip.min.js)前端打包 + +## 11. English Summary + +- Data source: `onebot-data\catalog\` (catalog.json + per-series meta JSON + CSVs with a `step_file` column + STEP files + manual page PNGs). +- Edit: run `bin\维护入口.bat` (password `onebot888`) → Admin → Builder → pick series → save → 【重建全量目录】 (same engine as CLI `--buildfull`). +- Publish: `tools\publish.ps1` runs the selftest gate first, then compiles the customer exe (data embedded, no admin entry), assembles the release folder + incremental update package + static web site. +- Always run `sample-data\tools\fix-bom.ps1` after editing Chinese-containing .ps1/.cs/.vb files. diff --git a/docs/部署清单.md b/docs/部署清单.md new file mode 100644 index 0000000..65fc41c --- /dev/null +++ b/docs/部署清单.md @@ -0,0 +1,58 @@ +# NX 按需生成服务 · 迁移到不加密服务器验证清单 + +> 目标:把整套「选型网页 + 生成服务 + NX worker」搬到一台不加密服务器(装 NX 2512)跑通验证。 +> 更新:2026-08-27 + +## 1. 要拷贝的最小集合 + +服务器只需这 6 项(其余源码/工具可带可不带): + +| 目录/文件 | 作用 | 必带 | +|---|---|---| +| `bin\GenServer.exe` | 生成服务后端(已编译,net48,Windows 自带运行时,无需装 VS)| ✅ | +| `genserver-local\` | 配置 + jobs/output/work 目录 | ✅ | +| `catalog-masters\` | 母模 `KC_master.prt` | ✅ | +| `onebot-data\catalog\` + `onebot-data\masters.json` | 数据源(GenServer 校验规则用)+ 母模映射表 | ✅ | +| `sample-data\tools\worker_journal.vb` | NX worker 脚本 | ✅ | +| `release\web_2026.08\` | 选型网页站(含 config.js)| ✅ | +| `viewer\` | 新迪 3D 查看器(网页 3D 预览用,可选)| ⚠️ 可选 | + +## 2. 服务器前置条件 + +- **Windows 10/11**(net48 内置) +- **NX 2512**(跑 run_journal + worker + step214ug.exe/iges.exe) +- 不需要装 VS Build Tools(GenServer.exe 已编译好;只有改 GenServer 代码才要重编译) + +## 3. 必须改的 3 处(按服务器实际路径/版本改) + +### ① `genserver-local\genserver-config.json` —— 改绝对路径 + +当前是 `d:\开发\OnebotCatalog\...`,改成服务器实际路径。`nxBin` 留空即可(GenServer 自动探测 `C:\Program Files\Siemens\NX*\NXBIN`,能覆盖 2512)。 + +### ② `_start_all.bat` —— 改 run_journal 路径 + +第 4 步写死了 `C:\Program Files\Siemens\NX2506\NXBIN\run_journal.exe`,**要改成 NX2512**(或改成自动探测)。 + +### ③ `release\web_2026.08\config.js` —— 改生成服务地址 + +```js +window.GEN_CONFIG = { api: "http://localhost:8899" }; +``` +- 网页与生成服务**同机** → 保持 `localhost:8899` 不用改 +- 不同机 → 改成服务器 IP,如 `http://192.168.x.x:8899` + +## 4. 验证步骤 + +1. 启动:`_start_all.bat`(会自动 编译→启动 GenServer→启动 worker→health 自检) +2. 浏览器开 `http://<服务器>:8080`,看底部信息栏圆球变**绿**(服务就绪) +3. 选 KC 系列,stroke 填 87(非标),点【在线生成数模】 +4. 生成完 → 网页内 3D 预览 → 选格式 → 下载 +5. 打开 `output\KC\KC0032-87\KC0032-87.stp` 确认含实体(几十 KB,非 2KB 空壳) + +## 5. 注意点 + +- **NX 2512 的 journal API 需实测**:worker 的反射探针结论基于 2506,2512 的 `OpenBaseDisplay/EditExp/CloseAll` 是否一致,换机后第一次跑要盯日志。 +- **`step214ug.exe`/`iges.exe` 是独立命令行工具**,跨版本大概率稳定,不依赖 NX 会话。 +- **license 席位**:跑 worker 前确认交互式 NX 已关(批处理需独立席位)。 +- 若 nxBin 自动探测不到(NX 装自定义路径),用 `/admin` 页手动选 NX 目录。 +- **后台 `/admin` 密码登录**:默认密码 `onebot888`(在 `genserver-local\genserver-config.json` 的 `adminKey` 字段改)。后台三 tab:UG 配置 / 参数配置 / 模型管理。 diff --git a/dump_cra.py b/dump_cra.py new file mode 100644 index 0000000..5bcc61a --- /dev/null +++ b/dump_cra.py @@ -0,0 +1,72 @@ +# -*- coding: utf-8 -*- +""" +德国大众 CRA 问卷导出脚本 +作用:把 xlsx 全部内容(所有 sheet / 单元格 / 合并区域)导出为纯文本, + 存到 d:\开发\OnebotCatalog\cra_dump.txt,方便 AI 直接读取并翻译。 +""" +import sys, io, os + +# 强制 UTF-8 输出,避免中文/德语乱码 +try: + sys.stdout = io.TextIOWrapper(sys.stdout.buffer, encoding="utf-8") +except Exception: + pass + +SRC = r"C:\Users\ruigu\Downloads\文档说明.html\20260826德国大众的要求文件\MAGSWITCH TECHNOLOGY EUROPE_CRA_Abfrage.xlsx" +OUT = r"d:\开发\OnebotCatalog\cra_dump.txt" + +def main(): + if not os.path.exists(SRC): + print("!! 找不到源文件:", SRC) + return + + try: + import openpyxl + except ImportError: + print("!! 缺少 openpyxl,正在尝试安装...") + import subprocess + subprocess.check_call([sys.executable, "-m", "pip", "install", "openpyxl", "-q"]) + import openpyxl + + wb = openpyxl.load_workbook(SRC, data_only=False) + + lines = [] + lines.append("FILE: " + SRC) + lines.append("SHEETS: " + " | ".join(wb.sheetnames)) + lines.append("=" * 80) + + for ws in wb.worksheets: + lines.append("") + lines.append("#" * 80) + lines.append(f"## SHEET: {ws.title} (max_row={ws.max_row}, max_col={ws.max_column})") + lines.append("#" * 80) + + # 合并单元格信息 + if ws.merged_cells.ranges: + lines.append("MERGED: " + ", ".join(str(r) for r in ws.merged_cells.ranges)) + + for row in ws.iter_rows(): + cells = [] + for c in row: + v = c.value + if v is None: + v = "" + v = str(v).replace("\n", "\\n") + if v != "": + cells.append(f"{c.coordinate}={v}") + if cells: + lines.append(" | ".join(cells)) + + text = "\n".join(lines) + with open(OUT, "w", encoding="utf-8") as f: + f.write(text) + + print("DONE") + print("已导出到:", OUT) + print("总行数:", len(lines)) + print("---- 内容预览(前 60 行)----") + for l in lines[:60]: + print(l) + +if __name__ == "__main__": + main() diff --git a/dump_motor_pdf.py b/dump_motor_pdf.py new file mode 100644 index 0000000..d808f44 --- /dev/null +++ b/dump_motor_pdf.py @@ -0,0 +1,85 @@ +# -*- coding: utf-8 -*- +"""提取电机 PDF 数据手册的文字内容,输出到 motor_pdf_dump.txt""" +import sys, io, os + +try: + sys.stdout = io.TextIOWrapper(sys.stdout.buffer, encoding="utf-8") +except Exception: + pass + +SRC = r"C:\Users\ruigu\Downloads\DS-LE-INTEGRATED-EN(002) (1).pdf" +OUT = r"d:\开发\OnebotCatalog\motor_pdf_dump.txt" + +def try_extract(): + joined = "" + + # 1) pypdf + try: + from pypdf import PdfReader + r = PdfReader(SRC) + parts = [] + for i, p in enumerate(r.pages): + parts.append(f"--- PAGE {i+1} ---\n" + (p.extract_text() or "")) + joined = "\n".join(parts) + if len(joined.strip()) > 50: + return "pypdf", len(r.pages), joined + except Exception as e: + print("[pypdf fail]", repr(e)) + + # 2) PyPDF2 + try: + import PyPDF2 + r = PyPDF2.PdfReader(SRC) + parts = [] + for i, p in enumerate(r.pages): + parts.append(f"--- PAGE {i+1} ---\n" + (p.extract_text() or "")) + joined = "\n".join(parts) + if len(joined.strip()) > 50: + return "PyPDF2", len(r.pages), joined + except Exception as e: + print("[PyPDF2 fail]", repr(e)) + + # 3) pdfplumber + try: + import pdfplumber + parts = [] + with pdfplumber.open(SRC) as pdf: + for i, p in enumerate(pdf.pages): + parts.append(f"--- PAGE {i+1} ---\n" + (p.extract_text() or "")) + joined = "\n".join(parts) + if len(joined.strip()) > 50: + return "pdfplumber", len(parts), joined + except Exception as e: + print("[pdfplumber fail]", repr(e)) + + # 4) pdfminer.six + try: + from pdfminer.high_level import extract_text + joined = extract_text(SRC) + if len(joined.strip()) > 50: + return "pdfminer", "?", joined + except Exception as e: + print("[pdfminer fail]", repr(e)) + + return None, 0, "" + +def main(): + if not os.path.exists(SRC): + print("MISSING:", SRC) + return + + lib, pages, text = try_extract() + if not lib: + print("NO_TEXT_EXTRACTED(可能是扫描/图片型 PDF)") + return + + with open(OUT, "w", encoding="utf-8") as f: + f.write(text) + print("DONE") + print("库:", lib, "| 页数:", pages, "| 字符数:", len(text)) + print("输出:", OUT) + print("=" * 60) + print(text[:4000]) + +if __name__ == "__main__": + main() diff --git a/genserver-local/_clear_jobs.bat b/genserver-local/_clear_jobs.bat new file mode 100644 index 0000000..71b2f6f --- /dev/null +++ b/genserver-local/_clear_jobs.bat @@ -0,0 +1,24 @@ +@echo off +setlocal +cd /d "%~dp0" + +echo ==== clear queued jobs in jobs dir ==== +echo files to delete: +dir /b "jobs\job_*.json" 2>nul +dir /b "jobs\job_*.running" 2>nul +dir /b "jobs\job_*.done" 2>nul +dir /b "jobs\job_*.prog" 2>nul +dir /b "jobs\job_*.tok" 2>nul + +del /Q "jobs\job_*.json" 2>nul +del /Q "jobs\job_*.running" 2>nul +del /Q "jobs\job_*.done" 2>nul +del /Q "jobs\job_*.prog" 2>nul +del /Q "jobs\job_*.tok" 2>nul + +echo. +echo ==== done. remaining in jobs dir: ==== +dir /b "jobs" 2>nul +echo. +echo Note: output dir is NOT cleared. Re-request same code will hit cached files. +endlocal diff --git a/genserver-local/_fulltest.bat b/genserver-local/_fulltest.bat new file mode 100644 index 0000000..c255743 --- /dev/null +++ b/genserver-local/_fulltest.bat @@ -0,0 +1,27 @@ +@echo off +setlocal +cd /d "%~dp0" + +echo ==== 1. Stop old GenServer (if any), then start new ==== +taskkill /F /IM GenServer.exe >nul 2>nul +timeout /t 1 /nobreak >nul +start "GenServer" /min "%~dp0..\bin\GenServer.exe" "%~dp0genserver-config.json" +timeout /t 2 /nobreak >nul + +echo ==== 2. Health check ==== +powershell -NoProfile -Command "try { (Invoke-RestMethod -Uri 'http://localhost:8899/health' -TimeoutSec 5) | ConvertTo-Json } catch { Write-Host 'health FAIL: ' $_.Exception.Message }" + +echo ==== 3. Trigger non-standard gen (KC0032-87) ==== +powershell -NoProfile -Command "try { (Invoke-RestMethod -Method Post -Uri 'http://localhost:8899/gen' -Body '{\"series\":\"KC\",\"params\":{\"type\":\"00\",\"bore\":32,\"stroke\":87,\"magnet\":\"\",\"mount\":\"\"},\"code\":\"KC0032-87\"}' -ContentType 'application/json' -TimeoutSec 5) | ConvertTo-Json } catch { Write-Host 'gen FAIL: ' $_.Exception.Message }" + +echo ==== 4. Latest job file (newest first) ==== +dir /b /o-d "jobs\job_*.json" 2>nul + +echo ==== 5. worker-config.txt (check nxBin line present) ==== +type "worker-config.txt" + +echo ==== 6. Output dir (generated models land here) ==== +dir /b /s "output" 2>nul + +echo ==== done ==== +endlocal diff --git a/genserver-local/_restart_test.bat b/genserver-local/_restart_test.bat new file mode 100644 index 0000000..8f8e197 --- /dev/null +++ b/genserver-local/_restart_test.bat @@ -0,0 +1,28 @@ +@echo off +setlocal +cd /d "%~dp0" + +echo ==== 1. stop old GenServer ==== +taskkill /F /IM GenServer.exe >nul 2>nul +timeout /t 1 /nobreak >nul + +echo ==== 2. start GenServer (D-disk config) ==== +start "GenServer" /min "%~dp0..\bin\GenServer.exe" "%~dp0genserver-config.json" +timeout /t 2 /nobreak >nul + +echo ==== 3. health check ==== +curl.exe -s http://localhost:8899/health +echo. + +echo ==== 4. trigger /gen (KC0032-87) ==== +curl.exe -s -X POST http://localhost:8899/gen -H "Content-Type: application/json" -d "{\"series\":\"KC\",\"params\":{\"type\":\"00\",\"bore\":32,\"stroke\":87,\"magnet\":\"\",\"mount\":\"\"},\"code\":\"KC0032-87\"}" +echo. + +echo ==== 5. worker-config.txt (expect D-disk paths + nxBin) ==== +type "worker-config.txt" + +echo ==== 6. newest job files in D-disk jobs dir ==== +dir /b /o-d "jobs\job_*.json" 2>nul + +echo ==== done ==== +endlocal diff --git a/genserver-local/_trigger.bat b/genserver-local/_trigger.bat new file mode 100644 index 0000000..d5b8e31 --- /dev/null +++ b/genserver-local/_trigger.bat @@ -0,0 +1,11 @@ +@echo off +setlocal +cd /d "%~dp0" +echo ==== trigger /gen (KC0032-87, non-standard stroke) ==== +curl.exe -s -X POST http://localhost:8899/gen -H "Content-Type: application/json" -d "{\"series\":\"KC\",\"params\":{\"type\":\"00\",\"bore\":32,\"stroke\":87,\"magnet\":\"\",\"mount\":\"\"},\"code\":\"KC0032-87\"}" +echo. +echo exit = %ERRORLEVEL% +echo. +echo ==== newest job files ==== +dir /b /o-d "jobs\job_*.json" 2>nul +endlocal diff --git a/genserver-local/_worker_check.bat b/genserver-local/_worker_check.bat new file mode 100644 index 0000000..d7ebcfc --- /dev/null +++ b/genserver-local/_worker_check.bat @@ -0,0 +1,27 @@ +@echo off +setlocal +cd /d "%~dp0" + +echo ==== 1. worker and NX processes ==== +tasklist /FI "IMAGENAME eq run_journal.exe" | find /I "run_journal" >nul +if %errorlevel%==0 (echo worker RUNNING) else (echo worker NOT running) +tasklist /FI "IMAGENAME eq ugraf.exe" | find /I "ugraf.exe" >nul +if %errorlevel%==0 (echo NX ugraf RUNNING) else (echo NX ugraf not running) + +echo ==== 2. job state files newest first ==== +dir /b /o-d "jobs" 2>nul + +echo ==== 3. output dir generated models ==== +dir /b /s "output" 2>nul + +echo ==== 4. latest done file content ==== +set "doned=" +for /f "delims=" %%f in ('dir /b /o-d "jobs\job_*.done" 2^>nul') do if not defined doned set "doned=%%f" +if defined doned ( + echo --- %doned% --- + type "jobs\%doned%" +) else ( + echo no .done file yet +) + +endlocal diff --git a/genserver-local/_worker_start.bat b/genserver-local/_worker_start.bat new file mode 100644 index 0000000..2a30a64 --- /dev/null +++ b/genserver-local/_worker_start.bat @@ -0,0 +1,28 @@ +@echo off +setlocal +cd /d "%~dp0" + +echo ==== 1. check GenServer running ==== +tasklist /FI "IMAGENAME eq GenServer.exe" | find /I "GenServer.exe" >nul +if not %errorlevel%==0 echo WARNING GenServer NOT running. Run _restart_test.bat first. + +echo ==== 2. check interactive NX ugraf ==== +tasklist /FI "IMAGENAME eq ugraf.exe" | find /I "ugraf.exe" >nul +if %errorlevel%==0 goto nx_running + +echo ==== 3. start NX worker ==== +start "NXworker" /min "C:\Program Files\Siemens\NX2506\NXBIN\run_journal.exe" "%~dp0..\sample-data\tools\worker_journal.vb" +echo. +echo worker started in background. NX cold start 30-90s. +echo Then run _worker_check.bat to see generated STEP. +echo. +goto :eof + +:nx_running +echo. +echo !!! interactive NX ugraf is RUNNING. +echo worker competes for the NX license seat. +echo Close NX, then re-run this script. +echo. +pause +endlocal diff --git a/genserver-local/genserver-config.json b/genserver-local/genserver-config.json new file mode 100644 index 0000000..cea651e --- /dev/null +++ b/genserver-local/genserver-config.json @@ -0,0 +1,19 @@ +{ + "note": "本机联调配置 (绝对路径; 生产部署用 onebot-data\\genserver-config.json 模板并改 apiKey)。apiKey 留空 = 匿名模式 (仅限流保护), 仅限本机/内网联调。", + "port": 8899, + "apiKey": "", + "adminKey": "onebot888", + "dataDir": "d:\\开发\\OnebotCatalog\\onebot-data\\catalog", + "mastersJson": "d:\\开发\\OnebotCatalog\\onebot-data\\masters.json", + "mastersDir": "d:\\开发\\OnebotCatalog\\catalog-masters", + "outputDir": "d:\\开发\\OnebotCatalog\\genserver-local\\output", + "jobsDir": "d:\\开发\\OnebotCatalog\\genserver-local\\jobs", + "workDir": "d:\\开发\\OnebotCatalog\\genserver-local\\work", + "queueLimit": 200, + "batchLimit": 50, + "ratePerMin": 100, + "workTtlHours": 2, + "jobArchiveHours": 24, + "outputTtlHours": 0, + "sweepIntervalMin": 10 +} diff --git a/genserver-local/probe.txt b/genserver-local/probe.txt new file mode 100644 index 0000000..63d3545 --- /dev/null +++ b/genserver-local/probe.txt @@ -0,0 +1,246 @@ +=== 类型 (Dex/Stl/Update/Translator/Step/Iges) === +T: NXOpen.DexBuilder +T: NXOpen.DexManager +T: NXOpen.ParasolidExporter +T: NXOpen.PartDelayedUpdateStatus +T: NXOpen.STLCreator +T: NXOpen.STLImporter +T: NXOpen.Update +T: NXOpen.Weld.WeldRootUpdate +T: NXOpen.Weld.WeldFacesetIndex +T: NXOpen.Tooling.DieDesTrmStlFeatBuilder +T: NXOpen.Tooling.DieEngProcessUpdateManagerBuilder +T: NXOpen.Tooling.GuidedExtensionBuilder +T: NXOpen.Tooling.GuidedExtensionManager +T: NXOpen.Tooling.MoldExplosionBuilder +T: NXOpen.Tooling.MoldExplosionCollection +T: NXOpen.Tooling.RenameAndExportComponentBuilder +T: NXOpen.Tooling.RenameAndExportComponentTeamcenterBuilder +T: NXOpen.Tooling.SmartScrewUpdateBuilder +T: NXOpen.SIM.PostConfigurator.UpdatePostprocessorBuilder +T: NXOpen.PcbExchange.CompareAndUpdateBuilder +T: NXOpen.PcbExchange.EcadExportBuilder +T: NXOpen.ModlUtils.ResolveUpdateStatusBuilder +T: NXOpen.Mechatronics.ECADExportBuilder +T: NXOpen.MechanicalRouting.UpdateRunBuilder +T: NXOpen.GeometricUtilities.InstanceEditedExpressionItem +T: NXOpen.GeometricUtilities.InstanceEditedExpressionItemList +T: NXOpen.GeometricUtilities.InstanceEditedExpressionsList +T: NXOpen.GeometricUtilities.SelectionListList +T: NXOpen.Formboard.UpdateDiscrepancy +T: NXOpen.Formboard.UpdateFormboardBuilder +T: NXOpen.Fields.FieldExpression +T: NXOpen.Features.CustomFeatureInternalFeaturePreUpdateEvent +T: NXOpen.Features.CustomFeaturePostUpdateEvent +T: NXOpen.Features.CustomFeaturePreUpdateEvent +T: NXOpen.Features.GuidedExtensionBuilderEx +T: NXOpen.Features.GuidedExtensionEx +T: NXOpen.Features.TrimAndExtend +T: NXOpen.Features.TrimAndExtendBuilder +T: NXOpen.Features.UserDefinedFeatureUpdateEvent +T: NXOpen.Features.ShipDesign.UpdateProjectBuilder +T: NXOpen.Features.ShipDesign.UpdateShipLibrary +T: NXOpen.Features.ShipDesign.UpdateShipLibraryBuilder +T: NXOpen.Facet.STLImportBuilder +T: NXOpen.Drawings.UpdateViewsBuilder +T: NXOpen.CAE.CorrelModelUpdateDesignVariable +T: NXOpen.CAE.CorrelModelUpdateDesignVariableCollection +T: NXOpen.CAE.DurSpecialistLoadEventListBuilder +T: NXOpen.CAE.DurSpecialistLoadLength +T: NXOpen.CAE.DurSpecialistLoadLengthBuilder +T: NXOpen.CAE.DurSpecialistLocalDefinition +T: NXOpen.CAE.DurSpecialistLocalDefinitionBuilder +T: NXOpen.CAE.DurSpecialistLocalDefinitionCollection +T: NXOpen.CAE.ModelAndLoadPreProcessLoadExtrusion +T: NXOpen.CAE.ModelAndLoadPreProcessLoadExtrusionBuilder +T: NXOpen.CAE.ModelUpdateConstraint +T: NXOpen.CAE.ModelUpdateConstraintBuilder +T: NXOpen.CAE.ModelUpdateConstraintCollection +T: NXOpen.CAE.ModelUpdateCorrelMethodBuilder +T: NXOpen.CAE.ModelUpdateDesignVariable +T: NXOpen.CAE.ModelUpdateDesignVariableBuilder +T: NXOpen.CAE.ModelUpdateDesignVariablesCollection +T: NXOpen.CAE.ModelUpdateDesignVariablesRapidCreateBuilder +T: NXOpen.CAE.ModelUpdateDiscreteVariableValueBuilder +T: NXOpen.CAE.ModelUpdateDiscreteVariableValueBuilderList +T: NXOpen.CAE.ModelUpdateObjective +T: NXOpen.CAE.ModelUpdateObjectiveCollection +T: NXOpen.CAE.ModelUpdateOptimizeSettingsBuilder +T: NXOpen.CAE.ModelUpdateOptimOptionsBuilder +T: NXOpen.CAE.ModelUpdateOptionsBuilder +T: NXOpen.CAE.ModelUpdateOverallWeightsBuilder +T: NXOpen.CAE.ModelUpdatePlusSolution +T: NXOpen.CAE.ModelUpdateResponseType +T: NXOpen.CAE.ModelUpdateResponseOptions +T: NXOpen.CAE.ModelUpdateResponse +T: NXOpen.CAE.ModelUpdateResponseCollection +T: NXOpen.CAE.ModelUpdateSensitivityViewerBuilder +T: NXOpen.CAE.ModelUpdateShapeSolution +T: NXOpen.CAE.ModelUpdateSolution +T: NXOpen.CAE.ModelUpdateSolutionBuilder +T: NXOpen.CAE.ModelUpdateSolutionCollection +T: NXOpen.CAE.ModelUpdateSolutionSet +T: NXOpen.CAE.ModelUpdateSolutionSetCollection +T: NXOpen.CAE.ModelUpdateSolutionSetDesignVariableCollection +T: NXOpen.CAE.PostLegend +T: NXOpen.CAE.PostLegendPreference +T: NXOpen.CAE.StlImportBuilder +T: NXOpen.CAE.ResponseSimulation.CSDExcitation +T: NXOpen.CAE.ResponseSimulation.CSDExcitationBuilder +T: NXOpen.CAE.ResponseSimulation.DistributedLoadExcitation +T: NXOpen.CAE.ResponseSimulation.DistributedLoadExcitationBuilder +T: NXOpen.CAE.ResponseSimulation.StaticLoadExcitation +T: NXOpen.CAE.ResponseSimulation.StaticLoadExcitationBuilder +T: NXOpen.CAE.AeroStructures.FreeBodyLoadExtraction +T: NXOpen.CAE.AeroStructures.LoadExtractionStrategy +T: NXOpen.CAE.AeroStructures.LoadExtractionValue +T: NXOpen.CAE.AeroStructures.ManualLoadExtraction +T: NXOpen.CAE.AeroStructures.UserLoadExtraction +T: NXOpen.Assemblies.UpdateDesignElementPositionBuilder +T: NXOpen.Assemblies.UpdateStructureBuilder +T: NXOpen.AECDesign.LevelSymbolIndex +T: NXOpen.LoadOptions+UpdateSubsetOnLoad +T: NXOpen.MassPropertiesBuilder+UpdateOptions +T: NXOpen.ParasolidExporter+ExportFromOption +T: NXOpen.ParasolidExporter+ParasolidVersionOption +T: NXOpen.Part+FeatureUpdateStatus +T: NXOpen.Part+_FeatureUpdateStatus +T: NXOpen.Part+UpdateFromJtFileOptions +T: NXOpen.PartDelayedUpdateStatus+DelayStatusInfo +T: NXOpen.Sketch+UpdateLevel +T: NXOpen.SmartObject+UpdateOption +T: NXOpen.STLCreator+OutputTypeEnum +T: NXOpen.STLCreator+SheetBodyExportOptionEnum +T: NXOpen.STLImporter+AngularToleranceType +T: NXOpen.STLImporter+FileUnitsType +T: NXOpen.STLImporter+FileFormatType +T: NXOpen.Update+Option +T: NXOpen.Update+FailureOption +T: NXOpen.Validation+UpdateTime +T: NXOpen.Validate.PartOrientationAnalysisResult+CheckerIndex +T: NXOpen.UserDefinedTemplate.ConfigurableObject+UpdateType +T: NXOpen.Tooling.ConcurrentDesignManagementBuilder+UpdateTypes +T: NXOpen.Tooling.CopySolidBuilder+PartItemUpdateType +T: NXOpen.Tooling.DieDesTrmStlFeatBuilder+ScrapCutterDesTypes +T: NXOpen.Tooling.DieEngProcessUpdateManagerBuilder+Types +T: NXOpen.Tooling.GuidedExtensionBuilder+SegmentType +T: NXOpen.Tooling.HoleManufacturingNoteBuilder+HoleIndexType +T: NXOpen.Tooling.MoldDirectionBuilder+SlopeUpdateItem +T: NXOpen.Tooling.MoldDirectionBuilder+RadiusUpdateItem +T: NXOpen.Tooling.MoldExplosionBuilder+MotionTypes +T: NXOpen.Tooling.MoldExplosionBuilder+MoldProcessTypes +T: NXOpen.Tooling.MoldExplosionBuilder+MoldPlateStyle +T: NXOpen.Tooling.MoldExplosionBuilder+EjectProductType +T: NXOpen.Tooling.MWDesignPartingSurfaceBuilder+TrimAndExtendFromRegionType +T: NXOpen.Tooling.RenameAndExportComponentBuilder+NamingRuleType +T: NXOpen.Tooling.RenameAndExportComponentBuilder+NameRuleType +T: NXOpen.Tooling.RenameAndExportComponentBuilder+Types +T: NXOpen.Tooling.RenameAndExportComponentBuilder+DefinitionType +T: NXOpen.Tooling.RenameAndExportComponentBuilder+LoadOptionType +T: NXOpen.Tooling.SmartScrewUpdateBuilder+Types +T: NXOpen.Tooling.SmartScrewUpdateBuilder+ParentOption +T: NXOpen.StructureDesign.Frame3DManager+UpdateLevel +T: NXOpen.SIM.PostConfigurator.UpdatePostprocessorBuilder+UpdatePostprocessorType +T: NXOpen.Routing.ControlPointCollection+FoundExisting +T: NXOpen.Preferences.ModelingPreferencesBuilder+ModelDelayAndUpdateGranularity +T: NXOpen.Preferences.ModelingPreferencesBuilder+DynamicUpdateMode +T: NXOpen.Preferences.ModelingPreferencesBuilder+DynamicsUpdateLevel +T: NXOpen.Preferences.PartDrafting+UpdateViewWithoutLwDataOption +T: NXOpen.Preferences.PartVisualizationShade+ViewUpdateModeType +T: NXOpen.Preferences.SessionModeling+LinkedAndExtractedGeometryPropertiesInheritance +T: NXOpen.Preferences.SessionModeling+DynamicUpdateType +T: NXOpen.Preferences.SessionModeling+ModelDelayUpdateGranilarityType +T: NXOpen.Preferences.SessionPdm+JtUpdateFromSourceType +T: NXOpen.PcbExchange.CompareAndUpdateBuilder+EcadLocationEnum +T: NXOpen.PcbExchange.CompareAndUpdateBuilder+CompareEnum +T: NXOpen.PcbExchange.CompareAndUpdateBuilder+BoardUpdateEnum +T: NXOpen.PcbExchange.CompareAndUpdateBuilder+AssemblyUpdateEnum +T: NXOpen.PcbExchange.EcadExportBuilder+FileFormatEnum +T: NXOpen.PcbExchange.EcadExportBuilder+EcadLocationEnum +T: NXOpen.PcbExchange.EcadExportBuilder+ExportUnitsEnum +T: NXOpen.PcbExchange.StructuralSolutionBuilder+UpdateOption +T: NXOpen.PcbExchange.ThermalSolutionBuilder+UpdateOption +T: NXOpen.PcbExchange.VariantManagerBuilder+UpdateOptionEnum +T: NXOpen.PcbExchange.VariantManagerBuilder+UpdateTargetEnum +T: NXOpen.Motion.MotionSolutionBuilder+NextGenSolverEvaluationUpdate +T: NXOpen.Mechatronics.OPCClientBuilder+UpdateMethod +T: NXOpen.Mechatronics.WebBuilder+NodeListUpdateTypes +T: NXOpen.MechanicalRouting.UpdateRunBuilder+Status +T: NXOpen.Layout2d.AssociativeAssemblyBuilder+UpdateDirection +T: NXOpen.GeometricUtilities.OnPathDimensionBuilder+UpdateReason +T: NXOpen.Formboard.UpdateDiscrepancy+Type +T: NXOpen.Formboard.UpdateDiscrepancy+ObjectType +T: NXOpen.Fields.FieldExpression+CombineTableOption +T: NXOpen.Features.AdmBaseBuilder+UpdateMethodType +T: NXOpen.Features.BodyByEquationBuilder+StlFileUnitTypes +T: NXOpen.Features.CustomFeatureClass+InternalFeaturePreUpdateCallback +T: NXOpen.Features.CustomFeatureClass+_InternalFeaturePreUpdateCallback +T: NXOpen.Features.CustomFeatureClass+_CustomFeatureClassInternalFeaturePreUpdateCallbackAdapter +T: NXOpen.Features.CustomFeatureClass+PreUpdateCallback +T: NXOpen.Features.CustomFeatureClass+_PreUpdateCallback +T: NXOpen.Features.CustomFeatureClass+_CustomFeatureClassPreUpdateCallbackAdapter +T: NXOpen.Features.CustomFeatureClass+PostUpdateCallback +T: NXOpen.Features.CustomFeatureClass+_PostUpdateCallback +T: NXOpen.Features.CustomFeatureClass+_CustomFeatureClassPostUpdateCallbackAdapter +T: NXOpen.Features.GuidedExtensionBuilderEx+Types +T: NXOpen.Features.GuidedExtensionBuilderEx+SegmentType +T: NXOpen.Features.TrimAndExtendBuilder+OperationType +T: NXOpen.Features.TrimAndExtendBuilder+ArrowSideType +T: NXOpen.Features.UserDefinedFeatureClass+UpdateCallback +T: NXOpen.Features.UserDefinedFeatureClass+_UpdateCallback +T: NXOpen.Features.UserDefinedFeatureClass+_UserDefinedFeatureClassUpdateCallbackAdapter +T: NXOpen.Features.ShipDesign.UpdateShipLibraryBuilder+ShipLibOptionType +T: NXOpen.Features.ShipDesign.UpdateShipLibraryBuilder+ShipLibAssemblyOption +T: NXOpen.Facet.SewFacetBodyBuilder+VertexIndex +T: NXOpen.Facet.STLImportBuilder+AngularToleranceTypes +T: NXOpen.Facet.STLImportBuilder+STLFileUnitsTypes +T: NXOpen.Facet.STLImportBuilder+FacetBodyTypes +T: NXOpen.Drawings.DraftingViewCollection+ViewUpdateOption +T: NXOpen.Drawings.ViewCommonViewLabelBuilder+SecondaryIndexingType +T: NXOpen.Display.FacetSettingsBuilder+FacetUpdate +T: NXOpen.CAM.InspectionAlignmentBuilder+RotateTablePcsUpdateOptions +T: NXOpen.CAM.InspectionMeasDataBuilder+StlFileUnitsType +T: NXOpen.CAM.InspectionPathBuilder+FirstLastType +T: NXOpen.CAM.SimulationOptionsBuilder+IpwUpdateMode +T: NXOpen.CAE.CorrelModelUpdateDesignVariable+DvType +T: NXOpen.CAE.DurSpecialistEvent+UpdateCriterionType +T: NXOpen.CAE.DurSpecialistLoadLengthBuilder+Definition +T: NXOpen.CAE.DurSpecialistLocalDefinitionBuilder+LocationType +T: NXOpen.CAE.DurSpecialistLocalDefinitionBuilder+PlotMaterialType +T: NXOpen.CAE.MeshingPreferencesBuilder+MeshUpdateOrder +T: NXOpen.CAE.ModelAndLoadPreProcessLoadExtrusionBuilder+SelectionTypeEnum +T: NXOpen.CAE.ModelAndLoadPreProcessLoadExtrusionBuilder+ExtrusionMethodEnum +T: NXOpen.CAE.ModelAndLoadPreProcessLoadExtrusionBuilder+DistanceCriterionEnum +T: NXOpen.CAE.ModelAndLoadPreProcessLoadExtrusionBuilder+HeightCriterionEnum +T: NXOpen.CAE.ModelUpdateConstraintBuilder+Type +T: NXOpen.CAE.ModelUpdateConstraintBuilder+NormalizationType +T: NXOpen.CAE.ModelUpdateCorrelMethodBuilder+Method +T: NXOpen.CAE.ModelUpdateDesignVariableBuilder+EditOptions +T: NXOpen.CAE.ModelUpdateDesignVariablesRapidCreateBuilder+DesignVariableTypeEnum +T: NXOpen.CAE.ModelUpdateDesignVariablesRapidCreateBuilder+MaterialTypesEnum +T: NXOpen.CAE.ModelUpdateDesignVariablesRapidCreateBuilder+PhysicalTypesEnum +T: NXOpen.CAE.ModelUpdateObjective+RuleType +T: NXOpen.CAE.ModelUpdateOptimizeSettingsBuilder+SaveDesignsOption +T: NXOpen.CAE.ModelUpdateOptimOptionsBuilder+MethodChoice +T: NXOpen.CAE.ModelUpdateOptimOptionsBuilder+SteepestDescMethodChoice +T: NXOpen.CAE.ModelUpdateSolution+TargetType +T: NXOpen.CAE.PolygonGeometryPreferencesBuilder+UpdateStrategyType +T: NXOpen.CAE.StlImportBuilder+StlFileUnitType +T: NXOpen.CAE.ResponseSimulation.CSDExcitation+CorrelationType +T: NXOpen.CAE.AeroStructures.FreeBodyLoadExtraction+Result +T: NXOpen.CAE.AeroStructures.FreeBodyLoadExtraction+Component +T: NXOpen.CAE.AeroStructures.LoadExtractionValue+ActiveStrategy +T: NXOpen.CAE.AeroStructures.UserLoadExtraction+TargetEntity +T: NXOpen.CAE.AeroStructures.UserLoadExtraction+PickMethod +T: NXOpen.Annotations.HoleTableSettingsLabelBuilder+IndexType +=== Session 成员 (Dex/Update/Export/Create) === +S: 8 get_DexManager +S: 8 get_UpdateManager +S: 16 DexManager +S: 16 UpdateManager +=== Part 成员 (Dex/Stl/Export) === +=== PartCollection.CloseAll 重载 === +CA: Void CloseAll(CloseModified, NXOpen.PartCloseResponses) +=== Part.Save 重载 === +SV: NXOpen.PartSaveStatus Save(SaveComponents, CloseAfterSave) +SV: NXOpen.PartSaveStatus SaveAs(System.String) diff --git a/genserver-local/probe2.txt b/genserver-local/probe2.txt new file mode 100644 index 0000000..90d3f1e --- /dev/null +++ b/genserver-local/probe2.txt @@ -0,0 +1,352 @@ +=== NXOpen.DexManager 成员 === +DM: CreateWavefrontObjImporter +DM: CreateWavefrontObjCreator +DM: CreateIfcImporter +DM: CreateIfcCreator +DM: CreateRevitImporter +DM: CreateParasolidImporter +DM: CreateParasolidExporter +DM: CreateValidator +DM: CreateExtendedRealityFileCreator +DM: CreateGeospatialDataImporter +DM: CreateQuickUsdzCreator +DM: CreateG3dImporter +DM: CreateRhinoImporter +DM: CreateThreedxmlImporter +DM: CreateInventorImporter +DM: get_Tag +DM: CreateCatiav4Importer +DM: CreateStep214Importer +DM: CreateStep242Importer +DM: CreateCatiav5Importer +DM: CreateIgesImporter +DM: CreateStep203Importer +DM: CreateDxfdwgImporter +DM: CreateIgesCreator +DM: CreateStepCreator +DM: CreateCatiav4Creator +DM: CreateCatiav5Creator +DM: CreateDxfdwgCreator +DM: CreateNxto2dCreator +DM: CreateProeImporter +DM: CreateCreoImporter +DM: CreateAscImporter +DM: CreateAcisImporter +DM: CreateAcisExporter +DM: CreateStlCreator +DM: CreateVirtuallabImporter +DM: CreateCreator3mf +DM: CreateImporter3mf +DM: get_NextSink +DM: SyncProcessMessage +DM: AsyncProcessMessage +DM: GetLifetimeService +DM: InitializeLifetimeService +DM: CreateObjRef +DM: Equals +DM: GetHashCode +DM: GetType +DM: ToString +DM: Tag +DM: NextSink +=== NXOpen.DexBuilder 成员 === +DB: get_ProcessHoldFlag +DB: set_ProcessHoldFlag +DB: Commit +DB: Destroy +DB: GetCommittedObjects +DB: GetObject +DB: ShowResults +DB: get_PreviewBuilder +DB: Validate +DB: get_Tag +DB: ToString +DB: PrintTestData +DB: PrintTestData +DB: get_NextSink +DB: SyncProcessMessage +DB: AsyncProcessMessage +DB: GetLifetimeService +DB: InitializeLifetimeService +DB: CreateObjRef +DB: Equals +DB: GetHashCode +DB: GetType +DB: ProcessHoldFlag +DB: PreviewBuilder +DB: Tag +DB: NextSink +=== NXOpen.STLCreator 成员 === +ST: get_SheetBodyExportOption +ST: set_SheetBodyExportOption +ST: get_TriangleDisplay +ST: set_TriangleDisplay +ST: get_AdjacencyTol +ST: set_AdjacencyTol +ST: get_AngularTol +ST: set_AngularTol +ST: get_AutoNormalGen +ST: set_AutoNormalGen +ST: get_ChordalTol +ST: set_ChordalTol +ST: get_ErrorMessageDisplay +ST: set_ErrorMessageDisplay +ST: get_ExportSelectionBlock +ST: get_HeaderInfo +ST: set_HeaderInfo +ST: get_NormalDirectionIndicator +ST: set_NormalDirectionIndicator +ST: get_NormalDisplay +ST: set_NormalDisplay +ST: get_OutputType +ST: set_OutputType +ST: get_ReferenceSurfaceSelectionBlock +ST: get_ReverseNormalDirection +ST: set_ReverseNormalDirection +ST: get_DatasetName +ST: set_DatasetName +ST: get_ExportDestination +ST: set_ExportDestination +ST: get_OutputFile +ST: set_OutputFile +ST: get_OutputFileExtension +ST: set_OutputFileExtension +ST: get_ProcessHoldFlag +ST: set_ProcessHoldFlag +ST: Commit +ST: Destroy +ST: GetCommittedObjects +ST: GetObject +ST: ShowResults +ST: get_PreviewBuilder +ST: Validate +ST: get_Tag +ST: ToString +ST: PrintTestData +ST: PrintTestData +ST: get_NextSink +ST: SyncProcessMessage +ST: AsyncProcessMessage +ST: GetLifetimeService +ST: InitializeLifetimeService +ST: CreateObjRef +ST: Equals +ST: GetHashCode +ST: GetType +ST: AdjacencyTol +ST: AngularTol +ST: AutoNormalGen +ST: ChordalTol +ST: ErrorMessageDisplay +ST: ExportSelectionBlock +ST: HeaderInfo +ST: NormalDirectionIndicator +ST: NormalDisplay +ST: OutputType +ST: ReferenceSurfaceSelectionBlock +ST: ReverseNormalDirection +ST: SheetBodyExportOption +ST: TriangleDisplay +ST: DatasetName +ST: ExportDestination +ST: OutputFile +ST: OutputFileExtension +ST: ProcessHoldFlag +ST: PreviewBuilder +ST: Tag +ST: NextSink +ST NESTED: OutputTypeEnum +ST = Binary +ST = Text +ST NESTED: SheetBodyExportOptionEnum +ST = IndividualSheets +ST = JoinSheets +=== NXOpen.ParasolidExporter 成员 === +PS: get_ExportFrom +PS: set_ExportFrom +PS: get_ExportSelectionBlock +PS: get_FlattenAssembly +PS: set_FlattenAssembly +PS: get_HeaderInformation +PS: set_HeaderInformation +PS: get_InputFile +PS: set_InputFile +PS: get_ObjectTypes +PS: get_ParasolidVersion +PS: set_ParasolidVersion +PS: get_DatasetName +PS: set_DatasetName +PS: get_ExportDestination +PS: set_ExportDestination +PS: get_OutputFile +PS: set_OutputFile +PS: get_OutputFileExtension +PS: set_OutputFileExtension +PS: get_ProcessHoldFlag +PS: set_ProcessHoldFlag +PS: Commit +PS: Destroy +PS: GetCommittedObjects +PS: GetObject +PS: ShowResults +PS: get_PreviewBuilder +PS: Validate +PS: get_Tag +PS: ToString +PS: PrintTestData +PS: PrintTestData +PS: get_NextSink +PS: SyncProcessMessage +PS: AsyncProcessMessage +PS: GetLifetimeService +PS: InitializeLifetimeService +PS: CreateObjRef +PS: Equals +PS: GetHashCode +PS: GetType +PS: ExportFrom +PS: ExportSelectionBlock +PS: FlattenAssembly +PS: HeaderInformation +PS: InputFile +PS: ObjectTypes +PS: ParasolidVersion +PS: DatasetName +PS: ExportDestination +PS: OutputFile +PS: OutputFileExtension +PS: ProcessHoldFlag +PS: PreviewBuilder +PS: Tag +PS: NextSink +PS NESTED: ExportFromOption +PS = DisplayedPart +PS = ExistingPart +PS NESTED: ParasolidVersionOption +PS = Current +PS = Ps370Nx2412 +PS = Ps361Nx2406 +PS = Ps360Nx2312 +PS = Ps351Nx2306 +PS = Ps350Nx2212 +PS = Ps341Nx2206 +PS = Ps340Nx2007 +PS = Ps331Nx1980 +PS = Ps330Nx1953 +PS = Ps320Nx1899 +PS = Ps310Nx1847 +PS = Ps301Nx120 +PS = Ps280Nx110 +PS = Ps270Nx100 +PS = Ps260Nx90 +PS = Ps250Nx85 +PS = Ps240Nx80 +PS = Ps221Nx75 +PS = Ps220Nx70 +PS = Ps190Nx60 +PS = Ps180Nx50 +PS = Ps170Nx40 +PS = Ps160Nx30 +PS = Ps150Nx20 +PS = Ps140Nx10 +PS = Ps130Ug180 +PS = Ps120Ug170 +PS = Ps110Ug160 +PS = Ps100Ug150 +PS = Ps91Ug140 +PS = Ps90Ug130 +PS = Ps80Ug120 +PS = Ps71Ug111 +PS = Ps70Ug110 +UM [类型未找到: NXOpen.UpdateManager] +=== NXOpen.Update 成员 === +UP: UpdateAllLinkedPartModulesInPart +UP: AddObjectsToDeleteList +UP: RemoveObjectsFromDeleteList +UP: GetObjectsOnDeleteList +UP: UpdateAllProductInterfaceInPart +UP: UpdateModel +UP: SetPropagateDelete +UP: LogObjectsToMakeUpToDate +UP: DoPhasedInterpartUpdate +UP: DoAssemblyInterpartUpdate +UP: get_AssemblyConstraintsDelay +UP: set_AssemblyConstraintsDelay +UP: get_ErrorList +UP: get_InterpartDelay +UP: set_InterpartDelay +UP: get_IntrapartPartModuleDelay +UP: set_IntrapartPartModuleDelay +UP: get_ModelUpdateDelay +UP: set_ModelUpdateDelay +UP: get_ProductInterfaceDelay +UP: set_ProductInterfaceDelay +UP: get_Tag +UP: AddToDeleteList +UP: AddToDeleteList +UP: RemoveFromDeleteList +UP: GetDeleteList +UP: ClearDeleteList +UP: DoUpdate +UP: ClearErrorList +UP: DoInterpartUpdate +UP: SetDefaultUpdateFailureAction +UP: GetDefaultUpdateFailureAction +UP: SetUpdateFailureAction +UP: RemoveUpdateFailureAction +UP: DoAssemblyConstraintsUpdateInPart +UP: DoAssemblyConstraintsUpdate +UP: StartLocalUpdate +UP: EndLocalUpdate +UP: UndelayObjectUpdate +UP: LogForUpdate +UP: SetUpdateLock +UP: GetUpdateLock +UP: UpdateAllIntrapartPartModulesInPart +UP: MakeUpToDate +UP: get_NextSink +UP: SyncProcessMessage +UP: AsyncProcessMessage +UP: GetLifetimeService +UP: InitializeLifetimeService +UP: CreateObjRef +UP: Equals +UP: GetHashCode +UP: GetType +UP: ToString +UP: Tag +UP: AssemblyConstraintsDelay +UP: ErrorList +UP: InterpartDelay +UP: IntrapartPartModuleDelay +UP: ModelUpdateDelay +UP: ProductInterfaceDelay +UP: NextSink +UP NESTED: Option +UP = Now +UP = Later +UP NESTED: FailureOption +UP = NoOption +UP = Undo +UP = Suppress +UP = SuppressAll +UP = Accept +UP = AcceptAll +UP = Delete +UP = DeleteDependents +UP = Interrupt +=== 全部已加载程序集 === +ASM: mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 +ASM: ManagedLoader, Version=2506.0.0.0, Culture=neutral, PublicKeyToken=null +ASM: System.Core, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 +ASM: System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 +ASM: System.Configuration, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a +ASM: System.Xml, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 +ASM: NXOpen.Utilities, Version=2506.0.0.0, Culture=neutral, PublicKeyToken=null +ASM: System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 +ASM: System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a +ASM: journal0, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null +ASM: Microsoft.VisualBasic, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a +ASM: NXOpen, Version=2506.0.0.0, Culture=neutral, PublicKeyToken=null +=== Session 所在程序集 === +SES: NXOpen, Version=2506.0.0.0, Culture=neutral, PublicKeyToken=null diff --git a/genserver-local/probe3.txt b/genserver-local/probe3.txt new file mode 100644 index 0000000..d3a62dd --- /dev/null +++ b/genserver-local/probe3.txt @@ -0,0 +1,361 @@ +=== NXOpen.StepCreator === +SC: get_ObjectTypes +SC: get_PMIValidationProperties +SC: set_PMIValidationProperties +SC: get_ReferenceType +SC: set_ReferenceType +SC: get_SettingsFile +SC: set_SettingsFile +SC: get_SystemAttributes +SC: set_SystemAttributes +SC: get_UserDefinedAttributes +SC: set_UserDefinedAttributes +SC: get_ValidationProperties +SC: set_ValidationProperties +SC: set_ExportAs +SC: get_ExportConvergentAs +SC: set_ExportConvergentAs +SC: get_ExportExtRef +SC: set_ExportExtRef +SC: get_ExportExtRefStructureAs +SC: set_ExportExtRefStructureAs +SC: get_ExportFrom +SC: set_ExportFrom +SC: get_ExportSelectionBlock +SC: get_ExportSolidsAndSurfacesAs +SC: set_ExportSolidsAndSurfacesAs +SC: get_FileSaveFlag +SC: set_FileSaveFlag +SC: get_GeometricValidationProperties +SC: set_GeometricValidationProperties +SC: get_InputFile +SC: set_InputFile +SC: get_KinematicApp +SC: set_KinematicApp +SC: get_LayerMask +SC: set_LayerMask +SC: get_Material +SC: set_Material +SC: SaveSettings +SC: get_AssemblyValidationProperties +SC: set_AssemblyValidationProperties +SC: get_Author +SC: set_Author +SC: get_Authorization +SC: set_Authorization +SC: get_BsplineTol +SC: set_BsplineTol +SC: get_CloudOfPointsProperties +SC: set_CloudOfPointsProperties +SC: get_ColorAndLayers +SC: set_ColorAndLayers +SC: get_Company +SC: set_Company +SC: get_Csys +SC: set_Csys +SC: get_Description +SC: set_Description +SC: get_EntityNames +SC: set_EntityNames +SC: get_ExportAs +SC: get_DatasetName +SC: set_DatasetName +SC: get_ExportDestination +SC: set_ExportDestination +SC: get_OutputFile +SC: set_OutputFile +SC: get_OutputFileExtension +SC: set_OutputFileExtension +SC: get_ProcessHoldFlag +SC: set_ProcessHoldFlag +SC: Commit +SC: Destroy +SC: GetCommittedObjects +SC: GetObject +SC: ShowResults +SC: get_PreviewBuilder +SC: Validate +SC: get_Tag +SC: ToString +SC: PrintTestData +SC: PrintTestData +SC: get_NextSink +SC: SyncProcessMessage +SC: AsyncProcessMessage +SC: GetLifetimeService +SC: InitializeLifetimeService +SC: CreateObjRef +SC: Equals +SC: GetHashCode +SC: GetType +SC: AssemblyValidationProperties +SC: Author +SC: Authorization +SC: BsplineTol +SC: CloudOfPointsProperties +SC: ColorAndLayers +SC: Company +SC: Csys +SC: Description +SC: EntityNames +SC: ExportAs +SC: ExportConvergentAs +SC: ExportExtRef +SC: ExportExtRefStructureAs +SC: ExportFrom +SC: ExportSelectionBlock +SC: ExportSolidsAndSurfacesAs +SC: FileSaveFlag +SC: GeometricValidationProperties +SC: InputFile +SC: KinematicApp +SC: LayerMask +SC: Material +SC: ObjectTypes +SC: PMIValidationProperties +SC: ReferenceType +SC: SettingsFile +SC: SystemAttributes +SC: UserDefinedAttributes +SC: ValidationProperties +SC: DatasetName +SC: ExportDestination +SC: OutputFile +SC: OutputFileExtension +SC: ProcessHoldFlag +SC: PreviewBuilder +SC: Tag +SC: NextSink +SC NESTED: ExportFromOption +SC = DisplayPart +SC = ExistingPart +SC NESTED: EntityNameOption +SC = LongName +SC = ShortName +SC NESTED: ExternalReferenceStructureOption +SC = Basic +SC = Nested +SC NESTED: ExportAsOption +SC = Ap203 +SC = Ap214 +SC = Ap242 +SC = Ap242ED2 +SC NESTED: ExportSolidsAndSurfacesAsOption +SC = Precise +SC = Tessellated +SC NESTED: ExportConvergentAsOption +SC = SplitPreciseAndTessellated +SC = Tessellated +SC NESTED: CsysrefEnum +SC = Absolute +SC = Wcs +SC = SpecifiedCsys +=== NXOpen.IgesCreator === +IC: get_SettingsFile +IC: set_SettingsFile +IC: get_StartSectionFile +IC: set_StartSectionFile +IC: get_SysDefidenticalPointResolution +IC: set_SysDefidenticalPointResolution +IC: get_SysDefmaxThreeDMdlSpace +IC: set_SysDefmaxThreeDMdlSpace +IC: get_UseStartSectionFile +IC: set_UseStartSectionFile +IC: get_ViewList +IC: set_ViewList +IC: set_FlattenAssembly +IC: get_IdenticalPointResolution +IC: set_IdenticalPointResolution +IC: get_InputFile +IC: set_InputFile +IC: get_Jama +IC: set_Jama +IC: get_LayerMask +IC: set_LayerMask +IC: get_MapCrossHatchTo +IC: set_MapCrossHatchTo +IC: get_MapRevolvedFacesTo +IC: set_MapRevolvedFacesTo +IC: get_MapTabCylToBSurf +IC: set_MapTabCylToBSurf +IC: get_MaxLineThickness +IC: set_MaxLineThickness +IC: get_MaxThreeDMdlSpace +IC: set_MaxThreeDMdlSpace +IC: get_ObjectTypes +IC: get_ReceiverID +IC: set_ReceiverID +IC: get_ReferenceType +IC: set_ReferenceType +IC: SaveSettings +IC: SetDrawingArray +IC: get_Author +IC: set_Author +IC: get_BcurveTol +IC: set_BcurveTol +IC: get_Company +IC: set_Company +IC: get_Csys +IC: set_Csys +IC: get_DrawingList +IC: set_DrawingList +IC: get_ExportDrawings +IC: set_ExportDrawings +IC: get_ExportFrom +IC: set_ExportFrom +IC: get_ExportModelData +IC: set_ExportModelData +IC: get_ExportSelectionBlock +IC: get_FileSaveFlag +IC: set_FileSaveFlag +IC: get_FlattenAssembly +IC: get_DatasetName +IC: set_DatasetName +IC: get_ExportDestination +IC: set_ExportDestination +IC: get_OutputFile +IC: set_OutputFile +IC: get_OutputFileExtension +IC: set_OutputFileExtension +IC: get_ProcessHoldFlag +IC: set_ProcessHoldFlag +IC: Commit +IC: Destroy +IC: GetCommittedObjects +IC: GetObject +IC: ShowResults +IC: get_PreviewBuilder +IC: Validate +IC: get_Tag +IC: ToString +IC: PrintTestData +IC: PrintTestData +IC: get_NextSink +IC: SyncProcessMessage +IC: AsyncProcessMessage +IC: GetLifetimeService +IC: InitializeLifetimeService +IC: CreateObjRef +IC: Equals +IC: GetHashCode +IC: GetType +IC: Author +IC: BcurveTol +IC: Company +IC: Csys +IC: DrawingList +IC: ExportDrawings +IC: ExportFrom +IC: ExportModelData +IC: ExportSelectionBlock +IC: FileSaveFlag +IC: FlattenAssembly +IC: IdenticalPointResolution +IC: InputFile +IC: Jama +IC: LayerMask +IC: MapCrossHatchTo +IC: MapRevolvedFacesTo +IC: MapTabCylToBSurf +IC: MaxLineThickness +IC: MaxThreeDMdlSpace +IC: ObjectTypes +IC: ReceiverID +IC: ReferenceType +IC: SettingsFile +IC: StartSectionFile +IC: SysDefidenticalPointResolution +IC: SysDefmaxThreeDMdlSpace +IC: UseStartSectionFile +IC: ViewList +IC: DatasetName +IC: ExportDestination +IC: OutputFile +IC: OutputFileExtension +IC: ProcessHoldFlag +IC: PreviewBuilder +IC: Tag +IC: NextSink +IC NESTED: ExportFromOption +IC = DisplayPart +IC = ExistingPart +IC NESTED: CsysrefEnum +IC = Absolute +IC = Wcs +IC = SpecifiedCsys +IC NESTED: MapRevolvedFacesOption +IC = BSurfaces +IC = SurfaceOfRevolution +IC NESTED: CrossHatchMapEnum +IC = SectionArea +IC = CopiousData +EX [类型未找到: NXOpen.UpdateSession] +=== Part 成员 (Update/Create) === +PT: 8 CreateSelectionList +PT: 8 CreateEmptySelectionList +PT: 8 CreatePointsFromFileBuilder +PT: 8 CreateEmptyBlendSetbackBuilder +PT: 8 CreateEmptyTransitionCurveBuilder +PT: 8 CreateEmptySpinePlaneBuilder +PT: 8 CreateImportTemplatePartBuilder +PT: 8 UpdateFromJtFile +PT: 8 CreateEmptyExpressionSectionSet +PT: 8 CreateEmptyTwoExpressionsSectionSet +PT: 8 CreateExpressionCollectorSet +PT: 8 CreateTwoExpressionsCollectorSet +PT: 8 CreateEmptyExpressionCollectorSet +PT: 8 CreateEmptyTwoExpressionsCollectorSet +PT: 8 CreateCamSetup +PT: 8 CreateInspectionSetup +PT: 8 CreateRegionPoint +PT: 8 CreateEmptyRegionPoint +PT: 8 CreatePartFamily +PT: 8 CreateWavelinkRepository +PT: 8 CreateEmptyBoundaryDefinitionBuilder +PT: 8 CreatePointSetAlignmentBuilder +PT: 8 CreateKinematicConfigurator +PT: 8 CreateBoundingObjectBuilder +PT: 8 GetUpdateStatusReport +PT: 8 CreateObjectList +PT: 8 CreateExpressionSectionSet +PT: 8 CreateTwoExpressionsSectionSet +PT: 8 CreateReferenceSet +PT: 8 CreateEffectivityConditionBuilder +PT: 8 CreateEffectivityConditionBuilder +PT: 8 CreateDynamicSectionBuilder +PT: 8 CreateGatewayGroupBuilder +PT: 8 CreatePerspectiveOptionsBuilder +PT: 8 CreateFacetSettingsBuilder +PT: 8 CreateAttributeIterator +PT: 8 CreateObjRef +PT: 128 FeatureUpdateStatus +PT: 128 UpdateFromJtFileOptions +=== PartCollection 成员 (Update/Create/New) === +PC: 8 CreateCloudDMNewPartBuilder +PC: 8 CreateGenericFileNewBuilder +PC: 8 NewPartCloseResponses +PC: 8 FileNew +PC: 8 NewDisplay +PC: 8 NewBaseDisplay +PC: 8 NewBase +=== UFModl 成员 (Update/Cyl) === +UF: 8 Update +UF: 8 UpdateAllFeatures +UF: 8 UpdateForAnimation +UF: 8 SetUpdateFailOption +UF: 8 SetDynamicUpdate +UF: 8 RecordFeatureUpdateWarnings +UF: 8 EditSmbendCylinder +UF: 8 CreateSmbendCylinder +UF: 8 CreateCyl1 +UF: 8 CreateCylPocket +UF: 8 CreateCylinder +UF: 8 AskUpdateErrorMessage +UF: 8 AskUpdateFailOption +UF: 8 AskUpdateUndoFeat +UF: 8 AskSmbendCylinder +UF: 8 AskCylPocketParms +UF: 8 AskCylinderParms +UF: 8 AskDynamicUpdate +UF: 128 SmbendCylinderData +UF: 128 UpdateOption diff --git a/genserver-local/server.err b/genserver-local/server.err new file mode 100644 index 0000000..e69de29 diff --git a/genserver-local/worker-config.txt b/genserver-local/worker-config.txt new file mode 100644 index 0000000..8d845e3 --- /dev/null +++ b/genserver-local/worker-config.txt @@ -0,0 +1,5 @@ +jobsDir=d:\开发\OnebotCatalog\genserver-local\jobs +outputDir=d:\开发\OnebotCatalog\genserver-local\output +mastersDir=d:\开发\OnebotCatalog\catalog-masters +workDir=d:\开发\OnebotCatalog\genserver-local\work +nxBin=C:\Program Files\Siemens\NX2506\NXBIN diff --git a/genserver-local/worker-no.txt b/genserver-local/worker-no.txt new file mode 100644 index 0000000..7bcb5fb --- /dev/null +++ b/genserver-local/worker-no.txt @@ -0,0 +1 @@ +1 diff --git a/motor_pdf_dump.txt b/motor_pdf_dump.txt new file mode 100644 index 0000000..26a2261 --- /dev/null +++ b/motor_pdf_dump.txt @@ -0,0 +1,347 @@ +--- PAGE 1 --- +liteECO® INTEGRATED series +Linear actuators for short stroke movements +up to 115 mm stroke and 750 N force (static) +with integrated motion controller + +--- PAGE 2 --- +Document No.: DS-LE-INTEGRATED-EN +Version 002 | 29.10.2024Page 2 +liteECO® linear actuators, INTEGRATED series Subject to change as a result +of technical improvements or new findings +LINEAR TELESCOPABLE ELECTROMECHANICAL CONCEPTliteECO® INTEGRATED linear actuators +SMELA liteECO® series are the most compact electromechanical alternative to pneumatic short-stroke cylinders due +to their patented telescopic concept of motor and mechanics. This makes them ideal for linear movements often +required in production lines, machine tools or packaging systems. +A servo motor incl. positioning sensor enables the movement of simple to complex profiles: for fixing, adjusting, +locking and following any motion profile. The highly efficient motor not only saves up to 90 % of the energy +compared to pneumatic systems. Together with the smart arrangement of the mechanics, it saves up to 80 % of +installation space compared to existing electrical solutions. In addition, the liteECO® series offers the possibility of +a simple refurbishment. Replacing worn mechanics is very easy and helps the drives to achieve several life cycles: +sustainable, cost- and resource-saving. +In addition to the servomotor and the linear mechanics, the LE-INTEGRATED actuators have an integrated motion +controller based on 24 volts and optionally on 48 volts. The actuators are controlled via EtherCAT, CANopen or +digital IOs. As with the BASE series, many advantages of electric drives are combined with essential features for high +industrial requirements and packed into the smallest possible installation space. In addition to sealing to the degree +of protection IP65, conventional M8 and M12 circular connectors have been integrated in the codings A, B, L and +Y. The maximum stroke is 85 or 115 millimetres, whereby any positioning within the maximum stroke is possible.Most compact pneumatic alternative for short stroke movements1 Overview +Advantages +High power and dynamics in a compact design +High utilization of the installation length for the stroke +Up to 90 % energy savings compared to pneumatics +Up to 80 % installation space savings compared to electrical alternatives +Features +Integrated motion controller +EtherCAT, CANopen and/or digital IO interfaces +Robust M8 and M12 circular connectors +Degree of protection IP65 +--- PAGE 3 --- +Document No.: DS-LE-INTEGRATED-EN +Version 002 | 29.10.2024Page 3 +liteECO® linear actuators, INTEGRATED series Subject to change as a result +of technical improvements or new findings +Product configuration2 Product configuration +* on request/plannedLE-----.-.--.----.--- +liteECO® INTEGRATED Interface configurationStroke length + +085 85 mm +115 115 mm +Lead screaw type and pitch (mm/revolution) +Pitch High helix Trapezoidal +2 - T020 +4 - T040 +10 S100 - +15 S150 - +24 S240 - +Size | Flange width + 50 Load capacity up to 750 N (depending on lead screw type) +.... Further sizes to followother thread configurations on request + IDIO.A Digital IO, M12 Connector variant (A - Automotive) +ICAT.A* EtherCAT, M12 Connector variant (A - Automotive) +ICAN.S* CANopen incl. digital IOs, M8 Connector variant (S - Standard) + +--- PAGE 4 --- +Document No.: DS-LE-INTEGRATED-EN +Version 002 | 29.10.2024Page 4 +liteECO® linear actuators, INTEGRATED series Subject to change as a result +of technical improvements or new findingsCharacteristics (depending on stroke length) 085 115 +Stroke S [mm] 85 115 +Length L [mm] 118.7 148.7 +Width B [mm] 50 +Height H1 [mm] 68.5 +Height H2 [mm] 85.5 +Centering collar D2 [mm] Ø 20g6 x 2.5 +Diameter plunger D1 [mm] Ø 11 +Thread on plunger M6x16 (external thread) +others on request +Weight [g] 800 850 +My, Mz (Transverse forces on the plunger) [Nm] < 1 +Coupling / bolting on the flange +Hole distance [mm] +Mounting options +M4 Tightenning torque (strength class 8.8) [Nm]42 x 42 +4 x M4 through hole (4.3 mm) +3.0 +Connections / Interfaces + Power supply + Digital IOs + EtherCAT + CANopenM12 L-coded +M12 A-coded +M12 Y-coded +M8 B-coded +Degree of protection IP65* +Materials (of the external components) +Plunger +Flange +Cover +Wiper ring (optional)Stainless steel (1.4305) +Aluminium +Stainless steel (1.4301 oder 1.4304) +HPU (Hydrolysis-resistant Polyurethan) +Deviations from standard configuration are possible on request. +* in test phase +SMELA GmbH reserves the right to make changes as a result of technical improvements or new findings.3 Technical data - dimensions, mechanical connection +Technical data, dimensions +Size | Flange width 50 + +--- PAGE 5 --- +Document No.: DS-LE-INTEGRATED-EN +Version 002 | 29.10.2024Page 5 +liteECO® linear actuators, INTEGRATED series Subject to change as a result +of technical improvements or new findings +50 +68.5 (H1)42 +42Ø20g6 +10 16116.2 M6x1Ø11 +118.7 (L)76.24x Ø4.3 +85.5 (H2)Dimensions, mechanical connection +Size | Flange width 50 | Stroke 85 mm3 Technical data - dimensions, mechanical connection +My +Mz +Plan the actuators directly into your design! + + +Latest data sheets and CAD models are available on request via sales@smela.com +or at: www.smela.comXD1 +X1 +X0EXT +Illustration shows interface configuration IDIO.A +--- PAGE 6 --- +Document No.: DS-LE-INTEGRATED-EN +Version 002 | 29.10.2024Page 6 +liteECO® linear actuators, INTEGRATED series Subject to change as a result +of technical improvements or new findings3 Technical data - dimensions, mechanical connection +50 +68.5 (H1)42 +42Ø20g6 +10 16116.2 M6x1Ø11 +148.7 (L)76.24x Ø4.3 +85.5 (H2)Dimensions, mechanical connection +Size | Flange width 50 | Stroke 115 mm +My +Mz +Illustration shows interface configuration IDIO.AXD1 +X1 +X0EXT +--- PAGE 7 --- +Document No.: DS-LE-INTEGRATED-EN +Version 002 | 29.10.2024Page 7 +liteECO® linear actuators, INTEGRATED series Subject to change as a result +of technical improvements or new findings +4 Performance data - mechanical +Plan the actuators directly into your design! + + +Latest data sheets and CAD models are available on request via sales@smela.com +or at: www.smela.comSMELA GmbH reserves the right to make changes as a result of technical improvements or new findings. +Explanatory footnotes: +1) Limit load capacity: max. static force and axial load capacity of the internal mechanics; + exceeding loads are not permissible and must be absorbed by external mechanics or brakes +2) The backlash is wear-dependent, the wear is dependent on load and dynamics +3) Maximum permissible force and the corresponding proportional phase current must not be exceed in order to protect the internal mechanics. + The max. phase current of the rotary motor Imax may furthermore be applied for max. 20 seconds in order not to exceed + the internal limit temperature starting from an initial temperature of the actuator of 20°C +4) Permissible permanent nom. force / permissible nom. phase current not to exceed the internal limit temperature at an embient temperature of 20 °C + Determined by a slow and permanent movement under load (quasi-static method) for the normal case, i.e. the connection of the actuator + to a metal body with a thermal contact resistance to air of 1.7 K/W. In case of a worse thermal coupling, limit to the nom. current of the worst + case (3 A, see chart on page 8 and footnote 11) +5) The max. speed depends on voltage. The characteristics shown refer to a nom. voltage of 24 V (at the actuator); +6) During braking (negative acceleration), energy is generated and fed back into the DC link; if the DC link is not capable or regenerative braking, + care must be taken to ensure that the DC link capacitance is adequately dimensioned and that an additional braking resitor is used +7) Over the stroke of 45 mm with a rated voltage of min. 24 V (at the actuator), without loadMechanical performance data +Size | Flange width 50 +The following maximum achievable performance data are based on the permissible load capacity for the thread +pairs used and the motor. Limiting parameters are, among others, the static load capacity of the nut configuration, +the permissible sliding speed and the permissible peak and nominal currents of the integrated servomotor (see fol - +lowing page). In practice, due to the reciprocal effects of influences, it may not always be possible to reach the limit +values, in particular peak force and maximum speed cannot occur simultaneously. Any increase in the load leads to +a reduction in the permissible sliding speeds and vice versa. Please do not hesitate to ask us about the technical +feasibility of your motion profiles. +Lead screw +configurationLimit load +capacity1)Backlash2)Peak force3) / +Peak current3)Nom. force4) / +Nom. current4)Max. speed5)Max. +acceleration6)Positioning +time7) +N mm N / A N / A mm/s m/s² ms +High helix +S100 370 +approx. +±0.1300 / 12 125 / 5 500 25 120 +S150 370 200 / 12 83 / 5 750 37.5 85 +S240 315 125 / 12 52 / 5 1.200 60 65 +Trapezoidal thread +T020 750 approx. +±0.1750 / 6 625 / 5 50 2,5 900 +T040 750 750 / 12 313 / 5 100 5 450 +--- PAGE 8 --- +Document No.: DS-LE-INTEGRATED-EN +Version 002 | 29.10.2024Page 8 +liteECO® linear actuators, INTEGRATED series Subject to change as a result +of technical improvements or new findings4 Performance data - electrical +Symbol Unit +Power supplies, general Min. Typ. Max. +Power supply logic UlogicVdc19 24 30 +Power supply motor UmotorVdc19 24 30 +Current consumption logic IlogicmA 100 110 310 +Current consumption motor ImotorA 0 3 15 +Operating temperature9)Tamb°C +5 +20 +40 +Internal temperature limit9) Tint,max °C +90 +Digital IO logic PNP 24 V +CANopen protocol CiA 301 v4.2, CiA 305 v.2.2.13 and CiA 402 v3.0 +EtherCAT protocol - - CoE, CiA402, IEC61800-7-301 +Motor parameters (for parameterization and profile calculation) +Max. permissible speed +(equal to no-load speed at 24 V) 8) nmax = n0min-13,025 +Max. acceleration 6)αmaxrad/s² 16,610 +Max. motor phase current 3)ImaxA 12 +Thermal time constant (winding) 10)τth,ws 20 +Nom. current 4) +poor thermal connection 11) +good thermal connection12)IN,wc +IN,ncA +A3 +5 +Max. torque (at Imax) MmaxmNm 750 +Torque constant kMmNm/A 62.5 +Speed constant 13)knmin-1/V 126 +Terminal resistance RSmΩ 585 +Terminal inductance 14)LSµH 300 +Electrical time constant 14)τelms 0.512 +Number of pole pairs zP- 7 +Rotor inertia 15)J g ∙ cm² 455 +SMELA GmbH reserves the right to make changes as a result of technical improvements or new findings. + +Explanatory footnotes: +8) The characteristic data refer to a nominal voltage of 24 V (at the actuator); +9) Max. permissible ambient temperature; The internal temperature limit must not be exceeded +10) The max. phase current Imax is to be applied for a duration of max. τth,w in order not to exceed the internal temperature limit of Tint,max + starting from an initial temperature of the actuator Tint = Tamb = 20°C +11) With thermal insulation (actuator horizontal in static air at 20°C, 80% humidity, thermal contact resistance to air = 5 K/W) +12) When connected to a metal body with a thermal transfer resistance to air of 1.7 K/W +13) Related to measured peak voltage, no RMS value, phase to phase +14) Phase to phase; measured at 1 kHz, 1V rms +15) Calculated value without linear unitElectrical performance data +Size | Flange width 50 +--- PAGE 9 --- +Document No.: DS-LE-INTEGRATED-EN +Version 002 | 29.10.2024Page 9 +liteECO® linear actuators, INTEGRATED series Subject to change as a result +of technical improvements or new findings5 Connection variants | Pin assignment +Power supply 24 VDC +M12, L-coded, 5 pin, male +Pin Function +1 not used +2 0 VDC (Power supply motor) +3 not used +4 24 VDC (Power supply motor) +5 FE +Digital IN, control (IDIO variant) +M12, A-coded, 4/5 pin, male +Pin Function +1 not used +2 Control command „Retract“ +3 0 VDC +4 Control command „Extend“ +5 not usedConnectors, interfaces +Automotive variants (A) with M12 connectors +Digital OUT, feedback (IDIO variant) +M12, A-coded, 5 pin, male +Pin Function +1 24 VDC (Power supply logic) +2 Feedback „Retracted“ +3 0 VDC (Power supply logic) +4 Feedback „Extended“ +5 FE (optional) +EtherCAT (ICAT variant) +M12, Y-coded, 8 pin, female for in & out +Pin Function +1 TX+ +2 TX- +3 RX+ +4 RX- +5 0 VDC (Power supply logic) +6 24 VDC (Power supply logic) +7 24 VDC (Power supply logic) +8 0 VDC (Power supply logic)XD1 +X0 +X1 +Y0, Y1 +--- PAGE 10 --- +Document No.: DS-LE-INTEGRATED-EN +Version 002 | 29.10.2024Page 10 +liteECO® linear actuators, INTEGRATED series Subject to change as a result +of technical improvements or new findings5 Connection variants | Pin assignment +CANopen +M8, B-coded, 5 pin, male for in, female for out +Pin Function +1 CAN V+ +2 CAN SHIELD +3 CAN H +4 CAN L +5 CAN GND +IO Connector +M12, A-coded, 12 pin, female +Pin Function +1 DIO V+ +2 DIO GND +3 DIN 1 +4 DIN 2 +5 DIN 3 +6 LIMIT 1 +7 LIMIT 2 +8 DOUT +9 AIN+ +10 AIN- +11 not used +12 not usedPower supply 24 VDC +M12, L-coded, 5 pin, male +Pin Function +1 0 VDC (Power supply logic) +2 0 VDC (Power supply motor) +3 24 VDC (Power supply logic ) +4 24 VDC (Power supply motor ) +5 FEConnectors, interfaces +Standard Variants (S) with M8 & M12 connectors +XD1 +C0 C1 +IO +--- PAGE 11 --- +Document No.: DS-LE-INTEGRATED-EN +Version 002 | 29.10.2024Page 11 +liteECO® linear actuators, INTEGRATED series Subject to change as a result +of technical improvements or new findingsNotes +Notes + +--- PAGE 12 --- +Document No.: DS-LE-INTEGRATED-EN +Version 002 | 29.10.2024Page 12 +liteECO® linear actuators, INTEGRATED series Subject to change as a result +of technical improvements or new findings +SMELA GmbH +Liebknechtstraße 55 +DE-39108 Magdeburg +www.smela.com +info@smela.com | sales@smela.com \ No newline at end of file diff --git a/onebot-data/catalog/catalog.json b/onebot-data/catalog/catalog.json new file mode 100644 index 0000000..dc871f0 --- /dev/null +++ b/onebot-data/catalog/catalog.json @@ -0,0 +1 @@ +{"schemaVersion":"1.0","genApi":"","catalogName":"ONEBOT 气动元件目录","catalogNameEn":"ONEBOT Pneumatic Catalog","catalogVersion":"2026.08","defaultLang":"zh","langs":["zh","en"],"categories":[{"code":"AUT","nameZh":"汽车行业气缸 Automotive","nameEn":"Automotive Cylinders","keywords":"","series":["KC","KCB","KSB","KCS","KS","KSU"]},{"code":"MIN","nameZh":"不锈钢迷你缸 (ISO6432)","nameEn":"Stainless Mini Cylinders (ISO6432)","keywords":"","series":["M","MS","MSC"]},{"code":"ALU","nameZh":"铝合金迷你缸","nameEn":"Aluminium Mini Cylinders","keywords":"","series":["MAL","MALC"]},{"code":"CLM","nameZh":"气动夹紧缸","nameEn":"Pneumatic Clamping Cylinders","keywords":"","series":["UCBM"]},{"code":"PIN","nameZh":"气动可伸缩定位销","nameEn":"Pneumatic Retractable Locating Pins","keywords":"","series":["ULP"]},{"code":"HOK","nameZh":"气动勾销缸","nameEn":"Pneumatic Pin Clamp Cylinders","keywords":"","series":["USP"]},{"code":"GRP","nameZh":"气动夹爪缸","nameEn":"Pneumatic Gripper Cylinders","keywords":"","series":["UGP"]},{"code":"ROT","nameZh":"气动翻转缸","nameEn":"Pneumatic Flip Cylinders","keywords":"","series":["UAGP"]},{"code":"ELEC","nameZh":"电动气缸","nameEn":"Electric Cylinders","keywords":"","series":["LAE"]}],"series":[]} \ No newline at end of file diff --git a/onebot-data/catalog/crossref.csv b/onebot-data/catalog/crossref.csv new file mode 100644 index 0000000..86899c0 --- /dev/null +++ b/onebot-data/catalog/crossref.csv @@ -0,0 +1,504 @@ +brand,foreign_model,our_model,note +JELPC,SQ32-100,KCS0032-100,基础型平替(待核对) +JELPC,SQ32-10,KCS0032-10,基础型平替(待核对) +JELPC,SQ32-50,KCS0032-50,基础型平替(待核对) +SMC,SQ32-50,KCS0032-50,基础型平替(待核对) +AIRTAC,JSCK50XXXXAM1CHLK,UCBM50,"德系对照表: 夹紧气缸 (自动映射, 待核对)" +AIRTAC,JSCK50XXXXAM3CHLK,UCBM50,"德系对照表: 夹紧气缸 (自动映射, 待核对)" +AIRTAC,JSCK50XXXXAM3LHLK,UCBM50,"德系对照表: 夹紧气缸 (自动映射, 待核对)" +AIRTAC,JSCK50XXXXAM3RHLK,UCBM50,"德系对照表: 夹紧气缸 (自动映射, 待核对)" +AIRTAC,JSCK63XXXXAM1CHL,UCBM63,"德系对照表: 夹紧气缸 (自动映射, 待核对)" +AIRTAC,JSCK63XXXXAM1CHLK,UCBM63,"德系对照表: 夹紧气缸 (自动映射, 待核对)" +AIRTAC,JSCK63XXXXAM3CHL,UCBM63,"德系对照表: 夹紧气缸 (自动映射, 待核对)" +AIRTAC,JSCK63XXXXAM3CHLK,UCBM63,"德系对照表: 夹紧气缸 (自动映射, 待核对)" +AIRTAC,JSCK63XXXXAM3LHLK,UCBM63,"德系对照表: 夹紧气缸 (自动映射, 待核对)" +AIRTAC,JSCKV50XXXXAM1CHLK,UCBM50,"德系对照表: 夹紧气缸 (自动映射, 待核对)" +AIRTAC,JSCKV50XXXXAM3CHLK,UCBM50,"德系对照表: 夹紧气缸 (自动映射, 待核对)" +AIRTAC,JSCKV50XXXXAM3LHLK,UCBM50,"德系对照表: 夹紧气缸 (自动映射, 待核对)" +AIRTAC,JSCKV50XXXXAM3RHLK,UCBM50,"德系对照表: 夹紧气缸 (自动映射, 待核对)" +AIRTAC,JSCKV63XXXXAM1CHL,UCBM63,"德系对照表: 夹紧气缸 (自动映射, 待核对)" +AIRTAC,JSCKV63XXXXAM1CHLK,UCBM63,"德系对照表: 夹紧气缸 (自动映射, 待核对)" +AIRTAC,JSCKV63XXXXAM3CHL,UCBM63,"德系对照表: 夹紧气缸 (自动映射, 待核对)" +AIRTAC,JSCKV63XXXXAM3CHLK,UCBM63,"德系对照表: 夹紧气缸 (自动映射, 待核对)" +AIRTAC,JSCKV63XXXXAM3LHLK,UCBM63,"德系对照表: 夹紧气缸 (自动映射, 待核对)" +AIRTAC,JSCKV63XXXXAM3RHLK,UCBM63,"德系对照表: 夹紧气缸 (自动映射, 待核对)" +AIRTAC,JSK40AM1CKNXXXX,UCBM40,"德系对照表: 夹紧气缸 (自动映射, 待核对)" +AIRTAC,JSK40AM1CKXXXX,UCBM40,"德系对照表: 夹紧气缸 (自动映射, 待核对)" +AIRTAC,JSK40AM1LKXXXX,UCBM40,"德系对照表: 夹紧气缸 (自动映射, 待核对)" +AIRTAC,JSK40AM1RKXXXX,UCBM40,"德系对照表: 夹紧气缸 (自动映射, 待核对)" +AIRTAC,JSK40AM3CKNXXXX,UCBM40,"德系对照表: 夹紧气缸 (自动映射, 待核对)" +AIRTAC,JSK40AM3CKXXXX,UCBM40,"德系对照表: 夹紧气缸 (自动映射, 待核对)" +AIRTAC,JSK40AM3LKXXXX,UCBM40,"德系对照表: 夹紧气缸 (自动映射, 待核对)" +AIRTAC,JSK40AM3RKXXXX,UCBM40,"德系对照表: 夹紧气缸 (自动映射, 待核对)" +AIRTAC,JSK50AM1CKNXXXX,UCBM50,"德系对照表: 夹紧气缸 (自动映射, 待核对)" +AIRTAC,JSK50AM1CKXXXX,UCBM50,"德系对照表: 夹紧气缸 (自动映射, 待核对)" +AIRTAC,JSK50AM1LKXXXX,UCBM50,"德系对照表: 夹紧气缸 (自动映射, 待核对)" +AIRTAC,JSK50AM1RKXXXX,UCBM50,"德系对照表: 夹紧气缸 (自动映射, 待核对)" +AIRTAC,JSK50AM3CKNXXXX,UCBM50,"德系对照表: 夹紧气缸 (自动映射, 待核对)" +AIRTAC,JSK50AM3CKXXXX,UCBM50,"德系对照表: 夹紧气缸 (自动映射, 待核对)" +AIRTAC,JSK50AM3LKXXXX,UCBM50,"德系对照表: 夹紧气缸 (自动映射, 待核对)" +AIRTAC,JSK50AM3RKXXXX,UCBM50,"德系对照表: 夹紧气缸 (自动映射, 待核对)" +AIRTAC,JSK63AM1CKNXXXX,UCBM63,"德系对照表: 夹紧气缸 (自动映射, 待核对)" +AIRTAC,JSK63AM1CKXXXX,UCBM63,"德系对照表: 夹紧气缸 (自动映射, 待核对)" +AIRTAC,JSK63AM1CXXXX,UCBM63,"德系对照表: 夹紧气缸 (自动映射, 待核对)" +AIRTAC,JSK63AM1LKXXXX,UCBM63,"德系对照表: 夹紧气缸 (自动映射, 待核对)" +AIRTAC,JSK63AM1RKXXXX,UCBM63,"德系对照表: 夹紧气缸 (自动映射, 待核对)" +AIRTAC,JSK63AM3CKNXXXX,UCBM63,"德系对照表: 夹紧气缸 (自动映射, 待核对)" +AIRTAC,JSK63AM3CKXXXX,UCBM63,"德系对照表: 夹紧气缸 (自动映射, 待核对)" +AIRTAC,JSK63AM3CXXXX,UCBM63,"德系对照表: 夹紧气缸 (自动映射, 待核对)" +AIRTAC,JSK63AM3LKXXXX,UCBM63,"德系对照表: 夹紧气缸 (自动映射, 待核对)" +AIRTAC,JSK63AM3LXXXX,UCBM63,"德系对照表: 夹紧气缸 (自动映射, 待核对)" +AIRTAC,JSK63AM3RKXXXX,UCBM63,"德系对照表: 夹紧气缸 (自动映射, 待核对)" +AIRTAC,JSK63AM3RXXXX,UCBM63,"德系对照表: 夹紧气缸 (自动映射, 待核对)" +AIRTAC,JSK80AM3CKXXXX,UCBM80,"德系对照表: 夹紧气缸 (自动映射, 待核对)" +AIRTAC,JSK80AM3LKXXXX,UCBM80,"德系对照表: 夹紧气缸 (自动映射, 待核对)" +AIRTAC,JSK80AM3RKXXXX,UCBM80,"德系对照表: 夹紧气缸 (自动映射, 待核对)" +AIRTAC,JSKV40AM1CKNXXXX,UCBM40,"德系对照表: 夹紧气缸 (自动映射, 待核对)" +AIRTAC,JSKV40AM1CKXXXX,UCBM40,"德系对照表: 夹紧气缸 (自动映射, 待核对)" +AIRTAC,JSKV40AM1LKXXXX,UCBM40,"德系对照表: 夹紧气缸 (自动映射, 待核对)" +AIRTAC,JSKV40AM1RKXXXX,UCBM40,"德系对照表: 夹紧气缸 (自动映射, 待核对)" +AIRTAC,JSKV40AM3CKNXXXX,UCBM40,"德系对照表: 夹紧气缸 (自动映射, 待核对)" +AIRTAC,JSKV40AM3CKXXXX,UCBM40,"德系对照表: 夹紧气缸 (自动映射, 待核对)" +AIRTAC,JSKV40AM3LKXXXX,UCBM40,"德系对照表: 夹紧气缸 (自动映射, 待核对)" +AIRTAC,JSKV40AM3RKXXXX,UCBM40,"德系对照表: 夹紧气缸 (自动映射, 待核对)" +AIRTAC,JSKV50AM1CKNXXXX,UCBM50,"德系对照表: 夹紧气缸 (自动映射, 待核对)" +AIRTAC,JSKV50AM1LKXXXX,UCBM50,"德系对照表: 夹紧气缸 (自动映射, 待核对)" +AIRTAC,JSKV50AM1RKXXXX,UCBM50,"德系对照表: 夹紧气缸 (自动映射, 待核对)" +AIRTAC,JSKV50AM3CKNXXXX,UCBM50,"德系对照表: 夹紧气缸 (自动映射, 待核对)" +AIRTAC,JSKV50AM3CKXXXX,UCBM50,"德系对照表: 夹紧气缸 (自动映射, 待核对)" +AIRTAC,JSKV50AM3LKXXXX,UCBM50,"德系对照表: 夹紧气缸 (自动映射, 待核对)" +AIRTAC,JSKV50AM3RKXXXX,UCBM50,"德系对照表: 夹紧气缸 (自动映射, 待核对)" +AIRTAC,JSKV63AM1CKNXXXX,UCBM63,"德系对照表: 夹紧气缸 (自动映射, 待核对)" +AIRTAC,JSKV63AM1CKXXXX,UCBM63,"德系对照表: 夹紧气缸 (自动映射, 待核对)" +AIRTAC,JSKV63AM1CXXXX,UCBM63,"德系对照表: 夹紧气缸 (自动映射, 待核对)" +AIRTAC,JSKV63AM1LKXXXX,UCBM63,"德系对照表: 夹紧气缸 (自动映射, 待核对)" +AIRTAC,JSKV63AM1RKXXXX,UCBM63,"德系对照表: 夹紧气缸 (自动映射, 待核对)" +AIRTAC,JSKV63AM3CKNXXXX,UCBM63,"德系对照表: 夹紧气缸 (自动映射, 待核对)" +AIRTAC,JSKV63AM3CKXXXX,UCBM63,"德系对照表: 夹紧气缸 (自动映射, 待核对)" +AIRTAC,JSKV63AM3CXXXX,UCBM63,"德系对照表: 夹紧气缸 (自动映射, 待核对)" +AIRTAC,JSKV63AM3LKXXXX,UCBM63,"德系对照表: 夹紧气缸 (自动映射, 待核对)" +AIRTAC,JSKV63AM3LXXXX,UCBM63,"德系对照表: 夹紧气缸 (自动映射, 待核对)" +AIRTAC,JSKV63AM3RKXXXX,UCBM63,"德系对照表: 夹紧气缸 (自动映射, 待核对)" +AIRTAC,JSKV63AM3RXXXX,UCBM63,"德系对照表: 夹紧气缸 (自动映射, 待核对)" +AIRTAC,JSKV80AM3CKXXXX,UCBM80,"德系对照表: 夹紧气缸 (自动映射, 待核对)" +AIRTAC,JSKV80AM3LKXXXX,UCBM80,"德系对照表: 夹紧气缸 (自动映射, 待核对)" +AIRTAC,JSKV80AM3RKXXXX,UCBM80,"德系对照表: 夹紧气缸 (自动映射, 待核对)" +DESTACO,82M-3E230080L8ULR45-XXX,UCBM80,"德系对照表: 夹紧气缸 (自动映射, 待核对)" +DESTACO,82M-3E230080L8ULS45-XXX,UCBM80,"德系对照表: 夹紧气缸 (自动映射, 待核对)" +DESTACO,82M-3E230080L8UMR45-XXX,UCBM80,"德系对照表: 夹紧气缸 (自动映射, 待核对)" +DESTACO,82M-3E230080L8UMS45-XXX,UCBM80,"德系对照表: 夹紧气缸 (自动映射, 待核对)" +DESTACO,82M-3E230080L8URR45-XXX,UCBM80,"德系对照表: 夹紧气缸 (自动映射, 待核对)" +DESTACO,82M-3E230080L8URS45-XXX,UCBM80,"德系对照表: 夹紧气缸 (自动映射, 待核对)" +DESTACO,82M-4C030040L8ULR15-XXX,UCBM40,"德系对照表: 夹紧气缸 (自动映射, 待核对)" +DESTACO,82M-4C030040L8ULR45-XXX,UCBM40,"德系对照表: 夹紧气缸 (自动映射, 待核对)" +DESTACO,82M-4C030040L8ULS15-XXX,UCBM40,"德系对照表: 夹紧气缸 (自动映射, 待核对)" +DESTACO,82M-4C030040L8ULS45-XXX,UCBM40,"德系对照表: 夹紧气缸 (自动映射, 待核对)" +DESTACO,82M-4C030040L8UMR15-XXX,UCBM40,"德系对照表: 夹紧气缸 (自动映射, 待核对)" +DESTACO,82M-4C030040L8UMR45-XXX,UCBM40,"德系对照表: 夹紧气缸 (自动映射, 待核对)" +DESTACO,82M-4C030040L8UMS15-XXX,UCBM40,"德系对照表: 夹紧气缸 (自动映射, 待核对)" +DESTACO,82M-4C030040L8UMS45-XXX,UCBM40,"德系对照表: 夹紧气缸 (自动映射, 待核对)" +DESTACO,82M-4C030040L8URR15-XXX,UCBM40,"德系对照表: 夹紧气缸 (自动映射, 待核对)" +DESTACO,82M-4C030040L8URR45-XXX,UCBM40,"德系对照表: 夹紧气缸 (自动映射, 待核对)" +DESTACO,82M-4C030040L8URS15-XXX,UCBM40,"德系对照表: 夹紧气缸 (自动映射, 待核对)" +DESTACO,82M-4C030040L8URS45-XXX,UCBM40,"德系对照表: 夹紧气缸 (自动映射, 待核对)" +DESTACO,82M-4C030040N8UMR15-XXX,UCBM40,"德系对照表: 夹紧气缸 (自动映射, 待核对)" +DESTACO,82M-4C030040N8UMR45-XXX,UCBM40,"德系对照表: 夹紧气缸 (自动映射, 待核对)" +DESTACO,82M-4C030040N8UMS15-XXX,UCBM40,"德系对照表: 夹紧气缸 (自动映射, 待核对)" +DESTACO,82M-4C030040N8UMS45-XXX,UCBM40,"德系对照表: 夹紧气缸 (自动映射, 待核对)" +DESTACO,82M-4C030050L8ULR15-XXX,UCBM50,"德系对照表: 夹紧气缸 (自动映射, 待核对)" +DESTACO,82M-4C030050L8ULR45-XXX,UCBM50,"德系对照表: 夹紧气缸 (自动映射, 待核对)" +DESTACO,82M-4C030050L8ULS15-XXX,UCBM50,"德系对照表: 夹紧气缸 (自动映射, 待核对)" +DESTACO,82M-4C030050L8ULS45-XXX,UCBM50,"德系对照表: 夹紧气缸 (自动映射, 待核对)" +DESTACO,82M-4C030050L8UMR15-XXX,UCBM50,"德系对照表: 夹紧气缸 (自动映射, 待核对)" +DESTACO,82M-4C030050L8UMR45-XXX,UCBM50,"德系对照表: 夹紧气缸 (自动映射, 待核对)" +DESTACO,82M-4C030050L8UMS15-XXX,UCBM50,"德系对照表: 夹紧气缸 (自动映射, 待核对)" +DESTACO,82M-4C030050L8UMS45-XXX,UCBM50,"德系对照表: 夹紧气缸 (自动映射, 待核对)" +DESTACO,82M-4C030050L8URR15-XXX,UCBM50,"德系对照表: 夹紧气缸 (自动映射, 待核对)" +DESTACO,82M-4C030050L8URR45-XXX,UCBM50,"德系对照表: 夹紧气缸 (自动映射, 待核对)" +DESTACO,82M-4C030050L8URS15-XXX,UCBM50,"德系对照表: 夹紧气缸 (自动映射, 待核对)" +DESTACO,82M-4C030050L8URS45-XXX,UCBM50,"德系对照表: 夹紧气缸 (自动映射, 待核对)" +DESTACO,82M-4C030050N8UMR15-XXX,UCBM50,"德系对照表: 夹紧气缸 (自动映射, 待核对)" +DESTACO,82M-4C030050N8UMR45-XXX,UCBM50,"德系对照表: 夹紧气缸 (自动映射, 待核对)" +DESTACO,82M-4C030050N8UMS15-XXX,UCBM50,"德系对照表: 夹紧气缸 (自动映射, 待核对)" +DESTACO,82M-4C030050N8UMS45-XXX,UCBM50,"德系对照表: 夹紧气缸 (自动映射, 待核对)" +DESTACO,82M-4C03006300ULR45-XXX,UCBM63,"德系对照表: 夹紧气缸 (自动映射, 待核对)" +DESTACO,82M-4C03006300ULS45-XXX,UCBM63,"德系对照表: 夹紧气缸 (自动映射, 待核对)" +DESTACO,82M-4C03006300UMR15-XXX,UCBM63,"德系对照表: 夹紧气缸 (自动映射, 待核对)" +DESTACO,82M-4C03006300UMR45-XXX,UCBM63,"德系对照表: 夹紧气缸 (自动映射, 待核对)" +DESTACO,82M-4C03006300UMS15-XXX,UCBM63,"德系对照表: 夹紧气缸 (自动映射, 待核对)" +DESTACO,82M-4C03006300UMS45-XXX,UCBM63,"德系对照表: 夹紧气缸 (自动映射, 待核对)" +DESTACO,82M-4C03006300URR45-XXX,UCBM63,"德系对照表: 夹紧气缸 (自动映射, 待核对)" +DESTACO,82M-4C03006300URS45-XXX,UCBM63,"德系对照表: 夹紧气缸 (自动映射, 待核对)" +DESTACO,82M-4C030063L8ULR15-XXX,UCBM63,"德系对照表: 夹紧气缸 (自动映射, 待核对)" +DESTACO,82M-4C030063L8ULR45-XXX,UCBM63,"德系对照表: 夹紧气缸 (自动映射, 待核对)" +DESTACO,82M-4C030063L8ULS15-XXX,UCBM63,"德系对照表: 夹紧气缸 (自动映射, 待核对)" +DESTACO,82M-4C030063L8ULS45-XXX,UCBM63,"德系对照表: 夹紧气缸 (自动映射, 待核对)" +DESTACO,82M-4C030063L8UMR15-XXX,UCBM63,"德系对照表: 夹紧气缸 (自动映射, 待核对)" +DESTACO,82M-4C030063L8UMR45-XXX,UCBM63,"德系对照表: 夹紧气缸 (自动映射, 待核对)" +DESTACO,82M-4C030063L8UMS15-XXX,UCBM63,"德系对照表: 夹紧气缸 (自动映射, 待核对)" +DESTACO,82M-4C030063L8UMS45-XXX,UCBM63,"德系对照表: 夹紧气缸 (自动映射, 待核对)" +DESTACO,82M-4C030063L8URR15-XXX,UCBM63,"德系对照表: 夹紧气缸 (自动映射, 待核对)" +DESTACO,82M-4C030063L8URR45-XXX,UCBM63,"德系对照表: 夹紧气缸 (自动映射, 待核对)" +DESTACO,82M-4C030063L8URS15-XXX,UCBM63,"德系对照表: 夹紧气缸 (自动映射, 待核对)" +DESTACO,82M-4C030063L8URS45-XXX,UCBM63,"德系对照表: 夹紧气缸 (自动映射, 待核对)" +DESTACO,82M-4C030063N8UMR15-XXX,UCBM63,"德系对照表: 夹紧气缸 (自动映射, 待核对)" +DESTACO,82M-4C030063N8UMR45-XXX,UCBM63,"德系对照表: 夹紧气缸 (自动映射, 待核对)" +DESTACO,82M-4C030063N8UMS15-XXX,UCBM63,"德系对照表: 夹紧气缸 (自动映射, 待核对)" +DESTACO,82M-4C030063N8UMS45-XXX,UCBM63,"德系对照表: 夹紧气缸 (自动映射, 待核对)" +DESTACO,82M-4C03H050L8ULR45-XXX,UCBM50,"德系对照表: 夹紧气缸 (自动映射, 待核对)" +DESTACO,82M-4C03H050L8ULS45-XXX,UCBM50,"德系对照表: 夹紧气缸 (自动映射, 待核对)" +DESTACO,82M-4C03H050L8UMR15-XXX,UCBM50,"德系对照表: 夹紧气缸 (自动映射, 待核对)" +DESTACO,82M-4C03H050L8UMR45-XXX,UCBM50,"德系对照表: 夹紧气缸 (自动映射, 待核对)" +DESTACO,82M-4C03H050L8UMS15-XXX,UCBM50,"德系对照表: 夹紧气缸 (自动映射, 待核对)" +DESTACO,82M-4C03H050L8UMS45-XXX,UCBM50,"德系对照表: 夹紧气缸 (自动映射, 待核对)" +DESTACO,82M-4C03H050L8URR45-XXX,UCBM50,"德系对照表: 夹紧气缸 (自动映射, 待核对)" +DESTACO,82M-4C03H050L8URS45-XXX,UCBM50,"德系对照表: 夹紧气缸 (自动映射, 待核对)" +DESTACO,82M-4C03H06300UMR15-XXX,UCBM63,"德系对照表: 夹紧气缸 (自动映射, 待核对)" +DESTACO,82M-4C03H06300UMR45-XXX,UCBM63,"德系对照表: 夹紧气缸 (自动映射, 待核对)" +DESTACO,82M-4C03H06300UMS15-XXX,UCBM63,"德系对照表: 夹紧气缸 (自动映射, 待核对)" +DESTACO,82M-4C03H06300UMS45-XXX,UCBM63,"德系对照表: 夹紧气缸 (自动映射, 待核对)" +DESTACO,82M-4C03H063L8ULR45-XXX,UCBM63,"德系对照表: 夹紧气缸 (自动映射, 待核对)" +DESTACO,82M-4C03H063L8ULS45-XXX,UCBM63,"德系对照表: 夹紧气缸 (自动映射, 待核对)" +DESTACO,82M-4C03H063L8UMR15-XXX,UCBM63,"德系对照表: 夹紧气缸 (自动映射, 待核对)" +DESTACO,82M-4C03H063L8UMR45-XXX,UCBM63,"德系对照表: 夹紧气缸 (自动映射, 待核对)" +DESTACO,82M-4C03H063L8UMS15-XXX,UCBM63,"德系对照表: 夹紧气缸 (自动映射, 待核对)" +DESTACO,82M-4C03H063L8UMS45-XXX,UCBM63,"德系对照表: 夹紧气缸 (自动映射, 待核对)" +DESTACO,82M-4C03H063L8URS45-XXX,UCBM63,"德系对照表: 夹紧气缸 (自动映射, 待核对)" +DESTACO,DUP80**,UAGP080_W,"德系对照表: 翻转气缸 (自动映射, 待核对)" +DESTACO,UPU80**,UAGP080_W,"德系对照表: 翻转气缸 (自动映射, 待核对)" +DOTRAN,DC40HA10S12GXXX,UCBM40,"德系对照表: 夹紧气缸 (自动映射, 待核对)" +DOTRAN,DC40HA10S14GXXX,UCBM40,"德系对照表: 夹紧气缸 (自动映射, 待核对)" +DOTRAN,DC40HA11S12GXXX,UCBM40,"德系对照表: 夹紧气缸 (自动映射, 待核对)" +DOTRAN,DC40HA12S12GXXX,UCBM40,"德系对照表: 夹紧气缸 (自动映射, 待核对)" +DOTRAN,DC40HA50S12GXXX,UCBM40,"德系对照表: 夹紧气缸 (自动映射, 待核对)" +DOTRAN,DC40HA50S14GXXX,UCBM40,"德系对照表: 夹紧气缸 (自动映射, 待核对)" +DOTRAN,DC40HA51S12GXXX,UCBM40,"德系对照表: 夹紧气缸 (自动映射, 待核对)" +DOTRAN,DC40HA52S12GXXX,UCBM40,"德系对照表: 夹紧气缸 (自动映射, 待核对)" +DOTRAN,DC40VA10S12GXXX,UCBM40,"德系对照表: 夹紧气缸 (自动映射, 待核对)" +DOTRAN,DC40VA10S14GXXX,UCBM40,"德系对照表: 夹紧气缸 (自动映射, 待核对)" +DOTRAN,DC40VA11S12GXXX,UCBM40,"德系对照表: 夹紧气缸 (自动映射, 待核对)" +DOTRAN,DC40VA12S12GXXX,UCBM40,"德系对照表: 夹紧气缸 (自动映射, 待核对)" +DOTRAN,DC40VA50S12GXXX,UCBM40,"德系对照表: 夹紧气缸 (自动映射, 待核对)" +DOTRAN,DC40VA50S14GXXX,UCBM40,"德系对照表: 夹紧气缸 (自动映射, 待核对)" +DOTRAN,DC40VA51S12GXXX,UCBM40,"德系对照表: 夹紧气缸 (自动映射, 待核对)" +DOTRAN,DC40VA52S12GXXX,UCBM40,"德系对照表: 夹紧气缸 (自动映射, 待核对)" +DOTRAN,DC50HA10S12GXXX,UCBM50,"德系对照表: 夹紧气缸 (自动映射, 待核对)" +DOTRAN,DC50HA10S14GXXX,UCBM50,"德系对照表: 夹紧气缸 (自动映射, 待核对)" +DOTRAN,DC50HA11S12GXXX,UCBM50,"德系对照表: 夹紧气缸 (自动映射, 待核对)" +DOTRAN,DC50HA12S12GXXX,UCBM50,"德系对照表: 夹紧气缸 (自动映射, 待核对)" +DOTRAN,DC50HA40S12GXXX,UCBM50,"德系对照表: 夹紧气缸 (自动映射, 待核对)" +DOTRAN,DC50HA40S14GXXX,UCBM50,"德系对照表: 夹紧气缸 (自动映射, 待核对)" +DOTRAN,DC50HA41S12GXXX,UCBM50,"德系对照表: 夹紧气缸 (自动映射, 待核对)" +DOTRAN,DC50HA42S12GXXX,UCBM50,"德系对照表: 夹紧气缸 (自动映射, 待核对)" +DOTRAN,DC50VA10S12GXXX,UCBM50,"德系对照表: 夹紧气缸 (自动映射, 待核对)" +DOTRAN,DC50VA10S14GXXX,UCBM50,"德系对照表: 夹紧气缸 (自动映射, 待核对)" +DOTRAN,DC50VA11S12GXXX,UCBM50,"德系对照表: 夹紧气缸 (自动映射, 待核对)" +DOTRAN,DC50VA12S12GXXX,UCBM50,"德系对照表: 夹紧气缸 (自动映射, 待核对)" +DOTRAN,DC50VA40S12GXXX,UCBM50,"德系对照表: 夹紧气缸 (自动映射, 待核对)" +DOTRAN,DC50VA40S14GXXX,UCBM50,"德系对照表: 夹紧气缸 (自动映射, 待核对)" +DOTRAN,DC50VA41S12GXXX,UCBM50,"德系对照表: 夹紧气缸 (自动映射, 待核对)" +DOTRAN,DC50VA42S12GXXX,UCBM50,"德系对照表: 夹紧气缸 (自动映射, 待核对)" +DOTRAN,DC63HA10S00GXXX,UCBM63,"德系对照表: 夹紧气缸 (自动映射, 待核对)" +DOTRAN,DC63HA10S12GXXX,UCBM63,"德系对照表: 夹紧气缸 (自动映射, 待核对)" +DOTRAN,DC63HA10S14GXXX,UCBM63,"德系对照表: 夹紧气缸 (自动映射, 待核对)" +DOTRAN,DC63HA11S12GXXX,UCBM63,"德系对照表: 夹紧气缸 (自动映射, 待核对)" +DOTRAN,DC63HA12S12GXXX,UCBM63,"德系对照表: 夹紧气缸 (自动映射, 待核对)" +DOTRAN,DC63HA40S00GXXX,UCBM63,"德系对照表: 夹紧气缸 (自动映射, 待核对)" +DOTRAN,DC63HA40S12GXXX,UCBM63,"德系对照表: 夹紧气缸 (自动映射, 待核对)" +DOTRAN,DC63HA40S14GXXX,UCBM63,"德系对照表: 夹紧气缸 (自动映射, 待核对)" +DOTRAN,DC63HA41S00GXXX,UCBM63,"德系对照表: 夹紧气缸 (自动映射, 待核对)" +DOTRAN,DC63HA41S12GXXX,UCBM63,"德系对照表: 夹紧气缸 (自动映射, 待核对)" +DOTRAN,DC63HA42S00GXXX,UCBM63,"德系对照表: 夹紧气缸 (自动映射, 待核对)" +DOTRAN,DC63HA42S12GXXX,UCBM63,"德系对照表: 夹紧气缸 (自动映射, 待核对)" +DOTRAN,DC63VA10S00GXXX,UCBM63,"德系对照表: 夹紧气缸 (自动映射, 待核对)" +DOTRAN,DC63VA10S12GXXX,UCBM63,"德系对照表: 夹紧气缸 (自动映射, 待核对)" +DOTRAN,DC63VA10S14GXXX,UCBM63,"德系对照表: 夹紧气缸 (自动映射, 待核对)" +DOTRAN,DC63VA11S12GXXX,UCBM63,"德系对照表: 夹紧气缸 (自动映射, 待核对)" +DOTRAN,DC63VA12S12GXXX,UCBM63,"德系对照表: 夹紧气缸 (自动映射, 待核对)" +DOTRAN,DC63VA40S00GXXX,UCBM63,"德系对照表: 夹紧气缸 (自动映射, 待核对)" +DOTRAN,DC63VA40S12GXXX,UCBM63,"德系对照表: 夹紧气缸 (自动映射, 待核对)" +DOTRAN,DC63VA40S14GXXX,UCBM63,"德系对照表: 夹紧气缸 (自动映射, 待核对)" +DOTRAN,DC63VA41S00GXXX,UCBM63,"德系对照表: 夹紧气缸 (自动映射, 待核对)" +DOTRAN,DC63VA41S12GXXX,UCBM63,"德系对照表: 夹紧气缸 (自动映射, 待核对)" +DOTRAN,DC63VA42S00GXXX,UCBM63,"德系对照表: 夹紧气缸 (自动映射, 待核对)" +DOTRAN,DC63VA42S12GXXX,UCBM63,"德系对照表: 夹紧气缸 (自动映射, 待核对)" +DOTRAN,DC80HA40S12GXXX,UCBM80,"德系对照表: 夹紧气缸 (自动映射, 待核对)" +DOTRAN,DC80HA41S12GXXX,UCBM80,"德系对照表: 夹紧气缸 (自动映射, 待核对)" +DOTRAN,DC80HA42S12GXXX,UCBM80,"德系对照表: 夹紧气缸 (自动映射, 待核对)" +DOTRAN,DC80VA40S12GXXX,UCBM80,"德系对照表: 夹紧气缸 (自动映射, 待核对)" +DOTRAN,DC80VA41S12GXXX,UCBM80,"德系对照表: 夹紧气缸 (自动映射, 待核对)" +DOTRAN,DC80VA42S12GXXX,UCBM80,"德系对照表: 夹紧气缸 (自动映射, 待核对)" +DOTRAN,DCM50HA10S12GXXX,UCBM50,"德系对照表: 夹紧气缸 (自动映射, 待核对)" +DOTRAN,DCM50HA40S12GXXX,UCBM50,"德系对照表: 夹紧气缸 (自动映射, 待核对)" +DOTRAN,DCM50HA41S12GXXX,UCBM50,"德系对照表: 夹紧气缸 (自动映射, 待核对)" +DOTRAN,DCM50HA42S12GXXX,UCBM50,"德系对照表: 夹紧气缸 (自动映射, 待核对)" +DOTRAN,DCM50VA10S12GXXX,UCBM50,"德系对照表: 夹紧气缸 (自动映射, 待核对)" +DOTRAN,DCM50VA40S12GXXX,UCBM50,"德系对照表: 夹紧气缸 (自动映射, 待核对)" +DOTRAN,DCM50VA41S12GXXX,UCBM50,"德系对照表: 夹紧气缸 (自动映射, 待核对)" +DOTRAN,DCM50VA42S12GXXX,UCBM50,"德系对照表: 夹紧气缸 (自动映射, 待核对)" +DOTRAN,DCM63HA10S00GXXX,UCBM63,"德系对照表: 夹紧气缸 (自动映射, 待核对)" +DOTRAN,DCM63HA10S12GXXX,UCBM63,"德系对照表: 夹紧气缸 (自动映射, 待核对)" +DOTRAN,DCM63HA40S00GXXX,UCBM63,"德系对照表: 夹紧气缸 (自动映射, 待核对)" +DOTRAN,DCM63HA40S12GXXX,UCBM63,"德系对照表: 夹紧气缸 (自动映射, 待核对)" +DOTRAN,DCM63HA42S12GXXX,UCBM63,"德系对照表: 夹紧气缸 (自动映射, 待核对)" +DOTRAN,DCM63VA10S00GXXX,UCBM63,"德系对照表: 夹紧气缸 (自动映射, 待核对)" +DOTRAN,DCM63VA10S12GXXX,UCBM63,"德系对照表: 夹紧气缸 (自动映射, 待核对)" +DOTRAN,DCM63VA40S00GXXX,UCBM63,"德系对照表: 夹紧气缸 (自动映射, 待核对)" +DOTRAN,DCM63VA40S12GXXX,UCBM63,"德系对照表: 夹紧气缸 (自动映射, 待核对)" +DOTRAN,DCM63VA41S12GXXX,UCBM63,"德系对照表: 夹紧气缸 (自动映射, 待核对)" +DOTRAN,DCM63VA42S12GXXX,UCBM63,"德系对照表: 夹紧气缸 (自动映射, 待核对)" +DOTRAN,DF80HA01KLBS12GXXX,UAGP080_W,"德系对照表: 翻转气缸 (自动映射, 待核对)" +DOTRAN,DF80VA03KLBS12GXXX,UAGP080_W,"德系对照表: 翻转气缸 (自动映射, 待核对)" +HITOP,AKF80-VE01W12-XXX,UAGP080_W,"德系对照表: 翻转气缸 (自动映射, 待核对)" +HITOP,AKFK80-VE02W12-XXX,UAGP080_W,"德系对照表: 翻转气缸 (自动映射, 待核对)" +HITOP,AKUH50-L02W12-XXX,UCBM50,"德系对照表: 夹紧气缸 (自动映射, 待核对)" +HITOP,AKUH50-R02W12-XXX,UCBM50,"德系对照表: 夹紧气缸 (自动映射, 待核对)" +HITOP,AKUH50-Z01W12-XXX,UCBM50,"德系对照表: 夹紧气缸 (自动映射, 待核对)" +HITOP,AKUH50-Z02W12-XXX,UCBM50,"德系对照表: 夹紧气缸 (自动映射, 待核对)" +HITOP,AKUH63-L02W12-XXX,UCBM63,"德系对照表: 夹紧气缸 (自动映射, 待核对)" +HITOP,AKUH63-Z01W00-XXX,UCBM63,"德系对照表: 夹紧气缸 (自动映射, 待核对)" +HITOP,AKUH63-Z01W12-XXX,UCBM63,"德系对照表: 夹紧气缸 (自动映射, 待核对)" +HITOP,AKUH63-Z02W00-XXX,UCBM63,"德系对照表: 夹紧气缸 (自动映射, 待核对)" +HITOP,AKUH63-Z02W12-XXX,UCBM63,"德系对照表: 夹紧气缸 (自动映射, 待核对)" +HITOP,AKUHV50-L02W12-XXX,UCBM50,"德系对照表: 夹紧气缸 (自动映射, 待核对)" +HITOP,AKUHV50-R02W12-105,UCBM50,"德系对照表: 夹紧气缸 (自动映射, 待核对)" +HITOP,AKUHV50-Z01W12-XXX,UCBM50,"德系对照表: 夹紧气缸 (自动映射, 待核对)" +HITOP,AKUHV50-Z02W12-XXX,UCBM50,"德系对照表: 夹紧气缸 (自动映射, 待核对)" +HITOP,AKUHV63-L02W12-XXX,UCBM63,"德系对照表: 夹紧气缸 (自动映射, 待核对)" +HITOP,AKUHV63-R02W12-XXX,UCBM63,"德系对照表: 夹紧气缸 (自动映射, 待核对)" +HITOP,AKUHV63-Z01W00-XXX,UCBM63,"德系对照表: 夹紧气缸 (自动映射, 待核对)" +HITOP,AKUHV63-Z01W12-XXX,UCBM63,"德系对照表: 夹紧气缸 (自动映射, 待核对)" +HITOP,AKUHV63-Z02W00-XXX,UCBM63,"德系对照表: 夹紧气缸 (自动映射, 待核对)" +HITOP,AKUHV63-Z02W12-XXX,UCBM63,"德系对照表: 夹紧气缸 (自动映射, 待核对)" +HITOP,AKUS40-L01W12-XXX,UCBM40,"德系对照表: 夹紧气缸 (自动映射, 待核对)" +HITOP,AKUS40-L02W12-105,UCBM40,"德系对照表: 夹紧气缸 (自动映射, 待核对)" +HITOP,AKUS40-R01W12-XXX,UCBM40,"德系对照表: 夹紧气缸 (自动映射, 待核对)" +HITOP,AKUS40-R02W12-XXX,UCBM40,"德系对照表: 夹紧气缸 (自动映射, 待核对)" +HITOP,AKUS40-Z01W12-XXX,UCBM40,"德系对照表: 夹紧气缸 (自动映射, 待核对)" +HITOP,AKUS40-Z01W12N-XXX,UCBM40,"德系对照表: 夹紧气缸 (自动映射, 待核对)" +HITOP,AKUS40-Z02W12-XXX,UCBM40,"德系对照表: 夹紧气缸 (自动映射, 待核对)" +HITOP,AKUS40-Z02W12N-XXX,UCBM40,"德系对照表: 夹紧气缸 (自动映射, 待核对)" +HITOP,AKUS50-L01W12-XXX,UCBM50,"德系对照表: 夹紧气缸 (自动映射, 待核对)" +HITOP,AKUS50-L02W12-XXX,UCBM50,"德系对照表: 夹紧气缸 (自动映射, 待核对)" +HITOP,AKUS50-R01W12-XXX,UCBM50,"德系对照表: 夹紧气缸 (自动映射, 待核对)" +HITOP,AKUS50-R02W12-XXX,UCBM50,"德系对照表: 夹紧气缸 (自动映射, 待核对)" +HITOP,AKUS50-Z01W12-XXX,UCBM50,"德系对照表: 夹紧气缸 (自动映射, 待核对)" +HITOP,AKUS50-Z01W12N-XXX,UCBM50,"德系对照表: 夹紧气缸 (自动映射, 待核对)" +HITOP,AKUS50-Z02W12-XXX,UCBM50,"德系对照表: 夹紧气缸 (自动映射, 待核对)" +HITOP,AKUS50-Z02W12N-XXX,UCBM50,"德系对照表: 夹紧气缸 (自动映射, 待核对)" +HITOP,AKUS63-L01W12-XXX,UCBM63,"德系对照表: 夹紧气缸 (自动映射, 待核对)" +HITOP,AKUS63-L02W00-XXX,UCBM63,"德系对照表: 夹紧气缸 (自动映射, 待核对)" +HITOP,AKUS63-L02W12-XXX,UCBM63,"德系对照表: 夹紧气缸 (自动映射, 待核对)" +HITOP,AKUS63-R01W12-XXX,UCBM63,"德系对照表: 夹紧气缸 (自动映射, 待核对)" +HITOP,AKUS63-R02W00-XXX,UCBM63,"德系对照表: 夹紧气缸 (自动映射, 待核对)" +HITOP,AKUS63-R02W12-XXX,UCBM63,"德系对照表: 夹紧气缸 (自动映射, 待核对)" +HITOP,AKUS63-Z01W00-XXX,UCBM63,"德系对照表: 夹紧气缸 (自动映射, 待核对)" +HITOP,AKUS63-Z01W12-XXX,UCBM63,"德系对照表: 夹紧气缸 (自动映射, 待核对)" +HITOP,AKUS63-Z01W12N-XXX,UCBM63,"德系对照表: 夹紧气缸 (自动映射, 待核对)" +HITOP,AKUS63-Z02W00-XXX,UCBM63,"德系对照表: 夹紧气缸 (自动映射, 待核对)" +HITOP,AKUS63-Z02W12-XXX,UCBM63,"德系对照表: 夹紧气缸 (自动映射, 待核对)" +HITOP,AKUS63-Z02W12N-XXX,UCBM63,"德系对照表: 夹紧气缸 (自动映射, 待核对)" +HITOP,AKUS80-L02W12-XXX,UCBM80,"德系对照表: 夹紧气缸 (自动映射, 待核对)" +HITOP,AKUS80-R02W12-XXX,UCBM80,"德系对照表: 夹紧气缸 (自动映射, 待核对)" +HITOP,AKUS80-Z02W12-XXX,UCBM80,"德系对照表: 夹紧气缸 (自动映射, 待核对)" +HITOP,AKUSV40-L01W12-XXX,UCBM40,"德系对照表: 夹紧气缸 (自动映射, 待核对)" +HITOP,AKUSV40-L05W12-XXX,UCBM40,"德系对照表: 夹紧气缸 (自动映射, 待核对)" +HITOP,AKUSV40-R01W12-XXX,UCBM40,"德系对照表: 夹紧气缸 (自动映射, 待核对)" +HITOP,AKUSV40-R05W12-XXX,UCBM40,"德系对照表: 夹紧气缸 (自动映射, 待核对)" +HITOP,AKUSV40-Z01W12-XXX,UCBM40,"德系对照表: 夹紧气缸 (自动映射, 待核对)" +HITOP,AKUSV40-Z01W12N-XXX,UCBM40,"德系对照表: 夹紧气缸 (自动映射, 待核对)" +HITOP,AKUSV40-Z05W12-XXX,UCBM40,"德系对照表: 夹紧气缸 (自动映射, 待核对)" +HITOP,AKUSV40-Z05W12N-XXX,UCBM40,"德系对照表: 夹紧气缸 (自动映射, 待核对)" +HITOP,AKUSV50-L01W12-XXX,UCBM50,"德系对照表: 夹紧气缸 (自动映射, 待核对)" +HITOP,AKUSV50-L02W12-XXX,UCBM50,"德系对照表: 夹紧气缸 (自动映射, 待核对)" +HITOP,AKUSV50-R01W12-XXX,UCBM50,"德系对照表: 夹紧气缸 (自动映射, 待核对)" +HITOP,AKUSV50-R02W12-XXX,UCBM50,"德系对照表: 夹紧气缸 (自动映射, 待核对)" +HITOP,AKUSV50-Z01W12-XXX,UCBM50,"德系对照表: 夹紧气缸 (自动映射, 待核对)" +HITOP,AKUSV50-Z01W12N-XXX,UCBM50,"德系对照表: 夹紧气缸 (自动映射, 待核对)" +HITOP,AKUSV50-Z02W12-XXX,UCBM50,"德系对照表: 夹紧气缸 (自动映射, 待核对)" +HITOP,AKUSV50-Z02W12N-XXX,UCBM50,"德系对照表: 夹紧气缸 (自动映射, 待核对)" +HITOP,AKUSV63-L01W12-XXX,UCBM63,"德系对照表: 夹紧气缸 (自动映射, 待核对)" +HITOP,AKUSV63-L02W00-105,UCBM63,"德系对照表: 夹紧气缸 (自动映射, 待核对)" +HITOP,AKUSV63-L02W12-105,UCBM63,"德系对照表: 夹紧气缸 (自动映射, 待核对)" +HITOP,AKUSV63-R01W12-XXX,UCBM63,"德系对照表: 夹紧气缸 (自动映射, 待核对)" +HITOP,AKUSV63-R02W00-XXX,UCBM63,"德系对照表: 夹紧气缸 (自动映射, 待核对)" +HITOP,AKUSV63-R02W12-XXX,UCBM63,"德系对照表: 夹紧气缸 (自动映射, 待核对)" +HITOP,AKUSV63-Z01W00-XXX,UCBM63,"德系对照表: 夹紧气缸 (自动映射, 待核对)" +HITOP,AKUSV63-Z01W12-XXX,UCBM63,"德系对照表: 夹紧气缸 (自动映射, 待核对)" +HITOP,AKUSV63-Z01W12N-XXX,UCBM63,"德系对照表: 夹紧气缸 (自动映射, 待核对)" +HITOP,AKUSV63-Z02W00-XXX,UCBM63,"德系对照表: 夹紧气缸 (自动映射, 待核对)" +HITOP,AKUSV63-Z02W12-XXX,UCBM63,"德系对照表: 夹紧气缸 (自动映射, 待核对)" +HITOP,AKUSV63-Z02W12N-XXX,UCBM63,"德系对照表: 夹紧气缸 (自动映射, 待核对)" +HITOP,AKUSV80-L02W12-XXX,UCBM80,"德系对照表: 夹紧气缸 (自动映射, 待核对)" +HITOP,AKUSV80-R02W12-XXX,UCBM80,"德系对照表: 夹紧气缸 (自动映射, 待核对)" +HITOP,AKUSV80-Z02W12-XXX,UCBM80,"德系对照表: 夹紧气缸 (自动映射, 待核对)" +SMC,CKZ5T40-XXXT+CKZT40-A045LS,UCBM40,"德系对照表: 夹紧气缸 (自动映射, 待核对)" +SMC,CKZ5T50-XXXT+CKZT50-A045CS,UCBM50,"德系对照表: 夹紧气缸 (自动映射, 待核对)" +SMC,CKZ5T50-XXXT+CKZT50-A045LS,UCBM50,"德系对照表: 夹紧气缸 (自动映射, 待核对)" +SMC,CKZ5T50-XXXT+CKZT50-A045RS,UCBM50,"德系对照表: 夹紧气缸 (自动映射, 待核对)" +SMC,CKZ5T50-XXXT-X2568L+CKZT50-A045CS,UCBM50,"德系对照表: 夹紧气缸 (自动映射, 待核对)" +SMC,CKZ5T50-XXXT-X2568L+CKZT50-A045LS,UCBM50,"德系对照表: 夹紧气缸 (自动映射, 待核对)" +SMC,CKZ5T50-XXXT-X2568L+CKZT50-A045RS,UCBM50,"德系对照表: 夹紧气缸 (自动映射, 待核对)" +SMC,CKZ5T63-XXXT+CKZT63-A045CS,UCBM63,"德系对照表: 夹紧气缸 (自动映射, 待核对)" +SMC,CKZ5T63-XXXT+CKZT63-A045LS,UCBM63,"德系对照表: 夹紧气缸 (自动映射, 待核对)" +SMC,CKZ5T63-XXXT+CKZT63-A045RS,UCBM63,"德系对照表: 夹紧气缸 (自动映射, 待核对)" +SMC,CKZ5T63-XXXT-X2568L+CKZT63-A045CS,UCBM63,"德系对照表: 夹紧气缸 (自动映射, 待核对)" +SMC,CKZ5T63-XXXT-X2568L+CKZT63-A045LS,UCBM63,"德系对照表: 夹紧气缸 (自动映射, 待核对)" +SMC,CKZ5T63-XXXT-X2568L+CKZT63-A045RS,UCBM63,"德系对照表: 夹紧气缸 (自动映射, 待核对)" +SMC,CKZ5T63-XXXW+CKZT63-A045CS,UCBM63,"德系对照表: 夹紧气缸 (自动映射, 待核对)" +SMC,CKZ5T63-XXXW+CKZT63-A045LS,UCBM63,"德系对照表: 夹紧气缸 (自动映射, 待核对)" +SMC,CKZ5T63-XXXW+CKZT63-A045RS,UCBM63,"德系对照表: 夹紧气缸 (自动映射, 待核对)" +SMC,CKZ5T63-XXXW-X2568L+CKZT63-A045CS,UCBM63,"德系对照表: 夹紧气缸 (自动映射, 待核对)" +SMC,CKZ5T80-XXXT+CKZT80-A045LS,UCBM80,"德系对照表: 夹紧气缸 (自动映射, 待核对)" +TUENKERS,KS 80.6 SG A01 LH T12 XXX,UAGP080_W,"德系对照表: 翻转气缸 (自动映射, 待核对)" +TUENKERS,KS2 80.6 SG A03 LH T12 XXX,UAGP080_W,"德系对照表: 翻转气缸 (自动映射, 待核对)" +TUENKERS,V 40 BR2 A10 T12 XXX,UCBM40,"德系对照表: 夹紧气缸 (自动映射, 待核对)" +TUENKERS,V 40 BR2 A10 T12N XXX,UCBM40,"德系对照表: 夹紧气缸 (自动映射, 待核对)" +TUENKERS,V 40 BR2 A11 T12 XXX,UCBM40,"德系对照表: 夹紧气缸 (自动映射, 待核对)" +TUENKERS,V 40 BR2 A12 T12 XXX,UCBM40,"德系对照表: 夹紧气缸 (自动映射, 待核对)" +TUENKERS,V 40 BR2 A50 T12 XXX,UCBM40,"德系对照表: 夹紧气缸 (自动映射, 待核对)" +TUENKERS,V 40 BR2 A50 T12N XXX,UCBM40,"德系对照表: 夹紧气缸 (自动映射, 待核对)" +TUENKERS,V 40 BR2 A51 T12 XXX,UCBM40,"德系对照表: 夹紧气缸 (自动映射, 待核对)" +TUENKERS,V 40 BR2 A52 T12 XXX,UCBM40,"德系对照表: 夹紧气缸 (自动映射, 待核对)" +TUENKERS,V 50.1 BR2 Z A10 T12 XXX,UCBM50,"德系对照表: 夹紧气缸 (自动映射, 待核对)" +TUENKERS,V 50.1 BR2 Z A40 T12 XXX,UCBM50,"德系对照表: 夹紧气缸 (自动映射, 待核对)" +TUENKERS,V 50.1 BR2 Z A41 T12 XXX,UCBM50,"德系对照表: 夹紧气缸 (自动映射, 待核对)" +TUENKERS,V 50.1 BR2 Z A42 T12 XXX,UCBM50,"德系对照表: 夹紧气缸 (自动映射, 待核对)" +TUENKERS,V 50.1 BR3 A10 T12 XXX,UCBM50,"德系对照表: 夹紧气缸 (自动映射, 待核对)" +TUENKERS,V 50.1 BR3 A10 T12N XXX,UCBM50,"德系对照表: 夹紧气缸 (自动映射, 待核对)" +TUENKERS,V 50.1 BR3 A11 T12 XXX,UCBM50,"德系对照表: 夹紧气缸 (自动映射, 待核对)" +TUENKERS,V 50.1 BR3 A12 T12 XXX,UCBM50,"德系对照表: 夹紧气缸 (自动映射, 待核对)" +TUENKERS,V 50.1 BR3 A40 T12 XXX,UCBM50,"德系对照表: 夹紧气缸 (自动映射, 待核对)" +TUENKERS,V 50.1 BR3 A40 T12N XXX,UCBM50,"德系对照表: 夹紧气缸 (自动映射, 待核对)" +TUENKERS,V 50.1 BR3 A41 T12 XXX,UCBM50,"德系对照表: 夹紧气缸 (自动映射, 待核对)" +TUENKERS,V 50.1 BR3 A42 T12 XXX,UCBM50,"德系对照表: 夹紧气缸 (自动映射, 待核对)" +TUENKERS,V 63.1 BR2 Z A10 T00 XXX,UCBM63,"德系对照表: 夹紧气缸 (自动映射, 待核对)" +TUENKERS,V 63.1 BR2 Z A10 T12 XXX,UCBM63,"德系对照表: 夹紧气缸 (自动映射, 待核对)" +TUENKERS,V 63.1 BR2 Z A40 T00 XXX,UCBM63,"德系对照表: 夹紧气缸 (自动映射, 待核对)" +TUENKERS,V 63.1 BR2 Z A40 T12 XXX,UCBM63,"德系对照表: 夹紧气缸 (自动映射, 待核对)" +TUENKERS,V 63.1 BR2 Z A42 T12 XXX,UCBM63,"德系对照表: 夹紧气缸 (自动映射, 待核对)" +TUENKERS,V 63.1 BR3 A10 T00 XXX,UCBM63,"德系对照表: 夹紧气缸 (自动映射, 待核对)" +TUENKERS,V 63.1 BR3 A10 T12 XXX,UCBM63,"德系对照表: 夹紧气缸 (自动映射, 待核对)" +TUENKERS,V 63.1 BR3 A10 T12N XXX,UCBM63,"德系对照表: 夹紧气缸 (自动映射, 待核对)" +TUENKERS,V 63.1 BR3 A11 T12 XXX,UCBM63,"德系对照表: 夹紧气缸 (自动映射, 待核对)" +TUENKERS,V 63.1 BR3 A12 T12 XXX,UCBM63,"德系对照表: 夹紧气缸 (自动映射, 待核对)" +TUENKERS,V 63.1 BR3 A40 T00 XXX,UCBM63,"德系对照表: 夹紧气缸 (自动映射, 待核对)" +TUENKERS,V 63.1 BR3 A40 T12 XXX,UCBM63,"德系对照表: 夹紧气缸 (自动映射, 待核对)" +TUENKERS,V 63.1 BR3 A40 T12N XXX,UCBM63,"德系对照表: 夹紧气缸 (自动映射, 待核对)" +TUENKERS,V 63.1 BR3 A41 T00 XXX,UCBM63,"德系对照表: 夹紧气缸 (自动映射, 待核对)" +TUENKERS,V 63.1 BR3 A41 T12 XXX,UCBM63,"德系对照表: 夹紧气缸 (自动映射, 待核对)" +TUENKERS,V 63.1 BR3 A42 T00 XXX,UCBM63,"德系对照表: 夹紧气缸 (自动映射, 待核对)" +TUENKERS,V 63.1 BR3 A42 T12 XXX,UCBM63,"德系对照表: 夹紧气缸 (自动映射, 待核对)" +TUENKERS,V 80.1 BR2 A40 T12 XXX,UCBM80,"德系对照表: 夹紧气缸 (自动映射, 待核对)" +TUENKERS,V 80.1 BR2 A41 T12 XXX,UCBM80,"德系对照表: 夹紧气缸 (自动映射, 待核对)" +TUENKERS,V 80.1 BR2 A42 T12 XXX,UCBM80,"德系对照表: 夹紧气缸 (自动映射, 待核对)" +TUENKERS,V2 40 BR2 A10 T12 XXX,UCBM40,"德系对照表: 夹紧气缸 (自动映射, 待核对)" +TUENKERS,V2 40 BR2 A10 T12N XXX,UCBM40,"德系对照表: 夹紧气缸 (自动映射, 待核对)" +TUENKERS,V2 40 BR2 A11 T12 XXX,UCBM40,"德系对照表: 夹紧气缸 (自动映射, 待核对)" +TUENKERS,V2 40 BR2 A12 T12 XXX,UCBM40,"德系对照表: 夹紧气缸 (自动映射, 待核对)" +TUENKERS,V2 40 BR2 A50 T12 XXX,UCBM40,"德系对照表: 夹紧气缸 (自动映射, 待核对)" +TUENKERS,V2 40 BR2 A50 T12N XXX,UCBM40,"德系对照表: 夹紧气缸 (自动映射, 待核对)" +TUENKERS,V2 40 BR2 A51 T12 XXX,UCBM40,"德系对照表: 夹紧气缸 (自动映射, 待核对)" +TUENKERS,V2 40 BR2 A52 T12 XXX,UCBM40,"德系对照表: 夹紧气缸 (自动映射, 待核对)" +TUENKERS,V2 50.1 BR2 Z A10 T12 XXX,UCBM50,"德系对照表: 夹紧气缸 (自动映射, 待核对)" +TUENKERS,V2 50.1 BR2 Z A40 T12 XXX,UCBM50,"德系对照表: 夹紧气缸 (自动映射, 待核对)" +TUENKERS,V2 50.1 BR2 Z A41 T12 XXX,UCBM50,"德系对照表: 夹紧气缸 (自动映射, 待核对)" +TUENKERS,V2 50.1 BR2 Z A42 T12 XXX,UCBM50,"德系对照表: 夹紧气缸 (自动映射, 待核对)" +TUENKERS,V2 50.1 BR3 A10 T12 XXX,UCBM50,"德系对照表: 夹紧气缸 (自动映射, 待核对)" +TUENKERS,V2 50.1 BR3 A10 T12N XXX,UCBM50,"德系对照表: 夹紧气缸 (自动映射, 待核对)" +TUENKERS,V2 50.1 BR3 A11 T12 XXX,UCBM50,"德系对照表: 夹紧气缸 (自动映射, 待核对)" +TUENKERS,V2 50.1 BR3 A12 T12 XXX,UCBM50,"德系对照表: 夹紧气缸 (自动映射, 待核对)" +TUENKERS,V2 50.1 BR3 A40 T12 XXX,UCBM50,"德系对照表: 夹紧气缸 (自动映射, 待核对)" +TUENKERS,V2 50.1 BR3 A40 T12N XXX,UCBM50,"德系对照表: 夹紧气缸 (自动映射, 待核对)" +TUENKERS,V2 50.1 BR3 A41 T12 XXX,UCBM50,"德系对照表: 夹紧气缸 (自动映射, 待核对)" +TUENKERS,V2 50.1 BR3 A42 T12 XXX,UCBM50,"德系对照表: 夹紧气缸 (自动映射, 待核对)" +TUENKERS,V2 63.1 BR2 Z A10 T00 XXX,UCBM63,"德系对照表: 夹紧气缸 (自动映射, 待核对)" +TUENKERS,V2 63.1 BR2 Z A10 T12 XXX,UCBM63,"德系对照表: 夹紧气缸 (自动映射, 待核对)" +TUENKERS,V2 63.1 BR2 Z A40 T00 XXX,UCBM63,"德系对照表: 夹紧气缸 (自动映射, 待核对)" +TUENKERS,V2 63.1 BR2 Z A40 T12 XXX,UCBM63,"德系对照表: 夹紧气缸 (自动映射, 待核对)" +TUENKERS,V2 63.1 BR2 Z A41 T12 XXX,UCBM63,"德系对照表: 夹紧气缸 (自动映射, 待核对)" +TUENKERS,V2 63.1 BR2 Z A42 T12 XXX,UCBM63,"德系对照表: 夹紧气缸 (自动映射, 待核对)" +TUENKERS,V2 63.1 BR3 A10 T00 XXX,UCBM63,"德系对照表: 夹紧气缸 (自动映射, 待核对)" +TUENKERS,V2 63.1 BR3 A10 T12 XXX,UCBM63,"德系对照表: 夹紧气缸 (自动映射, 待核对)" +TUENKERS,V2 63.1 BR3 A10 T12N XXX,UCBM63,"德系对照表: 夹紧气缸 (自动映射, 待核对)" +TUENKERS,V2 63.1 BR3 A11 T12 XXX,UCBM63,"德系对照表: 夹紧气缸 (自动映射, 待核对)" +TUENKERS,V2 63.1 BR3 A12 T12 XXX,UCBM63,"德系对照表: 夹紧气缸 (自动映射, 待核对)" +TUENKERS,V2 63.1 BR3 A40 T00 XXX,UCBM63,"德系对照表: 夹紧气缸 (自动映射, 待核对)" +TUENKERS,V2 63.1 BR3 A40 T12 XXX,UCBM63,"德系对照表: 夹紧气缸 (自动映射, 待核对)" +TUENKERS,V2 63.1 BR3 A40 T12N XXX,UCBM63,"德系对照表: 夹紧气缸 (自动映射, 待核对)" +TUENKERS,V2 63.1 BR3 A41 T00 XXX,UCBM63,"德系对照表: 夹紧气缸 (自动映射, 待核对)" +TUENKERS,V2 63.1 BR3 A41 T12 XXX,UCBM63,"德系对照表: 夹紧气缸 (自动映射, 待核对)" +TUENKERS,V2 63.1 BR3 A42 T00 XXX,UCBM63,"德系对照表: 夹紧气缸 (自动映射, 待核对)" +TUENKERS,V2 63.1 BR3 A42 T12 XXX,UCBM63,"德系对照表: 夹紧气缸 (自动映射, 待核对)" +TUENKERS,V2 80.1 BR2 A40 T12 XXX,UCBM80,"德系对照表: 夹紧气缸 (自动映射, 待核对)" +TUENKERS,V2 80.1 BR2 A41 T12 XXX,UCBM80,"德系对照表: 夹紧气缸 (自动映射, 待核对)" +TUENKERS,V2 80.1 BR2 A42 T12 XXX,UCBM80,"德系对照表: 夹紧气缸 (自动映射, 待核对)" +UNIVER,UCBM50OCSKO-XXX,UCBM50,"德系对照表: 夹紧气缸 (自动映射, 待核对)" +UNIVER,UCBM50OESKO-XXX,UCBM50,"德系对照表: 夹紧气缸 (自动映射, 待核对)" +UNIVER,UCBM50OFSKO-XXX,UCBM50,"德系对照表: 夹紧气缸 (自动映射, 待核对)" +UNIVER,UCBM50OLSKO-XXX,UCBM50,"德系对照表: 夹紧气缸 (自动映射, 待核对)" +UNIVER,UCBM50VCSKO-XXX,UCBM50,"德系对照表: 夹紧气缸 (自动映射, 待核对)" +UNIVER,UCBM50VESKO-XXX,UCBM50,"德系对照表: 夹紧气缸 (自动映射, 待核对)" +UNIVER,UCBM50VFSKO-XXX,UCBM50,"德系对照表: 夹紧气缸 (自动映射, 待核对)" +UNIVER,UCBM50VLSKO-XXX,UCBM50,"德系对照表: 夹紧气缸 (自动映射, 待核对)" +UNIVER,UCBM63OCSKO-XXX,UCBM63,"德系对照表: 夹紧气缸 (自动映射, 待核对)" +UNIVER,UCBM63OCSNO-XXX,UCBM63,"德系对照表: 夹紧气缸 (自动映射, 待核对)" +UNIVER,UCBM63OESKO-XXX,UCBM63,"德系对照表: 夹紧气缸 (自动映射, 待核对)" +UNIVER,UCBM63OESNO-XXX,UCBM63,"德系对照表: 夹紧气缸 (自动映射, 待核对)" +UNIVER,UCBM63OFSKO-XXX,UCBM63,"德系对照表: 夹紧气缸 (自动映射, 待核对)" +UNIVER,UCBM63OLSKO-XXX,UCBM63,"德系对照表: 夹紧气缸 (自动映射, 待核对)" +UNIVER,UCBM63VCSKO-XXX,UCBM63,"德系对照表: 夹紧气缸 (自动映射, 待核对)" +UNIVER,UCBM63VCSNO-XXX,UCBM63,"德系对照表: 夹紧气缸 (自动映射, 待核对)" +UNIVER,UCBM63VESKO-XXX,UCBM63,"德系对照表: 夹紧气缸 (自动映射, 待核对)" +UNIVER,UCBM63VESNO-XXX,UCBM63,"德系对照表: 夹紧气缸 (自动映射, 待核对)" +UNIVER,UCBM63VLSKO-XXX,UCBM63,"德系对照表: 夹紧气缸 (自动映射, 待核对)" +UNIVER,UCBP40OCSK0-XXX,UCBM40,"德系对照表: 夹紧气缸 (自动映射, 待核对)" +UNIVER,UCBP40ODSK0--XXX,UCBM40,"德系对照表: 夹紧气缸 (自动映射, 待核对)" +UNIVER,UCBP40OESK0-XXX,UCBM40,"德系对照表: 夹紧气缸 (自动映射, 待核对)" +UNIVER,UCBP40OFSK0-XXX,UCBM40,"德系对照表: 夹紧气缸 (自动映射, 待核对)" +UNIVER,UCBP40OLSK0-XXX,UCBM40,"德系对照表: 夹紧气缸 (自动映射, 待核对)" +UNIVER,UCBP40OSSK0-XXX,UCBM40,"德系对照表: 夹紧气缸 (自动映射, 待核对)" +UNIVER,UCBP40VCSK0-XXX,UCBM40,"德系对照表: 夹紧气缸 (自动映射, 待核对)" +UNIVER,UCBP40VDSK0-XXX,UCBM40,"德系对照表: 夹紧气缸 (自动映射, 待核对)" +UNIVER,UCBP40VESK0-XXX,UCBM40,"德系对照表: 夹紧气缸 (自动映射, 待核对)" +UNIVER,UCBP40VFSK0-XXX,UCBM40,"德系对照表: 夹紧气缸 (自动映射, 待核对)" +UNIVER,UCBP40VLSK0-XXX,UCBM40,"德系对照表: 夹紧气缸 (自动映射, 待核对)" +UNIVER,UCBP40VSSK0-XXX,UCBM40,"德系对照表: 夹紧气缸 (自动映射, 待核对)" +UNIVER,UCBP50OCSKO-XXX,UCBM50,"德系对照表: 夹紧气缸 (自动映射, 待核对)" +UNIVER,UCBP50ODSKO-XXX,UCBM50,"德系对照表: 夹紧气缸 (自动映射, 待核对)" +UNIVER,UCBP50OESKO-XXX,UCBM50,"德系对照表: 夹紧气缸 (自动映射, 待核对)" +UNIVER,UCBP50OFSKO-XXX,UCBM50,"德系对照表: 夹紧气缸 (自动映射, 待核对)" +UNIVER,UCBP50OLSKO-XXX,UCBM50,"德系对照表: 夹紧气缸 (自动映射, 待核对)" +UNIVER,UCBP50OSSKO-XXX,UCBM50,"德系对照表: 夹紧气缸 (自动映射, 待核对)" +UNIVER,UCBP50VCSKO-XXX,UCBM50,"德系对照表: 夹紧气缸 (自动映射, 待核对)" +UNIVER,UCBP50VDSKO-XXX,UCBM50,"德系对照表: 夹紧气缸 (自动映射, 待核对)" +UNIVER,UCBP50VESKO-XXX,UCBM50,"德系对照表: 夹紧气缸 (自动映射, 待核对)" +UNIVER,UCBP50VFSKO-XXX,UCBM50,"德系对照表: 夹紧气缸 (自动映射, 待核对)" +UNIVER,UCBP50VLSKO-XXX,UCBM50,"德系对照表: 夹紧气缸 (自动映射, 待核对)" +UNIVER,UCBP50VSSKO-XXX,UCBM50,"德系对照表: 夹紧气缸 (自动映射, 待核对)" +UNIVER,UCBP63OCSKO-XXX,UCBM63,"德系对照表: 夹紧气缸 (自动映射, 待核对)" +UNIVER,UCBP63OCSNO-XXX,UCBM63,"德系对照表: 夹紧气缸 (自动映射, 待核对)" +UNIVER,UCBP63ODSKO-XXX,UCBM63,"德系对照表: 夹紧气缸 (自动映射, 待核对)" +UNIVER,UCBP63OESKO-XXX,UCBM63,"德系对照表: 夹紧气缸 (自动映射, 待核对)" +UNIVER,UCBP63OESNO-XXX,UCBM63,"德系对照表: 夹紧气缸 (自动映射, 待核对)" +UNIVER,UCBP63OFSKO-XXX,UCBM63,"德系对照表: 夹紧气缸 (自动映射, 待核对)" +UNIVER,UCBP63OFSNO-XXX,UCBM63,"德系对照表: 夹紧气缸 (自动映射, 待核对)" +UNIVER,UCBP63OLSKO-XXX,UCBM63,"德系对照表: 夹紧气缸 (自动映射, 待核对)" +UNIVER,UCBP63OLSNO-XXX,UCBM63,"德系对照表: 夹紧气缸 (自动映射, 待核对)" +UNIVER,UCBP63OSSKO-XXX,UCBM63,"德系对照表: 夹紧气缸 (自动映射, 待核对)" +UNIVER,UCBP63VCSKO-XXX,UCBM63,"德系对照表: 夹紧气缸 (自动映射, 待核对)" +UNIVER,UCBP63VCSNO-XXX,UCBM63,"德系对照表: 夹紧气缸 (自动映射, 待核对)" +UNIVER,UCBP63VDSKO-XXX,UCBM63,"德系对照表: 夹紧气缸 (自动映射, 待核对)" +UNIVER,UCBP63VESKO-XXX,UCBM63,"德系对照表: 夹紧气缸 (自动映射, 待核对)" +UNIVER,UCBP63VESNO-XXX,UCBM63,"德系对照表: 夹紧气缸 (自动映射, 待核对)" +UNIVER,UCBP63VFSKO-XXX,UCBM63,"德系对照表: 夹紧气缸 (自动映射, 待核对)" +UNIVER,UCBP63VFSNO-XXX,UCBM63,"德系对照表: 夹紧气缸 (自动映射, 待核对)" +UNIVER,UCBP63VLSKO-XXX,UCBM63,"德系对照表: 夹紧气缸 (自动映射, 待核对)" +UNIVER,UCBP63VLSNO-XXX,UCBM63,"德系对照表: 夹紧气缸 (自动映射, 待核对)" +UNIVER,UCBP63VSSKO-XXX,UCBM63,"德系对照表: 夹紧气缸 (自动映射, 待核对)" +UNIVER,UCBP80OESKO-XXX,UCBM80,"德系对照表: 夹紧气缸 (自动映射, 待核对)" +UNIVER,UCBP80OFSKO-XXX,UCBM80,"德系对照表: 夹紧气缸 (自动映射, 待核对)" +UNIVER,UCBP80OLSKO-XXX,UCBM80,"德系对照表: 夹紧气缸 (自动映射, 待核对)" +UNIVER,UCBP80VESKO-XXX,UCBM80,"德系对照表: 夹紧气缸 (自动映射, 待核对)" +UNIVER,UCBP80VFSKO-XXX,UCBM80,"德系对照表: 夹紧气缸 (自动映射, 待核对)" +UNIVER,UCBP80VLSKO-XXX,UCBM80,"德系对照表: 夹紧气缸 (自动映射, 待核对)" diff --git a/onebot-data/catalog/crossref.csv.bak_20260825_131113 b/onebot-data/catalog/crossref.csv.bak_20260825_131113 new file mode 100644 index 0000000..3a80235 --- /dev/null +++ b/onebot-data/catalog/crossref.csv.bak_20260825_131113 @@ -0,0 +1,5 @@ +brand,foreign_model,our_model,note +JELPC,SQ32-100,KCS0032-100,基础型平替(待核对) +JELPC,SQ32-10,KCS0032-10,基础型平替(待核对) +JELPC,SQ32-50,KCS0032-50,基础型平替(待核对) +SMC,SQ32-50,KCS0032-50,基础型平替(待核对) diff --git a/onebot-data/catalog/csv/KC.csv b/onebot-data/catalog/csv/KC.csv new file mode 100644 index 0000000..73c7a9b --- /dev/null +++ b/onebot-data/catalog/csv/KC.csv @@ -0,0 +1,2629 @@ +model_code,type,bore,stroke,magnet,mount,step_file +KC0032-10,00,32,10,,,KC-00-32x10.step +KC0032-10FA,00,32,10,,FA,KC-00-32x10.step +KC0032-10FB,00,32,10,,FB,KC-00-32x10.step +KC0032-10CA,00,32,10,,CA,KC-00-32x10.step +KC0032-10CB,00,32,10,,CB,KC-00-32x10.step +KC0032-10LB,00,32,10,,LB,KC-00-32x10.step +KC0032-10YB,00,32,10,,YB,KC-00-32x10.step +KC0032-10M,00,32,10,M,,KC-00-32x10.step +KC0032-10MFA,00,32,10,M,FA,KC-00-32x10.step +KC0032-10MFB,00,32,10,M,FB,KC-00-32x10.step +KC0032-10MCA,00,32,10,M,CA,KC-00-32x10.step +KC0032-10MCB,00,32,10,M,CB,KC-00-32x10.step +KC0032-10MLB,00,32,10,M,LB,KC-00-32x10.step +KC0032-10MYB,00,32,10,M,YB,KC-00-32x10.step +KC0032-20,00,32,20,,,KC-00-32x20.step +KC0032-20FA,00,32,20,,FA,KC-00-32x20.step +KC0032-20FB,00,32,20,,FB,KC-00-32x20.step +KC0032-20CA,00,32,20,,CA,KC-00-32x20.step +KC0032-20CB,00,32,20,,CB,KC-00-32x20.step +KC0032-20LB,00,32,20,,LB,KC-00-32x20.step +KC0032-20YB,00,32,20,,YB,KC-00-32x20.step +KC0032-20M,00,32,20,M,,KC-00-32x20.step +KC0032-20MFA,00,32,20,M,FA,KC-00-32x20.step +KC0032-20MFB,00,32,20,M,FB,KC-00-32x20.step +KC0032-20MCA,00,32,20,M,CA,KC-00-32x20.step +KC0032-20MCB,00,32,20,M,CB,KC-00-32x20.step +KC0032-20MLB,00,32,20,M,LB,KC-00-32x20.step +KC0032-20MYB,00,32,20,M,YB,KC-00-32x20.step +KC0032-30,00,32,30,,,KC-00-32x30.step +KC0032-30FA,00,32,30,,FA,KC-00-32x30.step +KC0032-30FB,00,32,30,,FB,KC-00-32x30.step +KC0032-30CA,00,32,30,,CA,KC-00-32x30.step +KC0032-30CB,00,32,30,,CB,KC-00-32x30.step +KC0032-30LB,00,32,30,,LB,KC-00-32x30.step +KC0032-30YB,00,32,30,,YB,KC-00-32x30.step +KC0032-30M,00,32,30,M,,KC-00-32x30.step +KC0032-30MFA,00,32,30,M,FA,KC-00-32x30.step +KC0032-30MFB,00,32,30,M,FB,KC-00-32x30.step +KC0032-30MCA,00,32,30,M,CA,KC-00-32x30.step +KC0032-30MCB,00,32,30,M,CB,KC-00-32x30.step +KC0032-30MLB,00,32,30,M,LB,KC-00-32x30.step +KC0032-30MYB,00,32,30,M,YB,KC-00-32x30.step +KC0032-50,00,32,50,,,KC-00-32x50.step +KC0032-50FA,00,32,50,,FA,KC-00-32x50.step +KC0032-50FB,00,32,50,,FB,KC-00-32x50.step +KC0032-50CA,00,32,50,,CA,KC-00-32x50.step +KC0032-50CB,00,32,50,,CB,KC-00-32x50.step +KC0032-50LB,00,32,50,,LB,KC-00-32x50.step +KC0032-50YB,00,32,50,,YB,KC-00-32x50.step +KC0032-50M,00,32,50,M,,KC-00-32x50.step +KC0032-50MFA,00,32,50,M,FA,KC-00-32x50.step +KC0032-50MFB,00,32,50,M,FB,KC-00-32x50.step +KC0032-50MCA,00,32,50,M,CA,KC-00-32x50.step +KC0032-50MCB,00,32,50,M,CB,KC-00-32x50.step +KC0032-50MLB,00,32,50,M,LB,KC-00-32x50.step +KC0032-50MYB,00,32,50,M,YB,KC-00-32x50.step +KC0032-75,00,32,75,,,KC-00-32x75.step +KC0032-75FA,00,32,75,,FA,KC-00-32x75.step +KC0032-75FB,00,32,75,,FB,KC-00-32x75.step +KC0032-75CA,00,32,75,,CA,KC-00-32x75.step +KC0032-75CB,00,32,75,,CB,KC-00-32x75.step +KC0032-75LB,00,32,75,,LB,KC-00-32x75.step +KC0032-75YB,00,32,75,,YB,KC-00-32x75.step +KC0032-75M,00,32,75,M,,KC-00-32x75.step +KC0032-75MFA,00,32,75,M,FA,KC-00-32x75.step +KC0032-75MFB,00,32,75,M,FB,KC-00-32x75.step +KC0032-75MCA,00,32,75,M,CA,KC-00-32x75.step +KC0032-75MCB,00,32,75,M,CB,KC-00-32x75.step +KC0032-75MLB,00,32,75,M,LB,KC-00-32x75.step +KC0032-75MYB,00,32,75,M,YB,KC-00-32x75.step +KC0032-100,00,32,100,,,KC-00-32x100.step +KC0032-100FA,00,32,100,,FA,KC-00-32x100.step +KC0032-100FB,00,32,100,,FB,KC-00-32x100.step +KC0032-100CA,00,32,100,,CA,KC-00-32x100.step +KC0032-100CB,00,32,100,,CB,KC-00-32x100.step +KC0032-100LB,00,32,100,,LB,KC-00-32x100.step +KC0032-100YB,00,32,100,,YB,KC-00-32x100.step +KC0032-100M,00,32,100,M,,KC-00-32x100.step +KC0032-100MFA,00,32,100,M,FA,KC-00-32x100.step +KC0032-100MFB,00,32,100,M,FB,KC-00-32x100.step +KC0032-100MCA,00,32,100,M,CA,KC-00-32x100.step +KC0032-100MCB,00,32,100,M,CB,KC-00-32x100.step +KC0032-100MLB,00,32,100,M,LB,KC-00-32x100.step +KC0032-100MYB,00,32,100,M,YB,KC-00-32x100.step +KC0040-10,00,40,10,,,KC-00-40x10.step +KC0040-10FA,00,40,10,,FA,KC-00-40x10.step +KC0040-10FB,00,40,10,,FB,KC-00-40x10.step +KC0040-10CA,00,40,10,,CA,KC-00-40x10.step +KC0040-10CB,00,40,10,,CB,KC-00-40x10.step +KC0040-10LB,00,40,10,,LB,KC-00-40x10.step +KC0040-10YB,00,40,10,,YB,KC-00-40x10.step +KC0040-10M,00,40,10,M,,KC-00-40x10.step +KC0040-10MFA,00,40,10,M,FA,KC-00-40x10.step +KC0040-10MFB,00,40,10,M,FB,KC-00-40x10.step +KC0040-10MCA,00,40,10,M,CA,KC-00-40x10.step +KC0040-10MCB,00,40,10,M,CB,KC-00-40x10.step +KC0040-10MLB,00,40,10,M,LB,KC-00-40x10.step +KC0040-10MYB,00,40,10,M,YB,KC-00-40x10.step +KC0040-20,00,40,20,,,KC-00-40x20.step +KC0040-20FA,00,40,20,,FA,KC-00-40x20.step +KC0040-20FB,00,40,20,,FB,KC-00-40x20.step +KC0040-20CA,00,40,20,,CA,KC-00-40x20.step +KC0040-20CB,00,40,20,,CB,KC-00-40x20.step +KC0040-20LB,00,40,20,,LB,KC-00-40x20.step +KC0040-20YB,00,40,20,,YB,KC-00-40x20.step +KC0040-20M,00,40,20,M,,KC-00-40x20.step +KC0040-20MFA,00,40,20,M,FA,KC-00-40x20.step +KC0040-20MFB,00,40,20,M,FB,KC-00-40x20.step +KC0040-20MCA,00,40,20,M,CA,KC-00-40x20.step +KC0040-20MCB,00,40,20,M,CB,KC-00-40x20.step +KC0040-20MLB,00,40,20,M,LB,KC-00-40x20.step +KC0040-20MYB,00,40,20,M,YB,KC-00-40x20.step +KC0040-30,00,40,30,,,KC-00-40x30.step +KC0040-30FA,00,40,30,,FA,KC-00-40x30.step +KC0040-30FB,00,40,30,,FB,KC-00-40x30.step +KC0040-30CA,00,40,30,,CA,KC-00-40x30.step +KC0040-30CB,00,40,30,,CB,KC-00-40x30.step +KC0040-30LB,00,40,30,,LB,KC-00-40x30.step +KC0040-30YB,00,40,30,,YB,KC-00-40x30.step +KC0040-30M,00,40,30,M,,KC-00-40x30.step +KC0040-30MFA,00,40,30,M,FA,KC-00-40x30.step +KC0040-30MFB,00,40,30,M,FB,KC-00-40x30.step +KC0040-30MCA,00,40,30,M,CA,KC-00-40x30.step +KC0040-30MCB,00,40,30,M,CB,KC-00-40x30.step +KC0040-30MLB,00,40,30,M,LB,KC-00-40x30.step +KC0040-30MYB,00,40,30,M,YB,KC-00-40x30.step +KC0040-50,00,40,50,,,KC-00-40x50.step +KC0040-50FA,00,40,50,,FA,KC-00-40x50.step +KC0040-50FB,00,40,50,,FB,KC-00-40x50.step +KC0040-50CA,00,40,50,,CA,KC-00-40x50.step +KC0040-50CB,00,40,50,,CB,KC-00-40x50.step +KC0040-50LB,00,40,50,,LB,KC-00-40x50.step +KC0040-50YB,00,40,50,,YB,KC-00-40x50.step +KC0040-50M,00,40,50,M,,KC-00-40x50.step +KC0040-50MFA,00,40,50,M,FA,KC-00-40x50.step +KC0040-50MFB,00,40,50,M,FB,KC-00-40x50.step +KC0040-50MCA,00,40,50,M,CA,KC-00-40x50.step +KC0040-50MCB,00,40,50,M,CB,KC-00-40x50.step +KC0040-50MLB,00,40,50,M,LB,KC-00-40x50.step +KC0040-50MYB,00,40,50,M,YB,KC-00-40x50.step +KC0040-75,00,40,75,,,KC-00-40x75.step +KC0040-75FA,00,40,75,,FA,KC-00-40x75.step +KC0040-75FB,00,40,75,,FB,KC-00-40x75.step +KC0040-75CA,00,40,75,,CA,KC-00-40x75.step +KC0040-75CB,00,40,75,,CB,KC-00-40x75.step +KC0040-75LB,00,40,75,,LB,KC-00-40x75.step +KC0040-75YB,00,40,75,,YB,KC-00-40x75.step +KC0040-75M,00,40,75,M,,KC-00-40x75.step +KC0040-75MFA,00,40,75,M,FA,KC-00-40x75.step +KC0040-75MFB,00,40,75,M,FB,KC-00-40x75.step +KC0040-75MCA,00,40,75,M,CA,KC-00-40x75.step +KC0040-75MCB,00,40,75,M,CB,KC-00-40x75.step +KC0040-75MLB,00,40,75,M,LB,KC-00-40x75.step +KC0040-75MYB,00,40,75,M,YB,KC-00-40x75.step +KC0040-100,00,40,100,,,KC-00-40x100.step +KC0040-100FA,00,40,100,,FA,KC-00-40x100.step +KC0040-100FB,00,40,100,,FB,KC-00-40x100.step +KC0040-100CA,00,40,100,,CA,KC-00-40x100.step +KC0040-100CB,00,40,100,,CB,KC-00-40x100.step +KC0040-100LB,00,40,100,,LB,KC-00-40x100.step +KC0040-100YB,00,40,100,,YB,KC-00-40x100.step +KC0040-100M,00,40,100,M,,KC-00-40x100.step +KC0040-100MFA,00,40,100,M,FA,KC-00-40x100.step +KC0040-100MFB,00,40,100,M,FB,KC-00-40x100.step +KC0040-100MCA,00,40,100,M,CA,KC-00-40x100.step +KC0040-100MCB,00,40,100,M,CB,KC-00-40x100.step +KC0040-100MLB,00,40,100,M,LB,KC-00-40x100.step +KC0040-100MYB,00,40,100,M,YB,KC-00-40x100.step +KC0050-10,00,50,10,,,KC-00-50x10.step +KC0050-10FA,00,50,10,,FA,KC-00-50x10.step +KC0050-10FB,00,50,10,,FB,KC-00-50x10.step +KC0050-10CA,00,50,10,,CA,KC-00-50x10.step +KC0050-10CB,00,50,10,,CB,KC-00-50x10.step +KC0050-10LB,00,50,10,,LB,KC-00-50x10.step +KC0050-10YB,00,50,10,,YB,KC-00-50x10.step +KC0050-10M,00,50,10,M,,KC-00-50x10.step +KC0050-10MFA,00,50,10,M,FA,KC-00-50x10.step +KC0050-10MFB,00,50,10,M,FB,KC-00-50x10.step +KC0050-10MCA,00,50,10,M,CA,KC-00-50x10.step +KC0050-10MCB,00,50,10,M,CB,KC-00-50x10.step +KC0050-10MLB,00,50,10,M,LB,KC-00-50x10.step +KC0050-10MYB,00,50,10,M,YB,KC-00-50x10.step +KC0050-20,00,50,20,,,KC-00-50x20.step +KC0050-20FA,00,50,20,,FA,KC-00-50x20.step +KC0050-20FB,00,50,20,,FB,KC-00-50x20.step +KC0050-20CA,00,50,20,,CA,KC-00-50x20.step +KC0050-20CB,00,50,20,,CB,KC-00-50x20.step +KC0050-20LB,00,50,20,,LB,KC-00-50x20.step +KC0050-20YB,00,50,20,,YB,KC-00-50x20.step +KC0050-20M,00,50,20,M,,KC-00-50x20.step +KC0050-20MFA,00,50,20,M,FA,KC-00-50x20.step +KC0050-20MFB,00,50,20,M,FB,KC-00-50x20.step +KC0050-20MCA,00,50,20,M,CA,KC-00-50x20.step +KC0050-20MCB,00,50,20,M,CB,KC-00-50x20.step +KC0050-20MLB,00,50,20,M,LB,KC-00-50x20.step +KC0050-20MYB,00,50,20,M,YB,KC-00-50x20.step +KC0050-30,00,50,30,,,KC-00-50x30.step +KC0050-30FA,00,50,30,,FA,KC-00-50x30.step +KC0050-30FB,00,50,30,,FB,KC-00-50x30.step +KC0050-30CA,00,50,30,,CA,KC-00-50x30.step +KC0050-30CB,00,50,30,,CB,KC-00-50x30.step +KC0050-30LB,00,50,30,,LB,KC-00-50x30.step +KC0050-30YB,00,50,30,,YB,KC-00-50x30.step +KC0050-30M,00,50,30,M,,KC-00-50x30.step +KC0050-30MFA,00,50,30,M,FA,KC-00-50x30.step +KC0050-30MFB,00,50,30,M,FB,KC-00-50x30.step +KC0050-30MCA,00,50,30,M,CA,KC-00-50x30.step +KC0050-30MCB,00,50,30,M,CB,KC-00-50x30.step +KC0050-30MLB,00,50,30,M,LB,KC-00-50x30.step +KC0050-30MYB,00,50,30,M,YB,KC-00-50x30.step +KC0050-50,00,50,50,,,KC-00-50x50.step +KC0050-50FA,00,50,50,,FA,KC-00-50x50.step +KC0050-50FB,00,50,50,,FB,KC-00-50x50.step +KC0050-50CA,00,50,50,,CA,KC-00-50x50.step +KC0050-50CB,00,50,50,,CB,KC-00-50x50.step +KC0050-50LB,00,50,50,,LB,KC-00-50x50.step +KC0050-50YB,00,50,50,,YB,KC-00-50x50.step +KC0050-50M,00,50,50,M,,KC-00-50x50.step +KC0050-50MFA,00,50,50,M,FA,KC-00-50x50.step +KC0050-50MFB,00,50,50,M,FB,KC-00-50x50.step +KC0050-50MCA,00,50,50,M,CA,KC-00-50x50.step +KC0050-50MCB,00,50,50,M,CB,KC-00-50x50.step +KC0050-50MLB,00,50,50,M,LB,KC-00-50x50.step +KC0050-50MYB,00,50,50,M,YB,KC-00-50x50.step +KC0050-75,00,50,75,,,KC-00-50x75.step +KC0050-75FA,00,50,75,,FA,KC-00-50x75.step +KC0050-75FB,00,50,75,,FB,KC-00-50x75.step +KC0050-75CA,00,50,75,,CA,KC-00-50x75.step +KC0050-75CB,00,50,75,,CB,KC-00-50x75.step +KC0050-75LB,00,50,75,,LB,KC-00-50x75.step +KC0050-75YB,00,50,75,,YB,KC-00-50x75.step +KC0050-75M,00,50,75,M,,KC-00-50x75.step +KC0050-75MFA,00,50,75,M,FA,KC-00-50x75.step +KC0050-75MFB,00,50,75,M,FB,KC-00-50x75.step +KC0050-75MCA,00,50,75,M,CA,KC-00-50x75.step +KC0050-75MCB,00,50,75,M,CB,KC-00-50x75.step +KC0050-75MLB,00,50,75,M,LB,KC-00-50x75.step +KC0050-75MYB,00,50,75,M,YB,KC-00-50x75.step +KC0050-100,00,50,100,,,KC-00-50x100.step +KC0050-100FA,00,50,100,,FA,KC-00-50x100.step +KC0050-100FB,00,50,100,,FB,KC-00-50x100.step +KC0050-100CA,00,50,100,,CA,KC-00-50x100.step +KC0050-100CB,00,50,100,,CB,KC-00-50x100.step +KC0050-100LB,00,50,100,,LB,KC-00-50x100.step +KC0050-100YB,00,50,100,,YB,KC-00-50x100.step +KC0050-100M,00,50,100,M,,KC-00-50x100.step +KC0050-100MFA,00,50,100,M,FA,KC-00-50x100.step +KC0050-100MFB,00,50,100,M,FB,KC-00-50x100.step +KC0050-100MCA,00,50,100,M,CA,KC-00-50x100.step +KC0050-100MCB,00,50,100,M,CB,KC-00-50x100.step +KC0050-100MLB,00,50,100,M,LB,KC-00-50x100.step +KC0050-100MYB,00,50,100,M,YB,KC-00-50x100.step +KC0063-10,00,63,10,,,KC-00-63x10.step +KC0063-10FA,00,63,10,,FA,KC-00-63x10.step +KC0063-10FB,00,63,10,,FB,KC-00-63x10.step +KC0063-10CA,00,63,10,,CA,KC-00-63x10.step +KC0063-10CB,00,63,10,,CB,KC-00-63x10.step +KC0063-10LB,00,63,10,,LB,KC-00-63x10.step +KC0063-10YB,00,63,10,,YB,KC-00-63x10.step +KC0063-10M,00,63,10,M,,KC-00-63x10.step +KC0063-10MFA,00,63,10,M,FA,KC-00-63x10.step +KC0063-10MFB,00,63,10,M,FB,KC-00-63x10.step +KC0063-10MCA,00,63,10,M,CA,KC-00-63x10.step +KC0063-10MCB,00,63,10,M,CB,KC-00-63x10.step +KC0063-10MLB,00,63,10,M,LB,KC-00-63x10.step +KC0063-10MYB,00,63,10,M,YB,KC-00-63x10.step +KC0063-20,00,63,20,,,KC-00-63x20.step +KC0063-20FA,00,63,20,,FA,KC-00-63x20.step +KC0063-20FB,00,63,20,,FB,KC-00-63x20.step +KC0063-20CA,00,63,20,,CA,KC-00-63x20.step +KC0063-20CB,00,63,20,,CB,KC-00-63x20.step +KC0063-20LB,00,63,20,,LB,KC-00-63x20.step +KC0063-20YB,00,63,20,,YB,KC-00-63x20.step +KC0063-20M,00,63,20,M,,KC-00-63x20.step +KC0063-20MFA,00,63,20,M,FA,KC-00-63x20.step +KC0063-20MFB,00,63,20,M,FB,KC-00-63x20.step +KC0063-20MCA,00,63,20,M,CA,KC-00-63x20.step +KC0063-20MCB,00,63,20,M,CB,KC-00-63x20.step +KC0063-20MLB,00,63,20,M,LB,KC-00-63x20.step +KC0063-20MYB,00,63,20,M,YB,KC-00-63x20.step +KC0063-30,00,63,30,,,KC-00-63x30.step +KC0063-30FA,00,63,30,,FA,KC-00-63x30.step +KC0063-30FB,00,63,30,,FB,KC-00-63x30.step +KC0063-30CA,00,63,30,,CA,KC-00-63x30.step +KC0063-30CB,00,63,30,,CB,KC-00-63x30.step +KC0063-30LB,00,63,30,,LB,KC-00-63x30.step +KC0063-30YB,00,63,30,,YB,KC-00-63x30.step +KC0063-30M,00,63,30,M,,KC-00-63x30.step +KC0063-30MFA,00,63,30,M,FA,KC-00-63x30.step +KC0063-30MFB,00,63,30,M,FB,KC-00-63x30.step +KC0063-30MCA,00,63,30,M,CA,KC-00-63x30.step +KC0063-30MCB,00,63,30,M,CB,KC-00-63x30.step +KC0063-30MLB,00,63,30,M,LB,KC-00-63x30.step +KC0063-30MYB,00,63,30,M,YB,KC-00-63x30.step +KC0063-50,00,63,50,,,KC-00-63x50.step +KC0063-50FA,00,63,50,,FA,KC-00-63x50.step +KC0063-50FB,00,63,50,,FB,KC-00-63x50.step +KC0063-50CA,00,63,50,,CA,KC-00-63x50.step +KC0063-50CB,00,63,50,,CB,KC-00-63x50.step +KC0063-50LB,00,63,50,,LB,KC-00-63x50.step +KC0063-50YB,00,63,50,,YB,KC-00-63x50.step +KC0063-50M,00,63,50,M,,KC-00-63x50.step +KC0063-50MFA,00,63,50,M,FA,KC-00-63x50.step +KC0063-50MFB,00,63,50,M,FB,KC-00-63x50.step +KC0063-50MCA,00,63,50,M,CA,KC-00-63x50.step +KC0063-50MCB,00,63,50,M,CB,KC-00-63x50.step +KC0063-50MLB,00,63,50,M,LB,KC-00-63x50.step +KC0063-50MYB,00,63,50,M,YB,KC-00-63x50.step +KC0063-75,00,63,75,,,KC-00-63x75.step +KC0063-75FA,00,63,75,,FA,KC-00-63x75.step +KC0063-75FB,00,63,75,,FB,KC-00-63x75.step +KC0063-75CA,00,63,75,,CA,KC-00-63x75.step +KC0063-75CB,00,63,75,,CB,KC-00-63x75.step +KC0063-75LB,00,63,75,,LB,KC-00-63x75.step +KC0063-75YB,00,63,75,,YB,KC-00-63x75.step +KC0063-75M,00,63,75,M,,KC-00-63x75.step +KC0063-75MFA,00,63,75,M,FA,KC-00-63x75.step +KC0063-75MFB,00,63,75,M,FB,KC-00-63x75.step +KC0063-75MCA,00,63,75,M,CA,KC-00-63x75.step +KC0063-75MCB,00,63,75,M,CB,KC-00-63x75.step +KC0063-75MLB,00,63,75,M,LB,KC-00-63x75.step +KC0063-75MYB,00,63,75,M,YB,KC-00-63x75.step +KC0063-100,00,63,100,,,KC-00-63x100.step +KC0063-100FA,00,63,100,,FA,KC-00-63x100.step +KC0063-100FB,00,63,100,,FB,KC-00-63x100.step +KC0063-100CA,00,63,100,,CA,KC-00-63x100.step +KC0063-100CB,00,63,100,,CB,KC-00-63x100.step +KC0063-100LB,00,63,100,,LB,KC-00-63x100.step +KC0063-100YB,00,63,100,,YB,KC-00-63x100.step +KC0063-100M,00,63,100,M,,KC-00-63x100.step +KC0063-100MFA,00,63,100,M,FA,KC-00-63x100.step +KC0063-100MFB,00,63,100,M,FB,KC-00-63x100.step +KC0063-100MCA,00,63,100,M,CA,KC-00-63x100.step +KC0063-100MCB,00,63,100,M,CB,KC-00-63x100.step +KC0063-100MLB,00,63,100,M,LB,KC-00-63x100.step +KC0063-100MYB,00,63,100,M,YB,KC-00-63x100.step +KC0080-10,00,80,10,,,KC-00-80x10.step +KC0080-10FA,00,80,10,,FA,KC-00-80x10.step +KC0080-10FB,00,80,10,,FB,KC-00-80x10.step +KC0080-10CA,00,80,10,,CA,KC-00-80x10.step +KC0080-10CB,00,80,10,,CB,KC-00-80x10.step +KC0080-10LB,00,80,10,,LB,KC-00-80x10.step +KC0080-10YB,00,80,10,,YB,KC-00-80x10.step +KC0080-10M,00,80,10,M,,KC-00-80x10.step +KC0080-10MFA,00,80,10,M,FA,KC-00-80x10.step +KC0080-10MFB,00,80,10,M,FB,KC-00-80x10.step +KC0080-10MCA,00,80,10,M,CA,KC-00-80x10.step +KC0080-10MCB,00,80,10,M,CB,KC-00-80x10.step +KC0080-10MLB,00,80,10,M,LB,KC-00-80x10.step +KC0080-10MYB,00,80,10,M,YB,KC-00-80x10.step +KC0080-20,00,80,20,,,KC-00-80x20.step +KC0080-20FA,00,80,20,,FA,KC-00-80x20.step +KC0080-20FB,00,80,20,,FB,KC-00-80x20.step +KC0080-20CA,00,80,20,,CA,KC-00-80x20.step +KC0080-20CB,00,80,20,,CB,KC-00-80x20.step +KC0080-20LB,00,80,20,,LB,KC-00-80x20.step +KC0080-20YB,00,80,20,,YB,KC-00-80x20.step +KC0080-20M,00,80,20,M,,KC-00-80x20.step +KC0080-20MFA,00,80,20,M,FA,KC-00-80x20.step +KC0080-20MFB,00,80,20,M,FB,KC-00-80x20.step +KC0080-20MCA,00,80,20,M,CA,KC-00-80x20.step +KC0080-20MCB,00,80,20,M,CB,KC-00-80x20.step +KC0080-20MLB,00,80,20,M,LB,KC-00-80x20.step +KC0080-20MYB,00,80,20,M,YB,KC-00-80x20.step +KC0080-30,00,80,30,,,KC-00-80x30.step +KC0080-30FA,00,80,30,,FA,KC-00-80x30.step +KC0080-30FB,00,80,30,,FB,KC-00-80x30.step +KC0080-30CA,00,80,30,,CA,KC-00-80x30.step +KC0080-30CB,00,80,30,,CB,KC-00-80x30.step +KC0080-30LB,00,80,30,,LB,KC-00-80x30.step +KC0080-30YB,00,80,30,,YB,KC-00-80x30.step +KC0080-30M,00,80,30,M,,KC-00-80x30.step +KC0080-30MFA,00,80,30,M,FA,KC-00-80x30.step +KC0080-30MFB,00,80,30,M,FB,KC-00-80x30.step +KC0080-30MCA,00,80,30,M,CA,KC-00-80x30.step +KC0080-30MCB,00,80,30,M,CB,KC-00-80x30.step +KC0080-30MLB,00,80,30,M,LB,KC-00-80x30.step +KC0080-30MYB,00,80,30,M,YB,KC-00-80x30.step +KC0080-50,00,80,50,,,KC-00-80x50.step +KC0080-50FA,00,80,50,,FA,KC-00-80x50.step +KC0080-50FB,00,80,50,,FB,KC-00-80x50.step +KC0080-50CA,00,80,50,,CA,KC-00-80x50.step +KC0080-50CB,00,80,50,,CB,KC-00-80x50.step +KC0080-50LB,00,80,50,,LB,KC-00-80x50.step +KC0080-50YB,00,80,50,,YB,KC-00-80x50.step +KC0080-50M,00,80,50,M,,KC-00-80x50.step +KC0080-50MFA,00,80,50,M,FA,KC-00-80x50.step +KC0080-50MFB,00,80,50,M,FB,KC-00-80x50.step +KC0080-50MCA,00,80,50,M,CA,KC-00-80x50.step +KC0080-50MCB,00,80,50,M,CB,KC-00-80x50.step +KC0080-50MLB,00,80,50,M,LB,KC-00-80x50.step +KC0080-50MYB,00,80,50,M,YB,KC-00-80x50.step +KC0080-75,00,80,75,,,KC-00-80x75.step +KC0080-75FA,00,80,75,,FA,KC-00-80x75.step +KC0080-75FB,00,80,75,,FB,KC-00-80x75.step +KC0080-75CA,00,80,75,,CA,KC-00-80x75.step +KC0080-75CB,00,80,75,,CB,KC-00-80x75.step +KC0080-75LB,00,80,75,,LB,KC-00-80x75.step +KC0080-75YB,00,80,75,,YB,KC-00-80x75.step +KC0080-75M,00,80,75,M,,KC-00-80x75.step +KC0080-75MFA,00,80,75,M,FA,KC-00-80x75.step +KC0080-75MFB,00,80,75,M,FB,KC-00-80x75.step +KC0080-75MCA,00,80,75,M,CA,KC-00-80x75.step +KC0080-75MCB,00,80,75,M,CB,KC-00-80x75.step +KC0080-75MLB,00,80,75,M,LB,KC-00-80x75.step +KC0080-75MYB,00,80,75,M,YB,KC-00-80x75.step +KC0080-100,00,80,100,,,KC-00-80x100.step +KC0080-100FA,00,80,100,,FA,KC-00-80x100.step +KC0080-100FB,00,80,100,,FB,KC-00-80x100.step +KC0080-100CA,00,80,100,,CA,KC-00-80x100.step +KC0080-100CB,00,80,100,,CB,KC-00-80x100.step +KC0080-100LB,00,80,100,,LB,KC-00-80x100.step +KC0080-100YB,00,80,100,,YB,KC-00-80x100.step +KC0080-100M,00,80,100,M,,KC-00-80x100.step +KC0080-100MFA,00,80,100,M,FA,KC-00-80x100.step +KC0080-100MFB,00,80,100,M,FB,KC-00-80x100.step +KC0080-100MCA,00,80,100,M,CA,KC-00-80x100.step +KC0080-100MCB,00,80,100,M,CB,KC-00-80x100.step +KC0080-100MLB,00,80,100,M,LB,KC-00-80x100.step +KC0080-100MYB,00,80,100,M,YB,KC-00-80x100.step +KC00100-10,00,100,10,,,KC-00-100x10.step +KC00100-10FA,00,100,10,,FA,KC-00-100x10.step +KC00100-10FB,00,100,10,,FB,KC-00-100x10.step +KC00100-10CA,00,100,10,,CA,KC-00-100x10.step +KC00100-10CB,00,100,10,,CB,KC-00-100x10.step +KC00100-10LB,00,100,10,,LB,KC-00-100x10.step +KC00100-10YB,00,100,10,,YB,KC-00-100x10.step +KC00100-10M,00,100,10,M,,KC-00-100x10.step +KC00100-10MFA,00,100,10,M,FA,KC-00-100x10.step +KC00100-10MFB,00,100,10,M,FB,KC-00-100x10.step +KC00100-10MCA,00,100,10,M,CA,KC-00-100x10.step +KC00100-10MCB,00,100,10,M,CB,KC-00-100x10.step +KC00100-10MLB,00,100,10,M,LB,KC-00-100x10.step +KC00100-10MYB,00,100,10,M,YB,KC-00-100x10.step +KC00100-20,00,100,20,,,KC-00-100x20.step +KC00100-20FA,00,100,20,,FA,KC-00-100x20.step +KC00100-20FB,00,100,20,,FB,KC-00-100x20.step +KC00100-20CA,00,100,20,,CA,KC-00-100x20.step +KC00100-20CB,00,100,20,,CB,KC-00-100x20.step +KC00100-20LB,00,100,20,,LB,KC-00-100x20.step +KC00100-20YB,00,100,20,,YB,KC-00-100x20.step +KC00100-20M,00,100,20,M,,KC-00-100x20.step +KC00100-20MFA,00,100,20,M,FA,KC-00-100x20.step +KC00100-20MFB,00,100,20,M,FB,KC-00-100x20.step +KC00100-20MCA,00,100,20,M,CA,KC-00-100x20.step +KC00100-20MCB,00,100,20,M,CB,KC-00-100x20.step +KC00100-20MLB,00,100,20,M,LB,KC-00-100x20.step +KC00100-20MYB,00,100,20,M,YB,KC-00-100x20.step +KC00100-30,00,100,30,,,KC-00-100x30.step +KC00100-30FA,00,100,30,,FA,KC-00-100x30.step +KC00100-30FB,00,100,30,,FB,KC-00-100x30.step +KC00100-30CA,00,100,30,,CA,KC-00-100x30.step +KC00100-30CB,00,100,30,,CB,KC-00-100x30.step +KC00100-30LB,00,100,30,,LB,KC-00-100x30.step +KC00100-30YB,00,100,30,,YB,KC-00-100x30.step +KC00100-30M,00,100,30,M,,KC-00-100x30.step +KC00100-30MFA,00,100,30,M,FA,KC-00-100x30.step +KC00100-30MFB,00,100,30,M,FB,KC-00-100x30.step +KC00100-30MCA,00,100,30,M,CA,KC-00-100x30.step +KC00100-30MCB,00,100,30,M,CB,KC-00-100x30.step +KC00100-30MLB,00,100,30,M,LB,KC-00-100x30.step +KC00100-30MYB,00,100,30,M,YB,KC-00-100x30.step +KC00100-50,00,100,50,,,KC-00-100x50.step +KC00100-50FA,00,100,50,,FA,KC-00-100x50.step +KC00100-50FB,00,100,50,,FB,KC-00-100x50.step +KC00100-50CA,00,100,50,,CA,KC-00-100x50.step +KC00100-50CB,00,100,50,,CB,KC-00-100x50.step +KC00100-50LB,00,100,50,,LB,KC-00-100x50.step +KC00100-50YB,00,100,50,,YB,KC-00-100x50.step +KC00100-50M,00,100,50,M,,KC-00-100x50.step +KC00100-50MFA,00,100,50,M,FA,KC-00-100x50.step +KC00100-50MFB,00,100,50,M,FB,KC-00-100x50.step +KC00100-50MCA,00,100,50,M,CA,KC-00-100x50.step +KC00100-50MCB,00,100,50,M,CB,KC-00-100x50.step +KC00100-50MLB,00,100,50,M,LB,KC-00-100x50.step +KC00100-50MYB,00,100,50,M,YB,KC-00-100x50.step +KC00100-75,00,100,75,,,KC-00-100x75.step +KC00100-75FA,00,100,75,,FA,KC-00-100x75.step +KC00100-75FB,00,100,75,,FB,KC-00-100x75.step +KC00100-75CA,00,100,75,,CA,KC-00-100x75.step +KC00100-75CB,00,100,75,,CB,KC-00-100x75.step +KC00100-75LB,00,100,75,,LB,KC-00-100x75.step +KC00100-75YB,00,100,75,,YB,KC-00-100x75.step +KC00100-75M,00,100,75,M,,KC-00-100x75.step +KC00100-75MFA,00,100,75,M,FA,KC-00-100x75.step +KC00100-75MFB,00,100,75,M,FB,KC-00-100x75.step +KC00100-75MCA,00,100,75,M,CA,KC-00-100x75.step +KC00100-75MCB,00,100,75,M,CB,KC-00-100x75.step +KC00100-75MLB,00,100,75,M,LB,KC-00-100x75.step +KC00100-75MYB,00,100,75,M,YB,KC-00-100x75.step +KC00100-100,00,100,100,,,KC-00-100x100.step +KC00100-100FA,00,100,100,,FA,KC-00-100x100.step +KC00100-100FB,00,100,100,,FB,KC-00-100x100.step +KC00100-100CA,00,100,100,,CA,KC-00-100x100.step +KC00100-100CB,00,100,100,,CB,KC-00-100x100.step +KC00100-100LB,00,100,100,,LB,KC-00-100x100.step +KC00100-100YB,00,100,100,,YB,KC-00-100x100.step +KC00100-100M,00,100,100,M,,KC-00-100x100.step +KC00100-100MFA,00,100,100,M,FA,KC-00-100x100.step +KC00100-100MFB,00,100,100,M,FB,KC-00-100x100.step +KC00100-100MCA,00,100,100,M,CA,KC-00-100x100.step +KC00100-100MCB,00,100,100,M,CB,KC-00-100x100.step +KC00100-100MLB,00,100,100,M,LB,KC-00-100x100.step +KC00100-100MYB,00,100,100,M,YB,KC-00-100x100.step +KC00125-10,00,125,10,,,KC-00-125x10.step +KC00125-10FA,00,125,10,,FA,KC-00-125x10.step +KC00125-10FB,00,125,10,,FB,KC-00-125x10.step +KC00125-10CA,00,125,10,,CA,KC-00-125x10.step +KC00125-10CB,00,125,10,,CB,KC-00-125x10.step +KC00125-10LB,00,125,10,,LB,KC-00-125x10.step +KC00125-10YB,00,125,10,,YB,KC-00-125x10.step +KC00125-10M,00,125,10,M,,KC-00-125x10.step +KC00125-10MFA,00,125,10,M,FA,KC-00-125x10.step +KC00125-10MFB,00,125,10,M,FB,KC-00-125x10.step +KC00125-10MCA,00,125,10,M,CA,KC-00-125x10.step +KC00125-10MCB,00,125,10,M,CB,KC-00-125x10.step +KC00125-10MLB,00,125,10,M,LB,KC-00-125x10.step +KC00125-10MYB,00,125,10,M,YB,KC-00-125x10.step +KC00125-20,00,125,20,,,KC-00-125x20.step +KC00125-20FA,00,125,20,,FA,KC-00-125x20.step +KC00125-20FB,00,125,20,,FB,KC-00-125x20.step +KC00125-20CA,00,125,20,,CA,KC-00-125x20.step +KC00125-20CB,00,125,20,,CB,KC-00-125x20.step +KC00125-20LB,00,125,20,,LB,KC-00-125x20.step +KC00125-20YB,00,125,20,,YB,KC-00-125x20.step +KC00125-20M,00,125,20,M,,KC-00-125x20.step +KC00125-20MFA,00,125,20,M,FA,KC-00-125x20.step +KC00125-20MFB,00,125,20,M,FB,KC-00-125x20.step +KC00125-20MCA,00,125,20,M,CA,KC-00-125x20.step +KC00125-20MCB,00,125,20,M,CB,KC-00-125x20.step +KC00125-20MLB,00,125,20,M,LB,KC-00-125x20.step +KC00125-20MYB,00,125,20,M,YB,KC-00-125x20.step +KC00125-30,00,125,30,,,KC-00-125x30.step +KC00125-30FA,00,125,30,,FA,KC-00-125x30.step +KC00125-30FB,00,125,30,,FB,KC-00-125x30.step +KC00125-30CA,00,125,30,,CA,KC-00-125x30.step +KC00125-30CB,00,125,30,,CB,KC-00-125x30.step +KC00125-30LB,00,125,30,,LB,KC-00-125x30.step +KC00125-30YB,00,125,30,,YB,KC-00-125x30.step +KC00125-30M,00,125,30,M,,KC-00-125x30.step +KC00125-30MFA,00,125,30,M,FA,KC-00-125x30.step +KC00125-30MFB,00,125,30,M,FB,KC-00-125x30.step +KC00125-30MCA,00,125,30,M,CA,KC-00-125x30.step +KC00125-30MCB,00,125,30,M,CB,KC-00-125x30.step +KC00125-30MLB,00,125,30,M,LB,KC-00-125x30.step +KC00125-30MYB,00,125,30,M,YB,KC-00-125x30.step +KC00125-50,00,125,50,,,KC-00-125x50.step +KC00125-50FA,00,125,50,,FA,KC-00-125x50.step +KC00125-50FB,00,125,50,,FB,KC-00-125x50.step +KC00125-50CA,00,125,50,,CA,KC-00-125x50.step +KC00125-50CB,00,125,50,,CB,KC-00-125x50.step +KC00125-50LB,00,125,50,,LB,KC-00-125x50.step +KC00125-50YB,00,125,50,,YB,KC-00-125x50.step +KC00125-50M,00,125,50,M,,KC-00-125x50.step +KC00125-50MFA,00,125,50,M,FA,KC-00-125x50.step +KC00125-50MFB,00,125,50,M,FB,KC-00-125x50.step +KC00125-50MCA,00,125,50,M,CA,KC-00-125x50.step +KC00125-50MCB,00,125,50,M,CB,KC-00-125x50.step +KC00125-50MLB,00,125,50,M,LB,KC-00-125x50.step +KC00125-50MYB,00,125,50,M,YB,KC-00-125x50.step +KC00125-75,00,125,75,,,KC-00-125x75.step +KC00125-75FA,00,125,75,,FA,KC-00-125x75.step +KC00125-75FB,00,125,75,,FB,KC-00-125x75.step +KC00125-75CA,00,125,75,,CA,KC-00-125x75.step +KC00125-75CB,00,125,75,,CB,KC-00-125x75.step +KC00125-75LB,00,125,75,,LB,KC-00-125x75.step +KC00125-75YB,00,125,75,,YB,KC-00-125x75.step +KC00125-75M,00,125,75,M,,KC-00-125x75.step +KC00125-75MFA,00,125,75,M,FA,KC-00-125x75.step +KC00125-75MFB,00,125,75,M,FB,KC-00-125x75.step +KC00125-75MCA,00,125,75,M,CA,KC-00-125x75.step +KC00125-75MCB,00,125,75,M,CB,KC-00-125x75.step +KC00125-75MLB,00,125,75,M,LB,KC-00-125x75.step +KC00125-75MYB,00,125,75,M,YB,KC-00-125x75.step +KC00125-100,00,125,100,,,KC-00-125x100.step +KC00125-100FA,00,125,100,,FA,KC-00-125x100.step +KC00125-100FB,00,125,100,,FB,KC-00-125x100.step +KC00125-100CA,00,125,100,,CA,KC-00-125x100.step +KC00125-100CB,00,125,100,,CB,KC-00-125x100.step +KC00125-100LB,00,125,100,,LB,KC-00-125x100.step +KC00125-100YB,00,125,100,,YB,KC-00-125x100.step +KC00125-100M,00,125,100,M,,KC-00-125x100.step +KC00125-100MFA,00,125,100,M,FA,KC-00-125x100.step +KC00125-100MFB,00,125,100,M,FB,KC-00-125x100.step +KC00125-100MCA,00,125,100,M,CA,KC-00-125x100.step +KC00125-100MCB,00,125,100,M,CB,KC-00-125x100.step +KC00125-100MLB,00,125,100,M,LB,KC-00-125x100.step +KC00125-100MYB,00,125,100,M,YB,KC-00-125x100.step +KC00160-10,00,160,10,,,KC-00-160x10.step +KC00160-10FA,00,160,10,,FA,KC-00-160x10.step +KC00160-10FB,00,160,10,,FB,KC-00-160x10.step +KC00160-10CA,00,160,10,,CA,KC-00-160x10.step +KC00160-10CB,00,160,10,,CB,KC-00-160x10.step +KC00160-10LB,00,160,10,,LB,KC-00-160x10.step +KC00160-10M,00,160,10,M,,KC-00-160x10.step +KC00160-10MFA,00,160,10,M,FA,KC-00-160x10.step +KC00160-10MFB,00,160,10,M,FB,KC-00-160x10.step +KC00160-10MCA,00,160,10,M,CA,KC-00-160x10.step +KC00160-10MCB,00,160,10,M,CB,KC-00-160x10.step +KC00160-10MLB,00,160,10,M,LB,KC-00-160x10.step +KC00160-20,00,160,20,,,KC-00-160x20.step +KC00160-20FA,00,160,20,,FA,KC-00-160x20.step +KC00160-20FB,00,160,20,,FB,KC-00-160x20.step +KC00160-20CA,00,160,20,,CA,KC-00-160x20.step +KC00160-20CB,00,160,20,,CB,KC-00-160x20.step +KC00160-20LB,00,160,20,,LB,KC-00-160x20.step +KC00160-20M,00,160,20,M,,KC-00-160x20.step +KC00160-20MFA,00,160,20,M,FA,KC-00-160x20.step +KC00160-20MFB,00,160,20,M,FB,KC-00-160x20.step +KC00160-20MCA,00,160,20,M,CA,KC-00-160x20.step +KC00160-20MCB,00,160,20,M,CB,KC-00-160x20.step +KC00160-20MLB,00,160,20,M,LB,KC-00-160x20.step +KC00160-30,00,160,30,,,KC-00-160x30.step +KC00160-30FA,00,160,30,,FA,KC-00-160x30.step +KC00160-30FB,00,160,30,,FB,KC-00-160x30.step +KC00160-30CA,00,160,30,,CA,KC-00-160x30.step +KC00160-30CB,00,160,30,,CB,KC-00-160x30.step +KC00160-30LB,00,160,30,,LB,KC-00-160x30.step +KC00160-30M,00,160,30,M,,KC-00-160x30.step +KC00160-30MFA,00,160,30,M,FA,KC-00-160x30.step +KC00160-30MFB,00,160,30,M,FB,KC-00-160x30.step +KC00160-30MCA,00,160,30,M,CA,KC-00-160x30.step +KC00160-30MCB,00,160,30,M,CB,KC-00-160x30.step +KC00160-30MLB,00,160,30,M,LB,KC-00-160x30.step +KC00160-50,00,160,50,,,KC-00-160x50.step +KC00160-50FA,00,160,50,,FA,KC-00-160x50.step +KC00160-50FB,00,160,50,,FB,KC-00-160x50.step +KC00160-50CA,00,160,50,,CA,KC-00-160x50.step +KC00160-50CB,00,160,50,,CB,KC-00-160x50.step +KC00160-50LB,00,160,50,,LB,KC-00-160x50.step +KC00160-50M,00,160,50,M,,KC-00-160x50.step +KC00160-50MFA,00,160,50,M,FA,KC-00-160x50.step +KC00160-50MFB,00,160,50,M,FB,KC-00-160x50.step +KC00160-50MCA,00,160,50,M,CA,KC-00-160x50.step +KC00160-50MCB,00,160,50,M,CB,KC-00-160x50.step +KC00160-50MLB,00,160,50,M,LB,KC-00-160x50.step +KC00160-75,00,160,75,,,KC-00-160x75.step +KC00160-75FA,00,160,75,,FA,KC-00-160x75.step +KC00160-75FB,00,160,75,,FB,KC-00-160x75.step +KC00160-75CA,00,160,75,,CA,KC-00-160x75.step +KC00160-75CB,00,160,75,,CB,KC-00-160x75.step +KC00160-75LB,00,160,75,,LB,KC-00-160x75.step +KC00160-75M,00,160,75,M,,KC-00-160x75.step +KC00160-75MFA,00,160,75,M,FA,KC-00-160x75.step +KC00160-75MFB,00,160,75,M,FB,KC-00-160x75.step +KC00160-75MCA,00,160,75,M,CA,KC-00-160x75.step +KC00160-75MCB,00,160,75,M,CB,KC-00-160x75.step +KC00160-75MLB,00,160,75,M,LB,KC-00-160x75.step +KC00160-100,00,160,100,,,KC-00-160x100.step +KC00160-100FA,00,160,100,,FA,KC-00-160x100.step +KC00160-100FB,00,160,100,,FB,KC-00-160x100.step +KC00160-100CA,00,160,100,,CA,KC-00-160x100.step +KC00160-100CB,00,160,100,,CB,KC-00-160x100.step +KC00160-100LB,00,160,100,,LB,KC-00-160x100.step +KC00160-100M,00,160,100,M,,KC-00-160x100.step +KC00160-100MFA,00,160,100,M,FA,KC-00-160x100.step +KC00160-100MFB,00,160,100,M,FB,KC-00-160x100.step +KC00160-100MCA,00,160,100,M,CA,KC-00-160x100.step +KC00160-100MCB,00,160,100,M,CB,KC-00-160x100.step +KC00160-100MLB,00,160,100,M,LB,KC-00-160x100.step +KC00200-10,00,200,10,,,KC-00-200x10.step +KC00200-10FA,00,200,10,,FA,KC-00-200x10.step +KC00200-10FB,00,200,10,,FB,KC-00-200x10.step +KC00200-10CA,00,200,10,,CA,KC-00-200x10.step +KC00200-10CB,00,200,10,,CB,KC-00-200x10.step +KC00200-10LB,00,200,10,,LB,KC-00-200x10.step +KC00200-10M,00,200,10,M,,KC-00-200x10.step +KC00200-10MFA,00,200,10,M,FA,KC-00-200x10.step +KC00200-10MFB,00,200,10,M,FB,KC-00-200x10.step +KC00200-10MCA,00,200,10,M,CA,KC-00-200x10.step +KC00200-10MCB,00,200,10,M,CB,KC-00-200x10.step +KC00200-10MLB,00,200,10,M,LB,KC-00-200x10.step +KC00200-20,00,200,20,,,KC-00-200x20.step +KC00200-20FA,00,200,20,,FA,KC-00-200x20.step +KC00200-20FB,00,200,20,,FB,KC-00-200x20.step +KC00200-20CA,00,200,20,,CA,KC-00-200x20.step +KC00200-20CB,00,200,20,,CB,KC-00-200x20.step +KC00200-20LB,00,200,20,,LB,KC-00-200x20.step +KC00200-20M,00,200,20,M,,KC-00-200x20.step +KC00200-20MFA,00,200,20,M,FA,KC-00-200x20.step +KC00200-20MFB,00,200,20,M,FB,KC-00-200x20.step +KC00200-20MCA,00,200,20,M,CA,KC-00-200x20.step +KC00200-20MCB,00,200,20,M,CB,KC-00-200x20.step +KC00200-20MLB,00,200,20,M,LB,KC-00-200x20.step +KC00200-30,00,200,30,,,KC-00-200x30.step +KC00200-30FA,00,200,30,,FA,KC-00-200x30.step +KC00200-30FB,00,200,30,,FB,KC-00-200x30.step +KC00200-30CA,00,200,30,,CA,KC-00-200x30.step +KC00200-30CB,00,200,30,,CB,KC-00-200x30.step +KC00200-30LB,00,200,30,,LB,KC-00-200x30.step +KC00200-30M,00,200,30,M,,KC-00-200x30.step +KC00200-30MFA,00,200,30,M,FA,KC-00-200x30.step +KC00200-30MFB,00,200,30,M,FB,KC-00-200x30.step +KC00200-30MCA,00,200,30,M,CA,KC-00-200x30.step +KC00200-30MCB,00,200,30,M,CB,KC-00-200x30.step +KC00200-30MLB,00,200,30,M,LB,KC-00-200x30.step +KC00200-50,00,200,50,,,KC-00-200x50.step +KC00200-50FA,00,200,50,,FA,KC-00-200x50.step +KC00200-50FB,00,200,50,,FB,KC-00-200x50.step +KC00200-50CA,00,200,50,,CA,KC-00-200x50.step +KC00200-50CB,00,200,50,,CB,KC-00-200x50.step +KC00200-50LB,00,200,50,,LB,KC-00-200x50.step +KC00200-50M,00,200,50,M,,KC-00-200x50.step +KC00200-50MFA,00,200,50,M,FA,KC-00-200x50.step +KC00200-50MFB,00,200,50,M,FB,KC-00-200x50.step +KC00200-50MCA,00,200,50,M,CA,KC-00-200x50.step +KC00200-50MCB,00,200,50,M,CB,KC-00-200x50.step +KC00200-50MLB,00,200,50,M,LB,KC-00-200x50.step +KC00200-75,00,200,75,,,KC-00-200x75.step +KC00200-75FA,00,200,75,,FA,KC-00-200x75.step +KC00200-75FB,00,200,75,,FB,KC-00-200x75.step +KC00200-75CA,00,200,75,,CA,KC-00-200x75.step +KC00200-75CB,00,200,75,,CB,KC-00-200x75.step +KC00200-75LB,00,200,75,,LB,KC-00-200x75.step +KC00200-75M,00,200,75,M,,KC-00-200x75.step +KC00200-75MFA,00,200,75,M,FA,KC-00-200x75.step +KC00200-75MFB,00,200,75,M,FB,KC-00-200x75.step +KC00200-75MCA,00,200,75,M,CA,KC-00-200x75.step +KC00200-75MCB,00,200,75,M,CB,KC-00-200x75.step +KC00200-75MLB,00,200,75,M,LB,KC-00-200x75.step +KC00200-100,00,200,100,,,KC-00-200x100.step +KC00200-100FA,00,200,100,,FA,KC-00-200x100.step +KC00200-100FB,00,200,100,,FB,KC-00-200x100.step +KC00200-100CA,00,200,100,,CA,KC-00-200x100.step +KC00200-100CB,00,200,100,,CB,KC-00-200x100.step +KC00200-100LB,00,200,100,,LB,KC-00-200x100.step +KC00200-100M,00,200,100,M,,KC-00-200x100.step +KC00200-100MFA,00,200,100,M,FA,KC-00-200x100.step +KC00200-100MFB,00,200,100,M,FB,KC-00-200x100.step +KC00200-100MCA,00,200,100,M,CA,KC-00-200x100.step +KC00200-100MCB,00,200,100,M,CB,KC-00-200x100.step +KC00200-100MLB,00,200,100,M,LB,KC-00-200x100.step +KC00250-10,00,250,10,,,KC-00-250x10.step +KC00250-10FA,00,250,10,,FA,KC-00-250x10.step +KC00250-10FB,00,250,10,,FB,KC-00-250x10.step +KC00250-10CA,00,250,10,,CA,KC-00-250x10.step +KC00250-10CB,00,250,10,,CB,KC-00-250x10.step +KC00250-10LB,00,250,10,,LB,KC-00-250x10.step +KC00250-10M,00,250,10,M,,KC-00-250x10.step +KC00250-10MFA,00,250,10,M,FA,KC-00-250x10.step +KC00250-10MFB,00,250,10,M,FB,KC-00-250x10.step +KC00250-10MCA,00,250,10,M,CA,KC-00-250x10.step +KC00250-10MCB,00,250,10,M,CB,KC-00-250x10.step +KC00250-10MLB,00,250,10,M,LB,KC-00-250x10.step +KC00250-20,00,250,20,,,KC-00-250x20.step +KC00250-20FA,00,250,20,,FA,KC-00-250x20.step +KC00250-20FB,00,250,20,,FB,KC-00-250x20.step +KC00250-20CA,00,250,20,,CA,KC-00-250x20.step +KC00250-20CB,00,250,20,,CB,KC-00-250x20.step +KC00250-20LB,00,250,20,,LB,KC-00-250x20.step +KC00250-20M,00,250,20,M,,KC-00-250x20.step +KC00250-20MFA,00,250,20,M,FA,KC-00-250x20.step +KC00250-20MFB,00,250,20,M,FB,KC-00-250x20.step +KC00250-20MCA,00,250,20,M,CA,KC-00-250x20.step +KC00250-20MCB,00,250,20,M,CB,KC-00-250x20.step +KC00250-20MLB,00,250,20,M,LB,KC-00-250x20.step +KC00250-30,00,250,30,,,KC-00-250x30.step +KC00250-30FA,00,250,30,,FA,KC-00-250x30.step +KC00250-30FB,00,250,30,,FB,KC-00-250x30.step +KC00250-30CA,00,250,30,,CA,KC-00-250x30.step +KC00250-30CB,00,250,30,,CB,KC-00-250x30.step +KC00250-30LB,00,250,30,,LB,KC-00-250x30.step +KC00250-30M,00,250,30,M,,KC-00-250x30.step +KC00250-30MFA,00,250,30,M,FA,KC-00-250x30.step +KC00250-30MFB,00,250,30,M,FB,KC-00-250x30.step +KC00250-30MCA,00,250,30,M,CA,KC-00-250x30.step +KC00250-30MCB,00,250,30,M,CB,KC-00-250x30.step +KC00250-30MLB,00,250,30,M,LB,KC-00-250x30.step +KC00250-50,00,250,50,,,KC-00-250x50.step +KC00250-50FA,00,250,50,,FA,KC-00-250x50.step +KC00250-50FB,00,250,50,,FB,KC-00-250x50.step +KC00250-50CA,00,250,50,,CA,KC-00-250x50.step +KC00250-50CB,00,250,50,,CB,KC-00-250x50.step +KC00250-50LB,00,250,50,,LB,KC-00-250x50.step +KC00250-50M,00,250,50,M,,KC-00-250x50.step +KC00250-50MFA,00,250,50,M,FA,KC-00-250x50.step +KC00250-50MFB,00,250,50,M,FB,KC-00-250x50.step +KC00250-50MCA,00,250,50,M,CA,KC-00-250x50.step +KC00250-50MCB,00,250,50,M,CB,KC-00-250x50.step +KC00250-50MLB,00,250,50,M,LB,KC-00-250x50.step +KC00250-75,00,250,75,,,KC-00-250x75.step +KC00250-75FA,00,250,75,,FA,KC-00-250x75.step +KC00250-75FB,00,250,75,,FB,KC-00-250x75.step +KC00250-75CA,00,250,75,,CA,KC-00-250x75.step +KC00250-75CB,00,250,75,,CB,KC-00-250x75.step +KC00250-75LB,00,250,75,,LB,KC-00-250x75.step +KC00250-75M,00,250,75,M,,KC-00-250x75.step +KC00250-75MFA,00,250,75,M,FA,KC-00-250x75.step +KC00250-75MFB,00,250,75,M,FB,KC-00-250x75.step +KC00250-75MCA,00,250,75,M,CA,KC-00-250x75.step +KC00250-75MCB,00,250,75,M,CB,KC-00-250x75.step +KC00250-75MLB,00,250,75,M,LB,KC-00-250x75.step +KC00250-100,00,250,100,,,KC-00-250x100.step +KC00250-100FA,00,250,100,,FA,KC-00-250x100.step +KC00250-100FB,00,250,100,,FB,KC-00-250x100.step +KC00250-100CA,00,250,100,,CA,KC-00-250x100.step +KC00250-100CB,00,250,100,,CB,KC-00-250x100.step +KC00250-100LB,00,250,100,,LB,KC-00-250x100.step +KC00250-100M,00,250,100,M,,KC-00-250x100.step +KC00250-100MFA,00,250,100,M,FA,KC-00-250x100.step +KC00250-100MFB,00,250,100,M,FB,KC-00-250x100.step +KC00250-100MCA,00,250,100,M,CA,KC-00-250x100.step +KC00250-100MCB,00,250,100,M,CB,KC-00-250x100.step +KC00250-100MLB,00,250,100,M,LB,KC-00-250x100.step +KC00320-10,00,320,10,,,KC-00-320x10.step +KC00320-10FA,00,320,10,,FA,KC-00-320x10.step +KC00320-10FB,00,320,10,,FB,KC-00-320x10.step +KC00320-10CA,00,320,10,,CA,KC-00-320x10.step +KC00320-10CB,00,320,10,,CB,KC-00-320x10.step +KC00320-10LB,00,320,10,,LB,KC-00-320x10.step +KC00320-10M,00,320,10,M,,KC-00-320x10.step +KC00320-10MFA,00,320,10,M,FA,KC-00-320x10.step +KC00320-10MFB,00,320,10,M,FB,KC-00-320x10.step +KC00320-10MCA,00,320,10,M,CA,KC-00-320x10.step +KC00320-10MCB,00,320,10,M,CB,KC-00-320x10.step +KC00320-10MLB,00,320,10,M,LB,KC-00-320x10.step +KC00320-20,00,320,20,,,KC-00-320x20.step +KC00320-20FA,00,320,20,,FA,KC-00-320x20.step +KC00320-20FB,00,320,20,,FB,KC-00-320x20.step +KC00320-20CA,00,320,20,,CA,KC-00-320x20.step +KC00320-20CB,00,320,20,,CB,KC-00-320x20.step +KC00320-20LB,00,320,20,,LB,KC-00-320x20.step +KC00320-20M,00,320,20,M,,KC-00-320x20.step +KC00320-20MFA,00,320,20,M,FA,KC-00-320x20.step +KC00320-20MFB,00,320,20,M,FB,KC-00-320x20.step +KC00320-20MCA,00,320,20,M,CA,KC-00-320x20.step +KC00320-20MCB,00,320,20,M,CB,KC-00-320x20.step +KC00320-20MLB,00,320,20,M,LB,KC-00-320x20.step +KC00320-30,00,320,30,,,KC-00-320x30.step +KC00320-30FA,00,320,30,,FA,KC-00-320x30.step +KC00320-30FB,00,320,30,,FB,KC-00-320x30.step +KC00320-30CA,00,320,30,,CA,KC-00-320x30.step +KC00320-30CB,00,320,30,,CB,KC-00-320x30.step +KC00320-30LB,00,320,30,,LB,KC-00-320x30.step +KC00320-30M,00,320,30,M,,KC-00-320x30.step +KC00320-30MFA,00,320,30,M,FA,KC-00-320x30.step +KC00320-30MFB,00,320,30,M,FB,KC-00-320x30.step +KC00320-30MCA,00,320,30,M,CA,KC-00-320x30.step +KC00320-30MCB,00,320,30,M,CB,KC-00-320x30.step +KC00320-30MLB,00,320,30,M,LB,KC-00-320x30.step +KC00320-50,00,320,50,,,KC-00-320x50.step +KC00320-50FA,00,320,50,,FA,KC-00-320x50.step +KC00320-50FB,00,320,50,,FB,KC-00-320x50.step +KC00320-50CA,00,320,50,,CA,KC-00-320x50.step +KC00320-50CB,00,320,50,,CB,KC-00-320x50.step +KC00320-50LB,00,320,50,,LB,KC-00-320x50.step +KC00320-50M,00,320,50,M,,KC-00-320x50.step +KC00320-50MFA,00,320,50,M,FA,KC-00-320x50.step +KC00320-50MFB,00,320,50,M,FB,KC-00-320x50.step +KC00320-50MCA,00,320,50,M,CA,KC-00-320x50.step +KC00320-50MCB,00,320,50,M,CB,KC-00-320x50.step +KC00320-50MLB,00,320,50,M,LB,KC-00-320x50.step +KC00320-75,00,320,75,,,KC-00-320x75.step +KC00320-75FA,00,320,75,,FA,KC-00-320x75.step +KC00320-75FB,00,320,75,,FB,KC-00-320x75.step +KC00320-75CA,00,320,75,,CA,KC-00-320x75.step +KC00320-75CB,00,320,75,,CB,KC-00-320x75.step +KC00320-75LB,00,320,75,,LB,KC-00-320x75.step +KC00320-75M,00,320,75,M,,KC-00-320x75.step +KC00320-75MFA,00,320,75,M,FA,KC-00-320x75.step +KC00320-75MFB,00,320,75,M,FB,KC-00-320x75.step +KC00320-75MCA,00,320,75,M,CA,KC-00-320x75.step +KC00320-75MCB,00,320,75,M,CB,KC-00-320x75.step +KC00320-75MLB,00,320,75,M,LB,KC-00-320x75.step +KC00320-100,00,320,100,,,KC-00-320x100.step +KC00320-100FA,00,320,100,,FA,KC-00-320x100.step +KC00320-100FB,00,320,100,,FB,KC-00-320x100.step +KC00320-100CA,00,320,100,,CA,KC-00-320x100.step +KC00320-100CB,00,320,100,,CB,KC-00-320x100.step +KC00320-100LB,00,320,100,,LB,KC-00-320x100.step +KC00320-100M,00,320,100,M,,KC-00-320x100.step +KC00320-100MFA,00,320,100,M,FA,KC-00-320x100.step +KC00320-100MFB,00,320,100,M,FB,KC-00-320x100.step +KC00320-100MCA,00,320,100,M,CA,KC-00-320x100.step +KC00320-100MCB,00,320,100,M,CB,KC-00-320x100.step +KC00320-100MLB,00,320,100,M,LB,KC-00-320x100.step +KC0232-10,02,32,10,,,KC-02-32x10.step +KC0232-10FA,02,32,10,,FA,KC-02-32x10.step +KC0232-10FB,02,32,10,,FB,KC-02-32x10.step +KC0232-10CA,02,32,10,,CA,KC-02-32x10.step +KC0232-10CB,02,32,10,,CB,KC-02-32x10.step +KC0232-10LB,02,32,10,,LB,KC-02-32x10.step +KC0232-10YB,02,32,10,,YB,KC-02-32x10.step +KC0232-10M,02,32,10,M,,KC-02-32x10.step +KC0232-10MFA,02,32,10,M,FA,KC-02-32x10.step +KC0232-10MFB,02,32,10,M,FB,KC-02-32x10.step +KC0232-10MCA,02,32,10,M,CA,KC-02-32x10.step +KC0232-10MCB,02,32,10,M,CB,KC-02-32x10.step +KC0232-10MLB,02,32,10,M,LB,KC-02-32x10.step +KC0232-10MYB,02,32,10,M,YB,KC-02-32x10.step +KC0232-20,02,32,20,,,KC-02-32x20.step +KC0232-20FA,02,32,20,,FA,KC-02-32x20.step +KC0232-20FB,02,32,20,,FB,KC-02-32x20.step +KC0232-20CA,02,32,20,,CA,KC-02-32x20.step +KC0232-20CB,02,32,20,,CB,KC-02-32x20.step +KC0232-20LB,02,32,20,,LB,KC-02-32x20.step +KC0232-20YB,02,32,20,,YB,KC-02-32x20.step +KC0232-20M,02,32,20,M,,KC-02-32x20.step +KC0232-20MFA,02,32,20,M,FA,KC-02-32x20.step +KC0232-20MFB,02,32,20,M,FB,KC-02-32x20.step +KC0232-20MCA,02,32,20,M,CA,KC-02-32x20.step +KC0232-20MCB,02,32,20,M,CB,KC-02-32x20.step +KC0232-20MLB,02,32,20,M,LB,KC-02-32x20.step +KC0232-20MYB,02,32,20,M,YB,KC-02-32x20.step +KC0232-30,02,32,30,,,KC-02-32x30.step +KC0232-30FA,02,32,30,,FA,KC-02-32x30.step +KC0232-30FB,02,32,30,,FB,KC-02-32x30.step +KC0232-30CA,02,32,30,,CA,KC-02-32x30.step +KC0232-30CB,02,32,30,,CB,KC-02-32x30.step +KC0232-30LB,02,32,30,,LB,KC-02-32x30.step +KC0232-30YB,02,32,30,,YB,KC-02-32x30.step +KC0232-30M,02,32,30,M,,KC-02-32x30.step +KC0232-30MFA,02,32,30,M,FA,KC-02-32x30.step +KC0232-30MFB,02,32,30,M,FB,KC-02-32x30.step +KC0232-30MCA,02,32,30,M,CA,KC-02-32x30.step +KC0232-30MCB,02,32,30,M,CB,KC-02-32x30.step +KC0232-30MLB,02,32,30,M,LB,KC-02-32x30.step +KC0232-30MYB,02,32,30,M,YB,KC-02-32x30.step +KC0232-50,02,32,50,,,KC-02-32x50.step +KC0232-50FA,02,32,50,,FA,KC-02-32x50.step +KC0232-50FB,02,32,50,,FB,KC-02-32x50.step +KC0232-50CA,02,32,50,,CA,KC-02-32x50.step +KC0232-50CB,02,32,50,,CB,KC-02-32x50.step +KC0232-50LB,02,32,50,,LB,KC-02-32x50.step +KC0232-50YB,02,32,50,,YB,KC-02-32x50.step +KC0232-50M,02,32,50,M,,KC-02-32x50.step +KC0232-50MFA,02,32,50,M,FA,KC-02-32x50.step +KC0232-50MFB,02,32,50,M,FB,KC-02-32x50.step +KC0232-50MCA,02,32,50,M,CA,KC-02-32x50.step +KC0232-50MCB,02,32,50,M,CB,KC-02-32x50.step +KC0232-50MLB,02,32,50,M,LB,KC-02-32x50.step +KC0232-50MYB,02,32,50,M,YB,KC-02-32x50.step +KC0232-75,02,32,75,,,KC-02-32x75.step +KC0232-75FA,02,32,75,,FA,KC-02-32x75.step +KC0232-75FB,02,32,75,,FB,KC-02-32x75.step +KC0232-75CA,02,32,75,,CA,KC-02-32x75.step +KC0232-75CB,02,32,75,,CB,KC-02-32x75.step +KC0232-75LB,02,32,75,,LB,KC-02-32x75.step +KC0232-75YB,02,32,75,,YB,KC-02-32x75.step +KC0232-75M,02,32,75,M,,KC-02-32x75.step +KC0232-75MFA,02,32,75,M,FA,KC-02-32x75.step +KC0232-75MFB,02,32,75,M,FB,KC-02-32x75.step +KC0232-75MCA,02,32,75,M,CA,KC-02-32x75.step +KC0232-75MCB,02,32,75,M,CB,KC-02-32x75.step +KC0232-75MLB,02,32,75,M,LB,KC-02-32x75.step +KC0232-75MYB,02,32,75,M,YB,KC-02-32x75.step +KC0232-100,02,32,100,,,KC-02-32x100.step +KC0232-100FA,02,32,100,,FA,KC-02-32x100.step +KC0232-100FB,02,32,100,,FB,KC-02-32x100.step +KC0232-100CA,02,32,100,,CA,KC-02-32x100.step +KC0232-100CB,02,32,100,,CB,KC-02-32x100.step +KC0232-100LB,02,32,100,,LB,KC-02-32x100.step +KC0232-100YB,02,32,100,,YB,KC-02-32x100.step +KC0232-100M,02,32,100,M,,KC-02-32x100.step +KC0232-100MFA,02,32,100,M,FA,KC-02-32x100.step +KC0232-100MFB,02,32,100,M,FB,KC-02-32x100.step +KC0232-100MCA,02,32,100,M,CA,KC-02-32x100.step +KC0232-100MCB,02,32,100,M,CB,KC-02-32x100.step +KC0232-100MLB,02,32,100,M,LB,KC-02-32x100.step +KC0232-100MYB,02,32,100,M,YB,KC-02-32x100.step +KC0240-10,02,40,10,,,KC-02-40x10.step +KC0240-10FA,02,40,10,,FA,KC-02-40x10.step +KC0240-10FB,02,40,10,,FB,KC-02-40x10.step +KC0240-10CA,02,40,10,,CA,KC-02-40x10.step +KC0240-10CB,02,40,10,,CB,KC-02-40x10.step +KC0240-10LB,02,40,10,,LB,KC-02-40x10.step +KC0240-10YB,02,40,10,,YB,KC-02-40x10.step +KC0240-10M,02,40,10,M,,KC-02-40x10.step +KC0240-10MFA,02,40,10,M,FA,KC-02-40x10.step +KC0240-10MFB,02,40,10,M,FB,KC-02-40x10.step +KC0240-10MCA,02,40,10,M,CA,KC-02-40x10.step +KC0240-10MCB,02,40,10,M,CB,KC-02-40x10.step +KC0240-10MLB,02,40,10,M,LB,KC-02-40x10.step +KC0240-10MYB,02,40,10,M,YB,KC-02-40x10.step +KC0240-20,02,40,20,,,KC-02-40x20.step +KC0240-20FA,02,40,20,,FA,KC-02-40x20.step +KC0240-20FB,02,40,20,,FB,KC-02-40x20.step +KC0240-20CA,02,40,20,,CA,KC-02-40x20.step +KC0240-20CB,02,40,20,,CB,KC-02-40x20.step +KC0240-20LB,02,40,20,,LB,KC-02-40x20.step +KC0240-20YB,02,40,20,,YB,KC-02-40x20.step +KC0240-20M,02,40,20,M,,KC-02-40x20.step +KC0240-20MFA,02,40,20,M,FA,KC-02-40x20.step +KC0240-20MFB,02,40,20,M,FB,KC-02-40x20.step +KC0240-20MCA,02,40,20,M,CA,KC-02-40x20.step +KC0240-20MCB,02,40,20,M,CB,KC-02-40x20.step +KC0240-20MLB,02,40,20,M,LB,KC-02-40x20.step +KC0240-20MYB,02,40,20,M,YB,KC-02-40x20.step +KC0240-30,02,40,30,,,KC-02-40x30.step +KC0240-30FA,02,40,30,,FA,KC-02-40x30.step +KC0240-30FB,02,40,30,,FB,KC-02-40x30.step +KC0240-30CA,02,40,30,,CA,KC-02-40x30.step +KC0240-30CB,02,40,30,,CB,KC-02-40x30.step +KC0240-30LB,02,40,30,,LB,KC-02-40x30.step +KC0240-30YB,02,40,30,,YB,KC-02-40x30.step +KC0240-30M,02,40,30,M,,KC-02-40x30.step +KC0240-30MFA,02,40,30,M,FA,KC-02-40x30.step +KC0240-30MFB,02,40,30,M,FB,KC-02-40x30.step +KC0240-30MCA,02,40,30,M,CA,KC-02-40x30.step +KC0240-30MCB,02,40,30,M,CB,KC-02-40x30.step +KC0240-30MLB,02,40,30,M,LB,KC-02-40x30.step +KC0240-30MYB,02,40,30,M,YB,KC-02-40x30.step +KC0240-50,02,40,50,,,KC-02-40x50.step +KC0240-50FA,02,40,50,,FA,KC-02-40x50.step +KC0240-50FB,02,40,50,,FB,KC-02-40x50.step +KC0240-50CA,02,40,50,,CA,KC-02-40x50.step +KC0240-50CB,02,40,50,,CB,KC-02-40x50.step +KC0240-50LB,02,40,50,,LB,KC-02-40x50.step +KC0240-50YB,02,40,50,,YB,KC-02-40x50.step +KC0240-50M,02,40,50,M,,KC-02-40x50.step +KC0240-50MFA,02,40,50,M,FA,KC-02-40x50.step +KC0240-50MFB,02,40,50,M,FB,KC-02-40x50.step +KC0240-50MCA,02,40,50,M,CA,KC-02-40x50.step +KC0240-50MCB,02,40,50,M,CB,KC-02-40x50.step +KC0240-50MLB,02,40,50,M,LB,KC-02-40x50.step +KC0240-50MYB,02,40,50,M,YB,KC-02-40x50.step +KC0240-75,02,40,75,,,KC-02-40x75.step +KC0240-75FA,02,40,75,,FA,KC-02-40x75.step +KC0240-75FB,02,40,75,,FB,KC-02-40x75.step +KC0240-75CA,02,40,75,,CA,KC-02-40x75.step +KC0240-75CB,02,40,75,,CB,KC-02-40x75.step +KC0240-75LB,02,40,75,,LB,KC-02-40x75.step +KC0240-75YB,02,40,75,,YB,KC-02-40x75.step +KC0240-75M,02,40,75,M,,KC-02-40x75.step +KC0240-75MFA,02,40,75,M,FA,KC-02-40x75.step +KC0240-75MFB,02,40,75,M,FB,KC-02-40x75.step +KC0240-75MCA,02,40,75,M,CA,KC-02-40x75.step +KC0240-75MCB,02,40,75,M,CB,KC-02-40x75.step +KC0240-75MLB,02,40,75,M,LB,KC-02-40x75.step +KC0240-75MYB,02,40,75,M,YB,KC-02-40x75.step +KC0240-100,02,40,100,,,KC-02-40x100.step +KC0240-100FA,02,40,100,,FA,KC-02-40x100.step +KC0240-100FB,02,40,100,,FB,KC-02-40x100.step +KC0240-100CA,02,40,100,,CA,KC-02-40x100.step +KC0240-100CB,02,40,100,,CB,KC-02-40x100.step +KC0240-100LB,02,40,100,,LB,KC-02-40x100.step +KC0240-100YB,02,40,100,,YB,KC-02-40x100.step +KC0240-100M,02,40,100,M,,KC-02-40x100.step +KC0240-100MFA,02,40,100,M,FA,KC-02-40x100.step +KC0240-100MFB,02,40,100,M,FB,KC-02-40x100.step +KC0240-100MCA,02,40,100,M,CA,KC-02-40x100.step +KC0240-100MCB,02,40,100,M,CB,KC-02-40x100.step +KC0240-100MLB,02,40,100,M,LB,KC-02-40x100.step +KC0240-100MYB,02,40,100,M,YB,KC-02-40x100.step +KC0250-10,02,50,10,,,KC-02-50x10.step +KC0250-10FA,02,50,10,,FA,KC-02-50x10.step +KC0250-10FB,02,50,10,,FB,KC-02-50x10.step +KC0250-10CA,02,50,10,,CA,KC-02-50x10.step +KC0250-10CB,02,50,10,,CB,KC-02-50x10.step +KC0250-10LB,02,50,10,,LB,KC-02-50x10.step +KC0250-10YB,02,50,10,,YB,KC-02-50x10.step +KC0250-10M,02,50,10,M,,KC-02-50x10.step +KC0250-10MFA,02,50,10,M,FA,KC-02-50x10.step +KC0250-10MFB,02,50,10,M,FB,KC-02-50x10.step +KC0250-10MCA,02,50,10,M,CA,KC-02-50x10.step +KC0250-10MCB,02,50,10,M,CB,KC-02-50x10.step +KC0250-10MLB,02,50,10,M,LB,KC-02-50x10.step +KC0250-10MYB,02,50,10,M,YB,KC-02-50x10.step +KC0250-20,02,50,20,,,KC-02-50x20.step +KC0250-20FA,02,50,20,,FA,KC-02-50x20.step +KC0250-20FB,02,50,20,,FB,KC-02-50x20.step +KC0250-20CA,02,50,20,,CA,KC-02-50x20.step +KC0250-20CB,02,50,20,,CB,KC-02-50x20.step +KC0250-20LB,02,50,20,,LB,KC-02-50x20.step +KC0250-20YB,02,50,20,,YB,KC-02-50x20.step +KC0250-20M,02,50,20,M,,KC-02-50x20.step +KC0250-20MFA,02,50,20,M,FA,KC-02-50x20.step +KC0250-20MFB,02,50,20,M,FB,KC-02-50x20.step +KC0250-20MCA,02,50,20,M,CA,KC-02-50x20.step +KC0250-20MCB,02,50,20,M,CB,KC-02-50x20.step +KC0250-20MLB,02,50,20,M,LB,KC-02-50x20.step +KC0250-20MYB,02,50,20,M,YB,KC-02-50x20.step +KC0250-30,02,50,30,,,KC-02-50x30.step +KC0250-30FA,02,50,30,,FA,KC-02-50x30.step +KC0250-30FB,02,50,30,,FB,KC-02-50x30.step +KC0250-30CA,02,50,30,,CA,KC-02-50x30.step +KC0250-30CB,02,50,30,,CB,KC-02-50x30.step +KC0250-30LB,02,50,30,,LB,KC-02-50x30.step +KC0250-30YB,02,50,30,,YB,KC-02-50x30.step +KC0250-30M,02,50,30,M,,KC-02-50x30.step +KC0250-30MFA,02,50,30,M,FA,KC-02-50x30.step +KC0250-30MFB,02,50,30,M,FB,KC-02-50x30.step +KC0250-30MCA,02,50,30,M,CA,KC-02-50x30.step +KC0250-30MCB,02,50,30,M,CB,KC-02-50x30.step +KC0250-30MLB,02,50,30,M,LB,KC-02-50x30.step +KC0250-30MYB,02,50,30,M,YB,KC-02-50x30.step +KC0250-50,02,50,50,,,KC-02-50x50.step +KC0250-50FA,02,50,50,,FA,KC-02-50x50.step +KC0250-50FB,02,50,50,,FB,KC-02-50x50.step +KC0250-50CA,02,50,50,,CA,KC-02-50x50.step +KC0250-50CB,02,50,50,,CB,KC-02-50x50.step +KC0250-50LB,02,50,50,,LB,KC-02-50x50.step +KC0250-50YB,02,50,50,,YB,KC-02-50x50.step +KC0250-50M,02,50,50,M,,KC-02-50x50.step +KC0250-50MFA,02,50,50,M,FA,KC-02-50x50.step +KC0250-50MFB,02,50,50,M,FB,KC-02-50x50.step +KC0250-50MCA,02,50,50,M,CA,KC-02-50x50.step +KC0250-50MCB,02,50,50,M,CB,KC-02-50x50.step +KC0250-50MLB,02,50,50,M,LB,KC-02-50x50.step +KC0250-50MYB,02,50,50,M,YB,KC-02-50x50.step +KC0250-75,02,50,75,,,KC-02-50x75.step +KC0250-75FA,02,50,75,,FA,KC-02-50x75.step +KC0250-75FB,02,50,75,,FB,KC-02-50x75.step +KC0250-75CA,02,50,75,,CA,KC-02-50x75.step +KC0250-75CB,02,50,75,,CB,KC-02-50x75.step +KC0250-75LB,02,50,75,,LB,KC-02-50x75.step +KC0250-75YB,02,50,75,,YB,KC-02-50x75.step +KC0250-75M,02,50,75,M,,KC-02-50x75.step +KC0250-75MFA,02,50,75,M,FA,KC-02-50x75.step +KC0250-75MFB,02,50,75,M,FB,KC-02-50x75.step +KC0250-75MCA,02,50,75,M,CA,KC-02-50x75.step +KC0250-75MCB,02,50,75,M,CB,KC-02-50x75.step +KC0250-75MLB,02,50,75,M,LB,KC-02-50x75.step +KC0250-75MYB,02,50,75,M,YB,KC-02-50x75.step +KC0250-100,02,50,100,,,KC-02-50x100.step +KC0250-100FA,02,50,100,,FA,KC-02-50x100.step +KC0250-100FB,02,50,100,,FB,KC-02-50x100.step +KC0250-100CA,02,50,100,,CA,KC-02-50x100.step +KC0250-100CB,02,50,100,,CB,KC-02-50x100.step +KC0250-100LB,02,50,100,,LB,KC-02-50x100.step +KC0250-100YB,02,50,100,,YB,KC-02-50x100.step +KC0250-100M,02,50,100,M,,KC-02-50x100.step +KC0250-100MFA,02,50,100,M,FA,KC-02-50x100.step +KC0250-100MFB,02,50,100,M,FB,KC-02-50x100.step +KC0250-100MCA,02,50,100,M,CA,KC-02-50x100.step +KC0250-100MCB,02,50,100,M,CB,KC-02-50x100.step +KC0250-100MLB,02,50,100,M,LB,KC-02-50x100.step +KC0250-100MYB,02,50,100,M,YB,KC-02-50x100.step +KC0263-10,02,63,10,,,KC-02-63x10.step +KC0263-10FA,02,63,10,,FA,KC-02-63x10.step +KC0263-10FB,02,63,10,,FB,KC-02-63x10.step +KC0263-10CA,02,63,10,,CA,KC-02-63x10.step +KC0263-10CB,02,63,10,,CB,KC-02-63x10.step +KC0263-10LB,02,63,10,,LB,KC-02-63x10.step +KC0263-10YB,02,63,10,,YB,KC-02-63x10.step +KC0263-10M,02,63,10,M,,KC-02-63x10.step +KC0263-10MFA,02,63,10,M,FA,KC-02-63x10.step +KC0263-10MFB,02,63,10,M,FB,KC-02-63x10.step +KC0263-10MCA,02,63,10,M,CA,KC-02-63x10.step +KC0263-10MCB,02,63,10,M,CB,KC-02-63x10.step +KC0263-10MLB,02,63,10,M,LB,KC-02-63x10.step +KC0263-10MYB,02,63,10,M,YB,KC-02-63x10.step +KC0263-20,02,63,20,,,KC-02-63x20.step +KC0263-20FA,02,63,20,,FA,KC-02-63x20.step +KC0263-20FB,02,63,20,,FB,KC-02-63x20.step +KC0263-20CA,02,63,20,,CA,KC-02-63x20.step +KC0263-20CB,02,63,20,,CB,KC-02-63x20.step +KC0263-20LB,02,63,20,,LB,KC-02-63x20.step +KC0263-20YB,02,63,20,,YB,KC-02-63x20.step +KC0263-20M,02,63,20,M,,KC-02-63x20.step +KC0263-20MFA,02,63,20,M,FA,KC-02-63x20.step +KC0263-20MFB,02,63,20,M,FB,KC-02-63x20.step +KC0263-20MCA,02,63,20,M,CA,KC-02-63x20.step +KC0263-20MCB,02,63,20,M,CB,KC-02-63x20.step +KC0263-20MLB,02,63,20,M,LB,KC-02-63x20.step +KC0263-20MYB,02,63,20,M,YB,KC-02-63x20.step +KC0263-30,02,63,30,,,KC-02-63x30.step +KC0263-30FA,02,63,30,,FA,KC-02-63x30.step +KC0263-30FB,02,63,30,,FB,KC-02-63x30.step +KC0263-30CA,02,63,30,,CA,KC-02-63x30.step +KC0263-30CB,02,63,30,,CB,KC-02-63x30.step +KC0263-30LB,02,63,30,,LB,KC-02-63x30.step +KC0263-30YB,02,63,30,,YB,KC-02-63x30.step +KC0263-30M,02,63,30,M,,KC-02-63x30.step +KC0263-30MFA,02,63,30,M,FA,KC-02-63x30.step +KC0263-30MFB,02,63,30,M,FB,KC-02-63x30.step +KC0263-30MCA,02,63,30,M,CA,KC-02-63x30.step +KC0263-30MCB,02,63,30,M,CB,KC-02-63x30.step +KC0263-30MLB,02,63,30,M,LB,KC-02-63x30.step +KC0263-30MYB,02,63,30,M,YB,KC-02-63x30.step +KC0263-50,02,63,50,,,KC-02-63x50.step +KC0263-50FA,02,63,50,,FA,KC-02-63x50.step +KC0263-50FB,02,63,50,,FB,KC-02-63x50.step +KC0263-50CA,02,63,50,,CA,KC-02-63x50.step +KC0263-50CB,02,63,50,,CB,KC-02-63x50.step +KC0263-50LB,02,63,50,,LB,KC-02-63x50.step +KC0263-50YB,02,63,50,,YB,KC-02-63x50.step +KC0263-50M,02,63,50,M,,KC-02-63x50.step +KC0263-50MFA,02,63,50,M,FA,KC-02-63x50.step +KC0263-50MFB,02,63,50,M,FB,KC-02-63x50.step +KC0263-50MCA,02,63,50,M,CA,KC-02-63x50.step +KC0263-50MCB,02,63,50,M,CB,KC-02-63x50.step +KC0263-50MLB,02,63,50,M,LB,KC-02-63x50.step +KC0263-50MYB,02,63,50,M,YB,KC-02-63x50.step +KC0263-75,02,63,75,,,KC-02-63x75.step +KC0263-75FA,02,63,75,,FA,KC-02-63x75.step +KC0263-75FB,02,63,75,,FB,KC-02-63x75.step +KC0263-75CA,02,63,75,,CA,KC-02-63x75.step +KC0263-75CB,02,63,75,,CB,KC-02-63x75.step +KC0263-75LB,02,63,75,,LB,KC-02-63x75.step +KC0263-75YB,02,63,75,,YB,KC-02-63x75.step +KC0263-75M,02,63,75,M,,KC-02-63x75.step +KC0263-75MFA,02,63,75,M,FA,KC-02-63x75.step +KC0263-75MFB,02,63,75,M,FB,KC-02-63x75.step +KC0263-75MCA,02,63,75,M,CA,KC-02-63x75.step +KC0263-75MCB,02,63,75,M,CB,KC-02-63x75.step +KC0263-75MLB,02,63,75,M,LB,KC-02-63x75.step +KC0263-75MYB,02,63,75,M,YB,KC-02-63x75.step +KC0263-100,02,63,100,,,KC-02-63x100.step +KC0263-100FA,02,63,100,,FA,KC-02-63x100.step +KC0263-100FB,02,63,100,,FB,KC-02-63x100.step +KC0263-100CA,02,63,100,,CA,KC-02-63x100.step +KC0263-100CB,02,63,100,,CB,KC-02-63x100.step +KC0263-100LB,02,63,100,,LB,KC-02-63x100.step +KC0263-100YB,02,63,100,,YB,KC-02-63x100.step +KC0263-100M,02,63,100,M,,KC-02-63x100.step +KC0263-100MFA,02,63,100,M,FA,KC-02-63x100.step +KC0263-100MFB,02,63,100,M,FB,KC-02-63x100.step +KC0263-100MCA,02,63,100,M,CA,KC-02-63x100.step +KC0263-100MCB,02,63,100,M,CB,KC-02-63x100.step +KC0263-100MLB,02,63,100,M,LB,KC-02-63x100.step +KC0263-100MYB,02,63,100,M,YB,KC-02-63x100.step +KC0280-10,02,80,10,,,KC-02-80x10.step +KC0280-10FA,02,80,10,,FA,KC-02-80x10.step +KC0280-10FB,02,80,10,,FB,KC-02-80x10.step +KC0280-10CA,02,80,10,,CA,KC-02-80x10.step +KC0280-10CB,02,80,10,,CB,KC-02-80x10.step +KC0280-10LB,02,80,10,,LB,KC-02-80x10.step +KC0280-10YB,02,80,10,,YB,KC-02-80x10.step +KC0280-10M,02,80,10,M,,KC-02-80x10.step +KC0280-10MFA,02,80,10,M,FA,KC-02-80x10.step +KC0280-10MFB,02,80,10,M,FB,KC-02-80x10.step +KC0280-10MCA,02,80,10,M,CA,KC-02-80x10.step +KC0280-10MCB,02,80,10,M,CB,KC-02-80x10.step +KC0280-10MLB,02,80,10,M,LB,KC-02-80x10.step +KC0280-10MYB,02,80,10,M,YB,KC-02-80x10.step +KC0280-20,02,80,20,,,KC-02-80x20.step +KC0280-20FA,02,80,20,,FA,KC-02-80x20.step +KC0280-20FB,02,80,20,,FB,KC-02-80x20.step +KC0280-20CA,02,80,20,,CA,KC-02-80x20.step +KC0280-20CB,02,80,20,,CB,KC-02-80x20.step +KC0280-20LB,02,80,20,,LB,KC-02-80x20.step +KC0280-20YB,02,80,20,,YB,KC-02-80x20.step +KC0280-20M,02,80,20,M,,KC-02-80x20.step +KC0280-20MFA,02,80,20,M,FA,KC-02-80x20.step +KC0280-20MFB,02,80,20,M,FB,KC-02-80x20.step +KC0280-20MCA,02,80,20,M,CA,KC-02-80x20.step +KC0280-20MCB,02,80,20,M,CB,KC-02-80x20.step +KC0280-20MLB,02,80,20,M,LB,KC-02-80x20.step +KC0280-20MYB,02,80,20,M,YB,KC-02-80x20.step +KC0280-30,02,80,30,,,KC-02-80x30.step +KC0280-30FA,02,80,30,,FA,KC-02-80x30.step +KC0280-30FB,02,80,30,,FB,KC-02-80x30.step +KC0280-30CA,02,80,30,,CA,KC-02-80x30.step +KC0280-30CB,02,80,30,,CB,KC-02-80x30.step +KC0280-30LB,02,80,30,,LB,KC-02-80x30.step +KC0280-30YB,02,80,30,,YB,KC-02-80x30.step +KC0280-30M,02,80,30,M,,KC-02-80x30.step +KC0280-30MFA,02,80,30,M,FA,KC-02-80x30.step +KC0280-30MFB,02,80,30,M,FB,KC-02-80x30.step +KC0280-30MCA,02,80,30,M,CA,KC-02-80x30.step +KC0280-30MCB,02,80,30,M,CB,KC-02-80x30.step +KC0280-30MLB,02,80,30,M,LB,KC-02-80x30.step +KC0280-30MYB,02,80,30,M,YB,KC-02-80x30.step +KC0280-50,02,80,50,,,KC-02-80x50.step +KC0280-50FA,02,80,50,,FA,KC-02-80x50.step +KC0280-50FB,02,80,50,,FB,KC-02-80x50.step +KC0280-50CA,02,80,50,,CA,KC-02-80x50.step +KC0280-50CB,02,80,50,,CB,KC-02-80x50.step +KC0280-50LB,02,80,50,,LB,KC-02-80x50.step +KC0280-50YB,02,80,50,,YB,KC-02-80x50.step +KC0280-50M,02,80,50,M,,KC-02-80x50.step +KC0280-50MFA,02,80,50,M,FA,KC-02-80x50.step +KC0280-50MFB,02,80,50,M,FB,KC-02-80x50.step +KC0280-50MCA,02,80,50,M,CA,KC-02-80x50.step +KC0280-50MCB,02,80,50,M,CB,KC-02-80x50.step +KC0280-50MLB,02,80,50,M,LB,KC-02-80x50.step +KC0280-50MYB,02,80,50,M,YB,KC-02-80x50.step +KC0280-75,02,80,75,,,KC-02-80x75.step +KC0280-75FA,02,80,75,,FA,KC-02-80x75.step +KC0280-75FB,02,80,75,,FB,KC-02-80x75.step +KC0280-75CA,02,80,75,,CA,KC-02-80x75.step +KC0280-75CB,02,80,75,,CB,KC-02-80x75.step +KC0280-75LB,02,80,75,,LB,KC-02-80x75.step +KC0280-75YB,02,80,75,,YB,KC-02-80x75.step +KC0280-75M,02,80,75,M,,KC-02-80x75.step +KC0280-75MFA,02,80,75,M,FA,KC-02-80x75.step +KC0280-75MFB,02,80,75,M,FB,KC-02-80x75.step +KC0280-75MCA,02,80,75,M,CA,KC-02-80x75.step +KC0280-75MCB,02,80,75,M,CB,KC-02-80x75.step +KC0280-75MLB,02,80,75,M,LB,KC-02-80x75.step +KC0280-75MYB,02,80,75,M,YB,KC-02-80x75.step +KC0280-100,02,80,100,,,KC-02-80x100.step +KC0280-100FA,02,80,100,,FA,KC-02-80x100.step +KC0280-100FB,02,80,100,,FB,KC-02-80x100.step +KC0280-100CA,02,80,100,,CA,KC-02-80x100.step +KC0280-100CB,02,80,100,,CB,KC-02-80x100.step +KC0280-100LB,02,80,100,,LB,KC-02-80x100.step +KC0280-100YB,02,80,100,,YB,KC-02-80x100.step +KC0280-100M,02,80,100,M,,KC-02-80x100.step +KC0280-100MFA,02,80,100,M,FA,KC-02-80x100.step +KC0280-100MFB,02,80,100,M,FB,KC-02-80x100.step +KC0280-100MCA,02,80,100,M,CA,KC-02-80x100.step +KC0280-100MCB,02,80,100,M,CB,KC-02-80x100.step +KC0280-100MLB,02,80,100,M,LB,KC-02-80x100.step +KC0280-100MYB,02,80,100,M,YB,KC-02-80x100.step +KC02100-10,02,100,10,,,KC-02-100x10.step +KC02100-10FA,02,100,10,,FA,KC-02-100x10.step +KC02100-10FB,02,100,10,,FB,KC-02-100x10.step +KC02100-10CA,02,100,10,,CA,KC-02-100x10.step +KC02100-10CB,02,100,10,,CB,KC-02-100x10.step +KC02100-10LB,02,100,10,,LB,KC-02-100x10.step +KC02100-10YB,02,100,10,,YB,KC-02-100x10.step +KC02100-10M,02,100,10,M,,KC-02-100x10.step +KC02100-10MFA,02,100,10,M,FA,KC-02-100x10.step +KC02100-10MFB,02,100,10,M,FB,KC-02-100x10.step +KC02100-10MCA,02,100,10,M,CA,KC-02-100x10.step +KC02100-10MCB,02,100,10,M,CB,KC-02-100x10.step +KC02100-10MLB,02,100,10,M,LB,KC-02-100x10.step +KC02100-10MYB,02,100,10,M,YB,KC-02-100x10.step +KC02100-20,02,100,20,,,KC-02-100x20.step +KC02100-20FA,02,100,20,,FA,KC-02-100x20.step +KC02100-20FB,02,100,20,,FB,KC-02-100x20.step +KC02100-20CA,02,100,20,,CA,KC-02-100x20.step +KC02100-20CB,02,100,20,,CB,KC-02-100x20.step +KC02100-20LB,02,100,20,,LB,KC-02-100x20.step +KC02100-20YB,02,100,20,,YB,KC-02-100x20.step +KC02100-20M,02,100,20,M,,KC-02-100x20.step +KC02100-20MFA,02,100,20,M,FA,KC-02-100x20.step +KC02100-20MFB,02,100,20,M,FB,KC-02-100x20.step +KC02100-20MCA,02,100,20,M,CA,KC-02-100x20.step +KC02100-20MCB,02,100,20,M,CB,KC-02-100x20.step +KC02100-20MLB,02,100,20,M,LB,KC-02-100x20.step +KC02100-20MYB,02,100,20,M,YB,KC-02-100x20.step +KC02100-30,02,100,30,,,KC-02-100x30.step +KC02100-30FA,02,100,30,,FA,KC-02-100x30.step +KC02100-30FB,02,100,30,,FB,KC-02-100x30.step +KC02100-30CA,02,100,30,,CA,KC-02-100x30.step +KC02100-30CB,02,100,30,,CB,KC-02-100x30.step +KC02100-30LB,02,100,30,,LB,KC-02-100x30.step +KC02100-30YB,02,100,30,,YB,KC-02-100x30.step +KC02100-30M,02,100,30,M,,KC-02-100x30.step +KC02100-30MFA,02,100,30,M,FA,KC-02-100x30.step +KC02100-30MFB,02,100,30,M,FB,KC-02-100x30.step +KC02100-30MCA,02,100,30,M,CA,KC-02-100x30.step +KC02100-30MCB,02,100,30,M,CB,KC-02-100x30.step +KC02100-30MLB,02,100,30,M,LB,KC-02-100x30.step +KC02100-30MYB,02,100,30,M,YB,KC-02-100x30.step +KC02100-50,02,100,50,,,KC-02-100x50.step +KC02100-50FA,02,100,50,,FA,KC-02-100x50.step +KC02100-50FB,02,100,50,,FB,KC-02-100x50.step +KC02100-50CA,02,100,50,,CA,KC-02-100x50.step +KC02100-50CB,02,100,50,,CB,KC-02-100x50.step +KC02100-50LB,02,100,50,,LB,KC-02-100x50.step +KC02100-50YB,02,100,50,,YB,KC-02-100x50.step +KC02100-50M,02,100,50,M,,KC-02-100x50.step +KC02100-50MFA,02,100,50,M,FA,KC-02-100x50.step +KC02100-50MFB,02,100,50,M,FB,KC-02-100x50.step +KC02100-50MCA,02,100,50,M,CA,KC-02-100x50.step +KC02100-50MCB,02,100,50,M,CB,KC-02-100x50.step +KC02100-50MLB,02,100,50,M,LB,KC-02-100x50.step +KC02100-50MYB,02,100,50,M,YB,KC-02-100x50.step +KC02100-75,02,100,75,,,KC-02-100x75.step +KC02100-75FA,02,100,75,,FA,KC-02-100x75.step +KC02100-75FB,02,100,75,,FB,KC-02-100x75.step +KC02100-75CA,02,100,75,,CA,KC-02-100x75.step +KC02100-75CB,02,100,75,,CB,KC-02-100x75.step +KC02100-75LB,02,100,75,,LB,KC-02-100x75.step +KC02100-75YB,02,100,75,,YB,KC-02-100x75.step +KC02100-75M,02,100,75,M,,KC-02-100x75.step +KC02100-75MFA,02,100,75,M,FA,KC-02-100x75.step +KC02100-75MFB,02,100,75,M,FB,KC-02-100x75.step +KC02100-75MCA,02,100,75,M,CA,KC-02-100x75.step +KC02100-75MCB,02,100,75,M,CB,KC-02-100x75.step +KC02100-75MLB,02,100,75,M,LB,KC-02-100x75.step +KC02100-75MYB,02,100,75,M,YB,KC-02-100x75.step +KC02100-100,02,100,100,,,KC-02-100x100.step +KC02100-100FA,02,100,100,,FA,KC-02-100x100.step +KC02100-100FB,02,100,100,,FB,KC-02-100x100.step +KC02100-100CA,02,100,100,,CA,KC-02-100x100.step +KC02100-100CB,02,100,100,,CB,KC-02-100x100.step +KC02100-100LB,02,100,100,,LB,KC-02-100x100.step +KC02100-100YB,02,100,100,,YB,KC-02-100x100.step +KC02100-100M,02,100,100,M,,KC-02-100x100.step +KC02100-100MFA,02,100,100,M,FA,KC-02-100x100.step +KC02100-100MFB,02,100,100,M,FB,KC-02-100x100.step +KC02100-100MCA,02,100,100,M,CA,KC-02-100x100.step +KC02100-100MCB,02,100,100,M,CB,KC-02-100x100.step +KC02100-100MLB,02,100,100,M,LB,KC-02-100x100.step +KC02100-100MYB,02,100,100,M,YB,KC-02-100x100.step +KC02125-10,02,125,10,,,KC-02-125x10.step +KC02125-10FA,02,125,10,,FA,KC-02-125x10.step +KC02125-10FB,02,125,10,,FB,KC-02-125x10.step +KC02125-10CA,02,125,10,,CA,KC-02-125x10.step +KC02125-10CB,02,125,10,,CB,KC-02-125x10.step +KC02125-10LB,02,125,10,,LB,KC-02-125x10.step +KC02125-10YB,02,125,10,,YB,KC-02-125x10.step +KC02125-10M,02,125,10,M,,KC-02-125x10.step +KC02125-10MFA,02,125,10,M,FA,KC-02-125x10.step +KC02125-10MFB,02,125,10,M,FB,KC-02-125x10.step +KC02125-10MCA,02,125,10,M,CA,KC-02-125x10.step +KC02125-10MCB,02,125,10,M,CB,KC-02-125x10.step +KC02125-10MLB,02,125,10,M,LB,KC-02-125x10.step +KC02125-10MYB,02,125,10,M,YB,KC-02-125x10.step +KC02125-20,02,125,20,,,KC-02-125x20.step +KC02125-20FA,02,125,20,,FA,KC-02-125x20.step +KC02125-20FB,02,125,20,,FB,KC-02-125x20.step +KC02125-20CA,02,125,20,,CA,KC-02-125x20.step +KC02125-20CB,02,125,20,,CB,KC-02-125x20.step +KC02125-20LB,02,125,20,,LB,KC-02-125x20.step +KC02125-20YB,02,125,20,,YB,KC-02-125x20.step +KC02125-20M,02,125,20,M,,KC-02-125x20.step +KC02125-20MFA,02,125,20,M,FA,KC-02-125x20.step +KC02125-20MFB,02,125,20,M,FB,KC-02-125x20.step +KC02125-20MCA,02,125,20,M,CA,KC-02-125x20.step +KC02125-20MCB,02,125,20,M,CB,KC-02-125x20.step +KC02125-20MLB,02,125,20,M,LB,KC-02-125x20.step +KC02125-20MYB,02,125,20,M,YB,KC-02-125x20.step +KC02125-30,02,125,30,,,KC-02-125x30.step +KC02125-30FA,02,125,30,,FA,KC-02-125x30.step +KC02125-30FB,02,125,30,,FB,KC-02-125x30.step +KC02125-30CA,02,125,30,,CA,KC-02-125x30.step +KC02125-30CB,02,125,30,,CB,KC-02-125x30.step +KC02125-30LB,02,125,30,,LB,KC-02-125x30.step +KC02125-30YB,02,125,30,,YB,KC-02-125x30.step +KC02125-30M,02,125,30,M,,KC-02-125x30.step +KC02125-30MFA,02,125,30,M,FA,KC-02-125x30.step +KC02125-30MFB,02,125,30,M,FB,KC-02-125x30.step +KC02125-30MCA,02,125,30,M,CA,KC-02-125x30.step +KC02125-30MCB,02,125,30,M,CB,KC-02-125x30.step +KC02125-30MLB,02,125,30,M,LB,KC-02-125x30.step +KC02125-30MYB,02,125,30,M,YB,KC-02-125x30.step +KC02125-50,02,125,50,,,KC-02-125x50.step +KC02125-50FA,02,125,50,,FA,KC-02-125x50.step +KC02125-50FB,02,125,50,,FB,KC-02-125x50.step +KC02125-50CA,02,125,50,,CA,KC-02-125x50.step +KC02125-50CB,02,125,50,,CB,KC-02-125x50.step +KC02125-50LB,02,125,50,,LB,KC-02-125x50.step +KC02125-50YB,02,125,50,,YB,KC-02-125x50.step +KC02125-50M,02,125,50,M,,KC-02-125x50.step +KC02125-50MFA,02,125,50,M,FA,KC-02-125x50.step +KC02125-50MFB,02,125,50,M,FB,KC-02-125x50.step +KC02125-50MCA,02,125,50,M,CA,KC-02-125x50.step +KC02125-50MCB,02,125,50,M,CB,KC-02-125x50.step +KC02125-50MLB,02,125,50,M,LB,KC-02-125x50.step +KC02125-50MYB,02,125,50,M,YB,KC-02-125x50.step +KC02125-75,02,125,75,,,KC-02-125x75.step +KC02125-75FA,02,125,75,,FA,KC-02-125x75.step +KC02125-75FB,02,125,75,,FB,KC-02-125x75.step +KC02125-75CA,02,125,75,,CA,KC-02-125x75.step +KC02125-75CB,02,125,75,,CB,KC-02-125x75.step +KC02125-75LB,02,125,75,,LB,KC-02-125x75.step +KC02125-75YB,02,125,75,,YB,KC-02-125x75.step +KC02125-75M,02,125,75,M,,KC-02-125x75.step +KC02125-75MFA,02,125,75,M,FA,KC-02-125x75.step +KC02125-75MFB,02,125,75,M,FB,KC-02-125x75.step +KC02125-75MCA,02,125,75,M,CA,KC-02-125x75.step +KC02125-75MCB,02,125,75,M,CB,KC-02-125x75.step +KC02125-75MLB,02,125,75,M,LB,KC-02-125x75.step +KC02125-75MYB,02,125,75,M,YB,KC-02-125x75.step +KC02125-100,02,125,100,,,KC-02-125x100.step +KC02125-100FA,02,125,100,,FA,KC-02-125x100.step +KC02125-100FB,02,125,100,,FB,KC-02-125x100.step +KC02125-100CA,02,125,100,,CA,KC-02-125x100.step +KC02125-100CB,02,125,100,,CB,KC-02-125x100.step +KC02125-100LB,02,125,100,,LB,KC-02-125x100.step +KC02125-100YB,02,125,100,,YB,KC-02-125x100.step +KC02125-100M,02,125,100,M,,KC-02-125x100.step +KC02125-100MFA,02,125,100,M,FA,KC-02-125x100.step +KC02125-100MFB,02,125,100,M,FB,KC-02-125x100.step +KC02125-100MCA,02,125,100,M,CA,KC-02-125x100.step +KC02125-100MCB,02,125,100,M,CB,KC-02-125x100.step +KC02125-100MLB,02,125,100,M,LB,KC-02-125x100.step +KC02125-100MYB,02,125,100,M,YB,KC-02-125x100.step +KC02160-10,02,160,10,,,KC-02-160x10.step +KC02160-10FA,02,160,10,,FA,KC-02-160x10.step +KC02160-10FB,02,160,10,,FB,KC-02-160x10.step +KC02160-10CA,02,160,10,,CA,KC-02-160x10.step +KC02160-10CB,02,160,10,,CB,KC-02-160x10.step +KC02160-10LB,02,160,10,,LB,KC-02-160x10.step +KC02160-10M,02,160,10,M,,KC-02-160x10.step +KC02160-10MFA,02,160,10,M,FA,KC-02-160x10.step +KC02160-10MFB,02,160,10,M,FB,KC-02-160x10.step +KC02160-10MCA,02,160,10,M,CA,KC-02-160x10.step +KC02160-10MCB,02,160,10,M,CB,KC-02-160x10.step +KC02160-10MLB,02,160,10,M,LB,KC-02-160x10.step +KC02160-20,02,160,20,,,KC-02-160x20.step +KC02160-20FA,02,160,20,,FA,KC-02-160x20.step +KC02160-20FB,02,160,20,,FB,KC-02-160x20.step +KC02160-20CA,02,160,20,,CA,KC-02-160x20.step +KC02160-20CB,02,160,20,,CB,KC-02-160x20.step +KC02160-20LB,02,160,20,,LB,KC-02-160x20.step +KC02160-20M,02,160,20,M,,KC-02-160x20.step +KC02160-20MFA,02,160,20,M,FA,KC-02-160x20.step +KC02160-20MFB,02,160,20,M,FB,KC-02-160x20.step +KC02160-20MCA,02,160,20,M,CA,KC-02-160x20.step +KC02160-20MCB,02,160,20,M,CB,KC-02-160x20.step +KC02160-20MLB,02,160,20,M,LB,KC-02-160x20.step +KC02160-30,02,160,30,,,KC-02-160x30.step +KC02160-30FA,02,160,30,,FA,KC-02-160x30.step +KC02160-30FB,02,160,30,,FB,KC-02-160x30.step +KC02160-30CA,02,160,30,,CA,KC-02-160x30.step +KC02160-30CB,02,160,30,,CB,KC-02-160x30.step +KC02160-30LB,02,160,30,,LB,KC-02-160x30.step +KC02160-30M,02,160,30,M,,KC-02-160x30.step +KC02160-30MFA,02,160,30,M,FA,KC-02-160x30.step +KC02160-30MFB,02,160,30,M,FB,KC-02-160x30.step +KC02160-30MCA,02,160,30,M,CA,KC-02-160x30.step +KC02160-30MCB,02,160,30,M,CB,KC-02-160x30.step +KC02160-30MLB,02,160,30,M,LB,KC-02-160x30.step +KC02160-50,02,160,50,,,KC-02-160x50.step +KC02160-50FA,02,160,50,,FA,KC-02-160x50.step +KC02160-50FB,02,160,50,,FB,KC-02-160x50.step +KC02160-50CA,02,160,50,,CA,KC-02-160x50.step +KC02160-50CB,02,160,50,,CB,KC-02-160x50.step +KC02160-50LB,02,160,50,,LB,KC-02-160x50.step +KC02160-50M,02,160,50,M,,KC-02-160x50.step +KC02160-50MFA,02,160,50,M,FA,KC-02-160x50.step +KC02160-50MFB,02,160,50,M,FB,KC-02-160x50.step +KC02160-50MCA,02,160,50,M,CA,KC-02-160x50.step +KC02160-50MCB,02,160,50,M,CB,KC-02-160x50.step +KC02160-50MLB,02,160,50,M,LB,KC-02-160x50.step +KC02160-75,02,160,75,,,KC-02-160x75.step +KC02160-75FA,02,160,75,,FA,KC-02-160x75.step +KC02160-75FB,02,160,75,,FB,KC-02-160x75.step +KC02160-75CA,02,160,75,,CA,KC-02-160x75.step +KC02160-75CB,02,160,75,,CB,KC-02-160x75.step +KC02160-75LB,02,160,75,,LB,KC-02-160x75.step +KC02160-75M,02,160,75,M,,KC-02-160x75.step +KC02160-75MFA,02,160,75,M,FA,KC-02-160x75.step +KC02160-75MFB,02,160,75,M,FB,KC-02-160x75.step +KC02160-75MCA,02,160,75,M,CA,KC-02-160x75.step +KC02160-75MCB,02,160,75,M,CB,KC-02-160x75.step +KC02160-75MLB,02,160,75,M,LB,KC-02-160x75.step +KC02160-100,02,160,100,,,KC-02-160x100.step +KC02160-100FA,02,160,100,,FA,KC-02-160x100.step +KC02160-100FB,02,160,100,,FB,KC-02-160x100.step +KC02160-100CA,02,160,100,,CA,KC-02-160x100.step +KC02160-100CB,02,160,100,,CB,KC-02-160x100.step +KC02160-100LB,02,160,100,,LB,KC-02-160x100.step +KC02160-100M,02,160,100,M,,KC-02-160x100.step +KC02160-100MFA,02,160,100,M,FA,KC-02-160x100.step +KC02160-100MFB,02,160,100,M,FB,KC-02-160x100.step +KC02160-100MCA,02,160,100,M,CA,KC-02-160x100.step +KC02160-100MCB,02,160,100,M,CB,KC-02-160x100.step +KC02160-100MLB,02,160,100,M,LB,KC-02-160x100.step +KC02200-10,02,200,10,,,KC-02-200x10.step +KC02200-10FA,02,200,10,,FA,KC-02-200x10.step +KC02200-10FB,02,200,10,,FB,KC-02-200x10.step +KC02200-10CA,02,200,10,,CA,KC-02-200x10.step +KC02200-10CB,02,200,10,,CB,KC-02-200x10.step +KC02200-10LB,02,200,10,,LB,KC-02-200x10.step +KC02200-10M,02,200,10,M,,KC-02-200x10.step +KC02200-10MFA,02,200,10,M,FA,KC-02-200x10.step +KC02200-10MFB,02,200,10,M,FB,KC-02-200x10.step +KC02200-10MCA,02,200,10,M,CA,KC-02-200x10.step +KC02200-10MCB,02,200,10,M,CB,KC-02-200x10.step +KC02200-10MLB,02,200,10,M,LB,KC-02-200x10.step +KC02200-20,02,200,20,,,KC-02-200x20.step +KC02200-20FA,02,200,20,,FA,KC-02-200x20.step +KC02200-20FB,02,200,20,,FB,KC-02-200x20.step +KC02200-20CA,02,200,20,,CA,KC-02-200x20.step +KC02200-20CB,02,200,20,,CB,KC-02-200x20.step +KC02200-20LB,02,200,20,,LB,KC-02-200x20.step +KC02200-20M,02,200,20,M,,KC-02-200x20.step +KC02200-20MFA,02,200,20,M,FA,KC-02-200x20.step +KC02200-20MFB,02,200,20,M,FB,KC-02-200x20.step +KC02200-20MCA,02,200,20,M,CA,KC-02-200x20.step +KC02200-20MCB,02,200,20,M,CB,KC-02-200x20.step +KC02200-20MLB,02,200,20,M,LB,KC-02-200x20.step +KC02200-30,02,200,30,,,KC-02-200x30.step +KC02200-30FA,02,200,30,,FA,KC-02-200x30.step +KC02200-30FB,02,200,30,,FB,KC-02-200x30.step +KC02200-30CA,02,200,30,,CA,KC-02-200x30.step +KC02200-30CB,02,200,30,,CB,KC-02-200x30.step +KC02200-30LB,02,200,30,,LB,KC-02-200x30.step +KC02200-30M,02,200,30,M,,KC-02-200x30.step +KC02200-30MFA,02,200,30,M,FA,KC-02-200x30.step +KC02200-30MFB,02,200,30,M,FB,KC-02-200x30.step +KC02200-30MCA,02,200,30,M,CA,KC-02-200x30.step +KC02200-30MCB,02,200,30,M,CB,KC-02-200x30.step +KC02200-30MLB,02,200,30,M,LB,KC-02-200x30.step +KC02200-50,02,200,50,,,KC-02-200x50.step +KC02200-50FA,02,200,50,,FA,KC-02-200x50.step +KC02200-50FB,02,200,50,,FB,KC-02-200x50.step +KC02200-50CA,02,200,50,,CA,KC-02-200x50.step +KC02200-50CB,02,200,50,,CB,KC-02-200x50.step +KC02200-50LB,02,200,50,,LB,KC-02-200x50.step +KC02200-50M,02,200,50,M,,KC-02-200x50.step +KC02200-50MFA,02,200,50,M,FA,KC-02-200x50.step +KC02200-50MFB,02,200,50,M,FB,KC-02-200x50.step +KC02200-50MCA,02,200,50,M,CA,KC-02-200x50.step +KC02200-50MCB,02,200,50,M,CB,KC-02-200x50.step +KC02200-50MLB,02,200,50,M,LB,KC-02-200x50.step +KC02200-75,02,200,75,,,KC-02-200x75.step +KC02200-75FA,02,200,75,,FA,KC-02-200x75.step +KC02200-75FB,02,200,75,,FB,KC-02-200x75.step +KC02200-75CA,02,200,75,,CA,KC-02-200x75.step +KC02200-75CB,02,200,75,,CB,KC-02-200x75.step +KC02200-75LB,02,200,75,,LB,KC-02-200x75.step +KC02200-75M,02,200,75,M,,KC-02-200x75.step +KC02200-75MFA,02,200,75,M,FA,KC-02-200x75.step +KC02200-75MFB,02,200,75,M,FB,KC-02-200x75.step +KC02200-75MCA,02,200,75,M,CA,KC-02-200x75.step +KC02200-75MCB,02,200,75,M,CB,KC-02-200x75.step +KC02200-75MLB,02,200,75,M,LB,KC-02-200x75.step +KC02200-100,02,200,100,,,KC-02-200x100.step +KC02200-100FA,02,200,100,,FA,KC-02-200x100.step +KC02200-100FB,02,200,100,,FB,KC-02-200x100.step +KC02200-100CA,02,200,100,,CA,KC-02-200x100.step +KC02200-100CB,02,200,100,,CB,KC-02-200x100.step +KC02200-100LB,02,200,100,,LB,KC-02-200x100.step +KC02200-100M,02,200,100,M,,KC-02-200x100.step +KC02200-100MFA,02,200,100,M,FA,KC-02-200x100.step +KC02200-100MFB,02,200,100,M,FB,KC-02-200x100.step +KC02200-100MCA,02,200,100,M,CA,KC-02-200x100.step +KC02200-100MCB,02,200,100,M,CB,KC-02-200x100.step +KC02200-100MLB,02,200,100,M,LB,KC-02-200x100.step +KC02250-10,02,250,10,,,KC-02-250x10.step +KC02250-10FA,02,250,10,,FA,KC-02-250x10.step +KC02250-10FB,02,250,10,,FB,KC-02-250x10.step +KC02250-10CA,02,250,10,,CA,KC-02-250x10.step +KC02250-10CB,02,250,10,,CB,KC-02-250x10.step +KC02250-10LB,02,250,10,,LB,KC-02-250x10.step +KC02250-10M,02,250,10,M,,KC-02-250x10.step +KC02250-10MFA,02,250,10,M,FA,KC-02-250x10.step +KC02250-10MFB,02,250,10,M,FB,KC-02-250x10.step +KC02250-10MCA,02,250,10,M,CA,KC-02-250x10.step +KC02250-10MCB,02,250,10,M,CB,KC-02-250x10.step +KC02250-10MLB,02,250,10,M,LB,KC-02-250x10.step +KC02250-20,02,250,20,,,KC-02-250x20.step +KC02250-20FA,02,250,20,,FA,KC-02-250x20.step +KC02250-20FB,02,250,20,,FB,KC-02-250x20.step +KC02250-20CA,02,250,20,,CA,KC-02-250x20.step +KC02250-20CB,02,250,20,,CB,KC-02-250x20.step +KC02250-20LB,02,250,20,,LB,KC-02-250x20.step +KC02250-20M,02,250,20,M,,KC-02-250x20.step +KC02250-20MFA,02,250,20,M,FA,KC-02-250x20.step +KC02250-20MFB,02,250,20,M,FB,KC-02-250x20.step +KC02250-20MCA,02,250,20,M,CA,KC-02-250x20.step +KC02250-20MCB,02,250,20,M,CB,KC-02-250x20.step +KC02250-20MLB,02,250,20,M,LB,KC-02-250x20.step +KC02250-30,02,250,30,,,KC-02-250x30.step +KC02250-30FA,02,250,30,,FA,KC-02-250x30.step +KC02250-30FB,02,250,30,,FB,KC-02-250x30.step +KC02250-30CA,02,250,30,,CA,KC-02-250x30.step +KC02250-30CB,02,250,30,,CB,KC-02-250x30.step +KC02250-30LB,02,250,30,,LB,KC-02-250x30.step +KC02250-30M,02,250,30,M,,KC-02-250x30.step +KC02250-30MFA,02,250,30,M,FA,KC-02-250x30.step +KC02250-30MFB,02,250,30,M,FB,KC-02-250x30.step +KC02250-30MCA,02,250,30,M,CA,KC-02-250x30.step +KC02250-30MCB,02,250,30,M,CB,KC-02-250x30.step +KC02250-30MLB,02,250,30,M,LB,KC-02-250x30.step +KC02250-50,02,250,50,,,KC-02-250x50.step +KC02250-50FA,02,250,50,,FA,KC-02-250x50.step +KC02250-50FB,02,250,50,,FB,KC-02-250x50.step +KC02250-50CA,02,250,50,,CA,KC-02-250x50.step +KC02250-50CB,02,250,50,,CB,KC-02-250x50.step +KC02250-50LB,02,250,50,,LB,KC-02-250x50.step +KC02250-50M,02,250,50,M,,KC-02-250x50.step +KC02250-50MFA,02,250,50,M,FA,KC-02-250x50.step +KC02250-50MFB,02,250,50,M,FB,KC-02-250x50.step +KC02250-50MCA,02,250,50,M,CA,KC-02-250x50.step +KC02250-50MCB,02,250,50,M,CB,KC-02-250x50.step +KC02250-50MLB,02,250,50,M,LB,KC-02-250x50.step +KC02250-75,02,250,75,,,KC-02-250x75.step +KC02250-75FA,02,250,75,,FA,KC-02-250x75.step +KC02250-75FB,02,250,75,,FB,KC-02-250x75.step +KC02250-75CA,02,250,75,,CA,KC-02-250x75.step +KC02250-75CB,02,250,75,,CB,KC-02-250x75.step +KC02250-75LB,02,250,75,,LB,KC-02-250x75.step +KC02250-75M,02,250,75,M,,KC-02-250x75.step +KC02250-75MFA,02,250,75,M,FA,KC-02-250x75.step +KC02250-75MFB,02,250,75,M,FB,KC-02-250x75.step +KC02250-75MCA,02,250,75,M,CA,KC-02-250x75.step +KC02250-75MCB,02,250,75,M,CB,KC-02-250x75.step +KC02250-75MLB,02,250,75,M,LB,KC-02-250x75.step +KC02250-100,02,250,100,,,KC-02-250x100.step +KC02250-100FA,02,250,100,,FA,KC-02-250x100.step +KC02250-100FB,02,250,100,,FB,KC-02-250x100.step +KC02250-100CA,02,250,100,,CA,KC-02-250x100.step +KC02250-100CB,02,250,100,,CB,KC-02-250x100.step +KC02250-100LB,02,250,100,,LB,KC-02-250x100.step +KC02250-100M,02,250,100,M,,KC-02-250x100.step +KC02250-100MFA,02,250,100,M,FA,KC-02-250x100.step +KC02250-100MFB,02,250,100,M,FB,KC-02-250x100.step +KC02250-100MCA,02,250,100,M,CA,KC-02-250x100.step +KC02250-100MCB,02,250,100,M,CB,KC-02-250x100.step +KC02250-100MLB,02,250,100,M,LB,KC-02-250x100.step +KC02320-10,02,320,10,,,KC-02-320x10.step +KC02320-10FA,02,320,10,,FA,KC-02-320x10.step +KC02320-10FB,02,320,10,,FB,KC-02-320x10.step +KC02320-10CA,02,320,10,,CA,KC-02-320x10.step +KC02320-10CB,02,320,10,,CB,KC-02-320x10.step +KC02320-10LB,02,320,10,,LB,KC-02-320x10.step +KC02320-10M,02,320,10,M,,KC-02-320x10.step +KC02320-10MFA,02,320,10,M,FA,KC-02-320x10.step +KC02320-10MFB,02,320,10,M,FB,KC-02-320x10.step +KC02320-10MCA,02,320,10,M,CA,KC-02-320x10.step +KC02320-10MCB,02,320,10,M,CB,KC-02-320x10.step +KC02320-10MLB,02,320,10,M,LB,KC-02-320x10.step +KC02320-20,02,320,20,,,KC-02-320x20.step +KC02320-20FA,02,320,20,,FA,KC-02-320x20.step +KC02320-20FB,02,320,20,,FB,KC-02-320x20.step +KC02320-20CA,02,320,20,,CA,KC-02-320x20.step +KC02320-20CB,02,320,20,,CB,KC-02-320x20.step +KC02320-20LB,02,320,20,,LB,KC-02-320x20.step +KC02320-20M,02,320,20,M,,KC-02-320x20.step +KC02320-20MFA,02,320,20,M,FA,KC-02-320x20.step +KC02320-20MFB,02,320,20,M,FB,KC-02-320x20.step +KC02320-20MCA,02,320,20,M,CA,KC-02-320x20.step +KC02320-20MCB,02,320,20,M,CB,KC-02-320x20.step +KC02320-20MLB,02,320,20,M,LB,KC-02-320x20.step +KC02320-30,02,320,30,,,KC-02-320x30.step +KC02320-30FA,02,320,30,,FA,KC-02-320x30.step +KC02320-30FB,02,320,30,,FB,KC-02-320x30.step +KC02320-30CA,02,320,30,,CA,KC-02-320x30.step +KC02320-30CB,02,320,30,,CB,KC-02-320x30.step +KC02320-30LB,02,320,30,,LB,KC-02-320x30.step +KC02320-30M,02,320,30,M,,KC-02-320x30.step +KC02320-30MFA,02,320,30,M,FA,KC-02-320x30.step +KC02320-30MFB,02,320,30,M,FB,KC-02-320x30.step +KC02320-30MCA,02,320,30,M,CA,KC-02-320x30.step +KC02320-30MCB,02,320,30,M,CB,KC-02-320x30.step +KC02320-30MLB,02,320,30,M,LB,KC-02-320x30.step +KC02320-50,02,320,50,,,KC-02-320x50.step +KC02320-50FA,02,320,50,,FA,KC-02-320x50.step +KC02320-50FB,02,320,50,,FB,KC-02-320x50.step +KC02320-50CA,02,320,50,,CA,KC-02-320x50.step +KC02320-50CB,02,320,50,,CB,KC-02-320x50.step +KC02320-50LB,02,320,50,,LB,KC-02-320x50.step +KC02320-50M,02,320,50,M,,KC-02-320x50.step +KC02320-50MFA,02,320,50,M,FA,KC-02-320x50.step +KC02320-50MFB,02,320,50,M,FB,KC-02-320x50.step +KC02320-50MCA,02,320,50,M,CA,KC-02-320x50.step +KC02320-50MCB,02,320,50,M,CB,KC-02-320x50.step +KC02320-50MLB,02,320,50,M,LB,KC-02-320x50.step +KC02320-75,02,320,75,,,KC-02-320x75.step +KC02320-75FA,02,320,75,,FA,KC-02-320x75.step +KC02320-75FB,02,320,75,,FB,KC-02-320x75.step +KC02320-75CA,02,320,75,,CA,KC-02-320x75.step +KC02320-75CB,02,320,75,,CB,KC-02-320x75.step +KC02320-75LB,02,320,75,,LB,KC-02-320x75.step +KC02320-75M,02,320,75,M,,KC-02-320x75.step +KC02320-75MFA,02,320,75,M,FA,KC-02-320x75.step +KC02320-75MFB,02,320,75,M,FB,KC-02-320x75.step +KC02320-75MCA,02,320,75,M,CA,KC-02-320x75.step +KC02320-75MCB,02,320,75,M,CB,KC-02-320x75.step +KC02320-75MLB,02,320,75,M,LB,KC-02-320x75.step +KC02320-100,02,320,100,,,KC-02-320x100.step +KC02320-100FA,02,320,100,,FA,KC-02-320x100.step +KC02320-100FB,02,320,100,,FB,KC-02-320x100.step +KC02320-100CA,02,320,100,,CA,KC-02-320x100.step +KC02320-100CB,02,320,100,,CB,KC-02-320x100.step +KC02320-100LB,02,320,100,,LB,KC-02-320x100.step +KC02320-100M,02,320,100,M,,KC-02-320x100.step +KC02320-100MFA,02,320,100,M,FA,KC-02-320x100.step +KC02320-100MFB,02,320,100,M,FB,KC-02-320x100.step +KC02320-100MCA,02,320,100,M,CA,KC-02-320x100.step +KC02320-100MCB,02,320,100,M,CB,KC-02-320x100.step +KC02320-100MLB,02,320,100,M,LB,KC-02-320x100.step +KC0332-10,03,32,10,,,KC-03-32x10.step +KC0332-10FA,03,32,10,,FA,KC-03-32x10.step +KC0332-10FB,03,32,10,,FB,KC-03-32x10.step +KC0332-10CA,03,32,10,,CA,KC-03-32x10.step +KC0332-10CB,03,32,10,,CB,KC-03-32x10.step +KC0332-10LB,03,32,10,,LB,KC-03-32x10.step +KC0332-10YB,03,32,10,,YB,KC-03-32x10.step +KC0332-10M,03,32,10,M,,KC-03-32x10.step +KC0332-10MFA,03,32,10,M,FA,KC-03-32x10.step +KC0332-10MFB,03,32,10,M,FB,KC-03-32x10.step +KC0332-10MCA,03,32,10,M,CA,KC-03-32x10.step +KC0332-10MCB,03,32,10,M,CB,KC-03-32x10.step +KC0332-10MLB,03,32,10,M,LB,KC-03-32x10.step +KC0332-10MYB,03,32,10,M,YB,KC-03-32x10.step +KC0332-20,03,32,20,,,KC-03-32x20.step +KC0332-20FA,03,32,20,,FA,KC-03-32x20.step +KC0332-20FB,03,32,20,,FB,KC-03-32x20.step +KC0332-20CA,03,32,20,,CA,KC-03-32x20.step +KC0332-20CB,03,32,20,,CB,KC-03-32x20.step +KC0332-20LB,03,32,20,,LB,KC-03-32x20.step +KC0332-20YB,03,32,20,,YB,KC-03-32x20.step +KC0332-20M,03,32,20,M,,KC-03-32x20.step +KC0332-20MFA,03,32,20,M,FA,KC-03-32x20.step +KC0332-20MFB,03,32,20,M,FB,KC-03-32x20.step +KC0332-20MCA,03,32,20,M,CA,KC-03-32x20.step +KC0332-20MCB,03,32,20,M,CB,KC-03-32x20.step +KC0332-20MLB,03,32,20,M,LB,KC-03-32x20.step +KC0332-20MYB,03,32,20,M,YB,KC-03-32x20.step +KC0332-30,03,32,30,,,KC-03-32x30.step +KC0332-30FA,03,32,30,,FA,KC-03-32x30.step +KC0332-30FB,03,32,30,,FB,KC-03-32x30.step +KC0332-30CA,03,32,30,,CA,KC-03-32x30.step +KC0332-30CB,03,32,30,,CB,KC-03-32x30.step +KC0332-30LB,03,32,30,,LB,KC-03-32x30.step +KC0332-30YB,03,32,30,,YB,KC-03-32x30.step +KC0332-30M,03,32,30,M,,KC-03-32x30.step +KC0332-30MFA,03,32,30,M,FA,KC-03-32x30.step +KC0332-30MFB,03,32,30,M,FB,KC-03-32x30.step +KC0332-30MCA,03,32,30,M,CA,KC-03-32x30.step +KC0332-30MCB,03,32,30,M,CB,KC-03-32x30.step +KC0332-30MLB,03,32,30,M,LB,KC-03-32x30.step +KC0332-30MYB,03,32,30,M,YB,KC-03-32x30.step +KC0332-50,03,32,50,,,KC-03-32x50.step +KC0332-50FA,03,32,50,,FA,KC-03-32x50.step +KC0332-50FB,03,32,50,,FB,KC-03-32x50.step +KC0332-50CA,03,32,50,,CA,KC-03-32x50.step +KC0332-50CB,03,32,50,,CB,KC-03-32x50.step +KC0332-50LB,03,32,50,,LB,KC-03-32x50.step +KC0332-50YB,03,32,50,,YB,KC-03-32x50.step +KC0332-50M,03,32,50,M,,KC-03-32x50.step +KC0332-50MFA,03,32,50,M,FA,KC-03-32x50.step +KC0332-50MFB,03,32,50,M,FB,KC-03-32x50.step +KC0332-50MCA,03,32,50,M,CA,KC-03-32x50.step +KC0332-50MCB,03,32,50,M,CB,KC-03-32x50.step +KC0332-50MLB,03,32,50,M,LB,KC-03-32x50.step +KC0332-50MYB,03,32,50,M,YB,KC-03-32x50.step +KC0332-75,03,32,75,,,KC-03-32x75.step +KC0332-75FA,03,32,75,,FA,KC-03-32x75.step +KC0332-75FB,03,32,75,,FB,KC-03-32x75.step +KC0332-75CA,03,32,75,,CA,KC-03-32x75.step +KC0332-75CB,03,32,75,,CB,KC-03-32x75.step +KC0332-75LB,03,32,75,,LB,KC-03-32x75.step +KC0332-75YB,03,32,75,,YB,KC-03-32x75.step +KC0332-75M,03,32,75,M,,KC-03-32x75.step +KC0332-75MFA,03,32,75,M,FA,KC-03-32x75.step +KC0332-75MFB,03,32,75,M,FB,KC-03-32x75.step +KC0332-75MCA,03,32,75,M,CA,KC-03-32x75.step +KC0332-75MCB,03,32,75,M,CB,KC-03-32x75.step +KC0332-75MLB,03,32,75,M,LB,KC-03-32x75.step +KC0332-75MYB,03,32,75,M,YB,KC-03-32x75.step +KC0332-100,03,32,100,,,KC-03-32x100.step +KC0332-100FA,03,32,100,,FA,KC-03-32x100.step +KC0332-100FB,03,32,100,,FB,KC-03-32x100.step +KC0332-100CA,03,32,100,,CA,KC-03-32x100.step +KC0332-100CB,03,32,100,,CB,KC-03-32x100.step +KC0332-100LB,03,32,100,,LB,KC-03-32x100.step +KC0332-100YB,03,32,100,,YB,KC-03-32x100.step +KC0332-100M,03,32,100,M,,KC-03-32x100.step +KC0332-100MFA,03,32,100,M,FA,KC-03-32x100.step +KC0332-100MFB,03,32,100,M,FB,KC-03-32x100.step +KC0332-100MCA,03,32,100,M,CA,KC-03-32x100.step +KC0332-100MCB,03,32,100,M,CB,KC-03-32x100.step +KC0332-100MLB,03,32,100,M,LB,KC-03-32x100.step +KC0332-100MYB,03,32,100,M,YB,KC-03-32x100.step +KC0340-10,03,40,10,,,KC-03-40x10.step +KC0340-10FA,03,40,10,,FA,KC-03-40x10.step +KC0340-10FB,03,40,10,,FB,KC-03-40x10.step +KC0340-10CA,03,40,10,,CA,KC-03-40x10.step +KC0340-10CB,03,40,10,,CB,KC-03-40x10.step +KC0340-10LB,03,40,10,,LB,KC-03-40x10.step +KC0340-10YB,03,40,10,,YB,KC-03-40x10.step +KC0340-10M,03,40,10,M,,KC-03-40x10.step +KC0340-10MFA,03,40,10,M,FA,KC-03-40x10.step +KC0340-10MFB,03,40,10,M,FB,KC-03-40x10.step +KC0340-10MCA,03,40,10,M,CA,KC-03-40x10.step +KC0340-10MCB,03,40,10,M,CB,KC-03-40x10.step +KC0340-10MLB,03,40,10,M,LB,KC-03-40x10.step +KC0340-10MYB,03,40,10,M,YB,KC-03-40x10.step +KC0340-20,03,40,20,,,KC-03-40x20.step +KC0340-20FA,03,40,20,,FA,KC-03-40x20.step +KC0340-20FB,03,40,20,,FB,KC-03-40x20.step +KC0340-20CA,03,40,20,,CA,KC-03-40x20.step +KC0340-20CB,03,40,20,,CB,KC-03-40x20.step +KC0340-20LB,03,40,20,,LB,KC-03-40x20.step +KC0340-20YB,03,40,20,,YB,KC-03-40x20.step +KC0340-20M,03,40,20,M,,KC-03-40x20.step +KC0340-20MFA,03,40,20,M,FA,KC-03-40x20.step +KC0340-20MFB,03,40,20,M,FB,KC-03-40x20.step +KC0340-20MCA,03,40,20,M,CA,KC-03-40x20.step +KC0340-20MCB,03,40,20,M,CB,KC-03-40x20.step +KC0340-20MLB,03,40,20,M,LB,KC-03-40x20.step +KC0340-20MYB,03,40,20,M,YB,KC-03-40x20.step +KC0340-30,03,40,30,,,KC-03-40x30.step +KC0340-30FA,03,40,30,,FA,KC-03-40x30.step +KC0340-30FB,03,40,30,,FB,KC-03-40x30.step +KC0340-30CA,03,40,30,,CA,KC-03-40x30.step +KC0340-30CB,03,40,30,,CB,KC-03-40x30.step +KC0340-30LB,03,40,30,,LB,KC-03-40x30.step +KC0340-30YB,03,40,30,,YB,KC-03-40x30.step +KC0340-30M,03,40,30,M,,KC-03-40x30.step +KC0340-30MFA,03,40,30,M,FA,KC-03-40x30.step +KC0340-30MFB,03,40,30,M,FB,KC-03-40x30.step +KC0340-30MCA,03,40,30,M,CA,KC-03-40x30.step +KC0340-30MCB,03,40,30,M,CB,KC-03-40x30.step +KC0340-30MLB,03,40,30,M,LB,KC-03-40x30.step +KC0340-30MYB,03,40,30,M,YB,KC-03-40x30.step +KC0340-50,03,40,50,,,KC-03-40x50.step +KC0340-50FA,03,40,50,,FA,KC-03-40x50.step +KC0340-50FB,03,40,50,,FB,KC-03-40x50.step +KC0340-50CA,03,40,50,,CA,KC-03-40x50.step +KC0340-50CB,03,40,50,,CB,KC-03-40x50.step +KC0340-50LB,03,40,50,,LB,KC-03-40x50.step +KC0340-50YB,03,40,50,,YB,KC-03-40x50.step +KC0340-50M,03,40,50,M,,KC-03-40x50.step +KC0340-50MFA,03,40,50,M,FA,KC-03-40x50.step +KC0340-50MFB,03,40,50,M,FB,KC-03-40x50.step +KC0340-50MCA,03,40,50,M,CA,KC-03-40x50.step +KC0340-50MCB,03,40,50,M,CB,KC-03-40x50.step +KC0340-50MLB,03,40,50,M,LB,KC-03-40x50.step +KC0340-50MYB,03,40,50,M,YB,KC-03-40x50.step +KC0340-75,03,40,75,,,KC-03-40x75.step +KC0340-75FA,03,40,75,,FA,KC-03-40x75.step +KC0340-75FB,03,40,75,,FB,KC-03-40x75.step +KC0340-75CA,03,40,75,,CA,KC-03-40x75.step +KC0340-75CB,03,40,75,,CB,KC-03-40x75.step +KC0340-75LB,03,40,75,,LB,KC-03-40x75.step +KC0340-75YB,03,40,75,,YB,KC-03-40x75.step +KC0340-75M,03,40,75,M,,KC-03-40x75.step +KC0340-75MFA,03,40,75,M,FA,KC-03-40x75.step +KC0340-75MFB,03,40,75,M,FB,KC-03-40x75.step +KC0340-75MCA,03,40,75,M,CA,KC-03-40x75.step +KC0340-75MCB,03,40,75,M,CB,KC-03-40x75.step +KC0340-75MLB,03,40,75,M,LB,KC-03-40x75.step +KC0340-75MYB,03,40,75,M,YB,KC-03-40x75.step +KC0340-100,03,40,100,,,KC-03-40x100.step +KC0340-100FA,03,40,100,,FA,KC-03-40x100.step +KC0340-100FB,03,40,100,,FB,KC-03-40x100.step +KC0340-100CA,03,40,100,,CA,KC-03-40x100.step +KC0340-100CB,03,40,100,,CB,KC-03-40x100.step +KC0340-100LB,03,40,100,,LB,KC-03-40x100.step +KC0340-100YB,03,40,100,,YB,KC-03-40x100.step +KC0340-100M,03,40,100,M,,KC-03-40x100.step +KC0340-100MFA,03,40,100,M,FA,KC-03-40x100.step +KC0340-100MFB,03,40,100,M,FB,KC-03-40x100.step +KC0340-100MCA,03,40,100,M,CA,KC-03-40x100.step +KC0340-100MCB,03,40,100,M,CB,KC-03-40x100.step +KC0340-100MLB,03,40,100,M,LB,KC-03-40x100.step +KC0340-100MYB,03,40,100,M,YB,KC-03-40x100.step +KC0350-10,03,50,10,,,KC-03-50x10.step +KC0350-10FA,03,50,10,,FA,KC-03-50x10.step +KC0350-10FB,03,50,10,,FB,KC-03-50x10.step +KC0350-10CA,03,50,10,,CA,KC-03-50x10.step +KC0350-10CB,03,50,10,,CB,KC-03-50x10.step +KC0350-10LB,03,50,10,,LB,KC-03-50x10.step +KC0350-10YB,03,50,10,,YB,KC-03-50x10.step +KC0350-10M,03,50,10,M,,KC-03-50x10.step +KC0350-10MFA,03,50,10,M,FA,KC-03-50x10.step +KC0350-10MFB,03,50,10,M,FB,KC-03-50x10.step +KC0350-10MCA,03,50,10,M,CA,KC-03-50x10.step +KC0350-10MCB,03,50,10,M,CB,KC-03-50x10.step +KC0350-10MLB,03,50,10,M,LB,KC-03-50x10.step +KC0350-10MYB,03,50,10,M,YB,KC-03-50x10.step +KC0350-20,03,50,20,,,KC-03-50x20.step +KC0350-20FA,03,50,20,,FA,KC-03-50x20.step +KC0350-20FB,03,50,20,,FB,KC-03-50x20.step +KC0350-20CA,03,50,20,,CA,KC-03-50x20.step +KC0350-20CB,03,50,20,,CB,KC-03-50x20.step +KC0350-20LB,03,50,20,,LB,KC-03-50x20.step +KC0350-20YB,03,50,20,,YB,KC-03-50x20.step +KC0350-20M,03,50,20,M,,KC-03-50x20.step +KC0350-20MFA,03,50,20,M,FA,KC-03-50x20.step +KC0350-20MFB,03,50,20,M,FB,KC-03-50x20.step +KC0350-20MCA,03,50,20,M,CA,KC-03-50x20.step +KC0350-20MCB,03,50,20,M,CB,KC-03-50x20.step +KC0350-20MLB,03,50,20,M,LB,KC-03-50x20.step +KC0350-20MYB,03,50,20,M,YB,KC-03-50x20.step +KC0350-30,03,50,30,,,KC-03-50x30.step +KC0350-30FA,03,50,30,,FA,KC-03-50x30.step +KC0350-30FB,03,50,30,,FB,KC-03-50x30.step +KC0350-30CA,03,50,30,,CA,KC-03-50x30.step +KC0350-30CB,03,50,30,,CB,KC-03-50x30.step +KC0350-30LB,03,50,30,,LB,KC-03-50x30.step +KC0350-30YB,03,50,30,,YB,KC-03-50x30.step +KC0350-30M,03,50,30,M,,KC-03-50x30.step +KC0350-30MFA,03,50,30,M,FA,KC-03-50x30.step +KC0350-30MFB,03,50,30,M,FB,KC-03-50x30.step +KC0350-30MCA,03,50,30,M,CA,KC-03-50x30.step +KC0350-30MCB,03,50,30,M,CB,KC-03-50x30.step +KC0350-30MLB,03,50,30,M,LB,KC-03-50x30.step +KC0350-30MYB,03,50,30,M,YB,KC-03-50x30.step +KC0350-50,03,50,50,,,KC-03-50x50.step +KC0350-50FA,03,50,50,,FA,KC-03-50x50.step +KC0350-50FB,03,50,50,,FB,KC-03-50x50.step +KC0350-50CA,03,50,50,,CA,KC-03-50x50.step +KC0350-50CB,03,50,50,,CB,KC-03-50x50.step +KC0350-50LB,03,50,50,,LB,KC-03-50x50.step +KC0350-50YB,03,50,50,,YB,KC-03-50x50.step +KC0350-50M,03,50,50,M,,KC-03-50x50.step +KC0350-50MFA,03,50,50,M,FA,KC-03-50x50.step +KC0350-50MFB,03,50,50,M,FB,KC-03-50x50.step +KC0350-50MCA,03,50,50,M,CA,KC-03-50x50.step +KC0350-50MCB,03,50,50,M,CB,KC-03-50x50.step +KC0350-50MLB,03,50,50,M,LB,KC-03-50x50.step +KC0350-50MYB,03,50,50,M,YB,KC-03-50x50.step +KC0350-75,03,50,75,,,KC-03-50x75.step +KC0350-75FA,03,50,75,,FA,KC-03-50x75.step +KC0350-75FB,03,50,75,,FB,KC-03-50x75.step +KC0350-75CA,03,50,75,,CA,KC-03-50x75.step +KC0350-75CB,03,50,75,,CB,KC-03-50x75.step +KC0350-75LB,03,50,75,,LB,KC-03-50x75.step +KC0350-75YB,03,50,75,,YB,KC-03-50x75.step +KC0350-75M,03,50,75,M,,KC-03-50x75.step +KC0350-75MFA,03,50,75,M,FA,KC-03-50x75.step +KC0350-75MFB,03,50,75,M,FB,KC-03-50x75.step +KC0350-75MCA,03,50,75,M,CA,KC-03-50x75.step +KC0350-75MCB,03,50,75,M,CB,KC-03-50x75.step +KC0350-75MLB,03,50,75,M,LB,KC-03-50x75.step +KC0350-75MYB,03,50,75,M,YB,KC-03-50x75.step +KC0350-100,03,50,100,,,KC-03-50x100.step +KC0350-100FA,03,50,100,,FA,KC-03-50x100.step +KC0350-100FB,03,50,100,,FB,KC-03-50x100.step +KC0350-100CA,03,50,100,,CA,KC-03-50x100.step +KC0350-100CB,03,50,100,,CB,KC-03-50x100.step +KC0350-100LB,03,50,100,,LB,KC-03-50x100.step +KC0350-100YB,03,50,100,,YB,KC-03-50x100.step +KC0350-100M,03,50,100,M,,KC-03-50x100.step +KC0350-100MFA,03,50,100,M,FA,KC-03-50x100.step +KC0350-100MFB,03,50,100,M,FB,KC-03-50x100.step +KC0350-100MCA,03,50,100,M,CA,KC-03-50x100.step +KC0350-100MCB,03,50,100,M,CB,KC-03-50x100.step +KC0350-100MLB,03,50,100,M,LB,KC-03-50x100.step +KC0350-100MYB,03,50,100,M,YB,KC-03-50x100.step +KC0363-10,03,63,10,,,KC-03-63x10.step +KC0363-10FA,03,63,10,,FA,KC-03-63x10.step +KC0363-10FB,03,63,10,,FB,KC-03-63x10.step +KC0363-10CA,03,63,10,,CA,KC-03-63x10.step +KC0363-10CB,03,63,10,,CB,KC-03-63x10.step +KC0363-10LB,03,63,10,,LB,KC-03-63x10.step +KC0363-10YB,03,63,10,,YB,KC-03-63x10.step +KC0363-10M,03,63,10,M,,KC-03-63x10.step +KC0363-10MFA,03,63,10,M,FA,KC-03-63x10.step +KC0363-10MFB,03,63,10,M,FB,KC-03-63x10.step +KC0363-10MCA,03,63,10,M,CA,KC-03-63x10.step +KC0363-10MCB,03,63,10,M,CB,KC-03-63x10.step +KC0363-10MLB,03,63,10,M,LB,KC-03-63x10.step +KC0363-10MYB,03,63,10,M,YB,KC-03-63x10.step +KC0363-20,03,63,20,,,KC-03-63x20.step +KC0363-20FA,03,63,20,,FA,KC-03-63x20.step +KC0363-20FB,03,63,20,,FB,KC-03-63x20.step +KC0363-20CA,03,63,20,,CA,KC-03-63x20.step +KC0363-20CB,03,63,20,,CB,KC-03-63x20.step +KC0363-20LB,03,63,20,,LB,KC-03-63x20.step +KC0363-20YB,03,63,20,,YB,KC-03-63x20.step +KC0363-20M,03,63,20,M,,KC-03-63x20.step +KC0363-20MFA,03,63,20,M,FA,KC-03-63x20.step +KC0363-20MFB,03,63,20,M,FB,KC-03-63x20.step +KC0363-20MCA,03,63,20,M,CA,KC-03-63x20.step +KC0363-20MCB,03,63,20,M,CB,KC-03-63x20.step +KC0363-20MLB,03,63,20,M,LB,KC-03-63x20.step +KC0363-20MYB,03,63,20,M,YB,KC-03-63x20.step +KC0363-30,03,63,30,,,KC-03-63x30.step +KC0363-30FA,03,63,30,,FA,KC-03-63x30.step +KC0363-30FB,03,63,30,,FB,KC-03-63x30.step +KC0363-30CA,03,63,30,,CA,KC-03-63x30.step +KC0363-30CB,03,63,30,,CB,KC-03-63x30.step +KC0363-30LB,03,63,30,,LB,KC-03-63x30.step +KC0363-30YB,03,63,30,,YB,KC-03-63x30.step +KC0363-30M,03,63,30,M,,KC-03-63x30.step +KC0363-30MFA,03,63,30,M,FA,KC-03-63x30.step +KC0363-30MFB,03,63,30,M,FB,KC-03-63x30.step +KC0363-30MCA,03,63,30,M,CA,KC-03-63x30.step +KC0363-30MCB,03,63,30,M,CB,KC-03-63x30.step +KC0363-30MLB,03,63,30,M,LB,KC-03-63x30.step +KC0363-30MYB,03,63,30,M,YB,KC-03-63x30.step +KC0363-50,03,63,50,,,KC-03-63x50.step +KC0363-50FA,03,63,50,,FA,KC-03-63x50.step +KC0363-50FB,03,63,50,,FB,KC-03-63x50.step +KC0363-50CA,03,63,50,,CA,KC-03-63x50.step +KC0363-50CB,03,63,50,,CB,KC-03-63x50.step +KC0363-50LB,03,63,50,,LB,KC-03-63x50.step +KC0363-50YB,03,63,50,,YB,KC-03-63x50.step +KC0363-50M,03,63,50,M,,KC-03-63x50.step +KC0363-50MFA,03,63,50,M,FA,KC-03-63x50.step +KC0363-50MFB,03,63,50,M,FB,KC-03-63x50.step +KC0363-50MCA,03,63,50,M,CA,KC-03-63x50.step +KC0363-50MCB,03,63,50,M,CB,KC-03-63x50.step +KC0363-50MLB,03,63,50,M,LB,KC-03-63x50.step +KC0363-50MYB,03,63,50,M,YB,KC-03-63x50.step +KC0363-75,03,63,75,,,KC-03-63x75.step +KC0363-75FA,03,63,75,,FA,KC-03-63x75.step +KC0363-75FB,03,63,75,,FB,KC-03-63x75.step +KC0363-75CA,03,63,75,,CA,KC-03-63x75.step +KC0363-75CB,03,63,75,,CB,KC-03-63x75.step +KC0363-75LB,03,63,75,,LB,KC-03-63x75.step +KC0363-75YB,03,63,75,,YB,KC-03-63x75.step +KC0363-75M,03,63,75,M,,KC-03-63x75.step +KC0363-75MFA,03,63,75,M,FA,KC-03-63x75.step +KC0363-75MFB,03,63,75,M,FB,KC-03-63x75.step +KC0363-75MCA,03,63,75,M,CA,KC-03-63x75.step +KC0363-75MCB,03,63,75,M,CB,KC-03-63x75.step +KC0363-75MLB,03,63,75,M,LB,KC-03-63x75.step +KC0363-75MYB,03,63,75,M,YB,KC-03-63x75.step +KC0363-100,03,63,100,,,KC-03-63x100.step +KC0363-100FA,03,63,100,,FA,KC-03-63x100.step +KC0363-100FB,03,63,100,,FB,KC-03-63x100.step +KC0363-100CA,03,63,100,,CA,KC-03-63x100.step +KC0363-100CB,03,63,100,,CB,KC-03-63x100.step +KC0363-100LB,03,63,100,,LB,KC-03-63x100.step +KC0363-100YB,03,63,100,,YB,KC-03-63x100.step +KC0363-100M,03,63,100,M,,KC-03-63x100.step +KC0363-100MFA,03,63,100,M,FA,KC-03-63x100.step +KC0363-100MFB,03,63,100,M,FB,KC-03-63x100.step +KC0363-100MCA,03,63,100,M,CA,KC-03-63x100.step +KC0363-100MCB,03,63,100,M,CB,KC-03-63x100.step +KC0363-100MLB,03,63,100,M,LB,KC-03-63x100.step +KC0363-100MYB,03,63,100,M,YB,KC-03-63x100.step +KC0380-10,03,80,10,,,KC-03-80x10.step +KC0380-10FA,03,80,10,,FA,KC-03-80x10.step +KC0380-10FB,03,80,10,,FB,KC-03-80x10.step +KC0380-10CA,03,80,10,,CA,KC-03-80x10.step +KC0380-10CB,03,80,10,,CB,KC-03-80x10.step +KC0380-10LB,03,80,10,,LB,KC-03-80x10.step +KC0380-10YB,03,80,10,,YB,KC-03-80x10.step +KC0380-10M,03,80,10,M,,KC-03-80x10.step +KC0380-10MFA,03,80,10,M,FA,KC-03-80x10.step +KC0380-10MFB,03,80,10,M,FB,KC-03-80x10.step +KC0380-10MCA,03,80,10,M,CA,KC-03-80x10.step +KC0380-10MCB,03,80,10,M,CB,KC-03-80x10.step +KC0380-10MLB,03,80,10,M,LB,KC-03-80x10.step +KC0380-10MYB,03,80,10,M,YB,KC-03-80x10.step +KC0380-20,03,80,20,,,KC-03-80x20.step +KC0380-20FA,03,80,20,,FA,KC-03-80x20.step +KC0380-20FB,03,80,20,,FB,KC-03-80x20.step +KC0380-20CA,03,80,20,,CA,KC-03-80x20.step +KC0380-20CB,03,80,20,,CB,KC-03-80x20.step +KC0380-20LB,03,80,20,,LB,KC-03-80x20.step +KC0380-20YB,03,80,20,,YB,KC-03-80x20.step +KC0380-20M,03,80,20,M,,KC-03-80x20.step +KC0380-20MFA,03,80,20,M,FA,KC-03-80x20.step +KC0380-20MFB,03,80,20,M,FB,KC-03-80x20.step +KC0380-20MCA,03,80,20,M,CA,KC-03-80x20.step +KC0380-20MCB,03,80,20,M,CB,KC-03-80x20.step +KC0380-20MLB,03,80,20,M,LB,KC-03-80x20.step +KC0380-20MYB,03,80,20,M,YB,KC-03-80x20.step +KC0380-30,03,80,30,,,KC-03-80x30.step +KC0380-30FA,03,80,30,,FA,KC-03-80x30.step +KC0380-30FB,03,80,30,,FB,KC-03-80x30.step +KC0380-30CA,03,80,30,,CA,KC-03-80x30.step +KC0380-30CB,03,80,30,,CB,KC-03-80x30.step +KC0380-30LB,03,80,30,,LB,KC-03-80x30.step +KC0380-30YB,03,80,30,,YB,KC-03-80x30.step +KC0380-30M,03,80,30,M,,KC-03-80x30.step +KC0380-30MFA,03,80,30,M,FA,KC-03-80x30.step +KC0380-30MFB,03,80,30,M,FB,KC-03-80x30.step +KC0380-30MCA,03,80,30,M,CA,KC-03-80x30.step +KC0380-30MCB,03,80,30,M,CB,KC-03-80x30.step +KC0380-30MLB,03,80,30,M,LB,KC-03-80x30.step +KC0380-30MYB,03,80,30,M,YB,KC-03-80x30.step +KC0380-50,03,80,50,,,KC-03-80x50.step +KC0380-50FA,03,80,50,,FA,KC-03-80x50.step +KC0380-50FB,03,80,50,,FB,KC-03-80x50.step +KC0380-50CA,03,80,50,,CA,KC-03-80x50.step +KC0380-50CB,03,80,50,,CB,KC-03-80x50.step +KC0380-50LB,03,80,50,,LB,KC-03-80x50.step +KC0380-50YB,03,80,50,,YB,KC-03-80x50.step +KC0380-50M,03,80,50,M,,KC-03-80x50.step +KC0380-50MFA,03,80,50,M,FA,KC-03-80x50.step +KC0380-50MFB,03,80,50,M,FB,KC-03-80x50.step +KC0380-50MCA,03,80,50,M,CA,KC-03-80x50.step +KC0380-50MCB,03,80,50,M,CB,KC-03-80x50.step +KC0380-50MLB,03,80,50,M,LB,KC-03-80x50.step +KC0380-50MYB,03,80,50,M,YB,KC-03-80x50.step +KC0380-75,03,80,75,,,KC-03-80x75.step +KC0380-75FA,03,80,75,,FA,KC-03-80x75.step +KC0380-75FB,03,80,75,,FB,KC-03-80x75.step +KC0380-75CA,03,80,75,,CA,KC-03-80x75.step +KC0380-75CB,03,80,75,,CB,KC-03-80x75.step +KC0380-75LB,03,80,75,,LB,KC-03-80x75.step +KC0380-75YB,03,80,75,,YB,KC-03-80x75.step +KC0380-75M,03,80,75,M,,KC-03-80x75.step +KC0380-75MFA,03,80,75,M,FA,KC-03-80x75.step +KC0380-75MFB,03,80,75,M,FB,KC-03-80x75.step +KC0380-75MCA,03,80,75,M,CA,KC-03-80x75.step +KC0380-75MCB,03,80,75,M,CB,KC-03-80x75.step +KC0380-75MLB,03,80,75,M,LB,KC-03-80x75.step +KC0380-75MYB,03,80,75,M,YB,KC-03-80x75.step +KC0380-100,03,80,100,,,KC-03-80x100.step +KC0380-100FA,03,80,100,,FA,KC-03-80x100.step +KC0380-100FB,03,80,100,,FB,KC-03-80x100.step +KC0380-100CA,03,80,100,,CA,KC-03-80x100.step +KC0380-100CB,03,80,100,,CB,KC-03-80x100.step +KC0380-100LB,03,80,100,,LB,KC-03-80x100.step +KC0380-100YB,03,80,100,,YB,KC-03-80x100.step +KC0380-100M,03,80,100,M,,KC-03-80x100.step +KC0380-100MFA,03,80,100,M,FA,KC-03-80x100.step +KC0380-100MFB,03,80,100,M,FB,KC-03-80x100.step +KC0380-100MCA,03,80,100,M,CA,KC-03-80x100.step +KC0380-100MCB,03,80,100,M,CB,KC-03-80x100.step +KC0380-100MLB,03,80,100,M,LB,KC-03-80x100.step +KC0380-100MYB,03,80,100,M,YB,KC-03-80x100.step +KC03100-10,03,100,10,,,KC-03-100x10.step +KC03100-10FA,03,100,10,,FA,KC-03-100x10.step +KC03100-10FB,03,100,10,,FB,KC-03-100x10.step +KC03100-10CA,03,100,10,,CA,KC-03-100x10.step +KC03100-10CB,03,100,10,,CB,KC-03-100x10.step +KC03100-10LB,03,100,10,,LB,KC-03-100x10.step +KC03100-10YB,03,100,10,,YB,KC-03-100x10.step +KC03100-10M,03,100,10,M,,KC-03-100x10.step +KC03100-10MFA,03,100,10,M,FA,KC-03-100x10.step +KC03100-10MFB,03,100,10,M,FB,KC-03-100x10.step +KC03100-10MCA,03,100,10,M,CA,KC-03-100x10.step +KC03100-10MCB,03,100,10,M,CB,KC-03-100x10.step +KC03100-10MLB,03,100,10,M,LB,KC-03-100x10.step +KC03100-10MYB,03,100,10,M,YB,KC-03-100x10.step +KC03100-20,03,100,20,,,KC-03-100x20.step +KC03100-20FA,03,100,20,,FA,KC-03-100x20.step +KC03100-20FB,03,100,20,,FB,KC-03-100x20.step +KC03100-20CA,03,100,20,,CA,KC-03-100x20.step +KC03100-20CB,03,100,20,,CB,KC-03-100x20.step +KC03100-20LB,03,100,20,,LB,KC-03-100x20.step +KC03100-20YB,03,100,20,,YB,KC-03-100x20.step +KC03100-20M,03,100,20,M,,KC-03-100x20.step +KC03100-20MFA,03,100,20,M,FA,KC-03-100x20.step +KC03100-20MFB,03,100,20,M,FB,KC-03-100x20.step +KC03100-20MCA,03,100,20,M,CA,KC-03-100x20.step +KC03100-20MCB,03,100,20,M,CB,KC-03-100x20.step +KC03100-20MLB,03,100,20,M,LB,KC-03-100x20.step +KC03100-20MYB,03,100,20,M,YB,KC-03-100x20.step +KC03100-30,03,100,30,,,KC-03-100x30.step +KC03100-30FA,03,100,30,,FA,KC-03-100x30.step +KC03100-30FB,03,100,30,,FB,KC-03-100x30.step +KC03100-30CA,03,100,30,,CA,KC-03-100x30.step +KC03100-30CB,03,100,30,,CB,KC-03-100x30.step +KC03100-30LB,03,100,30,,LB,KC-03-100x30.step +KC03100-30YB,03,100,30,,YB,KC-03-100x30.step +KC03100-30M,03,100,30,M,,KC-03-100x30.step +KC03100-30MFA,03,100,30,M,FA,KC-03-100x30.step +KC03100-30MFB,03,100,30,M,FB,KC-03-100x30.step +KC03100-30MCA,03,100,30,M,CA,KC-03-100x30.step +KC03100-30MCB,03,100,30,M,CB,KC-03-100x30.step +KC03100-30MLB,03,100,30,M,LB,KC-03-100x30.step +KC03100-30MYB,03,100,30,M,YB,KC-03-100x30.step +KC03100-50,03,100,50,,,KC-03-100x50.step +KC03100-50FA,03,100,50,,FA,KC-03-100x50.step +KC03100-50FB,03,100,50,,FB,KC-03-100x50.step +KC03100-50CA,03,100,50,,CA,KC-03-100x50.step +KC03100-50CB,03,100,50,,CB,KC-03-100x50.step +KC03100-50LB,03,100,50,,LB,KC-03-100x50.step +KC03100-50YB,03,100,50,,YB,KC-03-100x50.step +KC03100-50M,03,100,50,M,,KC-03-100x50.step +KC03100-50MFA,03,100,50,M,FA,KC-03-100x50.step +KC03100-50MFB,03,100,50,M,FB,KC-03-100x50.step +KC03100-50MCA,03,100,50,M,CA,KC-03-100x50.step +KC03100-50MCB,03,100,50,M,CB,KC-03-100x50.step +KC03100-50MLB,03,100,50,M,LB,KC-03-100x50.step +KC03100-50MYB,03,100,50,M,YB,KC-03-100x50.step +KC03100-75,03,100,75,,,KC-03-100x75.step +KC03100-75FA,03,100,75,,FA,KC-03-100x75.step +KC03100-75FB,03,100,75,,FB,KC-03-100x75.step +KC03100-75CA,03,100,75,,CA,KC-03-100x75.step +KC03100-75CB,03,100,75,,CB,KC-03-100x75.step +KC03100-75LB,03,100,75,,LB,KC-03-100x75.step +KC03100-75YB,03,100,75,,YB,KC-03-100x75.step +KC03100-75M,03,100,75,M,,KC-03-100x75.step +KC03100-75MFA,03,100,75,M,FA,KC-03-100x75.step +KC03100-75MFB,03,100,75,M,FB,KC-03-100x75.step +KC03100-75MCA,03,100,75,M,CA,KC-03-100x75.step +KC03100-75MCB,03,100,75,M,CB,KC-03-100x75.step +KC03100-75MLB,03,100,75,M,LB,KC-03-100x75.step +KC03100-75MYB,03,100,75,M,YB,KC-03-100x75.step +KC03100-100,03,100,100,,,KC-03-100x100.step +KC03100-100FA,03,100,100,,FA,KC-03-100x100.step +KC03100-100FB,03,100,100,,FB,KC-03-100x100.step +KC03100-100CA,03,100,100,,CA,KC-03-100x100.step +KC03100-100CB,03,100,100,,CB,KC-03-100x100.step +KC03100-100LB,03,100,100,,LB,KC-03-100x100.step +KC03100-100YB,03,100,100,,YB,KC-03-100x100.step +KC03100-100M,03,100,100,M,,KC-03-100x100.step +KC03100-100MFA,03,100,100,M,FA,KC-03-100x100.step +KC03100-100MFB,03,100,100,M,FB,KC-03-100x100.step +KC03100-100MCA,03,100,100,M,CA,KC-03-100x100.step +KC03100-100MCB,03,100,100,M,CB,KC-03-100x100.step +KC03100-100MLB,03,100,100,M,LB,KC-03-100x100.step +KC03100-100MYB,03,100,100,M,YB,KC-03-100x100.step +KC03125-10,03,125,10,,,KC-03-125x10.step +KC03125-10FA,03,125,10,,FA,KC-03-125x10.step +KC03125-10FB,03,125,10,,FB,KC-03-125x10.step +KC03125-10CA,03,125,10,,CA,KC-03-125x10.step +KC03125-10CB,03,125,10,,CB,KC-03-125x10.step +KC03125-10LB,03,125,10,,LB,KC-03-125x10.step +KC03125-10YB,03,125,10,,YB,KC-03-125x10.step +KC03125-10M,03,125,10,M,,KC-03-125x10.step +KC03125-10MFA,03,125,10,M,FA,KC-03-125x10.step +KC03125-10MFB,03,125,10,M,FB,KC-03-125x10.step +KC03125-10MCA,03,125,10,M,CA,KC-03-125x10.step +KC03125-10MCB,03,125,10,M,CB,KC-03-125x10.step +KC03125-10MLB,03,125,10,M,LB,KC-03-125x10.step +KC03125-10MYB,03,125,10,M,YB,KC-03-125x10.step +KC03125-20,03,125,20,,,KC-03-125x20.step +KC03125-20FA,03,125,20,,FA,KC-03-125x20.step +KC03125-20FB,03,125,20,,FB,KC-03-125x20.step +KC03125-20CA,03,125,20,,CA,KC-03-125x20.step +KC03125-20CB,03,125,20,,CB,KC-03-125x20.step +KC03125-20LB,03,125,20,,LB,KC-03-125x20.step +KC03125-20YB,03,125,20,,YB,KC-03-125x20.step +KC03125-20M,03,125,20,M,,KC-03-125x20.step +KC03125-20MFA,03,125,20,M,FA,KC-03-125x20.step +KC03125-20MFB,03,125,20,M,FB,KC-03-125x20.step +KC03125-20MCA,03,125,20,M,CA,KC-03-125x20.step +KC03125-20MCB,03,125,20,M,CB,KC-03-125x20.step +KC03125-20MLB,03,125,20,M,LB,KC-03-125x20.step +KC03125-20MYB,03,125,20,M,YB,KC-03-125x20.step +KC03125-30,03,125,30,,,KC-03-125x30.step +KC03125-30FA,03,125,30,,FA,KC-03-125x30.step +KC03125-30FB,03,125,30,,FB,KC-03-125x30.step +KC03125-30CA,03,125,30,,CA,KC-03-125x30.step +KC03125-30CB,03,125,30,,CB,KC-03-125x30.step +KC03125-30LB,03,125,30,,LB,KC-03-125x30.step +KC03125-30YB,03,125,30,,YB,KC-03-125x30.step +KC03125-30M,03,125,30,M,,KC-03-125x30.step +KC03125-30MFA,03,125,30,M,FA,KC-03-125x30.step +KC03125-30MFB,03,125,30,M,FB,KC-03-125x30.step +KC03125-30MCA,03,125,30,M,CA,KC-03-125x30.step +KC03125-30MCB,03,125,30,M,CB,KC-03-125x30.step +KC03125-30MLB,03,125,30,M,LB,KC-03-125x30.step +KC03125-30MYB,03,125,30,M,YB,KC-03-125x30.step +KC03125-50,03,125,50,,,KC-03-125x50.step +KC03125-50FA,03,125,50,,FA,KC-03-125x50.step +KC03125-50FB,03,125,50,,FB,KC-03-125x50.step +KC03125-50CA,03,125,50,,CA,KC-03-125x50.step +KC03125-50CB,03,125,50,,CB,KC-03-125x50.step +KC03125-50LB,03,125,50,,LB,KC-03-125x50.step +KC03125-50YB,03,125,50,,YB,KC-03-125x50.step +KC03125-50M,03,125,50,M,,KC-03-125x50.step +KC03125-50MFA,03,125,50,M,FA,KC-03-125x50.step +KC03125-50MFB,03,125,50,M,FB,KC-03-125x50.step +KC03125-50MCA,03,125,50,M,CA,KC-03-125x50.step +KC03125-50MCB,03,125,50,M,CB,KC-03-125x50.step +KC03125-50MLB,03,125,50,M,LB,KC-03-125x50.step +KC03125-50MYB,03,125,50,M,YB,KC-03-125x50.step +KC03125-75,03,125,75,,,KC-03-125x75.step +KC03125-75FA,03,125,75,,FA,KC-03-125x75.step +KC03125-75FB,03,125,75,,FB,KC-03-125x75.step +KC03125-75CA,03,125,75,,CA,KC-03-125x75.step +KC03125-75CB,03,125,75,,CB,KC-03-125x75.step +KC03125-75LB,03,125,75,,LB,KC-03-125x75.step +KC03125-75YB,03,125,75,,YB,KC-03-125x75.step +KC03125-75M,03,125,75,M,,KC-03-125x75.step +KC03125-75MFA,03,125,75,M,FA,KC-03-125x75.step +KC03125-75MFB,03,125,75,M,FB,KC-03-125x75.step +KC03125-75MCA,03,125,75,M,CA,KC-03-125x75.step +KC03125-75MCB,03,125,75,M,CB,KC-03-125x75.step +KC03125-75MLB,03,125,75,M,LB,KC-03-125x75.step +KC03125-75MYB,03,125,75,M,YB,KC-03-125x75.step +KC03125-100,03,125,100,,,KC-03-125x100.step +KC03125-100FA,03,125,100,,FA,KC-03-125x100.step +KC03125-100FB,03,125,100,,FB,KC-03-125x100.step +KC03125-100CA,03,125,100,,CA,KC-03-125x100.step +KC03125-100CB,03,125,100,,CB,KC-03-125x100.step +KC03125-100LB,03,125,100,,LB,KC-03-125x100.step +KC03125-100YB,03,125,100,,YB,KC-03-125x100.step +KC03125-100M,03,125,100,M,,KC-03-125x100.step +KC03125-100MFA,03,125,100,M,FA,KC-03-125x100.step +KC03125-100MFB,03,125,100,M,FB,KC-03-125x100.step +KC03125-100MCA,03,125,100,M,CA,KC-03-125x100.step +KC03125-100MCB,03,125,100,M,CB,KC-03-125x100.step +KC03125-100MLB,03,125,100,M,LB,KC-03-125x100.step +KC03125-100MYB,03,125,100,M,YB,KC-03-125x100.step +KC03160-10,03,160,10,,,KC-03-160x10.step +KC03160-10FA,03,160,10,,FA,KC-03-160x10.step +KC03160-10FB,03,160,10,,FB,KC-03-160x10.step +KC03160-10CA,03,160,10,,CA,KC-03-160x10.step +KC03160-10CB,03,160,10,,CB,KC-03-160x10.step +KC03160-10LB,03,160,10,,LB,KC-03-160x10.step +KC03160-10M,03,160,10,M,,KC-03-160x10.step +KC03160-10MFA,03,160,10,M,FA,KC-03-160x10.step +KC03160-10MFB,03,160,10,M,FB,KC-03-160x10.step +KC03160-10MCA,03,160,10,M,CA,KC-03-160x10.step +KC03160-10MCB,03,160,10,M,CB,KC-03-160x10.step +KC03160-10MLB,03,160,10,M,LB,KC-03-160x10.step +KC03160-20,03,160,20,,,KC-03-160x20.step +KC03160-20FA,03,160,20,,FA,KC-03-160x20.step +KC03160-20FB,03,160,20,,FB,KC-03-160x20.step +KC03160-20CA,03,160,20,,CA,KC-03-160x20.step +KC03160-20CB,03,160,20,,CB,KC-03-160x20.step +KC03160-20LB,03,160,20,,LB,KC-03-160x20.step +KC03160-20M,03,160,20,M,,KC-03-160x20.step +KC03160-20MFA,03,160,20,M,FA,KC-03-160x20.step +KC03160-20MFB,03,160,20,M,FB,KC-03-160x20.step +KC03160-20MCA,03,160,20,M,CA,KC-03-160x20.step +KC03160-20MCB,03,160,20,M,CB,KC-03-160x20.step +KC03160-20MLB,03,160,20,M,LB,KC-03-160x20.step +KC03160-30,03,160,30,,,KC-03-160x30.step +KC03160-30FA,03,160,30,,FA,KC-03-160x30.step +KC03160-30FB,03,160,30,,FB,KC-03-160x30.step +KC03160-30CA,03,160,30,,CA,KC-03-160x30.step +KC03160-30CB,03,160,30,,CB,KC-03-160x30.step +KC03160-30LB,03,160,30,,LB,KC-03-160x30.step +KC03160-30M,03,160,30,M,,KC-03-160x30.step +KC03160-30MFA,03,160,30,M,FA,KC-03-160x30.step +KC03160-30MFB,03,160,30,M,FB,KC-03-160x30.step +KC03160-30MCA,03,160,30,M,CA,KC-03-160x30.step +KC03160-30MCB,03,160,30,M,CB,KC-03-160x30.step +KC03160-30MLB,03,160,30,M,LB,KC-03-160x30.step +KC03160-50,03,160,50,,,KC-03-160x50.step +KC03160-50FA,03,160,50,,FA,KC-03-160x50.step +KC03160-50FB,03,160,50,,FB,KC-03-160x50.step +KC03160-50CA,03,160,50,,CA,KC-03-160x50.step +KC03160-50CB,03,160,50,,CB,KC-03-160x50.step +KC03160-50LB,03,160,50,,LB,KC-03-160x50.step +KC03160-50M,03,160,50,M,,KC-03-160x50.step +KC03160-50MFA,03,160,50,M,FA,KC-03-160x50.step +KC03160-50MFB,03,160,50,M,FB,KC-03-160x50.step +KC03160-50MCA,03,160,50,M,CA,KC-03-160x50.step +KC03160-50MCB,03,160,50,M,CB,KC-03-160x50.step +KC03160-50MLB,03,160,50,M,LB,KC-03-160x50.step +KC03160-75,03,160,75,,,KC-03-160x75.step +KC03160-75FA,03,160,75,,FA,KC-03-160x75.step +KC03160-75FB,03,160,75,,FB,KC-03-160x75.step +KC03160-75CA,03,160,75,,CA,KC-03-160x75.step +KC03160-75CB,03,160,75,,CB,KC-03-160x75.step +KC03160-75LB,03,160,75,,LB,KC-03-160x75.step +KC03160-75M,03,160,75,M,,KC-03-160x75.step +KC03160-75MFA,03,160,75,M,FA,KC-03-160x75.step +KC03160-75MFB,03,160,75,M,FB,KC-03-160x75.step +KC03160-75MCA,03,160,75,M,CA,KC-03-160x75.step +KC03160-75MCB,03,160,75,M,CB,KC-03-160x75.step +KC03160-75MLB,03,160,75,M,LB,KC-03-160x75.step +KC03160-100,03,160,100,,,KC-03-160x100.step +KC03160-100FA,03,160,100,,FA,KC-03-160x100.step +KC03160-100FB,03,160,100,,FB,KC-03-160x100.step +KC03160-100CA,03,160,100,,CA,KC-03-160x100.step +KC03160-100CB,03,160,100,,CB,KC-03-160x100.step +KC03160-100LB,03,160,100,,LB,KC-03-160x100.step +KC03160-100M,03,160,100,M,,KC-03-160x100.step +KC03160-100MFA,03,160,100,M,FA,KC-03-160x100.step +KC03160-100MFB,03,160,100,M,FB,KC-03-160x100.step +KC03160-100MCA,03,160,100,M,CA,KC-03-160x100.step +KC03160-100MCB,03,160,100,M,CB,KC-03-160x100.step +KC03160-100MLB,03,160,100,M,LB,KC-03-160x100.step +KC03200-10,03,200,10,,,KC-03-200x10.step +KC03200-10FA,03,200,10,,FA,KC-03-200x10.step +KC03200-10FB,03,200,10,,FB,KC-03-200x10.step +KC03200-10CA,03,200,10,,CA,KC-03-200x10.step +KC03200-10CB,03,200,10,,CB,KC-03-200x10.step +KC03200-10LB,03,200,10,,LB,KC-03-200x10.step +KC03200-10M,03,200,10,M,,KC-03-200x10.step +KC03200-10MFA,03,200,10,M,FA,KC-03-200x10.step +KC03200-10MFB,03,200,10,M,FB,KC-03-200x10.step +KC03200-10MCA,03,200,10,M,CA,KC-03-200x10.step +KC03200-10MCB,03,200,10,M,CB,KC-03-200x10.step +KC03200-10MLB,03,200,10,M,LB,KC-03-200x10.step +KC03200-20,03,200,20,,,KC-03-200x20.step +KC03200-20FA,03,200,20,,FA,KC-03-200x20.step +KC03200-20FB,03,200,20,,FB,KC-03-200x20.step +KC03200-20CA,03,200,20,,CA,KC-03-200x20.step +KC03200-20CB,03,200,20,,CB,KC-03-200x20.step +KC03200-20LB,03,200,20,,LB,KC-03-200x20.step +KC03200-20M,03,200,20,M,,KC-03-200x20.step +KC03200-20MFA,03,200,20,M,FA,KC-03-200x20.step +KC03200-20MFB,03,200,20,M,FB,KC-03-200x20.step +KC03200-20MCA,03,200,20,M,CA,KC-03-200x20.step +KC03200-20MCB,03,200,20,M,CB,KC-03-200x20.step +KC03200-20MLB,03,200,20,M,LB,KC-03-200x20.step +KC03200-30,03,200,30,,,KC-03-200x30.step +KC03200-30FA,03,200,30,,FA,KC-03-200x30.step +KC03200-30FB,03,200,30,,FB,KC-03-200x30.step +KC03200-30CA,03,200,30,,CA,KC-03-200x30.step +KC03200-30CB,03,200,30,,CB,KC-03-200x30.step +KC03200-30LB,03,200,30,,LB,KC-03-200x30.step +KC03200-30M,03,200,30,M,,KC-03-200x30.step +KC03200-30MFA,03,200,30,M,FA,KC-03-200x30.step +KC03200-30MFB,03,200,30,M,FB,KC-03-200x30.step +KC03200-30MCA,03,200,30,M,CA,KC-03-200x30.step +KC03200-30MCB,03,200,30,M,CB,KC-03-200x30.step +KC03200-30MLB,03,200,30,M,LB,KC-03-200x30.step +KC03200-50,03,200,50,,,KC-03-200x50.step +KC03200-50FA,03,200,50,,FA,KC-03-200x50.step +KC03200-50FB,03,200,50,,FB,KC-03-200x50.step +KC03200-50CA,03,200,50,,CA,KC-03-200x50.step +KC03200-50CB,03,200,50,,CB,KC-03-200x50.step +KC03200-50LB,03,200,50,,LB,KC-03-200x50.step +KC03200-50M,03,200,50,M,,KC-03-200x50.step +KC03200-50MFA,03,200,50,M,FA,KC-03-200x50.step +KC03200-50MFB,03,200,50,M,FB,KC-03-200x50.step +KC03200-50MCA,03,200,50,M,CA,KC-03-200x50.step +KC03200-50MCB,03,200,50,M,CB,KC-03-200x50.step +KC03200-50MLB,03,200,50,M,LB,KC-03-200x50.step +KC03200-75,03,200,75,,,KC-03-200x75.step +KC03200-75FA,03,200,75,,FA,KC-03-200x75.step +KC03200-75FB,03,200,75,,FB,KC-03-200x75.step +KC03200-75CA,03,200,75,,CA,KC-03-200x75.step +KC03200-75CB,03,200,75,,CB,KC-03-200x75.step +KC03200-75LB,03,200,75,,LB,KC-03-200x75.step +KC03200-75M,03,200,75,M,,KC-03-200x75.step +KC03200-75MFA,03,200,75,M,FA,KC-03-200x75.step +KC03200-75MFB,03,200,75,M,FB,KC-03-200x75.step +KC03200-75MCA,03,200,75,M,CA,KC-03-200x75.step +KC03200-75MCB,03,200,75,M,CB,KC-03-200x75.step +KC03200-75MLB,03,200,75,M,LB,KC-03-200x75.step +KC03200-100,03,200,100,,,KC-03-200x100.step +KC03200-100FA,03,200,100,,FA,KC-03-200x100.step +KC03200-100FB,03,200,100,,FB,KC-03-200x100.step +KC03200-100CA,03,200,100,,CA,KC-03-200x100.step +KC03200-100CB,03,200,100,,CB,KC-03-200x100.step +KC03200-100LB,03,200,100,,LB,KC-03-200x100.step +KC03200-100M,03,200,100,M,,KC-03-200x100.step +KC03200-100MFA,03,200,100,M,FA,KC-03-200x100.step +KC03200-100MFB,03,200,100,M,FB,KC-03-200x100.step +KC03200-100MCA,03,200,100,M,CA,KC-03-200x100.step +KC03200-100MCB,03,200,100,M,CB,KC-03-200x100.step +KC03200-100MLB,03,200,100,M,LB,KC-03-200x100.step +KC03250-10,03,250,10,,,KC-03-250x10.step +KC03250-10FA,03,250,10,,FA,KC-03-250x10.step +KC03250-10FB,03,250,10,,FB,KC-03-250x10.step +KC03250-10CA,03,250,10,,CA,KC-03-250x10.step +KC03250-10CB,03,250,10,,CB,KC-03-250x10.step +KC03250-10LB,03,250,10,,LB,KC-03-250x10.step +KC03250-10M,03,250,10,M,,KC-03-250x10.step +KC03250-10MFA,03,250,10,M,FA,KC-03-250x10.step +KC03250-10MFB,03,250,10,M,FB,KC-03-250x10.step +KC03250-10MCA,03,250,10,M,CA,KC-03-250x10.step +KC03250-10MCB,03,250,10,M,CB,KC-03-250x10.step +KC03250-10MLB,03,250,10,M,LB,KC-03-250x10.step +KC03250-20,03,250,20,,,KC-03-250x20.step +KC03250-20FA,03,250,20,,FA,KC-03-250x20.step +KC03250-20FB,03,250,20,,FB,KC-03-250x20.step +KC03250-20CA,03,250,20,,CA,KC-03-250x20.step +KC03250-20CB,03,250,20,,CB,KC-03-250x20.step +KC03250-20LB,03,250,20,,LB,KC-03-250x20.step +KC03250-20M,03,250,20,M,,KC-03-250x20.step +KC03250-20MFA,03,250,20,M,FA,KC-03-250x20.step +KC03250-20MFB,03,250,20,M,FB,KC-03-250x20.step +KC03250-20MCA,03,250,20,M,CA,KC-03-250x20.step +KC03250-20MCB,03,250,20,M,CB,KC-03-250x20.step +KC03250-20MLB,03,250,20,M,LB,KC-03-250x20.step +KC03250-30,03,250,30,,,KC-03-250x30.step +KC03250-30FA,03,250,30,,FA,KC-03-250x30.step +KC03250-30FB,03,250,30,,FB,KC-03-250x30.step +KC03250-30CA,03,250,30,,CA,KC-03-250x30.step +KC03250-30CB,03,250,30,,CB,KC-03-250x30.step +KC03250-30LB,03,250,30,,LB,KC-03-250x30.step +KC03250-30M,03,250,30,M,,KC-03-250x30.step +KC03250-30MFA,03,250,30,M,FA,KC-03-250x30.step +KC03250-30MFB,03,250,30,M,FB,KC-03-250x30.step +KC03250-30MCA,03,250,30,M,CA,KC-03-250x30.step +KC03250-30MCB,03,250,30,M,CB,KC-03-250x30.step +KC03250-30MLB,03,250,30,M,LB,KC-03-250x30.step +KC03250-50,03,250,50,,,KC-03-250x50.step +KC03250-50FA,03,250,50,,FA,KC-03-250x50.step +KC03250-50FB,03,250,50,,FB,KC-03-250x50.step +KC03250-50CA,03,250,50,,CA,KC-03-250x50.step +KC03250-50CB,03,250,50,,CB,KC-03-250x50.step +KC03250-50LB,03,250,50,,LB,KC-03-250x50.step +KC03250-50M,03,250,50,M,,KC-03-250x50.step +KC03250-50MFA,03,250,50,M,FA,KC-03-250x50.step +KC03250-50MFB,03,250,50,M,FB,KC-03-250x50.step +KC03250-50MCA,03,250,50,M,CA,KC-03-250x50.step +KC03250-50MCB,03,250,50,M,CB,KC-03-250x50.step +KC03250-50MLB,03,250,50,M,LB,KC-03-250x50.step +KC03250-75,03,250,75,,,KC-03-250x75.step +KC03250-75FA,03,250,75,,FA,KC-03-250x75.step +KC03250-75FB,03,250,75,,FB,KC-03-250x75.step +KC03250-75CA,03,250,75,,CA,KC-03-250x75.step +KC03250-75CB,03,250,75,,CB,KC-03-250x75.step +KC03250-75LB,03,250,75,,LB,KC-03-250x75.step +KC03250-75M,03,250,75,M,,KC-03-250x75.step +KC03250-75MFA,03,250,75,M,FA,KC-03-250x75.step +KC03250-75MFB,03,250,75,M,FB,KC-03-250x75.step +KC03250-75MCA,03,250,75,M,CA,KC-03-250x75.step +KC03250-75MCB,03,250,75,M,CB,KC-03-250x75.step +KC03250-75MLB,03,250,75,M,LB,KC-03-250x75.step +KC03250-100,03,250,100,,,KC-03-250x100.step +KC03250-100FA,03,250,100,,FA,KC-03-250x100.step +KC03250-100FB,03,250,100,,FB,KC-03-250x100.step +KC03250-100CA,03,250,100,,CA,KC-03-250x100.step +KC03250-100CB,03,250,100,,CB,KC-03-250x100.step +KC03250-100LB,03,250,100,,LB,KC-03-250x100.step +KC03250-100M,03,250,100,M,,KC-03-250x100.step +KC03250-100MFA,03,250,100,M,FA,KC-03-250x100.step +KC03250-100MFB,03,250,100,M,FB,KC-03-250x100.step +KC03250-100MCA,03,250,100,M,CA,KC-03-250x100.step +KC03250-100MCB,03,250,100,M,CB,KC-03-250x100.step +KC03250-100MLB,03,250,100,M,LB,KC-03-250x100.step +KC03320-10,03,320,10,,,KC-03-320x10.step +KC03320-10FA,03,320,10,,FA,KC-03-320x10.step +KC03320-10FB,03,320,10,,FB,KC-03-320x10.step +KC03320-10CA,03,320,10,,CA,KC-03-320x10.step +KC03320-10CB,03,320,10,,CB,KC-03-320x10.step +KC03320-10LB,03,320,10,,LB,KC-03-320x10.step +KC03320-10M,03,320,10,M,,KC-03-320x10.step +KC03320-10MFA,03,320,10,M,FA,KC-03-320x10.step +KC03320-10MFB,03,320,10,M,FB,KC-03-320x10.step +KC03320-10MCA,03,320,10,M,CA,KC-03-320x10.step +KC03320-10MCB,03,320,10,M,CB,KC-03-320x10.step +KC03320-10MLB,03,320,10,M,LB,KC-03-320x10.step +KC03320-20,03,320,20,,,KC-03-320x20.step +KC03320-20FA,03,320,20,,FA,KC-03-320x20.step +KC03320-20FB,03,320,20,,FB,KC-03-320x20.step +KC03320-20CA,03,320,20,,CA,KC-03-320x20.step +KC03320-20CB,03,320,20,,CB,KC-03-320x20.step +KC03320-20LB,03,320,20,,LB,KC-03-320x20.step +KC03320-20M,03,320,20,M,,KC-03-320x20.step +KC03320-20MFA,03,320,20,M,FA,KC-03-320x20.step +KC03320-20MFB,03,320,20,M,FB,KC-03-320x20.step +KC03320-20MCA,03,320,20,M,CA,KC-03-320x20.step +KC03320-20MCB,03,320,20,M,CB,KC-03-320x20.step +KC03320-20MLB,03,320,20,M,LB,KC-03-320x20.step +KC03320-30,03,320,30,,,KC-03-320x30.step +KC03320-30FA,03,320,30,,FA,KC-03-320x30.step +KC03320-30FB,03,320,30,,FB,KC-03-320x30.step +KC03320-30CA,03,320,30,,CA,KC-03-320x30.step +KC03320-30CB,03,320,30,,CB,KC-03-320x30.step +KC03320-30LB,03,320,30,,LB,KC-03-320x30.step +KC03320-30M,03,320,30,M,,KC-03-320x30.step +KC03320-30MFA,03,320,30,M,FA,KC-03-320x30.step +KC03320-30MFB,03,320,30,M,FB,KC-03-320x30.step +KC03320-30MCA,03,320,30,M,CA,KC-03-320x30.step +KC03320-30MCB,03,320,30,M,CB,KC-03-320x30.step +KC03320-30MLB,03,320,30,M,LB,KC-03-320x30.step +KC03320-50,03,320,50,,,KC-03-320x50.step +KC03320-50FA,03,320,50,,FA,KC-03-320x50.step +KC03320-50FB,03,320,50,,FB,KC-03-320x50.step +KC03320-50CA,03,320,50,,CA,KC-03-320x50.step +KC03320-50CB,03,320,50,,CB,KC-03-320x50.step +KC03320-50LB,03,320,50,,LB,KC-03-320x50.step +KC03320-50M,03,320,50,M,,KC-03-320x50.step +KC03320-50MFA,03,320,50,M,FA,KC-03-320x50.step +KC03320-50MFB,03,320,50,M,FB,KC-03-320x50.step +KC03320-50MCA,03,320,50,M,CA,KC-03-320x50.step +KC03320-50MCB,03,320,50,M,CB,KC-03-320x50.step +KC03320-50MLB,03,320,50,M,LB,KC-03-320x50.step +KC03320-75,03,320,75,,,KC-03-320x75.step +KC03320-75FA,03,320,75,,FA,KC-03-320x75.step +KC03320-75FB,03,320,75,,FB,KC-03-320x75.step +KC03320-75CA,03,320,75,,CA,KC-03-320x75.step +KC03320-75CB,03,320,75,,CB,KC-03-320x75.step +KC03320-75LB,03,320,75,,LB,KC-03-320x75.step +KC03320-75M,03,320,75,M,,KC-03-320x75.step +KC03320-75MFA,03,320,75,M,FA,KC-03-320x75.step +KC03320-75MFB,03,320,75,M,FB,KC-03-320x75.step +KC03320-75MCA,03,320,75,M,CA,KC-03-320x75.step +KC03320-75MCB,03,320,75,M,CB,KC-03-320x75.step +KC03320-75MLB,03,320,75,M,LB,KC-03-320x75.step +KC03320-100,03,320,100,,,KC-03-320x100.step +KC03320-100FA,03,320,100,,FA,KC-03-320x100.step +KC03320-100FB,03,320,100,,FB,KC-03-320x100.step +KC03320-100CA,03,320,100,,CA,KC-03-320x100.step +KC03320-100CB,03,320,100,,CB,KC-03-320x100.step +KC03320-100LB,03,320,100,,LB,KC-03-320x100.step +KC03320-100M,03,320,100,M,,KC-03-320x100.step +KC03320-100MFA,03,320,100,M,FA,KC-03-320x100.step +KC03320-100MFB,03,320,100,M,FB,KC-03-320x100.step +KC03320-100MCA,03,320,100,M,CA,KC-03-320x100.step +KC03320-100MCB,03,320,100,M,CB,KC-03-320x100.step +KC03320-100MLB,03,320,100,M,LB,KC-03-320x100.step diff --git a/onebot-data/catalog/csv/KCB.csv b/onebot-data/catalog/csv/KCB.csv new file mode 100644 index 0000000..5b33a42 --- /dev/null +++ b/onebot-data/catalog/csv/KCB.csv @@ -0,0 +1,589 @@ +model_code,bore,stroke,magnet,mount,step_file +KCB32-10,32,10,,,KCB--32x10.step +KCB32-10FA,32,10,,FA,KCB--32x10.step +KCB32-10FB,32,10,,FB,KCB--32x10.step +KCB32-10CA,32,10,,CA,KCB--32x10.step +KCB32-10CB,32,10,,CB,KCB--32x10.step +KCB32-10LB,32,10,,LB,KCB--32x10.step +KCB32-10YB,32,10,,YB,KCB--32x10.step +KCB32-10M,32,10,M,,KCB--32x10.step +KCB32-10MFA,32,10,M,FA,KCB--32x10.step +KCB32-10MFB,32,10,M,FB,KCB--32x10.step +KCB32-10MCA,32,10,M,CA,KCB--32x10.step +KCB32-10MCB,32,10,M,CB,KCB--32x10.step +KCB32-10MLB,32,10,M,LB,KCB--32x10.step +KCB32-10MYB,32,10,M,YB,KCB--32x10.step +KCB32-20,32,20,,,KCB--32x20.step +KCB32-20FA,32,20,,FA,KCB--32x20.step +KCB32-20FB,32,20,,FB,KCB--32x20.step +KCB32-20CA,32,20,,CA,KCB--32x20.step +KCB32-20CB,32,20,,CB,KCB--32x20.step +KCB32-20LB,32,20,,LB,KCB--32x20.step +KCB32-20YB,32,20,,YB,KCB--32x20.step +KCB32-20M,32,20,M,,KCB--32x20.step +KCB32-20MFA,32,20,M,FA,KCB--32x20.step +KCB32-20MFB,32,20,M,FB,KCB--32x20.step +KCB32-20MCA,32,20,M,CA,KCB--32x20.step +KCB32-20MCB,32,20,M,CB,KCB--32x20.step +KCB32-20MLB,32,20,M,LB,KCB--32x20.step +KCB32-20MYB,32,20,M,YB,KCB--32x20.step +KCB32-30,32,30,,,KCB--32x30.step +KCB32-30FA,32,30,,FA,KCB--32x30.step +KCB32-30FB,32,30,,FB,KCB--32x30.step +KCB32-30CA,32,30,,CA,KCB--32x30.step +KCB32-30CB,32,30,,CB,KCB--32x30.step +KCB32-30LB,32,30,,LB,KCB--32x30.step +KCB32-30YB,32,30,,YB,KCB--32x30.step +KCB32-30M,32,30,M,,KCB--32x30.step +KCB32-30MFA,32,30,M,FA,KCB--32x30.step +KCB32-30MFB,32,30,M,FB,KCB--32x30.step +KCB32-30MCA,32,30,M,CA,KCB--32x30.step +KCB32-30MCB,32,30,M,CB,KCB--32x30.step +KCB32-30MLB,32,30,M,LB,KCB--32x30.step +KCB32-30MYB,32,30,M,YB,KCB--32x30.step +KCB32-50,32,50,,,KCB--32x50.step +KCB32-50FA,32,50,,FA,KCB--32x50.step +KCB32-50FB,32,50,,FB,KCB--32x50.step +KCB32-50CA,32,50,,CA,KCB--32x50.step +KCB32-50CB,32,50,,CB,KCB--32x50.step +KCB32-50LB,32,50,,LB,KCB--32x50.step +KCB32-50YB,32,50,,YB,KCB--32x50.step +KCB32-50M,32,50,M,,KCB--32x50.step +KCB32-50MFA,32,50,M,FA,KCB--32x50.step +KCB32-50MFB,32,50,M,FB,KCB--32x50.step +KCB32-50MCA,32,50,M,CA,KCB--32x50.step +KCB32-50MCB,32,50,M,CB,KCB--32x50.step +KCB32-50MLB,32,50,M,LB,KCB--32x50.step +KCB32-50MYB,32,50,M,YB,KCB--32x50.step +KCB32-75,32,75,,,KCB--32x75.step +KCB32-75FA,32,75,,FA,KCB--32x75.step +KCB32-75FB,32,75,,FB,KCB--32x75.step +KCB32-75CA,32,75,,CA,KCB--32x75.step +KCB32-75CB,32,75,,CB,KCB--32x75.step +KCB32-75LB,32,75,,LB,KCB--32x75.step +KCB32-75YB,32,75,,YB,KCB--32x75.step +KCB32-75M,32,75,M,,KCB--32x75.step +KCB32-75MFA,32,75,M,FA,KCB--32x75.step +KCB32-75MFB,32,75,M,FB,KCB--32x75.step +KCB32-75MCA,32,75,M,CA,KCB--32x75.step +KCB32-75MCB,32,75,M,CB,KCB--32x75.step +KCB32-75MLB,32,75,M,LB,KCB--32x75.step +KCB32-75MYB,32,75,M,YB,KCB--32x75.step +KCB32-100,32,100,,,KCB--32x100.step +KCB32-100FA,32,100,,FA,KCB--32x100.step +KCB32-100FB,32,100,,FB,KCB--32x100.step +KCB32-100CA,32,100,,CA,KCB--32x100.step +KCB32-100CB,32,100,,CB,KCB--32x100.step +KCB32-100LB,32,100,,LB,KCB--32x100.step +KCB32-100YB,32,100,,YB,KCB--32x100.step +KCB32-100M,32,100,M,,KCB--32x100.step +KCB32-100MFA,32,100,M,FA,KCB--32x100.step +KCB32-100MFB,32,100,M,FB,KCB--32x100.step +KCB32-100MCA,32,100,M,CA,KCB--32x100.step +KCB32-100MCB,32,100,M,CB,KCB--32x100.step +KCB32-100MLB,32,100,M,LB,KCB--32x100.step +KCB32-100MYB,32,100,M,YB,KCB--32x100.step +KCB40-10,40,10,,,KCB--40x10.step +KCB40-10FA,40,10,,FA,KCB--40x10.step +KCB40-10FB,40,10,,FB,KCB--40x10.step +KCB40-10CA,40,10,,CA,KCB--40x10.step +KCB40-10CB,40,10,,CB,KCB--40x10.step +KCB40-10LB,40,10,,LB,KCB--40x10.step +KCB40-10YB,40,10,,YB,KCB--40x10.step +KCB40-10M,40,10,M,,KCB--40x10.step +KCB40-10MFA,40,10,M,FA,KCB--40x10.step +KCB40-10MFB,40,10,M,FB,KCB--40x10.step +KCB40-10MCA,40,10,M,CA,KCB--40x10.step +KCB40-10MCB,40,10,M,CB,KCB--40x10.step +KCB40-10MLB,40,10,M,LB,KCB--40x10.step +KCB40-10MYB,40,10,M,YB,KCB--40x10.step +KCB40-20,40,20,,,KCB--40x20.step +KCB40-20FA,40,20,,FA,KCB--40x20.step +KCB40-20FB,40,20,,FB,KCB--40x20.step +KCB40-20CA,40,20,,CA,KCB--40x20.step +KCB40-20CB,40,20,,CB,KCB--40x20.step +KCB40-20LB,40,20,,LB,KCB--40x20.step +KCB40-20YB,40,20,,YB,KCB--40x20.step +KCB40-20M,40,20,M,,KCB--40x20.step +KCB40-20MFA,40,20,M,FA,KCB--40x20.step +KCB40-20MFB,40,20,M,FB,KCB--40x20.step +KCB40-20MCA,40,20,M,CA,KCB--40x20.step +KCB40-20MCB,40,20,M,CB,KCB--40x20.step +KCB40-20MLB,40,20,M,LB,KCB--40x20.step +KCB40-20MYB,40,20,M,YB,KCB--40x20.step +KCB40-30,40,30,,,KCB--40x30.step +KCB40-30FA,40,30,,FA,KCB--40x30.step +KCB40-30FB,40,30,,FB,KCB--40x30.step +KCB40-30CA,40,30,,CA,KCB--40x30.step +KCB40-30CB,40,30,,CB,KCB--40x30.step +KCB40-30LB,40,30,,LB,KCB--40x30.step +KCB40-30YB,40,30,,YB,KCB--40x30.step +KCB40-30M,40,30,M,,KCB--40x30.step +KCB40-30MFA,40,30,M,FA,KCB--40x30.step +KCB40-30MFB,40,30,M,FB,KCB--40x30.step +KCB40-30MCA,40,30,M,CA,KCB--40x30.step +KCB40-30MCB,40,30,M,CB,KCB--40x30.step +KCB40-30MLB,40,30,M,LB,KCB--40x30.step +KCB40-30MYB,40,30,M,YB,KCB--40x30.step +KCB40-50,40,50,,,KCB--40x50.step +KCB40-50FA,40,50,,FA,KCB--40x50.step +KCB40-50FB,40,50,,FB,KCB--40x50.step +KCB40-50CA,40,50,,CA,KCB--40x50.step +KCB40-50CB,40,50,,CB,KCB--40x50.step +KCB40-50LB,40,50,,LB,KCB--40x50.step +KCB40-50YB,40,50,,YB,KCB--40x50.step +KCB40-50M,40,50,M,,KCB--40x50.step +KCB40-50MFA,40,50,M,FA,KCB--40x50.step +KCB40-50MFB,40,50,M,FB,KCB--40x50.step +KCB40-50MCA,40,50,M,CA,KCB--40x50.step +KCB40-50MCB,40,50,M,CB,KCB--40x50.step +KCB40-50MLB,40,50,M,LB,KCB--40x50.step +KCB40-50MYB,40,50,M,YB,KCB--40x50.step +KCB40-75,40,75,,,KCB--40x75.step +KCB40-75FA,40,75,,FA,KCB--40x75.step +KCB40-75FB,40,75,,FB,KCB--40x75.step +KCB40-75CA,40,75,,CA,KCB--40x75.step +KCB40-75CB,40,75,,CB,KCB--40x75.step +KCB40-75LB,40,75,,LB,KCB--40x75.step +KCB40-75YB,40,75,,YB,KCB--40x75.step +KCB40-75M,40,75,M,,KCB--40x75.step +KCB40-75MFA,40,75,M,FA,KCB--40x75.step +KCB40-75MFB,40,75,M,FB,KCB--40x75.step +KCB40-75MCA,40,75,M,CA,KCB--40x75.step +KCB40-75MCB,40,75,M,CB,KCB--40x75.step +KCB40-75MLB,40,75,M,LB,KCB--40x75.step +KCB40-75MYB,40,75,M,YB,KCB--40x75.step +KCB40-100,40,100,,,KCB--40x100.step +KCB40-100FA,40,100,,FA,KCB--40x100.step +KCB40-100FB,40,100,,FB,KCB--40x100.step +KCB40-100CA,40,100,,CA,KCB--40x100.step +KCB40-100CB,40,100,,CB,KCB--40x100.step +KCB40-100LB,40,100,,LB,KCB--40x100.step +KCB40-100YB,40,100,,YB,KCB--40x100.step +KCB40-100M,40,100,M,,KCB--40x100.step +KCB40-100MFA,40,100,M,FA,KCB--40x100.step +KCB40-100MFB,40,100,M,FB,KCB--40x100.step +KCB40-100MCA,40,100,M,CA,KCB--40x100.step +KCB40-100MCB,40,100,M,CB,KCB--40x100.step +KCB40-100MLB,40,100,M,LB,KCB--40x100.step +KCB40-100MYB,40,100,M,YB,KCB--40x100.step +KCB50-10,50,10,,,KCB--50x10.step +KCB50-10FA,50,10,,FA,KCB--50x10.step +KCB50-10FB,50,10,,FB,KCB--50x10.step +KCB50-10CA,50,10,,CA,KCB--50x10.step +KCB50-10CB,50,10,,CB,KCB--50x10.step +KCB50-10LB,50,10,,LB,KCB--50x10.step +KCB50-10YB,50,10,,YB,KCB--50x10.step +KCB50-10M,50,10,M,,KCB--50x10.step +KCB50-10MFA,50,10,M,FA,KCB--50x10.step +KCB50-10MFB,50,10,M,FB,KCB--50x10.step +KCB50-10MCA,50,10,M,CA,KCB--50x10.step +KCB50-10MCB,50,10,M,CB,KCB--50x10.step +KCB50-10MLB,50,10,M,LB,KCB--50x10.step +KCB50-10MYB,50,10,M,YB,KCB--50x10.step +KCB50-20,50,20,,,KCB--50x20.step +KCB50-20FA,50,20,,FA,KCB--50x20.step +KCB50-20FB,50,20,,FB,KCB--50x20.step +KCB50-20CA,50,20,,CA,KCB--50x20.step +KCB50-20CB,50,20,,CB,KCB--50x20.step +KCB50-20LB,50,20,,LB,KCB--50x20.step +KCB50-20YB,50,20,,YB,KCB--50x20.step +KCB50-20M,50,20,M,,KCB--50x20.step +KCB50-20MFA,50,20,M,FA,KCB--50x20.step +KCB50-20MFB,50,20,M,FB,KCB--50x20.step +KCB50-20MCA,50,20,M,CA,KCB--50x20.step +KCB50-20MCB,50,20,M,CB,KCB--50x20.step +KCB50-20MLB,50,20,M,LB,KCB--50x20.step +KCB50-20MYB,50,20,M,YB,KCB--50x20.step +KCB50-30,50,30,,,KCB--50x30.step +KCB50-30FA,50,30,,FA,KCB--50x30.step +KCB50-30FB,50,30,,FB,KCB--50x30.step +KCB50-30CA,50,30,,CA,KCB--50x30.step +KCB50-30CB,50,30,,CB,KCB--50x30.step +KCB50-30LB,50,30,,LB,KCB--50x30.step +KCB50-30YB,50,30,,YB,KCB--50x30.step +KCB50-30M,50,30,M,,KCB--50x30.step +KCB50-30MFA,50,30,M,FA,KCB--50x30.step +KCB50-30MFB,50,30,M,FB,KCB--50x30.step +KCB50-30MCA,50,30,M,CA,KCB--50x30.step +KCB50-30MCB,50,30,M,CB,KCB--50x30.step +KCB50-30MLB,50,30,M,LB,KCB--50x30.step +KCB50-30MYB,50,30,M,YB,KCB--50x30.step +KCB50-50,50,50,,,KCB--50x50.step +KCB50-50FA,50,50,,FA,KCB--50x50.step +KCB50-50FB,50,50,,FB,KCB--50x50.step +KCB50-50CA,50,50,,CA,KCB--50x50.step +KCB50-50CB,50,50,,CB,KCB--50x50.step +KCB50-50LB,50,50,,LB,KCB--50x50.step +KCB50-50YB,50,50,,YB,KCB--50x50.step +KCB50-50M,50,50,M,,KCB--50x50.step +KCB50-50MFA,50,50,M,FA,KCB--50x50.step +KCB50-50MFB,50,50,M,FB,KCB--50x50.step +KCB50-50MCA,50,50,M,CA,KCB--50x50.step +KCB50-50MCB,50,50,M,CB,KCB--50x50.step +KCB50-50MLB,50,50,M,LB,KCB--50x50.step +KCB50-50MYB,50,50,M,YB,KCB--50x50.step +KCB50-75,50,75,,,KCB--50x75.step +KCB50-75FA,50,75,,FA,KCB--50x75.step +KCB50-75FB,50,75,,FB,KCB--50x75.step +KCB50-75CA,50,75,,CA,KCB--50x75.step +KCB50-75CB,50,75,,CB,KCB--50x75.step +KCB50-75LB,50,75,,LB,KCB--50x75.step +KCB50-75YB,50,75,,YB,KCB--50x75.step +KCB50-75M,50,75,M,,KCB--50x75.step +KCB50-75MFA,50,75,M,FA,KCB--50x75.step +KCB50-75MFB,50,75,M,FB,KCB--50x75.step +KCB50-75MCA,50,75,M,CA,KCB--50x75.step +KCB50-75MCB,50,75,M,CB,KCB--50x75.step +KCB50-75MLB,50,75,M,LB,KCB--50x75.step +KCB50-75MYB,50,75,M,YB,KCB--50x75.step +KCB50-100,50,100,,,KCB--50x100.step +KCB50-100FA,50,100,,FA,KCB--50x100.step +KCB50-100FB,50,100,,FB,KCB--50x100.step +KCB50-100CA,50,100,,CA,KCB--50x100.step +KCB50-100CB,50,100,,CB,KCB--50x100.step +KCB50-100LB,50,100,,LB,KCB--50x100.step +KCB50-100YB,50,100,,YB,KCB--50x100.step +KCB50-100M,50,100,M,,KCB--50x100.step +KCB50-100MFA,50,100,M,FA,KCB--50x100.step +KCB50-100MFB,50,100,M,FB,KCB--50x100.step +KCB50-100MCA,50,100,M,CA,KCB--50x100.step +KCB50-100MCB,50,100,M,CB,KCB--50x100.step +KCB50-100MLB,50,100,M,LB,KCB--50x100.step +KCB50-100MYB,50,100,M,YB,KCB--50x100.step +KCB63-10,63,10,,,KCB--63x10.step +KCB63-10FA,63,10,,FA,KCB--63x10.step +KCB63-10FB,63,10,,FB,KCB--63x10.step +KCB63-10CA,63,10,,CA,KCB--63x10.step +KCB63-10CB,63,10,,CB,KCB--63x10.step +KCB63-10LB,63,10,,LB,KCB--63x10.step +KCB63-10YB,63,10,,YB,KCB--63x10.step +KCB63-10M,63,10,M,,KCB--63x10.step +KCB63-10MFA,63,10,M,FA,KCB--63x10.step +KCB63-10MFB,63,10,M,FB,KCB--63x10.step +KCB63-10MCA,63,10,M,CA,KCB--63x10.step +KCB63-10MCB,63,10,M,CB,KCB--63x10.step +KCB63-10MLB,63,10,M,LB,KCB--63x10.step +KCB63-10MYB,63,10,M,YB,KCB--63x10.step +KCB63-20,63,20,,,KCB--63x20.step +KCB63-20FA,63,20,,FA,KCB--63x20.step +KCB63-20FB,63,20,,FB,KCB--63x20.step +KCB63-20CA,63,20,,CA,KCB--63x20.step +KCB63-20CB,63,20,,CB,KCB--63x20.step +KCB63-20LB,63,20,,LB,KCB--63x20.step +KCB63-20YB,63,20,,YB,KCB--63x20.step +KCB63-20M,63,20,M,,KCB--63x20.step +KCB63-20MFA,63,20,M,FA,KCB--63x20.step +KCB63-20MFB,63,20,M,FB,KCB--63x20.step +KCB63-20MCA,63,20,M,CA,KCB--63x20.step +KCB63-20MCB,63,20,M,CB,KCB--63x20.step +KCB63-20MLB,63,20,M,LB,KCB--63x20.step +KCB63-20MYB,63,20,M,YB,KCB--63x20.step +KCB63-30,63,30,,,KCB--63x30.step +KCB63-30FA,63,30,,FA,KCB--63x30.step +KCB63-30FB,63,30,,FB,KCB--63x30.step +KCB63-30CA,63,30,,CA,KCB--63x30.step +KCB63-30CB,63,30,,CB,KCB--63x30.step +KCB63-30LB,63,30,,LB,KCB--63x30.step +KCB63-30YB,63,30,,YB,KCB--63x30.step +KCB63-30M,63,30,M,,KCB--63x30.step +KCB63-30MFA,63,30,M,FA,KCB--63x30.step +KCB63-30MFB,63,30,M,FB,KCB--63x30.step +KCB63-30MCA,63,30,M,CA,KCB--63x30.step +KCB63-30MCB,63,30,M,CB,KCB--63x30.step +KCB63-30MLB,63,30,M,LB,KCB--63x30.step +KCB63-30MYB,63,30,M,YB,KCB--63x30.step +KCB63-50,63,50,,,KCB--63x50.step +KCB63-50FA,63,50,,FA,KCB--63x50.step +KCB63-50FB,63,50,,FB,KCB--63x50.step +KCB63-50CA,63,50,,CA,KCB--63x50.step +KCB63-50CB,63,50,,CB,KCB--63x50.step +KCB63-50LB,63,50,,LB,KCB--63x50.step +KCB63-50YB,63,50,,YB,KCB--63x50.step +KCB63-50M,63,50,M,,KCB--63x50.step +KCB63-50MFA,63,50,M,FA,KCB--63x50.step +KCB63-50MFB,63,50,M,FB,KCB--63x50.step +KCB63-50MCA,63,50,M,CA,KCB--63x50.step +KCB63-50MCB,63,50,M,CB,KCB--63x50.step +KCB63-50MLB,63,50,M,LB,KCB--63x50.step +KCB63-50MYB,63,50,M,YB,KCB--63x50.step +KCB63-75,63,75,,,KCB--63x75.step +KCB63-75FA,63,75,,FA,KCB--63x75.step +KCB63-75FB,63,75,,FB,KCB--63x75.step +KCB63-75CA,63,75,,CA,KCB--63x75.step +KCB63-75CB,63,75,,CB,KCB--63x75.step +KCB63-75LB,63,75,,LB,KCB--63x75.step +KCB63-75YB,63,75,,YB,KCB--63x75.step +KCB63-75M,63,75,M,,KCB--63x75.step +KCB63-75MFA,63,75,M,FA,KCB--63x75.step +KCB63-75MFB,63,75,M,FB,KCB--63x75.step +KCB63-75MCA,63,75,M,CA,KCB--63x75.step +KCB63-75MCB,63,75,M,CB,KCB--63x75.step +KCB63-75MLB,63,75,M,LB,KCB--63x75.step +KCB63-75MYB,63,75,M,YB,KCB--63x75.step +KCB63-100,63,100,,,KCB--63x100.step +KCB63-100FA,63,100,,FA,KCB--63x100.step +KCB63-100FB,63,100,,FB,KCB--63x100.step +KCB63-100CA,63,100,,CA,KCB--63x100.step +KCB63-100CB,63,100,,CB,KCB--63x100.step +KCB63-100LB,63,100,,LB,KCB--63x100.step +KCB63-100YB,63,100,,YB,KCB--63x100.step +KCB63-100M,63,100,M,,KCB--63x100.step +KCB63-100MFA,63,100,M,FA,KCB--63x100.step +KCB63-100MFB,63,100,M,FB,KCB--63x100.step +KCB63-100MCA,63,100,M,CA,KCB--63x100.step +KCB63-100MCB,63,100,M,CB,KCB--63x100.step +KCB63-100MLB,63,100,M,LB,KCB--63x100.step +KCB63-100MYB,63,100,M,YB,KCB--63x100.step +KCB80-10,80,10,,,KCB--80x10.step +KCB80-10FA,80,10,,FA,KCB--80x10.step +KCB80-10FB,80,10,,FB,KCB--80x10.step +KCB80-10CA,80,10,,CA,KCB--80x10.step +KCB80-10CB,80,10,,CB,KCB--80x10.step +KCB80-10LB,80,10,,LB,KCB--80x10.step +KCB80-10YB,80,10,,YB,KCB--80x10.step +KCB80-10M,80,10,M,,KCB--80x10.step +KCB80-10MFA,80,10,M,FA,KCB--80x10.step +KCB80-10MFB,80,10,M,FB,KCB--80x10.step +KCB80-10MCA,80,10,M,CA,KCB--80x10.step +KCB80-10MCB,80,10,M,CB,KCB--80x10.step +KCB80-10MLB,80,10,M,LB,KCB--80x10.step +KCB80-10MYB,80,10,M,YB,KCB--80x10.step +KCB80-20,80,20,,,KCB--80x20.step +KCB80-20FA,80,20,,FA,KCB--80x20.step +KCB80-20FB,80,20,,FB,KCB--80x20.step +KCB80-20CA,80,20,,CA,KCB--80x20.step +KCB80-20CB,80,20,,CB,KCB--80x20.step +KCB80-20LB,80,20,,LB,KCB--80x20.step +KCB80-20YB,80,20,,YB,KCB--80x20.step +KCB80-20M,80,20,M,,KCB--80x20.step +KCB80-20MFA,80,20,M,FA,KCB--80x20.step +KCB80-20MFB,80,20,M,FB,KCB--80x20.step +KCB80-20MCA,80,20,M,CA,KCB--80x20.step +KCB80-20MCB,80,20,M,CB,KCB--80x20.step +KCB80-20MLB,80,20,M,LB,KCB--80x20.step +KCB80-20MYB,80,20,M,YB,KCB--80x20.step +KCB80-30,80,30,,,KCB--80x30.step +KCB80-30FA,80,30,,FA,KCB--80x30.step +KCB80-30FB,80,30,,FB,KCB--80x30.step +KCB80-30CA,80,30,,CA,KCB--80x30.step +KCB80-30CB,80,30,,CB,KCB--80x30.step +KCB80-30LB,80,30,,LB,KCB--80x30.step +KCB80-30YB,80,30,,YB,KCB--80x30.step +KCB80-30M,80,30,M,,KCB--80x30.step +KCB80-30MFA,80,30,M,FA,KCB--80x30.step +KCB80-30MFB,80,30,M,FB,KCB--80x30.step +KCB80-30MCA,80,30,M,CA,KCB--80x30.step +KCB80-30MCB,80,30,M,CB,KCB--80x30.step +KCB80-30MLB,80,30,M,LB,KCB--80x30.step +KCB80-30MYB,80,30,M,YB,KCB--80x30.step +KCB80-50,80,50,,,KCB--80x50.step +KCB80-50FA,80,50,,FA,KCB--80x50.step +KCB80-50FB,80,50,,FB,KCB--80x50.step +KCB80-50CA,80,50,,CA,KCB--80x50.step +KCB80-50CB,80,50,,CB,KCB--80x50.step +KCB80-50LB,80,50,,LB,KCB--80x50.step +KCB80-50YB,80,50,,YB,KCB--80x50.step +KCB80-50M,80,50,M,,KCB--80x50.step +KCB80-50MFA,80,50,M,FA,KCB--80x50.step +KCB80-50MFB,80,50,M,FB,KCB--80x50.step +KCB80-50MCA,80,50,M,CA,KCB--80x50.step +KCB80-50MCB,80,50,M,CB,KCB--80x50.step +KCB80-50MLB,80,50,M,LB,KCB--80x50.step +KCB80-50MYB,80,50,M,YB,KCB--80x50.step +KCB80-75,80,75,,,KCB--80x75.step +KCB80-75FA,80,75,,FA,KCB--80x75.step +KCB80-75FB,80,75,,FB,KCB--80x75.step +KCB80-75CA,80,75,,CA,KCB--80x75.step +KCB80-75CB,80,75,,CB,KCB--80x75.step +KCB80-75LB,80,75,,LB,KCB--80x75.step +KCB80-75YB,80,75,,YB,KCB--80x75.step +KCB80-75M,80,75,M,,KCB--80x75.step +KCB80-75MFA,80,75,M,FA,KCB--80x75.step +KCB80-75MFB,80,75,M,FB,KCB--80x75.step +KCB80-75MCA,80,75,M,CA,KCB--80x75.step +KCB80-75MCB,80,75,M,CB,KCB--80x75.step +KCB80-75MLB,80,75,M,LB,KCB--80x75.step +KCB80-75MYB,80,75,M,YB,KCB--80x75.step +KCB80-100,80,100,,,KCB--80x100.step +KCB80-100FA,80,100,,FA,KCB--80x100.step +KCB80-100FB,80,100,,FB,KCB--80x100.step +KCB80-100CA,80,100,,CA,KCB--80x100.step +KCB80-100CB,80,100,,CB,KCB--80x100.step +KCB80-100LB,80,100,,LB,KCB--80x100.step +KCB80-100YB,80,100,,YB,KCB--80x100.step +KCB80-100M,80,100,M,,KCB--80x100.step +KCB80-100MFA,80,100,M,FA,KCB--80x100.step +KCB80-100MFB,80,100,M,FB,KCB--80x100.step +KCB80-100MCA,80,100,M,CA,KCB--80x100.step +KCB80-100MCB,80,100,M,CB,KCB--80x100.step +KCB80-100MLB,80,100,M,LB,KCB--80x100.step +KCB80-100MYB,80,100,M,YB,KCB--80x100.step +KCB100-10,100,10,,,KCB--100x10.step +KCB100-10FA,100,10,,FA,KCB--100x10.step +KCB100-10FB,100,10,,FB,KCB--100x10.step +KCB100-10CA,100,10,,CA,KCB--100x10.step +KCB100-10CB,100,10,,CB,KCB--100x10.step +KCB100-10LB,100,10,,LB,KCB--100x10.step +KCB100-10YB,100,10,,YB,KCB--100x10.step +KCB100-10M,100,10,M,,KCB--100x10.step +KCB100-10MFA,100,10,M,FA,KCB--100x10.step +KCB100-10MFB,100,10,M,FB,KCB--100x10.step +KCB100-10MCA,100,10,M,CA,KCB--100x10.step +KCB100-10MCB,100,10,M,CB,KCB--100x10.step +KCB100-10MLB,100,10,M,LB,KCB--100x10.step +KCB100-10MYB,100,10,M,YB,KCB--100x10.step +KCB100-20,100,20,,,KCB--100x20.step +KCB100-20FA,100,20,,FA,KCB--100x20.step +KCB100-20FB,100,20,,FB,KCB--100x20.step +KCB100-20CA,100,20,,CA,KCB--100x20.step +KCB100-20CB,100,20,,CB,KCB--100x20.step +KCB100-20LB,100,20,,LB,KCB--100x20.step +KCB100-20YB,100,20,,YB,KCB--100x20.step +KCB100-20M,100,20,M,,KCB--100x20.step +KCB100-20MFA,100,20,M,FA,KCB--100x20.step +KCB100-20MFB,100,20,M,FB,KCB--100x20.step +KCB100-20MCA,100,20,M,CA,KCB--100x20.step +KCB100-20MCB,100,20,M,CB,KCB--100x20.step +KCB100-20MLB,100,20,M,LB,KCB--100x20.step +KCB100-20MYB,100,20,M,YB,KCB--100x20.step +KCB100-30,100,30,,,KCB--100x30.step +KCB100-30FA,100,30,,FA,KCB--100x30.step +KCB100-30FB,100,30,,FB,KCB--100x30.step +KCB100-30CA,100,30,,CA,KCB--100x30.step +KCB100-30CB,100,30,,CB,KCB--100x30.step +KCB100-30LB,100,30,,LB,KCB--100x30.step +KCB100-30YB,100,30,,YB,KCB--100x30.step +KCB100-30M,100,30,M,,KCB--100x30.step +KCB100-30MFA,100,30,M,FA,KCB--100x30.step +KCB100-30MFB,100,30,M,FB,KCB--100x30.step +KCB100-30MCA,100,30,M,CA,KCB--100x30.step +KCB100-30MCB,100,30,M,CB,KCB--100x30.step +KCB100-30MLB,100,30,M,LB,KCB--100x30.step +KCB100-30MYB,100,30,M,YB,KCB--100x30.step +KCB100-50,100,50,,,KCB--100x50.step +KCB100-50FA,100,50,,FA,KCB--100x50.step +KCB100-50FB,100,50,,FB,KCB--100x50.step +KCB100-50CA,100,50,,CA,KCB--100x50.step +KCB100-50CB,100,50,,CB,KCB--100x50.step +KCB100-50LB,100,50,,LB,KCB--100x50.step +KCB100-50YB,100,50,,YB,KCB--100x50.step +KCB100-50M,100,50,M,,KCB--100x50.step +KCB100-50MFA,100,50,M,FA,KCB--100x50.step +KCB100-50MFB,100,50,M,FB,KCB--100x50.step +KCB100-50MCA,100,50,M,CA,KCB--100x50.step +KCB100-50MCB,100,50,M,CB,KCB--100x50.step +KCB100-50MLB,100,50,M,LB,KCB--100x50.step +KCB100-50MYB,100,50,M,YB,KCB--100x50.step +KCB100-75,100,75,,,KCB--100x75.step +KCB100-75FA,100,75,,FA,KCB--100x75.step +KCB100-75FB,100,75,,FB,KCB--100x75.step +KCB100-75CA,100,75,,CA,KCB--100x75.step +KCB100-75CB,100,75,,CB,KCB--100x75.step +KCB100-75LB,100,75,,LB,KCB--100x75.step +KCB100-75YB,100,75,,YB,KCB--100x75.step +KCB100-75M,100,75,M,,KCB--100x75.step +KCB100-75MFA,100,75,M,FA,KCB--100x75.step +KCB100-75MFB,100,75,M,FB,KCB--100x75.step +KCB100-75MCA,100,75,M,CA,KCB--100x75.step +KCB100-75MCB,100,75,M,CB,KCB--100x75.step +KCB100-75MLB,100,75,M,LB,KCB--100x75.step +KCB100-75MYB,100,75,M,YB,KCB--100x75.step +KCB100-100,100,100,,,KCB--100x100.step +KCB100-100FA,100,100,,FA,KCB--100x100.step +KCB100-100FB,100,100,,FB,KCB--100x100.step +KCB100-100CA,100,100,,CA,KCB--100x100.step +KCB100-100CB,100,100,,CB,KCB--100x100.step +KCB100-100LB,100,100,,LB,KCB--100x100.step +KCB100-100YB,100,100,,YB,KCB--100x100.step +KCB100-100M,100,100,M,,KCB--100x100.step +KCB100-100MFA,100,100,M,FA,KCB--100x100.step +KCB100-100MFB,100,100,M,FB,KCB--100x100.step +KCB100-100MCA,100,100,M,CA,KCB--100x100.step +KCB100-100MCB,100,100,M,CB,KCB--100x100.step +KCB100-100MLB,100,100,M,LB,KCB--100x100.step +KCB100-100MYB,100,100,M,YB,KCB--100x100.step +KCB125-10,125,10,,,KCB--125x10.step +KCB125-10FA,125,10,,FA,KCB--125x10.step +KCB125-10FB,125,10,,FB,KCB--125x10.step +KCB125-10CA,125,10,,CA,KCB--125x10.step +KCB125-10CB,125,10,,CB,KCB--125x10.step +KCB125-10LB,125,10,,LB,KCB--125x10.step +KCB125-10YB,125,10,,YB,KCB--125x10.step +KCB125-10M,125,10,M,,KCB--125x10.step +KCB125-10MFA,125,10,M,FA,KCB--125x10.step +KCB125-10MFB,125,10,M,FB,KCB--125x10.step +KCB125-10MCA,125,10,M,CA,KCB--125x10.step +KCB125-10MCB,125,10,M,CB,KCB--125x10.step +KCB125-10MLB,125,10,M,LB,KCB--125x10.step +KCB125-10MYB,125,10,M,YB,KCB--125x10.step +KCB125-20,125,20,,,KCB--125x20.step +KCB125-20FA,125,20,,FA,KCB--125x20.step +KCB125-20FB,125,20,,FB,KCB--125x20.step +KCB125-20CA,125,20,,CA,KCB--125x20.step +KCB125-20CB,125,20,,CB,KCB--125x20.step +KCB125-20LB,125,20,,LB,KCB--125x20.step +KCB125-20YB,125,20,,YB,KCB--125x20.step +KCB125-20M,125,20,M,,KCB--125x20.step +KCB125-20MFA,125,20,M,FA,KCB--125x20.step +KCB125-20MFB,125,20,M,FB,KCB--125x20.step +KCB125-20MCA,125,20,M,CA,KCB--125x20.step +KCB125-20MCB,125,20,M,CB,KCB--125x20.step +KCB125-20MLB,125,20,M,LB,KCB--125x20.step +KCB125-20MYB,125,20,M,YB,KCB--125x20.step +KCB125-30,125,30,,,KCB--125x30.step +KCB125-30FA,125,30,,FA,KCB--125x30.step +KCB125-30FB,125,30,,FB,KCB--125x30.step +KCB125-30CA,125,30,,CA,KCB--125x30.step +KCB125-30CB,125,30,,CB,KCB--125x30.step +KCB125-30LB,125,30,,LB,KCB--125x30.step +KCB125-30YB,125,30,,YB,KCB--125x30.step +KCB125-30M,125,30,M,,KCB--125x30.step +KCB125-30MFA,125,30,M,FA,KCB--125x30.step +KCB125-30MFB,125,30,M,FB,KCB--125x30.step +KCB125-30MCA,125,30,M,CA,KCB--125x30.step +KCB125-30MCB,125,30,M,CB,KCB--125x30.step +KCB125-30MLB,125,30,M,LB,KCB--125x30.step +KCB125-30MYB,125,30,M,YB,KCB--125x30.step +KCB125-50,125,50,,,KCB--125x50.step +KCB125-50FA,125,50,,FA,KCB--125x50.step +KCB125-50FB,125,50,,FB,KCB--125x50.step +KCB125-50CA,125,50,,CA,KCB--125x50.step +KCB125-50CB,125,50,,CB,KCB--125x50.step +KCB125-50LB,125,50,,LB,KCB--125x50.step +KCB125-50YB,125,50,,YB,KCB--125x50.step +KCB125-50M,125,50,M,,KCB--125x50.step +KCB125-50MFA,125,50,M,FA,KCB--125x50.step +KCB125-50MFB,125,50,M,FB,KCB--125x50.step +KCB125-50MCA,125,50,M,CA,KCB--125x50.step +KCB125-50MCB,125,50,M,CB,KCB--125x50.step +KCB125-50MLB,125,50,M,LB,KCB--125x50.step +KCB125-50MYB,125,50,M,YB,KCB--125x50.step +KCB125-75,125,75,,,KCB--125x75.step +KCB125-75FA,125,75,,FA,KCB--125x75.step +KCB125-75FB,125,75,,FB,KCB--125x75.step +KCB125-75CA,125,75,,CA,KCB--125x75.step +KCB125-75CB,125,75,,CB,KCB--125x75.step +KCB125-75LB,125,75,,LB,KCB--125x75.step +KCB125-75YB,125,75,,YB,KCB--125x75.step +KCB125-75M,125,75,M,,KCB--125x75.step +KCB125-75MFA,125,75,M,FA,KCB--125x75.step +KCB125-75MFB,125,75,M,FB,KCB--125x75.step +KCB125-75MCA,125,75,M,CA,KCB--125x75.step +KCB125-75MCB,125,75,M,CB,KCB--125x75.step +KCB125-75MLB,125,75,M,LB,KCB--125x75.step +KCB125-75MYB,125,75,M,YB,KCB--125x75.step +KCB125-100,125,100,,,KCB--125x100.step +KCB125-100FA,125,100,,FA,KCB--125x100.step +KCB125-100FB,125,100,,FB,KCB--125x100.step +KCB125-100CA,125,100,,CA,KCB--125x100.step +KCB125-100CB,125,100,,CB,KCB--125x100.step +KCB125-100LB,125,100,,LB,KCB--125x100.step +KCB125-100YB,125,100,,YB,KCB--125x100.step +KCB125-100M,125,100,M,,KCB--125x100.step +KCB125-100MFA,125,100,M,FA,KCB--125x100.step +KCB125-100MFB,125,100,M,FB,KCB--125x100.step +KCB125-100MCA,125,100,M,CA,KCB--125x100.step +KCB125-100MCB,125,100,M,CB,KCB--125x100.step +KCB125-100MLB,125,100,M,LB,KCB--125x100.step +KCB125-100MYB,125,100,M,YB,KCB--125x100.step diff --git a/onebot-data/catalog/csv/KCS.csv b/onebot-data/catalog/csv/KCS.csv new file mode 100644 index 0000000..22424f1 --- /dev/null +++ b/onebot-data/catalog/csv/KCS.csv @@ -0,0 +1,1513 @@ +model_code,type,bore,stroke,magnet,mount,step_file +KCS0032-10,00,32,10,,,KCS-00-32x10.step +KCS0032-10FA,00,32,10,,FA,KCS-00-32x10.step +KCS0032-10FB,00,32,10,,FB,KCS-00-32x10.step +KCS0032-10CA,00,32,10,,CA,KCS-00-32x10.step +KCS0032-10CB,00,32,10,,CB,KCS-00-32x10.step +KCS0032-10LB,00,32,10,,LB,KCS-00-32x10.step +KCS0032-10YB,00,32,10,,YB,KCS-00-32x10.step +KCS0032-10M,00,32,10,M,,KCS-00-32x10.step +KCS0032-10MFA,00,32,10,M,FA,KCS-00-32x10.step +KCS0032-10MFB,00,32,10,M,FB,KCS-00-32x10.step +KCS0032-10MCA,00,32,10,M,CA,KCS-00-32x10.step +KCS0032-10MCB,00,32,10,M,CB,KCS-00-32x10.step +KCS0032-10MLB,00,32,10,M,LB,KCS-00-32x10.step +KCS0032-10MYB,00,32,10,M,YB,KCS-00-32x10.step +KCS0032-20,00,32,20,,,KCS-00-32x20.step +KCS0032-20FA,00,32,20,,FA,KCS-00-32x20.step +KCS0032-20FB,00,32,20,,FB,KCS-00-32x20.step +KCS0032-20CA,00,32,20,,CA,KCS-00-32x20.step +KCS0032-20CB,00,32,20,,CB,KCS-00-32x20.step +KCS0032-20LB,00,32,20,,LB,KCS-00-32x20.step +KCS0032-20YB,00,32,20,,YB,KCS-00-32x20.step +KCS0032-20M,00,32,20,M,,KCS-00-32x20.step +KCS0032-20MFA,00,32,20,M,FA,KCS-00-32x20.step +KCS0032-20MFB,00,32,20,M,FB,KCS-00-32x20.step +KCS0032-20MCA,00,32,20,M,CA,KCS-00-32x20.step +KCS0032-20MCB,00,32,20,M,CB,KCS-00-32x20.step +KCS0032-20MLB,00,32,20,M,LB,KCS-00-32x20.step +KCS0032-20MYB,00,32,20,M,YB,KCS-00-32x20.step +KCS0032-30,00,32,30,,,KCS-00-32x30.step +KCS0032-30FA,00,32,30,,FA,KCS-00-32x30.step +KCS0032-30FB,00,32,30,,FB,KCS-00-32x30.step +KCS0032-30CA,00,32,30,,CA,KCS-00-32x30.step +KCS0032-30CB,00,32,30,,CB,KCS-00-32x30.step +KCS0032-30LB,00,32,30,,LB,KCS-00-32x30.step +KCS0032-30YB,00,32,30,,YB,KCS-00-32x30.step +KCS0032-30M,00,32,30,M,,KCS-00-32x30.step +KCS0032-30MFA,00,32,30,M,FA,KCS-00-32x30.step +KCS0032-30MFB,00,32,30,M,FB,KCS-00-32x30.step +KCS0032-30MCA,00,32,30,M,CA,KCS-00-32x30.step +KCS0032-30MCB,00,32,30,M,CB,KCS-00-32x30.step +KCS0032-30MLB,00,32,30,M,LB,KCS-00-32x30.step +KCS0032-30MYB,00,32,30,M,YB,KCS-00-32x30.step +KCS0032-50,00,32,50,,,KCS-00-32x50.step +KCS0032-50FA,00,32,50,,FA,KCS-00-32x50.step +KCS0032-50FB,00,32,50,,FB,KCS-00-32x50.step +KCS0032-50CA,00,32,50,,CA,KCS-00-32x50.step +KCS0032-50CB,00,32,50,,CB,KCS-00-32x50.step +KCS0032-50LB,00,32,50,,LB,KCS-00-32x50.step +KCS0032-50YB,00,32,50,,YB,KCS-00-32x50.step +KCS0032-50M,00,32,50,M,,KCS-00-32x50.step +KCS0032-50MFA,00,32,50,M,FA,KCS-00-32x50.step +KCS0032-50MFB,00,32,50,M,FB,KCS-00-32x50.step +KCS0032-50MCA,00,32,50,M,CA,KCS-00-32x50.step +KCS0032-50MCB,00,32,50,M,CB,KCS-00-32x50.step +KCS0032-50MLB,00,32,50,M,LB,KCS-00-32x50.step +KCS0032-50MYB,00,32,50,M,YB,KCS-00-32x50.step +KCS0032-75,00,32,75,,,KCS-00-32x75.step +KCS0032-75FA,00,32,75,,FA,KCS-00-32x75.step +KCS0032-75FB,00,32,75,,FB,KCS-00-32x75.step +KCS0032-75CA,00,32,75,,CA,KCS-00-32x75.step +KCS0032-75CB,00,32,75,,CB,KCS-00-32x75.step +KCS0032-75LB,00,32,75,,LB,KCS-00-32x75.step +KCS0032-75YB,00,32,75,,YB,KCS-00-32x75.step +KCS0032-75M,00,32,75,M,,KCS-00-32x75.step +KCS0032-75MFA,00,32,75,M,FA,KCS-00-32x75.step +KCS0032-75MFB,00,32,75,M,FB,KCS-00-32x75.step +KCS0032-75MCA,00,32,75,M,CA,KCS-00-32x75.step +KCS0032-75MCB,00,32,75,M,CB,KCS-00-32x75.step +KCS0032-75MLB,00,32,75,M,LB,KCS-00-32x75.step +KCS0032-75MYB,00,32,75,M,YB,KCS-00-32x75.step +KCS0032-100,00,32,100,,,KCS-00-32x100.step +KCS0032-100FA,00,32,100,,FA,KCS-00-32x100.step +KCS0032-100FB,00,32,100,,FB,KCS-00-32x100.step +KCS0032-100CA,00,32,100,,CA,KCS-00-32x100.step +KCS0032-100CB,00,32,100,,CB,KCS-00-32x100.step +KCS0032-100LB,00,32,100,,LB,KCS-00-32x100.step +KCS0032-100YB,00,32,100,,YB,KCS-00-32x100.step +KCS0032-100M,00,32,100,M,,KCS-00-32x100.step +KCS0032-100MFA,00,32,100,M,FA,KCS-00-32x100.step +KCS0032-100MFB,00,32,100,M,FB,KCS-00-32x100.step +KCS0032-100MCA,00,32,100,M,CA,KCS-00-32x100.step +KCS0032-100MCB,00,32,100,M,CB,KCS-00-32x100.step +KCS0032-100MLB,00,32,100,M,LB,KCS-00-32x100.step +KCS0032-100MYB,00,32,100,M,YB,KCS-00-32x100.step +KCS0040-10,00,40,10,,,KCS-00-40x10.step +KCS0040-10FA,00,40,10,,FA,KCS-00-40x10.step +KCS0040-10FB,00,40,10,,FB,KCS-00-40x10.step +KCS0040-10CA,00,40,10,,CA,KCS-00-40x10.step +KCS0040-10CB,00,40,10,,CB,KCS-00-40x10.step +KCS0040-10LB,00,40,10,,LB,KCS-00-40x10.step +KCS0040-10YB,00,40,10,,YB,KCS-00-40x10.step +KCS0040-10M,00,40,10,M,,KCS-00-40x10.step +KCS0040-10MFA,00,40,10,M,FA,KCS-00-40x10.step +KCS0040-10MFB,00,40,10,M,FB,KCS-00-40x10.step +KCS0040-10MCA,00,40,10,M,CA,KCS-00-40x10.step +KCS0040-10MCB,00,40,10,M,CB,KCS-00-40x10.step +KCS0040-10MLB,00,40,10,M,LB,KCS-00-40x10.step +KCS0040-10MYB,00,40,10,M,YB,KCS-00-40x10.step +KCS0040-20,00,40,20,,,KCS-00-40x20.step +KCS0040-20FA,00,40,20,,FA,KCS-00-40x20.step +KCS0040-20FB,00,40,20,,FB,KCS-00-40x20.step +KCS0040-20CA,00,40,20,,CA,KCS-00-40x20.step +KCS0040-20CB,00,40,20,,CB,KCS-00-40x20.step +KCS0040-20LB,00,40,20,,LB,KCS-00-40x20.step +KCS0040-20YB,00,40,20,,YB,KCS-00-40x20.step +KCS0040-20M,00,40,20,M,,KCS-00-40x20.step +KCS0040-20MFA,00,40,20,M,FA,KCS-00-40x20.step +KCS0040-20MFB,00,40,20,M,FB,KCS-00-40x20.step +KCS0040-20MCA,00,40,20,M,CA,KCS-00-40x20.step +KCS0040-20MCB,00,40,20,M,CB,KCS-00-40x20.step +KCS0040-20MLB,00,40,20,M,LB,KCS-00-40x20.step +KCS0040-20MYB,00,40,20,M,YB,KCS-00-40x20.step +KCS0040-30,00,40,30,,,KCS-00-40x30.step +KCS0040-30FA,00,40,30,,FA,KCS-00-40x30.step +KCS0040-30FB,00,40,30,,FB,KCS-00-40x30.step +KCS0040-30CA,00,40,30,,CA,KCS-00-40x30.step +KCS0040-30CB,00,40,30,,CB,KCS-00-40x30.step +KCS0040-30LB,00,40,30,,LB,KCS-00-40x30.step +KCS0040-30YB,00,40,30,,YB,KCS-00-40x30.step +KCS0040-30M,00,40,30,M,,KCS-00-40x30.step +KCS0040-30MFA,00,40,30,M,FA,KCS-00-40x30.step +KCS0040-30MFB,00,40,30,M,FB,KCS-00-40x30.step +KCS0040-30MCA,00,40,30,M,CA,KCS-00-40x30.step +KCS0040-30MCB,00,40,30,M,CB,KCS-00-40x30.step +KCS0040-30MLB,00,40,30,M,LB,KCS-00-40x30.step +KCS0040-30MYB,00,40,30,M,YB,KCS-00-40x30.step +KCS0040-50,00,40,50,,,KCS-00-40x50.step +KCS0040-50FA,00,40,50,,FA,KCS-00-40x50.step +KCS0040-50FB,00,40,50,,FB,KCS-00-40x50.step +KCS0040-50CA,00,40,50,,CA,KCS-00-40x50.step +KCS0040-50CB,00,40,50,,CB,KCS-00-40x50.step +KCS0040-50LB,00,40,50,,LB,KCS-00-40x50.step +KCS0040-50YB,00,40,50,,YB,KCS-00-40x50.step +KCS0040-50M,00,40,50,M,,KCS-00-40x50.step +KCS0040-50MFA,00,40,50,M,FA,KCS-00-40x50.step +KCS0040-50MFB,00,40,50,M,FB,KCS-00-40x50.step +KCS0040-50MCA,00,40,50,M,CA,KCS-00-40x50.step +KCS0040-50MCB,00,40,50,M,CB,KCS-00-40x50.step +KCS0040-50MLB,00,40,50,M,LB,KCS-00-40x50.step +KCS0040-50MYB,00,40,50,M,YB,KCS-00-40x50.step +KCS0040-75,00,40,75,,,KCS-00-40x75.step +KCS0040-75FA,00,40,75,,FA,KCS-00-40x75.step +KCS0040-75FB,00,40,75,,FB,KCS-00-40x75.step +KCS0040-75CA,00,40,75,,CA,KCS-00-40x75.step +KCS0040-75CB,00,40,75,,CB,KCS-00-40x75.step +KCS0040-75LB,00,40,75,,LB,KCS-00-40x75.step +KCS0040-75YB,00,40,75,,YB,KCS-00-40x75.step +KCS0040-75M,00,40,75,M,,KCS-00-40x75.step +KCS0040-75MFA,00,40,75,M,FA,KCS-00-40x75.step +KCS0040-75MFB,00,40,75,M,FB,KCS-00-40x75.step +KCS0040-75MCA,00,40,75,M,CA,KCS-00-40x75.step +KCS0040-75MCB,00,40,75,M,CB,KCS-00-40x75.step +KCS0040-75MLB,00,40,75,M,LB,KCS-00-40x75.step +KCS0040-75MYB,00,40,75,M,YB,KCS-00-40x75.step +KCS0040-100,00,40,100,,,KCS-00-40x100.step +KCS0040-100FA,00,40,100,,FA,KCS-00-40x100.step +KCS0040-100FB,00,40,100,,FB,KCS-00-40x100.step +KCS0040-100CA,00,40,100,,CA,KCS-00-40x100.step +KCS0040-100CB,00,40,100,,CB,KCS-00-40x100.step +KCS0040-100LB,00,40,100,,LB,KCS-00-40x100.step +KCS0040-100YB,00,40,100,,YB,KCS-00-40x100.step +KCS0040-100M,00,40,100,M,,KCS-00-40x100.step +KCS0040-100MFA,00,40,100,M,FA,KCS-00-40x100.step +KCS0040-100MFB,00,40,100,M,FB,KCS-00-40x100.step +KCS0040-100MCA,00,40,100,M,CA,KCS-00-40x100.step +KCS0040-100MCB,00,40,100,M,CB,KCS-00-40x100.step +KCS0040-100MLB,00,40,100,M,LB,KCS-00-40x100.step +KCS0040-100MYB,00,40,100,M,YB,KCS-00-40x100.step +KCS0050-10,00,50,10,,,KCS-00-50x10.step +KCS0050-10FA,00,50,10,,FA,KCS-00-50x10.step +KCS0050-10FB,00,50,10,,FB,KCS-00-50x10.step +KCS0050-10CA,00,50,10,,CA,KCS-00-50x10.step +KCS0050-10CB,00,50,10,,CB,KCS-00-50x10.step +KCS0050-10LB,00,50,10,,LB,KCS-00-50x10.step +KCS0050-10YB,00,50,10,,YB,KCS-00-50x10.step +KCS0050-10M,00,50,10,M,,KCS-00-50x10.step +KCS0050-10MFA,00,50,10,M,FA,KCS-00-50x10.step +KCS0050-10MFB,00,50,10,M,FB,KCS-00-50x10.step +KCS0050-10MCA,00,50,10,M,CA,KCS-00-50x10.step +KCS0050-10MCB,00,50,10,M,CB,KCS-00-50x10.step +KCS0050-10MLB,00,50,10,M,LB,KCS-00-50x10.step +KCS0050-10MYB,00,50,10,M,YB,KCS-00-50x10.step +KCS0050-20,00,50,20,,,KCS-00-50x20.step +KCS0050-20FA,00,50,20,,FA,KCS-00-50x20.step +KCS0050-20FB,00,50,20,,FB,KCS-00-50x20.step +KCS0050-20CA,00,50,20,,CA,KCS-00-50x20.step +KCS0050-20CB,00,50,20,,CB,KCS-00-50x20.step +KCS0050-20LB,00,50,20,,LB,KCS-00-50x20.step +KCS0050-20YB,00,50,20,,YB,KCS-00-50x20.step +KCS0050-20M,00,50,20,M,,KCS-00-50x20.step +KCS0050-20MFA,00,50,20,M,FA,KCS-00-50x20.step +KCS0050-20MFB,00,50,20,M,FB,KCS-00-50x20.step +KCS0050-20MCA,00,50,20,M,CA,KCS-00-50x20.step +KCS0050-20MCB,00,50,20,M,CB,KCS-00-50x20.step +KCS0050-20MLB,00,50,20,M,LB,KCS-00-50x20.step +KCS0050-20MYB,00,50,20,M,YB,KCS-00-50x20.step +KCS0050-30,00,50,30,,,KCS-00-50x30.step +KCS0050-30FA,00,50,30,,FA,KCS-00-50x30.step +KCS0050-30FB,00,50,30,,FB,KCS-00-50x30.step +KCS0050-30CA,00,50,30,,CA,KCS-00-50x30.step +KCS0050-30CB,00,50,30,,CB,KCS-00-50x30.step +KCS0050-30LB,00,50,30,,LB,KCS-00-50x30.step +KCS0050-30YB,00,50,30,,YB,KCS-00-50x30.step +KCS0050-30M,00,50,30,M,,KCS-00-50x30.step +KCS0050-30MFA,00,50,30,M,FA,KCS-00-50x30.step +KCS0050-30MFB,00,50,30,M,FB,KCS-00-50x30.step +KCS0050-30MCA,00,50,30,M,CA,KCS-00-50x30.step +KCS0050-30MCB,00,50,30,M,CB,KCS-00-50x30.step +KCS0050-30MLB,00,50,30,M,LB,KCS-00-50x30.step +KCS0050-30MYB,00,50,30,M,YB,KCS-00-50x30.step +KCS0050-50,00,50,50,,,KCS-00-50x50.step +KCS0050-50FA,00,50,50,,FA,KCS-00-50x50.step +KCS0050-50FB,00,50,50,,FB,KCS-00-50x50.step +KCS0050-50CA,00,50,50,,CA,KCS-00-50x50.step +KCS0050-50CB,00,50,50,,CB,KCS-00-50x50.step +KCS0050-50LB,00,50,50,,LB,KCS-00-50x50.step +KCS0050-50YB,00,50,50,,YB,KCS-00-50x50.step +KCS0050-50M,00,50,50,M,,KCS-00-50x50.step +KCS0050-50MFA,00,50,50,M,FA,KCS-00-50x50.step +KCS0050-50MFB,00,50,50,M,FB,KCS-00-50x50.step +KCS0050-50MCA,00,50,50,M,CA,KCS-00-50x50.step +KCS0050-50MCB,00,50,50,M,CB,KCS-00-50x50.step +KCS0050-50MLB,00,50,50,M,LB,KCS-00-50x50.step +KCS0050-50MYB,00,50,50,M,YB,KCS-00-50x50.step +KCS0050-75,00,50,75,,,KCS-00-50x75.step +KCS0050-75FA,00,50,75,,FA,KCS-00-50x75.step +KCS0050-75FB,00,50,75,,FB,KCS-00-50x75.step +KCS0050-75CA,00,50,75,,CA,KCS-00-50x75.step +KCS0050-75CB,00,50,75,,CB,KCS-00-50x75.step +KCS0050-75LB,00,50,75,,LB,KCS-00-50x75.step +KCS0050-75YB,00,50,75,,YB,KCS-00-50x75.step +KCS0050-75M,00,50,75,M,,KCS-00-50x75.step +KCS0050-75MFA,00,50,75,M,FA,KCS-00-50x75.step +KCS0050-75MFB,00,50,75,M,FB,KCS-00-50x75.step +KCS0050-75MCA,00,50,75,M,CA,KCS-00-50x75.step +KCS0050-75MCB,00,50,75,M,CB,KCS-00-50x75.step +KCS0050-75MLB,00,50,75,M,LB,KCS-00-50x75.step +KCS0050-75MYB,00,50,75,M,YB,KCS-00-50x75.step +KCS0050-100,00,50,100,,,KCS-00-50x100.step +KCS0050-100FA,00,50,100,,FA,KCS-00-50x100.step +KCS0050-100FB,00,50,100,,FB,KCS-00-50x100.step +KCS0050-100CA,00,50,100,,CA,KCS-00-50x100.step +KCS0050-100CB,00,50,100,,CB,KCS-00-50x100.step +KCS0050-100LB,00,50,100,,LB,KCS-00-50x100.step +KCS0050-100YB,00,50,100,,YB,KCS-00-50x100.step +KCS0050-100M,00,50,100,M,,KCS-00-50x100.step +KCS0050-100MFA,00,50,100,M,FA,KCS-00-50x100.step +KCS0050-100MFB,00,50,100,M,FB,KCS-00-50x100.step +KCS0050-100MCA,00,50,100,M,CA,KCS-00-50x100.step +KCS0050-100MCB,00,50,100,M,CB,KCS-00-50x100.step +KCS0050-100MLB,00,50,100,M,LB,KCS-00-50x100.step +KCS0050-100MYB,00,50,100,M,YB,KCS-00-50x100.step +KCS0063-10,00,63,10,,,KCS-00-63x10.step +KCS0063-10FA,00,63,10,,FA,KCS-00-63x10.step +KCS0063-10FB,00,63,10,,FB,KCS-00-63x10.step +KCS0063-10CA,00,63,10,,CA,KCS-00-63x10.step +KCS0063-10CB,00,63,10,,CB,KCS-00-63x10.step +KCS0063-10LB,00,63,10,,LB,KCS-00-63x10.step +KCS0063-10YB,00,63,10,,YB,KCS-00-63x10.step +KCS0063-10M,00,63,10,M,,KCS-00-63x10.step +KCS0063-10MFA,00,63,10,M,FA,KCS-00-63x10.step +KCS0063-10MFB,00,63,10,M,FB,KCS-00-63x10.step +KCS0063-10MCA,00,63,10,M,CA,KCS-00-63x10.step +KCS0063-10MCB,00,63,10,M,CB,KCS-00-63x10.step +KCS0063-10MLB,00,63,10,M,LB,KCS-00-63x10.step +KCS0063-10MYB,00,63,10,M,YB,KCS-00-63x10.step +KCS0063-20,00,63,20,,,KCS-00-63x20.step +KCS0063-20FA,00,63,20,,FA,KCS-00-63x20.step +KCS0063-20FB,00,63,20,,FB,KCS-00-63x20.step +KCS0063-20CA,00,63,20,,CA,KCS-00-63x20.step +KCS0063-20CB,00,63,20,,CB,KCS-00-63x20.step +KCS0063-20LB,00,63,20,,LB,KCS-00-63x20.step +KCS0063-20YB,00,63,20,,YB,KCS-00-63x20.step +KCS0063-20M,00,63,20,M,,KCS-00-63x20.step +KCS0063-20MFA,00,63,20,M,FA,KCS-00-63x20.step +KCS0063-20MFB,00,63,20,M,FB,KCS-00-63x20.step +KCS0063-20MCA,00,63,20,M,CA,KCS-00-63x20.step +KCS0063-20MCB,00,63,20,M,CB,KCS-00-63x20.step +KCS0063-20MLB,00,63,20,M,LB,KCS-00-63x20.step +KCS0063-20MYB,00,63,20,M,YB,KCS-00-63x20.step +KCS0063-30,00,63,30,,,KCS-00-63x30.step +KCS0063-30FA,00,63,30,,FA,KCS-00-63x30.step +KCS0063-30FB,00,63,30,,FB,KCS-00-63x30.step +KCS0063-30CA,00,63,30,,CA,KCS-00-63x30.step +KCS0063-30CB,00,63,30,,CB,KCS-00-63x30.step +KCS0063-30LB,00,63,30,,LB,KCS-00-63x30.step +KCS0063-30YB,00,63,30,,YB,KCS-00-63x30.step +KCS0063-30M,00,63,30,M,,KCS-00-63x30.step +KCS0063-30MFA,00,63,30,M,FA,KCS-00-63x30.step +KCS0063-30MFB,00,63,30,M,FB,KCS-00-63x30.step +KCS0063-30MCA,00,63,30,M,CA,KCS-00-63x30.step +KCS0063-30MCB,00,63,30,M,CB,KCS-00-63x30.step +KCS0063-30MLB,00,63,30,M,LB,KCS-00-63x30.step +KCS0063-30MYB,00,63,30,M,YB,KCS-00-63x30.step +KCS0063-50,00,63,50,,,KCS-00-63x50.step +KCS0063-50FA,00,63,50,,FA,KCS-00-63x50.step +KCS0063-50FB,00,63,50,,FB,KCS-00-63x50.step +KCS0063-50CA,00,63,50,,CA,KCS-00-63x50.step +KCS0063-50CB,00,63,50,,CB,KCS-00-63x50.step +KCS0063-50LB,00,63,50,,LB,KCS-00-63x50.step +KCS0063-50YB,00,63,50,,YB,KCS-00-63x50.step +KCS0063-50M,00,63,50,M,,KCS-00-63x50.step +KCS0063-50MFA,00,63,50,M,FA,KCS-00-63x50.step +KCS0063-50MFB,00,63,50,M,FB,KCS-00-63x50.step +KCS0063-50MCA,00,63,50,M,CA,KCS-00-63x50.step +KCS0063-50MCB,00,63,50,M,CB,KCS-00-63x50.step +KCS0063-50MLB,00,63,50,M,LB,KCS-00-63x50.step +KCS0063-50MYB,00,63,50,M,YB,KCS-00-63x50.step +KCS0063-75,00,63,75,,,KCS-00-63x75.step +KCS0063-75FA,00,63,75,,FA,KCS-00-63x75.step +KCS0063-75FB,00,63,75,,FB,KCS-00-63x75.step +KCS0063-75CA,00,63,75,,CA,KCS-00-63x75.step +KCS0063-75CB,00,63,75,,CB,KCS-00-63x75.step +KCS0063-75LB,00,63,75,,LB,KCS-00-63x75.step +KCS0063-75YB,00,63,75,,YB,KCS-00-63x75.step +KCS0063-75M,00,63,75,M,,KCS-00-63x75.step +KCS0063-75MFA,00,63,75,M,FA,KCS-00-63x75.step +KCS0063-75MFB,00,63,75,M,FB,KCS-00-63x75.step +KCS0063-75MCA,00,63,75,M,CA,KCS-00-63x75.step +KCS0063-75MCB,00,63,75,M,CB,KCS-00-63x75.step +KCS0063-75MLB,00,63,75,M,LB,KCS-00-63x75.step +KCS0063-75MYB,00,63,75,M,YB,KCS-00-63x75.step +KCS0063-100,00,63,100,,,KCS-00-63x100.step +KCS0063-100FA,00,63,100,,FA,KCS-00-63x100.step +KCS0063-100FB,00,63,100,,FB,KCS-00-63x100.step +KCS0063-100CA,00,63,100,,CA,KCS-00-63x100.step +KCS0063-100CB,00,63,100,,CB,KCS-00-63x100.step +KCS0063-100LB,00,63,100,,LB,KCS-00-63x100.step +KCS0063-100YB,00,63,100,,YB,KCS-00-63x100.step +KCS0063-100M,00,63,100,M,,KCS-00-63x100.step +KCS0063-100MFA,00,63,100,M,FA,KCS-00-63x100.step +KCS0063-100MFB,00,63,100,M,FB,KCS-00-63x100.step +KCS0063-100MCA,00,63,100,M,CA,KCS-00-63x100.step +KCS0063-100MCB,00,63,100,M,CB,KCS-00-63x100.step +KCS0063-100MLB,00,63,100,M,LB,KCS-00-63x100.step +KCS0063-100MYB,00,63,100,M,YB,KCS-00-63x100.step +KCS0080-10,00,80,10,,,KCS-00-80x10.step +KCS0080-10FA,00,80,10,,FA,KCS-00-80x10.step +KCS0080-10FB,00,80,10,,FB,KCS-00-80x10.step +KCS0080-10CA,00,80,10,,CA,KCS-00-80x10.step +KCS0080-10CB,00,80,10,,CB,KCS-00-80x10.step +KCS0080-10LB,00,80,10,,LB,KCS-00-80x10.step +KCS0080-10YB,00,80,10,,YB,KCS-00-80x10.step +KCS0080-10M,00,80,10,M,,KCS-00-80x10.step +KCS0080-10MFA,00,80,10,M,FA,KCS-00-80x10.step +KCS0080-10MFB,00,80,10,M,FB,KCS-00-80x10.step +KCS0080-10MCA,00,80,10,M,CA,KCS-00-80x10.step +KCS0080-10MCB,00,80,10,M,CB,KCS-00-80x10.step +KCS0080-10MLB,00,80,10,M,LB,KCS-00-80x10.step +KCS0080-10MYB,00,80,10,M,YB,KCS-00-80x10.step +KCS0080-20,00,80,20,,,KCS-00-80x20.step +KCS0080-20FA,00,80,20,,FA,KCS-00-80x20.step +KCS0080-20FB,00,80,20,,FB,KCS-00-80x20.step +KCS0080-20CA,00,80,20,,CA,KCS-00-80x20.step +KCS0080-20CB,00,80,20,,CB,KCS-00-80x20.step +KCS0080-20LB,00,80,20,,LB,KCS-00-80x20.step +KCS0080-20YB,00,80,20,,YB,KCS-00-80x20.step +KCS0080-20M,00,80,20,M,,KCS-00-80x20.step +KCS0080-20MFA,00,80,20,M,FA,KCS-00-80x20.step +KCS0080-20MFB,00,80,20,M,FB,KCS-00-80x20.step +KCS0080-20MCA,00,80,20,M,CA,KCS-00-80x20.step +KCS0080-20MCB,00,80,20,M,CB,KCS-00-80x20.step +KCS0080-20MLB,00,80,20,M,LB,KCS-00-80x20.step +KCS0080-20MYB,00,80,20,M,YB,KCS-00-80x20.step +KCS0080-30,00,80,30,,,KCS-00-80x30.step +KCS0080-30FA,00,80,30,,FA,KCS-00-80x30.step +KCS0080-30FB,00,80,30,,FB,KCS-00-80x30.step +KCS0080-30CA,00,80,30,,CA,KCS-00-80x30.step +KCS0080-30CB,00,80,30,,CB,KCS-00-80x30.step +KCS0080-30LB,00,80,30,,LB,KCS-00-80x30.step +KCS0080-30YB,00,80,30,,YB,KCS-00-80x30.step +KCS0080-30M,00,80,30,M,,KCS-00-80x30.step +KCS0080-30MFA,00,80,30,M,FA,KCS-00-80x30.step +KCS0080-30MFB,00,80,30,M,FB,KCS-00-80x30.step +KCS0080-30MCA,00,80,30,M,CA,KCS-00-80x30.step +KCS0080-30MCB,00,80,30,M,CB,KCS-00-80x30.step +KCS0080-30MLB,00,80,30,M,LB,KCS-00-80x30.step +KCS0080-30MYB,00,80,30,M,YB,KCS-00-80x30.step +KCS0080-50,00,80,50,,,KCS-00-80x50.step +KCS0080-50FA,00,80,50,,FA,KCS-00-80x50.step +KCS0080-50FB,00,80,50,,FB,KCS-00-80x50.step +KCS0080-50CA,00,80,50,,CA,KCS-00-80x50.step +KCS0080-50CB,00,80,50,,CB,KCS-00-80x50.step +KCS0080-50LB,00,80,50,,LB,KCS-00-80x50.step +KCS0080-50YB,00,80,50,,YB,KCS-00-80x50.step +KCS0080-50M,00,80,50,M,,KCS-00-80x50.step +KCS0080-50MFA,00,80,50,M,FA,KCS-00-80x50.step +KCS0080-50MFB,00,80,50,M,FB,KCS-00-80x50.step +KCS0080-50MCA,00,80,50,M,CA,KCS-00-80x50.step +KCS0080-50MCB,00,80,50,M,CB,KCS-00-80x50.step +KCS0080-50MLB,00,80,50,M,LB,KCS-00-80x50.step +KCS0080-50MYB,00,80,50,M,YB,KCS-00-80x50.step +KCS0080-75,00,80,75,,,KCS-00-80x75.step +KCS0080-75FA,00,80,75,,FA,KCS-00-80x75.step +KCS0080-75FB,00,80,75,,FB,KCS-00-80x75.step +KCS0080-75CA,00,80,75,,CA,KCS-00-80x75.step +KCS0080-75CB,00,80,75,,CB,KCS-00-80x75.step +KCS0080-75LB,00,80,75,,LB,KCS-00-80x75.step +KCS0080-75YB,00,80,75,,YB,KCS-00-80x75.step +KCS0080-75M,00,80,75,M,,KCS-00-80x75.step +KCS0080-75MFA,00,80,75,M,FA,KCS-00-80x75.step +KCS0080-75MFB,00,80,75,M,FB,KCS-00-80x75.step +KCS0080-75MCA,00,80,75,M,CA,KCS-00-80x75.step +KCS0080-75MCB,00,80,75,M,CB,KCS-00-80x75.step +KCS0080-75MLB,00,80,75,M,LB,KCS-00-80x75.step +KCS0080-75MYB,00,80,75,M,YB,KCS-00-80x75.step +KCS0080-100,00,80,100,,,KCS-00-80x100.step +KCS0080-100FA,00,80,100,,FA,KCS-00-80x100.step +KCS0080-100FB,00,80,100,,FB,KCS-00-80x100.step +KCS0080-100CA,00,80,100,,CA,KCS-00-80x100.step +KCS0080-100CB,00,80,100,,CB,KCS-00-80x100.step +KCS0080-100LB,00,80,100,,LB,KCS-00-80x100.step +KCS0080-100YB,00,80,100,,YB,KCS-00-80x100.step +KCS0080-100M,00,80,100,M,,KCS-00-80x100.step +KCS0080-100MFA,00,80,100,M,FA,KCS-00-80x100.step +KCS0080-100MFB,00,80,100,M,FB,KCS-00-80x100.step +KCS0080-100MCA,00,80,100,M,CA,KCS-00-80x100.step +KCS0080-100MCB,00,80,100,M,CB,KCS-00-80x100.step +KCS0080-100MLB,00,80,100,M,LB,KCS-00-80x100.step +KCS0080-100MYB,00,80,100,M,YB,KCS-00-80x100.step +KCS00100-10,00,100,10,,,KCS-00-100x10.step +KCS00100-10FA,00,100,10,,FA,KCS-00-100x10.step +KCS00100-10FB,00,100,10,,FB,KCS-00-100x10.step +KCS00100-10CA,00,100,10,,CA,KCS-00-100x10.step +KCS00100-10CB,00,100,10,,CB,KCS-00-100x10.step +KCS00100-10LB,00,100,10,,LB,KCS-00-100x10.step +KCS00100-10YB,00,100,10,,YB,KCS-00-100x10.step +KCS00100-10M,00,100,10,M,,KCS-00-100x10.step +KCS00100-10MFA,00,100,10,M,FA,KCS-00-100x10.step +KCS00100-10MFB,00,100,10,M,FB,KCS-00-100x10.step +KCS00100-10MCA,00,100,10,M,CA,KCS-00-100x10.step +KCS00100-10MCB,00,100,10,M,CB,KCS-00-100x10.step +KCS00100-10MLB,00,100,10,M,LB,KCS-00-100x10.step +KCS00100-10MYB,00,100,10,M,YB,KCS-00-100x10.step +KCS00100-20,00,100,20,,,KCS-00-100x20.step +KCS00100-20FA,00,100,20,,FA,KCS-00-100x20.step +KCS00100-20FB,00,100,20,,FB,KCS-00-100x20.step +KCS00100-20CA,00,100,20,,CA,KCS-00-100x20.step +KCS00100-20CB,00,100,20,,CB,KCS-00-100x20.step +KCS00100-20LB,00,100,20,,LB,KCS-00-100x20.step +KCS00100-20YB,00,100,20,,YB,KCS-00-100x20.step +KCS00100-20M,00,100,20,M,,KCS-00-100x20.step +KCS00100-20MFA,00,100,20,M,FA,KCS-00-100x20.step +KCS00100-20MFB,00,100,20,M,FB,KCS-00-100x20.step +KCS00100-20MCA,00,100,20,M,CA,KCS-00-100x20.step +KCS00100-20MCB,00,100,20,M,CB,KCS-00-100x20.step +KCS00100-20MLB,00,100,20,M,LB,KCS-00-100x20.step +KCS00100-20MYB,00,100,20,M,YB,KCS-00-100x20.step +KCS00100-30,00,100,30,,,KCS-00-100x30.step +KCS00100-30FA,00,100,30,,FA,KCS-00-100x30.step +KCS00100-30FB,00,100,30,,FB,KCS-00-100x30.step +KCS00100-30CA,00,100,30,,CA,KCS-00-100x30.step +KCS00100-30CB,00,100,30,,CB,KCS-00-100x30.step +KCS00100-30LB,00,100,30,,LB,KCS-00-100x30.step +KCS00100-30YB,00,100,30,,YB,KCS-00-100x30.step +KCS00100-30M,00,100,30,M,,KCS-00-100x30.step +KCS00100-30MFA,00,100,30,M,FA,KCS-00-100x30.step +KCS00100-30MFB,00,100,30,M,FB,KCS-00-100x30.step +KCS00100-30MCA,00,100,30,M,CA,KCS-00-100x30.step +KCS00100-30MCB,00,100,30,M,CB,KCS-00-100x30.step +KCS00100-30MLB,00,100,30,M,LB,KCS-00-100x30.step +KCS00100-30MYB,00,100,30,M,YB,KCS-00-100x30.step +KCS00100-50,00,100,50,,,KCS-00-100x50.step +KCS00100-50FA,00,100,50,,FA,KCS-00-100x50.step +KCS00100-50FB,00,100,50,,FB,KCS-00-100x50.step +KCS00100-50CA,00,100,50,,CA,KCS-00-100x50.step +KCS00100-50CB,00,100,50,,CB,KCS-00-100x50.step +KCS00100-50LB,00,100,50,,LB,KCS-00-100x50.step +KCS00100-50YB,00,100,50,,YB,KCS-00-100x50.step +KCS00100-50M,00,100,50,M,,KCS-00-100x50.step +KCS00100-50MFA,00,100,50,M,FA,KCS-00-100x50.step +KCS00100-50MFB,00,100,50,M,FB,KCS-00-100x50.step +KCS00100-50MCA,00,100,50,M,CA,KCS-00-100x50.step +KCS00100-50MCB,00,100,50,M,CB,KCS-00-100x50.step +KCS00100-50MLB,00,100,50,M,LB,KCS-00-100x50.step +KCS00100-50MYB,00,100,50,M,YB,KCS-00-100x50.step +KCS00100-75,00,100,75,,,KCS-00-100x75.step +KCS00100-75FA,00,100,75,,FA,KCS-00-100x75.step +KCS00100-75FB,00,100,75,,FB,KCS-00-100x75.step +KCS00100-75CA,00,100,75,,CA,KCS-00-100x75.step +KCS00100-75CB,00,100,75,,CB,KCS-00-100x75.step +KCS00100-75LB,00,100,75,,LB,KCS-00-100x75.step +KCS00100-75YB,00,100,75,,YB,KCS-00-100x75.step +KCS00100-75M,00,100,75,M,,KCS-00-100x75.step +KCS00100-75MFA,00,100,75,M,FA,KCS-00-100x75.step +KCS00100-75MFB,00,100,75,M,FB,KCS-00-100x75.step +KCS00100-75MCA,00,100,75,M,CA,KCS-00-100x75.step +KCS00100-75MCB,00,100,75,M,CB,KCS-00-100x75.step +KCS00100-75MLB,00,100,75,M,LB,KCS-00-100x75.step +KCS00100-75MYB,00,100,75,M,YB,KCS-00-100x75.step +KCS00100-100,00,100,100,,,KCS-00-100x100.step +KCS00100-100FA,00,100,100,,FA,KCS-00-100x100.step +KCS00100-100FB,00,100,100,,FB,KCS-00-100x100.step +KCS00100-100CA,00,100,100,,CA,KCS-00-100x100.step +KCS00100-100CB,00,100,100,,CB,KCS-00-100x100.step +KCS00100-100LB,00,100,100,,LB,KCS-00-100x100.step +KCS00100-100YB,00,100,100,,YB,KCS-00-100x100.step +KCS00100-100M,00,100,100,M,,KCS-00-100x100.step +KCS00100-100MFA,00,100,100,M,FA,KCS-00-100x100.step +KCS00100-100MFB,00,100,100,M,FB,KCS-00-100x100.step +KCS00100-100MCA,00,100,100,M,CA,KCS-00-100x100.step +KCS00100-100MCB,00,100,100,M,CB,KCS-00-100x100.step +KCS00100-100MLB,00,100,100,M,LB,KCS-00-100x100.step +KCS00100-100MYB,00,100,100,M,YB,KCS-00-100x100.step +KCS0232-10,02,32,10,,,KCS-02-32x10.step +KCS0232-10FA,02,32,10,,FA,KCS-02-32x10.step +KCS0232-10FB,02,32,10,,FB,KCS-02-32x10.step +KCS0232-10CA,02,32,10,,CA,KCS-02-32x10.step +KCS0232-10CB,02,32,10,,CB,KCS-02-32x10.step +KCS0232-10LB,02,32,10,,LB,KCS-02-32x10.step +KCS0232-10YB,02,32,10,,YB,KCS-02-32x10.step +KCS0232-10M,02,32,10,M,,KCS-02-32x10.step +KCS0232-10MFA,02,32,10,M,FA,KCS-02-32x10.step +KCS0232-10MFB,02,32,10,M,FB,KCS-02-32x10.step +KCS0232-10MCA,02,32,10,M,CA,KCS-02-32x10.step +KCS0232-10MCB,02,32,10,M,CB,KCS-02-32x10.step +KCS0232-10MLB,02,32,10,M,LB,KCS-02-32x10.step +KCS0232-10MYB,02,32,10,M,YB,KCS-02-32x10.step +KCS0232-20,02,32,20,,,KCS-02-32x20.step +KCS0232-20FA,02,32,20,,FA,KCS-02-32x20.step +KCS0232-20FB,02,32,20,,FB,KCS-02-32x20.step +KCS0232-20CA,02,32,20,,CA,KCS-02-32x20.step +KCS0232-20CB,02,32,20,,CB,KCS-02-32x20.step +KCS0232-20LB,02,32,20,,LB,KCS-02-32x20.step +KCS0232-20YB,02,32,20,,YB,KCS-02-32x20.step +KCS0232-20M,02,32,20,M,,KCS-02-32x20.step +KCS0232-20MFA,02,32,20,M,FA,KCS-02-32x20.step +KCS0232-20MFB,02,32,20,M,FB,KCS-02-32x20.step +KCS0232-20MCA,02,32,20,M,CA,KCS-02-32x20.step +KCS0232-20MCB,02,32,20,M,CB,KCS-02-32x20.step +KCS0232-20MLB,02,32,20,M,LB,KCS-02-32x20.step +KCS0232-20MYB,02,32,20,M,YB,KCS-02-32x20.step +KCS0232-30,02,32,30,,,KCS-02-32x30.step +KCS0232-30FA,02,32,30,,FA,KCS-02-32x30.step +KCS0232-30FB,02,32,30,,FB,KCS-02-32x30.step +KCS0232-30CA,02,32,30,,CA,KCS-02-32x30.step +KCS0232-30CB,02,32,30,,CB,KCS-02-32x30.step +KCS0232-30LB,02,32,30,,LB,KCS-02-32x30.step +KCS0232-30YB,02,32,30,,YB,KCS-02-32x30.step +KCS0232-30M,02,32,30,M,,KCS-02-32x30.step +KCS0232-30MFA,02,32,30,M,FA,KCS-02-32x30.step +KCS0232-30MFB,02,32,30,M,FB,KCS-02-32x30.step +KCS0232-30MCA,02,32,30,M,CA,KCS-02-32x30.step +KCS0232-30MCB,02,32,30,M,CB,KCS-02-32x30.step +KCS0232-30MLB,02,32,30,M,LB,KCS-02-32x30.step +KCS0232-30MYB,02,32,30,M,YB,KCS-02-32x30.step +KCS0232-50,02,32,50,,,KCS-02-32x50.step +KCS0232-50FA,02,32,50,,FA,KCS-02-32x50.step +KCS0232-50FB,02,32,50,,FB,KCS-02-32x50.step +KCS0232-50CA,02,32,50,,CA,KCS-02-32x50.step +KCS0232-50CB,02,32,50,,CB,KCS-02-32x50.step +KCS0232-50LB,02,32,50,,LB,KCS-02-32x50.step +KCS0232-50YB,02,32,50,,YB,KCS-02-32x50.step +KCS0232-50M,02,32,50,M,,KCS-02-32x50.step +KCS0232-50MFA,02,32,50,M,FA,KCS-02-32x50.step +KCS0232-50MFB,02,32,50,M,FB,KCS-02-32x50.step +KCS0232-50MCA,02,32,50,M,CA,KCS-02-32x50.step +KCS0232-50MCB,02,32,50,M,CB,KCS-02-32x50.step +KCS0232-50MLB,02,32,50,M,LB,KCS-02-32x50.step +KCS0232-50MYB,02,32,50,M,YB,KCS-02-32x50.step +KCS0232-75,02,32,75,,,KCS-02-32x75.step +KCS0232-75FA,02,32,75,,FA,KCS-02-32x75.step +KCS0232-75FB,02,32,75,,FB,KCS-02-32x75.step +KCS0232-75CA,02,32,75,,CA,KCS-02-32x75.step +KCS0232-75CB,02,32,75,,CB,KCS-02-32x75.step +KCS0232-75LB,02,32,75,,LB,KCS-02-32x75.step +KCS0232-75YB,02,32,75,,YB,KCS-02-32x75.step +KCS0232-75M,02,32,75,M,,KCS-02-32x75.step +KCS0232-75MFA,02,32,75,M,FA,KCS-02-32x75.step +KCS0232-75MFB,02,32,75,M,FB,KCS-02-32x75.step +KCS0232-75MCA,02,32,75,M,CA,KCS-02-32x75.step +KCS0232-75MCB,02,32,75,M,CB,KCS-02-32x75.step +KCS0232-75MLB,02,32,75,M,LB,KCS-02-32x75.step +KCS0232-75MYB,02,32,75,M,YB,KCS-02-32x75.step +KCS0232-100,02,32,100,,,KCS-02-32x100.step +KCS0232-100FA,02,32,100,,FA,KCS-02-32x100.step +KCS0232-100FB,02,32,100,,FB,KCS-02-32x100.step +KCS0232-100CA,02,32,100,,CA,KCS-02-32x100.step +KCS0232-100CB,02,32,100,,CB,KCS-02-32x100.step +KCS0232-100LB,02,32,100,,LB,KCS-02-32x100.step +KCS0232-100YB,02,32,100,,YB,KCS-02-32x100.step +KCS0232-100M,02,32,100,M,,KCS-02-32x100.step +KCS0232-100MFA,02,32,100,M,FA,KCS-02-32x100.step +KCS0232-100MFB,02,32,100,M,FB,KCS-02-32x100.step +KCS0232-100MCA,02,32,100,M,CA,KCS-02-32x100.step +KCS0232-100MCB,02,32,100,M,CB,KCS-02-32x100.step +KCS0232-100MLB,02,32,100,M,LB,KCS-02-32x100.step +KCS0232-100MYB,02,32,100,M,YB,KCS-02-32x100.step +KCS0240-10,02,40,10,,,KCS-02-40x10.step +KCS0240-10FA,02,40,10,,FA,KCS-02-40x10.step +KCS0240-10FB,02,40,10,,FB,KCS-02-40x10.step +KCS0240-10CA,02,40,10,,CA,KCS-02-40x10.step +KCS0240-10CB,02,40,10,,CB,KCS-02-40x10.step +KCS0240-10LB,02,40,10,,LB,KCS-02-40x10.step +KCS0240-10YB,02,40,10,,YB,KCS-02-40x10.step +KCS0240-10M,02,40,10,M,,KCS-02-40x10.step +KCS0240-10MFA,02,40,10,M,FA,KCS-02-40x10.step +KCS0240-10MFB,02,40,10,M,FB,KCS-02-40x10.step +KCS0240-10MCA,02,40,10,M,CA,KCS-02-40x10.step +KCS0240-10MCB,02,40,10,M,CB,KCS-02-40x10.step +KCS0240-10MLB,02,40,10,M,LB,KCS-02-40x10.step +KCS0240-10MYB,02,40,10,M,YB,KCS-02-40x10.step +KCS0240-20,02,40,20,,,KCS-02-40x20.step +KCS0240-20FA,02,40,20,,FA,KCS-02-40x20.step +KCS0240-20FB,02,40,20,,FB,KCS-02-40x20.step +KCS0240-20CA,02,40,20,,CA,KCS-02-40x20.step +KCS0240-20CB,02,40,20,,CB,KCS-02-40x20.step +KCS0240-20LB,02,40,20,,LB,KCS-02-40x20.step +KCS0240-20YB,02,40,20,,YB,KCS-02-40x20.step +KCS0240-20M,02,40,20,M,,KCS-02-40x20.step +KCS0240-20MFA,02,40,20,M,FA,KCS-02-40x20.step +KCS0240-20MFB,02,40,20,M,FB,KCS-02-40x20.step +KCS0240-20MCA,02,40,20,M,CA,KCS-02-40x20.step +KCS0240-20MCB,02,40,20,M,CB,KCS-02-40x20.step +KCS0240-20MLB,02,40,20,M,LB,KCS-02-40x20.step +KCS0240-20MYB,02,40,20,M,YB,KCS-02-40x20.step +KCS0240-30,02,40,30,,,KCS-02-40x30.step +KCS0240-30FA,02,40,30,,FA,KCS-02-40x30.step +KCS0240-30FB,02,40,30,,FB,KCS-02-40x30.step +KCS0240-30CA,02,40,30,,CA,KCS-02-40x30.step +KCS0240-30CB,02,40,30,,CB,KCS-02-40x30.step +KCS0240-30LB,02,40,30,,LB,KCS-02-40x30.step +KCS0240-30YB,02,40,30,,YB,KCS-02-40x30.step +KCS0240-30M,02,40,30,M,,KCS-02-40x30.step +KCS0240-30MFA,02,40,30,M,FA,KCS-02-40x30.step +KCS0240-30MFB,02,40,30,M,FB,KCS-02-40x30.step +KCS0240-30MCA,02,40,30,M,CA,KCS-02-40x30.step +KCS0240-30MCB,02,40,30,M,CB,KCS-02-40x30.step +KCS0240-30MLB,02,40,30,M,LB,KCS-02-40x30.step +KCS0240-30MYB,02,40,30,M,YB,KCS-02-40x30.step +KCS0240-50,02,40,50,,,KCS-02-40x50.step +KCS0240-50FA,02,40,50,,FA,KCS-02-40x50.step +KCS0240-50FB,02,40,50,,FB,KCS-02-40x50.step +KCS0240-50CA,02,40,50,,CA,KCS-02-40x50.step +KCS0240-50CB,02,40,50,,CB,KCS-02-40x50.step +KCS0240-50LB,02,40,50,,LB,KCS-02-40x50.step +KCS0240-50YB,02,40,50,,YB,KCS-02-40x50.step +KCS0240-50M,02,40,50,M,,KCS-02-40x50.step +KCS0240-50MFA,02,40,50,M,FA,KCS-02-40x50.step +KCS0240-50MFB,02,40,50,M,FB,KCS-02-40x50.step +KCS0240-50MCA,02,40,50,M,CA,KCS-02-40x50.step +KCS0240-50MCB,02,40,50,M,CB,KCS-02-40x50.step +KCS0240-50MLB,02,40,50,M,LB,KCS-02-40x50.step +KCS0240-50MYB,02,40,50,M,YB,KCS-02-40x50.step +KCS0240-75,02,40,75,,,KCS-02-40x75.step +KCS0240-75FA,02,40,75,,FA,KCS-02-40x75.step +KCS0240-75FB,02,40,75,,FB,KCS-02-40x75.step +KCS0240-75CA,02,40,75,,CA,KCS-02-40x75.step +KCS0240-75CB,02,40,75,,CB,KCS-02-40x75.step +KCS0240-75LB,02,40,75,,LB,KCS-02-40x75.step +KCS0240-75YB,02,40,75,,YB,KCS-02-40x75.step +KCS0240-75M,02,40,75,M,,KCS-02-40x75.step +KCS0240-75MFA,02,40,75,M,FA,KCS-02-40x75.step +KCS0240-75MFB,02,40,75,M,FB,KCS-02-40x75.step +KCS0240-75MCA,02,40,75,M,CA,KCS-02-40x75.step +KCS0240-75MCB,02,40,75,M,CB,KCS-02-40x75.step +KCS0240-75MLB,02,40,75,M,LB,KCS-02-40x75.step +KCS0240-75MYB,02,40,75,M,YB,KCS-02-40x75.step +KCS0240-100,02,40,100,,,KCS-02-40x100.step +KCS0240-100FA,02,40,100,,FA,KCS-02-40x100.step +KCS0240-100FB,02,40,100,,FB,KCS-02-40x100.step +KCS0240-100CA,02,40,100,,CA,KCS-02-40x100.step +KCS0240-100CB,02,40,100,,CB,KCS-02-40x100.step +KCS0240-100LB,02,40,100,,LB,KCS-02-40x100.step +KCS0240-100YB,02,40,100,,YB,KCS-02-40x100.step +KCS0240-100M,02,40,100,M,,KCS-02-40x100.step +KCS0240-100MFA,02,40,100,M,FA,KCS-02-40x100.step +KCS0240-100MFB,02,40,100,M,FB,KCS-02-40x100.step +KCS0240-100MCA,02,40,100,M,CA,KCS-02-40x100.step +KCS0240-100MCB,02,40,100,M,CB,KCS-02-40x100.step +KCS0240-100MLB,02,40,100,M,LB,KCS-02-40x100.step +KCS0240-100MYB,02,40,100,M,YB,KCS-02-40x100.step +KCS0250-10,02,50,10,,,KCS-02-50x10.step +KCS0250-10FA,02,50,10,,FA,KCS-02-50x10.step +KCS0250-10FB,02,50,10,,FB,KCS-02-50x10.step +KCS0250-10CA,02,50,10,,CA,KCS-02-50x10.step +KCS0250-10CB,02,50,10,,CB,KCS-02-50x10.step +KCS0250-10LB,02,50,10,,LB,KCS-02-50x10.step +KCS0250-10YB,02,50,10,,YB,KCS-02-50x10.step +KCS0250-10M,02,50,10,M,,KCS-02-50x10.step +KCS0250-10MFA,02,50,10,M,FA,KCS-02-50x10.step +KCS0250-10MFB,02,50,10,M,FB,KCS-02-50x10.step +KCS0250-10MCA,02,50,10,M,CA,KCS-02-50x10.step +KCS0250-10MCB,02,50,10,M,CB,KCS-02-50x10.step +KCS0250-10MLB,02,50,10,M,LB,KCS-02-50x10.step +KCS0250-10MYB,02,50,10,M,YB,KCS-02-50x10.step +KCS0250-20,02,50,20,,,KCS-02-50x20.step +KCS0250-20FA,02,50,20,,FA,KCS-02-50x20.step +KCS0250-20FB,02,50,20,,FB,KCS-02-50x20.step +KCS0250-20CA,02,50,20,,CA,KCS-02-50x20.step +KCS0250-20CB,02,50,20,,CB,KCS-02-50x20.step +KCS0250-20LB,02,50,20,,LB,KCS-02-50x20.step +KCS0250-20YB,02,50,20,,YB,KCS-02-50x20.step +KCS0250-20M,02,50,20,M,,KCS-02-50x20.step +KCS0250-20MFA,02,50,20,M,FA,KCS-02-50x20.step +KCS0250-20MFB,02,50,20,M,FB,KCS-02-50x20.step +KCS0250-20MCA,02,50,20,M,CA,KCS-02-50x20.step +KCS0250-20MCB,02,50,20,M,CB,KCS-02-50x20.step +KCS0250-20MLB,02,50,20,M,LB,KCS-02-50x20.step +KCS0250-20MYB,02,50,20,M,YB,KCS-02-50x20.step +KCS0250-30,02,50,30,,,KCS-02-50x30.step +KCS0250-30FA,02,50,30,,FA,KCS-02-50x30.step +KCS0250-30FB,02,50,30,,FB,KCS-02-50x30.step +KCS0250-30CA,02,50,30,,CA,KCS-02-50x30.step +KCS0250-30CB,02,50,30,,CB,KCS-02-50x30.step +KCS0250-30LB,02,50,30,,LB,KCS-02-50x30.step +KCS0250-30YB,02,50,30,,YB,KCS-02-50x30.step +KCS0250-30M,02,50,30,M,,KCS-02-50x30.step +KCS0250-30MFA,02,50,30,M,FA,KCS-02-50x30.step +KCS0250-30MFB,02,50,30,M,FB,KCS-02-50x30.step +KCS0250-30MCA,02,50,30,M,CA,KCS-02-50x30.step +KCS0250-30MCB,02,50,30,M,CB,KCS-02-50x30.step +KCS0250-30MLB,02,50,30,M,LB,KCS-02-50x30.step +KCS0250-30MYB,02,50,30,M,YB,KCS-02-50x30.step +KCS0250-50,02,50,50,,,KCS-02-50x50.step +KCS0250-50FA,02,50,50,,FA,KCS-02-50x50.step +KCS0250-50FB,02,50,50,,FB,KCS-02-50x50.step +KCS0250-50CA,02,50,50,,CA,KCS-02-50x50.step +KCS0250-50CB,02,50,50,,CB,KCS-02-50x50.step +KCS0250-50LB,02,50,50,,LB,KCS-02-50x50.step +KCS0250-50YB,02,50,50,,YB,KCS-02-50x50.step +KCS0250-50M,02,50,50,M,,KCS-02-50x50.step +KCS0250-50MFA,02,50,50,M,FA,KCS-02-50x50.step +KCS0250-50MFB,02,50,50,M,FB,KCS-02-50x50.step +KCS0250-50MCA,02,50,50,M,CA,KCS-02-50x50.step +KCS0250-50MCB,02,50,50,M,CB,KCS-02-50x50.step +KCS0250-50MLB,02,50,50,M,LB,KCS-02-50x50.step +KCS0250-50MYB,02,50,50,M,YB,KCS-02-50x50.step +KCS0250-75,02,50,75,,,KCS-02-50x75.step +KCS0250-75FA,02,50,75,,FA,KCS-02-50x75.step +KCS0250-75FB,02,50,75,,FB,KCS-02-50x75.step +KCS0250-75CA,02,50,75,,CA,KCS-02-50x75.step +KCS0250-75CB,02,50,75,,CB,KCS-02-50x75.step +KCS0250-75LB,02,50,75,,LB,KCS-02-50x75.step +KCS0250-75YB,02,50,75,,YB,KCS-02-50x75.step +KCS0250-75M,02,50,75,M,,KCS-02-50x75.step +KCS0250-75MFA,02,50,75,M,FA,KCS-02-50x75.step +KCS0250-75MFB,02,50,75,M,FB,KCS-02-50x75.step +KCS0250-75MCA,02,50,75,M,CA,KCS-02-50x75.step +KCS0250-75MCB,02,50,75,M,CB,KCS-02-50x75.step +KCS0250-75MLB,02,50,75,M,LB,KCS-02-50x75.step +KCS0250-75MYB,02,50,75,M,YB,KCS-02-50x75.step +KCS0250-100,02,50,100,,,KCS-02-50x100.step +KCS0250-100FA,02,50,100,,FA,KCS-02-50x100.step +KCS0250-100FB,02,50,100,,FB,KCS-02-50x100.step +KCS0250-100CA,02,50,100,,CA,KCS-02-50x100.step +KCS0250-100CB,02,50,100,,CB,KCS-02-50x100.step +KCS0250-100LB,02,50,100,,LB,KCS-02-50x100.step +KCS0250-100YB,02,50,100,,YB,KCS-02-50x100.step +KCS0250-100M,02,50,100,M,,KCS-02-50x100.step +KCS0250-100MFA,02,50,100,M,FA,KCS-02-50x100.step +KCS0250-100MFB,02,50,100,M,FB,KCS-02-50x100.step +KCS0250-100MCA,02,50,100,M,CA,KCS-02-50x100.step +KCS0250-100MCB,02,50,100,M,CB,KCS-02-50x100.step +KCS0250-100MLB,02,50,100,M,LB,KCS-02-50x100.step +KCS0250-100MYB,02,50,100,M,YB,KCS-02-50x100.step +KCS0263-10,02,63,10,,,KCS-02-63x10.step +KCS0263-10FA,02,63,10,,FA,KCS-02-63x10.step +KCS0263-10FB,02,63,10,,FB,KCS-02-63x10.step +KCS0263-10CA,02,63,10,,CA,KCS-02-63x10.step +KCS0263-10CB,02,63,10,,CB,KCS-02-63x10.step +KCS0263-10LB,02,63,10,,LB,KCS-02-63x10.step +KCS0263-10YB,02,63,10,,YB,KCS-02-63x10.step +KCS0263-10M,02,63,10,M,,KCS-02-63x10.step +KCS0263-10MFA,02,63,10,M,FA,KCS-02-63x10.step +KCS0263-10MFB,02,63,10,M,FB,KCS-02-63x10.step +KCS0263-10MCA,02,63,10,M,CA,KCS-02-63x10.step +KCS0263-10MCB,02,63,10,M,CB,KCS-02-63x10.step +KCS0263-10MLB,02,63,10,M,LB,KCS-02-63x10.step +KCS0263-10MYB,02,63,10,M,YB,KCS-02-63x10.step +KCS0263-20,02,63,20,,,KCS-02-63x20.step +KCS0263-20FA,02,63,20,,FA,KCS-02-63x20.step +KCS0263-20FB,02,63,20,,FB,KCS-02-63x20.step +KCS0263-20CA,02,63,20,,CA,KCS-02-63x20.step +KCS0263-20CB,02,63,20,,CB,KCS-02-63x20.step +KCS0263-20LB,02,63,20,,LB,KCS-02-63x20.step +KCS0263-20YB,02,63,20,,YB,KCS-02-63x20.step +KCS0263-20M,02,63,20,M,,KCS-02-63x20.step +KCS0263-20MFA,02,63,20,M,FA,KCS-02-63x20.step +KCS0263-20MFB,02,63,20,M,FB,KCS-02-63x20.step +KCS0263-20MCA,02,63,20,M,CA,KCS-02-63x20.step +KCS0263-20MCB,02,63,20,M,CB,KCS-02-63x20.step +KCS0263-20MLB,02,63,20,M,LB,KCS-02-63x20.step +KCS0263-20MYB,02,63,20,M,YB,KCS-02-63x20.step +KCS0263-30,02,63,30,,,KCS-02-63x30.step +KCS0263-30FA,02,63,30,,FA,KCS-02-63x30.step +KCS0263-30FB,02,63,30,,FB,KCS-02-63x30.step +KCS0263-30CA,02,63,30,,CA,KCS-02-63x30.step +KCS0263-30CB,02,63,30,,CB,KCS-02-63x30.step +KCS0263-30LB,02,63,30,,LB,KCS-02-63x30.step +KCS0263-30YB,02,63,30,,YB,KCS-02-63x30.step +KCS0263-30M,02,63,30,M,,KCS-02-63x30.step +KCS0263-30MFA,02,63,30,M,FA,KCS-02-63x30.step +KCS0263-30MFB,02,63,30,M,FB,KCS-02-63x30.step +KCS0263-30MCA,02,63,30,M,CA,KCS-02-63x30.step +KCS0263-30MCB,02,63,30,M,CB,KCS-02-63x30.step +KCS0263-30MLB,02,63,30,M,LB,KCS-02-63x30.step +KCS0263-30MYB,02,63,30,M,YB,KCS-02-63x30.step +KCS0263-50,02,63,50,,,KCS-02-63x50.step +KCS0263-50FA,02,63,50,,FA,KCS-02-63x50.step +KCS0263-50FB,02,63,50,,FB,KCS-02-63x50.step +KCS0263-50CA,02,63,50,,CA,KCS-02-63x50.step +KCS0263-50CB,02,63,50,,CB,KCS-02-63x50.step +KCS0263-50LB,02,63,50,,LB,KCS-02-63x50.step +KCS0263-50YB,02,63,50,,YB,KCS-02-63x50.step +KCS0263-50M,02,63,50,M,,KCS-02-63x50.step +KCS0263-50MFA,02,63,50,M,FA,KCS-02-63x50.step +KCS0263-50MFB,02,63,50,M,FB,KCS-02-63x50.step +KCS0263-50MCA,02,63,50,M,CA,KCS-02-63x50.step +KCS0263-50MCB,02,63,50,M,CB,KCS-02-63x50.step +KCS0263-50MLB,02,63,50,M,LB,KCS-02-63x50.step +KCS0263-50MYB,02,63,50,M,YB,KCS-02-63x50.step +KCS0263-75,02,63,75,,,KCS-02-63x75.step +KCS0263-75FA,02,63,75,,FA,KCS-02-63x75.step +KCS0263-75FB,02,63,75,,FB,KCS-02-63x75.step +KCS0263-75CA,02,63,75,,CA,KCS-02-63x75.step +KCS0263-75CB,02,63,75,,CB,KCS-02-63x75.step +KCS0263-75LB,02,63,75,,LB,KCS-02-63x75.step +KCS0263-75YB,02,63,75,,YB,KCS-02-63x75.step +KCS0263-75M,02,63,75,M,,KCS-02-63x75.step +KCS0263-75MFA,02,63,75,M,FA,KCS-02-63x75.step +KCS0263-75MFB,02,63,75,M,FB,KCS-02-63x75.step +KCS0263-75MCA,02,63,75,M,CA,KCS-02-63x75.step +KCS0263-75MCB,02,63,75,M,CB,KCS-02-63x75.step +KCS0263-75MLB,02,63,75,M,LB,KCS-02-63x75.step +KCS0263-75MYB,02,63,75,M,YB,KCS-02-63x75.step +KCS0263-100,02,63,100,,,KCS-02-63x100.step +KCS0263-100FA,02,63,100,,FA,KCS-02-63x100.step +KCS0263-100FB,02,63,100,,FB,KCS-02-63x100.step +KCS0263-100CA,02,63,100,,CA,KCS-02-63x100.step +KCS0263-100CB,02,63,100,,CB,KCS-02-63x100.step +KCS0263-100LB,02,63,100,,LB,KCS-02-63x100.step +KCS0263-100YB,02,63,100,,YB,KCS-02-63x100.step +KCS0263-100M,02,63,100,M,,KCS-02-63x100.step +KCS0263-100MFA,02,63,100,M,FA,KCS-02-63x100.step +KCS0263-100MFB,02,63,100,M,FB,KCS-02-63x100.step +KCS0263-100MCA,02,63,100,M,CA,KCS-02-63x100.step +KCS0263-100MCB,02,63,100,M,CB,KCS-02-63x100.step +KCS0263-100MLB,02,63,100,M,LB,KCS-02-63x100.step +KCS0263-100MYB,02,63,100,M,YB,KCS-02-63x100.step +KCS0280-10,02,80,10,,,KCS-02-80x10.step +KCS0280-10FA,02,80,10,,FA,KCS-02-80x10.step +KCS0280-10FB,02,80,10,,FB,KCS-02-80x10.step +KCS0280-10CA,02,80,10,,CA,KCS-02-80x10.step +KCS0280-10CB,02,80,10,,CB,KCS-02-80x10.step +KCS0280-10LB,02,80,10,,LB,KCS-02-80x10.step +KCS0280-10YB,02,80,10,,YB,KCS-02-80x10.step +KCS0280-10M,02,80,10,M,,KCS-02-80x10.step +KCS0280-10MFA,02,80,10,M,FA,KCS-02-80x10.step +KCS0280-10MFB,02,80,10,M,FB,KCS-02-80x10.step +KCS0280-10MCA,02,80,10,M,CA,KCS-02-80x10.step +KCS0280-10MCB,02,80,10,M,CB,KCS-02-80x10.step +KCS0280-10MLB,02,80,10,M,LB,KCS-02-80x10.step +KCS0280-10MYB,02,80,10,M,YB,KCS-02-80x10.step +KCS0280-20,02,80,20,,,KCS-02-80x20.step +KCS0280-20FA,02,80,20,,FA,KCS-02-80x20.step +KCS0280-20FB,02,80,20,,FB,KCS-02-80x20.step +KCS0280-20CA,02,80,20,,CA,KCS-02-80x20.step +KCS0280-20CB,02,80,20,,CB,KCS-02-80x20.step +KCS0280-20LB,02,80,20,,LB,KCS-02-80x20.step +KCS0280-20YB,02,80,20,,YB,KCS-02-80x20.step +KCS0280-20M,02,80,20,M,,KCS-02-80x20.step +KCS0280-20MFA,02,80,20,M,FA,KCS-02-80x20.step +KCS0280-20MFB,02,80,20,M,FB,KCS-02-80x20.step +KCS0280-20MCA,02,80,20,M,CA,KCS-02-80x20.step +KCS0280-20MCB,02,80,20,M,CB,KCS-02-80x20.step +KCS0280-20MLB,02,80,20,M,LB,KCS-02-80x20.step +KCS0280-20MYB,02,80,20,M,YB,KCS-02-80x20.step +KCS0280-30,02,80,30,,,KCS-02-80x30.step +KCS0280-30FA,02,80,30,,FA,KCS-02-80x30.step +KCS0280-30FB,02,80,30,,FB,KCS-02-80x30.step +KCS0280-30CA,02,80,30,,CA,KCS-02-80x30.step +KCS0280-30CB,02,80,30,,CB,KCS-02-80x30.step +KCS0280-30LB,02,80,30,,LB,KCS-02-80x30.step +KCS0280-30YB,02,80,30,,YB,KCS-02-80x30.step +KCS0280-30M,02,80,30,M,,KCS-02-80x30.step +KCS0280-30MFA,02,80,30,M,FA,KCS-02-80x30.step +KCS0280-30MFB,02,80,30,M,FB,KCS-02-80x30.step +KCS0280-30MCA,02,80,30,M,CA,KCS-02-80x30.step +KCS0280-30MCB,02,80,30,M,CB,KCS-02-80x30.step +KCS0280-30MLB,02,80,30,M,LB,KCS-02-80x30.step +KCS0280-30MYB,02,80,30,M,YB,KCS-02-80x30.step +KCS0280-50,02,80,50,,,KCS-02-80x50.step +KCS0280-50FA,02,80,50,,FA,KCS-02-80x50.step +KCS0280-50FB,02,80,50,,FB,KCS-02-80x50.step +KCS0280-50CA,02,80,50,,CA,KCS-02-80x50.step +KCS0280-50CB,02,80,50,,CB,KCS-02-80x50.step +KCS0280-50LB,02,80,50,,LB,KCS-02-80x50.step +KCS0280-50YB,02,80,50,,YB,KCS-02-80x50.step +KCS0280-50M,02,80,50,M,,KCS-02-80x50.step +KCS0280-50MFA,02,80,50,M,FA,KCS-02-80x50.step +KCS0280-50MFB,02,80,50,M,FB,KCS-02-80x50.step +KCS0280-50MCA,02,80,50,M,CA,KCS-02-80x50.step +KCS0280-50MCB,02,80,50,M,CB,KCS-02-80x50.step +KCS0280-50MLB,02,80,50,M,LB,KCS-02-80x50.step +KCS0280-50MYB,02,80,50,M,YB,KCS-02-80x50.step +KCS0280-75,02,80,75,,,KCS-02-80x75.step +KCS0280-75FA,02,80,75,,FA,KCS-02-80x75.step +KCS0280-75FB,02,80,75,,FB,KCS-02-80x75.step +KCS0280-75CA,02,80,75,,CA,KCS-02-80x75.step +KCS0280-75CB,02,80,75,,CB,KCS-02-80x75.step +KCS0280-75LB,02,80,75,,LB,KCS-02-80x75.step +KCS0280-75YB,02,80,75,,YB,KCS-02-80x75.step +KCS0280-75M,02,80,75,M,,KCS-02-80x75.step +KCS0280-75MFA,02,80,75,M,FA,KCS-02-80x75.step +KCS0280-75MFB,02,80,75,M,FB,KCS-02-80x75.step +KCS0280-75MCA,02,80,75,M,CA,KCS-02-80x75.step +KCS0280-75MCB,02,80,75,M,CB,KCS-02-80x75.step +KCS0280-75MLB,02,80,75,M,LB,KCS-02-80x75.step +KCS0280-75MYB,02,80,75,M,YB,KCS-02-80x75.step +KCS0280-100,02,80,100,,,KCS-02-80x100.step +KCS0280-100FA,02,80,100,,FA,KCS-02-80x100.step +KCS0280-100FB,02,80,100,,FB,KCS-02-80x100.step +KCS0280-100CA,02,80,100,,CA,KCS-02-80x100.step +KCS0280-100CB,02,80,100,,CB,KCS-02-80x100.step +KCS0280-100LB,02,80,100,,LB,KCS-02-80x100.step +KCS0280-100YB,02,80,100,,YB,KCS-02-80x100.step +KCS0280-100M,02,80,100,M,,KCS-02-80x100.step +KCS0280-100MFA,02,80,100,M,FA,KCS-02-80x100.step +KCS0280-100MFB,02,80,100,M,FB,KCS-02-80x100.step +KCS0280-100MCA,02,80,100,M,CA,KCS-02-80x100.step +KCS0280-100MCB,02,80,100,M,CB,KCS-02-80x100.step +KCS0280-100MLB,02,80,100,M,LB,KCS-02-80x100.step +KCS0280-100MYB,02,80,100,M,YB,KCS-02-80x100.step +KCS02100-10,02,100,10,,,KCS-02-100x10.step +KCS02100-10FA,02,100,10,,FA,KCS-02-100x10.step +KCS02100-10FB,02,100,10,,FB,KCS-02-100x10.step +KCS02100-10CA,02,100,10,,CA,KCS-02-100x10.step +KCS02100-10CB,02,100,10,,CB,KCS-02-100x10.step +KCS02100-10LB,02,100,10,,LB,KCS-02-100x10.step +KCS02100-10YB,02,100,10,,YB,KCS-02-100x10.step +KCS02100-10M,02,100,10,M,,KCS-02-100x10.step +KCS02100-10MFA,02,100,10,M,FA,KCS-02-100x10.step +KCS02100-10MFB,02,100,10,M,FB,KCS-02-100x10.step +KCS02100-10MCA,02,100,10,M,CA,KCS-02-100x10.step +KCS02100-10MCB,02,100,10,M,CB,KCS-02-100x10.step +KCS02100-10MLB,02,100,10,M,LB,KCS-02-100x10.step +KCS02100-10MYB,02,100,10,M,YB,KCS-02-100x10.step +KCS02100-20,02,100,20,,,KCS-02-100x20.step +KCS02100-20FA,02,100,20,,FA,KCS-02-100x20.step +KCS02100-20FB,02,100,20,,FB,KCS-02-100x20.step +KCS02100-20CA,02,100,20,,CA,KCS-02-100x20.step +KCS02100-20CB,02,100,20,,CB,KCS-02-100x20.step +KCS02100-20LB,02,100,20,,LB,KCS-02-100x20.step +KCS02100-20YB,02,100,20,,YB,KCS-02-100x20.step +KCS02100-20M,02,100,20,M,,KCS-02-100x20.step +KCS02100-20MFA,02,100,20,M,FA,KCS-02-100x20.step +KCS02100-20MFB,02,100,20,M,FB,KCS-02-100x20.step +KCS02100-20MCA,02,100,20,M,CA,KCS-02-100x20.step +KCS02100-20MCB,02,100,20,M,CB,KCS-02-100x20.step +KCS02100-20MLB,02,100,20,M,LB,KCS-02-100x20.step +KCS02100-20MYB,02,100,20,M,YB,KCS-02-100x20.step +KCS02100-30,02,100,30,,,KCS-02-100x30.step +KCS02100-30FA,02,100,30,,FA,KCS-02-100x30.step +KCS02100-30FB,02,100,30,,FB,KCS-02-100x30.step +KCS02100-30CA,02,100,30,,CA,KCS-02-100x30.step +KCS02100-30CB,02,100,30,,CB,KCS-02-100x30.step +KCS02100-30LB,02,100,30,,LB,KCS-02-100x30.step +KCS02100-30YB,02,100,30,,YB,KCS-02-100x30.step +KCS02100-30M,02,100,30,M,,KCS-02-100x30.step +KCS02100-30MFA,02,100,30,M,FA,KCS-02-100x30.step +KCS02100-30MFB,02,100,30,M,FB,KCS-02-100x30.step +KCS02100-30MCA,02,100,30,M,CA,KCS-02-100x30.step +KCS02100-30MCB,02,100,30,M,CB,KCS-02-100x30.step +KCS02100-30MLB,02,100,30,M,LB,KCS-02-100x30.step +KCS02100-30MYB,02,100,30,M,YB,KCS-02-100x30.step +KCS02100-50,02,100,50,,,KCS-02-100x50.step +KCS02100-50FA,02,100,50,,FA,KCS-02-100x50.step +KCS02100-50FB,02,100,50,,FB,KCS-02-100x50.step +KCS02100-50CA,02,100,50,,CA,KCS-02-100x50.step +KCS02100-50CB,02,100,50,,CB,KCS-02-100x50.step +KCS02100-50LB,02,100,50,,LB,KCS-02-100x50.step +KCS02100-50YB,02,100,50,,YB,KCS-02-100x50.step +KCS02100-50M,02,100,50,M,,KCS-02-100x50.step +KCS02100-50MFA,02,100,50,M,FA,KCS-02-100x50.step +KCS02100-50MFB,02,100,50,M,FB,KCS-02-100x50.step +KCS02100-50MCA,02,100,50,M,CA,KCS-02-100x50.step +KCS02100-50MCB,02,100,50,M,CB,KCS-02-100x50.step +KCS02100-50MLB,02,100,50,M,LB,KCS-02-100x50.step +KCS02100-50MYB,02,100,50,M,YB,KCS-02-100x50.step +KCS02100-75,02,100,75,,,KCS-02-100x75.step +KCS02100-75FA,02,100,75,,FA,KCS-02-100x75.step +KCS02100-75FB,02,100,75,,FB,KCS-02-100x75.step +KCS02100-75CA,02,100,75,,CA,KCS-02-100x75.step +KCS02100-75CB,02,100,75,,CB,KCS-02-100x75.step +KCS02100-75LB,02,100,75,,LB,KCS-02-100x75.step +KCS02100-75YB,02,100,75,,YB,KCS-02-100x75.step +KCS02100-75M,02,100,75,M,,KCS-02-100x75.step +KCS02100-75MFA,02,100,75,M,FA,KCS-02-100x75.step +KCS02100-75MFB,02,100,75,M,FB,KCS-02-100x75.step +KCS02100-75MCA,02,100,75,M,CA,KCS-02-100x75.step +KCS02100-75MCB,02,100,75,M,CB,KCS-02-100x75.step +KCS02100-75MLB,02,100,75,M,LB,KCS-02-100x75.step +KCS02100-75MYB,02,100,75,M,YB,KCS-02-100x75.step +KCS02100-100,02,100,100,,,KCS-02-100x100.step +KCS02100-100FA,02,100,100,,FA,KCS-02-100x100.step +KCS02100-100FB,02,100,100,,FB,KCS-02-100x100.step +KCS02100-100CA,02,100,100,,CA,KCS-02-100x100.step +KCS02100-100CB,02,100,100,,CB,KCS-02-100x100.step +KCS02100-100LB,02,100,100,,LB,KCS-02-100x100.step +KCS02100-100YB,02,100,100,,YB,KCS-02-100x100.step +KCS02100-100M,02,100,100,M,,KCS-02-100x100.step +KCS02100-100MFA,02,100,100,M,FA,KCS-02-100x100.step +KCS02100-100MFB,02,100,100,M,FB,KCS-02-100x100.step +KCS02100-100MCA,02,100,100,M,CA,KCS-02-100x100.step +KCS02100-100MCB,02,100,100,M,CB,KCS-02-100x100.step +KCS02100-100MLB,02,100,100,M,LB,KCS-02-100x100.step +KCS02100-100MYB,02,100,100,M,YB,KCS-02-100x100.step +KCS0332-10,03,32,10,,,KCS-03-32x10.step +KCS0332-10FA,03,32,10,,FA,KCS-03-32x10.step +KCS0332-10FB,03,32,10,,FB,KCS-03-32x10.step +KCS0332-10CA,03,32,10,,CA,KCS-03-32x10.step +KCS0332-10CB,03,32,10,,CB,KCS-03-32x10.step +KCS0332-10LB,03,32,10,,LB,KCS-03-32x10.step +KCS0332-10YB,03,32,10,,YB,KCS-03-32x10.step +KCS0332-10M,03,32,10,M,,KCS-03-32x10.step +KCS0332-10MFA,03,32,10,M,FA,KCS-03-32x10.step +KCS0332-10MFB,03,32,10,M,FB,KCS-03-32x10.step +KCS0332-10MCA,03,32,10,M,CA,KCS-03-32x10.step +KCS0332-10MCB,03,32,10,M,CB,KCS-03-32x10.step +KCS0332-10MLB,03,32,10,M,LB,KCS-03-32x10.step +KCS0332-10MYB,03,32,10,M,YB,KCS-03-32x10.step +KCS0332-20,03,32,20,,,KCS-03-32x20.step +KCS0332-20FA,03,32,20,,FA,KCS-03-32x20.step +KCS0332-20FB,03,32,20,,FB,KCS-03-32x20.step +KCS0332-20CA,03,32,20,,CA,KCS-03-32x20.step +KCS0332-20CB,03,32,20,,CB,KCS-03-32x20.step +KCS0332-20LB,03,32,20,,LB,KCS-03-32x20.step +KCS0332-20YB,03,32,20,,YB,KCS-03-32x20.step +KCS0332-20M,03,32,20,M,,KCS-03-32x20.step +KCS0332-20MFA,03,32,20,M,FA,KCS-03-32x20.step +KCS0332-20MFB,03,32,20,M,FB,KCS-03-32x20.step +KCS0332-20MCA,03,32,20,M,CA,KCS-03-32x20.step +KCS0332-20MCB,03,32,20,M,CB,KCS-03-32x20.step +KCS0332-20MLB,03,32,20,M,LB,KCS-03-32x20.step +KCS0332-20MYB,03,32,20,M,YB,KCS-03-32x20.step +KCS0332-30,03,32,30,,,KCS-03-32x30.step +KCS0332-30FA,03,32,30,,FA,KCS-03-32x30.step +KCS0332-30FB,03,32,30,,FB,KCS-03-32x30.step +KCS0332-30CA,03,32,30,,CA,KCS-03-32x30.step +KCS0332-30CB,03,32,30,,CB,KCS-03-32x30.step +KCS0332-30LB,03,32,30,,LB,KCS-03-32x30.step +KCS0332-30YB,03,32,30,,YB,KCS-03-32x30.step +KCS0332-30M,03,32,30,M,,KCS-03-32x30.step +KCS0332-30MFA,03,32,30,M,FA,KCS-03-32x30.step +KCS0332-30MFB,03,32,30,M,FB,KCS-03-32x30.step +KCS0332-30MCA,03,32,30,M,CA,KCS-03-32x30.step +KCS0332-30MCB,03,32,30,M,CB,KCS-03-32x30.step +KCS0332-30MLB,03,32,30,M,LB,KCS-03-32x30.step +KCS0332-30MYB,03,32,30,M,YB,KCS-03-32x30.step +KCS0332-50,03,32,50,,,KCS-03-32x50.step +KCS0332-50FA,03,32,50,,FA,KCS-03-32x50.step +KCS0332-50FB,03,32,50,,FB,KCS-03-32x50.step +KCS0332-50CA,03,32,50,,CA,KCS-03-32x50.step +KCS0332-50CB,03,32,50,,CB,KCS-03-32x50.step +KCS0332-50LB,03,32,50,,LB,KCS-03-32x50.step +KCS0332-50YB,03,32,50,,YB,KCS-03-32x50.step +KCS0332-50M,03,32,50,M,,KCS-03-32x50.step +KCS0332-50MFA,03,32,50,M,FA,KCS-03-32x50.step +KCS0332-50MFB,03,32,50,M,FB,KCS-03-32x50.step +KCS0332-50MCA,03,32,50,M,CA,KCS-03-32x50.step +KCS0332-50MCB,03,32,50,M,CB,KCS-03-32x50.step +KCS0332-50MLB,03,32,50,M,LB,KCS-03-32x50.step +KCS0332-50MYB,03,32,50,M,YB,KCS-03-32x50.step +KCS0332-75,03,32,75,,,KCS-03-32x75.step +KCS0332-75FA,03,32,75,,FA,KCS-03-32x75.step +KCS0332-75FB,03,32,75,,FB,KCS-03-32x75.step +KCS0332-75CA,03,32,75,,CA,KCS-03-32x75.step +KCS0332-75CB,03,32,75,,CB,KCS-03-32x75.step +KCS0332-75LB,03,32,75,,LB,KCS-03-32x75.step +KCS0332-75YB,03,32,75,,YB,KCS-03-32x75.step +KCS0332-75M,03,32,75,M,,KCS-03-32x75.step +KCS0332-75MFA,03,32,75,M,FA,KCS-03-32x75.step +KCS0332-75MFB,03,32,75,M,FB,KCS-03-32x75.step +KCS0332-75MCA,03,32,75,M,CA,KCS-03-32x75.step +KCS0332-75MCB,03,32,75,M,CB,KCS-03-32x75.step +KCS0332-75MLB,03,32,75,M,LB,KCS-03-32x75.step +KCS0332-75MYB,03,32,75,M,YB,KCS-03-32x75.step +KCS0332-100,03,32,100,,,KCS-03-32x100.step +KCS0332-100FA,03,32,100,,FA,KCS-03-32x100.step +KCS0332-100FB,03,32,100,,FB,KCS-03-32x100.step +KCS0332-100CA,03,32,100,,CA,KCS-03-32x100.step +KCS0332-100CB,03,32,100,,CB,KCS-03-32x100.step +KCS0332-100LB,03,32,100,,LB,KCS-03-32x100.step +KCS0332-100YB,03,32,100,,YB,KCS-03-32x100.step +KCS0332-100M,03,32,100,M,,KCS-03-32x100.step +KCS0332-100MFA,03,32,100,M,FA,KCS-03-32x100.step +KCS0332-100MFB,03,32,100,M,FB,KCS-03-32x100.step +KCS0332-100MCA,03,32,100,M,CA,KCS-03-32x100.step +KCS0332-100MCB,03,32,100,M,CB,KCS-03-32x100.step +KCS0332-100MLB,03,32,100,M,LB,KCS-03-32x100.step +KCS0332-100MYB,03,32,100,M,YB,KCS-03-32x100.step +KCS0340-10,03,40,10,,,KCS-03-40x10.step +KCS0340-10FA,03,40,10,,FA,KCS-03-40x10.step +KCS0340-10FB,03,40,10,,FB,KCS-03-40x10.step +KCS0340-10CA,03,40,10,,CA,KCS-03-40x10.step +KCS0340-10CB,03,40,10,,CB,KCS-03-40x10.step +KCS0340-10LB,03,40,10,,LB,KCS-03-40x10.step +KCS0340-10YB,03,40,10,,YB,KCS-03-40x10.step +KCS0340-10M,03,40,10,M,,KCS-03-40x10.step +KCS0340-10MFA,03,40,10,M,FA,KCS-03-40x10.step +KCS0340-10MFB,03,40,10,M,FB,KCS-03-40x10.step +KCS0340-10MCA,03,40,10,M,CA,KCS-03-40x10.step +KCS0340-10MCB,03,40,10,M,CB,KCS-03-40x10.step +KCS0340-10MLB,03,40,10,M,LB,KCS-03-40x10.step +KCS0340-10MYB,03,40,10,M,YB,KCS-03-40x10.step +KCS0340-20,03,40,20,,,KCS-03-40x20.step +KCS0340-20FA,03,40,20,,FA,KCS-03-40x20.step +KCS0340-20FB,03,40,20,,FB,KCS-03-40x20.step +KCS0340-20CA,03,40,20,,CA,KCS-03-40x20.step +KCS0340-20CB,03,40,20,,CB,KCS-03-40x20.step +KCS0340-20LB,03,40,20,,LB,KCS-03-40x20.step +KCS0340-20YB,03,40,20,,YB,KCS-03-40x20.step +KCS0340-20M,03,40,20,M,,KCS-03-40x20.step +KCS0340-20MFA,03,40,20,M,FA,KCS-03-40x20.step +KCS0340-20MFB,03,40,20,M,FB,KCS-03-40x20.step +KCS0340-20MCA,03,40,20,M,CA,KCS-03-40x20.step +KCS0340-20MCB,03,40,20,M,CB,KCS-03-40x20.step +KCS0340-20MLB,03,40,20,M,LB,KCS-03-40x20.step +KCS0340-20MYB,03,40,20,M,YB,KCS-03-40x20.step +KCS0340-30,03,40,30,,,KCS-03-40x30.step +KCS0340-30FA,03,40,30,,FA,KCS-03-40x30.step +KCS0340-30FB,03,40,30,,FB,KCS-03-40x30.step +KCS0340-30CA,03,40,30,,CA,KCS-03-40x30.step +KCS0340-30CB,03,40,30,,CB,KCS-03-40x30.step +KCS0340-30LB,03,40,30,,LB,KCS-03-40x30.step +KCS0340-30YB,03,40,30,,YB,KCS-03-40x30.step +KCS0340-30M,03,40,30,M,,KCS-03-40x30.step +KCS0340-30MFA,03,40,30,M,FA,KCS-03-40x30.step +KCS0340-30MFB,03,40,30,M,FB,KCS-03-40x30.step +KCS0340-30MCA,03,40,30,M,CA,KCS-03-40x30.step +KCS0340-30MCB,03,40,30,M,CB,KCS-03-40x30.step +KCS0340-30MLB,03,40,30,M,LB,KCS-03-40x30.step +KCS0340-30MYB,03,40,30,M,YB,KCS-03-40x30.step +KCS0340-50,03,40,50,,,KCS-03-40x50.step +KCS0340-50FA,03,40,50,,FA,KCS-03-40x50.step +KCS0340-50FB,03,40,50,,FB,KCS-03-40x50.step +KCS0340-50CA,03,40,50,,CA,KCS-03-40x50.step +KCS0340-50CB,03,40,50,,CB,KCS-03-40x50.step +KCS0340-50LB,03,40,50,,LB,KCS-03-40x50.step +KCS0340-50YB,03,40,50,,YB,KCS-03-40x50.step +KCS0340-50M,03,40,50,M,,KCS-03-40x50.step +KCS0340-50MFA,03,40,50,M,FA,KCS-03-40x50.step +KCS0340-50MFB,03,40,50,M,FB,KCS-03-40x50.step +KCS0340-50MCA,03,40,50,M,CA,KCS-03-40x50.step +KCS0340-50MCB,03,40,50,M,CB,KCS-03-40x50.step +KCS0340-50MLB,03,40,50,M,LB,KCS-03-40x50.step +KCS0340-50MYB,03,40,50,M,YB,KCS-03-40x50.step +KCS0340-75,03,40,75,,,KCS-03-40x75.step +KCS0340-75FA,03,40,75,,FA,KCS-03-40x75.step +KCS0340-75FB,03,40,75,,FB,KCS-03-40x75.step +KCS0340-75CA,03,40,75,,CA,KCS-03-40x75.step +KCS0340-75CB,03,40,75,,CB,KCS-03-40x75.step +KCS0340-75LB,03,40,75,,LB,KCS-03-40x75.step +KCS0340-75YB,03,40,75,,YB,KCS-03-40x75.step +KCS0340-75M,03,40,75,M,,KCS-03-40x75.step +KCS0340-75MFA,03,40,75,M,FA,KCS-03-40x75.step +KCS0340-75MFB,03,40,75,M,FB,KCS-03-40x75.step +KCS0340-75MCA,03,40,75,M,CA,KCS-03-40x75.step +KCS0340-75MCB,03,40,75,M,CB,KCS-03-40x75.step +KCS0340-75MLB,03,40,75,M,LB,KCS-03-40x75.step +KCS0340-75MYB,03,40,75,M,YB,KCS-03-40x75.step +KCS0340-100,03,40,100,,,KCS-03-40x100.step +KCS0340-100FA,03,40,100,,FA,KCS-03-40x100.step +KCS0340-100FB,03,40,100,,FB,KCS-03-40x100.step +KCS0340-100CA,03,40,100,,CA,KCS-03-40x100.step +KCS0340-100CB,03,40,100,,CB,KCS-03-40x100.step +KCS0340-100LB,03,40,100,,LB,KCS-03-40x100.step +KCS0340-100YB,03,40,100,,YB,KCS-03-40x100.step +KCS0340-100M,03,40,100,M,,KCS-03-40x100.step +KCS0340-100MFA,03,40,100,M,FA,KCS-03-40x100.step +KCS0340-100MFB,03,40,100,M,FB,KCS-03-40x100.step +KCS0340-100MCA,03,40,100,M,CA,KCS-03-40x100.step +KCS0340-100MCB,03,40,100,M,CB,KCS-03-40x100.step +KCS0340-100MLB,03,40,100,M,LB,KCS-03-40x100.step +KCS0340-100MYB,03,40,100,M,YB,KCS-03-40x100.step +KCS0350-10,03,50,10,,,KCS-03-50x10.step +KCS0350-10FA,03,50,10,,FA,KCS-03-50x10.step +KCS0350-10FB,03,50,10,,FB,KCS-03-50x10.step +KCS0350-10CA,03,50,10,,CA,KCS-03-50x10.step +KCS0350-10CB,03,50,10,,CB,KCS-03-50x10.step +KCS0350-10LB,03,50,10,,LB,KCS-03-50x10.step +KCS0350-10YB,03,50,10,,YB,KCS-03-50x10.step +KCS0350-10M,03,50,10,M,,KCS-03-50x10.step +KCS0350-10MFA,03,50,10,M,FA,KCS-03-50x10.step +KCS0350-10MFB,03,50,10,M,FB,KCS-03-50x10.step +KCS0350-10MCA,03,50,10,M,CA,KCS-03-50x10.step +KCS0350-10MCB,03,50,10,M,CB,KCS-03-50x10.step +KCS0350-10MLB,03,50,10,M,LB,KCS-03-50x10.step +KCS0350-10MYB,03,50,10,M,YB,KCS-03-50x10.step +KCS0350-20,03,50,20,,,KCS-03-50x20.step +KCS0350-20FA,03,50,20,,FA,KCS-03-50x20.step +KCS0350-20FB,03,50,20,,FB,KCS-03-50x20.step +KCS0350-20CA,03,50,20,,CA,KCS-03-50x20.step +KCS0350-20CB,03,50,20,,CB,KCS-03-50x20.step +KCS0350-20LB,03,50,20,,LB,KCS-03-50x20.step +KCS0350-20YB,03,50,20,,YB,KCS-03-50x20.step +KCS0350-20M,03,50,20,M,,KCS-03-50x20.step +KCS0350-20MFA,03,50,20,M,FA,KCS-03-50x20.step +KCS0350-20MFB,03,50,20,M,FB,KCS-03-50x20.step +KCS0350-20MCA,03,50,20,M,CA,KCS-03-50x20.step +KCS0350-20MCB,03,50,20,M,CB,KCS-03-50x20.step +KCS0350-20MLB,03,50,20,M,LB,KCS-03-50x20.step +KCS0350-20MYB,03,50,20,M,YB,KCS-03-50x20.step +KCS0350-30,03,50,30,,,KCS-03-50x30.step +KCS0350-30FA,03,50,30,,FA,KCS-03-50x30.step +KCS0350-30FB,03,50,30,,FB,KCS-03-50x30.step +KCS0350-30CA,03,50,30,,CA,KCS-03-50x30.step +KCS0350-30CB,03,50,30,,CB,KCS-03-50x30.step +KCS0350-30LB,03,50,30,,LB,KCS-03-50x30.step +KCS0350-30YB,03,50,30,,YB,KCS-03-50x30.step +KCS0350-30M,03,50,30,M,,KCS-03-50x30.step +KCS0350-30MFA,03,50,30,M,FA,KCS-03-50x30.step +KCS0350-30MFB,03,50,30,M,FB,KCS-03-50x30.step +KCS0350-30MCA,03,50,30,M,CA,KCS-03-50x30.step +KCS0350-30MCB,03,50,30,M,CB,KCS-03-50x30.step +KCS0350-30MLB,03,50,30,M,LB,KCS-03-50x30.step +KCS0350-30MYB,03,50,30,M,YB,KCS-03-50x30.step +KCS0350-50,03,50,50,,,KCS-03-50x50.step +KCS0350-50FA,03,50,50,,FA,KCS-03-50x50.step +KCS0350-50FB,03,50,50,,FB,KCS-03-50x50.step +KCS0350-50CA,03,50,50,,CA,KCS-03-50x50.step +KCS0350-50CB,03,50,50,,CB,KCS-03-50x50.step +KCS0350-50LB,03,50,50,,LB,KCS-03-50x50.step +KCS0350-50YB,03,50,50,,YB,KCS-03-50x50.step +KCS0350-50M,03,50,50,M,,KCS-03-50x50.step +KCS0350-50MFA,03,50,50,M,FA,KCS-03-50x50.step +KCS0350-50MFB,03,50,50,M,FB,KCS-03-50x50.step +KCS0350-50MCA,03,50,50,M,CA,KCS-03-50x50.step +KCS0350-50MCB,03,50,50,M,CB,KCS-03-50x50.step +KCS0350-50MLB,03,50,50,M,LB,KCS-03-50x50.step +KCS0350-50MYB,03,50,50,M,YB,KCS-03-50x50.step +KCS0350-75,03,50,75,,,KCS-03-50x75.step +KCS0350-75FA,03,50,75,,FA,KCS-03-50x75.step +KCS0350-75FB,03,50,75,,FB,KCS-03-50x75.step +KCS0350-75CA,03,50,75,,CA,KCS-03-50x75.step +KCS0350-75CB,03,50,75,,CB,KCS-03-50x75.step +KCS0350-75LB,03,50,75,,LB,KCS-03-50x75.step +KCS0350-75YB,03,50,75,,YB,KCS-03-50x75.step +KCS0350-75M,03,50,75,M,,KCS-03-50x75.step +KCS0350-75MFA,03,50,75,M,FA,KCS-03-50x75.step +KCS0350-75MFB,03,50,75,M,FB,KCS-03-50x75.step +KCS0350-75MCA,03,50,75,M,CA,KCS-03-50x75.step +KCS0350-75MCB,03,50,75,M,CB,KCS-03-50x75.step +KCS0350-75MLB,03,50,75,M,LB,KCS-03-50x75.step +KCS0350-75MYB,03,50,75,M,YB,KCS-03-50x75.step +KCS0350-100,03,50,100,,,KCS-03-50x100.step +KCS0350-100FA,03,50,100,,FA,KCS-03-50x100.step +KCS0350-100FB,03,50,100,,FB,KCS-03-50x100.step +KCS0350-100CA,03,50,100,,CA,KCS-03-50x100.step +KCS0350-100CB,03,50,100,,CB,KCS-03-50x100.step +KCS0350-100LB,03,50,100,,LB,KCS-03-50x100.step +KCS0350-100YB,03,50,100,,YB,KCS-03-50x100.step +KCS0350-100M,03,50,100,M,,KCS-03-50x100.step +KCS0350-100MFA,03,50,100,M,FA,KCS-03-50x100.step +KCS0350-100MFB,03,50,100,M,FB,KCS-03-50x100.step +KCS0350-100MCA,03,50,100,M,CA,KCS-03-50x100.step +KCS0350-100MCB,03,50,100,M,CB,KCS-03-50x100.step +KCS0350-100MLB,03,50,100,M,LB,KCS-03-50x100.step +KCS0350-100MYB,03,50,100,M,YB,KCS-03-50x100.step +KCS0363-10,03,63,10,,,KCS-03-63x10.step +KCS0363-10FA,03,63,10,,FA,KCS-03-63x10.step +KCS0363-10FB,03,63,10,,FB,KCS-03-63x10.step +KCS0363-10CA,03,63,10,,CA,KCS-03-63x10.step +KCS0363-10CB,03,63,10,,CB,KCS-03-63x10.step +KCS0363-10LB,03,63,10,,LB,KCS-03-63x10.step +KCS0363-10YB,03,63,10,,YB,KCS-03-63x10.step +KCS0363-10M,03,63,10,M,,KCS-03-63x10.step +KCS0363-10MFA,03,63,10,M,FA,KCS-03-63x10.step +KCS0363-10MFB,03,63,10,M,FB,KCS-03-63x10.step +KCS0363-10MCA,03,63,10,M,CA,KCS-03-63x10.step +KCS0363-10MCB,03,63,10,M,CB,KCS-03-63x10.step +KCS0363-10MLB,03,63,10,M,LB,KCS-03-63x10.step +KCS0363-10MYB,03,63,10,M,YB,KCS-03-63x10.step +KCS0363-20,03,63,20,,,KCS-03-63x20.step +KCS0363-20FA,03,63,20,,FA,KCS-03-63x20.step +KCS0363-20FB,03,63,20,,FB,KCS-03-63x20.step +KCS0363-20CA,03,63,20,,CA,KCS-03-63x20.step +KCS0363-20CB,03,63,20,,CB,KCS-03-63x20.step +KCS0363-20LB,03,63,20,,LB,KCS-03-63x20.step +KCS0363-20YB,03,63,20,,YB,KCS-03-63x20.step +KCS0363-20M,03,63,20,M,,KCS-03-63x20.step +KCS0363-20MFA,03,63,20,M,FA,KCS-03-63x20.step +KCS0363-20MFB,03,63,20,M,FB,KCS-03-63x20.step +KCS0363-20MCA,03,63,20,M,CA,KCS-03-63x20.step +KCS0363-20MCB,03,63,20,M,CB,KCS-03-63x20.step +KCS0363-20MLB,03,63,20,M,LB,KCS-03-63x20.step +KCS0363-20MYB,03,63,20,M,YB,KCS-03-63x20.step +KCS0363-30,03,63,30,,,KCS-03-63x30.step +KCS0363-30FA,03,63,30,,FA,KCS-03-63x30.step +KCS0363-30FB,03,63,30,,FB,KCS-03-63x30.step +KCS0363-30CA,03,63,30,,CA,KCS-03-63x30.step +KCS0363-30CB,03,63,30,,CB,KCS-03-63x30.step +KCS0363-30LB,03,63,30,,LB,KCS-03-63x30.step +KCS0363-30YB,03,63,30,,YB,KCS-03-63x30.step +KCS0363-30M,03,63,30,M,,KCS-03-63x30.step +KCS0363-30MFA,03,63,30,M,FA,KCS-03-63x30.step +KCS0363-30MFB,03,63,30,M,FB,KCS-03-63x30.step +KCS0363-30MCA,03,63,30,M,CA,KCS-03-63x30.step +KCS0363-30MCB,03,63,30,M,CB,KCS-03-63x30.step +KCS0363-30MLB,03,63,30,M,LB,KCS-03-63x30.step +KCS0363-30MYB,03,63,30,M,YB,KCS-03-63x30.step +KCS0363-50,03,63,50,,,KCS-03-63x50.step +KCS0363-50FA,03,63,50,,FA,KCS-03-63x50.step +KCS0363-50FB,03,63,50,,FB,KCS-03-63x50.step +KCS0363-50CA,03,63,50,,CA,KCS-03-63x50.step +KCS0363-50CB,03,63,50,,CB,KCS-03-63x50.step +KCS0363-50LB,03,63,50,,LB,KCS-03-63x50.step +KCS0363-50YB,03,63,50,,YB,KCS-03-63x50.step +KCS0363-50M,03,63,50,M,,KCS-03-63x50.step +KCS0363-50MFA,03,63,50,M,FA,KCS-03-63x50.step +KCS0363-50MFB,03,63,50,M,FB,KCS-03-63x50.step +KCS0363-50MCA,03,63,50,M,CA,KCS-03-63x50.step +KCS0363-50MCB,03,63,50,M,CB,KCS-03-63x50.step +KCS0363-50MLB,03,63,50,M,LB,KCS-03-63x50.step +KCS0363-50MYB,03,63,50,M,YB,KCS-03-63x50.step +KCS0363-75,03,63,75,,,KCS-03-63x75.step +KCS0363-75FA,03,63,75,,FA,KCS-03-63x75.step +KCS0363-75FB,03,63,75,,FB,KCS-03-63x75.step +KCS0363-75CA,03,63,75,,CA,KCS-03-63x75.step +KCS0363-75CB,03,63,75,,CB,KCS-03-63x75.step +KCS0363-75LB,03,63,75,,LB,KCS-03-63x75.step +KCS0363-75YB,03,63,75,,YB,KCS-03-63x75.step +KCS0363-75M,03,63,75,M,,KCS-03-63x75.step +KCS0363-75MFA,03,63,75,M,FA,KCS-03-63x75.step +KCS0363-75MFB,03,63,75,M,FB,KCS-03-63x75.step +KCS0363-75MCA,03,63,75,M,CA,KCS-03-63x75.step +KCS0363-75MCB,03,63,75,M,CB,KCS-03-63x75.step +KCS0363-75MLB,03,63,75,M,LB,KCS-03-63x75.step +KCS0363-75MYB,03,63,75,M,YB,KCS-03-63x75.step +KCS0363-100,03,63,100,,,KCS-03-63x100.step +KCS0363-100FA,03,63,100,,FA,KCS-03-63x100.step +KCS0363-100FB,03,63,100,,FB,KCS-03-63x100.step +KCS0363-100CA,03,63,100,,CA,KCS-03-63x100.step +KCS0363-100CB,03,63,100,,CB,KCS-03-63x100.step +KCS0363-100LB,03,63,100,,LB,KCS-03-63x100.step +KCS0363-100YB,03,63,100,,YB,KCS-03-63x100.step +KCS0363-100M,03,63,100,M,,KCS-03-63x100.step +KCS0363-100MFA,03,63,100,M,FA,KCS-03-63x100.step +KCS0363-100MFB,03,63,100,M,FB,KCS-03-63x100.step +KCS0363-100MCA,03,63,100,M,CA,KCS-03-63x100.step +KCS0363-100MCB,03,63,100,M,CB,KCS-03-63x100.step +KCS0363-100MLB,03,63,100,M,LB,KCS-03-63x100.step +KCS0363-100MYB,03,63,100,M,YB,KCS-03-63x100.step +KCS0380-10,03,80,10,,,KCS-03-80x10.step +KCS0380-10FA,03,80,10,,FA,KCS-03-80x10.step +KCS0380-10FB,03,80,10,,FB,KCS-03-80x10.step +KCS0380-10CA,03,80,10,,CA,KCS-03-80x10.step +KCS0380-10CB,03,80,10,,CB,KCS-03-80x10.step +KCS0380-10LB,03,80,10,,LB,KCS-03-80x10.step +KCS0380-10YB,03,80,10,,YB,KCS-03-80x10.step +KCS0380-10M,03,80,10,M,,KCS-03-80x10.step +KCS0380-10MFA,03,80,10,M,FA,KCS-03-80x10.step +KCS0380-10MFB,03,80,10,M,FB,KCS-03-80x10.step +KCS0380-10MCA,03,80,10,M,CA,KCS-03-80x10.step +KCS0380-10MCB,03,80,10,M,CB,KCS-03-80x10.step +KCS0380-10MLB,03,80,10,M,LB,KCS-03-80x10.step +KCS0380-10MYB,03,80,10,M,YB,KCS-03-80x10.step +KCS0380-20,03,80,20,,,KCS-03-80x20.step +KCS0380-20FA,03,80,20,,FA,KCS-03-80x20.step +KCS0380-20FB,03,80,20,,FB,KCS-03-80x20.step +KCS0380-20CA,03,80,20,,CA,KCS-03-80x20.step +KCS0380-20CB,03,80,20,,CB,KCS-03-80x20.step +KCS0380-20LB,03,80,20,,LB,KCS-03-80x20.step +KCS0380-20YB,03,80,20,,YB,KCS-03-80x20.step +KCS0380-20M,03,80,20,M,,KCS-03-80x20.step +KCS0380-20MFA,03,80,20,M,FA,KCS-03-80x20.step +KCS0380-20MFB,03,80,20,M,FB,KCS-03-80x20.step +KCS0380-20MCA,03,80,20,M,CA,KCS-03-80x20.step +KCS0380-20MCB,03,80,20,M,CB,KCS-03-80x20.step +KCS0380-20MLB,03,80,20,M,LB,KCS-03-80x20.step +KCS0380-20MYB,03,80,20,M,YB,KCS-03-80x20.step +KCS0380-30,03,80,30,,,KCS-03-80x30.step +KCS0380-30FA,03,80,30,,FA,KCS-03-80x30.step +KCS0380-30FB,03,80,30,,FB,KCS-03-80x30.step +KCS0380-30CA,03,80,30,,CA,KCS-03-80x30.step +KCS0380-30CB,03,80,30,,CB,KCS-03-80x30.step +KCS0380-30LB,03,80,30,,LB,KCS-03-80x30.step +KCS0380-30YB,03,80,30,,YB,KCS-03-80x30.step +KCS0380-30M,03,80,30,M,,KCS-03-80x30.step +KCS0380-30MFA,03,80,30,M,FA,KCS-03-80x30.step +KCS0380-30MFB,03,80,30,M,FB,KCS-03-80x30.step +KCS0380-30MCA,03,80,30,M,CA,KCS-03-80x30.step +KCS0380-30MCB,03,80,30,M,CB,KCS-03-80x30.step +KCS0380-30MLB,03,80,30,M,LB,KCS-03-80x30.step +KCS0380-30MYB,03,80,30,M,YB,KCS-03-80x30.step +KCS0380-50,03,80,50,,,KCS-03-80x50.step +KCS0380-50FA,03,80,50,,FA,KCS-03-80x50.step +KCS0380-50FB,03,80,50,,FB,KCS-03-80x50.step +KCS0380-50CA,03,80,50,,CA,KCS-03-80x50.step +KCS0380-50CB,03,80,50,,CB,KCS-03-80x50.step +KCS0380-50LB,03,80,50,,LB,KCS-03-80x50.step +KCS0380-50YB,03,80,50,,YB,KCS-03-80x50.step +KCS0380-50M,03,80,50,M,,KCS-03-80x50.step +KCS0380-50MFA,03,80,50,M,FA,KCS-03-80x50.step +KCS0380-50MFB,03,80,50,M,FB,KCS-03-80x50.step +KCS0380-50MCA,03,80,50,M,CA,KCS-03-80x50.step +KCS0380-50MCB,03,80,50,M,CB,KCS-03-80x50.step +KCS0380-50MLB,03,80,50,M,LB,KCS-03-80x50.step +KCS0380-50MYB,03,80,50,M,YB,KCS-03-80x50.step +KCS0380-75,03,80,75,,,KCS-03-80x75.step +KCS0380-75FA,03,80,75,,FA,KCS-03-80x75.step +KCS0380-75FB,03,80,75,,FB,KCS-03-80x75.step +KCS0380-75CA,03,80,75,,CA,KCS-03-80x75.step +KCS0380-75CB,03,80,75,,CB,KCS-03-80x75.step +KCS0380-75LB,03,80,75,,LB,KCS-03-80x75.step +KCS0380-75YB,03,80,75,,YB,KCS-03-80x75.step +KCS0380-75M,03,80,75,M,,KCS-03-80x75.step +KCS0380-75MFA,03,80,75,M,FA,KCS-03-80x75.step +KCS0380-75MFB,03,80,75,M,FB,KCS-03-80x75.step +KCS0380-75MCA,03,80,75,M,CA,KCS-03-80x75.step +KCS0380-75MCB,03,80,75,M,CB,KCS-03-80x75.step +KCS0380-75MLB,03,80,75,M,LB,KCS-03-80x75.step +KCS0380-75MYB,03,80,75,M,YB,KCS-03-80x75.step +KCS0380-100,03,80,100,,,KCS-03-80x100.step +KCS0380-100FA,03,80,100,,FA,KCS-03-80x100.step +KCS0380-100FB,03,80,100,,FB,KCS-03-80x100.step +KCS0380-100CA,03,80,100,,CA,KCS-03-80x100.step +KCS0380-100CB,03,80,100,,CB,KCS-03-80x100.step +KCS0380-100LB,03,80,100,,LB,KCS-03-80x100.step +KCS0380-100YB,03,80,100,,YB,KCS-03-80x100.step +KCS0380-100M,03,80,100,M,,KCS-03-80x100.step +KCS0380-100MFA,03,80,100,M,FA,KCS-03-80x100.step +KCS0380-100MFB,03,80,100,M,FB,KCS-03-80x100.step +KCS0380-100MCA,03,80,100,M,CA,KCS-03-80x100.step +KCS0380-100MCB,03,80,100,M,CB,KCS-03-80x100.step +KCS0380-100MLB,03,80,100,M,LB,KCS-03-80x100.step +KCS0380-100MYB,03,80,100,M,YB,KCS-03-80x100.step +KCS03100-10,03,100,10,,,KCS-03-100x10.step +KCS03100-10FA,03,100,10,,FA,KCS-03-100x10.step +KCS03100-10FB,03,100,10,,FB,KCS-03-100x10.step +KCS03100-10CA,03,100,10,,CA,KCS-03-100x10.step +KCS03100-10CB,03,100,10,,CB,KCS-03-100x10.step +KCS03100-10LB,03,100,10,,LB,KCS-03-100x10.step +KCS03100-10YB,03,100,10,,YB,KCS-03-100x10.step +KCS03100-10M,03,100,10,M,,KCS-03-100x10.step +KCS03100-10MFA,03,100,10,M,FA,KCS-03-100x10.step +KCS03100-10MFB,03,100,10,M,FB,KCS-03-100x10.step +KCS03100-10MCA,03,100,10,M,CA,KCS-03-100x10.step +KCS03100-10MCB,03,100,10,M,CB,KCS-03-100x10.step +KCS03100-10MLB,03,100,10,M,LB,KCS-03-100x10.step +KCS03100-10MYB,03,100,10,M,YB,KCS-03-100x10.step +KCS03100-20,03,100,20,,,KCS-03-100x20.step +KCS03100-20FA,03,100,20,,FA,KCS-03-100x20.step +KCS03100-20FB,03,100,20,,FB,KCS-03-100x20.step +KCS03100-20CA,03,100,20,,CA,KCS-03-100x20.step +KCS03100-20CB,03,100,20,,CB,KCS-03-100x20.step +KCS03100-20LB,03,100,20,,LB,KCS-03-100x20.step +KCS03100-20YB,03,100,20,,YB,KCS-03-100x20.step +KCS03100-20M,03,100,20,M,,KCS-03-100x20.step +KCS03100-20MFA,03,100,20,M,FA,KCS-03-100x20.step +KCS03100-20MFB,03,100,20,M,FB,KCS-03-100x20.step +KCS03100-20MCA,03,100,20,M,CA,KCS-03-100x20.step +KCS03100-20MCB,03,100,20,M,CB,KCS-03-100x20.step +KCS03100-20MLB,03,100,20,M,LB,KCS-03-100x20.step +KCS03100-20MYB,03,100,20,M,YB,KCS-03-100x20.step +KCS03100-30,03,100,30,,,KCS-03-100x30.step +KCS03100-30FA,03,100,30,,FA,KCS-03-100x30.step +KCS03100-30FB,03,100,30,,FB,KCS-03-100x30.step +KCS03100-30CA,03,100,30,,CA,KCS-03-100x30.step +KCS03100-30CB,03,100,30,,CB,KCS-03-100x30.step +KCS03100-30LB,03,100,30,,LB,KCS-03-100x30.step +KCS03100-30YB,03,100,30,,YB,KCS-03-100x30.step +KCS03100-30M,03,100,30,M,,KCS-03-100x30.step +KCS03100-30MFA,03,100,30,M,FA,KCS-03-100x30.step +KCS03100-30MFB,03,100,30,M,FB,KCS-03-100x30.step +KCS03100-30MCA,03,100,30,M,CA,KCS-03-100x30.step +KCS03100-30MCB,03,100,30,M,CB,KCS-03-100x30.step +KCS03100-30MLB,03,100,30,M,LB,KCS-03-100x30.step +KCS03100-30MYB,03,100,30,M,YB,KCS-03-100x30.step +KCS03100-50,03,100,50,,,KCS-03-100x50.step +KCS03100-50FA,03,100,50,,FA,KCS-03-100x50.step +KCS03100-50FB,03,100,50,,FB,KCS-03-100x50.step +KCS03100-50CA,03,100,50,,CA,KCS-03-100x50.step +KCS03100-50CB,03,100,50,,CB,KCS-03-100x50.step +KCS03100-50LB,03,100,50,,LB,KCS-03-100x50.step +KCS03100-50YB,03,100,50,,YB,KCS-03-100x50.step +KCS03100-50M,03,100,50,M,,KCS-03-100x50.step +KCS03100-50MFA,03,100,50,M,FA,KCS-03-100x50.step +KCS03100-50MFB,03,100,50,M,FB,KCS-03-100x50.step +KCS03100-50MCA,03,100,50,M,CA,KCS-03-100x50.step +KCS03100-50MCB,03,100,50,M,CB,KCS-03-100x50.step +KCS03100-50MLB,03,100,50,M,LB,KCS-03-100x50.step +KCS03100-50MYB,03,100,50,M,YB,KCS-03-100x50.step +KCS03100-75,03,100,75,,,KCS-03-100x75.step +KCS03100-75FA,03,100,75,,FA,KCS-03-100x75.step +KCS03100-75FB,03,100,75,,FB,KCS-03-100x75.step +KCS03100-75CA,03,100,75,,CA,KCS-03-100x75.step +KCS03100-75CB,03,100,75,,CB,KCS-03-100x75.step +KCS03100-75LB,03,100,75,,LB,KCS-03-100x75.step +KCS03100-75YB,03,100,75,,YB,KCS-03-100x75.step +KCS03100-75M,03,100,75,M,,KCS-03-100x75.step +KCS03100-75MFA,03,100,75,M,FA,KCS-03-100x75.step +KCS03100-75MFB,03,100,75,M,FB,KCS-03-100x75.step +KCS03100-75MCA,03,100,75,M,CA,KCS-03-100x75.step +KCS03100-75MCB,03,100,75,M,CB,KCS-03-100x75.step +KCS03100-75MLB,03,100,75,M,LB,KCS-03-100x75.step +KCS03100-75MYB,03,100,75,M,YB,KCS-03-100x75.step +KCS03100-100,03,100,100,,,KCS-03-100x100.step +KCS03100-100FA,03,100,100,,FA,KCS-03-100x100.step +KCS03100-100FB,03,100,100,,FB,KCS-03-100x100.step +KCS03100-100CA,03,100,100,,CA,KCS-03-100x100.step +KCS03100-100CB,03,100,100,,CB,KCS-03-100x100.step +KCS03100-100LB,03,100,100,,LB,KCS-03-100x100.step +KCS03100-100YB,03,100,100,,YB,KCS-03-100x100.step +KCS03100-100M,03,100,100,M,,KCS-03-100x100.step +KCS03100-100MFA,03,100,100,M,FA,KCS-03-100x100.step +KCS03100-100MFB,03,100,100,M,FB,KCS-03-100x100.step +KCS03100-100MCA,03,100,100,M,CA,KCS-03-100x100.step +KCS03100-100MCB,03,100,100,M,CB,KCS-03-100x100.step +KCS03100-100MLB,03,100,100,M,LB,KCS-03-100x100.step +KCS03100-100MYB,03,100,100,M,YB,KCS-03-100x100.step diff --git a/onebot-data/catalog/csv/KS.csv b/onebot-data/catalog/csv/KS.csv new file mode 100644 index 0000000..9f0df0c --- /dev/null +++ b/onebot-data/catalog/csv/KS.csv @@ -0,0 +1,1513 @@ +model_code,type,bore,stroke,magnet,mount,step_file +KS0032-10,00,32,10,,,KS-00-32x10.step +KS0032-10FA,00,32,10,,FA,KS-00-32x10.step +KS0032-10FB,00,32,10,,FB,KS-00-32x10.step +KS0032-10CA,00,32,10,,CA,KS-00-32x10.step +KS0032-10CB,00,32,10,,CB,KS-00-32x10.step +KS0032-10LB,00,32,10,,LB,KS-00-32x10.step +KS0032-10TC,00,32,10,,TC,KS-00-32x10.step +KS0032-10TC-M,00,32,10,,TC-M,KS-00-32x10.step +KS0032-10M,00,32,10,M,,KS-00-32x10.step +KS0032-10MFA,00,32,10,M,FA,KS-00-32x10.step +KS0032-10MFB,00,32,10,M,FB,KS-00-32x10.step +KS0032-10MCA,00,32,10,M,CA,KS-00-32x10.step +KS0032-10MCB,00,32,10,M,CB,KS-00-32x10.step +KS0032-10MLB,00,32,10,M,LB,KS-00-32x10.step +KS0032-10MTC,00,32,10,M,TC,KS-00-32x10.step +KS0032-10MTC-M,00,32,10,M,TC-M,KS-00-32x10.step +KS0032-20,00,32,20,,,KS-00-32x20.step +KS0032-20FA,00,32,20,,FA,KS-00-32x20.step +KS0032-20FB,00,32,20,,FB,KS-00-32x20.step +KS0032-20CA,00,32,20,,CA,KS-00-32x20.step +KS0032-20CB,00,32,20,,CB,KS-00-32x20.step +KS0032-20LB,00,32,20,,LB,KS-00-32x20.step +KS0032-20TC,00,32,20,,TC,KS-00-32x20.step +KS0032-20TC-M,00,32,20,,TC-M,KS-00-32x20.step +KS0032-20M,00,32,20,M,,KS-00-32x20.step +KS0032-20MFA,00,32,20,M,FA,KS-00-32x20.step +KS0032-20MFB,00,32,20,M,FB,KS-00-32x20.step +KS0032-20MCA,00,32,20,M,CA,KS-00-32x20.step +KS0032-20MCB,00,32,20,M,CB,KS-00-32x20.step +KS0032-20MLB,00,32,20,M,LB,KS-00-32x20.step +KS0032-20MTC,00,32,20,M,TC,KS-00-32x20.step +KS0032-20MTC-M,00,32,20,M,TC-M,KS-00-32x20.step +KS0032-30,00,32,30,,,KS-00-32x30.step +KS0032-30FA,00,32,30,,FA,KS-00-32x30.step +KS0032-30FB,00,32,30,,FB,KS-00-32x30.step +KS0032-30CA,00,32,30,,CA,KS-00-32x30.step +KS0032-30CB,00,32,30,,CB,KS-00-32x30.step +KS0032-30LB,00,32,30,,LB,KS-00-32x30.step +KS0032-30TC,00,32,30,,TC,KS-00-32x30.step +KS0032-30TC-M,00,32,30,,TC-M,KS-00-32x30.step +KS0032-30M,00,32,30,M,,KS-00-32x30.step +KS0032-30MFA,00,32,30,M,FA,KS-00-32x30.step +KS0032-30MFB,00,32,30,M,FB,KS-00-32x30.step +KS0032-30MCA,00,32,30,M,CA,KS-00-32x30.step +KS0032-30MCB,00,32,30,M,CB,KS-00-32x30.step +KS0032-30MLB,00,32,30,M,LB,KS-00-32x30.step +KS0032-30MTC,00,32,30,M,TC,KS-00-32x30.step +KS0032-30MTC-M,00,32,30,M,TC-M,KS-00-32x30.step +KS0032-50,00,32,50,,,KS-00-32x50.step +KS0032-50FA,00,32,50,,FA,KS-00-32x50.step +KS0032-50FB,00,32,50,,FB,KS-00-32x50.step +KS0032-50CA,00,32,50,,CA,KS-00-32x50.step +KS0032-50CB,00,32,50,,CB,KS-00-32x50.step +KS0032-50LB,00,32,50,,LB,KS-00-32x50.step +KS0032-50TC,00,32,50,,TC,KS-00-32x50.step +KS0032-50TC-M,00,32,50,,TC-M,KS-00-32x50.step +KS0032-50M,00,32,50,M,,KS-00-32x50.step +KS0032-50MFA,00,32,50,M,FA,KS-00-32x50.step +KS0032-50MFB,00,32,50,M,FB,KS-00-32x50.step +KS0032-50MCA,00,32,50,M,CA,KS-00-32x50.step +KS0032-50MCB,00,32,50,M,CB,KS-00-32x50.step +KS0032-50MLB,00,32,50,M,LB,KS-00-32x50.step +KS0032-50MTC,00,32,50,M,TC,KS-00-32x50.step +KS0032-50MTC-M,00,32,50,M,TC-M,KS-00-32x50.step +KS0032-75,00,32,75,,,KS-00-32x75.step +KS0032-75FA,00,32,75,,FA,KS-00-32x75.step +KS0032-75FB,00,32,75,,FB,KS-00-32x75.step +KS0032-75CA,00,32,75,,CA,KS-00-32x75.step +KS0032-75CB,00,32,75,,CB,KS-00-32x75.step +KS0032-75LB,00,32,75,,LB,KS-00-32x75.step +KS0032-75TC,00,32,75,,TC,KS-00-32x75.step +KS0032-75TC-M,00,32,75,,TC-M,KS-00-32x75.step +KS0032-75M,00,32,75,M,,KS-00-32x75.step +KS0032-75MFA,00,32,75,M,FA,KS-00-32x75.step +KS0032-75MFB,00,32,75,M,FB,KS-00-32x75.step +KS0032-75MCA,00,32,75,M,CA,KS-00-32x75.step +KS0032-75MCB,00,32,75,M,CB,KS-00-32x75.step +KS0032-75MLB,00,32,75,M,LB,KS-00-32x75.step +KS0032-75MTC,00,32,75,M,TC,KS-00-32x75.step +KS0032-75MTC-M,00,32,75,M,TC-M,KS-00-32x75.step +KS0032-100,00,32,100,,,KS-00-32x100.step +KS0032-100FA,00,32,100,,FA,KS-00-32x100.step +KS0032-100FB,00,32,100,,FB,KS-00-32x100.step +KS0032-100CA,00,32,100,,CA,KS-00-32x100.step +KS0032-100CB,00,32,100,,CB,KS-00-32x100.step +KS0032-100LB,00,32,100,,LB,KS-00-32x100.step +KS0032-100TC,00,32,100,,TC,KS-00-32x100.step +KS0032-100TC-M,00,32,100,,TC-M,KS-00-32x100.step +KS0032-100M,00,32,100,M,,KS-00-32x100.step +KS0032-100MFA,00,32,100,M,FA,KS-00-32x100.step +KS0032-100MFB,00,32,100,M,FB,KS-00-32x100.step +KS0032-100MCA,00,32,100,M,CA,KS-00-32x100.step +KS0032-100MCB,00,32,100,M,CB,KS-00-32x100.step +KS0032-100MLB,00,32,100,M,LB,KS-00-32x100.step +KS0032-100MTC,00,32,100,M,TC,KS-00-32x100.step +KS0032-100MTC-M,00,32,100,M,TC-M,KS-00-32x100.step +KS0040-10,00,40,10,,,KS-00-40x10.step +KS0040-10FA,00,40,10,,FA,KS-00-40x10.step +KS0040-10FB,00,40,10,,FB,KS-00-40x10.step +KS0040-10CA,00,40,10,,CA,KS-00-40x10.step +KS0040-10CB,00,40,10,,CB,KS-00-40x10.step +KS0040-10LB,00,40,10,,LB,KS-00-40x10.step +KS0040-10TC,00,40,10,,TC,KS-00-40x10.step +KS0040-10TC-M,00,40,10,,TC-M,KS-00-40x10.step +KS0040-10M,00,40,10,M,,KS-00-40x10.step +KS0040-10MFA,00,40,10,M,FA,KS-00-40x10.step +KS0040-10MFB,00,40,10,M,FB,KS-00-40x10.step +KS0040-10MCA,00,40,10,M,CA,KS-00-40x10.step +KS0040-10MCB,00,40,10,M,CB,KS-00-40x10.step +KS0040-10MLB,00,40,10,M,LB,KS-00-40x10.step +KS0040-10MTC,00,40,10,M,TC,KS-00-40x10.step +KS0040-10MTC-M,00,40,10,M,TC-M,KS-00-40x10.step +KS0040-20,00,40,20,,,KS-00-40x20.step +KS0040-20FA,00,40,20,,FA,KS-00-40x20.step +KS0040-20FB,00,40,20,,FB,KS-00-40x20.step +KS0040-20CA,00,40,20,,CA,KS-00-40x20.step +KS0040-20CB,00,40,20,,CB,KS-00-40x20.step +KS0040-20LB,00,40,20,,LB,KS-00-40x20.step +KS0040-20TC,00,40,20,,TC,KS-00-40x20.step +KS0040-20TC-M,00,40,20,,TC-M,KS-00-40x20.step +KS0040-20M,00,40,20,M,,KS-00-40x20.step +KS0040-20MFA,00,40,20,M,FA,KS-00-40x20.step +KS0040-20MFB,00,40,20,M,FB,KS-00-40x20.step +KS0040-20MCA,00,40,20,M,CA,KS-00-40x20.step +KS0040-20MCB,00,40,20,M,CB,KS-00-40x20.step +KS0040-20MLB,00,40,20,M,LB,KS-00-40x20.step +KS0040-20MTC,00,40,20,M,TC,KS-00-40x20.step +KS0040-20MTC-M,00,40,20,M,TC-M,KS-00-40x20.step +KS0040-30,00,40,30,,,KS-00-40x30.step +KS0040-30FA,00,40,30,,FA,KS-00-40x30.step +KS0040-30FB,00,40,30,,FB,KS-00-40x30.step +KS0040-30CA,00,40,30,,CA,KS-00-40x30.step +KS0040-30CB,00,40,30,,CB,KS-00-40x30.step +KS0040-30LB,00,40,30,,LB,KS-00-40x30.step +KS0040-30TC,00,40,30,,TC,KS-00-40x30.step +KS0040-30TC-M,00,40,30,,TC-M,KS-00-40x30.step +KS0040-30M,00,40,30,M,,KS-00-40x30.step +KS0040-30MFA,00,40,30,M,FA,KS-00-40x30.step +KS0040-30MFB,00,40,30,M,FB,KS-00-40x30.step +KS0040-30MCA,00,40,30,M,CA,KS-00-40x30.step +KS0040-30MCB,00,40,30,M,CB,KS-00-40x30.step +KS0040-30MLB,00,40,30,M,LB,KS-00-40x30.step +KS0040-30MTC,00,40,30,M,TC,KS-00-40x30.step +KS0040-30MTC-M,00,40,30,M,TC-M,KS-00-40x30.step +KS0040-50,00,40,50,,,KS-00-40x50.step +KS0040-50FA,00,40,50,,FA,KS-00-40x50.step +KS0040-50FB,00,40,50,,FB,KS-00-40x50.step +KS0040-50CA,00,40,50,,CA,KS-00-40x50.step +KS0040-50CB,00,40,50,,CB,KS-00-40x50.step +KS0040-50LB,00,40,50,,LB,KS-00-40x50.step +KS0040-50TC,00,40,50,,TC,KS-00-40x50.step +KS0040-50TC-M,00,40,50,,TC-M,KS-00-40x50.step +KS0040-50M,00,40,50,M,,KS-00-40x50.step +KS0040-50MFA,00,40,50,M,FA,KS-00-40x50.step +KS0040-50MFB,00,40,50,M,FB,KS-00-40x50.step +KS0040-50MCA,00,40,50,M,CA,KS-00-40x50.step +KS0040-50MCB,00,40,50,M,CB,KS-00-40x50.step +KS0040-50MLB,00,40,50,M,LB,KS-00-40x50.step +KS0040-50MTC,00,40,50,M,TC,KS-00-40x50.step +KS0040-50MTC-M,00,40,50,M,TC-M,KS-00-40x50.step +KS0040-75,00,40,75,,,KS-00-40x75.step +KS0040-75FA,00,40,75,,FA,KS-00-40x75.step +KS0040-75FB,00,40,75,,FB,KS-00-40x75.step +KS0040-75CA,00,40,75,,CA,KS-00-40x75.step +KS0040-75CB,00,40,75,,CB,KS-00-40x75.step +KS0040-75LB,00,40,75,,LB,KS-00-40x75.step +KS0040-75TC,00,40,75,,TC,KS-00-40x75.step +KS0040-75TC-M,00,40,75,,TC-M,KS-00-40x75.step +KS0040-75M,00,40,75,M,,KS-00-40x75.step +KS0040-75MFA,00,40,75,M,FA,KS-00-40x75.step +KS0040-75MFB,00,40,75,M,FB,KS-00-40x75.step +KS0040-75MCA,00,40,75,M,CA,KS-00-40x75.step +KS0040-75MCB,00,40,75,M,CB,KS-00-40x75.step +KS0040-75MLB,00,40,75,M,LB,KS-00-40x75.step +KS0040-75MTC,00,40,75,M,TC,KS-00-40x75.step +KS0040-75MTC-M,00,40,75,M,TC-M,KS-00-40x75.step +KS0040-100,00,40,100,,,KS-00-40x100.step +KS0040-100FA,00,40,100,,FA,KS-00-40x100.step +KS0040-100FB,00,40,100,,FB,KS-00-40x100.step +KS0040-100CA,00,40,100,,CA,KS-00-40x100.step +KS0040-100CB,00,40,100,,CB,KS-00-40x100.step +KS0040-100LB,00,40,100,,LB,KS-00-40x100.step +KS0040-100TC,00,40,100,,TC,KS-00-40x100.step +KS0040-100TC-M,00,40,100,,TC-M,KS-00-40x100.step +KS0040-100M,00,40,100,M,,KS-00-40x100.step +KS0040-100MFA,00,40,100,M,FA,KS-00-40x100.step +KS0040-100MFB,00,40,100,M,FB,KS-00-40x100.step +KS0040-100MCA,00,40,100,M,CA,KS-00-40x100.step +KS0040-100MCB,00,40,100,M,CB,KS-00-40x100.step +KS0040-100MLB,00,40,100,M,LB,KS-00-40x100.step +KS0040-100MTC,00,40,100,M,TC,KS-00-40x100.step +KS0040-100MTC-M,00,40,100,M,TC-M,KS-00-40x100.step +KS0050-10,00,50,10,,,KS-00-50x10.step +KS0050-10FA,00,50,10,,FA,KS-00-50x10.step +KS0050-10FB,00,50,10,,FB,KS-00-50x10.step +KS0050-10CA,00,50,10,,CA,KS-00-50x10.step +KS0050-10CB,00,50,10,,CB,KS-00-50x10.step +KS0050-10LB,00,50,10,,LB,KS-00-50x10.step +KS0050-10TC,00,50,10,,TC,KS-00-50x10.step +KS0050-10TC-M,00,50,10,,TC-M,KS-00-50x10.step +KS0050-10M,00,50,10,M,,KS-00-50x10.step +KS0050-10MFA,00,50,10,M,FA,KS-00-50x10.step +KS0050-10MFB,00,50,10,M,FB,KS-00-50x10.step +KS0050-10MCA,00,50,10,M,CA,KS-00-50x10.step +KS0050-10MCB,00,50,10,M,CB,KS-00-50x10.step +KS0050-10MLB,00,50,10,M,LB,KS-00-50x10.step +KS0050-10MTC,00,50,10,M,TC,KS-00-50x10.step +KS0050-10MTC-M,00,50,10,M,TC-M,KS-00-50x10.step +KS0050-20,00,50,20,,,KS-00-50x20.step +KS0050-20FA,00,50,20,,FA,KS-00-50x20.step +KS0050-20FB,00,50,20,,FB,KS-00-50x20.step +KS0050-20CA,00,50,20,,CA,KS-00-50x20.step +KS0050-20CB,00,50,20,,CB,KS-00-50x20.step +KS0050-20LB,00,50,20,,LB,KS-00-50x20.step +KS0050-20TC,00,50,20,,TC,KS-00-50x20.step +KS0050-20TC-M,00,50,20,,TC-M,KS-00-50x20.step +KS0050-20M,00,50,20,M,,KS-00-50x20.step +KS0050-20MFA,00,50,20,M,FA,KS-00-50x20.step +KS0050-20MFB,00,50,20,M,FB,KS-00-50x20.step +KS0050-20MCA,00,50,20,M,CA,KS-00-50x20.step +KS0050-20MCB,00,50,20,M,CB,KS-00-50x20.step +KS0050-20MLB,00,50,20,M,LB,KS-00-50x20.step +KS0050-20MTC,00,50,20,M,TC,KS-00-50x20.step +KS0050-20MTC-M,00,50,20,M,TC-M,KS-00-50x20.step +KS0050-30,00,50,30,,,KS-00-50x30.step +KS0050-30FA,00,50,30,,FA,KS-00-50x30.step +KS0050-30FB,00,50,30,,FB,KS-00-50x30.step +KS0050-30CA,00,50,30,,CA,KS-00-50x30.step +KS0050-30CB,00,50,30,,CB,KS-00-50x30.step +KS0050-30LB,00,50,30,,LB,KS-00-50x30.step +KS0050-30TC,00,50,30,,TC,KS-00-50x30.step +KS0050-30TC-M,00,50,30,,TC-M,KS-00-50x30.step +KS0050-30M,00,50,30,M,,KS-00-50x30.step +KS0050-30MFA,00,50,30,M,FA,KS-00-50x30.step +KS0050-30MFB,00,50,30,M,FB,KS-00-50x30.step +KS0050-30MCA,00,50,30,M,CA,KS-00-50x30.step +KS0050-30MCB,00,50,30,M,CB,KS-00-50x30.step +KS0050-30MLB,00,50,30,M,LB,KS-00-50x30.step +KS0050-30MTC,00,50,30,M,TC,KS-00-50x30.step +KS0050-30MTC-M,00,50,30,M,TC-M,KS-00-50x30.step +KS0050-50,00,50,50,,,KS-00-50x50.step +KS0050-50FA,00,50,50,,FA,KS-00-50x50.step +KS0050-50FB,00,50,50,,FB,KS-00-50x50.step +KS0050-50CA,00,50,50,,CA,KS-00-50x50.step +KS0050-50CB,00,50,50,,CB,KS-00-50x50.step +KS0050-50LB,00,50,50,,LB,KS-00-50x50.step +KS0050-50TC,00,50,50,,TC,KS-00-50x50.step +KS0050-50TC-M,00,50,50,,TC-M,KS-00-50x50.step +KS0050-50M,00,50,50,M,,KS-00-50x50.step +KS0050-50MFA,00,50,50,M,FA,KS-00-50x50.step +KS0050-50MFB,00,50,50,M,FB,KS-00-50x50.step +KS0050-50MCA,00,50,50,M,CA,KS-00-50x50.step +KS0050-50MCB,00,50,50,M,CB,KS-00-50x50.step +KS0050-50MLB,00,50,50,M,LB,KS-00-50x50.step +KS0050-50MTC,00,50,50,M,TC,KS-00-50x50.step +KS0050-50MTC-M,00,50,50,M,TC-M,KS-00-50x50.step +KS0050-75,00,50,75,,,KS-00-50x75.step +KS0050-75FA,00,50,75,,FA,KS-00-50x75.step +KS0050-75FB,00,50,75,,FB,KS-00-50x75.step +KS0050-75CA,00,50,75,,CA,KS-00-50x75.step +KS0050-75CB,00,50,75,,CB,KS-00-50x75.step +KS0050-75LB,00,50,75,,LB,KS-00-50x75.step +KS0050-75TC,00,50,75,,TC,KS-00-50x75.step +KS0050-75TC-M,00,50,75,,TC-M,KS-00-50x75.step +KS0050-75M,00,50,75,M,,KS-00-50x75.step +KS0050-75MFA,00,50,75,M,FA,KS-00-50x75.step +KS0050-75MFB,00,50,75,M,FB,KS-00-50x75.step +KS0050-75MCA,00,50,75,M,CA,KS-00-50x75.step +KS0050-75MCB,00,50,75,M,CB,KS-00-50x75.step +KS0050-75MLB,00,50,75,M,LB,KS-00-50x75.step +KS0050-75MTC,00,50,75,M,TC,KS-00-50x75.step +KS0050-75MTC-M,00,50,75,M,TC-M,KS-00-50x75.step +KS0050-100,00,50,100,,,KS-00-50x100.step +KS0050-100FA,00,50,100,,FA,KS-00-50x100.step +KS0050-100FB,00,50,100,,FB,KS-00-50x100.step +KS0050-100CA,00,50,100,,CA,KS-00-50x100.step +KS0050-100CB,00,50,100,,CB,KS-00-50x100.step +KS0050-100LB,00,50,100,,LB,KS-00-50x100.step +KS0050-100TC,00,50,100,,TC,KS-00-50x100.step +KS0050-100TC-M,00,50,100,,TC-M,KS-00-50x100.step +KS0050-100M,00,50,100,M,,KS-00-50x100.step +KS0050-100MFA,00,50,100,M,FA,KS-00-50x100.step +KS0050-100MFB,00,50,100,M,FB,KS-00-50x100.step +KS0050-100MCA,00,50,100,M,CA,KS-00-50x100.step +KS0050-100MCB,00,50,100,M,CB,KS-00-50x100.step +KS0050-100MLB,00,50,100,M,LB,KS-00-50x100.step +KS0050-100MTC,00,50,100,M,TC,KS-00-50x100.step +KS0050-100MTC-M,00,50,100,M,TC-M,KS-00-50x100.step +KS0063-10,00,63,10,,,KS-00-63x10.step +KS0063-10FA,00,63,10,,FA,KS-00-63x10.step +KS0063-10FB,00,63,10,,FB,KS-00-63x10.step +KS0063-10CA,00,63,10,,CA,KS-00-63x10.step +KS0063-10CB,00,63,10,,CB,KS-00-63x10.step +KS0063-10LB,00,63,10,,LB,KS-00-63x10.step +KS0063-10TC,00,63,10,,TC,KS-00-63x10.step +KS0063-10TC-M,00,63,10,,TC-M,KS-00-63x10.step +KS0063-10M,00,63,10,M,,KS-00-63x10.step +KS0063-10MFA,00,63,10,M,FA,KS-00-63x10.step +KS0063-10MFB,00,63,10,M,FB,KS-00-63x10.step +KS0063-10MCA,00,63,10,M,CA,KS-00-63x10.step +KS0063-10MCB,00,63,10,M,CB,KS-00-63x10.step +KS0063-10MLB,00,63,10,M,LB,KS-00-63x10.step +KS0063-10MTC,00,63,10,M,TC,KS-00-63x10.step +KS0063-10MTC-M,00,63,10,M,TC-M,KS-00-63x10.step +KS0063-20,00,63,20,,,KS-00-63x20.step +KS0063-20FA,00,63,20,,FA,KS-00-63x20.step +KS0063-20FB,00,63,20,,FB,KS-00-63x20.step +KS0063-20CA,00,63,20,,CA,KS-00-63x20.step +KS0063-20CB,00,63,20,,CB,KS-00-63x20.step +KS0063-20LB,00,63,20,,LB,KS-00-63x20.step +KS0063-20TC,00,63,20,,TC,KS-00-63x20.step +KS0063-20TC-M,00,63,20,,TC-M,KS-00-63x20.step +KS0063-20M,00,63,20,M,,KS-00-63x20.step +KS0063-20MFA,00,63,20,M,FA,KS-00-63x20.step +KS0063-20MFB,00,63,20,M,FB,KS-00-63x20.step +KS0063-20MCA,00,63,20,M,CA,KS-00-63x20.step +KS0063-20MCB,00,63,20,M,CB,KS-00-63x20.step +KS0063-20MLB,00,63,20,M,LB,KS-00-63x20.step +KS0063-20MTC,00,63,20,M,TC,KS-00-63x20.step +KS0063-20MTC-M,00,63,20,M,TC-M,KS-00-63x20.step +KS0063-30,00,63,30,,,KS-00-63x30.step +KS0063-30FA,00,63,30,,FA,KS-00-63x30.step +KS0063-30FB,00,63,30,,FB,KS-00-63x30.step +KS0063-30CA,00,63,30,,CA,KS-00-63x30.step +KS0063-30CB,00,63,30,,CB,KS-00-63x30.step +KS0063-30LB,00,63,30,,LB,KS-00-63x30.step +KS0063-30TC,00,63,30,,TC,KS-00-63x30.step +KS0063-30TC-M,00,63,30,,TC-M,KS-00-63x30.step +KS0063-30M,00,63,30,M,,KS-00-63x30.step +KS0063-30MFA,00,63,30,M,FA,KS-00-63x30.step +KS0063-30MFB,00,63,30,M,FB,KS-00-63x30.step +KS0063-30MCA,00,63,30,M,CA,KS-00-63x30.step +KS0063-30MCB,00,63,30,M,CB,KS-00-63x30.step +KS0063-30MLB,00,63,30,M,LB,KS-00-63x30.step +KS0063-30MTC,00,63,30,M,TC,KS-00-63x30.step +KS0063-30MTC-M,00,63,30,M,TC-M,KS-00-63x30.step +KS0063-50,00,63,50,,,KS-00-63x50.step +KS0063-50FA,00,63,50,,FA,KS-00-63x50.step +KS0063-50FB,00,63,50,,FB,KS-00-63x50.step +KS0063-50CA,00,63,50,,CA,KS-00-63x50.step +KS0063-50CB,00,63,50,,CB,KS-00-63x50.step +KS0063-50LB,00,63,50,,LB,KS-00-63x50.step +KS0063-50TC,00,63,50,,TC,KS-00-63x50.step +KS0063-50TC-M,00,63,50,,TC-M,KS-00-63x50.step +KS0063-50M,00,63,50,M,,KS-00-63x50.step +KS0063-50MFA,00,63,50,M,FA,KS-00-63x50.step +KS0063-50MFB,00,63,50,M,FB,KS-00-63x50.step +KS0063-50MCA,00,63,50,M,CA,KS-00-63x50.step +KS0063-50MCB,00,63,50,M,CB,KS-00-63x50.step +KS0063-50MLB,00,63,50,M,LB,KS-00-63x50.step +KS0063-50MTC,00,63,50,M,TC,KS-00-63x50.step +KS0063-50MTC-M,00,63,50,M,TC-M,KS-00-63x50.step +KS0063-75,00,63,75,,,KS-00-63x75.step +KS0063-75FA,00,63,75,,FA,KS-00-63x75.step +KS0063-75FB,00,63,75,,FB,KS-00-63x75.step +KS0063-75CA,00,63,75,,CA,KS-00-63x75.step +KS0063-75CB,00,63,75,,CB,KS-00-63x75.step +KS0063-75LB,00,63,75,,LB,KS-00-63x75.step +KS0063-75TC,00,63,75,,TC,KS-00-63x75.step +KS0063-75TC-M,00,63,75,,TC-M,KS-00-63x75.step +KS0063-75M,00,63,75,M,,KS-00-63x75.step +KS0063-75MFA,00,63,75,M,FA,KS-00-63x75.step +KS0063-75MFB,00,63,75,M,FB,KS-00-63x75.step +KS0063-75MCA,00,63,75,M,CA,KS-00-63x75.step +KS0063-75MCB,00,63,75,M,CB,KS-00-63x75.step +KS0063-75MLB,00,63,75,M,LB,KS-00-63x75.step +KS0063-75MTC,00,63,75,M,TC,KS-00-63x75.step +KS0063-75MTC-M,00,63,75,M,TC-M,KS-00-63x75.step +KS0063-100,00,63,100,,,KS-00-63x100.step +KS0063-100FA,00,63,100,,FA,KS-00-63x100.step +KS0063-100FB,00,63,100,,FB,KS-00-63x100.step +KS0063-100CA,00,63,100,,CA,KS-00-63x100.step +KS0063-100CB,00,63,100,,CB,KS-00-63x100.step +KS0063-100LB,00,63,100,,LB,KS-00-63x100.step +KS0063-100TC,00,63,100,,TC,KS-00-63x100.step +KS0063-100TC-M,00,63,100,,TC-M,KS-00-63x100.step +KS0063-100M,00,63,100,M,,KS-00-63x100.step +KS0063-100MFA,00,63,100,M,FA,KS-00-63x100.step +KS0063-100MFB,00,63,100,M,FB,KS-00-63x100.step +KS0063-100MCA,00,63,100,M,CA,KS-00-63x100.step +KS0063-100MCB,00,63,100,M,CB,KS-00-63x100.step +KS0063-100MLB,00,63,100,M,LB,KS-00-63x100.step +KS0063-100MTC,00,63,100,M,TC,KS-00-63x100.step +KS0063-100MTC-M,00,63,100,M,TC-M,KS-00-63x100.step +KS0080-10,00,80,10,,,KS-00-80x10.step +KS0080-10FA,00,80,10,,FA,KS-00-80x10.step +KS0080-10FB,00,80,10,,FB,KS-00-80x10.step +KS0080-10CA,00,80,10,,CA,KS-00-80x10.step +KS0080-10CB,00,80,10,,CB,KS-00-80x10.step +KS0080-10LB,00,80,10,,LB,KS-00-80x10.step +KS0080-10TC,00,80,10,,TC,KS-00-80x10.step +KS0080-10TC-M,00,80,10,,TC-M,KS-00-80x10.step +KS0080-10M,00,80,10,M,,KS-00-80x10.step +KS0080-10MFA,00,80,10,M,FA,KS-00-80x10.step +KS0080-10MFB,00,80,10,M,FB,KS-00-80x10.step +KS0080-10MCA,00,80,10,M,CA,KS-00-80x10.step +KS0080-10MCB,00,80,10,M,CB,KS-00-80x10.step +KS0080-10MLB,00,80,10,M,LB,KS-00-80x10.step +KS0080-10MTC,00,80,10,M,TC,KS-00-80x10.step +KS0080-10MTC-M,00,80,10,M,TC-M,KS-00-80x10.step +KS0080-20,00,80,20,,,KS-00-80x20.step +KS0080-20FA,00,80,20,,FA,KS-00-80x20.step +KS0080-20FB,00,80,20,,FB,KS-00-80x20.step +KS0080-20CA,00,80,20,,CA,KS-00-80x20.step +KS0080-20CB,00,80,20,,CB,KS-00-80x20.step +KS0080-20LB,00,80,20,,LB,KS-00-80x20.step +KS0080-20TC,00,80,20,,TC,KS-00-80x20.step +KS0080-20TC-M,00,80,20,,TC-M,KS-00-80x20.step +KS0080-20M,00,80,20,M,,KS-00-80x20.step +KS0080-20MFA,00,80,20,M,FA,KS-00-80x20.step +KS0080-20MFB,00,80,20,M,FB,KS-00-80x20.step +KS0080-20MCA,00,80,20,M,CA,KS-00-80x20.step +KS0080-20MCB,00,80,20,M,CB,KS-00-80x20.step +KS0080-20MLB,00,80,20,M,LB,KS-00-80x20.step +KS0080-20MTC,00,80,20,M,TC,KS-00-80x20.step +KS0080-20MTC-M,00,80,20,M,TC-M,KS-00-80x20.step +KS0080-30,00,80,30,,,KS-00-80x30.step +KS0080-30FA,00,80,30,,FA,KS-00-80x30.step +KS0080-30FB,00,80,30,,FB,KS-00-80x30.step +KS0080-30CA,00,80,30,,CA,KS-00-80x30.step +KS0080-30CB,00,80,30,,CB,KS-00-80x30.step +KS0080-30LB,00,80,30,,LB,KS-00-80x30.step +KS0080-30TC,00,80,30,,TC,KS-00-80x30.step +KS0080-30TC-M,00,80,30,,TC-M,KS-00-80x30.step +KS0080-30M,00,80,30,M,,KS-00-80x30.step +KS0080-30MFA,00,80,30,M,FA,KS-00-80x30.step +KS0080-30MFB,00,80,30,M,FB,KS-00-80x30.step +KS0080-30MCA,00,80,30,M,CA,KS-00-80x30.step +KS0080-30MCB,00,80,30,M,CB,KS-00-80x30.step +KS0080-30MLB,00,80,30,M,LB,KS-00-80x30.step +KS0080-30MTC,00,80,30,M,TC,KS-00-80x30.step +KS0080-30MTC-M,00,80,30,M,TC-M,KS-00-80x30.step +KS0080-50,00,80,50,,,KS-00-80x50.step +KS0080-50FA,00,80,50,,FA,KS-00-80x50.step +KS0080-50FB,00,80,50,,FB,KS-00-80x50.step +KS0080-50CA,00,80,50,,CA,KS-00-80x50.step +KS0080-50CB,00,80,50,,CB,KS-00-80x50.step +KS0080-50LB,00,80,50,,LB,KS-00-80x50.step +KS0080-50TC,00,80,50,,TC,KS-00-80x50.step +KS0080-50TC-M,00,80,50,,TC-M,KS-00-80x50.step +KS0080-50M,00,80,50,M,,KS-00-80x50.step +KS0080-50MFA,00,80,50,M,FA,KS-00-80x50.step +KS0080-50MFB,00,80,50,M,FB,KS-00-80x50.step +KS0080-50MCA,00,80,50,M,CA,KS-00-80x50.step +KS0080-50MCB,00,80,50,M,CB,KS-00-80x50.step +KS0080-50MLB,00,80,50,M,LB,KS-00-80x50.step +KS0080-50MTC,00,80,50,M,TC,KS-00-80x50.step +KS0080-50MTC-M,00,80,50,M,TC-M,KS-00-80x50.step +KS0080-75,00,80,75,,,KS-00-80x75.step +KS0080-75FA,00,80,75,,FA,KS-00-80x75.step +KS0080-75FB,00,80,75,,FB,KS-00-80x75.step +KS0080-75CA,00,80,75,,CA,KS-00-80x75.step +KS0080-75CB,00,80,75,,CB,KS-00-80x75.step +KS0080-75LB,00,80,75,,LB,KS-00-80x75.step +KS0080-75TC,00,80,75,,TC,KS-00-80x75.step +KS0080-75TC-M,00,80,75,,TC-M,KS-00-80x75.step +KS0080-75M,00,80,75,M,,KS-00-80x75.step +KS0080-75MFA,00,80,75,M,FA,KS-00-80x75.step +KS0080-75MFB,00,80,75,M,FB,KS-00-80x75.step +KS0080-75MCA,00,80,75,M,CA,KS-00-80x75.step +KS0080-75MCB,00,80,75,M,CB,KS-00-80x75.step +KS0080-75MLB,00,80,75,M,LB,KS-00-80x75.step +KS0080-75MTC,00,80,75,M,TC,KS-00-80x75.step +KS0080-75MTC-M,00,80,75,M,TC-M,KS-00-80x75.step +KS0080-100,00,80,100,,,KS-00-80x100.step +KS0080-100FA,00,80,100,,FA,KS-00-80x100.step +KS0080-100FB,00,80,100,,FB,KS-00-80x100.step +KS0080-100CA,00,80,100,,CA,KS-00-80x100.step +KS0080-100CB,00,80,100,,CB,KS-00-80x100.step +KS0080-100LB,00,80,100,,LB,KS-00-80x100.step +KS0080-100TC,00,80,100,,TC,KS-00-80x100.step +KS0080-100TC-M,00,80,100,,TC-M,KS-00-80x100.step +KS0080-100M,00,80,100,M,,KS-00-80x100.step +KS0080-100MFA,00,80,100,M,FA,KS-00-80x100.step +KS0080-100MFB,00,80,100,M,FB,KS-00-80x100.step +KS0080-100MCA,00,80,100,M,CA,KS-00-80x100.step +KS0080-100MCB,00,80,100,M,CB,KS-00-80x100.step +KS0080-100MLB,00,80,100,M,LB,KS-00-80x100.step +KS0080-100MTC,00,80,100,M,TC,KS-00-80x100.step +KS0080-100MTC-M,00,80,100,M,TC-M,KS-00-80x100.step +KS00100-10,00,100,10,,,KS-00-100x10.step +KS00100-10FA,00,100,10,,FA,KS-00-100x10.step +KS00100-10FB,00,100,10,,FB,KS-00-100x10.step +KS00100-10CA,00,100,10,,CA,KS-00-100x10.step +KS00100-10CB,00,100,10,,CB,KS-00-100x10.step +KS00100-10LB,00,100,10,,LB,KS-00-100x10.step +KS00100-10TC,00,100,10,,TC,KS-00-100x10.step +KS00100-10TC-M,00,100,10,,TC-M,KS-00-100x10.step +KS00100-10M,00,100,10,M,,KS-00-100x10.step +KS00100-10MFA,00,100,10,M,FA,KS-00-100x10.step +KS00100-10MFB,00,100,10,M,FB,KS-00-100x10.step +KS00100-10MCA,00,100,10,M,CA,KS-00-100x10.step +KS00100-10MCB,00,100,10,M,CB,KS-00-100x10.step +KS00100-10MLB,00,100,10,M,LB,KS-00-100x10.step +KS00100-10MTC,00,100,10,M,TC,KS-00-100x10.step +KS00100-10MTC-M,00,100,10,M,TC-M,KS-00-100x10.step +KS00100-20,00,100,20,,,KS-00-100x20.step +KS00100-20FA,00,100,20,,FA,KS-00-100x20.step +KS00100-20FB,00,100,20,,FB,KS-00-100x20.step +KS00100-20CA,00,100,20,,CA,KS-00-100x20.step +KS00100-20CB,00,100,20,,CB,KS-00-100x20.step +KS00100-20LB,00,100,20,,LB,KS-00-100x20.step +KS00100-20TC,00,100,20,,TC,KS-00-100x20.step +KS00100-20TC-M,00,100,20,,TC-M,KS-00-100x20.step +KS00100-20M,00,100,20,M,,KS-00-100x20.step +KS00100-20MFA,00,100,20,M,FA,KS-00-100x20.step +KS00100-20MFB,00,100,20,M,FB,KS-00-100x20.step +KS00100-20MCA,00,100,20,M,CA,KS-00-100x20.step +KS00100-20MCB,00,100,20,M,CB,KS-00-100x20.step +KS00100-20MLB,00,100,20,M,LB,KS-00-100x20.step +KS00100-20MTC,00,100,20,M,TC,KS-00-100x20.step +KS00100-20MTC-M,00,100,20,M,TC-M,KS-00-100x20.step +KS00100-30,00,100,30,,,KS-00-100x30.step +KS00100-30FA,00,100,30,,FA,KS-00-100x30.step +KS00100-30FB,00,100,30,,FB,KS-00-100x30.step +KS00100-30CA,00,100,30,,CA,KS-00-100x30.step +KS00100-30CB,00,100,30,,CB,KS-00-100x30.step +KS00100-30LB,00,100,30,,LB,KS-00-100x30.step +KS00100-30TC,00,100,30,,TC,KS-00-100x30.step +KS00100-30TC-M,00,100,30,,TC-M,KS-00-100x30.step +KS00100-30M,00,100,30,M,,KS-00-100x30.step +KS00100-30MFA,00,100,30,M,FA,KS-00-100x30.step +KS00100-30MFB,00,100,30,M,FB,KS-00-100x30.step +KS00100-30MCA,00,100,30,M,CA,KS-00-100x30.step +KS00100-30MCB,00,100,30,M,CB,KS-00-100x30.step +KS00100-30MLB,00,100,30,M,LB,KS-00-100x30.step +KS00100-30MTC,00,100,30,M,TC,KS-00-100x30.step +KS00100-30MTC-M,00,100,30,M,TC-M,KS-00-100x30.step +KS00100-50,00,100,50,,,KS-00-100x50.step +KS00100-50FA,00,100,50,,FA,KS-00-100x50.step +KS00100-50FB,00,100,50,,FB,KS-00-100x50.step +KS00100-50CA,00,100,50,,CA,KS-00-100x50.step +KS00100-50CB,00,100,50,,CB,KS-00-100x50.step +KS00100-50LB,00,100,50,,LB,KS-00-100x50.step +KS00100-50TC,00,100,50,,TC,KS-00-100x50.step +KS00100-50TC-M,00,100,50,,TC-M,KS-00-100x50.step +KS00100-50M,00,100,50,M,,KS-00-100x50.step +KS00100-50MFA,00,100,50,M,FA,KS-00-100x50.step +KS00100-50MFB,00,100,50,M,FB,KS-00-100x50.step +KS00100-50MCA,00,100,50,M,CA,KS-00-100x50.step +KS00100-50MCB,00,100,50,M,CB,KS-00-100x50.step +KS00100-50MLB,00,100,50,M,LB,KS-00-100x50.step +KS00100-50MTC,00,100,50,M,TC,KS-00-100x50.step +KS00100-50MTC-M,00,100,50,M,TC-M,KS-00-100x50.step +KS00100-75,00,100,75,,,KS-00-100x75.step +KS00100-75FA,00,100,75,,FA,KS-00-100x75.step +KS00100-75FB,00,100,75,,FB,KS-00-100x75.step +KS00100-75CA,00,100,75,,CA,KS-00-100x75.step +KS00100-75CB,00,100,75,,CB,KS-00-100x75.step +KS00100-75LB,00,100,75,,LB,KS-00-100x75.step +KS00100-75TC,00,100,75,,TC,KS-00-100x75.step +KS00100-75TC-M,00,100,75,,TC-M,KS-00-100x75.step +KS00100-75M,00,100,75,M,,KS-00-100x75.step +KS00100-75MFA,00,100,75,M,FA,KS-00-100x75.step +KS00100-75MFB,00,100,75,M,FB,KS-00-100x75.step +KS00100-75MCA,00,100,75,M,CA,KS-00-100x75.step +KS00100-75MCB,00,100,75,M,CB,KS-00-100x75.step +KS00100-75MLB,00,100,75,M,LB,KS-00-100x75.step +KS00100-75MTC,00,100,75,M,TC,KS-00-100x75.step +KS00100-75MTC-M,00,100,75,M,TC-M,KS-00-100x75.step +KS00100-100,00,100,100,,,KS-00-100x100.step +KS00100-100FA,00,100,100,,FA,KS-00-100x100.step +KS00100-100FB,00,100,100,,FB,KS-00-100x100.step +KS00100-100CA,00,100,100,,CA,KS-00-100x100.step +KS00100-100CB,00,100,100,,CB,KS-00-100x100.step +KS00100-100LB,00,100,100,,LB,KS-00-100x100.step +KS00100-100TC,00,100,100,,TC,KS-00-100x100.step +KS00100-100TC-M,00,100,100,,TC-M,KS-00-100x100.step +KS00100-100M,00,100,100,M,,KS-00-100x100.step +KS00100-100MFA,00,100,100,M,FA,KS-00-100x100.step +KS00100-100MFB,00,100,100,M,FB,KS-00-100x100.step +KS00100-100MCA,00,100,100,M,CA,KS-00-100x100.step +KS00100-100MCB,00,100,100,M,CB,KS-00-100x100.step +KS00100-100MLB,00,100,100,M,LB,KS-00-100x100.step +KS00100-100MTC,00,100,100,M,TC,KS-00-100x100.step +KS00100-100MTC-M,00,100,100,M,TC-M,KS-00-100x100.step +KS00125-10,00,125,10,,,KS-00-125x10.step +KS00125-10FA,00,125,10,,FA,KS-00-125x10.step +KS00125-10FB,00,125,10,,FB,KS-00-125x10.step +KS00125-10CA,00,125,10,,CA,KS-00-125x10.step +KS00125-10CB,00,125,10,,CB,KS-00-125x10.step +KS00125-10LB,00,125,10,,LB,KS-00-125x10.step +KS00125-10TC,00,125,10,,TC,KS-00-125x10.step +KS00125-10TC-M,00,125,10,,TC-M,KS-00-125x10.step +KS00125-10M,00,125,10,M,,KS-00-125x10.step +KS00125-10MFA,00,125,10,M,FA,KS-00-125x10.step +KS00125-10MFB,00,125,10,M,FB,KS-00-125x10.step +KS00125-10MCA,00,125,10,M,CA,KS-00-125x10.step +KS00125-10MCB,00,125,10,M,CB,KS-00-125x10.step +KS00125-10MLB,00,125,10,M,LB,KS-00-125x10.step +KS00125-10MTC,00,125,10,M,TC,KS-00-125x10.step +KS00125-10MTC-M,00,125,10,M,TC-M,KS-00-125x10.step +KS00125-20,00,125,20,,,KS-00-125x20.step +KS00125-20FA,00,125,20,,FA,KS-00-125x20.step +KS00125-20FB,00,125,20,,FB,KS-00-125x20.step +KS00125-20CA,00,125,20,,CA,KS-00-125x20.step +KS00125-20CB,00,125,20,,CB,KS-00-125x20.step +KS00125-20LB,00,125,20,,LB,KS-00-125x20.step +KS00125-20TC,00,125,20,,TC,KS-00-125x20.step +KS00125-20TC-M,00,125,20,,TC-M,KS-00-125x20.step +KS00125-20M,00,125,20,M,,KS-00-125x20.step +KS00125-20MFA,00,125,20,M,FA,KS-00-125x20.step +KS00125-20MFB,00,125,20,M,FB,KS-00-125x20.step +KS00125-20MCA,00,125,20,M,CA,KS-00-125x20.step +KS00125-20MCB,00,125,20,M,CB,KS-00-125x20.step +KS00125-20MLB,00,125,20,M,LB,KS-00-125x20.step +KS00125-20MTC,00,125,20,M,TC,KS-00-125x20.step +KS00125-20MTC-M,00,125,20,M,TC-M,KS-00-125x20.step +KS00125-30,00,125,30,,,KS-00-125x30.step +KS00125-30FA,00,125,30,,FA,KS-00-125x30.step +KS00125-30FB,00,125,30,,FB,KS-00-125x30.step +KS00125-30CA,00,125,30,,CA,KS-00-125x30.step +KS00125-30CB,00,125,30,,CB,KS-00-125x30.step +KS00125-30LB,00,125,30,,LB,KS-00-125x30.step +KS00125-30TC,00,125,30,,TC,KS-00-125x30.step +KS00125-30TC-M,00,125,30,,TC-M,KS-00-125x30.step +KS00125-30M,00,125,30,M,,KS-00-125x30.step +KS00125-30MFA,00,125,30,M,FA,KS-00-125x30.step +KS00125-30MFB,00,125,30,M,FB,KS-00-125x30.step +KS00125-30MCA,00,125,30,M,CA,KS-00-125x30.step +KS00125-30MCB,00,125,30,M,CB,KS-00-125x30.step +KS00125-30MLB,00,125,30,M,LB,KS-00-125x30.step +KS00125-30MTC,00,125,30,M,TC,KS-00-125x30.step +KS00125-30MTC-M,00,125,30,M,TC-M,KS-00-125x30.step +KS00125-50,00,125,50,,,KS-00-125x50.step +KS00125-50FA,00,125,50,,FA,KS-00-125x50.step +KS00125-50FB,00,125,50,,FB,KS-00-125x50.step +KS00125-50CA,00,125,50,,CA,KS-00-125x50.step +KS00125-50CB,00,125,50,,CB,KS-00-125x50.step +KS00125-50LB,00,125,50,,LB,KS-00-125x50.step +KS00125-50TC,00,125,50,,TC,KS-00-125x50.step +KS00125-50TC-M,00,125,50,,TC-M,KS-00-125x50.step +KS00125-50M,00,125,50,M,,KS-00-125x50.step +KS00125-50MFA,00,125,50,M,FA,KS-00-125x50.step +KS00125-50MFB,00,125,50,M,FB,KS-00-125x50.step +KS00125-50MCA,00,125,50,M,CA,KS-00-125x50.step +KS00125-50MCB,00,125,50,M,CB,KS-00-125x50.step +KS00125-50MLB,00,125,50,M,LB,KS-00-125x50.step +KS00125-50MTC,00,125,50,M,TC,KS-00-125x50.step +KS00125-50MTC-M,00,125,50,M,TC-M,KS-00-125x50.step +KS00125-75,00,125,75,,,KS-00-125x75.step +KS00125-75FA,00,125,75,,FA,KS-00-125x75.step +KS00125-75FB,00,125,75,,FB,KS-00-125x75.step +KS00125-75CA,00,125,75,,CA,KS-00-125x75.step +KS00125-75CB,00,125,75,,CB,KS-00-125x75.step +KS00125-75LB,00,125,75,,LB,KS-00-125x75.step +KS00125-75TC,00,125,75,,TC,KS-00-125x75.step +KS00125-75TC-M,00,125,75,,TC-M,KS-00-125x75.step +KS00125-75M,00,125,75,M,,KS-00-125x75.step +KS00125-75MFA,00,125,75,M,FA,KS-00-125x75.step +KS00125-75MFB,00,125,75,M,FB,KS-00-125x75.step +KS00125-75MCA,00,125,75,M,CA,KS-00-125x75.step +KS00125-75MCB,00,125,75,M,CB,KS-00-125x75.step +KS00125-75MLB,00,125,75,M,LB,KS-00-125x75.step +KS00125-75MTC,00,125,75,M,TC,KS-00-125x75.step +KS00125-75MTC-M,00,125,75,M,TC-M,KS-00-125x75.step +KS00125-100,00,125,100,,,KS-00-125x100.step +KS00125-100FA,00,125,100,,FA,KS-00-125x100.step +KS00125-100FB,00,125,100,,FB,KS-00-125x100.step +KS00125-100CA,00,125,100,,CA,KS-00-125x100.step +KS00125-100CB,00,125,100,,CB,KS-00-125x100.step +KS00125-100LB,00,125,100,,LB,KS-00-125x100.step +KS00125-100TC,00,125,100,,TC,KS-00-125x100.step +KS00125-100TC-M,00,125,100,,TC-M,KS-00-125x100.step +KS00125-100M,00,125,100,M,,KS-00-125x100.step +KS00125-100MFA,00,125,100,M,FA,KS-00-125x100.step +KS00125-100MFB,00,125,100,M,FB,KS-00-125x100.step +KS00125-100MCA,00,125,100,M,CA,KS-00-125x100.step +KS00125-100MCB,00,125,100,M,CB,KS-00-125x100.step +KS00125-100MLB,00,125,100,M,LB,KS-00-125x100.step +KS00125-100MTC,00,125,100,M,TC,KS-00-125x100.step +KS00125-100MTC-M,00,125,100,M,TC-M,KS-00-125x100.step +KS0232-10FA,02,32,10,,FA,KS-02-32x10.step +KS0232-10FB,02,32,10,,FB,KS-02-32x10.step +KS0232-10LB,02,32,10,,LB,KS-02-32x10.step +KS0232-10TC,02,32,10,,TC,KS-02-32x10.step +KS0232-10TC-M,02,32,10,,TC-M,KS-02-32x10.step +KS0232-10MFA,02,32,10,M,FA,KS-02-32x10.step +KS0232-10MFB,02,32,10,M,FB,KS-02-32x10.step +KS0232-10MLB,02,32,10,M,LB,KS-02-32x10.step +KS0232-10MTC,02,32,10,M,TC,KS-02-32x10.step +KS0232-10MTC-M,02,32,10,M,TC-M,KS-02-32x10.step +KS0232-20FA,02,32,20,,FA,KS-02-32x20.step +KS0232-20FB,02,32,20,,FB,KS-02-32x20.step +KS0232-20LB,02,32,20,,LB,KS-02-32x20.step +KS0232-20TC,02,32,20,,TC,KS-02-32x20.step +KS0232-20TC-M,02,32,20,,TC-M,KS-02-32x20.step +KS0232-20MFA,02,32,20,M,FA,KS-02-32x20.step +KS0232-20MFB,02,32,20,M,FB,KS-02-32x20.step +KS0232-20MLB,02,32,20,M,LB,KS-02-32x20.step +KS0232-20MTC,02,32,20,M,TC,KS-02-32x20.step +KS0232-20MTC-M,02,32,20,M,TC-M,KS-02-32x20.step +KS0232-30FA,02,32,30,,FA,KS-02-32x30.step +KS0232-30FB,02,32,30,,FB,KS-02-32x30.step +KS0232-30LB,02,32,30,,LB,KS-02-32x30.step +KS0232-30TC,02,32,30,,TC,KS-02-32x30.step +KS0232-30TC-M,02,32,30,,TC-M,KS-02-32x30.step +KS0232-30MFA,02,32,30,M,FA,KS-02-32x30.step +KS0232-30MFB,02,32,30,M,FB,KS-02-32x30.step +KS0232-30MLB,02,32,30,M,LB,KS-02-32x30.step +KS0232-30MTC,02,32,30,M,TC,KS-02-32x30.step +KS0232-30MTC-M,02,32,30,M,TC-M,KS-02-32x30.step +KS0232-50FA,02,32,50,,FA,KS-02-32x50.step +KS0232-50FB,02,32,50,,FB,KS-02-32x50.step +KS0232-50LB,02,32,50,,LB,KS-02-32x50.step +KS0232-50TC,02,32,50,,TC,KS-02-32x50.step +KS0232-50TC-M,02,32,50,,TC-M,KS-02-32x50.step +KS0232-50MFA,02,32,50,M,FA,KS-02-32x50.step +KS0232-50MFB,02,32,50,M,FB,KS-02-32x50.step +KS0232-50MLB,02,32,50,M,LB,KS-02-32x50.step +KS0232-50MTC,02,32,50,M,TC,KS-02-32x50.step +KS0232-50MTC-M,02,32,50,M,TC-M,KS-02-32x50.step +KS0232-75FA,02,32,75,,FA,KS-02-32x75.step +KS0232-75FB,02,32,75,,FB,KS-02-32x75.step +KS0232-75LB,02,32,75,,LB,KS-02-32x75.step +KS0232-75TC,02,32,75,,TC,KS-02-32x75.step +KS0232-75TC-M,02,32,75,,TC-M,KS-02-32x75.step +KS0232-75MFA,02,32,75,M,FA,KS-02-32x75.step +KS0232-75MFB,02,32,75,M,FB,KS-02-32x75.step +KS0232-75MLB,02,32,75,M,LB,KS-02-32x75.step +KS0232-75MTC,02,32,75,M,TC,KS-02-32x75.step +KS0232-75MTC-M,02,32,75,M,TC-M,KS-02-32x75.step +KS0232-100FA,02,32,100,,FA,KS-02-32x100.step +KS0232-100FB,02,32,100,,FB,KS-02-32x100.step +KS0232-100LB,02,32,100,,LB,KS-02-32x100.step +KS0232-100TC,02,32,100,,TC,KS-02-32x100.step +KS0232-100TC-M,02,32,100,,TC-M,KS-02-32x100.step +KS0232-100MFA,02,32,100,M,FA,KS-02-32x100.step +KS0232-100MFB,02,32,100,M,FB,KS-02-32x100.step +KS0232-100MLB,02,32,100,M,LB,KS-02-32x100.step +KS0232-100MTC,02,32,100,M,TC,KS-02-32x100.step +KS0232-100MTC-M,02,32,100,M,TC-M,KS-02-32x100.step +KS0240-10FA,02,40,10,,FA,KS-02-40x10.step +KS0240-10FB,02,40,10,,FB,KS-02-40x10.step +KS0240-10LB,02,40,10,,LB,KS-02-40x10.step +KS0240-10TC,02,40,10,,TC,KS-02-40x10.step +KS0240-10TC-M,02,40,10,,TC-M,KS-02-40x10.step +KS0240-10MFA,02,40,10,M,FA,KS-02-40x10.step +KS0240-10MFB,02,40,10,M,FB,KS-02-40x10.step +KS0240-10MLB,02,40,10,M,LB,KS-02-40x10.step +KS0240-10MTC,02,40,10,M,TC,KS-02-40x10.step +KS0240-10MTC-M,02,40,10,M,TC-M,KS-02-40x10.step +KS0240-20FA,02,40,20,,FA,KS-02-40x20.step +KS0240-20FB,02,40,20,,FB,KS-02-40x20.step +KS0240-20LB,02,40,20,,LB,KS-02-40x20.step +KS0240-20TC,02,40,20,,TC,KS-02-40x20.step +KS0240-20TC-M,02,40,20,,TC-M,KS-02-40x20.step +KS0240-20MFA,02,40,20,M,FA,KS-02-40x20.step +KS0240-20MFB,02,40,20,M,FB,KS-02-40x20.step +KS0240-20MLB,02,40,20,M,LB,KS-02-40x20.step +KS0240-20MTC,02,40,20,M,TC,KS-02-40x20.step +KS0240-20MTC-M,02,40,20,M,TC-M,KS-02-40x20.step +KS0240-30FA,02,40,30,,FA,KS-02-40x30.step +KS0240-30FB,02,40,30,,FB,KS-02-40x30.step +KS0240-30LB,02,40,30,,LB,KS-02-40x30.step +KS0240-30TC,02,40,30,,TC,KS-02-40x30.step +KS0240-30TC-M,02,40,30,,TC-M,KS-02-40x30.step +KS0240-30MFA,02,40,30,M,FA,KS-02-40x30.step +KS0240-30MFB,02,40,30,M,FB,KS-02-40x30.step +KS0240-30MLB,02,40,30,M,LB,KS-02-40x30.step +KS0240-30MTC,02,40,30,M,TC,KS-02-40x30.step +KS0240-30MTC-M,02,40,30,M,TC-M,KS-02-40x30.step +KS0240-50FA,02,40,50,,FA,KS-02-40x50.step +KS0240-50FB,02,40,50,,FB,KS-02-40x50.step +KS0240-50LB,02,40,50,,LB,KS-02-40x50.step +KS0240-50TC,02,40,50,,TC,KS-02-40x50.step +KS0240-50TC-M,02,40,50,,TC-M,KS-02-40x50.step +KS0240-50MFA,02,40,50,M,FA,KS-02-40x50.step +KS0240-50MFB,02,40,50,M,FB,KS-02-40x50.step +KS0240-50MLB,02,40,50,M,LB,KS-02-40x50.step +KS0240-50MTC,02,40,50,M,TC,KS-02-40x50.step +KS0240-50MTC-M,02,40,50,M,TC-M,KS-02-40x50.step +KS0240-75FA,02,40,75,,FA,KS-02-40x75.step +KS0240-75FB,02,40,75,,FB,KS-02-40x75.step +KS0240-75LB,02,40,75,,LB,KS-02-40x75.step +KS0240-75TC,02,40,75,,TC,KS-02-40x75.step +KS0240-75TC-M,02,40,75,,TC-M,KS-02-40x75.step +KS0240-75MFA,02,40,75,M,FA,KS-02-40x75.step +KS0240-75MFB,02,40,75,M,FB,KS-02-40x75.step +KS0240-75MLB,02,40,75,M,LB,KS-02-40x75.step +KS0240-75MTC,02,40,75,M,TC,KS-02-40x75.step +KS0240-75MTC-M,02,40,75,M,TC-M,KS-02-40x75.step +KS0240-100FA,02,40,100,,FA,KS-02-40x100.step +KS0240-100FB,02,40,100,,FB,KS-02-40x100.step +KS0240-100LB,02,40,100,,LB,KS-02-40x100.step +KS0240-100TC,02,40,100,,TC,KS-02-40x100.step +KS0240-100TC-M,02,40,100,,TC-M,KS-02-40x100.step +KS0240-100MFA,02,40,100,M,FA,KS-02-40x100.step +KS0240-100MFB,02,40,100,M,FB,KS-02-40x100.step +KS0240-100MLB,02,40,100,M,LB,KS-02-40x100.step +KS0240-100MTC,02,40,100,M,TC,KS-02-40x100.step +KS0240-100MTC-M,02,40,100,M,TC-M,KS-02-40x100.step +KS0250-10FA,02,50,10,,FA,KS-02-50x10.step +KS0250-10FB,02,50,10,,FB,KS-02-50x10.step +KS0250-10LB,02,50,10,,LB,KS-02-50x10.step +KS0250-10TC,02,50,10,,TC,KS-02-50x10.step +KS0250-10TC-M,02,50,10,,TC-M,KS-02-50x10.step +KS0250-10MFA,02,50,10,M,FA,KS-02-50x10.step +KS0250-10MFB,02,50,10,M,FB,KS-02-50x10.step +KS0250-10MLB,02,50,10,M,LB,KS-02-50x10.step +KS0250-10MTC,02,50,10,M,TC,KS-02-50x10.step +KS0250-10MTC-M,02,50,10,M,TC-M,KS-02-50x10.step +KS0250-20FA,02,50,20,,FA,KS-02-50x20.step +KS0250-20FB,02,50,20,,FB,KS-02-50x20.step +KS0250-20LB,02,50,20,,LB,KS-02-50x20.step +KS0250-20TC,02,50,20,,TC,KS-02-50x20.step +KS0250-20TC-M,02,50,20,,TC-M,KS-02-50x20.step +KS0250-20MFA,02,50,20,M,FA,KS-02-50x20.step +KS0250-20MFB,02,50,20,M,FB,KS-02-50x20.step +KS0250-20MLB,02,50,20,M,LB,KS-02-50x20.step +KS0250-20MTC,02,50,20,M,TC,KS-02-50x20.step +KS0250-20MTC-M,02,50,20,M,TC-M,KS-02-50x20.step +KS0250-30FA,02,50,30,,FA,KS-02-50x30.step +KS0250-30FB,02,50,30,,FB,KS-02-50x30.step +KS0250-30LB,02,50,30,,LB,KS-02-50x30.step +KS0250-30TC,02,50,30,,TC,KS-02-50x30.step +KS0250-30TC-M,02,50,30,,TC-M,KS-02-50x30.step +KS0250-30MFA,02,50,30,M,FA,KS-02-50x30.step +KS0250-30MFB,02,50,30,M,FB,KS-02-50x30.step +KS0250-30MLB,02,50,30,M,LB,KS-02-50x30.step +KS0250-30MTC,02,50,30,M,TC,KS-02-50x30.step +KS0250-30MTC-M,02,50,30,M,TC-M,KS-02-50x30.step +KS0250-50FA,02,50,50,,FA,KS-02-50x50.step +KS0250-50FB,02,50,50,,FB,KS-02-50x50.step +KS0250-50LB,02,50,50,,LB,KS-02-50x50.step +KS0250-50TC,02,50,50,,TC,KS-02-50x50.step +KS0250-50TC-M,02,50,50,,TC-M,KS-02-50x50.step +KS0250-50MFA,02,50,50,M,FA,KS-02-50x50.step +KS0250-50MFB,02,50,50,M,FB,KS-02-50x50.step +KS0250-50MLB,02,50,50,M,LB,KS-02-50x50.step +KS0250-50MTC,02,50,50,M,TC,KS-02-50x50.step +KS0250-50MTC-M,02,50,50,M,TC-M,KS-02-50x50.step +KS0250-75FA,02,50,75,,FA,KS-02-50x75.step +KS0250-75FB,02,50,75,,FB,KS-02-50x75.step +KS0250-75LB,02,50,75,,LB,KS-02-50x75.step +KS0250-75TC,02,50,75,,TC,KS-02-50x75.step +KS0250-75TC-M,02,50,75,,TC-M,KS-02-50x75.step +KS0250-75MFA,02,50,75,M,FA,KS-02-50x75.step +KS0250-75MFB,02,50,75,M,FB,KS-02-50x75.step +KS0250-75MLB,02,50,75,M,LB,KS-02-50x75.step +KS0250-75MTC,02,50,75,M,TC,KS-02-50x75.step +KS0250-75MTC-M,02,50,75,M,TC-M,KS-02-50x75.step +KS0250-100FA,02,50,100,,FA,KS-02-50x100.step +KS0250-100FB,02,50,100,,FB,KS-02-50x100.step +KS0250-100LB,02,50,100,,LB,KS-02-50x100.step +KS0250-100TC,02,50,100,,TC,KS-02-50x100.step +KS0250-100TC-M,02,50,100,,TC-M,KS-02-50x100.step +KS0250-100MFA,02,50,100,M,FA,KS-02-50x100.step +KS0250-100MFB,02,50,100,M,FB,KS-02-50x100.step +KS0250-100MLB,02,50,100,M,LB,KS-02-50x100.step +KS0250-100MTC,02,50,100,M,TC,KS-02-50x100.step +KS0250-100MTC-M,02,50,100,M,TC-M,KS-02-50x100.step +KS0263-10FA,02,63,10,,FA,KS-02-63x10.step +KS0263-10FB,02,63,10,,FB,KS-02-63x10.step +KS0263-10LB,02,63,10,,LB,KS-02-63x10.step +KS0263-10TC,02,63,10,,TC,KS-02-63x10.step +KS0263-10TC-M,02,63,10,,TC-M,KS-02-63x10.step +KS0263-10MFA,02,63,10,M,FA,KS-02-63x10.step +KS0263-10MFB,02,63,10,M,FB,KS-02-63x10.step +KS0263-10MLB,02,63,10,M,LB,KS-02-63x10.step +KS0263-10MTC,02,63,10,M,TC,KS-02-63x10.step +KS0263-10MTC-M,02,63,10,M,TC-M,KS-02-63x10.step +KS0263-20FA,02,63,20,,FA,KS-02-63x20.step +KS0263-20FB,02,63,20,,FB,KS-02-63x20.step +KS0263-20LB,02,63,20,,LB,KS-02-63x20.step +KS0263-20TC,02,63,20,,TC,KS-02-63x20.step +KS0263-20TC-M,02,63,20,,TC-M,KS-02-63x20.step +KS0263-20MFA,02,63,20,M,FA,KS-02-63x20.step +KS0263-20MFB,02,63,20,M,FB,KS-02-63x20.step +KS0263-20MLB,02,63,20,M,LB,KS-02-63x20.step +KS0263-20MTC,02,63,20,M,TC,KS-02-63x20.step +KS0263-20MTC-M,02,63,20,M,TC-M,KS-02-63x20.step +KS0263-30FA,02,63,30,,FA,KS-02-63x30.step +KS0263-30FB,02,63,30,,FB,KS-02-63x30.step +KS0263-30LB,02,63,30,,LB,KS-02-63x30.step +KS0263-30TC,02,63,30,,TC,KS-02-63x30.step +KS0263-30TC-M,02,63,30,,TC-M,KS-02-63x30.step +KS0263-30MFA,02,63,30,M,FA,KS-02-63x30.step +KS0263-30MFB,02,63,30,M,FB,KS-02-63x30.step +KS0263-30MLB,02,63,30,M,LB,KS-02-63x30.step +KS0263-30MTC,02,63,30,M,TC,KS-02-63x30.step +KS0263-30MTC-M,02,63,30,M,TC-M,KS-02-63x30.step +KS0263-50FA,02,63,50,,FA,KS-02-63x50.step +KS0263-50FB,02,63,50,,FB,KS-02-63x50.step +KS0263-50LB,02,63,50,,LB,KS-02-63x50.step +KS0263-50TC,02,63,50,,TC,KS-02-63x50.step +KS0263-50TC-M,02,63,50,,TC-M,KS-02-63x50.step +KS0263-50MFA,02,63,50,M,FA,KS-02-63x50.step +KS0263-50MFB,02,63,50,M,FB,KS-02-63x50.step +KS0263-50MLB,02,63,50,M,LB,KS-02-63x50.step +KS0263-50MTC,02,63,50,M,TC,KS-02-63x50.step +KS0263-50MTC-M,02,63,50,M,TC-M,KS-02-63x50.step +KS0263-75FA,02,63,75,,FA,KS-02-63x75.step +KS0263-75FB,02,63,75,,FB,KS-02-63x75.step +KS0263-75LB,02,63,75,,LB,KS-02-63x75.step +KS0263-75TC,02,63,75,,TC,KS-02-63x75.step +KS0263-75TC-M,02,63,75,,TC-M,KS-02-63x75.step +KS0263-75MFA,02,63,75,M,FA,KS-02-63x75.step +KS0263-75MFB,02,63,75,M,FB,KS-02-63x75.step +KS0263-75MLB,02,63,75,M,LB,KS-02-63x75.step +KS0263-75MTC,02,63,75,M,TC,KS-02-63x75.step +KS0263-75MTC-M,02,63,75,M,TC-M,KS-02-63x75.step +KS0263-100FA,02,63,100,,FA,KS-02-63x100.step +KS0263-100FB,02,63,100,,FB,KS-02-63x100.step +KS0263-100LB,02,63,100,,LB,KS-02-63x100.step +KS0263-100TC,02,63,100,,TC,KS-02-63x100.step +KS0263-100TC-M,02,63,100,,TC-M,KS-02-63x100.step +KS0263-100MFA,02,63,100,M,FA,KS-02-63x100.step +KS0263-100MFB,02,63,100,M,FB,KS-02-63x100.step +KS0263-100MLB,02,63,100,M,LB,KS-02-63x100.step +KS0263-100MTC,02,63,100,M,TC,KS-02-63x100.step +KS0263-100MTC-M,02,63,100,M,TC-M,KS-02-63x100.step +KS0280-10FA,02,80,10,,FA,KS-02-80x10.step +KS0280-10FB,02,80,10,,FB,KS-02-80x10.step +KS0280-10LB,02,80,10,,LB,KS-02-80x10.step +KS0280-10TC,02,80,10,,TC,KS-02-80x10.step +KS0280-10TC-M,02,80,10,,TC-M,KS-02-80x10.step +KS0280-10MFA,02,80,10,M,FA,KS-02-80x10.step +KS0280-10MFB,02,80,10,M,FB,KS-02-80x10.step +KS0280-10MLB,02,80,10,M,LB,KS-02-80x10.step +KS0280-10MTC,02,80,10,M,TC,KS-02-80x10.step +KS0280-10MTC-M,02,80,10,M,TC-M,KS-02-80x10.step +KS0280-20FA,02,80,20,,FA,KS-02-80x20.step +KS0280-20FB,02,80,20,,FB,KS-02-80x20.step +KS0280-20LB,02,80,20,,LB,KS-02-80x20.step +KS0280-20TC,02,80,20,,TC,KS-02-80x20.step +KS0280-20TC-M,02,80,20,,TC-M,KS-02-80x20.step +KS0280-20MFA,02,80,20,M,FA,KS-02-80x20.step +KS0280-20MFB,02,80,20,M,FB,KS-02-80x20.step +KS0280-20MLB,02,80,20,M,LB,KS-02-80x20.step +KS0280-20MTC,02,80,20,M,TC,KS-02-80x20.step +KS0280-20MTC-M,02,80,20,M,TC-M,KS-02-80x20.step +KS0280-30FA,02,80,30,,FA,KS-02-80x30.step +KS0280-30FB,02,80,30,,FB,KS-02-80x30.step +KS0280-30LB,02,80,30,,LB,KS-02-80x30.step +KS0280-30TC,02,80,30,,TC,KS-02-80x30.step +KS0280-30TC-M,02,80,30,,TC-M,KS-02-80x30.step +KS0280-30MFA,02,80,30,M,FA,KS-02-80x30.step +KS0280-30MFB,02,80,30,M,FB,KS-02-80x30.step +KS0280-30MLB,02,80,30,M,LB,KS-02-80x30.step +KS0280-30MTC,02,80,30,M,TC,KS-02-80x30.step +KS0280-30MTC-M,02,80,30,M,TC-M,KS-02-80x30.step +KS0280-50FA,02,80,50,,FA,KS-02-80x50.step +KS0280-50FB,02,80,50,,FB,KS-02-80x50.step +KS0280-50LB,02,80,50,,LB,KS-02-80x50.step +KS0280-50TC,02,80,50,,TC,KS-02-80x50.step +KS0280-50TC-M,02,80,50,,TC-M,KS-02-80x50.step +KS0280-50MFA,02,80,50,M,FA,KS-02-80x50.step +KS0280-50MFB,02,80,50,M,FB,KS-02-80x50.step +KS0280-50MLB,02,80,50,M,LB,KS-02-80x50.step +KS0280-50MTC,02,80,50,M,TC,KS-02-80x50.step +KS0280-50MTC-M,02,80,50,M,TC-M,KS-02-80x50.step +KS0280-75FA,02,80,75,,FA,KS-02-80x75.step +KS0280-75FB,02,80,75,,FB,KS-02-80x75.step +KS0280-75LB,02,80,75,,LB,KS-02-80x75.step +KS0280-75TC,02,80,75,,TC,KS-02-80x75.step +KS0280-75TC-M,02,80,75,,TC-M,KS-02-80x75.step +KS0280-75MFA,02,80,75,M,FA,KS-02-80x75.step +KS0280-75MFB,02,80,75,M,FB,KS-02-80x75.step +KS0280-75MLB,02,80,75,M,LB,KS-02-80x75.step +KS0280-75MTC,02,80,75,M,TC,KS-02-80x75.step +KS0280-75MTC-M,02,80,75,M,TC-M,KS-02-80x75.step +KS0280-100FA,02,80,100,,FA,KS-02-80x100.step +KS0280-100FB,02,80,100,,FB,KS-02-80x100.step +KS0280-100LB,02,80,100,,LB,KS-02-80x100.step +KS0280-100TC,02,80,100,,TC,KS-02-80x100.step +KS0280-100TC-M,02,80,100,,TC-M,KS-02-80x100.step +KS0280-100MFA,02,80,100,M,FA,KS-02-80x100.step +KS0280-100MFB,02,80,100,M,FB,KS-02-80x100.step +KS0280-100MLB,02,80,100,M,LB,KS-02-80x100.step +KS0280-100MTC,02,80,100,M,TC,KS-02-80x100.step +KS0280-100MTC-M,02,80,100,M,TC-M,KS-02-80x100.step +KS02100-10FA,02,100,10,,FA,KS-02-100x10.step +KS02100-10FB,02,100,10,,FB,KS-02-100x10.step +KS02100-10LB,02,100,10,,LB,KS-02-100x10.step +KS02100-10TC,02,100,10,,TC,KS-02-100x10.step +KS02100-10TC-M,02,100,10,,TC-M,KS-02-100x10.step +KS02100-10MFA,02,100,10,M,FA,KS-02-100x10.step +KS02100-10MFB,02,100,10,M,FB,KS-02-100x10.step +KS02100-10MLB,02,100,10,M,LB,KS-02-100x10.step +KS02100-10MTC,02,100,10,M,TC,KS-02-100x10.step +KS02100-10MTC-M,02,100,10,M,TC-M,KS-02-100x10.step +KS02100-20FA,02,100,20,,FA,KS-02-100x20.step +KS02100-20FB,02,100,20,,FB,KS-02-100x20.step +KS02100-20LB,02,100,20,,LB,KS-02-100x20.step +KS02100-20TC,02,100,20,,TC,KS-02-100x20.step +KS02100-20TC-M,02,100,20,,TC-M,KS-02-100x20.step +KS02100-20MFA,02,100,20,M,FA,KS-02-100x20.step +KS02100-20MFB,02,100,20,M,FB,KS-02-100x20.step +KS02100-20MLB,02,100,20,M,LB,KS-02-100x20.step +KS02100-20MTC,02,100,20,M,TC,KS-02-100x20.step +KS02100-20MTC-M,02,100,20,M,TC-M,KS-02-100x20.step +KS02100-30FA,02,100,30,,FA,KS-02-100x30.step +KS02100-30FB,02,100,30,,FB,KS-02-100x30.step +KS02100-30LB,02,100,30,,LB,KS-02-100x30.step +KS02100-30TC,02,100,30,,TC,KS-02-100x30.step +KS02100-30TC-M,02,100,30,,TC-M,KS-02-100x30.step +KS02100-30MFA,02,100,30,M,FA,KS-02-100x30.step +KS02100-30MFB,02,100,30,M,FB,KS-02-100x30.step +KS02100-30MLB,02,100,30,M,LB,KS-02-100x30.step +KS02100-30MTC,02,100,30,M,TC,KS-02-100x30.step +KS02100-30MTC-M,02,100,30,M,TC-M,KS-02-100x30.step +KS02100-50FA,02,100,50,,FA,KS-02-100x50.step +KS02100-50FB,02,100,50,,FB,KS-02-100x50.step +KS02100-50LB,02,100,50,,LB,KS-02-100x50.step +KS02100-50TC,02,100,50,,TC,KS-02-100x50.step +KS02100-50TC-M,02,100,50,,TC-M,KS-02-100x50.step +KS02100-50MFA,02,100,50,M,FA,KS-02-100x50.step +KS02100-50MFB,02,100,50,M,FB,KS-02-100x50.step +KS02100-50MLB,02,100,50,M,LB,KS-02-100x50.step +KS02100-50MTC,02,100,50,M,TC,KS-02-100x50.step +KS02100-50MTC-M,02,100,50,M,TC-M,KS-02-100x50.step +KS02100-75FA,02,100,75,,FA,KS-02-100x75.step +KS02100-75FB,02,100,75,,FB,KS-02-100x75.step +KS02100-75LB,02,100,75,,LB,KS-02-100x75.step +KS02100-75TC,02,100,75,,TC,KS-02-100x75.step +KS02100-75TC-M,02,100,75,,TC-M,KS-02-100x75.step +KS02100-75MFA,02,100,75,M,FA,KS-02-100x75.step +KS02100-75MFB,02,100,75,M,FB,KS-02-100x75.step +KS02100-75MLB,02,100,75,M,LB,KS-02-100x75.step +KS02100-75MTC,02,100,75,M,TC,KS-02-100x75.step +KS02100-75MTC-M,02,100,75,M,TC-M,KS-02-100x75.step +KS02100-100FA,02,100,100,,FA,KS-02-100x100.step +KS02100-100FB,02,100,100,,FB,KS-02-100x100.step +KS02100-100LB,02,100,100,,LB,KS-02-100x100.step +KS02100-100TC,02,100,100,,TC,KS-02-100x100.step +KS02100-100TC-M,02,100,100,,TC-M,KS-02-100x100.step +KS02100-100MFA,02,100,100,M,FA,KS-02-100x100.step +KS02100-100MFB,02,100,100,M,FB,KS-02-100x100.step +KS02100-100MLB,02,100,100,M,LB,KS-02-100x100.step +KS02100-100MTC,02,100,100,M,TC,KS-02-100x100.step +KS02100-100MTC-M,02,100,100,M,TC-M,KS-02-100x100.step +KS02125-10FA,02,125,10,,FA,KS-02-125x10.step +KS02125-10FB,02,125,10,,FB,KS-02-125x10.step +KS02125-10LB,02,125,10,,LB,KS-02-125x10.step +KS02125-10TC,02,125,10,,TC,KS-02-125x10.step +KS02125-10TC-M,02,125,10,,TC-M,KS-02-125x10.step +KS02125-10MFA,02,125,10,M,FA,KS-02-125x10.step +KS02125-10MFB,02,125,10,M,FB,KS-02-125x10.step +KS02125-10MLB,02,125,10,M,LB,KS-02-125x10.step +KS02125-10MTC,02,125,10,M,TC,KS-02-125x10.step +KS02125-10MTC-M,02,125,10,M,TC-M,KS-02-125x10.step +KS02125-20FA,02,125,20,,FA,KS-02-125x20.step +KS02125-20FB,02,125,20,,FB,KS-02-125x20.step +KS02125-20LB,02,125,20,,LB,KS-02-125x20.step +KS02125-20TC,02,125,20,,TC,KS-02-125x20.step +KS02125-20TC-M,02,125,20,,TC-M,KS-02-125x20.step +KS02125-20MFA,02,125,20,M,FA,KS-02-125x20.step +KS02125-20MFB,02,125,20,M,FB,KS-02-125x20.step +KS02125-20MLB,02,125,20,M,LB,KS-02-125x20.step +KS02125-20MTC,02,125,20,M,TC,KS-02-125x20.step +KS02125-20MTC-M,02,125,20,M,TC-M,KS-02-125x20.step +KS02125-30FA,02,125,30,,FA,KS-02-125x30.step +KS02125-30FB,02,125,30,,FB,KS-02-125x30.step +KS02125-30LB,02,125,30,,LB,KS-02-125x30.step +KS02125-30TC,02,125,30,,TC,KS-02-125x30.step +KS02125-30TC-M,02,125,30,,TC-M,KS-02-125x30.step +KS02125-30MFA,02,125,30,M,FA,KS-02-125x30.step +KS02125-30MFB,02,125,30,M,FB,KS-02-125x30.step +KS02125-30MLB,02,125,30,M,LB,KS-02-125x30.step +KS02125-30MTC,02,125,30,M,TC,KS-02-125x30.step +KS02125-30MTC-M,02,125,30,M,TC-M,KS-02-125x30.step +KS02125-50FA,02,125,50,,FA,KS-02-125x50.step +KS02125-50FB,02,125,50,,FB,KS-02-125x50.step +KS02125-50LB,02,125,50,,LB,KS-02-125x50.step +KS02125-50TC,02,125,50,,TC,KS-02-125x50.step +KS02125-50TC-M,02,125,50,,TC-M,KS-02-125x50.step +KS02125-50MFA,02,125,50,M,FA,KS-02-125x50.step +KS02125-50MFB,02,125,50,M,FB,KS-02-125x50.step +KS02125-50MLB,02,125,50,M,LB,KS-02-125x50.step +KS02125-50MTC,02,125,50,M,TC,KS-02-125x50.step +KS02125-50MTC-M,02,125,50,M,TC-M,KS-02-125x50.step +KS02125-75FA,02,125,75,,FA,KS-02-125x75.step +KS02125-75FB,02,125,75,,FB,KS-02-125x75.step +KS02125-75LB,02,125,75,,LB,KS-02-125x75.step +KS02125-75TC,02,125,75,,TC,KS-02-125x75.step +KS02125-75TC-M,02,125,75,,TC-M,KS-02-125x75.step +KS02125-75MFA,02,125,75,M,FA,KS-02-125x75.step +KS02125-75MFB,02,125,75,M,FB,KS-02-125x75.step +KS02125-75MLB,02,125,75,M,LB,KS-02-125x75.step +KS02125-75MTC,02,125,75,M,TC,KS-02-125x75.step +KS02125-75MTC-M,02,125,75,M,TC-M,KS-02-125x75.step +KS02125-100FA,02,125,100,,FA,KS-02-125x100.step +KS02125-100FB,02,125,100,,FB,KS-02-125x100.step +KS02125-100LB,02,125,100,,LB,KS-02-125x100.step +KS02125-100TC,02,125,100,,TC,KS-02-125x100.step +KS02125-100TC-M,02,125,100,,TC-M,KS-02-125x100.step +KS02125-100MFA,02,125,100,M,FA,KS-02-125x100.step +KS02125-100MFB,02,125,100,M,FB,KS-02-125x100.step +KS02125-100MLB,02,125,100,M,LB,KS-02-125x100.step +KS02125-100MTC,02,125,100,M,TC,KS-02-125x100.step +KS02125-100MTC-M,02,125,100,M,TC-M,KS-02-125x100.step +KS0332-10FA,03,32,10,,FA,KS-03-32x10.step +KS0332-10FB,03,32,10,,FB,KS-03-32x10.step +KS0332-10LB,03,32,10,,LB,KS-03-32x10.step +KS0332-10TC,03,32,10,,TC,KS-03-32x10.step +KS0332-10TC-M,03,32,10,,TC-M,KS-03-32x10.step +KS0332-10MFA,03,32,10,M,FA,KS-03-32x10.step +KS0332-10MFB,03,32,10,M,FB,KS-03-32x10.step +KS0332-10MLB,03,32,10,M,LB,KS-03-32x10.step +KS0332-10MTC,03,32,10,M,TC,KS-03-32x10.step +KS0332-10MTC-M,03,32,10,M,TC-M,KS-03-32x10.step +KS0332-20FA,03,32,20,,FA,KS-03-32x20.step +KS0332-20FB,03,32,20,,FB,KS-03-32x20.step +KS0332-20LB,03,32,20,,LB,KS-03-32x20.step +KS0332-20TC,03,32,20,,TC,KS-03-32x20.step +KS0332-20TC-M,03,32,20,,TC-M,KS-03-32x20.step +KS0332-20MFA,03,32,20,M,FA,KS-03-32x20.step +KS0332-20MFB,03,32,20,M,FB,KS-03-32x20.step +KS0332-20MLB,03,32,20,M,LB,KS-03-32x20.step +KS0332-20MTC,03,32,20,M,TC,KS-03-32x20.step +KS0332-20MTC-M,03,32,20,M,TC-M,KS-03-32x20.step +KS0332-30FA,03,32,30,,FA,KS-03-32x30.step +KS0332-30FB,03,32,30,,FB,KS-03-32x30.step +KS0332-30LB,03,32,30,,LB,KS-03-32x30.step +KS0332-30TC,03,32,30,,TC,KS-03-32x30.step +KS0332-30TC-M,03,32,30,,TC-M,KS-03-32x30.step +KS0332-30MFA,03,32,30,M,FA,KS-03-32x30.step +KS0332-30MFB,03,32,30,M,FB,KS-03-32x30.step +KS0332-30MLB,03,32,30,M,LB,KS-03-32x30.step +KS0332-30MTC,03,32,30,M,TC,KS-03-32x30.step +KS0332-30MTC-M,03,32,30,M,TC-M,KS-03-32x30.step +KS0332-50FA,03,32,50,,FA,KS-03-32x50.step +KS0332-50FB,03,32,50,,FB,KS-03-32x50.step +KS0332-50LB,03,32,50,,LB,KS-03-32x50.step +KS0332-50TC,03,32,50,,TC,KS-03-32x50.step +KS0332-50TC-M,03,32,50,,TC-M,KS-03-32x50.step +KS0332-50MFA,03,32,50,M,FA,KS-03-32x50.step +KS0332-50MFB,03,32,50,M,FB,KS-03-32x50.step +KS0332-50MLB,03,32,50,M,LB,KS-03-32x50.step +KS0332-50MTC,03,32,50,M,TC,KS-03-32x50.step +KS0332-50MTC-M,03,32,50,M,TC-M,KS-03-32x50.step +KS0332-75FA,03,32,75,,FA,KS-03-32x75.step +KS0332-75FB,03,32,75,,FB,KS-03-32x75.step +KS0332-75LB,03,32,75,,LB,KS-03-32x75.step +KS0332-75TC,03,32,75,,TC,KS-03-32x75.step +KS0332-75TC-M,03,32,75,,TC-M,KS-03-32x75.step +KS0332-75MFA,03,32,75,M,FA,KS-03-32x75.step +KS0332-75MFB,03,32,75,M,FB,KS-03-32x75.step +KS0332-75MLB,03,32,75,M,LB,KS-03-32x75.step +KS0332-75MTC,03,32,75,M,TC,KS-03-32x75.step +KS0332-75MTC-M,03,32,75,M,TC-M,KS-03-32x75.step +KS0332-100FA,03,32,100,,FA,KS-03-32x100.step +KS0332-100FB,03,32,100,,FB,KS-03-32x100.step +KS0332-100LB,03,32,100,,LB,KS-03-32x100.step +KS0332-100TC,03,32,100,,TC,KS-03-32x100.step +KS0332-100TC-M,03,32,100,,TC-M,KS-03-32x100.step +KS0332-100MFA,03,32,100,M,FA,KS-03-32x100.step +KS0332-100MFB,03,32,100,M,FB,KS-03-32x100.step +KS0332-100MLB,03,32,100,M,LB,KS-03-32x100.step +KS0332-100MTC,03,32,100,M,TC,KS-03-32x100.step +KS0332-100MTC-M,03,32,100,M,TC-M,KS-03-32x100.step +KS0340-10FA,03,40,10,,FA,KS-03-40x10.step +KS0340-10FB,03,40,10,,FB,KS-03-40x10.step +KS0340-10LB,03,40,10,,LB,KS-03-40x10.step +KS0340-10TC,03,40,10,,TC,KS-03-40x10.step +KS0340-10TC-M,03,40,10,,TC-M,KS-03-40x10.step +KS0340-10MFA,03,40,10,M,FA,KS-03-40x10.step +KS0340-10MFB,03,40,10,M,FB,KS-03-40x10.step +KS0340-10MLB,03,40,10,M,LB,KS-03-40x10.step +KS0340-10MTC,03,40,10,M,TC,KS-03-40x10.step +KS0340-10MTC-M,03,40,10,M,TC-M,KS-03-40x10.step +KS0340-20FA,03,40,20,,FA,KS-03-40x20.step +KS0340-20FB,03,40,20,,FB,KS-03-40x20.step +KS0340-20LB,03,40,20,,LB,KS-03-40x20.step +KS0340-20TC,03,40,20,,TC,KS-03-40x20.step +KS0340-20TC-M,03,40,20,,TC-M,KS-03-40x20.step +KS0340-20MFA,03,40,20,M,FA,KS-03-40x20.step +KS0340-20MFB,03,40,20,M,FB,KS-03-40x20.step +KS0340-20MLB,03,40,20,M,LB,KS-03-40x20.step +KS0340-20MTC,03,40,20,M,TC,KS-03-40x20.step +KS0340-20MTC-M,03,40,20,M,TC-M,KS-03-40x20.step +KS0340-30FA,03,40,30,,FA,KS-03-40x30.step +KS0340-30FB,03,40,30,,FB,KS-03-40x30.step +KS0340-30LB,03,40,30,,LB,KS-03-40x30.step +KS0340-30TC,03,40,30,,TC,KS-03-40x30.step +KS0340-30TC-M,03,40,30,,TC-M,KS-03-40x30.step +KS0340-30MFA,03,40,30,M,FA,KS-03-40x30.step +KS0340-30MFB,03,40,30,M,FB,KS-03-40x30.step +KS0340-30MLB,03,40,30,M,LB,KS-03-40x30.step +KS0340-30MTC,03,40,30,M,TC,KS-03-40x30.step +KS0340-30MTC-M,03,40,30,M,TC-M,KS-03-40x30.step +KS0340-50FA,03,40,50,,FA,KS-03-40x50.step +KS0340-50FB,03,40,50,,FB,KS-03-40x50.step +KS0340-50LB,03,40,50,,LB,KS-03-40x50.step +KS0340-50TC,03,40,50,,TC,KS-03-40x50.step +KS0340-50TC-M,03,40,50,,TC-M,KS-03-40x50.step +KS0340-50MFA,03,40,50,M,FA,KS-03-40x50.step +KS0340-50MFB,03,40,50,M,FB,KS-03-40x50.step +KS0340-50MLB,03,40,50,M,LB,KS-03-40x50.step +KS0340-50MTC,03,40,50,M,TC,KS-03-40x50.step +KS0340-50MTC-M,03,40,50,M,TC-M,KS-03-40x50.step +KS0340-75FA,03,40,75,,FA,KS-03-40x75.step +KS0340-75FB,03,40,75,,FB,KS-03-40x75.step +KS0340-75LB,03,40,75,,LB,KS-03-40x75.step +KS0340-75TC,03,40,75,,TC,KS-03-40x75.step +KS0340-75TC-M,03,40,75,,TC-M,KS-03-40x75.step +KS0340-75MFA,03,40,75,M,FA,KS-03-40x75.step +KS0340-75MFB,03,40,75,M,FB,KS-03-40x75.step +KS0340-75MLB,03,40,75,M,LB,KS-03-40x75.step +KS0340-75MTC,03,40,75,M,TC,KS-03-40x75.step +KS0340-75MTC-M,03,40,75,M,TC-M,KS-03-40x75.step +KS0340-100FA,03,40,100,,FA,KS-03-40x100.step +KS0340-100FB,03,40,100,,FB,KS-03-40x100.step +KS0340-100LB,03,40,100,,LB,KS-03-40x100.step +KS0340-100TC,03,40,100,,TC,KS-03-40x100.step +KS0340-100TC-M,03,40,100,,TC-M,KS-03-40x100.step +KS0340-100MFA,03,40,100,M,FA,KS-03-40x100.step +KS0340-100MFB,03,40,100,M,FB,KS-03-40x100.step +KS0340-100MLB,03,40,100,M,LB,KS-03-40x100.step +KS0340-100MTC,03,40,100,M,TC,KS-03-40x100.step +KS0340-100MTC-M,03,40,100,M,TC-M,KS-03-40x100.step +KS0350-10FA,03,50,10,,FA,KS-03-50x10.step +KS0350-10FB,03,50,10,,FB,KS-03-50x10.step +KS0350-10LB,03,50,10,,LB,KS-03-50x10.step +KS0350-10TC,03,50,10,,TC,KS-03-50x10.step +KS0350-10TC-M,03,50,10,,TC-M,KS-03-50x10.step +KS0350-10MFA,03,50,10,M,FA,KS-03-50x10.step +KS0350-10MFB,03,50,10,M,FB,KS-03-50x10.step +KS0350-10MLB,03,50,10,M,LB,KS-03-50x10.step +KS0350-10MTC,03,50,10,M,TC,KS-03-50x10.step +KS0350-10MTC-M,03,50,10,M,TC-M,KS-03-50x10.step +KS0350-20FA,03,50,20,,FA,KS-03-50x20.step +KS0350-20FB,03,50,20,,FB,KS-03-50x20.step +KS0350-20LB,03,50,20,,LB,KS-03-50x20.step +KS0350-20TC,03,50,20,,TC,KS-03-50x20.step +KS0350-20TC-M,03,50,20,,TC-M,KS-03-50x20.step +KS0350-20MFA,03,50,20,M,FA,KS-03-50x20.step +KS0350-20MFB,03,50,20,M,FB,KS-03-50x20.step +KS0350-20MLB,03,50,20,M,LB,KS-03-50x20.step +KS0350-20MTC,03,50,20,M,TC,KS-03-50x20.step +KS0350-20MTC-M,03,50,20,M,TC-M,KS-03-50x20.step +KS0350-30FA,03,50,30,,FA,KS-03-50x30.step +KS0350-30FB,03,50,30,,FB,KS-03-50x30.step +KS0350-30LB,03,50,30,,LB,KS-03-50x30.step +KS0350-30TC,03,50,30,,TC,KS-03-50x30.step +KS0350-30TC-M,03,50,30,,TC-M,KS-03-50x30.step +KS0350-30MFA,03,50,30,M,FA,KS-03-50x30.step +KS0350-30MFB,03,50,30,M,FB,KS-03-50x30.step +KS0350-30MLB,03,50,30,M,LB,KS-03-50x30.step +KS0350-30MTC,03,50,30,M,TC,KS-03-50x30.step +KS0350-30MTC-M,03,50,30,M,TC-M,KS-03-50x30.step +KS0350-50FA,03,50,50,,FA,KS-03-50x50.step +KS0350-50FB,03,50,50,,FB,KS-03-50x50.step +KS0350-50LB,03,50,50,,LB,KS-03-50x50.step +KS0350-50TC,03,50,50,,TC,KS-03-50x50.step +KS0350-50TC-M,03,50,50,,TC-M,KS-03-50x50.step +KS0350-50MFA,03,50,50,M,FA,KS-03-50x50.step +KS0350-50MFB,03,50,50,M,FB,KS-03-50x50.step +KS0350-50MLB,03,50,50,M,LB,KS-03-50x50.step +KS0350-50MTC,03,50,50,M,TC,KS-03-50x50.step +KS0350-50MTC-M,03,50,50,M,TC-M,KS-03-50x50.step +KS0350-75FA,03,50,75,,FA,KS-03-50x75.step +KS0350-75FB,03,50,75,,FB,KS-03-50x75.step +KS0350-75LB,03,50,75,,LB,KS-03-50x75.step +KS0350-75TC,03,50,75,,TC,KS-03-50x75.step +KS0350-75TC-M,03,50,75,,TC-M,KS-03-50x75.step +KS0350-75MFA,03,50,75,M,FA,KS-03-50x75.step +KS0350-75MFB,03,50,75,M,FB,KS-03-50x75.step +KS0350-75MLB,03,50,75,M,LB,KS-03-50x75.step +KS0350-75MTC,03,50,75,M,TC,KS-03-50x75.step +KS0350-75MTC-M,03,50,75,M,TC-M,KS-03-50x75.step +KS0350-100FA,03,50,100,,FA,KS-03-50x100.step +KS0350-100FB,03,50,100,,FB,KS-03-50x100.step +KS0350-100LB,03,50,100,,LB,KS-03-50x100.step +KS0350-100TC,03,50,100,,TC,KS-03-50x100.step +KS0350-100TC-M,03,50,100,,TC-M,KS-03-50x100.step +KS0350-100MFA,03,50,100,M,FA,KS-03-50x100.step +KS0350-100MFB,03,50,100,M,FB,KS-03-50x100.step +KS0350-100MLB,03,50,100,M,LB,KS-03-50x100.step +KS0350-100MTC,03,50,100,M,TC,KS-03-50x100.step +KS0350-100MTC-M,03,50,100,M,TC-M,KS-03-50x100.step +KS0363-10FA,03,63,10,,FA,KS-03-63x10.step +KS0363-10FB,03,63,10,,FB,KS-03-63x10.step +KS0363-10LB,03,63,10,,LB,KS-03-63x10.step +KS0363-10TC,03,63,10,,TC,KS-03-63x10.step +KS0363-10TC-M,03,63,10,,TC-M,KS-03-63x10.step +KS0363-10MFA,03,63,10,M,FA,KS-03-63x10.step +KS0363-10MFB,03,63,10,M,FB,KS-03-63x10.step +KS0363-10MLB,03,63,10,M,LB,KS-03-63x10.step +KS0363-10MTC,03,63,10,M,TC,KS-03-63x10.step +KS0363-10MTC-M,03,63,10,M,TC-M,KS-03-63x10.step +KS0363-20FA,03,63,20,,FA,KS-03-63x20.step +KS0363-20FB,03,63,20,,FB,KS-03-63x20.step +KS0363-20LB,03,63,20,,LB,KS-03-63x20.step +KS0363-20TC,03,63,20,,TC,KS-03-63x20.step +KS0363-20TC-M,03,63,20,,TC-M,KS-03-63x20.step +KS0363-20MFA,03,63,20,M,FA,KS-03-63x20.step +KS0363-20MFB,03,63,20,M,FB,KS-03-63x20.step +KS0363-20MLB,03,63,20,M,LB,KS-03-63x20.step +KS0363-20MTC,03,63,20,M,TC,KS-03-63x20.step +KS0363-20MTC-M,03,63,20,M,TC-M,KS-03-63x20.step +KS0363-30FA,03,63,30,,FA,KS-03-63x30.step +KS0363-30FB,03,63,30,,FB,KS-03-63x30.step +KS0363-30LB,03,63,30,,LB,KS-03-63x30.step +KS0363-30TC,03,63,30,,TC,KS-03-63x30.step +KS0363-30TC-M,03,63,30,,TC-M,KS-03-63x30.step +KS0363-30MFA,03,63,30,M,FA,KS-03-63x30.step +KS0363-30MFB,03,63,30,M,FB,KS-03-63x30.step +KS0363-30MLB,03,63,30,M,LB,KS-03-63x30.step +KS0363-30MTC,03,63,30,M,TC,KS-03-63x30.step +KS0363-30MTC-M,03,63,30,M,TC-M,KS-03-63x30.step +KS0363-50FA,03,63,50,,FA,KS-03-63x50.step +KS0363-50FB,03,63,50,,FB,KS-03-63x50.step +KS0363-50LB,03,63,50,,LB,KS-03-63x50.step +KS0363-50TC,03,63,50,,TC,KS-03-63x50.step +KS0363-50TC-M,03,63,50,,TC-M,KS-03-63x50.step +KS0363-50MFA,03,63,50,M,FA,KS-03-63x50.step +KS0363-50MFB,03,63,50,M,FB,KS-03-63x50.step +KS0363-50MLB,03,63,50,M,LB,KS-03-63x50.step +KS0363-50MTC,03,63,50,M,TC,KS-03-63x50.step +KS0363-50MTC-M,03,63,50,M,TC-M,KS-03-63x50.step +KS0363-75FA,03,63,75,,FA,KS-03-63x75.step +KS0363-75FB,03,63,75,,FB,KS-03-63x75.step +KS0363-75LB,03,63,75,,LB,KS-03-63x75.step +KS0363-75TC,03,63,75,,TC,KS-03-63x75.step +KS0363-75TC-M,03,63,75,,TC-M,KS-03-63x75.step +KS0363-75MFA,03,63,75,M,FA,KS-03-63x75.step +KS0363-75MFB,03,63,75,M,FB,KS-03-63x75.step +KS0363-75MLB,03,63,75,M,LB,KS-03-63x75.step +KS0363-75MTC,03,63,75,M,TC,KS-03-63x75.step +KS0363-75MTC-M,03,63,75,M,TC-M,KS-03-63x75.step +KS0363-100FA,03,63,100,,FA,KS-03-63x100.step +KS0363-100FB,03,63,100,,FB,KS-03-63x100.step +KS0363-100LB,03,63,100,,LB,KS-03-63x100.step +KS0363-100TC,03,63,100,,TC,KS-03-63x100.step +KS0363-100TC-M,03,63,100,,TC-M,KS-03-63x100.step +KS0363-100MFA,03,63,100,M,FA,KS-03-63x100.step +KS0363-100MFB,03,63,100,M,FB,KS-03-63x100.step +KS0363-100MLB,03,63,100,M,LB,KS-03-63x100.step +KS0363-100MTC,03,63,100,M,TC,KS-03-63x100.step +KS0363-100MTC-M,03,63,100,M,TC-M,KS-03-63x100.step +KS0380-10FA,03,80,10,,FA,KS-03-80x10.step +KS0380-10FB,03,80,10,,FB,KS-03-80x10.step +KS0380-10LB,03,80,10,,LB,KS-03-80x10.step +KS0380-10TC,03,80,10,,TC,KS-03-80x10.step +KS0380-10TC-M,03,80,10,,TC-M,KS-03-80x10.step +KS0380-10MFA,03,80,10,M,FA,KS-03-80x10.step +KS0380-10MFB,03,80,10,M,FB,KS-03-80x10.step +KS0380-10MLB,03,80,10,M,LB,KS-03-80x10.step +KS0380-10MTC,03,80,10,M,TC,KS-03-80x10.step +KS0380-10MTC-M,03,80,10,M,TC-M,KS-03-80x10.step +KS0380-20FA,03,80,20,,FA,KS-03-80x20.step +KS0380-20FB,03,80,20,,FB,KS-03-80x20.step +KS0380-20LB,03,80,20,,LB,KS-03-80x20.step +KS0380-20TC,03,80,20,,TC,KS-03-80x20.step +KS0380-20TC-M,03,80,20,,TC-M,KS-03-80x20.step +KS0380-20MFA,03,80,20,M,FA,KS-03-80x20.step +KS0380-20MFB,03,80,20,M,FB,KS-03-80x20.step +KS0380-20MLB,03,80,20,M,LB,KS-03-80x20.step +KS0380-20MTC,03,80,20,M,TC,KS-03-80x20.step +KS0380-20MTC-M,03,80,20,M,TC-M,KS-03-80x20.step +KS0380-30FA,03,80,30,,FA,KS-03-80x30.step +KS0380-30FB,03,80,30,,FB,KS-03-80x30.step +KS0380-30LB,03,80,30,,LB,KS-03-80x30.step +KS0380-30TC,03,80,30,,TC,KS-03-80x30.step +KS0380-30TC-M,03,80,30,,TC-M,KS-03-80x30.step +KS0380-30MFA,03,80,30,M,FA,KS-03-80x30.step +KS0380-30MFB,03,80,30,M,FB,KS-03-80x30.step +KS0380-30MLB,03,80,30,M,LB,KS-03-80x30.step +KS0380-30MTC,03,80,30,M,TC,KS-03-80x30.step +KS0380-30MTC-M,03,80,30,M,TC-M,KS-03-80x30.step +KS0380-50FA,03,80,50,,FA,KS-03-80x50.step +KS0380-50FB,03,80,50,,FB,KS-03-80x50.step +KS0380-50LB,03,80,50,,LB,KS-03-80x50.step +KS0380-50TC,03,80,50,,TC,KS-03-80x50.step +KS0380-50TC-M,03,80,50,,TC-M,KS-03-80x50.step +KS0380-50MFA,03,80,50,M,FA,KS-03-80x50.step +KS0380-50MFB,03,80,50,M,FB,KS-03-80x50.step +KS0380-50MLB,03,80,50,M,LB,KS-03-80x50.step +KS0380-50MTC,03,80,50,M,TC,KS-03-80x50.step +KS0380-50MTC-M,03,80,50,M,TC-M,KS-03-80x50.step +KS0380-75FA,03,80,75,,FA,KS-03-80x75.step +KS0380-75FB,03,80,75,,FB,KS-03-80x75.step +KS0380-75LB,03,80,75,,LB,KS-03-80x75.step +KS0380-75TC,03,80,75,,TC,KS-03-80x75.step +KS0380-75TC-M,03,80,75,,TC-M,KS-03-80x75.step +KS0380-75MFA,03,80,75,M,FA,KS-03-80x75.step +KS0380-75MFB,03,80,75,M,FB,KS-03-80x75.step +KS0380-75MLB,03,80,75,M,LB,KS-03-80x75.step +KS0380-75MTC,03,80,75,M,TC,KS-03-80x75.step +KS0380-75MTC-M,03,80,75,M,TC-M,KS-03-80x75.step +KS0380-100FA,03,80,100,,FA,KS-03-80x100.step +KS0380-100FB,03,80,100,,FB,KS-03-80x100.step +KS0380-100LB,03,80,100,,LB,KS-03-80x100.step +KS0380-100TC,03,80,100,,TC,KS-03-80x100.step +KS0380-100TC-M,03,80,100,,TC-M,KS-03-80x100.step +KS0380-100MFA,03,80,100,M,FA,KS-03-80x100.step +KS0380-100MFB,03,80,100,M,FB,KS-03-80x100.step +KS0380-100MLB,03,80,100,M,LB,KS-03-80x100.step +KS0380-100MTC,03,80,100,M,TC,KS-03-80x100.step +KS0380-100MTC-M,03,80,100,M,TC-M,KS-03-80x100.step +KS03100-10FA,03,100,10,,FA,KS-03-100x10.step +KS03100-10FB,03,100,10,,FB,KS-03-100x10.step +KS03100-10LB,03,100,10,,LB,KS-03-100x10.step +KS03100-10TC,03,100,10,,TC,KS-03-100x10.step +KS03100-10TC-M,03,100,10,,TC-M,KS-03-100x10.step +KS03100-10MFA,03,100,10,M,FA,KS-03-100x10.step +KS03100-10MFB,03,100,10,M,FB,KS-03-100x10.step +KS03100-10MLB,03,100,10,M,LB,KS-03-100x10.step +KS03100-10MTC,03,100,10,M,TC,KS-03-100x10.step +KS03100-10MTC-M,03,100,10,M,TC-M,KS-03-100x10.step +KS03100-20FA,03,100,20,,FA,KS-03-100x20.step +KS03100-20FB,03,100,20,,FB,KS-03-100x20.step +KS03100-20LB,03,100,20,,LB,KS-03-100x20.step +KS03100-20TC,03,100,20,,TC,KS-03-100x20.step +KS03100-20TC-M,03,100,20,,TC-M,KS-03-100x20.step +KS03100-20MFA,03,100,20,M,FA,KS-03-100x20.step +KS03100-20MFB,03,100,20,M,FB,KS-03-100x20.step +KS03100-20MLB,03,100,20,M,LB,KS-03-100x20.step +KS03100-20MTC,03,100,20,M,TC,KS-03-100x20.step +KS03100-20MTC-M,03,100,20,M,TC-M,KS-03-100x20.step +KS03100-30FA,03,100,30,,FA,KS-03-100x30.step +KS03100-30FB,03,100,30,,FB,KS-03-100x30.step +KS03100-30LB,03,100,30,,LB,KS-03-100x30.step +KS03100-30TC,03,100,30,,TC,KS-03-100x30.step +KS03100-30TC-M,03,100,30,,TC-M,KS-03-100x30.step +KS03100-30MFA,03,100,30,M,FA,KS-03-100x30.step +KS03100-30MFB,03,100,30,M,FB,KS-03-100x30.step +KS03100-30MLB,03,100,30,M,LB,KS-03-100x30.step +KS03100-30MTC,03,100,30,M,TC,KS-03-100x30.step +KS03100-30MTC-M,03,100,30,M,TC-M,KS-03-100x30.step +KS03100-50FA,03,100,50,,FA,KS-03-100x50.step +KS03100-50FB,03,100,50,,FB,KS-03-100x50.step +KS03100-50LB,03,100,50,,LB,KS-03-100x50.step +KS03100-50TC,03,100,50,,TC,KS-03-100x50.step +KS03100-50TC-M,03,100,50,,TC-M,KS-03-100x50.step +KS03100-50MFA,03,100,50,M,FA,KS-03-100x50.step +KS03100-50MFB,03,100,50,M,FB,KS-03-100x50.step +KS03100-50MLB,03,100,50,M,LB,KS-03-100x50.step +KS03100-50MTC,03,100,50,M,TC,KS-03-100x50.step +KS03100-50MTC-M,03,100,50,M,TC-M,KS-03-100x50.step +KS03100-75FA,03,100,75,,FA,KS-03-100x75.step +KS03100-75FB,03,100,75,,FB,KS-03-100x75.step +KS03100-75LB,03,100,75,,LB,KS-03-100x75.step +KS03100-75TC,03,100,75,,TC,KS-03-100x75.step +KS03100-75TC-M,03,100,75,,TC-M,KS-03-100x75.step +KS03100-75MFA,03,100,75,M,FA,KS-03-100x75.step +KS03100-75MFB,03,100,75,M,FB,KS-03-100x75.step +KS03100-75MLB,03,100,75,M,LB,KS-03-100x75.step +KS03100-75MTC,03,100,75,M,TC,KS-03-100x75.step +KS03100-75MTC-M,03,100,75,M,TC-M,KS-03-100x75.step +KS03100-100FA,03,100,100,,FA,KS-03-100x100.step +KS03100-100FB,03,100,100,,FB,KS-03-100x100.step +KS03100-100LB,03,100,100,,LB,KS-03-100x100.step +KS03100-100TC,03,100,100,,TC,KS-03-100x100.step +KS03100-100TC-M,03,100,100,,TC-M,KS-03-100x100.step +KS03100-100MFA,03,100,100,M,FA,KS-03-100x100.step +KS03100-100MFB,03,100,100,M,FB,KS-03-100x100.step +KS03100-100MLB,03,100,100,M,LB,KS-03-100x100.step +KS03100-100MTC,03,100,100,M,TC,KS-03-100x100.step +KS03100-100MTC-M,03,100,100,M,TC-M,KS-03-100x100.step +KS03125-10FA,03,125,10,,FA,KS-03-125x10.step +KS03125-10FB,03,125,10,,FB,KS-03-125x10.step +KS03125-10LB,03,125,10,,LB,KS-03-125x10.step +KS03125-10TC,03,125,10,,TC,KS-03-125x10.step +KS03125-10TC-M,03,125,10,,TC-M,KS-03-125x10.step +KS03125-10MFA,03,125,10,M,FA,KS-03-125x10.step +KS03125-10MFB,03,125,10,M,FB,KS-03-125x10.step +KS03125-10MLB,03,125,10,M,LB,KS-03-125x10.step +KS03125-10MTC,03,125,10,M,TC,KS-03-125x10.step +KS03125-10MTC-M,03,125,10,M,TC-M,KS-03-125x10.step +KS03125-20FA,03,125,20,,FA,KS-03-125x20.step +KS03125-20FB,03,125,20,,FB,KS-03-125x20.step +KS03125-20LB,03,125,20,,LB,KS-03-125x20.step +KS03125-20TC,03,125,20,,TC,KS-03-125x20.step +KS03125-20TC-M,03,125,20,,TC-M,KS-03-125x20.step +KS03125-20MFA,03,125,20,M,FA,KS-03-125x20.step +KS03125-20MFB,03,125,20,M,FB,KS-03-125x20.step +KS03125-20MLB,03,125,20,M,LB,KS-03-125x20.step +KS03125-20MTC,03,125,20,M,TC,KS-03-125x20.step +KS03125-20MTC-M,03,125,20,M,TC-M,KS-03-125x20.step +KS03125-30FA,03,125,30,,FA,KS-03-125x30.step +KS03125-30FB,03,125,30,,FB,KS-03-125x30.step +KS03125-30LB,03,125,30,,LB,KS-03-125x30.step +KS03125-30TC,03,125,30,,TC,KS-03-125x30.step +KS03125-30TC-M,03,125,30,,TC-M,KS-03-125x30.step +KS03125-30MFA,03,125,30,M,FA,KS-03-125x30.step +KS03125-30MFB,03,125,30,M,FB,KS-03-125x30.step +KS03125-30MLB,03,125,30,M,LB,KS-03-125x30.step +KS03125-30MTC,03,125,30,M,TC,KS-03-125x30.step +KS03125-30MTC-M,03,125,30,M,TC-M,KS-03-125x30.step +KS03125-50FA,03,125,50,,FA,KS-03-125x50.step +KS03125-50FB,03,125,50,,FB,KS-03-125x50.step +KS03125-50LB,03,125,50,,LB,KS-03-125x50.step +KS03125-50TC,03,125,50,,TC,KS-03-125x50.step +KS03125-50TC-M,03,125,50,,TC-M,KS-03-125x50.step +KS03125-50MFA,03,125,50,M,FA,KS-03-125x50.step +KS03125-50MFB,03,125,50,M,FB,KS-03-125x50.step +KS03125-50MLB,03,125,50,M,LB,KS-03-125x50.step +KS03125-50MTC,03,125,50,M,TC,KS-03-125x50.step +KS03125-50MTC-M,03,125,50,M,TC-M,KS-03-125x50.step +KS03125-75FA,03,125,75,,FA,KS-03-125x75.step +KS03125-75FB,03,125,75,,FB,KS-03-125x75.step +KS03125-75LB,03,125,75,,LB,KS-03-125x75.step +KS03125-75TC,03,125,75,,TC,KS-03-125x75.step +KS03125-75TC-M,03,125,75,,TC-M,KS-03-125x75.step +KS03125-75MFA,03,125,75,M,FA,KS-03-125x75.step +KS03125-75MFB,03,125,75,M,FB,KS-03-125x75.step +KS03125-75MLB,03,125,75,M,LB,KS-03-125x75.step +KS03125-75MTC,03,125,75,M,TC,KS-03-125x75.step +KS03125-75MTC-M,03,125,75,M,TC-M,KS-03-125x75.step +KS03125-100FA,03,125,100,,FA,KS-03-125x100.step +KS03125-100FB,03,125,100,,FB,KS-03-125x100.step +KS03125-100LB,03,125,100,,LB,KS-03-125x100.step +KS03125-100TC,03,125,100,,TC,KS-03-125x100.step +KS03125-100TC-M,03,125,100,,TC-M,KS-03-125x100.step +KS03125-100MFA,03,125,100,M,FA,KS-03-125x100.step +KS03125-100MFB,03,125,100,M,FB,KS-03-125x100.step +KS03125-100MLB,03,125,100,M,LB,KS-03-125x100.step +KS03125-100MTC,03,125,100,M,TC,KS-03-125x100.step +KS03125-100MTC-M,03,125,100,M,TC-M,KS-03-125x100.step diff --git a/onebot-data/catalog/csv/KSB.csv b/onebot-data/catalog/csv/KSB.csv new file mode 100644 index 0000000..6d8fa2f --- /dev/null +++ b/onebot-data/catalog/csv/KSB.csv @@ -0,0 +1,4803 @@ +model_code,bore,stroke1,stroke2,magnet,mount,step_file +KSB32-0x0,32,0,0,,,KSB--32x0.step +KSB32-0x0FA,32,0,0,,FA,KSB--32x0.step +KSB32-0x0FB,32,0,0,,FB,KSB--32x0.step +KSB32-0x0CA,32,0,0,,CA,KSB--32x0.step +KSB32-0x0CB,32,0,0,,CB,KSB--32x0.step +KSB32-0x0LB,32,0,0,,LB,KSB--32x0.step +KSB32-0x0YB,32,0,0,,YB,KSB--32x0.step +KSB32-0x0M,32,0,0,M,,KSB--32x0.step +KSB32-0x0MFA,32,0,0,M,FA,KSB--32x0.step +KSB32-0x0MFB,32,0,0,M,FB,KSB--32x0.step +KSB32-0x0MCA,32,0,0,M,CA,KSB--32x0.step +KSB32-0x0MCB,32,0,0,M,CB,KSB--32x0.step +KSB32-0x0MLB,32,0,0,M,LB,KSB--32x0.step +KSB32-0x0MYB,32,0,0,M,YB,KSB--32x0.step +KSB32-0x10,32,0,10,,,KSB--32x0.step +KSB32-0x10FA,32,0,10,,FA,KSB--32x0.step +KSB32-0x10FB,32,0,10,,FB,KSB--32x0.step +KSB32-0x10CA,32,0,10,,CA,KSB--32x0.step +KSB32-0x10CB,32,0,10,,CB,KSB--32x0.step +KSB32-0x10LB,32,0,10,,LB,KSB--32x0.step +KSB32-0x10YB,32,0,10,,YB,KSB--32x0.step +KSB32-0x10M,32,0,10,M,,KSB--32x0.step +KSB32-0x10MFA,32,0,10,M,FA,KSB--32x0.step +KSB32-0x10MFB,32,0,10,M,FB,KSB--32x0.step +KSB32-0x10MCA,32,0,10,M,CA,KSB--32x0.step +KSB32-0x10MCB,32,0,10,M,CB,KSB--32x0.step +KSB32-0x10MLB,32,0,10,M,LB,KSB--32x0.step +KSB32-0x10MYB,32,0,10,M,YB,KSB--32x0.step +KSB32-0x20,32,0,20,,,KSB--32x0.step +KSB32-0x20FA,32,0,20,,FA,KSB--32x0.step +KSB32-0x20FB,32,0,20,,FB,KSB--32x0.step +KSB32-0x20CA,32,0,20,,CA,KSB--32x0.step +KSB32-0x20CB,32,0,20,,CB,KSB--32x0.step +KSB32-0x20LB,32,0,20,,LB,KSB--32x0.step +KSB32-0x20YB,32,0,20,,YB,KSB--32x0.step +KSB32-0x20M,32,0,20,M,,KSB--32x0.step +KSB32-0x20MFA,32,0,20,M,FA,KSB--32x0.step +KSB32-0x20MFB,32,0,20,M,FB,KSB--32x0.step +KSB32-0x20MCA,32,0,20,M,CA,KSB--32x0.step +KSB32-0x20MCB,32,0,20,M,CB,KSB--32x0.step +KSB32-0x20MLB,32,0,20,M,LB,KSB--32x0.step +KSB32-0x20MYB,32,0,20,M,YB,KSB--32x0.step +KSB32-0x30,32,0,30,,,KSB--32x0.step +KSB32-0x30FA,32,0,30,,FA,KSB--32x0.step +KSB32-0x30FB,32,0,30,,FB,KSB--32x0.step +KSB32-0x30CA,32,0,30,,CA,KSB--32x0.step +KSB32-0x30CB,32,0,30,,CB,KSB--32x0.step +KSB32-0x30LB,32,0,30,,LB,KSB--32x0.step +KSB32-0x30YB,32,0,30,,YB,KSB--32x0.step +KSB32-0x30M,32,0,30,M,,KSB--32x0.step +KSB32-0x30MFA,32,0,30,M,FA,KSB--32x0.step +KSB32-0x30MFB,32,0,30,M,FB,KSB--32x0.step +KSB32-0x30MCA,32,0,30,M,CA,KSB--32x0.step +KSB32-0x30MCB,32,0,30,M,CB,KSB--32x0.step +KSB32-0x30MLB,32,0,30,M,LB,KSB--32x0.step +KSB32-0x30MYB,32,0,30,M,YB,KSB--32x0.step +KSB32-0x50,32,0,50,,,KSB--32x0.step +KSB32-0x50FA,32,0,50,,FA,KSB--32x0.step +KSB32-0x50FB,32,0,50,,FB,KSB--32x0.step +KSB32-0x50CA,32,0,50,,CA,KSB--32x0.step +KSB32-0x50CB,32,0,50,,CB,KSB--32x0.step +KSB32-0x50LB,32,0,50,,LB,KSB--32x0.step +KSB32-0x50YB,32,0,50,,YB,KSB--32x0.step +KSB32-0x50M,32,0,50,M,,KSB--32x0.step +KSB32-0x50MFA,32,0,50,M,FA,KSB--32x0.step +KSB32-0x50MFB,32,0,50,M,FB,KSB--32x0.step +KSB32-0x50MCA,32,0,50,M,CA,KSB--32x0.step +KSB32-0x50MCB,32,0,50,M,CB,KSB--32x0.step +KSB32-0x50MLB,32,0,50,M,LB,KSB--32x0.step +KSB32-0x50MYB,32,0,50,M,YB,KSB--32x0.step +KSB32-0x75,32,0,75,,,KSB--32x0.step +KSB32-0x75FA,32,0,75,,FA,KSB--32x0.step +KSB32-0x75FB,32,0,75,,FB,KSB--32x0.step +KSB32-0x75CA,32,0,75,,CA,KSB--32x0.step +KSB32-0x75CB,32,0,75,,CB,KSB--32x0.step +KSB32-0x75LB,32,0,75,,LB,KSB--32x0.step +KSB32-0x75YB,32,0,75,,YB,KSB--32x0.step +KSB32-0x75M,32,0,75,M,,KSB--32x0.step +KSB32-0x75MFA,32,0,75,M,FA,KSB--32x0.step +KSB32-0x75MFB,32,0,75,M,FB,KSB--32x0.step +KSB32-0x75MCA,32,0,75,M,CA,KSB--32x0.step +KSB32-0x75MCB,32,0,75,M,CB,KSB--32x0.step +KSB32-0x75MLB,32,0,75,M,LB,KSB--32x0.step +KSB32-0x75MYB,32,0,75,M,YB,KSB--32x0.step +KSB32-0x100,32,0,100,,,KSB--32x0.step +KSB32-0x100FA,32,0,100,,FA,KSB--32x0.step +KSB32-0x100FB,32,0,100,,FB,KSB--32x0.step +KSB32-0x100CA,32,0,100,,CA,KSB--32x0.step +KSB32-0x100CB,32,0,100,,CB,KSB--32x0.step +KSB32-0x100LB,32,0,100,,LB,KSB--32x0.step +KSB32-0x100YB,32,0,100,,YB,KSB--32x0.step +KSB32-0x100M,32,0,100,M,,KSB--32x0.step +KSB32-0x100MFA,32,0,100,M,FA,KSB--32x0.step +KSB32-0x100MFB,32,0,100,M,FB,KSB--32x0.step +KSB32-0x100MCA,32,0,100,M,CA,KSB--32x0.step +KSB32-0x100MCB,32,0,100,M,CB,KSB--32x0.step +KSB32-0x100MLB,32,0,100,M,LB,KSB--32x0.step +KSB32-0x100MYB,32,0,100,M,YB,KSB--32x0.step +KSB32-10x0,32,10,0,,,KSB--32x10.step +KSB32-10x0FA,32,10,0,,FA,KSB--32x10.step +KSB32-10x0FB,32,10,0,,FB,KSB--32x10.step +KSB32-10x0CA,32,10,0,,CA,KSB--32x10.step +KSB32-10x0CB,32,10,0,,CB,KSB--32x10.step +KSB32-10x0LB,32,10,0,,LB,KSB--32x10.step +KSB32-10x0YB,32,10,0,,YB,KSB--32x10.step +KSB32-10x0M,32,10,0,M,,KSB--32x10.step +KSB32-10x0MFA,32,10,0,M,FA,KSB--32x10.step +KSB32-10x0MFB,32,10,0,M,FB,KSB--32x10.step +KSB32-10x0MCA,32,10,0,M,CA,KSB--32x10.step +KSB32-10x0MCB,32,10,0,M,CB,KSB--32x10.step +KSB32-10x0MLB,32,10,0,M,LB,KSB--32x10.step +KSB32-10x0MYB,32,10,0,M,YB,KSB--32x10.step +KSB32-10x10,32,10,10,,,KSB--32x10.step +KSB32-10x10FA,32,10,10,,FA,KSB--32x10.step +KSB32-10x10FB,32,10,10,,FB,KSB--32x10.step +KSB32-10x10CA,32,10,10,,CA,KSB--32x10.step +KSB32-10x10CB,32,10,10,,CB,KSB--32x10.step +KSB32-10x10LB,32,10,10,,LB,KSB--32x10.step +KSB32-10x10YB,32,10,10,,YB,KSB--32x10.step +KSB32-10x10M,32,10,10,M,,KSB--32x10.step +KSB32-10x10MFA,32,10,10,M,FA,KSB--32x10.step +KSB32-10x10MFB,32,10,10,M,FB,KSB--32x10.step +KSB32-10x10MCA,32,10,10,M,CA,KSB--32x10.step +KSB32-10x10MCB,32,10,10,M,CB,KSB--32x10.step +KSB32-10x10MLB,32,10,10,M,LB,KSB--32x10.step +KSB32-10x10MYB,32,10,10,M,YB,KSB--32x10.step +KSB32-10x20,32,10,20,,,KSB--32x10.step +KSB32-10x20FA,32,10,20,,FA,KSB--32x10.step +KSB32-10x20FB,32,10,20,,FB,KSB--32x10.step +KSB32-10x20CA,32,10,20,,CA,KSB--32x10.step +KSB32-10x20CB,32,10,20,,CB,KSB--32x10.step +KSB32-10x20LB,32,10,20,,LB,KSB--32x10.step +KSB32-10x20YB,32,10,20,,YB,KSB--32x10.step +KSB32-10x20M,32,10,20,M,,KSB--32x10.step +KSB32-10x20MFA,32,10,20,M,FA,KSB--32x10.step +KSB32-10x20MFB,32,10,20,M,FB,KSB--32x10.step +KSB32-10x20MCA,32,10,20,M,CA,KSB--32x10.step +KSB32-10x20MCB,32,10,20,M,CB,KSB--32x10.step +KSB32-10x20MLB,32,10,20,M,LB,KSB--32x10.step +KSB32-10x20MYB,32,10,20,M,YB,KSB--32x10.step +KSB32-10x30,32,10,30,,,KSB--32x10.step +KSB32-10x30FA,32,10,30,,FA,KSB--32x10.step +KSB32-10x30FB,32,10,30,,FB,KSB--32x10.step +KSB32-10x30CA,32,10,30,,CA,KSB--32x10.step +KSB32-10x30CB,32,10,30,,CB,KSB--32x10.step +KSB32-10x30LB,32,10,30,,LB,KSB--32x10.step +KSB32-10x30YB,32,10,30,,YB,KSB--32x10.step +KSB32-10x30M,32,10,30,M,,KSB--32x10.step +KSB32-10x30MFA,32,10,30,M,FA,KSB--32x10.step +KSB32-10x30MFB,32,10,30,M,FB,KSB--32x10.step +KSB32-10x30MCA,32,10,30,M,CA,KSB--32x10.step +KSB32-10x30MCB,32,10,30,M,CB,KSB--32x10.step +KSB32-10x30MLB,32,10,30,M,LB,KSB--32x10.step +KSB32-10x30MYB,32,10,30,M,YB,KSB--32x10.step +KSB32-10x50,32,10,50,,,KSB--32x10.step +KSB32-10x50FA,32,10,50,,FA,KSB--32x10.step +KSB32-10x50FB,32,10,50,,FB,KSB--32x10.step +KSB32-10x50CA,32,10,50,,CA,KSB--32x10.step +KSB32-10x50CB,32,10,50,,CB,KSB--32x10.step +KSB32-10x50LB,32,10,50,,LB,KSB--32x10.step +KSB32-10x50YB,32,10,50,,YB,KSB--32x10.step +KSB32-10x50M,32,10,50,M,,KSB--32x10.step +KSB32-10x50MFA,32,10,50,M,FA,KSB--32x10.step +KSB32-10x50MFB,32,10,50,M,FB,KSB--32x10.step +KSB32-10x50MCA,32,10,50,M,CA,KSB--32x10.step +KSB32-10x50MCB,32,10,50,M,CB,KSB--32x10.step +KSB32-10x50MLB,32,10,50,M,LB,KSB--32x10.step +KSB32-10x50MYB,32,10,50,M,YB,KSB--32x10.step +KSB32-10x75,32,10,75,,,KSB--32x10.step +KSB32-10x75FA,32,10,75,,FA,KSB--32x10.step +KSB32-10x75FB,32,10,75,,FB,KSB--32x10.step +KSB32-10x75CA,32,10,75,,CA,KSB--32x10.step +KSB32-10x75CB,32,10,75,,CB,KSB--32x10.step +KSB32-10x75LB,32,10,75,,LB,KSB--32x10.step +KSB32-10x75YB,32,10,75,,YB,KSB--32x10.step +KSB32-10x75M,32,10,75,M,,KSB--32x10.step +KSB32-10x75MFA,32,10,75,M,FA,KSB--32x10.step +KSB32-10x75MFB,32,10,75,M,FB,KSB--32x10.step +KSB32-10x75MCA,32,10,75,M,CA,KSB--32x10.step +KSB32-10x75MCB,32,10,75,M,CB,KSB--32x10.step +KSB32-10x75MLB,32,10,75,M,LB,KSB--32x10.step +KSB32-10x75MYB,32,10,75,M,YB,KSB--32x10.step +KSB32-10x100,32,10,100,,,KSB--32x10.step +KSB32-10x100FA,32,10,100,,FA,KSB--32x10.step +KSB32-10x100FB,32,10,100,,FB,KSB--32x10.step +KSB32-10x100CA,32,10,100,,CA,KSB--32x10.step +KSB32-10x100CB,32,10,100,,CB,KSB--32x10.step +KSB32-10x100LB,32,10,100,,LB,KSB--32x10.step +KSB32-10x100YB,32,10,100,,YB,KSB--32x10.step +KSB32-10x100M,32,10,100,M,,KSB--32x10.step +KSB32-10x100MFA,32,10,100,M,FA,KSB--32x10.step +KSB32-10x100MFB,32,10,100,M,FB,KSB--32x10.step +KSB32-10x100MCA,32,10,100,M,CA,KSB--32x10.step +KSB32-10x100MCB,32,10,100,M,CB,KSB--32x10.step +KSB32-10x100MLB,32,10,100,M,LB,KSB--32x10.step +KSB32-10x100MYB,32,10,100,M,YB,KSB--32x10.step +KSB32-20x0,32,20,0,,,KSB--32x20.step +KSB32-20x0FA,32,20,0,,FA,KSB--32x20.step +KSB32-20x0FB,32,20,0,,FB,KSB--32x20.step +KSB32-20x0CA,32,20,0,,CA,KSB--32x20.step +KSB32-20x0CB,32,20,0,,CB,KSB--32x20.step +KSB32-20x0LB,32,20,0,,LB,KSB--32x20.step +KSB32-20x0YB,32,20,0,,YB,KSB--32x20.step +KSB32-20x0M,32,20,0,M,,KSB--32x20.step +KSB32-20x0MFA,32,20,0,M,FA,KSB--32x20.step +KSB32-20x0MFB,32,20,0,M,FB,KSB--32x20.step +KSB32-20x0MCA,32,20,0,M,CA,KSB--32x20.step +KSB32-20x0MCB,32,20,0,M,CB,KSB--32x20.step +KSB32-20x0MLB,32,20,0,M,LB,KSB--32x20.step +KSB32-20x0MYB,32,20,0,M,YB,KSB--32x20.step +KSB32-20x10,32,20,10,,,KSB--32x20.step +KSB32-20x10FA,32,20,10,,FA,KSB--32x20.step +KSB32-20x10FB,32,20,10,,FB,KSB--32x20.step +KSB32-20x10CA,32,20,10,,CA,KSB--32x20.step +KSB32-20x10CB,32,20,10,,CB,KSB--32x20.step +KSB32-20x10LB,32,20,10,,LB,KSB--32x20.step +KSB32-20x10YB,32,20,10,,YB,KSB--32x20.step +KSB32-20x10M,32,20,10,M,,KSB--32x20.step +KSB32-20x10MFA,32,20,10,M,FA,KSB--32x20.step +KSB32-20x10MFB,32,20,10,M,FB,KSB--32x20.step +KSB32-20x10MCA,32,20,10,M,CA,KSB--32x20.step +KSB32-20x10MCB,32,20,10,M,CB,KSB--32x20.step +KSB32-20x10MLB,32,20,10,M,LB,KSB--32x20.step +KSB32-20x10MYB,32,20,10,M,YB,KSB--32x20.step +KSB32-20x20,32,20,20,,,KSB--32x20.step +KSB32-20x20FA,32,20,20,,FA,KSB--32x20.step +KSB32-20x20FB,32,20,20,,FB,KSB--32x20.step +KSB32-20x20CA,32,20,20,,CA,KSB--32x20.step +KSB32-20x20CB,32,20,20,,CB,KSB--32x20.step +KSB32-20x20LB,32,20,20,,LB,KSB--32x20.step +KSB32-20x20YB,32,20,20,,YB,KSB--32x20.step +KSB32-20x20M,32,20,20,M,,KSB--32x20.step +KSB32-20x20MFA,32,20,20,M,FA,KSB--32x20.step +KSB32-20x20MFB,32,20,20,M,FB,KSB--32x20.step +KSB32-20x20MCA,32,20,20,M,CA,KSB--32x20.step +KSB32-20x20MCB,32,20,20,M,CB,KSB--32x20.step +KSB32-20x20MLB,32,20,20,M,LB,KSB--32x20.step +KSB32-20x20MYB,32,20,20,M,YB,KSB--32x20.step +KSB32-20x30,32,20,30,,,KSB--32x20.step +KSB32-20x30FA,32,20,30,,FA,KSB--32x20.step +KSB32-20x30FB,32,20,30,,FB,KSB--32x20.step +KSB32-20x30CA,32,20,30,,CA,KSB--32x20.step +KSB32-20x30CB,32,20,30,,CB,KSB--32x20.step +KSB32-20x30LB,32,20,30,,LB,KSB--32x20.step +KSB32-20x30YB,32,20,30,,YB,KSB--32x20.step +KSB32-20x30M,32,20,30,M,,KSB--32x20.step +KSB32-20x30MFA,32,20,30,M,FA,KSB--32x20.step +KSB32-20x30MFB,32,20,30,M,FB,KSB--32x20.step +KSB32-20x30MCA,32,20,30,M,CA,KSB--32x20.step +KSB32-20x30MCB,32,20,30,M,CB,KSB--32x20.step +KSB32-20x30MLB,32,20,30,M,LB,KSB--32x20.step +KSB32-20x30MYB,32,20,30,M,YB,KSB--32x20.step +KSB32-20x50,32,20,50,,,KSB--32x20.step +KSB32-20x50FA,32,20,50,,FA,KSB--32x20.step +KSB32-20x50FB,32,20,50,,FB,KSB--32x20.step +KSB32-20x50CA,32,20,50,,CA,KSB--32x20.step +KSB32-20x50CB,32,20,50,,CB,KSB--32x20.step +KSB32-20x50LB,32,20,50,,LB,KSB--32x20.step +KSB32-20x50YB,32,20,50,,YB,KSB--32x20.step +KSB32-20x50M,32,20,50,M,,KSB--32x20.step +KSB32-20x50MFA,32,20,50,M,FA,KSB--32x20.step +KSB32-20x50MFB,32,20,50,M,FB,KSB--32x20.step +KSB32-20x50MCA,32,20,50,M,CA,KSB--32x20.step +KSB32-20x50MCB,32,20,50,M,CB,KSB--32x20.step +KSB32-20x50MLB,32,20,50,M,LB,KSB--32x20.step +KSB32-20x50MYB,32,20,50,M,YB,KSB--32x20.step +KSB32-20x75,32,20,75,,,KSB--32x20.step +KSB32-20x75FA,32,20,75,,FA,KSB--32x20.step +KSB32-20x75FB,32,20,75,,FB,KSB--32x20.step +KSB32-20x75CA,32,20,75,,CA,KSB--32x20.step +KSB32-20x75CB,32,20,75,,CB,KSB--32x20.step +KSB32-20x75LB,32,20,75,,LB,KSB--32x20.step +KSB32-20x75YB,32,20,75,,YB,KSB--32x20.step +KSB32-20x75M,32,20,75,M,,KSB--32x20.step +KSB32-20x75MFA,32,20,75,M,FA,KSB--32x20.step +KSB32-20x75MFB,32,20,75,M,FB,KSB--32x20.step +KSB32-20x75MCA,32,20,75,M,CA,KSB--32x20.step +KSB32-20x75MCB,32,20,75,M,CB,KSB--32x20.step +KSB32-20x75MLB,32,20,75,M,LB,KSB--32x20.step +KSB32-20x75MYB,32,20,75,M,YB,KSB--32x20.step +KSB32-20x100,32,20,100,,,KSB--32x20.step +KSB32-20x100FA,32,20,100,,FA,KSB--32x20.step +KSB32-20x100FB,32,20,100,,FB,KSB--32x20.step +KSB32-20x100CA,32,20,100,,CA,KSB--32x20.step +KSB32-20x100CB,32,20,100,,CB,KSB--32x20.step +KSB32-20x100LB,32,20,100,,LB,KSB--32x20.step +KSB32-20x100YB,32,20,100,,YB,KSB--32x20.step +KSB32-20x100M,32,20,100,M,,KSB--32x20.step +KSB32-20x100MFA,32,20,100,M,FA,KSB--32x20.step +KSB32-20x100MFB,32,20,100,M,FB,KSB--32x20.step +KSB32-20x100MCA,32,20,100,M,CA,KSB--32x20.step +KSB32-20x100MCB,32,20,100,M,CB,KSB--32x20.step +KSB32-20x100MLB,32,20,100,M,LB,KSB--32x20.step +KSB32-20x100MYB,32,20,100,M,YB,KSB--32x20.step +KSB32-30x0,32,30,0,,,KSB--32x30.step +KSB32-30x0FA,32,30,0,,FA,KSB--32x30.step +KSB32-30x0FB,32,30,0,,FB,KSB--32x30.step +KSB32-30x0CA,32,30,0,,CA,KSB--32x30.step +KSB32-30x0CB,32,30,0,,CB,KSB--32x30.step +KSB32-30x0LB,32,30,0,,LB,KSB--32x30.step +KSB32-30x0YB,32,30,0,,YB,KSB--32x30.step +KSB32-30x0M,32,30,0,M,,KSB--32x30.step +KSB32-30x0MFA,32,30,0,M,FA,KSB--32x30.step +KSB32-30x0MFB,32,30,0,M,FB,KSB--32x30.step +KSB32-30x0MCA,32,30,0,M,CA,KSB--32x30.step +KSB32-30x0MCB,32,30,0,M,CB,KSB--32x30.step +KSB32-30x0MLB,32,30,0,M,LB,KSB--32x30.step +KSB32-30x0MYB,32,30,0,M,YB,KSB--32x30.step +KSB32-30x10,32,30,10,,,KSB--32x30.step +KSB32-30x10FA,32,30,10,,FA,KSB--32x30.step +KSB32-30x10FB,32,30,10,,FB,KSB--32x30.step +KSB32-30x10CA,32,30,10,,CA,KSB--32x30.step +KSB32-30x10CB,32,30,10,,CB,KSB--32x30.step +KSB32-30x10LB,32,30,10,,LB,KSB--32x30.step +KSB32-30x10YB,32,30,10,,YB,KSB--32x30.step +KSB32-30x10M,32,30,10,M,,KSB--32x30.step +KSB32-30x10MFA,32,30,10,M,FA,KSB--32x30.step +KSB32-30x10MFB,32,30,10,M,FB,KSB--32x30.step +KSB32-30x10MCA,32,30,10,M,CA,KSB--32x30.step +KSB32-30x10MCB,32,30,10,M,CB,KSB--32x30.step +KSB32-30x10MLB,32,30,10,M,LB,KSB--32x30.step +KSB32-30x10MYB,32,30,10,M,YB,KSB--32x30.step +KSB32-30x20,32,30,20,,,KSB--32x30.step +KSB32-30x20FA,32,30,20,,FA,KSB--32x30.step +KSB32-30x20FB,32,30,20,,FB,KSB--32x30.step +KSB32-30x20CA,32,30,20,,CA,KSB--32x30.step +KSB32-30x20CB,32,30,20,,CB,KSB--32x30.step +KSB32-30x20LB,32,30,20,,LB,KSB--32x30.step +KSB32-30x20YB,32,30,20,,YB,KSB--32x30.step +KSB32-30x20M,32,30,20,M,,KSB--32x30.step +KSB32-30x20MFA,32,30,20,M,FA,KSB--32x30.step +KSB32-30x20MFB,32,30,20,M,FB,KSB--32x30.step +KSB32-30x20MCA,32,30,20,M,CA,KSB--32x30.step +KSB32-30x20MCB,32,30,20,M,CB,KSB--32x30.step +KSB32-30x20MLB,32,30,20,M,LB,KSB--32x30.step +KSB32-30x20MYB,32,30,20,M,YB,KSB--32x30.step +KSB32-30x30,32,30,30,,,KSB--32x30.step +KSB32-30x30FA,32,30,30,,FA,KSB--32x30.step +KSB32-30x30FB,32,30,30,,FB,KSB--32x30.step +KSB32-30x30CA,32,30,30,,CA,KSB--32x30.step +KSB32-30x30CB,32,30,30,,CB,KSB--32x30.step +KSB32-30x30LB,32,30,30,,LB,KSB--32x30.step +KSB32-30x30YB,32,30,30,,YB,KSB--32x30.step +KSB32-30x30M,32,30,30,M,,KSB--32x30.step +KSB32-30x30MFA,32,30,30,M,FA,KSB--32x30.step +KSB32-30x30MFB,32,30,30,M,FB,KSB--32x30.step +KSB32-30x30MCA,32,30,30,M,CA,KSB--32x30.step +KSB32-30x30MCB,32,30,30,M,CB,KSB--32x30.step +KSB32-30x30MLB,32,30,30,M,LB,KSB--32x30.step +KSB32-30x30MYB,32,30,30,M,YB,KSB--32x30.step +KSB32-30x50,32,30,50,,,KSB--32x30.step +KSB32-30x50FA,32,30,50,,FA,KSB--32x30.step +KSB32-30x50FB,32,30,50,,FB,KSB--32x30.step +KSB32-30x50CA,32,30,50,,CA,KSB--32x30.step +KSB32-30x50CB,32,30,50,,CB,KSB--32x30.step +KSB32-30x50LB,32,30,50,,LB,KSB--32x30.step +KSB32-30x50YB,32,30,50,,YB,KSB--32x30.step +KSB32-30x50M,32,30,50,M,,KSB--32x30.step +KSB32-30x50MFA,32,30,50,M,FA,KSB--32x30.step +KSB32-30x50MFB,32,30,50,M,FB,KSB--32x30.step +KSB32-30x50MCA,32,30,50,M,CA,KSB--32x30.step +KSB32-30x50MCB,32,30,50,M,CB,KSB--32x30.step +KSB32-30x50MLB,32,30,50,M,LB,KSB--32x30.step +KSB32-30x50MYB,32,30,50,M,YB,KSB--32x30.step +KSB32-30x75,32,30,75,,,KSB--32x30.step +KSB32-30x75FA,32,30,75,,FA,KSB--32x30.step +KSB32-30x75FB,32,30,75,,FB,KSB--32x30.step +KSB32-30x75CA,32,30,75,,CA,KSB--32x30.step +KSB32-30x75CB,32,30,75,,CB,KSB--32x30.step +KSB32-30x75LB,32,30,75,,LB,KSB--32x30.step +KSB32-30x75YB,32,30,75,,YB,KSB--32x30.step +KSB32-30x75M,32,30,75,M,,KSB--32x30.step +KSB32-30x75MFA,32,30,75,M,FA,KSB--32x30.step +KSB32-30x75MFB,32,30,75,M,FB,KSB--32x30.step +KSB32-30x75MCA,32,30,75,M,CA,KSB--32x30.step +KSB32-30x75MCB,32,30,75,M,CB,KSB--32x30.step +KSB32-30x75MLB,32,30,75,M,LB,KSB--32x30.step +KSB32-30x75MYB,32,30,75,M,YB,KSB--32x30.step +KSB32-30x100,32,30,100,,,KSB--32x30.step +KSB32-30x100FA,32,30,100,,FA,KSB--32x30.step +KSB32-30x100FB,32,30,100,,FB,KSB--32x30.step +KSB32-30x100CA,32,30,100,,CA,KSB--32x30.step +KSB32-30x100CB,32,30,100,,CB,KSB--32x30.step +KSB32-30x100LB,32,30,100,,LB,KSB--32x30.step +KSB32-30x100YB,32,30,100,,YB,KSB--32x30.step +KSB32-30x100M,32,30,100,M,,KSB--32x30.step +KSB32-30x100MFA,32,30,100,M,FA,KSB--32x30.step +KSB32-30x100MFB,32,30,100,M,FB,KSB--32x30.step +KSB32-30x100MCA,32,30,100,M,CA,KSB--32x30.step +KSB32-30x100MCB,32,30,100,M,CB,KSB--32x30.step +KSB32-30x100MLB,32,30,100,M,LB,KSB--32x30.step +KSB32-30x100MYB,32,30,100,M,YB,KSB--32x30.step +KSB32-50x0,32,50,0,,,KSB--32x50.step +KSB32-50x0FA,32,50,0,,FA,KSB--32x50.step +KSB32-50x0FB,32,50,0,,FB,KSB--32x50.step +KSB32-50x0CA,32,50,0,,CA,KSB--32x50.step +KSB32-50x0CB,32,50,0,,CB,KSB--32x50.step +KSB32-50x0LB,32,50,0,,LB,KSB--32x50.step +KSB32-50x0YB,32,50,0,,YB,KSB--32x50.step +KSB32-50x0M,32,50,0,M,,KSB--32x50.step +KSB32-50x0MFA,32,50,0,M,FA,KSB--32x50.step +KSB32-50x0MFB,32,50,0,M,FB,KSB--32x50.step +KSB32-50x0MCA,32,50,0,M,CA,KSB--32x50.step +KSB32-50x0MCB,32,50,0,M,CB,KSB--32x50.step +KSB32-50x0MLB,32,50,0,M,LB,KSB--32x50.step +KSB32-50x0MYB,32,50,0,M,YB,KSB--32x50.step +KSB32-50x10,32,50,10,,,KSB--32x50.step +KSB32-50x10FA,32,50,10,,FA,KSB--32x50.step +KSB32-50x10FB,32,50,10,,FB,KSB--32x50.step +KSB32-50x10CA,32,50,10,,CA,KSB--32x50.step +KSB32-50x10CB,32,50,10,,CB,KSB--32x50.step +KSB32-50x10LB,32,50,10,,LB,KSB--32x50.step +KSB32-50x10YB,32,50,10,,YB,KSB--32x50.step +KSB32-50x10M,32,50,10,M,,KSB--32x50.step +KSB32-50x10MFA,32,50,10,M,FA,KSB--32x50.step +KSB32-50x10MFB,32,50,10,M,FB,KSB--32x50.step +KSB32-50x10MCA,32,50,10,M,CA,KSB--32x50.step +KSB32-50x10MCB,32,50,10,M,CB,KSB--32x50.step +KSB32-50x10MLB,32,50,10,M,LB,KSB--32x50.step +KSB32-50x10MYB,32,50,10,M,YB,KSB--32x50.step +KSB32-50x20,32,50,20,,,KSB--32x50.step +KSB32-50x20FA,32,50,20,,FA,KSB--32x50.step +KSB32-50x20FB,32,50,20,,FB,KSB--32x50.step +KSB32-50x20CA,32,50,20,,CA,KSB--32x50.step +KSB32-50x20CB,32,50,20,,CB,KSB--32x50.step +KSB32-50x20LB,32,50,20,,LB,KSB--32x50.step +KSB32-50x20YB,32,50,20,,YB,KSB--32x50.step +KSB32-50x20M,32,50,20,M,,KSB--32x50.step +KSB32-50x20MFA,32,50,20,M,FA,KSB--32x50.step +KSB32-50x20MFB,32,50,20,M,FB,KSB--32x50.step +KSB32-50x20MCA,32,50,20,M,CA,KSB--32x50.step +KSB32-50x20MCB,32,50,20,M,CB,KSB--32x50.step +KSB32-50x20MLB,32,50,20,M,LB,KSB--32x50.step +KSB32-50x20MYB,32,50,20,M,YB,KSB--32x50.step +KSB32-50x30,32,50,30,,,KSB--32x50.step +KSB32-50x30FA,32,50,30,,FA,KSB--32x50.step +KSB32-50x30FB,32,50,30,,FB,KSB--32x50.step +KSB32-50x30CA,32,50,30,,CA,KSB--32x50.step +KSB32-50x30CB,32,50,30,,CB,KSB--32x50.step +KSB32-50x30LB,32,50,30,,LB,KSB--32x50.step +KSB32-50x30YB,32,50,30,,YB,KSB--32x50.step +KSB32-50x30M,32,50,30,M,,KSB--32x50.step +KSB32-50x30MFA,32,50,30,M,FA,KSB--32x50.step +KSB32-50x30MFB,32,50,30,M,FB,KSB--32x50.step +KSB32-50x30MCA,32,50,30,M,CA,KSB--32x50.step +KSB32-50x30MCB,32,50,30,M,CB,KSB--32x50.step +KSB32-50x30MLB,32,50,30,M,LB,KSB--32x50.step +KSB32-50x30MYB,32,50,30,M,YB,KSB--32x50.step +KSB32-50x50,32,50,50,,,KSB--32x50.step +KSB32-50x50FA,32,50,50,,FA,KSB--32x50.step +KSB32-50x50FB,32,50,50,,FB,KSB--32x50.step +KSB32-50x50CA,32,50,50,,CA,KSB--32x50.step +KSB32-50x50CB,32,50,50,,CB,KSB--32x50.step +KSB32-50x50LB,32,50,50,,LB,KSB--32x50.step +KSB32-50x50YB,32,50,50,,YB,KSB--32x50.step +KSB32-50x50M,32,50,50,M,,KSB--32x50.step +KSB32-50x50MFA,32,50,50,M,FA,KSB--32x50.step +KSB32-50x50MFB,32,50,50,M,FB,KSB--32x50.step +KSB32-50x50MCA,32,50,50,M,CA,KSB--32x50.step +KSB32-50x50MCB,32,50,50,M,CB,KSB--32x50.step +KSB32-50x50MLB,32,50,50,M,LB,KSB--32x50.step +KSB32-50x50MYB,32,50,50,M,YB,KSB--32x50.step +KSB32-50x75,32,50,75,,,KSB--32x50.step +KSB32-50x75FA,32,50,75,,FA,KSB--32x50.step +KSB32-50x75FB,32,50,75,,FB,KSB--32x50.step +KSB32-50x75CA,32,50,75,,CA,KSB--32x50.step +KSB32-50x75CB,32,50,75,,CB,KSB--32x50.step +KSB32-50x75LB,32,50,75,,LB,KSB--32x50.step +KSB32-50x75YB,32,50,75,,YB,KSB--32x50.step +KSB32-50x75M,32,50,75,M,,KSB--32x50.step +KSB32-50x75MFA,32,50,75,M,FA,KSB--32x50.step +KSB32-50x75MFB,32,50,75,M,FB,KSB--32x50.step +KSB32-50x75MCA,32,50,75,M,CA,KSB--32x50.step +KSB32-50x75MCB,32,50,75,M,CB,KSB--32x50.step +KSB32-50x75MLB,32,50,75,M,LB,KSB--32x50.step +KSB32-50x75MYB,32,50,75,M,YB,KSB--32x50.step +KSB32-50x100,32,50,100,,,KSB--32x50.step +KSB32-50x100FA,32,50,100,,FA,KSB--32x50.step +KSB32-50x100FB,32,50,100,,FB,KSB--32x50.step +KSB32-50x100CA,32,50,100,,CA,KSB--32x50.step +KSB32-50x100CB,32,50,100,,CB,KSB--32x50.step +KSB32-50x100LB,32,50,100,,LB,KSB--32x50.step +KSB32-50x100YB,32,50,100,,YB,KSB--32x50.step +KSB32-50x100M,32,50,100,M,,KSB--32x50.step +KSB32-50x100MFA,32,50,100,M,FA,KSB--32x50.step +KSB32-50x100MFB,32,50,100,M,FB,KSB--32x50.step +KSB32-50x100MCA,32,50,100,M,CA,KSB--32x50.step +KSB32-50x100MCB,32,50,100,M,CB,KSB--32x50.step +KSB32-50x100MLB,32,50,100,M,LB,KSB--32x50.step +KSB32-50x100MYB,32,50,100,M,YB,KSB--32x50.step +KSB32-75x0,32,75,0,,,KSB--32x75.step +KSB32-75x0FA,32,75,0,,FA,KSB--32x75.step +KSB32-75x0FB,32,75,0,,FB,KSB--32x75.step +KSB32-75x0CA,32,75,0,,CA,KSB--32x75.step +KSB32-75x0CB,32,75,0,,CB,KSB--32x75.step +KSB32-75x0LB,32,75,0,,LB,KSB--32x75.step +KSB32-75x0YB,32,75,0,,YB,KSB--32x75.step +KSB32-75x0M,32,75,0,M,,KSB--32x75.step +KSB32-75x0MFA,32,75,0,M,FA,KSB--32x75.step +KSB32-75x0MFB,32,75,0,M,FB,KSB--32x75.step +KSB32-75x0MCA,32,75,0,M,CA,KSB--32x75.step +KSB32-75x0MCB,32,75,0,M,CB,KSB--32x75.step +KSB32-75x0MLB,32,75,0,M,LB,KSB--32x75.step +KSB32-75x0MYB,32,75,0,M,YB,KSB--32x75.step +KSB32-75x10,32,75,10,,,KSB--32x75.step +KSB32-75x10FA,32,75,10,,FA,KSB--32x75.step +KSB32-75x10FB,32,75,10,,FB,KSB--32x75.step +KSB32-75x10CA,32,75,10,,CA,KSB--32x75.step +KSB32-75x10CB,32,75,10,,CB,KSB--32x75.step +KSB32-75x10LB,32,75,10,,LB,KSB--32x75.step +KSB32-75x10YB,32,75,10,,YB,KSB--32x75.step +KSB32-75x10M,32,75,10,M,,KSB--32x75.step +KSB32-75x10MFA,32,75,10,M,FA,KSB--32x75.step +KSB32-75x10MFB,32,75,10,M,FB,KSB--32x75.step +KSB32-75x10MCA,32,75,10,M,CA,KSB--32x75.step +KSB32-75x10MCB,32,75,10,M,CB,KSB--32x75.step +KSB32-75x10MLB,32,75,10,M,LB,KSB--32x75.step +KSB32-75x10MYB,32,75,10,M,YB,KSB--32x75.step +KSB32-75x20,32,75,20,,,KSB--32x75.step +KSB32-75x20FA,32,75,20,,FA,KSB--32x75.step +KSB32-75x20FB,32,75,20,,FB,KSB--32x75.step +KSB32-75x20CA,32,75,20,,CA,KSB--32x75.step +KSB32-75x20CB,32,75,20,,CB,KSB--32x75.step +KSB32-75x20LB,32,75,20,,LB,KSB--32x75.step +KSB32-75x20YB,32,75,20,,YB,KSB--32x75.step +KSB32-75x20M,32,75,20,M,,KSB--32x75.step +KSB32-75x20MFA,32,75,20,M,FA,KSB--32x75.step +KSB32-75x20MFB,32,75,20,M,FB,KSB--32x75.step +KSB32-75x20MCA,32,75,20,M,CA,KSB--32x75.step +KSB32-75x20MCB,32,75,20,M,CB,KSB--32x75.step +KSB32-75x20MLB,32,75,20,M,LB,KSB--32x75.step +KSB32-75x20MYB,32,75,20,M,YB,KSB--32x75.step +KSB32-75x30,32,75,30,,,KSB--32x75.step +KSB32-75x30FA,32,75,30,,FA,KSB--32x75.step +KSB32-75x30FB,32,75,30,,FB,KSB--32x75.step +KSB32-75x30CA,32,75,30,,CA,KSB--32x75.step +KSB32-75x30CB,32,75,30,,CB,KSB--32x75.step +KSB32-75x30LB,32,75,30,,LB,KSB--32x75.step +KSB32-75x30YB,32,75,30,,YB,KSB--32x75.step +KSB32-75x30M,32,75,30,M,,KSB--32x75.step +KSB32-75x30MFA,32,75,30,M,FA,KSB--32x75.step +KSB32-75x30MFB,32,75,30,M,FB,KSB--32x75.step +KSB32-75x30MCA,32,75,30,M,CA,KSB--32x75.step +KSB32-75x30MCB,32,75,30,M,CB,KSB--32x75.step +KSB32-75x30MLB,32,75,30,M,LB,KSB--32x75.step +KSB32-75x30MYB,32,75,30,M,YB,KSB--32x75.step +KSB32-75x50,32,75,50,,,KSB--32x75.step +KSB32-75x50FA,32,75,50,,FA,KSB--32x75.step +KSB32-75x50FB,32,75,50,,FB,KSB--32x75.step +KSB32-75x50CA,32,75,50,,CA,KSB--32x75.step +KSB32-75x50CB,32,75,50,,CB,KSB--32x75.step +KSB32-75x50LB,32,75,50,,LB,KSB--32x75.step +KSB32-75x50YB,32,75,50,,YB,KSB--32x75.step +KSB32-75x50M,32,75,50,M,,KSB--32x75.step +KSB32-75x50MFA,32,75,50,M,FA,KSB--32x75.step +KSB32-75x50MFB,32,75,50,M,FB,KSB--32x75.step +KSB32-75x50MCA,32,75,50,M,CA,KSB--32x75.step +KSB32-75x50MCB,32,75,50,M,CB,KSB--32x75.step +KSB32-75x50MLB,32,75,50,M,LB,KSB--32x75.step +KSB32-75x50MYB,32,75,50,M,YB,KSB--32x75.step +KSB32-75x75,32,75,75,,,KSB--32x75.step +KSB32-75x75FA,32,75,75,,FA,KSB--32x75.step +KSB32-75x75FB,32,75,75,,FB,KSB--32x75.step +KSB32-75x75CA,32,75,75,,CA,KSB--32x75.step +KSB32-75x75CB,32,75,75,,CB,KSB--32x75.step +KSB32-75x75LB,32,75,75,,LB,KSB--32x75.step +KSB32-75x75YB,32,75,75,,YB,KSB--32x75.step +KSB32-75x75M,32,75,75,M,,KSB--32x75.step +KSB32-75x75MFA,32,75,75,M,FA,KSB--32x75.step +KSB32-75x75MFB,32,75,75,M,FB,KSB--32x75.step +KSB32-75x75MCA,32,75,75,M,CA,KSB--32x75.step +KSB32-75x75MCB,32,75,75,M,CB,KSB--32x75.step +KSB32-75x75MLB,32,75,75,M,LB,KSB--32x75.step +KSB32-75x75MYB,32,75,75,M,YB,KSB--32x75.step +KSB32-75x100,32,75,100,,,KSB--32x75.step +KSB32-75x100FA,32,75,100,,FA,KSB--32x75.step +KSB32-75x100FB,32,75,100,,FB,KSB--32x75.step +KSB32-75x100CA,32,75,100,,CA,KSB--32x75.step +KSB32-75x100CB,32,75,100,,CB,KSB--32x75.step +KSB32-75x100LB,32,75,100,,LB,KSB--32x75.step +KSB32-75x100YB,32,75,100,,YB,KSB--32x75.step +KSB32-75x100M,32,75,100,M,,KSB--32x75.step +KSB32-75x100MFA,32,75,100,M,FA,KSB--32x75.step +KSB32-75x100MFB,32,75,100,M,FB,KSB--32x75.step +KSB32-75x100MCA,32,75,100,M,CA,KSB--32x75.step +KSB32-75x100MCB,32,75,100,M,CB,KSB--32x75.step +KSB32-75x100MLB,32,75,100,M,LB,KSB--32x75.step +KSB32-75x100MYB,32,75,100,M,YB,KSB--32x75.step +KSB32-100x0,32,100,0,,,KSB--32x100.step +KSB32-100x0FA,32,100,0,,FA,KSB--32x100.step +KSB32-100x0FB,32,100,0,,FB,KSB--32x100.step +KSB32-100x0CA,32,100,0,,CA,KSB--32x100.step +KSB32-100x0CB,32,100,0,,CB,KSB--32x100.step +KSB32-100x0LB,32,100,0,,LB,KSB--32x100.step +KSB32-100x0YB,32,100,0,,YB,KSB--32x100.step +KSB32-100x0M,32,100,0,M,,KSB--32x100.step +KSB32-100x0MFA,32,100,0,M,FA,KSB--32x100.step +KSB32-100x0MFB,32,100,0,M,FB,KSB--32x100.step +KSB32-100x0MCA,32,100,0,M,CA,KSB--32x100.step +KSB32-100x0MCB,32,100,0,M,CB,KSB--32x100.step +KSB32-100x0MLB,32,100,0,M,LB,KSB--32x100.step +KSB32-100x0MYB,32,100,0,M,YB,KSB--32x100.step +KSB32-100x10,32,100,10,,,KSB--32x100.step +KSB32-100x10FA,32,100,10,,FA,KSB--32x100.step +KSB32-100x10FB,32,100,10,,FB,KSB--32x100.step +KSB32-100x10CA,32,100,10,,CA,KSB--32x100.step +KSB32-100x10CB,32,100,10,,CB,KSB--32x100.step +KSB32-100x10LB,32,100,10,,LB,KSB--32x100.step +KSB32-100x10YB,32,100,10,,YB,KSB--32x100.step +KSB32-100x10M,32,100,10,M,,KSB--32x100.step +KSB32-100x10MFA,32,100,10,M,FA,KSB--32x100.step +KSB32-100x10MFB,32,100,10,M,FB,KSB--32x100.step +KSB32-100x10MCA,32,100,10,M,CA,KSB--32x100.step +KSB32-100x10MCB,32,100,10,M,CB,KSB--32x100.step +KSB32-100x10MLB,32,100,10,M,LB,KSB--32x100.step +KSB32-100x10MYB,32,100,10,M,YB,KSB--32x100.step +KSB32-100x20,32,100,20,,,KSB--32x100.step +KSB32-100x20FA,32,100,20,,FA,KSB--32x100.step +KSB32-100x20FB,32,100,20,,FB,KSB--32x100.step +KSB32-100x20CA,32,100,20,,CA,KSB--32x100.step +KSB32-100x20CB,32,100,20,,CB,KSB--32x100.step +KSB32-100x20LB,32,100,20,,LB,KSB--32x100.step +KSB32-100x20YB,32,100,20,,YB,KSB--32x100.step +KSB32-100x20M,32,100,20,M,,KSB--32x100.step +KSB32-100x20MFA,32,100,20,M,FA,KSB--32x100.step +KSB32-100x20MFB,32,100,20,M,FB,KSB--32x100.step +KSB32-100x20MCA,32,100,20,M,CA,KSB--32x100.step +KSB32-100x20MCB,32,100,20,M,CB,KSB--32x100.step +KSB32-100x20MLB,32,100,20,M,LB,KSB--32x100.step +KSB32-100x20MYB,32,100,20,M,YB,KSB--32x100.step +KSB32-100x30,32,100,30,,,KSB--32x100.step +KSB32-100x30FA,32,100,30,,FA,KSB--32x100.step +KSB32-100x30FB,32,100,30,,FB,KSB--32x100.step +KSB32-100x30CA,32,100,30,,CA,KSB--32x100.step +KSB32-100x30CB,32,100,30,,CB,KSB--32x100.step +KSB32-100x30LB,32,100,30,,LB,KSB--32x100.step +KSB32-100x30YB,32,100,30,,YB,KSB--32x100.step +KSB32-100x30M,32,100,30,M,,KSB--32x100.step +KSB32-100x30MFA,32,100,30,M,FA,KSB--32x100.step +KSB32-100x30MFB,32,100,30,M,FB,KSB--32x100.step +KSB32-100x30MCA,32,100,30,M,CA,KSB--32x100.step +KSB32-100x30MCB,32,100,30,M,CB,KSB--32x100.step +KSB32-100x30MLB,32,100,30,M,LB,KSB--32x100.step +KSB32-100x30MYB,32,100,30,M,YB,KSB--32x100.step +KSB32-100x50,32,100,50,,,KSB--32x100.step +KSB32-100x50FA,32,100,50,,FA,KSB--32x100.step +KSB32-100x50FB,32,100,50,,FB,KSB--32x100.step +KSB32-100x50CA,32,100,50,,CA,KSB--32x100.step +KSB32-100x50CB,32,100,50,,CB,KSB--32x100.step +KSB32-100x50LB,32,100,50,,LB,KSB--32x100.step +KSB32-100x50YB,32,100,50,,YB,KSB--32x100.step +KSB32-100x50M,32,100,50,M,,KSB--32x100.step +KSB32-100x50MFA,32,100,50,M,FA,KSB--32x100.step +KSB32-100x50MFB,32,100,50,M,FB,KSB--32x100.step +KSB32-100x50MCA,32,100,50,M,CA,KSB--32x100.step +KSB32-100x50MCB,32,100,50,M,CB,KSB--32x100.step +KSB32-100x50MLB,32,100,50,M,LB,KSB--32x100.step +KSB32-100x50MYB,32,100,50,M,YB,KSB--32x100.step +KSB32-100x75,32,100,75,,,KSB--32x100.step +KSB32-100x75FA,32,100,75,,FA,KSB--32x100.step +KSB32-100x75FB,32,100,75,,FB,KSB--32x100.step +KSB32-100x75CA,32,100,75,,CA,KSB--32x100.step +KSB32-100x75CB,32,100,75,,CB,KSB--32x100.step +KSB32-100x75LB,32,100,75,,LB,KSB--32x100.step +KSB32-100x75YB,32,100,75,,YB,KSB--32x100.step +KSB32-100x75M,32,100,75,M,,KSB--32x100.step +KSB32-100x75MFA,32,100,75,M,FA,KSB--32x100.step +KSB32-100x75MFB,32,100,75,M,FB,KSB--32x100.step +KSB32-100x75MCA,32,100,75,M,CA,KSB--32x100.step +KSB32-100x75MCB,32,100,75,M,CB,KSB--32x100.step +KSB32-100x75MLB,32,100,75,M,LB,KSB--32x100.step +KSB32-100x75MYB,32,100,75,M,YB,KSB--32x100.step +KSB32-100x100,32,100,100,,,KSB--32x100.step +KSB32-100x100FA,32,100,100,,FA,KSB--32x100.step +KSB32-100x100FB,32,100,100,,FB,KSB--32x100.step +KSB32-100x100CA,32,100,100,,CA,KSB--32x100.step +KSB32-100x100CB,32,100,100,,CB,KSB--32x100.step +KSB32-100x100LB,32,100,100,,LB,KSB--32x100.step +KSB32-100x100YB,32,100,100,,YB,KSB--32x100.step +KSB32-100x100M,32,100,100,M,,KSB--32x100.step +KSB32-100x100MFA,32,100,100,M,FA,KSB--32x100.step +KSB32-100x100MFB,32,100,100,M,FB,KSB--32x100.step +KSB32-100x100MCA,32,100,100,M,CA,KSB--32x100.step +KSB32-100x100MCB,32,100,100,M,CB,KSB--32x100.step +KSB32-100x100MLB,32,100,100,M,LB,KSB--32x100.step +KSB32-100x100MYB,32,100,100,M,YB,KSB--32x100.step +KSB40-0x0,40,0,0,,,KSB--40x0.step +KSB40-0x0FA,40,0,0,,FA,KSB--40x0.step +KSB40-0x0FB,40,0,0,,FB,KSB--40x0.step +KSB40-0x0CA,40,0,0,,CA,KSB--40x0.step +KSB40-0x0CB,40,0,0,,CB,KSB--40x0.step +KSB40-0x0LB,40,0,0,,LB,KSB--40x0.step +KSB40-0x0YB,40,0,0,,YB,KSB--40x0.step +KSB40-0x0M,40,0,0,M,,KSB--40x0.step +KSB40-0x0MFA,40,0,0,M,FA,KSB--40x0.step +KSB40-0x0MFB,40,0,0,M,FB,KSB--40x0.step +KSB40-0x0MCA,40,0,0,M,CA,KSB--40x0.step +KSB40-0x0MCB,40,0,0,M,CB,KSB--40x0.step +KSB40-0x0MLB,40,0,0,M,LB,KSB--40x0.step +KSB40-0x0MYB,40,0,0,M,YB,KSB--40x0.step +KSB40-0x10,40,0,10,,,KSB--40x0.step +KSB40-0x10FA,40,0,10,,FA,KSB--40x0.step +KSB40-0x10FB,40,0,10,,FB,KSB--40x0.step +KSB40-0x10CA,40,0,10,,CA,KSB--40x0.step +KSB40-0x10CB,40,0,10,,CB,KSB--40x0.step +KSB40-0x10LB,40,0,10,,LB,KSB--40x0.step +KSB40-0x10YB,40,0,10,,YB,KSB--40x0.step +KSB40-0x10M,40,0,10,M,,KSB--40x0.step +KSB40-0x10MFA,40,0,10,M,FA,KSB--40x0.step +KSB40-0x10MFB,40,0,10,M,FB,KSB--40x0.step +KSB40-0x10MCA,40,0,10,M,CA,KSB--40x0.step +KSB40-0x10MCB,40,0,10,M,CB,KSB--40x0.step +KSB40-0x10MLB,40,0,10,M,LB,KSB--40x0.step +KSB40-0x10MYB,40,0,10,M,YB,KSB--40x0.step +KSB40-0x20,40,0,20,,,KSB--40x0.step +KSB40-0x20FA,40,0,20,,FA,KSB--40x0.step +KSB40-0x20FB,40,0,20,,FB,KSB--40x0.step +KSB40-0x20CA,40,0,20,,CA,KSB--40x0.step +KSB40-0x20CB,40,0,20,,CB,KSB--40x0.step +KSB40-0x20LB,40,0,20,,LB,KSB--40x0.step +KSB40-0x20YB,40,0,20,,YB,KSB--40x0.step +KSB40-0x20M,40,0,20,M,,KSB--40x0.step +KSB40-0x20MFA,40,0,20,M,FA,KSB--40x0.step +KSB40-0x20MFB,40,0,20,M,FB,KSB--40x0.step +KSB40-0x20MCA,40,0,20,M,CA,KSB--40x0.step +KSB40-0x20MCB,40,0,20,M,CB,KSB--40x0.step +KSB40-0x20MLB,40,0,20,M,LB,KSB--40x0.step +KSB40-0x20MYB,40,0,20,M,YB,KSB--40x0.step +KSB40-0x30,40,0,30,,,KSB--40x0.step +KSB40-0x30FA,40,0,30,,FA,KSB--40x0.step +KSB40-0x30FB,40,0,30,,FB,KSB--40x0.step +KSB40-0x30CA,40,0,30,,CA,KSB--40x0.step +KSB40-0x30CB,40,0,30,,CB,KSB--40x0.step +KSB40-0x30LB,40,0,30,,LB,KSB--40x0.step +KSB40-0x30YB,40,0,30,,YB,KSB--40x0.step +KSB40-0x30M,40,0,30,M,,KSB--40x0.step +KSB40-0x30MFA,40,0,30,M,FA,KSB--40x0.step +KSB40-0x30MFB,40,0,30,M,FB,KSB--40x0.step +KSB40-0x30MCA,40,0,30,M,CA,KSB--40x0.step +KSB40-0x30MCB,40,0,30,M,CB,KSB--40x0.step +KSB40-0x30MLB,40,0,30,M,LB,KSB--40x0.step +KSB40-0x30MYB,40,0,30,M,YB,KSB--40x0.step +KSB40-0x50,40,0,50,,,KSB--40x0.step +KSB40-0x50FA,40,0,50,,FA,KSB--40x0.step +KSB40-0x50FB,40,0,50,,FB,KSB--40x0.step +KSB40-0x50CA,40,0,50,,CA,KSB--40x0.step +KSB40-0x50CB,40,0,50,,CB,KSB--40x0.step +KSB40-0x50LB,40,0,50,,LB,KSB--40x0.step +KSB40-0x50YB,40,0,50,,YB,KSB--40x0.step +KSB40-0x50M,40,0,50,M,,KSB--40x0.step +KSB40-0x50MFA,40,0,50,M,FA,KSB--40x0.step +KSB40-0x50MFB,40,0,50,M,FB,KSB--40x0.step +KSB40-0x50MCA,40,0,50,M,CA,KSB--40x0.step +KSB40-0x50MCB,40,0,50,M,CB,KSB--40x0.step +KSB40-0x50MLB,40,0,50,M,LB,KSB--40x0.step +KSB40-0x50MYB,40,0,50,M,YB,KSB--40x0.step +KSB40-0x75,40,0,75,,,KSB--40x0.step +KSB40-0x75FA,40,0,75,,FA,KSB--40x0.step +KSB40-0x75FB,40,0,75,,FB,KSB--40x0.step +KSB40-0x75CA,40,0,75,,CA,KSB--40x0.step +KSB40-0x75CB,40,0,75,,CB,KSB--40x0.step +KSB40-0x75LB,40,0,75,,LB,KSB--40x0.step +KSB40-0x75YB,40,0,75,,YB,KSB--40x0.step +KSB40-0x75M,40,0,75,M,,KSB--40x0.step +KSB40-0x75MFA,40,0,75,M,FA,KSB--40x0.step +KSB40-0x75MFB,40,0,75,M,FB,KSB--40x0.step +KSB40-0x75MCA,40,0,75,M,CA,KSB--40x0.step +KSB40-0x75MCB,40,0,75,M,CB,KSB--40x0.step +KSB40-0x75MLB,40,0,75,M,LB,KSB--40x0.step +KSB40-0x75MYB,40,0,75,M,YB,KSB--40x0.step +KSB40-0x100,40,0,100,,,KSB--40x0.step +KSB40-0x100FA,40,0,100,,FA,KSB--40x0.step +KSB40-0x100FB,40,0,100,,FB,KSB--40x0.step +KSB40-0x100CA,40,0,100,,CA,KSB--40x0.step +KSB40-0x100CB,40,0,100,,CB,KSB--40x0.step +KSB40-0x100LB,40,0,100,,LB,KSB--40x0.step +KSB40-0x100YB,40,0,100,,YB,KSB--40x0.step +KSB40-0x100M,40,0,100,M,,KSB--40x0.step +KSB40-0x100MFA,40,0,100,M,FA,KSB--40x0.step +KSB40-0x100MFB,40,0,100,M,FB,KSB--40x0.step +KSB40-0x100MCA,40,0,100,M,CA,KSB--40x0.step +KSB40-0x100MCB,40,0,100,M,CB,KSB--40x0.step +KSB40-0x100MLB,40,0,100,M,LB,KSB--40x0.step +KSB40-0x100MYB,40,0,100,M,YB,KSB--40x0.step +KSB40-10x0,40,10,0,,,KSB--40x10.step +KSB40-10x0FA,40,10,0,,FA,KSB--40x10.step +KSB40-10x0FB,40,10,0,,FB,KSB--40x10.step +KSB40-10x0CA,40,10,0,,CA,KSB--40x10.step +KSB40-10x0CB,40,10,0,,CB,KSB--40x10.step +KSB40-10x0LB,40,10,0,,LB,KSB--40x10.step +KSB40-10x0YB,40,10,0,,YB,KSB--40x10.step +KSB40-10x0M,40,10,0,M,,KSB--40x10.step +KSB40-10x0MFA,40,10,0,M,FA,KSB--40x10.step +KSB40-10x0MFB,40,10,0,M,FB,KSB--40x10.step +KSB40-10x0MCA,40,10,0,M,CA,KSB--40x10.step +KSB40-10x0MCB,40,10,0,M,CB,KSB--40x10.step +KSB40-10x0MLB,40,10,0,M,LB,KSB--40x10.step +KSB40-10x0MYB,40,10,0,M,YB,KSB--40x10.step +KSB40-10x10,40,10,10,,,KSB--40x10.step +KSB40-10x10FA,40,10,10,,FA,KSB--40x10.step +KSB40-10x10FB,40,10,10,,FB,KSB--40x10.step +KSB40-10x10CA,40,10,10,,CA,KSB--40x10.step +KSB40-10x10CB,40,10,10,,CB,KSB--40x10.step +KSB40-10x10LB,40,10,10,,LB,KSB--40x10.step +KSB40-10x10YB,40,10,10,,YB,KSB--40x10.step +KSB40-10x10M,40,10,10,M,,KSB--40x10.step +KSB40-10x10MFA,40,10,10,M,FA,KSB--40x10.step +KSB40-10x10MFB,40,10,10,M,FB,KSB--40x10.step +KSB40-10x10MCA,40,10,10,M,CA,KSB--40x10.step +KSB40-10x10MCB,40,10,10,M,CB,KSB--40x10.step +KSB40-10x10MLB,40,10,10,M,LB,KSB--40x10.step +KSB40-10x10MYB,40,10,10,M,YB,KSB--40x10.step +KSB40-10x20,40,10,20,,,KSB--40x10.step +KSB40-10x20FA,40,10,20,,FA,KSB--40x10.step +KSB40-10x20FB,40,10,20,,FB,KSB--40x10.step +KSB40-10x20CA,40,10,20,,CA,KSB--40x10.step +KSB40-10x20CB,40,10,20,,CB,KSB--40x10.step +KSB40-10x20LB,40,10,20,,LB,KSB--40x10.step +KSB40-10x20YB,40,10,20,,YB,KSB--40x10.step +KSB40-10x20M,40,10,20,M,,KSB--40x10.step +KSB40-10x20MFA,40,10,20,M,FA,KSB--40x10.step +KSB40-10x20MFB,40,10,20,M,FB,KSB--40x10.step +KSB40-10x20MCA,40,10,20,M,CA,KSB--40x10.step +KSB40-10x20MCB,40,10,20,M,CB,KSB--40x10.step +KSB40-10x20MLB,40,10,20,M,LB,KSB--40x10.step +KSB40-10x20MYB,40,10,20,M,YB,KSB--40x10.step +KSB40-10x30,40,10,30,,,KSB--40x10.step +KSB40-10x30FA,40,10,30,,FA,KSB--40x10.step +KSB40-10x30FB,40,10,30,,FB,KSB--40x10.step +KSB40-10x30CA,40,10,30,,CA,KSB--40x10.step +KSB40-10x30CB,40,10,30,,CB,KSB--40x10.step +KSB40-10x30LB,40,10,30,,LB,KSB--40x10.step +KSB40-10x30YB,40,10,30,,YB,KSB--40x10.step +KSB40-10x30M,40,10,30,M,,KSB--40x10.step +KSB40-10x30MFA,40,10,30,M,FA,KSB--40x10.step +KSB40-10x30MFB,40,10,30,M,FB,KSB--40x10.step +KSB40-10x30MCA,40,10,30,M,CA,KSB--40x10.step +KSB40-10x30MCB,40,10,30,M,CB,KSB--40x10.step +KSB40-10x30MLB,40,10,30,M,LB,KSB--40x10.step +KSB40-10x30MYB,40,10,30,M,YB,KSB--40x10.step +KSB40-10x50,40,10,50,,,KSB--40x10.step +KSB40-10x50FA,40,10,50,,FA,KSB--40x10.step +KSB40-10x50FB,40,10,50,,FB,KSB--40x10.step +KSB40-10x50CA,40,10,50,,CA,KSB--40x10.step +KSB40-10x50CB,40,10,50,,CB,KSB--40x10.step +KSB40-10x50LB,40,10,50,,LB,KSB--40x10.step +KSB40-10x50YB,40,10,50,,YB,KSB--40x10.step +KSB40-10x50M,40,10,50,M,,KSB--40x10.step +KSB40-10x50MFA,40,10,50,M,FA,KSB--40x10.step +KSB40-10x50MFB,40,10,50,M,FB,KSB--40x10.step +KSB40-10x50MCA,40,10,50,M,CA,KSB--40x10.step +KSB40-10x50MCB,40,10,50,M,CB,KSB--40x10.step +KSB40-10x50MLB,40,10,50,M,LB,KSB--40x10.step +KSB40-10x50MYB,40,10,50,M,YB,KSB--40x10.step +KSB40-10x75,40,10,75,,,KSB--40x10.step +KSB40-10x75FA,40,10,75,,FA,KSB--40x10.step +KSB40-10x75FB,40,10,75,,FB,KSB--40x10.step +KSB40-10x75CA,40,10,75,,CA,KSB--40x10.step +KSB40-10x75CB,40,10,75,,CB,KSB--40x10.step +KSB40-10x75LB,40,10,75,,LB,KSB--40x10.step +KSB40-10x75YB,40,10,75,,YB,KSB--40x10.step +KSB40-10x75M,40,10,75,M,,KSB--40x10.step +KSB40-10x75MFA,40,10,75,M,FA,KSB--40x10.step +KSB40-10x75MFB,40,10,75,M,FB,KSB--40x10.step +KSB40-10x75MCA,40,10,75,M,CA,KSB--40x10.step +KSB40-10x75MCB,40,10,75,M,CB,KSB--40x10.step +KSB40-10x75MLB,40,10,75,M,LB,KSB--40x10.step +KSB40-10x75MYB,40,10,75,M,YB,KSB--40x10.step +KSB40-10x100,40,10,100,,,KSB--40x10.step +KSB40-10x100FA,40,10,100,,FA,KSB--40x10.step +KSB40-10x100FB,40,10,100,,FB,KSB--40x10.step +KSB40-10x100CA,40,10,100,,CA,KSB--40x10.step +KSB40-10x100CB,40,10,100,,CB,KSB--40x10.step +KSB40-10x100LB,40,10,100,,LB,KSB--40x10.step +KSB40-10x100YB,40,10,100,,YB,KSB--40x10.step +KSB40-10x100M,40,10,100,M,,KSB--40x10.step +KSB40-10x100MFA,40,10,100,M,FA,KSB--40x10.step +KSB40-10x100MFB,40,10,100,M,FB,KSB--40x10.step +KSB40-10x100MCA,40,10,100,M,CA,KSB--40x10.step +KSB40-10x100MCB,40,10,100,M,CB,KSB--40x10.step +KSB40-10x100MLB,40,10,100,M,LB,KSB--40x10.step +KSB40-10x100MYB,40,10,100,M,YB,KSB--40x10.step +KSB40-20x0,40,20,0,,,KSB--40x20.step +KSB40-20x0FA,40,20,0,,FA,KSB--40x20.step +KSB40-20x0FB,40,20,0,,FB,KSB--40x20.step +KSB40-20x0CA,40,20,0,,CA,KSB--40x20.step +KSB40-20x0CB,40,20,0,,CB,KSB--40x20.step +KSB40-20x0LB,40,20,0,,LB,KSB--40x20.step +KSB40-20x0YB,40,20,0,,YB,KSB--40x20.step +KSB40-20x0M,40,20,0,M,,KSB--40x20.step +KSB40-20x0MFA,40,20,0,M,FA,KSB--40x20.step +KSB40-20x0MFB,40,20,0,M,FB,KSB--40x20.step +KSB40-20x0MCA,40,20,0,M,CA,KSB--40x20.step +KSB40-20x0MCB,40,20,0,M,CB,KSB--40x20.step +KSB40-20x0MLB,40,20,0,M,LB,KSB--40x20.step +KSB40-20x0MYB,40,20,0,M,YB,KSB--40x20.step +KSB40-20x10,40,20,10,,,KSB--40x20.step +KSB40-20x10FA,40,20,10,,FA,KSB--40x20.step +KSB40-20x10FB,40,20,10,,FB,KSB--40x20.step +KSB40-20x10CA,40,20,10,,CA,KSB--40x20.step +KSB40-20x10CB,40,20,10,,CB,KSB--40x20.step +KSB40-20x10LB,40,20,10,,LB,KSB--40x20.step +KSB40-20x10YB,40,20,10,,YB,KSB--40x20.step +KSB40-20x10M,40,20,10,M,,KSB--40x20.step +KSB40-20x10MFA,40,20,10,M,FA,KSB--40x20.step +KSB40-20x10MFB,40,20,10,M,FB,KSB--40x20.step +KSB40-20x10MCA,40,20,10,M,CA,KSB--40x20.step +KSB40-20x10MCB,40,20,10,M,CB,KSB--40x20.step +KSB40-20x10MLB,40,20,10,M,LB,KSB--40x20.step +KSB40-20x10MYB,40,20,10,M,YB,KSB--40x20.step +KSB40-20x20,40,20,20,,,KSB--40x20.step +KSB40-20x20FA,40,20,20,,FA,KSB--40x20.step +KSB40-20x20FB,40,20,20,,FB,KSB--40x20.step +KSB40-20x20CA,40,20,20,,CA,KSB--40x20.step +KSB40-20x20CB,40,20,20,,CB,KSB--40x20.step +KSB40-20x20LB,40,20,20,,LB,KSB--40x20.step +KSB40-20x20YB,40,20,20,,YB,KSB--40x20.step +KSB40-20x20M,40,20,20,M,,KSB--40x20.step +KSB40-20x20MFA,40,20,20,M,FA,KSB--40x20.step +KSB40-20x20MFB,40,20,20,M,FB,KSB--40x20.step +KSB40-20x20MCA,40,20,20,M,CA,KSB--40x20.step +KSB40-20x20MCB,40,20,20,M,CB,KSB--40x20.step +KSB40-20x20MLB,40,20,20,M,LB,KSB--40x20.step +KSB40-20x20MYB,40,20,20,M,YB,KSB--40x20.step +KSB40-20x30,40,20,30,,,KSB--40x20.step +KSB40-20x30FA,40,20,30,,FA,KSB--40x20.step +KSB40-20x30FB,40,20,30,,FB,KSB--40x20.step +KSB40-20x30CA,40,20,30,,CA,KSB--40x20.step +KSB40-20x30CB,40,20,30,,CB,KSB--40x20.step +KSB40-20x30LB,40,20,30,,LB,KSB--40x20.step +KSB40-20x30YB,40,20,30,,YB,KSB--40x20.step +KSB40-20x30M,40,20,30,M,,KSB--40x20.step +KSB40-20x30MFA,40,20,30,M,FA,KSB--40x20.step +KSB40-20x30MFB,40,20,30,M,FB,KSB--40x20.step +KSB40-20x30MCA,40,20,30,M,CA,KSB--40x20.step +KSB40-20x30MCB,40,20,30,M,CB,KSB--40x20.step +KSB40-20x30MLB,40,20,30,M,LB,KSB--40x20.step +KSB40-20x30MYB,40,20,30,M,YB,KSB--40x20.step +KSB40-20x50,40,20,50,,,KSB--40x20.step +KSB40-20x50FA,40,20,50,,FA,KSB--40x20.step +KSB40-20x50FB,40,20,50,,FB,KSB--40x20.step +KSB40-20x50CA,40,20,50,,CA,KSB--40x20.step +KSB40-20x50CB,40,20,50,,CB,KSB--40x20.step +KSB40-20x50LB,40,20,50,,LB,KSB--40x20.step +KSB40-20x50YB,40,20,50,,YB,KSB--40x20.step +KSB40-20x50M,40,20,50,M,,KSB--40x20.step +KSB40-20x50MFA,40,20,50,M,FA,KSB--40x20.step +KSB40-20x50MFB,40,20,50,M,FB,KSB--40x20.step +KSB40-20x50MCA,40,20,50,M,CA,KSB--40x20.step +KSB40-20x50MCB,40,20,50,M,CB,KSB--40x20.step +KSB40-20x50MLB,40,20,50,M,LB,KSB--40x20.step +KSB40-20x50MYB,40,20,50,M,YB,KSB--40x20.step +KSB40-20x75,40,20,75,,,KSB--40x20.step +KSB40-20x75FA,40,20,75,,FA,KSB--40x20.step +KSB40-20x75FB,40,20,75,,FB,KSB--40x20.step +KSB40-20x75CA,40,20,75,,CA,KSB--40x20.step +KSB40-20x75CB,40,20,75,,CB,KSB--40x20.step +KSB40-20x75LB,40,20,75,,LB,KSB--40x20.step +KSB40-20x75YB,40,20,75,,YB,KSB--40x20.step +KSB40-20x75M,40,20,75,M,,KSB--40x20.step +KSB40-20x75MFA,40,20,75,M,FA,KSB--40x20.step +KSB40-20x75MFB,40,20,75,M,FB,KSB--40x20.step +KSB40-20x75MCA,40,20,75,M,CA,KSB--40x20.step +KSB40-20x75MCB,40,20,75,M,CB,KSB--40x20.step +KSB40-20x75MLB,40,20,75,M,LB,KSB--40x20.step +KSB40-20x75MYB,40,20,75,M,YB,KSB--40x20.step +KSB40-20x100,40,20,100,,,KSB--40x20.step +KSB40-20x100FA,40,20,100,,FA,KSB--40x20.step +KSB40-20x100FB,40,20,100,,FB,KSB--40x20.step +KSB40-20x100CA,40,20,100,,CA,KSB--40x20.step +KSB40-20x100CB,40,20,100,,CB,KSB--40x20.step +KSB40-20x100LB,40,20,100,,LB,KSB--40x20.step +KSB40-20x100YB,40,20,100,,YB,KSB--40x20.step +KSB40-20x100M,40,20,100,M,,KSB--40x20.step +KSB40-20x100MFA,40,20,100,M,FA,KSB--40x20.step +KSB40-20x100MFB,40,20,100,M,FB,KSB--40x20.step +KSB40-20x100MCA,40,20,100,M,CA,KSB--40x20.step +KSB40-20x100MCB,40,20,100,M,CB,KSB--40x20.step +KSB40-20x100MLB,40,20,100,M,LB,KSB--40x20.step +KSB40-20x100MYB,40,20,100,M,YB,KSB--40x20.step +KSB40-30x0,40,30,0,,,KSB--40x30.step +KSB40-30x0FA,40,30,0,,FA,KSB--40x30.step +KSB40-30x0FB,40,30,0,,FB,KSB--40x30.step +KSB40-30x0CA,40,30,0,,CA,KSB--40x30.step +KSB40-30x0CB,40,30,0,,CB,KSB--40x30.step +KSB40-30x0LB,40,30,0,,LB,KSB--40x30.step +KSB40-30x0YB,40,30,0,,YB,KSB--40x30.step +KSB40-30x0M,40,30,0,M,,KSB--40x30.step +KSB40-30x0MFA,40,30,0,M,FA,KSB--40x30.step +KSB40-30x0MFB,40,30,0,M,FB,KSB--40x30.step +KSB40-30x0MCA,40,30,0,M,CA,KSB--40x30.step +KSB40-30x0MCB,40,30,0,M,CB,KSB--40x30.step +KSB40-30x0MLB,40,30,0,M,LB,KSB--40x30.step +KSB40-30x0MYB,40,30,0,M,YB,KSB--40x30.step +KSB40-30x10,40,30,10,,,KSB--40x30.step +KSB40-30x10FA,40,30,10,,FA,KSB--40x30.step +KSB40-30x10FB,40,30,10,,FB,KSB--40x30.step +KSB40-30x10CA,40,30,10,,CA,KSB--40x30.step +KSB40-30x10CB,40,30,10,,CB,KSB--40x30.step +KSB40-30x10LB,40,30,10,,LB,KSB--40x30.step +KSB40-30x10YB,40,30,10,,YB,KSB--40x30.step +KSB40-30x10M,40,30,10,M,,KSB--40x30.step +KSB40-30x10MFA,40,30,10,M,FA,KSB--40x30.step +KSB40-30x10MFB,40,30,10,M,FB,KSB--40x30.step +KSB40-30x10MCA,40,30,10,M,CA,KSB--40x30.step +KSB40-30x10MCB,40,30,10,M,CB,KSB--40x30.step +KSB40-30x10MLB,40,30,10,M,LB,KSB--40x30.step +KSB40-30x10MYB,40,30,10,M,YB,KSB--40x30.step +KSB40-30x20,40,30,20,,,KSB--40x30.step +KSB40-30x20FA,40,30,20,,FA,KSB--40x30.step +KSB40-30x20FB,40,30,20,,FB,KSB--40x30.step +KSB40-30x20CA,40,30,20,,CA,KSB--40x30.step +KSB40-30x20CB,40,30,20,,CB,KSB--40x30.step +KSB40-30x20LB,40,30,20,,LB,KSB--40x30.step +KSB40-30x20YB,40,30,20,,YB,KSB--40x30.step +KSB40-30x20M,40,30,20,M,,KSB--40x30.step +KSB40-30x20MFA,40,30,20,M,FA,KSB--40x30.step +KSB40-30x20MFB,40,30,20,M,FB,KSB--40x30.step +KSB40-30x20MCA,40,30,20,M,CA,KSB--40x30.step +KSB40-30x20MCB,40,30,20,M,CB,KSB--40x30.step +KSB40-30x20MLB,40,30,20,M,LB,KSB--40x30.step +KSB40-30x20MYB,40,30,20,M,YB,KSB--40x30.step +KSB40-30x30,40,30,30,,,KSB--40x30.step +KSB40-30x30FA,40,30,30,,FA,KSB--40x30.step +KSB40-30x30FB,40,30,30,,FB,KSB--40x30.step +KSB40-30x30CA,40,30,30,,CA,KSB--40x30.step +KSB40-30x30CB,40,30,30,,CB,KSB--40x30.step +KSB40-30x30LB,40,30,30,,LB,KSB--40x30.step +KSB40-30x30YB,40,30,30,,YB,KSB--40x30.step +KSB40-30x30M,40,30,30,M,,KSB--40x30.step +KSB40-30x30MFA,40,30,30,M,FA,KSB--40x30.step +KSB40-30x30MFB,40,30,30,M,FB,KSB--40x30.step +KSB40-30x30MCA,40,30,30,M,CA,KSB--40x30.step +KSB40-30x30MCB,40,30,30,M,CB,KSB--40x30.step +KSB40-30x30MLB,40,30,30,M,LB,KSB--40x30.step +KSB40-30x30MYB,40,30,30,M,YB,KSB--40x30.step +KSB40-30x50,40,30,50,,,KSB--40x30.step +KSB40-30x50FA,40,30,50,,FA,KSB--40x30.step +KSB40-30x50FB,40,30,50,,FB,KSB--40x30.step +KSB40-30x50CA,40,30,50,,CA,KSB--40x30.step +KSB40-30x50CB,40,30,50,,CB,KSB--40x30.step +KSB40-30x50LB,40,30,50,,LB,KSB--40x30.step +KSB40-30x50YB,40,30,50,,YB,KSB--40x30.step +KSB40-30x50M,40,30,50,M,,KSB--40x30.step +KSB40-30x50MFA,40,30,50,M,FA,KSB--40x30.step +KSB40-30x50MFB,40,30,50,M,FB,KSB--40x30.step +KSB40-30x50MCA,40,30,50,M,CA,KSB--40x30.step +KSB40-30x50MCB,40,30,50,M,CB,KSB--40x30.step +KSB40-30x50MLB,40,30,50,M,LB,KSB--40x30.step +KSB40-30x50MYB,40,30,50,M,YB,KSB--40x30.step +KSB40-30x75,40,30,75,,,KSB--40x30.step +KSB40-30x75FA,40,30,75,,FA,KSB--40x30.step +KSB40-30x75FB,40,30,75,,FB,KSB--40x30.step +KSB40-30x75CA,40,30,75,,CA,KSB--40x30.step +KSB40-30x75CB,40,30,75,,CB,KSB--40x30.step +KSB40-30x75LB,40,30,75,,LB,KSB--40x30.step +KSB40-30x75YB,40,30,75,,YB,KSB--40x30.step +KSB40-30x75M,40,30,75,M,,KSB--40x30.step +KSB40-30x75MFA,40,30,75,M,FA,KSB--40x30.step +KSB40-30x75MFB,40,30,75,M,FB,KSB--40x30.step +KSB40-30x75MCA,40,30,75,M,CA,KSB--40x30.step +KSB40-30x75MCB,40,30,75,M,CB,KSB--40x30.step +KSB40-30x75MLB,40,30,75,M,LB,KSB--40x30.step +KSB40-30x75MYB,40,30,75,M,YB,KSB--40x30.step +KSB40-30x100,40,30,100,,,KSB--40x30.step +KSB40-30x100FA,40,30,100,,FA,KSB--40x30.step +KSB40-30x100FB,40,30,100,,FB,KSB--40x30.step +KSB40-30x100CA,40,30,100,,CA,KSB--40x30.step +KSB40-30x100CB,40,30,100,,CB,KSB--40x30.step +KSB40-30x100LB,40,30,100,,LB,KSB--40x30.step +KSB40-30x100YB,40,30,100,,YB,KSB--40x30.step +KSB40-30x100M,40,30,100,M,,KSB--40x30.step +KSB40-30x100MFA,40,30,100,M,FA,KSB--40x30.step +KSB40-30x100MFB,40,30,100,M,FB,KSB--40x30.step +KSB40-30x100MCA,40,30,100,M,CA,KSB--40x30.step +KSB40-30x100MCB,40,30,100,M,CB,KSB--40x30.step +KSB40-30x100MLB,40,30,100,M,LB,KSB--40x30.step +KSB40-30x100MYB,40,30,100,M,YB,KSB--40x30.step +KSB40-50x0,40,50,0,,,KSB--40x50.step +KSB40-50x0FA,40,50,0,,FA,KSB--40x50.step +KSB40-50x0FB,40,50,0,,FB,KSB--40x50.step +KSB40-50x0CA,40,50,0,,CA,KSB--40x50.step +KSB40-50x0CB,40,50,0,,CB,KSB--40x50.step +KSB40-50x0LB,40,50,0,,LB,KSB--40x50.step +KSB40-50x0YB,40,50,0,,YB,KSB--40x50.step +KSB40-50x0M,40,50,0,M,,KSB--40x50.step +KSB40-50x0MFA,40,50,0,M,FA,KSB--40x50.step +KSB40-50x0MFB,40,50,0,M,FB,KSB--40x50.step +KSB40-50x0MCA,40,50,0,M,CA,KSB--40x50.step +KSB40-50x0MCB,40,50,0,M,CB,KSB--40x50.step +KSB40-50x0MLB,40,50,0,M,LB,KSB--40x50.step +KSB40-50x0MYB,40,50,0,M,YB,KSB--40x50.step +KSB40-50x10,40,50,10,,,KSB--40x50.step +KSB40-50x10FA,40,50,10,,FA,KSB--40x50.step +KSB40-50x10FB,40,50,10,,FB,KSB--40x50.step +KSB40-50x10CA,40,50,10,,CA,KSB--40x50.step +KSB40-50x10CB,40,50,10,,CB,KSB--40x50.step +KSB40-50x10LB,40,50,10,,LB,KSB--40x50.step +KSB40-50x10YB,40,50,10,,YB,KSB--40x50.step +KSB40-50x10M,40,50,10,M,,KSB--40x50.step +KSB40-50x10MFA,40,50,10,M,FA,KSB--40x50.step +KSB40-50x10MFB,40,50,10,M,FB,KSB--40x50.step +KSB40-50x10MCA,40,50,10,M,CA,KSB--40x50.step +KSB40-50x10MCB,40,50,10,M,CB,KSB--40x50.step +KSB40-50x10MLB,40,50,10,M,LB,KSB--40x50.step +KSB40-50x10MYB,40,50,10,M,YB,KSB--40x50.step +KSB40-50x20,40,50,20,,,KSB--40x50.step +KSB40-50x20FA,40,50,20,,FA,KSB--40x50.step +KSB40-50x20FB,40,50,20,,FB,KSB--40x50.step +KSB40-50x20CA,40,50,20,,CA,KSB--40x50.step +KSB40-50x20CB,40,50,20,,CB,KSB--40x50.step +KSB40-50x20LB,40,50,20,,LB,KSB--40x50.step +KSB40-50x20YB,40,50,20,,YB,KSB--40x50.step +KSB40-50x20M,40,50,20,M,,KSB--40x50.step +KSB40-50x20MFA,40,50,20,M,FA,KSB--40x50.step +KSB40-50x20MFB,40,50,20,M,FB,KSB--40x50.step +KSB40-50x20MCA,40,50,20,M,CA,KSB--40x50.step +KSB40-50x20MCB,40,50,20,M,CB,KSB--40x50.step +KSB40-50x20MLB,40,50,20,M,LB,KSB--40x50.step +KSB40-50x20MYB,40,50,20,M,YB,KSB--40x50.step +KSB40-50x30,40,50,30,,,KSB--40x50.step +KSB40-50x30FA,40,50,30,,FA,KSB--40x50.step +KSB40-50x30FB,40,50,30,,FB,KSB--40x50.step +KSB40-50x30CA,40,50,30,,CA,KSB--40x50.step +KSB40-50x30CB,40,50,30,,CB,KSB--40x50.step +KSB40-50x30LB,40,50,30,,LB,KSB--40x50.step +KSB40-50x30YB,40,50,30,,YB,KSB--40x50.step +KSB40-50x30M,40,50,30,M,,KSB--40x50.step +KSB40-50x30MFA,40,50,30,M,FA,KSB--40x50.step +KSB40-50x30MFB,40,50,30,M,FB,KSB--40x50.step +KSB40-50x30MCA,40,50,30,M,CA,KSB--40x50.step +KSB40-50x30MCB,40,50,30,M,CB,KSB--40x50.step +KSB40-50x30MLB,40,50,30,M,LB,KSB--40x50.step +KSB40-50x30MYB,40,50,30,M,YB,KSB--40x50.step +KSB40-50x50,40,50,50,,,KSB--40x50.step +KSB40-50x50FA,40,50,50,,FA,KSB--40x50.step +KSB40-50x50FB,40,50,50,,FB,KSB--40x50.step +KSB40-50x50CA,40,50,50,,CA,KSB--40x50.step +KSB40-50x50CB,40,50,50,,CB,KSB--40x50.step +KSB40-50x50LB,40,50,50,,LB,KSB--40x50.step +KSB40-50x50YB,40,50,50,,YB,KSB--40x50.step +KSB40-50x50M,40,50,50,M,,KSB--40x50.step +KSB40-50x50MFA,40,50,50,M,FA,KSB--40x50.step +KSB40-50x50MFB,40,50,50,M,FB,KSB--40x50.step +KSB40-50x50MCA,40,50,50,M,CA,KSB--40x50.step +KSB40-50x50MCB,40,50,50,M,CB,KSB--40x50.step +KSB40-50x50MLB,40,50,50,M,LB,KSB--40x50.step +KSB40-50x50MYB,40,50,50,M,YB,KSB--40x50.step +KSB40-50x75,40,50,75,,,KSB--40x50.step +KSB40-50x75FA,40,50,75,,FA,KSB--40x50.step +KSB40-50x75FB,40,50,75,,FB,KSB--40x50.step +KSB40-50x75CA,40,50,75,,CA,KSB--40x50.step +KSB40-50x75CB,40,50,75,,CB,KSB--40x50.step +KSB40-50x75LB,40,50,75,,LB,KSB--40x50.step +KSB40-50x75YB,40,50,75,,YB,KSB--40x50.step +KSB40-50x75M,40,50,75,M,,KSB--40x50.step +KSB40-50x75MFA,40,50,75,M,FA,KSB--40x50.step +KSB40-50x75MFB,40,50,75,M,FB,KSB--40x50.step +KSB40-50x75MCA,40,50,75,M,CA,KSB--40x50.step +KSB40-50x75MCB,40,50,75,M,CB,KSB--40x50.step +KSB40-50x75MLB,40,50,75,M,LB,KSB--40x50.step +KSB40-50x75MYB,40,50,75,M,YB,KSB--40x50.step +KSB40-50x100,40,50,100,,,KSB--40x50.step +KSB40-50x100FA,40,50,100,,FA,KSB--40x50.step +KSB40-50x100FB,40,50,100,,FB,KSB--40x50.step +KSB40-50x100CA,40,50,100,,CA,KSB--40x50.step +KSB40-50x100CB,40,50,100,,CB,KSB--40x50.step +KSB40-50x100LB,40,50,100,,LB,KSB--40x50.step +KSB40-50x100YB,40,50,100,,YB,KSB--40x50.step +KSB40-50x100M,40,50,100,M,,KSB--40x50.step +KSB40-50x100MFA,40,50,100,M,FA,KSB--40x50.step +KSB40-50x100MFB,40,50,100,M,FB,KSB--40x50.step +KSB40-50x100MCA,40,50,100,M,CA,KSB--40x50.step +KSB40-50x100MCB,40,50,100,M,CB,KSB--40x50.step +KSB40-50x100MLB,40,50,100,M,LB,KSB--40x50.step +KSB40-50x100MYB,40,50,100,M,YB,KSB--40x50.step +KSB40-75x0,40,75,0,,,KSB--40x75.step +KSB40-75x0FA,40,75,0,,FA,KSB--40x75.step +KSB40-75x0FB,40,75,0,,FB,KSB--40x75.step +KSB40-75x0CA,40,75,0,,CA,KSB--40x75.step +KSB40-75x0CB,40,75,0,,CB,KSB--40x75.step +KSB40-75x0LB,40,75,0,,LB,KSB--40x75.step +KSB40-75x0YB,40,75,0,,YB,KSB--40x75.step +KSB40-75x0M,40,75,0,M,,KSB--40x75.step +KSB40-75x0MFA,40,75,0,M,FA,KSB--40x75.step +KSB40-75x0MFB,40,75,0,M,FB,KSB--40x75.step +KSB40-75x0MCA,40,75,0,M,CA,KSB--40x75.step +KSB40-75x0MCB,40,75,0,M,CB,KSB--40x75.step +KSB40-75x0MLB,40,75,0,M,LB,KSB--40x75.step +KSB40-75x0MYB,40,75,0,M,YB,KSB--40x75.step +KSB40-75x10,40,75,10,,,KSB--40x75.step +KSB40-75x10FA,40,75,10,,FA,KSB--40x75.step +KSB40-75x10FB,40,75,10,,FB,KSB--40x75.step +KSB40-75x10CA,40,75,10,,CA,KSB--40x75.step +KSB40-75x10CB,40,75,10,,CB,KSB--40x75.step +KSB40-75x10LB,40,75,10,,LB,KSB--40x75.step +KSB40-75x10YB,40,75,10,,YB,KSB--40x75.step +KSB40-75x10M,40,75,10,M,,KSB--40x75.step +KSB40-75x10MFA,40,75,10,M,FA,KSB--40x75.step +KSB40-75x10MFB,40,75,10,M,FB,KSB--40x75.step +KSB40-75x10MCA,40,75,10,M,CA,KSB--40x75.step +KSB40-75x10MCB,40,75,10,M,CB,KSB--40x75.step +KSB40-75x10MLB,40,75,10,M,LB,KSB--40x75.step +KSB40-75x10MYB,40,75,10,M,YB,KSB--40x75.step +KSB40-75x20,40,75,20,,,KSB--40x75.step +KSB40-75x20FA,40,75,20,,FA,KSB--40x75.step +KSB40-75x20FB,40,75,20,,FB,KSB--40x75.step +KSB40-75x20CA,40,75,20,,CA,KSB--40x75.step +KSB40-75x20CB,40,75,20,,CB,KSB--40x75.step +KSB40-75x20LB,40,75,20,,LB,KSB--40x75.step +KSB40-75x20YB,40,75,20,,YB,KSB--40x75.step +KSB40-75x20M,40,75,20,M,,KSB--40x75.step +KSB40-75x20MFA,40,75,20,M,FA,KSB--40x75.step +KSB40-75x20MFB,40,75,20,M,FB,KSB--40x75.step +KSB40-75x20MCA,40,75,20,M,CA,KSB--40x75.step +KSB40-75x20MCB,40,75,20,M,CB,KSB--40x75.step +KSB40-75x20MLB,40,75,20,M,LB,KSB--40x75.step +KSB40-75x20MYB,40,75,20,M,YB,KSB--40x75.step +KSB40-75x30,40,75,30,,,KSB--40x75.step +KSB40-75x30FA,40,75,30,,FA,KSB--40x75.step +KSB40-75x30FB,40,75,30,,FB,KSB--40x75.step +KSB40-75x30CA,40,75,30,,CA,KSB--40x75.step +KSB40-75x30CB,40,75,30,,CB,KSB--40x75.step +KSB40-75x30LB,40,75,30,,LB,KSB--40x75.step +KSB40-75x30YB,40,75,30,,YB,KSB--40x75.step +KSB40-75x30M,40,75,30,M,,KSB--40x75.step +KSB40-75x30MFA,40,75,30,M,FA,KSB--40x75.step +KSB40-75x30MFB,40,75,30,M,FB,KSB--40x75.step +KSB40-75x30MCA,40,75,30,M,CA,KSB--40x75.step +KSB40-75x30MCB,40,75,30,M,CB,KSB--40x75.step +KSB40-75x30MLB,40,75,30,M,LB,KSB--40x75.step +KSB40-75x30MYB,40,75,30,M,YB,KSB--40x75.step +KSB40-75x50,40,75,50,,,KSB--40x75.step +KSB40-75x50FA,40,75,50,,FA,KSB--40x75.step +KSB40-75x50FB,40,75,50,,FB,KSB--40x75.step +KSB40-75x50CA,40,75,50,,CA,KSB--40x75.step +KSB40-75x50CB,40,75,50,,CB,KSB--40x75.step +KSB40-75x50LB,40,75,50,,LB,KSB--40x75.step +KSB40-75x50YB,40,75,50,,YB,KSB--40x75.step +KSB40-75x50M,40,75,50,M,,KSB--40x75.step +KSB40-75x50MFA,40,75,50,M,FA,KSB--40x75.step +KSB40-75x50MFB,40,75,50,M,FB,KSB--40x75.step +KSB40-75x50MCA,40,75,50,M,CA,KSB--40x75.step +KSB40-75x50MCB,40,75,50,M,CB,KSB--40x75.step +KSB40-75x50MLB,40,75,50,M,LB,KSB--40x75.step +KSB40-75x50MYB,40,75,50,M,YB,KSB--40x75.step +KSB40-75x75,40,75,75,,,KSB--40x75.step +KSB40-75x75FA,40,75,75,,FA,KSB--40x75.step +KSB40-75x75FB,40,75,75,,FB,KSB--40x75.step +KSB40-75x75CA,40,75,75,,CA,KSB--40x75.step +KSB40-75x75CB,40,75,75,,CB,KSB--40x75.step +KSB40-75x75LB,40,75,75,,LB,KSB--40x75.step +KSB40-75x75YB,40,75,75,,YB,KSB--40x75.step +KSB40-75x75M,40,75,75,M,,KSB--40x75.step +KSB40-75x75MFA,40,75,75,M,FA,KSB--40x75.step +KSB40-75x75MFB,40,75,75,M,FB,KSB--40x75.step +KSB40-75x75MCA,40,75,75,M,CA,KSB--40x75.step +KSB40-75x75MCB,40,75,75,M,CB,KSB--40x75.step +KSB40-75x75MLB,40,75,75,M,LB,KSB--40x75.step +KSB40-75x75MYB,40,75,75,M,YB,KSB--40x75.step +KSB40-75x100,40,75,100,,,KSB--40x75.step +KSB40-75x100FA,40,75,100,,FA,KSB--40x75.step +KSB40-75x100FB,40,75,100,,FB,KSB--40x75.step +KSB40-75x100CA,40,75,100,,CA,KSB--40x75.step +KSB40-75x100CB,40,75,100,,CB,KSB--40x75.step +KSB40-75x100LB,40,75,100,,LB,KSB--40x75.step +KSB40-75x100YB,40,75,100,,YB,KSB--40x75.step +KSB40-75x100M,40,75,100,M,,KSB--40x75.step +KSB40-75x100MFA,40,75,100,M,FA,KSB--40x75.step +KSB40-75x100MFB,40,75,100,M,FB,KSB--40x75.step +KSB40-75x100MCA,40,75,100,M,CA,KSB--40x75.step +KSB40-75x100MCB,40,75,100,M,CB,KSB--40x75.step +KSB40-75x100MLB,40,75,100,M,LB,KSB--40x75.step +KSB40-75x100MYB,40,75,100,M,YB,KSB--40x75.step +KSB40-100x0,40,100,0,,,KSB--40x100.step +KSB40-100x0FA,40,100,0,,FA,KSB--40x100.step +KSB40-100x0FB,40,100,0,,FB,KSB--40x100.step +KSB40-100x0CA,40,100,0,,CA,KSB--40x100.step +KSB40-100x0CB,40,100,0,,CB,KSB--40x100.step +KSB40-100x0LB,40,100,0,,LB,KSB--40x100.step +KSB40-100x0YB,40,100,0,,YB,KSB--40x100.step +KSB40-100x0M,40,100,0,M,,KSB--40x100.step +KSB40-100x0MFA,40,100,0,M,FA,KSB--40x100.step +KSB40-100x0MFB,40,100,0,M,FB,KSB--40x100.step +KSB40-100x0MCA,40,100,0,M,CA,KSB--40x100.step +KSB40-100x0MCB,40,100,0,M,CB,KSB--40x100.step +KSB40-100x0MLB,40,100,0,M,LB,KSB--40x100.step +KSB40-100x0MYB,40,100,0,M,YB,KSB--40x100.step +KSB40-100x10,40,100,10,,,KSB--40x100.step +KSB40-100x10FA,40,100,10,,FA,KSB--40x100.step +KSB40-100x10FB,40,100,10,,FB,KSB--40x100.step +KSB40-100x10CA,40,100,10,,CA,KSB--40x100.step +KSB40-100x10CB,40,100,10,,CB,KSB--40x100.step +KSB40-100x10LB,40,100,10,,LB,KSB--40x100.step +KSB40-100x10YB,40,100,10,,YB,KSB--40x100.step +KSB40-100x10M,40,100,10,M,,KSB--40x100.step +KSB40-100x10MFA,40,100,10,M,FA,KSB--40x100.step +KSB40-100x10MFB,40,100,10,M,FB,KSB--40x100.step +KSB40-100x10MCA,40,100,10,M,CA,KSB--40x100.step +KSB40-100x10MCB,40,100,10,M,CB,KSB--40x100.step +KSB40-100x10MLB,40,100,10,M,LB,KSB--40x100.step +KSB40-100x10MYB,40,100,10,M,YB,KSB--40x100.step +KSB40-100x20,40,100,20,,,KSB--40x100.step +KSB40-100x20FA,40,100,20,,FA,KSB--40x100.step +KSB40-100x20FB,40,100,20,,FB,KSB--40x100.step +KSB40-100x20CA,40,100,20,,CA,KSB--40x100.step +KSB40-100x20CB,40,100,20,,CB,KSB--40x100.step +KSB40-100x20LB,40,100,20,,LB,KSB--40x100.step +KSB40-100x20YB,40,100,20,,YB,KSB--40x100.step +KSB40-100x20M,40,100,20,M,,KSB--40x100.step +KSB40-100x20MFA,40,100,20,M,FA,KSB--40x100.step +KSB40-100x20MFB,40,100,20,M,FB,KSB--40x100.step +KSB40-100x20MCA,40,100,20,M,CA,KSB--40x100.step +KSB40-100x20MCB,40,100,20,M,CB,KSB--40x100.step +KSB40-100x20MLB,40,100,20,M,LB,KSB--40x100.step +KSB40-100x20MYB,40,100,20,M,YB,KSB--40x100.step +KSB40-100x30,40,100,30,,,KSB--40x100.step +KSB40-100x30FA,40,100,30,,FA,KSB--40x100.step +KSB40-100x30FB,40,100,30,,FB,KSB--40x100.step +KSB40-100x30CA,40,100,30,,CA,KSB--40x100.step +KSB40-100x30CB,40,100,30,,CB,KSB--40x100.step +KSB40-100x30LB,40,100,30,,LB,KSB--40x100.step +KSB40-100x30YB,40,100,30,,YB,KSB--40x100.step +KSB40-100x30M,40,100,30,M,,KSB--40x100.step +KSB40-100x30MFA,40,100,30,M,FA,KSB--40x100.step +KSB40-100x30MFB,40,100,30,M,FB,KSB--40x100.step +KSB40-100x30MCA,40,100,30,M,CA,KSB--40x100.step +KSB40-100x30MCB,40,100,30,M,CB,KSB--40x100.step +KSB40-100x30MLB,40,100,30,M,LB,KSB--40x100.step +KSB40-100x30MYB,40,100,30,M,YB,KSB--40x100.step +KSB40-100x50,40,100,50,,,KSB--40x100.step +KSB40-100x50FA,40,100,50,,FA,KSB--40x100.step +KSB40-100x50FB,40,100,50,,FB,KSB--40x100.step +KSB40-100x50CA,40,100,50,,CA,KSB--40x100.step +KSB40-100x50CB,40,100,50,,CB,KSB--40x100.step +KSB40-100x50LB,40,100,50,,LB,KSB--40x100.step +KSB40-100x50YB,40,100,50,,YB,KSB--40x100.step +KSB40-100x50M,40,100,50,M,,KSB--40x100.step +KSB40-100x50MFA,40,100,50,M,FA,KSB--40x100.step +KSB40-100x50MFB,40,100,50,M,FB,KSB--40x100.step +KSB40-100x50MCA,40,100,50,M,CA,KSB--40x100.step +KSB40-100x50MCB,40,100,50,M,CB,KSB--40x100.step +KSB40-100x50MLB,40,100,50,M,LB,KSB--40x100.step +KSB40-100x50MYB,40,100,50,M,YB,KSB--40x100.step +KSB40-100x75,40,100,75,,,KSB--40x100.step +KSB40-100x75FA,40,100,75,,FA,KSB--40x100.step +KSB40-100x75FB,40,100,75,,FB,KSB--40x100.step +KSB40-100x75CA,40,100,75,,CA,KSB--40x100.step +KSB40-100x75CB,40,100,75,,CB,KSB--40x100.step +KSB40-100x75LB,40,100,75,,LB,KSB--40x100.step +KSB40-100x75YB,40,100,75,,YB,KSB--40x100.step +KSB40-100x75M,40,100,75,M,,KSB--40x100.step +KSB40-100x75MFA,40,100,75,M,FA,KSB--40x100.step +KSB40-100x75MFB,40,100,75,M,FB,KSB--40x100.step +KSB40-100x75MCA,40,100,75,M,CA,KSB--40x100.step +KSB40-100x75MCB,40,100,75,M,CB,KSB--40x100.step +KSB40-100x75MLB,40,100,75,M,LB,KSB--40x100.step +KSB40-100x75MYB,40,100,75,M,YB,KSB--40x100.step +KSB40-100x100,40,100,100,,,KSB--40x100.step +KSB40-100x100FA,40,100,100,,FA,KSB--40x100.step +KSB40-100x100FB,40,100,100,,FB,KSB--40x100.step +KSB40-100x100CA,40,100,100,,CA,KSB--40x100.step +KSB40-100x100CB,40,100,100,,CB,KSB--40x100.step +KSB40-100x100LB,40,100,100,,LB,KSB--40x100.step +KSB40-100x100YB,40,100,100,,YB,KSB--40x100.step +KSB40-100x100M,40,100,100,M,,KSB--40x100.step +KSB40-100x100MFA,40,100,100,M,FA,KSB--40x100.step +KSB40-100x100MFB,40,100,100,M,FB,KSB--40x100.step +KSB40-100x100MCA,40,100,100,M,CA,KSB--40x100.step +KSB40-100x100MCB,40,100,100,M,CB,KSB--40x100.step +KSB40-100x100MLB,40,100,100,M,LB,KSB--40x100.step +KSB40-100x100MYB,40,100,100,M,YB,KSB--40x100.step +KSB50-0x0,50,0,0,,,KSB--50x0.step +KSB50-0x0FA,50,0,0,,FA,KSB--50x0.step +KSB50-0x0FB,50,0,0,,FB,KSB--50x0.step +KSB50-0x0CA,50,0,0,,CA,KSB--50x0.step +KSB50-0x0CB,50,0,0,,CB,KSB--50x0.step +KSB50-0x0LB,50,0,0,,LB,KSB--50x0.step +KSB50-0x0YB,50,0,0,,YB,KSB--50x0.step +KSB50-0x0M,50,0,0,M,,KSB--50x0.step +KSB50-0x0MFA,50,0,0,M,FA,KSB--50x0.step +KSB50-0x0MFB,50,0,0,M,FB,KSB--50x0.step +KSB50-0x0MCA,50,0,0,M,CA,KSB--50x0.step +KSB50-0x0MCB,50,0,0,M,CB,KSB--50x0.step +KSB50-0x0MLB,50,0,0,M,LB,KSB--50x0.step +KSB50-0x0MYB,50,0,0,M,YB,KSB--50x0.step +KSB50-0x10,50,0,10,,,KSB--50x0.step +KSB50-0x10FA,50,0,10,,FA,KSB--50x0.step +KSB50-0x10FB,50,0,10,,FB,KSB--50x0.step +KSB50-0x10CA,50,0,10,,CA,KSB--50x0.step +KSB50-0x10CB,50,0,10,,CB,KSB--50x0.step +KSB50-0x10LB,50,0,10,,LB,KSB--50x0.step +KSB50-0x10YB,50,0,10,,YB,KSB--50x0.step +KSB50-0x10M,50,0,10,M,,KSB--50x0.step +KSB50-0x10MFA,50,0,10,M,FA,KSB--50x0.step +KSB50-0x10MFB,50,0,10,M,FB,KSB--50x0.step +KSB50-0x10MCA,50,0,10,M,CA,KSB--50x0.step +KSB50-0x10MCB,50,0,10,M,CB,KSB--50x0.step +KSB50-0x10MLB,50,0,10,M,LB,KSB--50x0.step +KSB50-0x10MYB,50,0,10,M,YB,KSB--50x0.step +KSB50-0x20,50,0,20,,,KSB--50x0.step +KSB50-0x20FA,50,0,20,,FA,KSB--50x0.step +KSB50-0x20FB,50,0,20,,FB,KSB--50x0.step +KSB50-0x20CA,50,0,20,,CA,KSB--50x0.step +KSB50-0x20CB,50,0,20,,CB,KSB--50x0.step +KSB50-0x20LB,50,0,20,,LB,KSB--50x0.step +KSB50-0x20YB,50,0,20,,YB,KSB--50x0.step +KSB50-0x20M,50,0,20,M,,KSB--50x0.step +KSB50-0x20MFA,50,0,20,M,FA,KSB--50x0.step +KSB50-0x20MFB,50,0,20,M,FB,KSB--50x0.step +KSB50-0x20MCA,50,0,20,M,CA,KSB--50x0.step +KSB50-0x20MCB,50,0,20,M,CB,KSB--50x0.step +KSB50-0x20MLB,50,0,20,M,LB,KSB--50x0.step +KSB50-0x20MYB,50,0,20,M,YB,KSB--50x0.step +KSB50-0x30,50,0,30,,,KSB--50x0.step +KSB50-0x30FA,50,0,30,,FA,KSB--50x0.step +KSB50-0x30FB,50,0,30,,FB,KSB--50x0.step +KSB50-0x30CA,50,0,30,,CA,KSB--50x0.step +KSB50-0x30CB,50,0,30,,CB,KSB--50x0.step +KSB50-0x30LB,50,0,30,,LB,KSB--50x0.step +KSB50-0x30YB,50,0,30,,YB,KSB--50x0.step +KSB50-0x30M,50,0,30,M,,KSB--50x0.step +KSB50-0x30MFA,50,0,30,M,FA,KSB--50x0.step +KSB50-0x30MFB,50,0,30,M,FB,KSB--50x0.step +KSB50-0x30MCA,50,0,30,M,CA,KSB--50x0.step +KSB50-0x30MCB,50,0,30,M,CB,KSB--50x0.step +KSB50-0x30MLB,50,0,30,M,LB,KSB--50x0.step +KSB50-0x30MYB,50,0,30,M,YB,KSB--50x0.step +KSB50-0x50,50,0,50,,,KSB--50x0.step +KSB50-0x50FA,50,0,50,,FA,KSB--50x0.step +KSB50-0x50FB,50,0,50,,FB,KSB--50x0.step +KSB50-0x50CA,50,0,50,,CA,KSB--50x0.step +KSB50-0x50CB,50,0,50,,CB,KSB--50x0.step +KSB50-0x50LB,50,0,50,,LB,KSB--50x0.step +KSB50-0x50YB,50,0,50,,YB,KSB--50x0.step +KSB50-0x50M,50,0,50,M,,KSB--50x0.step +KSB50-0x50MFA,50,0,50,M,FA,KSB--50x0.step +KSB50-0x50MFB,50,0,50,M,FB,KSB--50x0.step +KSB50-0x50MCA,50,0,50,M,CA,KSB--50x0.step +KSB50-0x50MCB,50,0,50,M,CB,KSB--50x0.step +KSB50-0x50MLB,50,0,50,M,LB,KSB--50x0.step +KSB50-0x50MYB,50,0,50,M,YB,KSB--50x0.step +KSB50-0x75,50,0,75,,,KSB--50x0.step +KSB50-0x75FA,50,0,75,,FA,KSB--50x0.step +KSB50-0x75FB,50,0,75,,FB,KSB--50x0.step +KSB50-0x75CA,50,0,75,,CA,KSB--50x0.step +KSB50-0x75CB,50,0,75,,CB,KSB--50x0.step +KSB50-0x75LB,50,0,75,,LB,KSB--50x0.step +KSB50-0x75YB,50,0,75,,YB,KSB--50x0.step +KSB50-0x75M,50,0,75,M,,KSB--50x0.step +KSB50-0x75MFA,50,0,75,M,FA,KSB--50x0.step +KSB50-0x75MFB,50,0,75,M,FB,KSB--50x0.step +KSB50-0x75MCA,50,0,75,M,CA,KSB--50x0.step +KSB50-0x75MCB,50,0,75,M,CB,KSB--50x0.step +KSB50-0x75MLB,50,0,75,M,LB,KSB--50x0.step +KSB50-0x75MYB,50,0,75,M,YB,KSB--50x0.step +KSB50-0x100,50,0,100,,,KSB--50x0.step +KSB50-0x100FA,50,0,100,,FA,KSB--50x0.step +KSB50-0x100FB,50,0,100,,FB,KSB--50x0.step +KSB50-0x100CA,50,0,100,,CA,KSB--50x0.step +KSB50-0x100CB,50,0,100,,CB,KSB--50x0.step +KSB50-0x100LB,50,0,100,,LB,KSB--50x0.step +KSB50-0x100YB,50,0,100,,YB,KSB--50x0.step +KSB50-0x100M,50,0,100,M,,KSB--50x0.step +KSB50-0x100MFA,50,0,100,M,FA,KSB--50x0.step +KSB50-0x100MFB,50,0,100,M,FB,KSB--50x0.step +KSB50-0x100MCA,50,0,100,M,CA,KSB--50x0.step +KSB50-0x100MCB,50,0,100,M,CB,KSB--50x0.step +KSB50-0x100MLB,50,0,100,M,LB,KSB--50x0.step +KSB50-0x100MYB,50,0,100,M,YB,KSB--50x0.step +KSB50-10x0,50,10,0,,,KSB--50x10.step +KSB50-10x0FA,50,10,0,,FA,KSB--50x10.step +KSB50-10x0FB,50,10,0,,FB,KSB--50x10.step +KSB50-10x0CA,50,10,0,,CA,KSB--50x10.step +KSB50-10x0CB,50,10,0,,CB,KSB--50x10.step +KSB50-10x0LB,50,10,0,,LB,KSB--50x10.step +KSB50-10x0YB,50,10,0,,YB,KSB--50x10.step +KSB50-10x0M,50,10,0,M,,KSB--50x10.step +KSB50-10x0MFA,50,10,0,M,FA,KSB--50x10.step +KSB50-10x0MFB,50,10,0,M,FB,KSB--50x10.step +KSB50-10x0MCA,50,10,0,M,CA,KSB--50x10.step +KSB50-10x0MCB,50,10,0,M,CB,KSB--50x10.step +KSB50-10x0MLB,50,10,0,M,LB,KSB--50x10.step +KSB50-10x0MYB,50,10,0,M,YB,KSB--50x10.step +KSB50-10x10,50,10,10,,,KSB--50x10.step +KSB50-10x10FA,50,10,10,,FA,KSB--50x10.step +KSB50-10x10FB,50,10,10,,FB,KSB--50x10.step +KSB50-10x10CA,50,10,10,,CA,KSB--50x10.step +KSB50-10x10CB,50,10,10,,CB,KSB--50x10.step +KSB50-10x10LB,50,10,10,,LB,KSB--50x10.step +KSB50-10x10YB,50,10,10,,YB,KSB--50x10.step +KSB50-10x10M,50,10,10,M,,KSB--50x10.step +KSB50-10x10MFA,50,10,10,M,FA,KSB--50x10.step +KSB50-10x10MFB,50,10,10,M,FB,KSB--50x10.step +KSB50-10x10MCA,50,10,10,M,CA,KSB--50x10.step +KSB50-10x10MCB,50,10,10,M,CB,KSB--50x10.step +KSB50-10x10MLB,50,10,10,M,LB,KSB--50x10.step +KSB50-10x10MYB,50,10,10,M,YB,KSB--50x10.step +KSB50-10x20,50,10,20,,,KSB--50x10.step +KSB50-10x20FA,50,10,20,,FA,KSB--50x10.step +KSB50-10x20FB,50,10,20,,FB,KSB--50x10.step +KSB50-10x20CA,50,10,20,,CA,KSB--50x10.step +KSB50-10x20CB,50,10,20,,CB,KSB--50x10.step +KSB50-10x20LB,50,10,20,,LB,KSB--50x10.step +KSB50-10x20YB,50,10,20,,YB,KSB--50x10.step +KSB50-10x20M,50,10,20,M,,KSB--50x10.step +KSB50-10x20MFA,50,10,20,M,FA,KSB--50x10.step +KSB50-10x20MFB,50,10,20,M,FB,KSB--50x10.step +KSB50-10x20MCA,50,10,20,M,CA,KSB--50x10.step +KSB50-10x20MCB,50,10,20,M,CB,KSB--50x10.step +KSB50-10x20MLB,50,10,20,M,LB,KSB--50x10.step +KSB50-10x20MYB,50,10,20,M,YB,KSB--50x10.step +KSB50-10x30,50,10,30,,,KSB--50x10.step +KSB50-10x30FA,50,10,30,,FA,KSB--50x10.step +KSB50-10x30FB,50,10,30,,FB,KSB--50x10.step +KSB50-10x30CA,50,10,30,,CA,KSB--50x10.step +KSB50-10x30CB,50,10,30,,CB,KSB--50x10.step +KSB50-10x30LB,50,10,30,,LB,KSB--50x10.step +KSB50-10x30YB,50,10,30,,YB,KSB--50x10.step +KSB50-10x30M,50,10,30,M,,KSB--50x10.step +KSB50-10x30MFA,50,10,30,M,FA,KSB--50x10.step +KSB50-10x30MFB,50,10,30,M,FB,KSB--50x10.step +KSB50-10x30MCA,50,10,30,M,CA,KSB--50x10.step +KSB50-10x30MCB,50,10,30,M,CB,KSB--50x10.step +KSB50-10x30MLB,50,10,30,M,LB,KSB--50x10.step +KSB50-10x30MYB,50,10,30,M,YB,KSB--50x10.step +KSB50-10x50,50,10,50,,,KSB--50x10.step +KSB50-10x50FA,50,10,50,,FA,KSB--50x10.step +KSB50-10x50FB,50,10,50,,FB,KSB--50x10.step +KSB50-10x50CA,50,10,50,,CA,KSB--50x10.step +KSB50-10x50CB,50,10,50,,CB,KSB--50x10.step +KSB50-10x50LB,50,10,50,,LB,KSB--50x10.step +KSB50-10x50YB,50,10,50,,YB,KSB--50x10.step +KSB50-10x50M,50,10,50,M,,KSB--50x10.step +KSB50-10x50MFA,50,10,50,M,FA,KSB--50x10.step +KSB50-10x50MFB,50,10,50,M,FB,KSB--50x10.step +KSB50-10x50MCA,50,10,50,M,CA,KSB--50x10.step +KSB50-10x50MCB,50,10,50,M,CB,KSB--50x10.step +KSB50-10x50MLB,50,10,50,M,LB,KSB--50x10.step +KSB50-10x50MYB,50,10,50,M,YB,KSB--50x10.step +KSB50-10x75,50,10,75,,,KSB--50x10.step +KSB50-10x75FA,50,10,75,,FA,KSB--50x10.step +KSB50-10x75FB,50,10,75,,FB,KSB--50x10.step +KSB50-10x75CA,50,10,75,,CA,KSB--50x10.step +KSB50-10x75CB,50,10,75,,CB,KSB--50x10.step +KSB50-10x75LB,50,10,75,,LB,KSB--50x10.step +KSB50-10x75YB,50,10,75,,YB,KSB--50x10.step +KSB50-10x75M,50,10,75,M,,KSB--50x10.step +KSB50-10x75MFA,50,10,75,M,FA,KSB--50x10.step +KSB50-10x75MFB,50,10,75,M,FB,KSB--50x10.step +KSB50-10x75MCA,50,10,75,M,CA,KSB--50x10.step +KSB50-10x75MCB,50,10,75,M,CB,KSB--50x10.step +KSB50-10x75MLB,50,10,75,M,LB,KSB--50x10.step +KSB50-10x75MYB,50,10,75,M,YB,KSB--50x10.step +KSB50-10x100,50,10,100,,,KSB--50x10.step +KSB50-10x100FA,50,10,100,,FA,KSB--50x10.step +KSB50-10x100FB,50,10,100,,FB,KSB--50x10.step +KSB50-10x100CA,50,10,100,,CA,KSB--50x10.step +KSB50-10x100CB,50,10,100,,CB,KSB--50x10.step +KSB50-10x100LB,50,10,100,,LB,KSB--50x10.step +KSB50-10x100YB,50,10,100,,YB,KSB--50x10.step +KSB50-10x100M,50,10,100,M,,KSB--50x10.step +KSB50-10x100MFA,50,10,100,M,FA,KSB--50x10.step +KSB50-10x100MFB,50,10,100,M,FB,KSB--50x10.step +KSB50-10x100MCA,50,10,100,M,CA,KSB--50x10.step +KSB50-10x100MCB,50,10,100,M,CB,KSB--50x10.step +KSB50-10x100MLB,50,10,100,M,LB,KSB--50x10.step +KSB50-10x100MYB,50,10,100,M,YB,KSB--50x10.step +KSB50-20x0,50,20,0,,,KSB--50x20.step +KSB50-20x0FA,50,20,0,,FA,KSB--50x20.step +KSB50-20x0FB,50,20,0,,FB,KSB--50x20.step +KSB50-20x0CA,50,20,0,,CA,KSB--50x20.step +KSB50-20x0CB,50,20,0,,CB,KSB--50x20.step +KSB50-20x0LB,50,20,0,,LB,KSB--50x20.step +KSB50-20x0YB,50,20,0,,YB,KSB--50x20.step +KSB50-20x0M,50,20,0,M,,KSB--50x20.step +KSB50-20x0MFA,50,20,0,M,FA,KSB--50x20.step +KSB50-20x0MFB,50,20,0,M,FB,KSB--50x20.step +KSB50-20x0MCA,50,20,0,M,CA,KSB--50x20.step +KSB50-20x0MCB,50,20,0,M,CB,KSB--50x20.step +KSB50-20x0MLB,50,20,0,M,LB,KSB--50x20.step +KSB50-20x0MYB,50,20,0,M,YB,KSB--50x20.step +KSB50-20x10,50,20,10,,,KSB--50x20.step +KSB50-20x10FA,50,20,10,,FA,KSB--50x20.step +KSB50-20x10FB,50,20,10,,FB,KSB--50x20.step +KSB50-20x10CA,50,20,10,,CA,KSB--50x20.step +KSB50-20x10CB,50,20,10,,CB,KSB--50x20.step +KSB50-20x10LB,50,20,10,,LB,KSB--50x20.step +KSB50-20x10YB,50,20,10,,YB,KSB--50x20.step +KSB50-20x10M,50,20,10,M,,KSB--50x20.step +KSB50-20x10MFA,50,20,10,M,FA,KSB--50x20.step +KSB50-20x10MFB,50,20,10,M,FB,KSB--50x20.step +KSB50-20x10MCA,50,20,10,M,CA,KSB--50x20.step +KSB50-20x10MCB,50,20,10,M,CB,KSB--50x20.step +KSB50-20x10MLB,50,20,10,M,LB,KSB--50x20.step +KSB50-20x10MYB,50,20,10,M,YB,KSB--50x20.step +KSB50-20x20,50,20,20,,,KSB--50x20.step +KSB50-20x20FA,50,20,20,,FA,KSB--50x20.step +KSB50-20x20FB,50,20,20,,FB,KSB--50x20.step +KSB50-20x20CA,50,20,20,,CA,KSB--50x20.step +KSB50-20x20CB,50,20,20,,CB,KSB--50x20.step +KSB50-20x20LB,50,20,20,,LB,KSB--50x20.step +KSB50-20x20YB,50,20,20,,YB,KSB--50x20.step +KSB50-20x20M,50,20,20,M,,KSB--50x20.step +KSB50-20x20MFA,50,20,20,M,FA,KSB--50x20.step +KSB50-20x20MFB,50,20,20,M,FB,KSB--50x20.step +KSB50-20x20MCA,50,20,20,M,CA,KSB--50x20.step +KSB50-20x20MCB,50,20,20,M,CB,KSB--50x20.step +KSB50-20x20MLB,50,20,20,M,LB,KSB--50x20.step +KSB50-20x20MYB,50,20,20,M,YB,KSB--50x20.step +KSB50-20x30,50,20,30,,,KSB--50x20.step +KSB50-20x30FA,50,20,30,,FA,KSB--50x20.step +KSB50-20x30FB,50,20,30,,FB,KSB--50x20.step +KSB50-20x30CA,50,20,30,,CA,KSB--50x20.step +KSB50-20x30CB,50,20,30,,CB,KSB--50x20.step +KSB50-20x30LB,50,20,30,,LB,KSB--50x20.step +KSB50-20x30YB,50,20,30,,YB,KSB--50x20.step +KSB50-20x30M,50,20,30,M,,KSB--50x20.step +KSB50-20x30MFA,50,20,30,M,FA,KSB--50x20.step +KSB50-20x30MFB,50,20,30,M,FB,KSB--50x20.step +KSB50-20x30MCA,50,20,30,M,CA,KSB--50x20.step +KSB50-20x30MCB,50,20,30,M,CB,KSB--50x20.step +KSB50-20x30MLB,50,20,30,M,LB,KSB--50x20.step +KSB50-20x30MYB,50,20,30,M,YB,KSB--50x20.step +KSB50-20x50,50,20,50,,,KSB--50x20.step +KSB50-20x50FA,50,20,50,,FA,KSB--50x20.step +KSB50-20x50FB,50,20,50,,FB,KSB--50x20.step +KSB50-20x50CA,50,20,50,,CA,KSB--50x20.step +KSB50-20x50CB,50,20,50,,CB,KSB--50x20.step +KSB50-20x50LB,50,20,50,,LB,KSB--50x20.step +KSB50-20x50YB,50,20,50,,YB,KSB--50x20.step +KSB50-20x50M,50,20,50,M,,KSB--50x20.step +KSB50-20x50MFA,50,20,50,M,FA,KSB--50x20.step +KSB50-20x50MFB,50,20,50,M,FB,KSB--50x20.step +KSB50-20x50MCA,50,20,50,M,CA,KSB--50x20.step +KSB50-20x50MCB,50,20,50,M,CB,KSB--50x20.step +KSB50-20x50MLB,50,20,50,M,LB,KSB--50x20.step +KSB50-20x50MYB,50,20,50,M,YB,KSB--50x20.step +KSB50-20x75,50,20,75,,,KSB--50x20.step +KSB50-20x75FA,50,20,75,,FA,KSB--50x20.step +KSB50-20x75FB,50,20,75,,FB,KSB--50x20.step +KSB50-20x75CA,50,20,75,,CA,KSB--50x20.step +KSB50-20x75CB,50,20,75,,CB,KSB--50x20.step +KSB50-20x75LB,50,20,75,,LB,KSB--50x20.step +KSB50-20x75YB,50,20,75,,YB,KSB--50x20.step +KSB50-20x75M,50,20,75,M,,KSB--50x20.step +KSB50-20x75MFA,50,20,75,M,FA,KSB--50x20.step +KSB50-20x75MFB,50,20,75,M,FB,KSB--50x20.step +KSB50-20x75MCA,50,20,75,M,CA,KSB--50x20.step +KSB50-20x75MCB,50,20,75,M,CB,KSB--50x20.step +KSB50-20x75MLB,50,20,75,M,LB,KSB--50x20.step +KSB50-20x75MYB,50,20,75,M,YB,KSB--50x20.step +KSB50-20x100,50,20,100,,,KSB--50x20.step +KSB50-20x100FA,50,20,100,,FA,KSB--50x20.step +KSB50-20x100FB,50,20,100,,FB,KSB--50x20.step +KSB50-20x100CA,50,20,100,,CA,KSB--50x20.step +KSB50-20x100CB,50,20,100,,CB,KSB--50x20.step +KSB50-20x100LB,50,20,100,,LB,KSB--50x20.step +KSB50-20x100YB,50,20,100,,YB,KSB--50x20.step +KSB50-20x100M,50,20,100,M,,KSB--50x20.step +KSB50-20x100MFA,50,20,100,M,FA,KSB--50x20.step +KSB50-20x100MFB,50,20,100,M,FB,KSB--50x20.step +KSB50-20x100MCA,50,20,100,M,CA,KSB--50x20.step +KSB50-20x100MCB,50,20,100,M,CB,KSB--50x20.step +KSB50-20x100MLB,50,20,100,M,LB,KSB--50x20.step +KSB50-20x100MYB,50,20,100,M,YB,KSB--50x20.step +KSB50-30x0,50,30,0,,,KSB--50x30.step +KSB50-30x0FA,50,30,0,,FA,KSB--50x30.step +KSB50-30x0FB,50,30,0,,FB,KSB--50x30.step +KSB50-30x0CA,50,30,0,,CA,KSB--50x30.step +KSB50-30x0CB,50,30,0,,CB,KSB--50x30.step +KSB50-30x0LB,50,30,0,,LB,KSB--50x30.step +KSB50-30x0YB,50,30,0,,YB,KSB--50x30.step +KSB50-30x0M,50,30,0,M,,KSB--50x30.step +KSB50-30x0MFA,50,30,0,M,FA,KSB--50x30.step +KSB50-30x0MFB,50,30,0,M,FB,KSB--50x30.step +KSB50-30x0MCA,50,30,0,M,CA,KSB--50x30.step +KSB50-30x0MCB,50,30,0,M,CB,KSB--50x30.step +KSB50-30x0MLB,50,30,0,M,LB,KSB--50x30.step +KSB50-30x0MYB,50,30,0,M,YB,KSB--50x30.step +KSB50-30x10,50,30,10,,,KSB--50x30.step +KSB50-30x10FA,50,30,10,,FA,KSB--50x30.step +KSB50-30x10FB,50,30,10,,FB,KSB--50x30.step +KSB50-30x10CA,50,30,10,,CA,KSB--50x30.step +KSB50-30x10CB,50,30,10,,CB,KSB--50x30.step +KSB50-30x10LB,50,30,10,,LB,KSB--50x30.step +KSB50-30x10YB,50,30,10,,YB,KSB--50x30.step +KSB50-30x10M,50,30,10,M,,KSB--50x30.step +KSB50-30x10MFA,50,30,10,M,FA,KSB--50x30.step +KSB50-30x10MFB,50,30,10,M,FB,KSB--50x30.step +KSB50-30x10MCA,50,30,10,M,CA,KSB--50x30.step +KSB50-30x10MCB,50,30,10,M,CB,KSB--50x30.step +KSB50-30x10MLB,50,30,10,M,LB,KSB--50x30.step +KSB50-30x10MYB,50,30,10,M,YB,KSB--50x30.step +KSB50-30x20,50,30,20,,,KSB--50x30.step +KSB50-30x20FA,50,30,20,,FA,KSB--50x30.step +KSB50-30x20FB,50,30,20,,FB,KSB--50x30.step +KSB50-30x20CA,50,30,20,,CA,KSB--50x30.step +KSB50-30x20CB,50,30,20,,CB,KSB--50x30.step +KSB50-30x20LB,50,30,20,,LB,KSB--50x30.step +KSB50-30x20YB,50,30,20,,YB,KSB--50x30.step +KSB50-30x20M,50,30,20,M,,KSB--50x30.step +KSB50-30x20MFA,50,30,20,M,FA,KSB--50x30.step +KSB50-30x20MFB,50,30,20,M,FB,KSB--50x30.step +KSB50-30x20MCA,50,30,20,M,CA,KSB--50x30.step +KSB50-30x20MCB,50,30,20,M,CB,KSB--50x30.step +KSB50-30x20MLB,50,30,20,M,LB,KSB--50x30.step +KSB50-30x20MYB,50,30,20,M,YB,KSB--50x30.step +KSB50-30x30,50,30,30,,,KSB--50x30.step +KSB50-30x30FA,50,30,30,,FA,KSB--50x30.step +KSB50-30x30FB,50,30,30,,FB,KSB--50x30.step +KSB50-30x30CA,50,30,30,,CA,KSB--50x30.step +KSB50-30x30CB,50,30,30,,CB,KSB--50x30.step +KSB50-30x30LB,50,30,30,,LB,KSB--50x30.step +KSB50-30x30YB,50,30,30,,YB,KSB--50x30.step +KSB50-30x30M,50,30,30,M,,KSB--50x30.step +KSB50-30x30MFA,50,30,30,M,FA,KSB--50x30.step +KSB50-30x30MFB,50,30,30,M,FB,KSB--50x30.step +KSB50-30x30MCA,50,30,30,M,CA,KSB--50x30.step +KSB50-30x30MCB,50,30,30,M,CB,KSB--50x30.step +KSB50-30x30MLB,50,30,30,M,LB,KSB--50x30.step +KSB50-30x30MYB,50,30,30,M,YB,KSB--50x30.step +KSB50-30x50,50,30,50,,,KSB--50x30.step +KSB50-30x50FA,50,30,50,,FA,KSB--50x30.step +KSB50-30x50FB,50,30,50,,FB,KSB--50x30.step +KSB50-30x50CA,50,30,50,,CA,KSB--50x30.step +KSB50-30x50CB,50,30,50,,CB,KSB--50x30.step +KSB50-30x50LB,50,30,50,,LB,KSB--50x30.step +KSB50-30x50YB,50,30,50,,YB,KSB--50x30.step +KSB50-30x50M,50,30,50,M,,KSB--50x30.step +KSB50-30x50MFA,50,30,50,M,FA,KSB--50x30.step +KSB50-30x50MFB,50,30,50,M,FB,KSB--50x30.step +KSB50-30x50MCA,50,30,50,M,CA,KSB--50x30.step +KSB50-30x50MCB,50,30,50,M,CB,KSB--50x30.step +KSB50-30x50MLB,50,30,50,M,LB,KSB--50x30.step +KSB50-30x50MYB,50,30,50,M,YB,KSB--50x30.step +KSB50-30x75,50,30,75,,,KSB--50x30.step +KSB50-30x75FA,50,30,75,,FA,KSB--50x30.step +KSB50-30x75FB,50,30,75,,FB,KSB--50x30.step +KSB50-30x75CA,50,30,75,,CA,KSB--50x30.step +KSB50-30x75CB,50,30,75,,CB,KSB--50x30.step +KSB50-30x75LB,50,30,75,,LB,KSB--50x30.step +KSB50-30x75YB,50,30,75,,YB,KSB--50x30.step +KSB50-30x75M,50,30,75,M,,KSB--50x30.step +KSB50-30x75MFA,50,30,75,M,FA,KSB--50x30.step +KSB50-30x75MFB,50,30,75,M,FB,KSB--50x30.step +KSB50-30x75MCA,50,30,75,M,CA,KSB--50x30.step +KSB50-30x75MCB,50,30,75,M,CB,KSB--50x30.step +KSB50-30x75MLB,50,30,75,M,LB,KSB--50x30.step +KSB50-30x75MYB,50,30,75,M,YB,KSB--50x30.step +KSB50-30x100,50,30,100,,,KSB--50x30.step +KSB50-30x100FA,50,30,100,,FA,KSB--50x30.step +KSB50-30x100FB,50,30,100,,FB,KSB--50x30.step +KSB50-30x100CA,50,30,100,,CA,KSB--50x30.step +KSB50-30x100CB,50,30,100,,CB,KSB--50x30.step +KSB50-30x100LB,50,30,100,,LB,KSB--50x30.step +KSB50-30x100YB,50,30,100,,YB,KSB--50x30.step +KSB50-30x100M,50,30,100,M,,KSB--50x30.step +KSB50-30x100MFA,50,30,100,M,FA,KSB--50x30.step +KSB50-30x100MFB,50,30,100,M,FB,KSB--50x30.step +KSB50-30x100MCA,50,30,100,M,CA,KSB--50x30.step +KSB50-30x100MCB,50,30,100,M,CB,KSB--50x30.step +KSB50-30x100MLB,50,30,100,M,LB,KSB--50x30.step +KSB50-30x100MYB,50,30,100,M,YB,KSB--50x30.step +KSB50-50x0,50,50,0,,,KSB--50x50.step +KSB50-50x0FA,50,50,0,,FA,KSB--50x50.step +KSB50-50x0FB,50,50,0,,FB,KSB--50x50.step +KSB50-50x0CA,50,50,0,,CA,KSB--50x50.step +KSB50-50x0CB,50,50,0,,CB,KSB--50x50.step +KSB50-50x0LB,50,50,0,,LB,KSB--50x50.step +KSB50-50x0YB,50,50,0,,YB,KSB--50x50.step +KSB50-50x0M,50,50,0,M,,KSB--50x50.step +KSB50-50x0MFA,50,50,0,M,FA,KSB--50x50.step +KSB50-50x0MFB,50,50,0,M,FB,KSB--50x50.step +KSB50-50x0MCA,50,50,0,M,CA,KSB--50x50.step +KSB50-50x0MCB,50,50,0,M,CB,KSB--50x50.step +KSB50-50x0MLB,50,50,0,M,LB,KSB--50x50.step +KSB50-50x0MYB,50,50,0,M,YB,KSB--50x50.step +KSB50-50x10,50,50,10,,,KSB--50x50.step +KSB50-50x10FA,50,50,10,,FA,KSB--50x50.step +KSB50-50x10FB,50,50,10,,FB,KSB--50x50.step +KSB50-50x10CA,50,50,10,,CA,KSB--50x50.step +KSB50-50x10CB,50,50,10,,CB,KSB--50x50.step +KSB50-50x10LB,50,50,10,,LB,KSB--50x50.step +KSB50-50x10YB,50,50,10,,YB,KSB--50x50.step +KSB50-50x10M,50,50,10,M,,KSB--50x50.step +KSB50-50x10MFA,50,50,10,M,FA,KSB--50x50.step +KSB50-50x10MFB,50,50,10,M,FB,KSB--50x50.step +KSB50-50x10MCA,50,50,10,M,CA,KSB--50x50.step +KSB50-50x10MCB,50,50,10,M,CB,KSB--50x50.step +KSB50-50x10MLB,50,50,10,M,LB,KSB--50x50.step +KSB50-50x10MYB,50,50,10,M,YB,KSB--50x50.step +KSB50-50x20,50,50,20,,,KSB--50x50.step +KSB50-50x20FA,50,50,20,,FA,KSB--50x50.step +KSB50-50x20FB,50,50,20,,FB,KSB--50x50.step +KSB50-50x20CA,50,50,20,,CA,KSB--50x50.step +KSB50-50x20CB,50,50,20,,CB,KSB--50x50.step +KSB50-50x20LB,50,50,20,,LB,KSB--50x50.step +KSB50-50x20YB,50,50,20,,YB,KSB--50x50.step +KSB50-50x20M,50,50,20,M,,KSB--50x50.step +KSB50-50x20MFA,50,50,20,M,FA,KSB--50x50.step +KSB50-50x20MFB,50,50,20,M,FB,KSB--50x50.step +KSB50-50x20MCA,50,50,20,M,CA,KSB--50x50.step +KSB50-50x20MCB,50,50,20,M,CB,KSB--50x50.step +KSB50-50x20MLB,50,50,20,M,LB,KSB--50x50.step +KSB50-50x20MYB,50,50,20,M,YB,KSB--50x50.step +KSB50-50x30,50,50,30,,,KSB--50x50.step +KSB50-50x30FA,50,50,30,,FA,KSB--50x50.step +KSB50-50x30FB,50,50,30,,FB,KSB--50x50.step +KSB50-50x30CA,50,50,30,,CA,KSB--50x50.step +KSB50-50x30CB,50,50,30,,CB,KSB--50x50.step +KSB50-50x30LB,50,50,30,,LB,KSB--50x50.step +KSB50-50x30YB,50,50,30,,YB,KSB--50x50.step +KSB50-50x30M,50,50,30,M,,KSB--50x50.step +KSB50-50x30MFA,50,50,30,M,FA,KSB--50x50.step +KSB50-50x30MFB,50,50,30,M,FB,KSB--50x50.step +KSB50-50x30MCA,50,50,30,M,CA,KSB--50x50.step +KSB50-50x30MCB,50,50,30,M,CB,KSB--50x50.step +KSB50-50x30MLB,50,50,30,M,LB,KSB--50x50.step +KSB50-50x30MYB,50,50,30,M,YB,KSB--50x50.step +KSB50-50x50,50,50,50,,,KSB--50x50.step +KSB50-50x50FA,50,50,50,,FA,KSB--50x50.step +KSB50-50x50FB,50,50,50,,FB,KSB--50x50.step +KSB50-50x50CA,50,50,50,,CA,KSB--50x50.step +KSB50-50x50CB,50,50,50,,CB,KSB--50x50.step +KSB50-50x50LB,50,50,50,,LB,KSB--50x50.step +KSB50-50x50YB,50,50,50,,YB,KSB--50x50.step +KSB50-50x50M,50,50,50,M,,KSB--50x50.step +KSB50-50x50MFA,50,50,50,M,FA,KSB--50x50.step +KSB50-50x50MFB,50,50,50,M,FB,KSB--50x50.step +KSB50-50x50MCA,50,50,50,M,CA,KSB--50x50.step +KSB50-50x50MCB,50,50,50,M,CB,KSB--50x50.step +KSB50-50x50MLB,50,50,50,M,LB,KSB--50x50.step +KSB50-50x50MYB,50,50,50,M,YB,KSB--50x50.step +KSB50-50x75,50,50,75,,,KSB--50x50.step +KSB50-50x75FA,50,50,75,,FA,KSB--50x50.step +KSB50-50x75FB,50,50,75,,FB,KSB--50x50.step +KSB50-50x75CA,50,50,75,,CA,KSB--50x50.step +KSB50-50x75CB,50,50,75,,CB,KSB--50x50.step +KSB50-50x75LB,50,50,75,,LB,KSB--50x50.step +KSB50-50x75YB,50,50,75,,YB,KSB--50x50.step +KSB50-50x75M,50,50,75,M,,KSB--50x50.step +KSB50-50x75MFA,50,50,75,M,FA,KSB--50x50.step +KSB50-50x75MFB,50,50,75,M,FB,KSB--50x50.step +KSB50-50x75MCA,50,50,75,M,CA,KSB--50x50.step +KSB50-50x75MCB,50,50,75,M,CB,KSB--50x50.step +KSB50-50x75MLB,50,50,75,M,LB,KSB--50x50.step +KSB50-50x75MYB,50,50,75,M,YB,KSB--50x50.step +KSB50-50x100,50,50,100,,,KSB--50x50.step +KSB50-50x100FA,50,50,100,,FA,KSB--50x50.step +KSB50-50x100FB,50,50,100,,FB,KSB--50x50.step +KSB50-50x100CA,50,50,100,,CA,KSB--50x50.step +KSB50-50x100CB,50,50,100,,CB,KSB--50x50.step +KSB50-50x100LB,50,50,100,,LB,KSB--50x50.step +KSB50-50x100YB,50,50,100,,YB,KSB--50x50.step +KSB50-50x100M,50,50,100,M,,KSB--50x50.step +KSB50-50x100MFA,50,50,100,M,FA,KSB--50x50.step +KSB50-50x100MFB,50,50,100,M,FB,KSB--50x50.step +KSB50-50x100MCA,50,50,100,M,CA,KSB--50x50.step +KSB50-50x100MCB,50,50,100,M,CB,KSB--50x50.step +KSB50-50x100MLB,50,50,100,M,LB,KSB--50x50.step +KSB50-50x100MYB,50,50,100,M,YB,KSB--50x50.step +KSB50-75x0,50,75,0,,,KSB--50x75.step +KSB50-75x0FA,50,75,0,,FA,KSB--50x75.step +KSB50-75x0FB,50,75,0,,FB,KSB--50x75.step +KSB50-75x0CA,50,75,0,,CA,KSB--50x75.step +KSB50-75x0CB,50,75,0,,CB,KSB--50x75.step +KSB50-75x0LB,50,75,0,,LB,KSB--50x75.step +KSB50-75x0YB,50,75,0,,YB,KSB--50x75.step +KSB50-75x0M,50,75,0,M,,KSB--50x75.step +KSB50-75x0MFA,50,75,0,M,FA,KSB--50x75.step +KSB50-75x0MFB,50,75,0,M,FB,KSB--50x75.step +KSB50-75x0MCA,50,75,0,M,CA,KSB--50x75.step +KSB50-75x0MCB,50,75,0,M,CB,KSB--50x75.step +KSB50-75x0MLB,50,75,0,M,LB,KSB--50x75.step +KSB50-75x0MYB,50,75,0,M,YB,KSB--50x75.step +KSB50-75x10,50,75,10,,,KSB--50x75.step +KSB50-75x10FA,50,75,10,,FA,KSB--50x75.step +KSB50-75x10FB,50,75,10,,FB,KSB--50x75.step +KSB50-75x10CA,50,75,10,,CA,KSB--50x75.step +KSB50-75x10CB,50,75,10,,CB,KSB--50x75.step +KSB50-75x10LB,50,75,10,,LB,KSB--50x75.step +KSB50-75x10YB,50,75,10,,YB,KSB--50x75.step +KSB50-75x10M,50,75,10,M,,KSB--50x75.step +KSB50-75x10MFA,50,75,10,M,FA,KSB--50x75.step +KSB50-75x10MFB,50,75,10,M,FB,KSB--50x75.step +KSB50-75x10MCA,50,75,10,M,CA,KSB--50x75.step +KSB50-75x10MCB,50,75,10,M,CB,KSB--50x75.step +KSB50-75x10MLB,50,75,10,M,LB,KSB--50x75.step +KSB50-75x10MYB,50,75,10,M,YB,KSB--50x75.step +KSB50-75x20,50,75,20,,,KSB--50x75.step +KSB50-75x20FA,50,75,20,,FA,KSB--50x75.step +KSB50-75x20FB,50,75,20,,FB,KSB--50x75.step +KSB50-75x20CA,50,75,20,,CA,KSB--50x75.step +KSB50-75x20CB,50,75,20,,CB,KSB--50x75.step +KSB50-75x20LB,50,75,20,,LB,KSB--50x75.step +KSB50-75x20YB,50,75,20,,YB,KSB--50x75.step +KSB50-75x20M,50,75,20,M,,KSB--50x75.step +KSB50-75x20MFA,50,75,20,M,FA,KSB--50x75.step +KSB50-75x20MFB,50,75,20,M,FB,KSB--50x75.step +KSB50-75x20MCA,50,75,20,M,CA,KSB--50x75.step +KSB50-75x20MCB,50,75,20,M,CB,KSB--50x75.step +KSB50-75x20MLB,50,75,20,M,LB,KSB--50x75.step +KSB50-75x20MYB,50,75,20,M,YB,KSB--50x75.step +KSB50-75x30,50,75,30,,,KSB--50x75.step +KSB50-75x30FA,50,75,30,,FA,KSB--50x75.step +KSB50-75x30FB,50,75,30,,FB,KSB--50x75.step +KSB50-75x30CA,50,75,30,,CA,KSB--50x75.step +KSB50-75x30CB,50,75,30,,CB,KSB--50x75.step +KSB50-75x30LB,50,75,30,,LB,KSB--50x75.step +KSB50-75x30YB,50,75,30,,YB,KSB--50x75.step +KSB50-75x30M,50,75,30,M,,KSB--50x75.step +KSB50-75x30MFA,50,75,30,M,FA,KSB--50x75.step +KSB50-75x30MFB,50,75,30,M,FB,KSB--50x75.step +KSB50-75x30MCA,50,75,30,M,CA,KSB--50x75.step +KSB50-75x30MCB,50,75,30,M,CB,KSB--50x75.step +KSB50-75x30MLB,50,75,30,M,LB,KSB--50x75.step +KSB50-75x30MYB,50,75,30,M,YB,KSB--50x75.step +KSB50-75x50,50,75,50,,,KSB--50x75.step +KSB50-75x50FA,50,75,50,,FA,KSB--50x75.step +KSB50-75x50FB,50,75,50,,FB,KSB--50x75.step +KSB50-75x50CA,50,75,50,,CA,KSB--50x75.step +KSB50-75x50CB,50,75,50,,CB,KSB--50x75.step +KSB50-75x50LB,50,75,50,,LB,KSB--50x75.step +KSB50-75x50YB,50,75,50,,YB,KSB--50x75.step +KSB50-75x50M,50,75,50,M,,KSB--50x75.step +KSB50-75x50MFA,50,75,50,M,FA,KSB--50x75.step +KSB50-75x50MFB,50,75,50,M,FB,KSB--50x75.step +KSB50-75x50MCA,50,75,50,M,CA,KSB--50x75.step +KSB50-75x50MCB,50,75,50,M,CB,KSB--50x75.step +KSB50-75x50MLB,50,75,50,M,LB,KSB--50x75.step +KSB50-75x50MYB,50,75,50,M,YB,KSB--50x75.step +KSB50-75x75,50,75,75,,,KSB--50x75.step +KSB50-75x75FA,50,75,75,,FA,KSB--50x75.step +KSB50-75x75FB,50,75,75,,FB,KSB--50x75.step +KSB50-75x75CA,50,75,75,,CA,KSB--50x75.step +KSB50-75x75CB,50,75,75,,CB,KSB--50x75.step +KSB50-75x75LB,50,75,75,,LB,KSB--50x75.step +KSB50-75x75YB,50,75,75,,YB,KSB--50x75.step +KSB50-75x75M,50,75,75,M,,KSB--50x75.step +KSB50-75x75MFA,50,75,75,M,FA,KSB--50x75.step +KSB50-75x75MFB,50,75,75,M,FB,KSB--50x75.step +KSB50-75x75MCA,50,75,75,M,CA,KSB--50x75.step +KSB50-75x75MCB,50,75,75,M,CB,KSB--50x75.step +KSB50-75x75MLB,50,75,75,M,LB,KSB--50x75.step +KSB50-75x75MYB,50,75,75,M,YB,KSB--50x75.step +KSB50-75x100,50,75,100,,,KSB--50x75.step +KSB50-75x100FA,50,75,100,,FA,KSB--50x75.step +KSB50-75x100FB,50,75,100,,FB,KSB--50x75.step +KSB50-75x100CA,50,75,100,,CA,KSB--50x75.step +KSB50-75x100CB,50,75,100,,CB,KSB--50x75.step +KSB50-75x100LB,50,75,100,,LB,KSB--50x75.step +KSB50-75x100YB,50,75,100,,YB,KSB--50x75.step +KSB50-75x100M,50,75,100,M,,KSB--50x75.step +KSB50-75x100MFA,50,75,100,M,FA,KSB--50x75.step +KSB50-75x100MFB,50,75,100,M,FB,KSB--50x75.step +KSB50-75x100MCA,50,75,100,M,CA,KSB--50x75.step +KSB50-75x100MCB,50,75,100,M,CB,KSB--50x75.step +KSB50-75x100MLB,50,75,100,M,LB,KSB--50x75.step +KSB50-75x100MYB,50,75,100,M,YB,KSB--50x75.step +KSB50-100x0,50,100,0,,,KSB--50x100.step +KSB50-100x0FA,50,100,0,,FA,KSB--50x100.step +KSB50-100x0FB,50,100,0,,FB,KSB--50x100.step +KSB50-100x0CA,50,100,0,,CA,KSB--50x100.step +KSB50-100x0CB,50,100,0,,CB,KSB--50x100.step +KSB50-100x0LB,50,100,0,,LB,KSB--50x100.step +KSB50-100x0YB,50,100,0,,YB,KSB--50x100.step +KSB50-100x0M,50,100,0,M,,KSB--50x100.step +KSB50-100x0MFA,50,100,0,M,FA,KSB--50x100.step +KSB50-100x0MFB,50,100,0,M,FB,KSB--50x100.step +KSB50-100x0MCA,50,100,0,M,CA,KSB--50x100.step +KSB50-100x0MCB,50,100,0,M,CB,KSB--50x100.step +KSB50-100x0MLB,50,100,0,M,LB,KSB--50x100.step +KSB50-100x0MYB,50,100,0,M,YB,KSB--50x100.step +KSB50-100x10,50,100,10,,,KSB--50x100.step +KSB50-100x10FA,50,100,10,,FA,KSB--50x100.step +KSB50-100x10FB,50,100,10,,FB,KSB--50x100.step +KSB50-100x10CA,50,100,10,,CA,KSB--50x100.step +KSB50-100x10CB,50,100,10,,CB,KSB--50x100.step +KSB50-100x10LB,50,100,10,,LB,KSB--50x100.step +KSB50-100x10YB,50,100,10,,YB,KSB--50x100.step +KSB50-100x10M,50,100,10,M,,KSB--50x100.step +KSB50-100x10MFA,50,100,10,M,FA,KSB--50x100.step +KSB50-100x10MFB,50,100,10,M,FB,KSB--50x100.step +KSB50-100x10MCA,50,100,10,M,CA,KSB--50x100.step +KSB50-100x10MCB,50,100,10,M,CB,KSB--50x100.step +KSB50-100x10MLB,50,100,10,M,LB,KSB--50x100.step +KSB50-100x10MYB,50,100,10,M,YB,KSB--50x100.step +KSB50-100x20,50,100,20,,,KSB--50x100.step +KSB50-100x20FA,50,100,20,,FA,KSB--50x100.step +KSB50-100x20FB,50,100,20,,FB,KSB--50x100.step +KSB50-100x20CA,50,100,20,,CA,KSB--50x100.step +KSB50-100x20CB,50,100,20,,CB,KSB--50x100.step +KSB50-100x20LB,50,100,20,,LB,KSB--50x100.step +KSB50-100x20YB,50,100,20,,YB,KSB--50x100.step +KSB50-100x20M,50,100,20,M,,KSB--50x100.step +KSB50-100x20MFA,50,100,20,M,FA,KSB--50x100.step +KSB50-100x20MFB,50,100,20,M,FB,KSB--50x100.step +KSB50-100x20MCA,50,100,20,M,CA,KSB--50x100.step +KSB50-100x20MCB,50,100,20,M,CB,KSB--50x100.step +KSB50-100x20MLB,50,100,20,M,LB,KSB--50x100.step +KSB50-100x20MYB,50,100,20,M,YB,KSB--50x100.step +KSB50-100x30,50,100,30,,,KSB--50x100.step +KSB50-100x30FA,50,100,30,,FA,KSB--50x100.step +KSB50-100x30FB,50,100,30,,FB,KSB--50x100.step +KSB50-100x30CA,50,100,30,,CA,KSB--50x100.step +KSB50-100x30CB,50,100,30,,CB,KSB--50x100.step +KSB50-100x30LB,50,100,30,,LB,KSB--50x100.step +KSB50-100x30YB,50,100,30,,YB,KSB--50x100.step +KSB50-100x30M,50,100,30,M,,KSB--50x100.step +KSB50-100x30MFA,50,100,30,M,FA,KSB--50x100.step +KSB50-100x30MFB,50,100,30,M,FB,KSB--50x100.step +KSB50-100x30MCA,50,100,30,M,CA,KSB--50x100.step +KSB50-100x30MCB,50,100,30,M,CB,KSB--50x100.step +KSB50-100x30MLB,50,100,30,M,LB,KSB--50x100.step +KSB50-100x30MYB,50,100,30,M,YB,KSB--50x100.step +KSB50-100x50,50,100,50,,,KSB--50x100.step +KSB50-100x50FA,50,100,50,,FA,KSB--50x100.step +KSB50-100x50FB,50,100,50,,FB,KSB--50x100.step +KSB50-100x50CA,50,100,50,,CA,KSB--50x100.step +KSB50-100x50CB,50,100,50,,CB,KSB--50x100.step +KSB50-100x50LB,50,100,50,,LB,KSB--50x100.step +KSB50-100x50YB,50,100,50,,YB,KSB--50x100.step +KSB50-100x50M,50,100,50,M,,KSB--50x100.step +KSB50-100x50MFA,50,100,50,M,FA,KSB--50x100.step +KSB50-100x50MFB,50,100,50,M,FB,KSB--50x100.step +KSB50-100x50MCA,50,100,50,M,CA,KSB--50x100.step +KSB50-100x50MCB,50,100,50,M,CB,KSB--50x100.step +KSB50-100x50MLB,50,100,50,M,LB,KSB--50x100.step +KSB50-100x50MYB,50,100,50,M,YB,KSB--50x100.step +KSB50-100x75,50,100,75,,,KSB--50x100.step +KSB50-100x75FA,50,100,75,,FA,KSB--50x100.step +KSB50-100x75FB,50,100,75,,FB,KSB--50x100.step +KSB50-100x75CA,50,100,75,,CA,KSB--50x100.step +KSB50-100x75CB,50,100,75,,CB,KSB--50x100.step +KSB50-100x75LB,50,100,75,,LB,KSB--50x100.step +KSB50-100x75YB,50,100,75,,YB,KSB--50x100.step +KSB50-100x75M,50,100,75,M,,KSB--50x100.step +KSB50-100x75MFA,50,100,75,M,FA,KSB--50x100.step +KSB50-100x75MFB,50,100,75,M,FB,KSB--50x100.step +KSB50-100x75MCA,50,100,75,M,CA,KSB--50x100.step +KSB50-100x75MCB,50,100,75,M,CB,KSB--50x100.step +KSB50-100x75MLB,50,100,75,M,LB,KSB--50x100.step +KSB50-100x75MYB,50,100,75,M,YB,KSB--50x100.step +KSB50-100x100,50,100,100,,,KSB--50x100.step +KSB50-100x100FA,50,100,100,,FA,KSB--50x100.step +KSB50-100x100FB,50,100,100,,FB,KSB--50x100.step +KSB50-100x100CA,50,100,100,,CA,KSB--50x100.step +KSB50-100x100CB,50,100,100,,CB,KSB--50x100.step +KSB50-100x100LB,50,100,100,,LB,KSB--50x100.step +KSB50-100x100YB,50,100,100,,YB,KSB--50x100.step +KSB50-100x100M,50,100,100,M,,KSB--50x100.step +KSB50-100x100MFA,50,100,100,M,FA,KSB--50x100.step +KSB50-100x100MFB,50,100,100,M,FB,KSB--50x100.step +KSB50-100x100MCA,50,100,100,M,CA,KSB--50x100.step +KSB50-100x100MCB,50,100,100,M,CB,KSB--50x100.step +KSB50-100x100MLB,50,100,100,M,LB,KSB--50x100.step +KSB50-100x100MYB,50,100,100,M,YB,KSB--50x100.step +KSB63-0x0,63,0,0,,,KSB--63x0.step +KSB63-0x0FA,63,0,0,,FA,KSB--63x0.step +KSB63-0x0FB,63,0,0,,FB,KSB--63x0.step +KSB63-0x0CA,63,0,0,,CA,KSB--63x0.step +KSB63-0x0CB,63,0,0,,CB,KSB--63x0.step +KSB63-0x0LB,63,0,0,,LB,KSB--63x0.step +KSB63-0x0YB,63,0,0,,YB,KSB--63x0.step +KSB63-0x0M,63,0,0,M,,KSB--63x0.step +KSB63-0x0MFA,63,0,0,M,FA,KSB--63x0.step +KSB63-0x0MFB,63,0,0,M,FB,KSB--63x0.step +KSB63-0x0MCA,63,0,0,M,CA,KSB--63x0.step +KSB63-0x0MCB,63,0,0,M,CB,KSB--63x0.step +KSB63-0x0MLB,63,0,0,M,LB,KSB--63x0.step +KSB63-0x0MYB,63,0,0,M,YB,KSB--63x0.step +KSB63-0x10,63,0,10,,,KSB--63x0.step +KSB63-0x10FA,63,0,10,,FA,KSB--63x0.step +KSB63-0x10FB,63,0,10,,FB,KSB--63x0.step +KSB63-0x10CA,63,0,10,,CA,KSB--63x0.step +KSB63-0x10CB,63,0,10,,CB,KSB--63x0.step +KSB63-0x10LB,63,0,10,,LB,KSB--63x0.step +KSB63-0x10YB,63,0,10,,YB,KSB--63x0.step +KSB63-0x10M,63,0,10,M,,KSB--63x0.step +KSB63-0x10MFA,63,0,10,M,FA,KSB--63x0.step +KSB63-0x10MFB,63,0,10,M,FB,KSB--63x0.step +KSB63-0x10MCA,63,0,10,M,CA,KSB--63x0.step +KSB63-0x10MCB,63,0,10,M,CB,KSB--63x0.step +KSB63-0x10MLB,63,0,10,M,LB,KSB--63x0.step +KSB63-0x10MYB,63,0,10,M,YB,KSB--63x0.step +KSB63-0x20,63,0,20,,,KSB--63x0.step +KSB63-0x20FA,63,0,20,,FA,KSB--63x0.step +KSB63-0x20FB,63,0,20,,FB,KSB--63x0.step +KSB63-0x20CA,63,0,20,,CA,KSB--63x0.step +KSB63-0x20CB,63,0,20,,CB,KSB--63x0.step +KSB63-0x20LB,63,0,20,,LB,KSB--63x0.step +KSB63-0x20YB,63,0,20,,YB,KSB--63x0.step +KSB63-0x20M,63,0,20,M,,KSB--63x0.step +KSB63-0x20MFA,63,0,20,M,FA,KSB--63x0.step +KSB63-0x20MFB,63,0,20,M,FB,KSB--63x0.step +KSB63-0x20MCA,63,0,20,M,CA,KSB--63x0.step +KSB63-0x20MCB,63,0,20,M,CB,KSB--63x0.step +KSB63-0x20MLB,63,0,20,M,LB,KSB--63x0.step +KSB63-0x20MYB,63,0,20,M,YB,KSB--63x0.step +KSB63-0x30,63,0,30,,,KSB--63x0.step +KSB63-0x30FA,63,0,30,,FA,KSB--63x0.step +KSB63-0x30FB,63,0,30,,FB,KSB--63x0.step +KSB63-0x30CA,63,0,30,,CA,KSB--63x0.step +KSB63-0x30CB,63,0,30,,CB,KSB--63x0.step +KSB63-0x30LB,63,0,30,,LB,KSB--63x0.step +KSB63-0x30YB,63,0,30,,YB,KSB--63x0.step +KSB63-0x30M,63,0,30,M,,KSB--63x0.step +KSB63-0x30MFA,63,0,30,M,FA,KSB--63x0.step +KSB63-0x30MFB,63,0,30,M,FB,KSB--63x0.step +KSB63-0x30MCA,63,0,30,M,CA,KSB--63x0.step +KSB63-0x30MCB,63,0,30,M,CB,KSB--63x0.step +KSB63-0x30MLB,63,0,30,M,LB,KSB--63x0.step +KSB63-0x30MYB,63,0,30,M,YB,KSB--63x0.step +KSB63-0x50,63,0,50,,,KSB--63x0.step +KSB63-0x50FA,63,0,50,,FA,KSB--63x0.step +KSB63-0x50FB,63,0,50,,FB,KSB--63x0.step +KSB63-0x50CA,63,0,50,,CA,KSB--63x0.step +KSB63-0x50CB,63,0,50,,CB,KSB--63x0.step +KSB63-0x50LB,63,0,50,,LB,KSB--63x0.step +KSB63-0x50YB,63,0,50,,YB,KSB--63x0.step +KSB63-0x50M,63,0,50,M,,KSB--63x0.step +KSB63-0x50MFA,63,0,50,M,FA,KSB--63x0.step +KSB63-0x50MFB,63,0,50,M,FB,KSB--63x0.step +KSB63-0x50MCA,63,0,50,M,CA,KSB--63x0.step +KSB63-0x50MCB,63,0,50,M,CB,KSB--63x0.step +KSB63-0x50MLB,63,0,50,M,LB,KSB--63x0.step +KSB63-0x50MYB,63,0,50,M,YB,KSB--63x0.step +KSB63-0x75,63,0,75,,,KSB--63x0.step +KSB63-0x75FA,63,0,75,,FA,KSB--63x0.step +KSB63-0x75FB,63,0,75,,FB,KSB--63x0.step +KSB63-0x75CA,63,0,75,,CA,KSB--63x0.step +KSB63-0x75CB,63,0,75,,CB,KSB--63x0.step +KSB63-0x75LB,63,0,75,,LB,KSB--63x0.step +KSB63-0x75YB,63,0,75,,YB,KSB--63x0.step +KSB63-0x75M,63,0,75,M,,KSB--63x0.step +KSB63-0x75MFA,63,0,75,M,FA,KSB--63x0.step +KSB63-0x75MFB,63,0,75,M,FB,KSB--63x0.step +KSB63-0x75MCA,63,0,75,M,CA,KSB--63x0.step +KSB63-0x75MCB,63,0,75,M,CB,KSB--63x0.step +KSB63-0x75MLB,63,0,75,M,LB,KSB--63x0.step +KSB63-0x75MYB,63,0,75,M,YB,KSB--63x0.step +KSB63-0x100,63,0,100,,,KSB--63x0.step +KSB63-0x100FA,63,0,100,,FA,KSB--63x0.step +KSB63-0x100FB,63,0,100,,FB,KSB--63x0.step +KSB63-0x100CA,63,0,100,,CA,KSB--63x0.step +KSB63-0x100CB,63,0,100,,CB,KSB--63x0.step +KSB63-0x100LB,63,0,100,,LB,KSB--63x0.step +KSB63-0x100YB,63,0,100,,YB,KSB--63x0.step +KSB63-0x100M,63,0,100,M,,KSB--63x0.step +KSB63-0x100MFA,63,0,100,M,FA,KSB--63x0.step +KSB63-0x100MFB,63,0,100,M,FB,KSB--63x0.step +KSB63-0x100MCA,63,0,100,M,CA,KSB--63x0.step +KSB63-0x100MCB,63,0,100,M,CB,KSB--63x0.step +KSB63-0x100MLB,63,0,100,M,LB,KSB--63x0.step +KSB63-0x100MYB,63,0,100,M,YB,KSB--63x0.step +KSB63-10x0,63,10,0,,,KSB--63x10.step +KSB63-10x0FA,63,10,0,,FA,KSB--63x10.step +KSB63-10x0FB,63,10,0,,FB,KSB--63x10.step +KSB63-10x0CA,63,10,0,,CA,KSB--63x10.step +KSB63-10x0CB,63,10,0,,CB,KSB--63x10.step +KSB63-10x0LB,63,10,0,,LB,KSB--63x10.step +KSB63-10x0YB,63,10,0,,YB,KSB--63x10.step +KSB63-10x0M,63,10,0,M,,KSB--63x10.step +KSB63-10x0MFA,63,10,0,M,FA,KSB--63x10.step +KSB63-10x0MFB,63,10,0,M,FB,KSB--63x10.step +KSB63-10x0MCA,63,10,0,M,CA,KSB--63x10.step +KSB63-10x0MCB,63,10,0,M,CB,KSB--63x10.step +KSB63-10x0MLB,63,10,0,M,LB,KSB--63x10.step +KSB63-10x0MYB,63,10,0,M,YB,KSB--63x10.step +KSB63-10x10,63,10,10,,,KSB--63x10.step +KSB63-10x10FA,63,10,10,,FA,KSB--63x10.step +KSB63-10x10FB,63,10,10,,FB,KSB--63x10.step +KSB63-10x10CA,63,10,10,,CA,KSB--63x10.step +KSB63-10x10CB,63,10,10,,CB,KSB--63x10.step +KSB63-10x10LB,63,10,10,,LB,KSB--63x10.step +KSB63-10x10YB,63,10,10,,YB,KSB--63x10.step +KSB63-10x10M,63,10,10,M,,KSB--63x10.step +KSB63-10x10MFA,63,10,10,M,FA,KSB--63x10.step +KSB63-10x10MFB,63,10,10,M,FB,KSB--63x10.step +KSB63-10x10MCA,63,10,10,M,CA,KSB--63x10.step +KSB63-10x10MCB,63,10,10,M,CB,KSB--63x10.step +KSB63-10x10MLB,63,10,10,M,LB,KSB--63x10.step +KSB63-10x10MYB,63,10,10,M,YB,KSB--63x10.step +KSB63-10x20,63,10,20,,,KSB--63x10.step +KSB63-10x20FA,63,10,20,,FA,KSB--63x10.step +KSB63-10x20FB,63,10,20,,FB,KSB--63x10.step +KSB63-10x20CA,63,10,20,,CA,KSB--63x10.step +KSB63-10x20CB,63,10,20,,CB,KSB--63x10.step +KSB63-10x20LB,63,10,20,,LB,KSB--63x10.step +KSB63-10x20YB,63,10,20,,YB,KSB--63x10.step +KSB63-10x20M,63,10,20,M,,KSB--63x10.step +KSB63-10x20MFA,63,10,20,M,FA,KSB--63x10.step +KSB63-10x20MFB,63,10,20,M,FB,KSB--63x10.step +KSB63-10x20MCA,63,10,20,M,CA,KSB--63x10.step +KSB63-10x20MCB,63,10,20,M,CB,KSB--63x10.step +KSB63-10x20MLB,63,10,20,M,LB,KSB--63x10.step +KSB63-10x20MYB,63,10,20,M,YB,KSB--63x10.step +KSB63-10x30,63,10,30,,,KSB--63x10.step +KSB63-10x30FA,63,10,30,,FA,KSB--63x10.step +KSB63-10x30FB,63,10,30,,FB,KSB--63x10.step +KSB63-10x30CA,63,10,30,,CA,KSB--63x10.step +KSB63-10x30CB,63,10,30,,CB,KSB--63x10.step +KSB63-10x30LB,63,10,30,,LB,KSB--63x10.step +KSB63-10x30YB,63,10,30,,YB,KSB--63x10.step +KSB63-10x30M,63,10,30,M,,KSB--63x10.step +KSB63-10x30MFA,63,10,30,M,FA,KSB--63x10.step +KSB63-10x30MFB,63,10,30,M,FB,KSB--63x10.step +KSB63-10x30MCA,63,10,30,M,CA,KSB--63x10.step +KSB63-10x30MCB,63,10,30,M,CB,KSB--63x10.step +KSB63-10x30MLB,63,10,30,M,LB,KSB--63x10.step +KSB63-10x30MYB,63,10,30,M,YB,KSB--63x10.step +KSB63-10x50,63,10,50,,,KSB--63x10.step +KSB63-10x50FA,63,10,50,,FA,KSB--63x10.step +KSB63-10x50FB,63,10,50,,FB,KSB--63x10.step +KSB63-10x50CA,63,10,50,,CA,KSB--63x10.step +KSB63-10x50CB,63,10,50,,CB,KSB--63x10.step +KSB63-10x50LB,63,10,50,,LB,KSB--63x10.step +KSB63-10x50YB,63,10,50,,YB,KSB--63x10.step +KSB63-10x50M,63,10,50,M,,KSB--63x10.step +KSB63-10x50MFA,63,10,50,M,FA,KSB--63x10.step +KSB63-10x50MFB,63,10,50,M,FB,KSB--63x10.step +KSB63-10x50MCA,63,10,50,M,CA,KSB--63x10.step +KSB63-10x50MCB,63,10,50,M,CB,KSB--63x10.step +KSB63-10x50MLB,63,10,50,M,LB,KSB--63x10.step +KSB63-10x50MYB,63,10,50,M,YB,KSB--63x10.step +KSB63-10x75,63,10,75,,,KSB--63x10.step +KSB63-10x75FA,63,10,75,,FA,KSB--63x10.step +KSB63-10x75FB,63,10,75,,FB,KSB--63x10.step +KSB63-10x75CA,63,10,75,,CA,KSB--63x10.step +KSB63-10x75CB,63,10,75,,CB,KSB--63x10.step +KSB63-10x75LB,63,10,75,,LB,KSB--63x10.step +KSB63-10x75YB,63,10,75,,YB,KSB--63x10.step +KSB63-10x75M,63,10,75,M,,KSB--63x10.step +KSB63-10x75MFA,63,10,75,M,FA,KSB--63x10.step +KSB63-10x75MFB,63,10,75,M,FB,KSB--63x10.step +KSB63-10x75MCA,63,10,75,M,CA,KSB--63x10.step +KSB63-10x75MCB,63,10,75,M,CB,KSB--63x10.step +KSB63-10x75MLB,63,10,75,M,LB,KSB--63x10.step +KSB63-10x75MYB,63,10,75,M,YB,KSB--63x10.step +KSB63-10x100,63,10,100,,,KSB--63x10.step +KSB63-10x100FA,63,10,100,,FA,KSB--63x10.step +KSB63-10x100FB,63,10,100,,FB,KSB--63x10.step +KSB63-10x100CA,63,10,100,,CA,KSB--63x10.step +KSB63-10x100CB,63,10,100,,CB,KSB--63x10.step +KSB63-10x100LB,63,10,100,,LB,KSB--63x10.step +KSB63-10x100YB,63,10,100,,YB,KSB--63x10.step +KSB63-10x100M,63,10,100,M,,KSB--63x10.step +KSB63-10x100MFA,63,10,100,M,FA,KSB--63x10.step +KSB63-10x100MFB,63,10,100,M,FB,KSB--63x10.step +KSB63-10x100MCA,63,10,100,M,CA,KSB--63x10.step +KSB63-10x100MCB,63,10,100,M,CB,KSB--63x10.step +KSB63-10x100MLB,63,10,100,M,LB,KSB--63x10.step +KSB63-10x100MYB,63,10,100,M,YB,KSB--63x10.step +KSB63-20x0,63,20,0,,,KSB--63x20.step +KSB63-20x0FA,63,20,0,,FA,KSB--63x20.step +KSB63-20x0FB,63,20,0,,FB,KSB--63x20.step +KSB63-20x0CA,63,20,0,,CA,KSB--63x20.step +KSB63-20x0CB,63,20,0,,CB,KSB--63x20.step +KSB63-20x0LB,63,20,0,,LB,KSB--63x20.step +KSB63-20x0YB,63,20,0,,YB,KSB--63x20.step +KSB63-20x0M,63,20,0,M,,KSB--63x20.step +KSB63-20x0MFA,63,20,0,M,FA,KSB--63x20.step +KSB63-20x0MFB,63,20,0,M,FB,KSB--63x20.step +KSB63-20x0MCA,63,20,0,M,CA,KSB--63x20.step +KSB63-20x0MCB,63,20,0,M,CB,KSB--63x20.step +KSB63-20x0MLB,63,20,0,M,LB,KSB--63x20.step +KSB63-20x0MYB,63,20,0,M,YB,KSB--63x20.step +KSB63-20x10,63,20,10,,,KSB--63x20.step +KSB63-20x10FA,63,20,10,,FA,KSB--63x20.step +KSB63-20x10FB,63,20,10,,FB,KSB--63x20.step +KSB63-20x10CA,63,20,10,,CA,KSB--63x20.step +KSB63-20x10CB,63,20,10,,CB,KSB--63x20.step +KSB63-20x10LB,63,20,10,,LB,KSB--63x20.step +KSB63-20x10YB,63,20,10,,YB,KSB--63x20.step +KSB63-20x10M,63,20,10,M,,KSB--63x20.step +KSB63-20x10MFA,63,20,10,M,FA,KSB--63x20.step +KSB63-20x10MFB,63,20,10,M,FB,KSB--63x20.step +KSB63-20x10MCA,63,20,10,M,CA,KSB--63x20.step +KSB63-20x10MCB,63,20,10,M,CB,KSB--63x20.step +KSB63-20x10MLB,63,20,10,M,LB,KSB--63x20.step +KSB63-20x10MYB,63,20,10,M,YB,KSB--63x20.step +KSB63-20x20,63,20,20,,,KSB--63x20.step +KSB63-20x20FA,63,20,20,,FA,KSB--63x20.step +KSB63-20x20FB,63,20,20,,FB,KSB--63x20.step +KSB63-20x20CA,63,20,20,,CA,KSB--63x20.step +KSB63-20x20CB,63,20,20,,CB,KSB--63x20.step +KSB63-20x20LB,63,20,20,,LB,KSB--63x20.step +KSB63-20x20YB,63,20,20,,YB,KSB--63x20.step +KSB63-20x20M,63,20,20,M,,KSB--63x20.step +KSB63-20x20MFA,63,20,20,M,FA,KSB--63x20.step +KSB63-20x20MFB,63,20,20,M,FB,KSB--63x20.step +KSB63-20x20MCA,63,20,20,M,CA,KSB--63x20.step +KSB63-20x20MCB,63,20,20,M,CB,KSB--63x20.step +KSB63-20x20MLB,63,20,20,M,LB,KSB--63x20.step +KSB63-20x20MYB,63,20,20,M,YB,KSB--63x20.step +KSB63-20x30,63,20,30,,,KSB--63x20.step +KSB63-20x30FA,63,20,30,,FA,KSB--63x20.step +KSB63-20x30FB,63,20,30,,FB,KSB--63x20.step +KSB63-20x30CA,63,20,30,,CA,KSB--63x20.step +KSB63-20x30CB,63,20,30,,CB,KSB--63x20.step +KSB63-20x30LB,63,20,30,,LB,KSB--63x20.step +KSB63-20x30YB,63,20,30,,YB,KSB--63x20.step +KSB63-20x30M,63,20,30,M,,KSB--63x20.step +KSB63-20x30MFA,63,20,30,M,FA,KSB--63x20.step +KSB63-20x30MFB,63,20,30,M,FB,KSB--63x20.step +KSB63-20x30MCA,63,20,30,M,CA,KSB--63x20.step +KSB63-20x30MCB,63,20,30,M,CB,KSB--63x20.step +KSB63-20x30MLB,63,20,30,M,LB,KSB--63x20.step +KSB63-20x30MYB,63,20,30,M,YB,KSB--63x20.step +KSB63-20x50,63,20,50,,,KSB--63x20.step +KSB63-20x50FA,63,20,50,,FA,KSB--63x20.step +KSB63-20x50FB,63,20,50,,FB,KSB--63x20.step +KSB63-20x50CA,63,20,50,,CA,KSB--63x20.step +KSB63-20x50CB,63,20,50,,CB,KSB--63x20.step +KSB63-20x50LB,63,20,50,,LB,KSB--63x20.step +KSB63-20x50YB,63,20,50,,YB,KSB--63x20.step +KSB63-20x50M,63,20,50,M,,KSB--63x20.step +KSB63-20x50MFA,63,20,50,M,FA,KSB--63x20.step +KSB63-20x50MFB,63,20,50,M,FB,KSB--63x20.step +KSB63-20x50MCA,63,20,50,M,CA,KSB--63x20.step +KSB63-20x50MCB,63,20,50,M,CB,KSB--63x20.step +KSB63-20x50MLB,63,20,50,M,LB,KSB--63x20.step +KSB63-20x50MYB,63,20,50,M,YB,KSB--63x20.step +KSB63-20x75,63,20,75,,,KSB--63x20.step +KSB63-20x75FA,63,20,75,,FA,KSB--63x20.step +KSB63-20x75FB,63,20,75,,FB,KSB--63x20.step +KSB63-20x75CA,63,20,75,,CA,KSB--63x20.step +KSB63-20x75CB,63,20,75,,CB,KSB--63x20.step +KSB63-20x75LB,63,20,75,,LB,KSB--63x20.step +KSB63-20x75YB,63,20,75,,YB,KSB--63x20.step +KSB63-20x75M,63,20,75,M,,KSB--63x20.step +KSB63-20x75MFA,63,20,75,M,FA,KSB--63x20.step +KSB63-20x75MFB,63,20,75,M,FB,KSB--63x20.step +KSB63-20x75MCA,63,20,75,M,CA,KSB--63x20.step +KSB63-20x75MCB,63,20,75,M,CB,KSB--63x20.step +KSB63-20x75MLB,63,20,75,M,LB,KSB--63x20.step +KSB63-20x75MYB,63,20,75,M,YB,KSB--63x20.step +KSB63-20x100,63,20,100,,,KSB--63x20.step +KSB63-20x100FA,63,20,100,,FA,KSB--63x20.step +KSB63-20x100FB,63,20,100,,FB,KSB--63x20.step +KSB63-20x100CA,63,20,100,,CA,KSB--63x20.step +KSB63-20x100CB,63,20,100,,CB,KSB--63x20.step +KSB63-20x100LB,63,20,100,,LB,KSB--63x20.step +KSB63-20x100YB,63,20,100,,YB,KSB--63x20.step +KSB63-20x100M,63,20,100,M,,KSB--63x20.step +KSB63-20x100MFA,63,20,100,M,FA,KSB--63x20.step +KSB63-20x100MFB,63,20,100,M,FB,KSB--63x20.step +KSB63-20x100MCA,63,20,100,M,CA,KSB--63x20.step +KSB63-20x100MCB,63,20,100,M,CB,KSB--63x20.step +KSB63-20x100MLB,63,20,100,M,LB,KSB--63x20.step +KSB63-20x100MYB,63,20,100,M,YB,KSB--63x20.step +KSB63-30x0,63,30,0,,,KSB--63x30.step +KSB63-30x0FA,63,30,0,,FA,KSB--63x30.step +KSB63-30x0FB,63,30,0,,FB,KSB--63x30.step +KSB63-30x0CA,63,30,0,,CA,KSB--63x30.step +KSB63-30x0CB,63,30,0,,CB,KSB--63x30.step +KSB63-30x0LB,63,30,0,,LB,KSB--63x30.step +KSB63-30x0YB,63,30,0,,YB,KSB--63x30.step +KSB63-30x0M,63,30,0,M,,KSB--63x30.step +KSB63-30x0MFA,63,30,0,M,FA,KSB--63x30.step +KSB63-30x0MFB,63,30,0,M,FB,KSB--63x30.step +KSB63-30x0MCA,63,30,0,M,CA,KSB--63x30.step +KSB63-30x0MCB,63,30,0,M,CB,KSB--63x30.step +KSB63-30x0MLB,63,30,0,M,LB,KSB--63x30.step +KSB63-30x0MYB,63,30,0,M,YB,KSB--63x30.step +KSB63-30x10,63,30,10,,,KSB--63x30.step +KSB63-30x10FA,63,30,10,,FA,KSB--63x30.step +KSB63-30x10FB,63,30,10,,FB,KSB--63x30.step +KSB63-30x10CA,63,30,10,,CA,KSB--63x30.step +KSB63-30x10CB,63,30,10,,CB,KSB--63x30.step +KSB63-30x10LB,63,30,10,,LB,KSB--63x30.step +KSB63-30x10YB,63,30,10,,YB,KSB--63x30.step +KSB63-30x10M,63,30,10,M,,KSB--63x30.step +KSB63-30x10MFA,63,30,10,M,FA,KSB--63x30.step +KSB63-30x10MFB,63,30,10,M,FB,KSB--63x30.step +KSB63-30x10MCA,63,30,10,M,CA,KSB--63x30.step +KSB63-30x10MCB,63,30,10,M,CB,KSB--63x30.step +KSB63-30x10MLB,63,30,10,M,LB,KSB--63x30.step +KSB63-30x10MYB,63,30,10,M,YB,KSB--63x30.step +KSB63-30x20,63,30,20,,,KSB--63x30.step +KSB63-30x20FA,63,30,20,,FA,KSB--63x30.step +KSB63-30x20FB,63,30,20,,FB,KSB--63x30.step +KSB63-30x20CA,63,30,20,,CA,KSB--63x30.step +KSB63-30x20CB,63,30,20,,CB,KSB--63x30.step +KSB63-30x20LB,63,30,20,,LB,KSB--63x30.step +KSB63-30x20YB,63,30,20,,YB,KSB--63x30.step +KSB63-30x20M,63,30,20,M,,KSB--63x30.step +KSB63-30x20MFA,63,30,20,M,FA,KSB--63x30.step +KSB63-30x20MFB,63,30,20,M,FB,KSB--63x30.step +KSB63-30x20MCA,63,30,20,M,CA,KSB--63x30.step +KSB63-30x20MCB,63,30,20,M,CB,KSB--63x30.step +KSB63-30x20MLB,63,30,20,M,LB,KSB--63x30.step +KSB63-30x20MYB,63,30,20,M,YB,KSB--63x30.step +KSB63-30x30,63,30,30,,,KSB--63x30.step +KSB63-30x30FA,63,30,30,,FA,KSB--63x30.step +KSB63-30x30FB,63,30,30,,FB,KSB--63x30.step +KSB63-30x30CA,63,30,30,,CA,KSB--63x30.step +KSB63-30x30CB,63,30,30,,CB,KSB--63x30.step +KSB63-30x30LB,63,30,30,,LB,KSB--63x30.step +KSB63-30x30YB,63,30,30,,YB,KSB--63x30.step +KSB63-30x30M,63,30,30,M,,KSB--63x30.step +KSB63-30x30MFA,63,30,30,M,FA,KSB--63x30.step +KSB63-30x30MFB,63,30,30,M,FB,KSB--63x30.step +KSB63-30x30MCA,63,30,30,M,CA,KSB--63x30.step +KSB63-30x30MCB,63,30,30,M,CB,KSB--63x30.step +KSB63-30x30MLB,63,30,30,M,LB,KSB--63x30.step +KSB63-30x30MYB,63,30,30,M,YB,KSB--63x30.step +KSB63-30x50,63,30,50,,,KSB--63x30.step +KSB63-30x50FA,63,30,50,,FA,KSB--63x30.step +KSB63-30x50FB,63,30,50,,FB,KSB--63x30.step +KSB63-30x50CA,63,30,50,,CA,KSB--63x30.step +KSB63-30x50CB,63,30,50,,CB,KSB--63x30.step +KSB63-30x50LB,63,30,50,,LB,KSB--63x30.step +KSB63-30x50YB,63,30,50,,YB,KSB--63x30.step +KSB63-30x50M,63,30,50,M,,KSB--63x30.step +KSB63-30x50MFA,63,30,50,M,FA,KSB--63x30.step +KSB63-30x50MFB,63,30,50,M,FB,KSB--63x30.step +KSB63-30x50MCA,63,30,50,M,CA,KSB--63x30.step +KSB63-30x50MCB,63,30,50,M,CB,KSB--63x30.step +KSB63-30x50MLB,63,30,50,M,LB,KSB--63x30.step +KSB63-30x50MYB,63,30,50,M,YB,KSB--63x30.step +KSB63-30x75,63,30,75,,,KSB--63x30.step +KSB63-30x75FA,63,30,75,,FA,KSB--63x30.step +KSB63-30x75FB,63,30,75,,FB,KSB--63x30.step +KSB63-30x75CA,63,30,75,,CA,KSB--63x30.step +KSB63-30x75CB,63,30,75,,CB,KSB--63x30.step +KSB63-30x75LB,63,30,75,,LB,KSB--63x30.step +KSB63-30x75YB,63,30,75,,YB,KSB--63x30.step +KSB63-30x75M,63,30,75,M,,KSB--63x30.step +KSB63-30x75MFA,63,30,75,M,FA,KSB--63x30.step +KSB63-30x75MFB,63,30,75,M,FB,KSB--63x30.step +KSB63-30x75MCA,63,30,75,M,CA,KSB--63x30.step +KSB63-30x75MCB,63,30,75,M,CB,KSB--63x30.step +KSB63-30x75MLB,63,30,75,M,LB,KSB--63x30.step +KSB63-30x75MYB,63,30,75,M,YB,KSB--63x30.step +KSB63-30x100,63,30,100,,,KSB--63x30.step +KSB63-30x100FA,63,30,100,,FA,KSB--63x30.step +KSB63-30x100FB,63,30,100,,FB,KSB--63x30.step +KSB63-30x100CA,63,30,100,,CA,KSB--63x30.step +KSB63-30x100CB,63,30,100,,CB,KSB--63x30.step +KSB63-30x100LB,63,30,100,,LB,KSB--63x30.step +KSB63-30x100YB,63,30,100,,YB,KSB--63x30.step +KSB63-30x100M,63,30,100,M,,KSB--63x30.step +KSB63-30x100MFA,63,30,100,M,FA,KSB--63x30.step +KSB63-30x100MFB,63,30,100,M,FB,KSB--63x30.step +KSB63-30x100MCA,63,30,100,M,CA,KSB--63x30.step +KSB63-30x100MCB,63,30,100,M,CB,KSB--63x30.step +KSB63-30x100MLB,63,30,100,M,LB,KSB--63x30.step +KSB63-30x100MYB,63,30,100,M,YB,KSB--63x30.step +KSB63-50x0,63,50,0,,,KSB--63x50.step +KSB63-50x0FA,63,50,0,,FA,KSB--63x50.step +KSB63-50x0FB,63,50,0,,FB,KSB--63x50.step +KSB63-50x0CA,63,50,0,,CA,KSB--63x50.step +KSB63-50x0CB,63,50,0,,CB,KSB--63x50.step +KSB63-50x0LB,63,50,0,,LB,KSB--63x50.step +KSB63-50x0YB,63,50,0,,YB,KSB--63x50.step +KSB63-50x0M,63,50,0,M,,KSB--63x50.step +KSB63-50x0MFA,63,50,0,M,FA,KSB--63x50.step +KSB63-50x0MFB,63,50,0,M,FB,KSB--63x50.step +KSB63-50x0MCA,63,50,0,M,CA,KSB--63x50.step +KSB63-50x0MCB,63,50,0,M,CB,KSB--63x50.step +KSB63-50x0MLB,63,50,0,M,LB,KSB--63x50.step +KSB63-50x0MYB,63,50,0,M,YB,KSB--63x50.step +KSB63-50x10,63,50,10,,,KSB--63x50.step +KSB63-50x10FA,63,50,10,,FA,KSB--63x50.step +KSB63-50x10FB,63,50,10,,FB,KSB--63x50.step +KSB63-50x10CA,63,50,10,,CA,KSB--63x50.step +KSB63-50x10CB,63,50,10,,CB,KSB--63x50.step +KSB63-50x10LB,63,50,10,,LB,KSB--63x50.step +KSB63-50x10YB,63,50,10,,YB,KSB--63x50.step +KSB63-50x10M,63,50,10,M,,KSB--63x50.step +KSB63-50x10MFA,63,50,10,M,FA,KSB--63x50.step +KSB63-50x10MFB,63,50,10,M,FB,KSB--63x50.step +KSB63-50x10MCA,63,50,10,M,CA,KSB--63x50.step +KSB63-50x10MCB,63,50,10,M,CB,KSB--63x50.step +KSB63-50x10MLB,63,50,10,M,LB,KSB--63x50.step +KSB63-50x10MYB,63,50,10,M,YB,KSB--63x50.step +KSB63-50x20,63,50,20,,,KSB--63x50.step +KSB63-50x20FA,63,50,20,,FA,KSB--63x50.step +KSB63-50x20FB,63,50,20,,FB,KSB--63x50.step +KSB63-50x20CA,63,50,20,,CA,KSB--63x50.step +KSB63-50x20CB,63,50,20,,CB,KSB--63x50.step +KSB63-50x20LB,63,50,20,,LB,KSB--63x50.step +KSB63-50x20YB,63,50,20,,YB,KSB--63x50.step +KSB63-50x20M,63,50,20,M,,KSB--63x50.step +KSB63-50x20MFA,63,50,20,M,FA,KSB--63x50.step +KSB63-50x20MFB,63,50,20,M,FB,KSB--63x50.step +KSB63-50x20MCA,63,50,20,M,CA,KSB--63x50.step +KSB63-50x20MCB,63,50,20,M,CB,KSB--63x50.step +KSB63-50x20MLB,63,50,20,M,LB,KSB--63x50.step +KSB63-50x20MYB,63,50,20,M,YB,KSB--63x50.step +KSB63-50x30,63,50,30,,,KSB--63x50.step +KSB63-50x30FA,63,50,30,,FA,KSB--63x50.step +KSB63-50x30FB,63,50,30,,FB,KSB--63x50.step +KSB63-50x30CA,63,50,30,,CA,KSB--63x50.step +KSB63-50x30CB,63,50,30,,CB,KSB--63x50.step +KSB63-50x30LB,63,50,30,,LB,KSB--63x50.step +KSB63-50x30YB,63,50,30,,YB,KSB--63x50.step +KSB63-50x30M,63,50,30,M,,KSB--63x50.step +KSB63-50x30MFA,63,50,30,M,FA,KSB--63x50.step +KSB63-50x30MFB,63,50,30,M,FB,KSB--63x50.step +KSB63-50x30MCA,63,50,30,M,CA,KSB--63x50.step +KSB63-50x30MCB,63,50,30,M,CB,KSB--63x50.step +KSB63-50x30MLB,63,50,30,M,LB,KSB--63x50.step +KSB63-50x30MYB,63,50,30,M,YB,KSB--63x50.step +KSB63-50x50,63,50,50,,,KSB--63x50.step +KSB63-50x50FA,63,50,50,,FA,KSB--63x50.step +KSB63-50x50FB,63,50,50,,FB,KSB--63x50.step +KSB63-50x50CA,63,50,50,,CA,KSB--63x50.step +KSB63-50x50CB,63,50,50,,CB,KSB--63x50.step +KSB63-50x50LB,63,50,50,,LB,KSB--63x50.step +KSB63-50x50YB,63,50,50,,YB,KSB--63x50.step +KSB63-50x50M,63,50,50,M,,KSB--63x50.step +KSB63-50x50MFA,63,50,50,M,FA,KSB--63x50.step +KSB63-50x50MFB,63,50,50,M,FB,KSB--63x50.step +KSB63-50x50MCA,63,50,50,M,CA,KSB--63x50.step +KSB63-50x50MCB,63,50,50,M,CB,KSB--63x50.step +KSB63-50x50MLB,63,50,50,M,LB,KSB--63x50.step +KSB63-50x50MYB,63,50,50,M,YB,KSB--63x50.step +KSB63-50x75,63,50,75,,,KSB--63x50.step +KSB63-50x75FA,63,50,75,,FA,KSB--63x50.step +KSB63-50x75FB,63,50,75,,FB,KSB--63x50.step +KSB63-50x75CA,63,50,75,,CA,KSB--63x50.step +KSB63-50x75CB,63,50,75,,CB,KSB--63x50.step +KSB63-50x75LB,63,50,75,,LB,KSB--63x50.step +KSB63-50x75YB,63,50,75,,YB,KSB--63x50.step +KSB63-50x75M,63,50,75,M,,KSB--63x50.step +KSB63-50x75MFA,63,50,75,M,FA,KSB--63x50.step +KSB63-50x75MFB,63,50,75,M,FB,KSB--63x50.step +KSB63-50x75MCA,63,50,75,M,CA,KSB--63x50.step +KSB63-50x75MCB,63,50,75,M,CB,KSB--63x50.step +KSB63-50x75MLB,63,50,75,M,LB,KSB--63x50.step +KSB63-50x75MYB,63,50,75,M,YB,KSB--63x50.step +KSB63-50x100,63,50,100,,,KSB--63x50.step +KSB63-50x100FA,63,50,100,,FA,KSB--63x50.step +KSB63-50x100FB,63,50,100,,FB,KSB--63x50.step +KSB63-50x100CA,63,50,100,,CA,KSB--63x50.step +KSB63-50x100CB,63,50,100,,CB,KSB--63x50.step +KSB63-50x100LB,63,50,100,,LB,KSB--63x50.step +KSB63-50x100YB,63,50,100,,YB,KSB--63x50.step +KSB63-50x100M,63,50,100,M,,KSB--63x50.step +KSB63-50x100MFA,63,50,100,M,FA,KSB--63x50.step +KSB63-50x100MFB,63,50,100,M,FB,KSB--63x50.step +KSB63-50x100MCA,63,50,100,M,CA,KSB--63x50.step +KSB63-50x100MCB,63,50,100,M,CB,KSB--63x50.step +KSB63-50x100MLB,63,50,100,M,LB,KSB--63x50.step +KSB63-50x100MYB,63,50,100,M,YB,KSB--63x50.step +KSB63-75x0,63,75,0,,,KSB--63x75.step +KSB63-75x0FA,63,75,0,,FA,KSB--63x75.step +KSB63-75x0FB,63,75,0,,FB,KSB--63x75.step +KSB63-75x0CA,63,75,0,,CA,KSB--63x75.step +KSB63-75x0CB,63,75,0,,CB,KSB--63x75.step +KSB63-75x0LB,63,75,0,,LB,KSB--63x75.step +KSB63-75x0YB,63,75,0,,YB,KSB--63x75.step +KSB63-75x0M,63,75,0,M,,KSB--63x75.step +KSB63-75x0MFA,63,75,0,M,FA,KSB--63x75.step +KSB63-75x0MFB,63,75,0,M,FB,KSB--63x75.step +KSB63-75x0MCA,63,75,0,M,CA,KSB--63x75.step +KSB63-75x0MCB,63,75,0,M,CB,KSB--63x75.step +KSB63-75x0MLB,63,75,0,M,LB,KSB--63x75.step +KSB63-75x0MYB,63,75,0,M,YB,KSB--63x75.step +KSB63-75x10,63,75,10,,,KSB--63x75.step +KSB63-75x10FA,63,75,10,,FA,KSB--63x75.step +KSB63-75x10FB,63,75,10,,FB,KSB--63x75.step +KSB63-75x10CA,63,75,10,,CA,KSB--63x75.step +KSB63-75x10CB,63,75,10,,CB,KSB--63x75.step +KSB63-75x10LB,63,75,10,,LB,KSB--63x75.step +KSB63-75x10YB,63,75,10,,YB,KSB--63x75.step +KSB63-75x10M,63,75,10,M,,KSB--63x75.step +KSB63-75x10MFA,63,75,10,M,FA,KSB--63x75.step +KSB63-75x10MFB,63,75,10,M,FB,KSB--63x75.step +KSB63-75x10MCA,63,75,10,M,CA,KSB--63x75.step +KSB63-75x10MCB,63,75,10,M,CB,KSB--63x75.step +KSB63-75x10MLB,63,75,10,M,LB,KSB--63x75.step +KSB63-75x10MYB,63,75,10,M,YB,KSB--63x75.step +KSB63-75x20,63,75,20,,,KSB--63x75.step +KSB63-75x20FA,63,75,20,,FA,KSB--63x75.step +KSB63-75x20FB,63,75,20,,FB,KSB--63x75.step +KSB63-75x20CA,63,75,20,,CA,KSB--63x75.step +KSB63-75x20CB,63,75,20,,CB,KSB--63x75.step +KSB63-75x20LB,63,75,20,,LB,KSB--63x75.step +KSB63-75x20YB,63,75,20,,YB,KSB--63x75.step +KSB63-75x20M,63,75,20,M,,KSB--63x75.step +KSB63-75x20MFA,63,75,20,M,FA,KSB--63x75.step +KSB63-75x20MFB,63,75,20,M,FB,KSB--63x75.step +KSB63-75x20MCA,63,75,20,M,CA,KSB--63x75.step +KSB63-75x20MCB,63,75,20,M,CB,KSB--63x75.step +KSB63-75x20MLB,63,75,20,M,LB,KSB--63x75.step +KSB63-75x20MYB,63,75,20,M,YB,KSB--63x75.step +KSB63-75x30,63,75,30,,,KSB--63x75.step +KSB63-75x30FA,63,75,30,,FA,KSB--63x75.step +KSB63-75x30FB,63,75,30,,FB,KSB--63x75.step +KSB63-75x30CA,63,75,30,,CA,KSB--63x75.step +KSB63-75x30CB,63,75,30,,CB,KSB--63x75.step +KSB63-75x30LB,63,75,30,,LB,KSB--63x75.step +KSB63-75x30YB,63,75,30,,YB,KSB--63x75.step +KSB63-75x30M,63,75,30,M,,KSB--63x75.step +KSB63-75x30MFA,63,75,30,M,FA,KSB--63x75.step +KSB63-75x30MFB,63,75,30,M,FB,KSB--63x75.step +KSB63-75x30MCA,63,75,30,M,CA,KSB--63x75.step +KSB63-75x30MCB,63,75,30,M,CB,KSB--63x75.step +KSB63-75x30MLB,63,75,30,M,LB,KSB--63x75.step +KSB63-75x30MYB,63,75,30,M,YB,KSB--63x75.step +KSB63-75x50,63,75,50,,,KSB--63x75.step +KSB63-75x50FA,63,75,50,,FA,KSB--63x75.step +KSB63-75x50FB,63,75,50,,FB,KSB--63x75.step +KSB63-75x50CA,63,75,50,,CA,KSB--63x75.step +KSB63-75x50CB,63,75,50,,CB,KSB--63x75.step +KSB63-75x50LB,63,75,50,,LB,KSB--63x75.step +KSB63-75x50YB,63,75,50,,YB,KSB--63x75.step +KSB63-75x50M,63,75,50,M,,KSB--63x75.step +KSB63-75x50MFA,63,75,50,M,FA,KSB--63x75.step +KSB63-75x50MFB,63,75,50,M,FB,KSB--63x75.step +KSB63-75x50MCA,63,75,50,M,CA,KSB--63x75.step +KSB63-75x50MCB,63,75,50,M,CB,KSB--63x75.step +KSB63-75x50MLB,63,75,50,M,LB,KSB--63x75.step +KSB63-75x50MYB,63,75,50,M,YB,KSB--63x75.step +KSB63-75x75,63,75,75,,,KSB--63x75.step +KSB63-75x75FA,63,75,75,,FA,KSB--63x75.step +KSB63-75x75FB,63,75,75,,FB,KSB--63x75.step +KSB63-75x75CA,63,75,75,,CA,KSB--63x75.step +KSB63-75x75CB,63,75,75,,CB,KSB--63x75.step +KSB63-75x75LB,63,75,75,,LB,KSB--63x75.step +KSB63-75x75YB,63,75,75,,YB,KSB--63x75.step +KSB63-75x75M,63,75,75,M,,KSB--63x75.step +KSB63-75x75MFA,63,75,75,M,FA,KSB--63x75.step +KSB63-75x75MFB,63,75,75,M,FB,KSB--63x75.step +KSB63-75x75MCA,63,75,75,M,CA,KSB--63x75.step +KSB63-75x75MCB,63,75,75,M,CB,KSB--63x75.step +KSB63-75x75MLB,63,75,75,M,LB,KSB--63x75.step +KSB63-75x75MYB,63,75,75,M,YB,KSB--63x75.step +KSB63-75x100,63,75,100,,,KSB--63x75.step +KSB63-75x100FA,63,75,100,,FA,KSB--63x75.step +KSB63-75x100FB,63,75,100,,FB,KSB--63x75.step +KSB63-75x100CA,63,75,100,,CA,KSB--63x75.step +KSB63-75x100CB,63,75,100,,CB,KSB--63x75.step +KSB63-75x100LB,63,75,100,,LB,KSB--63x75.step +KSB63-75x100YB,63,75,100,,YB,KSB--63x75.step +KSB63-75x100M,63,75,100,M,,KSB--63x75.step +KSB63-75x100MFA,63,75,100,M,FA,KSB--63x75.step +KSB63-75x100MFB,63,75,100,M,FB,KSB--63x75.step +KSB63-75x100MCA,63,75,100,M,CA,KSB--63x75.step +KSB63-75x100MCB,63,75,100,M,CB,KSB--63x75.step +KSB63-75x100MLB,63,75,100,M,LB,KSB--63x75.step +KSB63-75x100MYB,63,75,100,M,YB,KSB--63x75.step +KSB63-100x0,63,100,0,,,KSB--63x100.step +KSB63-100x0FA,63,100,0,,FA,KSB--63x100.step +KSB63-100x0FB,63,100,0,,FB,KSB--63x100.step +KSB63-100x0CA,63,100,0,,CA,KSB--63x100.step +KSB63-100x0CB,63,100,0,,CB,KSB--63x100.step +KSB63-100x0LB,63,100,0,,LB,KSB--63x100.step +KSB63-100x0YB,63,100,0,,YB,KSB--63x100.step +KSB63-100x0M,63,100,0,M,,KSB--63x100.step +KSB63-100x0MFA,63,100,0,M,FA,KSB--63x100.step +KSB63-100x0MFB,63,100,0,M,FB,KSB--63x100.step +KSB63-100x0MCA,63,100,0,M,CA,KSB--63x100.step +KSB63-100x0MCB,63,100,0,M,CB,KSB--63x100.step +KSB63-100x0MLB,63,100,0,M,LB,KSB--63x100.step +KSB63-100x0MYB,63,100,0,M,YB,KSB--63x100.step +KSB63-100x10,63,100,10,,,KSB--63x100.step +KSB63-100x10FA,63,100,10,,FA,KSB--63x100.step +KSB63-100x10FB,63,100,10,,FB,KSB--63x100.step +KSB63-100x10CA,63,100,10,,CA,KSB--63x100.step +KSB63-100x10CB,63,100,10,,CB,KSB--63x100.step +KSB63-100x10LB,63,100,10,,LB,KSB--63x100.step +KSB63-100x10YB,63,100,10,,YB,KSB--63x100.step +KSB63-100x10M,63,100,10,M,,KSB--63x100.step +KSB63-100x10MFA,63,100,10,M,FA,KSB--63x100.step +KSB63-100x10MFB,63,100,10,M,FB,KSB--63x100.step +KSB63-100x10MCA,63,100,10,M,CA,KSB--63x100.step +KSB63-100x10MCB,63,100,10,M,CB,KSB--63x100.step +KSB63-100x10MLB,63,100,10,M,LB,KSB--63x100.step +KSB63-100x10MYB,63,100,10,M,YB,KSB--63x100.step +KSB63-100x20,63,100,20,,,KSB--63x100.step +KSB63-100x20FA,63,100,20,,FA,KSB--63x100.step +KSB63-100x20FB,63,100,20,,FB,KSB--63x100.step +KSB63-100x20CA,63,100,20,,CA,KSB--63x100.step +KSB63-100x20CB,63,100,20,,CB,KSB--63x100.step +KSB63-100x20LB,63,100,20,,LB,KSB--63x100.step +KSB63-100x20YB,63,100,20,,YB,KSB--63x100.step +KSB63-100x20M,63,100,20,M,,KSB--63x100.step +KSB63-100x20MFA,63,100,20,M,FA,KSB--63x100.step +KSB63-100x20MFB,63,100,20,M,FB,KSB--63x100.step +KSB63-100x20MCA,63,100,20,M,CA,KSB--63x100.step +KSB63-100x20MCB,63,100,20,M,CB,KSB--63x100.step +KSB63-100x20MLB,63,100,20,M,LB,KSB--63x100.step +KSB63-100x20MYB,63,100,20,M,YB,KSB--63x100.step +KSB63-100x30,63,100,30,,,KSB--63x100.step +KSB63-100x30FA,63,100,30,,FA,KSB--63x100.step +KSB63-100x30FB,63,100,30,,FB,KSB--63x100.step +KSB63-100x30CA,63,100,30,,CA,KSB--63x100.step +KSB63-100x30CB,63,100,30,,CB,KSB--63x100.step +KSB63-100x30LB,63,100,30,,LB,KSB--63x100.step +KSB63-100x30YB,63,100,30,,YB,KSB--63x100.step +KSB63-100x30M,63,100,30,M,,KSB--63x100.step +KSB63-100x30MFA,63,100,30,M,FA,KSB--63x100.step +KSB63-100x30MFB,63,100,30,M,FB,KSB--63x100.step +KSB63-100x30MCA,63,100,30,M,CA,KSB--63x100.step +KSB63-100x30MCB,63,100,30,M,CB,KSB--63x100.step +KSB63-100x30MLB,63,100,30,M,LB,KSB--63x100.step +KSB63-100x30MYB,63,100,30,M,YB,KSB--63x100.step +KSB63-100x50,63,100,50,,,KSB--63x100.step +KSB63-100x50FA,63,100,50,,FA,KSB--63x100.step +KSB63-100x50FB,63,100,50,,FB,KSB--63x100.step +KSB63-100x50CA,63,100,50,,CA,KSB--63x100.step +KSB63-100x50CB,63,100,50,,CB,KSB--63x100.step +KSB63-100x50LB,63,100,50,,LB,KSB--63x100.step +KSB63-100x50YB,63,100,50,,YB,KSB--63x100.step +KSB63-100x50M,63,100,50,M,,KSB--63x100.step +KSB63-100x50MFA,63,100,50,M,FA,KSB--63x100.step +KSB63-100x50MFB,63,100,50,M,FB,KSB--63x100.step +KSB63-100x50MCA,63,100,50,M,CA,KSB--63x100.step +KSB63-100x50MCB,63,100,50,M,CB,KSB--63x100.step +KSB63-100x50MLB,63,100,50,M,LB,KSB--63x100.step +KSB63-100x50MYB,63,100,50,M,YB,KSB--63x100.step +KSB63-100x75,63,100,75,,,KSB--63x100.step +KSB63-100x75FA,63,100,75,,FA,KSB--63x100.step +KSB63-100x75FB,63,100,75,,FB,KSB--63x100.step +KSB63-100x75CA,63,100,75,,CA,KSB--63x100.step +KSB63-100x75CB,63,100,75,,CB,KSB--63x100.step +KSB63-100x75LB,63,100,75,,LB,KSB--63x100.step +KSB63-100x75YB,63,100,75,,YB,KSB--63x100.step +KSB63-100x75M,63,100,75,M,,KSB--63x100.step +KSB63-100x75MFA,63,100,75,M,FA,KSB--63x100.step +KSB63-100x75MFB,63,100,75,M,FB,KSB--63x100.step +KSB63-100x75MCA,63,100,75,M,CA,KSB--63x100.step +KSB63-100x75MCB,63,100,75,M,CB,KSB--63x100.step +KSB63-100x75MLB,63,100,75,M,LB,KSB--63x100.step +KSB63-100x75MYB,63,100,75,M,YB,KSB--63x100.step +KSB63-100x100,63,100,100,,,KSB--63x100.step +KSB63-100x100FA,63,100,100,,FA,KSB--63x100.step +KSB63-100x100FB,63,100,100,,FB,KSB--63x100.step +KSB63-100x100CA,63,100,100,,CA,KSB--63x100.step +KSB63-100x100CB,63,100,100,,CB,KSB--63x100.step +KSB63-100x100LB,63,100,100,,LB,KSB--63x100.step +KSB63-100x100YB,63,100,100,,YB,KSB--63x100.step +KSB63-100x100M,63,100,100,M,,KSB--63x100.step +KSB63-100x100MFA,63,100,100,M,FA,KSB--63x100.step +KSB63-100x100MFB,63,100,100,M,FB,KSB--63x100.step +KSB63-100x100MCA,63,100,100,M,CA,KSB--63x100.step +KSB63-100x100MCB,63,100,100,M,CB,KSB--63x100.step +KSB63-100x100MLB,63,100,100,M,LB,KSB--63x100.step +KSB63-100x100MYB,63,100,100,M,YB,KSB--63x100.step +KSB80-0x0,80,0,0,,,KSB--80x0.step +KSB80-0x0FA,80,0,0,,FA,KSB--80x0.step +KSB80-0x0FB,80,0,0,,FB,KSB--80x0.step +KSB80-0x0CA,80,0,0,,CA,KSB--80x0.step +KSB80-0x0CB,80,0,0,,CB,KSB--80x0.step +KSB80-0x0LB,80,0,0,,LB,KSB--80x0.step +KSB80-0x0YB,80,0,0,,YB,KSB--80x0.step +KSB80-0x0M,80,0,0,M,,KSB--80x0.step +KSB80-0x0MFA,80,0,0,M,FA,KSB--80x0.step +KSB80-0x0MFB,80,0,0,M,FB,KSB--80x0.step +KSB80-0x0MCA,80,0,0,M,CA,KSB--80x0.step +KSB80-0x0MCB,80,0,0,M,CB,KSB--80x0.step +KSB80-0x0MLB,80,0,0,M,LB,KSB--80x0.step +KSB80-0x0MYB,80,0,0,M,YB,KSB--80x0.step +KSB80-0x10,80,0,10,,,KSB--80x0.step +KSB80-0x10FA,80,0,10,,FA,KSB--80x0.step +KSB80-0x10FB,80,0,10,,FB,KSB--80x0.step +KSB80-0x10CA,80,0,10,,CA,KSB--80x0.step +KSB80-0x10CB,80,0,10,,CB,KSB--80x0.step +KSB80-0x10LB,80,0,10,,LB,KSB--80x0.step +KSB80-0x10YB,80,0,10,,YB,KSB--80x0.step +KSB80-0x10M,80,0,10,M,,KSB--80x0.step +KSB80-0x10MFA,80,0,10,M,FA,KSB--80x0.step +KSB80-0x10MFB,80,0,10,M,FB,KSB--80x0.step +KSB80-0x10MCA,80,0,10,M,CA,KSB--80x0.step +KSB80-0x10MCB,80,0,10,M,CB,KSB--80x0.step +KSB80-0x10MLB,80,0,10,M,LB,KSB--80x0.step +KSB80-0x10MYB,80,0,10,M,YB,KSB--80x0.step +KSB80-0x20,80,0,20,,,KSB--80x0.step +KSB80-0x20FA,80,0,20,,FA,KSB--80x0.step +KSB80-0x20FB,80,0,20,,FB,KSB--80x0.step +KSB80-0x20CA,80,0,20,,CA,KSB--80x0.step +KSB80-0x20CB,80,0,20,,CB,KSB--80x0.step +KSB80-0x20LB,80,0,20,,LB,KSB--80x0.step +KSB80-0x20YB,80,0,20,,YB,KSB--80x0.step +KSB80-0x20M,80,0,20,M,,KSB--80x0.step +KSB80-0x20MFA,80,0,20,M,FA,KSB--80x0.step +KSB80-0x20MFB,80,0,20,M,FB,KSB--80x0.step +KSB80-0x20MCA,80,0,20,M,CA,KSB--80x0.step +KSB80-0x20MCB,80,0,20,M,CB,KSB--80x0.step +KSB80-0x20MLB,80,0,20,M,LB,KSB--80x0.step +KSB80-0x20MYB,80,0,20,M,YB,KSB--80x0.step +KSB80-0x30,80,0,30,,,KSB--80x0.step +KSB80-0x30FA,80,0,30,,FA,KSB--80x0.step +KSB80-0x30FB,80,0,30,,FB,KSB--80x0.step +KSB80-0x30CA,80,0,30,,CA,KSB--80x0.step +KSB80-0x30CB,80,0,30,,CB,KSB--80x0.step +KSB80-0x30LB,80,0,30,,LB,KSB--80x0.step +KSB80-0x30YB,80,0,30,,YB,KSB--80x0.step +KSB80-0x30M,80,0,30,M,,KSB--80x0.step +KSB80-0x30MFA,80,0,30,M,FA,KSB--80x0.step +KSB80-0x30MFB,80,0,30,M,FB,KSB--80x0.step +KSB80-0x30MCA,80,0,30,M,CA,KSB--80x0.step +KSB80-0x30MCB,80,0,30,M,CB,KSB--80x0.step +KSB80-0x30MLB,80,0,30,M,LB,KSB--80x0.step +KSB80-0x30MYB,80,0,30,M,YB,KSB--80x0.step +KSB80-0x50,80,0,50,,,KSB--80x0.step +KSB80-0x50FA,80,0,50,,FA,KSB--80x0.step +KSB80-0x50FB,80,0,50,,FB,KSB--80x0.step +KSB80-0x50CA,80,0,50,,CA,KSB--80x0.step +KSB80-0x50CB,80,0,50,,CB,KSB--80x0.step +KSB80-0x50LB,80,0,50,,LB,KSB--80x0.step +KSB80-0x50YB,80,0,50,,YB,KSB--80x0.step +KSB80-0x50M,80,0,50,M,,KSB--80x0.step +KSB80-0x50MFA,80,0,50,M,FA,KSB--80x0.step +KSB80-0x50MFB,80,0,50,M,FB,KSB--80x0.step +KSB80-0x50MCA,80,0,50,M,CA,KSB--80x0.step +KSB80-0x50MCB,80,0,50,M,CB,KSB--80x0.step +KSB80-0x50MLB,80,0,50,M,LB,KSB--80x0.step +KSB80-0x50MYB,80,0,50,M,YB,KSB--80x0.step +KSB80-0x75,80,0,75,,,KSB--80x0.step +KSB80-0x75FA,80,0,75,,FA,KSB--80x0.step +KSB80-0x75FB,80,0,75,,FB,KSB--80x0.step +KSB80-0x75CA,80,0,75,,CA,KSB--80x0.step +KSB80-0x75CB,80,0,75,,CB,KSB--80x0.step +KSB80-0x75LB,80,0,75,,LB,KSB--80x0.step +KSB80-0x75YB,80,0,75,,YB,KSB--80x0.step +KSB80-0x75M,80,0,75,M,,KSB--80x0.step +KSB80-0x75MFA,80,0,75,M,FA,KSB--80x0.step +KSB80-0x75MFB,80,0,75,M,FB,KSB--80x0.step +KSB80-0x75MCA,80,0,75,M,CA,KSB--80x0.step +KSB80-0x75MCB,80,0,75,M,CB,KSB--80x0.step +KSB80-0x75MLB,80,0,75,M,LB,KSB--80x0.step +KSB80-0x75MYB,80,0,75,M,YB,KSB--80x0.step +KSB80-0x100,80,0,100,,,KSB--80x0.step +KSB80-0x100FA,80,0,100,,FA,KSB--80x0.step +KSB80-0x100FB,80,0,100,,FB,KSB--80x0.step +KSB80-0x100CA,80,0,100,,CA,KSB--80x0.step +KSB80-0x100CB,80,0,100,,CB,KSB--80x0.step +KSB80-0x100LB,80,0,100,,LB,KSB--80x0.step +KSB80-0x100YB,80,0,100,,YB,KSB--80x0.step +KSB80-0x100M,80,0,100,M,,KSB--80x0.step +KSB80-0x100MFA,80,0,100,M,FA,KSB--80x0.step +KSB80-0x100MFB,80,0,100,M,FB,KSB--80x0.step +KSB80-0x100MCA,80,0,100,M,CA,KSB--80x0.step +KSB80-0x100MCB,80,0,100,M,CB,KSB--80x0.step +KSB80-0x100MLB,80,0,100,M,LB,KSB--80x0.step +KSB80-0x100MYB,80,0,100,M,YB,KSB--80x0.step +KSB80-10x0,80,10,0,,,KSB--80x10.step +KSB80-10x0FA,80,10,0,,FA,KSB--80x10.step +KSB80-10x0FB,80,10,0,,FB,KSB--80x10.step +KSB80-10x0CA,80,10,0,,CA,KSB--80x10.step +KSB80-10x0CB,80,10,0,,CB,KSB--80x10.step +KSB80-10x0LB,80,10,0,,LB,KSB--80x10.step +KSB80-10x0YB,80,10,0,,YB,KSB--80x10.step +KSB80-10x0M,80,10,0,M,,KSB--80x10.step +KSB80-10x0MFA,80,10,0,M,FA,KSB--80x10.step +KSB80-10x0MFB,80,10,0,M,FB,KSB--80x10.step +KSB80-10x0MCA,80,10,0,M,CA,KSB--80x10.step +KSB80-10x0MCB,80,10,0,M,CB,KSB--80x10.step +KSB80-10x0MLB,80,10,0,M,LB,KSB--80x10.step +KSB80-10x0MYB,80,10,0,M,YB,KSB--80x10.step +KSB80-10x10,80,10,10,,,KSB--80x10.step +KSB80-10x10FA,80,10,10,,FA,KSB--80x10.step +KSB80-10x10FB,80,10,10,,FB,KSB--80x10.step +KSB80-10x10CA,80,10,10,,CA,KSB--80x10.step +KSB80-10x10CB,80,10,10,,CB,KSB--80x10.step +KSB80-10x10LB,80,10,10,,LB,KSB--80x10.step +KSB80-10x10YB,80,10,10,,YB,KSB--80x10.step +KSB80-10x10M,80,10,10,M,,KSB--80x10.step +KSB80-10x10MFA,80,10,10,M,FA,KSB--80x10.step +KSB80-10x10MFB,80,10,10,M,FB,KSB--80x10.step +KSB80-10x10MCA,80,10,10,M,CA,KSB--80x10.step +KSB80-10x10MCB,80,10,10,M,CB,KSB--80x10.step +KSB80-10x10MLB,80,10,10,M,LB,KSB--80x10.step +KSB80-10x10MYB,80,10,10,M,YB,KSB--80x10.step +KSB80-10x20,80,10,20,,,KSB--80x10.step +KSB80-10x20FA,80,10,20,,FA,KSB--80x10.step +KSB80-10x20FB,80,10,20,,FB,KSB--80x10.step +KSB80-10x20CA,80,10,20,,CA,KSB--80x10.step +KSB80-10x20CB,80,10,20,,CB,KSB--80x10.step +KSB80-10x20LB,80,10,20,,LB,KSB--80x10.step +KSB80-10x20YB,80,10,20,,YB,KSB--80x10.step +KSB80-10x20M,80,10,20,M,,KSB--80x10.step +KSB80-10x20MFA,80,10,20,M,FA,KSB--80x10.step +KSB80-10x20MFB,80,10,20,M,FB,KSB--80x10.step +KSB80-10x20MCA,80,10,20,M,CA,KSB--80x10.step +KSB80-10x20MCB,80,10,20,M,CB,KSB--80x10.step +KSB80-10x20MLB,80,10,20,M,LB,KSB--80x10.step +KSB80-10x20MYB,80,10,20,M,YB,KSB--80x10.step +KSB80-10x30,80,10,30,,,KSB--80x10.step +KSB80-10x30FA,80,10,30,,FA,KSB--80x10.step +KSB80-10x30FB,80,10,30,,FB,KSB--80x10.step +KSB80-10x30CA,80,10,30,,CA,KSB--80x10.step +KSB80-10x30CB,80,10,30,,CB,KSB--80x10.step +KSB80-10x30LB,80,10,30,,LB,KSB--80x10.step +KSB80-10x30YB,80,10,30,,YB,KSB--80x10.step +KSB80-10x30M,80,10,30,M,,KSB--80x10.step +KSB80-10x30MFA,80,10,30,M,FA,KSB--80x10.step +KSB80-10x30MFB,80,10,30,M,FB,KSB--80x10.step +KSB80-10x30MCA,80,10,30,M,CA,KSB--80x10.step +KSB80-10x30MCB,80,10,30,M,CB,KSB--80x10.step +KSB80-10x30MLB,80,10,30,M,LB,KSB--80x10.step +KSB80-10x30MYB,80,10,30,M,YB,KSB--80x10.step +KSB80-10x50,80,10,50,,,KSB--80x10.step +KSB80-10x50FA,80,10,50,,FA,KSB--80x10.step +KSB80-10x50FB,80,10,50,,FB,KSB--80x10.step +KSB80-10x50CA,80,10,50,,CA,KSB--80x10.step +KSB80-10x50CB,80,10,50,,CB,KSB--80x10.step +KSB80-10x50LB,80,10,50,,LB,KSB--80x10.step +KSB80-10x50YB,80,10,50,,YB,KSB--80x10.step +KSB80-10x50M,80,10,50,M,,KSB--80x10.step +KSB80-10x50MFA,80,10,50,M,FA,KSB--80x10.step +KSB80-10x50MFB,80,10,50,M,FB,KSB--80x10.step +KSB80-10x50MCA,80,10,50,M,CA,KSB--80x10.step +KSB80-10x50MCB,80,10,50,M,CB,KSB--80x10.step +KSB80-10x50MLB,80,10,50,M,LB,KSB--80x10.step +KSB80-10x50MYB,80,10,50,M,YB,KSB--80x10.step +KSB80-10x75,80,10,75,,,KSB--80x10.step +KSB80-10x75FA,80,10,75,,FA,KSB--80x10.step +KSB80-10x75FB,80,10,75,,FB,KSB--80x10.step +KSB80-10x75CA,80,10,75,,CA,KSB--80x10.step +KSB80-10x75CB,80,10,75,,CB,KSB--80x10.step +KSB80-10x75LB,80,10,75,,LB,KSB--80x10.step +KSB80-10x75YB,80,10,75,,YB,KSB--80x10.step +KSB80-10x75M,80,10,75,M,,KSB--80x10.step +KSB80-10x75MFA,80,10,75,M,FA,KSB--80x10.step +KSB80-10x75MFB,80,10,75,M,FB,KSB--80x10.step +KSB80-10x75MCA,80,10,75,M,CA,KSB--80x10.step +KSB80-10x75MCB,80,10,75,M,CB,KSB--80x10.step +KSB80-10x75MLB,80,10,75,M,LB,KSB--80x10.step +KSB80-10x75MYB,80,10,75,M,YB,KSB--80x10.step +KSB80-10x100,80,10,100,,,KSB--80x10.step +KSB80-10x100FA,80,10,100,,FA,KSB--80x10.step +KSB80-10x100FB,80,10,100,,FB,KSB--80x10.step +KSB80-10x100CA,80,10,100,,CA,KSB--80x10.step +KSB80-10x100CB,80,10,100,,CB,KSB--80x10.step +KSB80-10x100LB,80,10,100,,LB,KSB--80x10.step +KSB80-10x100YB,80,10,100,,YB,KSB--80x10.step +KSB80-10x100M,80,10,100,M,,KSB--80x10.step +KSB80-10x100MFA,80,10,100,M,FA,KSB--80x10.step +KSB80-10x100MFB,80,10,100,M,FB,KSB--80x10.step +KSB80-10x100MCA,80,10,100,M,CA,KSB--80x10.step +KSB80-10x100MCB,80,10,100,M,CB,KSB--80x10.step +KSB80-10x100MLB,80,10,100,M,LB,KSB--80x10.step +KSB80-10x100MYB,80,10,100,M,YB,KSB--80x10.step +KSB80-20x0,80,20,0,,,KSB--80x20.step +KSB80-20x0FA,80,20,0,,FA,KSB--80x20.step +KSB80-20x0FB,80,20,0,,FB,KSB--80x20.step +KSB80-20x0CA,80,20,0,,CA,KSB--80x20.step +KSB80-20x0CB,80,20,0,,CB,KSB--80x20.step +KSB80-20x0LB,80,20,0,,LB,KSB--80x20.step +KSB80-20x0YB,80,20,0,,YB,KSB--80x20.step +KSB80-20x0M,80,20,0,M,,KSB--80x20.step +KSB80-20x0MFA,80,20,0,M,FA,KSB--80x20.step +KSB80-20x0MFB,80,20,0,M,FB,KSB--80x20.step +KSB80-20x0MCA,80,20,0,M,CA,KSB--80x20.step +KSB80-20x0MCB,80,20,0,M,CB,KSB--80x20.step +KSB80-20x0MLB,80,20,0,M,LB,KSB--80x20.step +KSB80-20x0MYB,80,20,0,M,YB,KSB--80x20.step +KSB80-20x10,80,20,10,,,KSB--80x20.step +KSB80-20x10FA,80,20,10,,FA,KSB--80x20.step +KSB80-20x10FB,80,20,10,,FB,KSB--80x20.step +KSB80-20x10CA,80,20,10,,CA,KSB--80x20.step +KSB80-20x10CB,80,20,10,,CB,KSB--80x20.step +KSB80-20x10LB,80,20,10,,LB,KSB--80x20.step +KSB80-20x10YB,80,20,10,,YB,KSB--80x20.step +KSB80-20x10M,80,20,10,M,,KSB--80x20.step +KSB80-20x10MFA,80,20,10,M,FA,KSB--80x20.step +KSB80-20x10MFB,80,20,10,M,FB,KSB--80x20.step +KSB80-20x10MCA,80,20,10,M,CA,KSB--80x20.step +KSB80-20x10MCB,80,20,10,M,CB,KSB--80x20.step +KSB80-20x10MLB,80,20,10,M,LB,KSB--80x20.step +KSB80-20x10MYB,80,20,10,M,YB,KSB--80x20.step +KSB80-20x20,80,20,20,,,KSB--80x20.step +KSB80-20x20FA,80,20,20,,FA,KSB--80x20.step +KSB80-20x20FB,80,20,20,,FB,KSB--80x20.step +KSB80-20x20CA,80,20,20,,CA,KSB--80x20.step +KSB80-20x20CB,80,20,20,,CB,KSB--80x20.step +KSB80-20x20LB,80,20,20,,LB,KSB--80x20.step +KSB80-20x20YB,80,20,20,,YB,KSB--80x20.step +KSB80-20x20M,80,20,20,M,,KSB--80x20.step +KSB80-20x20MFA,80,20,20,M,FA,KSB--80x20.step +KSB80-20x20MFB,80,20,20,M,FB,KSB--80x20.step +KSB80-20x20MCA,80,20,20,M,CA,KSB--80x20.step +KSB80-20x20MCB,80,20,20,M,CB,KSB--80x20.step +KSB80-20x20MLB,80,20,20,M,LB,KSB--80x20.step +KSB80-20x20MYB,80,20,20,M,YB,KSB--80x20.step +KSB80-20x30,80,20,30,,,KSB--80x20.step +KSB80-20x30FA,80,20,30,,FA,KSB--80x20.step +KSB80-20x30FB,80,20,30,,FB,KSB--80x20.step +KSB80-20x30CA,80,20,30,,CA,KSB--80x20.step +KSB80-20x30CB,80,20,30,,CB,KSB--80x20.step +KSB80-20x30LB,80,20,30,,LB,KSB--80x20.step +KSB80-20x30YB,80,20,30,,YB,KSB--80x20.step +KSB80-20x30M,80,20,30,M,,KSB--80x20.step +KSB80-20x30MFA,80,20,30,M,FA,KSB--80x20.step +KSB80-20x30MFB,80,20,30,M,FB,KSB--80x20.step +KSB80-20x30MCA,80,20,30,M,CA,KSB--80x20.step +KSB80-20x30MCB,80,20,30,M,CB,KSB--80x20.step +KSB80-20x30MLB,80,20,30,M,LB,KSB--80x20.step +KSB80-20x30MYB,80,20,30,M,YB,KSB--80x20.step +KSB80-20x50,80,20,50,,,KSB--80x20.step +KSB80-20x50FA,80,20,50,,FA,KSB--80x20.step +KSB80-20x50FB,80,20,50,,FB,KSB--80x20.step +KSB80-20x50CA,80,20,50,,CA,KSB--80x20.step +KSB80-20x50CB,80,20,50,,CB,KSB--80x20.step +KSB80-20x50LB,80,20,50,,LB,KSB--80x20.step +KSB80-20x50YB,80,20,50,,YB,KSB--80x20.step +KSB80-20x50M,80,20,50,M,,KSB--80x20.step +KSB80-20x50MFA,80,20,50,M,FA,KSB--80x20.step +KSB80-20x50MFB,80,20,50,M,FB,KSB--80x20.step +KSB80-20x50MCA,80,20,50,M,CA,KSB--80x20.step +KSB80-20x50MCB,80,20,50,M,CB,KSB--80x20.step +KSB80-20x50MLB,80,20,50,M,LB,KSB--80x20.step +KSB80-20x50MYB,80,20,50,M,YB,KSB--80x20.step +KSB80-20x75,80,20,75,,,KSB--80x20.step +KSB80-20x75FA,80,20,75,,FA,KSB--80x20.step +KSB80-20x75FB,80,20,75,,FB,KSB--80x20.step +KSB80-20x75CA,80,20,75,,CA,KSB--80x20.step +KSB80-20x75CB,80,20,75,,CB,KSB--80x20.step +KSB80-20x75LB,80,20,75,,LB,KSB--80x20.step +KSB80-20x75YB,80,20,75,,YB,KSB--80x20.step +KSB80-20x75M,80,20,75,M,,KSB--80x20.step +KSB80-20x75MFA,80,20,75,M,FA,KSB--80x20.step +KSB80-20x75MFB,80,20,75,M,FB,KSB--80x20.step +KSB80-20x75MCA,80,20,75,M,CA,KSB--80x20.step +KSB80-20x75MCB,80,20,75,M,CB,KSB--80x20.step +KSB80-20x75MLB,80,20,75,M,LB,KSB--80x20.step +KSB80-20x75MYB,80,20,75,M,YB,KSB--80x20.step +KSB80-20x100,80,20,100,,,KSB--80x20.step +KSB80-20x100FA,80,20,100,,FA,KSB--80x20.step +KSB80-20x100FB,80,20,100,,FB,KSB--80x20.step +KSB80-20x100CA,80,20,100,,CA,KSB--80x20.step +KSB80-20x100CB,80,20,100,,CB,KSB--80x20.step +KSB80-20x100LB,80,20,100,,LB,KSB--80x20.step +KSB80-20x100YB,80,20,100,,YB,KSB--80x20.step +KSB80-20x100M,80,20,100,M,,KSB--80x20.step +KSB80-20x100MFA,80,20,100,M,FA,KSB--80x20.step +KSB80-20x100MFB,80,20,100,M,FB,KSB--80x20.step +KSB80-20x100MCA,80,20,100,M,CA,KSB--80x20.step +KSB80-20x100MCB,80,20,100,M,CB,KSB--80x20.step +KSB80-20x100MLB,80,20,100,M,LB,KSB--80x20.step +KSB80-20x100MYB,80,20,100,M,YB,KSB--80x20.step +KSB80-30x0,80,30,0,,,KSB--80x30.step +KSB80-30x0FA,80,30,0,,FA,KSB--80x30.step +KSB80-30x0FB,80,30,0,,FB,KSB--80x30.step +KSB80-30x0CA,80,30,0,,CA,KSB--80x30.step +KSB80-30x0CB,80,30,0,,CB,KSB--80x30.step +KSB80-30x0LB,80,30,0,,LB,KSB--80x30.step +KSB80-30x0YB,80,30,0,,YB,KSB--80x30.step +KSB80-30x0M,80,30,0,M,,KSB--80x30.step +KSB80-30x0MFA,80,30,0,M,FA,KSB--80x30.step +KSB80-30x0MFB,80,30,0,M,FB,KSB--80x30.step +KSB80-30x0MCA,80,30,0,M,CA,KSB--80x30.step +KSB80-30x0MCB,80,30,0,M,CB,KSB--80x30.step +KSB80-30x0MLB,80,30,0,M,LB,KSB--80x30.step +KSB80-30x0MYB,80,30,0,M,YB,KSB--80x30.step +KSB80-30x10,80,30,10,,,KSB--80x30.step +KSB80-30x10FA,80,30,10,,FA,KSB--80x30.step +KSB80-30x10FB,80,30,10,,FB,KSB--80x30.step +KSB80-30x10CA,80,30,10,,CA,KSB--80x30.step +KSB80-30x10CB,80,30,10,,CB,KSB--80x30.step +KSB80-30x10LB,80,30,10,,LB,KSB--80x30.step +KSB80-30x10YB,80,30,10,,YB,KSB--80x30.step +KSB80-30x10M,80,30,10,M,,KSB--80x30.step +KSB80-30x10MFA,80,30,10,M,FA,KSB--80x30.step +KSB80-30x10MFB,80,30,10,M,FB,KSB--80x30.step +KSB80-30x10MCA,80,30,10,M,CA,KSB--80x30.step +KSB80-30x10MCB,80,30,10,M,CB,KSB--80x30.step +KSB80-30x10MLB,80,30,10,M,LB,KSB--80x30.step +KSB80-30x10MYB,80,30,10,M,YB,KSB--80x30.step +KSB80-30x20,80,30,20,,,KSB--80x30.step +KSB80-30x20FA,80,30,20,,FA,KSB--80x30.step +KSB80-30x20FB,80,30,20,,FB,KSB--80x30.step +KSB80-30x20CA,80,30,20,,CA,KSB--80x30.step +KSB80-30x20CB,80,30,20,,CB,KSB--80x30.step +KSB80-30x20LB,80,30,20,,LB,KSB--80x30.step +KSB80-30x20YB,80,30,20,,YB,KSB--80x30.step +KSB80-30x20M,80,30,20,M,,KSB--80x30.step +KSB80-30x20MFA,80,30,20,M,FA,KSB--80x30.step +KSB80-30x20MFB,80,30,20,M,FB,KSB--80x30.step +KSB80-30x20MCA,80,30,20,M,CA,KSB--80x30.step +KSB80-30x20MCB,80,30,20,M,CB,KSB--80x30.step +KSB80-30x20MLB,80,30,20,M,LB,KSB--80x30.step +KSB80-30x20MYB,80,30,20,M,YB,KSB--80x30.step +KSB80-30x30,80,30,30,,,KSB--80x30.step +KSB80-30x30FA,80,30,30,,FA,KSB--80x30.step +KSB80-30x30FB,80,30,30,,FB,KSB--80x30.step +KSB80-30x30CA,80,30,30,,CA,KSB--80x30.step +KSB80-30x30CB,80,30,30,,CB,KSB--80x30.step +KSB80-30x30LB,80,30,30,,LB,KSB--80x30.step +KSB80-30x30YB,80,30,30,,YB,KSB--80x30.step +KSB80-30x30M,80,30,30,M,,KSB--80x30.step +KSB80-30x30MFA,80,30,30,M,FA,KSB--80x30.step +KSB80-30x30MFB,80,30,30,M,FB,KSB--80x30.step +KSB80-30x30MCA,80,30,30,M,CA,KSB--80x30.step +KSB80-30x30MCB,80,30,30,M,CB,KSB--80x30.step +KSB80-30x30MLB,80,30,30,M,LB,KSB--80x30.step +KSB80-30x30MYB,80,30,30,M,YB,KSB--80x30.step +KSB80-30x50,80,30,50,,,KSB--80x30.step +KSB80-30x50FA,80,30,50,,FA,KSB--80x30.step +KSB80-30x50FB,80,30,50,,FB,KSB--80x30.step +KSB80-30x50CA,80,30,50,,CA,KSB--80x30.step +KSB80-30x50CB,80,30,50,,CB,KSB--80x30.step +KSB80-30x50LB,80,30,50,,LB,KSB--80x30.step +KSB80-30x50YB,80,30,50,,YB,KSB--80x30.step +KSB80-30x50M,80,30,50,M,,KSB--80x30.step +KSB80-30x50MFA,80,30,50,M,FA,KSB--80x30.step +KSB80-30x50MFB,80,30,50,M,FB,KSB--80x30.step +KSB80-30x50MCA,80,30,50,M,CA,KSB--80x30.step +KSB80-30x50MCB,80,30,50,M,CB,KSB--80x30.step +KSB80-30x50MLB,80,30,50,M,LB,KSB--80x30.step +KSB80-30x50MYB,80,30,50,M,YB,KSB--80x30.step +KSB80-30x75,80,30,75,,,KSB--80x30.step +KSB80-30x75FA,80,30,75,,FA,KSB--80x30.step +KSB80-30x75FB,80,30,75,,FB,KSB--80x30.step +KSB80-30x75CA,80,30,75,,CA,KSB--80x30.step +KSB80-30x75CB,80,30,75,,CB,KSB--80x30.step +KSB80-30x75LB,80,30,75,,LB,KSB--80x30.step +KSB80-30x75YB,80,30,75,,YB,KSB--80x30.step +KSB80-30x75M,80,30,75,M,,KSB--80x30.step +KSB80-30x75MFA,80,30,75,M,FA,KSB--80x30.step +KSB80-30x75MFB,80,30,75,M,FB,KSB--80x30.step +KSB80-30x75MCA,80,30,75,M,CA,KSB--80x30.step +KSB80-30x75MCB,80,30,75,M,CB,KSB--80x30.step +KSB80-30x75MLB,80,30,75,M,LB,KSB--80x30.step +KSB80-30x75MYB,80,30,75,M,YB,KSB--80x30.step +KSB80-30x100,80,30,100,,,KSB--80x30.step +KSB80-30x100FA,80,30,100,,FA,KSB--80x30.step +KSB80-30x100FB,80,30,100,,FB,KSB--80x30.step +KSB80-30x100CA,80,30,100,,CA,KSB--80x30.step +KSB80-30x100CB,80,30,100,,CB,KSB--80x30.step +KSB80-30x100LB,80,30,100,,LB,KSB--80x30.step +KSB80-30x100YB,80,30,100,,YB,KSB--80x30.step +KSB80-30x100M,80,30,100,M,,KSB--80x30.step +KSB80-30x100MFA,80,30,100,M,FA,KSB--80x30.step +KSB80-30x100MFB,80,30,100,M,FB,KSB--80x30.step +KSB80-30x100MCA,80,30,100,M,CA,KSB--80x30.step +KSB80-30x100MCB,80,30,100,M,CB,KSB--80x30.step +KSB80-30x100MLB,80,30,100,M,LB,KSB--80x30.step +KSB80-30x100MYB,80,30,100,M,YB,KSB--80x30.step +KSB80-50x0,80,50,0,,,KSB--80x50.step +KSB80-50x0FA,80,50,0,,FA,KSB--80x50.step +KSB80-50x0FB,80,50,0,,FB,KSB--80x50.step +KSB80-50x0CA,80,50,0,,CA,KSB--80x50.step +KSB80-50x0CB,80,50,0,,CB,KSB--80x50.step +KSB80-50x0LB,80,50,0,,LB,KSB--80x50.step +KSB80-50x0YB,80,50,0,,YB,KSB--80x50.step +KSB80-50x0M,80,50,0,M,,KSB--80x50.step +KSB80-50x0MFA,80,50,0,M,FA,KSB--80x50.step +KSB80-50x0MFB,80,50,0,M,FB,KSB--80x50.step +KSB80-50x0MCA,80,50,0,M,CA,KSB--80x50.step +KSB80-50x0MCB,80,50,0,M,CB,KSB--80x50.step +KSB80-50x0MLB,80,50,0,M,LB,KSB--80x50.step +KSB80-50x0MYB,80,50,0,M,YB,KSB--80x50.step +KSB80-50x10,80,50,10,,,KSB--80x50.step +KSB80-50x10FA,80,50,10,,FA,KSB--80x50.step +KSB80-50x10FB,80,50,10,,FB,KSB--80x50.step +KSB80-50x10CA,80,50,10,,CA,KSB--80x50.step +KSB80-50x10CB,80,50,10,,CB,KSB--80x50.step +KSB80-50x10LB,80,50,10,,LB,KSB--80x50.step +KSB80-50x10YB,80,50,10,,YB,KSB--80x50.step +KSB80-50x10M,80,50,10,M,,KSB--80x50.step +KSB80-50x10MFA,80,50,10,M,FA,KSB--80x50.step +KSB80-50x10MFB,80,50,10,M,FB,KSB--80x50.step +KSB80-50x10MCA,80,50,10,M,CA,KSB--80x50.step +KSB80-50x10MCB,80,50,10,M,CB,KSB--80x50.step +KSB80-50x10MLB,80,50,10,M,LB,KSB--80x50.step +KSB80-50x10MYB,80,50,10,M,YB,KSB--80x50.step +KSB80-50x20,80,50,20,,,KSB--80x50.step +KSB80-50x20FA,80,50,20,,FA,KSB--80x50.step +KSB80-50x20FB,80,50,20,,FB,KSB--80x50.step +KSB80-50x20CA,80,50,20,,CA,KSB--80x50.step +KSB80-50x20CB,80,50,20,,CB,KSB--80x50.step +KSB80-50x20LB,80,50,20,,LB,KSB--80x50.step +KSB80-50x20YB,80,50,20,,YB,KSB--80x50.step +KSB80-50x20M,80,50,20,M,,KSB--80x50.step +KSB80-50x20MFA,80,50,20,M,FA,KSB--80x50.step +KSB80-50x20MFB,80,50,20,M,FB,KSB--80x50.step +KSB80-50x20MCA,80,50,20,M,CA,KSB--80x50.step +KSB80-50x20MCB,80,50,20,M,CB,KSB--80x50.step +KSB80-50x20MLB,80,50,20,M,LB,KSB--80x50.step +KSB80-50x20MYB,80,50,20,M,YB,KSB--80x50.step +KSB80-50x30,80,50,30,,,KSB--80x50.step +KSB80-50x30FA,80,50,30,,FA,KSB--80x50.step +KSB80-50x30FB,80,50,30,,FB,KSB--80x50.step +KSB80-50x30CA,80,50,30,,CA,KSB--80x50.step +KSB80-50x30CB,80,50,30,,CB,KSB--80x50.step +KSB80-50x30LB,80,50,30,,LB,KSB--80x50.step +KSB80-50x30YB,80,50,30,,YB,KSB--80x50.step +KSB80-50x30M,80,50,30,M,,KSB--80x50.step +KSB80-50x30MFA,80,50,30,M,FA,KSB--80x50.step +KSB80-50x30MFB,80,50,30,M,FB,KSB--80x50.step +KSB80-50x30MCA,80,50,30,M,CA,KSB--80x50.step +KSB80-50x30MCB,80,50,30,M,CB,KSB--80x50.step +KSB80-50x30MLB,80,50,30,M,LB,KSB--80x50.step +KSB80-50x30MYB,80,50,30,M,YB,KSB--80x50.step +KSB80-50x50,80,50,50,,,KSB--80x50.step +KSB80-50x50FA,80,50,50,,FA,KSB--80x50.step +KSB80-50x50FB,80,50,50,,FB,KSB--80x50.step +KSB80-50x50CA,80,50,50,,CA,KSB--80x50.step +KSB80-50x50CB,80,50,50,,CB,KSB--80x50.step +KSB80-50x50LB,80,50,50,,LB,KSB--80x50.step +KSB80-50x50YB,80,50,50,,YB,KSB--80x50.step +KSB80-50x50M,80,50,50,M,,KSB--80x50.step +KSB80-50x50MFA,80,50,50,M,FA,KSB--80x50.step +KSB80-50x50MFB,80,50,50,M,FB,KSB--80x50.step +KSB80-50x50MCA,80,50,50,M,CA,KSB--80x50.step +KSB80-50x50MCB,80,50,50,M,CB,KSB--80x50.step +KSB80-50x50MLB,80,50,50,M,LB,KSB--80x50.step +KSB80-50x50MYB,80,50,50,M,YB,KSB--80x50.step +KSB80-50x75,80,50,75,,,KSB--80x50.step +KSB80-50x75FA,80,50,75,,FA,KSB--80x50.step +KSB80-50x75FB,80,50,75,,FB,KSB--80x50.step +KSB80-50x75CA,80,50,75,,CA,KSB--80x50.step +KSB80-50x75CB,80,50,75,,CB,KSB--80x50.step +KSB80-50x75LB,80,50,75,,LB,KSB--80x50.step +KSB80-50x75YB,80,50,75,,YB,KSB--80x50.step +KSB80-50x75M,80,50,75,M,,KSB--80x50.step +KSB80-50x75MFA,80,50,75,M,FA,KSB--80x50.step +KSB80-50x75MFB,80,50,75,M,FB,KSB--80x50.step +KSB80-50x75MCA,80,50,75,M,CA,KSB--80x50.step +KSB80-50x75MCB,80,50,75,M,CB,KSB--80x50.step +KSB80-50x75MLB,80,50,75,M,LB,KSB--80x50.step +KSB80-50x75MYB,80,50,75,M,YB,KSB--80x50.step +KSB80-50x100,80,50,100,,,KSB--80x50.step +KSB80-50x100FA,80,50,100,,FA,KSB--80x50.step +KSB80-50x100FB,80,50,100,,FB,KSB--80x50.step +KSB80-50x100CA,80,50,100,,CA,KSB--80x50.step +KSB80-50x100CB,80,50,100,,CB,KSB--80x50.step +KSB80-50x100LB,80,50,100,,LB,KSB--80x50.step +KSB80-50x100YB,80,50,100,,YB,KSB--80x50.step +KSB80-50x100M,80,50,100,M,,KSB--80x50.step +KSB80-50x100MFA,80,50,100,M,FA,KSB--80x50.step +KSB80-50x100MFB,80,50,100,M,FB,KSB--80x50.step +KSB80-50x100MCA,80,50,100,M,CA,KSB--80x50.step +KSB80-50x100MCB,80,50,100,M,CB,KSB--80x50.step +KSB80-50x100MLB,80,50,100,M,LB,KSB--80x50.step +KSB80-50x100MYB,80,50,100,M,YB,KSB--80x50.step +KSB80-75x0,80,75,0,,,KSB--80x75.step +KSB80-75x0FA,80,75,0,,FA,KSB--80x75.step +KSB80-75x0FB,80,75,0,,FB,KSB--80x75.step +KSB80-75x0CA,80,75,0,,CA,KSB--80x75.step +KSB80-75x0CB,80,75,0,,CB,KSB--80x75.step +KSB80-75x0LB,80,75,0,,LB,KSB--80x75.step +KSB80-75x0YB,80,75,0,,YB,KSB--80x75.step +KSB80-75x0M,80,75,0,M,,KSB--80x75.step +KSB80-75x0MFA,80,75,0,M,FA,KSB--80x75.step +KSB80-75x0MFB,80,75,0,M,FB,KSB--80x75.step +KSB80-75x0MCA,80,75,0,M,CA,KSB--80x75.step +KSB80-75x0MCB,80,75,0,M,CB,KSB--80x75.step +KSB80-75x0MLB,80,75,0,M,LB,KSB--80x75.step +KSB80-75x0MYB,80,75,0,M,YB,KSB--80x75.step +KSB80-75x10,80,75,10,,,KSB--80x75.step +KSB80-75x10FA,80,75,10,,FA,KSB--80x75.step +KSB80-75x10FB,80,75,10,,FB,KSB--80x75.step +KSB80-75x10CA,80,75,10,,CA,KSB--80x75.step +KSB80-75x10CB,80,75,10,,CB,KSB--80x75.step +KSB80-75x10LB,80,75,10,,LB,KSB--80x75.step +KSB80-75x10YB,80,75,10,,YB,KSB--80x75.step +KSB80-75x10M,80,75,10,M,,KSB--80x75.step +KSB80-75x10MFA,80,75,10,M,FA,KSB--80x75.step +KSB80-75x10MFB,80,75,10,M,FB,KSB--80x75.step +KSB80-75x10MCA,80,75,10,M,CA,KSB--80x75.step +KSB80-75x10MCB,80,75,10,M,CB,KSB--80x75.step +KSB80-75x10MLB,80,75,10,M,LB,KSB--80x75.step +KSB80-75x10MYB,80,75,10,M,YB,KSB--80x75.step +KSB80-75x20,80,75,20,,,KSB--80x75.step +KSB80-75x20FA,80,75,20,,FA,KSB--80x75.step +KSB80-75x20FB,80,75,20,,FB,KSB--80x75.step +KSB80-75x20CA,80,75,20,,CA,KSB--80x75.step +KSB80-75x20CB,80,75,20,,CB,KSB--80x75.step +KSB80-75x20LB,80,75,20,,LB,KSB--80x75.step +KSB80-75x20YB,80,75,20,,YB,KSB--80x75.step +KSB80-75x20M,80,75,20,M,,KSB--80x75.step +KSB80-75x20MFA,80,75,20,M,FA,KSB--80x75.step +KSB80-75x20MFB,80,75,20,M,FB,KSB--80x75.step +KSB80-75x20MCA,80,75,20,M,CA,KSB--80x75.step +KSB80-75x20MCB,80,75,20,M,CB,KSB--80x75.step +KSB80-75x20MLB,80,75,20,M,LB,KSB--80x75.step +KSB80-75x20MYB,80,75,20,M,YB,KSB--80x75.step +KSB80-75x30,80,75,30,,,KSB--80x75.step +KSB80-75x30FA,80,75,30,,FA,KSB--80x75.step +KSB80-75x30FB,80,75,30,,FB,KSB--80x75.step +KSB80-75x30CA,80,75,30,,CA,KSB--80x75.step +KSB80-75x30CB,80,75,30,,CB,KSB--80x75.step +KSB80-75x30LB,80,75,30,,LB,KSB--80x75.step +KSB80-75x30YB,80,75,30,,YB,KSB--80x75.step +KSB80-75x30M,80,75,30,M,,KSB--80x75.step +KSB80-75x30MFA,80,75,30,M,FA,KSB--80x75.step +KSB80-75x30MFB,80,75,30,M,FB,KSB--80x75.step +KSB80-75x30MCA,80,75,30,M,CA,KSB--80x75.step +KSB80-75x30MCB,80,75,30,M,CB,KSB--80x75.step +KSB80-75x30MLB,80,75,30,M,LB,KSB--80x75.step +KSB80-75x30MYB,80,75,30,M,YB,KSB--80x75.step +KSB80-75x50,80,75,50,,,KSB--80x75.step +KSB80-75x50FA,80,75,50,,FA,KSB--80x75.step +KSB80-75x50FB,80,75,50,,FB,KSB--80x75.step +KSB80-75x50CA,80,75,50,,CA,KSB--80x75.step +KSB80-75x50CB,80,75,50,,CB,KSB--80x75.step +KSB80-75x50LB,80,75,50,,LB,KSB--80x75.step +KSB80-75x50YB,80,75,50,,YB,KSB--80x75.step +KSB80-75x50M,80,75,50,M,,KSB--80x75.step +KSB80-75x50MFA,80,75,50,M,FA,KSB--80x75.step +KSB80-75x50MFB,80,75,50,M,FB,KSB--80x75.step +KSB80-75x50MCA,80,75,50,M,CA,KSB--80x75.step +KSB80-75x50MCB,80,75,50,M,CB,KSB--80x75.step +KSB80-75x50MLB,80,75,50,M,LB,KSB--80x75.step +KSB80-75x50MYB,80,75,50,M,YB,KSB--80x75.step +KSB80-75x75,80,75,75,,,KSB--80x75.step +KSB80-75x75FA,80,75,75,,FA,KSB--80x75.step +KSB80-75x75FB,80,75,75,,FB,KSB--80x75.step +KSB80-75x75CA,80,75,75,,CA,KSB--80x75.step +KSB80-75x75CB,80,75,75,,CB,KSB--80x75.step +KSB80-75x75LB,80,75,75,,LB,KSB--80x75.step +KSB80-75x75YB,80,75,75,,YB,KSB--80x75.step +KSB80-75x75M,80,75,75,M,,KSB--80x75.step +KSB80-75x75MFA,80,75,75,M,FA,KSB--80x75.step +KSB80-75x75MFB,80,75,75,M,FB,KSB--80x75.step +KSB80-75x75MCA,80,75,75,M,CA,KSB--80x75.step +KSB80-75x75MCB,80,75,75,M,CB,KSB--80x75.step +KSB80-75x75MLB,80,75,75,M,LB,KSB--80x75.step +KSB80-75x75MYB,80,75,75,M,YB,KSB--80x75.step +KSB80-75x100,80,75,100,,,KSB--80x75.step +KSB80-75x100FA,80,75,100,,FA,KSB--80x75.step +KSB80-75x100FB,80,75,100,,FB,KSB--80x75.step +KSB80-75x100CA,80,75,100,,CA,KSB--80x75.step +KSB80-75x100CB,80,75,100,,CB,KSB--80x75.step +KSB80-75x100LB,80,75,100,,LB,KSB--80x75.step +KSB80-75x100YB,80,75,100,,YB,KSB--80x75.step +KSB80-75x100M,80,75,100,M,,KSB--80x75.step +KSB80-75x100MFA,80,75,100,M,FA,KSB--80x75.step +KSB80-75x100MFB,80,75,100,M,FB,KSB--80x75.step +KSB80-75x100MCA,80,75,100,M,CA,KSB--80x75.step +KSB80-75x100MCB,80,75,100,M,CB,KSB--80x75.step +KSB80-75x100MLB,80,75,100,M,LB,KSB--80x75.step +KSB80-75x100MYB,80,75,100,M,YB,KSB--80x75.step +KSB80-100x0,80,100,0,,,KSB--80x100.step +KSB80-100x0FA,80,100,0,,FA,KSB--80x100.step +KSB80-100x0FB,80,100,0,,FB,KSB--80x100.step +KSB80-100x0CA,80,100,0,,CA,KSB--80x100.step +KSB80-100x0CB,80,100,0,,CB,KSB--80x100.step +KSB80-100x0LB,80,100,0,,LB,KSB--80x100.step +KSB80-100x0YB,80,100,0,,YB,KSB--80x100.step +KSB80-100x0M,80,100,0,M,,KSB--80x100.step +KSB80-100x0MFA,80,100,0,M,FA,KSB--80x100.step +KSB80-100x0MFB,80,100,0,M,FB,KSB--80x100.step +KSB80-100x0MCA,80,100,0,M,CA,KSB--80x100.step +KSB80-100x0MCB,80,100,0,M,CB,KSB--80x100.step +KSB80-100x0MLB,80,100,0,M,LB,KSB--80x100.step +KSB80-100x0MYB,80,100,0,M,YB,KSB--80x100.step +KSB80-100x10,80,100,10,,,KSB--80x100.step +KSB80-100x10FA,80,100,10,,FA,KSB--80x100.step +KSB80-100x10FB,80,100,10,,FB,KSB--80x100.step +KSB80-100x10CA,80,100,10,,CA,KSB--80x100.step +KSB80-100x10CB,80,100,10,,CB,KSB--80x100.step +KSB80-100x10LB,80,100,10,,LB,KSB--80x100.step +KSB80-100x10YB,80,100,10,,YB,KSB--80x100.step +KSB80-100x10M,80,100,10,M,,KSB--80x100.step +KSB80-100x10MFA,80,100,10,M,FA,KSB--80x100.step +KSB80-100x10MFB,80,100,10,M,FB,KSB--80x100.step +KSB80-100x10MCA,80,100,10,M,CA,KSB--80x100.step +KSB80-100x10MCB,80,100,10,M,CB,KSB--80x100.step +KSB80-100x10MLB,80,100,10,M,LB,KSB--80x100.step +KSB80-100x10MYB,80,100,10,M,YB,KSB--80x100.step +KSB80-100x20,80,100,20,,,KSB--80x100.step +KSB80-100x20FA,80,100,20,,FA,KSB--80x100.step +KSB80-100x20FB,80,100,20,,FB,KSB--80x100.step +KSB80-100x20CA,80,100,20,,CA,KSB--80x100.step +KSB80-100x20CB,80,100,20,,CB,KSB--80x100.step +KSB80-100x20LB,80,100,20,,LB,KSB--80x100.step +KSB80-100x20YB,80,100,20,,YB,KSB--80x100.step +KSB80-100x20M,80,100,20,M,,KSB--80x100.step +KSB80-100x20MFA,80,100,20,M,FA,KSB--80x100.step +KSB80-100x20MFB,80,100,20,M,FB,KSB--80x100.step +KSB80-100x20MCA,80,100,20,M,CA,KSB--80x100.step +KSB80-100x20MCB,80,100,20,M,CB,KSB--80x100.step +KSB80-100x20MLB,80,100,20,M,LB,KSB--80x100.step +KSB80-100x20MYB,80,100,20,M,YB,KSB--80x100.step +KSB80-100x30,80,100,30,,,KSB--80x100.step +KSB80-100x30FA,80,100,30,,FA,KSB--80x100.step +KSB80-100x30FB,80,100,30,,FB,KSB--80x100.step +KSB80-100x30CA,80,100,30,,CA,KSB--80x100.step +KSB80-100x30CB,80,100,30,,CB,KSB--80x100.step +KSB80-100x30LB,80,100,30,,LB,KSB--80x100.step +KSB80-100x30YB,80,100,30,,YB,KSB--80x100.step +KSB80-100x30M,80,100,30,M,,KSB--80x100.step +KSB80-100x30MFA,80,100,30,M,FA,KSB--80x100.step +KSB80-100x30MFB,80,100,30,M,FB,KSB--80x100.step +KSB80-100x30MCA,80,100,30,M,CA,KSB--80x100.step +KSB80-100x30MCB,80,100,30,M,CB,KSB--80x100.step +KSB80-100x30MLB,80,100,30,M,LB,KSB--80x100.step +KSB80-100x30MYB,80,100,30,M,YB,KSB--80x100.step +KSB80-100x50,80,100,50,,,KSB--80x100.step +KSB80-100x50FA,80,100,50,,FA,KSB--80x100.step +KSB80-100x50FB,80,100,50,,FB,KSB--80x100.step +KSB80-100x50CA,80,100,50,,CA,KSB--80x100.step +KSB80-100x50CB,80,100,50,,CB,KSB--80x100.step +KSB80-100x50LB,80,100,50,,LB,KSB--80x100.step +KSB80-100x50YB,80,100,50,,YB,KSB--80x100.step +KSB80-100x50M,80,100,50,M,,KSB--80x100.step +KSB80-100x50MFA,80,100,50,M,FA,KSB--80x100.step +KSB80-100x50MFB,80,100,50,M,FB,KSB--80x100.step +KSB80-100x50MCA,80,100,50,M,CA,KSB--80x100.step +KSB80-100x50MCB,80,100,50,M,CB,KSB--80x100.step +KSB80-100x50MLB,80,100,50,M,LB,KSB--80x100.step +KSB80-100x50MYB,80,100,50,M,YB,KSB--80x100.step +KSB80-100x75,80,100,75,,,KSB--80x100.step +KSB80-100x75FA,80,100,75,,FA,KSB--80x100.step +KSB80-100x75FB,80,100,75,,FB,KSB--80x100.step +KSB80-100x75CA,80,100,75,,CA,KSB--80x100.step +KSB80-100x75CB,80,100,75,,CB,KSB--80x100.step +KSB80-100x75LB,80,100,75,,LB,KSB--80x100.step +KSB80-100x75YB,80,100,75,,YB,KSB--80x100.step +KSB80-100x75M,80,100,75,M,,KSB--80x100.step +KSB80-100x75MFA,80,100,75,M,FA,KSB--80x100.step +KSB80-100x75MFB,80,100,75,M,FB,KSB--80x100.step +KSB80-100x75MCA,80,100,75,M,CA,KSB--80x100.step +KSB80-100x75MCB,80,100,75,M,CB,KSB--80x100.step +KSB80-100x75MLB,80,100,75,M,LB,KSB--80x100.step +KSB80-100x75MYB,80,100,75,M,YB,KSB--80x100.step +KSB80-100x100,80,100,100,,,KSB--80x100.step +KSB80-100x100FA,80,100,100,,FA,KSB--80x100.step +KSB80-100x100FB,80,100,100,,FB,KSB--80x100.step +KSB80-100x100CA,80,100,100,,CA,KSB--80x100.step +KSB80-100x100CB,80,100,100,,CB,KSB--80x100.step +KSB80-100x100LB,80,100,100,,LB,KSB--80x100.step +KSB80-100x100YB,80,100,100,,YB,KSB--80x100.step +KSB80-100x100M,80,100,100,M,,KSB--80x100.step +KSB80-100x100MFA,80,100,100,M,FA,KSB--80x100.step +KSB80-100x100MFB,80,100,100,M,FB,KSB--80x100.step +KSB80-100x100MCA,80,100,100,M,CA,KSB--80x100.step +KSB80-100x100MCB,80,100,100,M,CB,KSB--80x100.step +KSB80-100x100MLB,80,100,100,M,LB,KSB--80x100.step +KSB80-100x100MYB,80,100,100,M,YB,KSB--80x100.step +KSB100-0x0,100,0,0,,,KSB--100x0.step +KSB100-0x0FA,100,0,0,,FA,KSB--100x0.step +KSB100-0x0FB,100,0,0,,FB,KSB--100x0.step +KSB100-0x0CA,100,0,0,,CA,KSB--100x0.step +KSB100-0x0CB,100,0,0,,CB,KSB--100x0.step +KSB100-0x0LB,100,0,0,,LB,KSB--100x0.step +KSB100-0x0YB,100,0,0,,YB,KSB--100x0.step +KSB100-0x0M,100,0,0,M,,KSB--100x0.step +KSB100-0x0MFA,100,0,0,M,FA,KSB--100x0.step +KSB100-0x0MFB,100,0,0,M,FB,KSB--100x0.step +KSB100-0x0MCA,100,0,0,M,CA,KSB--100x0.step +KSB100-0x0MCB,100,0,0,M,CB,KSB--100x0.step +KSB100-0x0MLB,100,0,0,M,LB,KSB--100x0.step +KSB100-0x0MYB,100,0,0,M,YB,KSB--100x0.step +KSB100-0x10,100,0,10,,,KSB--100x0.step +KSB100-0x10FA,100,0,10,,FA,KSB--100x0.step +KSB100-0x10FB,100,0,10,,FB,KSB--100x0.step +KSB100-0x10CA,100,0,10,,CA,KSB--100x0.step +KSB100-0x10CB,100,0,10,,CB,KSB--100x0.step +KSB100-0x10LB,100,0,10,,LB,KSB--100x0.step +KSB100-0x10YB,100,0,10,,YB,KSB--100x0.step +KSB100-0x10M,100,0,10,M,,KSB--100x0.step +KSB100-0x10MFA,100,0,10,M,FA,KSB--100x0.step +KSB100-0x10MFB,100,0,10,M,FB,KSB--100x0.step +KSB100-0x10MCA,100,0,10,M,CA,KSB--100x0.step +KSB100-0x10MCB,100,0,10,M,CB,KSB--100x0.step +KSB100-0x10MLB,100,0,10,M,LB,KSB--100x0.step +KSB100-0x10MYB,100,0,10,M,YB,KSB--100x0.step +KSB100-0x20,100,0,20,,,KSB--100x0.step +KSB100-0x20FA,100,0,20,,FA,KSB--100x0.step +KSB100-0x20FB,100,0,20,,FB,KSB--100x0.step +KSB100-0x20CA,100,0,20,,CA,KSB--100x0.step +KSB100-0x20CB,100,0,20,,CB,KSB--100x0.step +KSB100-0x20LB,100,0,20,,LB,KSB--100x0.step +KSB100-0x20YB,100,0,20,,YB,KSB--100x0.step +KSB100-0x20M,100,0,20,M,,KSB--100x0.step +KSB100-0x20MFA,100,0,20,M,FA,KSB--100x0.step +KSB100-0x20MFB,100,0,20,M,FB,KSB--100x0.step +KSB100-0x20MCA,100,0,20,M,CA,KSB--100x0.step +KSB100-0x20MCB,100,0,20,M,CB,KSB--100x0.step +KSB100-0x20MLB,100,0,20,M,LB,KSB--100x0.step +KSB100-0x20MYB,100,0,20,M,YB,KSB--100x0.step +KSB100-0x30,100,0,30,,,KSB--100x0.step +KSB100-0x30FA,100,0,30,,FA,KSB--100x0.step +KSB100-0x30FB,100,0,30,,FB,KSB--100x0.step +KSB100-0x30CA,100,0,30,,CA,KSB--100x0.step +KSB100-0x30CB,100,0,30,,CB,KSB--100x0.step +KSB100-0x30LB,100,0,30,,LB,KSB--100x0.step +KSB100-0x30YB,100,0,30,,YB,KSB--100x0.step +KSB100-0x30M,100,0,30,M,,KSB--100x0.step +KSB100-0x30MFA,100,0,30,M,FA,KSB--100x0.step +KSB100-0x30MFB,100,0,30,M,FB,KSB--100x0.step +KSB100-0x30MCA,100,0,30,M,CA,KSB--100x0.step +KSB100-0x30MCB,100,0,30,M,CB,KSB--100x0.step +KSB100-0x30MLB,100,0,30,M,LB,KSB--100x0.step +KSB100-0x30MYB,100,0,30,M,YB,KSB--100x0.step +KSB100-0x50,100,0,50,,,KSB--100x0.step +KSB100-0x50FA,100,0,50,,FA,KSB--100x0.step +KSB100-0x50FB,100,0,50,,FB,KSB--100x0.step +KSB100-0x50CA,100,0,50,,CA,KSB--100x0.step +KSB100-0x50CB,100,0,50,,CB,KSB--100x0.step +KSB100-0x50LB,100,0,50,,LB,KSB--100x0.step +KSB100-0x50YB,100,0,50,,YB,KSB--100x0.step +KSB100-0x50M,100,0,50,M,,KSB--100x0.step +KSB100-0x50MFA,100,0,50,M,FA,KSB--100x0.step +KSB100-0x50MFB,100,0,50,M,FB,KSB--100x0.step +KSB100-0x50MCA,100,0,50,M,CA,KSB--100x0.step +KSB100-0x50MCB,100,0,50,M,CB,KSB--100x0.step +KSB100-0x50MLB,100,0,50,M,LB,KSB--100x0.step +KSB100-0x50MYB,100,0,50,M,YB,KSB--100x0.step +KSB100-0x75,100,0,75,,,KSB--100x0.step +KSB100-0x75FA,100,0,75,,FA,KSB--100x0.step +KSB100-0x75FB,100,0,75,,FB,KSB--100x0.step +KSB100-0x75CA,100,0,75,,CA,KSB--100x0.step +KSB100-0x75CB,100,0,75,,CB,KSB--100x0.step +KSB100-0x75LB,100,0,75,,LB,KSB--100x0.step +KSB100-0x75YB,100,0,75,,YB,KSB--100x0.step +KSB100-0x75M,100,0,75,M,,KSB--100x0.step +KSB100-0x75MFA,100,0,75,M,FA,KSB--100x0.step +KSB100-0x75MFB,100,0,75,M,FB,KSB--100x0.step +KSB100-0x75MCA,100,0,75,M,CA,KSB--100x0.step +KSB100-0x75MCB,100,0,75,M,CB,KSB--100x0.step +KSB100-0x75MLB,100,0,75,M,LB,KSB--100x0.step +KSB100-0x75MYB,100,0,75,M,YB,KSB--100x0.step +KSB100-0x100,100,0,100,,,KSB--100x0.step +KSB100-0x100FA,100,0,100,,FA,KSB--100x0.step +KSB100-0x100FB,100,0,100,,FB,KSB--100x0.step +KSB100-0x100CA,100,0,100,,CA,KSB--100x0.step +KSB100-0x100CB,100,0,100,,CB,KSB--100x0.step +KSB100-0x100LB,100,0,100,,LB,KSB--100x0.step +KSB100-0x100YB,100,0,100,,YB,KSB--100x0.step +KSB100-0x100M,100,0,100,M,,KSB--100x0.step +KSB100-0x100MFA,100,0,100,M,FA,KSB--100x0.step +KSB100-0x100MFB,100,0,100,M,FB,KSB--100x0.step +KSB100-0x100MCA,100,0,100,M,CA,KSB--100x0.step +KSB100-0x100MCB,100,0,100,M,CB,KSB--100x0.step +KSB100-0x100MLB,100,0,100,M,LB,KSB--100x0.step +KSB100-0x100MYB,100,0,100,M,YB,KSB--100x0.step +KSB100-10x0,100,10,0,,,KSB--100x10.step +KSB100-10x0FA,100,10,0,,FA,KSB--100x10.step +KSB100-10x0FB,100,10,0,,FB,KSB--100x10.step +KSB100-10x0CA,100,10,0,,CA,KSB--100x10.step +KSB100-10x0CB,100,10,0,,CB,KSB--100x10.step +KSB100-10x0LB,100,10,0,,LB,KSB--100x10.step +KSB100-10x0YB,100,10,0,,YB,KSB--100x10.step +KSB100-10x0M,100,10,0,M,,KSB--100x10.step +KSB100-10x0MFA,100,10,0,M,FA,KSB--100x10.step +KSB100-10x0MFB,100,10,0,M,FB,KSB--100x10.step +KSB100-10x0MCA,100,10,0,M,CA,KSB--100x10.step +KSB100-10x0MCB,100,10,0,M,CB,KSB--100x10.step +KSB100-10x0MLB,100,10,0,M,LB,KSB--100x10.step +KSB100-10x0MYB,100,10,0,M,YB,KSB--100x10.step +KSB100-10x10,100,10,10,,,KSB--100x10.step +KSB100-10x10FA,100,10,10,,FA,KSB--100x10.step +KSB100-10x10FB,100,10,10,,FB,KSB--100x10.step +KSB100-10x10CA,100,10,10,,CA,KSB--100x10.step +KSB100-10x10CB,100,10,10,,CB,KSB--100x10.step +KSB100-10x10LB,100,10,10,,LB,KSB--100x10.step +KSB100-10x10YB,100,10,10,,YB,KSB--100x10.step +KSB100-10x10M,100,10,10,M,,KSB--100x10.step +KSB100-10x10MFA,100,10,10,M,FA,KSB--100x10.step +KSB100-10x10MFB,100,10,10,M,FB,KSB--100x10.step +KSB100-10x10MCA,100,10,10,M,CA,KSB--100x10.step +KSB100-10x10MCB,100,10,10,M,CB,KSB--100x10.step +KSB100-10x10MLB,100,10,10,M,LB,KSB--100x10.step +KSB100-10x10MYB,100,10,10,M,YB,KSB--100x10.step +KSB100-10x20,100,10,20,,,KSB--100x10.step +KSB100-10x20FA,100,10,20,,FA,KSB--100x10.step +KSB100-10x20FB,100,10,20,,FB,KSB--100x10.step +KSB100-10x20CA,100,10,20,,CA,KSB--100x10.step +KSB100-10x20CB,100,10,20,,CB,KSB--100x10.step +KSB100-10x20LB,100,10,20,,LB,KSB--100x10.step +KSB100-10x20YB,100,10,20,,YB,KSB--100x10.step +KSB100-10x20M,100,10,20,M,,KSB--100x10.step +KSB100-10x20MFA,100,10,20,M,FA,KSB--100x10.step +KSB100-10x20MFB,100,10,20,M,FB,KSB--100x10.step +KSB100-10x20MCA,100,10,20,M,CA,KSB--100x10.step +KSB100-10x20MCB,100,10,20,M,CB,KSB--100x10.step +KSB100-10x20MLB,100,10,20,M,LB,KSB--100x10.step +KSB100-10x20MYB,100,10,20,M,YB,KSB--100x10.step +KSB100-10x30,100,10,30,,,KSB--100x10.step +KSB100-10x30FA,100,10,30,,FA,KSB--100x10.step +KSB100-10x30FB,100,10,30,,FB,KSB--100x10.step +KSB100-10x30CA,100,10,30,,CA,KSB--100x10.step +KSB100-10x30CB,100,10,30,,CB,KSB--100x10.step +KSB100-10x30LB,100,10,30,,LB,KSB--100x10.step +KSB100-10x30YB,100,10,30,,YB,KSB--100x10.step +KSB100-10x30M,100,10,30,M,,KSB--100x10.step +KSB100-10x30MFA,100,10,30,M,FA,KSB--100x10.step +KSB100-10x30MFB,100,10,30,M,FB,KSB--100x10.step +KSB100-10x30MCA,100,10,30,M,CA,KSB--100x10.step +KSB100-10x30MCB,100,10,30,M,CB,KSB--100x10.step +KSB100-10x30MLB,100,10,30,M,LB,KSB--100x10.step +KSB100-10x30MYB,100,10,30,M,YB,KSB--100x10.step +KSB100-10x50,100,10,50,,,KSB--100x10.step +KSB100-10x50FA,100,10,50,,FA,KSB--100x10.step +KSB100-10x50FB,100,10,50,,FB,KSB--100x10.step +KSB100-10x50CA,100,10,50,,CA,KSB--100x10.step +KSB100-10x50CB,100,10,50,,CB,KSB--100x10.step +KSB100-10x50LB,100,10,50,,LB,KSB--100x10.step +KSB100-10x50YB,100,10,50,,YB,KSB--100x10.step +KSB100-10x50M,100,10,50,M,,KSB--100x10.step +KSB100-10x50MFA,100,10,50,M,FA,KSB--100x10.step +KSB100-10x50MFB,100,10,50,M,FB,KSB--100x10.step +KSB100-10x50MCA,100,10,50,M,CA,KSB--100x10.step +KSB100-10x50MCB,100,10,50,M,CB,KSB--100x10.step +KSB100-10x50MLB,100,10,50,M,LB,KSB--100x10.step +KSB100-10x50MYB,100,10,50,M,YB,KSB--100x10.step +KSB100-10x75,100,10,75,,,KSB--100x10.step +KSB100-10x75FA,100,10,75,,FA,KSB--100x10.step +KSB100-10x75FB,100,10,75,,FB,KSB--100x10.step +KSB100-10x75CA,100,10,75,,CA,KSB--100x10.step +KSB100-10x75CB,100,10,75,,CB,KSB--100x10.step +KSB100-10x75LB,100,10,75,,LB,KSB--100x10.step +KSB100-10x75YB,100,10,75,,YB,KSB--100x10.step +KSB100-10x75M,100,10,75,M,,KSB--100x10.step +KSB100-10x75MFA,100,10,75,M,FA,KSB--100x10.step +KSB100-10x75MFB,100,10,75,M,FB,KSB--100x10.step +KSB100-10x75MCA,100,10,75,M,CA,KSB--100x10.step +KSB100-10x75MCB,100,10,75,M,CB,KSB--100x10.step +KSB100-10x75MLB,100,10,75,M,LB,KSB--100x10.step +KSB100-10x75MYB,100,10,75,M,YB,KSB--100x10.step +KSB100-10x100,100,10,100,,,KSB--100x10.step +KSB100-10x100FA,100,10,100,,FA,KSB--100x10.step +KSB100-10x100FB,100,10,100,,FB,KSB--100x10.step +KSB100-10x100CA,100,10,100,,CA,KSB--100x10.step +KSB100-10x100CB,100,10,100,,CB,KSB--100x10.step +KSB100-10x100LB,100,10,100,,LB,KSB--100x10.step +KSB100-10x100YB,100,10,100,,YB,KSB--100x10.step +KSB100-10x100M,100,10,100,M,,KSB--100x10.step +KSB100-10x100MFA,100,10,100,M,FA,KSB--100x10.step +KSB100-10x100MFB,100,10,100,M,FB,KSB--100x10.step +KSB100-10x100MCA,100,10,100,M,CA,KSB--100x10.step +KSB100-10x100MCB,100,10,100,M,CB,KSB--100x10.step +KSB100-10x100MLB,100,10,100,M,LB,KSB--100x10.step +KSB100-10x100MYB,100,10,100,M,YB,KSB--100x10.step +KSB100-20x0,100,20,0,,,KSB--100x20.step +KSB100-20x0FA,100,20,0,,FA,KSB--100x20.step +KSB100-20x0FB,100,20,0,,FB,KSB--100x20.step +KSB100-20x0CA,100,20,0,,CA,KSB--100x20.step +KSB100-20x0CB,100,20,0,,CB,KSB--100x20.step +KSB100-20x0LB,100,20,0,,LB,KSB--100x20.step +KSB100-20x0YB,100,20,0,,YB,KSB--100x20.step +KSB100-20x0M,100,20,0,M,,KSB--100x20.step +KSB100-20x0MFA,100,20,0,M,FA,KSB--100x20.step +KSB100-20x0MFB,100,20,0,M,FB,KSB--100x20.step +KSB100-20x0MCA,100,20,0,M,CA,KSB--100x20.step +KSB100-20x0MCB,100,20,0,M,CB,KSB--100x20.step +KSB100-20x0MLB,100,20,0,M,LB,KSB--100x20.step +KSB100-20x0MYB,100,20,0,M,YB,KSB--100x20.step +KSB100-20x10,100,20,10,,,KSB--100x20.step +KSB100-20x10FA,100,20,10,,FA,KSB--100x20.step +KSB100-20x10FB,100,20,10,,FB,KSB--100x20.step +KSB100-20x10CA,100,20,10,,CA,KSB--100x20.step +KSB100-20x10CB,100,20,10,,CB,KSB--100x20.step +KSB100-20x10LB,100,20,10,,LB,KSB--100x20.step +KSB100-20x10YB,100,20,10,,YB,KSB--100x20.step +KSB100-20x10M,100,20,10,M,,KSB--100x20.step +KSB100-20x10MFA,100,20,10,M,FA,KSB--100x20.step +KSB100-20x10MFB,100,20,10,M,FB,KSB--100x20.step +KSB100-20x10MCA,100,20,10,M,CA,KSB--100x20.step +KSB100-20x10MCB,100,20,10,M,CB,KSB--100x20.step +KSB100-20x10MLB,100,20,10,M,LB,KSB--100x20.step +KSB100-20x10MYB,100,20,10,M,YB,KSB--100x20.step +KSB100-20x20,100,20,20,,,KSB--100x20.step +KSB100-20x20FA,100,20,20,,FA,KSB--100x20.step +KSB100-20x20FB,100,20,20,,FB,KSB--100x20.step +KSB100-20x20CA,100,20,20,,CA,KSB--100x20.step +KSB100-20x20CB,100,20,20,,CB,KSB--100x20.step +KSB100-20x20LB,100,20,20,,LB,KSB--100x20.step +KSB100-20x20YB,100,20,20,,YB,KSB--100x20.step +KSB100-20x20M,100,20,20,M,,KSB--100x20.step +KSB100-20x20MFA,100,20,20,M,FA,KSB--100x20.step +KSB100-20x20MFB,100,20,20,M,FB,KSB--100x20.step +KSB100-20x20MCA,100,20,20,M,CA,KSB--100x20.step +KSB100-20x20MCB,100,20,20,M,CB,KSB--100x20.step +KSB100-20x20MLB,100,20,20,M,LB,KSB--100x20.step +KSB100-20x20MYB,100,20,20,M,YB,KSB--100x20.step +KSB100-20x30,100,20,30,,,KSB--100x20.step +KSB100-20x30FA,100,20,30,,FA,KSB--100x20.step +KSB100-20x30FB,100,20,30,,FB,KSB--100x20.step +KSB100-20x30CA,100,20,30,,CA,KSB--100x20.step +KSB100-20x30CB,100,20,30,,CB,KSB--100x20.step +KSB100-20x30LB,100,20,30,,LB,KSB--100x20.step +KSB100-20x30YB,100,20,30,,YB,KSB--100x20.step +KSB100-20x30M,100,20,30,M,,KSB--100x20.step +KSB100-20x30MFA,100,20,30,M,FA,KSB--100x20.step +KSB100-20x30MFB,100,20,30,M,FB,KSB--100x20.step +KSB100-20x30MCA,100,20,30,M,CA,KSB--100x20.step +KSB100-20x30MCB,100,20,30,M,CB,KSB--100x20.step +KSB100-20x30MLB,100,20,30,M,LB,KSB--100x20.step +KSB100-20x30MYB,100,20,30,M,YB,KSB--100x20.step +KSB100-20x50,100,20,50,,,KSB--100x20.step +KSB100-20x50FA,100,20,50,,FA,KSB--100x20.step +KSB100-20x50FB,100,20,50,,FB,KSB--100x20.step +KSB100-20x50CA,100,20,50,,CA,KSB--100x20.step +KSB100-20x50CB,100,20,50,,CB,KSB--100x20.step +KSB100-20x50LB,100,20,50,,LB,KSB--100x20.step +KSB100-20x50YB,100,20,50,,YB,KSB--100x20.step +KSB100-20x50M,100,20,50,M,,KSB--100x20.step +KSB100-20x50MFA,100,20,50,M,FA,KSB--100x20.step +KSB100-20x50MFB,100,20,50,M,FB,KSB--100x20.step +KSB100-20x50MCA,100,20,50,M,CA,KSB--100x20.step +KSB100-20x50MCB,100,20,50,M,CB,KSB--100x20.step +KSB100-20x50MLB,100,20,50,M,LB,KSB--100x20.step +KSB100-20x50MYB,100,20,50,M,YB,KSB--100x20.step +KSB100-20x75,100,20,75,,,KSB--100x20.step +KSB100-20x75FA,100,20,75,,FA,KSB--100x20.step +KSB100-20x75FB,100,20,75,,FB,KSB--100x20.step +KSB100-20x75CA,100,20,75,,CA,KSB--100x20.step +KSB100-20x75CB,100,20,75,,CB,KSB--100x20.step +KSB100-20x75LB,100,20,75,,LB,KSB--100x20.step +KSB100-20x75YB,100,20,75,,YB,KSB--100x20.step +KSB100-20x75M,100,20,75,M,,KSB--100x20.step +KSB100-20x75MFA,100,20,75,M,FA,KSB--100x20.step +KSB100-20x75MFB,100,20,75,M,FB,KSB--100x20.step +KSB100-20x75MCA,100,20,75,M,CA,KSB--100x20.step +KSB100-20x75MCB,100,20,75,M,CB,KSB--100x20.step +KSB100-20x75MLB,100,20,75,M,LB,KSB--100x20.step +KSB100-20x75MYB,100,20,75,M,YB,KSB--100x20.step +KSB100-20x100,100,20,100,,,KSB--100x20.step +KSB100-20x100FA,100,20,100,,FA,KSB--100x20.step +KSB100-20x100FB,100,20,100,,FB,KSB--100x20.step +KSB100-20x100CA,100,20,100,,CA,KSB--100x20.step +KSB100-20x100CB,100,20,100,,CB,KSB--100x20.step +KSB100-20x100LB,100,20,100,,LB,KSB--100x20.step +KSB100-20x100YB,100,20,100,,YB,KSB--100x20.step +KSB100-20x100M,100,20,100,M,,KSB--100x20.step +KSB100-20x100MFA,100,20,100,M,FA,KSB--100x20.step +KSB100-20x100MFB,100,20,100,M,FB,KSB--100x20.step +KSB100-20x100MCA,100,20,100,M,CA,KSB--100x20.step +KSB100-20x100MCB,100,20,100,M,CB,KSB--100x20.step +KSB100-20x100MLB,100,20,100,M,LB,KSB--100x20.step +KSB100-20x100MYB,100,20,100,M,YB,KSB--100x20.step +KSB100-30x0,100,30,0,,,KSB--100x30.step +KSB100-30x0FA,100,30,0,,FA,KSB--100x30.step +KSB100-30x0FB,100,30,0,,FB,KSB--100x30.step +KSB100-30x0CA,100,30,0,,CA,KSB--100x30.step +KSB100-30x0CB,100,30,0,,CB,KSB--100x30.step +KSB100-30x0LB,100,30,0,,LB,KSB--100x30.step +KSB100-30x0YB,100,30,0,,YB,KSB--100x30.step +KSB100-30x0M,100,30,0,M,,KSB--100x30.step +KSB100-30x0MFA,100,30,0,M,FA,KSB--100x30.step +KSB100-30x0MFB,100,30,0,M,FB,KSB--100x30.step +KSB100-30x0MCA,100,30,0,M,CA,KSB--100x30.step +KSB100-30x0MCB,100,30,0,M,CB,KSB--100x30.step +KSB100-30x0MLB,100,30,0,M,LB,KSB--100x30.step +KSB100-30x0MYB,100,30,0,M,YB,KSB--100x30.step +KSB100-30x10,100,30,10,,,KSB--100x30.step +KSB100-30x10FA,100,30,10,,FA,KSB--100x30.step +KSB100-30x10FB,100,30,10,,FB,KSB--100x30.step +KSB100-30x10CA,100,30,10,,CA,KSB--100x30.step +KSB100-30x10CB,100,30,10,,CB,KSB--100x30.step +KSB100-30x10LB,100,30,10,,LB,KSB--100x30.step +KSB100-30x10YB,100,30,10,,YB,KSB--100x30.step +KSB100-30x10M,100,30,10,M,,KSB--100x30.step +KSB100-30x10MFA,100,30,10,M,FA,KSB--100x30.step +KSB100-30x10MFB,100,30,10,M,FB,KSB--100x30.step +KSB100-30x10MCA,100,30,10,M,CA,KSB--100x30.step +KSB100-30x10MCB,100,30,10,M,CB,KSB--100x30.step +KSB100-30x10MLB,100,30,10,M,LB,KSB--100x30.step +KSB100-30x10MYB,100,30,10,M,YB,KSB--100x30.step +KSB100-30x20,100,30,20,,,KSB--100x30.step +KSB100-30x20FA,100,30,20,,FA,KSB--100x30.step +KSB100-30x20FB,100,30,20,,FB,KSB--100x30.step +KSB100-30x20CA,100,30,20,,CA,KSB--100x30.step +KSB100-30x20CB,100,30,20,,CB,KSB--100x30.step +KSB100-30x20LB,100,30,20,,LB,KSB--100x30.step +KSB100-30x20YB,100,30,20,,YB,KSB--100x30.step +KSB100-30x20M,100,30,20,M,,KSB--100x30.step +KSB100-30x20MFA,100,30,20,M,FA,KSB--100x30.step +KSB100-30x20MFB,100,30,20,M,FB,KSB--100x30.step +KSB100-30x20MCA,100,30,20,M,CA,KSB--100x30.step +KSB100-30x20MCB,100,30,20,M,CB,KSB--100x30.step +KSB100-30x20MLB,100,30,20,M,LB,KSB--100x30.step +KSB100-30x20MYB,100,30,20,M,YB,KSB--100x30.step +KSB100-30x30,100,30,30,,,KSB--100x30.step +KSB100-30x30FA,100,30,30,,FA,KSB--100x30.step +KSB100-30x30FB,100,30,30,,FB,KSB--100x30.step +KSB100-30x30CA,100,30,30,,CA,KSB--100x30.step +KSB100-30x30CB,100,30,30,,CB,KSB--100x30.step +KSB100-30x30LB,100,30,30,,LB,KSB--100x30.step +KSB100-30x30YB,100,30,30,,YB,KSB--100x30.step +KSB100-30x30M,100,30,30,M,,KSB--100x30.step +KSB100-30x30MFA,100,30,30,M,FA,KSB--100x30.step +KSB100-30x30MFB,100,30,30,M,FB,KSB--100x30.step +KSB100-30x30MCA,100,30,30,M,CA,KSB--100x30.step +KSB100-30x30MCB,100,30,30,M,CB,KSB--100x30.step +KSB100-30x30MLB,100,30,30,M,LB,KSB--100x30.step +KSB100-30x30MYB,100,30,30,M,YB,KSB--100x30.step +KSB100-30x50,100,30,50,,,KSB--100x30.step +KSB100-30x50FA,100,30,50,,FA,KSB--100x30.step +KSB100-30x50FB,100,30,50,,FB,KSB--100x30.step +KSB100-30x50CA,100,30,50,,CA,KSB--100x30.step +KSB100-30x50CB,100,30,50,,CB,KSB--100x30.step +KSB100-30x50LB,100,30,50,,LB,KSB--100x30.step +KSB100-30x50YB,100,30,50,,YB,KSB--100x30.step +KSB100-30x50M,100,30,50,M,,KSB--100x30.step +KSB100-30x50MFA,100,30,50,M,FA,KSB--100x30.step +KSB100-30x50MFB,100,30,50,M,FB,KSB--100x30.step +KSB100-30x50MCA,100,30,50,M,CA,KSB--100x30.step +KSB100-30x50MCB,100,30,50,M,CB,KSB--100x30.step +KSB100-30x50MLB,100,30,50,M,LB,KSB--100x30.step +KSB100-30x50MYB,100,30,50,M,YB,KSB--100x30.step +KSB100-30x75,100,30,75,,,KSB--100x30.step +KSB100-30x75FA,100,30,75,,FA,KSB--100x30.step +KSB100-30x75FB,100,30,75,,FB,KSB--100x30.step +KSB100-30x75CA,100,30,75,,CA,KSB--100x30.step +KSB100-30x75CB,100,30,75,,CB,KSB--100x30.step +KSB100-30x75LB,100,30,75,,LB,KSB--100x30.step +KSB100-30x75YB,100,30,75,,YB,KSB--100x30.step +KSB100-30x75M,100,30,75,M,,KSB--100x30.step +KSB100-30x75MFA,100,30,75,M,FA,KSB--100x30.step +KSB100-30x75MFB,100,30,75,M,FB,KSB--100x30.step +KSB100-30x75MCA,100,30,75,M,CA,KSB--100x30.step +KSB100-30x75MCB,100,30,75,M,CB,KSB--100x30.step +KSB100-30x75MLB,100,30,75,M,LB,KSB--100x30.step +KSB100-30x75MYB,100,30,75,M,YB,KSB--100x30.step +KSB100-30x100,100,30,100,,,KSB--100x30.step +KSB100-30x100FA,100,30,100,,FA,KSB--100x30.step +KSB100-30x100FB,100,30,100,,FB,KSB--100x30.step +KSB100-30x100CA,100,30,100,,CA,KSB--100x30.step +KSB100-30x100CB,100,30,100,,CB,KSB--100x30.step +KSB100-30x100LB,100,30,100,,LB,KSB--100x30.step +KSB100-30x100YB,100,30,100,,YB,KSB--100x30.step +KSB100-30x100M,100,30,100,M,,KSB--100x30.step +KSB100-30x100MFA,100,30,100,M,FA,KSB--100x30.step +KSB100-30x100MFB,100,30,100,M,FB,KSB--100x30.step +KSB100-30x100MCA,100,30,100,M,CA,KSB--100x30.step +KSB100-30x100MCB,100,30,100,M,CB,KSB--100x30.step +KSB100-30x100MLB,100,30,100,M,LB,KSB--100x30.step +KSB100-30x100MYB,100,30,100,M,YB,KSB--100x30.step +KSB100-50x0,100,50,0,,,KSB--100x50.step +KSB100-50x0FA,100,50,0,,FA,KSB--100x50.step +KSB100-50x0FB,100,50,0,,FB,KSB--100x50.step +KSB100-50x0CA,100,50,0,,CA,KSB--100x50.step +KSB100-50x0CB,100,50,0,,CB,KSB--100x50.step +KSB100-50x0LB,100,50,0,,LB,KSB--100x50.step +KSB100-50x0YB,100,50,0,,YB,KSB--100x50.step +KSB100-50x0M,100,50,0,M,,KSB--100x50.step +KSB100-50x0MFA,100,50,0,M,FA,KSB--100x50.step +KSB100-50x0MFB,100,50,0,M,FB,KSB--100x50.step +KSB100-50x0MCA,100,50,0,M,CA,KSB--100x50.step +KSB100-50x0MCB,100,50,0,M,CB,KSB--100x50.step +KSB100-50x0MLB,100,50,0,M,LB,KSB--100x50.step +KSB100-50x0MYB,100,50,0,M,YB,KSB--100x50.step +KSB100-50x10,100,50,10,,,KSB--100x50.step +KSB100-50x10FA,100,50,10,,FA,KSB--100x50.step +KSB100-50x10FB,100,50,10,,FB,KSB--100x50.step +KSB100-50x10CA,100,50,10,,CA,KSB--100x50.step +KSB100-50x10CB,100,50,10,,CB,KSB--100x50.step +KSB100-50x10LB,100,50,10,,LB,KSB--100x50.step +KSB100-50x10YB,100,50,10,,YB,KSB--100x50.step +KSB100-50x10M,100,50,10,M,,KSB--100x50.step +KSB100-50x10MFA,100,50,10,M,FA,KSB--100x50.step +KSB100-50x10MFB,100,50,10,M,FB,KSB--100x50.step +KSB100-50x10MCA,100,50,10,M,CA,KSB--100x50.step +KSB100-50x10MCB,100,50,10,M,CB,KSB--100x50.step +KSB100-50x10MLB,100,50,10,M,LB,KSB--100x50.step +KSB100-50x10MYB,100,50,10,M,YB,KSB--100x50.step +KSB100-50x20,100,50,20,,,KSB--100x50.step +KSB100-50x20FA,100,50,20,,FA,KSB--100x50.step +KSB100-50x20FB,100,50,20,,FB,KSB--100x50.step +KSB100-50x20CA,100,50,20,,CA,KSB--100x50.step +KSB100-50x20CB,100,50,20,,CB,KSB--100x50.step +KSB100-50x20LB,100,50,20,,LB,KSB--100x50.step +KSB100-50x20YB,100,50,20,,YB,KSB--100x50.step +KSB100-50x20M,100,50,20,M,,KSB--100x50.step +KSB100-50x20MFA,100,50,20,M,FA,KSB--100x50.step +KSB100-50x20MFB,100,50,20,M,FB,KSB--100x50.step +KSB100-50x20MCA,100,50,20,M,CA,KSB--100x50.step +KSB100-50x20MCB,100,50,20,M,CB,KSB--100x50.step +KSB100-50x20MLB,100,50,20,M,LB,KSB--100x50.step +KSB100-50x20MYB,100,50,20,M,YB,KSB--100x50.step +KSB100-50x30,100,50,30,,,KSB--100x50.step +KSB100-50x30FA,100,50,30,,FA,KSB--100x50.step +KSB100-50x30FB,100,50,30,,FB,KSB--100x50.step +KSB100-50x30CA,100,50,30,,CA,KSB--100x50.step +KSB100-50x30CB,100,50,30,,CB,KSB--100x50.step +KSB100-50x30LB,100,50,30,,LB,KSB--100x50.step +KSB100-50x30YB,100,50,30,,YB,KSB--100x50.step +KSB100-50x30M,100,50,30,M,,KSB--100x50.step +KSB100-50x30MFA,100,50,30,M,FA,KSB--100x50.step +KSB100-50x30MFB,100,50,30,M,FB,KSB--100x50.step +KSB100-50x30MCA,100,50,30,M,CA,KSB--100x50.step +KSB100-50x30MCB,100,50,30,M,CB,KSB--100x50.step +KSB100-50x30MLB,100,50,30,M,LB,KSB--100x50.step +KSB100-50x30MYB,100,50,30,M,YB,KSB--100x50.step +KSB100-50x50,100,50,50,,,KSB--100x50.step +KSB100-50x50FA,100,50,50,,FA,KSB--100x50.step +KSB100-50x50FB,100,50,50,,FB,KSB--100x50.step +KSB100-50x50CA,100,50,50,,CA,KSB--100x50.step +KSB100-50x50CB,100,50,50,,CB,KSB--100x50.step +KSB100-50x50LB,100,50,50,,LB,KSB--100x50.step +KSB100-50x50YB,100,50,50,,YB,KSB--100x50.step +KSB100-50x50M,100,50,50,M,,KSB--100x50.step +KSB100-50x50MFA,100,50,50,M,FA,KSB--100x50.step +KSB100-50x50MFB,100,50,50,M,FB,KSB--100x50.step +KSB100-50x50MCA,100,50,50,M,CA,KSB--100x50.step +KSB100-50x50MCB,100,50,50,M,CB,KSB--100x50.step +KSB100-50x50MLB,100,50,50,M,LB,KSB--100x50.step +KSB100-50x50MYB,100,50,50,M,YB,KSB--100x50.step +KSB100-50x75,100,50,75,,,KSB--100x50.step +KSB100-50x75FA,100,50,75,,FA,KSB--100x50.step +KSB100-50x75FB,100,50,75,,FB,KSB--100x50.step +KSB100-50x75CA,100,50,75,,CA,KSB--100x50.step +KSB100-50x75CB,100,50,75,,CB,KSB--100x50.step +KSB100-50x75LB,100,50,75,,LB,KSB--100x50.step +KSB100-50x75YB,100,50,75,,YB,KSB--100x50.step +KSB100-50x75M,100,50,75,M,,KSB--100x50.step +KSB100-50x75MFA,100,50,75,M,FA,KSB--100x50.step +KSB100-50x75MFB,100,50,75,M,FB,KSB--100x50.step +KSB100-50x75MCA,100,50,75,M,CA,KSB--100x50.step +KSB100-50x75MCB,100,50,75,M,CB,KSB--100x50.step +KSB100-50x75MLB,100,50,75,M,LB,KSB--100x50.step +KSB100-50x75MYB,100,50,75,M,YB,KSB--100x50.step +KSB100-50x100,100,50,100,,,KSB--100x50.step +KSB100-50x100FA,100,50,100,,FA,KSB--100x50.step +KSB100-50x100FB,100,50,100,,FB,KSB--100x50.step +KSB100-50x100CA,100,50,100,,CA,KSB--100x50.step +KSB100-50x100CB,100,50,100,,CB,KSB--100x50.step +KSB100-50x100LB,100,50,100,,LB,KSB--100x50.step +KSB100-50x100YB,100,50,100,,YB,KSB--100x50.step +KSB100-50x100M,100,50,100,M,,KSB--100x50.step +KSB100-50x100MFA,100,50,100,M,FA,KSB--100x50.step +KSB100-50x100MFB,100,50,100,M,FB,KSB--100x50.step +KSB100-50x100MCA,100,50,100,M,CA,KSB--100x50.step +KSB100-50x100MCB,100,50,100,M,CB,KSB--100x50.step +KSB100-50x100MLB,100,50,100,M,LB,KSB--100x50.step +KSB100-50x100MYB,100,50,100,M,YB,KSB--100x50.step +KSB100-75x0,100,75,0,,,KSB--100x75.step +KSB100-75x0FA,100,75,0,,FA,KSB--100x75.step +KSB100-75x0FB,100,75,0,,FB,KSB--100x75.step +KSB100-75x0CA,100,75,0,,CA,KSB--100x75.step +KSB100-75x0CB,100,75,0,,CB,KSB--100x75.step +KSB100-75x0LB,100,75,0,,LB,KSB--100x75.step +KSB100-75x0YB,100,75,0,,YB,KSB--100x75.step +KSB100-75x0M,100,75,0,M,,KSB--100x75.step +KSB100-75x0MFA,100,75,0,M,FA,KSB--100x75.step +KSB100-75x0MFB,100,75,0,M,FB,KSB--100x75.step +KSB100-75x0MCA,100,75,0,M,CA,KSB--100x75.step +KSB100-75x0MCB,100,75,0,M,CB,KSB--100x75.step +KSB100-75x0MLB,100,75,0,M,LB,KSB--100x75.step +KSB100-75x0MYB,100,75,0,M,YB,KSB--100x75.step +KSB100-75x10,100,75,10,,,KSB--100x75.step +KSB100-75x10FA,100,75,10,,FA,KSB--100x75.step +KSB100-75x10FB,100,75,10,,FB,KSB--100x75.step +KSB100-75x10CA,100,75,10,,CA,KSB--100x75.step +KSB100-75x10CB,100,75,10,,CB,KSB--100x75.step +KSB100-75x10LB,100,75,10,,LB,KSB--100x75.step +KSB100-75x10YB,100,75,10,,YB,KSB--100x75.step +KSB100-75x10M,100,75,10,M,,KSB--100x75.step +KSB100-75x10MFA,100,75,10,M,FA,KSB--100x75.step +KSB100-75x10MFB,100,75,10,M,FB,KSB--100x75.step +KSB100-75x10MCA,100,75,10,M,CA,KSB--100x75.step +KSB100-75x10MCB,100,75,10,M,CB,KSB--100x75.step +KSB100-75x10MLB,100,75,10,M,LB,KSB--100x75.step +KSB100-75x10MYB,100,75,10,M,YB,KSB--100x75.step +KSB100-75x20,100,75,20,,,KSB--100x75.step +KSB100-75x20FA,100,75,20,,FA,KSB--100x75.step +KSB100-75x20FB,100,75,20,,FB,KSB--100x75.step +KSB100-75x20CA,100,75,20,,CA,KSB--100x75.step +KSB100-75x20CB,100,75,20,,CB,KSB--100x75.step +KSB100-75x20LB,100,75,20,,LB,KSB--100x75.step +KSB100-75x20YB,100,75,20,,YB,KSB--100x75.step +KSB100-75x20M,100,75,20,M,,KSB--100x75.step +KSB100-75x20MFA,100,75,20,M,FA,KSB--100x75.step +KSB100-75x20MFB,100,75,20,M,FB,KSB--100x75.step +KSB100-75x20MCA,100,75,20,M,CA,KSB--100x75.step +KSB100-75x20MCB,100,75,20,M,CB,KSB--100x75.step +KSB100-75x20MLB,100,75,20,M,LB,KSB--100x75.step +KSB100-75x20MYB,100,75,20,M,YB,KSB--100x75.step +KSB100-75x30,100,75,30,,,KSB--100x75.step +KSB100-75x30FA,100,75,30,,FA,KSB--100x75.step +KSB100-75x30FB,100,75,30,,FB,KSB--100x75.step +KSB100-75x30CA,100,75,30,,CA,KSB--100x75.step +KSB100-75x30CB,100,75,30,,CB,KSB--100x75.step +KSB100-75x30LB,100,75,30,,LB,KSB--100x75.step +KSB100-75x30YB,100,75,30,,YB,KSB--100x75.step +KSB100-75x30M,100,75,30,M,,KSB--100x75.step +KSB100-75x30MFA,100,75,30,M,FA,KSB--100x75.step +KSB100-75x30MFB,100,75,30,M,FB,KSB--100x75.step +KSB100-75x30MCA,100,75,30,M,CA,KSB--100x75.step +KSB100-75x30MCB,100,75,30,M,CB,KSB--100x75.step +KSB100-75x30MLB,100,75,30,M,LB,KSB--100x75.step +KSB100-75x30MYB,100,75,30,M,YB,KSB--100x75.step +KSB100-75x50,100,75,50,,,KSB--100x75.step +KSB100-75x50FA,100,75,50,,FA,KSB--100x75.step +KSB100-75x50FB,100,75,50,,FB,KSB--100x75.step +KSB100-75x50CA,100,75,50,,CA,KSB--100x75.step +KSB100-75x50CB,100,75,50,,CB,KSB--100x75.step +KSB100-75x50LB,100,75,50,,LB,KSB--100x75.step +KSB100-75x50YB,100,75,50,,YB,KSB--100x75.step +KSB100-75x50M,100,75,50,M,,KSB--100x75.step +KSB100-75x50MFA,100,75,50,M,FA,KSB--100x75.step +KSB100-75x50MFB,100,75,50,M,FB,KSB--100x75.step +KSB100-75x50MCA,100,75,50,M,CA,KSB--100x75.step +KSB100-75x50MCB,100,75,50,M,CB,KSB--100x75.step +KSB100-75x50MLB,100,75,50,M,LB,KSB--100x75.step +KSB100-75x50MYB,100,75,50,M,YB,KSB--100x75.step +KSB100-75x75,100,75,75,,,KSB--100x75.step +KSB100-75x75FA,100,75,75,,FA,KSB--100x75.step +KSB100-75x75FB,100,75,75,,FB,KSB--100x75.step +KSB100-75x75CA,100,75,75,,CA,KSB--100x75.step +KSB100-75x75CB,100,75,75,,CB,KSB--100x75.step +KSB100-75x75LB,100,75,75,,LB,KSB--100x75.step +KSB100-75x75YB,100,75,75,,YB,KSB--100x75.step +KSB100-75x75M,100,75,75,M,,KSB--100x75.step +KSB100-75x75MFA,100,75,75,M,FA,KSB--100x75.step +KSB100-75x75MFB,100,75,75,M,FB,KSB--100x75.step +KSB100-75x75MCA,100,75,75,M,CA,KSB--100x75.step +KSB100-75x75MCB,100,75,75,M,CB,KSB--100x75.step +KSB100-75x75MLB,100,75,75,M,LB,KSB--100x75.step +KSB100-75x75MYB,100,75,75,M,YB,KSB--100x75.step +KSB100-75x100,100,75,100,,,KSB--100x75.step +KSB100-75x100FA,100,75,100,,FA,KSB--100x75.step +KSB100-75x100FB,100,75,100,,FB,KSB--100x75.step +KSB100-75x100CA,100,75,100,,CA,KSB--100x75.step +KSB100-75x100CB,100,75,100,,CB,KSB--100x75.step +KSB100-75x100LB,100,75,100,,LB,KSB--100x75.step +KSB100-75x100YB,100,75,100,,YB,KSB--100x75.step +KSB100-75x100M,100,75,100,M,,KSB--100x75.step +KSB100-75x100MFA,100,75,100,M,FA,KSB--100x75.step +KSB100-75x100MFB,100,75,100,M,FB,KSB--100x75.step +KSB100-75x100MCA,100,75,100,M,CA,KSB--100x75.step +KSB100-75x100MCB,100,75,100,M,CB,KSB--100x75.step +KSB100-75x100MLB,100,75,100,M,LB,KSB--100x75.step +KSB100-75x100MYB,100,75,100,M,YB,KSB--100x75.step +KSB100-100x0,100,100,0,,,KSB--100x100.step +KSB100-100x0FA,100,100,0,,FA,KSB--100x100.step +KSB100-100x0FB,100,100,0,,FB,KSB--100x100.step +KSB100-100x0CA,100,100,0,,CA,KSB--100x100.step +KSB100-100x0CB,100,100,0,,CB,KSB--100x100.step +KSB100-100x0LB,100,100,0,,LB,KSB--100x100.step +KSB100-100x0YB,100,100,0,,YB,KSB--100x100.step +KSB100-100x0M,100,100,0,M,,KSB--100x100.step +KSB100-100x0MFA,100,100,0,M,FA,KSB--100x100.step +KSB100-100x0MFB,100,100,0,M,FB,KSB--100x100.step +KSB100-100x0MCA,100,100,0,M,CA,KSB--100x100.step +KSB100-100x0MCB,100,100,0,M,CB,KSB--100x100.step +KSB100-100x0MLB,100,100,0,M,LB,KSB--100x100.step +KSB100-100x0MYB,100,100,0,M,YB,KSB--100x100.step +KSB100-100x10,100,100,10,,,KSB--100x100.step +KSB100-100x10FA,100,100,10,,FA,KSB--100x100.step +KSB100-100x10FB,100,100,10,,FB,KSB--100x100.step +KSB100-100x10CA,100,100,10,,CA,KSB--100x100.step +KSB100-100x10CB,100,100,10,,CB,KSB--100x100.step +KSB100-100x10LB,100,100,10,,LB,KSB--100x100.step +KSB100-100x10YB,100,100,10,,YB,KSB--100x100.step +KSB100-100x10M,100,100,10,M,,KSB--100x100.step +KSB100-100x10MFA,100,100,10,M,FA,KSB--100x100.step +KSB100-100x10MFB,100,100,10,M,FB,KSB--100x100.step +KSB100-100x10MCA,100,100,10,M,CA,KSB--100x100.step +KSB100-100x10MCB,100,100,10,M,CB,KSB--100x100.step +KSB100-100x10MLB,100,100,10,M,LB,KSB--100x100.step +KSB100-100x10MYB,100,100,10,M,YB,KSB--100x100.step +KSB100-100x20,100,100,20,,,KSB--100x100.step +KSB100-100x20FA,100,100,20,,FA,KSB--100x100.step +KSB100-100x20FB,100,100,20,,FB,KSB--100x100.step +KSB100-100x20CA,100,100,20,,CA,KSB--100x100.step +KSB100-100x20CB,100,100,20,,CB,KSB--100x100.step +KSB100-100x20LB,100,100,20,,LB,KSB--100x100.step +KSB100-100x20YB,100,100,20,,YB,KSB--100x100.step +KSB100-100x20M,100,100,20,M,,KSB--100x100.step +KSB100-100x20MFA,100,100,20,M,FA,KSB--100x100.step +KSB100-100x20MFB,100,100,20,M,FB,KSB--100x100.step +KSB100-100x20MCA,100,100,20,M,CA,KSB--100x100.step +KSB100-100x20MCB,100,100,20,M,CB,KSB--100x100.step +KSB100-100x20MLB,100,100,20,M,LB,KSB--100x100.step +KSB100-100x20MYB,100,100,20,M,YB,KSB--100x100.step +KSB100-100x30,100,100,30,,,KSB--100x100.step +KSB100-100x30FA,100,100,30,,FA,KSB--100x100.step +KSB100-100x30FB,100,100,30,,FB,KSB--100x100.step +KSB100-100x30CA,100,100,30,,CA,KSB--100x100.step +KSB100-100x30CB,100,100,30,,CB,KSB--100x100.step +KSB100-100x30LB,100,100,30,,LB,KSB--100x100.step +KSB100-100x30YB,100,100,30,,YB,KSB--100x100.step +KSB100-100x30M,100,100,30,M,,KSB--100x100.step +KSB100-100x30MFA,100,100,30,M,FA,KSB--100x100.step +KSB100-100x30MFB,100,100,30,M,FB,KSB--100x100.step +KSB100-100x30MCA,100,100,30,M,CA,KSB--100x100.step +KSB100-100x30MCB,100,100,30,M,CB,KSB--100x100.step +KSB100-100x30MLB,100,100,30,M,LB,KSB--100x100.step +KSB100-100x30MYB,100,100,30,M,YB,KSB--100x100.step +KSB100-100x50,100,100,50,,,KSB--100x100.step +KSB100-100x50FA,100,100,50,,FA,KSB--100x100.step +KSB100-100x50FB,100,100,50,,FB,KSB--100x100.step +KSB100-100x50CA,100,100,50,,CA,KSB--100x100.step +KSB100-100x50CB,100,100,50,,CB,KSB--100x100.step +KSB100-100x50LB,100,100,50,,LB,KSB--100x100.step +KSB100-100x50YB,100,100,50,,YB,KSB--100x100.step +KSB100-100x50M,100,100,50,M,,KSB--100x100.step +KSB100-100x50MFA,100,100,50,M,FA,KSB--100x100.step +KSB100-100x50MFB,100,100,50,M,FB,KSB--100x100.step +KSB100-100x50MCA,100,100,50,M,CA,KSB--100x100.step +KSB100-100x50MCB,100,100,50,M,CB,KSB--100x100.step +KSB100-100x50MLB,100,100,50,M,LB,KSB--100x100.step +KSB100-100x50MYB,100,100,50,M,YB,KSB--100x100.step +KSB100-100x75,100,100,75,,,KSB--100x100.step +KSB100-100x75FA,100,100,75,,FA,KSB--100x100.step +KSB100-100x75FB,100,100,75,,FB,KSB--100x100.step +KSB100-100x75CA,100,100,75,,CA,KSB--100x100.step +KSB100-100x75CB,100,100,75,,CB,KSB--100x100.step +KSB100-100x75LB,100,100,75,,LB,KSB--100x100.step +KSB100-100x75YB,100,100,75,,YB,KSB--100x100.step +KSB100-100x75M,100,100,75,M,,KSB--100x100.step +KSB100-100x75MFA,100,100,75,M,FA,KSB--100x100.step +KSB100-100x75MFB,100,100,75,M,FB,KSB--100x100.step +KSB100-100x75MCA,100,100,75,M,CA,KSB--100x100.step +KSB100-100x75MCB,100,100,75,M,CB,KSB--100x100.step +KSB100-100x75MLB,100,100,75,M,LB,KSB--100x100.step +KSB100-100x75MYB,100,100,75,M,YB,KSB--100x100.step +KSB100-100x100,100,100,100,,,KSB--100x100.step +KSB100-100x100FA,100,100,100,,FA,KSB--100x100.step +KSB100-100x100FB,100,100,100,,FB,KSB--100x100.step +KSB100-100x100CA,100,100,100,,CA,KSB--100x100.step +KSB100-100x100CB,100,100,100,,CB,KSB--100x100.step +KSB100-100x100LB,100,100,100,,LB,KSB--100x100.step +KSB100-100x100YB,100,100,100,,YB,KSB--100x100.step +KSB100-100x100M,100,100,100,M,,KSB--100x100.step +KSB100-100x100MFA,100,100,100,M,FA,KSB--100x100.step +KSB100-100x100MFB,100,100,100,M,FB,KSB--100x100.step +KSB100-100x100MCA,100,100,100,M,CA,KSB--100x100.step +KSB100-100x100MCB,100,100,100,M,CB,KSB--100x100.step +KSB100-100x100MLB,100,100,100,M,LB,KSB--100x100.step +KSB100-100x100MYB,100,100,100,M,YB,KSB--100x100.step +KSB125-0x0,125,0,0,,,KSB--125x0.step +KSB125-0x0FA,125,0,0,,FA,KSB--125x0.step +KSB125-0x0FB,125,0,0,,FB,KSB--125x0.step +KSB125-0x0CA,125,0,0,,CA,KSB--125x0.step +KSB125-0x0CB,125,0,0,,CB,KSB--125x0.step +KSB125-0x0LB,125,0,0,,LB,KSB--125x0.step +KSB125-0x0YB,125,0,0,,YB,KSB--125x0.step +KSB125-0x0M,125,0,0,M,,KSB--125x0.step +KSB125-0x0MFA,125,0,0,M,FA,KSB--125x0.step +KSB125-0x0MFB,125,0,0,M,FB,KSB--125x0.step +KSB125-0x0MCA,125,0,0,M,CA,KSB--125x0.step +KSB125-0x0MCB,125,0,0,M,CB,KSB--125x0.step +KSB125-0x0MLB,125,0,0,M,LB,KSB--125x0.step +KSB125-0x0MYB,125,0,0,M,YB,KSB--125x0.step +KSB125-0x10,125,0,10,,,KSB--125x0.step +KSB125-0x10FA,125,0,10,,FA,KSB--125x0.step +KSB125-0x10FB,125,0,10,,FB,KSB--125x0.step +KSB125-0x10CA,125,0,10,,CA,KSB--125x0.step +KSB125-0x10CB,125,0,10,,CB,KSB--125x0.step +KSB125-0x10LB,125,0,10,,LB,KSB--125x0.step +KSB125-0x10YB,125,0,10,,YB,KSB--125x0.step +KSB125-0x10M,125,0,10,M,,KSB--125x0.step +KSB125-0x10MFA,125,0,10,M,FA,KSB--125x0.step +KSB125-0x10MFB,125,0,10,M,FB,KSB--125x0.step +KSB125-0x10MCA,125,0,10,M,CA,KSB--125x0.step +KSB125-0x10MCB,125,0,10,M,CB,KSB--125x0.step +KSB125-0x10MLB,125,0,10,M,LB,KSB--125x0.step +KSB125-0x10MYB,125,0,10,M,YB,KSB--125x0.step +KSB125-0x20,125,0,20,,,KSB--125x0.step +KSB125-0x20FA,125,0,20,,FA,KSB--125x0.step +KSB125-0x20FB,125,0,20,,FB,KSB--125x0.step +KSB125-0x20CA,125,0,20,,CA,KSB--125x0.step +KSB125-0x20CB,125,0,20,,CB,KSB--125x0.step +KSB125-0x20LB,125,0,20,,LB,KSB--125x0.step +KSB125-0x20YB,125,0,20,,YB,KSB--125x0.step +KSB125-0x20M,125,0,20,M,,KSB--125x0.step +KSB125-0x20MFA,125,0,20,M,FA,KSB--125x0.step +KSB125-0x20MFB,125,0,20,M,FB,KSB--125x0.step +KSB125-0x20MCA,125,0,20,M,CA,KSB--125x0.step +KSB125-0x20MCB,125,0,20,M,CB,KSB--125x0.step +KSB125-0x20MLB,125,0,20,M,LB,KSB--125x0.step +KSB125-0x20MYB,125,0,20,M,YB,KSB--125x0.step +KSB125-0x30,125,0,30,,,KSB--125x0.step +KSB125-0x30FA,125,0,30,,FA,KSB--125x0.step +KSB125-0x30FB,125,0,30,,FB,KSB--125x0.step +KSB125-0x30CA,125,0,30,,CA,KSB--125x0.step +KSB125-0x30CB,125,0,30,,CB,KSB--125x0.step +KSB125-0x30LB,125,0,30,,LB,KSB--125x0.step +KSB125-0x30YB,125,0,30,,YB,KSB--125x0.step +KSB125-0x30M,125,0,30,M,,KSB--125x0.step +KSB125-0x30MFA,125,0,30,M,FA,KSB--125x0.step +KSB125-0x30MFB,125,0,30,M,FB,KSB--125x0.step +KSB125-0x30MCA,125,0,30,M,CA,KSB--125x0.step +KSB125-0x30MCB,125,0,30,M,CB,KSB--125x0.step +KSB125-0x30MLB,125,0,30,M,LB,KSB--125x0.step +KSB125-0x30MYB,125,0,30,M,YB,KSB--125x0.step +KSB125-0x50,125,0,50,,,KSB--125x0.step +KSB125-0x50FA,125,0,50,,FA,KSB--125x0.step +KSB125-0x50FB,125,0,50,,FB,KSB--125x0.step +KSB125-0x50CA,125,0,50,,CA,KSB--125x0.step +KSB125-0x50CB,125,0,50,,CB,KSB--125x0.step +KSB125-0x50LB,125,0,50,,LB,KSB--125x0.step +KSB125-0x50YB,125,0,50,,YB,KSB--125x0.step +KSB125-0x50M,125,0,50,M,,KSB--125x0.step +KSB125-0x50MFA,125,0,50,M,FA,KSB--125x0.step +KSB125-0x50MFB,125,0,50,M,FB,KSB--125x0.step +KSB125-0x50MCA,125,0,50,M,CA,KSB--125x0.step +KSB125-0x50MCB,125,0,50,M,CB,KSB--125x0.step +KSB125-0x50MLB,125,0,50,M,LB,KSB--125x0.step +KSB125-0x50MYB,125,0,50,M,YB,KSB--125x0.step +KSB125-0x75,125,0,75,,,KSB--125x0.step +KSB125-0x75FA,125,0,75,,FA,KSB--125x0.step +KSB125-0x75FB,125,0,75,,FB,KSB--125x0.step +KSB125-0x75CA,125,0,75,,CA,KSB--125x0.step +KSB125-0x75CB,125,0,75,,CB,KSB--125x0.step +KSB125-0x75LB,125,0,75,,LB,KSB--125x0.step +KSB125-0x75YB,125,0,75,,YB,KSB--125x0.step +KSB125-0x75M,125,0,75,M,,KSB--125x0.step +KSB125-0x75MFA,125,0,75,M,FA,KSB--125x0.step +KSB125-0x75MFB,125,0,75,M,FB,KSB--125x0.step +KSB125-0x75MCA,125,0,75,M,CA,KSB--125x0.step +KSB125-0x75MCB,125,0,75,M,CB,KSB--125x0.step +KSB125-0x75MLB,125,0,75,M,LB,KSB--125x0.step +KSB125-0x75MYB,125,0,75,M,YB,KSB--125x0.step +KSB125-0x100,125,0,100,,,KSB--125x0.step +KSB125-0x100FA,125,0,100,,FA,KSB--125x0.step +KSB125-0x100FB,125,0,100,,FB,KSB--125x0.step +KSB125-0x100CA,125,0,100,,CA,KSB--125x0.step +KSB125-0x100CB,125,0,100,,CB,KSB--125x0.step +KSB125-0x100LB,125,0,100,,LB,KSB--125x0.step +KSB125-0x100YB,125,0,100,,YB,KSB--125x0.step +KSB125-0x100M,125,0,100,M,,KSB--125x0.step +KSB125-0x100MFA,125,0,100,M,FA,KSB--125x0.step +KSB125-0x100MFB,125,0,100,M,FB,KSB--125x0.step +KSB125-0x100MCA,125,0,100,M,CA,KSB--125x0.step +KSB125-0x100MCB,125,0,100,M,CB,KSB--125x0.step +KSB125-0x100MLB,125,0,100,M,LB,KSB--125x0.step +KSB125-0x100MYB,125,0,100,M,YB,KSB--125x0.step +KSB125-10x0,125,10,0,,,KSB--125x10.step +KSB125-10x0FA,125,10,0,,FA,KSB--125x10.step +KSB125-10x0FB,125,10,0,,FB,KSB--125x10.step +KSB125-10x0CA,125,10,0,,CA,KSB--125x10.step +KSB125-10x0CB,125,10,0,,CB,KSB--125x10.step +KSB125-10x0LB,125,10,0,,LB,KSB--125x10.step +KSB125-10x0YB,125,10,0,,YB,KSB--125x10.step +KSB125-10x0M,125,10,0,M,,KSB--125x10.step +KSB125-10x0MFA,125,10,0,M,FA,KSB--125x10.step +KSB125-10x0MFB,125,10,0,M,FB,KSB--125x10.step +KSB125-10x0MCA,125,10,0,M,CA,KSB--125x10.step +KSB125-10x0MCB,125,10,0,M,CB,KSB--125x10.step +KSB125-10x0MLB,125,10,0,M,LB,KSB--125x10.step +KSB125-10x0MYB,125,10,0,M,YB,KSB--125x10.step +KSB125-10x10,125,10,10,,,KSB--125x10.step +KSB125-10x10FA,125,10,10,,FA,KSB--125x10.step +KSB125-10x10FB,125,10,10,,FB,KSB--125x10.step +KSB125-10x10CA,125,10,10,,CA,KSB--125x10.step +KSB125-10x10CB,125,10,10,,CB,KSB--125x10.step +KSB125-10x10LB,125,10,10,,LB,KSB--125x10.step +KSB125-10x10YB,125,10,10,,YB,KSB--125x10.step +KSB125-10x10M,125,10,10,M,,KSB--125x10.step +KSB125-10x10MFA,125,10,10,M,FA,KSB--125x10.step +KSB125-10x10MFB,125,10,10,M,FB,KSB--125x10.step +KSB125-10x10MCA,125,10,10,M,CA,KSB--125x10.step +KSB125-10x10MCB,125,10,10,M,CB,KSB--125x10.step +KSB125-10x10MLB,125,10,10,M,LB,KSB--125x10.step +KSB125-10x10MYB,125,10,10,M,YB,KSB--125x10.step +KSB125-10x20,125,10,20,,,KSB--125x10.step +KSB125-10x20FA,125,10,20,,FA,KSB--125x10.step +KSB125-10x20FB,125,10,20,,FB,KSB--125x10.step +KSB125-10x20CA,125,10,20,,CA,KSB--125x10.step +KSB125-10x20CB,125,10,20,,CB,KSB--125x10.step +KSB125-10x20LB,125,10,20,,LB,KSB--125x10.step +KSB125-10x20YB,125,10,20,,YB,KSB--125x10.step +KSB125-10x20M,125,10,20,M,,KSB--125x10.step +KSB125-10x20MFA,125,10,20,M,FA,KSB--125x10.step +KSB125-10x20MFB,125,10,20,M,FB,KSB--125x10.step +KSB125-10x20MCA,125,10,20,M,CA,KSB--125x10.step +KSB125-10x20MCB,125,10,20,M,CB,KSB--125x10.step +KSB125-10x20MLB,125,10,20,M,LB,KSB--125x10.step +KSB125-10x20MYB,125,10,20,M,YB,KSB--125x10.step +KSB125-10x30,125,10,30,,,KSB--125x10.step +KSB125-10x30FA,125,10,30,,FA,KSB--125x10.step +KSB125-10x30FB,125,10,30,,FB,KSB--125x10.step +KSB125-10x30CA,125,10,30,,CA,KSB--125x10.step +KSB125-10x30CB,125,10,30,,CB,KSB--125x10.step +KSB125-10x30LB,125,10,30,,LB,KSB--125x10.step +KSB125-10x30YB,125,10,30,,YB,KSB--125x10.step +KSB125-10x30M,125,10,30,M,,KSB--125x10.step +KSB125-10x30MFA,125,10,30,M,FA,KSB--125x10.step +KSB125-10x30MFB,125,10,30,M,FB,KSB--125x10.step +KSB125-10x30MCA,125,10,30,M,CA,KSB--125x10.step +KSB125-10x30MCB,125,10,30,M,CB,KSB--125x10.step +KSB125-10x30MLB,125,10,30,M,LB,KSB--125x10.step +KSB125-10x30MYB,125,10,30,M,YB,KSB--125x10.step +KSB125-10x50,125,10,50,,,KSB--125x10.step +KSB125-10x50FA,125,10,50,,FA,KSB--125x10.step +KSB125-10x50FB,125,10,50,,FB,KSB--125x10.step +KSB125-10x50CA,125,10,50,,CA,KSB--125x10.step +KSB125-10x50CB,125,10,50,,CB,KSB--125x10.step +KSB125-10x50LB,125,10,50,,LB,KSB--125x10.step +KSB125-10x50YB,125,10,50,,YB,KSB--125x10.step +KSB125-10x50M,125,10,50,M,,KSB--125x10.step +KSB125-10x50MFA,125,10,50,M,FA,KSB--125x10.step +KSB125-10x50MFB,125,10,50,M,FB,KSB--125x10.step +KSB125-10x50MCA,125,10,50,M,CA,KSB--125x10.step +KSB125-10x50MCB,125,10,50,M,CB,KSB--125x10.step +KSB125-10x50MLB,125,10,50,M,LB,KSB--125x10.step +KSB125-10x50MYB,125,10,50,M,YB,KSB--125x10.step +KSB125-10x75,125,10,75,,,KSB--125x10.step +KSB125-10x75FA,125,10,75,,FA,KSB--125x10.step +KSB125-10x75FB,125,10,75,,FB,KSB--125x10.step +KSB125-10x75CA,125,10,75,,CA,KSB--125x10.step +KSB125-10x75CB,125,10,75,,CB,KSB--125x10.step +KSB125-10x75LB,125,10,75,,LB,KSB--125x10.step +KSB125-10x75YB,125,10,75,,YB,KSB--125x10.step +KSB125-10x75M,125,10,75,M,,KSB--125x10.step +KSB125-10x75MFA,125,10,75,M,FA,KSB--125x10.step +KSB125-10x75MFB,125,10,75,M,FB,KSB--125x10.step +KSB125-10x75MCA,125,10,75,M,CA,KSB--125x10.step +KSB125-10x75MCB,125,10,75,M,CB,KSB--125x10.step +KSB125-10x75MLB,125,10,75,M,LB,KSB--125x10.step +KSB125-10x75MYB,125,10,75,M,YB,KSB--125x10.step +KSB125-10x100,125,10,100,,,KSB--125x10.step +KSB125-10x100FA,125,10,100,,FA,KSB--125x10.step +KSB125-10x100FB,125,10,100,,FB,KSB--125x10.step +KSB125-10x100CA,125,10,100,,CA,KSB--125x10.step +KSB125-10x100CB,125,10,100,,CB,KSB--125x10.step +KSB125-10x100LB,125,10,100,,LB,KSB--125x10.step +KSB125-10x100YB,125,10,100,,YB,KSB--125x10.step +KSB125-10x100M,125,10,100,M,,KSB--125x10.step +KSB125-10x100MFA,125,10,100,M,FA,KSB--125x10.step +KSB125-10x100MFB,125,10,100,M,FB,KSB--125x10.step +KSB125-10x100MCA,125,10,100,M,CA,KSB--125x10.step +KSB125-10x100MCB,125,10,100,M,CB,KSB--125x10.step +KSB125-10x100MLB,125,10,100,M,LB,KSB--125x10.step +KSB125-10x100MYB,125,10,100,M,YB,KSB--125x10.step +KSB125-20x0,125,20,0,,,KSB--125x20.step +KSB125-20x0FA,125,20,0,,FA,KSB--125x20.step +KSB125-20x0FB,125,20,0,,FB,KSB--125x20.step +KSB125-20x0CA,125,20,0,,CA,KSB--125x20.step +KSB125-20x0CB,125,20,0,,CB,KSB--125x20.step +KSB125-20x0LB,125,20,0,,LB,KSB--125x20.step +KSB125-20x0YB,125,20,0,,YB,KSB--125x20.step +KSB125-20x0M,125,20,0,M,,KSB--125x20.step +KSB125-20x0MFA,125,20,0,M,FA,KSB--125x20.step +KSB125-20x0MFB,125,20,0,M,FB,KSB--125x20.step +KSB125-20x0MCA,125,20,0,M,CA,KSB--125x20.step +KSB125-20x0MCB,125,20,0,M,CB,KSB--125x20.step +KSB125-20x0MLB,125,20,0,M,LB,KSB--125x20.step +KSB125-20x0MYB,125,20,0,M,YB,KSB--125x20.step +KSB125-20x10,125,20,10,,,KSB--125x20.step +KSB125-20x10FA,125,20,10,,FA,KSB--125x20.step +KSB125-20x10FB,125,20,10,,FB,KSB--125x20.step +KSB125-20x10CA,125,20,10,,CA,KSB--125x20.step +KSB125-20x10CB,125,20,10,,CB,KSB--125x20.step +KSB125-20x10LB,125,20,10,,LB,KSB--125x20.step +KSB125-20x10YB,125,20,10,,YB,KSB--125x20.step +KSB125-20x10M,125,20,10,M,,KSB--125x20.step +KSB125-20x10MFA,125,20,10,M,FA,KSB--125x20.step +KSB125-20x10MFB,125,20,10,M,FB,KSB--125x20.step +KSB125-20x10MCA,125,20,10,M,CA,KSB--125x20.step +KSB125-20x10MCB,125,20,10,M,CB,KSB--125x20.step +KSB125-20x10MLB,125,20,10,M,LB,KSB--125x20.step +KSB125-20x10MYB,125,20,10,M,YB,KSB--125x20.step +KSB125-20x20,125,20,20,,,KSB--125x20.step +KSB125-20x20FA,125,20,20,,FA,KSB--125x20.step +KSB125-20x20FB,125,20,20,,FB,KSB--125x20.step +KSB125-20x20CA,125,20,20,,CA,KSB--125x20.step +KSB125-20x20CB,125,20,20,,CB,KSB--125x20.step +KSB125-20x20LB,125,20,20,,LB,KSB--125x20.step +KSB125-20x20YB,125,20,20,,YB,KSB--125x20.step +KSB125-20x20M,125,20,20,M,,KSB--125x20.step +KSB125-20x20MFA,125,20,20,M,FA,KSB--125x20.step +KSB125-20x20MFB,125,20,20,M,FB,KSB--125x20.step +KSB125-20x20MCA,125,20,20,M,CA,KSB--125x20.step +KSB125-20x20MCB,125,20,20,M,CB,KSB--125x20.step +KSB125-20x20MLB,125,20,20,M,LB,KSB--125x20.step +KSB125-20x20MYB,125,20,20,M,YB,KSB--125x20.step +KSB125-20x30,125,20,30,,,KSB--125x20.step +KSB125-20x30FA,125,20,30,,FA,KSB--125x20.step +KSB125-20x30FB,125,20,30,,FB,KSB--125x20.step +KSB125-20x30CA,125,20,30,,CA,KSB--125x20.step +KSB125-20x30CB,125,20,30,,CB,KSB--125x20.step +KSB125-20x30LB,125,20,30,,LB,KSB--125x20.step +KSB125-20x30YB,125,20,30,,YB,KSB--125x20.step +KSB125-20x30M,125,20,30,M,,KSB--125x20.step +KSB125-20x30MFA,125,20,30,M,FA,KSB--125x20.step +KSB125-20x30MFB,125,20,30,M,FB,KSB--125x20.step +KSB125-20x30MCA,125,20,30,M,CA,KSB--125x20.step +KSB125-20x30MCB,125,20,30,M,CB,KSB--125x20.step +KSB125-20x30MLB,125,20,30,M,LB,KSB--125x20.step +KSB125-20x30MYB,125,20,30,M,YB,KSB--125x20.step +KSB125-20x50,125,20,50,,,KSB--125x20.step +KSB125-20x50FA,125,20,50,,FA,KSB--125x20.step +KSB125-20x50FB,125,20,50,,FB,KSB--125x20.step +KSB125-20x50CA,125,20,50,,CA,KSB--125x20.step +KSB125-20x50CB,125,20,50,,CB,KSB--125x20.step +KSB125-20x50LB,125,20,50,,LB,KSB--125x20.step +KSB125-20x50YB,125,20,50,,YB,KSB--125x20.step +KSB125-20x50M,125,20,50,M,,KSB--125x20.step +KSB125-20x50MFA,125,20,50,M,FA,KSB--125x20.step +KSB125-20x50MFB,125,20,50,M,FB,KSB--125x20.step +KSB125-20x50MCA,125,20,50,M,CA,KSB--125x20.step +KSB125-20x50MCB,125,20,50,M,CB,KSB--125x20.step +KSB125-20x50MLB,125,20,50,M,LB,KSB--125x20.step +KSB125-20x50MYB,125,20,50,M,YB,KSB--125x20.step +KSB125-20x75,125,20,75,,,KSB--125x20.step +KSB125-20x75FA,125,20,75,,FA,KSB--125x20.step +KSB125-20x75FB,125,20,75,,FB,KSB--125x20.step +KSB125-20x75CA,125,20,75,,CA,KSB--125x20.step +KSB125-20x75CB,125,20,75,,CB,KSB--125x20.step +KSB125-20x75LB,125,20,75,,LB,KSB--125x20.step +KSB125-20x75YB,125,20,75,,YB,KSB--125x20.step +KSB125-20x75M,125,20,75,M,,KSB--125x20.step +KSB125-20x75MFA,125,20,75,M,FA,KSB--125x20.step +KSB125-20x75MFB,125,20,75,M,FB,KSB--125x20.step +KSB125-20x75MCA,125,20,75,M,CA,KSB--125x20.step +KSB125-20x75MCB,125,20,75,M,CB,KSB--125x20.step +KSB125-20x75MLB,125,20,75,M,LB,KSB--125x20.step +KSB125-20x75MYB,125,20,75,M,YB,KSB--125x20.step +KSB125-20x100,125,20,100,,,KSB--125x20.step +KSB125-20x100FA,125,20,100,,FA,KSB--125x20.step +KSB125-20x100FB,125,20,100,,FB,KSB--125x20.step +KSB125-20x100CA,125,20,100,,CA,KSB--125x20.step +KSB125-20x100CB,125,20,100,,CB,KSB--125x20.step +KSB125-20x100LB,125,20,100,,LB,KSB--125x20.step +KSB125-20x100YB,125,20,100,,YB,KSB--125x20.step +KSB125-20x100M,125,20,100,M,,KSB--125x20.step +KSB125-20x100MFA,125,20,100,M,FA,KSB--125x20.step +KSB125-20x100MFB,125,20,100,M,FB,KSB--125x20.step +KSB125-20x100MCA,125,20,100,M,CA,KSB--125x20.step +KSB125-20x100MCB,125,20,100,M,CB,KSB--125x20.step +KSB125-20x100MLB,125,20,100,M,LB,KSB--125x20.step +KSB125-20x100MYB,125,20,100,M,YB,KSB--125x20.step +KSB125-30x0,125,30,0,,,KSB--125x30.step +KSB125-30x0FA,125,30,0,,FA,KSB--125x30.step +KSB125-30x0FB,125,30,0,,FB,KSB--125x30.step +KSB125-30x0CA,125,30,0,,CA,KSB--125x30.step +KSB125-30x0CB,125,30,0,,CB,KSB--125x30.step +KSB125-30x0LB,125,30,0,,LB,KSB--125x30.step +KSB125-30x0YB,125,30,0,,YB,KSB--125x30.step +KSB125-30x0M,125,30,0,M,,KSB--125x30.step +KSB125-30x0MFA,125,30,0,M,FA,KSB--125x30.step +KSB125-30x0MFB,125,30,0,M,FB,KSB--125x30.step +KSB125-30x0MCA,125,30,0,M,CA,KSB--125x30.step +KSB125-30x0MCB,125,30,0,M,CB,KSB--125x30.step +KSB125-30x0MLB,125,30,0,M,LB,KSB--125x30.step +KSB125-30x0MYB,125,30,0,M,YB,KSB--125x30.step +KSB125-30x10,125,30,10,,,KSB--125x30.step +KSB125-30x10FA,125,30,10,,FA,KSB--125x30.step +KSB125-30x10FB,125,30,10,,FB,KSB--125x30.step +KSB125-30x10CA,125,30,10,,CA,KSB--125x30.step +KSB125-30x10CB,125,30,10,,CB,KSB--125x30.step +KSB125-30x10LB,125,30,10,,LB,KSB--125x30.step +KSB125-30x10YB,125,30,10,,YB,KSB--125x30.step +KSB125-30x10M,125,30,10,M,,KSB--125x30.step +KSB125-30x10MFA,125,30,10,M,FA,KSB--125x30.step +KSB125-30x10MFB,125,30,10,M,FB,KSB--125x30.step +KSB125-30x10MCA,125,30,10,M,CA,KSB--125x30.step +KSB125-30x10MCB,125,30,10,M,CB,KSB--125x30.step +KSB125-30x10MLB,125,30,10,M,LB,KSB--125x30.step +KSB125-30x10MYB,125,30,10,M,YB,KSB--125x30.step +KSB125-30x20,125,30,20,,,KSB--125x30.step +KSB125-30x20FA,125,30,20,,FA,KSB--125x30.step +KSB125-30x20FB,125,30,20,,FB,KSB--125x30.step +KSB125-30x20CA,125,30,20,,CA,KSB--125x30.step +KSB125-30x20CB,125,30,20,,CB,KSB--125x30.step +KSB125-30x20LB,125,30,20,,LB,KSB--125x30.step +KSB125-30x20YB,125,30,20,,YB,KSB--125x30.step +KSB125-30x20M,125,30,20,M,,KSB--125x30.step +KSB125-30x20MFA,125,30,20,M,FA,KSB--125x30.step +KSB125-30x20MFB,125,30,20,M,FB,KSB--125x30.step +KSB125-30x20MCA,125,30,20,M,CA,KSB--125x30.step +KSB125-30x20MCB,125,30,20,M,CB,KSB--125x30.step +KSB125-30x20MLB,125,30,20,M,LB,KSB--125x30.step +KSB125-30x20MYB,125,30,20,M,YB,KSB--125x30.step +KSB125-30x30,125,30,30,,,KSB--125x30.step +KSB125-30x30FA,125,30,30,,FA,KSB--125x30.step +KSB125-30x30FB,125,30,30,,FB,KSB--125x30.step +KSB125-30x30CA,125,30,30,,CA,KSB--125x30.step +KSB125-30x30CB,125,30,30,,CB,KSB--125x30.step +KSB125-30x30LB,125,30,30,,LB,KSB--125x30.step +KSB125-30x30YB,125,30,30,,YB,KSB--125x30.step +KSB125-30x30M,125,30,30,M,,KSB--125x30.step +KSB125-30x30MFA,125,30,30,M,FA,KSB--125x30.step +KSB125-30x30MFB,125,30,30,M,FB,KSB--125x30.step +KSB125-30x30MCA,125,30,30,M,CA,KSB--125x30.step +KSB125-30x30MCB,125,30,30,M,CB,KSB--125x30.step +KSB125-30x30MLB,125,30,30,M,LB,KSB--125x30.step +KSB125-30x30MYB,125,30,30,M,YB,KSB--125x30.step +KSB125-30x50,125,30,50,,,KSB--125x30.step +KSB125-30x50FA,125,30,50,,FA,KSB--125x30.step +KSB125-30x50FB,125,30,50,,FB,KSB--125x30.step +KSB125-30x50CA,125,30,50,,CA,KSB--125x30.step +KSB125-30x50CB,125,30,50,,CB,KSB--125x30.step +KSB125-30x50LB,125,30,50,,LB,KSB--125x30.step +KSB125-30x50YB,125,30,50,,YB,KSB--125x30.step +KSB125-30x50M,125,30,50,M,,KSB--125x30.step +KSB125-30x50MFA,125,30,50,M,FA,KSB--125x30.step +KSB125-30x50MFB,125,30,50,M,FB,KSB--125x30.step +KSB125-30x50MCA,125,30,50,M,CA,KSB--125x30.step +KSB125-30x50MCB,125,30,50,M,CB,KSB--125x30.step +KSB125-30x50MLB,125,30,50,M,LB,KSB--125x30.step +KSB125-30x50MYB,125,30,50,M,YB,KSB--125x30.step +KSB125-30x75,125,30,75,,,KSB--125x30.step +KSB125-30x75FA,125,30,75,,FA,KSB--125x30.step +KSB125-30x75FB,125,30,75,,FB,KSB--125x30.step +KSB125-30x75CA,125,30,75,,CA,KSB--125x30.step +KSB125-30x75CB,125,30,75,,CB,KSB--125x30.step +KSB125-30x75LB,125,30,75,,LB,KSB--125x30.step +KSB125-30x75YB,125,30,75,,YB,KSB--125x30.step +KSB125-30x75M,125,30,75,M,,KSB--125x30.step +KSB125-30x75MFA,125,30,75,M,FA,KSB--125x30.step +KSB125-30x75MFB,125,30,75,M,FB,KSB--125x30.step +KSB125-30x75MCA,125,30,75,M,CA,KSB--125x30.step +KSB125-30x75MCB,125,30,75,M,CB,KSB--125x30.step +KSB125-30x75MLB,125,30,75,M,LB,KSB--125x30.step +KSB125-30x75MYB,125,30,75,M,YB,KSB--125x30.step +KSB125-30x100,125,30,100,,,KSB--125x30.step +KSB125-30x100FA,125,30,100,,FA,KSB--125x30.step +KSB125-30x100FB,125,30,100,,FB,KSB--125x30.step +KSB125-30x100CA,125,30,100,,CA,KSB--125x30.step +KSB125-30x100CB,125,30,100,,CB,KSB--125x30.step +KSB125-30x100LB,125,30,100,,LB,KSB--125x30.step +KSB125-30x100YB,125,30,100,,YB,KSB--125x30.step +KSB125-30x100M,125,30,100,M,,KSB--125x30.step +KSB125-30x100MFA,125,30,100,M,FA,KSB--125x30.step +KSB125-30x100MFB,125,30,100,M,FB,KSB--125x30.step +KSB125-30x100MCA,125,30,100,M,CA,KSB--125x30.step +KSB125-30x100MCB,125,30,100,M,CB,KSB--125x30.step +KSB125-30x100MLB,125,30,100,M,LB,KSB--125x30.step +KSB125-30x100MYB,125,30,100,M,YB,KSB--125x30.step +KSB125-50x0,125,50,0,,,KSB--125x50.step +KSB125-50x0FA,125,50,0,,FA,KSB--125x50.step +KSB125-50x0FB,125,50,0,,FB,KSB--125x50.step +KSB125-50x0CA,125,50,0,,CA,KSB--125x50.step +KSB125-50x0CB,125,50,0,,CB,KSB--125x50.step +KSB125-50x0LB,125,50,0,,LB,KSB--125x50.step +KSB125-50x0YB,125,50,0,,YB,KSB--125x50.step +KSB125-50x0M,125,50,0,M,,KSB--125x50.step +KSB125-50x0MFA,125,50,0,M,FA,KSB--125x50.step +KSB125-50x0MFB,125,50,0,M,FB,KSB--125x50.step +KSB125-50x0MCA,125,50,0,M,CA,KSB--125x50.step +KSB125-50x0MCB,125,50,0,M,CB,KSB--125x50.step +KSB125-50x0MLB,125,50,0,M,LB,KSB--125x50.step +KSB125-50x0MYB,125,50,0,M,YB,KSB--125x50.step +KSB125-50x10,125,50,10,,,KSB--125x50.step +KSB125-50x10FA,125,50,10,,FA,KSB--125x50.step +KSB125-50x10FB,125,50,10,,FB,KSB--125x50.step +KSB125-50x10CA,125,50,10,,CA,KSB--125x50.step +KSB125-50x10CB,125,50,10,,CB,KSB--125x50.step +KSB125-50x10LB,125,50,10,,LB,KSB--125x50.step +KSB125-50x10YB,125,50,10,,YB,KSB--125x50.step +KSB125-50x10M,125,50,10,M,,KSB--125x50.step +KSB125-50x10MFA,125,50,10,M,FA,KSB--125x50.step +KSB125-50x10MFB,125,50,10,M,FB,KSB--125x50.step +KSB125-50x10MCA,125,50,10,M,CA,KSB--125x50.step +KSB125-50x10MCB,125,50,10,M,CB,KSB--125x50.step +KSB125-50x10MLB,125,50,10,M,LB,KSB--125x50.step +KSB125-50x10MYB,125,50,10,M,YB,KSB--125x50.step +KSB125-50x20,125,50,20,,,KSB--125x50.step +KSB125-50x20FA,125,50,20,,FA,KSB--125x50.step +KSB125-50x20FB,125,50,20,,FB,KSB--125x50.step +KSB125-50x20CA,125,50,20,,CA,KSB--125x50.step +KSB125-50x20CB,125,50,20,,CB,KSB--125x50.step +KSB125-50x20LB,125,50,20,,LB,KSB--125x50.step +KSB125-50x20YB,125,50,20,,YB,KSB--125x50.step +KSB125-50x20M,125,50,20,M,,KSB--125x50.step +KSB125-50x20MFA,125,50,20,M,FA,KSB--125x50.step +KSB125-50x20MFB,125,50,20,M,FB,KSB--125x50.step +KSB125-50x20MCA,125,50,20,M,CA,KSB--125x50.step +KSB125-50x20MCB,125,50,20,M,CB,KSB--125x50.step +KSB125-50x20MLB,125,50,20,M,LB,KSB--125x50.step +KSB125-50x20MYB,125,50,20,M,YB,KSB--125x50.step +KSB125-50x30,125,50,30,,,KSB--125x50.step +KSB125-50x30FA,125,50,30,,FA,KSB--125x50.step +KSB125-50x30FB,125,50,30,,FB,KSB--125x50.step +KSB125-50x30CA,125,50,30,,CA,KSB--125x50.step +KSB125-50x30CB,125,50,30,,CB,KSB--125x50.step +KSB125-50x30LB,125,50,30,,LB,KSB--125x50.step +KSB125-50x30YB,125,50,30,,YB,KSB--125x50.step +KSB125-50x30M,125,50,30,M,,KSB--125x50.step +KSB125-50x30MFA,125,50,30,M,FA,KSB--125x50.step +KSB125-50x30MFB,125,50,30,M,FB,KSB--125x50.step +KSB125-50x30MCA,125,50,30,M,CA,KSB--125x50.step +KSB125-50x30MCB,125,50,30,M,CB,KSB--125x50.step +KSB125-50x30MLB,125,50,30,M,LB,KSB--125x50.step +KSB125-50x30MYB,125,50,30,M,YB,KSB--125x50.step +KSB125-50x50,125,50,50,,,KSB--125x50.step +KSB125-50x50FA,125,50,50,,FA,KSB--125x50.step +KSB125-50x50FB,125,50,50,,FB,KSB--125x50.step +KSB125-50x50CA,125,50,50,,CA,KSB--125x50.step +KSB125-50x50CB,125,50,50,,CB,KSB--125x50.step +KSB125-50x50LB,125,50,50,,LB,KSB--125x50.step +KSB125-50x50YB,125,50,50,,YB,KSB--125x50.step +KSB125-50x50M,125,50,50,M,,KSB--125x50.step +KSB125-50x50MFA,125,50,50,M,FA,KSB--125x50.step +KSB125-50x50MFB,125,50,50,M,FB,KSB--125x50.step +KSB125-50x50MCA,125,50,50,M,CA,KSB--125x50.step +KSB125-50x50MCB,125,50,50,M,CB,KSB--125x50.step +KSB125-50x50MLB,125,50,50,M,LB,KSB--125x50.step +KSB125-50x50MYB,125,50,50,M,YB,KSB--125x50.step +KSB125-50x75,125,50,75,,,KSB--125x50.step +KSB125-50x75FA,125,50,75,,FA,KSB--125x50.step +KSB125-50x75FB,125,50,75,,FB,KSB--125x50.step +KSB125-50x75CA,125,50,75,,CA,KSB--125x50.step +KSB125-50x75CB,125,50,75,,CB,KSB--125x50.step +KSB125-50x75LB,125,50,75,,LB,KSB--125x50.step +KSB125-50x75YB,125,50,75,,YB,KSB--125x50.step +KSB125-50x75M,125,50,75,M,,KSB--125x50.step +KSB125-50x75MFA,125,50,75,M,FA,KSB--125x50.step +KSB125-50x75MFB,125,50,75,M,FB,KSB--125x50.step +KSB125-50x75MCA,125,50,75,M,CA,KSB--125x50.step +KSB125-50x75MCB,125,50,75,M,CB,KSB--125x50.step +KSB125-50x75MLB,125,50,75,M,LB,KSB--125x50.step +KSB125-50x75MYB,125,50,75,M,YB,KSB--125x50.step +KSB125-50x100,125,50,100,,,KSB--125x50.step +KSB125-50x100FA,125,50,100,,FA,KSB--125x50.step +KSB125-50x100FB,125,50,100,,FB,KSB--125x50.step +KSB125-50x100CA,125,50,100,,CA,KSB--125x50.step +KSB125-50x100CB,125,50,100,,CB,KSB--125x50.step +KSB125-50x100LB,125,50,100,,LB,KSB--125x50.step +KSB125-50x100YB,125,50,100,,YB,KSB--125x50.step +KSB125-50x100M,125,50,100,M,,KSB--125x50.step +KSB125-50x100MFA,125,50,100,M,FA,KSB--125x50.step +KSB125-50x100MFB,125,50,100,M,FB,KSB--125x50.step +KSB125-50x100MCA,125,50,100,M,CA,KSB--125x50.step +KSB125-50x100MCB,125,50,100,M,CB,KSB--125x50.step +KSB125-50x100MLB,125,50,100,M,LB,KSB--125x50.step +KSB125-50x100MYB,125,50,100,M,YB,KSB--125x50.step +KSB125-75x0,125,75,0,,,KSB--125x75.step +KSB125-75x0FA,125,75,0,,FA,KSB--125x75.step +KSB125-75x0FB,125,75,0,,FB,KSB--125x75.step +KSB125-75x0CA,125,75,0,,CA,KSB--125x75.step +KSB125-75x0CB,125,75,0,,CB,KSB--125x75.step +KSB125-75x0LB,125,75,0,,LB,KSB--125x75.step +KSB125-75x0YB,125,75,0,,YB,KSB--125x75.step +KSB125-75x0M,125,75,0,M,,KSB--125x75.step +KSB125-75x0MFA,125,75,0,M,FA,KSB--125x75.step +KSB125-75x0MFB,125,75,0,M,FB,KSB--125x75.step +KSB125-75x0MCA,125,75,0,M,CA,KSB--125x75.step +KSB125-75x0MCB,125,75,0,M,CB,KSB--125x75.step +KSB125-75x0MLB,125,75,0,M,LB,KSB--125x75.step +KSB125-75x0MYB,125,75,0,M,YB,KSB--125x75.step +KSB125-75x10,125,75,10,,,KSB--125x75.step +KSB125-75x10FA,125,75,10,,FA,KSB--125x75.step +KSB125-75x10FB,125,75,10,,FB,KSB--125x75.step +KSB125-75x10CA,125,75,10,,CA,KSB--125x75.step +KSB125-75x10CB,125,75,10,,CB,KSB--125x75.step +KSB125-75x10LB,125,75,10,,LB,KSB--125x75.step +KSB125-75x10YB,125,75,10,,YB,KSB--125x75.step +KSB125-75x10M,125,75,10,M,,KSB--125x75.step +KSB125-75x10MFA,125,75,10,M,FA,KSB--125x75.step +KSB125-75x10MFB,125,75,10,M,FB,KSB--125x75.step +KSB125-75x10MCA,125,75,10,M,CA,KSB--125x75.step +KSB125-75x10MCB,125,75,10,M,CB,KSB--125x75.step +KSB125-75x10MLB,125,75,10,M,LB,KSB--125x75.step +KSB125-75x10MYB,125,75,10,M,YB,KSB--125x75.step +KSB125-75x20,125,75,20,,,KSB--125x75.step +KSB125-75x20FA,125,75,20,,FA,KSB--125x75.step +KSB125-75x20FB,125,75,20,,FB,KSB--125x75.step +KSB125-75x20CA,125,75,20,,CA,KSB--125x75.step +KSB125-75x20CB,125,75,20,,CB,KSB--125x75.step +KSB125-75x20LB,125,75,20,,LB,KSB--125x75.step +KSB125-75x20YB,125,75,20,,YB,KSB--125x75.step +KSB125-75x20M,125,75,20,M,,KSB--125x75.step +KSB125-75x20MFA,125,75,20,M,FA,KSB--125x75.step +KSB125-75x20MFB,125,75,20,M,FB,KSB--125x75.step +KSB125-75x20MCA,125,75,20,M,CA,KSB--125x75.step +KSB125-75x20MCB,125,75,20,M,CB,KSB--125x75.step +KSB125-75x20MLB,125,75,20,M,LB,KSB--125x75.step +KSB125-75x20MYB,125,75,20,M,YB,KSB--125x75.step +KSB125-75x30,125,75,30,,,KSB--125x75.step +KSB125-75x30FA,125,75,30,,FA,KSB--125x75.step +KSB125-75x30FB,125,75,30,,FB,KSB--125x75.step +KSB125-75x30CA,125,75,30,,CA,KSB--125x75.step +KSB125-75x30CB,125,75,30,,CB,KSB--125x75.step +KSB125-75x30LB,125,75,30,,LB,KSB--125x75.step +KSB125-75x30YB,125,75,30,,YB,KSB--125x75.step +KSB125-75x30M,125,75,30,M,,KSB--125x75.step +KSB125-75x30MFA,125,75,30,M,FA,KSB--125x75.step +KSB125-75x30MFB,125,75,30,M,FB,KSB--125x75.step +KSB125-75x30MCA,125,75,30,M,CA,KSB--125x75.step +KSB125-75x30MCB,125,75,30,M,CB,KSB--125x75.step +KSB125-75x30MLB,125,75,30,M,LB,KSB--125x75.step +KSB125-75x30MYB,125,75,30,M,YB,KSB--125x75.step +KSB125-75x50,125,75,50,,,KSB--125x75.step +KSB125-75x50FA,125,75,50,,FA,KSB--125x75.step +KSB125-75x50FB,125,75,50,,FB,KSB--125x75.step +KSB125-75x50CA,125,75,50,,CA,KSB--125x75.step +KSB125-75x50CB,125,75,50,,CB,KSB--125x75.step +KSB125-75x50LB,125,75,50,,LB,KSB--125x75.step +KSB125-75x50YB,125,75,50,,YB,KSB--125x75.step +KSB125-75x50M,125,75,50,M,,KSB--125x75.step +KSB125-75x50MFA,125,75,50,M,FA,KSB--125x75.step +KSB125-75x50MFB,125,75,50,M,FB,KSB--125x75.step +KSB125-75x50MCA,125,75,50,M,CA,KSB--125x75.step +KSB125-75x50MCB,125,75,50,M,CB,KSB--125x75.step +KSB125-75x50MLB,125,75,50,M,LB,KSB--125x75.step +KSB125-75x50MYB,125,75,50,M,YB,KSB--125x75.step +KSB125-75x75,125,75,75,,,KSB--125x75.step +KSB125-75x75FA,125,75,75,,FA,KSB--125x75.step +KSB125-75x75FB,125,75,75,,FB,KSB--125x75.step +KSB125-75x75CA,125,75,75,,CA,KSB--125x75.step +KSB125-75x75CB,125,75,75,,CB,KSB--125x75.step +KSB125-75x75LB,125,75,75,,LB,KSB--125x75.step +KSB125-75x75YB,125,75,75,,YB,KSB--125x75.step +KSB125-75x75M,125,75,75,M,,KSB--125x75.step +KSB125-75x75MFA,125,75,75,M,FA,KSB--125x75.step +KSB125-75x75MFB,125,75,75,M,FB,KSB--125x75.step +KSB125-75x75MCA,125,75,75,M,CA,KSB--125x75.step +KSB125-75x75MCB,125,75,75,M,CB,KSB--125x75.step +KSB125-75x75MLB,125,75,75,M,LB,KSB--125x75.step +KSB125-75x75MYB,125,75,75,M,YB,KSB--125x75.step +KSB125-75x100,125,75,100,,,KSB--125x75.step +KSB125-75x100FA,125,75,100,,FA,KSB--125x75.step +KSB125-75x100FB,125,75,100,,FB,KSB--125x75.step +KSB125-75x100CA,125,75,100,,CA,KSB--125x75.step +KSB125-75x100CB,125,75,100,,CB,KSB--125x75.step +KSB125-75x100LB,125,75,100,,LB,KSB--125x75.step +KSB125-75x100YB,125,75,100,,YB,KSB--125x75.step +KSB125-75x100M,125,75,100,M,,KSB--125x75.step +KSB125-75x100MFA,125,75,100,M,FA,KSB--125x75.step +KSB125-75x100MFB,125,75,100,M,FB,KSB--125x75.step +KSB125-75x100MCA,125,75,100,M,CA,KSB--125x75.step +KSB125-75x100MCB,125,75,100,M,CB,KSB--125x75.step +KSB125-75x100MLB,125,75,100,M,LB,KSB--125x75.step +KSB125-75x100MYB,125,75,100,M,YB,KSB--125x75.step +KSB125-100x0,125,100,0,,,KSB--125x100.step +KSB125-100x0FA,125,100,0,,FA,KSB--125x100.step +KSB125-100x0FB,125,100,0,,FB,KSB--125x100.step +KSB125-100x0CA,125,100,0,,CA,KSB--125x100.step +KSB125-100x0CB,125,100,0,,CB,KSB--125x100.step +KSB125-100x0LB,125,100,0,,LB,KSB--125x100.step +KSB125-100x0YB,125,100,0,,YB,KSB--125x100.step +KSB125-100x0M,125,100,0,M,,KSB--125x100.step +KSB125-100x0MFA,125,100,0,M,FA,KSB--125x100.step +KSB125-100x0MFB,125,100,0,M,FB,KSB--125x100.step +KSB125-100x0MCA,125,100,0,M,CA,KSB--125x100.step +KSB125-100x0MCB,125,100,0,M,CB,KSB--125x100.step +KSB125-100x0MLB,125,100,0,M,LB,KSB--125x100.step +KSB125-100x0MYB,125,100,0,M,YB,KSB--125x100.step +KSB125-100x10,125,100,10,,,KSB--125x100.step +KSB125-100x10FA,125,100,10,,FA,KSB--125x100.step +KSB125-100x10FB,125,100,10,,FB,KSB--125x100.step +KSB125-100x10CA,125,100,10,,CA,KSB--125x100.step +KSB125-100x10CB,125,100,10,,CB,KSB--125x100.step +KSB125-100x10LB,125,100,10,,LB,KSB--125x100.step +KSB125-100x10YB,125,100,10,,YB,KSB--125x100.step +KSB125-100x10M,125,100,10,M,,KSB--125x100.step +KSB125-100x10MFA,125,100,10,M,FA,KSB--125x100.step +KSB125-100x10MFB,125,100,10,M,FB,KSB--125x100.step +KSB125-100x10MCA,125,100,10,M,CA,KSB--125x100.step +KSB125-100x10MCB,125,100,10,M,CB,KSB--125x100.step +KSB125-100x10MLB,125,100,10,M,LB,KSB--125x100.step +KSB125-100x10MYB,125,100,10,M,YB,KSB--125x100.step +KSB125-100x20,125,100,20,,,KSB--125x100.step +KSB125-100x20FA,125,100,20,,FA,KSB--125x100.step +KSB125-100x20FB,125,100,20,,FB,KSB--125x100.step +KSB125-100x20CA,125,100,20,,CA,KSB--125x100.step +KSB125-100x20CB,125,100,20,,CB,KSB--125x100.step +KSB125-100x20LB,125,100,20,,LB,KSB--125x100.step +KSB125-100x20YB,125,100,20,,YB,KSB--125x100.step +KSB125-100x20M,125,100,20,M,,KSB--125x100.step +KSB125-100x20MFA,125,100,20,M,FA,KSB--125x100.step +KSB125-100x20MFB,125,100,20,M,FB,KSB--125x100.step +KSB125-100x20MCA,125,100,20,M,CA,KSB--125x100.step +KSB125-100x20MCB,125,100,20,M,CB,KSB--125x100.step +KSB125-100x20MLB,125,100,20,M,LB,KSB--125x100.step +KSB125-100x20MYB,125,100,20,M,YB,KSB--125x100.step +KSB125-100x30,125,100,30,,,KSB--125x100.step +KSB125-100x30FA,125,100,30,,FA,KSB--125x100.step +KSB125-100x30FB,125,100,30,,FB,KSB--125x100.step +KSB125-100x30CA,125,100,30,,CA,KSB--125x100.step +KSB125-100x30CB,125,100,30,,CB,KSB--125x100.step +KSB125-100x30LB,125,100,30,,LB,KSB--125x100.step +KSB125-100x30YB,125,100,30,,YB,KSB--125x100.step +KSB125-100x30M,125,100,30,M,,KSB--125x100.step +KSB125-100x30MFA,125,100,30,M,FA,KSB--125x100.step +KSB125-100x30MFB,125,100,30,M,FB,KSB--125x100.step +KSB125-100x30MCA,125,100,30,M,CA,KSB--125x100.step +KSB125-100x30MCB,125,100,30,M,CB,KSB--125x100.step +KSB125-100x30MLB,125,100,30,M,LB,KSB--125x100.step +KSB125-100x30MYB,125,100,30,M,YB,KSB--125x100.step +KSB125-100x50,125,100,50,,,KSB--125x100.step +KSB125-100x50FA,125,100,50,,FA,KSB--125x100.step +KSB125-100x50FB,125,100,50,,FB,KSB--125x100.step +KSB125-100x50CA,125,100,50,,CA,KSB--125x100.step +KSB125-100x50CB,125,100,50,,CB,KSB--125x100.step +KSB125-100x50LB,125,100,50,,LB,KSB--125x100.step +KSB125-100x50YB,125,100,50,,YB,KSB--125x100.step +KSB125-100x50M,125,100,50,M,,KSB--125x100.step +KSB125-100x50MFA,125,100,50,M,FA,KSB--125x100.step +KSB125-100x50MFB,125,100,50,M,FB,KSB--125x100.step +KSB125-100x50MCA,125,100,50,M,CA,KSB--125x100.step +KSB125-100x50MCB,125,100,50,M,CB,KSB--125x100.step +KSB125-100x50MLB,125,100,50,M,LB,KSB--125x100.step +KSB125-100x50MYB,125,100,50,M,YB,KSB--125x100.step +KSB125-100x75,125,100,75,,,KSB--125x100.step +KSB125-100x75FA,125,100,75,,FA,KSB--125x100.step +KSB125-100x75FB,125,100,75,,FB,KSB--125x100.step +KSB125-100x75CA,125,100,75,,CA,KSB--125x100.step +KSB125-100x75CB,125,100,75,,CB,KSB--125x100.step +KSB125-100x75LB,125,100,75,,LB,KSB--125x100.step +KSB125-100x75YB,125,100,75,,YB,KSB--125x100.step +KSB125-100x75M,125,100,75,M,,KSB--125x100.step +KSB125-100x75MFA,125,100,75,M,FA,KSB--125x100.step +KSB125-100x75MFB,125,100,75,M,FB,KSB--125x100.step +KSB125-100x75MCA,125,100,75,M,CA,KSB--125x100.step +KSB125-100x75MCB,125,100,75,M,CB,KSB--125x100.step +KSB125-100x75MLB,125,100,75,M,LB,KSB--125x100.step +KSB125-100x75MYB,125,100,75,M,YB,KSB--125x100.step +KSB125-100x100,125,100,100,,,KSB--125x100.step +KSB125-100x100FA,125,100,100,,FA,KSB--125x100.step +KSB125-100x100FB,125,100,100,,FB,KSB--125x100.step +KSB125-100x100CA,125,100,100,,CA,KSB--125x100.step +KSB125-100x100CB,125,100,100,,CB,KSB--125x100.step +KSB125-100x100LB,125,100,100,,LB,KSB--125x100.step +KSB125-100x100YB,125,100,100,,YB,KSB--125x100.step +KSB125-100x100M,125,100,100,M,,KSB--125x100.step +KSB125-100x100MFA,125,100,100,M,FA,KSB--125x100.step +KSB125-100x100MFB,125,100,100,M,FB,KSB--125x100.step +KSB125-100x100MCA,125,100,100,M,CA,KSB--125x100.step +KSB125-100x100MCB,125,100,100,M,CB,KSB--125x100.step +KSB125-100x100MLB,125,100,100,M,LB,KSB--125x100.step +KSB125-100x100MYB,125,100,100,M,YB,KSB--125x100.step diff --git a/onebot-data/catalog/csv/KSU.csv b/onebot-data/catalog/csv/KSU.csv new file mode 100644 index 0000000..5602f28 --- /dev/null +++ b/onebot-data/catalog/csv/KSU.csv @@ -0,0 +1,1513 @@ +model_code,type,bore,stroke,magnet,mount,step_file +KSU0032-10,00,32,10,,,KSU-00-32x10.step +KSU0032-10FA,00,32,10,,FA,KSU-00-32x10.step +KSU0032-10FB,00,32,10,,FB,KSU-00-32x10.step +KSU0032-10CA,00,32,10,,CA,KSU-00-32x10.step +KSU0032-10CB,00,32,10,,CB,KSU-00-32x10.step +KSU0032-10LB,00,32,10,,LB,KSU-00-32x10.step +KSU0032-10TC,00,32,10,,TC,KSU-00-32x10.step +KSU0032-10TC-M,00,32,10,,TC-M,KSU-00-32x10.step +KSU0032-10M,00,32,10,M,,KSU-00-32x10.step +KSU0032-10MFA,00,32,10,M,FA,KSU-00-32x10.step +KSU0032-10MFB,00,32,10,M,FB,KSU-00-32x10.step +KSU0032-10MCA,00,32,10,M,CA,KSU-00-32x10.step +KSU0032-10MCB,00,32,10,M,CB,KSU-00-32x10.step +KSU0032-10MLB,00,32,10,M,LB,KSU-00-32x10.step +KSU0032-10MTC,00,32,10,M,TC,KSU-00-32x10.step +KSU0032-10MTC-M,00,32,10,M,TC-M,KSU-00-32x10.step +KSU0032-20,00,32,20,,,KSU-00-32x20.step +KSU0032-20FA,00,32,20,,FA,KSU-00-32x20.step +KSU0032-20FB,00,32,20,,FB,KSU-00-32x20.step +KSU0032-20CA,00,32,20,,CA,KSU-00-32x20.step +KSU0032-20CB,00,32,20,,CB,KSU-00-32x20.step +KSU0032-20LB,00,32,20,,LB,KSU-00-32x20.step +KSU0032-20TC,00,32,20,,TC,KSU-00-32x20.step +KSU0032-20TC-M,00,32,20,,TC-M,KSU-00-32x20.step +KSU0032-20M,00,32,20,M,,KSU-00-32x20.step +KSU0032-20MFA,00,32,20,M,FA,KSU-00-32x20.step +KSU0032-20MFB,00,32,20,M,FB,KSU-00-32x20.step +KSU0032-20MCA,00,32,20,M,CA,KSU-00-32x20.step +KSU0032-20MCB,00,32,20,M,CB,KSU-00-32x20.step +KSU0032-20MLB,00,32,20,M,LB,KSU-00-32x20.step +KSU0032-20MTC,00,32,20,M,TC,KSU-00-32x20.step +KSU0032-20MTC-M,00,32,20,M,TC-M,KSU-00-32x20.step +KSU0032-30,00,32,30,,,KSU-00-32x30.step +KSU0032-30FA,00,32,30,,FA,KSU-00-32x30.step +KSU0032-30FB,00,32,30,,FB,KSU-00-32x30.step +KSU0032-30CA,00,32,30,,CA,KSU-00-32x30.step +KSU0032-30CB,00,32,30,,CB,KSU-00-32x30.step +KSU0032-30LB,00,32,30,,LB,KSU-00-32x30.step +KSU0032-30TC,00,32,30,,TC,KSU-00-32x30.step +KSU0032-30TC-M,00,32,30,,TC-M,KSU-00-32x30.step +KSU0032-30M,00,32,30,M,,KSU-00-32x30.step +KSU0032-30MFA,00,32,30,M,FA,KSU-00-32x30.step +KSU0032-30MFB,00,32,30,M,FB,KSU-00-32x30.step +KSU0032-30MCA,00,32,30,M,CA,KSU-00-32x30.step +KSU0032-30MCB,00,32,30,M,CB,KSU-00-32x30.step +KSU0032-30MLB,00,32,30,M,LB,KSU-00-32x30.step +KSU0032-30MTC,00,32,30,M,TC,KSU-00-32x30.step +KSU0032-30MTC-M,00,32,30,M,TC-M,KSU-00-32x30.step +KSU0032-50,00,32,50,,,KSU-00-32x50.step +KSU0032-50FA,00,32,50,,FA,KSU-00-32x50.step +KSU0032-50FB,00,32,50,,FB,KSU-00-32x50.step +KSU0032-50CA,00,32,50,,CA,KSU-00-32x50.step +KSU0032-50CB,00,32,50,,CB,KSU-00-32x50.step +KSU0032-50LB,00,32,50,,LB,KSU-00-32x50.step +KSU0032-50TC,00,32,50,,TC,KSU-00-32x50.step +KSU0032-50TC-M,00,32,50,,TC-M,KSU-00-32x50.step +KSU0032-50M,00,32,50,M,,KSU-00-32x50.step +KSU0032-50MFA,00,32,50,M,FA,KSU-00-32x50.step +KSU0032-50MFB,00,32,50,M,FB,KSU-00-32x50.step +KSU0032-50MCA,00,32,50,M,CA,KSU-00-32x50.step +KSU0032-50MCB,00,32,50,M,CB,KSU-00-32x50.step +KSU0032-50MLB,00,32,50,M,LB,KSU-00-32x50.step +KSU0032-50MTC,00,32,50,M,TC,KSU-00-32x50.step +KSU0032-50MTC-M,00,32,50,M,TC-M,KSU-00-32x50.step +KSU0032-75,00,32,75,,,KSU-00-32x75.step +KSU0032-75FA,00,32,75,,FA,KSU-00-32x75.step +KSU0032-75FB,00,32,75,,FB,KSU-00-32x75.step +KSU0032-75CA,00,32,75,,CA,KSU-00-32x75.step +KSU0032-75CB,00,32,75,,CB,KSU-00-32x75.step +KSU0032-75LB,00,32,75,,LB,KSU-00-32x75.step +KSU0032-75TC,00,32,75,,TC,KSU-00-32x75.step +KSU0032-75TC-M,00,32,75,,TC-M,KSU-00-32x75.step +KSU0032-75M,00,32,75,M,,KSU-00-32x75.step +KSU0032-75MFA,00,32,75,M,FA,KSU-00-32x75.step +KSU0032-75MFB,00,32,75,M,FB,KSU-00-32x75.step +KSU0032-75MCA,00,32,75,M,CA,KSU-00-32x75.step +KSU0032-75MCB,00,32,75,M,CB,KSU-00-32x75.step +KSU0032-75MLB,00,32,75,M,LB,KSU-00-32x75.step +KSU0032-75MTC,00,32,75,M,TC,KSU-00-32x75.step +KSU0032-75MTC-M,00,32,75,M,TC-M,KSU-00-32x75.step +KSU0032-100,00,32,100,,,KSU-00-32x100.step +KSU0032-100FA,00,32,100,,FA,KSU-00-32x100.step +KSU0032-100FB,00,32,100,,FB,KSU-00-32x100.step +KSU0032-100CA,00,32,100,,CA,KSU-00-32x100.step +KSU0032-100CB,00,32,100,,CB,KSU-00-32x100.step +KSU0032-100LB,00,32,100,,LB,KSU-00-32x100.step +KSU0032-100TC,00,32,100,,TC,KSU-00-32x100.step +KSU0032-100TC-M,00,32,100,,TC-M,KSU-00-32x100.step +KSU0032-100M,00,32,100,M,,KSU-00-32x100.step +KSU0032-100MFA,00,32,100,M,FA,KSU-00-32x100.step +KSU0032-100MFB,00,32,100,M,FB,KSU-00-32x100.step +KSU0032-100MCA,00,32,100,M,CA,KSU-00-32x100.step +KSU0032-100MCB,00,32,100,M,CB,KSU-00-32x100.step +KSU0032-100MLB,00,32,100,M,LB,KSU-00-32x100.step +KSU0032-100MTC,00,32,100,M,TC,KSU-00-32x100.step +KSU0032-100MTC-M,00,32,100,M,TC-M,KSU-00-32x100.step +KSU0040-10,00,40,10,,,KSU-00-40x10.step +KSU0040-10FA,00,40,10,,FA,KSU-00-40x10.step +KSU0040-10FB,00,40,10,,FB,KSU-00-40x10.step +KSU0040-10CA,00,40,10,,CA,KSU-00-40x10.step +KSU0040-10CB,00,40,10,,CB,KSU-00-40x10.step +KSU0040-10LB,00,40,10,,LB,KSU-00-40x10.step +KSU0040-10TC,00,40,10,,TC,KSU-00-40x10.step +KSU0040-10TC-M,00,40,10,,TC-M,KSU-00-40x10.step +KSU0040-10M,00,40,10,M,,KSU-00-40x10.step +KSU0040-10MFA,00,40,10,M,FA,KSU-00-40x10.step +KSU0040-10MFB,00,40,10,M,FB,KSU-00-40x10.step +KSU0040-10MCA,00,40,10,M,CA,KSU-00-40x10.step +KSU0040-10MCB,00,40,10,M,CB,KSU-00-40x10.step +KSU0040-10MLB,00,40,10,M,LB,KSU-00-40x10.step +KSU0040-10MTC,00,40,10,M,TC,KSU-00-40x10.step +KSU0040-10MTC-M,00,40,10,M,TC-M,KSU-00-40x10.step +KSU0040-20,00,40,20,,,KSU-00-40x20.step +KSU0040-20FA,00,40,20,,FA,KSU-00-40x20.step +KSU0040-20FB,00,40,20,,FB,KSU-00-40x20.step +KSU0040-20CA,00,40,20,,CA,KSU-00-40x20.step +KSU0040-20CB,00,40,20,,CB,KSU-00-40x20.step +KSU0040-20LB,00,40,20,,LB,KSU-00-40x20.step +KSU0040-20TC,00,40,20,,TC,KSU-00-40x20.step +KSU0040-20TC-M,00,40,20,,TC-M,KSU-00-40x20.step +KSU0040-20M,00,40,20,M,,KSU-00-40x20.step +KSU0040-20MFA,00,40,20,M,FA,KSU-00-40x20.step +KSU0040-20MFB,00,40,20,M,FB,KSU-00-40x20.step +KSU0040-20MCA,00,40,20,M,CA,KSU-00-40x20.step +KSU0040-20MCB,00,40,20,M,CB,KSU-00-40x20.step +KSU0040-20MLB,00,40,20,M,LB,KSU-00-40x20.step +KSU0040-20MTC,00,40,20,M,TC,KSU-00-40x20.step +KSU0040-20MTC-M,00,40,20,M,TC-M,KSU-00-40x20.step +KSU0040-30,00,40,30,,,KSU-00-40x30.step +KSU0040-30FA,00,40,30,,FA,KSU-00-40x30.step +KSU0040-30FB,00,40,30,,FB,KSU-00-40x30.step +KSU0040-30CA,00,40,30,,CA,KSU-00-40x30.step +KSU0040-30CB,00,40,30,,CB,KSU-00-40x30.step +KSU0040-30LB,00,40,30,,LB,KSU-00-40x30.step +KSU0040-30TC,00,40,30,,TC,KSU-00-40x30.step +KSU0040-30TC-M,00,40,30,,TC-M,KSU-00-40x30.step +KSU0040-30M,00,40,30,M,,KSU-00-40x30.step +KSU0040-30MFA,00,40,30,M,FA,KSU-00-40x30.step +KSU0040-30MFB,00,40,30,M,FB,KSU-00-40x30.step +KSU0040-30MCA,00,40,30,M,CA,KSU-00-40x30.step +KSU0040-30MCB,00,40,30,M,CB,KSU-00-40x30.step +KSU0040-30MLB,00,40,30,M,LB,KSU-00-40x30.step +KSU0040-30MTC,00,40,30,M,TC,KSU-00-40x30.step +KSU0040-30MTC-M,00,40,30,M,TC-M,KSU-00-40x30.step +KSU0040-50,00,40,50,,,KSU-00-40x50.step +KSU0040-50FA,00,40,50,,FA,KSU-00-40x50.step +KSU0040-50FB,00,40,50,,FB,KSU-00-40x50.step +KSU0040-50CA,00,40,50,,CA,KSU-00-40x50.step +KSU0040-50CB,00,40,50,,CB,KSU-00-40x50.step +KSU0040-50LB,00,40,50,,LB,KSU-00-40x50.step +KSU0040-50TC,00,40,50,,TC,KSU-00-40x50.step +KSU0040-50TC-M,00,40,50,,TC-M,KSU-00-40x50.step +KSU0040-50M,00,40,50,M,,KSU-00-40x50.step +KSU0040-50MFA,00,40,50,M,FA,KSU-00-40x50.step +KSU0040-50MFB,00,40,50,M,FB,KSU-00-40x50.step +KSU0040-50MCA,00,40,50,M,CA,KSU-00-40x50.step +KSU0040-50MCB,00,40,50,M,CB,KSU-00-40x50.step +KSU0040-50MLB,00,40,50,M,LB,KSU-00-40x50.step +KSU0040-50MTC,00,40,50,M,TC,KSU-00-40x50.step +KSU0040-50MTC-M,00,40,50,M,TC-M,KSU-00-40x50.step +KSU0040-75,00,40,75,,,KSU-00-40x75.step +KSU0040-75FA,00,40,75,,FA,KSU-00-40x75.step +KSU0040-75FB,00,40,75,,FB,KSU-00-40x75.step +KSU0040-75CA,00,40,75,,CA,KSU-00-40x75.step +KSU0040-75CB,00,40,75,,CB,KSU-00-40x75.step +KSU0040-75LB,00,40,75,,LB,KSU-00-40x75.step +KSU0040-75TC,00,40,75,,TC,KSU-00-40x75.step +KSU0040-75TC-M,00,40,75,,TC-M,KSU-00-40x75.step +KSU0040-75M,00,40,75,M,,KSU-00-40x75.step +KSU0040-75MFA,00,40,75,M,FA,KSU-00-40x75.step +KSU0040-75MFB,00,40,75,M,FB,KSU-00-40x75.step +KSU0040-75MCA,00,40,75,M,CA,KSU-00-40x75.step +KSU0040-75MCB,00,40,75,M,CB,KSU-00-40x75.step +KSU0040-75MLB,00,40,75,M,LB,KSU-00-40x75.step +KSU0040-75MTC,00,40,75,M,TC,KSU-00-40x75.step +KSU0040-75MTC-M,00,40,75,M,TC-M,KSU-00-40x75.step +KSU0040-100,00,40,100,,,KSU-00-40x100.step +KSU0040-100FA,00,40,100,,FA,KSU-00-40x100.step +KSU0040-100FB,00,40,100,,FB,KSU-00-40x100.step +KSU0040-100CA,00,40,100,,CA,KSU-00-40x100.step +KSU0040-100CB,00,40,100,,CB,KSU-00-40x100.step +KSU0040-100LB,00,40,100,,LB,KSU-00-40x100.step +KSU0040-100TC,00,40,100,,TC,KSU-00-40x100.step +KSU0040-100TC-M,00,40,100,,TC-M,KSU-00-40x100.step +KSU0040-100M,00,40,100,M,,KSU-00-40x100.step +KSU0040-100MFA,00,40,100,M,FA,KSU-00-40x100.step +KSU0040-100MFB,00,40,100,M,FB,KSU-00-40x100.step +KSU0040-100MCA,00,40,100,M,CA,KSU-00-40x100.step +KSU0040-100MCB,00,40,100,M,CB,KSU-00-40x100.step +KSU0040-100MLB,00,40,100,M,LB,KSU-00-40x100.step +KSU0040-100MTC,00,40,100,M,TC,KSU-00-40x100.step +KSU0040-100MTC-M,00,40,100,M,TC-M,KSU-00-40x100.step +KSU0050-10,00,50,10,,,KSU-00-50x10.step +KSU0050-10FA,00,50,10,,FA,KSU-00-50x10.step +KSU0050-10FB,00,50,10,,FB,KSU-00-50x10.step +KSU0050-10CA,00,50,10,,CA,KSU-00-50x10.step +KSU0050-10CB,00,50,10,,CB,KSU-00-50x10.step +KSU0050-10LB,00,50,10,,LB,KSU-00-50x10.step +KSU0050-10TC,00,50,10,,TC,KSU-00-50x10.step +KSU0050-10TC-M,00,50,10,,TC-M,KSU-00-50x10.step +KSU0050-10M,00,50,10,M,,KSU-00-50x10.step +KSU0050-10MFA,00,50,10,M,FA,KSU-00-50x10.step +KSU0050-10MFB,00,50,10,M,FB,KSU-00-50x10.step +KSU0050-10MCA,00,50,10,M,CA,KSU-00-50x10.step +KSU0050-10MCB,00,50,10,M,CB,KSU-00-50x10.step +KSU0050-10MLB,00,50,10,M,LB,KSU-00-50x10.step +KSU0050-10MTC,00,50,10,M,TC,KSU-00-50x10.step +KSU0050-10MTC-M,00,50,10,M,TC-M,KSU-00-50x10.step +KSU0050-20,00,50,20,,,KSU-00-50x20.step +KSU0050-20FA,00,50,20,,FA,KSU-00-50x20.step +KSU0050-20FB,00,50,20,,FB,KSU-00-50x20.step +KSU0050-20CA,00,50,20,,CA,KSU-00-50x20.step +KSU0050-20CB,00,50,20,,CB,KSU-00-50x20.step +KSU0050-20LB,00,50,20,,LB,KSU-00-50x20.step +KSU0050-20TC,00,50,20,,TC,KSU-00-50x20.step +KSU0050-20TC-M,00,50,20,,TC-M,KSU-00-50x20.step +KSU0050-20M,00,50,20,M,,KSU-00-50x20.step +KSU0050-20MFA,00,50,20,M,FA,KSU-00-50x20.step +KSU0050-20MFB,00,50,20,M,FB,KSU-00-50x20.step +KSU0050-20MCA,00,50,20,M,CA,KSU-00-50x20.step +KSU0050-20MCB,00,50,20,M,CB,KSU-00-50x20.step +KSU0050-20MLB,00,50,20,M,LB,KSU-00-50x20.step +KSU0050-20MTC,00,50,20,M,TC,KSU-00-50x20.step +KSU0050-20MTC-M,00,50,20,M,TC-M,KSU-00-50x20.step +KSU0050-30,00,50,30,,,KSU-00-50x30.step +KSU0050-30FA,00,50,30,,FA,KSU-00-50x30.step +KSU0050-30FB,00,50,30,,FB,KSU-00-50x30.step +KSU0050-30CA,00,50,30,,CA,KSU-00-50x30.step +KSU0050-30CB,00,50,30,,CB,KSU-00-50x30.step +KSU0050-30LB,00,50,30,,LB,KSU-00-50x30.step +KSU0050-30TC,00,50,30,,TC,KSU-00-50x30.step +KSU0050-30TC-M,00,50,30,,TC-M,KSU-00-50x30.step +KSU0050-30M,00,50,30,M,,KSU-00-50x30.step +KSU0050-30MFA,00,50,30,M,FA,KSU-00-50x30.step +KSU0050-30MFB,00,50,30,M,FB,KSU-00-50x30.step +KSU0050-30MCA,00,50,30,M,CA,KSU-00-50x30.step +KSU0050-30MCB,00,50,30,M,CB,KSU-00-50x30.step +KSU0050-30MLB,00,50,30,M,LB,KSU-00-50x30.step +KSU0050-30MTC,00,50,30,M,TC,KSU-00-50x30.step +KSU0050-30MTC-M,00,50,30,M,TC-M,KSU-00-50x30.step +KSU0050-50,00,50,50,,,KSU-00-50x50.step +KSU0050-50FA,00,50,50,,FA,KSU-00-50x50.step +KSU0050-50FB,00,50,50,,FB,KSU-00-50x50.step +KSU0050-50CA,00,50,50,,CA,KSU-00-50x50.step +KSU0050-50CB,00,50,50,,CB,KSU-00-50x50.step +KSU0050-50LB,00,50,50,,LB,KSU-00-50x50.step +KSU0050-50TC,00,50,50,,TC,KSU-00-50x50.step +KSU0050-50TC-M,00,50,50,,TC-M,KSU-00-50x50.step +KSU0050-50M,00,50,50,M,,KSU-00-50x50.step +KSU0050-50MFA,00,50,50,M,FA,KSU-00-50x50.step +KSU0050-50MFB,00,50,50,M,FB,KSU-00-50x50.step +KSU0050-50MCA,00,50,50,M,CA,KSU-00-50x50.step +KSU0050-50MCB,00,50,50,M,CB,KSU-00-50x50.step +KSU0050-50MLB,00,50,50,M,LB,KSU-00-50x50.step +KSU0050-50MTC,00,50,50,M,TC,KSU-00-50x50.step +KSU0050-50MTC-M,00,50,50,M,TC-M,KSU-00-50x50.step +KSU0050-75,00,50,75,,,KSU-00-50x75.step +KSU0050-75FA,00,50,75,,FA,KSU-00-50x75.step +KSU0050-75FB,00,50,75,,FB,KSU-00-50x75.step +KSU0050-75CA,00,50,75,,CA,KSU-00-50x75.step +KSU0050-75CB,00,50,75,,CB,KSU-00-50x75.step +KSU0050-75LB,00,50,75,,LB,KSU-00-50x75.step +KSU0050-75TC,00,50,75,,TC,KSU-00-50x75.step +KSU0050-75TC-M,00,50,75,,TC-M,KSU-00-50x75.step +KSU0050-75M,00,50,75,M,,KSU-00-50x75.step +KSU0050-75MFA,00,50,75,M,FA,KSU-00-50x75.step +KSU0050-75MFB,00,50,75,M,FB,KSU-00-50x75.step +KSU0050-75MCA,00,50,75,M,CA,KSU-00-50x75.step +KSU0050-75MCB,00,50,75,M,CB,KSU-00-50x75.step +KSU0050-75MLB,00,50,75,M,LB,KSU-00-50x75.step +KSU0050-75MTC,00,50,75,M,TC,KSU-00-50x75.step +KSU0050-75MTC-M,00,50,75,M,TC-M,KSU-00-50x75.step +KSU0050-100,00,50,100,,,KSU-00-50x100.step +KSU0050-100FA,00,50,100,,FA,KSU-00-50x100.step +KSU0050-100FB,00,50,100,,FB,KSU-00-50x100.step +KSU0050-100CA,00,50,100,,CA,KSU-00-50x100.step +KSU0050-100CB,00,50,100,,CB,KSU-00-50x100.step +KSU0050-100LB,00,50,100,,LB,KSU-00-50x100.step +KSU0050-100TC,00,50,100,,TC,KSU-00-50x100.step +KSU0050-100TC-M,00,50,100,,TC-M,KSU-00-50x100.step +KSU0050-100M,00,50,100,M,,KSU-00-50x100.step +KSU0050-100MFA,00,50,100,M,FA,KSU-00-50x100.step +KSU0050-100MFB,00,50,100,M,FB,KSU-00-50x100.step +KSU0050-100MCA,00,50,100,M,CA,KSU-00-50x100.step +KSU0050-100MCB,00,50,100,M,CB,KSU-00-50x100.step +KSU0050-100MLB,00,50,100,M,LB,KSU-00-50x100.step +KSU0050-100MTC,00,50,100,M,TC,KSU-00-50x100.step +KSU0050-100MTC-M,00,50,100,M,TC-M,KSU-00-50x100.step +KSU0063-10,00,63,10,,,KSU-00-63x10.step +KSU0063-10FA,00,63,10,,FA,KSU-00-63x10.step +KSU0063-10FB,00,63,10,,FB,KSU-00-63x10.step +KSU0063-10CA,00,63,10,,CA,KSU-00-63x10.step +KSU0063-10CB,00,63,10,,CB,KSU-00-63x10.step +KSU0063-10LB,00,63,10,,LB,KSU-00-63x10.step +KSU0063-10TC,00,63,10,,TC,KSU-00-63x10.step +KSU0063-10TC-M,00,63,10,,TC-M,KSU-00-63x10.step +KSU0063-10M,00,63,10,M,,KSU-00-63x10.step +KSU0063-10MFA,00,63,10,M,FA,KSU-00-63x10.step +KSU0063-10MFB,00,63,10,M,FB,KSU-00-63x10.step +KSU0063-10MCA,00,63,10,M,CA,KSU-00-63x10.step +KSU0063-10MCB,00,63,10,M,CB,KSU-00-63x10.step +KSU0063-10MLB,00,63,10,M,LB,KSU-00-63x10.step +KSU0063-10MTC,00,63,10,M,TC,KSU-00-63x10.step +KSU0063-10MTC-M,00,63,10,M,TC-M,KSU-00-63x10.step +KSU0063-20,00,63,20,,,KSU-00-63x20.step +KSU0063-20FA,00,63,20,,FA,KSU-00-63x20.step +KSU0063-20FB,00,63,20,,FB,KSU-00-63x20.step +KSU0063-20CA,00,63,20,,CA,KSU-00-63x20.step +KSU0063-20CB,00,63,20,,CB,KSU-00-63x20.step +KSU0063-20LB,00,63,20,,LB,KSU-00-63x20.step +KSU0063-20TC,00,63,20,,TC,KSU-00-63x20.step +KSU0063-20TC-M,00,63,20,,TC-M,KSU-00-63x20.step +KSU0063-20M,00,63,20,M,,KSU-00-63x20.step +KSU0063-20MFA,00,63,20,M,FA,KSU-00-63x20.step +KSU0063-20MFB,00,63,20,M,FB,KSU-00-63x20.step +KSU0063-20MCA,00,63,20,M,CA,KSU-00-63x20.step +KSU0063-20MCB,00,63,20,M,CB,KSU-00-63x20.step +KSU0063-20MLB,00,63,20,M,LB,KSU-00-63x20.step +KSU0063-20MTC,00,63,20,M,TC,KSU-00-63x20.step +KSU0063-20MTC-M,00,63,20,M,TC-M,KSU-00-63x20.step +KSU0063-30,00,63,30,,,KSU-00-63x30.step +KSU0063-30FA,00,63,30,,FA,KSU-00-63x30.step +KSU0063-30FB,00,63,30,,FB,KSU-00-63x30.step +KSU0063-30CA,00,63,30,,CA,KSU-00-63x30.step +KSU0063-30CB,00,63,30,,CB,KSU-00-63x30.step +KSU0063-30LB,00,63,30,,LB,KSU-00-63x30.step +KSU0063-30TC,00,63,30,,TC,KSU-00-63x30.step +KSU0063-30TC-M,00,63,30,,TC-M,KSU-00-63x30.step +KSU0063-30M,00,63,30,M,,KSU-00-63x30.step +KSU0063-30MFA,00,63,30,M,FA,KSU-00-63x30.step +KSU0063-30MFB,00,63,30,M,FB,KSU-00-63x30.step +KSU0063-30MCA,00,63,30,M,CA,KSU-00-63x30.step +KSU0063-30MCB,00,63,30,M,CB,KSU-00-63x30.step +KSU0063-30MLB,00,63,30,M,LB,KSU-00-63x30.step +KSU0063-30MTC,00,63,30,M,TC,KSU-00-63x30.step +KSU0063-30MTC-M,00,63,30,M,TC-M,KSU-00-63x30.step +KSU0063-50,00,63,50,,,KSU-00-63x50.step +KSU0063-50FA,00,63,50,,FA,KSU-00-63x50.step +KSU0063-50FB,00,63,50,,FB,KSU-00-63x50.step +KSU0063-50CA,00,63,50,,CA,KSU-00-63x50.step +KSU0063-50CB,00,63,50,,CB,KSU-00-63x50.step +KSU0063-50LB,00,63,50,,LB,KSU-00-63x50.step +KSU0063-50TC,00,63,50,,TC,KSU-00-63x50.step +KSU0063-50TC-M,00,63,50,,TC-M,KSU-00-63x50.step +KSU0063-50M,00,63,50,M,,KSU-00-63x50.step +KSU0063-50MFA,00,63,50,M,FA,KSU-00-63x50.step +KSU0063-50MFB,00,63,50,M,FB,KSU-00-63x50.step +KSU0063-50MCA,00,63,50,M,CA,KSU-00-63x50.step +KSU0063-50MCB,00,63,50,M,CB,KSU-00-63x50.step +KSU0063-50MLB,00,63,50,M,LB,KSU-00-63x50.step +KSU0063-50MTC,00,63,50,M,TC,KSU-00-63x50.step +KSU0063-50MTC-M,00,63,50,M,TC-M,KSU-00-63x50.step +KSU0063-75,00,63,75,,,KSU-00-63x75.step +KSU0063-75FA,00,63,75,,FA,KSU-00-63x75.step +KSU0063-75FB,00,63,75,,FB,KSU-00-63x75.step +KSU0063-75CA,00,63,75,,CA,KSU-00-63x75.step +KSU0063-75CB,00,63,75,,CB,KSU-00-63x75.step +KSU0063-75LB,00,63,75,,LB,KSU-00-63x75.step +KSU0063-75TC,00,63,75,,TC,KSU-00-63x75.step +KSU0063-75TC-M,00,63,75,,TC-M,KSU-00-63x75.step +KSU0063-75M,00,63,75,M,,KSU-00-63x75.step +KSU0063-75MFA,00,63,75,M,FA,KSU-00-63x75.step +KSU0063-75MFB,00,63,75,M,FB,KSU-00-63x75.step +KSU0063-75MCA,00,63,75,M,CA,KSU-00-63x75.step +KSU0063-75MCB,00,63,75,M,CB,KSU-00-63x75.step +KSU0063-75MLB,00,63,75,M,LB,KSU-00-63x75.step +KSU0063-75MTC,00,63,75,M,TC,KSU-00-63x75.step +KSU0063-75MTC-M,00,63,75,M,TC-M,KSU-00-63x75.step +KSU0063-100,00,63,100,,,KSU-00-63x100.step +KSU0063-100FA,00,63,100,,FA,KSU-00-63x100.step +KSU0063-100FB,00,63,100,,FB,KSU-00-63x100.step +KSU0063-100CA,00,63,100,,CA,KSU-00-63x100.step +KSU0063-100CB,00,63,100,,CB,KSU-00-63x100.step +KSU0063-100LB,00,63,100,,LB,KSU-00-63x100.step +KSU0063-100TC,00,63,100,,TC,KSU-00-63x100.step +KSU0063-100TC-M,00,63,100,,TC-M,KSU-00-63x100.step +KSU0063-100M,00,63,100,M,,KSU-00-63x100.step +KSU0063-100MFA,00,63,100,M,FA,KSU-00-63x100.step +KSU0063-100MFB,00,63,100,M,FB,KSU-00-63x100.step +KSU0063-100MCA,00,63,100,M,CA,KSU-00-63x100.step +KSU0063-100MCB,00,63,100,M,CB,KSU-00-63x100.step +KSU0063-100MLB,00,63,100,M,LB,KSU-00-63x100.step +KSU0063-100MTC,00,63,100,M,TC,KSU-00-63x100.step +KSU0063-100MTC-M,00,63,100,M,TC-M,KSU-00-63x100.step +KSU0080-10,00,80,10,,,KSU-00-80x10.step +KSU0080-10FA,00,80,10,,FA,KSU-00-80x10.step +KSU0080-10FB,00,80,10,,FB,KSU-00-80x10.step +KSU0080-10CA,00,80,10,,CA,KSU-00-80x10.step +KSU0080-10CB,00,80,10,,CB,KSU-00-80x10.step +KSU0080-10LB,00,80,10,,LB,KSU-00-80x10.step +KSU0080-10TC,00,80,10,,TC,KSU-00-80x10.step +KSU0080-10TC-M,00,80,10,,TC-M,KSU-00-80x10.step +KSU0080-10M,00,80,10,M,,KSU-00-80x10.step +KSU0080-10MFA,00,80,10,M,FA,KSU-00-80x10.step +KSU0080-10MFB,00,80,10,M,FB,KSU-00-80x10.step +KSU0080-10MCA,00,80,10,M,CA,KSU-00-80x10.step +KSU0080-10MCB,00,80,10,M,CB,KSU-00-80x10.step +KSU0080-10MLB,00,80,10,M,LB,KSU-00-80x10.step +KSU0080-10MTC,00,80,10,M,TC,KSU-00-80x10.step +KSU0080-10MTC-M,00,80,10,M,TC-M,KSU-00-80x10.step +KSU0080-20,00,80,20,,,KSU-00-80x20.step +KSU0080-20FA,00,80,20,,FA,KSU-00-80x20.step +KSU0080-20FB,00,80,20,,FB,KSU-00-80x20.step +KSU0080-20CA,00,80,20,,CA,KSU-00-80x20.step +KSU0080-20CB,00,80,20,,CB,KSU-00-80x20.step +KSU0080-20LB,00,80,20,,LB,KSU-00-80x20.step +KSU0080-20TC,00,80,20,,TC,KSU-00-80x20.step +KSU0080-20TC-M,00,80,20,,TC-M,KSU-00-80x20.step +KSU0080-20M,00,80,20,M,,KSU-00-80x20.step +KSU0080-20MFA,00,80,20,M,FA,KSU-00-80x20.step +KSU0080-20MFB,00,80,20,M,FB,KSU-00-80x20.step +KSU0080-20MCA,00,80,20,M,CA,KSU-00-80x20.step +KSU0080-20MCB,00,80,20,M,CB,KSU-00-80x20.step +KSU0080-20MLB,00,80,20,M,LB,KSU-00-80x20.step +KSU0080-20MTC,00,80,20,M,TC,KSU-00-80x20.step +KSU0080-20MTC-M,00,80,20,M,TC-M,KSU-00-80x20.step +KSU0080-30,00,80,30,,,KSU-00-80x30.step +KSU0080-30FA,00,80,30,,FA,KSU-00-80x30.step +KSU0080-30FB,00,80,30,,FB,KSU-00-80x30.step +KSU0080-30CA,00,80,30,,CA,KSU-00-80x30.step +KSU0080-30CB,00,80,30,,CB,KSU-00-80x30.step +KSU0080-30LB,00,80,30,,LB,KSU-00-80x30.step +KSU0080-30TC,00,80,30,,TC,KSU-00-80x30.step +KSU0080-30TC-M,00,80,30,,TC-M,KSU-00-80x30.step +KSU0080-30M,00,80,30,M,,KSU-00-80x30.step +KSU0080-30MFA,00,80,30,M,FA,KSU-00-80x30.step +KSU0080-30MFB,00,80,30,M,FB,KSU-00-80x30.step +KSU0080-30MCA,00,80,30,M,CA,KSU-00-80x30.step +KSU0080-30MCB,00,80,30,M,CB,KSU-00-80x30.step +KSU0080-30MLB,00,80,30,M,LB,KSU-00-80x30.step +KSU0080-30MTC,00,80,30,M,TC,KSU-00-80x30.step +KSU0080-30MTC-M,00,80,30,M,TC-M,KSU-00-80x30.step +KSU0080-50,00,80,50,,,KSU-00-80x50.step +KSU0080-50FA,00,80,50,,FA,KSU-00-80x50.step +KSU0080-50FB,00,80,50,,FB,KSU-00-80x50.step +KSU0080-50CA,00,80,50,,CA,KSU-00-80x50.step +KSU0080-50CB,00,80,50,,CB,KSU-00-80x50.step +KSU0080-50LB,00,80,50,,LB,KSU-00-80x50.step +KSU0080-50TC,00,80,50,,TC,KSU-00-80x50.step +KSU0080-50TC-M,00,80,50,,TC-M,KSU-00-80x50.step +KSU0080-50M,00,80,50,M,,KSU-00-80x50.step +KSU0080-50MFA,00,80,50,M,FA,KSU-00-80x50.step +KSU0080-50MFB,00,80,50,M,FB,KSU-00-80x50.step +KSU0080-50MCA,00,80,50,M,CA,KSU-00-80x50.step +KSU0080-50MCB,00,80,50,M,CB,KSU-00-80x50.step +KSU0080-50MLB,00,80,50,M,LB,KSU-00-80x50.step +KSU0080-50MTC,00,80,50,M,TC,KSU-00-80x50.step +KSU0080-50MTC-M,00,80,50,M,TC-M,KSU-00-80x50.step +KSU0080-75,00,80,75,,,KSU-00-80x75.step +KSU0080-75FA,00,80,75,,FA,KSU-00-80x75.step +KSU0080-75FB,00,80,75,,FB,KSU-00-80x75.step +KSU0080-75CA,00,80,75,,CA,KSU-00-80x75.step +KSU0080-75CB,00,80,75,,CB,KSU-00-80x75.step +KSU0080-75LB,00,80,75,,LB,KSU-00-80x75.step +KSU0080-75TC,00,80,75,,TC,KSU-00-80x75.step +KSU0080-75TC-M,00,80,75,,TC-M,KSU-00-80x75.step +KSU0080-75M,00,80,75,M,,KSU-00-80x75.step +KSU0080-75MFA,00,80,75,M,FA,KSU-00-80x75.step +KSU0080-75MFB,00,80,75,M,FB,KSU-00-80x75.step +KSU0080-75MCA,00,80,75,M,CA,KSU-00-80x75.step +KSU0080-75MCB,00,80,75,M,CB,KSU-00-80x75.step +KSU0080-75MLB,00,80,75,M,LB,KSU-00-80x75.step +KSU0080-75MTC,00,80,75,M,TC,KSU-00-80x75.step +KSU0080-75MTC-M,00,80,75,M,TC-M,KSU-00-80x75.step +KSU0080-100,00,80,100,,,KSU-00-80x100.step +KSU0080-100FA,00,80,100,,FA,KSU-00-80x100.step +KSU0080-100FB,00,80,100,,FB,KSU-00-80x100.step +KSU0080-100CA,00,80,100,,CA,KSU-00-80x100.step +KSU0080-100CB,00,80,100,,CB,KSU-00-80x100.step +KSU0080-100LB,00,80,100,,LB,KSU-00-80x100.step +KSU0080-100TC,00,80,100,,TC,KSU-00-80x100.step +KSU0080-100TC-M,00,80,100,,TC-M,KSU-00-80x100.step +KSU0080-100M,00,80,100,M,,KSU-00-80x100.step +KSU0080-100MFA,00,80,100,M,FA,KSU-00-80x100.step +KSU0080-100MFB,00,80,100,M,FB,KSU-00-80x100.step +KSU0080-100MCA,00,80,100,M,CA,KSU-00-80x100.step +KSU0080-100MCB,00,80,100,M,CB,KSU-00-80x100.step +KSU0080-100MLB,00,80,100,M,LB,KSU-00-80x100.step +KSU0080-100MTC,00,80,100,M,TC,KSU-00-80x100.step +KSU0080-100MTC-M,00,80,100,M,TC-M,KSU-00-80x100.step +KSU00100-10,00,100,10,,,KSU-00-100x10.step +KSU00100-10FA,00,100,10,,FA,KSU-00-100x10.step +KSU00100-10FB,00,100,10,,FB,KSU-00-100x10.step +KSU00100-10CA,00,100,10,,CA,KSU-00-100x10.step +KSU00100-10CB,00,100,10,,CB,KSU-00-100x10.step +KSU00100-10LB,00,100,10,,LB,KSU-00-100x10.step +KSU00100-10TC,00,100,10,,TC,KSU-00-100x10.step +KSU00100-10TC-M,00,100,10,,TC-M,KSU-00-100x10.step +KSU00100-10M,00,100,10,M,,KSU-00-100x10.step +KSU00100-10MFA,00,100,10,M,FA,KSU-00-100x10.step +KSU00100-10MFB,00,100,10,M,FB,KSU-00-100x10.step +KSU00100-10MCA,00,100,10,M,CA,KSU-00-100x10.step +KSU00100-10MCB,00,100,10,M,CB,KSU-00-100x10.step +KSU00100-10MLB,00,100,10,M,LB,KSU-00-100x10.step +KSU00100-10MTC,00,100,10,M,TC,KSU-00-100x10.step +KSU00100-10MTC-M,00,100,10,M,TC-M,KSU-00-100x10.step +KSU00100-20,00,100,20,,,KSU-00-100x20.step +KSU00100-20FA,00,100,20,,FA,KSU-00-100x20.step +KSU00100-20FB,00,100,20,,FB,KSU-00-100x20.step +KSU00100-20CA,00,100,20,,CA,KSU-00-100x20.step +KSU00100-20CB,00,100,20,,CB,KSU-00-100x20.step +KSU00100-20LB,00,100,20,,LB,KSU-00-100x20.step +KSU00100-20TC,00,100,20,,TC,KSU-00-100x20.step +KSU00100-20TC-M,00,100,20,,TC-M,KSU-00-100x20.step +KSU00100-20M,00,100,20,M,,KSU-00-100x20.step +KSU00100-20MFA,00,100,20,M,FA,KSU-00-100x20.step +KSU00100-20MFB,00,100,20,M,FB,KSU-00-100x20.step +KSU00100-20MCA,00,100,20,M,CA,KSU-00-100x20.step +KSU00100-20MCB,00,100,20,M,CB,KSU-00-100x20.step +KSU00100-20MLB,00,100,20,M,LB,KSU-00-100x20.step +KSU00100-20MTC,00,100,20,M,TC,KSU-00-100x20.step +KSU00100-20MTC-M,00,100,20,M,TC-M,KSU-00-100x20.step +KSU00100-30,00,100,30,,,KSU-00-100x30.step +KSU00100-30FA,00,100,30,,FA,KSU-00-100x30.step +KSU00100-30FB,00,100,30,,FB,KSU-00-100x30.step +KSU00100-30CA,00,100,30,,CA,KSU-00-100x30.step +KSU00100-30CB,00,100,30,,CB,KSU-00-100x30.step +KSU00100-30LB,00,100,30,,LB,KSU-00-100x30.step +KSU00100-30TC,00,100,30,,TC,KSU-00-100x30.step +KSU00100-30TC-M,00,100,30,,TC-M,KSU-00-100x30.step +KSU00100-30M,00,100,30,M,,KSU-00-100x30.step +KSU00100-30MFA,00,100,30,M,FA,KSU-00-100x30.step +KSU00100-30MFB,00,100,30,M,FB,KSU-00-100x30.step +KSU00100-30MCA,00,100,30,M,CA,KSU-00-100x30.step +KSU00100-30MCB,00,100,30,M,CB,KSU-00-100x30.step +KSU00100-30MLB,00,100,30,M,LB,KSU-00-100x30.step +KSU00100-30MTC,00,100,30,M,TC,KSU-00-100x30.step +KSU00100-30MTC-M,00,100,30,M,TC-M,KSU-00-100x30.step +KSU00100-50,00,100,50,,,KSU-00-100x50.step +KSU00100-50FA,00,100,50,,FA,KSU-00-100x50.step +KSU00100-50FB,00,100,50,,FB,KSU-00-100x50.step +KSU00100-50CA,00,100,50,,CA,KSU-00-100x50.step +KSU00100-50CB,00,100,50,,CB,KSU-00-100x50.step +KSU00100-50LB,00,100,50,,LB,KSU-00-100x50.step +KSU00100-50TC,00,100,50,,TC,KSU-00-100x50.step +KSU00100-50TC-M,00,100,50,,TC-M,KSU-00-100x50.step +KSU00100-50M,00,100,50,M,,KSU-00-100x50.step +KSU00100-50MFA,00,100,50,M,FA,KSU-00-100x50.step +KSU00100-50MFB,00,100,50,M,FB,KSU-00-100x50.step +KSU00100-50MCA,00,100,50,M,CA,KSU-00-100x50.step +KSU00100-50MCB,00,100,50,M,CB,KSU-00-100x50.step +KSU00100-50MLB,00,100,50,M,LB,KSU-00-100x50.step +KSU00100-50MTC,00,100,50,M,TC,KSU-00-100x50.step +KSU00100-50MTC-M,00,100,50,M,TC-M,KSU-00-100x50.step +KSU00100-75,00,100,75,,,KSU-00-100x75.step +KSU00100-75FA,00,100,75,,FA,KSU-00-100x75.step +KSU00100-75FB,00,100,75,,FB,KSU-00-100x75.step +KSU00100-75CA,00,100,75,,CA,KSU-00-100x75.step +KSU00100-75CB,00,100,75,,CB,KSU-00-100x75.step +KSU00100-75LB,00,100,75,,LB,KSU-00-100x75.step +KSU00100-75TC,00,100,75,,TC,KSU-00-100x75.step +KSU00100-75TC-M,00,100,75,,TC-M,KSU-00-100x75.step +KSU00100-75M,00,100,75,M,,KSU-00-100x75.step +KSU00100-75MFA,00,100,75,M,FA,KSU-00-100x75.step +KSU00100-75MFB,00,100,75,M,FB,KSU-00-100x75.step +KSU00100-75MCA,00,100,75,M,CA,KSU-00-100x75.step +KSU00100-75MCB,00,100,75,M,CB,KSU-00-100x75.step +KSU00100-75MLB,00,100,75,M,LB,KSU-00-100x75.step +KSU00100-75MTC,00,100,75,M,TC,KSU-00-100x75.step +KSU00100-75MTC-M,00,100,75,M,TC-M,KSU-00-100x75.step +KSU00100-100,00,100,100,,,KSU-00-100x100.step +KSU00100-100FA,00,100,100,,FA,KSU-00-100x100.step +KSU00100-100FB,00,100,100,,FB,KSU-00-100x100.step +KSU00100-100CA,00,100,100,,CA,KSU-00-100x100.step +KSU00100-100CB,00,100,100,,CB,KSU-00-100x100.step +KSU00100-100LB,00,100,100,,LB,KSU-00-100x100.step +KSU00100-100TC,00,100,100,,TC,KSU-00-100x100.step +KSU00100-100TC-M,00,100,100,,TC-M,KSU-00-100x100.step +KSU00100-100M,00,100,100,M,,KSU-00-100x100.step +KSU00100-100MFA,00,100,100,M,FA,KSU-00-100x100.step +KSU00100-100MFB,00,100,100,M,FB,KSU-00-100x100.step +KSU00100-100MCA,00,100,100,M,CA,KSU-00-100x100.step +KSU00100-100MCB,00,100,100,M,CB,KSU-00-100x100.step +KSU00100-100MLB,00,100,100,M,LB,KSU-00-100x100.step +KSU00100-100MTC,00,100,100,M,TC,KSU-00-100x100.step +KSU00100-100MTC-M,00,100,100,M,TC-M,KSU-00-100x100.step +KSU00125-10,00,125,10,,,KSU-00-125x10.step +KSU00125-10FA,00,125,10,,FA,KSU-00-125x10.step +KSU00125-10FB,00,125,10,,FB,KSU-00-125x10.step +KSU00125-10CA,00,125,10,,CA,KSU-00-125x10.step +KSU00125-10CB,00,125,10,,CB,KSU-00-125x10.step +KSU00125-10LB,00,125,10,,LB,KSU-00-125x10.step +KSU00125-10TC,00,125,10,,TC,KSU-00-125x10.step +KSU00125-10TC-M,00,125,10,,TC-M,KSU-00-125x10.step +KSU00125-10M,00,125,10,M,,KSU-00-125x10.step +KSU00125-10MFA,00,125,10,M,FA,KSU-00-125x10.step +KSU00125-10MFB,00,125,10,M,FB,KSU-00-125x10.step +KSU00125-10MCA,00,125,10,M,CA,KSU-00-125x10.step +KSU00125-10MCB,00,125,10,M,CB,KSU-00-125x10.step +KSU00125-10MLB,00,125,10,M,LB,KSU-00-125x10.step +KSU00125-10MTC,00,125,10,M,TC,KSU-00-125x10.step +KSU00125-10MTC-M,00,125,10,M,TC-M,KSU-00-125x10.step +KSU00125-20,00,125,20,,,KSU-00-125x20.step +KSU00125-20FA,00,125,20,,FA,KSU-00-125x20.step +KSU00125-20FB,00,125,20,,FB,KSU-00-125x20.step +KSU00125-20CA,00,125,20,,CA,KSU-00-125x20.step +KSU00125-20CB,00,125,20,,CB,KSU-00-125x20.step +KSU00125-20LB,00,125,20,,LB,KSU-00-125x20.step +KSU00125-20TC,00,125,20,,TC,KSU-00-125x20.step +KSU00125-20TC-M,00,125,20,,TC-M,KSU-00-125x20.step +KSU00125-20M,00,125,20,M,,KSU-00-125x20.step +KSU00125-20MFA,00,125,20,M,FA,KSU-00-125x20.step +KSU00125-20MFB,00,125,20,M,FB,KSU-00-125x20.step +KSU00125-20MCA,00,125,20,M,CA,KSU-00-125x20.step +KSU00125-20MCB,00,125,20,M,CB,KSU-00-125x20.step +KSU00125-20MLB,00,125,20,M,LB,KSU-00-125x20.step +KSU00125-20MTC,00,125,20,M,TC,KSU-00-125x20.step +KSU00125-20MTC-M,00,125,20,M,TC-M,KSU-00-125x20.step +KSU00125-30,00,125,30,,,KSU-00-125x30.step +KSU00125-30FA,00,125,30,,FA,KSU-00-125x30.step +KSU00125-30FB,00,125,30,,FB,KSU-00-125x30.step +KSU00125-30CA,00,125,30,,CA,KSU-00-125x30.step +KSU00125-30CB,00,125,30,,CB,KSU-00-125x30.step +KSU00125-30LB,00,125,30,,LB,KSU-00-125x30.step +KSU00125-30TC,00,125,30,,TC,KSU-00-125x30.step +KSU00125-30TC-M,00,125,30,,TC-M,KSU-00-125x30.step +KSU00125-30M,00,125,30,M,,KSU-00-125x30.step +KSU00125-30MFA,00,125,30,M,FA,KSU-00-125x30.step +KSU00125-30MFB,00,125,30,M,FB,KSU-00-125x30.step +KSU00125-30MCA,00,125,30,M,CA,KSU-00-125x30.step +KSU00125-30MCB,00,125,30,M,CB,KSU-00-125x30.step +KSU00125-30MLB,00,125,30,M,LB,KSU-00-125x30.step +KSU00125-30MTC,00,125,30,M,TC,KSU-00-125x30.step +KSU00125-30MTC-M,00,125,30,M,TC-M,KSU-00-125x30.step +KSU00125-50,00,125,50,,,KSU-00-125x50.step +KSU00125-50FA,00,125,50,,FA,KSU-00-125x50.step +KSU00125-50FB,00,125,50,,FB,KSU-00-125x50.step +KSU00125-50CA,00,125,50,,CA,KSU-00-125x50.step +KSU00125-50CB,00,125,50,,CB,KSU-00-125x50.step +KSU00125-50LB,00,125,50,,LB,KSU-00-125x50.step +KSU00125-50TC,00,125,50,,TC,KSU-00-125x50.step +KSU00125-50TC-M,00,125,50,,TC-M,KSU-00-125x50.step +KSU00125-50M,00,125,50,M,,KSU-00-125x50.step +KSU00125-50MFA,00,125,50,M,FA,KSU-00-125x50.step +KSU00125-50MFB,00,125,50,M,FB,KSU-00-125x50.step +KSU00125-50MCA,00,125,50,M,CA,KSU-00-125x50.step +KSU00125-50MCB,00,125,50,M,CB,KSU-00-125x50.step +KSU00125-50MLB,00,125,50,M,LB,KSU-00-125x50.step +KSU00125-50MTC,00,125,50,M,TC,KSU-00-125x50.step +KSU00125-50MTC-M,00,125,50,M,TC-M,KSU-00-125x50.step +KSU00125-75,00,125,75,,,KSU-00-125x75.step +KSU00125-75FA,00,125,75,,FA,KSU-00-125x75.step +KSU00125-75FB,00,125,75,,FB,KSU-00-125x75.step +KSU00125-75CA,00,125,75,,CA,KSU-00-125x75.step +KSU00125-75CB,00,125,75,,CB,KSU-00-125x75.step +KSU00125-75LB,00,125,75,,LB,KSU-00-125x75.step +KSU00125-75TC,00,125,75,,TC,KSU-00-125x75.step +KSU00125-75TC-M,00,125,75,,TC-M,KSU-00-125x75.step +KSU00125-75M,00,125,75,M,,KSU-00-125x75.step +KSU00125-75MFA,00,125,75,M,FA,KSU-00-125x75.step +KSU00125-75MFB,00,125,75,M,FB,KSU-00-125x75.step +KSU00125-75MCA,00,125,75,M,CA,KSU-00-125x75.step +KSU00125-75MCB,00,125,75,M,CB,KSU-00-125x75.step +KSU00125-75MLB,00,125,75,M,LB,KSU-00-125x75.step +KSU00125-75MTC,00,125,75,M,TC,KSU-00-125x75.step +KSU00125-75MTC-M,00,125,75,M,TC-M,KSU-00-125x75.step +KSU00125-100,00,125,100,,,KSU-00-125x100.step +KSU00125-100FA,00,125,100,,FA,KSU-00-125x100.step +KSU00125-100FB,00,125,100,,FB,KSU-00-125x100.step +KSU00125-100CA,00,125,100,,CA,KSU-00-125x100.step +KSU00125-100CB,00,125,100,,CB,KSU-00-125x100.step +KSU00125-100LB,00,125,100,,LB,KSU-00-125x100.step +KSU00125-100TC,00,125,100,,TC,KSU-00-125x100.step +KSU00125-100TC-M,00,125,100,,TC-M,KSU-00-125x100.step +KSU00125-100M,00,125,100,M,,KSU-00-125x100.step +KSU00125-100MFA,00,125,100,M,FA,KSU-00-125x100.step +KSU00125-100MFB,00,125,100,M,FB,KSU-00-125x100.step +KSU00125-100MCA,00,125,100,M,CA,KSU-00-125x100.step +KSU00125-100MCB,00,125,100,M,CB,KSU-00-125x100.step +KSU00125-100MLB,00,125,100,M,LB,KSU-00-125x100.step +KSU00125-100MTC,00,125,100,M,TC,KSU-00-125x100.step +KSU00125-100MTC-M,00,125,100,M,TC-M,KSU-00-125x100.step +KSU0232-10FA,02,32,10,,FA,KSU-02-32x10.step +KSU0232-10FB,02,32,10,,FB,KSU-02-32x10.step +KSU0232-10LB,02,32,10,,LB,KSU-02-32x10.step +KSU0232-10TC,02,32,10,,TC,KSU-02-32x10.step +KSU0232-10TC-M,02,32,10,,TC-M,KSU-02-32x10.step +KSU0232-10MFA,02,32,10,M,FA,KSU-02-32x10.step +KSU0232-10MFB,02,32,10,M,FB,KSU-02-32x10.step +KSU0232-10MLB,02,32,10,M,LB,KSU-02-32x10.step +KSU0232-10MTC,02,32,10,M,TC,KSU-02-32x10.step +KSU0232-10MTC-M,02,32,10,M,TC-M,KSU-02-32x10.step +KSU0232-20FA,02,32,20,,FA,KSU-02-32x20.step +KSU0232-20FB,02,32,20,,FB,KSU-02-32x20.step +KSU0232-20LB,02,32,20,,LB,KSU-02-32x20.step +KSU0232-20TC,02,32,20,,TC,KSU-02-32x20.step +KSU0232-20TC-M,02,32,20,,TC-M,KSU-02-32x20.step +KSU0232-20MFA,02,32,20,M,FA,KSU-02-32x20.step +KSU0232-20MFB,02,32,20,M,FB,KSU-02-32x20.step +KSU0232-20MLB,02,32,20,M,LB,KSU-02-32x20.step +KSU0232-20MTC,02,32,20,M,TC,KSU-02-32x20.step +KSU0232-20MTC-M,02,32,20,M,TC-M,KSU-02-32x20.step +KSU0232-30FA,02,32,30,,FA,KSU-02-32x30.step +KSU0232-30FB,02,32,30,,FB,KSU-02-32x30.step +KSU0232-30LB,02,32,30,,LB,KSU-02-32x30.step +KSU0232-30TC,02,32,30,,TC,KSU-02-32x30.step +KSU0232-30TC-M,02,32,30,,TC-M,KSU-02-32x30.step +KSU0232-30MFA,02,32,30,M,FA,KSU-02-32x30.step +KSU0232-30MFB,02,32,30,M,FB,KSU-02-32x30.step +KSU0232-30MLB,02,32,30,M,LB,KSU-02-32x30.step +KSU0232-30MTC,02,32,30,M,TC,KSU-02-32x30.step +KSU0232-30MTC-M,02,32,30,M,TC-M,KSU-02-32x30.step +KSU0232-50FA,02,32,50,,FA,KSU-02-32x50.step +KSU0232-50FB,02,32,50,,FB,KSU-02-32x50.step +KSU0232-50LB,02,32,50,,LB,KSU-02-32x50.step +KSU0232-50TC,02,32,50,,TC,KSU-02-32x50.step +KSU0232-50TC-M,02,32,50,,TC-M,KSU-02-32x50.step +KSU0232-50MFA,02,32,50,M,FA,KSU-02-32x50.step +KSU0232-50MFB,02,32,50,M,FB,KSU-02-32x50.step +KSU0232-50MLB,02,32,50,M,LB,KSU-02-32x50.step +KSU0232-50MTC,02,32,50,M,TC,KSU-02-32x50.step +KSU0232-50MTC-M,02,32,50,M,TC-M,KSU-02-32x50.step +KSU0232-75FA,02,32,75,,FA,KSU-02-32x75.step +KSU0232-75FB,02,32,75,,FB,KSU-02-32x75.step +KSU0232-75LB,02,32,75,,LB,KSU-02-32x75.step +KSU0232-75TC,02,32,75,,TC,KSU-02-32x75.step +KSU0232-75TC-M,02,32,75,,TC-M,KSU-02-32x75.step +KSU0232-75MFA,02,32,75,M,FA,KSU-02-32x75.step +KSU0232-75MFB,02,32,75,M,FB,KSU-02-32x75.step +KSU0232-75MLB,02,32,75,M,LB,KSU-02-32x75.step +KSU0232-75MTC,02,32,75,M,TC,KSU-02-32x75.step +KSU0232-75MTC-M,02,32,75,M,TC-M,KSU-02-32x75.step +KSU0232-100FA,02,32,100,,FA,KSU-02-32x100.step +KSU0232-100FB,02,32,100,,FB,KSU-02-32x100.step +KSU0232-100LB,02,32,100,,LB,KSU-02-32x100.step +KSU0232-100TC,02,32,100,,TC,KSU-02-32x100.step +KSU0232-100TC-M,02,32,100,,TC-M,KSU-02-32x100.step +KSU0232-100MFA,02,32,100,M,FA,KSU-02-32x100.step +KSU0232-100MFB,02,32,100,M,FB,KSU-02-32x100.step +KSU0232-100MLB,02,32,100,M,LB,KSU-02-32x100.step +KSU0232-100MTC,02,32,100,M,TC,KSU-02-32x100.step +KSU0232-100MTC-M,02,32,100,M,TC-M,KSU-02-32x100.step +KSU0240-10FA,02,40,10,,FA,KSU-02-40x10.step +KSU0240-10FB,02,40,10,,FB,KSU-02-40x10.step +KSU0240-10LB,02,40,10,,LB,KSU-02-40x10.step +KSU0240-10TC,02,40,10,,TC,KSU-02-40x10.step +KSU0240-10TC-M,02,40,10,,TC-M,KSU-02-40x10.step +KSU0240-10MFA,02,40,10,M,FA,KSU-02-40x10.step +KSU0240-10MFB,02,40,10,M,FB,KSU-02-40x10.step +KSU0240-10MLB,02,40,10,M,LB,KSU-02-40x10.step +KSU0240-10MTC,02,40,10,M,TC,KSU-02-40x10.step +KSU0240-10MTC-M,02,40,10,M,TC-M,KSU-02-40x10.step +KSU0240-20FA,02,40,20,,FA,KSU-02-40x20.step +KSU0240-20FB,02,40,20,,FB,KSU-02-40x20.step +KSU0240-20LB,02,40,20,,LB,KSU-02-40x20.step +KSU0240-20TC,02,40,20,,TC,KSU-02-40x20.step +KSU0240-20TC-M,02,40,20,,TC-M,KSU-02-40x20.step +KSU0240-20MFA,02,40,20,M,FA,KSU-02-40x20.step +KSU0240-20MFB,02,40,20,M,FB,KSU-02-40x20.step +KSU0240-20MLB,02,40,20,M,LB,KSU-02-40x20.step +KSU0240-20MTC,02,40,20,M,TC,KSU-02-40x20.step +KSU0240-20MTC-M,02,40,20,M,TC-M,KSU-02-40x20.step +KSU0240-30FA,02,40,30,,FA,KSU-02-40x30.step +KSU0240-30FB,02,40,30,,FB,KSU-02-40x30.step +KSU0240-30LB,02,40,30,,LB,KSU-02-40x30.step +KSU0240-30TC,02,40,30,,TC,KSU-02-40x30.step +KSU0240-30TC-M,02,40,30,,TC-M,KSU-02-40x30.step +KSU0240-30MFA,02,40,30,M,FA,KSU-02-40x30.step +KSU0240-30MFB,02,40,30,M,FB,KSU-02-40x30.step +KSU0240-30MLB,02,40,30,M,LB,KSU-02-40x30.step +KSU0240-30MTC,02,40,30,M,TC,KSU-02-40x30.step +KSU0240-30MTC-M,02,40,30,M,TC-M,KSU-02-40x30.step +KSU0240-50FA,02,40,50,,FA,KSU-02-40x50.step +KSU0240-50FB,02,40,50,,FB,KSU-02-40x50.step +KSU0240-50LB,02,40,50,,LB,KSU-02-40x50.step +KSU0240-50TC,02,40,50,,TC,KSU-02-40x50.step +KSU0240-50TC-M,02,40,50,,TC-M,KSU-02-40x50.step +KSU0240-50MFA,02,40,50,M,FA,KSU-02-40x50.step +KSU0240-50MFB,02,40,50,M,FB,KSU-02-40x50.step +KSU0240-50MLB,02,40,50,M,LB,KSU-02-40x50.step +KSU0240-50MTC,02,40,50,M,TC,KSU-02-40x50.step +KSU0240-50MTC-M,02,40,50,M,TC-M,KSU-02-40x50.step +KSU0240-75FA,02,40,75,,FA,KSU-02-40x75.step +KSU0240-75FB,02,40,75,,FB,KSU-02-40x75.step +KSU0240-75LB,02,40,75,,LB,KSU-02-40x75.step +KSU0240-75TC,02,40,75,,TC,KSU-02-40x75.step +KSU0240-75TC-M,02,40,75,,TC-M,KSU-02-40x75.step +KSU0240-75MFA,02,40,75,M,FA,KSU-02-40x75.step +KSU0240-75MFB,02,40,75,M,FB,KSU-02-40x75.step +KSU0240-75MLB,02,40,75,M,LB,KSU-02-40x75.step +KSU0240-75MTC,02,40,75,M,TC,KSU-02-40x75.step +KSU0240-75MTC-M,02,40,75,M,TC-M,KSU-02-40x75.step +KSU0240-100FA,02,40,100,,FA,KSU-02-40x100.step +KSU0240-100FB,02,40,100,,FB,KSU-02-40x100.step +KSU0240-100LB,02,40,100,,LB,KSU-02-40x100.step +KSU0240-100TC,02,40,100,,TC,KSU-02-40x100.step +KSU0240-100TC-M,02,40,100,,TC-M,KSU-02-40x100.step +KSU0240-100MFA,02,40,100,M,FA,KSU-02-40x100.step +KSU0240-100MFB,02,40,100,M,FB,KSU-02-40x100.step +KSU0240-100MLB,02,40,100,M,LB,KSU-02-40x100.step +KSU0240-100MTC,02,40,100,M,TC,KSU-02-40x100.step +KSU0240-100MTC-M,02,40,100,M,TC-M,KSU-02-40x100.step +KSU0250-10FA,02,50,10,,FA,KSU-02-50x10.step +KSU0250-10FB,02,50,10,,FB,KSU-02-50x10.step +KSU0250-10LB,02,50,10,,LB,KSU-02-50x10.step +KSU0250-10TC,02,50,10,,TC,KSU-02-50x10.step +KSU0250-10TC-M,02,50,10,,TC-M,KSU-02-50x10.step +KSU0250-10MFA,02,50,10,M,FA,KSU-02-50x10.step +KSU0250-10MFB,02,50,10,M,FB,KSU-02-50x10.step +KSU0250-10MLB,02,50,10,M,LB,KSU-02-50x10.step +KSU0250-10MTC,02,50,10,M,TC,KSU-02-50x10.step +KSU0250-10MTC-M,02,50,10,M,TC-M,KSU-02-50x10.step +KSU0250-20FA,02,50,20,,FA,KSU-02-50x20.step +KSU0250-20FB,02,50,20,,FB,KSU-02-50x20.step +KSU0250-20LB,02,50,20,,LB,KSU-02-50x20.step +KSU0250-20TC,02,50,20,,TC,KSU-02-50x20.step +KSU0250-20TC-M,02,50,20,,TC-M,KSU-02-50x20.step +KSU0250-20MFA,02,50,20,M,FA,KSU-02-50x20.step +KSU0250-20MFB,02,50,20,M,FB,KSU-02-50x20.step +KSU0250-20MLB,02,50,20,M,LB,KSU-02-50x20.step +KSU0250-20MTC,02,50,20,M,TC,KSU-02-50x20.step +KSU0250-20MTC-M,02,50,20,M,TC-M,KSU-02-50x20.step +KSU0250-30FA,02,50,30,,FA,KSU-02-50x30.step +KSU0250-30FB,02,50,30,,FB,KSU-02-50x30.step +KSU0250-30LB,02,50,30,,LB,KSU-02-50x30.step +KSU0250-30TC,02,50,30,,TC,KSU-02-50x30.step +KSU0250-30TC-M,02,50,30,,TC-M,KSU-02-50x30.step +KSU0250-30MFA,02,50,30,M,FA,KSU-02-50x30.step +KSU0250-30MFB,02,50,30,M,FB,KSU-02-50x30.step +KSU0250-30MLB,02,50,30,M,LB,KSU-02-50x30.step +KSU0250-30MTC,02,50,30,M,TC,KSU-02-50x30.step +KSU0250-30MTC-M,02,50,30,M,TC-M,KSU-02-50x30.step +KSU0250-50FA,02,50,50,,FA,KSU-02-50x50.step +KSU0250-50FB,02,50,50,,FB,KSU-02-50x50.step +KSU0250-50LB,02,50,50,,LB,KSU-02-50x50.step +KSU0250-50TC,02,50,50,,TC,KSU-02-50x50.step +KSU0250-50TC-M,02,50,50,,TC-M,KSU-02-50x50.step +KSU0250-50MFA,02,50,50,M,FA,KSU-02-50x50.step +KSU0250-50MFB,02,50,50,M,FB,KSU-02-50x50.step +KSU0250-50MLB,02,50,50,M,LB,KSU-02-50x50.step +KSU0250-50MTC,02,50,50,M,TC,KSU-02-50x50.step +KSU0250-50MTC-M,02,50,50,M,TC-M,KSU-02-50x50.step +KSU0250-75FA,02,50,75,,FA,KSU-02-50x75.step +KSU0250-75FB,02,50,75,,FB,KSU-02-50x75.step +KSU0250-75LB,02,50,75,,LB,KSU-02-50x75.step +KSU0250-75TC,02,50,75,,TC,KSU-02-50x75.step +KSU0250-75TC-M,02,50,75,,TC-M,KSU-02-50x75.step +KSU0250-75MFA,02,50,75,M,FA,KSU-02-50x75.step +KSU0250-75MFB,02,50,75,M,FB,KSU-02-50x75.step +KSU0250-75MLB,02,50,75,M,LB,KSU-02-50x75.step +KSU0250-75MTC,02,50,75,M,TC,KSU-02-50x75.step +KSU0250-75MTC-M,02,50,75,M,TC-M,KSU-02-50x75.step +KSU0250-100FA,02,50,100,,FA,KSU-02-50x100.step +KSU0250-100FB,02,50,100,,FB,KSU-02-50x100.step +KSU0250-100LB,02,50,100,,LB,KSU-02-50x100.step +KSU0250-100TC,02,50,100,,TC,KSU-02-50x100.step +KSU0250-100TC-M,02,50,100,,TC-M,KSU-02-50x100.step +KSU0250-100MFA,02,50,100,M,FA,KSU-02-50x100.step +KSU0250-100MFB,02,50,100,M,FB,KSU-02-50x100.step +KSU0250-100MLB,02,50,100,M,LB,KSU-02-50x100.step +KSU0250-100MTC,02,50,100,M,TC,KSU-02-50x100.step +KSU0250-100MTC-M,02,50,100,M,TC-M,KSU-02-50x100.step +KSU0263-10FA,02,63,10,,FA,KSU-02-63x10.step +KSU0263-10FB,02,63,10,,FB,KSU-02-63x10.step +KSU0263-10LB,02,63,10,,LB,KSU-02-63x10.step +KSU0263-10TC,02,63,10,,TC,KSU-02-63x10.step +KSU0263-10TC-M,02,63,10,,TC-M,KSU-02-63x10.step +KSU0263-10MFA,02,63,10,M,FA,KSU-02-63x10.step +KSU0263-10MFB,02,63,10,M,FB,KSU-02-63x10.step +KSU0263-10MLB,02,63,10,M,LB,KSU-02-63x10.step +KSU0263-10MTC,02,63,10,M,TC,KSU-02-63x10.step +KSU0263-10MTC-M,02,63,10,M,TC-M,KSU-02-63x10.step +KSU0263-20FA,02,63,20,,FA,KSU-02-63x20.step +KSU0263-20FB,02,63,20,,FB,KSU-02-63x20.step +KSU0263-20LB,02,63,20,,LB,KSU-02-63x20.step +KSU0263-20TC,02,63,20,,TC,KSU-02-63x20.step +KSU0263-20TC-M,02,63,20,,TC-M,KSU-02-63x20.step +KSU0263-20MFA,02,63,20,M,FA,KSU-02-63x20.step +KSU0263-20MFB,02,63,20,M,FB,KSU-02-63x20.step +KSU0263-20MLB,02,63,20,M,LB,KSU-02-63x20.step +KSU0263-20MTC,02,63,20,M,TC,KSU-02-63x20.step +KSU0263-20MTC-M,02,63,20,M,TC-M,KSU-02-63x20.step +KSU0263-30FA,02,63,30,,FA,KSU-02-63x30.step +KSU0263-30FB,02,63,30,,FB,KSU-02-63x30.step +KSU0263-30LB,02,63,30,,LB,KSU-02-63x30.step +KSU0263-30TC,02,63,30,,TC,KSU-02-63x30.step +KSU0263-30TC-M,02,63,30,,TC-M,KSU-02-63x30.step +KSU0263-30MFA,02,63,30,M,FA,KSU-02-63x30.step +KSU0263-30MFB,02,63,30,M,FB,KSU-02-63x30.step +KSU0263-30MLB,02,63,30,M,LB,KSU-02-63x30.step +KSU0263-30MTC,02,63,30,M,TC,KSU-02-63x30.step +KSU0263-30MTC-M,02,63,30,M,TC-M,KSU-02-63x30.step +KSU0263-50FA,02,63,50,,FA,KSU-02-63x50.step +KSU0263-50FB,02,63,50,,FB,KSU-02-63x50.step +KSU0263-50LB,02,63,50,,LB,KSU-02-63x50.step +KSU0263-50TC,02,63,50,,TC,KSU-02-63x50.step +KSU0263-50TC-M,02,63,50,,TC-M,KSU-02-63x50.step +KSU0263-50MFA,02,63,50,M,FA,KSU-02-63x50.step +KSU0263-50MFB,02,63,50,M,FB,KSU-02-63x50.step +KSU0263-50MLB,02,63,50,M,LB,KSU-02-63x50.step +KSU0263-50MTC,02,63,50,M,TC,KSU-02-63x50.step +KSU0263-50MTC-M,02,63,50,M,TC-M,KSU-02-63x50.step +KSU0263-75FA,02,63,75,,FA,KSU-02-63x75.step +KSU0263-75FB,02,63,75,,FB,KSU-02-63x75.step +KSU0263-75LB,02,63,75,,LB,KSU-02-63x75.step +KSU0263-75TC,02,63,75,,TC,KSU-02-63x75.step +KSU0263-75TC-M,02,63,75,,TC-M,KSU-02-63x75.step +KSU0263-75MFA,02,63,75,M,FA,KSU-02-63x75.step +KSU0263-75MFB,02,63,75,M,FB,KSU-02-63x75.step +KSU0263-75MLB,02,63,75,M,LB,KSU-02-63x75.step +KSU0263-75MTC,02,63,75,M,TC,KSU-02-63x75.step +KSU0263-75MTC-M,02,63,75,M,TC-M,KSU-02-63x75.step +KSU0263-100FA,02,63,100,,FA,KSU-02-63x100.step +KSU0263-100FB,02,63,100,,FB,KSU-02-63x100.step +KSU0263-100LB,02,63,100,,LB,KSU-02-63x100.step +KSU0263-100TC,02,63,100,,TC,KSU-02-63x100.step +KSU0263-100TC-M,02,63,100,,TC-M,KSU-02-63x100.step +KSU0263-100MFA,02,63,100,M,FA,KSU-02-63x100.step +KSU0263-100MFB,02,63,100,M,FB,KSU-02-63x100.step +KSU0263-100MLB,02,63,100,M,LB,KSU-02-63x100.step +KSU0263-100MTC,02,63,100,M,TC,KSU-02-63x100.step +KSU0263-100MTC-M,02,63,100,M,TC-M,KSU-02-63x100.step +KSU0280-10FA,02,80,10,,FA,KSU-02-80x10.step +KSU0280-10FB,02,80,10,,FB,KSU-02-80x10.step +KSU0280-10LB,02,80,10,,LB,KSU-02-80x10.step +KSU0280-10TC,02,80,10,,TC,KSU-02-80x10.step +KSU0280-10TC-M,02,80,10,,TC-M,KSU-02-80x10.step +KSU0280-10MFA,02,80,10,M,FA,KSU-02-80x10.step +KSU0280-10MFB,02,80,10,M,FB,KSU-02-80x10.step +KSU0280-10MLB,02,80,10,M,LB,KSU-02-80x10.step +KSU0280-10MTC,02,80,10,M,TC,KSU-02-80x10.step +KSU0280-10MTC-M,02,80,10,M,TC-M,KSU-02-80x10.step +KSU0280-20FA,02,80,20,,FA,KSU-02-80x20.step +KSU0280-20FB,02,80,20,,FB,KSU-02-80x20.step +KSU0280-20LB,02,80,20,,LB,KSU-02-80x20.step +KSU0280-20TC,02,80,20,,TC,KSU-02-80x20.step +KSU0280-20TC-M,02,80,20,,TC-M,KSU-02-80x20.step +KSU0280-20MFA,02,80,20,M,FA,KSU-02-80x20.step +KSU0280-20MFB,02,80,20,M,FB,KSU-02-80x20.step +KSU0280-20MLB,02,80,20,M,LB,KSU-02-80x20.step +KSU0280-20MTC,02,80,20,M,TC,KSU-02-80x20.step +KSU0280-20MTC-M,02,80,20,M,TC-M,KSU-02-80x20.step +KSU0280-30FA,02,80,30,,FA,KSU-02-80x30.step +KSU0280-30FB,02,80,30,,FB,KSU-02-80x30.step +KSU0280-30LB,02,80,30,,LB,KSU-02-80x30.step +KSU0280-30TC,02,80,30,,TC,KSU-02-80x30.step +KSU0280-30TC-M,02,80,30,,TC-M,KSU-02-80x30.step +KSU0280-30MFA,02,80,30,M,FA,KSU-02-80x30.step +KSU0280-30MFB,02,80,30,M,FB,KSU-02-80x30.step +KSU0280-30MLB,02,80,30,M,LB,KSU-02-80x30.step +KSU0280-30MTC,02,80,30,M,TC,KSU-02-80x30.step +KSU0280-30MTC-M,02,80,30,M,TC-M,KSU-02-80x30.step +KSU0280-50FA,02,80,50,,FA,KSU-02-80x50.step +KSU0280-50FB,02,80,50,,FB,KSU-02-80x50.step +KSU0280-50LB,02,80,50,,LB,KSU-02-80x50.step +KSU0280-50TC,02,80,50,,TC,KSU-02-80x50.step +KSU0280-50TC-M,02,80,50,,TC-M,KSU-02-80x50.step +KSU0280-50MFA,02,80,50,M,FA,KSU-02-80x50.step +KSU0280-50MFB,02,80,50,M,FB,KSU-02-80x50.step +KSU0280-50MLB,02,80,50,M,LB,KSU-02-80x50.step +KSU0280-50MTC,02,80,50,M,TC,KSU-02-80x50.step +KSU0280-50MTC-M,02,80,50,M,TC-M,KSU-02-80x50.step +KSU0280-75FA,02,80,75,,FA,KSU-02-80x75.step +KSU0280-75FB,02,80,75,,FB,KSU-02-80x75.step +KSU0280-75LB,02,80,75,,LB,KSU-02-80x75.step +KSU0280-75TC,02,80,75,,TC,KSU-02-80x75.step +KSU0280-75TC-M,02,80,75,,TC-M,KSU-02-80x75.step +KSU0280-75MFA,02,80,75,M,FA,KSU-02-80x75.step +KSU0280-75MFB,02,80,75,M,FB,KSU-02-80x75.step +KSU0280-75MLB,02,80,75,M,LB,KSU-02-80x75.step +KSU0280-75MTC,02,80,75,M,TC,KSU-02-80x75.step +KSU0280-75MTC-M,02,80,75,M,TC-M,KSU-02-80x75.step +KSU0280-100FA,02,80,100,,FA,KSU-02-80x100.step +KSU0280-100FB,02,80,100,,FB,KSU-02-80x100.step +KSU0280-100LB,02,80,100,,LB,KSU-02-80x100.step +KSU0280-100TC,02,80,100,,TC,KSU-02-80x100.step +KSU0280-100TC-M,02,80,100,,TC-M,KSU-02-80x100.step +KSU0280-100MFA,02,80,100,M,FA,KSU-02-80x100.step +KSU0280-100MFB,02,80,100,M,FB,KSU-02-80x100.step +KSU0280-100MLB,02,80,100,M,LB,KSU-02-80x100.step +KSU0280-100MTC,02,80,100,M,TC,KSU-02-80x100.step +KSU0280-100MTC-M,02,80,100,M,TC-M,KSU-02-80x100.step +KSU02100-10FA,02,100,10,,FA,KSU-02-100x10.step +KSU02100-10FB,02,100,10,,FB,KSU-02-100x10.step +KSU02100-10LB,02,100,10,,LB,KSU-02-100x10.step +KSU02100-10TC,02,100,10,,TC,KSU-02-100x10.step +KSU02100-10TC-M,02,100,10,,TC-M,KSU-02-100x10.step +KSU02100-10MFA,02,100,10,M,FA,KSU-02-100x10.step +KSU02100-10MFB,02,100,10,M,FB,KSU-02-100x10.step +KSU02100-10MLB,02,100,10,M,LB,KSU-02-100x10.step +KSU02100-10MTC,02,100,10,M,TC,KSU-02-100x10.step +KSU02100-10MTC-M,02,100,10,M,TC-M,KSU-02-100x10.step +KSU02100-20FA,02,100,20,,FA,KSU-02-100x20.step +KSU02100-20FB,02,100,20,,FB,KSU-02-100x20.step +KSU02100-20LB,02,100,20,,LB,KSU-02-100x20.step +KSU02100-20TC,02,100,20,,TC,KSU-02-100x20.step +KSU02100-20TC-M,02,100,20,,TC-M,KSU-02-100x20.step +KSU02100-20MFA,02,100,20,M,FA,KSU-02-100x20.step +KSU02100-20MFB,02,100,20,M,FB,KSU-02-100x20.step +KSU02100-20MLB,02,100,20,M,LB,KSU-02-100x20.step +KSU02100-20MTC,02,100,20,M,TC,KSU-02-100x20.step +KSU02100-20MTC-M,02,100,20,M,TC-M,KSU-02-100x20.step +KSU02100-30FA,02,100,30,,FA,KSU-02-100x30.step +KSU02100-30FB,02,100,30,,FB,KSU-02-100x30.step +KSU02100-30LB,02,100,30,,LB,KSU-02-100x30.step +KSU02100-30TC,02,100,30,,TC,KSU-02-100x30.step +KSU02100-30TC-M,02,100,30,,TC-M,KSU-02-100x30.step +KSU02100-30MFA,02,100,30,M,FA,KSU-02-100x30.step +KSU02100-30MFB,02,100,30,M,FB,KSU-02-100x30.step +KSU02100-30MLB,02,100,30,M,LB,KSU-02-100x30.step +KSU02100-30MTC,02,100,30,M,TC,KSU-02-100x30.step +KSU02100-30MTC-M,02,100,30,M,TC-M,KSU-02-100x30.step +KSU02100-50FA,02,100,50,,FA,KSU-02-100x50.step +KSU02100-50FB,02,100,50,,FB,KSU-02-100x50.step +KSU02100-50LB,02,100,50,,LB,KSU-02-100x50.step +KSU02100-50TC,02,100,50,,TC,KSU-02-100x50.step +KSU02100-50TC-M,02,100,50,,TC-M,KSU-02-100x50.step +KSU02100-50MFA,02,100,50,M,FA,KSU-02-100x50.step +KSU02100-50MFB,02,100,50,M,FB,KSU-02-100x50.step +KSU02100-50MLB,02,100,50,M,LB,KSU-02-100x50.step +KSU02100-50MTC,02,100,50,M,TC,KSU-02-100x50.step +KSU02100-50MTC-M,02,100,50,M,TC-M,KSU-02-100x50.step +KSU02100-75FA,02,100,75,,FA,KSU-02-100x75.step +KSU02100-75FB,02,100,75,,FB,KSU-02-100x75.step +KSU02100-75LB,02,100,75,,LB,KSU-02-100x75.step +KSU02100-75TC,02,100,75,,TC,KSU-02-100x75.step +KSU02100-75TC-M,02,100,75,,TC-M,KSU-02-100x75.step +KSU02100-75MFA,02,100,75,M,FA,KSU-02-100x75.step +KSU02100-75MFB,02,100,75,M,FB,KSU-02-100x75.step +KSU02100-75MLB,02,100,75,M,LB,KSU-02-100x75.step +KSU02100-75MTC,02,100,75,M,TC,KSU-02-100x75.step +KSU02100-75MTC-M,02,100,75,M,TC-M,KSU-02-100x75.step +KSU02100-100FA,02,100,100,,FA,KSU-02-100x100.step +KSU02100-100FB,02,100,100,,FB,KSU-02-100x100.step +KSU02100-100LB,02,100,100,,LB,KSU-02-100x100.step +KSU02100-100TC,02,100,100,,TC,KSU-02-100x100.step +KSU02100-100TC-M,02,100,100,,TC-M,KSU-02-100x100.step +KSU02100-100MFA,02,100,100,M,FA,KSU-02-100x100.step +KSU02100-100MFB,02,100,100,M,FB,KSU-02-100x100.step +KSU02100-100MLB,02,100,100,M,LB,KSU-02-100x100.step +KSU02100-100MTC,02,100,100,M,TC,KSU-02-100x100.step +KSU02100-100MTC-M,02,100,100,M,TC-M,KSU-02-100x100.step +KSU02125-10FA,02,125,10,,FA,KSU-02-125x10.step +KSU02125-10FB,02,125,10,,FB,KSU-02-125x10.step +KSU02125-10LB,02,125,10,,LB,KSU-02-125x10.step +KSU02125-10TC,02,125,10,,TC,KSU-02-125x10.step +KSU02125-10TC-M,02,125,10,,TC-M,KSU-02-125x10.step +KSU02125-10MFA,02,125,10,M,FA,KSU-02-125x10.step +KSU02125-10MFB,02,125,10,M,FB,KSU-02-125x10.step +KSU02125-10MLB,02,125,10,M,LB,KSU-02-125x10.step +KSU02125-10MTC,02,125,10,M,TC,KSU-02-125x10.step +KSU02125-10MTC-M,02,125,10,M,TC-M,KSU-02-125x10.step +KSU02125-20FA,02,125,20,,FA,KSU-02-125x20.step +KSU02125-20FB,02,125,20,,FB,KSU-02-125x20.step +KSU02125-20LB,02,125,20,,LB,KSU-02-125x20.step +KSU02125-20TC,02,125,20,,TC,KSU-02-125x20.step +KSU02125-20TC-M,02,125,20,,TC-M,KSU-02-125x20.step +KSU02125-20MFA,02,125,20,M,FA,KSU-02-125x20.step +KSU02125-20MFB,02,125,20,M,FB,KSU-02-125x20.step +KSU02125-20MLB,02,125,20,M,LB,KSU-02-125x20.step +KSU02125-20MTC,02,125,20,M,TC,KSU-02-125x20.step +KSU02125-20MTC-M,02,125,20,M,TC-M,KSU-02-125x20.step +KSU02125-30FA,02,125,30,,FA,KSU-02-125x30.step +KSU02125-30FB,02,125,30,,FB,KSU-02-125x30.step +KSU02125-30LB,02,125,30,,LB,KSU-02-125x30.step +KSU02125-30TC,02,125,30,,TC,KSU-02-125x30.step +KSU02125-30TC-M,02,125,30,,TC-M,KSU-02-125x30.step +KSU02125-30MFA,02,125,30,M,FA,KSU-02-125x30.step +KSU02125-30MFB,02,125,30,M,FB,KSU-02-125x30.step +KSU02125-30MLB,02,125,30,M,LB,KSU-02-125x30.step +KSU02125-30MTC,02,125,30,M,TC,KSU-02-125x30.step +KSU02125-30MTC-M,02,125,30,M,TC-M,KSU-02-125x30.step +KSU02125-50FA,02,125,50,,FA,KSU-02-125x50.step +KSU02125-50FB,02,125,50,,FB,KSU-02-125x50.step +KSU02125-50LB,02,125,50,,LB,KSU-02-125x50.step +KSU02125-50TC,02,125,50,,TC,KSU-02-125x50.step +KSU02125-50TC-M,02,125,50,,TC-M,KSU-02-125x50.step +KSU02125-50MFA,02,125,50,M,FA,KSU-02-125x50.step +KSU02125-50MFB,02,125,50,M,FB,KSU-02-125x50.step +KSU02125-50MLB,02,125,50,M,LB,KSU-02-125x50.step +KSU02125-50MTC,02,125,50,M,TC,KSU-02-125x50.step +KSU02125-50MTC-M,02,125,50,M,TC-M,KSU-02-125x50.step +KSU02125-75FA,02,125,75,,FA,KSU-02-125x75.step +KSU02125-75FB,02,125,75,,FB,KSU-02-125x75.step +KSU02125-75LB,02,125,75,,LB,KSU-02-125x75.step +KSU02125-75TC,02,125,75,,TC,KSU-02-125x75.step +KSU02125-75TC-M,02,125,75,,TC-M,KSU-02-125x75.step +KSU02125-75MFA,02,125,75,M,FA,KSU-02-125x75.step +KSU02125-75MFB,02,125,75,M,FB,KSU-02-125x75.step +KSU02125-75MLB,02,125,75,M,LB,KSU-02-125x75.step +KSU02125-75MTC,02,125,75,M,TC,KSU-02-125x75.step +KSU02125-75MTC-M,02,125,75,M,TC-M,KSU-02-125x75.step +KSU02125-100FA,02,125,100,,FA,KSU-02-125x100.step +KSU02125-100FB,02,125,100,,FB,KSU-02-125x100.step +KSU02125-100LB,02,125,100,,LB,KSU-02-125x100.step +KSU02125-100TC,02,125,100,,TC,KSU-02-125x100.step +KSU02125-100TC-M,02,125,100,,TC-M,KSU-02-125x100.step +KSU02125-100MFA,02,125,100,M,FA,KSU-02-125x100.step +KSU02125-100MFB,02,125,100,M,FB,KSU-02-125x100.step +KSU02125-100MLB,02,125,100,M,LB,KSU-02-125x100.step +KSU02125-100MTC,02,125,100,M,TC,KSU-02-125x100.step +KSU02125-100MTC-M,02,125,100,M,TC-M,KSU-02-125x100.step +KSU0332-10FA,03,32,10,,FA,KSU-03-32x10.step +KSU0332-10FB,03,32,10,,FB,KSU-03-32x10.step +KSU0332-10LB,03,32,10,,LB,KSU-03-32x10.step +KSU0332-10TC,03,32,10,,TC,KSU-03-32x10.step +KSU0332-10TC-M,03,32,10,,TC-M,KSU-03-32x10.step +KSU0332-10MFA,03,32,10,M,FA,KSU-03-32x10.step +KSU0332-10MFB,03,32,10,M,FB,KSU-03-32x10.step +KSU0332-10MLB,03,32,10,M,LB,KSU-03-32x10.step +KSU0332-10MTC,03,32,10,M,TC,KSU-03-32x10.step +KSU0332-10MTC-M,03,32,10,M,TC-M,KSU-03-32x10.step +KSU0332-20FA,03,32,20,,FA,KSU-03-32x20.step +KSU0332-20FB,03,32,20,,FB,KSU-03-32x20.step +KSU0332-20LB,03,32,20,,LB,KSU-03-32x20.step +KSU0332-20TC,03,32,20,,TC,KSU-03-32x20.step +KSU0332-20TC-M,03,32,20,,TC-M,KSU-03-32x20.step +KSU0332-20MFA,03,32,20,M,FA,KSU-03-32x20.step +KSU0332-20MFB,03,32,20,M,FB,KSU-03-32x20.step +KSU0332-20MLB,03,32,20,M,LB,KSU-03-32x20.step +KSU0332-20MTC,03,32,20,M,TC,KSU-03-32x20.step +KSU0332-20MTC-M,03,32,20,M,TC-M,KSU-03-32x20.step +KSU0332-30FA,03,32,30,,FA,KSU-03-32x30.step +KSU0332-30FB,03,32,30,,FB,KSU-03-32x30.step +KSU0332-30LB,03,32,30,,LB,KSU-03-32x30.step +KSU0332-30TC,03,32,30,,TC,KSU-03-32x30.step +KSU0332-30TC-M,03,32,30,,TC-M,KSU-03-32x30.step +KSU0332-30MFA,03,32,30,M,FA,KSU-03-32x30.step +KSU0332-30MFB,03,32,30,M,FB,KSU-03-32x30.step +KSU0332-30MLB,03,32,30,M,LB,KSU-03-32x30.step +KSU0332-30MTC,03,32,30,M,TC,KSU-03-32x30.step +KSU0332-30MTC-M,03,32,30,M,TC-M,KSU-03-32x30.step +KSU0332-50FA,03,32,50,,FA,KSU-03-32x50.step +KSU0332-50FB,03,32,50,,FB,KSU-03-32x50.step +KSU0332-50LB,03,32,50,,LB,KSU-03-32x50.step +KSU0332-50TC,03,32,50,,TC,KSU-03-32x50.step +KSU0332-50TC-M,03,32,50,,TC-M,KSU-03-32x50.step +KSU0332-50MFA,03,32,50,M,FA,KSU-03-32x50.step +KSU0332-50MFB,03,32,50,M,FB,KSU-03-32x50.step +KSU0332-50MLB,03,32,50,M,LB,KSU-03-32x50.step +KSU0332-50MTC,03,32,50,M,TC,KSU-03-32x50.step +KSU0332-50MTC-M,03,32,50,M,TC-M,KSU-03-32x50.step +KSU0332-75FA,03,32,75,,FA,KSU-03-32x75.step +KSU0332-75FB,03,32,75,,FB,KSU-03-32x75.step +KSU0332-75LB,03,32,75,,LB,KSU-03-32x75.step +KSU0332-75TC,03,32,75,,TC,KSU-03-32x75.step +KSU0332-75TC-M,03,32,75,,TC-M,KSU-03-32x75.step +KSU0332-75MFA,03,32,75,M,FA,KSU-03-32x75.step +KSU0332-75MFB,03,32,75,M,FB,KSU-03-32x75.step +KSU0332-75MLB,03,32,75,M,LB,KSU-03-32x75.step +KSU0332-75MTC,03,32,75,M,TC,KSU-03-32x75.step +KSU0332-75MTC-M,03,32,75,M,TC-M,KSU-03-32x75.step +KSU0332-100FA,03,32,100,,FA,KSU-03-32x100.step +KSU0332-100FB,03,32,100,,FB,KSU-03-32x100.step +KSU0332-100LB,03,32,100,,LB,KSU-03-32x100.step +KSU0332-100TC,03,32,100,,TC,KSU-03-32x100.step +KSU0332-100TC-M,03,32,100,,TC-M,KSU-03-32x100.step +KSU0332-100MFA,03,32,100,M,FA,KSU-03-32x100.step +KSU0332-100MFB,03,32,100,M,FB,KSU-03-32x100.step +KSU0332-100MLB,03,32,100,M,LB,KSU-03-32x100.step +KSU0332-100MTC,03,32,100,M,TC,KSU-03-32x100.step +KSU0332-100MTC-M,03,32,100,M,TC-M,KSU-03-32x100.step +KSU0340-10FA,03,40,10,,FA,KSU-03-40x10.step +KSU0340-10FB,03,40,10,,FB,KSU-03-40x10.step +KSU0340-10LB,03,40,10,,LB,KSU-03-40x10.step +KSU0340-10TC,03,40,10,,TC,KSU-03-40x10.step +KSU0340-10TC-M,03,40,10,,TC-M,KSU-03-40x10.step +KSU0340-10MFA,03,40,10,M,FA,KSU-03-40x10.step +KSU0340-10MFB,03,40,10,M,FB,KSU-03-40x10.step +KSU0340-10MLB,03,40,10,M,LB,KSU-03-40x10.step +KSU0340-10MTC,03,40,10,M,TC,KSU-03-40x10.step +KSU0340-10MTC-M,03,40,10,M,TC-M,KSU-03-40x10.step +KSU0340-20FA,03,40,20,,FA,KSU-03-40x20.step +KSU0340-20FB,03,40,20,,FB,KSU-03-40x20.step +KSU0340-20LB,03,40,20,,LB,KSU-03-40x20.step +KSU0340-20TC,03,40,20,,TC,KSU-03-40x20.step +KSU0340-20TC-M,03,40,20,,TC-M,KSU-03-40x20.step +KSU0340-20MFA,03,40,20,M,FA,KSU-03-40x20.step +KSU0340-20MFB,03,40,20,M,FB,KSU-03-40x20.step +KSU0340-20MLB,03,40,20,M,LB,KSU-03-40x20.step +KSU0340-20MTC,03,40,20,M,TC,KSU-03-40x20.step +KSU0340-20MTC-M,03,40,20,M,TC-M,KSU-03-40x20.step +KSU0340-30FA,03,40,30,,FA,KSU-03-40x30.step +KSU0340-30FB,03,40,30,,FB,KSU-03-40x30.step +KSU0340-30LB,03,40,30,,LB,KSU-03-40x30.step +KSU0340-30TC,03,40,30,,TC,KSU-03-40x30.step +KSU0340-30TC-M,03,40,30,,TC-M,KSU-03-40x30.step +KSU0340-30MFA,03,40,30,M,FA,KSU-03-40x30.step +KSU0340-30MFB,03,40,30,M,FB,KSU-03-40x30.step +KSU0340-30MLB,03,40,30,M,LB,KSU-03-40x30.step +KSU0340-30MTC,03,40,30,M,TC,KSU-03-40x30.step +KSU0340-30MTC-M,03,40,30,M,TC-M,KSU-03-40x30.step +KSU0340-50FA,03,40,50,,FA,KSU-03-40x50.step +KSU0340-50FB,03,40,50,,FB,KSU-03-40x50.step +KSU0340-50LB,03,40,50,,LB,KSU-03-40x50.step +KSU0340-50TC,03,40,50,,TC,KSU-03-40x50.step +KSU0340-50TC-M,03,40,50,,TC-M,KSU-03-40x50.step +KSU0340-50MFA,03,40,50,M,FA,KSU-03-40x50.step +KSU0340-50MFB,03,40,50,M,FB,KSU-03-40x50.step +KSU0340-50MLB,03,40,50,M,LB,KSU-03-40x50.step +KSU0340-50MTC,03,40,50,M,TC,KSU-03-40x50.step +KSU0340-50MTC-M,03,40,50,M,TC-M,KSU-03-40x50.step +KSU0340-75FA,03,40,75,,FA,KSU-03-40x75.step +KSU0340-75FB,03,40,75,,FB,KSU-03-40x75.step +KSU0340-75LB,03,40,75,,LB,KSU-03-40x75.step +KSU0340-75TC,03,40,75,,TC,KSU-03-40x75.step +KSU0340-75TC-M,03,40,75,,TC-M,KSU-03-40x75.step +KSU0340-75MFA,03,40,75,M,FA,KSU-03-40x75.step +KSU0340-75MFB,03,40,75,M,FB,KSU-03-40x75.step +KSU0340-75MLB,03,40,75,M,LB,KSU-03-40x75.step +KSU0340-75MTC,03,40,75,M,TC,KSU-03-40x75.step +KSU0340-75MTC-M,03,40,75,M,TC-M,KSU-03-40x75.step +KSU0340-100FA,03,40,100,,FA,KSU-03-40x100.step +KSU0340-100FB,03,40,100,,FB,KSU-03-40x100.step +KSU0340-100LB,03,40,100,,LB,KSU-03-40x100.step +KSU0340-100TC,03,40,100,,TC,KSU-03-40x100.step +KSU0340-100TC-M,03,40,100,,TC-M,KSU-03-40x100.step +KSU0340-100MFA,03,40,100,M,FA,KSU-03-40x100.step +KSU0340-100MFB,03,40,100,M,FB,KSU-03-40x100.step +KSU0340-100MLB,03,40,100,M,LB,KSU-03-40x100.step +KSU0340-100MTC,03,40,100,M,TC,KSU-03-40x100.step +KSU0340-100MTC-M,03,40,100,M,TC-M,KSU-03-40x100.step +KSU0350-10FA,03,50,10,,FA,KSU-03-50x10.step +KSU0350-10FB,03,50,10,,FB,KSU-03-50x10.step +KSU0350-10LB,03,50,10,,LB,KSU-03-50x10.step +KSU0350-10TC,03,50,10,,TC,KSU-03-50x10.step +KSU0350-10TC-M,03,50,10,,TC-M,KSU-03-50x10.step +KSU0350-10MFA,03,50,10,M,FA,KSU-03-50x10.step +KSU0350-10MFB,03,50,10,M,FB,KSU-03-50x10.step +KSU0350-10MLB,03,50,10,M,LB,KSU-03-50x10.step +KSU0350-10MTC,03,50,10,M,TC,KSU-03-50x10.step +KSU0350-10MTC-M,03,50,10,M,TC-M,KSU-03-50x10.step +KSU0350-20FA,03,50,20,,FA,KSU-03-50x20.step +KSU0350-20FB,03,50,20,,FB,KSU-03-50x20.step +KSU0350-20LB,03,50,20,,LB,KSU-03-50x20.step +KSU0350-20TC,03,50,20,,TC,KSU-03-50x20.step +KSU0350-20TC-M,03,50,20,,TC-M,KSU-03-50x20.step +KSU0350-20MFA,03,50,20,M,FA,KSU-03-50x20.step +KSU0350-20MFB,03,50,20,M,FB,KSU-03-50x20.step +KSU0350-20MLB,03,50,20,M,LB,KSU-03-50x20.step +KSU0350-20MTC,03,50,20,M,TC,KSU-03-50x20.step +KSU0350-20MTC-M,03,50,20,M,TC-M,KSU-03-50x20.step +KSU0350-30FA,03,50,30,,FA,KSU-03-50x30.step +KSU0350-30FB,03,50,30,,FB,KSU-03-50x30.step +KSU0350-30LB,03,50,30,,LB,KSU-03-50x30.step +KSU0350-30TC,03,50,30,,TC,KSU-03-50x30.step +KSU0350-30TC-M,03,50,30,,TC-M,KSU-03-50x30.step +KSU0350-30MFA,03,50,30,M,FA,KSU-03-50x30.step +KSU0350-30MFB,03,50,30,M,FB,KSU-03-50x30.step +KSU0350-30MLB,03,50,30,M,LB,KSU-03-50x30.step +KSU0350-30MTC,03,50,30,M,TC,KSU-03-50x30.step +KSU0350-30MTC-M,03,50,30,M,TC-M,KSU-03-50x30.step +KSU0350-50FA,03,50,50,,FA,KSU-03-50x50.step +KSU0350-50FB,03,50,50,,FB,KSU-03-50x50.step +KSU0350-50LB,03,50,50,,LB,KSU-03-50x50.step +KSU0350-50TC,03,50,50,,TC,KSU-03-50x50.step +KSU0350-50TC-M,03,50,50,,TC-M,KSU-03-50x50.step +KSU0350-50MFA,03,50,50,M,FA,KSU-03-50x50.step +KSU0350-50MFB,03,50,50,M,FB,KSU-03-50x50.step +KSU0350-50MLB,03,50,50,M,LB,KSU-03-50x50.step +KSU0350-50MTC,03,50,50,M,TC,KSU-03-50x50.step +KSU0350-50MTC-M,03,50,50,M,TC-M,KSU-03-50x50.step +KSU0350-75FA,03,50,75,,FA,KSU-03-50x75.step +KSU0350-75FB,03,50,75,,FB,KSU-03-50x75.step +KSU0350-75LB,03,50,75,,LB,KSU-03-50x75.step +KSU0350-75TC,03,50,75,,TC,KSU-03-50x75.step +KSU0350-75TC-M,03,50,75,,TC-M,KSU-03-50x75.step +KSU0350-75MFA,03,50,75,M,FA,KSU-03-50x75.step +KSU0350-75MFB,03,50,75,M,FB,KSU-03-50x75.step +KSU0350-75MLB,03,50,75,M,LB,KSU-03-50x75.step +KSU0350-75MTC,03,50,75,M,TC,KSU-03-50x75.step +KSU0350-75MTC-M,03,50,75,M,TC-M,KSU-03-50x75.step +KSU0350-100FA,03,50,100,,FA,KSU-03-50x100.step +KSU0350-100FB,03,50,100,,FB,KSU-03-50x100.step +KSU0350-100LB,03,50,100,,LB,KSU-03-50x100.step +KSU0350-100TC,03,50,100,,TC,KSU-03-50x100.step +KSU0350-100TC-M,03,50,100,,TC-M,KSU-03-50x100.step +KSU0350-100MFA,03,50,100,M,FA,KSU-03-50x100.step +KSU0350-100MFB,03,50,100,M,FB,KSU-03-50x100.step +KSU0350-100MLB,03,50,100,M,LB,KSU-03-50x100.step +KSU0350-100MTC,03,50,100,M,TC,KSU-03-50x100.step +KSU0350-100MTC-M,03,50,100,M,TC-M,KSU-03-50x100.step +KSU0363-10FA,03,63,10,,FA,KSU-03-63x10.step +KSU0363-10FB,03,63,10,,FB,KSU-03-63x10.step +KSU0363-10LB,03,63,10,,LB,KSU-03-63x10.step +KSU0363-10TC,03,63,10,,TC,KSU-03-63x10.step +KSU0363-10TC-M,03,63,10,,TC-M,KSU-03-63x10.step +KSU0363-10MFA,03,63,10,M,FA,KSU-03-63x10.step +KSU0363-10MFB,03,63,10,M,FB,KSU-03-63x10.step +KSU0363-10MLB,03,63,10,M,LB,KSU-03-63x10.step +KSU0363-10MTC,03,63,10,M,TC,KSU-03-63x10.step +KSU0363-10MTC-M,03,63,10,M,TC-M,KSU-03-63x10.step +KSU0363-20FA,03,63,20,,FA,KSU-03-63x20.step +KSU0363-20FB,03,63,20,,FB,KSU-03-63x20.step +KSU0363-20LB,03,63,20,,LB,KSU-03-63x20.step +KSU0363-20TC,03,63,20,,TC,KSU-03-63x20.step +KSU0363-20TC-M,03,63,20,,TC-M,KSU-03-63x20.step +KSU0363-20MFA,03,63,20,M,FA,KSU-03-63x20.step +KSU0363-20MFB,03,63,20,M,FB,KSU-03-63x20.step +KSU0363-20MLB,03,63,20,M,LB,KSU-03-63x20.step +KSU0363-20MTC,03,63,20,M,TC,KSU-03-63x20.step +KSU0363-20MTC-M,03,63,20,M,TC-M,KSU-03-63x20.step +KSU0363-30FA,03,63,30,,FA,KSU-03-63x30.step +KSU0363-30FB,03,63,30,,FB,KSU-03-63x30.step +KSU0363-30LB,03,63,30,,LB,KSU-03-63x30.step +KSU0363-30TC,03,63,30,,TC,KSU-03-63x30.step +KSU0363-30TC-M,03,63,30,,TC-M,KSU-03-63x30.step +KSU0363-30MFA,03,63,30,M,FA,KSU-03-63x30.step +KSU0363-30MFB,03,63,30,M,FB,KSU-03-63x30.step +KSU0363-30MLB,03,63,30,M,LB,KSU-03-63x30.step +KSU0363-30MTC,03,63,30,M,TC,KSU-03-63x30.step +KSU0363-30MTC-M,03,63,30,M,TC-M,KSU-03-63x30.step +KSU0363-50FA,03,63,50,,FA,KSU-03-63x50.step +KSU0363-50FB,03,63,50,,FB,KSU-03-63x50.step +KSU0363-50LB,03,63,50,,LB,KSU-03-63x50.step +KSU0363-50TC,03,63,50,,TC,KSU-03-63x50.step +KSU0363-50TC-M,03,63,50,,TC-M,KSU-03-63x50.step +KSU0363-50MFA,03,63,50,M,FA,KSU-03-63x50.step +KSU0363-50MFB,03,63,50,M,FB,KSU-03-63x50.step +KSU0363-50MLB,03,63,50,M,LB,KSU-03-63x50.step +KSU0363-50MTC,03,63,50,M,TC,KSU-03-63x50.step +KSU0363-50MTC-M,03,63,50,M,TC-M,KSU-03-63x50.step +KSU0363-75FA,03,63,75,,FA,KSU-03-63x75.step +KSU0363-75FB,03,63,75,,FB,KSU-03-63x75.step +KSU0363-75LB,03,63,75,,LB,KSU-03-63x75.step +KSU0363-75TC,03,63,75,,TC,KSU-03-63x75.step +KSU0363-75TC-M,03,63,75,,TC-M,KSU-03-63x75.step +KSU0363-75MFA,03,63,75,M,FA,KSU-03-63x75.step +KSU0363-75MFB,03,63,75,M,FB,KSU-03-63x75.step +KSU0363-75MLB,03,63,75,M,LB,KSU-03-63x75.step +KSU0363-75MTC,03,63,75,M,TC,KSU-03-63x75.step +KSU0363-75MTC-M,03,63,75,M,TC-M,KSU-03-63x75.step +KSU0363-100FA,03,63,100,,FA,KSU-03-63x100.step +KSU0363-100FB,03,63,100,,FB,KSU-03-63x100.step +KSU0363-100LB,03,63,100,,LB,KSU-03-63x100.step +KSU0363-100TC,03,63,100,,TC,KSU-03-63x100.step +KSU0363-100TC-M,03,63,100,,TC-M,KSU-03-63x100.step +KSU0363-100MFA,03,63,100,M,FA,KSU-03-63x100.step +KSU0363-100MFB,03,63,100,M,FB,KSU-03-63x100.step +KSU0363-100MLB,03,63,100,M,LB,KSU-03-63x100.step +KSU0363-100MTC,03,63,100,M,TC,KSU-03-63x100.step +KSU0363-100MTC-M,03,63,100,M,TC-M,KSU-03-63x100.step +KSU0380-10FA,03,80,10,,FA,KSU-03-80x10.step +KSU0380-10FB,03,80,10,,FB,KSU-03-80x10.step +KSU0380-10LB,03,80,10,,LB,KSU-03-80x10.step +KSU0380-10TC,03,80,10,,TC,KSU-03-80x10.step +KSU0380-10TC-M,03,80,10,,TC-M,KSU-03-80x10.step +KSU0380-10MFA,03,80,10,M,FA,KSU-03-80x10.step +KSU0380-10MFB,03,80,10,M,FB,KSU-03-80x10.step +KSU0380-10MLB,03,80,10,M,LB,KSU-03-80x10.step +KSU0380-10MTC,03,80,10,M,TC,KSU-03-80x10.step +KSU0380-10MTC-M,03,80,10,M,TC-M,KSU-03-80x10.step +KSU0380-20FA,03,80,20,,FA,KSU-03-80x20.step +KSU0380-20FB,03,80,20,,FB,KSU-03-80x20.step +KSU0380-20LB,03,80,20,,LB,KSU-03-80x20.step +KSU0380-20TC,03,80,20,,TC,KSU-03-80x20.step +KSU0380-20TC-M,03,80,20,,TC-M,KSU-03-80x20.step +KSU0380-20MFA,03,80,20,M,FA,KSU-03-80x20.step +KSU0380-20MFB,03,80,20,M,FB,KSU-03-80x20.step +KSU0380-20MLB,03,80,20,M,LB,KSU-03-80x20.step +KSU0380-20MTC,03,80,20,M,TC,KSU-03-80x20.step +KSU0380-20MTC-M,03,80,20,M,TC-M,KSU-03-80x20.step +KSU0380-30FA,03,80,30,,FA,KSU-03-80x30.step +KSU0380-30FB,03,80,30,,FB,KSU-03-80x30.step +KSU0380-30LB,03,80,30,,LB,KSU-03-80x30.step +KSU0380-30TC,03,80,30,,TC,KSU-03-80x30.step +KSU0380-30TC-M,03,80,30,,TC-M,KSU-03-80x30.step +KSU0380-30MFA,03,80,30,M,FA,KSU-03-80x30.step +KSU0380-30MFB,03,80,30,M,FB,KSU-03-80x30.step +KSU0380-30MLB,03,80,30,M,LB,KSU-03-80x30.step +KSU0380-30MTC,03,80,30,M,TC,KSU-03-80x30.step +KSU0380-30MTC-M,03,80,30,M,TC-M,KSU-03-80x30.step +KSU0380-50FA,03,80,50,,FA,KSU-03-80x50.step +KSU0380-50FB,03,80,50,,FB,KSU-03-80x50.step +KSU0380-50LB,03,80,50,,LB,KSU-03-80x50.step +KSU0380-50TC,03,80,50,,TC,KSU-03-80x50.step +KSU0380-50TC-M,03,80,50,,TC-M,KSU-03-80x50.step +KSU0380-50MFA,03,80,50,M,FA,KSU-03-80x50.step +KSU0380-50MFB,03,80,50,M,FB,KSU-03-80x50.step +KSU0380-50MLB,03,80,50,M,LB,KSU-03-80x50.step +KSU0380-50MTC,03,80,50,M,TC,KSU-03-80x50.step +KSU0380-50MTC-M,03,80,50,M,TC-M,KSU-03-80x50.step +KSU0380-75FA,03,80,75,,FA,KSU-03-80x75.step +KSU0380-75FB,03,80,75,,FB,KSU-03-80x75.step +KSU0380-75LB,03,80,75,,LB,KSU-03-80x75.step +KSU0380-75TC,03,80,75,,TC,KSU-03-80x75.step +KSU0380-75TC-M,03,80,75,,TC-M,KSU-03-80x75.step +KSU0380-75MFA,03,80,75,M,FA,KSU-03-80x75.step +KSU0380-75MFB,03,80,75,M,FB,KSU-03-80x75.step +KSU0380-75MLB,03,80,75,M,LB,KSU-03-80x75.step +KSU0380-75MTC,03,80,75,M,TC,KSU-03-80x75.step +KSU0380-75MTC-M,03,80,75,M,TC-M,KSU-03-80x75.step +KSU0380-100FA,03,80,100,,FA,KSU-03-80x100.step +KSU0380-100FB,03,80,100,,FB,KSU-03-80x100.step +KSU0380-100LB,03,80,100,,LB,KSU-03-80x100.step +KSU0380-100TC,03,80,100,,TC,KSU-03-80x100.step +KSU0380-100TC-M,03,80,100,,TC-M,KSU-03-80x100.step +KSU0380-100MFA,03,80,100,M,FA,KSU-03-80x100.step +KSU0380-100MFB,03,80,100,M,FB,KSU-03-80x100.step +KSU0380-100MLB,03,80,100,M,LB,KSU-03-80x100.step +KSU0380-100MTC,03,80,100,M,TC,KSU-03-80x100.step +KSU0380-100MTC-M,03,80,100,M,TC-M,KSU-03-80x100.step +KSU03100-10FA,03,100,10,,FA,KSU-03-100x10.step +KSU03100-10FB,03,100,10,,FB,KSU-03-100x10.step +KSU03100-10LB,03,100,10,,LB,KSU-03-100x10.step +KSU03100-10TC,03,100,10,,TC,KSU-03-100x10.step +KSU03100-10TC-M,03,100,10,,TC-M,KSU-03-100x10.step +KSU03100-10MFA,03,100,10,M,FA,KSU-03-100x10.step +KSU03100-10MFB,03,100,10,M,FB,KSU-03-100x10.step +KSU03100-10MLB,03,100,10,M,LB,KSU-03-100x10.step +KSU03100-10MTC,03,100,10,M,TC,KSU-03-100x10.step +KSU03100-10MTC-M,03,100,10,M,TC-M,KSU-03-100x10.step +KSU03100-20FA,03,100,20,,FA,KSU-03-100x20.step +KSU03100-20FB,03,100,20,,FB,KSU-03-100x20.step +KSU03100-20LB,03,100,20,,LB,KSU-03-100x20.step +KSU03100-20TC,03,100,20,,TC,KSU-03-100x20.step +KSU03100-20TC-M,03,100,20,,TC-M,KSU-03-100x20.step +KSU03100-20MFA,03,100,20,M,FA,KSU-03-100x20.step +KSU03100-20MFB,03,100,20,M,FB,KSU-03-100x20.step +KSU03100-20MLB,03,100,20,M,LB,KSU-03-100x20.step +KSU03100-20MTC,03,100,20,M,TC,KSU-03-100x20.step +KSU03100-20MTC-M,03,100,20,M,TC-M,KSU-03-100x20.step +KSU03100-30FA,03,100,30,,FA,KSU-03-100x30.step +KSU03100-30FB,03,100,30,,FB,KSU-03-100x30.step +KSU03100-30LB,03,100,30,,LB,KSU-03-100x30.step +KSU03100-30TC,03,100,30,,TC,KSU-03-100x30.step +KSU03100-30TC-M,03,100,30,,TC-M,KSU-03-100x30.step +KSU03100-30MFA,03,100,30,M,FA,KSU-03-100x30.step +KSU03100-30MFB,03,100,30,M,FB,KSU-03-100x30.step +KSU03100-30MLB,03,100,30,M,LB,KSU-03-100x30.step +KSU03100-30MTC,03,100,30,M,TC,KSU-03-100x30.step +KSU03100-30MTC-M,03,100,30,M,TC-M,KSU-03-100x30.step +KSU03100-50FA,03,100,50,,FA,KSU-03-100x50.step +KSU03100-50FB,03,100,50,,FB,KSU-03-100x50.step +KSU03100-50LB,03,100,50,,LB,KSU-03-100x50.step +KSU03100-50TC,03,100,50,,TC,KSU-03-100x50.step +KSU03100-50TC-M,03,100,50,,TC-M,KSU-03-100x50.step +KSU03100-50MFA,03,100,50,M,FA,KSU-03-100x50.step +KSU03100-50MFB,03,100,50,M,FB,KSU-03-100x50.step +KSU03100-50MLB,03,100,50,M,LB,KSU-03-100x50.step +KSU03100-50MTC,03,100,50,M,TC,KSU-03-100x50.step +KSU03100-50MTC-M,03,100,50,M,TC-M,KSU-03-100x50.step +KSU03100-75FA,03,100,75,,FA,KSU-03-100x75.step +KSU03100-75FB,03,100,75,,FB,KSU-03-100x75.step +KSU03100-75LB,03,100,75,,LB,KSU-03-100x75.step +KSU03100-75TC,03,100,75,,TC,KSU-03-100x75.step +KSU03100-75TC-M,03,100,75,,TC-M,KSU-03-100x75.step +KSU03100-75MFA,03,100,75,M,FA,KSU-03-100x75.step +KSU03100-75MFB,03,100,75,M,FB,KSU-03-100x75.step +KSU03100-75MLB,03,100,75,M,LB,KSU-03-100x75.step +KSU03100-75MTC,03,100,75,M,TC,KSU-03-100x75.step +KSU03100-75MTC-M,03,100,75,M,TC-M,KSU-03-100x75.step +KSU03100-100FA,03,100,100,,FA,KSU-03-100x100.step +KSU03100-100FB,03,100,100,,FB,KSU-03-100x100.step +KSU03100-100LB,03,100,100,,LB,KSU-03-100x100.step +KSU03100-100TC,03,100,100,,TC,KSU-03-100x100.step +KSU03100-100TC-M,03,100,100,,TC-M,KSU-03-100x100.step +KSU03100-100MFA,03,100,100,M,FA,KSU-03-100x100.step +KSU03100-100MFB,03,100,100,M,FB,KSU-03-100x100.step +KSU03100-100MLB,03,100,100,M,LB,KSU-03-100x100.step +KSU03100-100MTC,03,100,100,M,TC,KSU-03-100x100.step +KSU03100-100MTC-M,03,100,100,M,TC-M,KSU-03-100x100.step +KSU03125-10FA,03,125,10,,FA,KSU-03-125x10.step +KSU03125-10FB,03,125,10,,FB,KSU-03-125x10.step +KSU03125-10LB,03,125,10,,LB,KSU-03-125x10.step +KSU03125-10TC,03,125,10,,TC,KSU-03-125x10.step +KSU03125-10TC-M,03,125,10,,TC-M,KSU-03-125x10.step +KSU03125-10MFA,03,125,10,M,FA,KSU-03-125x10.step +KSU03125-10MFB,03,125,10,M,FB,KSU-03-125x10.step +KSU03125-10MLB,03,125,10,M,LB,KSU-03-125x10.step +KSU03125-10MTC,03,125,10,M,TC,KSU-03-125x10.step +KSU03125-10MTC-M,03,125,10,M,TC-M,KSU-03-125x10.step +KSU03125-20FA,03,125,20,,FA,KSU-03-125x20.step +KSU03125-20FB,03,125,20,,FB,KSU-03-125x20.step +KSU03125-20LB,03,125,20,,LB,KSU-03-125x20.step +KSU03125-20TC,03,125,20,,TC,KSU-03-125x20.step +KSU03125-20TC-M,03,125,20,,TC-M,KSU-03-125x20.step +KSU03125-20MFA,03,125,20,M,FA,KSU-03-125x20.step +KSU03125-20MFB,03,125,20,M,FB,KSU-03-125x20.step +KSU03125-20MLB,03,125,20,M,LB,KSU-03-125x20.step +KSU03125-20MTC,03,125,20,M,TC,KSU-03-125x20.step +KSU03125-20MTC-M,03,125,20,M,TC-M,KSU-03-125x20.step +KSU03125-30FA,03,125,30,,FA,KSU-03-125x30.step +KSU03125-30FB,03,125,30,,FB,KSU-03-125x30.step +KSU03125-30LB,03,125,30,,LB,KSU-03-125x30.step +KSU03125-30TC,03,125,30,,TC,KSU-03-125x30.step +KSU03125-30TC-M,03,125,30,,TC-M,KSU-03-125x30.step +KSU03125-30MFA,03,125,30,M,FA,KSU-03-125x30.step +KSU03125-30MFB,03,125,30,M,FB,KSU-03-125x30.step +KSU03125-30MLB,03,125,30,M,LB,KSU-03-125x30.step +KSU03125-30MTC,03,125,30,M,TC,KSU-03-125x30.step +KSU03125-30MTC-M,03,125,30,M,TC-M,KSU-03-125x30.step +KSU03125-50FA,03,125,50,,FA,KSU-03-125x50.step +KSU03125-50FB,03,125,50,,FB,KSU-03-125x50.step +KSU03125-50LB,03,125,50,,LB,KSU-03-125x50.step +KSU03125-50TC,03,125,50,,TC,KSU-03-125x50.step +KSU03125-50TC-M,03,125,50,,TC-M,KSU-03-125x50.step +KSU03125-50MFA,03,125,50,M,FA,KSU-03-125x50.step +KSU03125-50MFB,03,125,50,M,FB,KSU-03-125x50.step +KSU03125-50MLB,03,125,50,M,LB,KSU-03-125x50.step +KSU03125-50MTC,03,125,50,M,TC,KSU-03-125x50.step +KSU03125-50MTC-M,03,125,50,M,TC-M,KSU-03-125x50.step +KSU03125-75FA,03,125,75,,FA,KSU-03-125x75.step +KSU03125-75FB,03,125,75,,FB,KSU-03-125x75.step +KSU03125-75LB,03,125,75,,LB,KSU-03-125x75.step +KSU03125-75TC,03,125,75,,TC,KSU-03-125x75.step +KSU03125-75TC-M,03,125,75,,TC-M,KSU-03-125x75.step +KSU03125-75MFA,03,125,75,M,FA,KSU-03-125x75.step +KSU03125-75MFB,03,125,75,M,FB,KSU-03-125x75.step +KSU03125-75MLB,03,125,75,M,LB,KSU-03-125x75.step +KSU03125-75MTC,03,125,75,M,TC,KSU-03-125x75.step +KSU03125-75MTC-M,03,125,75,M,TC-M,KSU-03-125x75.step +KSU03125-100FA,03,125,100,,FA,KSU-03-125x100.step +KSU03125-100FB,03,125,100,,FB,KSU-03-125x100.step +KSU03125-100LB,03,125,100,,LB,KSU-03-125x100.step +KSU03125-100TC,03,125,100,,TC,KSU-03-125x100.step +KSU03125-100TC-M,03,125,100,,TC-M,KSU-03-125x100.step +KSU03125-100MFA,03,125,100,M,FA,KSU-03-125x100.step +KSU03125-100MFB,03,125,100,M,FB,KSU-03-125x100.step +KSU03125-100MLB,03,125,100,M,LB,KSU-03-125x100.step +KSU03125-100MTC,03,125,100,M,TC,KSU-03-125x100.step +KSU03125-100MTC-M,03,125,100,M,TC-M,KSU-03-125x100.step diff --git a/onebot-data/catalog/csv/LAE.csv b/onebot-data/catalog/csv/LAE.csv new file mode 100644 index 0000000..657e870 --- /dev/null +++ b/onebot-data/catalog/csv/LAE.csv @@ -0,0 +1,4 @@ +model_code,size,step_file +LAE140,140,LAE140.stp +LAE225,225,LAE225.stp +LAE350,350,LAE350.stp diff --git a/onebot-data/catalog/csv/M.csv b/onebot-data/catalog/csv/M.csv new file mode 100644 index 0000000..be81bea --- /dev/null +++ b/onebot-data/catalog/csv/M.csv @@ -0,0 +1,14401 @@ +model_code,action,bore,stroke,magnet,rod,mount,cap,step_file +N8-10E,N,8,10,,E,,,M-N-8x10.step +N8-10EU,N,8,10,,E,,U,M-N-8x10.step +N8-10ECM,N,8,10,,E,,CM,M-N-8x10.step +N8-10ELB,N,8,10,,E,LB,,M-N-8x10.step +N8-10ELBU,N,8,10,,E,LB,U,M-N-8x10.step +N8-10ELBCM,N,8,10,,E,LB,CM,M-N-8x10.step +N8-10EFA,N,8,10,,E,FA,,M-N-8x10.step +N8-10EFAU,N,8,10,,E,FA,U,M-N-8x10.step +N8-10EFACM,N,8,10,,E,FA,CM,M-N-8x10.step +N8-10EFB,N,8,10,,E,FB,,M-N-8x10.step +N8-10EFBU,N,8,10,,E,FB,U,M-N-8x10.step +N8-10EFBCM,N,8,10,,E,FB,CM,M-N-8x10.step +N8-10ESDB,N,8,10,,E,SDB,,M-N-8x10.step +N8-10ESDBU,N,8,10,,E,SDB,U,M-N-8x10.step +N8-10ESDBCM,N,8,10,,E,SDB,CM,M-N-8x10.step +N8-10,N,8,10,,,,,M-N-8x10.step +N8-10U,N,8,10,,,,U,M-N-8x10.step +N8-10CM,N,8,10,,,,CM,M-N-8x10.step +N8-10LB,N,8,10,,,LB,,M-N-8x10.step +N8-10LBU,N,8,10,,,LB,U,M-N-8x10.step +N8-10LBCM,N,8,10,,,LB,CM,M-N-8x10.step +N8-10FA,N,8,10,,,FA,,M-N-8x10.step +N8-10FAU,N,8,10,,,FA,U,M-N-8x10.step +N8-10FACM,N,8,10,,,FA,CM,M-N-8x10.step +N8-10FB,N,8,10,,,FB,,M-N-8x10.step +N8-10FBU,N,8,10,,,FB,U,M-N-8x10.step +N8-10FBCM,N,8,10,,,FB,CM,M-N-8x10.step +N8-10SDB,N,8,10,,,SDB,,M-N-8x10.step +N8-10SDBU,N,8,10,,,SDB,U,M-N-8x10.step +N8-10SDBCM,N,8,10,,,SDB,CM,M-N-8x10.step +N8-10ME,N,8,10,M,E,,,M-N-8x10.step +N8-10MEU,N,8,10,M,E,,U,M-N-8x10.step +N8-10MECM,N,8,10,M,E,,CM,M-N-8x10.step +N8-10MELB,N,8,10,M,E,LB,,M-N-8x10.step +N8-10MELBU,N,8,10,M,E,LB,U,M-N-8x10.step +N8-10MELBCM,N,8,10,M,E,LB,CM,M-N-8x10.step +N8-10MEFA,N,8,10,M,E,FA,,M-N-8x10.step +N8-10MEFAU,N,8,10,M,E,FA,U,M-N-8x10.step +N8-10MEFACM,N,8,10,M,E,FA,CM,M-N-8x10.step +N8-10MEFB,N,8,10,M,E,FB,,M-N-8x10.step +N8-10MEFBU,N,8,10,M,E,FB,U,M-N-8x10.step +N8-10MEFBCM,N,8,10,M,E,FB,CM,M-N-8x10.step +N8-10MESDB,N,8,10,M,E,SDB,,M-N-8x10.step +N8-10MESDBU,N,8,10,M,E,SDB,U,M-N-8x10.step +N8-10MESDBCM,N,8,10,M,E,SDB,CM,M-N-8x10.step +N8-10M,N,8,10,M,,,,M-N-8x10.step +N8-10MU,N,8,10,M,,,U,M-N-8x10.step +N8-10MCM,N,8,10,M,,,CM,M-N-8x10.step +N8-10MLB,N,8,10,M,,LB,,M-N-8x10.step +N8-10MLBU,N,8,10,M,,LB,U,M-N-8x10.step +N8-10MLBCM,N,8,10,M,,LB,CM,M-N-8x10.step +N8-10MFA,N,8,10,M,,FA,,M-N-8x10.step +N8-10MFAU,N,8,10,M,,FA,U,M-N-8x10.step +N8-10MFACM,N,8,10,M,,FA,CM,M-N-8x10.step +N8-10MFB,N,8,10,M,,FB,,M-N-8x10.step +N8-10MFBU,N,8,10,M,,FB,U,M-N-8x10.step +N8-10MFBCM,N,8,10,M,,FB,CM,M-N-8x10.step +N8-10MSDB,N,8,10,M,,SDB,,M-N-8x10.step +N8-10MSDBU,N,8,10,M,,SDB,U,M-N-8x10.step +N8-10MSDBCM,N,8,10,M,,SDB,CM,M-N-8x10.step +N8-20E,N,8,20,,E,,,M-N-8x20.step +N8-20EU,N,8,20,,E,,U,M-N-8x20.step +N8-20ECM,N,8,20,,E,,CM,M-N-8x20.step +N8-20ELB,N,8,20,,E,LB,,M-N-8x20.step +N8-20ELBU,N,8,20,,E,LB,U,M-N-8x20.step +N8-20ELBCM,N,8,20,,E,LB,CM,M-N-8x20.step +N8-20EFA,N,8,20,,E,FA,,M-N-8x20.step +N8-20EFAU,N,8,20,,E,FA,U,M-N-8x20.step +N8-20EFACM,N,8,20,,E,FA,CM,M-N-8x20.step +N8-20EFB,N,8,20,,E,FB,,M-N-8x20.step +N8-20EFBU,N,8,20,,E,FB,U,M-N-8x20.step +N8-20EFBCM,N,8,20,,E,FB,CM,M-N-8x20.step +N8-20ESDB,N,8,20,,E,SDB,,M-N-8x20.step +N8-20ESDBU,N,8,20,,E,SDB,U,M-N-8x20.step +N8-20ESDBCM,N,8,20,,E,SDB,CM,M-N-8x20.step +N8-20,N,8,20,,,,,M-N-8x20.step +N8-20U,N,8,20,,,,U,M-N-8x20.step +N8-20CM,N,8,20,,,,CM,M-N-8x20.step +N8-20LB,N,8,20,,,LB,,M-N-8x20.step +N8-20LBU,N,8,20,,,LB,U,M-N-8x20.step +N8-20LBCM,N,8,20,,,LB,CM,M-N-8x20.step +N8-20FA,N,8,20,,,FA,,M-N-8x20.step +N8-20FAU,N,8,20,,,FA,U,M-N-8x20.step +N8-20FACM,N,8,20,,,FA,CM,M-N-8x20.step +N8-20FB,N,8,20,,,FB,,M-N-8x20.step +N8-20FBU,N,8,20,,,FB,U,M-N-8x20.step +N8-20FBCM,N,8,20,,,FB,CM,M-N-8x20.step +N8-20SDB,N,8,20,,,SDB,,M-N-8x20.step +N8-20SDBU,N,8,20,,,SDB,U,M-N-8x20.step +N8-20SDBCM,N,8,20,,,SDB,CM,M-N-8x20.step +N8-20ME,N,8,20,M,E,,,M-N-8x20.step +N8-20MEU,N,8,20,M,E,,U,M-N-8x20.step +N8-20MECM,N,8,20,M,E,,CM,M-N-8x20.step +N8-20MELB,N,8,20,M,E,LB,,M-N-8x20.step +N8-20MELBU,N,8,20,M,E,LB,U,M-N-8x20.step +N8-20MELBCM,N,8,20,M,E,LB,CM,M-N-8x20.step +N8-20MEFA,N,8,20,M,E,FA,,M-N-8x20.step +N8-20MEFAU,N,8,20,M,E,FA,U,M-N-8x20.step +N8-20MEFACM,N,8,20,M,E,FA,CM,M-N-8x20.step +N8-20MEFB,N,8,20,M,E,FB,,M-N-8x20.step +N8-20MEFBU,N,8,20,M,E,FB,U,M-N-8x20.step +N8-20MEFBCM,N,8,20,M,E,FB,CM,M-N-8x20.step +N8-20MESDB,N,8,20,M,E,SDB,,M-N-8x20.step +N8-20MESDBU,N,8,20,M,E,SDB,U,M-N-8x20.step +N8-20MESDBCM,N,8,20,M,E,SDB,CM,M-N-8x20.step +N8-20M,N,8,20,M,,,,M-N-8x20.step +N8-20MU,N,8,20,M,,,U,M-N-8x20.step +N8-20MCM,N,8,20,M,,,CM,M-N-8x20.step +N8-20MLB,N,8,20,M,,LB,,M-N-8x20.step +N8-20MLBU,N,8,20,M,,LB,U,M-N-8x20.step +N8-20MLBCM,N,8,20,M,,LB,CM,M-N-8x20.step +N8-20MFA,N,8,20,M,,FA,,M-N-8x20.step +N8-20MFAU,N,8,20,M,,FA,U,M-N-8x20.step +N8-20MFACM,N,8,20,M,,FA,CM,M-N-8x20.step +N8-20MFB,N,8,20,M,,FB,,M-N-8x20.step +N8-20MFBU,N,8,20,M,,FB,U,M-N-8x20.step +N8-20MFBCM,N,8,20,M,,FB,CM,M-N-8x20.step +N8-20MSDB,N,8,20,M,,SDB,,M-N-8x20.step +N8-20MSDBU,N,8,20,M,,SDB,U,M-N-8x20.step +N8-20MSDBCM,N,8,20,M,,SDB,CM,M-N-8x20.step +N8-30E,N,8,30,,E,,,M-N-8x30.step +N8-30EU,N,8,30,,E,,U,M-N-8x30.step +N8-30ECM,N,8,30,,E,,CM,M-N-8x30.step +N8-30ELB,N,8,30,,E,LB,,M-N-8x30.step +N8-30ELBU,N,8,30,,E,LB,U,M-N-8x30.step +N8-30ELBCM,N,8,30,,E,LB,CM,M-N-8x30.step +N8-30EFA,N,8,30,,E,FA,,M-N-8x30.step +N8-30EFAU,N,8,30,,E,FA,U,M-N-8x30.step +N8-30EFACM,N,8,30,,E,FA,CM,M-N-8x30.step +N8-30EFB,N,8,30,,E,FB,,M-N-8x30.step +N8-30EFBU,N,8,30,,E,FB,U,M-N-8x30.step +N8-30EFBCM,N,8,30,,E,FB,CM,M-N-8x30.step +N8-30ESDB,N,8,30,,E,SDB,,M-N-8x30.step +N8-30ESDBU,N,8,30,,E,SDB,U,M-N-8x30.step +N8-30ESDBCM,N,8,30,,E,SDB,CM,M-N-8x30.step +N8-30,N,8,30,,,,,M-N-8x30.step +N8-30U,N,8,30,,,,U,M-N-8x30.step +N8-30CM,N,8,30,,,,CM,M-N-8x30.step +N8-30LB,N,8,30,,,LB,,M-N-8x30.step +N8-30LBU,N,8,30,,,LB,U,M-N-8x30.step +N8-30LBCM,N,8,30,,,LB,CM,M-N-8x30.step +N8-30FA,N,8,30,,,FA,,M-N-8x30.step +N8-30FAU,N,8,30,,,FA,U,M-N-8x30.step +N8-30FACM,N,8,30,,,FA,CM,M-N-8x30.step +N8-30FB,N,8,30,,,FB,,M-N-8x30.step +N8-30FBU,N,8,30,,,FB,U,M-N-8x30.step +N8-30FBCM,N,8,30,,,FB,CM,M-N-8x30.step +N8-30SDB,N,8,30,,,SDB,,M-N-8x30.step +N8-30SDBU,N,8,30,,,SDB,U,M-N-8x30.step +N8-30SDBCM,N,8,30,,,SDB,CM,M-N-8x30.step +N8-30ME,N,8,30,M,E,,,M-N-8x30.step +N8-30MEU,N,8,30,M,E,,U,M-N-8x30.step +N8-30MECM,N,8,30,M,E,,CM,M-N-8x30.step +N8-30MELB,N,8,30,M,E,LB,,M-N-8x30.step +N8-30MELBU,N,8,30,M,E,LB,U,M-N-8x30.step +N8-30MELBCM,N,8,30,M,E,LB,CM,M-N-8x30.step +N8-30MEFA,N,8,30,M,E,FA,,M-N-8x30.step +N8-30MEFAU,N,8,30,M,E,FA,U,M-N-8x30.step +N8-30MEFACM,N,8,30,M,E,FA,CM,M-N-8x30.step +N8-30MEFB,N,8,30,M,E,FB,,M-N-8x30.step +N8-30MEFBU,N,8,30,M,E,FB,U,M-N-8x30.step +N8-30MEFBCM,N,8,30,M,E,FB,CM,M-N-8x30.step +N8-30MESDB,N,8,30,M,E,SDB,,M-N-8x30.step +N8-30MESDBU,N,8,30,M,E,SDB,U,M-N-8x30.step +N8-30MESDBCM,N,8,30,M,E,SDB,CM,M-N-8x30.step +N8-30M,N,8,30,M,,,,M-N-8x30.step +N8-30MU,N,8,30,M,,,U,M-N-8x30.step +N8-30MCM,N,8,30,M,,,CM,M-N-8x30.step +N8-30MLB,N,8,30,M,,LB,,M-N-8x30.step +N8-30MLBU,N,8,30,M,,LB,U,M-N-8x30.step +N8-30MLBCM,N,8,30,M,,LB,CM,M-N-8x30.step +N8-30MFA,N,8,30,M,,FA,,M-N-8x30.step +N8-30MFAU,N,8,30,M,,FA,U,M-N-8x30.step +N8-30MFACM,N,8,30,M,,FA,CM,M-N-8x30.step +N8-30MFB,N,8,30,M,,FB,,M-N-8x30.step +N8-30MFBU,N,8,30,M,,FB,U,M-N-8x30.step +N8-30MFBCM,N,8,30,M,,FB,CM,M-N-8x30.step +N8-30MSDB,N,8,30,M,,SDB,,M-N-8x30.step +N8-30MSDBU,N,8,30,M,,SDB,U,M-N-8x30.step +N8-30MSDBCM,N,8,30,M,,SDB,CM,M-N-8x30.step +N8-50E,N,8,50,,E,,,M-N-8x50.step +N8-50EU,N,8,50,,E,,U,M-N-8x50.step +N8-50ECM,N,8,50,,E,,CM,M-N-8x50.step +N8-50ELB,N,8,50,,E,LB,,M-N-8x50.step +N8-50ELBU,N,8,50,,E,LB,U,M-N-8x50.step +N8-50ELBCM,N,8,50,,E,LB,CM,M-N-8x50.step +N8-50EFA,N,8,50,,E,FA,,M-N-8x50.step +N8-50EFAU,N,8,50,,E,FA,U,M-N-8x50.step +N8-50EFACM,N,8,50,,E,FA,CM,M-N-8x50.step +N8-50EFB,N,8,50,,E,FB,,M-N-8x50.step +N8-50EFBU,N,8,50,,E,FB,U,M-N-8x50.step +N8-50EFBCM,N,8,50,,E,FB,CM,M-N-8x50.step +N8-50ESDB,N,8,50,,E,SDB,,M-N-8x50.step +N8-50ESDBU,N,8,50,,E,SDB,U,M-N-8x50.step +N8-50ESDBCM,N,8,50,,E,SDB,CM,M-N-8x50.step +N8-50,N,8,50,,,,,M-N-8x50.step +N8-50U,N,8,50,,,,U,M-N-8x50.step +N8-50CM,N,8,50,,,,CM,M-N-8x50.step +N8-50LB,N,8,50,,,LB,,M-N-8x50.step +N8-50LBU,N,8,50,,,LB,U,M-N-8x50.step +N8-50LBCM,N,8,50,,,LB,CM,M-N-8x50.step +N8-50FA,N,8,50,,,FA,,M-N-8x50.step +N8-50FAU,N,8,50,,,FA,U,M-N-8x50.step +N8-50FACM,N,8,50,,,FA,CM,M-N-8x50.step +N8-50FB,N,8,50,,,FB,,M-N-8x50.step +N8-50FBU,N,8,50,,,FB,U,M-N-8x50.step +N8-50FBCM,N,8,50,,,FB,CM,M-N-8x50.step +N8-50SDB,N,8,50,,,SDB,,M-N-8x50.step +N8-50SDBU,N,8,50,,,SDB,U,M-N-8x50.step +N8-50SDBCM,N,8,50,,,SDB,CM,M-N-8x50.step +N8-50ME,N,8,50,M,E,,,M-N-8x50.step +N8-50MEU,N,8,50,M,E,,U,M-N-8x50.step +N8-50MECM,N,8,50,M,E,,CM,M-N-8x50.step +N8-50MELB,N,8,50,M,E,LB,,M-N-8x50.step +N8-50MELBU,N,8,50,M,E,LB,U,M-N-8x50.step +N8-50MELBCM,N,8,50,M,E,LB,CM,M-N-8x50.step +N8-50MEFA,N,8,50,M,E,FA,,M-N-8x50.step +N8-50MEFAU,N,8,50,M,E,FA,U,M-N-8x50.step +N8-50MEFACM,N,8,50,M,E,FA,CM,M-N-8x50.step +N8-50MEFB,N,8,50,M,E,FB,,M-N-8x50.step +N8-50MEFBU,N,8,50,M,E,FB,U,M-N-8x50.step +N8-50MEFBCM,N,8,50,M,E,FB,CM,M-N-8x50.step +N8-50MESDB,N,8,50,M,E,SDB,,M-N-8x50.step +N8-50MESDBU,N,8,50,M,E,SDB,U,M-N-8x50.step +N8-50MESDBCM,N,8,50,M,E,SDB,CM,M-N-8x50.step +N8-50M,N,8,50,M,,,,M-N-8x50.step +N8-50MU,N,8,50,M,,,U,M-N-8x50.step +N8-50MCM,N,8,50,M,,,CM,M-N-8x50.step +N8-50MLB,N,8,50,M,,LB,,M-N-8x50.step +N8-50MLBU,N,8,50,M,,LB,U,M-N-8x50.step +N8-50MLBCM,N,8,50,M,,LB,CM,M-N-8x50.step +N8-50MFA,N,8,50,M,,FA,,M-N-8x50.step +N8-50MFAU,N,8,50,M,,FA,U,M-N-8x50.step +N8-50MFACM,N,8,50,M,,FA,CM,M-N-8x50.step +N8-50MFB,N,8,50,M,,FB,,M-N-8x50.step +N8-50MFBU,N,8,50,M,,FB,U,M-N-8x50.step +N8-50MFBCM,N,8,50,M,,FB,CM,M-N-8x50.step +N8-50MSDB,N,8,50,M,,SDB,,M-N-8x50.step +N8-50MSDBU,N,8,50,M,,SDB,U,M-N-8x50.step +N8-50MSDBCM,N,8,50,M,,SDB,CM,M-N-8x50.step +N8-75E,N,8,75,,E,,,M-N-8x75.step +N8-75EU,N,8,75,,E,,U,M-N-8x75.step +N8-75ECM,N,8,75,,E,,CM,M-N-8x75.step +N8-75ELB,N,8,75,,E,LB,,M-N-8x75.step +N8-75ELBU,N,8,75,,E,LB,U,M-N-8x75.step +N8-75ELBCM,N,8,75,,E,LB,CM,M-N-8x75.step +N8-75EFA,N,8,75,,E,FA,,M-N-8x75.step +N8-75EFAU,N,8,75,,E,FA,U,M-N-8x75.step +N8-75EFACM,N,8,75,,E,FA,CM,M-N-8x75.step +N8-75EFB,N,8,75,,E,FB,,M-N-8x75.step +N8-75EFBU,N,8,75,,E,FB,U,M-N-8x75.step +N8-75EFBCM,N,8,75,,E,FB,CM,M-N-8x75.step +N8-75ESDB,N,8,75,,E,SDB,,M-N-8x75.step +N8-75ESDBU,N,8,75,,E,SDB,U,M-N-8x75.step +N8-75ESDBCM,N,8,75,,E,SDB,CM,M-N-8x75.step +N8-75,N,8,75,,,,,M-N-8x75.step +N8-75U,N,8,75,,,,U,M-N-8x75.step +N8-75CM,N,8,75,,,,CM,M-N-8x75.step +N8-75LB,N,8,75,,,LB,,M-N-8x75.step +N8-75LBU,N,8,75,,,LB,U,M-N-8x75.step +N8-75LBCM,N,8,75,,,LB,CM,M-N-8x75.step +N8-75FA,N,8,75,,,FA,,M-N-8x75.step +N8-75FAU,N,8,75,,,FA,U,M-N-8x75.step +N8-75FACM,N,8,75,,,FA,CM,M-N-8x75.step +N8-75FB,N,8,75,,,FB,,M-N-8x75.step +N8-75FBU,N,8,75,,,FB,U,M-N-8x75.step +N8-75FBCM,N,8,75,,,FB,CM,M-N-8x75.step +N8-75SDB,N,8,75,,,SDB,,M-N-8x75.step +N8-75SDBU,N,8,75,,,SDB,U,M-N-8x75.step +N8-75SDBCM,N,8,75,,,SDB,CM,M-N-8x75.step +N8-75ME,N,8,75,M,E,,,M-N-8x75.step +N8-75MEU,N,8,75,M,E,,U,M-N-8x75.step +N8-75MECM,N,8,75,M,E,,CM,M-N-8x75.step +N8-75MELB,N,8,75,M,E,LB,,M-N-8x75.step +N8-75MELBU,N,8,75,M,E,LB,U,M-N-8x75.step +N8-75MELBCM,N,8,75,M,E,LB,CM,M-N-8x75.step +N8-75MEFA,N,8,75,M,E,FA,,M-N-8x75.step +N8-75MEFAU,N,8,75,M,E,FA,U,M-N-8x75.step +N8-75MEFACM,N,8,75,M,E,FA,CM,M-N-8x75.step +N8-75MEFB,N,8,75,M,E,FB,,M-N-8x75.step +N8-75MEFBU,N,8,75,M,E,FB,U,M-N-8x75.step +N8-75MEFBCM,N,8,75,M,E,FB,CM,M-N-8x75.step +N8-75MESDB,N,8,75,M,E,SDB,,M-N-8x75.step +N8-75MESDBU,N,8,75,M,E,SDB,U,M-N-8x75.step +N8-75MESDBCM,N,8,75,M,E,SDB,CM,M-N-8x75.step +N8-75M,N,8,75,M,,,,M-N-8x75.step +N8-75MU,N,8,75,M,,,U,M-N-8x75.step +N8-75MCM,N,8,75,M,,,CM,M-N-8x75.step +N8-75MLB,N,8,75,M,,LB,,M-N-8x75.step +N8-75MLBU,N,8,75,M,,LB,U,M-N-8x75.step +N8-75MLBCM,N,8,75,M,,LB,CM,M-N-8x75.step +N8-75MFA,N,8,75,M,,FA,,M-N-8x75.step +N8-75MFAU,N,8,75,M,,FA,U,M-N-8x75.step +N8-75MFACM,N,8,75,M,,FA,CM,M-N-8x75.step +N8-75MFB,N,8,75,M,,FB,,M-N-8x75.step +N8-75MFBU,N,8,75,M,,FB,U,M-N-8x75.step +N8-75MFBCM,N,8,75,M,,FB,CM,M-N-8x75.step +N8-75MSDB,N,8,75,M,,SDB,,M-N-8x75.step +N8-75MSDBU,N,8,75,M,,SDB,U,M-N-8x75.step +N8-75MSDBCM,N,8,75,M,,SDB,CM,M-N-8x75.step +N8-100E,N,8,100,,E,,,M-N-8x100.step +N8-100EU,N,8,100,,E,,U,M-N-8x100.step +N8-100ECM,N,8,100,,E,,CM,M-N-8x100.step +N8-100ELB,N,8,100,,E,LB,,M-N-8x100.step +N8-100ELBU,N,8,100,,E,LB,U,M-N-8x100.step +N8-100ELBCM,N,8,100,,E,LB,CM,M-N-8x100.step +N8-100EFA,N,8,100,,E,FA,,M-N-8x100.step +N8-100EFAU,N,8,100,,E,FA,U,M-N-8x100.step +N8-100EFACM,N,8,100,,E,FA,CM,M-N-8x100.step +N8-100EFB,N,8,100,,E,FB,,M-N-8x100.step +N8-100EFBU,N,8,100,,E,FB,U,M-N-8x100.step +N8-100EFBCM,N,8,100,,E,FB,CM,M-N-8x100.step +N8-100ESDB,N,8,100,,E,SDB,,M-N-8x100.step +N8-100ESDBU,N,8,100,,E,SDB,U,M-N-8x100.step +N8-100ESDBCM,N,8,100,,E,SDB,CM,M-N-8x100.step +N8-100,N,8,100,,,,,M-N-8x100.step +N8-100U,N,8,100,,,,U,M-N-8x100.step +N8-100CM,N,8,100,,,,CM,M-N-8x100.step +N8-100LB,N,8,100,,,LB,,M-N-8x100.step +N8-100LBU,N,8,100,,,LB,U,M-N-8x100.step +N8-100LBCM,N,8,100,,,LB,CM,M-N-8x100.step +N8-100FA,N,8,100,,,FA,,M-N-8x100.step +N8-100FAU,N,8,100,,,FA,U,M-N-8x100.step +N8-100FACM,N,8,100,,,FA,CM,M-N-8x100.step +N8-100FB,N,8,100,,,FB,,M-N-8x100.step +N8-100FBU,N,8,100,,,FB,U,M-N-8x100.step +N8-100FBCM,N,8,100,,,FB,CM,M-N-8x100.step +N8-100SDB,N,8,100,,,SDB,,M-N-8x100.step +N8-100SDBU,N,8,100,,,SDB,U,M-N-8x100.step +N8-100SDBCM,N,8,100,,,SDB,CM,M-N-8x100.step +N8-100ME,N,8,100,M,E,,,M-N-8x100.step +N8-100MEU,N,8,100,M,E,,U,M-N-8x100.step +N8-100MECM,N,8,100,M,E,,CM,M-N-8x100.step +N8-100MELB,N,8,100,M,E,LB,,M-N-8x100.step +N8-100MELBU,N,8,100,M,E,LB,U,M-N-8x100.step +N8-100MELBCM,N,8,100,M,E,LB,CM,M-N-8x100.step +N8-100MEFA,N,8,100,M,E,FA,,M-N-8x100.step +N8-100MEFAU,N,8,100,M,E,FA,U,M-N-8x100.step +N8-100MEFACM,N,8,100,M,E,FA,CM,M-N-8x100.step +N8-100MEFB,N,8,100,M,E,FB,,M-N-8x100.step +N8-100MEFBU,N,8,100,M,E,FB,U,M-N-8x100.step +N8-100MEFBCM,N,8,100,M,E,FB,CM,M-N-8x100.step +N8-100MESDB,N,8,100,M,E,SDB,,M-N-8x100.step +N8-100MESDBU,N,8,100,M,E,SDB,U,M-N-8x100.step +N8-100MESDBCM,N,8,100,M,E,SDB,CM,M-N-8x100.step +N8-100M,N,8,100,M,,,,M-N-8x100.step +N8-100MU,N,8,100,M,,,U,M-N-8x100.step +N8-100MCM,N,8,100,M,,,CM,M-N-8x100.step +N8-100MLB,N,8,100,M,,LB,,M-N-8x100.step +N8-100MLBU,N,8,100,M,,LB,U,M-N-8x100.step +N8-100MLBCM,N,8,100,M,,LB,CM,M-N-8x100.step +N8-100MFA,N,8,100,M,,FA,,M-N-8x100.step +N8-100MFAU,N,8,100,M,,FA,U,M-N-8x100.step +N8-100MFACM,N,8,100,M,,FA,CM,M-N-8x100.step +N8-100MFB,N,8,100,M,,FB,,M-N-8x100.step +N8-100MFBU,N,8,100,M,,FB,U,M-N-8x100.step +N8-100MFBCM,N,8,100,M,,FB,CM,M-N-8x100.step +N8-100MSDB,N,8,100,M,,SDB,,M-N-8x100.step +N8-100MSDBU,N,8,100,M,,SDB,U,M-N-8x100.step +N8-100MSDBCM,N,8,100,M,,SDB,CM,M-N-8x100.step +N10-10E,N,10,10,,E,,,M-N-10x10.step +N10-10EU,N,10,10,,E,,U,M-N-10x10.step +N10-10ECM,N,10,10,,E,,CM,M-N-10x10.step +N10-10ELB,N,10,10,,E,LB,,M-N-10x10.step +N10-10ELBU,N,10,10,,E,LB,U,M-N-10x10.step +N10-10ELBCM,N,10,10,,E,LB,CM,M-N-10x10.step +N10-10EFA,N,10,10,,E,FA,,M-N-10x10.step +N10-10EFAU,N,10,10,,E,FA,U,M-N-10x10.step +N10-10EFACM,N,10,10,,E,FA,CM,M-N-10x10.step +N10-10EFB,N,10,10,,E,FB,,M-N-10x10.step +N10-10EFBU,N,10,10,,E,FB,U,M-N-10x10.step +N10-10EFBCM,N,10,10,,E,FB,CM,M-N-10x10.step +N10-10ESDB,N,10,10,,E,SDB,,M-N-10x10.step +N10-10ESDBU,N,10,10,,E,SDB,U,M-N-10x10.step +N10-10ESDBCM,N,10,10,,E,SDB,CM,M-N-10x10.step +N10-10,N,10,10,,,,,M-N-10x10.step +N10-10U,N,10,10,,,,U,M-N-10x10.step +N10-10CM,N,10,10,,,,CM,M-N-10x10.step +N10-10LB,N,10,10,,,LB,,M-N-10x10.step +N10-10LBU,N,10,10,,,LB,U,M-N-10x10.step +N10-10LBCM,N,10,10,,,LB,CM,M-N-10x10.step +N10-10FA,N,10,10,,,FA,,M-N-10x10.step +N10-10FAU,N,10,10,,,FA,U,M-N-10x10.step +N10-10FACM,N,10,10,,,FA,CM,M-N-10x10.step +N10-10FB,N,10,10,,,FB,,M-N-10x10.step +N10-10FBU,N,10,10,,,FB,U,M-N-10x10.step +N10-10FBCM,N,10,10,,,FB,CM,M-N-10x10.step +N10-10SDB,N,10,10,,,SDB,,M-N-10x10.step +N10-10SDBU,N,10,10,,,SDB,U,M-N-10x10.step +N10-10SDBCM,N,10,10,,,SDB,CM,M-N-10x10.step +N10-10ME,N,10,10,M,E,,,M-N-10x10.step +N10-10MEU,N,10,10,M,E,,U,M-N-10x10.step +N10-10MECM,N,10,10,M,E,,CM,M-N-10x10.step +N10-10MELB,N,10,10,M,E,LB,,M-N-10x10.step +N10-10MELBU,N,10,10,M,E,LB,U,M-N-10x10.step +N10-10MELBCM,N,10,10,M,E,LB,CM,M-N-10x10.step +N10-10MEFA,N,10,10,M,E,FA,,M-N-10x10.step +N10-10MEFAU,N,10,10,M,E,FA,U,M-N-10x10.step +N10-10MEFACM,N,10,10,M,E,FA,CM,M-N-10x10.step +N10-10MEFB,N,10,10,M,E,FB,,M-N-10x10.step +N10-10MEFBU,N,10,10,M,E,FB,U,M-N-10x10.step +N10-10MEFBCM,N,10,10,M,E,FB,CM,M-N-10x10.step +N10-10MESDB,N,10,10,M,E,SDB,,M-N-10x10.step +N10-10MESDBU,N,10,10,M,E,SDB,U,M-N-10x10.step +N10-10MESDBCM,N,10,10,M,E,SDB,CM,M-N-10x10.step +N10-10M,N,10,10,M,,,,M-N-10x10.step +N10-10MU,N,10,10,M,,,U,M-N-10x10.step +N10-10MCM,N,10,10,M,,,CM,M-N-10x10.step +N10-10MLB,N,10,10,M,,LB,,M-N-10x10.step +N10-10MLBU,N,10,10,M,,LB,U,M-N-10x10.step +N10-10MLBCM,N,10,10,M,,LB,CM,M-N-10x10.step +N10-10MFA,N,10,10,M,,FA,,M-N-10x10.step +N10-10MFAU,N,10,10,M,,FA,U,M-N-10x10.step +N10-10MFACM,N,10,10,M,,FA,CM,M-N-10x10.step +N10-10MFB,N,10,10,M,,FB,,M-N-10x10.step +N10-10MFBU,N,10,10,M,,FB,U,M-N-10x10.step +N10-10MFBCM,N,10,10,M,,FB,CM,M-N-10x10.step +N10-10MSDB,N,10,10,M,,SDB,,M-N-10x10.step +N10-10MSDBU,N,10,10,M,,SDB,U,M-N-10x10.step +N10-10MSDBCM,N,10,10,M,,SDB,CM,M-N-10x10.step +N10-20E,N,10,20,,E,,,M-N-10x20.step +N10-20EU,N,10,20,,E,,U,M-N-10x20.step +N10-20ECM,N,10,20,,E,,CM,M-N-10x20.step +N10-20ELB,N,10,20,,E,LB,,M-N-10x20.step +N10-20ELBU,N,10,20,,E,LB,U,M-N-10x20.step +N10-20ELBCM,N,10,20,,E,LB,CM,M-N-10x20.step +N10-20EFA,N,10,20,,E,FA,,M-N-10x20.step +N10-20EFAU,N,10,20,,E,FA,U,M-N-10x20.step +N10-20EFACM,N,10,20,,E,FA,CM,M-N-10x20.step +N10-20EFB,N,10,20,,E,FB,,M-N-10x20.step +N10-20EFBU,N,10,20,,E,FB,U,M-N-10x20.step +N10-20EFBCM,N,10,20,,E,FB,CM,M-N-10x20.step +N10-20ESDB,N,10,20,,E,SDB,,M-N-10x20.step +N10-20ESDBU,N,10,20,,E,SDB,U,M-N-10x20.step +N10-20ESDBCM,N,10,20,,E,SDB,CM,M-N-10x20.step +N10-20,N,10,20,,,,,M-N-10x20.step +N10-20U,N,10,20,,,,U,M-N-10x20.step +N10-20CM,N,10,20,,,,CM,M-N-10x20.step +N10-20LB,N,10,20,,,LB,,M-N-10x20.step +N10-20LBU,N,10,20,,,LB,U,M-N-10x20.step +N10-20LBCM,N,10,20,,,LB,CM,M-N-10x20.step +N10-20FA,N,10,20,,,FA,,M-N-10x20.step +N10-20FAU,N,10,20,,,FA,U,M-N-10x20.step +N10-20FACM,N,10,20,,,FA,CM,M-N-10x20.step +N10-20FB,N,10,20,,,FB,,M-N-10x20.step +N10-20FBU,N,10,20,,,FB,U,M-N-10x20.step +N10-20FBCM,N,10,20,,,FB,CM,M-N-10x20.step +N10-20SDB,N,10,20,,,SDB,,M-N-10x20.step +N10-20SDBU,N,10,20,,,SDB,U,M-N-10x20.step +N10-20SDBCM,N,10,20,,,SDB,CM,M-N-10x20.step +N10-20ME,N,10,20,M,E,,,M-N-10x20.step +N10-20MEU,N,10,20,M,E,,U,M-N-10x20.step +N10-20MECM,N,10,20,M,E,,CM,M-N-10x20.step +N10-20MELB,N,10,20,M,E,LB,,M-N-10x20.step +N10-20MELBU,N,10,20,M,E,LB,U,M-N-10x20.step +N10-20MELBCM,N,10,20,M,E,LB,CM,M-N-10x20.step +N10-20MEFA,N,10,20,M,E,FA,,M-N-10x20.step +N10-20MEFAU,N,10,20,M,E,FA,U,M-N-10x20.step +N10-20MEFACM,N,10,20,M,E,FA,CM,M-N-10x20.step +N10-20MEFB,N,10,20,M,E,FB,,M-N-10x20.step +N10-20MEFBU,N,10,20,M,E,FB,U,M-N-10x20.step +N10-20MEFBCM,N,10,20,M,E,FB,CM,M-N-10x20.step +N10-20MESDB,N,10,20,M,E,SDB,,M-N-10x20.step +N10-20MESDBU,N,10,20,M,E,SDB,U,M-N-10x20.step +N10-20MESDBCM,N,10,20,M,E,SDB,CM,M-N-10x20.step +N10-20M,N,10,20,M,,,,M-N-10x20.step +N10-20MU,N,10,20,M,,,U,M-N-10x20.step +N10-20MCM,N,10,20,M,,,CM,M-N-10x20.step +N10-20MLB,N,10,20,M,,LB,,M-N-10x20.step +N10-20MLBU,N,10,20,M,,LB,U,M-N-10x20.step +N10-20MLBCM,N,10,20,M,,LB,CM,M-N-10x20.step +N10-20MFA,N,10,20,M,,FA,,M-N-10x20.step +N10-20MFAU,N,10,20,M,,FA,U,M-N-10x20.step +N10-20MFACM,N,10,20,M,,FA,CM,M-N-10x20.step +N10-20MFB,N,10,20,M,,FB,,M-N-10x20.step +N10-20MFBU,N,10,20,M,,FB,U,M-N-10x20.step +N10-20MFBCM,N,10,20,M,,FB,CM,M-N-10x20.step +N10-20MSDB,N,10,20,M,,SDB,,M-N-10x20.step +N10-20MSDBU,N,10,20,M,,SDB,U,M-N-10x20.step +N10-20MSDBCM,N,10,20,M,,SDB,CM,M-N-10x20.step +N10-30E,N,10,30,,E,,,M-N-10x30.step +N10-30EU,N,10,30,,E,,U,M-N-10x30.step +N10-30ECM,N,10,30,,E,,CM,M-N-10x30.step +N10-30ELB,N,10,30,,E,LB,,M-N-10x30.step +N10-30ELBU,N,10,30,,E,LB,U,M-N-10x30.step +N10-30ELBCM,N,10,30,,E,LB,CM,M-N-10x30.step +N10-30EFA,N,10,30,,E,FA,,M-N-10x30.step +N10-30EFAU,N,10,30,,E,FA,U,M-N-10x30.step +N10-30EFACM,N,10,30,,E,FA,CM,M-N-10x30.step +N10-30EFB,N,10,30,,E,FB,,M-N-10x30.step +N10-30EFBU,N,10,30,,E,FB,U,M-N-10x30.step +N10-30EFBCM,N,10,30,,E,FB,CM,M-N-10x30.step +N10-30ESDB,N,10,30,,E,SDB,,M-N-10x30.step +N10-30ESDBU,N,10,30,,E,SDB,U,M-N-10x30.step +N10-30ESDBCM,N,10,30,,E,SDB,CM,M-N-10x30.step +N10-30,N,10,30,,,,,M-N-10x30.step +N10-30U,N,10,30,,,,U,M-N-10x30.step +N10-30CM,N,10,30,,,,CM,M-N-10x30.step +N10-30LB,N,10,30,,,LB,,M-N-10x30.step +N10-30LBU,N,10,30,,,LB,U,M-N-10x30.step +N10-30LBCM,N,10,30,,,LB,CM,M-N-10x30.step +N10-30FA,N,10,30,,,FA,,M-N-10x30.step +N10-30FAU,N,10,30,,,FA,U,M-N-10x30.step +N10-30FACM,N,10,30,,,FA,CM,M-N-10x30.step +N10-30FB,N,10,30,,,FB,,M-N-10x30.step +N10-30FBU,N,10,30,,,FB,U,M-N-10x30.step +N10-30FBCM,N,10,30,,,FB,CM,M-N-10x30.step +N10-30SDB,N,10,30,,,SDB,,M-N-10x30.step +N10-30SDBU,N,10,30,,,SDB,U,M-N-10x30.step +N10-30SDBCM,N,10,30,,,SDB,CM,M-N-10x30.step +N10-30ME,N,10,30,M,E,,,M-N-10x30.step +N10-30MEU,N,10,30,M,E,,U,M-N-10x30.step +N10-30MECM,N,10,30,M,E,,CM,M-N-10x30.step +N10-30MELB,N,10,30,M,E,LB,,M-N-10x30.step +N10-30MELBU,N,10,30,M,E,LB,U,M-N-10x30.step +N10-30MELBCM,N,10,30,M,E,LB,CM,M-N-10x30.step +N10-30MEFA,N,10,30,M,E,FA,,M-N-10x30.step +N10-30MEFAU,N,10,30,M,E,FA,U,M-N-10x30.step +N10-30MEFACM,N,10,30,M,E,FA,CM,M-N-10x30.step +N10-30MEFB,N,10,30,M,E,FB,,M-N-10x30.step +N10-30MEFBU,N,10,30,M,E,FB,U,M-N-10x30.step +N10-30MEFBCM,N,10,30,M,E,FB,CM,M-N-10x30.step +N10-30MESDB,N,10,30,M,E,SDB,,M-N-10x30.step +N10-30MESDBU,N,10,30,M,E,SDB,U,M-N-10x30.step +N10-30MESDBCM,N,10,30,M,E,SDB,CM,M-N-10x30.step +N10-30M,N,10,30,M,,,,M-N-10x30.step +N10-30MU,N,10,30,M,,,U,M-N-10x30.step +N10-30MCM,N,10,30,M,,,CM,M-N-10x30.step +N10-30MLB,N,10,30,M,,LB,,M-N-10x30.step +N10-30MLBU,N,10,30,M,,LB,U,M-N-10x30.step +N10-30MLBCM,N,10,30,M,,LB,CM,M-N-10x30.step +N10-30MFA,N,10,30,M,,FA,,M-N-10x30.step +N10-30MFAU,N,10,30,M,,FA,U,M-N-10x30.step +N10-30MFACM,N,10,30,M,,FA,CM,M-N-10x30.step +N10-30MFB,N,10,30,M,,FB,,M-N-10x30.step +N10-30MFBU,N,10,30,M,,FB,U,M-N-10x30.step +N10-30MFBCM,N,10,30,M,,FB,CM,M-N-10x30.step +N10-30MSDB,N,10,30,M,,SDB,,M-N-10x30.step +N10-30MSDBU,N,10,30,M,,SDB,U,M-N-10x30.step +N10-30MSDBCM,N,10,30,M,,SDB,CM,M-N-10x30.step +N10-50E,N,10,50,,E,,,M-N-10x50.step +N10-50EU,N,10,50,,E,,U,M-N-10x50.step +N10-50ECM,N,10,50,,E,,CM,M-N-10x50.step +N10-50ELB,N,10,50,,E,LB,,M-N-10x50.step +N10-50ELBU,N,10,50,,E,LB,U,M-N-10x50.step +N10-50ELBCM,N,10,50,,E,LB,CM,M-N-10x50.step +N10-50EFA,N,10,50,,E,FA,,M-N-10x50.step +N10-50EFAU,N,10,50,,E,FA,U,M-N-10x50.step +N10-50EFACM,N,10,50,,E,FA,CM,M-N-10x50.step +N10-50EFB,N,10,50,,E,FB,,M-N-10x50.step +N10-50EFBU,N,10,50,,E,FB,U,M-N-10x50.step +N10-50EFBCM,N,10,50,,E,FB,CM,M-N-10x50.step +N10-50ESDB,N,10,50,,E,SDB,,M-N-10x50.step +N10-50ESDBU,N,10,50,,E,SDB,U,M-N-10x50.step +N10-50ESDBCM,N,10,50,,E,SDB,CM,M-N-10x50.step +N10-50,N,10,50,,,,,M-N-10x50.step +N10-50U,N,10,50,,,,U,M-N-10x50.step +N10-50CM,N,10,50,,,,CM,M-N-10x50.step +N10-50LB,N,10,50,,,LB,,M-N-10x50.step +N10-50LBU,N,10,50,,,LB,U,M-N-10x50.step +N10-50LBCM,N,10,50,,,LB,CM,M-N-10x50.step +N10-50FA,N,10,50,,,FA,,M-N-10x50.step +N10-50FAU,N,10,50,,,FA,U,M-N-10x50.step +N10-50FACM,N,10,50,,,FA,CM,M-N-10x50.step +N10-50FB,N,10,50,,,FB,,M-N-10x50.step +N10-50FBU,N,10,50,,,FB,U,M-N-10x50.step +N10-50FBCM,N,10,50,,,FB,CM,M-N-10x50.step +N10-50SDB,N,10,50,,,SDB,,M-N-10x50.step +N10-50SDBU,N,10,50,,,SDB,U,M-N-10x50.step +N10-50SDBCM,N,10,50,,,SDB,CM,M-N-10x50.step +N10-50ME,N,10,50,M,E,,,M-N-10x50.step +N10-50MEU,N,10,50,M,E,,U,M-N-10x50.step +N10-50MECM,N,10,50,M,E,,CM,M-N-10x50.step +N10-50MELB,N,10,50,M,E,LB,,M-N-10x50.step +N10-50MELBU,N,10,50,M,E,LB,U,M-N-10x50.step +N10-50MELBCM,N,10,50,M,E,LB,CM,M-N-10x50.step +N10-50MEFA,N,10,50,M,E,FA,,M-N-10x50.step +N10-50MEFAU,N,10,50,M,E,FA,U,M-N-10x50.step +N10-50MEFACM,N,10,50,M,E,FA,CM,M-N-10x50.step +N10-50MEFB,N,10,50,M,E,FB,,M-N-10x50.step +N10-50MEFBU,N,10,50,M,E,FB,U,M-N-10x50.step +N10-50MEFBCM,N,10,50,M,E,FB,CM,M-N-10x50.step +N10-50MESDB,N,10,50,M,E,SDB,,M-N-10x50.step +N10-50MESDBU,N,10,50,M,E,SDB,U,M-N-10x50.step +N10-50MESDBCM,N,10,50,M,E,SDB,CM,M-N-10x50.step +N10-50M,N,10,50,M,,,,M-N-10x50.step +N10-50MU,N,10,50,M,,,U,M-N-10x50.step +N10-50MCM,N,10,50,M,,,CM,M-N-10x50.step +N10-50MLB,N,10,50,M,,LB,,M-N-10x50.step +N10-50MLBU,N,10,50,M,,LB,U,M-N-10x50.step +N10-50MLBCM,N,10,50,M,,LB,CM,M-N-10x50.step +N10-50MFA,N,10,50,M,,FA,,M-N-10x50.step +N10-50MFAU,N,10,50,M,,FA,U,M-N-10x50.step +N10-50MFACM,N,10,50,M,,FA,CM,M-N-10x50.step +N10-50MFB,N,10,50,M,,FB,,M-N-10x50.step +N10-50MFBU,N,10,50,M,,FB,U,M-N-10x50.step +N10-50MFBCM,N,10,50,M,,FB,CM,M-N-10x50.step +N10-50MSDB,N,10,50,M,,SDB,,M-N-10x50.step +N10-50MSDBU,N,10,50,M,,SDB,U,M-N-10x50.step +N10-50MSDBCM,N,10,50,M,,SDB,CM,M-N-10x50.step +N10-75E,N,10,75,,E,,,M-N-10x75.step +N10-75EU,N,10,75,,E,,U,M-N-10x75.step +N10-75ECM,N,10,75,,E,,CM,M-N-10x75.step +N10-75ELB,N,10,75,,E,LB,,M-N-10x75.step +N10-75ELBU,N,10,75,,E,LB,U,M-N-10x75.step +N10-75ELBCM,N,10,75,,E,LB,CM,M-N-10x75.step +N10-75EFA,N,10,75,,E,FA,,M-N-10x75.step +N10-75EFAU,N,10,75,,E,FA,U,M-N-10x75.step +N10-75EFACM,N,10,75,,E,FA,CM,M-N-10x75.step +N10-75EFB,N,10,75,,E,FB,,M-N-10x75.step +N10-75EFBU,N,10,75,,E,FB,U,M-N-10x75.step +N10-75EFBCM,N,10,75,,E,FB,CM,M-N-10x75.step +N10-75ESDB,N,10,75,,E,SDB,,M-N-10x75.step +N10-75ESDBU,N,10,75,,E,SDB,U,M-N-10x75.step +N10-75ESDBCM,N,10,75,,E,SDB,CM,M-N-10x75.step +N10-75,N,10,75,,,,,M-N-10x75.step +N10-75U,N,10,75,,,,U,M-N-10x75.step +N10-75CM,N,10,75,,,,CM,M-N-10x75.step +N10-75LB,N,10,75,,,LB,,M-N-10x75.step +N10-75LBU,N,10,75,,,LB,U,M-N-10x75.step +N10-75LBCM,N,10,75,,,LB,CM,M-N-10x75.step +N10-75FA,N,10,75,,,FA,,M-N-10x75.step +N10-75FAU,N,10,75,,,FA,U,M-N-10x75.step +N10-75FACM,N,10,75,,,FA,CM,M-N-10x75.step +N10-75FB,N,10,75,,,FB,,M-N-10x75.step +N10-75FBU,N,10,75,,,FB,U,M-N-10x75.step +N10-75FBCM,N,10,75,,,FB,CM,M-N-10x75.step +N10-75SDB,N,10,75,,,SDB,,M-N-10x75.step +N10-75SDBU,N,10,75,,,SDB,U,M-N-10x75.step +N10-75SDBCM,N,10,75,,,SDB,CM,M-N-10x75.step +N10-75ME,N,10,75,M,E,,,M-N-10x75.step +N10-75MEU,N,10,75,M,E,,U,M-N-10x75.step +N10-75MECM,N,10,75,M,E,,CM,M-N-10x75.step +N10-75MELB,N,10,75,M,E,LB,,M-N-10x75.step +N10-75MELBU,N,10,75,M,E,LB,U,M-N-10x75.step +N10-75MELBCM,N,10,75,M,E,LB,CM,M-N-10x75.step +N10-75MEFA,N,10,75,M,E,FA,,M-N-10x75.step +N10-75MEFAU,N,10,75,M,E,FA,U,M-N-10x75.step +N10-75MEFACM,N,10,75,M,E,FA,CM,M-N-10x75.step +N10-75MEFB,N,10,75,M,E,FB,,M-N-10x75.step +N10-75MEFBU,N,10,75,M,E,FB,U,M-N-10x75.step +N10-75MEFBCM,N,10,75,M,E,FB,CM,M-N-10x75.step +N10-75MESDB,N,10,75,M,E,SDB,,M-N-10x75.step +N10-75MESDBU,N,10,75,M,E,SDB,U,M-N-10x75.step +N10-75MESDBCM,N,10,75,M,E,SDB,CM,M-N-10x75.step +N10-75M,N,10,75,M,,,,M-N-10x75.step +N10-75MU,N,10,75,M,,,U,M-N-10x75.step +N10-75MCM,N,10,75,M,,,CM,M-N-10x75.step +N10-75MLB,N,10,75,M,,LB,,M-N-10x75.step +N10-75MLBU,N,10,75,M,,LB,U,M-N-10x75.step +N10-75MLBCM,N,10,75,M,,LB,CM,M-N-10x75.step +N10-75MFA,N,10,75,M,,FA,,M-N-10x75.step +N10-75MFAU,N,10,75,M,,FA,U,M-N-10x75.step +N10-75MFACM,N,10,75,M,,FA,CM,M-N-10x75.step +N10-75MFB,N,10,75,M,,FB,,M-N-10x75.step +N10-75MFBU,N,10,75,M,,FB,U,M-N-10x75.step +N10-75MFBCM,N,10,75,M,,FB,CM,M-N-10x75.step +N10-75MSDB,N,10,75,M,,SDB,,M-N-10x75.step +N10-75MSDBU,N,10,75,M,,SDB,U,M-N-10x75.step +N10-75MSDBCM,N,10,75,M,,SDB,CM,M-N-10x75.step +N10-100E,N,10,100,,E,,,M-N-10x100.step +N10-100EU,N,10,100,,E,,U,M-N-10x100.step +N10-100ECM,N,10,100,,E,,CM,M-N-10x100.step +N10-100ELB,N,10,100,,E,LB,,M-N-10x100.step +N10-100ELBU,N,10,100,,E,LB,U,M-N-10x100.step +N10-100ELBCM,N,10,100,,E,LB,CM,M-N-10x100.step +N10-100EFA,N,10,100,,E,FA,,M-N-10x100.step +N10-100EFAU,N,10,100,,E,FA,U,M-N-10x100.step +N10-100EFACM,N,10,100,,E,FA,CM,M-N-10x100.step +N10-100EFB,N,10,100,,E,FB,,M-N-10x100.step +N10-100EFBU,N,10,100,,E,FB,U,M-N-10x100.step +N10-100EFBCM,N,10,100,,E,FB,CM,M-N-10x100.step +N10-100ESDB,N,10,100,,E,SDB,,M-N-10x100.step +N10-100ESDBU,N,10,100,,E,SDB,U,M-N-10x100.step +N10-100ESDBCM,N,10,100,,E,SDB,CM,M-N-10x100.step +N10-100,N,10,100,,,,,M-N-10x100.step +N10-100U,N,10,100,,,,U,M-N-10x100.step +N10-100CM,N,10,100,,,,CM,M-N-10x100.step +N10-100LB,N,10,100,,,LB,,M-N-10x100.step +N10-100LBU,N,10,100,,,LB,U,M-N-10x100.step +N10-100LBCM,N,10,100,,,LB,CM,M-N-10x100.step +N10-100FA,N,10,100,,,FA,,M-N-10x100.step +N10-100FAU,N,10,100,,,FA,U,M-N-10x100.step +N10-100FACM,N,10,100,,,FA,CM,M-N-10x100.step +N10-100FB,N,10,100,,,FB,,M-N-10x100.step +N10-100FBU,N,10,100,,,FB,U,M-N-10x100.step +N10-100FBCM,N,10,100,,,FB,CM,M-N-10x100.step +N10-100SDB,N,10,100,,,SDB,,M-N-10x100.step +N10-100SDBU,N,10,100,,,SDB,U,M-N-10x100.step +N10-100SDBCM,N,10,100,,,SDB,CM,M-N-10x100.step +N10-100ME,N,10,100,M,E,,,M-N-10x100.step +N10-100MEU,N,10,100,M,E,,U,M-N-10x100.step +N10-100MECM,N,10,100,M,E,,CM,M-N-10x100.step +N10-100MELB,N,10,100,M,E,LB,,M-N-10x100.step +N10-100MELBU,N,10,100,M,E,LB,U,M-N-10x100.step +N10-100MELBCM,N,10,100,M,E,LB,CM,M-N-10x100.step +N10-100MEFA,N,10,100,M,E,FA,,M-N-10x100.step +N10-100MEFAU,N,10,100,M,E,FA,U,M-N-10x100.step +N10-100MEFACM,N,10,100,M,E,FA,CM,M-N-10x100.step +N10-100MEFB,N,10,100,M,E,FB,,M-N-10x100.step +N10-100MEFBU,N,10,100,M,E,FB,U,M-N-10x100.step +N10-100MEFBCM,N,10,100,M,E,FB,CM,M-N-10x100.step +N10-100MESDB,N,10,100,M,E,SDB,,M-N-10x100.step +N10-100MESDBU,N,10,100,M,E,SDB,U,M-N-10x100.step +N10-100MESDBCM,N,10,100,M,E,SDB,CM,M-N-10x100.step +N10-100M,N,10,100,M,,,,M-N-10x100.step +N10-100MU,N,10,100,M,,,U,M-N-10x100.step +N10-100MCM,N,10,100,M,,,CM,M-N-10x100.step +N10-100MLB,N,10,100,M,,LB,,M-N-10x100.step +N10-100MLBU,N,10,100,M,,LB,U,M-N-10x100.step +N10-100MLBCM,N,10,100,M,,LB,CM,M-N-10x100.step +N10-100MFA,N,10,100,M,,FA,,M-N-10x100.step +N10-100MFAU,N,10,100,M,,FA,U,M-N-10x100.step +N10-100MFACM,N,10,100,M,,FA,CM,M-N-10x100.step +N10-100MFB,N,10,100,M,,FB,,M-N-10x100.step +N10-100MFBU,N,10,100,M,,FB,U,M-N-10x100.step +N10-100MFBCM,N,10,100,M,,FB,CM,M-N-10x100.step +N10-100MSDB,N,10,100,M,,SDB,,M-N-10x100.step +N10-100MSDBU,N,10,100,M,,SDB,U,M-N-10x100.step +N10-100MSDBCM,N,10,100,M,,SDB,CM,M-N-10x100.step +N12-10E,N,12,10,,E,,,M-N-12x10.step +N12-10EU,N,12,10,,E,,U,M-N-12x10.step +N12-10ECM,N,12,10,,E,,CM,M-N-12x10.step +N12-10ELB,N,12,10,,E,LB,,M-N-12x10.step +N12-10ELBU,N,12,10,,E,LB,U,M-N-12x10.step +N12-10ELBCM,N,12,10,,E,LB,CM,M-N-12x10.step +N12-10EFA,N,12,10,,E,FA,,M-N-12x10.step +N12-10EFAU,N,12,10,,E,FA,U,M-N-12x10.step +N12-10EFACM,N,12,10,,E,FA,CM,M-N-12x10.step +N12-10EFB,N,12,10,,E,FB,,M-N-12x10.step +N12-10EFBU,N,12,10,,E,FB,U,M-N-12x10.step +N12-10EFBCM,N,12,10,,E,FB,CM,M-N-12x10.step +N12-10ESDB,N,12,10,,E,SDB,,M-N-12x10.step +N12-10ESDBU,N,12,10,,E,SDB,U,M-N-12x10.step +N12-10ESDBCM,N,12,10,,E,SDB,CM,M-N-12x10.step +N12-10,N,12,10,,,,,M-N-12x10.step +N12-10U,N,12,10,,,,U,M-N-12x10.step +N12-10CM,N,12,10,,,,CM,M-N-12x10.step +N12-10LB,N,12,10,,,LB,,M-N-12x10.step +N12-10LBU,N,12,10,,,LB,U,M-N-12x10.step +N12-10LBCM,N,12,10,,,LB,CM,M-N-12x10.step +N12-10FA,N,12,10,,,FA,,M-N-12x10.step +N12-10FAU,N,12,10,,,FA,U,M-N-12x10.step +N12-10FACM,N,12,10,,,FA,CM,M-N-12x10.step +N12-10FB,N,12,10,,,FB,,M-N-12x10.step +N12-10FBU,N,12,10,,,FB,U,M-N-12x10.step +N12-10FBCM,N,12,10,,,FB,CM,M-N-12x10.step +N12-10SDB,N,12,10,,,SDB,,M-N-12x10.step +N12-10SDBU,N,12,10,,,SDB,U,M-N-12x10.step +N12-10SDBCM,N,12,10,,,SDB,CM,M-N-12x10.step +N12-10ME,N,12,10,M,E,,,M-N-12x10.step +N12-10MEU,N,12,10,M,E,,U,M-N-12x10.step +N12-10MECM,N,12,10,M,E,,CM,M-N-12x10.step +N12-10MELB,N,12,10,M,E,LB,,M-N-12x10.step +N12-10MELBU,N,12,10,M,E,LB,U,M-N-12x10.step +N12-10MELBCM,N,12,10,M,E,LB,CM,M-N-12x10.step +N12-10MEFA,N,12,10,M,E,FA,,M-N-12x10.step +N12-10MEFAU,N,12,10,M,E,FA,U,M-N-12x10.step +N12-10MEFACM,N,12,10,M,E,FA,CM,M-N-12x10.step +N12-10MEFB,N,12,10,M,E,FB,,M-N-12x10.step +N12-10MEFBU,N,12,10,M,E,FB,U,M-N-12x10.step +N12-10MEFBCM,N,12,10,M,E,FB,CM,M-N-12x10.step +N12-10MESDB,N,12,10,M,E,SDB,,M-N-12x10.step +N12-10MESDBU,N,12,10,M,E,SDB,U,M-N-12x10.step +N12-10MESDBCM,N,12,10,M,E,SDB,CM,M-N-12x10.step +N12-10M,N,12,10,M,,,,M-N-12x10.step +N12-10MU,N,12,10,M,,,U,M-N-12x10.step +N12-10MCM,N,12,10,M,,,CM,M-N-12x10.step +N12-10MLB,N,12,10,M,,LB,,M-N-12x10.step +N12-10MLBU,N,12,10,M,,LB,U,M-N-12x10.step +N12-10MLBCM,N,12,10,M,,LB,CM,M-N-12x10.step +N12-10MFA,N,12,10,M,,FA,,M-N-12x10.step +N12-10MFAU,N,12,10,M,,FA,U,M-N-12x10.step +N12-10MFACM,N,12,10,M,,FA,CM,M-N-12x10.step +N12-10MFB,N,12,10,M,,FB,,M-N-12x10.step +N12-10MFBU,N,12,10,M,,FB,U,M-N-12x10.step +N12-10MFBCM,N,12,10,M,,FB,CM,M-N-12x10.step +N12-10MSDB,N,12,10,M,,SDB,,M-N-12x10.step +N12-10MSDBU,N,12,10,M,,SDB,U,M-N-12x10.step +N12-10MSDBCM,N,12,10,M,,SDB,CM,M-N-12x10.step +N12-20E,N,12,20,,E,,,M-N-12x20.step +N12-20EU,N,12,20,,E,,U,M-N-12x20.step +N12-20ECM,N,12,20,,E,,CM,M-N-12x20.step +N12-20ELB,N,12,20,,E,LB,,M-N-12x20.step +N12-20ELBU,N,12,20,,E,LB,U,M-N-12x20.step +N12-20ELBCM,N,12,20,,E,LB,CM,M-N-12x20.step +N12-20EFA,N,12,20,,E,FA,,M-N-12x20.step +N12-20EFAU,N,12,20,,E,FA,U,M-N-12x20.step +N12-20EFACM,N,12,20,,E,FA,CM,M-N-12x20.step +N12-20EFB,N,12,20,,E,FB,,M-N-12x20.step +N12-20EFBU,N,12,20,,E,FB,U,M-N-12x20.step +N12-20EFBCM,N,12,20,,E,FB,CM,M-N-12x20.step +N12-20ESDB,N,12,20,,E,SDB,,M-N-12x20.step +N12-20ESDBU,N,12,20,,E,SDB,U,M-N-12x20.step +N12-20ESDBCM,N,12,20,,E,SDB,CM,M-N-12x20.step +N12-20,N,12,20,,,,,M-N-12x20.step +N12-20U,N,12,20,,,,U,M-N-12x20.step +N12-20CM,N,12,20,,,,CM,M-N-12x20.step +N12-20LB,N,12,20,,,LB,,M-N-12x20.step +N12-20LBU,N,12,20,,,LB,U,M-N-12x20.step +N12-20LBCM,N,12,20,,,LB,CM,M-N-12x20.step +N12-20FA,N,12,20,,,FA,,M-N-12x20.step +N12-20FAU,N,12,20,,,FA,U,M-N-12x20.step +N12-20FACM,N,12,20,,,FA,CM,M-N-12x20.step +N12-20FB,N,12,20,,,FB,,M-N-12x20.step +N12-20FBU,N,12,20,,,FB,U,M-N-12x20.step +N12-20FBCM,N,12,20,,,FB,CM,M-N-12x20.step +N12-20SDB,N,12,20,,,SDB,,M-N-12x20.step +N12-20SDBU,N,12,20,,,SDB,U,M-N-12x20.step +N12-20SDBCM,N,12,20,,,SDB,CM,M-N-12x20.step +N12-20ME,N,12,20,M,E,,,M-N-12x20.step +N12-20MEU,N,12,20,M,E,,U,M-N-12x20.step +N12-20MECM,N,12,20,M,E,,CM,M-N-12x20.step +N12-20MELB,N,12,20,M,E,LB,,M-N-12x20.step +N12-20MELBU,N,12,20,M,E,LB,U,M-N-12x20.step +N12-20MELBCM,N,12,20,M,E,LB,CM,M-N-12x20.step +N12-20MEFA,N,12,20,M,E,FA,,M-N-12x20.step +N12-20MEFAU,N,12,20,M,E,FA,U,M-N-12x20.step +N12-20MEFACM,N,12,20,M,E,FA,CM,M-N-12x20.step +N12-20MEFB,N,12,20,M,E,FB,,M-N-12x20.step +N12-20MEFBU,N,12,20,M,E,FB,U,M-N-12x20.step +N12-20MEFBCM,N,12,20,M,E,FB,CM,M-N-12x20.step +N12-20MESDB,N,12,20,M,E,SDB,,M-N-12x20.step +N12-20MESDBU,N,12,20,M,E,SDB,U,M-N-12x20.step +N12-20MESDBCM,N,12,20,M,E,SDB,CM,M-N-12x20.step +N12-20M,N,12,20,M,,,,M-N-12x20.step +N12-20MU,N,12,20,M,,,U,M-N-12x20.step +N12-20MCM,N,12,20,M,,,CM,M-N-12x20.step +N12-20MLB,N,12,20,M,,LB,,M-N-12x20.step +N12-20MLBU,N,12,20,M,,LB,U,M-N-12x20.step +N12-20MLBCM,N,12,20,M,,LB,CM,M-N-12x20.step +N12-20MFA,N,12,20,M,,FA,,M-N-12x20.step +N12-20MFAU,N,12,20,M,,FA,U,M-N-12x20.step +N12-20MFACM,N,12,20,M,,FA,CM,M-N-12x20.step +N12-20MFB,N,12,20,M,,FB,,M-N-12x20.step +N12-20MFBU,N,12,20,M,,FB,U,M-N-12x20.step +N12-20MFBCM,N,12,20,M,,FB,CM,M-N-12x20.step +N12-20MSDB,N,12,20,M,,SDB,,M-N-12x20.step +N12-20MSDBU,N,12,20,M,,SDB,U,M-N-12x20.step +N12-20MSDBCM,N,12,20,M,,SDB,CM,M-N-12x20.step +N12-30E,N,12,30,,E,,,M-N-12x30.step +N12-30EU,N,12,30,,E,,U,M-N-12x30.step +N12-30ECM,N,12,30,,E,,CM,M-N-12x30.step +N12-30ELB,N,12,30,,E,LB,,M-N-12x30.step +N12-30ELBU,N,12,30,,E,LB,U,M-N-12x30.step +N12-30ELBCM,N,12,30,,E,LB,CM,M-N-12x30.step +N12-30EFA,N,12,30,,E,FA,,M-N-12x30.step +N12-30EFAU,N,12,30,,E,FA,U,M-N-12x30.step +N12-30EFACM,N,12,30,,E,FA,CM,M-N-12x30.step +N12-30EFB,N,12,30,,E,FB,,M-N-12x30.step +N12-30EFBU,N,12,30,,E,FB,U,M-N-12x30.step +N12-30EFBCM,N,12,30,,E,FB,CM,M-N-12x30.step +N12-30ESDB,N,12,30,,E,SDB,,M-N-12x30.step +N12-30ESDBU,N,12,30,,E,SDB,U,M-N-12x30.step +N12-30ESDBCM,N,12,30,,E,SDB,CM,M-N-12x30.step +N12-30,N,12,30,,,,,M-N-12x30.step +N12-30U,N,12,30,,,,U,M-N-12x30.step +N12-30CM,N,12,30,,,,CM,M-N-12x30.step +N12-30LB,N,12,30,,,LB,,M-N-12x30.step +N12-30LBU,N,12,30,,,LB,U,M-N-12x30.step +N12-30LBCM,N,12,30,,,LB,CM,M-N-12x30.step +N12-30FA,N,12,30,,,FA,,M-N-12x30.step +N12-30FAU,N,12,30,,,FA,U,M-N-12x30.step +N12-30FACM,N,12,30,,,FA,CM,M-N-12x30.step +N12-30FB,N,12,30,,,FB,,M-N-12x30.step +N12-30FBU,N,12,30,,,FB,U,M-N-12x30.step +N12-30FBCM,N,12,30,,,FB,CM,M-N-12x30.step +N12-30SDB,N,12,30,,,SDB,,M-N-12x30.step +N12-30SDBU,N,12,30,,,SDB,U,M-N-12x30.step +N12-30SDBCM,N,12,30,,,SDB,CM,M-N-12x30.step +N12-30ME,N,12,30,M,E,,,M-N-12x30.step +N12-30MEU,N,12,30,M,E,,U,M-N-12x30.step +N12-30MECM,N,12,30,M,E,,CM,M-N-12x30.step +N12-30MELB,N,12,30,M,E,LB,,M-N-12x30.step +N12-30MELBU,N,12,30,M,E,LB,U,M-N-12x30.step +N12-30MELBCM,N,12,30,M,E,LB,CM,M-N-12x30.step +N12-30MEFA,N,12,30,M,E,FA,,M-N-12x30.step +N12-30MEFAU,N,12,30,M,E,FA,U,M-N-12x30.step +N12-30MEFACM,N,12,30,M,E,FA,CM,M-N-12x30.step +N12-30MEFB,N,12,30,M,E,FB,,M-N-12x30.step +N12-30MEFBU,N,12,30,M,E,FB,U,M-N-12x30.step +N12-30MEFBCM,N,12,30,M,E,FB,CM,M-N-12x30.step +N12-30MESDB,N,12,30,M,E,SDB,,M-N-12x30.step +N12-30MESDBU,N,12,30,M,E,SDB,U,M-N-12x30.step +N12-30MESDBCM,N,12,30,M,E,SDB,CM,M-N-12x30.step +N12-30M,N,12,30,M,,,,M-N-12x30.step +N12-30MU,N,12,30,M,,,U,M-N-12x30.step +N12-30MCM,N,12,30,M,,,CM,M-N-12x30.step +N12-30MLB,N,12,30,M,,LB,,M-N-12x30.step +N12-30MLBU,N,12,30,M,,LB,U,M-N-12x30.step +N12-30MLBCM,N,12,30,M,,LB,CM,M-N-12x30.step +N12-30MFA,N,12,30,M,,FA,,M-N-12x30.step +N12-30MFAU,N,12,30,M,,FA,U,M-N-12x30.step +N12-30MFACM,N,12,30,M,,FA,CM,M-N-12x30.step +N12-30MFB,N,12,30,M,,FB,,M-N-12x30.step +N12-30MFBU,N,12,30,M,,FB,U,M-N-12x30.step +N12-30MFBCM,N,12,30,M,,FB,CM,M-N-12x30.step +N12-30MSDB,N,12,30,M,,SDB,,M-N-12x30.step +N12-30MSDBU,N,12,30,M,,SDB,U,M-N-12x30.step +N12-30MSDBCM,N,12,30,M,,SDB,CM,M-N-12x30.step +N12-50E,N,12,50,,E,,,M-N-12x50.step +N12-50EU,N,12,50,,E,,U,M-N-12x50.step +N12-50ECM,N,12,50,,E,,CM,M-N-12x50.step +N12-50ELB,N,12,50,,E,LB,,M-N-12x50.step +N12-50ELBU,N,12,50,,E,LB,U,M-N-12x50.step +N12-50ELBCM,N,12,50,,E,LB,CM,M-N-12x50.step +N12-50EFA,N,12,50,,E,FA,,M-N-12x50.step +N12-50EFAU,N,12,50,,E,FA,U,M-N-12x50.step +N12-50EFACM,N,12,50,,E,FA,CM,M-N-12x50.step +N12-50EFB,N,12,50,,E,FB,,M-N-12x50.step +N12-50EFBU,N,12,50,,E,FB,U,M-N-12x50.step +N12-50EFBCM,N,12,50,,E,FB,CM,M-N-12x50.step +N12-50ESDB,N,12,50,,E,SDB,,M-N-12x50.step +N12-50ESDBU,N,12,50,,E,SDB,U,M-N-12x50.step +N12-50ESDBCM,N,12,50,,E,SDB,CM,M-N-12x50.step +N12-50,N,12,50,,,,,M-N-12x50.step +N12-50U,N,12,50,,,,U,M-N-12x50.step +N12-50CM,N,12,50,,,,CM,M-N-12x50.step +N12-50LB,N,12,50,,,LB,,M-N-12x50.step +N12-50LBU,N,12,50,,,LB,U,M-N-12x50.step +N12-50LBCM,N,12,50,,,LB,CM,M-N-12x50.step +N12-50FA,N,12,50,,,FA,,M-N-12x50.step +N12-50FAU,N,12,50,,,FA,U,M-N-12x50.step +N12-50FACM,N,12,50,,,FA,CM,M-N-12x50.step +N12-50FB,N,12,50,,,FB,,M-N-12x50.step +N12-50FBU,N,12,50,,,FB,U,M-N-12x50.step +N12-50FBCM,N,12,50,,,FB,CM,M-N-12x50.step +N12-50SDB,N,12,50,,,SDB,,M-N-12x50.step +N12-50SDBU,N,12,50,,,SDB,U,M-N-12x50.step +N12-50SDBCM,N,12,50,,,SDB,CM,M-N-12x50.step +N12-50ME,N,12,50,M,E,,,M-N-12x50.step +N12-50MEU,N,12,50,M,E,,U,M-N-12x50.step +N12-50MECM,N,12,50,M,E,,CM,M-N-12x50.step +N12-50MELB,N,12,50,M,E,LB,,M-N-12x50.step +N12-50MELBU,N,12,50,M,E,LB,U,M-N-12x50.step +N12-50MELBCM,N,12,50,M,E,LB,CM,M-N-12x50.step +N12-50MEFA,N,12,50,M,E,FA,,M-N-12x50.step +N12-50MEFAU,N,12,50,M,E,FA,U,M-N-12x50.step +N12-50MEFACM,N,12,50,M,E,FA,CM,M-N-12x50.step +N12-50MEFB,N,12,50,M,E,FB,,M-N-12x50.step +N12-50MEFBU,N,12,50,M,E,FB,U,M-N-12x50.step +N12-50MEFBCM,N,12,50,M,E,FB,CM,M-N-12x50.step +N12-50MESDB,N,12,50,M,E,SDB,,M-N-12x50.step +N12-50MESDBU,N,12,50,M,E,SDB,U,M-N-12x50.step +N12-50MESDBCM,N,12,50,M,E,SDB,CM,M-N-12x50.step +N12-50M,N,12,50,M,,,,M-N-12x50.step +N12-50MU,N,12,50,M,,,U,M-N-12x50.step +N12-50MCM,N,12,50,M,,,CM,M-N-12x50.step +N12-50MLB,N,12,50,M,,LB,,M-N-12x50.step +N12-50MLBU,N,12,50,M,,LB,U,M-N-12x50.step +N12-50MLBCM,N,12,50,M,,LB,CM,M-N-12x50.step +N12-50MFA,N,12,50,M,,FA,,M-N-12x50.step +N12-50MFAU,N,12,50,M,,FA,U,M-N-12x50.step +N12-50MFACM,N,12,50,M,,FA,CM,M-N-12x50.step +N12-50MFB,N,12,50,M,,FB,,M-N-12x50.step +N12-50MFBU,N,12,50,M,,FB,U,M-N-12x50.step +N12-50MFBCM,N,12,50,M,,FB,CM,M-N-12x50.step +N12-50MSDB,N,12,50,M,,SDB,,M-N-12x50.step +N12-50MSDBU,N,12,50,M,,SDB,U,M-N-12x50.step +N12-50MSDBCM,N,12,50,M,,SDB,CM,M-N-12x50.step +N12-75E,N,12,75,,E,,,M-N-12x75.step +N12-75EU,N,12,75,,E,,U,M-N-12x75.step +N12-75ECM,N,12,75,,E,,CM,M-N-12x75.step +N12-75ELB,N,12,75,,E,LB,,M-N-12x75.step +N12-75ELBU,N,12,75,,E,LB,U,M-N-12x75.step +N12-75ELBCM,N,12,75,,E,LB,CM,M-N-12x75.step +N12-75EFA,N,12,75,,E,FA,,M-N-12x75.step +N12-75EFAU,N,12,75,,E,FA,U,M-N-12x75.step +N12-75EFACM,N,12,75,,E,FA,CM,M-N-12x75.step +N12-75EFB,N,12,75,,E,FB,,M-N-12x75.step +N12-75EFBU,N,12,75,,E,FB,U,M-N-12x75.step +N12-75EFBCM,N,12,75,,E,FB,CM,M-N-12x75.step +N12-75ESDB,N,12,75,,E,SDB,,M-N-12x75.step +N12-75ESDBU,N,12,75,,E,SDB,U,M-N-12x75.step +N12-75ESDBCM,N,12,75,,E,SDB,CM,M-N-12x75.step +N12-75,N,12,75,,,,,M-N-12x75.step +N12-75U,N,12,75,,,,U,M-N-12x75.step +N12-75CM,N,12,75,,,,CM,M-N-12x75.step +N12-75LB,N,12,75,,,LB,,M-N-12x75.step +N12-75LBU,N,12,75,,,LB,U,M-N-12x75.step +N12-75LBCM,N,12,75,,,LB,CM,M-N-12x75.step +N12-75FA,N,12,75,,,FA,,M-N-12x75.step +N12-75FAU,N,12,75,,,FA,U,M-N-12x75.step +N12-75FACM,N,12,75,,,FA,CM,M-N-12x75.step +N12-75FB,N,12,75,,,FB,,M-N-12x75.step +N12-75FBU,N,12,75,,,FB,U,M-N-12x75.step +N12-75FBCM,N,12,75,,,FB,CM,M-N-12x75.step +N12-75SDB,N,12,75,,,SDB,,M-N-12x75.step +N12-75SDBU,N,12,75,,,SDB,U,M-N-12x75.step +N12-75SDBCM,N,12,75,,,SDB,CM,M-N-12x75.step +N12-75ME,N,12,75,M,E,,,M-N-12x75.step +N12-75MEU,N,12,75,M,E,,U,M-N-12x75.step +N12-75MECM,N,12,75,M,E,,CM,M-N-12x75.step +N12-75MELB,N,12,75,M,E,LB,,M-N-12x75.step +N12-75MELBU,N,12,75,M,E,LB,U,M-N-12x75.step +N12-75MELBCM,N,12,75,M,E,LB,CM,M-N-12x75.step +N12-75MEFA,N,12,75,M,E,FA,,M-N-12x75.step +N12-75MEFAU,N,12,75,M,E,FA,U,M-N-12x75.step +N12-75MEFACM,N,12,75,M,E,FA,CM,M-N-12x75.step +N12-75MEFB,N,12,75,M,E,FB,,M-N-12x75.step +N12-75MEFBU,N,12,75,M,E,FB,U,M-N-12x75.step +N12-75MEFBCM,N,12,75,M,E,FB,CM,M-N-12x75.step +N12-75MESDB,N,12,75,M,E,SDB,,M-N-12x75.step +N12-75MESDBU,N,12,75,M,E,SDB,U,M-N-12x75.step +N12-75MESDBCM,N,12,75,M,E,SDB,CM,M-N-12x75.step +N12-75M,N,12,75,M,,,,M-N-12x75.step +N12-75MU,N,12,75,M,,,U,M-N-12x75.step +N12-75MCM,N,12,75,M,,,CM,M-N-12x75.step +N12-75MLB,N,12,75,M,,LB,,M-N-12x75.step +N12-75MLBU,N,12,75,M,,LB,U,M-N-12x75.step +N12-75MLBCM,N,12,75,M,,LB,CM,M-N-12x75.step +N12-75MFA,N,12,75,M,,FA,,M-N-12x75.step +N12-75MFAU,N,12,75,M,,FA,U,M-N-12x75.step +N12-75MFACM,N,12,75,M,,FA,CM,M-N-12x75.step +N12-75MFB,N,12,75,M,,FB,,M-N-12x75.step +N12-75MFBU,N,12,75,M,,FB,U,M-N-12x75.step +N12-75MFBCM,N,12,75,M,,FB,CM,M-N-12x75.step +N12-75MSDB,N,12,75,M,,SDB,,M-N-12x75.step +N12-75MSDBU,N,12,75,M,,SDB,U,M-N-12x75.step +N12-75MSDBCM,N,12,75,M,,SDB,CM,M-N-12x75.step +N12-100E,N,12,100,,E,,,M-N-12x100.step +N12-100EU,N,12,100,,E,,U,M-N-12x100.step +N12-100ECM,N,12,100,,E,,CM,M-N-12x100.step +N12-100ELB,N,12,100,,E,LB,,M-N-12x100.step +N12-100ELBU,N,12,100,,E,LB,U,M-N-12x100.step +N12-100ELBCM,N,12,100,,E,LB,CM,M-N-12x100.step +N12-100EFA,N,12,100,,E,FA,,M-N-12x100.step +N12-100EFAU,N,12,100,,E,FA,U,M-N-12x100.step +N12-100EFACM,N,12,100,,E,FA,CM,M-N-12x100.step +N12-100EFB,N,12,100,,E,FB,,M-N-12x100.step +N12-100EFBU,N,12,100,,E,FB,U,M-N-12x100.step +N12-100EFBCM,N,12,100,,E,FB,CM,M-N-12x100.step +N12-100ESDB,N,12,100,,E,SDB,,M-N-12x100.step +N12-100ESDBU,N,12,100,,E,SDB,U,M-N-12x100.step +N12-100ESDBCM,N,12,100,,E,SDB,CM,M-N-12x100.step +N12-100,N,12,100,,,,,M-N-12x100.step +N12-100U,N,12,100,,,,U,M-N-12x100.step +N12-100CM,N,12,100,,,,CM,M-N-12x100.step +N12-100LB,N,12,100,,,LB,,M-N-12x100.step +N12-100LBU,N,12,100,,,LB,U,M-N-12x100.step +N12-100LBCM,N,12,100,,,LB,CM,M-N-12x100.step +N12-100FA,N,12,100,,,FA,,M-N-12x100.step +N12-100FAU,N,12,100,,,FA,U,M-N-12x100.step +N12-100FACM,N,12,100,,,FA,CM,M-N-12x100.step +N12-100FB,N,12,100,,,FB,,M-N-12x100.step +N12-100FBU,N,12,100,,,FB,U,M-N-12x100.step +N12-100FBCM,N,12,100,,,FB,CM,M-N-12x100.step +N12-100SDB,N,12,100,,,SDB,,M-N-12x100.step +N12-100SDBU,N,12,100,,,SDB,U,M-N-12x100.step +N12-100SDBCM,N,12,100,,,SDB,CM,M-N-12x100.step +N12-100ME,N,12,100,M,E,,,M-N-12x100.step +N12-100MEU,N,12,100,M,E,,U,M-N-12x100.step +N12-100MECM,N,12,100,M,E,,CM,M-N-12x100.step +N12-100MELB,N,12,100,M,E,LB,,M-N-12x100.step +N12-100MELBU,N,12,100,M,E,LB,U,M-N-12x100.step +N12-100MELBCM,N,12,100,M,E,LB,CM,M-N-12x100.step +N12-100MEFA,N,12,100,M,E,FA,,M-N-12x100.step +N12-100MEFAU,N,12,100,M,E,FA,U,M-N-12x100.step +N12-100MEFACM,N,12,100,M,E,FA,CM,M-N-12x100.step +N12-100MEFB,N,12,100,M,E,FB,,M-N-12x100.step +N12-100MEFBU,N,12,100,M,E,FB,U,M-N-12x100.step +N12-100MEFBCM,N,12,100,M,E,FB,CM,M-N-12x100.step +N12-100MESDB,N,12,100,M,E,SDB,,M-N-12x100.step +N12-100MESDBU,N,12,100,M,E,SDB,U,M-N-12x100.step +N12-100MESDBCM,N,12,100,M,E,SDB,CM,M-N-12x100.step +N12-100M,N,12,100,M,,,,M-N-12x100.step +N12-100MU,N,12,100,M,,,U,M-N-12x100.step +N12-100MCM,N,12,100,M,,,CM,M-N-12x100.step +N12-100MLB,N,12,100,M,,LB,,M-N-12x100.step +N12-100MLBU,N,12,100,M,,LB,U,M-N-12x100.step +N12-100MLBCM,N,12,100,M,,LB,CM,M-N-12x100.step +N12-100MFA,N,12,100,M,,FA,,M-N-12x100.step +N12-100MFAU,N,12,100,M,,FA,U,M-N-12x100.step +N12-100MFACM,N,12,100,M,,FA,CM,M-N-12x100.step +N12-100MFB,N,12,100,M,,FB,,M-N-12x100.step +N12-100MFBU,N,12,100,M,,FB,U,M-N-12x100.step +N12-100MFBCM,N,12,100,M,,FB,CM,M-N-12x100.step +N12-100MSDB,N,12,100,M,,SDB,,M-N-12x100.step +N12-100MSDBU,N,12,100,M,,SDB,U,M-N-12x100.step +N12-100MSDBCM,N,12,100,M,,SDB,CM,M-N-12x100.step +N16-10E,N,16,10,,E,,,M-N-16x10.step +N16-10EU,N,16,10,,E,,U,M-N-16x10.step +N16-10ECM,N,16,10,,E,,CM,M-N-16x10.step +N16-10ELB,N,16,10,,E,LB,,M-N-16x10.step +N16-10ELBU,N,16,10,,E,LB,U,M-N-16x10.step +N16-10ELBCM,N,16,10,,E,LB,CM,M-N-16x10.step +N16-10EFA,N,16,10,,E,FA,,M-N-16x10.step +N16-10EFAU,N,16,10,,E,FA,U,M-N-16x10.step +N16-10EFACM,N,16,10,,E,FA,CM,M-N-16x10.step +N16-10EFB,N,16,10,,E,FB,,M-N-16x10.step +N16-10EFBU,N,16,10,,E,FB,U,M-N-16x10.step +N16-10EFBCM,N,16,10,,E,FB,CM,M-N-16x10.step +N16-10ESDB,N,16,10,,E,SDB,,M-N-16x10.step +N16-10ESDBU,N,16,10,,E,SDB,U,M-N-16x10.step +N16-10ESDBCM,N,16,10,,E,SDB,CM,M-N-16x10.step +N16-10,N,16,10,,,,,M-N-16x10.step +N16-10U,N,16,10,,,,U,M-N-16x10.step +N16-10CM,N,16,10,,,,CM,M-N-16x10.step +N16-10LB,N,16,10,,,LB,,M-N-16x10.step +N16-10LBU,N,16,10,,,LB,U,M-N-16x10.step +N16-10LBCM,N,16,10,,,LB,CM,M-N-16x10.step +N16-10FA,N,16,10,,,FA,,M-N-16x10.step +N16-10FAU,N,16,10,,,FA,U,M-N-16x10.step +N16-10FACM,N,16,10,,,FA,CM,M-N-16x10.step +N16-10FB,N,16,10,,,FB,,M-N-16x10.step +N16-10FBU,N,16,10,,,FB,U,M-N-16x10.step +N16-10FBCM,N,16,10,,,FB,CM,M-N-16x10.step +N16-10SDB,N,16,10,,,SDB,,M-N-16x10.step +N16-10SDBU,N,16,10,,,SDB,U,M-N-16x10.step +N16-10SDBCM,N,16,10,,,SDB,CM,M-N-16x10.step +N16-10ME,N,16,10,M,E,,,M-N-16x10.step +N16-10MEU,N,16,10,M,E,,U,M-N-16x10.step +N16-10MECM,N,16,10,M,E,,CM,M-N-16x10.step +N16-10MELB,N,16,10,M,E,LB,,M-N-16x10.step +N16-10MELBU,N,16,10,M,E,LB,U,M-N-16x10.step +N16-10MELBCM,N,16,10,M,E,LB,CM,M-N-16x10.step +N16-10MEFA,N,16,10,M,E,FA,,M-N-16x10.step +N16-10MEFAU,N,16,10,M,E,FA,U,M-N-16x10.step +N16-10MEFACM,N,16,10,M,E,FA,CM,M-N-16x10.step +N16-10MEFB,N,16,10,M,E,FB,,M-N-16x10.step +N16-10MEFBU,N,16,10,M,E,FB,U,M-N-16x10.step +N16-10MEFBCM,N,16,10,M,E,FB,CM,M-N-16x10.step +N16-10MESDB,N,16,10,M,E,SDB,,M-N-16x10.step +N16-10MESDBU,N,16,10,M,E,SDB,U,M-N-16x10.step +N16-10MESDBCM,N,16,10,M,E,SDB,CM,M-N-16x10.step +N16-10M,N,16,10,M,,,,M-N-16x10.step +N16-10MU,N,16,10,M,,,U,M-N-16x10.step +N16-10MCM,N,16,10,M,,,CM,M-N-16x10.step +N16-10MLB,N,16,10,M,,LB,,M-N-16x10.step +N16-10MLBU,N,16,10,M,,LB,U,M-N-16x10.step +N16-10MLBCM,N,16,10,M,,LB,CM,M-N-16x10.step +N16-10MFA,N,16,10,M,,FA,,M-N-16x10.step +N16-10MFAU,N,16,10,M,,FA,U,M-N-16x10.step +N16-10MFACM,N,16,10,M,,FA,CM,M-N-16x10.step +N16-10MFB,N,16,10,M,,FB,,M-N-16x10.step +N16-10MFBU,N,16,10,M,,FB,U,M-N-16x10.step +N16-10MFBCM,N,16,10,M,,FB,CM,M-N-16x10.step +N16-10MSDB,N,16,10,M,,SDB,,M-N-16x10.step +N16-10MSDBU,N,16,10,M,,SDB,U,M-N-16x10.step +N16-10MSDBCM,N,16,10,M,,SDB,CM,M-N-16x10.step +N16-20E,N,16,20,,E,,,M-N-16x20.step +N16-20EU,N,16,20,,E,,U,M-N-16x20.step +N16-20ECM,N,16,20,,E,,CM,M-N-16x20.step +N16-20ELB,N,16,20,,E,LB,,M-N-16x20.step +N16-20ELBU,N,16,20,,E,LB,U,M-N-16x20.step +N16-20ELBCM,N,16,20,,E,LB,CM,M-N-16x20.step +N16-20EFA,N,16,20,,E,FA,,M-N-16x20.step +N16-20EFAU,N,16,20,,E,FA,U,M-N-16x20.step +N16-20EFACM,N,16,20,,E,FA,CM,M-N-16x20.step +N16-20EFB,N,16,20,,E,FB,,M-N-16x20.step +N16-20EFBU,N,16,20,,E,FB,U,M-N-16x20.step +N16-20EFBCM,N,16,20,,E,FB,CM,M-N-16x20.step +N16-20ESDB,N,16,20,,E,SDB,,M-N-16x20.step +N16-20ESDBU,N,16,20,,E,SDB,U,M-N-16x20.step +N16-20ESDBCM,N,16,20,,E,SDB,CM,M-N-16x20.step +N16-20,N,16,20,,,,,M-N-16x20.step +N16-20U,N,16,20,,,,U,M-N-16x20.step +N16-20CM,N,16,20,,,,CM,M-N-16x20.step +N16-20LB,N,16,20,,,LB,,M-N-16x20.step +N16-20LBU,N,16,20,,,LB,U,M-N-16x20.step +N16-20LBCM,N,16,20,,,LB,CM,M-N-16x20.step +N16-20FA,N,16,20,,,FA,,M-N-16x20.step +N16-20FAU,N,16,20,,,FA,U,M-N-16x20.step +N16-20FACM,N,16,20,,,FA,CM,M-N-16x20.step +N16-20FB,N,16,20,,,FB,,M-N-16x20.step +N16-20FBU,N,16,20,,,FB,U,M-N-16x20.step +N16-20FBCM,N,16,20,,,FB,CM,M-N-16x20.step +N16-20SDB,N,16,20,,,SDB,,M-N-16x20.step +N16-20SDBU,N,16,20,,,SDB,U,M-N-16x20.step +N16-20SDBCM,N,16,20,,,SDB,CM,M-N-16x20.step +N16-20ME,N,16,20,M,E,,,M-N-16x20.step +N16-20MEU,N,16,20,M,E,,U,M-N-16x20.step +N16-20MECM,N,16,20,M,E,,CM,M-N-16x20.step +N16-20MELB,N,16,20,M,E,LB,,M-N-16x20.step +N16-20MELBU,N,16,20,M,E,LB,U,M-N-16x20.step +N16-20MELBCM,N,16,20,M,E,LB,CM,M-N-16x20.step +N16-20MEFA,N,16,20,M,E,FA,,M-N-16x20.step +N16-20MEFAU,N,16,20,M,E,FA,U,M-N-16x20.step +N16-20MEFACM,N,16,20,M,E,FA,CM,M-N-16x20.step +N16-20MEFB,N,16,20,M,E,FB,,M-N-16x20.step +N16-20MEFBU,N,16,20,M,E,FB,U,M-N-16x20.step +N16-20MEFBCM,N,16,20,M,E,FB,CM,M-N-16x20.step +N16-20MESDB,N,16,20,M,E,SDB,,M-N-16x20.step +N16-20MESDBU,N,16,20,M,E,SDB,U,M-N-16x20.step +N16-20MESDBCM,N,16,20,M,E,SDB,CM,M-N-16x20.step +N16-20M,N,16,20,M,,,,M-N-16x20.step +N16-20MU,N,16,20,M,,,U,M-N-16x20.step +N16-20MCM,N,16,20,M,,,CM,M-N-16x20.step +N16-20MLB,N,16,20,M,,LB,,M-N-16x20.step +N16-20MLBU,N,16,20,M,,LB,U,M-N-16x20.step +N16-20MLBCM,N,16,20,M,,LB,CM,M-N-16x20.step +N16-20MFA,N,16,20,M,,FA,,M-N-16x20.step +N16-20MFAU,N,16,20,M,,FA,U,M-N-16x20.step +N16-20MFACM,N,16,20,M,,FA,CM,M-N-16x20.step +N16-20MFB,N,16,20,M,,FB,,M-N-16x20.step +N16-20MFBU,N,16,20,M,,FB,U,M-N-16x20.step +N16-20MFBCM,N,16,20,M,,FB,CM,M-N-16x20.step +N16-20MSDB,N,16,20,M,,SDB,,M-N-16x20.step +N16-20MSDBU,N,16,20,M,,SDB,U,M-N-16x20.step +N16-20MSDBCM,N,16,20,M,,SDB,CM,M-N-16x20.step +N16-30E,N,16,30,,E,,,M-N-16x30.step +N16-30EU,N,16,30,,E,,U,M-N-16x30.step +N16-30ECM,N,16,30,,E,,CM,M-N-16x30.step +N16-30ELB,N,16,30,,E,LB,,M-N-16x30.step +N16-30ELBU,N,16,30,,E,LB,U,M-N-16x30.step +N16-30ELBCM,N,16,30,,E,LB,CM,M-N-16x30.step +N16-30EFA,N,16,30,,E,FA,,M-N-16x30.step +N16-30EFAU,N,16,30,,E,FA,U,M-N-16x30.step +N16-30EFACM,N,16,30,,E,FA,CM,M-N-16x30.step +N16-30EFB,N,16,30,,E,FB,,M-N-16x30.step +N16-30EFBU,N,16,30,,E,FB,U,M-N-16x30.step +N16-30EFBCM,N,16,30,,E,FB,CM,M-N-16x30.step +N16-30ESDB,N,16,30,,E,SDB,,M-N-16x30.step +N16-30ESDBU,N,16,30,,E,SDB,U,M-N-16x30.step +N16-30ESDBCM,N,16,30,,E,SDB,CM,M-N-16x30.step +N16-30,N,16,30,,,,,M-N-16x30.step +N16-30U,N,16,30,,,,U,M-N-16x30.step +N16-30CM,N,16,30,,,,CM,M-N-16x30.step +N16-30LB,N,16,30,,,LB,,M-N-16x30.step +N16-30LBU,N,16,30,,,LB,U,M-N-16x30.step +N16-30LBCM,N,16,30,,,LB,CM,M-N-16x30.step +N16-30FA,N,16,30,,,FA,,M-N-16x30.step +N16-30FAU,N,16,30,,,FA,U,M-N-16x30.step +N16-30FACM,N,16,30,,,FA,CM,M-N-16x30.step +N16-30FB,N,16,30,,,FB,,M-N-16x30.step +N16-30FBU,N,16,30,,,FB,U,M-N-16x30.step +N16-30FBCM,N,16,30,,,FB,CM,M-N-16x30.step +N16-30SDB,N,16,30,,,SDB,,M-N-16x30.step +N16-30SDBU,N,16,30,,,SDB,U,M-N-16x30.step +N16-30SDBCM,N,16,30,,,SDB,CM,M-N-16x30.step +N16-30ME,N,16,30,M,E,,,M-N-16x30.step +N16-30MEU,N,16,30,M,E,,U,M-N-16x30.step +N16-30MECM,N,16,30,M,E,,CM,M-N-16x30.step +N16-30MELB,N,16,30,M,E,LB,,M-N-16x30.step +N16-30MELBU,N,16,30,M,E,LB,U,M-N-16x30.step +N16-30MELBCM,N,16,30,M,E,LB,CM,M-N-16x30.step +N16-30MEFA,N,16,30,M,E,FA,,M-N-16x30.step +N16-30MEFAU,N,16,30,M,E,FA,U,M-N-16x30.step +N16-30MEFACM,N,16,30,M,E,FA,CM,M-N-16x30.step +N16-30MEFB,N,16,30,M,E,FB,,M-N-16x30.step +N16-30MEFBU,N,16,30,M,E,FB,U,M-N-16x30.step +N16-30MEFBCM,N,16,30,M,E,FB,CM,M-N-16x30.step +N16-30MESDB,N,16,30,M,E,SDB,,M-N-16x30.step +N16-30MESDBU,N,16,30,M,E,SDB,U,M-N-16x30.step +N16-30MESDBCM,N,16,30,M,E,SDB,CM,M-N-16x30.step +N16-30M,N,16,30,M,,,,M-N-16x30.step +N16-30MU,N,16,30,M,,,U,M-N-16x30.step +N16-30MCM,N,16,30,M,,,CM,M-N-16x30.step +N16-30MLB,N,16,30,M,,LB,,M-N-16x30.step +N16-30MLBU,N,16,30,M,,LB,U,M-N-16x30.step +N16-30MLBCM,N,16,30,M,,LB,CM,M-N-16x30.step +N16-30MFA,N,16,30,M,,FA,,M-N-16x30.step +N16-30MFAU,N,16,30,M,,FA,U,M-N-16x30.step +N16-30MFACM,N,16,30,M,,FA,CM,M-N-16x30.step +N16-30MFB,N,16,30,M,,FB,,M-N-16x30.step +N16-30MFBU,N,16,30,M,,FB,U,M-N-16x30.step +N16-30MFBCM,N,16,30,M,,FB,CM,M-N-16x30.step +N16-30MSDB,N,16,30,M,,SDB,,M-N-16x30.step +N16-30MSDBU,N,16,30,M,,SDB,U,M-N-16x30.step +N16-30MSDBCM,N,16,30,M,,SDB,CM,M-N-16x30.step +N16-50E,N,16,50,,E,,,M-N-16x50.step +N16-50EU,N,16,50,,E,,U,M-N-16x50.step +N16-50ECM,N,16,50,,E,,CM,M-N-16x50.step +N16-50ELB,N,16,50,,E,LB,,M-N-16x50.step +N16-50ELBU,N,16,50,,E,LB,U,M-N-16x50.step +N16-50ELBCM,N,16,50,,E,LB,CM,M-N-16x50.step +N16-50EFA,N,16,50,,E,FA,,M-N-16x50.step +N16-50EFAU,N,16,50,,E,FA,U,M-N-16x50.step +N16-50EFACM,N,16,50,,E,FA,CM,M-N-16x50.step +N16-50EFB,N,16,50,,E,FB,,M-N-16x50.step +N16-50EFBU,N,16,50,,E,FB,U,M-N-16x50.step +N16-50EFBCM,N,16,50,,E,FB,CM,M-N-16x50.step +N16-50ESDB,N,16,50,,E,SDB,,M-N-16x50.step +N16-50ESDBU,N,16,50,,E,SDB,U,M-N-16x50.step +N16-50ESDBCM,N,16,50,,E,SDB,CM,M-N-16x50.step +N16-50,N,16,50,,,,,M-N-16x50.step +N16-50U,N,16,50,,,,U,M-N-16x50.step +N16-50CM,N,16,50,,,,CM,M-N-16x50.step +N16-50LB,N,16,50,,,LB,,M-N-16x50.step +N16-50LBU,N,16,50,,,LB,U,M-N-16x50.step +N16-50LBCM,N,16,50,,,LB,CM,M-N-16x50.step +N16-50FA,N,16,50,,,FA,,M-N-16x50.step +N16-50FAU,N,16,50,,,FA,U,M-N-16x50.step +N16-50FACM,N,16,50,,,FA,CM,M-N-16x50.step +N16-50FB,N,16,50,,,FB,,M-N-16x50.step +N16-50FBU,N,16,50,,,FB,U,M-N-16x50.step +N16-50FBCM,N,16,50,,,FB,CM,M-N-16x50.step +N16-50SDB,N,16,50,,,SDB,,M-N-16x50.step +N16-50SDBU,N,16,50,,,SDB,U,M-N-16x50.step +N16-50SDBCM,N,16,50,,,SDB,CM,M-N-16x50.step +N16-50ME,N,16,50,M,E,,,M-N-16x50.step +N16-50MEU,N,16,50,M,E,,U,M-N-16x50.step +N16-50MECM,N,16,50,M,E,,CM,M-N-16x50.step +N16-50MELB,N,16,50,M,E,LB,,M-N-16x50.step +N16-50MELBU,N,16,50,M,E,LB,U,M-N-16x50.step +N16-50MELBCM,N,16,50,M,E,LB,CM,M-N-16x50.step +N16-50MEFA,N,16,50,M,E,FA,,M-N-16x50.step +N16-50MEFAU,N,16,50,M,E,FA,U,M-N-16x50.step +N16-50MEFACM,N,16,50,M,E,FA,CM,M-N-16x50.step +N16-50MEFB,N,16,50,M,E,FB,,M-N-16x50.step +N16-50MEFBU,N,16,50,M,E,FB,U,M-N-16x50.step +N16-50MEFBCM,N,16,50,M,E,FB,CM,M-N-16x50.step +N16-50MESDB,N,16,50,M,E,SDB,,M-N-16x50.step +N16-50MESDBU,N,16,50,M,E,SDB,U,M-N-16x50.step +N16-50MESDBCM,N,16,50,M,E,SDB,CM,M-N-16x50.step +N16-50M,N,16,50,M,,,,M-N-16x50.step +N16-50MU,N,16,50,M,,,U,M-N-16x50.step +N16-50MCM,N,16,50,M,,,CM,M-N-16x50.step +N16-50MLB,N,16,50,M,,LB,,M-N-16x50.step +N16-50MLBU,N,16,50,M,,LB,U,M-N-16x50.step +N16-50MLBCM,N,16,50,M,,LB,CM,M-N-16x50.step +N16-50MFA,N,16,50,M,,FA,,M-N-16x50.step +N16-50MFAU,N,16,50,M,,FA,U,M-N-16x50.step +N16-50MFACM,N,16,50,M,,FA,CM,M-N-16x50.step +N16-50MFB,N,16,50,M,,FB,,M-N-16x50.step +N16-50MFBU,N,16,50,M,,FB,U,M-N-16x50.step +N16-50MFBCM,N,16,50,M,,FB,CM,M-N-16x50.step +N16-50MSDB,N,16,50,M,,SDB,,M-N-16x50.step +N16-50MSDBU,N,16,50,M,,SDB,U,M-N-16x50.step +N16-50MSDBCM,N,16,50,M,,SDB,CM,M-N-16x50.step +N16-75E,N,16,75,,E,,,M-N-16x75.step +N16-75EU,N,16,75,,E,,U,M-N-16x75.step +N16-75ECM,N,16,75,,E,,CM,M-N-16x75.step +N16-75ELB,N,16,75,,E,LB,,M-N-16x75.step +N16-75ELBU,N,16,75,,E,LB,U,M-N-16x75.step +N16-75ELBCM,N,16,75,,E,LB,CM,M-N-16x75.step +N16-75EFA,N,16,75,,E,FA,,M-N-16x75.step +N16-75EFAU,N,16,75,,E,FA,U,M-N-16x75.step +N16-75EFACM,N,16,75,,E,FA,CM,M-N-16x75.step +N16-75EFB,N,16,75,,E,FB,,M-N-16x75.step +N16-75EFBU,N,16,75,,E,FB,U,M-N-16x75.step +N16-75EFBCM,N,16,75,,E,FB,CM,M-N-16x75.step +N16-75ESDB,N,16,75,,E,SDB,,M-N-16x75.step +N16-75ESDBU,N,16,75,,E,SDB,U,M-N-16x75.step +N16-75ESDBCM,N,16,75,,E,SDB,CM,M-N-16x75.step +N16-75,N,16,75,,,,,M-N-16x75.step +N16-75U,N,16,75,,,,U,M-N-16x75.step +N16-75CM,N,16,75,,,,CM,M-N-16x75.step +N16-75LB,N,16,75,,,LB,,M-N-16x75.step +N16-75LBU,N,16,75,,,LB,U,M-N-16x75.step +N16-75LBCM,N,16,75,,,LB,CM,M-N-16x75.step +N16-75FA,N,16,75,,,FA,,M-N-16x75.step +N16-75FAU,N,16,75,,,FA,U,M-N-16x75.step +N16-75FACM,N,16,75,,,FA,CM,M-N-16x75.step +N16-75FB,N,16,75,,,FB,,M-N-16x75.step +N16-75FBU,N,16,75,,,FB,U,M-N-16x75.step +N16-75FBCM,N,16,75,,,FB,CM,M-N-16x75.step +N16-75SDB,N,16,75,,,SDB,,M-N-16x75.step +N16-75SDBU,N,16,75,,,SDB,U,M-N-16x75.step +N16-75SDBCM,N,16,75,,,SDB,CM,M-N-16x75.step +N16-75ME,N,16,75,M,E,,,M-N-16x75.step +N16-75MEU,N,16,75,M,E,,U,M-N-16x75.step +N16-75MECM,N,16,75,M,E,,CM,M-N-16x75.step +N16-75MELB,N,16,75,M,E,LB,,M-N-16x75.step +N16-75MELBU,N,16,75,M,E,LB,U,M-N-16x75.step +N16-75MELBCM,N,16,75,M,E,LB,CM,M-N-16x75.step +N16-75MEFA,N,16,75,M,E,FA,,M-N-16x75.step +N16-75MEFAU,N,16,75,M,E,FA,U,M-N-16x75.step +N16-75MEFACM,N,16,75,M,E,FA,CM,M-N-16x75.step +N16-75MEFB,N,16,75,M,E,FB,,M-N-16x75.step +N16-75MEFBU,N,16,75,M,E,FB,U,M-N-16x75.step +N16-75MEFBCM,N,16,75,M,E,FB,CM,M-N-16x75.step +N16-75MESDB,N,16,75,M,E,SDB,,M-N-16x75.step +N16-75MESDBU,N,16,75,M,E,SDB,U,M-N-16x75.step +N16-75MESDBCM,N,16,75,M,E,SDB,CM,M-N-16x75.step +N16-75M,N,16,75,M,,,,M-N-16x75.step +N16-75MU,N,16,75,M,,,U,M-N-16x75.step +N16-75MCM,N,16,75,M,,,CM,M-N-16x75.step +N16-75MLB,N,16,75,M,,LB,,M-N-16x75.step +N16-75MLBU,N,16,75,M,,LB,U,M-N-16x75.step +N16-75MLBCM,N,16,75,M,,LB,CM,M-N-16x75.step +N16-75MFA,N,16,75,M,,FA,,M-N-16x75.step +N16-75MFAU,N,16,75,M,,FA,U,M-N-16x75.step +N16-75MFACM,N,16,75,M,,FA,CM,M-N-16x75.step +N16-75MFB,N,16,75,M,,FB,,M-N-16x75.step +N16-75MFBU,N,16,75,M,,FB,U,M-N-16x75.step +N16-75MFBCM,N,16,75,M,,FB,CM,M-N-16x75.step +N16-75MSDB,N,16,75,M,,SDB,,M-N-16x75.step +N16-75MSDBU,N,16,75,M,,SDB,U,M-N-16x75.step +N16-75MSDBCM,N,16,75,M,,SDB,CM,M-N-16x75.step +N16-100E,N,16,100,,E,,,M-N-16x100.step +N16-100EU,N,16,100,,E,,U,M-N-16x100.step +N16-100ECM,N,16,100,,E,,CM,M-N-16x100.step +N16-100ELB,N,16,100,,E,LB,,M-N-16x100.step +N16-100ELBU,N,16,100,,E,LB,U,M-N-16x100.step +N16-100ELBCM,N,16,100,,E,LB,CM,M-N-16x100.step +N16-100EFA,N,16,100,,E,FA,,M-N-16x100.step +N16-100EFAU,N,16,100,,E,FA,U,M-N-16x100.step +N16-100EFACM,N,16,100,,E,FA,CM,M-N-16x100.step +N16-100EFB,N,16,100,,E,FB,,M-N-16x100.step +N16-100EFBU,N,16,100,,E,FB,U,M-N-16x100.step +N16-100EFBCM,N,16,100,,E,FB,CM,M-N-16x100.step +N16-100ESDB,N,16,100,,E,SDB,,M-N-16x100.step +N16-100ESDBU,N,16,100,,E,SDB,U,M-N-16x100.step +N16-100ESDBCM,N,16,100,,E,SDB,CM,M-N-16x100.step +N16-100,N,16,100,,,,,M-N-16x100.step +N16-100U,N,16,100,,,,U,M-N-16x100.step +N16-100CM,N,16,100,,,,CM,M-N-16x100.step +N16-100LB,N,16,100,,,LB,,M-N-16x100.step +N16-100LBU,N,16,100,,,LB,U,M-N-16x100.step +N16-100LBCM,N,16,100,,,LB,CM,M-N-16x100.step +N16-100FA,N,16,100,,,FA,,M-N-16x100.step +N16-100FAU,N,16,100,,,FA,U,M-N-16x100.step +N16-100FACM,N,16,100,,,FA,CM,M-N-16x100.step +N16-100FB,N,16,100,,,FB,,M-N-16x100.step +N16-100FBU,N,16,100,,,FB,U,M-N-16x100.step +N16-100FBCM,N,16,100,,,FB,CM,M-N-16x100.step +N16-100SDB,N,16,100,,,SDB,,M-N-16x100.step +N16-100SDBU,N,16,100,,,SDB,U,M-N-16x100.step +N16-100SDBCM,N,16,100,,,SDB,CM,M-N-16x100.step +N16-100ME,N,16,100,M,E,,,M-N-16x100.step +N16-100MEU,N,16,100,M,E,,U,M-N-16x100.step +N16-100MECM,N,16,100,M,E,,CM,M-N-16x100.step +N16-100MELB,N,16,100,M,E,LB,,M-N-16x100.step +N16-100MELBU,N,16,100,M,E,LB,U,M-N-16x100.step +N16-100MELBCM,N,16,100,M,E,LB,CM,M-N-16x100.step +N16-100MEFA,N,16,100,M,E,FA,,M-N-16x100.step +N16-100MEFAU,N,16,100,M,E,FA,U,M-N-16x100.step +N16-100MEFACM,N,16,100,M,E,FA,CM,M-N-16x100.step +N16-100MEFB,N,16,100,M,E,FB,,M-N-16x100.step +N16-100MEFBU,N,16,100,M,E,FB,U,M-N-16x100.step +N16-100MEFBCM,N,16,100,M,E,FB,CM,M-N-16x100.step +N16-100MESDB,N,16,100,M,E,SDB,,M-N-16x100.step +N16-100MESDBU,N,16,100,M,E,SDB,U,M-N-16x100.step +N16-100MESDBCM,N,16,100,M,E,SDB,CM,M-N-16x100.step +N16-100M,N,16,100,M,,,,M-N-16x100.step +N16-100MU,N,16,100,M,,,U,M-N-16x100.step +N16-100MCM,N,16,100,M,,,CM,M-N-16x100.step +N16-100MLB,N,16,100,M,,LB,,M-N-16x100.step +N16-100MLBU,N,16,100,M,,LB,U,M-N-16x100.step +N16-100MLBCM,N,16,100,M,,LB,CM,M-N-16x100.step +N16-100MFA,N,16,100,M,,FA,,M-N-16x100.step +N16-100MFAU,N,16,100,M,,FA,U,M-N-16x100.step +N16-100MFACM,N,16,100,M,,FA,CM,M-N-16x100.step +N16-100MFB,N,16,100,M,,FB,,M-N-16x100.step +N16-100MFBU,N,16,100,M,,FB,U,M-N-16x100.step +N16-100MFBCM,N,16,100,M,,FB,CM,M-N-16x100.step +N16-100MSDB,N,16,100,M,,SDB,,M-N-16x100.step +N16-100MSDBU,N,16,100,M,,SDB,U,M-N-16x100.step +N16-100MSDBCM,N,16,100,M,,SDB,CM,M-N-16x100.step +N20-10E,N,20,10,,E,,,M-N-20x10.step +N20-10EU,N,20,10,,E,,U,M-N-20x10.step +N20-10ECM,N,20,10,,E,,CM,M-N-20x10.step +N20-10ELB,N,20,10,,E,LB,,M-N-20x10.step +N20-10ELBU,N,20,10,,E,LB,U,M-N-20x10.step +N20-10ELBCM,N,20,10,,E,LB,CM,M-N-20x10.step +N20-10EFA,N,20,10,,E,FA,,M-N-20x10.step +N20-10EFAU,N,20,10,,E,FA,U,M-N-20x10.step +N20-10EFACM,N,20,10,,E,FA,CM,M-N-20x10.step +N20-10EFB,N,20,10,,E,FB,,M-N-20x10.step +N20-10EFBU,N,20,10,,E,FB,U,M-N-20x10.step +N20-10EFBCM,N,20,10,,E,FB,CM,M-N-20x10.step +N20-10ESDB,N,20,10,,E,SDB,,M-N-20x10.step +N20-10ESDBU,N,20,10,,E,SDB,U,M-N-20x10.step +N20-10ESDBCM,N,20,10,,E,SDB,CM,M-N-20x10.step +N20-10,N,20,10,,,,,M-N-20x10.step +N20-10U,N,20,10,,,,U,M-N-20x10.step +N20-10CM,N,20,10,,,,CM,M-N-20x10.step +N20-10LB,N,20,10,,,LB,,M-N-20x10.step +N20-10LBU,N,20,10,,,LB,U,M-N-20x10.step +N20-10LBCM,N,20,10,,,LB,CM,M-N-20x10.step +N20-10FA,N,20,10,,,FA,,M-N-20x10.step +N20-10FAU,N,20,10,,,FA,U,M-N-20x10.step +N20-10FACM,N,20,10,,,FA,CM,M-N-20x10.step +N20-10FB,N,20,10,,,FB,,M-N-20x10.step +N20-10FBU,N,20,10,,,FB,U,M-N-20x10.step +N20-10FBCM,N,20,10,,,FB,CM,M-N-20x10.step +N20-10SDB,N,20,10,,,SDB,,M-N-20x10.step +N20-10SDBU,N,20,10,,,SDB,U,M-N-20x10.step +N20-10SDBCM,N,20,10,,,SDB,CM,M-N-20x10.step +N20-10ME,N,20,10,M,E,,,M-N-20x10.step +N20-10MEU,N,20,10,M,E,,U,M-N-20x10.step +N20-10MECM,N,20,10,M,E,,CM,M-N-20x10.step +N20-10MELB,N,20,10,M,E,LB,,M-N-20x10.step +N20-10MELBU,N,20,10,M,E,LB,U,M-N-20x10.step +N20-10MELBCM,N,20,10,M,E,LB,CM,M-N-20x10.step +N20-10MEFA,N,20,10,M,E,FA,,M-N-20x10.step +N20-10MEFAU,N,20,10,M,E,FA,U,M-N-20x10.step +N20-10MEFACM,N,20,10,M,E,FA,CM,M-N-20x10.step +N20-10MEFB,N,20,10,M,E,FB,,M-N-20x10.step +N20-10MEFBU,N,20,10,M,E,FB,U,M-N-20x10.step +N20-10MEFBCM,N,20,10,M,E,FB,CM,M-N-20x10.step +N20-10MESDB,N,20,10,M,E,SDB,,M-N-20x10.step +N20-10MESDBU,N,20,10,M,E,SDB,U,M-N-20x10.step +N20-10MESDBCM,N,20,10,M,E,SDB,CM,M-N-20x10.step +N20-10M,N,20,10,M,,,,M-N-20x10.step +N20-10MU,N,20,10,M,,,U,M-N-20x10.step +N20-10MCM,N,20,10,M,,,CM,M-N-20x10.step +N20-10MLB,N,20,10,M,,LB,,M-N-20x10.step +N20-10MLBU,N,20,10,M,,LB,U,M-N-20x10.step +N20-10MLBCM,N,20,10,M,,LB,CM,M-N-20x10.step +N20-10MFA,N,20,10,M,,FA,,M-N-20x10.step +N20-10MFAU,N,20,10,M,,FA,U,M-N-20x10.step +N20-10MFACM,N,20,10,M,,FA,CM,M-N-20x10.step +N20-10MFB,N,20,10,M,,FB,,M-N-20x10.step +N20-10MFBU,N,20,10,M,,FB,U,M-N-20x10.step +N20-10MFBCM,N,20,10,M,,FB,CM,M-N-20x10.step +N20-10MSDB,N,20,10,M,,SDB,,M-N-20x10.step +N20-10MSDBU,N,20,10,M,,SDB,U,M-N-20x10.step +N20-10MSDBCM,N,20,10,M,,SDB,CM,M-N-20x10.step +N20-20E,N,20,20,,E,,,M-N-20x20.step +N20-20EU,N,20,20,,E,,U,M-N-20x20.step +N20-20ECM,N,20,20,,E,,CM,M-N-20x20.step +N20-20ELB,N,20,20,,E,LB,,M-N-20x20.step +N20-20ELBU,N,20,20,,E,LB,U,M-N-20x20.step +N20-20ELBCM,N,20,20,,E,LB,CM,M-N-20x20.step +N20-20EFA,N,20,20,,E,FA,,M-N-20x20.step +N20-20EFAU,N,20,20,,E,FA,U,M-N-20x20.step +N20-20EFACM,N,20,20,,E,FA,CM,M-N-20x20.step +N20-20EFB,N,20,20,,E,FB,,M-N-20x20.step +N20-20EFBU,N,20,20,,E,FB,U,M-N-20x20.step +N20-20EFBCM,N,20,20,,E,FB,CM,M-N-20x20.step +N20-20ESDB,N,20,20,,E,SDB,,M-N-20x20.step +N20-20ESDBU,N,20,20,,E,SDB,U,M-N-20x20.step +N20-20ESDBCM,N,20,20,,E,SDB,CM,M-N-20x20.step +N20-20,N,20,20,,,,,M-N-20x20.step +N20-20U,N,20,20,,,,U,M-N-20x20.step +N20-20CM,N,20,20,,,,CM,M-N-20x20.step +N20-20LB,N,20,20,,,LB,,M-N-20x20.step +N20-20LBU,N,20,20,,,LB,U,M-N-20x20.step +N20-20LBCM,N,20,20,,,LB,CM,M-N-20x20.step +N20-20FA,N,20,20,,,FA,,M-N-20x20.step +N20-20FAU,N,20,20,,,FA,U,M-N-20x20.step +N20-20FACM,N,20,20,,,FA,CM,M-N-20x20.step +N20-20FB,N,20,20,,,FB,,M-N-20x20.step +N20-20FBU,N,20,20,,,FB,U,M-N-20x20.step +N20-20FBCM,N,20,20,,,FB,CM,M-N-20x20.step +N20-20SDB,N,20,20,,,SDB,,M-N-20x20.step +N20-20SDBU,N,20,20,,,SDB,U,M-N-20x20.step +N20-20SDBCM,N,20,20,,,SDB,CM,M-N-20x20.step +N20-20ME,N,20,20,M,E,,,M-N-20x20.step +N20-20MEU,N,20,20,M,E,,U,M-N-20x20.step +N20-20MECM,N,20,20,M,E,,CM,M-N-20x20.step +N20-20MELB,N,20,20,M,E,LB,,M-N-20x20.step +N20-20MELBU,N,20,20,M,E,LB,U,M-N-20x20.step +N20-20MELBCM,N,20,20,M,E,LB,CM,M-N-20x20.step +N20-20MEFA,N,20,20,M,E,FA,,M-N-20x20.step +N20-20MEFAU,N,20,20,M,E,FA,U,M-N-20x20.step +N20-20MEFACM,N,20,20,M,E,FA,CM,M-N-20x20.step +N20-20MEFB,N,20,20,M,E,FB,,M-N-20x20.step +N20-20MEFBU,N,20,20,M,E,FB,U,M-N-20x20.step +N20-20MEFBCM,N,20,20,M,E,FB,CM,M-N-20x20.step +N20-20MESDB,N,20,20,M,E,SDB,,M-N-20x20.step +N20-20MESDBU,N,20,20,M,E,SDB,U,M-N-20x20.step +N20-20MESDBCM,N,20,20,M,E,SDB,CM,M-N-20x20.step +N20-20M,N,20,20,M,,,,M-N-20x20.step +N20-20MU,N,20,20,M,,,U,M-N-20x20.step +N20-20MCM,N,20,20,M,,,CM,M-N-20x20.step +N20-20MLB,N,20,20,M,,LB,,M-N-20x20.step +N20-20MLBU,N,20,20,M,,LB,U,M-N-20x20.step +N20-20MLBCM,N,20,20,M,,LB,CM,M-N-20x20.step +N20-20MFA,N,20,20,M,,FA,,M-N-20x20.step +N20-20MFAU,N,20,20,M,,FA,U,M-N-20x20.step +N20-20MFACM,N,20,20,M,,FA,CM,M-N-20x20.step +N20-20MFB,N,20,20,M,,FB,,M-N-20x20.step +N20-20MFBU,N,20,20,M,,FB,U,M-N-20x20.step +N20-20MFBCM,N,20,20,M,,FB,CM,M-N-20x20.step +N20-20MSDB,N,20,20,M,,SDB,,M-N-20x20.step +N20-20MSDBU,N,20,20,M,,SDB,U,M-N-20x20.step +N20-20MSDBCM,N,20,20,M,,SDB,CM,M-N-20x20.step +N20-30E,N,20,30,,E,,,M-N-20x30.step +N20-30EU,N,20,30,,E,,U,M-N-20x30.step +N20-30ECM,N,20,30,,E,,CM,M-N-20x30.step +N20-30ELB,N,20,30,,E,LB,,M-N-20x30.step +N20-30ELBU,N,20,30,,E,LB,U,M-N-20x30.step +N20-30ELBCM,N,20,30,,E,LB,CM,M-N-20x30.step +N20-30EFA,N,20,30,,E,FA,,M-N-20x30.step +N20-30EFAU,N,20,30,,E,FA,U,M-N-20x30.step +N20-30EFACM,N,20,30,,E,FA,CM,M-N-20x30.step +N20-30EFB,N,20,30,,E,FB,,M-N-20x30.step +N20-30EFBU,N,20,30,,E,FB,U,M-N-20x30.step +N20-30EFBCM,N,20,30,,E,FB,CM,M-N-20x30.step +N20-30ESDB,N,20,30,,E,SDB,,M-N-20x30.step +N20-30ESDBU,N,20,30,,E,SDB,U,M-N-20x30.step +N20-30ESDBCM,N,20,30,,E,SDB,CM,M-N-20x30.step +N20-30,N,20,30,,,,,M-N-20x30.step +N20-30U,N,20,30,,,,U,M-N-20x30.step +N20-30CM,N,20,30,,,,CM,M-N-20x30.step +N20-30LB,N,20,30,,,LB,,M-N-20x30.step +N20-30LBU,N,20,30,,,LB,U,M-N-20x30.step +N20-30LBCM,N,20,30,,,LB,CM,M-N-20x30.step +N20-30FA,N,20,30,,,FA,,M-N-20x30.step +N20-30FAU,N,20,30,,,FA,U,M-N-20x30.step +N20-30FACM,N,20,30,,,FA,CM,M-N-20x30.step +N20-30FB,N,20,30,,,FB,,M-N-20x30.step +N20-30FBU,N,20,30,,,FB,U,M-N-20x30.step +N20-30FBCM,N,20,30,,,FB,CM,M-N-20x30.step +N20-30SDB,N,20,30,,,SDB,,M-N-20x30.step +N20-30SDBU,N,20,30,,,SDB,U,M-N-20x30.step +N20-30SDBCM,N,20,30,,,SDB,CM,M-N-20x30.step +N20-30ME,N,20,30,M,E,,,M-N-20x30.step +N20-30MEU,N,20,30,M,E,,U,M-N-20x30.step +N20-30MECM,N,20,30,M,E,,CM,M-N-20x30.step +N20-30MELB,N,20,30,M,E,LB,,M-N-20x30.step +N20-30MELBU,N,20,30,M,E,LB,U,M-N-20x30.step +N20-30MELBCM,N,20,30,M,E,LB,CM,M-N-20x30.step +N20-30MEFA,N,20,30,M,E,FA,,M-N-20x30.step +N20-30MEFAU,N,20,30,M,E,FA,U,M-N-20x30.step +N20-30MEFACM,N,20,30,M,E,FA,CM,M-N-20x30.step +N20-30MEFB,N,20,30,M,E,FB,,M-N-20x30.step +N20-30MEFBU,N,20,30,M,E,FB,U,M-N-20x30.step +N20-30MEFBCM,N,20,30,M,E,FB,CM,M-N-20x30.step +N20-30MESDB,N,20,30,M,E,SDB,,M-N-20x30.step +N20-30MESDBU,N,20,30,M,E,SDB,U,M-N-20x30.step +N20-30MESDBCM,N,20,30,M,E,SDB,CM,M-N-20x30.step +N20-30M,N,20,30,M,,,,M-N-20x30.step +N20-30MU,N,20,30,M,,,U,M-N-20x30.step +N20-30MCM,N,20,30,M,,,CM,M-N-20x30.step +N20-30MLB,N,20,30,M,,LB,,M-N-20x30.step +N20-30MLBU,N,20,30,M,,LB,U,M-N-20x30.step +N20-30MLBCM,N,20,30,M,,LB,CM,M-N-20x30.step +N20-30MFA,N,20,30,M,,FA,,M-N-20x30.step +N20-30MFAU,N,20,30,M,,FA,U,M-N-20x30.step +N20-30MFACM,N,20,30,M,,FA,CM,M-N-20x30.step +N20-30MFB,N,20,30,M,,FB,,M-N-20x30.step +N20-30MFBU,N,20,30,M,,FB,U,M-N-20x30.step +N20-30MFBCM,N,20,30,M,,FB,CM,M-N-20x30.step +N20-30MSDB,N,20,30,M,,SDB,,M-N-20x30.step +N20-30MSDBU,N,20,30,M,,SDB,U,M-N-20x30.step +N20-30MSDBCM,N,20,30,M,,SDB,CM,M-N-20x30.step +N20-50E,N,20,50,,E,,,M-N-20x50.step +N20-50EU,N,20,50,,E,,U,M-N-20x50.step +N20-50ECM,N,20,50,,E,,CM,M-N-20x50.step +N20-50ELB,N,20,50,,E,LB,,M-N-20x50.step +N20-50ELBU,N,20,50,,E,LB,U,M-N-20x50.step +N20-50ELBCM,N,20,50,,E,LB,CM,M-N-20x50.step +N20-50EFA,N,20,50,,E,FA,,M-N-20x50.step +N20-50EFAU,N,20,50,,E,FA,U,M-N-20x50.step +N20-50EFACM,N,20,50,,E,FA,CM,M-N-20x50.step +N20-50EFB,N,20,50,,E,FB,,M-N-20x50.step +N20-50EFBU,N,20,50,,E,FB,U,M-N-20x50.step +N20-50EFBCM,N,20,50,,E,FB,CM,M-N-20x50.step +N20-50ESDB,N,20,50,,E,SDB,,M-N-20x50.step +N20-50ESDBU,N,20,50,,E,SDB,U,M-N-20x50.step +N20-50ESDBCM,N,20,50,,E,SDB,CM,M-N-20x50.step +N20-50,N,20,50,,,,,M-N-20x50.step +N20-50U,N,20,50,,,,U,M-N-20x50.step +N20-50CM,N,20,50,,,,CM,M-N-20x50.step +N20-50LB,N,20,50,,,LB,,M-N-20x50.step +N20-50LBU,N,20,50,,,LB,U,M-N-20x50.step +N20-50LBCM,N,20,50,,,LB,CM,M-N-20x50.step +N20-50FA,N,20,50,,,FA,,M-N-20x50.step +N20-50FAU,N,20,50,,,FA,U,M-N-20x50.step +N20-50FACM,N,20,50,,,FA,CM,M-N-20x50.step +N20-50FB,N,20,50,,,FB,,M-N-20x50.step +N20-50FBU,N,20,50,,,FB,U,M-N-20x50.step +N20-50FBCM,N,20,50,,,FB,CM,M-N-20x50.step +N20-50SDB,N,20,50,,,SDB,,M-N-20x50.step +N20-50SDBU,N,20,50,,,SDB,U,M-N-20x50.step +N20-50SDBCM,N,20,50,,,SDB,CM,M-N-20x50.step +N20-50ME,N,20,50,M,E,,,M-N-20x50.step +N20-50MEU,N,20,50,M,E,,U,M-N-20x50.step +N20-50MECM,N,20,50,M,E,,CM,M-N-20x50.step +N20-50MELB,N,20,50,M,E,LB,,M-N-20x50.step +N20-50MELBU,N,20,50,M,E,LB,U,M-N-20x50.step +N20-50MELBCM,N,20,50,M,E,LB,CM,M-N-20x50.step +N20-50MEFA,N,20,50,M,E,FA,,M-N-20x50.step +N20-50MEFAU,N,20,50,M,E,FA,U,M-N-20x50.step +N20-50MEFACM,N,20,50,M,E,FA,CM,M-N-20x50.step +N20-50MEFB,N,20,50,M,E,FB,,M-N-20x50.step +N20-50MEFBU,N,20,50,M,E,FB,U,M-N-20x50.step +N20-50MEFBCM,N,20,50,M,E,FB,CM,M-N-20x50.step +N20-50MESDB,N,20,50,M,E,SDB,,M-N-20x50.step +N20-50MESDBU,N,20,50,M,E,SDB,U,M-N-20x50.step +N20-50MESDBCM,N,20,50,M,E,SDB,CM,M-N-20x50.step +N20-50M,N,20,50,M,,,,M-N-20x50.step +N20-50MU,N,20,50,M,,,U,M-N-20x50.step +N20-50MCM,N,20,50,M,,,CM,M-N-20x50.step +N20-50MLB,N,20,50,M,,LB,,M-N-20x50.step +N20-50MLBU,N,20,50,M,,LB,U,M-N-20x50.step +N20-50MLBCM,N,20,50,M,,LB,CM,M-N-20x50.step +N20-50MFA,N,20,50,M,,FA,,M-N-20x50.step +N20-50MFAU,N,20,50,M,,FA,U,M-N-20x50.step +N20-50MFACM,N,20,50,M,,FA,CM,M-N-20x50.step +N20-50MFB,N,20,50,M,,FB,,M-N-20x50.step +N20-50MFBU,N,20,50,M,,FB,U,M-N-20x50.step +N20-50MFBCM,N,20,50,M,,FB,CM,M-N-20x50.step +N20-50MSDB,N,20,50,M,,SDB,,M-N-20x50.step +N20-50MSDBU,N,20,50,M,,SDB,U,M-N-20x50.step +N20-50MSDBCM,N,20,50,M,,SDB,CM,M-N-20x50.step +N20-75E,N,20,75,,E,,,M-N-20x75.step +N20-75EU,N,20,75,,E,,U,M-N-20x75.step +N20-75ECM,N,20,75,,E,,CM,M-N-20x75.step +N20-75ELB,N,20,75,,E,LB,,M-N-20x75.step +N20-75ELBU,N,20,75,,E,LB,U,M-N-20x75.step +N20-75ELBCM,N,20,75,,E,LB,CM,M-N-20x75.step +N20-75EFA,N,20,75,,E,FA,,M-N-20x75.step +N20-75EFAU,N,20,75,,E,FA,U,M-N-20x75.step +N20-75EFACM,N,20,75,,E,FA,CM,M-N-20x75.step +N20-75EFB,N,20,75,,E,FB,,M-N-20x75.step +N20-75EFBU,N,20,75,,E,FB,U,M-N-20x75.step +N20-75EFBCM,N,20,75,,E,FB,CM,M-N-20x75.step +N20-75ESDB,N,20,75,,E,SDB,,M-N-20x75.step +N20-75ESDBU,N,20,75,,E,SDB,U,M-N-20x75.step +N20-75ESDBCM,N,20,75,,E,SDB,CM,M-N-20x75.step +N20-75,N,20,75,,,,,M-N-20x75.step +N20-75U,N,20,75,,,,U,M-N-20x75.step +N20-75CM,N,20,75,,,,CM,M-N-20x75.step +N20-75LB,N,20,75,,,LB,,M-N-20x75.step +N20-75LBU,N,20,75,,,LB,U,M-N-20x75.step +N20-75LBCM,N,20,75,,,LB,CM,M-N-20x75.step +N20-75FA,N,20,75,,,FA,,M-N-20x75.step +N20-75FAU,N,20,75,,,FA,U,M-N-20x75.step +N20-75FACM,N,20,75,,,FA,CM,M-N-20x75.step +N20-75FB,N,20,75,,,FB,,M-N-20x75.step +N20-75FBU,N,20,75,,,FB,U,M-N-20x75.step +N20-75FBCM,N,20,75,,,FB,CM,M-N-20x75.step +N20-75SDB,N,20,75,,,SDB,,M-N-20x75.step +N20-75SDBU,N,20,75,,,SDB,U,M-N-20x75.step +N20-75SDBCM,N,20,75,,,SDB,CM,M-N-20x75.step +N20-75ME,N,20,75,M,E,,,M-N-20x75.step +N20-75MEU,N,20,75,M,E,,U,M-N-20x75.step +N20-75MECM,N,20,75,M,E,,CM,M-N-20x75.step +N20-75MELB,N,20,75,M,E,LB,,M-N-20x75.step +N20-75MELBU,N,20,75,M,E,LB,U,M-N-20x75.step +N20-75MELBCM,N,20,75,M,E,LB,CM,M-N-20x75.step +N20-75MEFA,N,20,75,M,E,FA,,M-N-20x75.step +N20-75MEFAU,N,20,75,M,E,FA,U,M-N-20x75.step +N20-75MEFACM,N,20,75,M,E,FA,CM,M-N-20x75.step +N20-75MEFB,N,20,75,M,E,FB,,M-N-20x75.step +N20-75MEFBU,N,20,75,M,E,FB,U,M-N-20x75.step +N20-75MEFBCM,N,20,75,M,E,FB,CM,M-N-20x75.step +N20-75MESDB,N,20,75,M,E,SDB,,M-N-20x75.step +N20-75MESDBU,N,20,75,M,E,SDB,U,M-N-20x75.step +N20-75MESDBCM,N,20,75,M,E,SDB,CM,M-N-20x75.step +N20-75M,N,20,75,M,,,,M-N-20x75.step +N20-75MU,N,20,75,M,,,U,M-N-20x75.step +N20-75MCM,N,20,75,M,,,CM,M-N-20x75.step +N20-75MLB,N,20,75,M,,LB,,M-N-20x75.step +N20-75MLBU,N,20,75,M,,LB,U,M-N-20x75.step +N20-75MLBCM,N,20,75,M,,LB,CM,M-N-20x75.step +N20-75MFA,N,20,75,M,,FA,,M-N-20x75.step +N20-75MFAU,N,20,75,M,,FA,U,M-N-20x75.step +N20-75MFACM,N,20,75,M,,FA,CM,M-N-20x75.step +N20-75MFB,N,20,75,M,,FB,,M-N-20x75.step +N20-75MFBU,N,20,75,M,,FB,U,M-N-20x75.step +N20-75MFBCM,N,20,75,M,,FB,CM,M-N-20x75.step +N20-75MSDB,N,20,75,M,,SDB,,M-N-20x75.step +N20-75MSDBU,N,20,75,M,,SDB,U,M-N-20x75.step +N20-75MSDBCM,N,20,75,M,,SDB,CM,M-N-20x75.step +N20-100E,N,20,100,,E,,,M-N-20x100.step +N20-100EU,N,20,100,,E,,U,M-N-20x100.step +N20-100ECM,N,20,100,,E,,CM,M-N-20x100.step +N20-100ELB,N,20,100,,E,LB,,M-N-20x100.step +N20-100ELBU,N,20,100,,E,LB,U,M-N-20x100.step +N20-100ELBCM,N,20,100,,E,LB,CM,M-N-20x100.step +N20-100EFA,N,20,100,,E,FA,,M-N-20x100.step +N20-100EFAU,N,20,100,,E,FA,U,M-N-20x100.step +N20-100EFACM,N,20,100,,E,FA,CM,M-N-20x100.step +N20-100EFB,N,20,100,,E,FB,,M-N-20x100.step +N20-100EFBU,N,20,100,,E,FB,U,M-N-20x100.step +N20-100EFBCM,N,20,100,,E,FB,CM,M-N-20x100.step +N20-100ESDB,N,20,100,,E,SDB,,M-N-20x100.step +N20-100ESDBU,N,20,100,,E,SDB,U,M-N-20x100.step +N20-100ESDBCM,N,20,100,,E,SDB,CM,M-N-20x100.step +N20-100,N,20,100,,,,,M-N-20x100.step +N20-100U,N,20,100,,,,U,M-N-20x100.step +N20-100CM,N,20,100,,,,CM,M-N-20x100.step +N20-100LB,N,20,100,,,LB,,M-N-20x100.step +N20-100LBU,N,20,100,,,LB,U,M-N-20x100.step +N20-100LBCM,N,20,100,,,LB,CM,M-N-20x100.step +N20-100FA,N,20,100,,,FA,,M-N-20x100.step +N20-100FAU,N,20,100,,,FA,U,M-N-20x100.step +N20-100FACM,N,20,100,,,FA,CM,M-N-20x100.step +N20-100FB,N,20,100,,,FB,,M-N-20x100.step +N20-100FBU,N,20,100,,,FB,U,M-N-20x100.step +N20-100FBCM,N,20,100,,,FB,CM,M-N-20x100.step +N20-100SDB,N,20,100,,,SDB,,M-N-20x100.step +N20-100SDBU,N,20,100,,,SDB,U,M-N-20x100.step +N20-100SDBCM,N,20,100,,,SDB,CM,M-N-20x100.step +N20-100ME,N,20,100,M,E,,,M-N-20x100.step +N20-100MEU,N,20,100,M,E,,U,M-N-20x100.step +N20-100MECM,N,20,100,M,E,,CM,M-N-20x100.step +N20-100MELB,N,20,100,M,E,LB,,M-N-20x100.step +N20-100MELBU,N,20,100,M,E,LB,U,M-N-20x100.step +N20-100MELBCM,N,20,100,M,E,LB,CM,M-N-20x100.step +N20-100MEFA,N,20,100,M,E,FA,,M-N-20x100.step +N20-100MEFAU,N,20,100,M,E,FA,U,M-N-20x100.step +N20-100MEFACM,N,20,100,M,E,FA,CM,M-N-20x100.step +N20-100MEFB,N,20,100,M,E,FB,,M-N-20x100.step +N20-100MEFBU,N,20,100,M,E,FB,U,M-N-20x100.step +N20-100MEFBCM,N,20,100,M,E,FB,CM,M-N-20x100.step +N20-100MESDB,N,20,100,M,E,SDB,,M-N-20x100.step +N20-100MESDBU,N,20,100,M,E,SDB,U,M-N-20x100.step +N20-100MESDBCM,N,20,100,M,E,SDB,CM,M-N-20x100.step +N20-100M,N,20,100,M,,,,M-N-20x100.step +N20-100MU,N,20,100,M,,,U,M-N-20x100.step +N20-100MCM,N,20,100,M,,,CM,M-N-20x100.step +N20-100MLB,N,20,100,M,,LB,,M-N-20x100.step +N20-100MLBU,N,20,100,M,,LB,U,M-N-20x100.step +N20-100MLBCM,N,20,100,M,,LB,CM,M-N-20x100.step +N20-100MFA,N,20,100,M,,FA,,M-N-20x100.step +N20-100MFAU,N,20,100,M,,FA,U,M-N-20x100.step +N20-100MFACM,N,20,100,M,,FA,CM,M-N-20x100.step +N20-100MFB,N,20,100,M,,FB,,M-N-20x100.step +N20-100MFBU,N,20,100,M,,FB,U,M-N-20x100.step +N20-100MFBCM,N,20,100,M,,FB,CM,M-N-20x100.step +N20-100MSDB,N,20,100,M,,SDB,,M-N-20x100.step +N20-100MSDBU,N,20,100,M,,SDB,U,M-N-20x100.step +N20-100MSDBCM,N,20,100,M,,SDB,CM,M-N-20x100.step +N25-10E,N,25,10,,E,,,M-N-25x10.step +N25-10EU,N,25,10,,E,,U,M-N-25x10.step +N25-10ECM,N,25,10,,E,,CM,M-N-25x10.step +N25-10ELB,N,25,10,,E,LB,,M-N-25x10.step +N25-10ELBU,N,25,10,,E,LB,U,M-N-25x10.step +N25-10ELBCM,N,25,10,,E,LB,CM,M-N-25x10.step +N25-10EFA,N,25,10,,E,FA,,M-N-25x10.step +N25-10EFAU,N,25,10,,E,FA,U,M-N-25x10.step +N25-10EFACM,N,25,10,,E,FA,CM,M-N-25x10.step +N25-10EFB,N,25,10,,E,FB,,M-N-25x10.step +N25-10EFBU,N,25,10,,E,FB,U,M-N-25x10.step +N25-10EFBCM,N,25,10,,E,FB,CM,M-N-25x10.step +N25-10ESDB,N,25,10,,E,SDB,,M-N-25x10.step +N25-10ESDBU,N,25,10,,E,SDB,U,M-N-25x10.step +N25-10ESDBCM,N,25,10,,E,SDB,CM,M-N-25x10.step +N25-10,N,25,10,,,,,M-N-25x10.step +N25-10U,N,25,10,,,,U,M-N-25x10.step +N25-10CM,N,25,10,,,,CM,M-N-25x10.step +N25-10LB,N,25,10,,,LB,,M-N-25x10.step +N25-10LBU,N,25,10,,,LB,U,M-N-25x10.step +N25-10LBCM,N,25,10,,,LB,CM,M-N-25x10.step +N25-10FA,N,25,10,,,FA,,M-N-25x10.step +N25-10FAU,N,25,10,,,FA,U,M-N-25x10.step +N25-10FACM,N,25,10,,,FA,CM,M-N-25x10.step +N25-10FB,N,25,10,,,FB,,M-N-25x10.step +N25-10FBU,N,25,10,,,FB,U,M-N-25x10.step +N25-10FBCM,N,25,10,,,FB,CM,M-N-25x10.step +N25-10SDB,N,25,10,,,SDB,,M-N-25x10.step +N25-10SDBU,N,25,10,,,SDB,U,M-N-25x10.step +N25-10SDBCM,N,25,10,,,SDB,CM,M-N-25x10.step +N25-10ME,N,25,10,M,E,,,M-N-25x10.step +N25-10MEU,N,25,10,M,E,,U,M-N-25x10.step +N25-10MECM,N,25,10,M,E,,CM,M-N-25x10.step +N25-10MELB,N,25,10,M,E,LB,,M-N-25x10.step +N25-10MELBU,N,25,10,M,E,LB,U,M-N-25x10.step +N25-10MELBCM,N,25,10,M,E,LB,CM,M-N-25x10.step +N25-10MEFA,N,25,10,M,E,FA,,M-N-25x10.step +N25-10MEFAU,N,25,10,M,E,FA,U,M-N-25x10.step +N25-10MEFACM,N,25,10,M,E,FA,CM,M-N-25x10.step +N25-10MEFB,N,25,10,M,E,FB,,M-N-25x10.step +N25-10MEFBU,N,25,10,M,E,FB,U,M-N-25x10.step +N25-10MEFBCM,N,25,10,M,E,FB,CM,M-N-25x10.step +N25-10MESDB,N,25,10,M,E,SDB,,M-N-25x10.step +N25-10MESDBU,N,25,10,M,E,SDB,U,M-N-25x10.step +N25-10MESDBCM,N,25,10,M,E,SDB,CM,M-N-25x10.step +N25-10M,N,25,10,M,,,,M-N-25x10.step +N25-10MU,N,25,10,M,,,U,M-N-25x10.step +N25-10MCM,N,25,10,M,,,CM,M-N-25x10.step +N25-10MLB,N,25,10,M,,LB,,M-N-25x10.step +N25-10MLBU,N,25,10,M,,LB,U,M-N-25x10.step +N25-10MLBCM,N,25,10,M,,LB,CM,M-N-25x10.step +N25-10MFA,N,25,10,M,,FA,,M-N-25x10.step +N25-10MFAU,N,25,10,M,,FA,U,M-N-25x10.step +N25-10MFACM,N,25,10,M,,FA,CM,M-N-25x10.step +N25-10MFB,N,25,10,M,,FB,,M-N-25x10.step +N25-10MFBU,N,25,10,M,,FB,U,M-N-25x10.step +N25-10MFBCM,N,25,10,M,,FB,CM,M-N-25x10.step +N25-10MSDB,N,25,10,M,,SDB,,M-N-25x10.step +N25-10MSDBU,N,25,10,M,,SDB,U,M-N-25x10.step +N25-10MSDBCM,N,25,10,M,,SDB,CM,M-N-25x10.step +N25-20E,N,25,20,,E,,,M-N-25x20.step +N25-20EU,N,25,20,,E,,U,M-N-25x20.step +N25-20ECM,N,25,20,,E,,CM,M-N-25x20.step +N25-20ELB,N,25,20,,E,LB,,M-N-25x20.step +N25-20ELBU,N,25,20,,E,LB,U,M-N-25x20.step +N25-20ELBCM,N,25,20,,E,LB,CM,M-N-25x20.step +N25-20EFA,N,25,20,,E,FA,,M-N-25x20.step +N25-20EFAU,N,25,20,,E,FA,U,M-N-25x20.step +N25-20EFACM,N,25,20,,E,FA,CM,M-N-25x20.step +N25-20EFB,N,25,20,,E,FB,,M-N-25x20.step +N25-20EFBU,N,25,20,,E,FB,U,M-N-25x20.step +N25-20EFBCM,N,25,20,,E,FB,CM,M-N-25x20.step +N25-20ESDB,N,25,20,,E,SDB,,M-N-25x20.step +N25-20ESDBU,N,25,20,,E,SDB,U,M-N-25x20.step +N25-20ESDBCM,N,25,20,,E,SDB,CM,M-N-25x20.step +N25-20,N,25,20,,,,,M-N-25x20.step +N25-20U,N,25,20,,,,U,M-N-25x20.step +N25-20CM,N,25,20,,,,CM,M-N-25x20.step +N25-20LB,N,25,20,,,LB,,M-N-25x20.step +N25-20LBU,N,25,20,,,LB,U,M-N-25x20.step +N25-20LBCM,N,25,20,,,LB,CM,M-N-25x20.step +N25-20FA,N,25,20,,,FA,,M-N-25x20.step +N25-20FAU,N,25,20,,,FA,U,M-N-25x20.step +N25-20FACM,N,25,20,,,FA,CM,M-N-25x20.step +N25-20FB,N,25,20,,,FB,,M-N-25x20.step +N25-20FBU,N,25,20,,,FB,U,M-N-25x20.step +N25-20FBCM,N,25,20,,,FB,CM,M-N-25x20.step +N25-20SDB,N,25,20,,,SDB,,M-N-25x20.step +N25-20SDBU,N,25,20,,,SDB,U,M-N-25x20.step +N25-20SDBCM,N,25,20,,,SDB,CM,M-N-25x20.step +N25-20ME,N,25,20,M,E,,,M-N-25x20.step +N25-20MEU,N,25,20,M,E,,U,M-N-25x20.step +N25-20MECM,N,25,20,M,E,,CM,M-N-25x20.step +N25-20MELB,N,25,20,M,E,LB,,M-N-25x20.step +N25-20MELBU,N,25,20,M,E,LB,U,M-N-25x20.step +N25-20MELBCM,N,25,20,M,E,LB,CM,M-N-25x20.step +N25-20MEFA,N,25,20,M,E,FA,,M-N-25x20.step +N25-20MEFAU,N,25,20,M,E,FA,U,M-N-25x20.step +N25-20MEFACM,N,25,20,M,E,FA,CM,M-N-25x20.step +N25-20MEFB,N,25,20,M,E,FB,,M-N-25x20.step +N25-20MEFBU,N,25,20,M,E,FB,U,M-N-25x20.step +N25-20MEFBCM,N,25,20,M,E,FB,CM,M-N-25x20.step +N25-20MESDB,N,25,20,M,E,SDB,,M-N-25x20.step +N25-20MESDBU,N,25,20,M,E,SDB,U,M-N-25x20.step +N25-20MESDBCM,N,25,20,M,E,SDB,CM,M-N-25x20.step +N25-20M,N,25,20,M,,,,M-N-25x20.step +N25-20MU,N,25,20,M,,,U,M-N-25x20.step +N25-20MCM,N,25,20,M,,,CM,M-N-25x20.step +N25-20MLB,N,25,20,M,,LB,,M-N-25x20.step +N25-20MLBU,N,25,20,M,,LB,U,M-N-25x20.step +N25-20MLBCM,N,25,20,M,,LB,CM,M-N-25x20.step +N25-20MFA,N,25,20,M,,FA,,M-N-25x20.step +N25-20MFAU,N,25,20,M,,FA,U,M-N-25x20.step +N25-20MFACM,N,25,20,M,,FA,CM,M-N-25x20.step +N25-20MFB,N,25,20,M,,FB,,M-N-25x20.step +N25-20MFBU,N,25,20,M,,FB,U,M-N-25x20.step +N25-20MFBCM,N,25,20,M,,FB,CM,M-N-25x20.step +N25-20MSDB,N,25,20,M,,SDB,,M-N-25x20.step +N25-20MSDBU,N,25,20,M,,SDB,U,M-N-25x20.step +N25-20MSDBCM,N,25,20,M,,SDB,CM,M-N-25x20.step +N25-30E,N,25,30,,E,,,M-N-25x30.step +N25-30EU,N,25,30,,E,,U,M-N-25x30.step +N25-30ECM,N,25,30,,E,,CM,M-N-25x30.step +N25-30ELB,N,25,30,,E,LB,,M-N-25x30.step +N25-30ELBU,N,25,30,,E,LB,U,M-N-25x30.step +N25-30ELBCM,N,25,30,,E,LB,CM,M-N-25x30.step +N25-30EFA,N,25,30,,E,FA,,M-N-25x30.step +N25-30EFAU,N,25,30,,E,FA,U,M-N-25x30.step +N25-30EFACM,N,25,30,,E,FA,CM,M-N-25x30.step +N25-30EFB,N,25,30,,E,FB,,M-N-25x30.step +N25-30EFBU,N,25,30,,E,FB,U,M-N-25x30.step +N25-30EFBCM,N,25,30,,E,FB,CM,M-N-25x30.step +N25-30ESDB,N,25,30,,E,SDB,,M-N-25x30.step +N25-30ESDBU,N,25,30,,E,SDB,U,M-N-25x30.step +N25-30ESDBCM,N,25,30,,E,SDB,CM,M-N-25x30.step +N25-30,N,25,30,,,,,M-N-25x30.step +N25-30U,N,25,30,,,,U,M-N-25x30.step +N25-30CM,N,25,30,,,,CM,M-N-25x30.step +N25-30LB,N,25,30,,,LB,,M-N-25x30.step +N25-30LBU,N,25,30,,,LB,U,M-N-25x30.step +N25-30LBCM,N,25,30,,,LB,CM,M-N-25x30.step +N25-30FA,N,25,30,,,FA,,M-N-25x30.step +N25-30FAU,N,25,30,,,FA,U,M-N-25x30.step +N25-30FACM,N,25,30,,,FA,CM,M-N-25x30.step +N25-30FB,N,25,30,,,FB,,M-N-25x30.step +N25-30FBU,N,25,30,,,FB,U,M-N-25x30.step +N25-30FBCM,N,25,30,,,FB,CM,M-N-25x30.step +N25-30SDB,N,25,30,,,SDB,,M-N-25x30.step +N25-30SDBU,N,25,30,,,SDB,U,M-N-25x30.step +N25-30SDBCM,N,25,30,,,SDB,CM,M-N-25x30.step +N25-30ME,N,25,30,M,E,,,M-N-25x30.step +N25-30MEU,N,25,30,M,E,,U,M-N-25x30.step +N25-30MECM,N,25,30,M,E,,CM,M-N-25x30.step +N25-30MELB,N,25,30,M,E,LB,,M-N-25x30.step +N25-30MELBU,N,25,30,M,E,LB,U,M-N-25x30.step +N25-30MELBCM,N,25,30,M,E,LB,CM,M-N-25x30.step +N25-30MEFA,N,25,30,M,E,FA,,M-N-25x30.step +N25-30MEFAU,N,25,30,M,E,FA,U,M-N-25x30.step +N25-30MEFACM,N,25,30,M,E,FA,CM,M-N-25x30.step +N25-30MEFB,N,25,30,M,E,FB,,M-N-25x30.step +N25-30MEFBU,N,25,30,M,E,FB,U,M-N-25x30.step +N25-30MEFBCM,N,25,30,M,E,FB,CM,M-N-25x30.step +N25-30MESDB,N,25,30,M,E,SDB,,M-N-25x30.step +N25-30MESDBU,N,25,30,M,E,SDB,U,M-N-25x30.step +N25-30MESDBCM,N,25,30,M,E,SDB,CM,M-N-25x30.step +N25-30M,N,25,30,M,,,,M-N-25x30.step +N25-30MU,N,25,30,M,,,U,M-N-25x30.step +N25-30MCM,N,25,30,M,,,CM,M-N-25x30.step +N25-30MLB,N,25,30,M,,LB,,M-N-25x30.step +N25-30MLBU,N,25,30,M,,LB,U,M-N-25x30.step +N25-30MLBCM,N,25,30,M,,LB,CM,M-N-25x30.step +N25-30MFA,N,25,30,M,,FA,,M-N-25x30.step +N25-30MFAU,N,25,30,M,,FA,U,M-N-25x30.step +N25-30MFACM,N,25,30,M,,FA,CM,M-N-25x30.step +N25-30MFB,N,25,30,M,,FB,,M-N-25x30.step +N25-30MFBU,N,25,30,M,,FB,U,M-N-25x30.step +N25-30MFBCM,N,25,30,M,,FB,CM,M-N-25x30.step +N25-30MSDB,N,25,30,M,,SDB,,M-N-25x30.step +N25-30MSDBU,N,25,30,M,,SDB,U,M-N-25x30.step +N25-30MSDBCM,N,25,30,M,,SDB,CM,M-N-25x30.step +N25-50E,N,25,50,,E,,,M-N-25x50.step +N25-50EU,N,25,50,,E,,U,M-N-25x50.step +N25-50ECM,N,25,50,,E,,CM,M-N-25x50.step +N25-50ELB,N,25,50,,E,LB,,M-N-25x50.step +N25-50ELBU,N,25,50,,E,LB,U,M-N-25x50.step +N25-50ELBCM,N,25,50,,E,LB,CM,M-N-25x50.step +N25-50EFA,N,25,50,,E,FA,,M-N-25x50.step +N25-50EFAU,N,25,50,,E,FA,U,M-N-25x50.step +N25-50EFACM,N,25,50,,E,FA,CM,M-N-25x50.step +N25-50EFB,N,25,50,,E,FB,,M-N-25x50.step +N25-50EFBU,N,25,50,,E,FB,U,M-N-25x50.step +N25-50EFBCM,N,25,50,,E,FB,CM,M-N-25x50.step +N25-50ESDB,N,25,50,,E,SDB,,M-N-25x50.step +N25-50ESDBU,N,25,50,,E,SDB,U,M-N-25x50.step +N25-50ESDBCM,N,25,50,,E,SDB,CM,M-N-25x50.step +N25-50,N,25,50,,,,,M-N-25x50.step +N25-50U,N,25,50,,,,U,M-N-25x50.step +N25-50CM,N,25,50,,,,CM,M-N-25x50.step +N25-50LB,N,25,50,,,LB,,M-N-25x50.step +N25-50LBU,N,25,50,,,LB,U,M-N-25x50.step +N25-50LBCM,N,25,50,,,LB,CM,M-N-25x50.step +N25-50FA,N,25,50,,,FA,,M-N-25x50.step +N25-50FAU,N,25,50,,,FA,U,M-N-25x50.step +N25-50FACM,N,25,50,,,FA,CM,M-N-25x50.step +N25-50FB,N,25,50,,,FB,,M-N-25x50.step +N25-50FBU,N,25,50,,,FB,U,M-N-25x50.step +N25-50FBCM,N,25,50,,,FB,CM,M-N-25x50.step +N25-50SDB,N,25,50,,,SDB,,M-N-25x50.step +N25-50SDBU,N,25,50,,,SDB,U,M-N-25x50.step +N25-50SDBCM,N,25,50,,,SDB,CM,M-N-25x50.step +N25-50ME,N,25,50,M,E,,,M-N-25x50.step +N25-50MEU,N,25,50,M,E,,U,M-N-25x50.step +N25-50MECM,N,25,50,M,E,,CM,M-N-25x50.step +N25-50MELB,N,25,50,M,E,LB,,M-N-25x50.step +N25-50MELBU,N,25,50,M,E,LB,U,M-N-25x50.step +N25-50MELBCM,N,25,50,M,E,LB,CM,M-N-25x50.step +N25-50MEFA,N,25,50,M,E,FA,,M-N-25x50.step +N25-50MEFAU,N,25,50,M,E,FA,U,M-N-25x50.step +N25-50MEFACM,N,25,50,M,E,FA,CM,M-N-25x50.step +N25-50MEFB,N,25,50,M,E,FB,,M-N-25x50.step +N25-50MEFBU,N,25,50,M,E,FB,U,M-N-25x50.step +N25-50MEFBCM,N,25,50,M,E,FB,CM,M-N-25x50.step +N25-50MESDB,N,25,50,M,E,SDB,,M-N-25x50.step +N25-50MESDBU,N,25,50,M,E,SDB,U,M-N-25x50.step +N25-50MESDBCM,N,25,50,M,E,SDB,CM,M-N-25x50.step +N25-50M,N,25,50,M,,,,M-N-25x50.step +N25-50MU,N,25,50,M,,,U,M-N-25x50.step +N25-50MCM,N,25,50,M,,,CM,M-N-25x50.step +N25-50MLB,N,25,50,M,,LB,,M-N-25x50.step +N25-50MLBU,N,25,50,M,,LB,U,M-N-25x50.step +N25-50MLBCM,N,25,50,M,,LB,CM,M-N-25x50.step +N25-50MFA,N,25,50,M,,FA,,M-N-25x50.step +N25-50MFAU,N,25,50,M,,FA,U,M-N-25x50.step +N25-50MFACM,N,25,50,M,,FA,CM,M-N-25x50.step +N25-50MFB,N,25,50,M,,FB,,M-N-25x50.step +N25-50MFBU,N,25,50,M,,FB,U,M-N-25x50.step +N25-50MFBCM,N,25,50,M,,FB,CM,M-N-25x50.step +N25-50MSDB,N,25,50,M,,SDB,,M-N-25x50.step +N25-50MSDBU,N,25,50,M,,SDB,U,M-N-25x50.step +N25-50MSDBCM,N,25,50,M,,SDB,CM,M-N-25x50.step +N25-75E,N,25,75,,E,,,M-N-25x75.step +N25-75EU,N,25,75,,E,,U,M-N-25x75.step +N25-75ECM,N,25,75,,E,,CM,M-N-25x75.step +N25-75ELB,N,25,75,,E,LB,,M-N-25x75.step +N25-75ELBU,N,25,75,,E,LB,U,M-N-25x75.step +N25-75ELBCM,N,25,75,,E,LB,CM,M-N-25x75.step +N25-75EFA,N,25,75,,E,FA,,M-N-25x75.step +N25-75EFAU,N,25,75,,E,FA,U,M-N-25x75.step +N25-75EFACM,N,25,75,,E,FA,CM,M-N-25x75.step +N25-75EFB,N,25,75,,E,FB,,M-N-25x75.step +N25-75EFBU,N,25,75,,E,FB,U,M-N-25x75.step +N25-75EFBCM,N,25,75,,E,FB,CM,M-N-25x75.step +N25-75ESDB,N,25,75,,E,SDB,,M-N-25x75.step +N25-75ESDBU,N,25,75,,E,SDB,U,M-N-25x75.step +N25-75ESDBCM,N,25,75,,E,SDB,CM,M-N-25x75.step +N25-75,N,25,75,,,,,M-N-25x75.step +N25-75U,N,25,75,,,,U,M-N-25x75.step +N25-75CM,N,25,75,,,,CM,M-N-25x75.step +N25-75LB,N,25,75,,,LB,,M-N-25x75.step +N25-75LBU,N,25,75,,,LB,U,M-N-25x75.step +N25-75LBCM,N,25,75,,,LB,CM,M-N-25x75.step +N25-75FA,N,25,75,,,FA,,M-N-25x75.step +N25-75FAU,N,25,75,,,FA,U,M-N-25x75.step +N25-75FACM,N,25,75,,,FA,CM,M-N-25x75.step +N25-75FB,N,25,75,,,FB,,M-N-25x75.step +N25-75FBU,N,25,75,,,FB,U,M-N-25x75.step +N25-75FBCM,N,25,75,,,FB,CM,M-N-25x75.step +N25-75SDB,N,25,75,,,SDB,,M-N-25x75.step +N25-75SDBU,N,25,75,,,SDB,U,M-N-25x75.step +N25-75SDBCM,N,25,75,,,SDB,CM,M-N-25x75.step +N25-75ME,N,25,75,M,E,,,M-N-25x75.step +N25-75MEU,N,25,75,M,E,,U,M-N-25x75.step +N25-75MECM,N,25,75,M,E,,CM,M-N-25x75.step +N25-75MELB,N,25,75,M,E,LB,,M-N-25x75.step +N25-75MELBU,N,25,75,M,E,LB,U,M-N-25x75.step +N25-75MELBCM,N,25,75,M,E,LB,CM,M-N-25x75.step +N25-75MEFA,N,25,75,M,E,FA,,M-N-25x75.step +N25-75MEFAU,N,25,75,M,E,FA,U,M-N-25x75.step +N25-75MEFACM,N,25,75,M,E,FA,CM,M-N-25x75.step +N25-75MEFB,N,25,75,M,E,FB,,M-N-25x75.step +N25-75MEFBU,N,25,75,M,E,FB,U,M-N-25x75.step +N25-75MEFBCM,N,25,75,M,E,FB,CM,M-N-25x75.step +N25-75MESDB,N,25,75,M,E,SDB,,M-N-25x75.step +N25-75MESDBU,N,25,75,M,E,SDB,U,M-N-25x75.step +N25-75MESDBCM,N,25,75,M,E,SDB,CM,M-N-25x75.step +N25-75M,N,25,75,M,,,,M-N-25x75.step +N25-75MU,N,25,75,M,,,U,M-N-25x75.step +N25-75MCM,N,25,75,M,,,CM,M-N-25x75.step +N25-75MLB,N,25,75,M,,LB,,M-N-25x75.step +N25-75MLBU,N,25,75,M,,LB,U,M-N-25x75.step +N25-75MLBCM,N,25,75,M,,LB,CM,M-N-25x75.step +N25-75MFA,N,25,75,M,,FA,,M-N-25x75.step +N25-75MFAU,N,25,75,M,,FA,U,M-N-25x75.step +N25-75MFACM,N,25,75,M,,FA,CM,M-N-25x75.step +N25-75MFB,N,25,75,M,,FB,,M-N-25x75.step +N25-75MFBU,N,25,75,M,,FB,U,M-N-25x75.step +N25-75MFBCM,N,25,75,M,,FB,CM,M-N-25x75.step +N25-75MSDB,N,25,75,M,,SDB,,M-N-25x75.step +N25-75MSDBU,N,25,75,M,,SDB,U,M-N-25x75.step +N25-75MSDBCM,N,25,75,M,,SDB,CM,M-N-25x75.step +N25-100E,N,25,100,,E,,,M-N-25x100.step +N25-100EU,N,25,100,,E,,U,M-N-25x100.step +N25-100ECM,N,25,100,,E,,CM,M-N-25x100.step +N25-100ELB,N,25,100,,E,LB,,M-N-25x100.step +N25-100ELBU,N,25,100,,E,LB,U,M-N-25x100.step +N25-100ELBCM,N,25,100,,E,LB,CM,M-N-25x100.step +N25-100EFA,N,25,100,,E,FA,,M-N-25x100.step +N25-100EFAU,N,25,100,,E,FA,U,M-N-25x100.step +N25-100EFACM,N,25,100,,E,FA,CM,M-N-25x100.step +N25-100EFB,N,25,100,,E,FB,,M-N-25x100.step +N25-100EFBU,N,25,100,,E,FB,U,M-N-25x100.step +N25-100EFBCM,N,25,100,,E,FB,CM,M-N-25x100.step +N25-100ESDB,N,25,100,,E,SDB,,M-N-25x100.step +N25-100ESDBU,N,25,100,,E,SDB,U,M-N-25x100.step +N25-100ESDBCM,N,25,100,,E,SDB,CM,M-N-25x100.step +N25-100,N,25,100,,,,,M-N-25x100.step +N25-100U,N,25,100,,,,U,M-N-25x100.step +N25-100CM,N,25,100,,,,CM,M-N-25x100.step +N25-100LB,N,25,100,,,LB,,M-N-25x100.step +N25-100LBU,N,25,100,,,LB,U,M-N-25x100.step +N25-100LBCM,N,25,100,,,LB,CM,M-N-25x100.step +N25-100FA,N,25,100,,,FA,,M-N-25x100.step +N25-100FAU,N,25,100,,,FA,U,M-N-25x100.step +N25-100FACM,N,25,100,,,FA,CM,M-N-25x100.step +N25-100FB,N,25,100,,,FB,,M-N-25x100.step +N25-100FBU,N,25,100,,,FB,U,M-N-25x100.step +N25-100FBCM,N,25,100,,,FB,CM,M-N-25x100.step +N25-100SDB,N,25,100,,,SDB,,M-N-25x100.step +N25-100SDBU,N,25,100,,,SDB,U,M-N-25x100.step +N25-100SDBCM,N,25,100,,,SDB,CM,M-N-25x100.step +N25-100ME,N,25,100,M,E,,,M-N-25x100.step +N25-100MEU,N,25,100,M,E,,U,M-N-25x100.step +N25-100MECM,N,25,100,M,E,,CM,M-N-25x100.step +N25-100MELB,N,25,100,M,E,LB,,M-N-25x100.step +N25-100MELBU,N,25,100,M,E,LB,U,M-N-25x100.step +N25-100MELBCM,N,25,100,M,E,LB,CM,M-N-25x100.step +N25-100MEFA,N,25,100,M,E,FA,,M-N-25x100.step +N25-100MEFAU,N,25,100,M,E,FA,U,M-N-25x100.step +N25-100MEFACM,N,25,100,M,E,FA,CM,M-N-25x100.step +N25-100MEFB,N,25,100,M,E,FB,,M-N-25x100.step +N25-100MEFBU,N,25,100,M,E,FB,U,M-N-25x100.step +N25-100MEFBCM,N,25,100,M,E,FB,CM,M-N-25x100.step +N25-100MESDB,N,25,100,M,E,SDB,,M-N-25x100.step +N25-100MESDBU,N,25,100,M,E,SDB,U,M-N-25x100.step +N25-100MESDBCM,N,25,100,M,E,SDB,CM,M-N-25x100.step +N25-100M,N,25,100,M,,,,M-N-25x100.step +N25-100MU,N,25,100,M,,,U,M-N-25x100.step +N25-100MCM,N,25,100,M,,,CM,M-N-25x100.step +N25-100MLB,N,25,100,M,,LB,,M-N-25x100.step +N25-100MLBU,N,25,100,M,,LB,U,M-N-25x100.step +N25-100MLBCM,N,25,100,M,,LB,CM,M-N-25x100.step +N25-100MFA,N,25,100,M,,FA,,M-N-25x100.step +N25-100MFAU,N,25,100,M,,FA,U,M-N-25x100.step +N25-100MFACM,N,25,100,M,,FA,CM,M-N-25x100.step +N25-100MFB,N,25,100,M,,FB,,M-N-25x100.step +N25-100MFBU,N,25,100,M,,FB,U,M-N-25x100.step +N25-100MFBCM,N,25,100,M,,FB,CM,M-N-25x100.step +N25-100MSDB,N,25,100,M,,SDB,,M-N-25x100.step +N25-100MSDBU,N,25,100,M,,SDB,U,M-N-25x100.step +N25-100MSDBCM,N,25,100,M,,SDB,CM,M-N-25x100.step +N32-10E,N,32,10,,E,,,M-N-32x10.step +N32-10EU,N,32,10,,E,,U,M-N-32x10.step +N32-10ECM,N,32,10,,E,,CM,M-N-32x10.step +N32-10ELB,N,32,10,,E,LB,,M-N-32x10.step +N32-10ELBU,N,32,10,,E,LB,U,M-N-32x10.step +N32-10ELBCM,N,32,10,,E,LB,CM,M-N-32x10.step +N32-10EFA,N,32,10,,E,FA,,M-N-32x10.step +N32-10EFAU,N,32,10,,E,FA,U,M-N-32x10.step +N32-10EFACM,N,32,10,,E,FA,CM,M-N-32x10.step +N32-10EFB,N,32,10,,E,FB,,M-N-32x10.step +N32-10EFBU,N,32,10,,E,FB,U,M-N-32x10.step +N32-10EFBCM,N,32,10,,E,FB,CM,M-N-32x10.step +N32-10ESDB,N,32,10,,E,SDB,,M-N-32x10.step +N32-10ESDBU,N,32,10,,E,SDB,U,M-N-32x10.step +N32-10ESDBCM,N,32,10,,E,SDB,CM,M-N-32x10.step +N32-10,N,32,10,,,,,M-N-32x10.step +N32-10U,N,32,10,,,,U,M-N-32x10.step +N32-10CM,N,32,10,,,,CM,M-N-32x10.step +N32-10LB,N,32,10,,,LB,,M-N-32x10.step +N32-10LBU,N,32,10,,,LB,U,M-N-32x10.step +N32-10LBCM,N,32,10,,,LB,CM,M-N-32x10.step +N32-10FA,N,32,10,,,FA,,M-N-32x10.step +N32-10FAU,N,32,10,,,FA,U,M-N-32x10.step +N32-10FACM,N,32,10,,,FA,CM,M-N-32x10.step +N32-10FB,N,32,10,,,FB,,M-N-32x10.step +N32-10FBU,N,32,10,,,FB,U,M-N-32x10.step +N32-10FBCM,N,32,10,,,FB,CM,M-N-32x10.step +N32-10SDB,N,32,10,,,SDB,,M-N-32x10.step +N32-10SDBU,N,32,10,,,SDB,U,M-N-32x10.step +N32-10SDBCM,N,32,10,,,SDB,CM,M-N-32x10.step +N32-10ME,N,32,10,M,E,,,M-N-32x10.step +N32-10MEU,N,32,10,M,E,,U,M-N-32x10.step +N32-10MECM,N,32,10,M,E,,CM,M-N-32x10.step +N32-10MELB,N,32,10,M,E,LB,,M-N-32x10.step +N32-10MELBU,N,32,10,M,E,LB,U,M-N-32x10.step +N32-10MELBCM,N,32,10,M,E,LB,CM,M-N-32x10.step +N32-10MEFA,N,32,10,M,E,FA,,M-N-32x10.step +N32-10MEFAU,N,32,10,M,E,FA,U,M-N-32x10.step +N32-10MEFACM,N,32,10,M,E,FA,CM,M-N-32x10.step +N32-10MEFB,N,32,10,M,E,FB,,M-N-32x10.step +N32-10MEFBU,N,32,10,M,E,FB,U,M-N-32x10.step +N32-10MEFBCM,N,32,10,M,E,FB,CM,M-N-32x10.step +N32-10MESDB,N,32,10,M,E,SDB,,M-N-32x10.step +N32-10MESDBU,N,32,10,M,E,SDB,U,M-N-32x10.step +N32-10MESDBCM,N,32,10,M,E,SDB,CM,M-N-32x10.step +N32-10M,N,32,10,M,,,,M-N-32x10.step +N32-10MU,N,32,10,M,,,U,M-N-32x10.step +N32-10MCM,N,32,10,M,,,CM,M-N-32x10.step +N32-10MLB,N,32,10,M,,LB,,M-N-32x10.step +N32-10MLBU,N,32,10,M,,LB,U,M-N-32x10.step +N32-10MLBCM,N,32,10,M,,LB,CM,M-N-32x10.step +N32-10MFA,N,32,10,M,,FA,,M-N-32x10.step +N32-10MFAU,N,32,10,M,,FA,U,M-N-32x10.step +N32-10MFACM,N,32,10,M,,FA,CM,M-N-32x10.step +N32-10MFB,N,32,10,M,,FB,,M-N-32x10.step +N32-10MFBU,N,32,10,M,,FB,U,M-N-32x10.step +N32-10MFBCM,N,32,10,M,,FB,CM,M-N-32x10.step +N32-10MSDB,N,32,10,M,,SDB,,M-N-32x10.step +N32-10MSDBU,N,32,10,M,,SDB,U,M-N-32x10.step +N32-10MSDBCM,N,32,10,M,,SDB,CM,M-N-32x10.step +N32-20E,N,32,20,,E,,,M-N-32x20.step +N32-20EU,N,32,20,,E,,U,M-N-32x20.step +N32-20ECM,N,32,20,,E,,CM,M-N-32x20.step +N32-20ELB,N,32,20,,E,LB,,M-N-32x20.step +N32-20ELBU,N,32,20,,E,LB,U,M-N-32x20.step +N32-20ELBCM,N,32,20,,E,LB,CM,M-N-32x20.step +N32-20EFA,N,32,20,,E,FA,,M-N-32x20.step +N32-20EFAU,N,32,20,,E,FA,U,M-N-32x20.step +N32-20EFACM,N,32,20,,E,FA,CM,M-N-32x20.step +N32-20EFB,N,32,20,,E,FB,,M-N-32x20.step +N32-20EFBU,N,32,20,,E,FB,U,M-N-32x20.step +N32-20EFBCM,N,32,20,,E,FB,CM,M-N-32x20.step +N32-20ESDB,N,32,20,,E,SDB,,M-N-32x20.step +N32-20ESDBU,N,32,20,,E,SDB,U,M-N-32x20.step +N32-20ESDBCM,N,32,20,,E,SDB,CM,M-N-32x20.step +N32-20,N,32,20,,,,,M-N-32x20.step +N32-20U,N,32,20,,,,U,M-N-32x20.step +N32-20CM,N,32,20,,,,CM,M-N-32x20.step +N32-20LB,N,32,20,,,LB,,M-N-32x20.step +N32-20LBU,N,32,20,,,LB,U,M-N-32x20.step +N32-20LBCM,N,32,20,,,LB,CM,M-N-32x20.step +N32-20FA,N,32,20,,,FA,,M-N-32x20.step +N32-20FAU,N,32,20,,,FA,U,M-N-32x20.step +N32-20FACM,N,32,20,,,FA,CM,M-N-32x20.step +N32-20FB,N,32,20,,,FB,,M-N-32x20.step +N32-20FBU,N,32,20,,,FB,U,M-N-32x20.step +N32-20FBCM,N,32,20,,,FB,CM,M-N-32x20.step +N32-20SDB,N,32,20,,,SDB,,M-N-32x20.step +N32-20SDBU,N,32,20,,,SDB,U,M-N-32x20.step +N32-20SDBCM,N,32,20,,,SDB,CM,M-N-32x20.step +N32-20ME,N,32,20,M,E,,,M-N-32x20.step +N32-20MEU,N,32,20,M,E,,U,M-N-32x20.step +N32-20MECM,N,32,20,M,E,,CM,M-N-32x20.step +N32-20MELB,N,32,20,M,E,LB,,M-N-32x20.step +N32-20MELBU,N,32,20,M,E,LB,U,M-N-32x20.step +N32-20MELBCM,N,32,20,M,E,LB,CM,M-N-32x20.step +N32-20MEFA,N,32,20,M,E,FA,,M-N-32x20.step +N32-20MEFAU,N,32,20,M,E,FA,U,M-N-32x20.step +N32-20MEFACM,N,32,20,M,E,FA,CM,M-N-32x20.step +N32-20MEFB,N,32,20,M,E,FB,,M-N-32x20.step +N32-20MEFBU,N,32,20,M,E,FB,U,M-N-32x20.step +N32-20MEFBCM,N,32,20,M,E,FB,CM,M-N-32x20.step +N32-20MESDB,N,32,20,M,E,SDB,,M-N-32x20.step +N32-20MESDBU,N,32,20,M,E,SDB,U,M-N-32x20.step +N32-20MESDBCM,N,32,20,M,E,SDB,CM,M-N-32x20.step +N32-20M,N,32,20,M,,,,M-N-32x20.step +N32-20MU,N,32,20,M,,,U,M-N-32x20.step +N32-20MCM,N,32,20,M,,,CM,M-N-32x20.step +N32-20MLB,N,32,20,M,,LB,,M-N-32x20.step +N32-20MLBU,N,32,20,M,,LB,U,M-N-32x20.step +N32-20MLBCM,N,32,20,M,,LB,CM,M-N-32x20.step +N32-20MFA,N,32,20,M,,FA,,M-N-32x20.step +N32-20MFAU,N,32,20,M,,FA,U,M-N-32x20.step +N32-20MFACM,N,32,20,M,,FA,CM,M-N-32x20.step +N32-20MFB,N,32,20,M,,FB,,M-N-32x20.step +N32-20MFBU,N,32,20,M,,FB,U,M-N-32x20.step +N32-20MFBCM,N,32,20,M,,FB,CM,M-N-32x20.step +N32-20MSDB,N,32,20,M,,SDB,,M-N-32x20.step +N32-20MSDBU,N,32,20,M,,SDB,U,M-N-32x20.step +N32-20MSDBCM,N,32,20,M,,SDB,CM,M-N-32x20.step +N32-30E,N,32,30,,E,,,M-N-32x30.step +N32-30EU,N,32,30,,E,,U,M-N-32x30.step +N32-30ECM,N,32,30,,E,,CM,M-N-32x30.step +N32-30ELB,N,32,30,,E,LB,,M-N-32x30.step +N32-30ELBU,N,32,30,,E,LB,U,M-N-32x30.step +N32-30ELBCM,N,32,30,,E,LB,CM,M-N-32x30.step +N32-30EFA,N,32,30,,E,FA,,M-N-32x30.step +N32-30EFAU,N,32,30,,E,FA,U,M-N-32x30.step +N32-30EFACM,N,32,30,,E,FA,CM,M-N-32x30.step +N32-30EFB,N,32,30,,E,FB,,M-N-32x30.step +N32-30EFBU,N,32,30,,E,FB,U,M-N-32x30.step +N32-30EFBCM,N,32,30,,E,FB,CM,M-N-32x30.step +N32-30ESDB,N,32,30,,E,SDB,,M-N-32x30.step +N32-30ESDBU,N,32,30,,E,SDB,U,M-N-32x30.step +N32-30ESDBCM,N,32,30,,E,SDB,CM,M-N-32x30.step +N32-30,N,32,30,,,,,M-N-32x30.step +N32-30U,N,32,30,,,,U,M-N-32x30.step +N32-30CM,N,32,30,,,,CM,M-N-32x30.step +N32-30LB,N,32,30,,,LB,,M-N-32x30.step +N32-30LBU,N,32,30,,,LB,U,M-N-32x30.step +N32-30LBCM,N,32,30,,,LB,CM,M-N-32x30.step +N32-30FA,N,32,30,,,FA,,M-N-32x30.step +N32-30FAU,N,32,30,,,FA,U,M-N-32x30.step +N32-30FACM,N,32,30,,,FA,CM,M-N-32x30.step +N32-30FB,N,32,30,,,FB,,M-N-32x30.step +N32-30FBU,N,32,30,,,FB,U,M-N-32x30.step +N32-30FBCM,N,32,30,,,FB,CM,M-N-32x30.step +N32-30SDB,N,32,30,,,SDB,,M-N-32x30.step +N32-30SDBU,N,32,30,,,SDB,U,M-N-32x30.step +N32-30SDBCM,N,32,30,,,SDB,CM,M-N-32x30.step +N32-30ME,N,32,30,M,E,,,M-N-32x30.step +N32-30MEU,N,32,30,M,E,,U,M-N-32x30.step +N32-30MECM,N,32,30,M,E,,CM,M-N-32x30.step +N32-30MELB,N,32,30,M,E,LB,,M-N-32x30.step +N32-30MELBU,N,32,30,M,E,LB,U,M-N-32x30.step +N32-30MELBCM,N,32,30,M,E,LB,CM,M-N-32x30.step +N32-30MEFA,N,32,30,M,E,FA,,M-N-32x30.step +N32-30MEFAU,N,32,30,M,E,FA,U,M-N-32x30.step +N32-30MEFACM,N,32,30,M,E,FA,CM,M-N-32x30.step +N32-30MEFB,N,32,30,M,E,FB,,M-N-32x30.step +N32-30MEFBU,N,32,30,M,E,FB,U,M-N-32x30.step +N32-30MEFBCM,N,32,30,M,E,FB,CM,M-N-32x30.step +N32-30MESDB,N,32,30,M,E,SDB,,M-N-32x30.step +N32-30MESDBU,N,32,30,M,E,SDB,U,M-N-32x30.step +N32-30MESDBCM,N,32,30,M,E,SDB,CM,M-N-32x30.step +N32-30M,N,32,30,M,,,,M-N-32x30.step +N32-30MU,N,32,30,M,,,U,M-N-32x30.step +N32-30MCM,N,32,30,M,,,CM,M-N-32x30.step +N32-30MLB,N,32,30,M,,LB,,M-N-32x30.step +N32-30MLBU,N,32,30,M,,LB,U,M-N-32x30.step +N32-30MLBCM,N,32,30,M,,LB,CM,M-N-32x30.step +N32-30MFA,N,32,30,M,,FA,,M-N-32x30.step +N32-30MFAU,N,32,30,M,,FA,U,M-N-32x30.step +N32-30MFACM,N,32,30,M,,FA,CM,M-N-32x30.step +N32-30MFB,N,32,30,M,,FB,,M-N-32x30.step +N32-30MFBU,N,32,30,M,,FB,U,M-N-32x30.step +N32-30MFBCM,N,32,30,M,,FB,CM,M-N-32x30.step +N32-30MSDB,N,32,30,M,,SDB,,M-N-32x30.step +N32-30MSDBU,N,32,30,M,,SDB,U,M-N-32x30.step +N32-30MSDBCM,N,32,30,M,,SDB,CM,M-N-32x30.step +N32-50E,N,32,50,,E,,,M-N-32x50.step +N32-50EU,N,32,50,,E,,U,M-N-32x50.step +N32-50ECM,N,32,50,,E,,CM,M-N-32x50.step +N32-50ELB,N,32,50,,E,LB,,M-N-32x50.step +N32-50ELBU,N,32,50,,E,LB,U,M-N-32x50.step +N32-50ELBCM,N,32,50,,E,LB,CM,M-N-32x50.step +N32-50EFA,N,32,50,,E,FA,,M-N-32x50.step +N32-50EFAU,N,32,50,,E,FA,U,M-N-32x50.step +N32-50EFACM,N,32,50,,E,FA,CM,M-N-32x50.step +N32-50EFB,N,32,50,,E,FB,,M-N-32x50.step +N32-50EFBU,N,32,50,,E,FB,U,M-N-32x50.step +N32-50EFBCM,N,32,50,,E,FB,CM,M-N-32x50.step +N32-50ESDB,N,32,50,,E,SDB,,M-N-32x50.step +N32-50ESDBU,N,32,50,,E,SDB,U,M-N-32x50.step +N32-50ESDBCM,N,32,50,,E,SDB,CM,M-N-32x50.step +N32-50,N,32,50,,,,,M-N-32x50.step +N32-50U,N,32,50,,,,U,M-N-32x50.step +N32-50CM,N,32,50,,,,CM,M-N-32x50.step +N32-50LB,N,32,50,,,LB,,M-N-32x50.step +N32-50LBU,N,32,50,,,LB,U,M-N-32x50.step +N32-50LBCM,N,32,50,,,LB,CM,M-N-32x50.step +N32-50FA,N,32,50,,,FA,,M-N-32x50.step +N32-50FAU,N,32,50,,,FA,U,M-N-32x50.step +N32-50FACM,N,32,50,,,FA,CM,M-N-32x50.step +N32-50FB,N,32,50,,,FB,,M-N-32x50.step +N32-50FBU,N,32,50,,,FB,U,M-N-32x50.step +N32-50FBCM,N,32,50,,,FB,CM,M-N-32x50.step +N32-50SDB,N,32,50,,,SDB,,M-N-32x50.step +N32-50SDBU,N,32,50,,,SDB,U,M-N-32x50.step +N32-50SDBCM,N,32,50,,,SDB,CM,M-N-32x50.step +N32-50ME,N,32,50,M,E,,,M-N-32x50.step +N32-50MEU,N,32,50,M,E,,U,M-N-32x50.step +N32-50MECM,N,32,50,M,E,,CM,M-N-32x50.step +N32-50MELB,N,32,50,M,E,LB,,M-N-32x50.step +N32-50MELBU,N,32,50,M,E,LB,U,M-N-32x50.step +N32-50MELBCM,N,32,50,M,E,LB,CM,M-N-32x50.step +N32-50MEFA,N,32,50,M,E,FA,,M-N-32x50.step +N32-50MEFAU,N,32,50,M,E,FA,U,M-N-32x50.step +N32-50MEFACM,N,32,50,M,E,FA,CM,M-N-32x50.step +N32-50MEFB,N,32,50,M,E,FB,,M-N-32x50.step +N32-50MEFBU,N,32,50,M,E,FB,U,M-N-32x50.step +N32-50MEFBCM,N,32,50,M,E,FB,CM,M-N-32x50.step +N32-50MESDB,N,32,50,M,E,SDB,,M-N-32x50.step +N32-50MESDBU,N,32,50,M,E,SDB,U,M-N-32x50.step +N32-50MESDBCM,N,32,50,M,E,SDB,CM,M-N-32x50.step +N32-50M,N,32,50,M,,,,M-N-32x50.step +N32-50MU,N,32,50,M,,,U,M-N-32x50.step +N32-50MCM,N,32,50,M,,,CM,M-N-32x50.step +N32-50MLB,N,32,50,M,,LB,,M-N-32x50.step +N32-50MLBU,N,32,50,M,,LB,U,M-N-32x50.step +N32-50MLBCM,N,32,50,M,,LB,CM,M-N-32x50.step +N32-50MFA,N,32,50,M,,FA,,M-N-32x50.step +N32-50MFAU,N,32,50,M,,FA,U,M-N-32x50.step +N32-50MFACM,N,32,50,M,,FA,CM,M-N-32x50.step +N32-50MFB,N,32,50,M,,FB,,M-N-32x50.step +N32-50MFBU,N,32,50,M,,FB,U,M-N-32x50.step +N32-50MFBCM,N,32,50,M,,FB,CM,M-N-32x50.step +N32-50MSDB,N,32,50,M,,SDB,,M-N-32x50.step +N32-50MSDBU,N,32,50,M,,SDB,U,M-N-32x50.step +N32-50MSDBCM,N,32,50,M,,SDB,CM,M-N-32x50.step +N32-75E,N,32,75,,E,,,M-N-32x75.step +N32-75EU,N,32,75,,E,,U,M-N-32x75.step +N32-75ECM,N,32,75,,E,,CM,M-N-32x75.step +N32-75ELB,N,32,75,,E,LB,,M-N-32x75.step +N32-75ELBU,N,32,75,,E,LB,U,M-N-32x75.step +N32-75ELBCM,N,32,75,,E,LB,CM,M-N-32x75.step +N32-75EFA,N,32,75,,E,FA,,M-N-32x75.step +N32-75EFAU,N,32,75,,E,FA,U,M-N-32x75.step +N32-75EFACM,N,32,75,,E,FA,CM,M-N-32x75.step +N32-75EFB,N,32,75,,E,FB,,M-N-32x75.step +N32-75EFBU,N,32,75,,E,FB,U,M-N-32x75.step +N32-75EFBCM,N,32,75,,E,FB,CM,M-N-32x75.step +N32-75ESDB,N,32,75,,E,SDB,,M-N-32x75.step +N32-75ESDBU,N,32,75,,E,SDB,U,M-N-32x75.step +N32-75ESDBCM,N,32,75,,E,SDB,CM,M-N-32x75.step +N32-75,N,32,75,,,,,M-N-32x75.step +N32-75U,N,32,75,,,,U,M-N-32x75.step +N32-75CM,N,32,75,,,,CM,M-N-32x75.step +N32-75LB,N,32,75,,,LB,,M-N-32x75.step +N32-75LBU,N,32,75,,,LB,U,M-N-32x75.step +N32-75LBCM,N,32,75,,,LB,CM,M-N-32x75.step +N32-75FA,N,32,75,,,FA,,M-N-32x75.step +N32-75FAU,N,32,75,,,FA,U,M-N-32x75.step +N32-75FACM,N,32,75,,,FA,CM,M-N-32x75.step +N32-75FB,N,32,75,,,FB,,M-N-32x75.step +N32-75FBU,N,32,75,,,FB,U,M-N-32x75.step +N32-75FBCM,N,32,75,,,FB,CM,M-N-32x75.step +N32-75SDB,N,32,75,,,SDB,,M-N-32x75.step +N32-75SDBU,N,32,75,,,SDB,U,M-N-32x75.step +N32-75SDBCM,N,32,75,,,SDB,CM,M-N-32x75.step +N32-75ME,N,32,75,M,E,,,M-N-32x75.step +N32-75MEU,N,32,75,M,E,,U,M-N-32x75.step +N32-75MECM,N,32,75,M,E,,CM,M-N-32x75.step +N32-75MELB,N,32,75,M,E,LB,,M-N-32x75.step +N32-75MELBU,N,32,75,M,E,LB,U,M-N-32x75.step +N32-75MELBCM,N,32,75,M,E,LB,CM,M-N-32x75.step +N32-75MEFA,N,32,75,M,E,FA,,M-N-32x75.step +N32-75MEFAU,N,32,75,M,E,FA,U,M-N-32x75.step +N32-75MEFACM,N,32,75,M,E,FA,CM,M-N-32x75.step +N32-75MEFB,N,32,75,M,E,FB,,M-N-32x75.step +N32-75MEFBU,N,32,75,M,E,FB,U,M-N-32x75.step +N32-75MEFBCM,N,32,75,M,E,FB,CM,M-N-32x75.step +N32-75MESDB,N,32,75,M,E,SDB,,M-N-32x75.step +N32-75MESDBU,N,32,75,M,E,SDB,U,M-N-32x75.step +N32-75MESDBCM,N,32,75,M,E,SDB,CM,M-N-32x75.step +N32-75M,N,32,75,M,,,,M-N-32x75.step +N32-75MU,N,32,75,M,,,U,M-N-32x75.step +N32-75MCM,N,32,75,M,,,CM,M-N-32x75.step +N32-75MLB,N,32,75,M,,LB,,M-N-32x75.step +N32-75MLBU,N,32,75,M,,LB,U,M-N-32x75.step +N32-75MLBCM,N,32,75,M,,LB,CM,M-N-32x75.step +N32-75MFA,N,32,75,M,,FA,,M-N-32x75.step +N32-75MFAU,N,32,75,M,,FA,U,M-N-32x75.step +N32-75MFACM,N,32,75,M,,FA,CM,M-N-32x75.step +N32-75MFB,N,32,75,M,,FB,,M-N-32x75.step +N32-75MFBU,N,32,75,M,,FB,U,M-N-32x75.step +N32-75MFBCM,N,32,75,M,,FB,CM,M-N-32x75.step +N32-75MSDB,N,32,75,M,,SDB,,M-N-32x75.step +N32-75MSDBU,N,32,75,M,,SDB,U,M-N-32x75.step +N32-75MSDBCM,N,32,75,M,,SDB,CM,M-N-32x75.step +N32-100E,N,32,100,,E,,,M-N-32x100.step +N32-100EU,N,32,100,,E,,U,M-N-32x100.step +N32-100ECM,N,32,100,,E,,CM,M-N-32x100.step +N32-100ELB,N,32,100,,E,LB,,M-N-32x100.step +N32-100ELBU,N,32,100,,E,LB,U,M-N-32x100.step +N32-100ELBCM,N,32,100,,E,LB,CM,M-N-32x100.step +N32-100EFA,N,32,100,,E,FA,,M-N-32x100.step +N32-100EFAU,N,32,100,,E,FA,U,M-N-32x100.step +N32-100EFACM,N,32,100,,E,FA,CM,M-N-32x100.step +N32-100EFB,N,32,100,,E,FB,,M-N-32x100.step +N32-100EFBU,N,32,100,,E,FB,U,M-N-32x100.step +N32-100EFBCM,N,32,100,,E,FB,CM,M-N-32x100.step +N32-100ESDB,N,32,100,,E,SDB,,M-N-32x100.step +N32-100ESDBU,N,32,100,,E,SDB,U,M-N-32x100.step +N32-100ESDBCM,N,32,100,,E,SDB,CM,M-N-32x100.step +N32-100,N,32,100,,,,,M-N-32x100.step +N32-100U,N,32,100,,,,U,M-N-32x100.step +N32-100CM,N,32,100,,,,CM,M-N-32x100.step +N32-100LB,N,32,100,,,LB,,M-N-32x100.step +N32-100LBU,N,32,100,,,LB,U,M-N-32x100.step +N32-100LBCM,N,32,100,,,LB,CM,M-N-32x100.step +N32-100FA,N,32,100,,,FA,,M-N-32x100.step +N32-100FAU,N,32,100,,,FA,U,M-N-32x100.step +N32-100FACM,N,32,100,,,FA,CM,M-N-32x100.step +N32-100FB,N,32,100,,,FB,,M-N-32x100.step +N32-100FBU,N,32,100,,,FB,U,M-N-32x100.step +N32-100FBCM,N,32,100,,,FB,CM,M-N-32x100.step +N32-100SDB,N,32,100,,,SDB,,M-N-32x100.step +N32-100SDBU,N,32,100,,,SDB,U,M-N-32x100.step +N32-100SDBCM,N,32,100,,,SDB,CM,M-N-32x100.step +N32-100ME,N,32,100,M,E,,,M-N-32x100.step +N32-100MEU,N,32,100,M,E,,U,M-N-32x100.step +N32-100MECM,N,32,100,M,E,,CM,M-N-32x100.step +N32-100MELB,N,32,100,M,E,LB,,M-N-32x100.step +N32-100MELBU,N,32,100,M,E,LB,U,M-N-32x100.step +N32-100MELBCM,N,32,100,M,E,LB,CM,M-N-32x100.step +N32-100MEFA,N,32,100,M,E,FA,,M-N-32x100.step +N32-100MEFAU,N,32,100,M,E,FA,U,M-N-32x100.step +N32-100MEFACM,N,32,100,M,E,FA,CM,M-N-32x100.step +N32-100MEFB,N,32,100,M,E,FB,,M-N-32x100.step +N32-100MEFBU,N,32,100,M,E,FB,U,M-N-32x100.step +N32-100MEFBCM,N,32,100,M,E,FB,CM,M-N-32x100.step +N32-100MESDB,N,32,100,M,E,SDB,,M-N-32x100.step +N32-100MESDBU,N,32,100,M,E,SDB,U,M-N-32x100.step +N32-100MESDBCM,N,32,100,M,E,SDB,CM,M-N-32x100.step +N32-100M,N,32,100,M,,,,M-N-32x100.step +N32-100MU,N,32,100,M,,,U,M-N-32x100.step +N32-100MCM,N,32,100,M,,,CM,M-N-32x100.step +N32-100MLB,N,32,100,M,,LB,,M-N-32x100.step +N32-100MLBU,N,32,100,M,,LB,U,M-N-32x100.step +N32-100MLBCM,N,32,100,M,,LB,CM,M-N-32x100.step +N32-100MFA,N,32,100,M,,FA,,M-N-32x100.step +N32-100MFAU,N,32,100,M,,FA,U,M-N-32x100.step +N32-100MFACM,N,32,100,M,,FA,CM,M-N-32x100.step +N32-100MFB,N,32,100,M,,FB,,M-N-32x100.step +N32-100MFBU,N,32,100,M,,FB,U,M-N-32x100.step +N32-100MFBCM,N,32,100,M,,FB,CM,M-N-32x100.step +N32-100MSDB,N,32,100,M,,SDB,,M-N-32x100.step +N32-100MSDBU,N,32,100,M,,SDB,U,M-N-32x100.step +N32-100MSDBCM,N,32,100,M,,SDB,CM,M-N-32x100.step +N40-10E,N,40,10,,E,,,M-N-40x10.step +N40-10EU,N,40,10,,E,,U,M-N-40x10.step +N40-10ECM,N,40,10,,E,,CM,M-N-40x10.step +N40-10ELB,N,40,10,,E,LB,,M-N-40x10.step +N40-10ELBU,N,40,10,,E,LB,U,M-N-40x10.step +N40-10ELBCM,N,40,10,,E,LB,CM,M-N-40x10.step +N40-10EFA,N,40,10,,E,FA,,M-N-40x10.step +N40-10EFAU,N,40,10,,E,FA,U,M-N-40x10.step +N40-10EFACM,N,40,10,,E,FA,CM,M-N-40x10.step +N40-10EFB,N,40,10,,E,FB,,M-N-40x10.step +N40-10EFBU,N,40,10,,E,FB,U,M-N-40x10.step +N40-10EFBCM,N,40,10,,E,FB,CM,M-N-40x10.step +N40-10ESDB,N,40,10,,E,SDB,,M-N-40x10.step +N40-10ESDBU,N,40,10,,E,SDB,U,M-N-40x10.step +N40-10ESDBCM,N,40,10,,E,SDB,CM,M-N-40x10.step +N40-10,N,40,10,,,,,M-N-40x10.step +N40-10U,N,40,10,,,,U,M-N-40x10.step +N40-10CM,N,40,10,,,,CM,M-N-40x10.step +N40-10LB,N,40,10,,,LB,,M-N-40x10.step +N40-10LBU,N,40,10,,,LB,U,M-N-40x10.step +N40-10LBCM,N,40,10,,,LB,CM,M-N-40x10.step +N40-10FA,N,40,10,,,FA,,M-N-40x10.step +N40-10FAU,N,40,10,,,FA,U,M-N-40x10.step +N40-10FACM,N,40,10,,,FA,CM,M-N-40x10.step +N40-10FB,N,40,10,,,FB,,M-N-40x10.step +N40-10FBU,N,40,10,,,FB,U,M-N-40x10.step +N40-10FBCM,N,40,10,,,FB,CM,M-N-40x10.step +N40-10SDB,N,40,10,,,SDB,,M-N-40x10.step +N40-10SDBU,N,40,10,,,SDB,U,M-N-40x10.step +N40-10SDBCM,N,40,10,,,SDB,CM,M-N-40x10.step +N40-10ME,N,40,10,M,E,,,M-N-40x10.step +N40-10MEU,N,40,10,M,E,,U,M-N-40x10.step +N40-10MECM,N,40,10,M,E,,CM,M-N-40x10.step +N40-10MELB,N,40,10,M,E,LB,,M-N-40x10.step +N40-10MELBU,N,40,10,M,E,LB,U,M-N-40x10.step +N40-10MELBCM,N,40,10,M,E,LB,CM,M-N-40x10.step +N40-10MEFA,N,40,10,M,E,FA,,M-N-40x10.step +N40-10MEFAU,N,40,10,M,E,FA,U,M-N-40x10.step +N40-10MEFACM,N,40,10,M,E,FA,CM,M-N-40x10.step +N40-10MEFB,N,40,10,M,E,FB,,M-N-40x10.step +N40-10MEFBU,N,40,10,M,E,FB,U,M-N-40x10.step +N40-10MEFBCM,N,40,10,M,E,FB,CM,M-N-40x10.step +N40-10MESDB,N,40,10,M,E,SDB,,M-N-40x10.step +N40-10MESDBU,N,40,10,M,E,SDB,U,M-N-40x10.step +N40-10MESDBCM,N,40,10,M,E,SDB,CM,M-N-40x10.step +N40-10M,N,40,10,M,,,,M-N-40x10.step +N40-10MU,N,40,10,M,,,U,M-N-40x10.step +N40-10MCM,N,40,10,M,,,CM,M-N-40x10.step +N40-10MLB,N,40,10,M,,LB,,M-N-40x10.step +N40-10MLBU,N,40,10,M,,LB,U,M-N-40x10.step +N40-10MLBCM,N,40,10,M,,LB,CM,M-N-40x10.step +N40-10MFA,N,40,10,M,,FA,,M-N-40x10.step +N40-10MFAU,N,40,10,M,,FA,U,M-N-40x10.step +N40-10MFACM,N,40,10,M,,FA,CM,M-N-40x10.step +N40-10MFB,N,40,10,M,,FB,,M-N-40x10.step +N40-10MFBU,N,40,10,M,,FB,U,M-N-40x10.step +N40-10MFBCM,N,40,10,M,,FB,CM,M-N-40x10.step +N40-10MSDB,N,40,10,M,,SDB,,M-N-40x10.step +N40-10MSDBU,N,40,10,M,,SDB,U,M-N-40x10.step +N40-10MSDBCM,N,40,10,M,,SDB,CM,M-N-40x10.step +N40-20E,N,40,20,,E,,,M-N-40x20.step +N40-20EU,N,40,20,,E,,U,M-N-40x20.step +N40-20ECM,N,40,20,,E,,CM,M-N-40x20.step +N40-20ELB,N,40,20,,E,LB,,M-N-40x20.step +N40-20ELBU,N,40,20,,E,LB,U,M-N-40x20.step +N40-20ELBCM,N,40,20,,E,LB,CM,M-N-40x20.step +N40-20EFA,N,40,20,,E,FA,,M-N-40x20.step +N40-20EFAU,N,40,20,,E,FA,U,M-N-40x20.step +N40-20EFACM,N,40,20,,E,FA,CM,M-N-40x20.step +N40-20EFB,N,40,20,,E,FB,,M-N-40x20.step +N40-20EFBU,N,40,20,,E,FB,U,M-N-40x20.step +N40-20EFBCM,N,40,20,,E,FB,CM,M-N-40x20.step +N40-20ESDB,N,40,20,,E,SDB,,M-N-40x20.step +N40-20ESDBU,N,40,20,,E,SDB,U,M-N-40x20.step +N40-20ESDBCM,N,40,20,,E,SDB,CM,M-N-40x20.step +N40-20,N,40,20,,,,,M-N-40x20.step +N40-20U,N,40,20,,,,U,M-N-40x20.step +N40-20CM,N,40,20,,,,CM,M-N-40x20.step +N40-20LB,N,40,20,,,LB,,M-N-40x20.step +N40-20LBU,N,40,20,,,LB,U,M-N-40x20.step +N40-20LBCM,N,40,20,,,LB,CM,M-N-40x20.step +N40-20FA,N,40,20,,,FA,,M-N-40x20.step +N40-20FAU,N,40,20,,,FA,U,M-N-40x20.step +N40-20FACM,N,40,20,,,FA,CM,M-N-40x20.step +N40-20FB,N,40,20,,,FB,,M-N-40x20.step +N40-20FBU,N,40,20,,,FB,U,M-N-40x20.step +N40-20FBCM,N,40,20,,,FB,CM,M-N-40x20.step +N40-20SDB,N,40,20,,,SDB,,M-N-40x20.step +N40-20SDBU,N,40,20,,,SDB,U,M-N-40x20.step +N40-20SDBCM,N,40,20,,,SDB,CM,M-N-40x20.step +N40-20ME,N,40,20,M,E,,,M-N-40x20.step +N40-20MEU,N,40,20,M,E,,U,M-N-40x20.step +N40-20MECM,N,40,20,M,E,,CM,M-N-40x20.step +N40-20MELB,N,40,20,M,E,LB,,M-N-40x20.step +N40-20MELBU,N,40,20,M,E,LB,U,M-N-40x20.step +N40-20MELBCM,N,40,20,M,E,LB,CM,M-N-40x20.step +N40-20MEFA,N,40,20,M,E,FA,,M-N-40x20.step +N40-20MEFAU,N,40,20,M,E,FA,U,M-N-40x20.step +N40-20MEFACM,N,40,20,M,E,FA,CM,M-N-40x20.step +N40-20MEFB,N,40,20,M,E,FB,,M-N-40x20.step +N40-20MEFBU,N,40,20,M,E,FB,U,M-N-40x20.step +N40-20MEFBCM,N,40,20,M,E,FB,CM,M-N-40x20.step +N40-20MESDB,N,40,20,M,E,SDB,,M-N-40x20.step +N40-20MESDBU,N,40,20,M,E,SDB,U,M-N-40x20.step +N40-20MESDBCM,N,40,20,M,E,SDB,CM,M-N-40x20.step +N40-20M,N,40,20,M,,,,M-N-40x20.step +N40-20MU,N,40,20,M,,,U,M-N-40x20.step +N40-20MCM,N,40,20,M,,,CM,M-N-40x20.step +N40-20MLB,N,40,20,M,,LB,,M-N-40x20.step +N40-20MLBU,N,40,20,M,,LB,U,M-N-40x20.step +N40-20MLBCM,N,40,20,M,,LB,CM,M-N-40x20.step +N40-20MFA,N,40,20,M,,FA,,M-N-40x20.step +N40-20MFAU,N,40,20,M,,FA,U,M-N-40x20.step +N40-20MFACM,N,40,20,M,,FA,CM,M-N-40x20.step +N40-20MFB,N,40,20,M,,FB,,M-N-40x20.step +N40-20MFBU,N,40,20,M,,FB,U,M-N-40x20.step +N40-20MFBCM,N,40,20,M,,FB,CM,M-N-40x20.step +N40-20MSDB,N,40,20,M,,SDB,,M-N-40x20.step +N40-20MSDBU,N,40,20,M,,SDB,U,M-N-40x20.step +N40-20MSDBCM,N,40,20,M,,SDB,CM,M-N-40x20.step +N40-30E,N,40,30,,E,,,M-N-40x30.step +N40-30EU,N,40,30,,E,,U,M-N-40x30.step +N40-30ECM,N,40,30,,E,,CM,M-N-40x30.step +N40-30ELB,N,40,30,,E,LB,,M-N-40x30.step +N40-30ELBU,N,40,30,,E,LB,U,M-N-40x30.step +N40-30ELBCM,N,40,30,,E,LB,CM,M-N-40x30.step +N40-30EFA,N,40,30,,E,FA,,M-N-40x30.step +N40-30EFAU,N,40,30,,E,FA,U,M-N-40x30.step +N40-30EFACM,N,40,30,,E,FA,CM,M-N-40x30.step +N40-30EFB,N,40,30,,E,FB,,M-N-40x30.step +N40-30EFBU,N,40,30,,E,FB,U,M-N-40x30.step +N40-30EFBCM,N,40,30,,E,FB,CM,M-N-40x30.step +N40-30ESDB,N,40,30,,E,SDB,,M-N-40x30.step +N40-30ESDBU,N,40,30,,E,SDB,U,M-N-40x30.step +N40-30ESDBCM,N,40,30,,E,SDB,CM,M-N-40x30.step +N40-30,N,40,30,,,,,M-N-40x30.step +N40-30U,N,40,30,,,,U,M-N-40x30.step +N40-30CM,N,40,30,,,,CM,M-N-40x30.step +N40-30LB,N,40,30,,,LB,,M-N-40x30.step +N40-30LBU,N,40,30,,,LB,U,M-N-40x30.step +N40-30LBCM,N,40,30,,,LB,CM,M-N-40x30.step +N40-30FA,N,40,30,,,FA,,M-N-40x30.step +N40-30FAU,N,40,30,,,FA,U,M-N-40x30.step +N40-30FACM,N,40,30,,,FA,CM,M-N-40x30.step +N40-30FB,N,40,30,,,FB,,M-N-40x30.step +N40-30FBU,N,40,30,,,FB,U,M-N-40x30.step +N40-30FBCM,N,40,30,,,FB,CM,M-N-40x30.step +N40-30SDB,N,40,30,,,SDB,,M-N-40x30.step +N40-30SDBU,N,40,30,,,SDB,U,M-N-40x30.step +N40-30SDBCM,N,40,30,,,SDB,CM,M-N-40x30.step +N40-30ME,N,40,30,M,E,,,M-N-40x30.step +N40-30MEU,N,40,30,M,E,,U,M-N-40x30.step +N40-30MECM,N,40,30,M,E,,CM,M-N-40x30.step +N40-30MELB,N,40,30,M,E,LB,,M-N-40x30.step +N40-30MELBU,N,40,30,M,E,LB,U,M-N-40x30.step +N40-30MELBCM,N,40,30,M,E,LB,CM,M-N-40x30.step +N40-30MEFA,N,40,30,M,E,FA,,M-N-40x30.step +N40-30MEFAU,N,40,30,M,E,FA,U,M-N-40x30.step +N40-30MEFACM,N,40,30,M,E,FA,CM,M-N-40x30.step +N40-30MEFB,N,40,30,M,E,FB,,M-N-40x30.step +N40-30MEFBU,N,40,30,M,E,FB,U,M-N-40x30.step +N40-30MEFBCM,N,40,30,M,E,FB,CM,M-N-40x30.step +N40-30MESDB,N,40,30,M,E,SDB,,M-N-40x30.step +N40-30MESDBU,N,40,30,M,E,SDB,U,M-N-40x30.step +N40-30MESDBCM,N,40,30,M,E,SDB,CM,M-N-40x30.step +N40-30M,N,40,30,M,,,,M-N-40x30.step +N40-30MU,N,40,30,M,,,U,M-N-40x30.step +N40-30MCM,N,40,30,M,,,CM,M-N-40x30.step +N40-30MLB,N,40,30,M,,LB,,M-N-40x30.step +N40-30MLBU,N,40,30,M,,LB,U,M-N-40x30.step +N40-30MLBCM,N,40,30,M,,LB,CM,M-N-40x30.step +N40-30MFA,N,40,30,M,,FA,,M-N-40x30.step +N40-30MFAU,N,40,30,M,,FA,U,M-N-40x30.step +N40-30MFACM,N,40,30,M,,FA,CM,M-N-40x30.step +N40-30MFB,N,40,30,M,,FB,,M-N-40x30.step +N40-30MFBU,N,40,30,M,,FB,U,M-N-40x30.step +N40-30MFBCM,N,40,30,M,,FB,CM,M-N-40x30.step +N40-30MSDB,N,40,30,M,,SDB,,M-N-40x30.step +N40-30MSDBU,N,40,30,M,,SDB,U,M-N-40x30.step +N40-30MSDBCM,N,40,30,M,,SDB,CM,M-N-40x30.step +N40-50E,N,40,50,,E,,,M-N-40x50.step +N40-50EU,N,40,50,,E,,U,M-N-40x50.step +N40-50ECM,N,40,50,,E,,CM,M-N-40x50.step +N40-50ELB,N,40,50,,E,LB,,M-N-40x50.step +N40-50ELBU,N,40,50,,E,LB,U,M-N-40x50.step +N40-50ELBCM,N,40,50,,E,LB,CM,M-N-40x50.step +N40-50EFA,N,40,50,,E,FA,,M-N-40x50.step +N40-50EFAU,N,40,50,,E,FA,U,M-N-40x50.step +N40-50EFACM,N,40,50,,E,FA,CM,M-N-40x50.step +N40-50EFB,N,40,50,,E,FB,,M-N-40x50.step +N40-50EFBU,N,40,50,,E,FB,U,M-N-40x50.step +N40-50EFBCM,N,40,50,,E,FB,CM,M-N-40x50.step +N40-50ESDB,N,40,50,,E,SDB,,M-N-40x50.step +N40-50ESDBU,N,40,50,,E,SDB,U,M-N-40x50.step +N40-50ESDBCM,N,40,50,,E,SDB,CM,M-N-40x50.step +N40-50,N,40,50,,,,,M-N-40x50.step +N40-50U,N,40,50,,,,U,M-N-40x50.step +N40-50CM,N,40,50,,,,CM,M-N-40x50.step +N40-50LB,N,40,50,,,LB,,M-N-40x50.step +N40-50LBU,N,40,50,,,LB,U,M-N-40x50.step +N40-50LBCM,N,40,50,,,LB,CM,M-N-40x50.step +N40-50FA,N,40,50,,,FA,,M-N-40x50.step +N40-50FAU,N,40,50,,,FA,U,M-N-40x50.step +N40-50FACM,N,40,50,,,FA,CM,M-N-40x50.step +N40-50FB,N,40,50,,,FB,,M-N-40x50.step +N40-50FBU,N,40,50,,,FB,U,M-N-40x50.step +N40-50FBCM,N,40,50,,,FB,CM,M-N-40x50.step +N40-50SDB,N,40,50,,,SDB,,M-N-40x50.step +N40-50SDBU,N,40,50,,,SDB,U,M-N-40x50.step +N40-50SDBCM,N,40,50,,,SDB,CM,M-N-40x50.step +N40-50ME,N,40,50,M,E,,,M-N-40x50.step +N40-50MEU,N,40,50,M,E,,U,M-N-40x50.step +N40-50MECM,N,40,50,M,E,,CM,M-N-40x50.step +N40-50MELB,N,40,50,M,E,LB,,M-N-40x50.step +N40-50MELBU,N,40,50,M,E,LB,U,M-N-40x50.step +N40-50MELBCM,N,40,50,M,E,LB,CM,M-N-40x50.step +N40-50MEFA,N,40,50,M,E,FA,,M-N-40x50.step +N40-50MEFAU,N,40,50,M,E,FA,U,M-N-40x50.step +N40-50MEFACM,N,40,50,M,E,FA,CM,M-N-40x50.step +N40-50MEFB,N,40,50,M,E,FB,,M-N-40x50.step +N40-50MEFBU,N,40,50,M,E,FB,U,M-N-40x50.step +N40-50MEFBCM,N,40,50,M,E,FB,CM,M-N-40x50.step +N40-50MESDB,N,40,50,M,E,SDB,,M-N-40x50.step +N40-50MESDBU,N,40,50,M,E,SDB,U,M-N-40x50.step +N40-50MESDBCM,N,40,50,M,E,SDB,CM,M-N-40x50.step +N40-50M,N,40,50,M,,,,M-N-40x50.step +N40-50MU,N,40,50,M,,,U,M-N-40x50.step +N40-50MCM,N,40,50,M,,,CM,M-N-40x50.step +N40-50MLB,N,40,50,M,,LB,,M-N-40x50.step +N40-50MLBU,N,40,50,M,,LB,U,M-N-40x50.step +N40-50MLBCM,N,40,50,M,,LB,CM,M-N-40x50.step +N40-50MFA,N,40,50,M,,FA,,M-N-40x50.step +N40-50MFAU,N,40,50,M,,FA,U,M-N-40x50.step +N40-50MFACM,N,40,50,M,,FA,CM,M-N-40x50.step +N40-50MFB,N,40,50,M,,FB,,M-N-40x50.step +N40-50MFBU,N,40,50,M,,FB,U,M-N-40x50.step +N40-50MFBCM,N,40,50,M,,FB,CM,M-N-40x50.step +N40-50MSDB,N,40,50,M,,SDB,,M-N-40x50.step +N40-50MSDBU,N,40,50,M,,SDB,U,M-N-40x50.step +N40-50MSDBCM,N,40,50,M,,SDB,CM,M-N-40x50.step +N40-75E,N,40,75,,E,,,M-N-40x75.step +N40-75EU,N,40,75,,E,,U,M-N-40x75.step +N40-75ECM,N,40,75,,E,,CM,M-N-40x75.step +N40-75ELB,N,40,75,,E,LB,,M-N-40x75.step +N40-75ELBU,N,40,75,,E,LB,U,M-N-40x75.step +N40-75ELBCM,N,40,75,,E,LB,CM,M-N-40x75.step +N40-75EFA,N,40,75,,E,FA,,M-N-40x75.step +N40-75EFAU,N,40,75,,E,FA,U,M-N-40x75.step +N40-75EFACM,N,40,75,,E,FA,CM,M-N-40x75.step +N40-75EFB,N,40,75,,E,FB,,M-N-40x75.step +N40-75EFBU,N,40,75,,E,FB,U,M-N-40x75.step +N40-75EFBCM,N,40,75,,E,FB,CM,M-N-40x75.step +N40-75ESDB,N,40,75,,E,SDB,,M-N-40x75.step +N40-75ESDBU,N,40,75,,E,SDB,U,M-N-40x75.step +N40-75ESDBCM,N,40,75,,E,SDB,CM,M-N-40x75.step +N40-75,N,40,75,,,,,M-N-40x75.step +N40-75U,N,40,75,,,,U,M-N-40x75.step +N40-75CM,N,40,75,,,,CM,M-N-40x75.step +N40-75LB,N,40,75,,,LB,,M-N-40x75.step +N40-75LBU,N,40,75,,,LB,U,M-N-40x75.step +N40-75LBCM,N,40,75,,,LB,CM,M-N-40x75.step +N40-75FA,N,40,75,,,FA,,M-N-40x75.step +N40-75FAU,N,40,75,,,FA,U,M-N-40x75.step +N40-75FACM,N,40,75,,,FA,CM,M-N-40x75.step +N40-75FB,N,40,75,,,FB,,M-N-40x75.step +N40-75FBU,N,40,75,,,FB,U,M-N-40x75.step +N40-75FBCM,N,40,75,,,FB,CM,M-N-40x75.step +N40-75SDB,N,40,75,,,SDB,,M-N-40x75.step +N40-75SDBU,N,40,75,,,SDB,U,M-N-40x75.step +N40-75SDBCM,N,40,75,,,SDB,CM,M-N-40x75.step +N40-75ME,N,40,75,M,E,,,M-N-40x75.step +N40-75MEU,N,40,75,M,E,,U,M-N-40x75.step +N40-75MECM,N,40,75,M,E,,CM,M-N-40x75.step +N40-75MELB,N,40,75,M,E,LB,,M-N-40x75.step +N40-75MELBU,N,40,75,M,E,LB,U,M-N-40x75.step +N40-75MELBCM,N,40,75,M,E,LB,CM,M-N-40x75.step +N40-75MEFA,N,40,75,M,E,FA,,M-N-40x75.step +N40-75MEFAU,N,40,75,M,E,FA,U,M-N-40x75.step +N40-75MEFACM,N,40,75,M,E,FA,CM,M-N-40x75.step +N40-75MEFB,N,40,75,M,E,FB,,M-N-40x75.step +N40-75MEFBU,N,40,75,M,E,FB,U,M-N-40x75.step +N40-75MEFBCM,N,40,75,M,E,FB,CM,M-N-40x75.step +N40-75MESDB,N,40,75,M,E,SDB,,M-N-40x75.step +N40-75MESDBU,N,40,75,M,E,SDB,U,M-N-40x75.step +N40-75MESDBCM,N,40,75,M,E,SDB,CM,M-N-40x75.step +N40-75M,N,40,75,M,,,,M-N-40x75.step +N40-75MU,N,40,75,M,,,U,M-N-40x75.step +N40-75MCM,N,40,75,M,,,CM,M-N-40x75.step +N40-75MLB,N,40,75,M,,LB,,M-N-40x75.step +N40-75MLBU,N,40,75,M,,LB,U,M-N-40x75.step +N40-75MLBCM,N,40,75,M,,LB,CM,M-N-40x75.step +N40-75MFA,N,40,75,M,,FA,,M-N-40x75.step +N40-75MFAU,N,40,75,M,,FA,U,M-N-40x75.step +N40-75MFACM,N,40,75,M,,FA,CM,M-N-40x75.step +N40-75MFB,N,40,75,M,,FB,,M-N-40x75.step +N40-75MFBU,N,40,75,M,,FB,U,M-N-40x75.step +N40-75MFBCM,N,40,75,M,,FB,CM,M-N-40x75.step +N40-75MSDB,N,40,75,M,,SDB,,M-N-40x75.step +N40-75MSDBU,N,40,75,M,,SDB,U,M-N-40x75.step +N40-75MSDBCM,N,40,75,M,,SDB,CM,M-N-40x75.step +N40-100E,N,40,100,,E,,,M-N-40x100.step +N40-100EU,N,40,100,,E,,U,M-N-40x100.step +N40-100ECM,N,40,100,,E,,CM,M-N-40x100.step +N40-100ELB,N,40,100,,E,LB,,M-N-40x100.step +N40-100ELBU,N,40,100,,E,LB,U,M-N-40x100.step +N40-100ELBCM,N,40,100,,E,LB,CM,M-N-40x100.step +N40-100EFA,N,40,100,,E,FA,,M-N-40x100.step +N40-100EFAU,N,40,100,,E,FA,U,M-N-40x100.step +N40-100EFACM,N,40,100,,E,FA,CM,M-N-40x100.step +N40-100EFB,N,40,100,,E,FB,,M-N-40x100.step +N40-100EFBU,N,40,100,,E,FB,U,M-N-40x100.step +N40-100EFBCM,N,40,100,,E,FB,CM,M-N-40x100.step +N40-100ESDB,N,40,100,,E,SDB,,M-N-40x100.step +N40-100ESDBU,N,40,100,,E,SDB,U,M-N-40x100.step +N40-100ESDBCM,N,40,100,,E,SDB,CM,M-N-40x100.step +N40-100,N,40,100,,,,,M-N-40x100.step +N40-100U,N,40,100,,,,U,M-N-40x100.step +N40-100CM,N,40,100,,,,CM,M-N-40x100.step +N40-100LB,N,40,100,,,LB,,M-N-40x100.step +N40-100LBU,N,40,100,,,LB,U,M-N-40x100.step +N40-100LBCM,N,40,100,,,LB,CM,M-N-40x100.step +N40-100FA,N,40,100,,,FA,,M-N-40x100.step +N40-100FAU,N,40,100,,,FA,U,M-N-40x100.step +N40-100FACM,N,40,100,,,FA,CM,M-N-40x100.step +N40-100FB,N,40,100,,,FB,,M-N-40x100.step +N40-100FBU,N,40,100,,,FB,U,M-N-40x100.step +N40-100FBCM,N,40,100,,,FB,CM,M-N-40x100.step +N40-100SDB,N,40,100,,,SDB,,M-N-40x100.step +N40-100SDBU,N,40,100,,,SDB,U,M-N-40x100.step +N40-100SDBCM,N,40,100,,,SDB,CM,M-N-40x100.step +N40-100ME,N,40,100,M,E,,,M-N-40x100.step +N40-100MEU,N,40,100,M,E,,U,M-N-40x100.step +N40-100MECM,N,40,100,M,E,,CM,M-N-40x100.step +N40-100MELB,N,40,100,M,E,LB,,M-N-40x100.step +N40-100MELBU,N,40,100,M,E,LB,U,M-N-40x100.step +N40-100MELBCM,N,40,100,M,E,LB,CM,M-N-40x100.step +N40-100MEFA,N,40,100,M,E,FA,,M-N-40x100.step +N40-100MEFAU,N,40,100,M,E,FA,U,M-N-40x100.step +N40-100MEFACM,N,40,100,M,E,FA,CM,M-N-40x100.step +N40-100MEFB,N,40,100,M,E,FB,,M-N-40x100.step +N40-100MEFBU,N,40,100,M,E,FB,U,M-N-40x100.step +N40-100MEFBCM,N,40,100,M,E,FB,CM,M-N-40x100.step +N40-100MESDB,N,40,100,M,E,SDB,,M-N-40x100.step +N40-100MESDBU,N,40,100,M,E,SDB,U,M-N-40x100.step +N40-100MESDBCM,N,40,100,M,E,SDB,CM,M-N-40x100.step +N40-100M,N,40,100,M,,,,M-N-40x100.step +N40-100MU,N,40,100,M,,,U,M-N-40x100.step +N40-100MCM,N,40,100,M,,,CM,M-N-40x100.step +N40-100MLB,N,40,100,M,,LB,,M-N-40x100.step +N40-100MLBU,N,40,100,M,,LB,U,M-N-40x100.step +N40-100MLBCM,N,40,100,M,,LB,CM,M-N-40x100.step +N40-100MFA,N,40,100,M,,FA,,M-N-40x100.step +N40-100MFAU,N,40,100,M,,FA,U,M-N-40x100.step +N40-100MFACM,N,40,100,M,,FA,CM,M-N-40x100.step +N40-100MFB,N,40,100,M,,FB,,M-N-40x100.step +N40-100MFBU,N,40,100,M,,FB,U,M-N-40x100.step +N40-100MFBCM,N,40,100,M,,FB,CM,M-N-40x100.step +N40-100MSDB,N,40,100,M,,SDB,,M-N-40x100.step +N40-100MSDBU,N,40,100,M,,SDB,U,M-N-40x100.step +N40-100MSDBCM,N,40,100,M,,SDB,CM,M-N-40x100.step +S8-10E,S,8,10,,E,,,M-S-8x10.step +S8-10EU,S,8,10,,E,,U,M-S-8x10.step +S8-10ECM,S,8,10,,E,,CM,M-S-8x10.step +S8-10ELB,S,8,10,,E,LB,,M-S-8x10.step +S8-10ELBU,S,8,10,,E,LB,U,M-S-8x10.step +S8-10ELBCM,S,8,10,,E,LB,CM,M-S-8x10.step +S8-10EFA,S,8,10,,E,FA,,M-S-8x10.step +S8-10EFAU,S,8,10,,E,FA,U,M-S-8x10.step +S8-10EFACM,S,8,10,,E,FA,CM,M-S-8x10.step +S8-10EFB,S,8,10,,E,FB,,M-S-8x10.step +S8-10EFBU,S,8,10,,E,FB,U,M-S-8x10.step +S8-10EFBCM,S,8,10,,E,FB,CM,M-S-8x10.step +S8-10ESDB,S,8,10,,E,SDB,,M-S-8x10.step +S8-10ESDBU,S,8,10,,E,SDB,U,M-S-8x10.step +S8-10ESDBCM,S,8,10,,E,SDB,CM,M-S-8x10.step +S8-10,S,8,10,,,,,M-S-8x10.step +S8-10U,S,8,10,,,,U,M-S-8x10.step +S8-10CM,S,8,10,,,,CM,M-S-8x10.step +S8-10LB,S,8,10,,,LB,,M-S-8x10.step +S8-10LBU,S,8,10,,,LB,U,M-S-8x10.step +S8-10LBCM,S,8,10,,,LB,CM,M-S-8x10.step +S8-10FA,S,8,10,,,FA,,M-S-8x10.step +S8-10FAU,S,8,10,,,FA,U,M-S-8x10.step +S8-10FACM,S,8,10,,,FA,CM,M-S-8x10.step +S8-10FB,S,8,10,,,FB,,M-S-8x10.step +S8-10FBU,S,8,10,,,FB,U,M-S-8x10.step +S8-10FBCM,S,8,10,,,FB,CM,M-S-8x10.step +S8-10SDB,S,8,10,,,SDB,,M-S-8x10.step +S8-10SDBU,S,8,10,,,SDB,U,M-S-8x10.step +S8-10SDBCM,S,8,10,,,SDB,CM,M-S-8x10.step +S8-10ME,S,8,10,M,E,,,M-S-8x10.step +S8-10MEU,S,8,10,M,E,,U,M-S-8x10.step +S8-10MECM,S,8,10,M,E,,CM,M-S-8x10.step +S8-10MELB,S,8,10,M,E,LB,,M-S-8x10.step +S8-10MELBU,S,8,10,M,E,LB,U,M-S-8x10.step +S8-10MELBCM,S,8,10,M,E,LB,CM,M-S-8x10.step +S8-10MEFA,S,8,10,M,E,FA,,M-S-8x10.step +S8-10MEFAU,S,8,10,M,E,FA,U,M-S-8x10.step +S8-10MEFACM,S,8,10,M,E,FA,CM,M-S-8x10.step +S8-10MEFB,S,8,10,M,E,FB,,M-S-8x10.step +S8-10MEFBU,S,8,10,M,E,FB,U,M-S-8x10.step +S8-10MEFBCM,S,8,10,M,E,FB,CM,M-S-8x10.step +S8-10MESDB,S,8,10,M,E,SDB,,M-S-8x10.step +S8-10MESDBU,S,8,10,M,E,SDB,U,M-S-8x10.step +S8-10MESDBCM,S,8,10,M,E,SDB,CM,M-S-8x10.step +S8-10M,S,8,10,M,,,,M-S-8x10.step +S8-10MU,S,8,10,M,,,U,M-S-8x10.step +S8-10MCM,S,8,10,M,,,CM,M-S-8x10.step +S8-10MLB,S,8,10,M,,LB,,M-S-8x10.step +S8-10MLBU,S,8,10,M,,LB,U,M-S-8x10.step +S8-10MLBCM,S,8,10,M,,LB,CM,M-S-8x10.step +S8-10MFA,S,8,10,M,,FA,,M-S-8x10.step +S8-10MFAU,S,8,10,M,,FA,U,M-S-8x10.step +S8-10MFACM,S,8,10,M,,FA,CM,M-S-8x10.step +S8-10MFB,S,8,10,M,,FB,,M-S-8x10.step +S8-10MFBU,S,8,10,M,,FB,U,M-S-8x10.step +S8-10MFBCM,S,8,10,M,,FB,CM,M-S-8x10.step +S8-10MSDB,S,8,10,M,,SDB,,M-S-8x10.step +S8-10MSDBU,S,8,10,M,,SDB,U,M-S-8x10.step +S8-10MSDBCM,S,8,10,M,,SDB,CM,M-S-8x10.step +S8-20E,S,8,20,,E,,,M-S-8x20.step +S8-20EU,S,8,20,,E,,U,M-S-8x20.step +S8-20ECM,S,8,20,,E,,CM,M-S-8x20.step +S8-20ELB,S,8,20,,E,LB,,M-S-8x20.step +S8-20ELBU,S,8,20,,E,LB,U,M-S-8x20.step +S8-20ELBCM,S,8,20,,E,LB,CM,M-S-8x20.step +S8-20EFA,S,8,20,,E,FA,,M-S-8x20.step +S8-20EFAU,S,8,20,,E,FA,U,M-S-8x20.step +S8-20EFACM,S,8,20,,E,FA,CM,M-S-8x20.step +S8-20EFB,S,8,20,,E,FB,,M-S-8x20.step +S8-20EFBU,S,8,20,,E,FB,U,M-S-8x20.step +S8-20EFBCM,S,8,20,,E,FB,CM,M-S-8x20.step +S8-20ESDB,S,8,20,,E,SDB,,M-S-8x20.step +S8-20ESDBU,S,8,20,,E,SDB,U,M-S-8x20.step +S8-20ESDBCM,S,8,20,,E,SDB,CM,M-S-8x20.step +S8-20,S,8,20,,,,,M-S-8x20.step +S8-20U,S,8,20,,,,U,M-S-8x20.step +S8-20CM,S,8,20,,,,CM,M-S-8x20.step +S8-20LB,S,8,20,,,LB,,M-S-8x20.step +S8-20LBU,S,8,20,,,LB,U,M-S-8x20.step +S8-20LBCM,S,8,20,,,LB,CM,M-S-8x20.step +S8-20FA,S,8,20,,,FA,,M-S-8x20.step +S8-20FAU,S,8,20,,,FA,U,M-S-8x20.step +S8-20FACM,S,8,20,,,FA,CM,M-S-8x20.step +S8-20FB,S,8,20,,,FB,,M-S-8x20.step +S8-20FBU,S,8,20,,,FB,U,M-S-8x20.step +S8-20FBCM,S,8,20,,,FB,CM,M-S-8x20.step +S8-20SDB,S,8,20,,,SDB,,M-S-8x20.step +S8-20SDBU,S,8,20,,,SDB,U,M-S-8x20.step +S8-20SDBCM,S,8,20,,,SDB,CM,M-S-8x20.step +S8-20ME,S,8,20,M,E,,,M-S-8x20.step +S8-20MEU,S,8,20,M,E,,U,M-S-8x20.step +S8-20MECM,S,8,20,M,E,,CM,M-S-8x20.step +S8-20MELB,S,8,20,M,E,LB,,M-S-8x20.step +S8-20MELBU,S,8,20,M,E,LB,U,M-S-8x20.step +S8-20MELBCM,S,8,20,M,E,LB,CM,M-S-8x20.step +S8-20MEFA,S,8,20,M,E,FA,,M-S-8x20.step +S8-20MEFAU,S,8,20,M,E,FA,U,M-S-8x20.step +S8-20MEFACM,S,8,20,M,E,FA,CM,M-S-8x20.step +S8-20MEFB,S,8,20,M,E,FB,,M-S-8x20.step +S8-20MEFBU,S,8,20,M,E,FB,U,M-S-8x20.step +S8-20MEFBCM,S,8,20,M,E,FB,CM,M-S-8x20.step +S8-20MESDB,S,8,20,M,E,SDB,,M-S-8x20.step +S8-20MESDBU,S,8,20,M,E,SDB,U,M-S-8x20.step +S8-20MESDBCM,S,8,20,M,E,SDB,CM,M-S-8x20.step +S8-20M,S,8,20,M,,,,M-S-8x20.step +S8-20MU,S,8,20,M,,,U,M-S-8x20.step +S8-20MCM,S,8,20,M,,,CM,M-S-8x20.step +S8-20MLB,S,8,20,M,,LB,,M-S-8x20.step +S8-20MLBU,S,8,20,M,,LB,U,M-S-8x20.step +S8-20MLBCM,S,8,20,M,,LB,CM,M-S-8x20.step +S8-20MFA,S,8,20,M,,FA,,M-S-8x20.step +S8-20MFAU,S,8,20,M,,FA,U,M-S-8x20.step +S8-20MFACM,S,8,20,M,,FA,CM,M-S-8x20.step +S8-20MFB,S,8,20,M,,FB,,M-S-8x20.step +S8-20MFBU,S,8,20,M,,FB,U,M-S-8x20.step +S8-20MFBCM,S,8,20,M,,FB,CM,M-S-8x20.step +S8-20MSDB,S,8,20,M,,SDB,,M-S-8x20.step +S8-20MSDBU,S,8,20,M,,SDB,U,M-S-8x20.step +S8-20MSDBCM,S,8,20,M,,SDB,CM,M-S-8x20.step +S8-30E,S,8,30,,E,,,M-S-8x30.step +S8-30EU,S,8,30,,E,,U,M-S-8x30.step +S8-30ECM,S,8,30,,E,,CM,M-S-8x30.step +S8-30ELB,S,8,30,,E,LB,,M-S-8x30.step +S8-30ELBU,S,8,30,,E,LB,U,M-S-8x30.step +S8-30ELBCM,S,8,30,,E,LB,CM,M-S-8x30.step +S8-30EFA,S,8,30,,E,FA,,M-S-8x30.step +S8-30EFAU,S,8,30,,E,FA,U,M-S-8x30.step +S8-30EFACM,S,8,30,,E,FA,CM,M-S-8x30.step +S8-30EFB,S,8,30,,E,FB,,M-S-8x30.step +S8-30EFBU,S,8,30,,E,FB,U,M-S-8x30.step +S8-30EFBCM,S,8,30,,E,FB,CM,M-S-8x30.step +S8-30ESDB,S,8,30,,E,SDB,,M-S-8x30.step +S8-30ESDBU,S,8,30,,E,SDB,U,M-S-8x30.step +S8-30ESDBCM,S,8,30,,E,SDB,CM,M-S-8x30.step +S8-30,S,8,30,,,,,M-S-8x30.step +S8-30U,S,8,30,,,,U,M-S-8x30.step +S8-30CM,S,8,30,,,,CM,M-S-8x30.step +S8-30LB,S,8,30,,,LB,,M-S-8x30.step +S8-30LBU,S,8,30,,,LB,U,M-S-8x30.step +S8-30LBCM,S,8,30,,,LB,CM,M-S-8x30.step +S8-30FA,S,8,30,,,FA,,M-S-8x30.step +S8-30FAU,S,8,30,,,FA,U,M-S-8x30.step +S8-30FACM,S,8,30,,,FA,CM,M-S-8x30.step +S8-30FB,S,8,30,,,FB,,M-S-8x30.step +S8-30FBU,S,8,30,,,FB,U,M-S-8x30.step +S8-30FBCM,S,8,30,,,FB,CM,M-S-8x30.step +S8-30SDB,S,8,30,,,SDB,,M-S-8x30.step +S8-30SDBU,S,8,30,,,SDB,U,M-S-8x30.step +S8-30SDBCM,S,8,30,,,SDB,CM,M-S-8x30.step +S8-30ME,S,8,30,M,E,,,M-S-8x30.step +S8-30MEU,S,8,30,M,E,,U,M-S-8x30.step +S8-30MECM,S,8,30,M,E,,CM,M-S-8x30.step +S8-30MELB,S,8,30,M,E,LB,,M-S-8x30.step +S8-30MELBU,S,8,30,M,E,LB,U,M-S-8x30.step +S8-30MELBCM,S,8,30,M,E,LB,CM,M-S-8x30.step +S8-30MEFA,S,8,30,M,E,FA,,M-S-8x30.step +S8-30MEFAU,S,8,30,M,E,FA,U,M-S-8x30.step +S8-30MEFACM,S,8,30,M,E,FA,CM,M-S-8x30.step +S8-30MEFB,S,8,30,M,E,FB,,M-S-8x30.step +S8-30MEFBU,S,8,30,M,E,FB,U,M-S-8x30.step +S8-30MEFBCM,S,8,30,M,E,FB,CM,M-S-8x30.step +S8-30MESDB,S,8,30,M,E,SDB,,M-S-8x30.step +S8-30MESDBU,S,8,30,M,E,SDB,U,M-S-8x30.step +S8-30MESDBCM,S,8,30,M,E,SDB,CM,M-S-8x30.step +S8-30M,S,8,30,M,,,,M-S-8x30.step +S8-30MU,S,8,30,M,,,U,M-S-8x30.step +S8-30MCM,S,8,30,M,,,CM,M-S-8x30.step +S8-30MLB,S,8,30,M,,LB,,M-S-8x30.step +S8-30MLBU,S,8,30,M,,LB,U,M-S-8x30.step +S8-30MLBCM,S,8,30,M,,LB,CM,M-S-8x30.step +S8-30MFA,S,8,30,M,,FA,,M-S-8x30.step +S8-30MFAU,S,8,30,M,,FA,U,M-S-8x30.step +S8-30MFACM,S,8,30,M,,FA,CM,M-S-8x30.step +S8-30MFB,S,8,30,M,,FB,,M-S-8x30.step +S8-30MFBU,S,8,30,M,,FB,U,M-S-8x30.step +S8-30MFBCM,S,8,30,M,,FB,CM,M-S-8x30.step +S8-30MSDB,S,8,30,M,,SDB,,M-S-8x30.step +S8-30MSDBU,S,8,30,M,,SDB,U,M-S-8x30.step +S8-30MSDBCM,S,8,30,M,,SDB,CM,M-S-8x30.step +S8-50E,S,8,50,,E,,,M-S-8x50.step +S8-50EU,S,8,50,,E,,U,M-S-8x50.step +S8-50ECM,S,8,50,,E,,CM,M-S-8x50.step +S8-50ELB,S,8,50,,E,LB,,M-S-8x50.step +S8-50ELBU,S,8,50,,E,LB,U,M-S-8x50.step +S8-50ELBCM,S,8,50,,E,LB,CM,M-S-8x50.step +S8-50EFA,S,8,50,,E,FA,,M-S-8x50.step +S8-50EFAU,S,8,50,,E,FA,U,M-S-8x50.step +S8-50EFACM,S,8,50,,E,FA,CM,M-S-8x50.step +S8-50EFB,S,8,50,,E,FB,,M-S-8x50.step +S8-50EFBU,S,8,50,,E,FB,U,M-S-8x50.step +S8-50EFBCM,S,8,50,,E,FB,CM,M-S-8x50.step +S8-50ESDB,S,8,50,,E,SDB,,M-S-8x50.step +S8-50ESDBU,S,8,50,,E,SDB,U,M-S-8x50.step +S8-50ESDBCM,S,8,50,,E,SDB,CM,M-S-8x50.step +S8-50,S,8,50,,,,,M-S-8x50.step +S8-50U,S,8,50,,,,U,M-S-8x50.step +S8-50CM,S,8,50,,,,CM,M-S-8x50.step +S8-50LB,S,8,50,,,LB,,M-S-8x50.step +S8-50LBU,S,8,50,,,LB,U,M-S-8x50.step +S8-50LBCM,S,8,50,,,LB,CM,M-S-8x50.step +S8-50FA,S,8,50,,,FA,,M-S-8x50.step +S8-50FAU,S,8,50,,,FA,U,M-S-8x50.step +S8-50FACM,S,8,50,,,FA,CM,M-S-8x50.step +S8-50FB,S,8,50,,,FB,,M-S-8x50.step +S8-50FBU,S,8,50,,,FB,U,M-S-8x50.step +S8-50FBCM,S,8,50,,,FB,CM,M-S-8x50.step +S8-50SDB,S,8,50,,,SDB,,M-S-8x50.step +S8-50SDBU,S,8,50,,,SDB,U,M-S-8x50.step +S8-50SDBCM,S,8,50,,,SDB,CM,M-S-8x50.step +S8-50ME,S,8,50,M,E,,,M-S-8x50.step +S8-50MEU,S,8,50,M,E,,U,M-S-8x50.step +S8-50MECM,S,8,50,M,E,,CM,M-S-8x50.step +S8-50MELB,S,8,50,M,E,LB,,M-S-8x50.step +S8-50MELBU,S,8,50,M,E,LB,U,M-S-8x50.step +S8-50MELBCM,S,8,50,M,E,LB,CM,M-S-8x50.step +S8-50MEFA,S,8,50,M,E,FA,,M-S-8x50.step +S8-50MEFAU,S,8,50,M,E,FA,U,M-S-8x50.step +S8-50MEFACM,S,8,50,M,E,FA,CM,M-S-8x50.step +S8-50MEFB,S,8,50,M,E,FB,,M-S-8x50.step +S8-50MEFBU,S,8,50,M,E,FB,U,M-S-8x50.step +S8-50MEFBCM,S,8,50,M,E,FB,CM,M-S-8x50.step +S8-50MESDB,S,8,50,M,E,SDB,,M-S-8x50.step +S8-50MESDBU,S,8,50,M,E,SDB,U,M-S-8x50.step +S8-50MESDBCM,S,8,50,M,E,SDB,CM,M-S-8x50.step +S8-50M,S,8,50,M,,,,M-S-8x50.step +S8-50MU,S,8,50,M,,,U,M-S-8x50.step +S8-50MCM,S,8,50,M,,,CM,M-S-8x50.step +S8-50MLB,S,8,50,M,,LB,,M-S-8x50.step +S8-50MLBU,S,8,50,M,,LB,U,M-S-8x50.step +S8-50MLBCM,S,8,50,M,,LB,CM,M-S-8x50.step +S8-50MFA,S,8,50,M,,FA,,M-S-8x50.step +S8-50MFAU,S,8,50,M,,FA,U,M-S-8x50.step +S8-50MFACM,S,8,50,M,,FA,CM,M-S-8x50.step +S8-50MFB,S,8,50,M,,FB,,M-S-8x50.step +S8-50MFBU,S,8,50,M,,FB,U,M-S-8x50.step +S8-50MFBCM,S,8,50,M,,FB,CM,M-S-8x50.step +S8-50MSDB,S,8,50,M,,SDB,,M-S-8x50.step +S8-50MSDBU,S,8,50,M,,SDB,U,M-S-8x50.step +S8-50MSDBCM,S,8,50,M,,SDB,CM,M-S-8x50.step +S8-75E,S,8,75,,E,,,M-S-8x75.step +S8-75EU,S,8,75,,E,,U,M-S-8x75.step +S8-75ECM,S,8,75,,E,,CM,M-S-8x75.step +S8-75ELB,S,8,75,,E,LB,,M-S-8x75.step +S8-75ELBU,S,8,75,,E,LB,U,M-S-8x75.step +S8-75ELBCM,S,8,75,,E,LB,CM,M-S-8x75.step +S8-75EFA,S,8,75,,E,FA,,M-S-8x75.step +S8-75EFAU,S,8,75,,E,FA,U,M-S-8x75.step +S8-75EFACM,S,8,75,,E,FA,CM,M-S-8x75.step +S8-75EFB,S,8,75,,E,FB,,M-S-8x75.step +S8-75EFBU,S,8,75,,E,FB,U,M-S-8x75.step +S8-75EFBCM,S,8,75,,E,FB,CM,M-S-8x75.step +S8-75ESDB,S,8,75,,E,SDB,,M-S-8x75.step +S8-75ESDBU,S,8,75,,E,SDB,U,M-S-8x75.step +S8-75ESDBCM,S,8,75,,E,SDB,CM,M-S-8x75.step +S8-75,S,8,75,,,,,M-S-8x75.step +S8-75U,S,8,75,,,,U,M-S-8x75.step +S8-75CM,S,8,75,,,,CM,M-S-8x75.step +S8-75LB,S,8,75,,,LB,,M-S-8x75.step +S8-75LBU,S,8,75,,,LB,U,M-S-8x75.step +S8-75LBCM,S,8,75,,,LB,CM,M-S-8x75.step +S8-75FA,S,8,75,,,FA,,M-S-8x75.step +S8-75FAU,S,8,75,,,FA,U,M-S-8x75.step +S8-75FACM,S,8,75,,,FA,CM,M-S-8x75.step +S8-75FB,S,8,75,,,FB,,M-S-8x75.step +S8-75FBU,S,8,75,,,FB,U,M-S-8x75.step +S8-75FBCM,S,8,75,,,FB,CM,M-S-8x75.step +S8-75SDB,S,8,75,,,SDB,,M-S-8x75.step +S8-75SDBU,S,8,75,,,SDB,U,M-S-8x75.step +S8-75SDBCM,S,8,75,,,SDB,CM,M-S-8x75.step +S8-75ME,S,8,75,M,E,,,M-S-8x75.step +S8-75MEU,S,8,75,M,E,,U,M-S-8x75.step +S8-75MECM,S,8,75,M,E,,CM,M-S-8x75.step +S8-75MELB,S,8,75,M,E,LB,,M-S-8x75.step +S8-75MELBU,S,8,75,M,E,LB,U,M-S-8x75.step +S8-75MELBCM,S,8,75,M,E,LB,CM,M-S-8x75.step +S8-75MEFA,S,8,75,M,E,FA,,M-S-8x75.step +S8-75MEFAU,S,8,75,M,E,FA,U,M-S-8x75.step +S8-75MEFACM,S,8,75,M,E,FA,CM,M-S-8x75.step +S8-75MEFB,S,8,75,M,E,FB,,M-S-8x75.step +S8-75MEFBU,S,8,75,M,E,FB,U,M-S-8x75.step +S8-75MEFBCM,S,8,75,M,E,FB,CM,M-S-8x75.step +S8-75MESDB,S,8,75,M,E,SDB,,M-S-8x75.step +S8-75MESDBU,S,8,75,M,E,SDB,U,M-S-8x75.step +S8-75MESDBCM,S,8,75,M,E,SDB,CM,M-S-8x75.step +S8-75M,S,8,75,M,,,,M-S-8x75.step +S8-75MU,S,8,75,M,,,U,M-S-8x75.step +S8-75MCM,S,8,75,M,,,CM,M-S-8x75.step +S8-75MLB,S,8,75,M,,LB,,M-S-8x75.step +S8-75MLBU,S,8,75,M,,LB,U,M-S-8x75.step +S8-75MLBCM,S,8,75,M,,LB,CM,M-S-8x75.step +S8-75MFA,S,8,75,M,,FA,,M-S-8x75.step +S8-75MFAU,S,8,75,M,,FA,U,M-S-8x75.step +S8-75MFACM,S,8,75,M,,FA,CM,M-S-8x75.step +S8-75MFB,S,8,75,M,,FB,,M-S-8x75.step +S8-75MFBU,S,8,75,M,,FB,U,M-S-8x75.step +S8-75MFBCM,S,8,75,M,,FB,CM,M-S-8x75.step +S8-75MSDB,S,8,75,M,,SDB,,M-S-8x75.step +S8-75MSDBU,S,8,75,M,,SDB,U,M-S-8x75.step +S8-75MSDBCM,S,8,75,M,,SDB,CM,M-S-8x75.step +S8-100E,S,8,100,,E,,,M-S-8x100.step +S8-100EU,S,8,100,,E,,U,M-S-8x100.step +S8-100ECM,S,8,100,,E,,CM,M-S-8x100.step +S8-100ELB,S,8,100,,E,LB,,M-S-8x100.step +S8-100ELBU,S,8,100,,E,LB,U,M-S-8x100.step +S8-100ELBCM,S,8,100,,E,LB,CM,M-S-8x100.step +S8-100EFA,S,8,100,,E,FA,,M-S-8x100.step +S8-100EFAU,S,8,100,,E,FA,U,M-S-8x100.step +S8-100EFACM,S,8,100,,E,FA,CM,M-S-8x100.step +S8-100EFB,S,8,100,,E,FB,,M-S-8x100.step +S8-100EFBU,S,8,100,,E,FB,U,M-S-8x100.step +S8-100EFBCM,S,8,100,,E,FB,CM,M-S-8x100.step +S8-100ESDB,S,8,100,,E,SDB,,M-S-8x100.step +S8-100ESDBU,S,8,100,,E,SDB,U,M-S-8x100.step +S8-100ESDBCM,S,8,100,,E,SDB,CM,M-S-8x100.step +S8-100,S,8,100,,,,,M-S-8x100.step +S8-100U,S,8,100,,,,U,M-S-8x100.step +S8-100CM,S,8,100,,,,CM,M-S-8x100.step +S8-100LB,S,8,100,,,LB,,M-S-8x100.step +S8-100LBU,S,8,100,,,LB,U,M-S-8x100.step +S8-100LBCM,S,8,100,,,LB,CM,M-S-8x100.step +S8-100FA,S,8,100,,,FA,,M-S-8x100.step +S8-100FAU,S,8,100,,,FA,U,M-S-8x100.step +S8-100FACM,S,8,100,,,FA,CM,M-S-8x100.step +S8-100FB,S,8,100,,,FB,,M-S-8x100.step +S8-100FBU,S,8,100,,,FB,U,M-S-8x100.step +S8-100FBCM,S,8,100,,,FB,CM,M-S-8x100.step +S8-100SDB,S,8,100,,,SDB,,M-S-8x100.step +S8-100SDBU,S,8,100,,,SDB,U,M-S-8x100.step +S8-100SDBCM,S,8,100,,,SDB,CM,M-S-8x100.step +S8-100ME,S,8,100,M,E,,,M-S-8x100.step +S8-100MEU,S,8,100,M,E,,U,M-S-8x100.step +S8-100MECM,S,8,100,M,E,,CM,M-S-8x100.step +S8-100MELB,S,8,100,M,E,LB,,M-S-8x100.step +S8-100MELBU,S,8,100,M,E,LB,U,M-S-8x100.step +S8-100MELBCM,S,8,100,M,E,LB,CM,M-S-8x100.step +S8-100MEFA,S,8,100,M,E,FA,,M-S-8x100.step +S8-100MEFAU,S,8,100,M,E,FA,U,M-S-8x100.step +S8-100MEFACM,S,8,100,M,E,FA,CM,M-S-8x100.step +S8-100MEFB,S,8,100,M,E,FB,,M-S-8x100.step +S8-100MEFBU,S,8,100,M,E,FB,U,M-S-8x100.step +S8-100MEFBCM,S,8,100,M,E,FB,CM,M-S-8x100.step +S8-100MESDB,S,8,100,M,E,SDB,,M-S-8x100.step +S8-100MESDBU,S,8,100,M,E,SDB,U,M-S-8x100.step +S8-100MESDBCM,S,8,100,M,E,SDB,CM,M-S-8x100.step +S8-100M,S,8,100,M,,,,M-S-8x100.step +S8-100MU,S,8,100,M,,,U,M-S-8x100.step +S8-100MCM,S,8,100,M,,,CM,M-S-8x100.step +S8-100MLB,S,8,100,M,,LB,,M-S-8x100.step +S8-100MLBU,S,8,100,M,,LB,U,M-S-8x100.step +S8-100MLBCM,S,8,100,M,,LB,CM,M-S-8x100.step +S8-100MFA,S,8,100,M,,FA,,M-S-8x100.step +S8-100MFAU,S,8,100,M,,FA,U,M-S-8x100.step +S8-100MFACM,S,8,100,M,,FA,CM,M-S-8x100.step +S8-100MFB,S,8,100,M,,FB,,M-S-8x100.step +S8-100MFBU,S,8,100,M,,FB,U,M-S-8x100.step +S8-100MFBCM,S,8,100,M,,FB,CM,M-S-8x100.step +S8-100MSDB,S,8,100,M,,SDB,,M-S-8x100.step +S8-100MSDBU,S,8,100,M,,SDB,U,M-S-8x100.step +S8-100MSDBCM,S,8,100,M,,SDB,CM,M-S-8x100.step +S10-10E,S,10,10,,E,,,M-S-10x10.step +S10-10EU,S,10,10,,E,,U,M-S-10x10.step +S10-10ECM,S,10,10,,E,,CM,M-S-10x10.step +S10-10ELB,S,10,10,,E,LB,,M-S-10x10.step +S10-10ELBU,S,10,10,,E,LB,U,M-S-10x10.step +S10-10ELBCM,S,10,10,,E,LB,CM,M-S-10x10.step +S10-10EFA,S,10,10,,E,FA,,M-S-10x10.step +S10-10EFAU,S,10,10,,E,FA,U,M-S-10x10.step +S10-10EFACM,S,10,10,,E,FA,CM,M-S-10x10.step +S10-10EFB,S,10,10,,E,FB,,M-S-10x10.step +S10-10EFBU,S,10,10,,E,FB,U,M-S-10x10.step +S10-10EFBCM,S,10,10,,E,FB,CM,M-S-10x10.step +S10-10ESDB,S,10,10,,E,SDB,,M-S-10x10.step +S10-10ESDBU,S,10,10,,E,SDB,U,M-S-10x10.step +S10-10ESDBCM,S,10,10,,E,SDB,CM,M-S-10x10.step +S10-10,S,10,10,,,,,M-S-10x10.step +S10-10U,S,10,10,,,,U,M-S-10x10.step +S10-10CM,S,10,10,,,,CM,M-S-10x10.step +S10-10LB,S,10,10,,,LB,,M-S-10x10.step +S10-10LBU,S,10,10,,,LB,U,M-S-10x10.step +S10-10LBCM,S,10,10,,,LB,CM,M-S-10x10.step +S10-10FA,S,10,10,,,FA,,M-S-10x10.step +S10-10FAU,S,10,10,,,FA,U,M-S-10x10.step +S10-10FACM,S,10,10,,,FA,CM,M-S-10x10.step +S10-10FB,S,10,10,,,FB,,M-S-10x10.step +S10-10FBU,S,10,10,,,FB,U,M-S-10x10.step +S10-10FBCM,S,10,10,,,FB,CM,M-S-10x10.step +S10-10SDB,S,10,10,,,SDB,,M-S-10x10.step +S10-10SDBU,S,10,10,,,SDB,U,M-S-10x10.step +S10-10SDBCM,S,10,10,,,SDB,CM,M-S-10x10.step +S10-10ME,S,10,10,M,E,,,M-S-10x10.step +S10-10MEU,S,10,10,M,E,,U,M-S-10x10.step +S10-10MECM,S,10,10,M,E,,CM,M-S-10x10.step +S10-10MELB,S,10,10,M,E,LB,,M-S-10x10.step +S10-10MELBU,S,10,10,M,E,LB,U,M-S-10x10.step +S10-10MELBCM,S,10,10,M,E,LB,CM,M-S-10x10.step +S10-10MEFA,S,10,10,M,E,FA,,M-S-10x10.step +S10-10MEFAU,S,10,10,M,E,FA,U,M-S-10x10.step +S10-10MEFACM,S,10,10,M,E,FA,CM,M-S-10x10.step +S10-10MEFB,S,10,10,M,E,FB,,M-S-10x10.step +S10-10MEFBU,S,10,10,M,E,FB,U,M-S-10x10.step +S10-10MEFBCM,S,10,10,M,E,FB,CM,M-S-10x10.step +S10-10MESDB,S,10,10,M,E,SDB,,M-S-10x10.step +S10-10MESDBU,S,10,10,M,E,SDB,U,M-S-10x10.step +S10-10MESDBCM,S,10,10,M,E,SDB,CM,M-S-10x10.step +S10-10M,S,10,10,M,,,,M-S-10x10.step +S10-10MU,S,10,10,M,,,U,M-S-10x10.step +S10-10MCM,S,10,10,M,,,CM,M-S-10x10.step +S10-10MLB,S,10,10,M,,LB,,M-S-10x10.step +S10-10MLBU,S,10,10,M,,LB,U,M-S-10x10.step +S10-10MLBCM,S,10,10,M,,LB,CM,M-S-10x10.step +S10-10MFA,S,10,10,M,,FA,,M-S-10x10.step +S10-10MFAU,S,10,10,M,,FA,U,M-S-10x10.step +S10-10MFACM,S,10,10,M,,FA,CM,M-S-10x10.step +S10-10MFB,S,10,10,M,,FB,,M-S-10x10.step +S10-10MFBU,S,10,10,M,,FB,U,M-S-10x10.step +S10-10MFBCM,S,10,10,M,,FB,CM,M-S-10x10.step +S10-10MSDB,S,10,10,M,,SDB,,M-S-10x10.step +S10-10MSDBU,S,10,10,M,,SDB,U,M-S-10x10.step +S10-10MSDBCM,S,10,10,M,,SDB,CM,M-S-10x10.step +S10-20E,S,10,20,,E,,,M-S-10x20.step +S10-20EU,S,10,20,,E,,U,M-S-10x20.step +S10-20ECM,S,10,20,,E,,CM,M-S-10x20.step +S10-20ELB,S,10,20,,E,LB,,M-S-10x20.step +S10-20ELBU,S,10,20,,E,LB,U,M-S-10x20.step +S10-20ELBCM,S,10,20,,E,LB,CM,M-S-10x20.step +S10-20EFA,S,10,20,,E,FA,,M-S-10x20.step +S10-20EFAU,S,10,20,,E,FA,U,M-S-10x20.step +S10-20EFACM,S,10,20,,E,FA,CM,M-S-10x20.step +S10-20EFB,S,10,20,,E,FB,,M-S-10x20.step +S10-20EFBU,S,10,20,,E,FB,U,M-S-10x20.step +S10-20EFBCM,S,10,20,,E,FB,CM,M-S-10x20.step +S10-20ESDB,S,10,20,,E,SDB,,M-S-10x20.step +S10-20ESDBU,S,10,20,,E,SDB,U,M-S-10x20.step +S10-20ESDBCM,S,10,20,,E,SDB,CM,M-S-10x20.step +S10-20,S,10,20,,,,,M-S-10x20.step +S10-20U,S,10,20,,,,U,M-S-10x20.step +S10-20CM,S,10,20,,,,CM,M-S-10x20.step +S10-20LB,S,10,20,,,LB,,M-S-10x20.step +S10-20LBU,S,10,20,,,LB,U,M-S-10x20.step +S10-20LBCM,S,10,20,,,LB,CM,M-S-10x20.step +S10-20FA,S,10,20,,,FA,,M-S-10x20.step +S10-20FAU,S,10,20,,,FA,U,M-S-10x20.step +S10-20FACM,S,10,20,,,FA,CM,M-S-10x20.step +S10-20FB,S,10,20,,,FB,,M-S-10x20.step +S10-20FBU,S,10,20,,,FB,U,M-S-10x20.step +S10-20FBCM,S,10,20,,,FB,CM,M-S-10x20.step +S10-20SDB,S,10,20,,,SDB,,M-S-10x20.step +S10-20SDBU,S,10,20,,,SDB,U,M-S-10x20.step +S10-20SDBCM,S,10,20,,,SDB,CM,M-S-10x20.step +S10-20ME,S,10,20,M,E,,,M-S-10x20.step +S10-20MEU,S,10,20,M,E,,U,M-S-10x20.step +S10-20MECM,S,10,20,M,E,,CM,M-S-10x20.step +S10-20MELB,S,10,20,M,E,LB,,M-S-10x20.step +S10-20MELBU,S,10,20,M,E,LB,U,M-S-10x20.step +S10-20MELBCM,S,10,20,M,E,LB,CM,M-S-10x20.step +S10-20MEFA,S,10,20,M,E,FA,,M-S-10x20.step +S10-20MEFAU,S,10,20,M,E,FA,U,M-S-10x20.step +S10-20MEFACM,S,10,20,M,E,FA,CM,M-S-10x20.step +S10-20MEFB,S,10,20,M,E,FB,,M-S-10x20.step +S10-20MEFBU,S,10,20,M,E,FB,U,M-S-10x20.step +S10-20MEFBCM,S,10,20,M,E,FB,CM,M-S-10x20.step +S10-20MESDB,S,10,20,M,E,SDB,,M-S-10x20.step +S10-20MESDBU,S,10,20,M,E,SDB,U,M-S-10x20.step +S10-20MESDBCM,S,10,20,M,E,SDB,CM,M-S-10x20.step +S10-20M,S,10,20,M,,,,M-S-10x20.step +S10-20MU,S,10,20,M,,,U,M-S-10x20.step +S10-20MCM,S,10,20,M,,,CM,M-S-10x20.step +S10-20MLB,S,10,20,M,,LB,,M-S-10x20.step +S10-20MLBU,S,10,20,M,,LB,U,M-S-10x20.step +S10-20MLBCM,S,10,20,M,,LB,CM,M-S-10x20.step +S10-20MFA,S,10,20,M,,FA,,M-S-10x20.step +S10-20MFAU,S,10,20,M,,FA,U,M-S-10x20.step +S10-20MFACM,S,10,20,M,,FA,CM,M-S-10x20.step +S10-20MFB,S,10,20,M,,FB,,M-S-10x20.step +S10-20MFBU,S,10,20,M,,FB,U,M-S-10x20.step +S10-20MFBCM,S,10,20,M,,FB,CM,M-S-10x20.step +S10-20MSDB,S,10,20,M,,SDB,,M-S-10x20.step +S10-20MSDBU,S,10,20,M,,SDB,U,M-S-10x20.step +S10-20MSDBCM,S,10,20,M,,SDB,CM,M-S-10x20.step +S10-30E,S,10,30,,E,,,M-S-10x30.step +S10-30EU,S,10,30,,E,,U,M-S-10x30.step +S10-30ECM,S,10,30,,E,,CM,M-S-10x30.step +S10-30ELB,S,10,30,,E,LB,,M-S-10x30.step +S10-30ELBU,S,10,30,,E,LB,U,M-S-10x30.step +S10-30ELBCM,S,10,30,,E,LB,CM,M-S-10x30.step +S10-30EFA,S,10,30,,E,FA,,M-S-10x30.step +S10-30EFAU,S,10,30,,E,FA,U,M-S-10x30.step +S10-30EFACM,S,10,30,,E,FA,CM,M-S-10x30.step +S10-30EFB,S,10,30,,E,FB,,M-S-10x30.step +S10-30EFBU,S,10,30,,E,FB,U,M-S-10x30.step +S10-30EFBCM,S,10,30,,E,FB,CM,M-S-10x30.step +S10-30ESDB,S,10,30,,E,SDB,,M-S-10x30.step +S10-30ESDBU,S,10,30,,E,SDB,U,M-S-10x30.step +S10-30ESDBCM,S,10,30,,E,SDB,CM,M-S-10x30.step +S10-30,S,10,30,,,,,M-S-10x30.step +S10-30U,S,10,30,,,,U,M-S-10x30.step +S10-30CM,S,10,30,,,,CM,M-S-10x30.step +S10-30LB,S,10,30,,,LB,,M-S-10x30.step +S10-30LBU,S,10,30,,,LB,U,M-S-10x30.step +S10-30LBCM,S,10,30,,,LB,CM,M-S-10x30.step +S10-30FA,S,10,30,,,FA,,M-S-10x30.step +S10-30FAU,S,10,30,,,FA,U,M-S-10x30.step +S10-30FACM,S,10,30,,,FA,CM,M-S-10x30.step +S10-30FB,S,10,30,,,FB,,M-S-10x30.step +S10-30FBU,S,10,30,,,FB,U,M-S-10x30.step +S10-30FBCM,S,10,30,,,FB,CM,M-S-10x30.step +S10-30SDB,S,10,30,,,SDB,,M-S-10x30.step +S10-30SDBU,S,10,30,,,SDB,U,M-S-10x30.step +S10-30SDBCM,S,10,30,,,SDB,CM,M-S-10x30.step +S10-30ME,S,10,30,M,E,,,M-S-10x30.step +S10-30MEU,S,10,30,M,E,,U,M-S-10x30.step +S10-30MECM,S,10,30,M,E,,CM,M-S-10x30.step +S10-30MELB,S,10,30,M,E,LB,,M-S-10x30.step +S10-30MELBU,S,10,30,M,E,LB,U,M-S-10x30.step +S10-30MELBCM,S,10,30,M,E,LB,CM,M-S-10x30.step +S10-30MEFA,S,10,30,M,E,FA,,M-S-10x30.step +S10-30MEFAU,S,10,30,M,E,FA,U,M-S-10x30.step +S10-30MEFACM,S,10,30,M,E,FA,CM,M-S-10x30.step +S10-30MEFB,S,10,30,M,E,FB,,M-S-10x30.step +S10-30MEFBU,S,10,30,M,E,FB,U,M-S-10x30.step +S10-30MEFBCM,S,10,30,M,E,FB,CM,M-S-10x30.step +S10-30MESDB,S,10,30,M,E,SDB,,M-S-10x30.step +S10-30MESDBU,S,10,30,M,E,SDB,U,M-S-10x30.step +S10-30MESDBCM,S,10,30,M,E,SDB,CM,M-S-10x30.step +S10-30M,S,10,30,M,,,,M-S-10x30.step +S10-30MU,S,10,30,M,,,U,M-S-10x30.step +S10-30MCM,S,10,30,M,,,CM,M-S-10x30.step +S10-30MLB,S,10,30,M,,LB,,M-S-10x30.step +S10-30MLBU,S,10,30,M,,LB,U,M-S-10x30.step +S10-30MLBCM,S,10,30,M,,LB,CM,M-S-10x30.step +S10-30MFA,S,10,30,M,,FA,,M-S-10x30.step +S10-30MFAU,S,10,30,M,,FA,U,M-S-10x30.step +S10-30MFACM,S,10,30,M,,FA,CM,M-S-10x30.step +S10-30MFB,S,10,30,M,,FB,,M-S-10x30.step +S10-30MFBU,S,10,30,M,,FB,U,M-S-10x30.step +S10-30MFBCM,S,10,30,M,,FB,CM,M-S-10x30.step +S10-30MSDB,S,10,30,M,,SDB,,M-S-10x30.step +S10-30MSDBU,S,10,30,M,,SDB,U,M-S-10x30.step +S10-30MSDBCM,S,10,30,M,,SDB,CM,M-S-10x30.step +S10-50E,S,10,50,,E,,,M-S-10x50.step +S10-50EU,S,10,50,,E,,U,M-S-10x50.step +S10-50ECM,S,10,50,,E,,CM,M-S-10x50.step +S10-50ELB,S,10,50,,E,LB,,M-S-10x50.step +S10-50ELBU,S,10,50,,E,LB,U,M-S-10x50.step +S10-50ELBCM,S,10,50,,E,LB,CM,M-S-10x50.step +S10-50EFA,S,10,50,,E,FA,,M-S-10x50.step +S10-50EFAU,S,10,50,,E,FA,U,M-S-10x50.step +S10-50EFACM,S,10,50,,E,FA,CM,M-S-10x50.step +S10-50EFB,S,10,50,,E,FB,,M-S-10x50.step +S10-50EFBU,S,10,50,,E,FB,U,M-S-10x50.step +S10-50EFBCM,S,10,50,,E,FB,CM,M-S-10x50.step +S10-50ESDB,S,10,50,,E,SDB,,M-S-10x50.step +S10-50ESDBU,S,10,50,,E,SDB,U,M-S-10x50.step +S10-50ESDBCM,S,10,50,,E,SDB,CM,M-S-10x50.step +S10-50,S,10,50,,,,,M-S-10x50.step +S10-50U,S,10,50,,,,U,M-S-10x50.step +S10-50CM,S,10,50,,,,CM,M-S-10x50.step +S10-50LB,S,10,50,,,LB,,M-S-10x50.step +S10-50LBU,S,10,50,,,LB,U,M-S-10x50.step +S10-50LBCM,S,10,50,,,LB,CM,M-S-10x50.step +S10-50FA,S,10,50,,,FA,,M-S-10x50.step +S10-50FAU,S,10,50,,,FA,U,M-S-10x50.step +S10-50FACM,S,10,50,,,FA,CM,M-S-10x50.step +S10-50FB,S,10,50,,,FB,,M-S-10x50.step +S10-50FBU,S,10,50,,,FB,U,M-S-10x50.step +S10-50FBCM,S,10,50,,,FB,CM,M-S-10x50.step +S10-50SDB,S,10,50,,,SDB,,M-S-10x50.step +S10-50SDBU,S,10,50,,,SDB,U,M-S-10x50.step +S10-50SDBCM,S,10,50,,,SDB,CM,M-S-10x50.step +S10-50ME,S,10,50,M,E,,,M-S-10x50.step +S10-50MEU,S,10,50,M,E,,U,M-S-10x50.step +S10-50MECM,S,10,50,M,E,,CM,M-S-10x50.step +S10-50MELB,S,10,50,M,E,LB,,M-S-10x50.step +S10-50MELBU,S,10,50,M,E,LB,U,M-S-10x50.step +S10-50MELBCM,S,10,50,M,E,LB,CM,M-S-10x50.step +S10-50MEFA,S,10,50,M,E,FA,,M-S-10x50.step +S10-50MEFAU,S,10,50,M,E,FA,U,M-S-10x50.step +S10-50MEFACM,S,10,50,M,E,FA,CM,M-S-10x50.step +S10-50MEFB,S,10,50,M,E,FB,,M-S-10x50.step +S10-50MEFBU,S,10,50,M,E,FB,U,M-S-10x50.step +S10-50MEFBCM,S,10,50,M,E,FB,CM,M-S-10x50.step +S10-50MESDB,S,10,50,M,E,SDB,,M-S-10x50.step +S10-50MESDBU,S,10,50,M,E,SDB,U,M-S-10x50.step +S10-50MESDBCM,S,10,50,M,E,SDB,CM,M-S-10x50.step +S10-50M,S,10,50,M,,,,M-S-10x50.step +S10-50MU,S,10,50,M,,,U,M-S-10x50.step +S10-50MCM,S,10,50,M,,,CM,M-S-10x50.step +S10-50MLB,S,10,50,M,,LB,,M-S-10x50.step +S10-50MLBU,S,10,50,M,,LB,U,M-S-10x50.step +S10-50MLBCM,S,10,50,M,,LB,CM,M-S-10x50.step +S10-50MFA,S,10,50,M,,FA,,M-S-10x50.step +S10-50MFAU,S,10,50,M,,FA,U,M-S-10x50.step +S10-50MFACM,S,10,50,M,,FA,CM,M-S-10x50.step +S10-50MFB,S,10,50,M,,FB,,M-S-10x50.step +S10-50MFBU,S,10,50,M,,FB,U,M-S-10x50.step +S10-50MFBCM,S,10,50,M,,FB,CM,M-S-10x50.step +S10-50MSDB,S,10,50,M,,SDB,,M-S-10x50.step +S10-50MSDBU,S,10,50,M,,SDB,U,M-S-10x50.step +S10-50MSDBCM,S,10,50,M,,SDB,CM,M-S-10x50.step +S10-75E,S,10,75,,E,,,M-S-10x75.step +S10-75EU,S,10,75,,E,,U,M-S-10x75.step +S10-75ECM,S,10,75,,E,,CM,M-S-10x75.step +S10-75ELB,S,10,75,,E,LB,,M-S-10x75.step +S10-75ELBU,S,10,75,,E,LB,U,M-S-10x75.step +S10-75ELBCM,S,10,75,,E,LB,CM,M-S-10x75.step +S10-75EFA,S,10,75,,E,FA,,M-S-10x75.step +S10-75EFAU,S,10,75,,E,FA,U,M-S-10x75.step +S10-75EFACM,S,10,75,,E,FA,CM,M-S-10x75.step +S10-75EFB,S,10,75,,E,FB,,M-S-10x75.step +S10-75EFBU,S,10,75,,E,FB,U,M-S-10x75.step +S10-75EFBCM,S,10,75,,E,FB,CM,M-S-10x75.step +S10-75ESDB,S,10,75,,E,SDB,,M-S-10x75.step +S10-75ESDBU,S,10,75,,E,SDB,U,M-S-10x75.step +S10-75ESDBCM,S,10,75,,E,SDB,CM,M-S-10x75.step +S10-75,S,10,75,,,,,M-S-10x75.step +S10-75U,S,10,75,,,,U,M-S-10x75.step +S10-75CM,S,10,75,,,,CM,M-S-10x75.step +S10-75LB,S,10,75,,,LB,,M-S-10x75.step +S10-75LBU,S,10,75,,,LB,U,M-S-10x75.step +S10-75LBCM,S,10,75,,,LB,CM,M-S-10x75.step +S10-75FA,S,10,75,,,FA,,M-S-10x75.step +S10-75FAU,S,10,75,,,FA,U,M-S-10x75.step +S10-75FACM,S,10,75,,,FA,CM,M-S-10x75.step +S10-75FB,S,10,75,,,FB,,M-S-10x75.step +S10-75FBU,S,10,75,,,FB,U,M-S-10x75.step +S10-75FBCM,S,10,75,,,FB,CM,M-S-10x75.step +S10-75SDB,S,10,75,,,SDB,,M-S-10x75.step +S10-75SDBU,S,10,75,,,SDB,U,M-S-10x75.step +S10-75SDBCM,S,10,75,,,SDB,CM,M-S-10x75.step +S10-75ME,S,10,75,M,E,,,M-S-10x75.step +S10-75MEU,S,10,75,M,E,,U,M-S-10x75.step +S10-75MECM,S,10,75,M,E,,CM,M-S-10x75.step +S10-75MELB,S,10,75,M,E,LB,,M-S-10x75.step +S10-75MELBU,S,10,75,M,E,LB,U,M-S-10x75.step +S10-75MELBCM,S,10,75,M,E,LB,CM,M-S-10x75.step +S10-75MEFA,S,10,75,M,E,FA,,M-S-10x75.step +S10-75MEFAU,S,10,75,M,E,FA,U,M-S-10x75.step +S10-75MEFACM,S,10,75,M,E,FA,CM,M-S-10x75.step +S10-75MEFB,S,10,75,M,E,FB,,M-S-10x75.step +S10-75MEFBU,S,10,75,M,E,FB,U,M-S-10x75.step +S10-75MEFBCM,S,10,75,M,E,FB,CM,M-S-10x75.step +S10-75MESDB,S,10,75,M,E,SDB,,M-S-10x75.step +S10-75MESDBU,S,10,75,M,E,SDB,U,M-S-10x75.step +S10-75MESDBCM,S,10,75,M,E,SDB,CM,M-S-10x75.step +S10-75M,S,10,75,M,,,,M-S-10x75.step +S10-75MU,S,10,75,M,,,U,M-S-10x75.step +S10-75MCM,S,10,75,M,,,CM,M-S-10x75.step +S10-75MLB,S,10,75,M,,LB,,M-S-10x75.step +S10-75MLBU,S,10,75,M,,LB,U,M-S-10x75.step +S10-75MLBCM,S,10,75,M,,LB,CM,M-S-10x75.step +S10-75MFA,S,10,75,M,,FA,,M-S-10x75.step +S10-75MFAU,S,10,75,M,,FA,U,M-S-10x75.step +S10-75MFACM,S,10,75,M,,FA,CM,M-S-10x75.step +S10-75MFB,S,10,75,M,,FB,,M-S-10x75.step +S10-75MFBU,S,10,75,M,,FB,U,M-S-10x75.step +S10-75MFBCM,S,10,75,M,,FB,CM,M-S-10x75.step +S10-75MSDB,S,10,75,M,,SDB,,M-S-10x75.step +S10-75MSDBU,S,10,75,M,,SDB,U,M-S-10x75.step +S10-75MSDBCM,S,10,75,M,,SDB,CM,M-S-10x75.step +S10-100E,S,10,100,,E,,,M-S-10x100.step +S10-100EU,S,10,100,,E,,U,M-S-10x100.step +S10-100ECM,S,10,100,,E,,CM,M-S-10x100.step +S10-100ELB,S,10,100,,E,LB,,M-S-10x100.step +S10-100ELBU,S,10,100,,E,LB,U,M-S-10x100.step +S10-100ELBCM,S,10,100,,E,LB,CM,M-S-10x100.step +S10-100EFA,S,10,100,,E,FA,,M-S-10x100.step +S10-100EFAU,S,10,100,,E,FA,U,M-S-10x100.step +S10-100EFACM,S,10,100,,E,FA,CM,M-S-10x100.step +S10-100EFB,S,10,100,,E,FB,,M-S-10x100.step +S10-100EFBU,S,10,100,,E,FB,U,M-S-10x100.step +S10-100EFBCM,S,10,100,,E,FB,CM,M-S-10x100.step +S10-100ESDB,S,10,100,,E,SDB,,M-S-10x100.step +S10-100ESDBU,S,10,100,,E,SDB,U,M-S-10x100.step +S10-100ESDBCM,S,10,100,,E,SDB,CM,M-S-10x100.step +S10-100,S,10,100,,,,,M-S-10x100.step +S10-100U,S,10,100,,,,U,M-S-10x100.step +S10-100CM,S,10,100,,,,CM,M-S-10x100.step +S10-100LB,S,10,100,,,LB,,M-S-10x100.step +S10-100LBU,S,10,100,,,LB,U,M-S-10x100.step +S10-100LBCM,S,10,100,,,LB,CM,M-S-10x100.step +S10-100FA,S,10,100,,,FA,,M-S-10x100.step +S10-100FAU,S,10,100,,,FA,U,M-S-10x100.step +S10-100FACM,S,10,100,,,FA,CM,M-S-10x100.step +S10-100FB,S,10,100,,,FB,,M-S-10x100.step +S10-100FBU,S,10,100,,,FB,U,M-S-10x100.step +S10-100FBCM,S,10,100,,,FB,CM,M-S-10x100.step +S10-100SDB,S,10,100,,,SDB,,M-S-10x100.step +S10-100SDBU,S,10,100,,,SDB,U,M-S-10x100.step +S10-100SDBCM,S,10,100,,,SDB,CM,M-S-10x100.step +S10-100ME,S,10,100,M,E,,,M-S-10x100.step +S10-100MEU,S,10,100,M,E,,U,M-S-10x100.step +S10-100MECM,S,10,100,M,E,,CM,M-S-10x100.step +S10-100MELB,S,10,100,M,E,LB,,M-S-10x100.step +S10-100MELBU,S,10,100,M,E,LB,U,M-S-10x100.step +S10-100MELBCM,S,10,100,M,E,LB,CM,M-S-10x100.step +S10-100MEFA,S,10,100,M,E,FA,,M-S-10x100.step +S10-100MEFAU,S,10,100,M,E,FA,U,M-S-10x100.step +S10-100MEFACM,S,10,100,M,E,FA,CM,M-S-10x100.step +S10-100MEFB,S,10,100,M,E,FB,,M-S-10x100.step +S10-100MEFBU,S,10,100,M,E,FB,U,M-S-10x100.step +S10-100MEFBCM,S,10,100,M,E,FB,CM,M-S-10x100.step +S10-100MESDB,S,10,100,M,E,SDB,,M-S-10x100.step +S10-100MESDBU,S,10,100,M,E,SDB,U,M-S-10x100.step +S10-100MESDBCM,S,10,100,M,E,SDB,CM,M-S-10x100.step +S10-100M,S,10,100,M,,,,M-S-10x100.step +S10-100MU,S,10,100,M,,,U,M-S-10x100.step +S10-100MCM,S,10,100,M,,,CM,M-S-10x100.step +S10-100MLB,S,10,100,M,,LB,,M-S-10x100.step +S10-100MLBU,S,10,100,M,,LB,U,M-S-10x100.step +S10-100MLBCM,S,10,100,M,,LB,CM,M-S-10x100.step +S10-100MFA,S,10,100,M,,FA,,M-S-10x100.step +S10-100MFAU,S,10,100,M,,FA,U,M-S-10x100.step +S10-100MFACM,S,10,100,M,,FA,CM,M-S-10x100.step +S10-100MFB,S,10,100,M,,FB,,M-S-10x100.step +S10-100MFBU,S,10,100,M,,FB,U,M-S-10x100.step +S10-100MFBCM,S,10,100,M,,FB,CM,M-S-10x100.step +S10-100MSDB,S,10,100,M,,SDB,,M-S-10x100.step +S10-100MSDBU,S,10,100,M,,SDB,U,M-S-10x100.step +S10-100MSDBCM,S,10,100,M,,SDB,CM,M-S-10x100.step +S12-10E,S,12,10,,E,,,M-S-12x10.step +S12-10EU,S,12,10,,E,,U,M-S-12x10.step +S12-10ECM,S,12,10,,E,,CM,M-S-12x10.step +S12-10ELB,S,12,10,,E,LB,,M-S-12x10.step +S12-10ELBU,S,12,10,,E,LB,U,M-S-12x10.step +S12-10ELBCM,S,12,10,,E,LB,CM,M-S-12x10.step +S12-10EFA,S,12,10,,E,FA,,M-S-12x10.step +S12-10EFAU,S,12,10,,E,FA,U,M-S-12x10.step +S12-10EFACM,S,12,10,,E,FA,CM,M-S-12x10.step +S12-10EFB,S,12,10,,E,FB,,M-S-12x10.step +S12-10EFBU,S,12,10,,E,FB,U,M-S-12x10.step +S12-10EFBCM,S,12,10,,E,FB,CM,M-S-12x10.step +S12-10ESDB,S,12,10,,E,SDB,,M-S-12x10.step +S12-10ESDBU,S,12,10,,E,SDB,U,M-S-12x10.step +S12-10ESDBCM,S,12,10,,E,SDB,CM,M-S-12x10.step +S12-10,S,12,10,,,,,M-S-12x10.step +S12-10U,S,12,10,,,,U,M-S-12x10.step +S12-10CM,S,12,10,,,,CM,M-S-12x10.step +S12-10LB,S,12,10,,,LB,,M-S-12x10.step +S12-10LBU,S,12,10,,,LB,U,M-S-12x10.step +S12-10LBCM,S,12,10,,,LB,CM,M-S-12x10.step +S12-10FA,S,12,10,,,FA,,M-S-12x10.step +S12-10FAU,S,12,10,,,FA,U,M-S-12x10.step +S12-10FACM,S,12,10,,,FA,CM,M-S-12x10.step +S12-10FB,S,12,10,,,FB,,M-S-12x10.step +S12-10FBU,S,12,10,,,FB,U,M-S-12x10.step +S12-10FBCM,S,12,10,,,FB,CM,M-S-12x10.step +S12-10SDB,S,12,10,,,SDB,,M-S-12x10.step +S12-10SDBU,S,12,10,,,SDB,U,M-S-12x10.step +S12-10SDBCM,S,12,10,,,SDB,CM,M-S-12x10.step +S12-10ME,S,12,10,M,E,,,M-S-12x10.step +S12-10MEU,S,12,10,M,E,,U,M-S-12x10.step +S12-10MECM,S,12,10,M,E,,CM,M-S-12x10.step +S12-10MELB,S,12,10,M,E,LB,,M-S-12x10.step +S12-10MELBU,S,12,10,M,E,LB,U,M-S-12x10.step +S12-10MELBCM,S,12,10,M,E,LB,CM,M-S-12x10.step +S12-10MEFA,S,12,10,M,E,FA,,M-S-12x10.step +S12-10MEFAU,S,12,10,M,E,FA,U,M-S-12x10.step +S12-10MEFACM,S,12,10,M,E,FA,CM,M-S-12x10.step +S12-10MEFB,S,12,10,M,E,FB,,M-S-12x10.step +S12-10MEFBU,S,12,10,M,E,FB,U,M-S-12x10.step +S12-10MEFBCM,S,12,10,M,E,FB,CM,M-S-12x10.step +S12-10MESDB,S,12,10,M,E,SDB,,M-S-12x10.step +S12-10MESDBU,S,12,10,M,E,SDB,U,M-S-12x10.step +S12-10MESDBCM,S,12,10,M,E,SDB,CM,M-S-12x10.step +S12-10M,S,12,10,M,,,,M-S-12x10.step +S12-10MU,S,12,10,M,,,U,M-S-12x10.step +S12-10MCM,S,12,10,M,,,CM,M-S-12x10.step +S12-10MLB,S,12,10,M,,LB,,M-S-12x10.step +S12-10MLBU,S,12,10,M,,LB,U,M-S-12x10.step +S12-10MLBCM,S,12,10,M,,LB,CM,M-S-12x10.step +S12-10MFA,S,12,10,M,,FA,,M-S-12x10.step +S12-10MFAU,S,12,10,M,,FA,U,M-S-12x10.step +S12-10MFACM,S,12,10,M,,FA,CM,M-S-12x10.step +S12-10MFB,S,12,10,M,,FB,,M-S-12x10.step +S12-10MFBU,S,12,10,M,,FB,U,M-S-12x10.step +S12-10MFBCM,S,12,10,M,,FB,CM,M-S-12x10.step +S12-10MSDB,S,12,10,M,,SDB,,M-S-12x10.step +S12-10MSDBU,S,12,10,M,,SDB,U,M-S-12x10.step +S12-10MSDBCM,S,12,10,M,,SDB,CM,M-S-12x10.step +S12-20E,S,12,20,,E,,,M-S-12x20.step +S12-20EU,S,12,20,,E,,U,M-S-12x20.step +S12-20ECM,S,12,20,,E,,CM,M-S-12x20.step +S12-20ELB,S,12,20,,E,LB,,M-S-12x20.step +S12-20ELBU,S,12,20,,E,LB,U,M-S-12x20.step +S12-20ELBCM,S,12,20,,E,LB,CM,M-S-12x20.step +S12-20EFA,S,12,20,,E,FA,,M-S-12x20.step +S12-20EFAU,S,12,20,,E,FA,U,M-S-12x20.step +S12-20EFACM,S,12,20,,E,FA,CM,M-S-12x20.step +S12-20EFB,S,12,20,,E,FB,,M-S-12x20.step +S12-20EFBU,S,12,20,,E,FB,U,M-S-12x20.step +S12-20EFBCM,S,12,20,,E,FB,CM,M-S-12x20.step +S12-20ESDB,S,12,20,,E,SDB,,M-S-12x20.step +S12-20ESDBU,S,12,20,,E,SDB,U,M-S-12x20.step +S12-20ESDBCM,S,12,20,,E,SDB,CM,M-S-12x20.step +S12-20,S,12,20,,,,,M-S-12x20.step +S12-20U,S,12,20,,,,U,M-S-12x20.step +S12-20CM,S,12,20,,,,CM,M-S-12x20.step +S12-20LB,S,12,20,,,LB,,M-S-12x20.step +S12-20LBU,S,12,20,,,LB,U,M-S-12x20.step +S12-20LBCM,S,12,20,,,LB,CM,M-S-12x20.step +S12-20FA,S,12,20,,,FA,,M-S-12x20.step +S12-20FAU,S,12,20,,,FA,U,M-S-12x20.step +S12-20FACM,S,12,20,,,FA,CM,M-S-12x20.step +S12-20FB,S,12,20,,,FB,,M-S-12x20.step +S12-20FBU,S,12,20,,,FB,U,M-S-12x20.step +S12-20FBCM,S,12,20,,,FB,CM,M-S-12x20.step +S12-20SDB,S,12,20,,,SDB,,M-S-12x20.step +S12-20SDBU,S,12,20,,,SDB,U,M-S-12x20.step +S12-20SDBCM,S,12,20,,,SDB,CM,M-S-12x20.step +S12-20ME,S,12,20,M,E,,,M-S-12x20.step +S12-20MEU,S,12,20,M,E,,U,M-S-12x20.step +S12-20MECM,S,12,20,M,E,,CM,M-S-12x20.step +S12-20MELB,S,12,20,M,E,LB,,M-S-12x20.step +S12-20MELBU,S,12,20,M,E,LB,U,M-S-12x20.step +S12-20MELBCM,S,12,20,M,E,LB,CM,M-S-12x20.step +S12-20MEFA,S,12,20,M,E,FA,,M-S-12x20.step +S12-20MEFAU,S,12,20,M,E,FA,U,M-S-12x20.step +S12-20MEFACM,S,12,20,M,E,FA,CM,M-S-12x20.step +S12-20MEFB,S,12,20,M,E,FB,,M-S-12x20.step +S12-20MEFBU,S,12,20,M,E,FB,U,M-S-12x20.step +S12-20MEFBCM,S,12,20,M,E,FB,CM,M-S-12x20.step +S12-20MESDB,S,12,20,M,E,SDB,,M-S-12x20.step +S12-20MESDBU,S,12,20,M,E,SDB,U,M-S-12x20.step +S12-20MESDBCM,S,12,20,M,E,SDB,CM,M-S-12x20.step +S12-20M,S,12,20,M,,,,M-S-12x20.step +S12-20MU,S,12,20,M,,,U,M-S-12x20.step +S12-20MCM,S,12,20,M,,,CM,M-S-12x20.step +S12-20MLB,S,12,20,M,,LB,,M-S-12x20.step +S12-20MLBU,S,12,20,M,,LB,U,M-S-12x20.step +S12-20MLBCM,S,12,20,M,,LB,CM,M-S-12x20.step +S12-20MFA,S,12,20,M,,FA,,M-S-12x20.step +S12-20MFAU,S,12,20,M,,FA,U,M-S-12x20.step +S12-20MFACM,S,12,20,M,,FA,CM,M-S-12x20.step +S12-20MFB,S,12,20,M,,FB,,M-S-12x20.step +S12-20MFBU,S,12,20,M,,FB,U,M-S-12x20.step +S12-20MFBCM,S,12,20,M,,FB,CM,M-S-12x20.step +S12-20MSDB,S,12,20,M,,SDB,,M-S-12x20.step +S12-20MSDBU,S,12,20,M,,SDB,U,M-S-12x20.step +S12-20MSDBCM,S,12,20,M,,SDB,CM,M-S-12x20.step +S12-30E,S,12,30,,E,,,M-S-12x30.step +S12-30EU,S,12,30,,E,,U,M-S-12x30.step +S12-30ECM,S,12,30,,E,,CM,M-S-12x30.step +S12-30ELB,S,12,30,,E,LB,,M-S-12x30.step +S12-30ELBU,S,12,30,,E,LB,U,M-S-12x30.step +S12-30ELBCM,S,12,30,,E,LB,CM,M-S-12x30.step +S12-30EFA,S,12,30,,E,FA,,M-S-12x30.step +S12-30EFAU,S,12,30,,E,FA,U,M-S-12x30.step +S12-30EFACM,S,12,30,,E,FA,CM,M-S-12x30.step +S12-30EFB,S,12,30,,E,FB,,M-S-12x30.step +S12-30EFBU,S,12,30,,E,FB,U,M-S-12x30.step +S12-30EFBCM,S,12,30,,E,FB,CM,M-S-12x30.step +S12-30ESDB,S,12,30,,E,SDB,,M-S-12x30.step +S12-30ESDBU,S,12,30,,E,SDB,U,M-S-12x30.step +S12-30ESDBCM,S,12,30,,E,SDB,CM,M-S-12x30.step +S12-30,S,12,30,,,,,M-S-12x30.step +S12-30U,S,12,30,,,,U,M-S-12x30.step +S12-30CM,S,12,30,,,,CM,M-S-12x30.step +S12-30LB,S,12,30,,,LB,,M-S-12x30.step +S12-30LBU,S,12,30,,,LB,U,M-S-12x30.step +S12-30LBCM,S,12,30,,,LB,CM,M-S-12x30.step +S12-30FA,S,12,30,,,FA,,M-S-12x30.step +S12-30FAU,S,12,30,,,FA,U,M-S-12x30.step +S12-30FACM,S,12,30,,,FA,CM,M-S-12x30.step +S12-30FB,S,12,30,,,FB,,M-S-12x30.step +S12-30FBU,S,12,30,,,FB,U,M-S-12x30.step +S12-30FBCM,S,12,30,,,FB,CM,M-S-12x30.step +S12-30SDB,S,12,30,,,SDB,,M-S-12x30.step +S12-30SDBU,S,12,30,,,SDB,U,M-S-12x30.step +S12-30SDBCM,S,12,30,,,SDB,CM,M-S-12x30.step +S12-30ME,S,12,30,M,E,,,M-S-12x30.step +S12-30MEU,S,12,30,M,E,,U,M-S-12x30.step +S12-30MECM,S,12,30,M,E,,CM,M-S-12x30.step +S12-30MELB,S,12,30,M,E,LB,,M-S-12x30.step +S12-30MELBU,S,12,30,M,E,LB,U,M-S-12x30.step +S12-30MELBCM,S,12,30,M,E,LB,CM,M-S-12x30.step +S12-30MEFA,S,12,30,M,E,FA,,M-S-12x30.step +S12-30MEFAU,S,12,30,M,E,FA,U,M-S-12x30.step +S12-30MEFACM,S,12,30,M,E,FA,CM,M-S-12x30.step +S12-30MEFB,S,12,30,M,E,FB,,M-S-12x30.step +S12-30MEFBU,S,12,30,M,E,FB,U,M-S-12x30.step +S12-30MEFBCM,S,12,30,M,E,FB,CM,M-S-12x30.step +S12-30MESDB,S,12,30,M,E,SDB,,M-S-12x30.step +S12-30MESDBU,S,12,30,M,E,SDB,U,M-S-12x30.step +S12-30MESDBCM,S,12,30,M,E,SDB,CM,M-S-12x30.step +S12-30M,S,12,30,M,,,,M-S-12x30.step +S12-30MU,S,12,30,M,,,U,M-S-12x30.step +S12-30MCM,S,12,30,M,,,CM,M-S-12x30.step +S12-30MLB,S,12,30,M,,LB,,M-S-12x30.step +S12-30MLBU,S,12,30,M,,LB,U,M-S-12x30.step +S12-30MLBCM,S,12,30,M,,LB,CM,M-S-12x30.step +S12-30MFA,S,12,30,M,,FA,,M-S-12x30.step +S12-30MFAU,S,12,30,M,,FA,U,M-S-12x30.step +S12-30MFACM,S,12,30,M,,FA,CM,M-S-12x30.step +S12-30MFB,S,12,30,M,,FB,,M-S-12x30.step +S12-30MFBU,S,12,30,M,,FB,U,M-S-12x30.step +S12-30MFBCM,S,12,30,M,,FB,CM,M-S-12x30.step +S12-30MSDB,S,12,30,M,,SDB,,M-S-12x30.step +S12-30MSDBU,S,12,30,M,,SDB,U,M-S-12x30.step +S12-30MSDBCM,S,12,30,M,,SDB,CM,M-S-12x30.step +S12-50E,S,12,50,,E,,,M-S-12x50.step +S12-50EU,S,12,50,,E,,U,M-S-12x50.step +S12-50ECM,S,12,50,,E,,CM,M-S-12x50.step +S12-50ELB,S,12,50,,E,LB,,M-S-12x50.step +S12-50ELBU,S,12,50,,E,LB,U,M-S-12x50.step +S12-50ELBCM,S,12,50,,E,LB,CM,M-S-12x50.step +S12-50EFA,S,12,50,,E,FA,,M-S-12x50.step +S12-50EFAU,S,12,50,,E,FA,U,M-S-12x50.step +S12-50EFACM,S,12,50,,E,FA,CM,M-S-12x50.step +S12-50EFB,S,12,50,,E,FB,,M-S-12x50.step +S12-50EFBU,S,12,50,,E,FB,U,M-S-12x50.step +S12-50EFBCM,S,12,50,,E,FB,CM,M-S-12x50.step +S12-50ESDB,S,12,50,,E,SDB,,M-S-12x50.step +S12-50ESDBU,S,12,50,,E,SDB,U,M-S-12x50.step +S12-50ESDBCM,S,12,50,,E,SDB,CM,M-S-12x50.step +S12-50,S,12,50,,,,,M-S-12x50.step +S12-50U,S,12,50,,,,U,M-S-12x50.step +S12-50CM,S,12,50,,,,CM,M-S-12x50.step +S12-50LB,S,12,50,,,LB,,M-S-12x50.step +S12-50LBU,S,12,50,,,LB,U,M-S-12x50.step +S12-50LBCM,S,12,50,,,LB,CM,M-S-12x50.step +S12-50FA,S,12,50,,,FA,,M-S-12x50.step +S12-50FAU,S,12,50,,,FA,U,M-S-12x50.step +S12-50FACM,S,12,50,,,FA,CM,M-S-12x50.step +S12-50FB,S,12,50,,,FB,,M-S-12x50.step +S12-50FBU,S,12,50,,,FB,U,M-S-12x50.step +S12-50FBCM,S,12,50,,,FB,CM,M-S-12x50.step +S12-50SDB,S,12,50,,,SDB,,M-S-12x50.step +S12-50SDBU,S,12,50,,,SDB,U,M-S-12x50.step +S12-50SDBCM,S,12,50,,,SDB,CM,M-S-12x50.step +S12-50ME,S,12,50,M,E,,,M-S-12x50.step +S12-50MEU,S,12,50,M,E,,U,M-S-12x50.step +S12-50MECM,S,12,50,M,E,,CM,M-S-12x50.step +S12-50MELB,S,12,50,M,E,LB,,M-S-12x50.step +S12-50MELBU,S,12,50,M,E,LB,U,M-S-12x50.step +S12-50MELBCM,S,12,50,M,E,LB,CM,M-S-12x50.step +S12-50MEFA,S,12,50,M,E,FA,,M-S-12x50.step +S12-50MEFAU,S,12,50,M,E,FA,U,M-S-12x50.step +S12-50MEFACM,S,12,50,M,E,FA,CM,M-S-12x50.step +S12-50MEFB,S,12,50,M,E,FB,,M-S-12x50.step +S12-50MEFBU,S,12,50,M,E,FB,U,M-S-12x50.step +S12-50MEFBCM,S,12,50,M,E,FB,CM,M-S-12x50.step +S12-50MESDB,S,12,50,M,E,SDB,,M-S-12x50.step +S12-50MESDBU,S,12,50,M,E,SDB,U,M-S-12x50.step +S12-50MESDBCM,S,12,50,M,E,SDB,CM,M-S-12x50.step +S12-50M,S,12,50,M,,,,M-S-12x50.step +S12-50MU,S,12,50,M,,,U,M-S-12x50.step +S12-50MCM,S,12,50,M,,,CM,M-S-12x50.step +S12-50MLB,S,12,50,M,,LB,,M-S-12x50.step +S12-50MLBU,S,12,50,M,,LB,U,M-S-12x50.step +S12-50MLBCM,S,12,50,M,,LB,CM,M-S-12x50.step +S12-50MFA,S,12,50,M,,FA,,M-S-12x50.step +S12-50MFAU,S,12,50,M,,FA,U,M-S-12x50.step +S12-50MFACM,S,12,50,M,,FA,CM,M-S-12x50.step +S12-50MFB,S,12,50,M,,FB,,M-S-12x50.step +S12-50MFBU,S,12,50,M,,FB,U,M-S-12x50.step +S12-50MFBCM,S,12,50,M,,FB,CM,M-S-12x50.step +S12-50MSDB,S,12,50,M,,SDB,,M-S-12x50.step +S12-50MSDBU,S,12,50,M,,SDB,U,M-S-12x50.step +S12-50MSDBCM,S,12,50,M,,SDB,CM,M-S-12x50.step +S12-75E,S,12,75,,E,,,M-S-12x75.step +S12-75EU,S,12,75,,E,,U,M-S-12x75.step +S12-75ECM,S,12,75,,E,,CM,M-S-12x75.step +S12-75ELB,S,12,75,,E,LB,,M-S-12x75.step +S12-75ELBU,S,12,75,,E,LB,U,M-S-12x75.step +S12-75ELBCM,S,12,75,,E,LB,CM,M-S-12x75.step +S12-75EFA,S,12,75,,E,FA,,M-S-12x75.step +S12-75EFAU,S,12,75,,E,FA,U,M-S-12x75.step +S12-75EFACM,S,12,75,,E,FA,CM,M-S-12x75.step +S12-75EFB,S,12,75,,E,FB,,M-S-12x75.step +S12-75EFBU,S,12,75,,E,FB,U,M-S-12x75.step +S12-75EFBCM,S,12,75,,E,FB,CM,M-S-12x75.step +S12-75ESDB,S,12,75,,E,SDB,,M-S-12x75.step +S12-75ESDBU,S,12,75,,E,SDB,U,M-S-12x75.step +S12-75ESDBCM,S,12,75,,E,SDB,CM,M-S-12x75.step +S12-75,S,12,75,,,,,M-S-12x75.step +S12-75U,S,12,75,,,,U,M-S-12x75.step +S12-75CM,S,12,75,,,,CM,M-S-12x75.step +S12-75LB,S,12,75,,,LB,,M-S-12x75.step +S12-75LBU,S,12,75,,,LB,U,M-S-12x75.step +S12-75LBCM,S,12,75,,,LB,CM,M-S-12x75.step +S12-75FA,S,12,75,,,FA,,M-S-12x75.step +S12-75FAU,S,12,75,,,FA,U,M-S-12x75.step +S12-75FACM,S,12,75,,,FA,CM,M-S-12x75.step +S12-75FB,S,12,75,,,FB,,M-S-12x75.step +S12-75FBU,S,12,75,,,FB,U,M-S-12x75.step +S12-75FBCM,S,12,75,,,FB,CM,M-S-12x75.step +S12-75SDB,S,12,75,,,SDB,,M-S-12x75.step +S12-75SDBU,S,12,75,,,SDB,U,M-S-12x75.step +S12-75SDBCM,S,12,75,,,SDB,CM,M-S-12x75.step +S12-75ME,S,12,75,M,E,,,M-S-12x75.step +S12-75MEU,S,12,75,M,E,,U,M-S-12x75.step +S12-75MECM,S,12,75,M,E,,CM,M-S-12x75.step +S12-75MELB,S,12,75,M,E,LB,,M-S-12x75.step +S12-75MELBU,S,12,75,M,E,LB,U,M-S-12x75.step +S12-75MELBCM,S,12,75,M,E,LB,CM,M-S-12x75.step +S12-75MEFA,S,12,75,M,E,FA,,M-S-12x75.step +S12-75MEFAU,S,12,75,M,E,FA,U,M-S-12x75.step +S12-75MEFACM,S,12,75,M,E,FA,CM,M-S-12x75.step +S12-75MEFB,S,12,75,M,E,FB,,M-S-12x75.step +S12-75MEFBU,S,12,75,M,E,FB,U,M-S-12x75.step +S12-75MEFBCM,S,12,75,M,E,FB,CM,M-S-12x75.step +S12-75MESDB,S,12,75,M,E,SDB,,M-S-12x75.step +S12-75MESDBU,S,12,75,M,E,SDB,U,M-S-12x75.step +S12-75MESDBCM,S,12,75,M,E,SDB,CM,M-S-12x75.step +S12-75M,S,12,75,M,,,,M-S-12x75.step +S12-75MU,S,12,75,M,,,U,M-S-12x75.step +S12-75MCM,S,12,75,M,,,CM,M-S-12x75.step +S12-75MLB,S,12,75,M,,LB,,M-S-12x75.step +S12-75MLBU,S,12,75,M,,LB,U,M-S-12x75.step +S12-75MLBCM,S,12,75,M,,LB,CM,M-S-12x75.step +S12-75MFA,S,12,75,M,,FA,,M-S-12x75.step +S12-75MFAU,S,12,75,M,,FA,U,M-S-12x75.step +S12-75MFACM,S,12,75,M,,FA,CM,M-S-12x75.step +S12-75MFB,S,12,75,M,,FB,,M-S-12x75.step +S12-75MFBU,S,12,75,M,,FB,U,M-S-12x75.step +S12-75MFBCM,S,12,75,M,,FB,CM,M-S-12x75.step +S12-75MSDB,S,12,75,M,,SDB,,M-S-12x75.step +S12-75MSDBU,S,12,75,M,,SDB,U,M-S-12x75.step +S12-75MSDBCM,S,12,75,M,,SDB,CM,M-S-12x75.step +S12-100E,S,12,100,,E,,,M-S-12x100.step +S12-100EU,S,12,100,,E,,U,M-S-12x100.step +S12-100ECM,S,12,100,,E,,CM,M-S-12x100.step +S12-100ELB,S,12,100,,E,LB,,M-S-12x100.step +S12-100ELBU,S,12,100,,E,LB,U,M-S-12x100.step +S12-100ELBCM,S,12,100,,E,LB,CM,M-S-12x100.step +S12-100EFA,S,12,100,,E,FA,,M-S-12x100.step +S12-100EFAU,S,12,100,,E,FA,U,M-S-12x100.step +S12-100EFACM,S,12,100,,E,FA,CM,M-S-12x100.step +S12-100EFB,S,12,100,,E,FB,,M-S-12x100.step +S12-100EFBU,S,12,100,,E,FB,U,M-S-12x100.step +S12-100EFBCM,S,12,100,,E,FB,CM,M-S-12x100.step +S12-100ESDB,S,12,100,,E,SDB,,M-S-12x100.step +S12-100ESDBU,S,12,100,,E,SDB,U,M-S-12x100.step +S12-100ESDBCM,S,12,100,,E,SDB,CM,M-S-12x100.step +S12-100,S,12,100,,,,,M-S-12x100.step +S12-100U,S,12,100,,,,U,M-S-12x100.step +S12-100CM,S,12,100,,,,CM,M-S-12x100.step +S12-100LB,S,12,100,,,LB,,M-S-12x100.step +S12-100LBU,S,12,100,,,LB,U,M-S-12x100.step +S12-100LBCM,S,12,100,,,LB,CM,M-S-12x100.step +S12-100FA,S,12,100,,,FA,,M-S-12x100.step +S12-100FAU,S,12,100,,,FA,U,M-S-12x100.step +S12-100FACM,S,12,100,,,FA,CM,M-S-12x100.step +S12-100FB,S,12,100,,,FB,,M-S-12x100.step +S12-100FBU,S,12,100,,,FB,U,M-S-12x100.step +S12-100FBCM,S,12,100,,,FB,CM,M-S-12x100.step +S12-100SDB,S,12,100,,,SDB,,M-S-12x100.step +S12-100SDBU,S,12,100,,,SDB,U,M-S-12x100.step +S12-100SDBCM,S,12,100,,,SDB,CM,M-S-12x100.step +S12-100ME,S,12,100,M,E,,,M-S-12x100.step +S12-100MEU,S,12,100,M,E,,U,M-S-12x100.step +S12-100MECM,S,12,100,M,E,,CM,M-S-12x100.step +S12-100MELB,S,12,100,M,E,LB,,M-S-12x100.step +S12-100MELBU,S,12,100,M,E,LB,U,M-S-12x100.step +S12-100MELBCM,S,12,100,M,E,LB,CM,M-S-12x100.step +S12-100MEFA,S,12,100,M,E,FA,,M-S-12x100.step +S12-100MEFAU,S,12,100,M,E,FA,U,M-S-12x100.step +S12-100MEFACM,S,12,100,M,E,FA,CM,M-S-12x100.step +S12-100MEFB,S,12,100,M,E,FB,,M-S-12x100.step +S12-100MEFBU,S,12,100,M,E,FB,U,M-S-12x100.step +S12-100MEFBCM,S,12,100,M,E,FB,CM,M-S-12x100.step +S12-100MESDB,S,12,100,M,E,SDB,,M-S-12x100.step +S12-100MESDBU,S,12,100,M,E,SDB,U,M-S-12x100.step +S12-100MESDBCM,S,12,100,M,E,SDB,CM,M-S-12x100.step +S12-100M,S,12,100,M,,,,M-S-12x100.step +S12-100MU,S,12,100,M,,,U,M-S-12x100.step +S12-100MCM,S,12,100,M,,,CM,M-S-12x100.step +S12-100MLB,S,12,100,M,,LB,,M-S-12x100.step +S12-100MLBU,S,12,100,M,,LB,U,M-S-12x100.step +S12-100MLBCM,S,12,100,M,,LB,CM,M-S-12x100.step +S12-100MFA,S,12,100,M,,FA,,M-S-12x100.step +S12-100MFAU,S,12,100,M,,FA,U,M-S-12x100.step +S12-100MFACM,S,12,100,M,,FA,CM,M-S-12x100.step +S12-100MFB,S,12,100,M,,FB,,M-S-12x100.step +S12-100MFBU,S,12,100,M,,FB,U,M-S-12x100.step +S12-100MFBCM,S,12,100,M,,FB,CM,M-S-12x100.step +S12-100MSDB,S,12,100,M,,SDB,,M-S-12x100.step +S12-100MSDBU,S,12,100,M,,SDB,U,M-S-12x100.step +S12-100MSDBCM,S,12,100,M,,SDB,CM,M-S-12x100.step +S16-10E,S,16,10,,E,,,M-S-16x10.step +S16-10EU,S,16,10,,E,,U,M-S-16x10.step +S16-10ECM,S,16,10,,E,,CM,M-S-16x10.step +S16-10ELB,S,16,10,,E,LB,,M-S-16x10.step +S16-10ELBU,S,16,10,,E,LB,U,M-S-16x10.step +S16-10ELBCM,S,16,10,,E,LB,CM,M-S-16x10.step +S16-10EFA,S,16,10,,E,FA,,M-S-16x10.step +S16-10EFAU,S,16,10,,E,FA,U,M-S-16x10.step +S16-10EFACM,S,16,10,,E,FA,CM,M-S-16x10.step +S16-10EFB,S,16,10,,E,FB,,M-S-16x10.step +S16-10EFBU,S,16,10,,E,FB,U,M-S-16x10.step +S16-10EFBCM,S,16,10,,E,FB,CM,M-S-16x10.step +S16-10ESDB,S,16,10,,E,SDB,,M-S-16x10.step +S16-10ESDBU,S,16,10,,E,SDB,U,M-S-16x10.step +S16-10ESDBCM,S,16,10,,E,SDB,CM,M-S-16x10.step +S16-10,S,16,10,,,,,M-S-16x10.step +S16-10U,S,16,10,,,,U,M-S-16x10.step +S16-10CM,S,16,10,,,,CM,M-S-16x10.step +S16-10LB,S,16,10,,,LB,,M-S-16x10.step +S16-10LBU,S,16,10,,,LB,U,M-S-16x10.step +S16-10LBCM,S,16,10,,,LB,CM,M-S-16x10.step +S16-10FA,S,16,10,,,FA,,M-S-16x10.step +S16-10FAU,S,16,10,,,FA,U,M-S-16x10.step +S16-10FACM,S,16,10,,,FA,CM,M-S-16x10.step +S16-10FB,S,16,10,,,FB,,M-S-16x10.step +S16-10FBU,S,16,10,,,FB,U,M-S-16x10.step +S16-10FBCM,S,16,10,,,FB,CM,M-S-16x10.step +S16-10SDB,S,16,10,,,SDB,,M-S-16x10.step +S16-10SDBU,S,16,10,,,SDB,U,M-S-16x10.step +S16-10SDBCM,S,16,10,,,SDB,CM,M-S-16x10.step +S16-10ME,S,16,10,M,E,,,M-S-16x10.step +S16-10MEU,S,16,10,M,E,,U,M-S-16x10.step +S16-10MECM,S,16,10,M,E,,CM,M-S-16x10.step +S16-10MELB,S,16,10,M,E,LB,,M-S-16x10.step +S16-10MELBU,S,16,10,M,E,LB,U,M-S-16x10.step +S16-10MELBCM,S,16,10,M,E,LB,CM,M-S-16x10.step +S16-10MEFA,S,16,10,M,E,FA,,M-S-16x10.step +S16-10MEFAU,S,16,10,M,E,FA,U,M-S-16x10.step +S16-10MEFACM,S,16,10,M,E,FA,CM,M-S-16x10.step +S16-10MEFB,S,16,10,M,E,FB,,M-S-16x10.step +S16-10MEFBU,S,16,10,M,E,FB,U,M-S-16x10.step +S16-10MEFBCM,S,16,10,M,E,FB,CM,M-S-16x10.step +S16-10MESDB,S,16,10,M,E,SDB,,M-S-16x10.step +S16-10MESDBU,S,16,10,M,E,SDB,U,M-S-16x10.step +S16-10MESDBCM,S,16,10,M,E,SDB,CM,M-S-16x10.step +S16-10M,S,16,10,M,,,,M-S-16x10.step +S16-10MU,S,16,10,M,,,U,M-S-16x10.step +S16-10MCM,S,16,10,M,,,CM,M-S-16x10.step +S16-10MLB,S,16,10,M,,LB,,M-S-16x10.step +S16-10MLBU,S,16,10,M,,LB,U,M-S-16x10.step +S16-10MLBCM,S,16,10,M,,LB,CM,M-S-16x10.step +S16-10MFA,S,16,10,M,,FA,,M-S-16x10.step +S16-10MFAU,S,16,10,M,,FA,U,M-S-16x10.step +S16-10MFACM,S,16,10,M,,FA,CM,M-S-16x10.step +S16-10MFB,S,16,10,M,,FB,,M-S-16x10.step +S16-10MFBU,S,16,10,M,,FB,U,M-S-16x10.step +S16-10MFBCM,S,16,10,M,,FB,CM,M-S-16x10.step +S16-10MSDB,S,16,10,M,,SDB,,M-S-16x10.step +S16-10MSDBU,S,16,10,M,,SDB,U,M-S-16x10.step +S16-10MSDBCM,S,16,10,M,,SDB,CM,M-S-16x10.step +S16-20E,S,16,20,,E,,,M-S-16x20.step +S16-20EU,S,16,20,,E,,U,M-S-16x20.step +S16-20ECM,S,16,20,,E,,CM,M-S-16x20.step +S16-20ELB,S,16,20,,E,LB,,M-S-16x20.step +S16-20ELBU,S,16,20,,E,LB,U,M-S-16x20.step +S16-20ELBCM,S,16,20,,E,LB,CM,M-S-16x20.step +S16-20EFA,S,16,20,,E,FA,,M-S-16x20.step +S16-20EFAU,S,16,20,,E,FA,U,M-S-16x20.step +S16-20EFACM,S,16,20,,E,FA,CM,M-S-16x20.step +S16-20EFB,S,16,20,,E,FB,,M-S-16x20.step +S16-20EFBU,S,16,20,,E,FB,U,M-S-16x20.step +S16-20EFBCM,S,16,20,,E,FB,CM,M-S-16x20.step +S16-20ESDB,S,16,20,,E,SDB,,M-S-16x20.step +S16-20ESDBU,S,16,20,,E,SDB,U,M-S-16x20.step +S16-20ESDBCM,S,16,20,,E,SDB,CM,M-S-16x20.step +S16-20,S,16,20,,,,,M-S-16x20.step +S16-20U,S,16,20,,,,U,M-S-16x20.step +S16-20CM,S,16,20,,,,CM,M-S-16x20.step +S16-20LB,S,16,20,,,LB,,M-S-16x20.step +S16-20LBU,S,16,20,,,LB,U,M-S-16x20.step +S16-20LBCM,S,16,20,,,LB,CM,M-S-16x20.step +S16-20FA,S,16,20,,,FA,,M-S-16x20.step +S16-20FAU,S,16,20,,,FA,U,M-S-16x20.step +S16-20FACM,S,16,20,,,FA,CM,M-S-16x20.step +S16-20FB,S,16,20,,,FB,,M-S-16x20.step +S16-20FBU,S,16,20,,,FB,U,M-S-16x20.step +S16-20FBCM,S,16,20,,,FB,CM,M-S-16x20.step +S16-20SDB,S,16,20,,,SDB,,M-S-16x20.step +S16-20SDBU,S,16,20,,,SDB,U,M-S-16x20.step +S16-20SDBCM,S,16,20,,,SDB,CM,M-S-16x20.step +S16-20ME,S,16,20,M,E,,,M-S-16x20.step +S16-20MEU,S,16,20,M,E,,U,M-S-16x20.step +S16-20MECM,S,16,20,M,E,,CM,M-S-16x20.step +S16-20MELB,S,16,20,M,E,LB,,M-S-16x20.step +S16-20MELBU,S,16,20,M,E,LB,U,M-S-16x20.step +S16-20MELBCM,S,16,20,M,E,LB,CM,M-S-16x20.step +S16-20MEFA,S,16,20,M,E,FA,,M-S-16x20.step +S16-20MEFAU,S,16,20,M,E,FA,U,M-S-16x20.step +S16-20MEFACM,S,16,20,M,E,FA,CM,M-S-16x20.step +S16-20MEFB,S,16,20,M,E,FB,,M-S-16x20.step +S16-20MEFBU,S,16,20,M,E,FB,U,M-S-16x20.step +S16-20MEFBCM,S,16,20,M,E,FB,CM,M-S-16x20.step +S16-20MESDB,S,16,20,M,E,SDB,,M-S-16x20.step +S16-20MESDBU,S,16,20,M,E,SDB,U,M-S-16x20.step +S16-20MESDBCM,S,16,20,M,E,SDB,CM,M-S-16x20.step +S16-20M,S,16,20,M,,,,M-S-16x20.step +S16-20MU,S,16,20,M,,,U,M-S-16x20.step +S16-20MCM,S,16,20,M,,,CM,M-S-16x20.step +S16-20MLB,S,16,20,M,,LB,,M-S-16x20.step +S16-20MLBU,S,16,20,M,,LB,U,M-S-16x20.step +S16-20MLBCM,S,16,20,M,,LB,CM,M-S-16x20.step +S16-20MFA,S,16,20,M,,FA,,M-S-16x20.step +S16-20MFAU,S,16,20,M,,FA,U,M-S-16x20.step +S16-20MFACM,S,16,20,M,,FA,CM,M-S-16x20.step +S16-20MFB,S,16,20,M,,FB,,M-S-16x20.step +S16-20MFBU,S,16,20,M,,FB,U,M-S-16x20.step +S16-20MFBCM,S,16,20,M,,FB,CM,M-S-16x20.step +S16-20MSDB,S,16,20,M,,SDB,,M-S-16x20.step +S16-20MSDBU,S,16,20,M,,SDB,U,M-S-16x20.step +S16-20MSDBCM,S,16,20,M,,SDB,CM,M-S-16x20.step +S16-30E,S,16,30,,E,,,M-S-16x30.step +S16-30EU,S,16,30,,E,,U,M-S-16x30.step +S16-30ECM,S,16,30,,E,,CM,M-S-16x30.step +S16-30ELB,S,16,30,,E,LB,,M-S-16x30.step +S16-30ELBU,S,16,30,,E,LB,U,M-S-16x30.step +S16-30ELBCM,S,16,30,,E,LB,CM,M-S-16x30.step +S16-30EFA,S,16,30,,E,FA,,M-S-16x30.step +S16-30EFAU,S,16,30,,E,FA,U,M-S-16x30.step +S16-30EFACM,S,16,30,,E,FA,CM,M-S-16x30.step +S16-30EFB,S,16,30,,E,FB,,M-S-16x30.step +S16-30EFBU,S,16,30,,E,FB,U,M-S-16x30.step +S16-30EFBCM,S,16,30,,E,FB,CM,M-S-16x30.step +S16-30ESDB,S,16,30,,E,SDB,,M-S-16x30.step +S16-30ESDBU,S,16,30,,E,SDB,U,M-S-16x30.step +S16-30ESDBCM,S,16,30,,E,SDB,CM,M-S-16x30.step +S16-30,S,16,30,,,,,M-S-16x30.step +S16-30U,S,16,30,,,,U,M-S-16x30.step +S16-30CM,S,16,30,,,,CM,M-S-16x30.step +S16-30LB,S,16,30,,,LB,,M-S-16x30.step +S16-30LBU,S,16,30,,,LB,U,M-S-16x30.step +S16-30LBCM,S,16,30,,,LB,CM,M-S-16x30.step +S16-30FA,S,16,30,,,FA,,M-S-16x30.step +S16-30FAU,S,16,30,,,FA,U,M-S-16x30.step +S16-30FACM,S,16,30,,,FA,CM,M-S-16x30.step +S16-30FB,S,16,30,,,FB,,M-S-16x30.step +S16-30FBU,S,16,30,,,FB,U,M-S-16x30.step +S16-30FBCM,S,16,30,,,FB,CM,M-S-16x30.step +S16-30SDB,S,16,30,,,SDB,,M-S-16x30.step +S16-30SDBU,S,16,30,,,SDB,U,M-S-16x30.step +S16-30SDBCM,S,16,30,,,SDB,CM,M-S-16x30.step +S16-30ME,S,16,30,M,E,,,M-S-16x30.step +S16-30MEU,S,16,30,M,E,,U,M-S-16x30.step +S16-30MECM,S,16,30,M,E,,CM,M-S-16x30.step +S16-30MELB,S,16,30,M,E,LB,,M-S-16x30.step +S16-30MELBU,S,16,30,M,E,LB,U,M-S-16x30.step +S16-30MELBCM,S,16,30,M,E,LB,CM,M-S-16x30.step +S16-30MEFA,S,16,30,M,E,FA,,M-S-16x30.step +S16-30MEFAU,S,16,30,M,E,FA,U,M-S-16x30.step +S16-30MEFACM,S,16,30,M,E,FA,CM,M-S-16x30.step +S16-30MEFB,S,16,30,M,E,FB,,M-S-16x30.step +S16-30MEFBU,S,16,30,M,E,FB,U,M-S-16x30.step +S16-30MEFBCM,S,16,30,M,E,FB,CM,M-S-16x30.step +S16-30MESDB,S,16,30,M,E,SDB,,M-S-16x30.step +S16-30MESDBU,S,16,30,M,E,SDB,U,M-S-16x30.step +S16-30MESDBCM,S,16,30,M,E,SDB,CM,M-S-16x30.step +S16-30M,S,16,30,M,,,,M-S-16x30.step +S16-30MU,S,16,30,M,,,U,M-S-16x30.step +S16-30MCM,S,16,30,M,,,CM,M-S-16x30.step +S16-30MLB,S,16,30,M,,LB,,M-S-16x30.step +S16-30MLBU,S,16,30,M,,LB,U,M-S-16x30.step +S16-30MLBCM,S,16,30,M,,LB,CM,M-S-16x30.step +S16-30MFA,S,16,30,M,,FA,,M-S-16x30.step +S16-30MFAU,S,16,30,M,,FA,U,M-S-16x30.step +S16-30MFACM,S,16,30,M,,FA,CM,M-S-16x30.step +S16-30MFB,S,16,30,M,,FB,,M-S-16x30.step +S16-30MFBU,S,16,30,M,,FB,U,M-S-16x30.step +S16-30MFBCM,S,16,30,M,,FB,CM,M-S-16x30.step +S16-30MSDB,S,16,30,M,,SDB,,M-S-16x30.step +S16-30MSDBU,S,16,30,M,,SDB,U,M-S-16x30.step +S16-30MSDBCM,S,16,30,M,,SDB,CM,M-S-16x30.step +S16-50E,S,16,50,,E,,,M-S-16x50.step +S16-50EU,S,16,50,,E,,U,M-S-16x50.step +S16-50ECM,S,16,50,,E,,CM,M-S-16x50.step +S16-50ELB,S,16,50,,E,LB,,M-S-16x50.step +S16-50ELBU,S,16,50,,E,LB,U,M-S-16x50.step +S16-50ELBCM,S,16,50,,E,LB,CM,M-S-16x50.step +S16-50EFA,S,16,50,,E,FA,,M-S-16x50.step +S16-50EFAU,S,16,50,,E,FA,U,M-S-16x50.step +S16-50EFACM,S,16,50,,E,FA,CM,M-S-16x50.step +S16-50EFB,S,16,50,,E,FB,,M-S-16x50.step +S16-50EFBU,S,16,50,,E,FB,U,M-S-16x50.step +S16-50EFBCM,S,16,50,,E,FB,CM,M-S-16x50.step +S16-50ESDB,S,16,50,,E,SDB,,M-S-16x50.step +S16-50ESDBU,S,16,50,,E,SDB,U,M-S-16x50.step +S16-50ESDBCM,S,16,50,,E,SDB,CM,M-S-16x50.step +S16-50,S,16,50,,,,,M-S-16x50.step +S16-50U,S,16,50,,,,U,M-S-16x50.step +S16-50CM,S,16,50,,,,CM,M-S-16x50.step +S16-50LB,S,16,50,,,LB,,M-S-16x50.step +S16-50LBU,S,16,50,,,LB,U,M-S-16x50.step +S16-50LBCM,S,16,50,,,LB,CM,M-S-16x50.step +S16-50FA,S,16,50,,,FA,,M-S-16x50.step +S16-50FAU,S,16,50,,,FA,U,M-S-16x50.step +S16-50FACM,S,16,50,,,FA,CM,M-S-16x50.step +S16-50FB,S,16,50,,,FB,,M-S-16x50.step +S16-50FBU,S,16,50,,,FB,U,M-S-16x50.step +S16-50FBCM,S,16,50,,,FB,CM,M-S-16x50.step +S16-50SDB,S,16,50,,,SDB,,M-S-16x50.step +S16-50SDBU,S,16,50,,,SDB,U,M-S-16x50.step +S16-50SDBCM,S,16,50,,,SDB,CM,M-S-16x50.step +S16-50ME,S,16,50,M,E,,,M-S-16x50.step +S16-50MEU,S,16,50,M,E,,U,M-S-16x50.step +S16-50MECM,S,16,50,M,E,,CM,M-S-16x50.step +S16-50MELB,S,16,50,M,E,LB,,M-S-16x50.step +S16-50MELBU,S,16,50,M,E,LB,U,M-S-16x50.step +S16-50MELBCM,S,16,50,M,E,LB,CM,M-S-16x50.step +S16-50MEFA,S,16,50,M,E,FA,,M-S-16x50.step +S16-50MEFAU,S,16,50,M,E,FA,U,M-S-16x50.step +S16-50MEFACM,S,16,50,M,E,FA,CM,M-S-16x50.step +S16-50MEFB,S,16,50,M,E,FB,,M-S-16x50.step +S16-50MEFBU,S,16,50,M,E,FB,U,M-S-16x50.step +S16-50MEFBCM,S,16,50,M,E,FB,CM,M-S-16x50.step +S16-50MESDB,S,16,50,M,E,SDB,,M-S-16x50.step +S16-50MESDBU,S,16,50,M,E,SDB,U,M-S-16x50.step +S16-50MESDBCM,S,16,50,M,E,SDB,CM,M-S-16x50.step +S16-50M,S,16,50,M,,,,M-S-16x50.step +S16-50MU,S,16,50,M,,,U,M-S-16x50.step +S16-50MCM,S,16,50,M,,,CM,M-S-16x50.step +S16-50MLB,S,16,50,M,,LB,,M-S-16x50.step +S16-50MLBU,S,16,50,M,,LB,U,M-S-16x50.step +S16-50MLBCM,S,16,50,M,,LB,CM,M-S-16x50.step +S16-50MFA,S,16,50,M,,FA,,M-S-16x50.step +S16-50MFAU,S,16,50,M,,FA,U,M-S-16x50.step +S16-50MFACM,S,16,50,M,,FA,CM,M-S-16x50.step +S16-50MFB,S,16,50,M,,FB,,M-S-16x50.step +S16-50MFBU,S,16,50,M,,FB,U,M-S-16x50.step +S16-50MFBCM,S,16,50,M,,FB,CM,M-S-16x50.step +S16-50MSDB,S,16,50,M,,SDB,,M-S-16x50.step +S16-50MSDBU,S,16,50,M,,SDB,U,M-S-16x50.step +S16-50MSDBCM,S,16,50,M,,SDB,CM,M-S-16x50.step +S16-75E,S,16,75,,E,,,M-S-16x75.step +S16-75EU,S,16,75,,E,,U,M-S-16x75.step +S16-75ECM,S,16,75,,E,,CM,M-S-16x75.step +S16-75ELB,S,16,75,,E,LB,,M-S-16x75.step +S16-75ELBU,S,16,75,,E,LB,U,M-S-16x75.step +S16-75ELBCM,S,16,75,,E,LB,CM,M-S-16x75.step +S16-75EFA,S,16,75,,E,FA,,M-S-16x75.step +S16-75EFAU,S,16,75,,E,FA,U,M-S-16x75.step +S16-75EFACM,S,16,75,,E,FA,CM,M-S-16x75.step +S16-75EFB,S,16,75,,E,FB,,M-S-16x75.step +S16-75EFBU,S,16,75,,E,FB,U,M-S-16x75.step +S16-75EFBCM,S,16,75,,E,FB,CM,M-S-16x75.step +S16-75ESDB,S,16,75,,E,SDB,,M-S-16x75.step +S16-75ESDBU,S,16,75,,E,SDB,U,M-S-16x75.step +S16-75ESDBCM,S,16,75,,E,SDB,CM,M-S-16x75.step +S16-75,S,16,75,,,,,M-S-16x75.step +S16-75U,S,16,75,,,,U,M-S-16x75.step +S16-75CM,S,16,75,,,,CM,M-S-16x75.step +S16-75LB,S,16,75,,,LB,,M-S-16x75.step +S16-75LBU,S,16,75,,,LB,U,M-S-16x75.step +S16-75LBCM,S,16,75,,,LB,CM,M-S-16x75.step +S16-75FA,S,16,75,,,FA,,M-S-16x75.step +S16-75FAU,S,16,75,,,FA,U,M-S-16x75.step +S16-75FACM,S,16,75,,,FA,CM,M-S-16x75.step +S16-75FB,S,16,75,,,FB,,M-S-16x75.step +S16-75FBU,S,16,75,,,FB,U,M-S-16x75.step +S16-75FBCM,S,16,75,,,FB,CM,M-S-16x75.step +S16-75SDB,S,16,75,,,SDB,,M-S-16x75.step +S16-75SDBU,S,16,75,,,SDB,U,M-S-16x75.step +S16-75SDBCM,S,16,75,,,SDB,CM,M-S-16x75.step +S16-75ME,S,16,75,M,E,,,M-S-16x75.step +S16-75MEU,S,16,75,M,E,,U,M-S-16x75.step +S16-75MECM,S,16,75,M,E,,CM,M-S-16x75.step +S16-75MELB,S,16,75,M,E,LB,,M-S-16x75.step +S16-75MELBU,S,16,75,M,E,LB,U,M-S-16x75.step +S16-75MELBCM,S,16,75,M,E,LB,CM,M-S-16x75.step +S16-75MEFA,S,16,75,M,E,FA,,M-S-16x75.step +S16-75MEFAU,S,16,75,M,E,FA,U,M-S-16x75.step +S16-75MEFACM,S,16,75,M,E,FA,CM,M-S-16x75.step +S16-75MEFB,S,16,75,M,E,FB,,M-S-16x75.step +S16-75MEFBU,S,16,75,M,E,FB,U,M-S-16x75.step +S16-75MEFBCM,S,16,75,M,E,FB,CM,M-S-16x75.step +S16-75MESDB,S,16,75,M,E,SDB,,M-S-16x75.step +S16-75MESDBU,S,16,75,M,E,SDB,U,M-S-16x75.step +S16-75MESDBCM,S,16,75,M,E,SDB,CM,M-S-16x75.step +S16-75M,S,16,75,M,,,,M-S-16x75.step +S16-75MU,S,16,75,M,,,U,M-S-16x75.step +S16-75MCM,S,16,75,M,,,CM,M-S-16x75.step +S16-75MLB,S,16,75,M,,LB,,M-S-16x75.step +S16-75MLBU,S,16,75,M,,LB,U,M-S-16x75.step +S16-75MLBCM,S,16,75,M,,LB,CM,M-S-16x75.step +S16-75MFA,S,16,75,M,,FA,,M-S-16x75.step +S16-75MFAU,S,16,75,M,,FA,U,M-S-16x75.step +S16-75MFACM,S,16,75,M,,FA,CM,M-S-16x75.step +S16-75MFB,S,16,75,M,,FB,,M-S-16x75.step +S16-75MFBU,S,16,75,M,,FB,U,M-S-16x75.step +S16-75MFBCM,S,16,75,M,,FB,CM,M-S-16x75.step +S16-75MSDB,S,16,75,M,,SDB,,M-S-16x75.step +S16-75MSDBU,S,16,75,M,,SDB,U,M-S-16x75.step +S16-75MSDBCM,S,16,75,M,,SDB,CM,M-S-16x75.step +S16-100E,S,16,100,,E,,,M-S-16x100.step +S16-100EU,S,16,100,,E,,U,M-S-16x100.step +S16-100ECM,S,16,100,,E,,CM,M-S-16x100.step +S16-100ELB,S,16,100,,E,LB,,M-S-16x100.step +S16-100ELBU,S,16,100,,E,LB,U,M-S-16x100.step +S16-100ELBCM,S,16,100,,E,LB,CM,M-S-16x100.step +S16-100EFA,S,16,100,,E,FA,,M-S-16x100.step +S16-100EFAU,S,16,100,,E,FA,U,M-S-16x100.step +S16-100EFACM,S,16,100,,E,FA,CM,M-S-16x100.step +S16-100EFB,S,16,100,,E,FB,,M-S-16x100.step +S16-100EFBU,S,16,100,,E,FB,U,M-S-16x100.step +S16-100EFBCM,S,16,100,,E,FB,CM,M-S-16x100.step +S16-100ESDB,S,16,100,,E,SDB,,M-S-16x100.step +S16-100ESDBU,S,16,100,,E,SDB,U,M-S-16x100.step +S16-100ESDBCM,S,16,100,,E,SDB,CM,M-S-16x100.step +S16-100,S,16,100,,,,,M-S-16x100.step +S16-100U,S,16,100,,,,U,M-S-16x100.step +S16-100CM,S,16,100,,,,CM,M-S-16x100.step +S16-100LB,S,16,100,,,LB,,M-S-16x100.step +S16-100LBU,S,16,100,,,LB,U,M-S-16x100.step +S16-100LBCM,S,16,100,,,LB,CM,M-S-16x100.step +S16-100FA,S,16,100,,,FA,,M-S-16x100.step +S16-100FAU,S,16,100,,,FA,U,M-S-16x100.step +S16-100FACM,S,16,100,,,FA,CM,M-S-16x100.step +S16-100FB,S,16,100,,,FB,,M-S-16x100.step +S16-100FBU,S,16,100,,,FB,U,M-S-16x100.step +S16-100FBCM,S,16,100,,,FB,CM,M-S-16x100.step +S16-100SDB,S,16,100,,,SDB,,M-S-16x100.step +S16-100SDBU,S,16,100,,,SDB,U,M-S-16x100.step +S16-100SDBCM,S,16,100,,,SDB,CM,M-S-16x100.step +S16-100ME,S,16,100,M,E,,,M-S-16x100.step +S16-100MEU,S,16,100,M,E,,U,M-S-16x100.step +S16-100MECM,S,16,100,M,E,,CM,M-S-16x100.step +S16-100MELB,S,16,100,M,E,LB,,M-S-16x100.step +S16-100MELBU,S,16,100,M,E,LB,U,M-S-16x100.step +S16-100MELBCM,S,16,100,M,E,LB,CM,M-S-16x100.step +S16-100MEFA,S,16,100,M,E,FA,,M-S-16x100.step +S16-100MEFAU,S,16,100,M,E,FA,U,M-S-16x100.step +S16-100MEFACM,S,16,100,M,E,FA,CM,M-S-16x100.step +S16-100MEFB,S,16,100,M,E,FB,,M-S-16x100.step +S16-100MEFBU,S,16,100,M,E,FB,U,M-S-16x100.step +S16-100MEFBCM,S,16,100,M,E,FB,CM,M-S-16x100.step +S16-100MESDB,S,16,100,M,E,SDB,,M-S-16x100.step +S16-100MESDBU,S,16,100,M,E,SDB,U,M-S-16x100.step +S16-100MESDBCM,S,16,100,M,E,SDB,CM,M-S-16x100.step +S16-100M,S,16,100,M,,,,M-S-16x100.step +S16-100MU,S,16,100,M,,,U,M-S-16x100.step +S16-100MCM,S,16,100,M,,,CM,M-S-16x100.step +S16-100MLB,S,16,100,M,,LB,,M-S-16x100.step +S16-100MLBU,S,16,100,M,,LB,U,M-S-16x100.step +S16-100MLBCM,S,16,100,M,,LB,CM,M-S-16x100.step +S16-100MFA,S,16,100,M,,FA,,M-S-16x100.step +S16-100MFAU,S,16,100,M,,FA,U,M-S-16x100.step +S16-100MFACM,S,16,100,M,,FA,CM,M-S-16x100.step +S16-100MFB,S,16,100,M,,FB,,M-S-16x100.step +S16-100MFBU,S,16,100,M,,FB,U,M-S-16x100.step +S16-100MFBCM,S,16,100,M,,FB,CM,M-S-16x100.step +S16-100MSDB,S,16,100,M,,SDB,,M-S-16x100.step +S16-100MSDBU,S,16,100,M,,SDB,U,M-S-16x100.step +S16-100MSDBCM,S,16,100,M,,SDB,CM,M-S-16x100.step +S20-10E,S,20,10,,E,,,M-S-20x10.step +S20-10EU,S,20,10,,E,,U,M-S-20x10.step +S20-10ECM,S,20,10,,E,,CM,M-S-20x10.step +S20-10ELB,S,20,10,,E,LB,,M-S-20x10.step +S20-10ELBU,S,20,10,,E,LB,U,M-S-20x10.step +S20-10ELBCM,S,20,10,,E,LB,CM,M-S-20x10.step +S20-10EFA,S,20,10,,E,FA,,M-S-20x10.step +S20-10EFAU,S,20,10,,E,FA,U,M-S-20x10.step +S20-10EFACM,S,20,10,,E,FA,CM,M-S-20x10.step +S20-10EFB,S,20,10,,E,FB,,M-S-20x10.step +S20-10EFBU,S,20,10,,E,FB,U,M-S-20x10.step +S20-10EFBCM,S,20,10,,E,FB,CM,M-S-20x10.step +S20-10ESDB,S,20,10,,E,SDB,,M-S-20x10.step +S20-10ESDBU,S,20,10,,E,SDB,U,M-S-20x10.step +S20-10ESDBCM,S,20,10,,E,SDB,CM,M-S-20x10.step +S20-10,S,20,10,,,,,M-S-20x10.step +S20-10U,S,20,10,,,,U,M-S-20x10.step +S20-10CM,S,20,10,,,,CM,M-S-20x10.step +S20-10LB,S,20,10,,,LB,,M-S-20x10.step +S20-10LBU,S,20,10,,,LB,U,M-S-20x10.step +S20-10LBCM,S,20,10,,,LB,CM,M-S-20x10.step +S20-10FA,S,20,10,,,FA,,M-S-20x10.step +S20-10FAU,S,20,10,,,FA,U,M-S-20x10.step +S20-10FACM,S,20,10,,,FA,CM,M-S-20x10.step +S20-10FB,S,20,10,,,FB,,M-S-20x10.step +S20-10FBU,S,20,10,,,FB,U,M-S-20x10.step +S20-10FBCM,S,20,10,,,FB,CM,M-S-20x10.step +S20-10SDB,S,20,10,,,SDB,,M-S-20x10.step +S20-10SDBU,S,20,10,,,SDB,U,M-S-20x10.step +S20-10SDBCM,S,20,10,,,SDB,CM,M-S-20x10.step +S20-10ME,S,20,10,M,E,,,M-S-20x10.step +S20-10MEU,S,20,10,M,E,,U,M-S-20x10.step +S20-10MECM,S,20,10,M,E,,CM,M-S-20x10.step +S20-10MELB,S,20,10,M,E,LB,,M-S-20x10.step +S20-10MELBU,S,20,10,M,E,LB,U,M-S-20x10.step +S20-10MELBCM,S,20,10,M,E,LB,CM,M-S-20x10.step +S20-10MEFA,S,20,10,M,E,FA,,M-S-20x10.step +S20-10MEFAU,S,20,10,M,E,FA,U,M-S-20x10.step +S20-10MEFACM,S,20,10,M,E,FA,CM,M-S-20x10.step +S20-10MEFB,S,20,10,M,E,FB,,M-S-20x10.step +S20-10MEFBU,S,20,10,M,E,FB,U,M-S-20x10.step +S20-10MEFBCM,S,20,10,M,E,FB,CM,M-S-20x10.step +S20-10MESDB,S,20,10,M,E,SDB,,M-S-20x10.step +S20-10MESDBU,S,20,10,M,E,SDB,U,M-S-20x10.step +S20-10MESDBCM,S,20,10,M,E,SDB,CM,M-S-20x10.step +S20-10M,S,20,10,M,,,,M-S-20x10.step +S20-10MU,S,20,10,M,,,U,M-S-20x10.step +S20-10MCM,S,20,10,M,,,CM,M-S-20x10.step +S20-10MLB,S,20,10,M,,LB,,M-S-20x10.step +S20-10MLBU,S,20,10,M,,LB,U,M-S-20x10.step +S20-10MLBCM,S,20,10,M,,LB,CM,M-S-20x10.step +S20-10MFA,S,20,10,M,,FA,,M-S-20x10.step +S20-10MFAU,S,20,10,M,,FA,U,M-S-20x10.step +S20-10MFACM,S,20,10,M,,FA,CM,M-S-20x10.step +S20-10MFB,S,20,10,M,,FB,,M-S-20x10.step +S20-10MFBU,S,20,10,M,,FB,U,M-S-20x10.step +S20-10MFBCM,S,20,10,M,,FB,CM,M-S-20x10.step +S20-10MSDB,S,20,10,M,,SDB,,M-S-20x10.step +S20-10MSDBU,S,20,10,M,,SDB,U,M-S-20x10.step +S20-10MSDBCM,S,20,10,M,,SDB,CM,M-S-20x10.step +S20-20E,S,20,20,,E,,,M-S-20x20.step +S20-20EU,S,20,20,,E,,U,M-S-20x20.step +S20-20ECM,S,20,20,,E,,CM,M-S-20x20.step +S20-20ELB,S,20,20,,E,LB,,M-S-20x20.step +S20-20ELBU,S,20,20,,E,LB,U,M-S-20x20.step +S20-20ELBCM,S,20,20,,E,LB,CM,M-S-20x20.step +S20-20EFA,S,20,20,,E,FA,,M-S-20x20.step +S20-20EFAU,S,20,20,,E,FA,U,M-S-20x20.step +S20-20EFACM,S,20,20,,E,FA,CM,M-S-20x20.step +S20-20EFB,S,20,20,,E,FB,,M-S-20x20.step +S20-20EFBU,S,20,20,,E,FB,U,M-S-20x20.step +S20-20EFBCM,S,20,20,,E,FB,CM,M-S-20x20.step +S20-20ESDB,S,20,20,,E,SDB,,M-S-20x20.step +S20-20ESDBU,S,20,20,,E,SDB,U,M-S-20x20.step +S20-20ESDBCM,S,20,20,,E,SDB,CM,M-S-20x20.step +S20-20,S,20,20,,,,,M-S-20x20.step +S20-20U,S,20,20,,,,U,M-S-20x20.step +S20-20CM,S,20,20,,,,CM,M-S-20x20.step +S20-20LB,S,20,20,,,LB,,M-S-20x20.step +S20-20LBU,S,20,20,,,LB,U,M-S-20x20.step +S20-20LBCM,S,20,20,,,LB,CM,M-S-20x20.step +S20-20FA,S,20,20,,,FA,,M-S-20x20.step +S20-20FAU,S,20,20,,,FA,U,M-S-20x20.step +S20-20FACM,S,20,20,,,FA,CM,M-S-20x20.step +S20-20FB,S,20,20,,,FB,,M-S-20x20.step +S20-20FBU,S,20,20,,,FB,U,M-S-20x20.step +S20-20FBCM,S,20,20,,,FB,CM,M-S-20x20.step +S20-20SDB,S,20,20,,,SDB,,M-S-20x20.step +S20-20SDBU,S,20,20,,,SDB,U,M-S-20x20.step +S20-20SDBCM,S,20,20,,,SDB,CM,M-S-20x20.step +S20-20ME,S,20,20,M,E,,,M-S-20x20.step +S20-20MEU,S,20,20,M,E,,U,M-S-20x20.step +S20-20MECM,S,20,20,M,E,,CM,M-S-20x20.step +S20-20MELB,S,20,20,M,E,LB,,M-S-20x20.step +S20-20MELBU,S,20,20,M,E,LB,U,M-S-20x20.step +S20-20MELBCM,S,20,20,M,E,LB,CM,M-S-20x20.step +S20-20MEFA,S,20,20,M,E,FA,,M-S-20x20.step +S20-20MEFAU,S,20,20,M,E,FA,U,M-S-20x20.step +S20-20MEFACM,S,20,20,M,E,FA,CM,M-S-20x20.step +S20-20MEFB,S,20,20,M,E,FB,,M-S-20x20.step +S20-20MEFBU,S,20,20,M,E,FB,U,M-S-20x20.step +S20-20MEFBCM,S,20,20,M,E,FB,CM,M-S-20x20.step +S20-20MESDB,S,20,20,M,E,SDB,,M-S-20x20.step +S20-20MESDBU,S,20,20,M,E,SDB,U,M-S-20x20.step +S20-20MESDBCM,S,20,20,M,E,SDB,CM,M-S-20x20.step +S20-20M,S,20,20,M,,,,M-S-20x20.step +S20-20MU,S,20,20,M,,,U,M-S-20x20.step +S20-20MCM,S,20,20,M,,,CM,M-S-20x20.step +S20-20MLB,S,20,20,M,,LB,,M-S-20x20.step +S20-20MLBU,S,20,20,M,,LB,U,M-S-20x20.step +S20-20MLBCM,S,20,20,M,,LB,CM,M-S-20x20.step +S20-20MFA,S,20,20,M,,FA,,M-S-20x20.step +S20-20MFAU,S,20,20,M,,FA,U,M-S-20x20.step +S20-20MFACM,S,20,20,M,,FA,CM,M-S-20x20.step +S20-20MFB,S,20,20,M,,FB,,M-S-20x20.step +S20-20MFBU,S,20,20,M,,FB,U,M-S-20x20.step +S20-20MFBCM,S,20,20,M,,FB,CM,M-S-20x20.step +S20-20MSDB,S,20,20,M,,SDB,,M-S-20x20.step +S20-20MSDBU,S,20,20,M,,SDB,U,M-S-20x20.step +S20-20MSDBCM,S,20,20,M,,SDB,CM,M-S-20x20.step +S20-30E,S,20,30,,E,,,M-S-20x30.step +S20-30EU,S,20,30,,E,,U,M-S-20x30.step +S20-30ECM,S,20,30,,E,,CM,M-S-20x30.step +S20-30ELB,S,20,30,,E,LB,,M-S-20x30.step +S20-30ELBU,S,20,30,,E,LB,U,M-S-20x30.step +S20-30ELBCM,S,20,30,,E,LB,CM,M-S-20x30.step +S20-30EFA,S,20,30,,E,FA,,M-S-20x30.step +S20-30EFAU,S,20,30,,E,FA,U,M-S-20x30.step +S20-30EFACM,S,20,30,,E,FA,CM,M-S-20x30.step +S20-30EFB,S,20,30,,E,FB,,M-S-20x30.step +S20-30EFBU,S,20,30,,E,FB,U,M-S-20x30.step +S20-30EFBCM,S,20,30,,E,FB,CM,M-S-20x30.step +S20-30ESDB,S,20,30,,E,SDB,,M-S-20x30.step +S20-30ESDBU,S,20,30,,E,SDB,U,M-S-20x30.step +S20-30ESDBCM,S,20,30,,E,SDB,CM,M-S-20x30.step +S20-30,S,20,30,,,,,M-S-20x30.step +S20-30U,S,20,30,,,,U,M-S-20x30.step +S20-30CM,S,20,30,,,,CM,M-S-20x30.step +S20-30LB,S,20,30,,,LB,,M-S-20x30.step +S20-30LBU,S,20,30,,,LB,U,M-S-20x30.step +S20-30LBCM,S,20,30,,,LB,CM,M-S-20x30.step +S20-30FA,S,20,30,,,FA,,M-S-20x30.step +S20-30FAU,S,20,30,,,FA,U,M-S-20x30.step +S20-30FACM,S,20,30,,,FA,CM,M-S-20x30.step +S20-30FB,S,20,30,,,FB,,M-S-20x30.step +S20-30FBU,S,20,30,,,FB,U,M-S-20x30.step +S20-30FBCM,S,20,30,,,FB,CM,M-S-20x30.step +S20-30SDB,S,20,30,,,SDB,,M-S-20x30.step +S20-30SDBU,S,20,30,,,SDB,U,M-S-20x30.step +S20-30SDBCM,S,20,30,,,SDB,CM,M-S-20x30.step +S20-30ME,S,20,30,M,E,,,M-S-20x30.step +S20-30MEU,S,20,30,M,E,,U,M-S-20x30.step +S20-30MECM,S,20,30,M,E,,CM,M-S-20x30.step +S20-30MELB,S,20,30,M,E,LB,,M-S-20x30.step +S20-30MELBU,S,20,30,M,E,LB,U,M-S-20x30.step +S20-30MELBCM,S,20,30,M,E,LB,CM,M-S-20x30.step +S20-30MEFA,S,20,30,M,E,FA,,M-S-20x30.step +S20-30MEFAU,S,20,30,M,E,FA,U,M-S-20x30.step +S20-30MEFACM,S,20,30,M,E,FA,CM,M-S-20x30.step +S20-30MEFB,S,20,30,M,E,FB,,M-S-20x30.step +S20-30MEFBU,S,20,30,M,E,FB,U,M-S-20x30.step +S20-30MEFBCM,S,20,30,M,E,FB,CM,M-S-20x30.step +S20-30MESDB,S,20,30,M,E,SDB,,M-S-20x30.step +S20-30MESDBU,S,20,30,M,E,SDB,U,M-S-20x30.step +S20-30MESDBCM,S,20,30,M,E,SDB,CM,M-S-20x30.step +S20-30M,S,20,30,M,,,,M-S-20x30.step +S20-30MU,S,20,30,M,,,U,M-S-20x30.step +S20-30MCM,S,20,30,M,,,CM,M-S-20x30.step +S20-30MLB,S,20,30,M,,LB,,M-S-20x30.step +S20-30MLBU,S,20,30,M,,LB,U,M-S-20x30.step +S20-30MLBCM,S,20,30,M,,LB,CM,M-S-20x30.step +S20-30MFA,S,20,30,M,,FA,,M-S-20x30.step +S20-30MFAU,S,20,30,M,,FA,U,M-S-20x30.step +S20-30MFACM,S,20,30,M,,FA,CM,M-S-20x30.step +S20-30MFB,S,20,30,M,,FB,,M-S-20x30.step +S20-30MFBU,S,20,30,M,,FB,U,M-S-20x30.step +S20-30MFBCM,S,20,30,M,,FB,CM,M-S-20x30.step +S20-30MSDB,S,20,30,M,,SDB,,M-S-20x30.step +S20-30MSDBU,S,20,30,M,,SDB,U,M-S-20x30.step +S20-30MSDBCM,S,20,30,M,,SDB,CM,M-S-20x30.step +S20-50E,S,20,50,,E,,,M-S-20x50.step +S20-50EU,S,20,50,,E,,U,M-S-20x50.step +S20-50ECM,S,20,50,,E,,CM,M-S-20x50.step +S20-50ELB,S,20,50,,E,LB,,M-S-20x50.step +S20-50ELBU,S,20,50,,E,LB,U,M-S-20x50.step +S20-50ELBCM,S,20,50,,E,LB,CM,M-S-20x50.step +S20-50EFA,S,20,50,,E,FA,,M-S-20x50.step +S20-50EFAU,S,20,50,,E,FA,U,M-S-20x50.step +S20-50EFACM,S,20,50,,E,FA,CM,M-S-20x50.step +S20-50EFB,S,20,50,,E,FB,,M-S-20x50.step +S20-50EFBU,S,20,50,,E,FB,U,M-S-20x50.step +S20-50EFBCM,S,20,50,,E,FB,CM,M-S-20x50.step +S20-50ESDB,S,20,50,,E,SDB,,M-S-20x50.step +S20-50ESDBU,S,20,50,,E,SDB,U,M-S-20x50.step +S20-50ESDBCM,S,20,50,,E,SDB,CM,M-S-20x50.step +S20-50,S,20,50,,,,,M-S-20x50.step +S20-50U,S,20,50,,,,U,M-S-20x50.step +S20-50CM,S,20,50,,,,CM,M-S-20x50.step +S20-50LB,S,20,50,,,LB,,M-S-20x50.step +S20-50LBU,S,20,50,,,LB,U,M-S-20x50.step +S20-50LBCM,S,20,50,,,LB,CM,M-S-20x50.step +S20-50FA,S,20,50,,,FA,,M-S-20x50.step +S20-50FAU,S,20,50,,,FA,U,M-S-20x50.step +S20-50FACM,S,20,50,,,FA,CM,M-S-20x50.step +S20-50FB,S,20,50,,,FB,,M-S-20x50.step +S20-50FBU,S,20,50,,,FB,U,M-S-20x50.step +S20-50FBCM,S,20,50,,,FB,CM,M-S-20x50.step +S20-50SDB,S,20,50,,,SDB,,M-S-20x50.step +S20-50SDBU,S,20,50,,,SDB,U,M-S-20x50.step +S20-50SDBCM,S,20,50,,,SDB,CM,M-S-20x50.step +S20-50ME,S,20,50,M,E,,,M-S-20x50.step +S20-50MEU,S,20,50,M,E,,U,M-S-20x50.step +S20-50MECM,S,20,50,M,E,,CM,M-S-20x50.step +S20-50MELB,S,20,50,M,E,LB,,M-S-20x50.step +S20-50MELBU,S,20,50,M,E,LB,U,M-S-20x50.step +S20-50MELBCM,S,20,50,M,E,LB,CM,M-S-20x50.step +S20-50MEFA,S,20,50,M,E,FA,,M-S-20x50.step +S20-50MEFAU,S,20,50,M,E,FA,U,M-S-20x50.step +S20-50MEFACM,S,20,50,M,E,FA,CM,M-S-20x50.step +S20-50MEFB,S,20,50,M,E,FB,,M-S-20x50.step +S20-50MEFBU,S,20,50,M,E,FB,U,M-S-20x50.step +S20-50MEFBCM,S,20,50,M,E,FB,CM,M-S-20x50.step +S20-50MESDB,S,20,50,M,E,SDB,,M-S-20x50.step +S20-50MESDBU,S,20,50,M,E,SDB,U,M-S-20x50.step +S20-50MESDBCM,S,20,50,M,E,SDB,CM,M-S-20x50.step +S20-50M,S,20,50,M,,,,M-S-20x50.step +S20-50MU,S,20,50,M,,,U,M-S-20x50.step +S20-50MCM,S,20,50,M,,,CM,M-S-20x50.step +S20-50MLB,S,20,50,M,,LB,,M-S-20x50.step +S20-50MLBU,S,20,50,M,,LB,U,M-S-20x50.step +S20-50MLBCM,S,20,50,M,,LB,CM,M-S-20x50.step +S20-50MFA,S,20,50,M,,FA,,M-S-20x50.step +S20-50MFAU,S,20,50,M,,FA,U,M-S-20x50.step +S20-50MFACM,S,20,50,M,,FA,CM,M-S-20x50.step +S20-50MFB,S,20,50,M,,FB,,M-S-20x50.step +S20-50MFBU,S,20,50,M,,FB,U,M-S-20x50.step +S20-50MFBCM,S,20,50,M,,FB,CM,M-S-20x50.step +S20-50MSDB,S,20,50,M,,SDB,,M-S-20x50.step +S20-50MSDBU,S,20,50,M,,SDB,U,M-S-20x50.step +S20-50MSDBCM,S,20,50,M,,SDB,CM,M-S-20x50.step +S20-75E,S,20,75,,E,,,M-S-20x75.step +S20-75EU,S,20,75,,E,,U,M-S-20x75.step +S20-75ECM,S,20,75,,E,,CM,M-S-20x75.step +S20-75ELB,S,20,75,,E,LB,,M-S-20x75.step +S20-75ELBU,S,20,75,,E,LB,U,M-S-20x75.step +S20-75ELBCM,S,20,75,,E,LB,CM,M-S-20x75.step +S20-75EFA,S,20,75,,E,FA,,M-S-20x75.step +S20-75EFAU,S,20,75,,E,FA,U,M-S-20x75.step +S20-75EFACM,S,20,75,,E,FA,CM,M-S-20x75.step +S20-75EFB,S,20,75,,E,FB,,M-S-20x75.step +S20-75EFBU,S,20,75,,E,FB,U,M-S-20x75.step +S20-75EFBCM,S,20,75,,E,FB,CM,M-S-20x75.step +S20-75ESDB,S,20,75,,E,SDB,,M-S-20x75.step +S20-75ESDBU,S,20,75,,E,SDB,U,M-S-20x75.step +S20-75ESDBCM,S,20,75,,E,SDB,CM,M-S-20x75.step +S20-75,S,20,75,,,,,M-S-20x75.step +S20-75U,S,20,75,,,,U,M-S-20x75.step +S20-75CM,S,20,75,,,,CM,M-S-20x75.step +S20-75LB,S,20,75,,,LB,,M-S-20x75.step +S20-75LBU,S,20,75,,,LB,U,M-S-20x75.step +S20-75LBCM,S,20,75,,,LB,CM,M-S-20x75.step +S20-75FA,S,20,75,,,FA,,M-S-20x75.step +S20-75FAU,S,20,75,,,FA,U,M-S-20x75.step +S20-75FACM,S,20,75,,,FA,CM,M-S-20x75.step +S20-75FB,S,20,75,,,FB,,M-S-20x75.step +S20-75FBU,S,20,75,,,FB,U,M-S-20x75.step +S20-75FBCM,S,20,75,,,FB,CM,M-S-20x75.step +S20-75SDB,S,20,75,,,SDB,,M-S-20x75.step +S20-75SDBU,S,20,75,,,SDB,U,M-S-20x75.step +S20-75SDBCM,S,20,75,,,SDB,CM,M-S-20x75.step +S20-75ME,S,20,75,M,E,,,M-S-20x75.step +S20-75MEU,S,20,75,M,E,,U,M-S-20x75.step +S20-75MECM,S,20,75,M,E,,CM,M-S-20x75.step +S20-75MELB,S,20,75,M,E,LB,,M-S-20x75.step +S20-75MELBU,S,20,75,M,E,LB,U,M-S-20x75.step +S20-75MELBCM,S,20,75,M,E,LB,CM,M-S-20x75.step +S20-75MEFA,S,20,75,M,E,FA,,M-S-20x75.step +S20-75MEFAU,S,20,75,M,E,FA,U,M-S-20x75.step +S20-75MEFACM,S,20,75,M,E,FA,CM,M-S-20x75.step +S20-75MEFB,S,20,75,M,E,FB,,M-S-20x75.step +S20-75MEFBU,S,20,75,M,E,FB,U,M-S-20x75.step +S20-75MEFBCM,S,20,75,M,E,FB,CM,M-S-20x75.step +S20-75MESDB,S,20,75,M,E,SDB,,M-S-20x75.step +S20-75MESDBU,S,20,75,M,E,SDB,U,M-S-20x75.step +S20-75MESDBCM,S,20,75,M,E,SDB,CM,M-S-20x75.step +S20-75M,S,20,75,M,,,,M-S-20x75.step +S20-75MU,S,20,75,M,,,U,M-S-20x75.step +S20-75MCM,S,20,75,M,,,CM,M-S-20x75.step +S20-75MLB,S,20,75,M,,LB,,M-S-20x75.step +S20-75MLBU,S,20,75,M,,LB,U,M-S-20x75.step +S20-75MLBCM,S,20,75,M,,LB,CM,M-S-20x75.step +S20-75MFA,S,20,75,M,,FA,,M-S-20x75.step +S20-75MFAU,S,20,75,M,,FA,U,M-S-20x75.step +S20-75MFACM,S,20,75,M,,FA,CM,M-S-20x75.step +S20-75MFB,S,20,75,M,,FB,,M-S-20x75.step +S20-75MFBU,S,20,75,M,,FB,U,M-S-20x75.step +S20-75MFBCM,S,20,75,M,,FB,CM,M-S-20x75.step +S20-75MSDB,S,20,75,M,,SDB,,M-S-20x75.step +S20-75MSDBU,S,20,75,M,,SDB,U,M-S-20x75.step +S20-75MSDBCM,S,20,75,M,,SDB,CM,M-S-20x75.step +S20-100E,S,20,100,,E,,,M-S-20x100.step +S20-100EU,S,20,100,,E,,U,M-S-20x100.step +S20-100ECM,S,20,100,,E,,CM,M-S-20x100.step +S20-100ELB,S,20,100,,E,LB,,M-S-20x100.step +S20-100ELBU,S,20,100,,E,LB,U,M-S-20x100.step +S20-100ELBCM,S,20,100,,E,LB,CM,M-S-20x100.step +S20-100EFA,S,20,100,,E,FA,,M-S-20x100.step +S20-100EFAU,S,20,100,,E,FA,U,M-S-20x100.step +S20-100EFACM,S,20,100,,E,FA,CM,M-S-20x100.step +S20-100EFB,S,20,100,,E,FB,,M-S-20x100.step +S20-100EFBU,S,20,100,,E,FB,U,M-S-20x100.step +S20-100EFBCM,S,20,100,,E,FB,CM,M-S-20x100.step +S20-100ESDB,S,20,100,,E,SDB,,M-S-20x100.step +S20-100ESDBU,S,20,100,,E,SDB,U,M-S-20x100.step +S20-100ESDBCM,S,20,100,,E,SDB,CM,M-S-20x100.step +S20-100,S,20,100,,,,,M-S-20x100.step +S20-100U,S,20,100,,,,U,M-S-20x100.step +S20-100CM,S,20,100,,,,CM,M-S-20x100.step +S20-100LB,S,20,100,,,LB,,M-S-20x100.step +S20-100LBU,S,20,100,,,LB,U,M-S-20x100.step +S20-100LBCM,S,20,100,,,LB,CM,M-S-20x100.step +S20-100FA,S,20,100,,,FA,,M-S-20x100.step +S20-100FAU,S,20,100,,,FA,U,M-S-20x100.step +S20-100FACM,S,20,100,,,FA,CM,M-S-20x100.step +S20-100FB,S,20,100,,,FB,,M-S-20x100.step +S20-100FBU,S,20,100,,,FB,U,M-S-20x100.step +S20-100FBCM,S,20,100,,,FB,CM,M-S-20x100.step +S20-100SDB,S,20,100,,,SDB,,M-S-20x100.step +S20-100SDBU,S,20,100,,,SDB,U,M-S-20x100.step +S20-100SDBCM,S,20,100,,,SDB,CM,M-S-20x100.step +S20-100ME,S,20,100,M,E,,,M-S-20x100.step +S20-100MEU,S,20,100,M,E,,U,M-S-20x100.step +S20-100MECM,S,20,100,M,E,,CM,M-S-20x100.step +S20-100MELB,S,20,100,M,E,LB,,M-S-20x100.step +S20-100MELBU,S,20,100,M,E,LB,U,M-S-20x100.step +S20-100MELBCM,S,20,100,M,E,LB,CM,M-S-20x100.step +S20-100MEFA,S,20,100,M,E,FA,,M-S-20x100.step +S20-100MEFAU,S,20,100,M,E,FA,U,M-S-20x100.step +S20-100MEFACM,S,20,100,M,E,FA,CM,M-S-20x100.step +S20-100MEFB,S,20,100,M,E,FB,,M-S-20x100.step +S20-100MEFBU,S,20,100,M,E,FB,U,M-S-20x100.step +S20-100MEFBCM,S,20,100,M,E,FB,CM,M-S-20x100.step +S20-100MESDB,S,20,100,M,E,SDB,,M-S-20x100.step +S20-100MESDBU,S,20,100,M,E,SDB,U,M-S-20x100.step +S20-100MESDBCM,S,20,100,M,E,SDB,CM,M-S-20x100.step +S20-100M,S,20,100,M,,,,M-S-20x100.step +S20-100MU,S,20,100,M,,,U,M-S-20x100.step +S20-100MCM,S,20,100,M,,,CM,M-S-20x100.step +S20-100MLB,S,20,100,M,,LB,,M-S-20x100.step +S20-100MLBU,S,20,100,M,,LB,U,M-S-20x100.step +S20-100MLBCM,S,20,100,M,,LB,CM,M-S-20x100.step +S20-100MFA,S,20,100,M,,FA,,M-S-20x100.step +S20-100MFAU,S,20,100,M,,FA,U,M-S-20x100.step +S20-100MFACM,S,20,100,M,,FA,CM,M-S-20x100.step +S20-100MFB,S,20,100,M,,FB,,M-S-20x100.step +S20-100MFBU,S,20,100,M,,FB,U,M-S-20x100.step +S20-100MFBCM,S,20,100,M,,FB,CM,M-S-20x100.step +S20-100MSDB,S,20,100,M,,SDB,,M-S-20x100.step +S20-100MSDBU,S,20,100,M,,SDB,U,M-S-20x100.step +S20-100MSDBCM,S,20,100,M,,SDB,CM,M-S-20x100.step +S25-10E,S,25,10,,E,,,M-S-25x10.step +S25-10EU,S,25,10,,E,,U,M-S-25x10.step +S25-10ECM,S,25,10,,E,,CM,M-S-25x10.step +S25-10ELB,S,25,10,,E,LB,,M-S-25x10.step +S25-10ELBU,S,25,10,,E,LB,U,M-S-25x10.step +S25-10ELBCM,S,25,10,,E,LB,CM,M-S-25x10.step +S25-10EFA,S,25,10,,E,FA,,M-S-25x10.step +S25-10EFAU,S,25,10,,E,FA,U,M-S-25x10.step +S25-10EFACM,S,25,10,,E,FA,CM,M-S-25x10.step +S25-10EFB,S,25,10,,E,FB,,M-S-25x10.step +S25-10EFBU,S,25,10,,E,FB,U,M-S-25x10.step +S25-10EFBCM,S,25,10,,E,FB,CM,M-S-25x10.step +S25-10ESDB,S,25,10,,E,SDB,,M-S-25x10.step +S25-10ESDBU,S,25,10,,E,SDB,U,M-S-25x10.step +S25-10ESDBCM,S,25,10,,E,SDB,CM,M-S-25x10.step +S25-10,S,25,10,,,,,M-S-25x10.step +S25-10U,S,25,10,,,,U,M-S-25x10.step +S25-10CM,S,25,10,,,,CM,M-S-25x10.step +S25-10LB,S,25,10,,,LB,,M-S-25x10.step +S25-10LBU,S,25,10,,,LB,U,M-S-25x10.step +S25-10LBCM,S,25,10,,,LB,CM,M-S-25x10.step +S25-10FA,S,25,10,,,FA,,M-S-25x10.step +S25-10FAU,S,25,10,,,FA,U,M-S-25x10.step +S25-10FACM,S,25,10,,,FA,CM,M-S-25x10.step +S25-10FB,S,25,10,,,FB,,M-S-25x10.step +S25-10FBU,S,25,10,,,FB,U,M-S-25x10.step +S25-10FBCM,S,25,10,,,FB,CM,M-S-25x10.step +S25-10SDB,S,25,10,,,SDB,,M-S-25x10.step +S25-10SDBU,S,25,10,,,SDB,U,M-S-25x10.step +S25-10SDBCM,S,25,10,,,SDB,CM,M-S-25x10.step +S25-10ME,S,25,10,M,E,,,M-S-25x10.step +S25-10MEU,S,25,10,M,E,,U,M-S-25x10.step +S25-10MECM,S,25,10,M,E,,CM,M-S-25x10.step +S25-10MELB,S,25,10,M,E,LB,,M-S-25x10.step +S25-10MELBU,S,25,10,M,E,LB,U,M-S-25x10.step +S25-10MELBCM,S,25,10,M,E,LB,CM,M-S-25x10.step +S25-10MEFA,S,25,10,M,E,FA,,M-S-25x10.step +S25-10MEFAU,S,25,10,M,E,FA,U,M-S-25x10.step +S25-10MEFACM,S,25,10,M,E,FA,CM,M-S-25x10.step +S25-10MEFB,S,25,10,M,E,FB,,M-S-25x10.step +S25-10MEFBU,S,25,10,M,E,FB,U,M-S-25x10.step +S25-10MEFBCM,S,25,10,M,E,FB,CM,M-S-25x10.step +S25-10MESDB,S,25,10,M,E,SDB,,M-S-25x10.step +S25-10MESDBU,S,25,10,M,E,SDB,U,M-S-25x10.step +S25-10MESDBCM,S,25,10,M,E,SDB,CM,M-S-25x10.step +S25-10M,S,25,10,M,,,,M-S-25x10.step +S25-10MU,S,25,10,M,,,U,M-S-25x10.step +S25-10MCM,S,25,10,M,,,CM,M-S-25x10.step +S25-10MLB,S,25,10,M,,LB,,M-S-25x10.step +S25-10MLBU,S,25,10,M,,LB,U,M-S-25x10.step +S25-10MLBCM,S,25,10,M,,LB,CM,M-S-25x10.step +S25-10MFA,S,25,10,M,,FA,,M-S-25x10.step +S25-10MFAU,S,25,10,M,,FA,U,M-S-25x10.step +S25-10MFACM,S,25,10,M,,FA,CM,M-S-25x10.step +S25-10MFB,S,25,10,M,,FB,,M-S-25x10.step +S25-10MFBU,S,25,10,M,,FB,U,M-S-25x10.step +S25-10MFBCM,S,25,10,M,,FB,CM,M-S-25x10.step +S25-10MSDB,S,25,10,M,,SDB,,M-S-25x10.step +S25-10MSDBU,S,25,10,M,,SDB,U,M-S-25x10.step +S25-10MSDBCM,S,25,10,M,,SDB,CM,M-S-25x10.step +S25-20E,S,25,20,,E,,,M-S-25x20.step +S25-20EU,S,25,20,,E,,U,M-S-25x20.step +S25-20ECM,S,25,20,,E,,CM,M-S-25x20.step +S25-20ELB,S,25,20,,E,LB,,M-S-25x20.step +S25-20ELBU,S,25,20,,E,LB,U,M-S-25x20.step +S25-20ELBCM,S,25,20,,E,LB,CM,M-S-25x20.step +S25-20EFA,S,25,20,,E,FA,,M-S-25x20.step +S25-20EFAU,S,25,20,,E,FA,U,M-S-25x20.step +S25-20EFACM,S,25,20,,E,FA,CM,M-S-25x20.step +S25-20EFB,S,25,20,,E,FB,,M-S-25x20.step +S25-20EFBU,S,25,20,,E,FB,U,M-S-25x20.step +S25-20EFBCM,S,25,20,,E,FB,CM,M-S-25x20.step +S25-20ESDB,S,25,20,,E,SDB,,M-S-25x20.step +S25-20ESDBU,S,25,20,,E,SDB,U,M-S-25x20.step +S25-20ESDBCM,S,25,20,,E,SDB,CM,M-S-25x20.step +S25-20,S,25,20,,,,,M-S-25x20.step +S25-20U,S,25,20,,,,U,M-S-25x20.step +S25-20CM,S,25,20,,,,CM,M-S-25x20.step +S25-20LB,S,25,20,,,LB,,M-S-25x20.step +S25-20LBU,S,25,20,,,LB,U,M-S-25x20.step +S25-20LBCM,S,25,20,,,LB,CM,M-S-25x20.step +S25-20FA,S,25,20,,,FA,,M-S-25x20.step +S25-20FAU,S,25,20,,,FA,U,M-S-25x20.step +S25-20FACM,S,25,20,,,FA,CM,M-S-25x20.step +S25-20FB,S,25,20,,,FB,,M-S-25x20.step +S25-20FBU,S,25,20,,,FB,U,M-S-25x20.step +S25-20FBCM,S,25,20,,,FB,CM,M-S-25x20.step +S25-20SDB,S,25,20,,,SDB,,M-S-25x20.step +S25-20SDBU,S,25,20,,,SDB,U,M-S-25x20.step +S25-20SDBCM,S,25,20,,,SDB,CM,M-S-25x20.step +S25-20ME,S,25,20,M,E,,,M-S-25x20.step +S25-20MEU,S,25,20,M,E,,U,M-S-25x20.step +S25-20MECM,S,25,20,M,E,,CM,M-S-25x20.step +S25-20MELB,S,25,20,M,E,LB,,M-S-25x20.step +S25-20MELBU,S,25,20,M,E,LB,U,M-S-25x20.step +S25-20MELBCM,S,25,20,M,E,LB,CM,M-S-25x20.step +S25-20MEFA,S,25,20,M,E,FA,,M-S-25x20.step +S25-20MEFAU,S,25,20,M,E,FA,U,M-S-25x20.step +S25-20MEFACM,S,25,20,M,E,FA,CM,M-S-25x20.step +S25-20MEFB,S,25,20,M,E,FB,,M-S-25x20.step +S25-20MEFBU,S,25,20,M,E,FB,U,M-S-25x20.step +S25-20MEFBCM,S,25,20,M,E,FB,CM,M-S-25x20.step +S25-20MESDB,S,25,20,M,E,SDB,,M-S-25x20.step +S25-20MESDBU,S,25,20,M,E,SDB,U,M-S-25x20.step +S25-20MESDBCM,S,25,20,M,E,SDB,CM,M-S-25x20.step +S25-20M,S,25,20,M,,,,M-S-25x20.step +S25-20MU,S,25,20,M,,,U,M-S-25x20.step +S25-20MCM,S,25,20,M,,,CM,M-S-25x20.step +S25-20MLB,S,25,20,M,,LB,,M-S-25x20.step +S25-20MLBU,S,25,20,M,,LB,U,M-S-25x20.step +S25-20MLBCM,S,25,20,M,,LB,CM,M-S-25x20.step +S25-20MFA,S,25,20,M,,FA,,M-S-25x20.step +S25-20MFAU,S,25,20,M,,FA,U,M-S-25x20.step +S25-20MFACM,S,25,20,M,,FA,CM,M-S-25x20.step +S25-20MFB,S,25,20,M,,FB,,M-S-25x20.step +S25-20MFBU,S,25,20,M,,FB,U,M-S-25x20.step +S25-20MFBCM,S,25,20,M,,FB,CM,M-S-25x20.step +S25-20MSDB,S,25,20,M,,SDB,,M-S-25x20.step +S25-20MSDBU,S,25,20,M,,SDB,U,M-S-25x20.step +S25-20MSDBCM,S,25,20,M,,SDB,CM,M-S-25x20.step +S25-30E,S,25,30,,E,,,M-S-25x30.step +S25-30EU,S,25,30,,E,,U,M-S-25x30.step +S25-30ECM,S,25,30,,E,,CM,M-S-25x30.step +S25-30ELB,S,25,30,,E,LB,,M-S-25x30.step +S25-30ELBU,S,25,30,,E,LB,U,M-S-25x30.step +S25-30ELBCM,S,25,30,,E,LB,CM,M-S-25x30.step +S25-30EFA,S,25,30,,E,FA,,M-S-25x30.step +S25-30EFAU,S,25,30,,E,FA,U,M-S-25x30.step +S25-30EFACM,S,25,30,,E,FA,CM,M-S-25x30.step +S25-30EFB,S,25,30,,E,FB,,M-S-25x30.step +S25-30EFBU,S,25,30,,E,FB,U,M-S-25x30.step +S25-30EFBCM,S,25,30,,E,FB,CM,M-S-25x30.step +S25-30ESDB,S,25,30,,E,SDB,,M-S-25x30.step +S25-30ESDBU,S,25,30,,E,SDB,U,M-S-25x30.step +S25-30ESDBCM,S,25,30,,E,SDB,CM,M-S-25x30.step +S25-30,S,25,30,,,,,M-S-25x30.step +S25-30U,S,25,30,,,,U,M-S-25x30.step +S25-30CM,S,25,30,,,,CM,M-S-25x30.step +S25-30LB,S,25,30,,,LB,,M-S-25x30.step +S25-30LBU,S,25,30,,,LB,U,M-S-25x30.step +S25-30LBCM,S,25,30,,,LB,CM,M-S-25x30.step +S25-30FA,S,25,30,,,FA,,M-S-25x30.step +S25-30FAU,S,25,30,,,FA,U,M-S-25x30.step +S25-30FACM,S,25,30,,,FA,CM,M-S-25x30.step +S25-30FB,S,25,30,,,FB,,M-S-25x30.step +S25-30FBU,S,25,30,,,FB,U,M-S-25x30.step +S25-30FBCM,S,25,30,,,FB,CM,M-S-25x30.step +S25-30SDB,S,25,30,,,SDB,,M-S-25x30.step +S25-30SDBU,S,25,30,,,SDB,U,M-S-25x30.step +S25-30SDBCM,S,25,30,,,SDB,CM,M-S-25x30.step +S25-30ME,S,25,30,M,E,,,M-S-25x30.step +S25-30MEU,S,25,30,M,E,,U,M-S-25x30.step +S25-30MECM,S,25,30,M,E,,CM,M-S-25x30.step +S25-30MELB,S,25,30,M,E,LB,,M-S-25x30.step +S25-30MELBU,S,25,30,M,E,LB,U,M-S-25x30.step +S25-30MELBCM,S,25,30,M,E,LB,CM,M-S-25x30.step +S25-30MEFA,S,25,30,M,E,FA,,M-S-25x30.step +S25-30MEFAU,S,25,30,M,E,FA,U,M-S-25x30.step +S25-30MEFACM,S,25,30,M,E,FA,CM,M-S-25x30.step +S25-30MEFB,S,25,30,M,E,FB,,M-S-25x30.step +S25-30MEFBU,S,25,30,M,E,FB,U,M-S-25x30.step +S25-30MEFBCM,S,25,30,M,E,FB,CM,M-S-25x30.step +S25-30MESDB,S,25,30,M,E,SDB,,M-S-25x30.step +S25-30MESDBU,S,25,30,M,E,SDB,U,M-S-25x30.step +S25-30MESDBCM,S,25,30,M,E,SDB,CM,M-S-25x30.step +S25-30M,S,25,30,M,,,,M-S-25x30.step +S25-30MU,S,25,30,M,,,U,M-S-25x30.step +S25-30MCM,S,25,30,M,,,CM,M-S-25x30.step +S25-30MLB,S,25,30,M,,LB,,M-S-25x30.step +S25-30MLBU,S,25,30,M,,LB,U,M-S-25x30.step +S25-30MLBCM,S,25,30,M,,LB,CM,M-S-25x30.step +S25-30MFA,S,25,30,M,,FA,,M-S-25x30.step +S25-30MFAU,S,25,30,M,,FA,U,M-S-25x30.step +S25-30MFACM,S,25,30,M,,FA,CM,M-S-25x30.step +S25-30MFB,S,25,30,M,,FB,,M-S-25x30.step +S25-30MFBU,S,25,30,M,,FB,U,M-S-25x30.step +S25-30MFBCM,S,25,30,M,,FB,CM,M-S-25x30.step +S25-30MSDB,S,25,30,M,,SDB,,M-S-25x30.step +S25-30MSDBU,S,25,30,M,,SDB,U,M-S-25x30.step +S25-30MSDBCM,S,25,30,M,,SDB,CM,M-S-25x30.step +S25-50E,S,25,50,,E,,,M-S-25x50.step +S25-50EU,S,25,50,,E,,U,M-S-25x50.step +S25-50ECM,S,25,50,,E,,CM,M-S-25x50.step +S25-50ELB,S,25,50,,E,LB,,M-S-25x50.step +S25-50ELBU,S,25,50,,E,LB,U,M-S-25x50.step +S25-50ELBCM,S,25,50,,E,LB,CM,M-S-25x50.step +S25-50EFA,S,25,50,,E,FA,,M-S-25x50.step +S25-50EFAU,S,25,50,,E,FA,U,M-S-25x50.step +S25-50EFACM,S,25,50,,E,FA,CM,M-S-25x50.step +S25-50EFB,S,25,50,,E,FB,,M-S-25x50.step +S25-50EFBU,S,25,50,,E,FB,U,M-S-25x50.step +S25-50EFBCM,S,25,50,,E,FB,CM,M-S-25x50.step +S25-50ESDB,S,25,50,,E,SDB,,M-S-25x50.step +S25-50ESDBU,S,25,50,,E,SDB,U,M-S-25x50.step +S25-50ESDBCM,S,25,50,,E,SDB,CM,M-S-25x50.step +S25-50,S,25,50,,,,,M-S-25x50.step +S25-50U,S,25,50,,,,U,M-S-25x50.step +S25-50CM,S,25,50,,,,CM,M-S-25x50.step +S25-50LB,S,25,50,,,LB,,M-S-25x50.step +S25-50LBU,S,25,50,,,LB,U,M-S-25x50.step +S25-50LBCM,S,25,50,,,LB,CM,M-S-25x50.step +S25-50FA,S,25,50,,,FA,,M-S-25x50.step +S25-50FAU,S,25,50,,,FA,U,M-S-25x50.step +S25-50FACM,S,25,50,,,FA,CM,M-S-25x50.step +S25-50FB,S,25,50,,,FB,,M-S-25x50.step +S25-50FBU,S,25,50,,,FB,U,M-S-25x50.step +S25-50FBCM,S,25,50,,,FB,CM,M-S-25x50.step +S25-50SDB,S,25,50,,,SDB,,M-S-25x50.step +S25-50SDBU,S,25,50,,,SDB,U,M-S-25x50.step +S25-50SDBCM,S,25,50,,,SDB,CM,M-S-25x50.step +S25-50ME,S,25,50,M,E,,,M-S-25x50.step +S25-50MEU,S,25,50,M,E,,U,M-S-25x50.step +S25-50MECM,S,25,50,M,E,,CM,M-S-25x50.step +S25-50MELB,S,25,50,M,E,LB,,M-S-25x50.step +S25-50MELBU,S,25,50,M,E,LB,U,M-S-25x50.step +S25-50MELBCM,S,25,50,M,E,LB,CM,M-S-25x50.step +S25-50MEFA,S,25,50,M,E,FA,,M-S-25x50.step +S25-50MEFAU,S,25,50,M,E,FA,U,M-S-25x50.step +S25-50MEFACM,S,25,50,M,E,FA,CM,M-S-25x50.step +S25-50MEFB,S,25,50,M,E,FB,,M-S-25x50.step +S25-50MEFBU,S,25,50,M,E,FB,U,M-S-25x50.step +S25-50MEFBCM,S,25,50,M,E,FB,CM,M-S-25x50.step +S25-50MESDB,S,25,50,M,E,SDB,,M-S-25x50.step +S25-50MESDBU,S,25,50,M,E,SDB,U,M-S-25x50.step +S25-50MESDBCM,S,25,50,M,E,SDB,CM,M-S-25x50.step +S25-50M,S,25,50,M,,,,M-S-25x50.step +S25-50MU,S,25,50,M,,,U,M-S-25x50.step +S25-50MCM,S,25,50,M,,,CM,M-S-25x50.step +S25-50MLB,S,25,50,M,,LB,,M-S-25x50.step +S25-50MLBU,S,25,50,M,,LB,U,M-S-25x50.step +S25-50MLBCM,S,25,50,M,,LB,CM,M-S-25x50.step +S25-50MFA,S,25,50,M,,FA,,M-S-25x50.step +S25-50MFAU,S,25,50,M,,FA,U,M-S-25x50.step +S25-50MFACM,S,25,50,M,,FA,CM,M-S-25x50.step +S25-50MFB,S,25,50,M,,FB,,M-S-25x50.step +S25-50MFBU,S,25,50,M,,FB,U,M-S-25x50.step +S25-50MFBCM,S,25,50,M,,FB,CM,M-S-25x50.step +S25-50MSDB,S,25,50,M,,SDB,,M-S-25x50.step +S25-50MSDBU,S,25,50,M,,SDB,U,M-S-25x50.step +S25-50MSDBCM,S,25,50,M,,SDB,CM,M-S-25x50.step +S25-75E,S,25,75,,E,,,M-S-25x75.step +S25-75EU,S,25,75,,E,,U,M-S-25x75.step +S25-75ECM,S,25,75,,E,,CM,M-S-25x75.step +S25-75ELB,S,25,75,,E,LB,,M-S-25x75.step +S25-75ELBU,S,25,75,,E,LB,U,M-S-25x75.step +S25-75ELBCM,S,25,75,,E,LB,CM,M-S-25x75.step +S25-75EFA,S,25,75,,E,FA,,M-S-25x75.step +S25-75EFAU,S,25,75,,E,FA,U,M-S-25x75.step +S25-75EFACM,S,25,75,,E,FA,CM,M-S-25x75.step +S25-75EFB,S,25,75,,E,FB,,M-S-25x75.step +S25-75EFBU,S,25,75,,E,FB,U,M-S-25x75.step +S25-75EFBCM,S,25,75,,E,FB,CM,M-S-25x75.step +S25-75ESDB,S,25,75,,E,SDB,,M-S-25x75.step +S25-75ESDBU,S,25,75,,E,SDB,U,M-S-25x75.step +S25-75ESDBCM,S,25,75,,E,SDB,CM,M-S-25x75.step +S25-75,S,25,75,,,,,M-S-25x75.step +S25-75U,S,25,75,,,,U,M-S-25x75.step +S25-75CM,S,25,75,,,,CM,M-S-25x75.step +S25-75LB,S,25,75,,,LB,,M-S-25x75.step +S25-75LBU,S,25,75,,,LB,U,M-S-25x75.step +S25-75LBCM,S,25,75,,,LB,CM,M-S-25x75.step +S25-75FA,S,25,75,,,FA,,M-S-25x75.step +S25-75FAU,S,25,75,,,FA,U,M-S-25x75.step +S25-75FACM,S,25,75,,,FA,CM,M-S-25x75.step +S25-75FB,S,25,75,,,FB,,M-S-25x75.step +S25-75FBU,S,25,75,,,FB,U,M-S-25x75.step +S25-75FBCM,S,25,75,,,FB,CM,M-S-25x75.step +S25-75SDB,S,25,75,,,SDB,,M-S-25x75.step +S25-75SDBU,S,25,75,,,SDB,U,M-S-25x75.step +S25-75SDBCM,S,25,75,,,SDB,CM,M-S-25x75.step +S25-75ME,S,25,75,M,E,,,M-S-25x75.step +S25-75MEU,S,25,75,M,E,,U,M-S-25x75.step +S25-75MECM,S,25,75,M,E,,CM,M-S-25x75.step +S25-75MELB,S,25,75,M,E,LB,,M-S-25x75.step +S25-75MELBU,S,25,75,M,E,LB,U,M-S-25x75.step +S25-75MELBCM,S,25,75,M,E,LB,CM,M-S-25x75.step +S25-75MEFA,S,25,75,M,E,FA,,M-S-25x75.step +S25-75MEFAU,S,25,75,M,E,FA,U,M-S-25x75.step +S25-75MEFACM,S,25,75,M,E,FA,CM,M-S-25x75.step +S25-75MEFB,S,25,75,M,E,FB,,M-S-25x75.step +S25-75MEFBU,S,25,75,M,E,FB,U,M-S-25x75.step +S25-75MEFBCM,S,25,75,M,E,FB,CM,M-S-25x75.step +S25-75MESDB,S,25,75,M,E,SDB,,M-S-25x75.step +S25-75MESDBU,S,25,75,M,E,SDB,U,M-S-25x75.step +S25-75MESDBCM,S,25,75,M,E,SDB,CM,M-S-25x75.step +S25-75M,S,25,75,M,,,,M-S-25x75.step +S25-75MU,S,25,75,M,,,U,M-S-25x75.step +S25-75MCM,S,25,75,M,,,CM,M-S-25x75.step +S25-75MLB,S,25,75,M,,LB,,M-S-25x75.step +S25-75MLBU,S,25,75,M,,LB,U,M-S-25x75.step +S25-75MLBCM,S,25,75,M,,LB,CM,M-S-25x75.step +S25-75MFA,S,25,75,M,,FA,,M-S-25x75.step +S25-75MFAU,S,25,75,M,,FA,U,M-S-25x75.step +S25-75MFACM,S,25,75,M,,FA,CM,M-S-25x75.step +S25-75MFB,S,25,75,M,,FB,,M-S-25x75.step +S25-75MFBU,S,25,75,M,,FB,U,M-S-25x75.step +S25-75MFBCM,S,25,75,M,,FB,CM,M-S-25x75.step +S25-75MSDB,S,25,75,M,,SDB,,M-S-25x75.step +S25-75MSDBU,S,25,75,M,,SDB,U,M-S-25x75.step +S25-75MSDBCM,S,25,75,M,,SDB,CM,M-S-25x75.step +S25-100E,S,25,100,,E,,,M-S-25x100.step +S25-100EU,S,25,100,,E,,U,M-S-25x100.step +S25-100ECM,S,25,100,,E,,CM,M-S-25x100.step +S25-100ELB,S,25,100,,E,LB,,M-S-25x100.step +S25-100ELBU,S,25,100,,E,LB,U,M-S-25x100.step +S25-100ELBCM,S,25,100,,E,LB,CM,M-S-25x100.step +S25-100EFA,S,25,100,,E,FA,,M-S-25x100.step +S25-100EFAU,S,25,100,,E,FA,U,M-S-25x100.step +S25-100EFACM,S,25,100,,E,FA,CM,M-S-25x100.step +S25-100EFB,S,25,100,,E,FB,,M-S-25x100.step +S25-100EFBU,S,25,100,,E,FB,U,M-S-25x100.step +S25-100EFBCM,S,25,100,,E,FB,CM,M-S-25x100.step +S25-100ESDB,S,25,100,,E,SDB,,M-S-25x100.step +S25-100ESDBU,S,25,100,,E,SDB,U,M-S-25x100.step +S25-100ESDBCM,S,25,100,,E,SDB,CM,M-S-25x100.step +S25-100,S,25,100,,,,,M-S-25x100.step +S25-100U,S,25,100,,,,U,M-S-25x100.step +S25-100CM,S,25,100,,,,CM,M-S-25x100.step +S25-100LB,S,25,100,,,LB,,M-S-25x100.step +S25-100LBU,S,25,100,,,LB,U,M-S-25x100.step +S25-100LBCM,S,25,100,,,LB,CM,M-S-25x100.step +S25-100FA,S,25,100,,,FA,,M-S-25x100.step +S25-100FAU,S,25,100,,,FA,U,M-S-25x100.step +S25-100FACM,S,25,100,,,FA,CM,M-S-25x100.step +S25-100FB,S,25,100,,,FB,,M-S-25x100.step +S25-100FBU,S,25,100,,,FB,U,M-S-25x100.step +S25-100FBCM,S,25,100,,,FB,CM,M-S-25x100.step +S25-100SDB,S,25,100,,,SDB,,M-S-25x100.step +S25-100SDBU,S,25,100,,,SDB,U,M-S-25x100.step +S25-100SDBCM,S,25,100,,,SDB,CM,M-S-25x100.step +S25-100ME,S,25,100,M,E,,,M-S-25x100.step +S25-100MEU,S,25,100,M,E,,U,M-S-25x100.step +S25-100MECM,S,25,100,M,E,,CM,M-S-25x100.step +S25-100MELB,S,25,100,M,E,LB,,M-S-25x100.step +S25-100MELBU,S,25,100,M,E,LB,U,M-S-25x100.step +S25-100MELBCM,S,25,100,M,E,LB,CM,M-S-25x100.step +S25-100MEFA,S,25,100,M,E,FA,,M-S-25x100.step +S25-100MEFAU,S,25,100,M,E,FA,U,M-S-25x100.step +S25-100MEFACM,S,25,100,M,E,FA,CM,M-S-25x100.step +S25-100MEFB,S,25,100,M,E,FB,,M-S-25x100.step +S25-100MEFBU,S,25,100,M,E,FB,U,M-S-25x100.step +S25-100MEFBCM,S,25,100,M,E,FB,CM,M-S-25x100.step +S25-100MESDB,S,25,100,M,E,SDB,,M-S-25x100.step +S25-100MESDBU,S,25,100,M,E,SDB,U,M-S-25x100.step +S25-100MESDBCM,S,25,100,M,E,SDB,CM,M-S-25x100.step +S25-100M,S,25,100,M,,,,M-S-25x100.step +S25-100MU,S,25,100,M,,,U,M-S-25x100.step +S25-100MCM,S,25,100,M,,,CM,M-S-25x100.step +S25-100MLB,S,25,100,M,,LB,,M-S-25x100.step +S25-100MLBU,S,25,100,M,,LB,U,M-S-25x100.step +S25-100MLBCM,S,25,100,M,,LB,CM,M-S-25x100.step +S25-100MFA,S,25,100,M,,FA,,M-S-25x100.step +S25-100MFAU,S,25,100,M,,FA,U,M-S-25x100.step +S25-100MFACM,S,25,100,M,,FA,CM,M-S-25x100.step +S25-100MFB,S,25,100,M,,FB,,M-S-25x100.step +S25-100MFBU,S,25,100,M,,FB,U,M-S-25x100.step +S25-100MFBCM,S,25,100,M,,FB,CM,M-S-25x100.step +S25-100MSDB,S,25,100,M,,SDB,,M-S-25x100.step +S25-100MSDBU,S,25,100,M,,SDB,U,M-S-25x100.step +S25-100MSDBCM,S,25,100,M,,SDB,CM,M-S-25x100.step +S32-10E,S,32,10,,E,,,M-S-32x10.step +S32-10EU,S,32,10,,E,,U,M-S-32x10.step +S32-10ECM,S,32,10,,E,,CM,M-S-32x10.step +S32-10ELB,S,32,10,,E,LB,,M-S-32x10.step +S32-10ELBU,S,32,10,,E,LB,U,M-S-32x10.step +S32-10ELBCM,S,32,10,,E,LB,CM,M-S-32x10.step +S32-10EFA,S,32,10,,E,FA,,M-S-32x10.step +S32-10EFAU,S,32,10,,E,FA,U,M-S-32x10.step +S32-10EFACM,S,32,10,,E,FA,CM,M-S-32x10.step +S32-10EFB,S,32,10,,E,FB,,M-S-32x10.step +S32-10EFBU,S,32,10,,E,FB,U,M-S-32x10.step +S32-10EFBCM,S,32,10,,E,FB,CM,M-S-32x10.step +S32-10ESDB,S,32,10,,E,SDB,,M-S-32x10.step +S32-10ESDBU,S,32,10,,E,SDB,U,M-S-32x10.step +S32-10ESDBCM,S,32,10,,E,SDB,CM,M-S-32x10.step +S32-10,S,32,10,,,,,M-S-32x10.step +S32-10U,S,32,10,,,,U,M-S-32x10.step +S32-10CM,S,32,10,,,,CM,M-S-32x10.step +S32-10LB,S,32,10,,,LB,,M-S-32x10.step +S32-10LBU,S,32,10,,,LB,U,M-S-32x10.step +S32-10LBCM,S,32,10,,,LB,CM,M-S-32x10.step +S32-10FA,S,32,10,,,FA,,M-S-32x10.step +S32-10FAU,S,32,10,,,FA,U,M-S-32x10.step +S32-10FACM,S,32,10,,,FA,CM,M-S-32x10.step +S32-10FB,S,32,10,,,FB,,M-S-32x10.step +S32-10FBU,S,32,10,,,FB,U,M-S-32x10.step +S32-10FBCM,S,32,10,,,FB,CM,M-S-32x10.step +S32-10SDB,S,32,10,,,SDB,,M-S-32x10.step +S32-10SDBU,S,32,10,,,SDB,U,M-S-32x10.step +S32-10SDBCM,S,32,10,,,SDB,CM,M-S-32x10.step +S32-10ME,S,32,10,M,E,,,M-S-32x10.step +S32-10MEU,S,32,10,M,E,,U,M-S-32x10.step +S32-10MECM,S,32,10,M,E,,CM,M-S-32x10.step +S32-10MELB,S,32,10,M,E,LB,,M-S-32x10.step +S32-10MELBU,S,32,10,M,E,LB,U,M-S-32x10.step +S32-10MELBCM,S,32,10,M,E,LB,CM,M-S-32x10.step +S32-10MEFA,S,32,10,M,E,FA,,M-S-32x10.step +S32-10MEFAU,S,32,10,M,E,FA,U,M-S-32x10.step +S32-10MEFACM,S,32,10,M,E,FA,CM,M-S-32x10.step +S32-10MEFB,S,32,10,M,E,FB,,M-S-32x10.step +S32-10MEFBU,S,32,10,M,E,FB,U,M-S-32x10.step +S32-10MEFBCM,S,32,10,M,E,FB,CM,M-S-32x10.step +S32-10MESDB,S,32,10,M,E,SDB,,M-S-32x10.step +S32-10MESDBU,S,32,10,M,E,SDB,U,M-S-32x10.step +S32-10MESDBCM,S,32,10,M,E,SDB,CM,M-S-32x10.step +S32-10M,S,32,10,M,,,,M-S-32x10.step +S32-10MU,S,32,10,M,,,U,M-S-32x10.step +S32-10MCM,S,32,10,M,,,CM,M-S-32x10.step +S32-10MLB,S,32,10,M,,LB,,M-S-32x10.step +S32-10MLBU,S,32,10,M,,LB,U,M-S-32x10.step +S32-10MLBCM,S,32,10,M,,LB,CM,M-S-32x10.step +S32-10MFA,S,32,10,M,,FA,,M-S-32x10.step +S32-10MFAU,S,32,10,M,,FA,U,M-S-32x10.step +S32-10MFACM,S,32,10,M,,FA,CM,M-S-32x10.step +S32-10MFB,S,32,10,M,,FB,,M-S-32x10.step +S32-10MFBU,S,32,10,M,,FB,U,M-S-32x10.step +S32-10MFBCM,S,32,10,M,,FB,CM,M-S-32x10.step +S32-10MSDB,S,32,10,M,,SDB,,M-S-32x10.step +S32-10MSDBU,S,32,10,M,,SDB,U,M-S-32x10.step +S32-10MSDBCM,S,32,10,M,,SDB,CM,M-S-32x10.step +S32-20E,S,32,20,,E,,,M-S-32x20.step +S32-20EU,S,32,20,,E,,U,M-S-32x20.step +S32-20ECM,S,32,20,,E,,CM,M-S-32x20.step +S32-20ELB,S,32,20,,E,LB,,M-S-32x20.step +S32-20ELBU,S,32,20,,E,LB,U,M-S-32x20.step +S32-20ELBCM,S,32,20,,E,LB,CM,M-S-32x20.step +S32-20EFA,S,32,20,,E,FA,,M-S-32x20.step +S32-20EFAU,S,32,20,,E,FA,U,M-S-32x20.step +S32-20EFACM,S,32,20,,E,FA,CM,M-S-32x20.step +S32-20EFB,S,32,20,,E,FB,,M-S-32x20.step +S32-20EFBU,S,32,20,,E,FB,U,M-S-32x20.step +S32-20EFBCM,S,32,20,,E,FB,CM,M-S-32x20.step +S32-20ESDB,S,32,20,,E,SDB,,M-S-32x20.step +S32-20ESDBU,S,32,20,,E,SDB,U,M-S-32x20.step +S32-20ESDBCM,S,32,20,,E,SDB,CM,M-S-32x20.step +S32-20,S,32,20,,,,,M-S-32x20.step +S32-20U,S,32,20,,,,U,M-S-32x20.step +S32-20CM,S,32,20,,,,CM,M-S-32x20.step +S32-20LB,S,32,20,,,LB,,M-S-32x20.step +S32-20LBU,S,32,20,,,LB,U,M-S-32x20.step +S32-20LBCM,S,32,20,,,LB,CM,M-S-32x20.step +S32-20FA,S,32,20,,,FA,,M-S-32x20.step +S32-20FAU,S,32,20,,,FA,U,M-S-32x20.step +S32-20FACM,S,32,20,,,FA,CM,M-S-32x20.step +S32-20FB,S,32,20,,,FB,,M-S-32x20.step +S32-20FBU,S,32,20,,,FB,U,M-S-32x20.step +S32-20FBCM,S,32,20,,,FB,CM,M-S-32x20.step +S32-20SDB,S,32,20,,,SDB,,M-S-32x20.step +S32-20SDBU,S,32,20,,,SDB,U,M-S-32x20.step +S32-20SDBCM,S,32,20,,,SDB,CM,M-S-32x20.step +S32-20ME,S,32,20,M,E,,,M-S-32x20.step +S32-20MEU,S,32,20,M,E,,U,M-S-32x20.step +S32-20MECM,S,32,20,M,E,,CM,M-S-32x20.step +S32-20MELB,S,32,20,M,E,LB,,M-S-32x20.step +S32-20MELBU,S,32,20,M,E,LB,U,M-S-32x20.step +S32-20MELBCM,S,32,20,M,E,LB,CM,M-S-32x20.step +S32-20MEFA,S,32,20,M,E,FA,,M-S-32x20.step +S32-20MEFAU,S,32,20,M,E,FA,U,M-S-32x20.step +S32-20MEFACM,S,32,20,M,E,FA,CM,M-S-32x20.step +S32-20MEFB,S,32,20,M,E,FB,,M-S-32x20.step +S32-20MEFBU,S,32,20,M,E,FB,U,M-S-32x20.step +S32-20MEFBCM,S,32,20,M,E,FB,CM,M-S-32x20.step +S32-20MESDB,S,32,20,M,E,SDB,,M-S-32x20.step +S32-20MESDBU,S,32,20,M,E,SDB,U,M-S-32x20.step +S32-20MESDBCM,S,32,20,M,E,SDB,CM,M-S-32x20.step +S32-20M,S,32,20,M,,,,M-S-32x20.step +S32-20MU,S,32,20,M,,,U,M-S-32x20.step +S32-20MCM,S,32,20,M,,,CM,M-S-32x20.step +S32-20MLB,S,32,20,M,,LB,,M-S-32x20.step +S32-20MLBU,S,32,20,M,,LB,U,M-S-32x20.step +S32-20MLBCM,S,32,20,M,,LB,CM,M-S-32x20.step +S32-20MFA,S,32,20,M,,FA,,M-S-32x20.step +S32-20MFAU,S,32,20,M,,FA,U,M-S-32x20.step +S32-20MFACM,S,32,20,M,,FA,CM,M-S-32x20.step +S32-20MFB,S,32,20,M,,FB,,M-S-32x20.step +S32-20MFBU,S,32,20,M,,FB,U,M-S-32x20.step +S32-20MFBCM,S,32,20,M,,FB,CM,M-S-32x20.step +S32-20MSDB,S,32,20,M,,SDB,,M-S-32x20.step +S32-20MSDBU,S,32,20,M,,SDB,U,M-S-32x20.step +S32-20MSDBCM,S,32,20,M,,SDB,CM,M-S-32x20.step +S32-30E,S,32,30,,E,,,M-S-32x30.step +S32-30EU,S,32,30,,E,,U,M-S-32x30.step +S32-30ECM,S,32,30,,E,,CM,M-S-32x30.step +S32-30ELB,S,32,30,,E,LB,,M-S-32x30.step +S32-30ELBU,S,32,30,,E,LB,U,M-S-32x30.step +S32-30ELBCM,S,32,30,,E,LB,CM,M-S-32x30.step +S32-30EFA,S,32,30,,E,FA,,M-S-32x30.step +S32-30EFAU,S,32,30,,E,FA,U,M-S-32x30.step +S32-30EFACM,S,32,30,,E,FA,CM,M-S-32x30.step +S32-30EFB,S,32,30,,E,FB,,M-S-32x30.step +S32-30EFBU,S,32,30,,E,FB,U,M-S-32x30.step +S32-30EFBCM,S,32,30,,E,FB,CM,M-S-32x30.step +S32-30ESDB,S,32,30,,E,SDB,,M-S-32x30.step +S32-30ESDBU,S,32,30,,E,SDB,U,M-S-32x30.step +S32-30ESDBCM,S,32,30,,E,SDB,CM,M-S-32x30.step +S32-30,S,32,30,,,,,M-S-32x30.step +S32-30U,S,32,30,,,,U,M-S-32x30.step +S32-30CM,S,32,30,,,,CM,M-S-32x30.step +S32-30LB,S,32,30,,,LB,,M-S-32x30.step +S32-30LBU,S,32,30,,,LB,U,M-S-32x30.step +S32-30LBCM,S,32,30,,,LB,CM,M-S-32x30.step +S32-30FA,S,32,30,,,FA,,M-S-32x30.step +S32-30FAU,S,32,30,,,FA,U,M-S-32x30.step +S32-30FACM,S,32,30,,,FA,CM,M-S-32x30.step +S32-30FB,S,32,30,,,FB,,M-S-32x30.step +S32-30FBU,S,32,30,,,FB,U,M-S-32x30.step +S32-30FBCM,S,32,30,,,FB,CM,M-S-32x30.step +S32-30SDB,S,32,30,,,SDB,,M-S-32x30.step +S32-30SDBU,S,32,30,,,SDB,U,M-S-32x30.step +S32-30SDBCM,S,32,30,,,SDB,CM,M-S-32x30.step +S32-30ME,S,32,30,M,E,,,M-S-32x30.step +S32-30MEU,S,32,30,M,E,,U,M-S-32x30.step +S32-30MECM,S,32,30,M,E,,CM,M-S-32x30.step +S32-30MELB,S,32,30,M,E,LB,,M-S-32x30.step +S32-30MELBU,S,32,30,M,E,LB,U,M-S-32x30.step +S32-30MELBCM,S,32,30,M,E,LB,CM,M-S-32x30.step +S32-30MEFA,S,32,30,M,E,FA,,M-S-32x30.step +S32-30MEFAU,S,32,30,M,E,FA,U,M-S-32x30.step +S32-30MEFACM,S,32,30,M,E,FA,CM,M-S-32x30.step +S32-30MEFB,S,32,30,M,E,FB,,M-S-32x30.step +S32-30MEFBU,S,32,30,M,E,FB,U,M-S-32x30.step +S32-30MEFBCM,S,32,30,M,E,FB,CM,M-S-32x30.step +S32-30MESDB,S,32,30,M,E,SDB,,M-S-32x30.step +S32-30MESDBU,S,32,30,M,E,SDB,U,M-S-32x30.step +S32-30MESDBCM,S,32,30,M,E,SDB,CM,M-S-32x30.step +S32-30M,S,32,30,M,,,,M-S-32x30.step +S32-30MU,S,32,30,M,,,U,M-S-32x30.step +S32-30MCM,S,32,30,M,,,CM,M-S-32x30.step +S32-30MLB,S,32,30,M,,LB,,M-S-32x30.step +S32-30MLBU,S,32,30,M,,LB,U,M-S-32x30.step +S32-30MLBCM,S,32,30,M,,LB,CM,M-S-32x30.step +S32-30MFA,S,32,30,M,,FA,,M-S-32x30.step +S32-30MFAU,S,32,30,M,,FA,U,M-S-32x30.step +S32-30MFACM,S,32,30,M,,FA,CM,M-S-32x30.step +S32-30MFB,S,32,30,M,,FB,,M-S-32x30.step +S32-30MFBU,S,32,30,M,,FB,U,M-S-32x30.step +S32-30MFBCM,S,32,30,M,,FB,CM,M-S-32x30.step +S32-30MSDB,S,32,30,M,,SDB,,M-S-32x30.step +S32-30MSDBU,S,32,30,M,,SDB,U,M-S-32x30.step +S32-30MSDBCM,S,32,30,M,,SDB,CM,M-S-32x30.step +S32-50E,S,32,50,,E,,,M-S-32x50.step +S32-50EU,S,32,50,,E,,U,M-S-32x50.step +S32-50ECM,S,32,50,,E,,CM,M-S-32x50.step +S32-50ELB,S,32,50,,E,LB,,M-S-32x50.step +S32-50ELBU,S,32,50,,E,LB,U,M-S-32x50.step +S32-50ELBCM,S,32,50,,E,LB,CM,M-S-32x50.step +S32-50EFA,S,32,50,,E,FA,,M-S-32x50.step +S32-50EFAU,S,32,50,,E,FA,U,M-S-32x50.step +S32-50EFACM,S,32,50,,E,FA,CM,M-S-32x50.step +S32-50EFB,S,32,50,,E,FB,,M-S-32x50.step +S32-50EFBU,S,32,50,,E,FB,U,M-S-32x50.step +S32-50EFBCM,S,32,50,,E,FB,CM,M-S-32x50.step +S32-50ESDB,S,32,50,,E,SDB,,M-S-32x50.step +S32-50ESDBU,S,32,50,,E,SDB,U,M-S-32x50.step +S32-50ESDBCM,S,32,50,,E,SDB,CM,M-S-32x50.step +S32-50,S,32,50,,,,,M-S-32x50.step +S32-50U,S,32,50,,,,U,M-S-32x50.step +S32-50CM,S,32,50,,,,CM,M-S-32x50.step +S32-50LB,S,32,50,,,LB,,M-S-32x50.step +S32-50LBU,S,32,50,,,LB,U,M-S-32x50.step +S32-50LBCM,S,32,50,,,LB,CM,M-S-32x50.step +S32-50FA,S,32,50,,,FA,,M-S-32x50.step +S32-50FAU,S,32,50,,,FA,U,M-S-32x50.step +S32-50FACM,S,32,50,,,FA,CM,M-S-32x50.step +S32-50FB,S,32,50,,,FB,,M-S-32x50.step +S32-50FBU,S,32,50,,,FB,U,M-S-32x50.step +S32-50FBCM,S,32,50,,,FB,CM,M-S-32x50.step +S32-50SDB,S,32,50,,,SDB,,M-S-32x50.step +S32-50SDBU,S,32,50,,,SDB,U,M-S-32x50.step +S32-50SDBCM,S,32,50,,,SDB,CM,M-S-32x50.step +S32-50ME,S,32,50,M,E,,,M-S-32x50.step +S32-50MEU,S,32,50,M,E,,U,M-S-32x50.step +S32-50MECM,S,32,50,M,E,,CM,M-S-32x50.step +S32-50MELB,S,32,50,M,E,LB,,M-S-32x50.step +S32-50MELBU,S,32,50,M,E,LB,U,M-S-32x50.step +S32-50MELBCM,S,32,50,M,E,LB,CM,M-S-32x50.step +S32-50MEFA,S,32,50,M,E,FA,,M-S-32x50.step +S32-50MEFAU,S,32,50,M,E,FA,U,M-S-32x50.step +S32-50MEFACM,S,32,50,M,E,FA,CM,M-S-32x50.step +S32-50MEFB,S,32,50,M,E,FB,,M-S-32x50.step +S32-50MEFBU,S,32,50,M,E,FB,U,M-S-32x50.step +S32-50MEFBCM,S,32,50,M,E,FB,CM,M-S-32x50.step +S32-50MESDB,S,32,50,M,E,SDB,,M-S-32x50.step +S32-50MESDBU,S,32,50,M,E,SDB,U,M-S-32x50.step +S32-50MESDBCM,S,32,50,M,E,SDB,CM,M-S-32x50.step +S32-50M,S,32,50,M,,,,M-S-32x50.step +S32-50MU,S,32,50,M,,,U,M-S-32x50.step +S32-50MCM,S,32,50,M,,,CM,M-S-32x50.step +S32-50MLB,S,32,50,M,,LB,,M-S-32x50.step +S32-50MLBU,S,32,50,M,,LB,U,M-S-32x50.step +S32-50MLBCM,S,32,50,M,,LB,CM,M-S-32x50.step +S32-50MFA,S,32,50,M,,FA,,M-S-32x50.step +S32-50MFAU,S,32,50,M,,FA,U,M-S-32x50.step +S32-50MFACM,S,32,50,M,,FA,CM,M-S-32x50.step +S32-50MFB,S,32,50,M,,FB,,M-S-32x50.step +S32-50MFBU,S,32,50,M,,FB,U,M-S-32x50.step +S32-50MFBCM,S,32,50,M,,FB,CM,M-S-32x50.step +S32-50MSDB,S,32,50,M,,SDB,,M-S-32x50.step +S32-50MSDBU,S,32,50,M,,SDB,U,M-S-32x50.step +S32-50MSDBCM,S,32,50,M,,SDB,CM,M-S-32x50.step +S32-75E,S,32,75,,E,,,M-S-32x75.step +S32-75EU,S,32,75,,E,,U,M-S-32x75.step +S32-75ECM,S,32,75,,E,,CM,M-S-32x75.step +S32-75ELB,S,32,75,,E,LB,,M-S-32x75.step +S32-75ELBU,S,32,75,,E,LB,U,M-S-32x75.step +S32-75ELBCM,S,32,75,,E,LB,CM,M-S-32x75.step +S32-75EFA,S,32,75,,E,FA,,M-S-32x75.step +S32-75EFAU,S,32,75,,E,FA,U,M-S-32x75.step +S32-75EFACM,S,32,75,,E,FA,CM,M-S-32x75.step +S32-75EFB,S,32,75,,E,FB,,M-S-32x75.step +S32-75EFBU,S,32,75,,E,FB,U,M-S-32x75.step +S32-75EFBCM,S,32,75,,E,FB,CM,M-S-32x75.step +S32-75ESDB,S,32,75,,E,SDB,,M-S-32x75.step +S32-75ESDBU,S,32,75,,E,SDB,U,M-S-32x75.step +S32-75ESDBCM,S,32,75,,E,SDB,CM,M-S-32x75.step +S32-75,S,32,75,,,,,M-S-32x75.step +S32-75U,S,32,75,,,,U,M-S-32x75.step +S32-75CM,S,32,75,,,,CM,M-S-32x75.step +S32-75LB,S,32,75,,,LB,,M-S-32x75.step +S32-75LBU,S,32,75,,,LB,U,M-S-32x75.step +S32-75LBCM,S,32,75,,,LB,CM,M-S-32x75.step +S32-75FA,S,32,75,,,FA,,M-S-32x75.step +S32-75FAU,S,32,75,,,FA,U,M-S-32x75.step +S32-75FACM,S,32,75,,,FA,CM,M-S-32x75.step +S32-75FB,S,32,75,,,FB,,M-S-32x75.step +S32-75FBU,S,32,75,,,FB,U,M-S-32x75.step +S32-75FBCM,S,32,75,,,FB,CM,M-S-32x75.step +S32-75SDB,S,32,75,,,SDB,,M-S-32x75.step +S32-75SDBU,S,32,75,,,SDB,U,M-S-32x75.step +S32-75SDBCM,S,32,75,,,SDB,CM,M-S-32x75.step +S32-75ME,S,32,75,M,E,,,M-S-32x75.step +S32-75MEU,S,32,75,M,E,,U,M-S-32x75.step +S32-75MECM,S,32,75,M,E,,CM,M-S-32x75.step +S32-75MELB,S,32,75,M,E,LB,,M-S-32x75.step +S32-75MELBU,S,32,75,M,E,LB,U,M-S-32x75.step +S32-75MELBCM,S,32,75,M,E,LB,CM,M-S-32x75.step +S32-75MEFA,S,32,75,M,E,FA,,M-S-32x75.step +S32-75MEFAU,S,32,75,M,E,FA,U,M-S-32x75.step +S32-75MEFACM,S,32,75,M,E,FA,CM,M-S-32x75.step +S32-75MEFB,S,32,75,M,E,FB,,M-S-32x75.step +S32-75MEFBU,S,32,75,M,E,FB,U,M-S-32x75.step +S32-75MEFBCM,S,32,75,M,E,FB,CM,M-S-32x75.step +S32-75MESDB,S,32,75,M,E,SDB,,M-S-32x75.step +S32-75MESDBU,S,32,75,M,E,SDB,U,M-S-32x75.step +S32-75MESDBCM,S,32,75,M,E,SDB,CM,M-S-32x75.step +S32-75M,S,32,75,M,,,,M-S-32x75.step +S32-75MU,S,32,75,M,,,U,M-S-32x75.step +S32-75MCM,S,32,75,M,,,CM,M-S-32x75.step +S32-75MLB,S,32,75,M,,LB,,M-S-32x75.step +S32-75MLBU,S,32,75,M,,LB,U,M-S-32x75.step +S32-75MLBCM,S,32,75,M,,LB,CM,M-S-32x75.step +S32-75MFA,S,32,75,M,,FA,,M-S-32x75.step +S32-75MFAU,S,32,75,M,,FA,U,M-S-32x75.step +S32-75MFACM,S,32,75,M,,FA,CM,M-S-32x75.step +S32-75MFB,S,32,75,M,,FB,,M-S-32x75.step +S32-75MFBU,S,32,75,M,,FB,U,M-S-32x75.step +S32-75MFBCM,S,32,75,M,,FB,CM,M-S-32x75.step +S32-75MSDB,S,32,75,M,,SDB,,M-S-32x75.step +S32-75MSDBU,S,32,75,M,,SDB,U,M-S-32x75.step +S32-75MSDBCM,S,32,75,M,,SDB,CM,M-S-32x75.step +S32-100E,S,32,100,,E,,,M-S-32x100.step +S32-100EU,S,32,100,,E,,U,M-S-32x100.step +S32-100ECM,S,32,100,,E,,CM,M-S-32x100.step +S32-100ELB,S,32,100,,E,LB,,M-S-32x100.step +S32-100ELBU,S,32,100,,E,LB,U,M-S-32x100.step +S32-100ELBCM,S,32,100,,E,LB,CM,M-S-32x100.step +S32-100EFA,S,32,100,,E,FA,,M-S-32x100.step +S32-100EFAU,S,32,100,,E,FA,U,M-S-32x100.step +S32-100EFACM,S,32,100,,E,FA,CM,M-S-32x100.step +S32-100EFB,S,32,100,,E,FB,,M-S-32x100.step +S32-100EFBU,S,32,100,,E,FB,U,M-S-32x100.step +S32-100EFBCM,S,32,100,,E,FB,CM,M-S-32x100.step +S32-100ESDB,S,32,100,,E,SDB,,M-S-32x100.step +S32-100ESDBU,S,32,100,,E,SDB,U,M-S-32x100.step +S32-100ESDBCM,S,32,100,,E,SDB,CM,M-S-32x100.step +S32-100,S,32,100,,,,,M-S-32x100.step +S32-100U,S,32,100,,,,U,M-S-32x100.step +S32-100CM,S,32,100,,,,CM,M-S-32x100.step +S32-100LB,S,32,100,,,LB,,M-S-32x100.step +S32-100LBU,S,32,100,,,LB,U,M-S-32x100.step +S32-100LBCM,S,32,100,,,LB,CM,M-S-32x100.step +S32-100FA,S,32,100,,,FA,,M-S-32x100.step +S32-100FAU,S,32,100,,,FA,U,M-S-32x100.step +S32-100FACM,S,32,100,,,FA,CM,M-S-32x100.step +S32-100FB,S,32,100,,,FB,,M-S-32x100.step +S32-100FBU,S,32,100,,,FB,U,M-S-32x100.step +S32-100FBCM,S,32,100,,,FB,CM,M-S-32x100.step +S32-100SDB,S,32,100,,,SDB,,M-S-32x100.step +S32-100SDBU,S,32,100,,,SDB,U,M-S-32x100.step +S32-100SDBCM,S,32,100,,,SDB,CM,M-S-32x100.step +S32-100ME,S,32,100,M,E,,,M-S-32x100.step +S32-100MEU,S,32,100,M,E,,U,M-S-32x100.step +S32-100MECM,S,32,100,M,E,,CM,M-S-32x100.step +S32-100MELB,S,32,100,M,E,LB,,M-S-32x100.step +S32-100MELBU,S,32,100,M,E,LB,U,M-S-32x100.step +S32-100MELBCM,S,32,100,M,E,LB,CM,M-S-32x100.step +S32-100MEFA,S,32,100,M,E,FA,,M-S-32x100.step +S32-100MEFAU,S,32,100,M,E,FA,U,M-S-32x100.step +S32-100MEFACM,S,32,100,M,E,FA,CM,M-S-32x100.step +S32-100MEFB,S,32,100,M,E,FB,,M-S-32x100.step +S32-100MEFBU,S,32,100,M,E,FB,U,M-S-32x100.step +S32-100MEFBCM,S,32,100,M,E,FB,CM,M-S-32x100.step +S32-100MESDB,S,32,100,M,E,SDB,,M-S-32x100.step +S32-100MESDBU,S,32,100,M,E,SDB,U,M-S-32x100.step +S32-100MESDBCM,S,32,100,M,E,SDB,CM,M-S-32x100.step +S32-100M,S,32,100,M,,,,M-S-32x100.step +S32-100MU,S,32,100,M,,,U,M-S-32x100.step +S32-100MCM,S,32,100,M,,,CM,M-S-32x100.step +S32-100MLB,S,32,100,M,,LB,,M-S-32x100.step +S32-100MLBU,S,32,100,M,,LB,U,M-S-32x100.step +S32-100MLBCM,S,32,100,M,,LB,CM,M-S-32x100.step +S32-100MFA,S,32,100,M,,FA,,M-S-32x100.step +S32-100MFAU,S,32,100,M,,FA,U,M-S-32x100.step +S32-100MFACM,S,32,100,M,,FA,CM,M-S-32x100.step +S32-100MFB,S,32,100,M,,FB,,M-S-32x100.step +S32-100MFBU,S,32,100,M,,FB,U,M-S-32x100.step +S32-100MFBCM,S,32,100,M,,FB,CM,M-S-32x100.step +S32-100MSDB,S,32,100,M,,SDB,,M-S-32x100.step +S32-100MSDBU,S,32,100,M,,SDB,U,M-S-32x100.step +S32-100MSDBCM,S,32,100,M,,SDB,CM,M-S-32x100.step +S40-10E,S,40,10,,E,,,M-S-40x10.step +S40-10EU,S,40,10,,E,,U,M-S-40x10.step +S40-10ECM,S,40,10,,E,,CM,M-S-40x10.step +S40-10ELB,S,40,10,,E,LB,,M-S-40x10.step +S40-10ELBU,S,40,10,,E,LB,U,M-S-40x10.step +S40-10ELBCM,S,40,10,,E,LB,CM,M-S-40x10.step +S40-10EFA,S,40,10,,E,FA,,M-S-40x10.step +S40-10EFAU,S,40,10,,E,FA,U,M-S-40x10.step +S40-10EFACM,S,40,10,,E,FA,CM,M-S-40x10.step +S40-10EFB,S,40,10,,E,FB,,M-S-40x10.step +S40-10EFBU,S,40,10,,E,FB,U,M-S-40x10.step +S40-10EFBCM,S,40,10,,E,FB,CM,M-S-40x10.step +S40-10ESDB,S,40,10,,E,SDB,,M-S-40x10.step +S40-10ESDBU,S,40,10,,E,SDB,U,M-S-40x10.step +S40-10ESDBCM,S,40,10,,E,SDB,CM,M-S-40x10.step +S40-10,S,40,10,,,,,M-S-40x10.step +S40-10U,S,40,10,,,,U,M-S-40x10.step +S40-10CM,S,40,10,,,,CM,M-S-40x10.step +S40-10LB,S,40,10,,,LB,,M-S-40x10.step +S40-10LBU,S,40,10,,,LB,U,M-S-40x10.step +S40-10LBCM,S,40,10,,,LB,CM,M-S-40x10.step +S40-10FA,S,40,10,,,FA,,M-S-40x10.step +S40-10FAU,S,40,10,,,FA,U,M-S-40x10.step +S40-10FACM,S,40,10,,,FA,CM,M-S-40x10.step +S40-10FB,S,40,10,,,FB,,M-S-40x10.step +S40-10FBU,S,40,10,,,FB,U,M-S-40x10.step +S40-10FBCM,S,40,10,,,FB,CM,M-S-40x10.step +S40-10SDB,S,40,10,,,SDB,,M-S-40x10.step +S40-10SDBU,S,40,10,,,SDB,U,M-S-40x10.step +S40-10SDBCM,S,40,10,,,SDB,CM,M-S-40x10.step +S40-10ME,S,40,10,M,E,,,M-S-40x10.step +S40-10MEU,S,40,10,M,E,,U,M-S-40x10.step +S40-10MECM,S,40,10,M,E,,CM,M-S-40x10.step +S40-10MELB,S,40,10,M,E,LB,,M-S-40x10.step +S40-10MELBU,S,40,10,M,E,LB,U,M-S-40x10.step +S40-10MELBCM,S,40,10,M,E,LB,CM,M-S-40x10.step +S40-10MEFA,S,40,10,M,E,FA,,M-S-40x10.step +S40-10MEFAU,S,40,10,M,E,FA,U,M-S-40x10.step +S40-10MEFACM,S,40,10,M,E,FA,CM,M-S-40x10.step +S40-10MEFB,S,40,10,M,E,FB,,M-S-40x10.step +S40-10MEFBU,S,40,10,M,E,FB,U,M-S-40x10.step +S40-10MEFBCM,S,40,10,M,E,FB,CM,M-S-40x10.step +S40-10MESDB,S,40,10,M,E,SDB,,M-S-40x10.step +S40-10MESDBU,S,40,10,M,E,SDB,U,M-S-40x10.step +S40-10MESDBCM,S,40,10,M,E,SDB,CM,M-S-40x10.step +S40-10M,S,40,10,M,,,,M-S-40x10.step +S40-10MU,S,40,10,M,,,U,M-S-40x10.step +S40-10MCM,S,40,10,M,,,CM,M-S-40x10.step +S40-10MLB,S,40,10,M,,LB,,M-S-40x10.step +S40-10MLBU,S,40,10,M,,LB,U,M-S-40x10.step +S40-10MLBCM,S,40,10,M,,LB,CM,M-S-40x10.step +S40-10MFA,S,40,10,M,,FA,,M-S-40x10.step +S40-10MFAU,S,40,10,M,,FA,U,M-S-40x10.step +S40-10MFACM,S,40,10,M,,FA,CM,M-S-40x10.step +S40-10MFB,S,40,10,M,,FB,,M-S-40x10.step +S40-10MFBU,S,40,10,M,,FB,U,M-S-40x10.step +S40-10MFBCM,S,40,10,M,,FB,CM,M-S-40x10.step +S40-10MSDB,S,40,10,M,,SDB,,M-S-40x10.step +S40-10MSDBU,S,40,10,M,,SDB,U,M-S-40x10.step +S40-10MSDBCM,S,40,10,M,,SDB,CM,M-S-40x10.step +S40-20E,S,40,20,,E,,,M-S-40x20.step +S40-20EU,S,40,20,,E,,U,M-S-40x20.step +S40-20ECM,S,40,20,,E,,CM,M-S-40x20.step +S40-20ELB,S,40,20,,E,LB,,M-S-40x20.step +S40-20ELBU,S,40,20,,E,LB,U,M-S-40x20.step +S40-20ELBCM,S,40,20,,E,LB,CM,M-S-40x20.step +S40-20EFA,S,40,20,,E,FA,,M-S-40x20.step +S40-20EFAU,S,40,20,,E,FA,U,M-S-40x20.step +S40-20EFACM,S,40,20,,E,FA,CM,M-S-40x20.step +S40-20EFB,S,40,20,,E,FB,,M-S-40x20.step +S40-20EFBU,S,40,20,,E,FB,U,M-S-40x20.step +S40-20EFBCM,S,40,20,,E,FB,CM,M-S-40x20.step +S40-20ESDB,S,40,20,,E,SDB,,M-S-40x20.step +S40-20ESDBU,S,40,20,,E,SDB,U,M-S-40x20.step +S40-20ESDBCM,S,40,20,,E,SDB,CM,M-S-40x20.step +S40-20,S,40,20,,,,,M-S-40x20.step +S40-20U,S,40,20,,,,U,M-S-40x20.step +S40-20CM,S,40,20,,,,CM,M-S-40x20.step +S40-20LB,S,40,20,,,LB,,M-S-40x20.step +S40-20LBU,S,40,20,,,LB,U,M-S-40x20.step +S40-20LBCM,S,40,20,,,LB,CM,M-S-40x20.step +S40-20FA,S,40,20,,,FA,,M-S-40x20.step +S40-20FAU,S,40,20,,,FA,U,M-S-40x20.step +S40-20FACM,S,40,20,,,FA,CM,M-S-40x20.step +S40-20FB,S,40,20,,,FB,,M-S-40x20.step +S40-20FBU,S,40,20,,,FB,U,M-S-40x20.step +S40-20FBCM,S,40,20,,,FB,CM,M-S-40x20.step +S40-20SDB,S,40,20,,,SDB,,M-S-40x20.step +S40-20SDBU,S,40,20,,,SDB,U,M-S-40x20.step +S40-20SDBCM,S,40,20,,,SDB,CM,M-S-40x20.step +S40-20ME,S,40,20,M,E,,,M-S-40x20.step +S40-20MEU,S,40,20,M,E,,U,M-S-40x20.step +S40-20MECM,S,40,20,M,E,,CM,M-S-40x20.step +S40-20MELB,S,40,20,M,E,LB,,M-S-40x20.step +S40-20MELBU,S,40,20,M,E,LB,U,M-S-40x20.step +S40-20MELBCM,S,40,20,M,E,LB,CM,M-S-40x20.step +S40-20MEFA,S,40,20,M,E,FA,,M-S-40x20.step +S40-20MEFAU,S,40,20,M,E,FA,U,M-S-40x20.step +S40-20MEFACM,S,40,20,M,E,FA,CM,M-S-40x20.step +S40-20MEFB,S,40,20,M,E,FB,,M-S-40x20.step +S40-20MEFBU,S,40,20,M,E,FB,U,M-S-40x20.step +S40-20MEFBCM,S,40,20,M,E,FB,CM,M-S-40x20.step +S40-20MESDB,S,40,20,M,E,SDB,,M-S-40x20.step +S40-20MESDBU,S,40,20,M,E,SDB,U,M-S-40x20.step +S40-20MESDBCM,S,40,20,M,E,SDB,CM,M-S-40x20.step +S40-20M,S,40,20,M,,,,M-S-40x20.step +S40-20MU,S,40,20,M,,,U,M-S-40x20.step +S40-20MCM,S,40,20,M,,,CM,M-S-40x20.step +S40-20MLB,S,40,20,M,,LB,,M-S-40x20.step +S40-20MLBU,S,40,20,M,,LB,U,M-S-40x20.step +S40-20MLBCM,S,40,20,M,,LB,CM,M-S-40x20.step +S40-20MFA,S,40,20,M,,FA,,M-S-40x20.step +S40-20MFAU,S,40,20,M,,FA,U,M-S-40x20.step +S40-20MFACM,S,40,20,M,,FA,CM,M-S-40x20.step +S40-20MFB,S,40,20,M,,FB,,M-S-40x20.step +S40-20MFBU,S,40,20,M,,FB,U,M-S-40x20.step +S40-20MFBCM,S,40,20,M,,FB,CM,M-S-40x20.step +S40-20MSDB,S,40,20,M,,SDB,,M-S-40x20.step +S40-20MSDBU,S,40,20,M,,SDB,U,M-S-40x20.step +S40-20MSDBCM,S,40,20,M,,SDB,CM,M-S-40x20.step +S40-30E,S,40,30,,E,,,M-S-40x30.step +S40-30EU,S,40,30,,E,,U,M-S-40x30.step +S40-30ECM,S,40,30,,E,,CM,M-S-40x30.step +S40-30ELB,S,40,30,,E,LB,,M-S-40x30.step +S40-30ELBU,S,40,30,,E,LB,U,M-S-40x30.step +S40-30ELBCM,S,40,30,,E,LB,CM,M-S-40x30.step +S40-30EFA,S,40,30,,E,FA,,M-S-40x30.step +S40-30EFAU,S,40,30,,E,FA,U,M-S-40x30.step +S40-30EFACM,S,40,30,,E,FA,CM,M-S-40x30.step +S40-30EFB,S,40,30,,E,FB,,M-S-40x30.step +S40-30EFBU,S,40,30,,E,FB,U,M-S-40x30.step +S40-30EFBCM,S,40,30,,E,FB,CM,M-S-40x30.step +S40-30ESDB,S,40,30,,E,SDB,,M-S-40x30.step +S40-30ESDBU,S,40,30,,E,SDB,U,M-S-40x30.step +S40-30ESDBCM,S,40,30,,E,SDB,CM,M-S-40x30.step +S40-30,S,40,30,,,,,M-S-40x30.step +S40-30U,S,40,30,,,,U,M-S-40x30.step +S40-30CM,S,40,30,,,,CM,M-S-40x30.step +S40-30LB,S,40,30,,,LB,,M-S-40x30.step +S40-30LBU,S,40,30,,,LB,U,M-S-40x30.step +S40-30LBCM,S,40,30,,,LB,CM,M-S-40x30.step +S40-30FA,S,40,30,,,FA,,M-S-40x30.step +S40-30FAU,S,40,30,,,FA,U,M-S-40x30.step +S40-30FACM,S,40,30,,,FA,CM,M-S-40x30.step +S40-30FB,S,40,30,,,FB,,M-S-40x30.step +S40-30FBU,S,40,30,,,FB,U,M-S-40x30.step +S40-30FBCM,S,40,30,,,FB,CM,M-S-40x30.step +S40-30SDB,S,40,30,,,SDB,,M-S-40x30.step +S40-30SDBU,S,40,30,,,SDB,U,M-S-40x30.step +S40-30SDBCM,S,40,30,,,SDB,CM,M-S-40x30.step +S40-30ME,S,40,30,M,E,,,M-S-40x30.step +S40-30MEU,S,40,30,M,E,,U,M-S-40x30.step +S40-30MECM,S,40,30,M,E,,CM,M-S-40x30.step +S40-30MELB,S,40,30,M,E,LB,,M-S-40x30.step +S40-30MELBU,S,40,30,M,E,LB,U,M-S-40x30.step +S40-30MELBCM,S,40,30,M,E,LB,CM,M-S-40x30.step +S40-30MEFA,S,40,30,M,E,FA,,M-S-40x30.step +S40-30MEFAU,S,40,30,M,E,FA,U,M-S-40x30.step +S40-30MEFACM,S,40,30,M,E,FA,CM,M-S-40x30.step +S40-30MEFB,S,40,30,M,E,FB,,M-S-40x30.step +S40-30MEFBU,S,40,30,M,E,FB,U,M-S-40x30.step +S40-30MEFBCM,S,40,30,M,E,FB,CM,M-S-40x30.step +S40-30MESDB,S,40,30,M,E,SDB,,M-S-40x30.step +S40-30MESDBU,S,40,30,M,E,SDB,U,M-S-40x30.step +S40-30MESDBCM,S,40,30,M,E,SDB,CM,M-S-40x30.step +S40-30M,S,40,30,M,,,,M-S-40x30.step +S40-30MU,S,40,30,M,,,U,M-S-40x30.step +S40-30MCM,S,40,30,M,,,CM,M-S-40x30.step +S40-30MLB,S,40,30,M,,LB,,M-S-40x30.step +S40-30MLBU,S,40,30,M,,LB,U,M-S-40x30.step +S40-30MLBCM,S,40,30,M,,LB,CM,M-S-40x30.step +S40-30MFA,S,40,30,M,,FA,,M-S-40x30.step +S40-30MFAU,S,40,30,M,,FA,U,M-S-40x30.step +S40-30MFACM,S,40,30,M,,FA,CM,M-S-40x30.step +S40-30MFB,S,40,30,M,,FB,,M-S-40x30.step +S40-30MFBU,S,40,30,M,,FB,U,M-S-40x30.step +S40-30MFBCM,S,40,30,M,,FB,CM,M-S-40x30.step +S40-30MSDB,S,40,30,M,,SDB,,M-S-40x30.step +S40-30MSDBU,S,40,30,M,,SDB,U,M-S-40x30.step +S40-30MSDBCM,S,40,30,M,,SDB,CM,M-S-40x30.step +S40-50E,S,40,50,,E,,,M-S-40x50.step +S40-50EU,S,40,50,,E,,U,M-S-40x50.step +S40-50ECM,S,40,50,,E,,CM,M-S-40x50.step +S40-50ELB,S,40,50,,E,LB,,M-S-40x50.step +S40-50ELBU,S,40,50,,E,LB,U,M-S-40x50.step +S40-50ELBCM,S,40,50,,E,LB,CM,M-S-40x50.step +S40-50EFA,S,40,50,,E,FA,,M-S-40x50.step +S40-50EFAU,S,40,50,,E,FA,U,M-S-40x50.step +S40-50EFACM,S,40,50,,E,FA,CM,M-S-40x50.step +S40-50EFB,S,40,50,,E,FB,,M-S-40x50.step +S40-50EFBU,S,40,50,,E,FB,U,M-S-40x50.step +S40-50EFBCM,S,40,50,,E,FB,CM,M-S-40x50.step +S40-50ESDB,S,40,50,,E,SDB,,M-S-40x50.step +S40-50ESDBU,S,40,50,,E,SDB,U,M-S-40x50.step +S40-50ESDBCM,S,40,50,,E,SDB,CM,M-S-40x50.step +S40-50,S,40,50,,,,,M-S-40x50.step +S40-50U,S,40,50,,,,U,M-S-40x50.step +S40-50CM,S,40,50,,,,CM,M-S-40x50.step +S40-50LB,S,40,50,,,LB,,M-S-40x50.step +S40-50LBU,S,40,50,,,LB,U,M-S-40x50.step +S40-50LBCM,S,40,50,,,LB,CM,M-S-40x50.step +S40-50FA,S,40,50,,,FA,,M-S-40x50.step +S40-50FAU,S,40,50,,,FA,U,M-S-40x50.step +S40-50FACM,S,40,50,,,FA,CM,M-S-40x50.step +S40-50FB,S,40,50,,,FB,,M-S-40x50.step +S40-50FBU,S,40,50,,,FB,U,M-S-40x50.step +S40-50FBCM,S,40,50,,,FB,CM,M-S-40x50.step +S40-50SDB,S,40,50,,,SDB,,M-S-40x50.step +S40-50SDBU,S,40,50,,,SDB,U,M-S-40x50.step +S40-50SDBCM,S,40,50,,,SDB,CM,M-S-40x50.step +S40-50ME,S,40,50,M,E,,,M-S-40x50.step +S40-50MEU,S,40,50,M,E,,U,M-S-40x50.step +S40-50MECM,S,40,50,M,E,,CM,M-S-40x50.step +S40-50MELB,S,40,50,M,E,LB,,M-S-40x50.step +S40-50MELBU,S,40,50,M,E,LB,U,M-S-40x50.step +S40-50MELBCM,S,40,50,M,E,LB,CM,M-S-40x50.step +S40-50MEFA,S,40,50,M,E,FA,,M-S-40x50.step +S40-50MEFAU,S,40,50,M,E,FA,U,M-S-40x50.step +S40-50MEFACM,S,40,50,M,E,FA,CM,M-S-40x50.step +S40-50MEFB,S,40,50,M,E,FB,,M-S-40x50.step +S40-50MEFBU,S,40,50,M,E,FB,U,M-S-40x50.step +S40-50MEFBCM,S,40,50,M,E,FB,CM,M-S-40x50.step +S40-50MESDB,S,40,50,M,E,SDB,,M-S-40x50.step +S40-50MESDBU,S,40,50,M,E,SDB,U,M-S-40x50.step +S40-50MESDBCM,S,40,50,M,E,SDB,CM,M-S-40x50.step +S40-50M,S,40,50,M,,,,M-S-40x50.step +S40-50MU,S,40,50,M,,,U,M-S-40x50.step +S40-50MCM,S,40,50,M,,,CM,M-S-40x50.step +S40-50MLB,S,40,50,M,,LB,,M-S-40x50.step +S40-50MLBU,S,40,50,M,,LB,U,M-S-40x50.step +S40-50MLBCM,S,40,50,M,,LB,CM,M-S-40x50.step +S40-50MFA,S,40,50,M,,FA,,M-S-40x50.step +S40-50MFAU,S,40,50,M,,FA,U,M-S-40x50.step +S40-50MFACM,S,40,50,M,,FA,CM,M-S-40x50.step +S40-50MFB,S,40,50,M,,FB,,M-S-40x50.step +S40-50MFBU,S,40,50,M,,FB,U,M-S-40x50.step +S40-50MFBCM,S,40,50,M,,FB,CM,M-S-40x50.step +S40-50MSDB,S,40,50,M,,SDB,,M-S-40x50.step +S40-50MSDBU,S,40,50,M,,SDB,U,M-S-40x50.step +S40-50MSDBCM,S,40,50,M,,SDB,CM,M-S-40x50.step +S40-75E,S,40,75,,E,,,M-S-40x75.step +S40-75EU,S,40,75,,E,,U,M-S-40x75.step +S40-75ECM,S,40,75,,E,,CM,M-S-40x75.step +S40-75ELB,S,40,75,,E,LB,,M-S-40x75.step +S40-75ELBU,S,40,75,,E,LB,U,M-S-40x75.step +S40-75ELBCM,S,40,75,,E,LB,CM,M-S-40x75.step +S40-75EFA,S,40,75,,E,FA,,M-S-40x75.step +S40-75EFAU,S,40,75,,E,FA,U,M-S-40x75.step +S40-75EFACM,S,40,75,,E,FA,CM,M-S-40x75.step +S40-75EFB,S,40,75,,E,FB,,M-S-40x75.step +S40-75EFBU,S,40,75,,E,FB,U,M-S-40x75.step +S40-75EFBCM,S,40,75,,E,FB,CM,M-S-40x75.step +S40-75ESDB,S,40,75,,E,SDB,,M-S-40x75.step +S40-75ESDBU,S,40,75,,E,SDB,U,M-S-40x75.step +S40-75ESDBCM,S,40,75,,E,SDB,CM,M-S-40x75.step +S40-75,S,40,75,,,,,M-S-40x75.step +S40-75U,S,40,75,,,,U,M-S-40x75.step +S40-75CM,S,40,75,,,,CM,M-S-40x75.step +S40-75LB,S,40,75,,,LB,,M-S-40x75.step +S40-75LBU,S,40,75,,,LB,U,M-S-40x75.step +S40-75LBCM,S,40,75,,,LB,CM,M-S-40x75.step +S40-75FA,S,40,75,,,FA,,M-S-40x75.step +S40-75FAU,S,40,75,,,FA,U,M-S-40x75.step +S40-75FACM,S,40,75,,,FA,CM,M-S-40x75.step +S40-75FB,S,40,75,,,FB,,M-S-40x75.step +S40-75FBU,S,40,75,,,FB,U,M-S-40x75.step +S40-75FBCM,S,40,75,,,FB,CM,M-S-40x75.step +S40-75SDB,S,40,75,,,SDB,,M-S-40x75.step +S40-75SDBU,S,40,75,,,SDB,U,M-S-40x75.step +S40-75SDBCM,S,40,75,,,SDB,CM,M-S-40x75.step +S40-75ME,S,40,75,M,E,,,M-S-40x75.step +S40-75MEU,S,40,75,M,E,,U,M-S-40x75.step +S40-75MECM,S,40,75,M,E,,CM,M-S-40x75.step +S40-75MELB,S,40,75,M,E,LB,,M-S-40x75.step +S40-75MELBU,S,40,75,M,E,LB,U,M-S-40x75.step +S40-75MELBCM,S,40,75,M,E,LB,CM,M-S-40x75.step +S40-75MEFA,S,40,75,M,E,FA,,M-S-40x75.step +S40-75MEFAU,S,40,75,M,E,FA,U,M-S-40x75.step +S40-75MEFACM,S,40,75,M,E,FA,CM,M-S-40x75.step +S40-75MEFB,S,40,75,M,E,FB,,M-S-40x75.step +S40-75MEFBU,S,40,75,M,E,FB,U,M-S-40x75.step +S40-75MEFBCM,S,40,75,M,E,FB,CM,M-S-40x75.step +S40-75MESDB,S,40,75,M,E,SDB,,M-S-40x75.step +S40-75MESDBU,S,40,75,M,E,SDB,U,M-S-40x75.step +S40-75MESDBCM,S,40,75,M,E,SDB,CM,M-S-40x75.step +S40-75M,S,40,75,M,,,,M-S-40x75.step +S40-75MU,S,40,75,M,,,U,M-S-40x75.step +S40-75MCM,S,40,75,M,,,CM,M-S-40x75.step +S40-75MLB,S,40,75,M,,LB,,M-S-40x75.step +S40-75MLBU,S,40,75,M,,LB,U,M-S-40x75.step +S40-75MLBCM,S,40,75,M,,LB,CM,M-S-40x75.step +S40-75MFA,S,40,75,M,,FA,,M-S-40x75.step +S40-75MFAU,S,40,75,M,,FA,U,M-S-40x75.step +S40-75MFACM,S,40,75,M,,FA,CM,M-S-40x75.step +S40-75MFB,S,40,75,M,,FB,,M-S-40x75.step +S40-75MFBU,S,40,75,M,,FB,U,M-S-40x75.step +S40-75MFBCM,S,40,75,M,,FB,CM,M-S-40x75.step +S40-75MSDB,S,40,75,M,,SDB,,M-S-40x75.step +S40-75MSDBU,S,40,75,M,,SDB,U,M-S-40x75.step +S40-75MSDBCM,S,40,75,M,,SDB,CM,M-S-40x75.step +S40-100E,S,40,100,,E,,,M-S-40x100.step +S40-100EU,S,40,100,,E,,U,M-S-40x100.step +S40-100ECM,S,40,100,,E,,CM,M-S-40x100.step +S40-100ELB,S,40,100,,E,LB,,M-S-40x100.step +S40-100ELBU,S,40,100,,E,LB,U,M-S-40x100.step +S40-100ELBCM,S,40,100,,E,LB,CM,M-S-40x100.step +S40-100EFA,S,40,100,,E,FA,,M-S-40x100.step +S40-100EFAU,S,40,100,,E,FA,U,M-S-40x100.step +S40-100EFACM,S,40,100,,E,FA,CM,M-S-40x100.step +S40-100EFB,S,40,100,,E,FB,,M-S-40x100.step +S40-100EFBU,S,40,100,,E,FB,U,M-S-40x100.step +S40-100EFBCM,S,40,100,,E,FB,CM,M-S-40x100.step +S40-100ESDB,S,40,100,,E,SDB,,M-S-40x100.step +S40-100ESDBU,S,40,100,,E,SDB,U,M-S-40x100.step +S40-100ESDBCM,S,40,100,,E,SDB,CM,M-S-40x100.step +S40-100,S,40,100,,,,,M-S-40x100.step +S40-100U,S,40,100,,,,U,M-S-40x100.step +S40-100CM,S,40,100,,,,CM,M-S-40x100.step +S40-100LB,S,40,100,,,LB,,M-S-40x100.step +S40-100LBU,S,40,100,,,LB,U,M-S-40x100.step +S40-100LBCM,S,40,100,,,LB,CM,M-S-40x100.step +S40-100FA,S,40,100,,,FA,,M-S-40x100.step +S40-100FAU,S,40,100,,,FA,U,M-S-40x100.step +S40-100FACM,S,40,100,,,FA,CM,M-S-40x100.step +S40-100FB,S,40,100,,,FB,,M-S-40x100.step +S40-100FBU,S,40,100,,,FB,U,M-S-40x100.step +S40-100FBCM,S,40,100,,,FB,CM,M-S-40x100.step +S40-100SDB,S,40,100,,,SDB,,M-S-40x100.step +S40-100SDBU,S,40,100,,,SDB,U,M-S-40x100.step +S40-100SDBCM,S,40,100,,,SDB,CM,M-S-40x100.step +S40-100ME,S,40,100,M,E,,,M-S-40x100.step +S40-100MEU,S,40,100,M,E,,U,M-S-40x100.step +S40-100MECM,S,40,100,M,E,,CM,M-S-40x100.step +S40-100MELB,S,40,100,M,E,LB,,M-S-40x100.step +S40-100MELBU,S,40,100,M,E,LB,U,M-S-40x100.step +S40-100MELBCM,S,40,100,M,E,LB,CM,M-S-40x100.step +S40-100MEFA,S,40,100,M,E,FA,,M-S-40x100.step +S40-100MEFAU,S,40,100,M,E,FA,U,M-S-40x100.step +S40-100MEFACM,S,40,100,M,E,FA,CM,M-S-40x100.step +S40-100MEFB,S,40,100,M,E,FB,,M-S-40x100.step +S40-100MEFBU,S,40,100,M,E,FB,U,M-S-40x100.step +S40-100MEFBCM,S,40,100,M,E,FB,CM,M-S-40x100.step +S40-100MESDB,S,40,100,M,E,SDB,,M-S-40x100.step +S40-100MESDBU,S,40,100,M,E,SDB,U,M-S-40x100.step +S40-100MESDBCM,S,40,100,M,E,SDB,CM,M-S-40x100.step +S40-100M,S,40,100,M,,,,M-S-40x100.step +S40-100MU,S,40,100,M,,,U,M-S-40x100.step +S40-100MCM,S,40,100,M,,,CM,M-S-40x100.step +S40-100MLB,S,40,100,M,,LB,,M-S-40x100.step +S40-100MLBU,S,40,100,M,,LB,U,M-S-40x100.step +S40-100MLBCM,S,40,100,M,,LB,CM,M-S-40x100.step +S40-100MFA,S,40,100,M,,FA,,M-S-40x100.step +S40-100MFAU,S,40,100,M,,FA,U,M-S-40x100.step +S40-100MFACM,S,40,100,M,,FA,CM,M-S-40x100.step +S40-100MFB,S,40,100,M,,FB,,M-S-40x100.step +S40-100MFBU,S,40,100,M,,FB,U,M-S-40x100.step +S40-100MFBCM,S,40,100,M,,FB,CM,M-S-40x100.step +S40-100MSDB,S,40,100,M,,SDB,,M-S-40x100.step +S40-100MSDBU,S,40,100,M,,SDB,U,M-S-40x100.step +S40-100MSDBCM,S,40,100,M,,SDB,CM,M-S-40x100.step +T8-10E,T,8,10,,E,,,M-T-8x10.step +T8-10EU,T,8,10,,E,,U,M-T-8x10.step +T8-10ECM,T,8,10,,E,,CM,M-T-8x10.step +T8-10ELB,T,8,10,,E,LB,,M-T-8x10.step +T8-10ELBU,T,8,10,,E,LB,U,M-T-8x10.step +T8-10ELBCM,T,8,10,,E,LB,CM,M-T-8x10.step +T8-10EFA,T,8,10,,E,FA,,M-T-8x10.step +T8-10EFAU,T,8,10,,E,FA,U,M-T-8x10.step +T8-10EFACM,T,8,10,,E,FA,CM,M-T-8x10.step +T8-10EFB,T,8,10,,E,FB,,M-T-8x10.step +T8-10EFBU,T,8,10,,E,FB,U,M-T-8x10.step +T8-10EFBCM,T,8,10,,E,FB,CM,M-T-8x10.step +T8-10ESDB,T,8,10,,E,SDB,,M-T-8x10.step +T8-10ESDBU,T,8,10,,E,SDB,U,M-T-8x10.step +T8-10ESDBCM,T,8,10,,E,SDB,CM,M-T-8x10.step +T8-10,T,8,10,,,,,M-T-8x10.step +T8-10U,T,8,10,,,,U,M-T-8x10.step +T8-10CM,T,8,10,,,,CM,M-T-8x10.step +T8-10LB,T,8,10,,,LB,,M-T-8x10.step +T8-10LBU,T,8,10,,,LB,U,M-T-8x10.step +T8-10LBCM,T,8,10,,,LB,CM,M-T-8x10.step +T8-10FA,T,8,10,,,FA,,M-T-8x10.step +T8-10FAU,T,8,10,,,FA,U,M-T-8x10.step +T8-10FACM,T,8,10,,,FA,CM,M-T-8x10.step +T8-10FB,T,8,10,,,FB,,M-T-8x10.step +T8-10FBU,T,8,10,,,FB,U,M-T-8x10.step +T8-10FBCM,T,8,10,,,FB,CM,M-T-8x10.step +T8-10SDB,T,8,10,,,SDB,,M-T-8x10.step +T8-10SDBU,T,8,10,,,SDB,U,M-T-8x10.step +T8-10SDBCM,T,8,10,,,SDB,CM,M-T-8x10.step +T8-10ME,T,8,10,M,E,,,M-T-8x10.step +T8-10MEU,T,8,10,M,E,,U,M-T-8x10.step +T8-10MECM,T,8,10,M,E,,CM,M-T-8x10.step +T8-10MELB,T,8,10,M,E,LB,,M-T-8x10.step +T8-10MELBU,T,8,10,M,E,LB,U,M-T-8x10.step +T8-10MELBCM,T,8,10,M,E,LB,CM,M-T-8x10.step +T8-10MEFA,T,8,10,M,E,FA,,M-T-8x10.step +T8-10MEFAU,T,8,10,M,E,FA,U,M-T-8x10.step +T8-10MEFACM,T,8,10,M,E,FA,CM,M-T-8x10.step +T8-10MEFB,T,8,10,M,E,FB,,M-T-8x10.step +T8-10MEFBU,T,8,10,M,E,FB,U,M-T-8x10.step +T8-10MEFBCM,T,8,10,M,E,FB,CM,M-T-8x10.step +T8-10MESDB,T,8,10,M,E,SDB,,M-T-8x10.step +T8-10MESDBU,T,8,10,M,E,SDB,U,M-T-8x10.step +T8-10MESDBCM,T,8,10,M,E,SDB,CM,M-T-8x10.step +T8-10M,T,8,10,M,,,,M-T-8x10.step +T8-10MU,T,8,10,M,,,U,M-T-8x10.step +T8-10MCM,T,8,10,M,,,CM,M-T-8x10.step +T8-10MLB,T,8,10,M,,LB,,M-T-8x10.step +T8-10MLBU,T,8,10,M,,LB,U,M-T-8x10.step +T8-10MLBCM,T,8,10,M,,LB,CM,M-T-8x10.step +T8-10MFA,T,8,10,M,,FA,,M-T-8x10.step +T8-10MFAU,T,8,10,M,,FA,U,M-T-8x10.step +T8-10MFACM,T,8,10,M,,FA,CM,M-T-8x10.step +T8-10MFB,T,8,10,M,,FB,,M-T-8x10.step +T8-10MFBU,T,8,10,M,,FB,U,M-T-8x10.step +T8-10MFBCM,T,8,10,M,,FB,CM,M-T-8x10.step +T8-10MSDB,T,8,10,M,,SDB,,M-T-8x10.step +T8-10MSDBU,T,8,10,M,,SDB,U,M-T-8x10.step +T8-10MSDBCM,T,8,10,M,,SDB,CM,M-T-8x10.step +T8-20E,T,8,20,,E,,,M-T-8x20.step +T8-20EU,T,8,20,,E,,U,M-T-8x20.step +T8-20ECM,T,8,20,,E,,CM,M-T-8x20.step +T8-20ELB,T,8,20,,E,LB,,M-T-8x20.step +T8-20ELBU,T,8,20,,E,LB,U,M-T-8x20.step +T8-20ELBCM,T,8,20,,E,LB,CM,M-T-8x20.step +T8-20EFA,T,8,20,,E,FA,,M-T-8x20.step +T8-20EFAU,T,8,20,,E,FA,U,M-T-8x20.step +T8-20EFACM,T,8,20,,E,FA,CM,M-T-8x20.step +T8-20EFB,T,8,20,,E,FB,,M-T-8x20.step +T8-20EFBU,T,8,20,,E,FB,U,M-T-8x20.step +T8-20EFBCM,T,8,20,,E,FB,CM,M-T-8x20.step +T8-20ESDB,T,8,20,,E,SDB,,M-T-8x20.step +T8-20ESDBU,T,8,20,,E,SDB,U,M-T-8x20.step +T8-20ESDBCM,T,8,20,,E,SDB,CM,M-T-8x20.step +T8-20,T,8,20,,,,,M-T-8x20.step +T8-20U,T,8,20,,,,U,M-T-8x20.step +T8-20CM,T,8,20,,,,CM,M-T-8x20.step +T8-20LB,T,8,20,,,LB,,M-T-8x20.step +T8-20LBU,T,8,20,,,LB,U,M-T-8x20.step +T8-20LBCM,T,8,20,,,LB,CM,M-T-8x20.step +T8-20FA,T,8,20,,,FA,,M-T-8x20.step +T8-20FAU,T,8,20,,,FA,U,M-T-8x20.step +T8-20FACM,T,8,20,,,FA,CM,M-T-8x20.step +T8-20FB,T,8,20,,,FB,,M-T-8x20.step +T8-20FBU,T,8,20,,,FB,U,M-T-8x20.step +T8-20FBCM,T,8,20,,,FB,CM,M-T-8x20.step +T8-20SDB,T,8,20,,,SDB,,M-T-8x20.step +T8-20SDBU,T,8,20,,,SDB,U,M-T-8x20.step +T8-20SDBCM,T,8,20,,,SDB,CM,M-T-8x20.step +T8-20ME,T,8,20,M,E,,,M-T-8x20.step +T8-20MEU,T,8,20,M,E,,U,M-T-8x20.step +T8-20MECM,T,8,20,M,E,,CM,M-T-8x20.step +T8-20MELB,T,8,20,M,E,LB,,M-T-8x20.step +T8-20MELBU,T,8,20,M,E,LB,U,M-T-8x20.step +T8-20MELBCM,T,8,20,M,E,LB,CM,M-T-8x20.step +T8-20MEFA,T,8,20,M,E,FA,,M-T-8x20.step +T8-20MEFAU,T,8,20,M,E,FA,U,M-T-8x20.step +T8-20MEFACM,T,8,20,M,E,FA,CM,M-T-8x20.step +T8-20MEFB,T,8,20,M,E,FB,,M-T-8x20.step +T8-20MEFBU,T,8,20,M,E,FB,U,M-T-8x20.step +T8-20MEFBCM,T,8,20,M,E,FB,CM,M-T-8x20.step +T8-20MESDB,T,8,20,M,E,SDB,,M-T-8x20.step +T8-20MESDBU,T,8,20,M,E,SDB,U,M-T-8x20.step +T8-20MESDBCM,T,8,20,M,E,SDB,CM,M-T-8x20.step +T8-20M,T,8,20,M,,,,M-T-8x20.step +T8-20MU,T,8,20,M,,,U,M-T-8x20.step +T8-20MCM,T,8,20,M,,,CM,M-T-8x20.step +T8-20MLB,T,8,20,M,,LB,,M-T-8x20.step +T8-20MLBU,T,8,20,M,,LB,U,M-T-8x20.step +T8-20MLBCM,T,8,20,M,,LB,CM,M-T-8x20.step +T8-20MFA,T,8,20,M,,FA,,M-T-8x20.step +T8-20MFAU,T,8,20,M,,FA,U,M-T-8x20.step +T8-20MFACM,T,8,20,M,,FA,CM,M-T-8x20.step +T8-20MFB,T,8,20,M,,FB,,M-T-8x20.step +T8-20MFBU,T,8,20,M,,FB,U,M-T-8x20.step +T8-20MFBCM,T,8,20,M,,FB,CM,M-T-8x20.step +T8-20MSDB,T,8,20,M,,SDB,,M-T-8x20.step +T8-20MSDBU,T,8,20,M,,SDB,U,M-T-8x20.step +T8-20MSDBCM,T,8,20,M,,SDB,CM,M-T-8x20.step +T8-30E,T,8,30,,E,,,M-T-8x30.step +T8-30EU,T,8,30,,E,,U,M-T-8x30.step +T8-30ECM,T,8,30,,E,,CM,M-T-8x30.step +T8-30ELB,T,8,30,,E,LB,,M-T-8x30.step +T8-30ELBU,T,8,30,,E,LB,U,M-T-8x30.step +T8-30ELBCM,T,8,30,,E,LB,CM,M-T-8x30.step +T8-30EFA,T,8,30,,E,FA,,M-T-8x30.step +T8-30EFAU,T,8,30,,E,FA,U,M-T-8x30.step +T8-30EFACM,T,8,30,,E,FA,CM,M-T-8x30.step +T8-30EFB,T,8,30,,E,FB,,M-T-8x30.step +T8-30EFBU,T,8,30,,E,FB,U,M-T-8x30.step +T8-30EFBCM,T,8,30,,E,FB,CM,M-T-8x30.step +T8-30ESDB,T,8,30,,E,SDB,,M-T-8x30.step +T8-30ESDBU,T,8,30,,E,SDB,U,M-T-8x30.step +T8-30ESDBCM,T,8,30,,E,SDB,CM,M-T-8x30.step +T8-30,T,8,30,,,,,M-T-8x30.step +T8-30U,T,8,30,,,,U,M-T-8x30.step +T8-30CM,T,8,30,,,,CM,M-T-8x30.step +T8-30LB,T,8,30,,,LB,,M-T-8x30.step +T8-30LBU,T,8,30,,,LB,U,M-T-8x30.step +T8-30LBCM,T,8,30,,,LB,CM,M-T-8x30.step +T8-30FA,T,8,30,,,FA,,M-T-8x30.step +T8-30FAU,T,8,30,,,FA,U,M-T-8x30.step +T8-30FACM,T,8,30,,,FA,CM,M-T-8x30.step +T8-30FB,T,8,30,,,FB,,M-T-8x30.step +T8-30FBU,T,8,30,,,FB,U,M-T-8x30.step +T8-30FBCM,T,8,30,,,FB,CM,M-T-8x30.step +T8-30SDB,T,8,30,,,SDB,,M-T-8x30.step +T8-30SDBU,T,8,30,,,SDB,U,M-T-8x30.step +T8-30SDBCM,T,8,30,,,SDB,CM,M-T-8x30.step +T8-30ME,T,8,30,M,E,,,M-T-8x30.step +T8-30MEU,T,8,30,M,E,,U,M-T-8x30.step +T8-30MECM,T,8,30,M,E,,CM,M-T-8x30.step +T8-30MELB,T,8,30,M,E,LB,,M-T-8x30.step +T8-30MELBU,T,8,30,M,E,LB,U,M-T-8x30.step +T8-30MELBCM,T,8,30,M,E,LB,CM,M-T-8x30.step +T8-30MEFA,T,8,30,M,E,FA,,M-T-8x30.step +T8-30MEFAU,T,8,30,M,E,FA,U,M-T-8x30.step +T8-30MEFACM,T,8,30,M,E,FA,CM,M-T-8x30.step +T8-30MEFB,T,8,30,M,E,FB,,M-T-8x30.step +T8-30MEFBU,T,8,30,M,E,FB,U,M-T-8x30.step +T8-30MEFBCM,T,8,30,M,E,FB,CM,M-T-8x30.step +T8-30MESDB,T,8,30,M,E,SDB,,M-T-8x30.step +T8-30MESDBU,T,8,30,M,E,SDB,U,M-T-8x30.step +T8-30MESDBCM,T,8,30,M,E,SDB,CM,M-T-8x30.step +T8-30M,T,8,30,M,,,,M-T-8x30.step +T8-30MU,T,8,30,M,,,U,M-T-8x30.step +T8-30MCM,T,8,30,M,,,CM,M-T-8x30.step +T8-30MLB,T,8,30,M,,LB,,M-T-8x30.step +T8-30MLBU,T,8,30,M,,LB,U,M-T-8x30.step +T8-30MLBCM,T,8,30,M,,LB,CM,M-T-8x30.step +T8-30MFA,T,8,30,M,,FA,,M-T-8x30.step +T8-30MFAU,T,8,30,M,,FA,U,M-T-8x30.step +T8-30MFACM,T,8,30,M,,FA,CM,M-T-8x30.step +T8-30MFB,T,8,30,M,,FB,,M-T-8x30.step +T8-30MFBU,T,8,30,M,,FB,U,M-T-8x30.step +T8-30MFBCM,T,8,30,M,,FB,CM,M-T-8x30.step +T8-30MSDB,T,8,30,M,,SDB,,M-T-8x30.step +T8-30MSDBU,T,8,30,M,,SDB,U,M-T-8x30.step +T8-30MSDBCM,T,8,30,M,,SDB,CM,M-T-8x30.step +T8-50E,T,8,50,,E,,,M-T-8x50.step +T8-50EU,T,8,50,,E,,U,M-T-8x50.step +T8-50ECM,T,8,50,,E,,CM,M-T-8x50.step +T8-50ELB,T,8,50,,E,LB,,M-T-8x50.step +T8-50ELBU,T,8,50,,E,LB,U,M-T-8x50.step +T8-50ELBCM,T,8,50,,E,LB,CM,M-T-8x50.step +T8-50EFA,T,8,50,,E,FA,,M-T-8x50.step +T8-50EFAU,T,8,50,,E,FA,U,M-T-8x50.step +T8-50EFACM,T,8,50,,E,FA,CM,M-T-8x50.step +T8-50EFB,T,8,50,,E,FB,,M-T-8x50.step +T8-50EFBU,T,8,50,,E,FB,U,M-T-8x50.step +T8-50EFBCM,T,8,50,,E,FB,CM,M-T-8x50.step +T8-50ESDB,T,8,50,,E,SDB,,M-T-8x50.step +T8-50ESDBU,T,8,50,,E,SDB,U,M-T-8x50.step +T8-50ESDBCM,T,8,50,,E,SDB,CM,M-T-8x50.step +T8-50,T,8,50,,,,,M-T-8x50.step +T8-50U,T,8,50,,,,U,M-T-8x50.step +T8-50CM,T,8,50,,,,CM,M-T-8x50.step +T8-50LB,T,8,50,,,LB,,M-T-8x50.step +T8-50LBU,T,8,50,,,LB,U,M-T-8x50.step +T8-50LBCM,T,8,50,,,LB,CM,M-T-8x50.step +T8-50FA,T,8,50,,,FA,,M-T-8x50.step +T8-50FAU,T,8,50,,,FA,U,M-T-8x50.step +T8-50FACM,T,8,50,,,FA,CM,M-T-8x50.step +T8-50FB,T,8,50,,,FB,,M-T-8x50.step +T8-50FBU,T,8,50,,,FB,U,M-T-8x50.step +T8-50FBCM,T,8,50,,,FB,CM,M-T-8x50.step +T8-50SDB,T,8,50,,,SDB,,M-T-8x50.step +T8-50SDBU,T,8,50,,,SDB,U,M-T-8x50.step +T8-50SDBCM,T,8,50,,,SDB,CM,M-T-8x50.step +T8-50ME,T,8,50,M,E,,,M-T-8x50.step +T8-50MEU,T,8,50,M,E,,U,M-T-8x50.step +T8-50MECM,T,8,50,M,E,,CM,M-T-8x50.step +T8-50MELB,T,8,50,M,E,LB,,M-T-8x50.step +T8-50MELBU,T,8,50,M,E,LB,U,M-T-8x50.step +T8-50MELBCM,T,8,50,M,E,LB,CM,M-T-8x50.step +T8-50MEFA,T,8,50,M,E,FA,,M-T-8x50.step +T8-50MEFAU,T,8,50,M,E,FA,U,M-T-8x50.step +T8-50MEFACM,T,8,50,M,E,FA,CM,M-T-8x50.step +T8-50MEFB,T,8,50,M,E,FB,,M-T-8x50.step +T8-50MEFBU,T,8,50,M,E,FB,U,M-T-8x50.step +T8-50MEFBCM,T,8,50,M,E,FB,CM,M-T-8x50.step +T8-50MESDB,T,8,50,M,E,SDB,,M-T-8x50.step +T8-50MESDBU,T,8,50,M,E,SDB,U,M-T-8x50.step +T8-50MESDBCM,T,8,50,M,E,SDB,CM,M-T-8x50.step +T8-50M,T,8,50,M,,,,M-T-8x50.step +T8-50MU,T,8,50,M,,,U,M-T-8x50.step +T8-50MCM,T,8,50,M,,,CM,M-T-8x50.step +T8-50MLB,T,8,50,M,,LB,,M-T-8x50.step +T8-50MLBU,T,8,50,M,,LB,U,M-T-8x50.step +T8-50MLBCM,T,8,50,M,,LB,CM,M-T-8x50.step +T8-50MFA,T,8,50,M,,FA,,M-T-8x50.step +T8-50MFAU,T,8,50,M,,FA,U,M-T-8x50.step +T8-50MFACM,T,8,50,M,,FA,CM,M-T-8x50.step +T8-50MFB,T,8,50,M,,FB,,M-T-8x50.step +T8-50MFBU,T,8,50,M,,FB,U,M-T-8x50.step +T8-50MFBCM,T,8,50,M,,FB,CM,M-T-8x50.step +T8-50MSDB,T,8,50,M,,SDB,,M-T-8x50.step +T8-50MSDBU,T,8,50,M,,SDB,U,M-T-8x50.step +T8-50MSDBCM,T,8,50,M,,SDB,CM,M-T-8x50.step +T8-75E,T,8,75,,E,,,M-T-8x75.step +T8-75EU,T,8,75,,E,,U,M-T-8x75.step +T8-75ECM,T,8,75,,E,,CM,M-T-8x75.step +T8-75ELB,T,8,75,,E,LB,,M-T-8x75.step +T8-75ELBU,T,8,75,,E,LB,U,M-T-8x75.step +T8-75ELBCM,T,8,75,,E,LB,CM,M-T-8x75.step +T8-75EFA,T,8,75,,E,FA,,M-T-8x75.step +T8-75EFAU,T,8,75,,E,FA,U,M-T-8x75.step +T8-75EFACM,T,8,75,,E,FA,CM,M-T-8x75.step +T8-75EFB,T,8,75,,E,FB,,M-T-8x75.step +T8-75EFBU,T,8,75,,E,FB,U,M-T-8x75.step +T8-75EFBCM,T,8,75,,E,FB,CM,M-T-8x75.step +T8-75ESDB,T,8,75,,E,SDB,,M-T-8x75.step +T8-75ESDBU,T,8,75,,E,SDB,U,M-T-8x75.step +T8-75ESDBCM,T,8,75,,E,SDB,CM,M-T-8x75.step +T8-75,T,8,75,,,,,M-T-8x75.step +T8-75U,T,8,75,,,,U,M-T-8x75.step +T8-75CM,T,8,75,,,,CM,M-T-8x75.step +T8-75LB,T,8,75,,,LB,,M-T-8x75.step +T8-75LBU,T,8,75,,,LB,U,M-T-8x75.step +T8-75LBCM,T,8,75,,,LB,CM,M-T-8x75.step +T8-75FA,T,8,75,,,FA,,M-T-8x75.step +T8-75FAU,T,8,75,,,FA,U,M-T-8x75.step +T8-75FACM,T,8,75,,,FA,CM,M-T-8x75.step +T8-75FB,T,8,75,,,FB,,M-T-8x75.step +T8-75FBU,T,8,75,,,FB,U,M-T-8x75.step +T8-75FBCM,T,8,75,,,FB,CM,M-T-8x75.step +T8-75SDB,T,8,75,,,SDB,,M-T-8x75.step +T8-75SDBU,T,8,75,,,SDB,U,M-T-8x75.step +T8-75SDBCM,T,8,75,,,SDB,CM,M-T-8x75.step +T8-75ME,T,8,75,M,E,,,M-T-8x75.step +T8-75MEU,T,8,75,M,E,,U,M-T-8x75.step +T8-75MECM,T,8,75,M,E,,CM,M-T-8x75.step +T8-75MELB,T,8,75,M,E,LB,,M-T-8x75.step +T8-75MELBU,T,8,75,M,E,LB,U,M-T-8x75.step +T8-75MELBCM,T,8,75,M,E,LB,CM,M-T-8x75.step +T8-75MEFA,T,8,75,M,E,FA,,M-T-8x75.step +T8-75MEFAU,T,8,75,M,E,FA,U,M-T-8x75.step +T8-75MEFACM,T,8,75,M,E,FA,CM,M-T-8x75.step +T8-75MEFB,T,8,75,M,E,FB,,M-T-8x75.step +T8-75MEFBU,T,8,75,M,E,FB,U,M-T-8x75.step +T8-75MEFBCM,T,8,75,M,E,FB,CM,M-T-8x75.step +T8-75MESDB,T,8,75,M,E,SDB,,M-T-8x75.step +T8-75MESDBU,T,8,75,M,E,SDB,U,M-T-8x75.step +T8-75MESDBCM,T,8,75,M,E,SDB,CM,M-T-8x75.step +T8-75M,T,8,75,M,,,,M-T-8x75.step +T8-75MU,T,8,75,M,,,U,M-T-8x75.step +T8-75MCM,T,8,75,M,,,CM,M-T-8x75.step +T8-75MLB,T,8,75,M,,LB,,M-T-8x75.step +T8-75MLBU,T,8,75,M,,LB,U,M-T-8x75.step +T8-75MLBCM,T,8,75,M,,LB,CM,M-T-8x75.step +T8-75MFA,T,8,75,M,,FA,,M-T-8x75.step +T8-75MFAU,T,8,75,M,,FA,U,M-T-8x75.step +T8-75MFACM,T,8,75,M,,FA,CM,M-T-8x75.step +T8-75MFB,T,8,75,M,,FB,,M-T-8x75.step +T8-75MFBU,T,8,75,M,,FB,U,M-T-8x75.step +T8-75MFBCM,T,8,75,M,,FB,CM,M-T-8x75.step +T8-75MSDB,T,8,75,M,,SDB,,M-T-8x75.step +T8-75MSDBU,T,8,75,M,,SDB,U,M-T-8x75.step +T8-75MSDBCM,T,8,75,M,,SDB,CM,M-T-8x75.step +T8-100E,T,8,100,,E,,,M-T-8x100.step +T8-100EU,T,8,100,,E,,U,M-T-8x100.step +T8-100ECM,T,8,100,,E,,CM,M-T-8x100.step +T8-100ELB,T,8,100,,E,LB,,M-T-8x100.step +T8-100ELBU,T,8,100,,E,LB,U,M-T-8x100.step +T8-100ELBCM,T,8,100,,E,LB,CM,M-T-8x100.step +T8-100EFA,T,8,100,,E,FA,,M-T-8x100.step +T8-100EFAU,T,8,100,,E,FA,U,M-T-8x100.step +T8-100EFACM,T,8,100,,E,FA,CM,M-T-8x100.step +T8-100EFB,T,8,100,,E,FB,,M-T-8x100.step +T8-100EFBU,T,8,100,,E,FB,U,M-T-8x100.step +T8-100EFBCM,T,8,100,,E,FB,CM,M-T-8x100.step +T8-100ESDB,T,8,100,,E,SDB,,M-T-8x100.step +T8-100ESDBU,T,8,100,,E,SDB,U,M-T-8x100.step +T8-100ESDBCM,T,8,100,,E,SDB,CM,M-T-8x100.step +T8-100,T,8,100,,,,,M-T-8x100.step +T8-100U,T,8,100,,,,U,M-T-8x100.step +T8-100CM,T,8,100,,,,CM,M-T-8x100.step +T8-100LB,T,8,100,,,LB,,M-T-8x100.step +T8-100LBU,T,8,100,,,LB,U,M-T-8x100.step +T8-100LBCM,T,8,100,,,LB,CM,M-T-8x100.step +T8-100FA,T,8,100,,,FA,,M-T-8x100.step +T8-100FAU,T,8,100,,,FA,U,M-T-8x100.step +T8-100FACM,T,8,100,,,FA,CM,M-T-8x100.step +T8-100FB,T,8,100,,,FB,,M-T-8x100.step +T8-100FBU,T,8,100,,,FB,U,M-T-8x100.step +T8-100FBCM,T,8,100,,,FB,CM,M-T-8x100.step +T8-100SDB,T,8,100,,,SDB,,M-T-8x100.step +T8-100SDBU,T,8,100,,,SDB,U,M-T-8x100.step +T8-100SDBCM,T,8,100,,,SDB,CM,M-T-8x100.step +T8-100ME,T,8,100,M,E,,,M-T-8x100.step +T8-100MEU,T,8,100,M,E,,U,M-T-8x100.step +T8-100MECM,T,8,100,M,E,,CM,M-T-8x100.step +T8-100MELB,T,8,100,M,E,LB,,M-T-8x100.step +T8-100MELBU,T,8,100,M,E,LB,U,M-T-8x100.step +T8-100MELBCM,T,8,100,M,E,LB,CM,M-T-8x100.step +T8-100MEFA,T,8,100,M,E,FA,,M-T-8x100.step +T8-100MEFAU,T,8,100,M,E,FA,U,M-T-8x100.step +T8-100MEFACM,T,8,100,M,E,FA,CM,M-T-8x100.step +T8-100MEFB,T,8,100,M,E,FB,,M-T-8x100.step +T8-100MEFBU,T,8,100,M,E,FB,U,M-T-8x100.step +T8-100MEFBCM,T,8,100,M,E,FB,CM,M-T-8x100.step +T8-100MESDB,T,8,100,M,E,SDB,,M-T-8x100.step +T8-100MESDBU,T,8,100,M,E,SDB,U,M-T-8x100.step +T8-100MESDBCM,T,8,100,M,E,SDB,CM,M-T-8x100.step +T8-100M,T,8,100,M,,,,M-T-8x100.step +T8-100MU,T,8,100,M,,,U,M-T-8x100.step +T8-100MCM,T,8,100,M,,,CM,M-T-8x100.step +T8-100MLB,T,8,100,M,,LB,,M-T-8x100.step +T8-100MLBU,T,8,100,M,,LB,U,M-T-8x100.step +T8-100MLBCM,T,8,100,M,,LB,CM,M-T-8x100.step +T8-100MFA,T,8,100,M,,FA,,M-T-8x100.step +T8-100MFAU,T,8,100,M,,FA,U,M-T-8x100.step +T8-100MFACM,T,8,100,M,,FA,CM,M-T-8x100.step +T8-100MFB,T,8,100,M,,FB,,M-T-8x100.step +T8-100MFBU,T,8,100,M,,FB,U,M-T-8x100.step +T8-100MFBCM,T,8,100,M,,FB,CM,M-T-8x100.step +T8-100MSDB,T,8,100,M,,SDB,,M-T-8x100.step +T8-100MSDBU,T,8,100,M,,SDB,U,M-T-8x100.step +T8-100MSDBCM,T,8,100,M,,SDB,CM,M-T-8x100.step +T10-10E,T,10,10,,E,,,M-T-10x10.step +T10-10EU,T,10,10,,E,,U,M-T-10x10.step +T10-10ECM,T,10,10,,E,,CM,M-T-10x10.step +T10-10ELB,T,10,10,,E,LB,,M-T-10x10.step +T10-10ELBU,T,10,10,,E,LB,U,M-T-10x10.step +T10-10ELBCM,T,10,10,,E,LB,CM,M-T-10x10.step +T10-10EFA,T,10,10,,E,FA,,M-T-10x10.step +T10-10EFAU,T,10,10,,E,FA,U,M-T-10x10.step +T10-10EFACM,T,10,10,,E,FA,CM,M-T-10x10.step +T10-10EFB,T,10,10,,E,FB,,M-T-10x10.step +T10-10EFBU,T,10,10,,E,FB,U,M-T-10x10.step +T10-10EFBCM,T,10,10,,E,FB,CM,M-T-10x10.step +T10-10ESDB,T,10,10,,E,SDB,,M-T-10x10.step +T10-10ESDBU,T,10,10,,E,SDB,U,M-T-10x10.step +T10-10ESDBCM,T,10,10,,E,SDB,CM,M-T-10x10.step +T10-10,T,10,10,,,,,M-T-10x10.step +T10-10U,T,10,10,,,,U,M-T-10x10.step +T10-10CM,T,10,10,,,,CM,M-T-10x10.step +T10-10LB,T,10,10,,,LB,,M-T-10x10.step +T10-10LBU,T,10,10,,,LB,U,M-T-10x10.step +T10-10LBCM,T,10,10,,,LB,CM,M-T-10x10.step +T10-10FA,T,10,10,,,FA,,M-T-10x10.step +T10-10FAU,T,10,10,,,FA,U,M-T-10x10.step +T10-10FACM,T,10,10,,,FA,CM,M-T-10x10.step +T10-10FB,T,10,10,,,FB,,M-T-10x10.step +T10-10FBU,T,10,10,,,FB,U,M-T-10x10.step +T10-10FBCM,T,10,10,,,FB,CM,M-T-10x10.step +T10-10SDB,T,10,10,,,SDB,,M-T-10x10.step +T10-10SDBU,T,10,10,,,SDB,U,M-T-10x10.step +T10-10SDBCM,T,10,10,,,SDB,CM,M-T-10x10.step +T10-10ME,T,10,10,M,E,,,M-T-10x10.step +T10-10MEU,T,10,10,M,E,,U,M-T-10x10.step +T10-10MECM,T,10,10,M,E,,CM,M-T-10x10.step +T10-10MELB,T,10,10,M,E,LB,,M-T-10x10.step +T10-10MELBU,T,10,10,M,E,LB,U,M-T-10x10.step +T10-10MELBCM,T,10,10,M,E,LB,CM,M-T-10x10.step +T10-10MEFA,T,10,10,M,E,FA,,M-T-10x10.step +T10-10MEFAU,T,10,10,M,E,FA,U,M-T-10x10.step +T10-10MEFACM,T,10,10,M,E,FA,CM,M-T-10x10.step +T10-10MEFB,T,10,10,M,E,FB,,M-T-10x10.step +T10-10MEFBU,T,10,10,M,E,FB,U,M-T-10x10.step +T10-10MEFBCM,T,10,10,M,E,FB,CM,M-T-10x10.step +T10-10MESDB,T,10,10,M,E,SDB,,M-T-10x10.step +T10-10MESDBU,T,10,10,M,E,SDB,U,M-T-10x10.step +T10-10MESDBCM,T,10,10,M,E,SDB,CM,M-T-10x10.step +T10-10M,T,10,10,M,,,,M-T-10x10.step +T10-10MU,T,10,10,M,,,U,M-T-10x10.step +T10-10MCM,T,10,10,M,,,CM,M-T-10x10.step +T10-10MLB,T,10,10,M,,LB,,M-T-10x10.step +T10-10MLBU,T,10,10,M,,LB,U,M-T-10x10.step +T10-10MLBCM,T,10,10,M,,LB,CM,M-T-10x10.step +T10-10MFA,T,10,10,M,,FA,,M-T-10x10.step +T10-10MFAU,T,10,10,M,,FA,U,M-T-10x10.step +T10-10MFACM,T,10,10,M,,FA,CM,M-T-10x10.step +T10-10MFB,T,10,10,M,,FB,,M-T-10x10.step +T10-10MFBU,T,10,10,M,,FB,U,M-T-10x10.step +T10-10MFBCM,T,10,10,M,,FB,CM,M-T-10x10.step +T10-10MSDB,T,10,10,M,,SDB,,M-T-10x10.step +T10-10MSDBU,T,10,10,M,,SDB,U,M-T-10x10.step +T10-10MSDBCM,T,10,10,M,,SDB,CM,M-T-10x10.step +T10-20E,T,10,20,,E,,,M-T-10x20.step +T10-20EU,T,10,20,,E,,U,M-T-10x20.step +T10-20ECM,T,10,20,,E,,CM,M-T-10x20.step +T10-20ELB,T,10,20,,E,LB,,M-T-10x20.step +T10-20ELBU,T,10,20,,E,LB,U,M-T-10x20.step +T10-20ELBCM,T,10,20,,E,LB,CM,M-T-10x20.step +T10-20EFA,T,10,20,,E,FA,,M-T-10x20.step +T10-20EFAU,T,10,20,,E,FA,U,M-T-10x20.step +T10-20EFACM,T,10,20,,E,FA,CM,M-T-10x20.step +T10-20EFB,T,10,20,,E,FB,,M-T-10x20.step +T10-20EFBU,T,10,20,,E,FB,U,M-T-10x20.step +T10-20EFBCM,T,10,20,,E,FB,CM,M-T-10x20.step +T10-20ESDB,T,10,20,,E,SDB,,M-T-10x20.step +T10-20ESDBU,T,10,20,,E,SDB,U,M-T-10x20.step +T10-20ESDBCM,T,10,20,,E,SDB,CM,M-T-10x20.step +T10-20,T,10,20,,,,,M-T-10x20.step +T10-20U,T,10,20,,,,U,M-T-10x20.step +T10-20CM,T,10,20,,,,CM,M-T-10x20.step +T10-20LB,T,10,20,,,LB,,M-T-10x20.step +T10-20LBU,T,10,20,,,LB,U,M-T-10x20.step +T10-20LBCM,T,10,20,,,LB,CM,M-T-10x20.step +T10-20FA,T,10,20,,,FA,,M-T-10x20.step +T10-20FAU,T,10,20,,,FA,U,M-T-10x20.step +T10-20FACM,T,10,20,,,FA,CM,M-T-10x20.step +T10-20FB,T,10,20,,,FB,,M-T-10x20.step +T10-20FBU,T,10,20,,,FB,U,M-T-10x20.step +T10-20FBCM,T,10,20,,,FB,CM,M-T-10x20.step +T10-20SDB,T,10,20,,,SDB,,M-T-10x20.step +T10-20SDBU,T,10,20,,,SDB,U,M-T-10x20.step +T10-20SDBCM,T,10,20,,,SDB,CM,M-T-10x20.step +T10-20ME,T,10,20,M,E,,,M-T-10x20.step +T10-20MEU,T,10,20,M,E,,U,M-T-10x20.step +T10-20MECM,T,10,20,M,E,,CM,M-T-10x20.step +T10-20MELB,T,10,20,M,E,LB,,M-T-10x20.step +T10-20MELBU,T,10,20,M,E,LB,U,M-T-10x20.step +T10-20MELBCM,T,10,20,M,E,LB,CM,M-T-10x20.step +T10-20MEFA,T,10,20,M,E,FA,,M-T-10x20.step +T10-20MEFAU,T,10,20,M,E,FA,U,M-T-10x20.step +T10-20MEFACM,T,10,20,M,E,FA,CM,M-T-10x20.step +T10-20MEFB,T,10,20,M,E,FB,,M-T-10x20.step +T10-20MEFBU,T,10,20,M,E,FB,U,M-T-10x20.step +T10-20MEFBCM,T,10,20,M,E,FB,CM,M-T-10x20.step +T10-20MESDB,T,10,20,M,E,SDB,,M-T-10x20.step +T10-20MESDBU,T,10,20,M,E,SDB,U,M-T-10x20.step +T10-20MESDBCM,T,10,20,M,E,SDB,CM,M-T-10x20.step +T10-20M,T,10,20,M,,,,M-T-10x20.step +T10-20MU,T,10,20,M,,,U,M-T-10x20.step +T10-20MCM,T,10,20,M,,,CM,M-T-10x20.step +T10-20MLB,T,10,20,M,,LB,,M-T-10x20.step +T10-20MLBU,T,10,20,M,,LB,U,M-T-10x20.step +T10-20MLBCM,T,10,20,M,,LB,CM,M-T-10x20.step +T10-20MFA,T,10,20,M,,FA,,M-T-10x20.step +T10-20MFAU,T,10,20,M,,FA,U,M-T-10x20.step +T10-20MFACM,T,10,20,M,,FA,CM,M-T-10x20.step +T10-20MFB,T,10,20,M,,FB,,M-T-10x20.step +T10-20MFBU,T,10,20,M,,FB,U,M-T-10x20.step +T10-20MFBCM,T,10,20,M,,FB,CM,M-T-10x20.step +T10-20MSDB,T,10,20,M,,SDB,,M-T-10x20.step +T10-20MSDBU,T,10,20,M,,SDB,U,M-T-10x20.step +T10-20MSDBCM,T,10,20,M,,SDB,CM,M-T-10x20.step +T10-30E,T,10,30,,E,,,M-T-10x30.step +T10-30EU,T,10,30,,E,,U,M-T-10x30.step +T10-30ECM,T,10,30,,E,,CM,M-T-10x30.step +T10-30ELB,T,10,30,,E,LB,,M-T-10x30.step +T10-30ELBU,T,10,30,,E,LB,U,M-T-10x30.step +T10-30ELBCM,T,10,30,,E,LB,CM,M-T-10x30.step +T10-30EFA,T,10,30,,E,FA,,M-T-10x30.step +T10-30EFAU,T,10,30,,E,FA,U,M-T-10x30.step +T10-30EFACM,T,10,30,,E,FA,CM,M-T-10x30.step +T10-30EFB,T,10,30,,E,FB,,M-T-10x30.step +T10-30EFBU,T,10,30,,E,FB,U,M-T-10x30.step +T10-30EFBCM,T,10,30,,E,FB,CM,M-T-10x30.step +T10-30ESDB,T,10,30,,E,SDB,,M-T-10x30.step +T10-30ESDBU,T,10,30,,E,SDB,U,M-T-10x30.step +T10-30ESDBCM,T,10,30,,E,SDB,CM,M-T-10x30.step +T10-30,T,10,30,,,,,M-T-10x30.step +T10-30U,T,10,30,,,,U,M-T-10x30.step +T10-30CM,T,10,30,,,,CM,M-T-10x30.step +T10-30LB,T,10,30,,,LB,,M-T-10x30.step +T10-30LBU,T,10,30,,,LB,U,M-T-10x30.step +T10-30LBCM,T,10,30,,,LB,CM,M-T-10x30.step +T10-30FA,T,10,30,,,FA,,M-T-10x30.step +T10-30FAU,T,10,30,,,FA,U,M-T-10x30.step +T10-30FACM,T,10,30,,,FA,CM,M-T-10x30.step +T10-30FB,T,10,30,,,FB,,M-T-10x30.step +T10-30FBU,T,10,30,,,FB,U,M-T-10x30.step +T10-30FBCM,T,10,30,,,FB,CM,M-T-10x30.step +T10-30SDB,T,10,30,,,SDB,,M-T-10x30.step +T10-30SDBU,T,10,30,,,SDB,U,M-T-10x30.step +T10-30SDBCM,T,10,30,,,SDB,CM,M-T-10x30.step +T10-30ME,T,10,30,M,E,,,M-T-10x30.step +T10-30MEU,T,10,30,M,E,,U,M-T-10x30.step +T10-30MECM,T,10,30,M,E,,CM,M-T-10x30.step +T10-30MELB,T,10,30,M,E,LB,,M-T-10x30.step +T10-30MELBU,T,10,30,M,E,LB,U,M-T-10x30.step +T10-30MELBCM,T,10,30,M,E,LB,CM,M-T-10x30.step +T10-30MEFA,T,10,30,M,E,FA,,M-T-10x30.step +T10-30MEFAU,T,10,30,M,E,FA,U,M-T-10x30.step +T10-30MEFACM,T,10,30,M,E,FA,CM,M-T-10x30.step +T10-30MEFB,T,10,30,M,E,FB,,M-T-10x30.step +T10-30MEFBU,T,10,30,M,E,FB,U,M-T-10x30.step +T10-30MEFBCM,T,10,30,M,E,FB,CM,M-T-10x30.step +T10-30MESDB,T,10,30,M,E,SDB,,M-T-10x30.step +T10-30MESDBU,T,10,30,M,E,SDB,U,M-T-10x30.step +T10-30MESDBCM,T,10,30,M,E,SDB,CM,M-T-10x30.step +T10-30M,T,10,30,M,,,,M-T-10x30.step +T10-30MU,T,10,30,M,,,U,M-T-10x30.step +T10-30MCM,T,10,30,M,,,CM,M-T-10x30.step +T10-30MLB,T,10,30,M,,LB,,M-T-10x30.step +T10-30MLBU,T,10,30,M,,LB,U,M-T-10x30.step +T10-30MLBCM,T,10,30,M,,LB,CM,M-T-10x30.step +T10-30MFA,T,10,30,M,,FA,,M-T-10x30.step +T10-30MFAU,T,10,30,M,,FA,U,M-T-10x30.step +T10-30MFACM,T,10,30,M,,FA,CM,M-T-10x30.step +T10-30MFB,T,10,30,M,,FB,,M-T-10x30.step +T10-30MFBU,T,10,30,M,,FB,U,M-T-10x30.step +T10-30MFBCM,T,10,30,M,,FB,CM,M-T-10x30.step +T10-30MSDB,T,10,30,M,,SDB,,M-T-10x30.step +T10-30MSDBU,T,10,30,M,,SDB,U,M-T-10x30.step +T10-30MSDBCM,T,10,30,M,,SDB,CM,M-T-10x30.step +T10-50E,T,10,50,,E,,,M-T-10x50.step +T10-50EU,T,10,50,,E,,U,M-T-10x50.step +T10-50ECM,T,10,50,,E,,CM,M-T-10x50.step +T10-50ELB,T,10,50,,E,LB,,M-T-10x50.step +T10-50ELBU,T,10,50,,E,LB,U,M-T-10x50.step +T10-50ELBCM,T,10,50,,E,LB,CM,M-T-10x50.step +T10-50EFA,T,10,50,,E,FA,,M-T-10x50.step +T10-50EFAU,T,10,50,,E,FA,U,M-T-10x50.step +T10-50EFACM,T,10,50,,E,FA,CM,M-T-10x50.step +T10-50EFB,T,10,50,,E,FB,,M-T-10x50.step +T10-50EFBU,T,10,50,,E,FB,U,M-T-10x50.step +T10-50EFBCM,T,10,50,,E,FB,CM,M-T-10x50.step +T10-50ESDB,T,10,50,,E,SDB,,M-T-10x50.step +T10-50ESDBU,T,10,50,,E,SDB,U,M-T-10x50.step +T10-50ESDBCM,T,10,50,,E,SDB,CM,M-T-10x50.step +T10-50,T,10,50,,,,,M-T-10x50.step +T10-50U,T,10,50,,,,U,M-T-10x50.step +T10-50CM,T,10,50,,,,CM,M-T-10x50.step +T10-50LB,T,10,50,,,LB,,M-T-10x50.step +T10-50LBU,T,10,50,,,LB,U,M-T-10x50.step +T10-50LBCM,T,10,50,,,LB,CM,M-T-10x50.step +T10-50FA,T,10,50,,,FA,,M-T-10x50.step +T10-50FAU,T,10,50,,,FA,U,M-T-10x50.step +T10-50FACM,T,10,50,,,FA,CM,M-T-10x50.step +T10-50FB,T,10,50,,,FB,,M-T-10x50.step +T10-50FBU,T,10,50,,,FB,U,M-T-10x50.step +T10-50FBCM,T,10,50,,,FB,CM,M-T-10x50.step +T10-50SDB,T,10,50,,,SDB,,M-T-10x50.step +T10-50SDBU,T,10,50,,,SDB,U,M-T-10x50.step +T10-50SDBCM,T,10,50,,,SDB,CM,M-T-10x50.step +T10-50ME,T,10,50,M,E,,,M-T-10x50.step +T10-50MEU,T,10,50,M,E,,U,M-T-10x50.step +T10-50MECM,T,10,50,M,E,,CM,M-T-10x50.step +T10-50MELB,T,10,50,M,E,LB,,M-T-10x50.step +T10-50MELBU,T,10,50,M,E,LB,U,M-T-10x50.step +T10-50MELBCM,T,10,50,M,E,LB,CM,M-T-10x50.step +T10-50MEFA,T,10,50,M,E,FA,,M-T-10x50.step +T10-50MEFAU,T,10,50,M,E,FA,U,M-T-10x50.step +T10-50MEFACM,T,10,50,M,E,FA,CM,M-T-10x50.step +T10-50MEFB,T,10,50,M,E,FB,,M-T-10x50.step +T10-50MEFBU,T,10,50,M,E,FB,U,M-T-10x50.step +T10-50MEFBCM,T,10,50,M,E,FB,CM,M-T-10x50.step +T10-50MESDB,T,10,50,M,E,SDB,,M-T-10x50.step +T10-50MESDBU,T,10,50,M,E,SDB,U,M-T-10x50.step +T10-50MESDBCM,T,10,50,M,E,SDB,CM,M-T-10x50.step +T10-50M,T,10,50,M,,,,M-T-10x50.step +T10-50MU,T,10,50,M,,,U,M-T-10x50.step +T10-50MCM,T,10,50,M,,,CM,M-T-10x50.step +T10-50MLB,T,10,50,M,,LB,,M-T-10x50.step +T10-50MLBU,T,10,50,M,,LB,U,M-T-10x50.step +T10-50MLBCM,T,10,50,M,,LB,CM,M-T-10x50.step +T10-50MFA,T,10,50,M,,FA,,M-T-10x50.step +T10-50MFAU,T,10,50,M,,FA,U,M-T-10x50.step +T10-50MFACM,T,10,50,M,,FA,CM,M-T-10x50.step +T10-50MFB,T,10,50,M,,FB,,M-T-10x50.step +T10-50MFBU,T,10,50,M,,FB,U,M-T-10x50.step +T10-50MFBCM,T,10,50,M,,FB,CM,M-T-10x50.step +T10-50MSDB,T,10,50,M,,SDB,,M-T-10x50.step +T10-50MSDBU,T,10,50,M,,SDB,U,M-T-10x50.step +T10-50MSDBCM,T,10,50,M,,SDB,CM,M-T-10x50.step +T10-75E,T,10,75,,E,,,M-T-10x75.step +T10-75EU,T,10,75,,E,,U,M-T-10x75.step +T10-75ECM,T,10,75,,E,,CM,M-T-10x75.step +T10-75ELB,T,10,75,,E,LB,,M-T-10x75.step +T10-75ELBU,T,10,75,,E,LB,U,M-T-10x75.step +T10-75ELBCM,T,10,75,,E,LB,CM,M-T-10x75.step +T10-75EFA,T,10,75,,E,FA,,M-T-10x75.step +T10-75EFAU,T,10,75,,E,FA,U,M-T-10x75.step +T10-75EFACM,T,10,75,,E,FA,CM,M-T-10x75.step +T10-75EFB,T,10,75,,E,FB,,M-T-10x75.step +T10-75EFBU,T,10,75,,E,FB,U,M-T-10x75.step +T10-75EFBCM,T,10,75,,E,FB,CM,M-T-10x75.step +T10-75ESDB,T,10,75,,E,SDB,,M-T-10x75.step +T10-75ESDBU,T,10,75,,E,SDB,U,M-T-10x75.step +T10-75ESDBCM,T,10,75,,E,SDB,CM,M-T-10x75.step +T10-75,T,10,75,,,,,M-T-10x75.step +T10-75U,T,10,75,,,,U,M-T-10x75.step +T10-75CM,T,10,75,,,,CM,M-T-10x75.step +T10-75LB,T,10,75,,,LB,,M-T-10x75.step +T10-75LBU,T,10,75,,,LB,U,M-T-10x75.step +T10-75LBCM,T,10,75,,,LB,CM,M-T-10x75.step +T10-75FA,T,10,75,,,FA,,M-T-10x75.step +T10-75FAU,T,10,75,,,FA,U,M-T-10x75.step +T10-75FACM,T,10,75,,,FA,CM,M-T-10x75.step +T10-75FB,T,10,75,,,FB,,M-T-10x75.step +T10-75FBU,T,10,75,,,FB,U,M-T-10x75.step +T10-75FBCM,T,10,75,,,FB,CM,M-T-10x75.step +T10-75SDB,T,10,75,,,SDB,,M-T-10x75.step +T10-75SDBU,T,10,75,,,SDB,U,M-T-10x75.step +T10-75SDBCM,T,10,75,,,SDB,CM,M-T-10x75.step +T10-75ME,T,10,75,M,E,,,M-T-10x75.step +T10-75MEU,T,10,75,M,E,,U,M-T-10x75.step +T10-75MECM,T,10,75,M,E,,CM,M-T-10x75.step +T10-75MELB,T,10,75,M,E,LB,,M-T-10x75.step +T10-75MELBU,T,10,75,M,E,LB,U,M-T-10x75.step +T10-75MELBCM,T,10,75,M,E,LB,CM,M-T-10x75.step +T10-75MEFA,T,10,75,M,E,FA,,M-T-10x75.step +T10-75MEFAU,T,10,75,M,E,FA,U,M-T-10x75.step +T10-75MEFACM,T,10,75,M,E,FA,CM,M-T-10x75.step +T10-75MEFB,T,10,75,M,E,FB,,M-T-10x75.step +T10-75MEFBU,T,10,75,M,E,FB,U,M-T-10x75.step +T10-75MEFBCM,T,10,75,M,E,FB,CM,M-T-10x75.step +T10-75MESDB,T,10,75,M,E,SDB,,M-T-10x75.step +T10-75MESDBU,T,10,75,M,E,SDB,U,M-T-10x75.step +T10-75MESDBCM,T,10,75,M,E,SDB,CM,M-T-10x75.step +T10-75M,T,10,75,M,,,,M-T-10x75.step +T10-75MU,T,10,75,M,,,U,M-T-10x75.step +T10-75MCM,T,10,75,M,,,CM,M-T-10x75.step +T10-75MLB,T,10,75,M,,LB,,M-T-10x75.step +T10-75MLBU,T,10,75,M,,LB,U,M-T-10x75.step +T10-75MLBCM,T,10,75,M,,LB,CM,M-T-10x75.step +T10-75MFA,T,10,75,M,,FA,,M-T-10x75.step +T10-75MFAU,T,10,75,M,,FA,U,M-T-10x75.step +T10-75MFACM,T,10,75,M,,FA,CM,M-T-10x75.step +T10-75MFB,T,10,75,M,,FB,,M-T-10x75.step +T10-75MFBU,T,10,75,M,,FB,U,M-T-10x75.step +T10-75MFBCM,T,10,75,M,,FB,CM,M-T-10x75.step +T10-75MSDB,T,10,75,M,,SDB,,M-T-10x75.step +T10-75MSDBU,T,10,75,M,,SDB,U,M-T-10x75.step +T10-75MSDBCM,T,10,75,M,,SDB,CM,M-T-10x75.step +T10-100E,T,10,100,,E,,,M-T-10x100.step +T10-100EU,T,10,100,,E,,U,M-T-10x100.step +T10-100ECM,T,10,100,,E,,CM,M-T-10x100.step +T10-100ELB,T,10,100,,E,LB,,M-T-10x100.step +T10-100ELBU,T,10,100,,E,LB,U,M-T-10x100.step +T10-100ELBCM,T,10,100,,E,LB,CM,M-T-10x100.step +T10-100EFA,T,10,100,,E,FA,,M-T-10x100.step +T10-100EFAU,T,10,100,,E,FA,U,M-T-10x100.step +T10-100EFACM,T,10,100,,E,FA,CM,M-T-10x100.step +T10-100EFB,T,10,100,,E,FB,,M-T-10x100.step +T10-100EFBU,T,10,100,,E,FB,U,M-T-10x100.step +T10-100EFBCM,T,10,100,,E,FB,CM,M-T-10x100.step +T10-100ESDB,T,10,100,,E,SDB,,M-T-10x100.step +T10-100ESDBU,T,10,100,,E,SDB,U,M-T-10x100.step +T10-100ESDBCM,T,10,100,,E,SDB,CM,M-T-10x100.step +T10-100,T,10,100,,,,,M-T-10x100.step +T10-100U,T,10,100,,,,U,M-T-10x100.step +T10-100CM,T,10,100,,,,CM,M-T-10x100.step +T10-100LB,T,10,100,,,LB,,M-T-10x100.step +T10-100LBU,T,10,100,,,LB,U,M-T-10x100.step +T10-100LBCM,T,10,100,,,LB,CM,M-T-10x100.step +T10-100FA,T,10,100,,,FA,,M-T-10x100.step +T10-100FAU,T,10,100,,,FA,U,M-T-10x100.step +T10-100FACM,T,10,100,,,FA,CM,M-T-10x100.step +T10-100FB,T,10,100,,,FB,,M-T-10x100.step +T10-100FBU,T,10,100,,,FB,U,M-T-10x100.step +T10-100FBCM,T,10,100,,,FB,CM,M-T-10x100.step +T10-100SDB,T,10,100,,,SDB,,M-T-10x100.step +T10-100SDBU,T,10,100,,,SDB,U,M-T-10x100.step +T10-100SDBCM,T,10,100,,,SDB,CM,M-T-10x100.step +T10-100ME,T,10,100,M,E,,,M-T-10x100.step +T10-100MEU,T,10,100,M,E,,U,M-T-10x100.step +T10-100MECM,T,10,100,M,E,,CM,M-T-10x100.step +T10-100MELB,T,10,100,M,E,LB,,M-T-10x100.step +T10-100MELBU,T,10,100,M,E,LB,U,M-T-10x100.step +T10-100MELBCM,T,10,100,M,E,LB,CM,M-T-10x100.step +T10-100MEFA,T,10,100,M,E,FA,,M-T-10x100.step +T10-100MEFAU,T,10,100,M,E,FA,U,M-T-10x100.step +T10-100MEFACM,T,10,100,M,E,FA,CM,M-T-10x100.step +T10-100MEFB,T,10,100,M,E,FB,,M-T-10x100.step +T10-100MEFBU,T,10,100,M,E,FB,U,M-T-10x100.step +T10-100MEFBCM,T,10,100,M,E,FB,CM,M-T-10x100.step +T10-100MESDB,T,10,100,M,E,SDB,,M-T-10x100.step +T10-100MESDBU,T,10,100,M,E,SDB,U,M-T-10x100.step +T10-100MESDBCM,T,10,100,M,E,SDB,CM,M-T-10x100.step +T10-100M,T,10,100,M,,,,M-T-10x100.step +T10-100MU,T,10,100,M,,,U,M-T-10x100.step +T10-100MCM,T,10,100,M,,,CM,M-T-10x100.step +T10-100MLB,T,10,100,M,,LB,,M-T-10x100.step +T10-100MLBU,T,10,100,M,,LB,U,M-T-10x100.step +T10-100MLBCM,T,10,100,M,,LB,CM,M-T-10x100.step +T10-100MFA,T,10,100,M,,FA,,M-T-10x100.step +T10-100MFAU,T,10,100,M,,FA,U,M-T-10x100.step +T10-100MFACM,T,10,100,M,,FA,CM,M-T-10x100.step +T10-100MFB,T,10,100,M,,FB,,M-T-10x100.step +T10-100MFBU,T,10,100,M,,FB,U,M-T-10x100.step +T10-100MFBCM,T,10,100,M,,FB,CM,M-T-10x100.step +T10-100MSDB,T,10,100,M,,SDB,,M-T-10x100.step +T10-100MSDBU,T,10,100,M,,SDB,U,M-T-10x100.step +T10-100MSDBCM,T,10,100,M,,SDB,CM,M-T-10x100.step +T12-10E,T,12,10,,E,,,M-T-12x10.step +T12-10EU,T,12,10,,E,,U,M-T-12x10.step +T12-10ECM,T,12,10,,E,,CM,M-T-12x10.step +T12-10ELB,T,12,10,,E,LB,,M-T-12x10.step +T12-10ELBU,T,12,10,,E,LB,U,M-T-12x10.step +T12-10ELBCM,T,12,10,,E,LB,CM,M-T-12x10.step +T12-10EFA,T,12,10,,E,FA,,M-T-12x10.step +T12-10EFAU,T,12,10,,E,FA,U,M-T-12x10.step +T12-10EFACM,T,12,10,,E,FA,CM,M-T-12x10.step +T12-10EFB,T,12,10,,E,FB,,M-T-12x10.step +T12-10EFBU,T,12,10,,E,FB,U,M-T-12x10.step +T12-10EFBCM,T,12,10,,E,FB,CM,M-T-12x10.step +T12-10ESDB,T,12,10,,E,SDB,,M-T-12x10.step +T12-10ESDBU,T,12,10,,E,SDB,U,M-T-12x10.step +T12-10ESDBCM,T,12,10,,E,SDB,CM,M-T-12x10.step +T12-10,T,12,10,,,,,M-T-12x10.step +T12-10U,T,12,10,,,,U,M-T-12x10.step +T12-10CM,T,12,10,,,,CM,M-T-12x10.step +T12-10LB,T,12,10,,,LB,,M-T-12x10.step +T12-10LBU,T,12,10,,,LB,U,M-T-12x10.step +T12-10LBCM,T,12,10,,,LB,CM,M-T-12x10.step +T12-10FA,T,12,10,,,FA,,M-T-12x10.step +T12-10FAU,T,12,10,,,FA,U,M-T-12x10.step +T12-10FACM,T,12,10,,,FA,CM,M-T-12x10.step +T12-10FB,T,12,10,,,FB,,M-T-12x10.step +T12-10FBU,T,12,10,,,FB,U,M-T-12x10.step +T12-10FBCM,T,12,10,,,FB,CM,M-T-12x10.step +T12-10SDB,T,12,10,,,SDB,,M-T-12x10.step +T12-10SDBU,T,12,10,,,SDB,U,M-T-12x10.step +T12-10SDBCM,T,12,10,,,SDB,CM,M-T-12x10.step +T12-10ME,T,12,10,M,E,,,M-T-12x10.step +T12-10MEU,T,12,10,M,E,,U,M-T-12x10.step +T12-10MECM,T,12,10,M,E,,CM,M-T-12x10.step +T12-10MELB,T,12,10,M,E,LB,,M-T-12x10.step +T12-10MELBU,T,12,10,M,E,LB,U,M-T-12x10.step +T12-10MELBCM,T,12,10,M,E,LB,CM,M-T-12x10.step +T12-10MEFA,T,12,10,M,E,FA,,M-T-12x10.step +T12-10MEFAU,T,12,10,M,E,FA,U,M-T-12x10.step +T12-10MEFACM,T,12,10,M,E,FA,CM,M-T-12x10.step +T12-10MEFB,T,12,10,M,E,FB,,M-T-12x10.step +T12-10MEFBU,T,12,10,M,E,FB,U,M-T-12x10.step +T12-10MEFBCM,T,12,10,M,E,FB,CM,M-T-12x10.step +T12-10MESDB,T,12,10,M,E,SDB,,M-T-12x10.step +T12-10MESDBU,T,12,10,M,E,SDB,U,M-T-12x10.step +T12-10MESDBCM,T,12,10,M,E,SDB,CM,M-T-12x10.step +T12-10M,T,12,10,M,,,,M-T-12x10.step +T12-10MU,T,12,10,M,,,U,M-T-12x10.step +T12-10MCM,T,12,10,M,,,CM,M-T-12x10.step +T12-10MLB,T,12,10,M,,LB,,M-T-12x10.step +T12-10MLBU,T,12,10,M,,LB,U,M-T-12x10.step +T12-10MLBCM,T,12,10,M,,LB,CM,M-T-12x10.step +T12-10MFA,T,12,10,M,,FA,,M-T-12x10.step +T12-10MFAU,T,12,10,M,,FA,U,M-T-12x10.step +T12-10MFACM,T,12,10,M,,FA,CM,M-T-12x10.step +T12-10MFB,T,12,10,M,,FB,,M-T-12x10.step +T12-10MFBU,T,12,10,M,,FB,U,M-T-12x10.step +T12-10MFBCM,T,12,10,M,,FB,CM,M-T-12x10.step +T12-10MSDB,T,12,10,M,,SDB,,M-T-12x10.step +T12-10MSDBU,T,12,10,M,,SDB,U,M-T-12x10.step +T12-10MSDBCM,T,12,10,M,,SDB,CM,M-T-12x10.step +T12-20E,T,12,20,,E,,,M-T-12x20.step +T12-20EU,T,12,20,,E,,U,M-T-12x20.step +T12-20ECM,T,12,20,,E,,CM,M-T-12x20.step +T12-20ELB,T,12,20,,E,LB,,M-T-12x20.step +T12-20ELBU,T,12,20,,E,LB,U,M-T-12x20.step +T12-20ELBCM,T,12,20,,E,LB,CM,M-T-12x20.step +T12-20EFA,T,12,20,,E,FA,,M-T-12x20.step +T12-20EFAU,T,12,20,,E,FA,U,M-T-12x20.step +T12-20EFACM,T,12,20,,E,FA,CM,M-T-12x20.step +T12-20EFB,T,12,20,,E,FB,,M-T-12x20.step +T12-20EFBU,T,12,20,,E,FB,U,M-T-12x20.step +T12-20EFBCM,T,12,20,,E,FB,CM,M-T-12x20.step +T12-20ESDB,T,12,20,,E,SDB,,M-T-12x20.step +T12-20ESDBU,T,12,20,,E,SDB,U,M-T-12x20.step +T12-20ESDBCM,T,12,20,,E,SDB,CM,M-T-12x20.step +T12-20,T,12,20,,,,,M-T-12x20.step +T12-20U,T,12,20,,,,U,M-T-12x20.step +T12-20CM,T,12,20,,,,CM,M-T-12x20.step +T12-20LB,T,12,20,,,LB,,M-T-12x20.step +T12-20LBU,T,12,20,,,LB,U,M-T-12x20.step +T12-20LBCM,T,12,20,,,LB,CM,M-T-12x20.step +T12-20FA,T,12,20,,,FA,,M-T-12x20.step +T12-20FAU,T,12,20,,,FA,U,M-T-12x20.step +T12-20FACM,T,12,20,,,FA,CM,M-T-12x20.step +T12-20FB,T,12,20,,,FB,,M-T-12x20.step +T12-20FBU,T,12,20,,,FB,U,M-T-12x20.step +T12-20FBCM,T,12,20,,,FB,CM,M-T-12x20.step +T12-20SDB,T,12,20,,,SDB,,M-T-12x20.step +T12-20SDBU,T,12,20,,,SDB,U,M-T-12x20.step +T12-20SDBCM,T,12,20,,,SDB,CM,M-T-12x20.step +T12-20ME,T,12,20,M,E,,,M-T-12x20.step +T12-20MEU,T,12,20,M,E,,U,M-T-12x20.step +T12-20MECM,T,12,20,M,E,,CM,M-T-12x20.step +T12-20MELB,T,12,20,M,E,LB,,M-T-12x20.step +T12-20MELBU,T,12,20,M,E,LB,U,M-T-12x20.step +T12-20MELBCM,T,12,20,M,E,LB,CM,M-T-12x20.step +T12-20MEFA,T,12,20,M,E,FA,,M-T-12x20.step +T12-20MEFAU,T,12,20,M,E,FA,U,M-T-12x20.step +T12-20MEFACM,T,12,20,M,E,FA,CM,M-T-12x20.step +T12-20MEFB,T,12,20,M,E,FB,,M-T-12x20.step +T12-20MEFBU,T,12,20,M,E,FB,U,M-T-12x20.step +T12-20MEFBCM,T,12,20,M,E,FB,CM,M-T-12x20.step +T12-20MESDB,T,12,20,M,E,SDB,,M-T-12x20.step +T12-20MESDBU,T,12,20,M,E,SDB,U,M-T-12x20.step +T12-20MESDBCM,T,12,20,M,E,SDB,CM,M-T-12x20.step +T12-20M,T,12,20,M,,,,M-T-12x20.step +T12-20MU,T,12,20,M,,,U,M-T-12x20.step +T12-20MCM,T,12,20,M,,,CM,M-T-12x20.step +T12-20MLB,T,12,20,M,,LB,,M-T-12x20.step +T12-20MLBU,T,12,20,M,,LB,U,M-T-12x20.step +T12-20MLBCM,T,12,20,M,,LB,CM,M-T-12x20.step +T12-20MFA,T,12,20,M,,FA,,M-T-12x20.step +T12-20MFAU,T,12,20,M,,FA,U,M-T-12x20.step +T12-20MFACM,T,12,20,M,,FA,CM,M-T-12x20.step +T12-20MFB,T,12,20,M,,FB,,M-T-12x20.step +T12-20MFBU,T,12,20,M,,FB,U,M-T-12x20.step +T12-20MFBCM,T,12,20,M,,FB,CM,M-T-12x20.step +T12-20MSDB,T,12,20,M,,SDB,,M-T-12x20.step +T12-20MSDBU,T,12,20,M,,SDB,U,M-T-12x20.step +T12-20MSDBCM,T,12,20,M,,SDB,CM,M-T-12x20.step +T12-30E,T,12,30,,E,,,M-T-12x30.step +T12-30EU,T,12,30,,E,,U,M-T-12x30.step +T12-30ECM,T,12,30,,E,,CM,M-T-12x30.step +T12-30ELB,T,12,30,,E,LB,,M-T-12x30.step +T12-30ELBU,T,12,30,,E,LB,U,M-T-12x30.step +T12-30ELBCM,T,12,30,,E,LB,CM,M-T-12x30.step +T12-30EFA,T,12,30,,E,FA,,M-T-12x30.step +T12-30EFAU,T,12,30,,E,FA,U,M-T-12x30.step +T12-30EFACM,T,12,30,,E,FA,CM,M-T-12x30.step +T12-30EFB,T,12,30,,E,FB,,M-T-12x30.step +T12-30EFBU,T,12,30,,E,FB,U,M-T-12x30.step +T12-30EFBCM,T,12,30,,E,FB,CM,M-T-12x30.step +T12-30ESDB,T,12,30,,E,SDB,,M-T-12x30.step +T12-30ESDBU,T,12,30,,E,SDB,U,M-T-12x30.step +T12-30ESDBCM,T,12,30,,E,SDB,CM,M-T-12x30.step +T12-30,T,12,30,,,,,M-T-12x30.step +T12-30U,T,12,30,,,,U,M-T-12x30.step +T12-30CM,T,12,30,,,,CM,M-T-12x30.step +T12-30LB,T,12,30,,,LB,,M-T-12x30.step +T12-30LBU,T,12,30,,,LB,U,M-T-12x30.step +T12-30LBCM,T,12,30,,,LB,CM,M-T-12x30.step +T12-30FA,T,12,30,,,FA,,M-T-12x30.step +T12-30FAU,T,12,30,,,FA,U,M-T-12x30.step +T12-30FACM,T,12,30,,,FA,CM,M-T-12x30.step +T12-30FB,T,12,30,,,FB,,M-T-12x30.step +T12-30FBU,T,12,30,,,FB,U,M-T-12x30.step +T12-30FBCM,T,12,30,,,FB,CM,M-T-12x30.step +T12-30SDB,T,12,30,,,SDB,,M-T-12x30.step +T12-30SDBU,T,12,30,,,SDB,U,M-T-12x30.step +T12-30SDBCM,T,12,30,,,SDB,CM,M-T-12x30.step +T12-30ME,T,12,30,M,E,,,M-T-12x30.step +T12-30MEU,T,12,30,M,E,,U,M-T-12x30.step +T12-30MECM,T,12,30,M,E,,CM,M-T-12x30.step +T12-30MELB,T,12,30,M,E,LB,,M-T-12x30.step +T12-30MELBU,T,12,30,M,E,LB,U,M-T-12x30.step +T12-30MELBCM,T,12,30,M,E,LB,CM,M-T-12x30.step +T12-30MEFA,T,12,30,M,E,FA,,M-T-12x30.step +T12-30MEFAU,T,12,30,M,E,FA,U,M-T-12x30.step +T12-30MEFACM,T,12,30,M,E,FA,CM,M-T-12x30.step +T12-30MEFB,T,12,30,M,E,FB,,M-T-12x30.step +T12-30MEFBU,T,12,30,M,E,FB,U,M-T-12x30.step +T12-30MEFBCM,T,12,30,M,E,FB,CM,M-T-12x30.step +T12-30MESDB,T,12,30,M,E,SDB,,M-T-12x30.step +T12-30MESDBU,T,12,30,M,E,SDB,U,M-T-12x30.step +T12-30MESDBCM,T,12,30,M,E,SDB,CM,M-T-12x30.step +T12-30M,T,12,30,M,,,,M-T-12x30.step +T12-30MU,T,12,30,M,,,U,M-T-12x30.step +T12-30MCM,T,12,30,M,,,CM,M-T-12x30.step +T12-30MLB,T,12,30,M,,LB,,M-T-12x30.step +T12-30MLBU,T,12,30,M,,LB,U,M-T-12x30.step +T12-30MLBCM,T,12,30,M,,LB,CM,M-T-12x30.step +T12-30MFA,T,12,30,M,,FA,,M-T-12x30.step +T12-30MFAU,T,12,30,M,,FA,U,M-T-12x30.step +T12-30MFACM,T,12,30,M,,FA,CM,M-T-12x30.step +T12-30MFB,T,12,30,M,,FB,,M-T-12x30.step +T12-30MFBU,T,12,30,M,,FB,U,M-T-12x30.step +T12-30MFBCM,T,12,30,M,,FB,CM,M-T-12x30.step +T12-30MSDB,T,12,30,M,,SDB,,M-T-12x30.step +T12-30MSDBU,T,12,30,M,,SDB,U,M-T-12x30.step +T12-30MSDBCM,T,12,30,M,,SDB,CM,M-T-12x30.step +T12-50E,T,12,50,,E,,,M-T-12x50.step +T12-50EU,T,12,50,,E,,U,M-T-12x50.step +T12-50ECM,T,12,50,,E,,CM,M-T-12x50.step +T12-50ELB,T,12,50,,E,LB,,M-T-12x50.step +T12-50ELBU,T,12,50,,E,LB,U,M-T-12x50.step +T12-50ELBCM,T,12,50,,E,LB,CM,M-T-12x50.step +T12-50EFA,T,12,50,,E,FA,,M-T-12x50.step +T12-50EFAU,T,12,50,,E,FA,U,M-T-12x50.step +T12-50EFACM,T,12,50,,E,FA,CM,M-T-12x50.step +T12-50EFB,T,12,50,,E,FB,,M-T-12x50.step +T12-50EFBU,T,12,50,,E,FB,U,M-T-12x50.step +T12-50EFBCM,T,12,50,,E,FB,CM,M-T-12x50.step +T12-50ESDB,T,12,50,,E,SDB,,M-T-12x50.step +T12-50ESDBU,T,12,50,,E,SDB,U,M-T-12x50.step +T12-50ESDBCM,T,12,50,,E,SDB,CM,M-T-12x50.step +T12-50,T,12,50,,,,,M-T-12x50.step +T12-50U,T,12,50,,,,U,M-T-12x50.step +T12-50CM,T,12,50,,,,CM,M-T-12x50.step +T12-50LB,T,12,50,,,LB,,M-T-12x50.step +T12-50LBU,T,12,50,,,LB,U,M-T-12x50.step +T12-50LBCM,T,12,50,,,LB,CM,M-T-12x50.step +T12-50FA,T,12,50,,,FA,,M-T-12x50.step +T12-50FAU,T,12,50,,,FA,U,M-T-12x50.step +T12-50FACM,T,12,50,,,FA,CM,M-T-12x50.step +T12-50FB,T,12,50,,,FB,,M-T-12x50.step +T12-50FBU,T,12,50,,,FB,U,M-T-12x50.step +T12-50FBCM,T,12,50,,,FB,CM,M-T-12x50.step +T12-50SDB,T,12,50,,,SDB,,M-T-12x50.step +T12-50SDBU,T,12,50,,,SDB,U,M-T-12x50.step +T12-50SDBCM,T,12,50,,,SDB,CM,M-T-12x50.step +T12-50ME,T,12,50,M,E,,,M-T-12x50.step +T12-50MEU,T,12,50,M,E,,U,M-T-12x50.step +T12-50MECM,T,12,50,M,E,,CM,M-T-12x50.step +T12-50MELB,T,12,50,M,E,LB,,M-T-12x50.step +T12-50MELBU,T,12,50,M,E,LB,U,M-T-12x50.step +T12-50MELBCM,T,12,50,M,E,LB,CM,M-T-12x50.step +T12-50MEFA,T,12,50,M,E,FA,,M-T-12x50.step +T12-50MEFAU,T,12,50,M,E,FA,U,M-T-12x50.step +T12-50MEFACM,T,12,50,M,E,FA,CM,M-T-12x50.step +T12-50MEFB,T,12,50,M,E,FB,,M-T-12x50.step +T12-50MEFBU,T,12,50,M,E,FB,U,M-T-12x50.step +T12-50MEFBCM,T,12,50,M,E,FB,CM,M-T-12x50.step +T12-50MESDB,T,12,50,M,E,SDB,,M-T-12x50.step +T12-50MESDBU,T,12,50,M,E,SDB,U,M-T-12x50.step +T12-50MESDBCM,T,12,50,M,E,SDB,CM,M-T-12x50.step +T12-50M,T,12,50,M,,,,M-T-12x50.step +T12-50MU,T,12,50,M,,,U,M-T-12x50.step +T12-50MCM,T,12,50,M,,,CM,M-T-12x50.step +T12-50MLB,T,12,50,M,,LB,,M-T-12x50.step +T12-50MLBU,T,12,50,M,,LB,U,M-T-12x50.step +T12-50MLBCM,T,12,50,M,,LB,CM,M-T-12x50.step +T12-50MFA,T,12,50,M,,FA,,M-T-12x50.step +T12-50MFAU,T,12,50,M,,FA,U,M-T-12x50.step +T12-50MFACM,T,12,50,M,,FA,CM,M-T-12x50.step +T12-50MFB,T,12,50,M,,FB,,M-T-12x50.step +T12-50MFBU,T,12,50,M,,FB,U,M-T-12x50.step +T12-50MFBCM,T,12,50,M,,FB,CM,M-T-12x50.step +T12-50MSDB,T,12,50,M,,SDB,,M-T-12x50.step +T12-50MSDBU,T,12,50,M,,SDB,U,M-T-12x50.step +T12-50MSDBCM,T,12,50,M,,SDB,CM,M-T-12x50.step +T12-75E,T,12,75,,E,,,M-T-12x75.step +T12-75EU,T,12,75,,E,,U,M-T-12x75.step +T12-75ECM,T,12,75,,E,,CM,M-T-12x75.step +T12-75ELB,T,12,75,,E,LB,,M-T-12x75.step +T12-75ELBU,T,12,75,,E,LB,U,M-T-12x75.step +T12-75ELBCM,T,12,75,,E,LB,CM,M-T-12x75.step +T12-75EFA,T,12,75,,E,FA,,M-T-12x75.step +T12-75EFAU,T,12,75,,E,FA,U,M-T-12x75.step +T12-75EFACM,T,12,75,,E,FA,CM,M-T-12x75.step +T12-75EFB,T,12,75,,E,FB,,M-T-12x75.step +T12-75EFBU,T,12,75,,E,FB,U,M-T-12x75.step +T12-75EFBCM,T,12,75,,E,FB,CM,M-T-12x75.step +T12-75ESDB,T,12,75,,E,SDB,,M-T-12x75.step +T12-75ESDBU,T,12,75,,E,SDB,U,M-T-12x75.step +T12-75ESDBCM,T,12,75,,E,SDB,CM,M-T-12x75.step +T12-75,T,12,75,,,,,M-T-12x75.step +T12-75U,T,12,75,,,,U,M-T-12x75.step +T12-75CM,T,12,75,,,,CM,M-T-12x75.step +T12-75LB,T,12,75,,,LB,,M-T-12x75.step +T12-75LBU,T,12,75,,,LB,U,M-T-12x75.step +T12-75LBCM,T,12,75,,,LB,CM,M-T-12x75.step +T12-75FA,T,12,75,,,FA,,M-T-12x75.step +T12-75FAU,T,12,75,,,FA,U,M-T-12x75.step +T12-75FACM,T,12,75,,,FA,CM,M-T-12x75.step +T12-75FB,T,12,75,,,FB,,M-T-12x75.step +T12-75FBU,T,12,75,,,FB,U,M-T-12x75.step +T12-75FBCM,T,12,75,,,FB,CM,M-T-12x75.step +T12-75SDB,T,12,75,,,SDB,,M-T-12x75.step +T12-75SDBU,T,12,75,,,SDB,U,M-T-12x75.step +T12-75SDBCM,T,12,75,,,SDB,CM,M-T-12x75.step +T12-75ME,T,12,75,M,E,,,M-T-12x75.step +T12-75MEU,T,12,75,M,E,,U,M-T-12x75.step +T12-75MECM,T,12,75,M,E,,CM,M-T-12x75.step +T12-75MELB,T,12,75,M,E,LB,,M-T-12x75.step +T12-75MELBU,T,12,75,M,E,LB,U,M-T-12x75.step +T12-75MELBCM,T,12,75,M,E,LB,CM,M-T-12x75.step +T12-75MEFA,T,12,75,M,E,FA,,M-T-12x75.step +T12-75MEFAU,T,12,75,M,E,FA,U,M-T-12x75.step +T12-75MEFACM,T,12,75,M,E,FA,CM,M-T-12x75.step +T12-75MEFB,T,12,75,M,E,FB,,M-T-12x75.step +T12-75MEFBU,T,12,75,M,E,FB,U,M-T-12x75.step +T12-75MEFBCM,T,12,75,M,E,FB,CM,M-T-12x75.step +T12-75MESDB,T,12,75,M,E,SDB,,M-T-12x75.step +T12-75MESDBU,T,12,75,M,E,SDB,U,M-T-12x75.step +T12-75MESDBCM,T,12,75,M,E,SDB,CM,M-T-12x75.step +T12-75M,T,12,75,M,,,,M-T-12x75.step +T12-75MU,T,12,75,M,,,U,M-T-12x75.step +T12-75MCM,T,12,75,M,,,CM,M-T-12x75.step +T12-75MLB,T,12,75,M,,LB,,M-T-12x75.step +T12-75MLBU,T,12,75,M,,LB,U,M-T-12x75.step +T12-75MLBCM,T,12,75,M,,LB,CM,M-T-12x75.step +T12-75MFA,T,12,75,M,,FA,,M-T-12x75.step +T12-75MFAU,T,12,75,M,,FA,U,M-T-12x75.step +T12-75MFACM,T,12,75,M,,FA,CM,M-T-12x75.step +T12-75MFB,T,12,75,M,,FB,,M-T-12x75.step +T12-75MFBU,T,12,75,M,,FB,U,M-T-12x75.step +T12-75MFBCM,T,12,75,M,,FB,CM,M-T-12x75.step +T12-75MSDB,T,12,75,M,,SDB,,M-T-12x75.step +T12-75MSDBU,T,12,75,M,,SDB,U,M-T-12x75.step +T12-75MSDBCM,T,12,75,M,,SDB,CM,M-T-12x75.step +T12-100E,T,12,100,,E,,,M-T-12x100.step +T12-100EU,T,12,100,,E,,U,M-T-12x100.step +T12-100ECM,T,12,100,,E,,CM,M-T-12x100.step +T12-100ELB,T,12,100,,E,LB,,M-T-12x100.step +T12-100ELBU,T,12,100,,E,LB,U,M-T-12x100.step +T12-100ELBCM,T,12,100,,E,LB,CM,M-T-12x100.step +T12-100EFA,T,12,100,,E,FA,,M-T-12x100.step +T12-100EFAU,T,12,100,,E,FA,U,M-T-12x100.step +T12-100EFACM,T,12,100,,E,FA,CM,M-T-12x100.step +T12-100EFB,T,12,100,,E,FB,,M-T-12x100.step +T12-100EFBU,T,12,100,,E,FB,U,M-T-12x100.step +T12-100EFBCM,T,12,100,,E,FB,CM,M-T-12x100.step +T12-100ESDB,T,12,100,,E,SDB,,M-T-12x100.step +T12-100ESDBU,T,12,100,,E,SDB,U,M-T-12x100.step +T12-100ESDBCM,T,12,100,,E,SDB,CM,M-T-12x100.step +T12-100,T,12,100,,,,,M-T-12x100.step +T12-100U,T,12,100,,,,U,M-T-12x100.step +T12-100CM,T,12,100,,,,CM,M-T-12x100.step +T12-100LB,T,12,100,,,LB,,M-T-12x100.step +T12-100LBU,T,12,100,,,LB,U,M-T-12x100.step +T12-100LBCM,T,12,100,,,LB,CM,M-T-12x100.step +T12-100FA,T,12,100,,,FA,,M-T-12x100.step +T12-100FAU,T,12,100,,,FA,U,M-T-12x100.step +T12-100FACM,T,12,100,,,FA,CM,M-T-12x100.step +T12-100FB,T,12,100,,,FB,,M-T-12x100.step +T12-100FBU,T,12,100,,,FB,U,M-T-12x100.step +T12-100FBCM,T,12,100,,,FB,CM,M-T-12x100.step +T12-100SDB,T,12,100,,,SDB,,M-T-12x100.step +T12-100SDBU,T,12,100,,,SDB,U,M-T-12x100.step +T12-100SDBCM,T,12,100,,,SDB,CM,M-T-12x100.step +T12-100ME,T,12,100,M,E,,,M-T-12x100.step +T12-100MEU,T,12,100,M,E,,U,M-T-12x100.step +T12-100MECM,T,12,100,M,E,,CM,M-T-12x100.step +T12-100MELB,T,12,100,M,E,LB,,M-T-12x100.step +T12-100MELBU,T,12,100,M,E,LB,U,M-T-12x100.step +T12-100MELBCM,T,12,100,M,E,LB,CM,M-T-12x100.step +T12-100MEFA,T,12,100,M,E,FA,,M-T-12x100.step +T12-100MEFAU,T,12,100,M,E,FA,U,M-T-12x100.step +T12-100MEFACM,T,12,100,M,E,FA,CM,M-T-12x100.step +T12-100MEFB,T,12,100,M,E,FB,,M-T-12x100.step +T12-100MEFBU,T,12,100,M,E,FB,U,M-T-12x100.step +T12-100MEFBCM,T,12,100,M,E,FB,CM,M-T-12x100.step +T12-100MESDB,T,12,100,M,E,SDB,,M-T-12x100.step +T12-100MESDBU,T,12,100,M,E,SDB,U,M-T-12x100.step +T12-100MESDBCM,T,12,100,M,E,SDB,CM,M-T-12x100.step +T12-100M,T,12,100,M,,,,M-T-12x100.step +T12-100MU,T,12,100,M,,,U,M-T-12x100.step +T12-100MCM,T,12,100,M,,,CM,M-T-12x100.step +T12-100MLB,T,12,100,M,,LB,,M-T-12x100.step +T12-100MLBU,T,12,100,M,,LB,U,M-T-12x100.step +T12-100MLBCM,T,12,100,M,,LB,CM,M-T-12x100.step +T12-100MFA,T,12,100,M,,FA,,M-T-12x100.step +T12-100MFAU,T,12,100,M,,FA,U,M-T-12x100.step +T12-100MFACM,T,12,100,M,,FA,CM,M-T-12x100.step +T12-100MFB,T,12,100,M,,FB,,M-T-12x100.step +T12-100MFBU,T,12,100,M,,FB,U,M-T-12x100.step +T12-100MFBCM,T,12,100,M,,FB,CM,M-T-12x100.step +T12-100MSDB,T,12,100,M,,SDB,,M-T-12x100.step +T12-100MSDBU,T,12,100,M,,SDB,U,M-T-12x100.step +T12-100MSDBCM,T,12,100,M,,SDB,CM,M-T-12x100.step +T16-10E,T,16,10,,E,,,M-T-16x10.step +T16-10EU,T,16,10,,E,,U,M-T-16x10.step +T16-10ECM,T,16,10,,E,,CM,M-T-16x10.step +T16-10ELB,T,16,10,,E,LB,,M-T-16x10.step +T16-10ELBU,T,16,10,,E,LB,U,M-T-16x10.step +T16-10ELBCM,T,16,10,,E,LB,CM,M-T-16x10.step +T16-10EFA,T,16,10,,E,FA,,M-T-16x10.step +T16-10EFAU,T,16,10,,E,FA,U,M-T-16x10.step +T16-10EFACM,T,16,10,,E,FA,CM,M-T-16x10.step +T16-10EFB,T,16,10,,E,FB,,M-T-16x10.step +T16-10EFBU,T,16,10,,E,FB,U,M-T-16x10.step +T16-10EFBCM,T,16,10,,E,FB,CM,M-T-16x10.step +T16-10ESDB,T,16,10,,E,SDB,,M-T-16x10.step +T16-10ESDBU,T,16,10,,E,SDB,U,M-T-16x10.step +T16-10ESDBCM,T,16,10,,E,SDB,CM,M-T-16x10.step +T16-10,T,16,10,,,,,M-T-16x10.step +T16-10U,T,16,10,,,,U,M-T-16x10.step +T16-10CM,T,16,10,,,,CM,M-T-16x10.step +T16-10LB,T,16,10,,,LB,,M-T-16x10.step +T16-10LBU,T,16,10,,,LB,U,M-T-16x10.step +T16-10LBCM,T,16,10,,,LB,CM,M-T-16x10.step +T16-10FA,T,16,10,,,FA,,M-T-16x10.step +T16-10FAU,T,16,10,,,FA,U,M-T-16x10.step +T16-10FACM,T,16,10,,,FA,CM,M-T-16x10.step +T16-10FB,T,16,10,,,FB,,M-T-16x10.step +T16-10FBU,T,16,10,,,FB,U,M-T-16x10.step +T16-10FBCM,T,16,10,,,FB,CM,M-T-16x10.step +T16-10SDB,T,16,10,,,SDB,,M-T-16x10.step +T16-10SDBU,T,16,10,,,SDB,U,M-T-16x10.step +T16-10SDBCM,T,16,10,,,SDB,CM,M-T-16x10.step +T16-10ME,T,16,10,M,E,,,M-T-16x10.step +T16-10MEU,T,16,10,M,E,,U,M-T-16x10.step +T16-10MECM,T,16,10,M,E,,CM,M-T-16x10.step +T16-10MELB,T,16,10,M,E,LB,,M-T-16x10.step +T16-10MELBU,T,16,10,M,E,LB,U,M-T-16x10.step +T16-10MELBCM,T,16,10,M,E,LB,CM,M-T-16x10.step +T16-10MEFA,T,16,10,M,E,FA,,M-T-16x10.step +T16-10MEFAU,T,16,10,M,E,FA,U,M-T-16x10.step +T16-10MEFACM,T,16,10,M,E,FA,CM,M-T-16x10.step +T16-10MEFB,T,16,10,M,E,FB,,M-T-16x10.step +T16-10MEFBU,T,16,10,M,E,FB,U,M-T-16x10.step +T16-10MEFBCM,T,16,10,M,E,FB,CM,M-T-16x10.step +T16-10MESDB,T,16,10,M,E,SDB,,M-T-16x10.step +T16-10MESDBU,T,16,10,M,E,SDB,U,M-T-16x10.step +T16-10MESDBCM,T,16,10,M,E,SDB,CM,M-T-16x10.step +T16-10M,T,16,10,M,,,,M-T-16x10.step +T16-10MU,T,16,10,M,,,U,M-T-16x10.step +T16-10MCM,T,16,10,M,,,CM,M-T-16x10.step +T16-10MLB,T,16,10,M,,LB,,M-T-16x10.step +T16-10MLBU,T,16,10,M,,LB,U,M-T-16x10.step +T16-10MLBCM,T,16,10,M,,LB,CM,M-T-16x10.step +T16-10MFA,T,16,10,M,,FA,,M-T-16x10.step +T16-10MFAU,T,16,10,M,,FA,U,M-T-16x10.step +T16-10MFACM,T,16,10,M,,FA,CM,M-T-16x10.step +T16-10MFB,T,16,10,M,,FB,,M-T-16x10.step +T16-10MFBU,T,16,10,M,,FB,U,M-T-16x10.step +T16-10MFBCM,T,16,10,M,,FB,CM,M-T-16x10.step +T16-10MSDB,T,16,10,M,,SDB,,M-T-16x10.step +T16-10MSDBU,T,16,10,M,,SDB,U,M-T-16x10.step +T16-10MSDBCM,T,16,10,M,,SDB,CM,M-T-16x10.step +T16-20E,T,16,20,,E,,,M-T-16x20.step +T16-20EU,T,16,20,,E,,U,M-T-16x20.step +T16-20ECM,T,16,20,,E,,CM,M-T-16x20.step +T16-20ELB,T,16,20,,E,LB,,M-T-16x20.step +T16-20ELBU,T,16,20,,E,LB,U,M-T-16x20.step +T16-20ELBCM,T,16,20,,E,LB,CM,M-T-16x20.step +T16-20EFA,T,16,20,,E,FA,,M-T-16x20.step +T16-20EFAU,T,16,20,,E,FA,U,M-T-16x20.step +T16-20EFACM,T,16,20,,E,FA,CM,M-T-16x20.step +T16-20EFB,T,16,20,,E,FB,,M-T-16x20.step +T16-20EFBU,T,16,20,,E,FB,U,M-T-16x20.step +T16-20EFBCM,T,16,20,,E,FB,CM,M-T-16x20.step +T16-20ESDB,T,16,20,,E,SDB,,M-T-16x20.step +T16-20ESDBU,T,16,20,,E,SDB,U,M-T-16x20.step +T16-20ESDBCM,T,16,20,,E,SDB,CM,M-T-16x20.step +T16-20,T,16,20,,,,,M-T-16x20.step +T16-20U,T,16,20,,,,U,M-T-16x20.step +T16-20CM,T,16,20,,,,CM,M-T-16x20.step +T16-20LB,T,16,20,,,LB,,M-T-16x20.step +T16-20LBU,T,16,20,,,LB,U,M-T-16x20.step +T16-20LBCM,T,16,20,,,LB,CM,M-T-16x20.step +T16-20FA,T,16,20,,,FA,,M-T-16x20.step +T16-20FAU,T,16,20,,,FA,U,M-T-16x20.step +T16-20FACM,T,16,20,,,FA,CM,M-T-16x20.step +T16-20FB,T,16,20,,,FB,,M-T-16x20.step +T16-20FBU,T,16,20,,,FB,U,M-T-16x20.step +T16-20FBCM,T,16,20,,,FB,CM,M-T-16x20.step +T16-20SDB,T,16,20,,,SDB,,M-T-16x20.step +T16-20SDBU,T,16,20,,,SDB,U,M-T-16x20.step +T16-20SDBCM,T,16,20,,,SDB,CM,M-T-16x20.step +T16-20ME,T,16,20,M,E,,,M-T-16x20.step +T16-20MEU,T,16,20,M,E,,U,M-T-16x20.step +T16-20MECM,T,16,20,M,E,,CM,M-T-16x20.step +T16-20MELB,T,16,20,M,E,LB,,M-T-16x20.step +T16-20MELBU,T,16,20,M,E,LB,U,M-T-16x20.step +T16-20MELBCM,T,16,20,M,E,LB,CM,M-T-16x20.step +T16-20MEFA,T,16,20,M,E,FA,,M-T-16x20.step +T16-20MEFAU,T,16,20,M,E,FA,U,M-T-16x20.step +T16-20MEFACM,T,16,20,M,E,FA,CM,M-T-16x20.step +T16-20MEFB,T,16,20,M,E,FB,,M-T-16x20.step +T16-20MEFBU,T,16,20,M,E,FB,U,M-T-16x20.step +T16-20MEFBCM,T,16,20,M,E,FB,CM,M-T-16x20.step +T16-20MESDB,T,16,20,M,E,SDB,,M-T-16x20.step +T16-20MESDBU,T,16,20,M,E,SDB,U,M-T-16x20.step +T16-20MESDBCM,T,16,20,M,E,SDB,CM,M-T-16x20.step +T16-20M,T,16,20,M,,,,M-T-16x20.step +T16-20MU,T,16,20,M,,,U,M-T-16x20.step +T16-20MCM,T,16,20,M,,,CM,M-T-16x20.step +T16-20MLB,T,16,20,M,,LB,,M-T-16x20.step +T16-20MLBU,T,16,20,M,,LB,U,M-T-16x20.step +T16-20MLBCM,T,16,20,M,,LB,CM,M-T-16x20.step +T16-20MFA,T,16,20,M,,FA,,M-T-16x20.step +T16-20MFAU,T,16,20,M,,FA,U,M-T-16x20.step +T16-20MFACM,T,16,20,M,,FA,CM,M-T-16x20.step +T16-20MFB,T,16,20,M,,FB,,M-T-16x20.step +T16-20MFBU,T,16,20,M,,FB,U,M-T-16x20.step +T16-20MFBCM,T,16,20,M,,FB,CM,M-T-16x20.step +T16-20MSDB,T,16,20,M,,SDB,,M-T-16x20.step +T16-20MSDBU,T,16,20,M,,SDB,U,M-T-16x20.step +T16-20MSDBCM,T,16,20,M,,SDB,CM,M-T-16x20.step +T16-30E,T,16,30,,E,,,M-T-16x30.step +T16-30EU,T,16,30,,E,,U,M-T-16x30.step +T16-30ECM,T,16,30,,E,,CM,M-T-16x30.step +T16-30ELB,T,16,30,,E,LB,,M-T-16x30.step +T16-30ELBU,T,16,30,,E,LB,U,M-T-16x30.step +T16-30ELBCM,T,16,30,,E,LB,CM,M-T-16x30.step +T16-30EFA,T,16,30,,E,FA,,M-T-16x30.step +T16-30EFAU,T,16,30,,E,FA,U,M-T-16x30.step +T16-30EFACM,T,16,30,,E,FA,CM,M-T-16x30.step +T16-30EFB,T,16,30,,E,FB,,M-T-16x30.step +T16-30EFBU,T,16,30,,E,FB,U,M-T-16x30.step +T16-30EFBCM,T,16,30,,E,FB,CM,M-T-16x30.step +T16-30ESDB,T,16,30,,E,SDB,,M-T-16x30.step +T16-30ESDBU,T,16,30,,E,SDB,U,M-T-16x30.step +T16-30ESDBCM,T,16,30,,E,SDB,CM,M-T-16x30.step +T16-30,T,16,30,,,,,M-T-16x30.step +T16-30U,T,16,30,,,,U,M-T-16x30.step +T16-30CM,T,16,30,,,,CM,M-T-16x30.step +T16-30LB,T,16,30,,,LB,,M-T-16x30.step +T16-30LBU,T,16,30,,,LB,U,M-T-16x30.step +T16-30LBCM,T,16,30,,,LB,CM,M-T-16x30.step +T16-30FA,T,16,30,,,FA,,M-T-16x30.step +T16-30FAU,T,16,30,,,FA,U,M-T-16x30.step +T16-30FACM,T,16,30,,,FA,CM,M-T-16x30.step +T16-30FB,T,16,30,,,FB,,M-T-16x30.step +T16-30FBU,T,16,30,,,FB,U,M-T-16x30.step +T16-30FBCM,T,16,30,,,FB,CM,M-T-16x30.step +T16-30SDB,T,16,30,,,SDB,,M-T-16x30.step +T16-30SDBU,T,16,30,,,SDB,U,M-T-16x30.step +T16-30SDBCM,T,16,30,,,SDB,CM,M-T-16x30.step +T16-30ME,T,16,30,M,E,,,M-T-16x30.step +T16-30MEU,T,16,30,M,E,,U,M-T-16x30.step +T16-30MECM,T,16,30,M,E,,CM,M-T-16x30.step +T16-30MELB,T,16,30,M,E,LB,,M-T-16x30.step +T16-30MELBU,T,16,30,M,E,LB,U,M-T-16x30.step +T16-30MELBCM,T,16,30,M,E,LB,CM,M-T-16x30.step +T16-30MEFA,T,16,30,M,E,FA,,M-T-16x30.step +T16-30MEFAU,T,16,30,M,E,FA,U,M-T-16x30.step +T16-30MEFACM,T,16,30,M,E,FA,CM,M-T-16x30.step +T16-30MEFB,T,16,30,M,E,FB,,M-T-16x30.step +T16-30MEFBU,T,16,30,M,E,FB,U,M-T-16x30.step +T16-30MEFBCM,T,16,30,M,E,FB,CM,M-T-16x30.step +T16-30MESDB,T,16,30,M,E,SDB,,M-T-16x30.step +T16-30MESDBU,T,16,30,M,E,SDB,U,M-T-16x30.step +T16-30MESDBCM,T,16,30,M,E,SDB,CM,M-T-16x30.step +T16-30M,T,16,30,M,,,,M-T-16x30.step +T16-30MU,T,16,30,M,,,U,M-T-16x30.step +T16-30MCM,T,16,30,M,,,CM,M-T-16x30.step +T16-30MLB,T,16,30,M,,LB,,M-T-16x30.step +T16-30MLBU,T,16,30,M,,LB,U,M-T-16x30.step +T16-30MLBCM,T,16,30,M,,LB,CM,M-T-16x30.step +T16-30MFA,T,16,30,M,,FA,,M-T-16x30.step +T16-30MFAU,T,16,30,M,,FA,U,M-T-16x30.step +T16-30MFACM,T,16,30,M,,FA,CM,M-T-16x30.step +T16-30MFB,T,16,30,M,,FB,,M-T-16x30.step +T16-30MFBU,T,16,30,M,,FB,U,M-T-16x30.step +T16-30MFBCM,T,16,30,M,,FB,CM,M-T-16x30.step +T16-30MSDB,T,16,30,M,,SDB,,M-T-16x30.step +T16-30MSDBU,T,16,30,M,,SDB,U,M-T-16x30.step +T16-30MSDBCM,T,16,30,M,,SDB,CM,M-T-16x30.step +T16-50E,T,16,50,,E,,,M-T-16x50.step +T16-50EU,T,16,50,,E,,U,M-T-16x50.step +T16-50ECM,T,16,50,,E,,CM,M-T-16x50.step +T16-50ELB,T,16,50,,E,LB,,M-T-16x50.step +T16-50ELBU,T,16,50,,E,LB,U,M-T-16x50.step +T16-50ELBCM,T,16,50,,E,LB,CM,M-T-16x50.step +T16-50EFA,T,16,50,,E,FA,,M-T-16x50.step +T16-50EFAU,T,16,50,,E,FA,U,M-T-16x50.step +T16-50EFACM,T,16,50,,E,FA,CM,M-T-16x50.step +T16-50EFB,T,16,50,,E,FB,,M-T-16x50.step +T16-50EFBU,T,16,50,,E,FB,U,M-T-16x50.step +T16-50EFBCM,T,16,50,,E,FB,CM,M-T-16x50.step +T16-50ESDB,T,16,50,,E,SDB,,M-T-16x50.step +T16-50ESDBU,T,16,50,,E,SDB,U,M-T-16x50.step +T16-50ESDBCM,T,16,50,,E,SDB,CM,M-T-16x50.step +T16-50,T,16,50,,,,,M-T-16x50.step +T16-50U,T,16,50,,,,U,M-T-16x50.step +T16-50CM,T,16,50,,,,CM,M-T-16x50.step +T16-50LB,T,16,50,,,LB,,M-T-16x50.step +T16-50LBU,T,16,50,,,LB,U,M-T-16x50.step +T16-50LBCM,T,16,50,,,LB,CM,M-T-16x50.step +T16-50FA,T,16,50,,,FA,,M-T-16x50.step +T16-50FAU,T,16,50,,,FA,U,M-T-16x50.step +T16-50FACM,T,16,50,,,FA,CM,M-T-16x50.step +T16-50FB,T,16,50,,,FB,,M-T-16x50.step +T16-50FBU,T,16,50,,,FB,U,M-T-16x50.step +T16-50FBCM,T,16,50,,,FB,CM,M-T-16x50.step +T16-50SDB,T,16,50,,,SDB,,M-T-16x50.step +T16-50SDBU,T,16,50,,,SDB,U,M-T-16x50.step +T16-50SDBCM,T,16,50,,,SDB,CM,M-T-16x50.step +T16-50ME,T,16,50,M,E,,,M-T-16x50.step +T16-50MEU,T,16,50,M,E,,U,M-T-16x50.step +T16-50MECM,T,16,50,M,E,,CM,M-T-16x50.step +T16-50MELB,T,16,50,M,E,LB,,M-T-16x50.step +T16-50MELBU,T,16,50,M,E,LB,U,M-T-16x50.step +T16-50MELBCM,T,16,50,M,E,LB,CM,M-T-16x50.step +T16-50MEFA,T,16,50,M,E,FA,,M-T-16x50.step +T16-50MEFAU,T,16,50,M,E,FA,U,M-T-16x50.step +T16-50MEFACM,T,16,50,M,E,FA,CM,M-T-16x50.step +T16-50MEFB,T,16,50,M,E,FB,,M-T-16x50.step +T16-50MEFBU,T,16,50,M,E,FB,U,M-T-16x50.step +T16-50MEFBCM,T,16,50,M,E,FB,CM,M-T-16x50.step +T16-50MESDB,T,16,50,M,E,SDB,,M-T-16x50.step +T16-50MESDBU,T,16,50,M,E,SDB,U,M-T-16x50.step +T16-50MESDBCM,T,16,50,M,E,SDB,CM,M-T-16x50.step +T16-50M,T,16,50,M,,,,M-T-16x50.step +T16-50MU,T,16,50,M,,,U,M-T-16x50.step +T16-50MCM,T,16,50,M,,,CM,M-T-16x50.step +T16-50MLB,T,16,50,M,,LB,,M-T-16x50.step +T16-50MLBU,T,16,50,M,,LB,U,M-T-16x50.step +T16-50MLBCM,T,16,50,M,,LB,CM,M-T-16x50.step +T16-50MFA,T,16,50,M,,FA,,M-T-16x50.step +T16-50MFAU,T,16,50,M,,FA,U,M-T-16x50.step +T16-50MFACM,T,16,50,M,,FA,CM,M-T-16x50.step +T16-50MFB,T,16,50,M,,FB,,M-T-16x50.step +T16-50MFBU,T,16,50,M,,FB,U,M-T-16x50.step +T16-50MFBCM,T,16,50,M,,FB,CM,M-T-16x50.step +T16-50MSDB,T,16,50,M,,SDB,,M-T-16x50.step +T16-50MSDBU,T,16,50,M,,SDB,U,M-T-16x50.step +T16-50MSDBCM,T,16,50,M,,SDB,CM,M-T-16x50.step +T16-75E,T,16,75,,E,,,M-T-16x75.step +T16-75EU,T,16,75,,E,,U,M-T-16x75.step +T16-75ECM,T,16,75,,E,,CM,M-T-16x75.step +T16-75ELB,T,16,75,,E,LB,,M-T-16x75.step +T16-75ELBU,T,16,75,,E,LB,U,M-T-16x75.step +T16-75ELBCM,T,16,75,,E,LB,CM,M-T-16x75.step +T16-75EFA,T,16,75,,E,FA,,M-T-16x75.step +T16-75EFAU,T,16,75,,E,FA,U,M-T-16x75.step +T16-75EFACM,T,16,75,,E,FA,CM,M-T-16x75.step +T16-75EFB,T,16,75,,E,FB,,M-T-16x75.step +T16-75EFBU,T,16,75,,E,FB,U,M-T-16x75.step +T16-75EFBCM,T,16,75,,E,FB,CM,M-T-16x75.step +T16-75ESDB,T,16,75,,E,SDB,,M-T-16x75.step +T16-75ESDBU,T,16,75,,E,SDB,U,M-T-16x75.step +T16-75ESDBCM,T,16,75,,E,SDB,CM,M-T-16x75.step +T16-75,T,16,75,,,,,M-T-16x75.step +T16-75U,T,16,75,,,,U,M-T-16x75.step +T16-75CM,T,16,75,,,,CM,M-T-16x75.step +T16-75LB,T,16,75,,,LB,,M-T-16x75.step +T16-75LBU,T,16,75,,,LB,U,M-T-16x75.step +T16-75LBCM,T,16,75,,,LB,CM,M-T-16x75.step +T16-75FA,T,16,75,,,FA,,M-T-16x75.step +T16-75FAU,T,16,75,,,FA,U,M-T-16x75.step +T16-75FACM,T,16,75,,,FA,CM,M-T-16x75.step +T16-75FB,T,16,75,,,FB,,M-T-16x75.step +T16-75FBU,T,16,75,,,FB,U,M-T-16x75.step +T16-75FBCM,T,16,75,,,FB,CM,M-T-16x75.step +T16-75SDB,T,16,75,,,SDB,,M-T-16x75.step +T16-75SDBU,T,16,75,,,SDB,U,M-T-16x75.step +T16-75SDBCM,T,16,75,,,SDB,CM,M-T-16x75.step +T16-75ME,T,16,75,M,E,,,M-T-16x75.step +T16-75MEU,T,16,75,M,E,,U,M-T-16x75.step +T16-75MECM,T,16,75,M,E,,CM,M-T-16x75.step +T16-75MELB,T,16,75,M,E,LB,,M-T-16x75.step +T16-75MELBU,T,16,75,M,E,LB,U,M-T-16x75.step +T16-75MELBCM,T,16,75,M,E,LB,CM,M-T-16x75.step +T16-75MEFA,T,16,75,M,E,FA,,M-T-16x75.step +T16-75MEFAU,T,16,75,M,E,FA,U,M-T-16x75.step +T16-75MEFACM,T,16,75,M,E,FA,CM,M-T-16x75.step +T16-75MEFB,T,16,75,M,E,FB,,M-T-16x75.step +T16-75MEFBU,T,16,75,M,E,FB,U,M-T-16x75.step +T16-75MEFBCM,T,16,75,M,E,FB,CM,M-T-16x75.step +T16-75MESDB,T,16,75,M,E,SDB,,M-T-16x75.step +T16-75MESDBU,T,16,75,M,E,SDB,U,M-T-16x75.step +T16-75MESDBCM,T,16,75,M,E,SDB,CM,M-T-16x75.step +T16-75M,T,16,75,M,,,,M-T-16x75.step +T16-75MU,T,16,75,M,,,U,M-T-16x75.step +T16-75MCM,T,16,75,M,,,CM,M-T-16x75.step +T16-75MLB,T,16,75,M,,LB,,M-T-16x75.step +T16-75MLBU,T,16,75,M,,LB,U,M-T-16x75.step +T16-75MLBCM,T,16,75,M,,LB,CM,M-T-16x75.step +T16-75MFA,T,16,75,M,,FA,,M-T-16x75.step +T16-75MFAU,T,16,75,M,,FA,U,M-T-16x75.step +T16-75MFACM,T,16,75,M,,FA,CM,M-T-16x75.step +T16-75MFB,T,16,75,M,,FB,,M-T-16x75.step +T16-75MFBU,T,16,75,M,,FB,U,M-T-16x75.step +T16-75MFBCM,T,16,75,M,,FB,CM,M-T-16x75.step +T16-75MSDB,T,16,75,M,,SDB,,M-T-16x75.step +T16-75MSDBU,T,16,75,M,,SDB,U,M-T-16x75.step +T16-75MSDBCM,T,16,75,M,,SDB,CM,M-T-16x75.step +T16-100E,T,16,100,,E,,,M-T-16x100.step +T16-100EU,T,16,100,,E,,U,M-T-16x100.step +T16-100ECM,T,16,100,,E,,CM,M-T-16x100.step +T16-100ELB,T,16,100,,E,LB,,M-T-16x100.step +T16-100ELBU,T,16,100,,E,LB,U,M-T-16x100.step +T16-100ELBCM,T,16,100,,E,LB,CM,M-T-16x100.step +T16-100EFA,T,16,100,,E,FA,,M-T-16x100.step +T16-100EFAU,T,16,100,,E,FA,U,M-T-16x100.step +T16-100EFACM,T,16,100,,E,FA,CM,M-T-16x100.step +T16-100EFB,T,16,100,,E,FB,,M-T-16x100.step +T16-100EFBU,T,16,100,,E,FB,U,M-T-16x100.step +T16-100EFBCM,T,16,100,,E,FB,CM,M-T-16x100.step +T16-100ESDB,T,16,100,,E,SDB,,M-T-16x100.step +T16-100ESDBU,T,16,100,,E,SDB,U,M-T-16x100.step +T16-100ESDBCM,T,16,100,,E,SDB,CM,M-T-16x100.step +T16-100,T,16,100,,,,,M-T-16x100.step +T16-100U,T,16,100,,,,U,M-T-16x100.step +T16-100CM,T,16,100,,,,CM,M-T-16x100.step +T16-100LB,T,16,100,,,LB,,M-T-16x100.step +T16-100LBU,T,16,100,,,LB,U,M-T-16x100.step +T16-100LBCM,T,16,100,,,LB,CM,M-T-16x100.step +T16-100FA,T,16,100,,,FA,,M-T-16x100.step +T16-100FAU,T,16,100,,,FA,U,M-T-16x100.step +T16-100FACM,T,16,100,,,FA,CM,M-T-16x100.step +T16-100FB,T,16,100,,,FB,,M-T-16x100.step +T16-100FBU,T,16,100,,,FB,U,M-T-16x100.step +T16-100FBCM,T,16,100,,,FB,CM,M-T-16x100.step +T16-100SDB,T,16,100,,,SDB,,M-T-16x100.step +T16-100SDBU,T,16,100,,,SDB,U,M-T-16x100.step +T16-100SDBCM,T,16,100,,,SDB,CM,M-T-16x100.step +T16-100ME,T,16,100,M,E,,,M-T-16x100.step +T16-100MEU,T,16,100,M,E,,U,M-T-16x100.step +T16-100MECM,T,16,100,M,E,,CM,M-T-16x100.step +T16-100MELB,T,16,100,M,E,LB,,M-T-16x100.step +T16-100MELBU,T,16,100,M,E,LB,U,M-T-16x100.step +T16-100MELBCM,T,16,100,M,E,LB,CM,M-T-16x100.step +T16-100MEFA,T,16,100,M,E,FA,,M-T-16x100.step +T16-100MEFAU,T,16,100,M,E,FA,U,M-T-16x100.step +T16-100MEFACM,T,16,100,M,E,FA,CM,M-T-16x100.step +T16-100MEFB,T,16,100,M,E,FB,,M-T-16x100.step +T16-100MEFBU,T,16,100,M,E,FB,U,M-T-16x100.step +T16-100MEFBCM,T,16,100,M,E,FB,CM,M-T-16x100.step +T16-100MESDB,T,16,100,M,E,SDB,,M-T-16x100.step +T16-100MESDBU,T,16,100,M,E,SDB,U,M-T-16x100.step +T16-100MESDBCM,T,16,100,M,E,SDB,CM,M-T-16x100.step +T16-100M,T,16,100,M,,,,M-T-16x100.step +T16-100MU,T,16,100,M,,,U,M-T-16x100.step +T16-100MCM,T,16,100,M,,,CM,M-T-16x100.step +T16-100MLB,T,16,100,M,,LB,,M-T-16x100.step +T16-100MLBU,T,16,100,M,,LB,U,M-T-16x100.step +T16-100MLBCM,T,16,100,M,,LB,CM,M-T-16x100.step +T16-100MFA,T,16,100,M,,FA,,M-T-16x100.step +T16-100MFAU,T,16,100,M,,FA,U,M-T-16x100.step +T16-100MFACM,T,16,100,M,,FA,CM,M-T-16x100.step +T16-100MFB,T,16,100,M,,FB,,M-T-16x100.step +T16-100MFBU,T,16,100,M,,FB,U,M-T-16x100.step +T16-100MFBCM,T,16,100,M,,FB,CM,M-T-16x100.step +T16-100MSDB,T,16,100,M,,SDB,,M-T-16x100.step +T16-100MSDBU,T,16,100,M,,SDB,U,M-T-16x100.step +T16-100MSDBCM,T,16,100,M,,SDB,CM,M-T-16x100.step +T20-10E,T,20,10,,E,,,M-T-20x10.step +T20-10EU,T,20,10,,E,,U,M-T-20x10.step +T20-10ECM,T,20,10,,E,,CM,M-T-20x10.step +T20-10ELB,T,20,10,,E,LB,,M-T-20x10.step +T20-10ELBU,T,20,10,,E,LB,U,M-T-20x10.step +T20-10ELBCM,T,20,10,,E,LB,CM,M-T-20x10.step +T20-10EFA,T,20,10,,E,FA,,M-T-20x10.step +T20-10EFAU,T,20,10,,E,FA,U,M-T-20x10.step +T20-10EFACM,T,20,10,,E,FA,CM,M-T-20x10.step +T20-10EFB,T,20,10,,E,FB,,M-T-20x10.step +T20-10EFBU,T,20,10,,E,FB,U,M-T-20x10.step +T20-10EFBCM,T,20,10,,E,FB,CM,M-T-20x10.step +T20-10ESDB,T,20,10,,E,SDB,,M-T-20x10.step +T20-10ESDBU,T,20,10,,E,SDB,U,M-T-20x10.step +T20-10ESDBCM,T,20,10,,E,SDB,CM,M-T-20x10.step +T20-10,T,20,10,,,,,M-T-20x10.step +T20-10U,T,20,10,,,,U,M-T-20x10.step +T20-10CM,T,20,10,,,,CM,M-T-20x10.step +T20-10LB,T,20,10,,,LB,,M-T-20x10.step +T20-10LBU,T,20,10,,,LB,U,M-T-20x10.step +T20-10LBCM,T,20,10,,,LB,CM,M-T-20x10.step +T20-10FA,T,20,10,,,FA,,M-T-20x10.step +T20-10FAU,T,20,10,,,FA,U,M-T-20x10.step +T20-10FACM,T,20,10,,,FA,CM,M-T-20x10.step +T20-10FB,T,20,10,,,FB,,M-T-20x10.step +T20-10FBU,T,20,10,,,FB,U,M-T-20x10.step +T20-10FBCM,T,20,10,,,FB,CM,M-T-20x10.step +T20-10SDB,T,20,10,,,SDB,,M-T-20x10.step +T20-10SDBU,T,20,10,,,SDB,U,M-T-20x10.step +T20-10SDBCM,T,20,10,,,SDB,CM,M-T-20x10.step +T20-10ME,T,20,10,M,E,,,M-T-20x10.step +T20-10MEU,T,20,10,M,E,,U,M-T-20x10.step +T20-10MECM,T,20,10,M,E,,CM,M-T-20x10.step +T20-10MELB,T,20,10,M,E,LB,,M-T-20x10.step +T20-10MELBU,T,20,10,M,E,LB,U,M-T-20x10.step +T20-10MELBCM,T,20,10,M,E,LB,CM,M-T-20x10.step +T20-10MEFA,T,20,10,M,E,FA,,M-T-20x10.step +T20-10MEFAU,T,20,10,M,E,FA,U,M-T-20x10.step +T20-10MEFACM,T,20,10,M,E,FA,CM,M-T-20x10.step +T20-10MEFB,T,20,10,M,E,FB,,M-T-20x10.step +T20-10MEFBU,T,20,10,M,E,FB,U,M-T-20x10.step +T20-10MEFBCM,T,20,10,M,E,FB,CM,M-T-20x10.step +T20-10MESDB,T,20,10,M,E,SDB,,M-T-20x10.step +T20-10MESDBU,T,20,10,M,E,SDB,U,M-T-20x10.step +T20-10MESDBCM,T,20,10,M,E,SDB,CM,M-T-20x10.step +T20-10M,T,20,10,M,,,,M-T-20x10.step +T20-10MU,T,20,10,M,,,U,M-T-20x10.step +T20-10MCM,T,20,10,M,,,CM,M-T-20x10.step +T20-10MLB,T,20,10,M,,LB,,M-T-20x10.step +T20-10MLBU,T,20,10,M,,LB,U,M-T-20x10.step +T20-10MLBCM,T,20,10,M,,LB,CM,M-T-20x10.step +T20-10MFA,T,20,10,M,,FA,,M-T-20x10.step +T20-10MFAU,T,20,10,M,,FA,U,M-T-20x10.step +T20-10MFACM,T,20,10,M,,FA,CM,M-T-20x10.step +T20-10MFB,T,20,10,M,,FB,,M-T-20x10.step +T20-10MFBU,T,20,10,M,,FB,U,M-T-20x10.step +T20-10MFBCM,T,20,10,M,,FB,CM,M-T-20x10.step +T20-10MSDB,T,20,10,M,,SDB,,M-T-20x10.step +T20-10MSDBU,T,20,10,M,,SDB,U,M-T-20x10.step +T20-10MSDBCM,T,20,10,M,,SDB,CM,M-T-20x10.step +T20-20E,T,20,20,,E,,,M-T-20x20.step +T20-20EU,T,20,20,,E,,U,M-T-20x20.step +T20-20ECM,T,20,20,,E,,CM,M-T-20x20.step +T20-20ELB,T,20,20,,E,LB,,M-T-20x20.step +T20-20ELBU,T,20,20,,E,LB,U,M-T-20x20.step +T20-20ELBCM,T,20,20,,E,LB,CM,M-T-20x20.step +T20-20EFA,T,20,20,,E,FA,,M-T-20x20.step +T20-20EFAU,T,20,20,,E,FA,U,M-T-20x20.step +T20-20EFACM,T,20,20,,E,FA,CM,M-T-20x20.step +T20-20EFB,T,20,20,,E,FB,,M-T-20x20.step +T20-20EFBU,T,20,20,,E,FB,U,M-T-20x20.step +T20-20EFBCM,T,20,20,,E,FB,CM,M-T-20x20.step +T20-20ESDB,T,20,20,,E,SDB,,M-T-20x20.step +T20-20ESDBU,T,20,20,,E,SDB,U,M-T-20x20.step +T20-20ESDBCM,T,20,20,,E,SDB,CM,M-T-20x20.step +T20-20,T,20,20,,,,,M-T-20x20.step +T20-20U,T,20,20,,,,U,M-T-20x20.step +T20-20CM,T,20,20,,,,CM,M-T-20x20.step +T20-20LB,T,20,20,,,LB,,M-T-20x20.step +T20-20LBU,T,20,20,,,LB,U,M-T-20x20.step +T20-20LBCM,T,20,20,,,LB,CM,M-T-20x20.step +T20-20FA,T,20,20,,,FA,,M-T-20x20.step +T20-20FAU,T,20,20,,,FA,U,M-T-20x20.step +T20-20FACM,T,20,20,,,FA,CM,M-T-20x20.step +T20-20FB,T,20,20,,,FB,,M-T-20x20.step +T20-20FBU,T,20,20,,,FB,U,M-T-20x20.step +T20-20FBCM,T,20,20,,,FB,CM,M-T-20x20.step +T20-20SDB,T,20,20,,,SDB,,M-T-20x20.step +T20-20SDBU,T,20,20,,,SDB,U,M-T-20x20.step +T20-20SDBCM,T,20,20,,,SDB,CM,M-T-20x20.step +T20-20ME,T,20,20,M,E,,,M-T-20x20.step +T20-20MEU,T,20,20,M,E,,U,M-T-20x20.step +T20-20MECM,T,20,20,M,E,,CM,M-T-20x20.step +T20-20MELB,T,20,20,M,E,LB,,M-T-20x20.step +T20-20MELBU,T,20,20,M,E,LB,U,M-T-20x20.step +T20-20MELBCM,T,20,20,M,E,LB,CM,M-T-20x20.step +T20-20MEFA,T,20,20,M,E,FA,,M-T-20x20.step +T20-20MEFAU,T,20,20,M,E,FA,U,M-T-20x20.step +T20-20MEFACM,T,20,20,M,E,FA,CM,M-T-20x20.step +T20-20MEFB,T,20,20,M,E,FB,,M-T-20x20.step +T20-20MEFBU,T,20,20,M,E,FB,U,M-T-20x20.step +T20-20MEFBCM,T,20,20,M,E,FB,CM,M-T-20x20.step +T20-20MESDB,T,20,20,M,E,SDB,,M-T-20x20.step +T20-20MESDBU,T,20,20,M,E,SDB,U,M-T-20x20.step +T20-20MESDBCM,T,20,20,M,E,SDB,CM,M-T-20x20.step +T20-20M,T,20,20,M,,,,M-T-20x20.step +T20-20MU,T,20,20,M,,,U,M-T-20x20.step +T20-20MCM,T,20,20,M,,,CM,M-T-20x20.step +T20-20MLB,T,20,20,M,,LB,,M-T-20x20.step +T20-20MLBU,T,20,20,M,,LB,U,M-T-20x20.step +T20-20MLBCM,T,20,20,M,,LB,CM,M-T-20x20.step +T20-20MFA,T,20,20,M,,FA,,M-T-20x20.step +T20-20MFAU,T,20,20,M,,FA,U,M-T-20x20.step +T20-20MFACM,T,20,20,M,,FA,CM,M-T-20x20.step +T20-20MFB,T,20,20,M,,FB,,M-T-20x20.step +T20-20MFBU,T,20,20,M,,FB,U,M-T-20x20.step +T20-20MFBCM,T,20,20,M,,FB,CM,M-T-20x20.step +T20-20MSDB,T,20,20,M,,SDB,,M-T-20x20.step +T20-20MSDBU,T,20,20,M,,SDB,U,M-T-20x20.step +T20-20MSDBCM,T,20,20,M,,SDB,CM,M-T-20x20.step +T20-30E,T,20,30,,E,,,M-T-20x30.step +T20-30EU,T,20,30,,E,,U,M-T-20x30.step +T20-30ECM,T,20,30,,E,,CM,M-T-20x30.step +T20-30ELB,T,20,30,,E,LB,,M-T-20x30.step +T20-30ELBU,T,20,30,,E,LB,U,M-T-20x30.step +T20-30ELBCM,T,20,30,,E,LB,CM,M-T-20x30.step +T20-30EFA,T,20,30,,E,FA,,M-T-20x30.step +T20-30EFAU,T,20,30,,E,FA,U,M-T-20x30.step +T20-30EFACM,T,20,30,,E,FA,CM,M-T-20x30.step +T20-30EFB,T,20,30,,E,FB,,M-T-20x30.step +T20-30EFBU,T,20,30,,E,FB,U,M-T-20x30.step +T20-30EFBCM,T,20,30,,E,FB,CM,M-T-20x30.step +T20-30ESDB,T,20,30,,E,SDB,,M-T-20x30.step +T20-30ESDBU,T,20,30,,E,SDB,U,M-T-20x30.step +T20-30ESDBCM,T,20,30,,E,SDB,CM,M-T-20x30.step +T20-30,T,20,30,,,,,M-T-20x30.step +T20-30U,T,20,30,,,,U,M-T-20x30.step +T20-30CM,T,20,30,,,,CM,M-T-20x30.step +T20-30LB,T,20,30,,,LB,,M-T-20x30.step +T20-30LBU,T,20,30,,,LB,U,M-T-20x30.step +T20-30LBCM,T,20,30,,,LB,CM,M-T-20x30.step +T20-30FA,T,20,30,,,FA,,M-T-20x30.step +T20-30FAU,T,20,30,,,FA,U,M-T-20x30.step +T20-30FACM,T,20,30,,,FA,CM,M-T-20x30.step +T20-30FB,T,20,30,,,FB,,M-T-20x30.step +T20-30FBU,T,20,30,,,FB,U,M-T-20x30.step +T20-30FBCM,T,20,30,,,FB,CM,M-T-20x30.step +T20-30SDB,T,20,30,,,SDB,,M-T-20x30.step +T20-30SDBU,T,20,30,,,SDB,U,M-T-20x30.step +T20-30SDBCM,T,20,30,,,SDB,CM,M-T-20x30.step +T20-30ME,T,20,30,M,E,,,M-T-20x30.step +T20-30MEU,T,20,30,M,E,,U,M-T-20x30.step +T20-30MECM,T,20,30,M,E,,CM,M-T-20x30.step +T20-30MELB,T,20,30,M,E,LB,,M-T-20x30.step +T20-30MELBU,T,20,30,M,E,LB,U,M-T-20x30.step +T20-30MELBCM,T,20,30,M,E,LB,CM,M-T-20x30.step +T20-30MEFA,T,20,30,M,E,FA,,M-T-20x30.step +T20-30MEFAU,T,20,30,M,E,FA,U,M-T-20x30.step +T20-30MEFACM,T,20,30,M,E,FA,CM,M-T-20x30.step +T20-30MEFB,T,20,30,M,E,FB,,M-T-20x30.step +T20-30MEFBU,T,20,30,M,E,FB,U,M-T-20x30.step +T20-30MEFBCM,T,20,30,M,E,FB,CM,M-T-20x30.step +T20-30MESDB,T,20,30,M,E,SDB,,M-T-20x30.step +T20-30MESDBU,T,20,30,M,E,SDB,U,M-T-20x30.step +T20-30MESDBCM,T,20,30,M,E,SDB,CM,M-T-20x30.step +T20-30M,T,20,30,M,,,,M-T-20x30.step +T20-30MU,T,20,30,M,,,U,M-T-20x30.step +T20-30MCM,T,20,30,M,,,CM,M-T-20x30.step +T20-30MLB,T,20,30,M,,LB,,M-T-20x30.step +T20-30MLBU,T,20,30,M,,LB,U,M-T-20x30.step +T20-30MLBCM,T,20,30,M,,LB,CM,M-T-20x30.step +T20-30MFA,T,20,30,M,,FA,,M-T-20x30.step +T20-30MFAU,T,20,30,M,,FA,U,M-T-20x30.step +T20-30MFACM,T,20,30,M,,FA,CM,M-T-20x30.step +T20-30MFB,T,20,30,M,,FB,,M-T-20x30.step +T20-30MFBU,T,20,30,M,,FB,U,M-T-20x30.step +T20-30MFBCM,T,20,30,M,,FB,CM,M-T-20x30.step +T20-30MSDB,T,20,30,M,,SDB,,M-T-20x30.step +T20-30MSDBU,T,20,30,M,,SDB,U,M-T-20x30.step +T20-30MSDBCM,T,20,30,M,,SDB,CM,M-T-20x30.step +T20-50E,T,20,50,,E,,,M-T-20x50.step +T20-50EU,T,20,50,,E,,U,M-T-20x50.step +T20-50ECM,T,20,50,,E,,CM,M-T-20x50.step +T20-50ELB,T,20,50,,E,LB,,M-T-20x50.step +T20-50ELBU,T,20,50,,E,LB,U,M-T-20x50.step +T20-50ELBCM,T,20,50,,E,LB,CM,M-T-20x50.step +T20-50EFA,T,20,50,,E,FA,,M-T-20x50.step +T20-50EFAU,T,20,50,,E,FA,U,M-T-20x50.step +T20-50EFACM,T,20,50,,E,FA,CM,M-T-20x50.step +T20-50EFB,T,20,50,,E,FB,,M-T-20x50.step +T20-50EFBU,T,20,50,,E,FB,U,M-T-20x50.step +T20-50EFBCM,T,20,50,,E,FB,CM,M-T-20x50.step +T20-50ESDB,T,20,50,,E,SDB,,M-T-20x50.step +T20-50ESDBU,T,20,50,,E,SDB,U,M-T-20x50.step +T20-50ESDBCM,T,20,50,,E,SDB,CM,M-T-20x50.step +T20-50,T,20,50,,,,,M-T-20x50.step +T20-50U,T,20,50,,,,U,M-T-20x50.step +T20-50CM,T,20,50,,,,CM,M-T-20x50.step +T20-50LB,T,20,50,,,LB,,M-T-20x50.step +T20-50LBU,T,20,50,,,LB,U,M-T-20x50.step +T20-50LBCM,T,20,50,,,LB,CM,M-T-20x50.step +T20-50FA,T,20,50,,,FA,,M-T-20x50.step +T20-50FAU,T,20,50,,,FA,U,M-T-20x50.step +T20-50FACM,T,20,50,,,FA,CM,M-T-20x50.step +T20-50FB,T,20,50,,,FB,,M-T-20x50.step +T20-50FBU,T,20,50,,,FB,U,M-T-20x50.step +T20-50FBCM,T,20,50,,,FB,CM,M-T-20x50.step +T20-50SDB,T,20,50,,,SDB,,M-T-20x50.step +T20-50SDBU,T,20,50,,,SDB,U,M-T-20x50.step +T20-50SDBCM,T,20,50,,,SDB,CM,M-T-20x50.step +T20-50ME,T,20,50,M,E,,,M-T-20x50.step +T20-50MEU,T,20,50,M,E,,U,M-T-20x50.step +T20-50MECM,T,20,50,M,E,,CM,M-T-20x50.step +T20-50MELB,T,20,50,M,E,LB,,M-T-20x50.step +T20-50MELBU,T,20,50,M,E,LB,U,M-T-20x50.step +T20-50MELBCM,T,20,50,M,E,LB,CM,M-T-20x50.step +T20-50MEFA,T,20,50,M,E,FA,,M-T-20x50.step +T20-50MEFAU,T,20,50,M,E,FA,U,M-T-20x50.step +T20-50MEFACM,T,20,50,M,E,FA,CM,M-T-20x50.step +T20-50MEFB,T,20,50,M,E,FB,,M-T-20x50.step +T20-50MEFBU,T,20,50,M,E,FB,U,M-T-20x50.step +T20-50MEFBCM,T,20,50,M,E,FB,CM,M-T-20x50.step +T20-50MESDB,T,20,50,M,E,SDB,,M-T-20x50.step +T20-50MESDBU,T,20,50,M,E,SDB,U,M-T-20x50.step +T20-50MESDBCM,T,20,50,M,E,SDB,CM,M-T-20x50.step +T20-50M,T,20,50,M,,,,M-T-20x50.step +T20-50MU,T,20,50,M,,,U,M-T-20x50.step +T20-50MCM,T,20,50,M,,,CM,M-T-20x50.step +T20-50MLB,T,20,50,M,,LB,,M-T-20x50.step +T20-50MLBU,T,20,50,M,,LB,U,M-T-20x50.step +T20-50MLBCM,T,20,50,M,,LB,CM,M-T-20x50.step +T20-50MFA,T,20,50,M,,FA,,M-T-20x50.step +T20-50MFAU,T,20,50,M,,FA,U,M-T-20x50.step +T20-50MFACM,T,20,50,M,,FA,CM,M-T-20x50.step +T20-50MFB,T,20,50,M,,FB,,M-T-20x50.step +T20-50MFBU,T,20,50,M,,FB,U,M-T-20x50.step +T20-50MFBCM,T,20,50,M,,FB,CM,M-T-20x50.step +T20-50MSDB,T,20,50,M,,SDB,,M-T-20x50.step +T20-50MSDBU,T,20,50,M,,SDB,U,M-T-20x50.step +T20-50MSDBCM,T,20,50,M,,SDB,CM,M-T-20x50.step +T20-75E,T,20,75,,E,,,M-T-20x75.step +T20-75EU,T,20,75,,E,,U,M-T-20x75.step +T20-75ECM,T,20,75,,E,,CM,M-T-20x75.step +T20-75ELB,T,20,75,,E,LB,,M-T-20x75.step +T20-75ELBU,T,20,75,,E,LB,U,M-T-20x75.step +T20-75ELBCM,T,20,75,,E,LB,CM,M-T-20x75.step +T20-75EFA,T,20,75,,E,FA,,M-T-20x75.step +T20-75EFAU,T,20,75,,E,FA,U,M-T-20x75.step +T20-75EFACM,T,20,75,,E,FA,CM,M-T-20x75.step +T20-75EFB,T,20,75,,E,FB,,M-T-20x75.step +T20-75EFBU,T,20,75,,E,FB,U,M-T-20x75.step +T20-75EFBCM,T,20,75,,E,FB,CM,M-T-20x75.step +T20-75ESDB,T,20,75,,E,SDB,,M-T-20x75.step +T20-75ESDBU,T,20,75,,E,SDB,U,M-T-20x75.step +T20-75ESDBCM,T,20,75,,E,SDB,CM,M-T-20x75.step +T20-75,T,20,75,,,,,M-T-20x75.step +T20-75U,T,20,75,,,,U,M-T-20x75.step +T20-75CM,T,20,75,,,,CM,M-T-20x75.step +T20-75LB,T,20,75,,,LB,,M-T-20x75.step +T20-75LBU,T,20,75,,,LB,U,M-T-20x75.step +T20-75LBCM,T,20,75,,,LB,CM,M-T-20x75.step +T20-75FA,T,20,75,,,FA,,M-T-20x75.step +T20-75FAU,T,20,75,,,FA,U,M-T-20x75.step +T20-75FACM,T,20,75,,,FA,CM,M-T-20x75.step +T20-75FB,T,20,75,,,FB,,M-T-20x75.step +T20-75FBU,T,20,75,,,FB,U,M-T-20x75.step +T20-75FBCM,T,20,75,,,FB,CM,M-T-20x75.step +T20-75SDB,T,20,75,,,SDB,,M-T-20x75.step +T20-75SDBU,T,20,75,,,SDB,U,M-T-20x75.step +T20-75SDBCM,T,20,75,,,SDB,CM,M-T-20x75.step +T20-75ME,T,20,75,M,E,,,M-T-20x75.step +T20-75MEU,T,20,75,M,E,,U,M-T-20x75.step +T20-75MECM,T,20,75,M,E,,CM,M-T-20x75.step +T20-75MELB,T,20,75,M,E,LB,,M-T-20x75.step +T20-75MELBU,T,20,75,M,E,LB,U,M-T-20x75.step +T20-75MELBCM,T,20,75,M,E,LB,CM,M-T-20x75.step +T20-75MEFA,T,20,75,M,E,FA,,M-T-20x75.step +T20-75MEFAU,T,20,75,M,E,FA,U,M-T-20x75.step +T20-75MEFACM,T,20,75,M,E,FA,CM,M-T-20x75.step +T20-75MEFB,T,20,75,M,E,FB,,M-T-20x75.step +T20-75MEFBU,T,20,75,M,E,FB,U,M-T-20x75.step +T20-75MEFBCM,T,20,75,M,E,FB,CM,M-T-20x75.step +T20-75MESDB,T,20,75,M,E,SDB,,M-T-20x75.step +T20-75MESDBU,T,20,75,M,E,SDB,U,M-T-20x75.step +T20-75MESDBCM,T,20,75,M,E,SDB,CM,M-T-20x75.step +T20-75M,T,20,75,M,,,,M-T-20x75.step +T20-75MU,T,20,75,M,,,U,M-T-20x75.step +T20-75MCM,T,20,75,M,,,CM,M-T-20x75.step +T20-75MLB,T,20,75,M,,LB,,M-T-20x75.step +T20-75MLBU,T,20,75,M,,LB,U,M-T-20x75.step +T20-75MLBCM,T,20,75,M,,LB,CM,M-T-20x75.step +T20-75MFA,T,20,75,M,,FA,,M-T-20x75.step +T20-75MFAU,T,20,75,M,,FA,U,M-T-20x75.step +T20-75MFACM,T,20,75,M,,FA,CM,M-T-20x75.step +T20-75MFB,T,20,75,M,,FB,,M-T-20x75.step +T20-75MFBU,T,20,75,M,,FB,U,M-T-20x75.step +T20-75MFBCM,T,20,75,M,,FB,CM,M-T-20x75.step +T20-75MSDB,T,20,75,M,,SDB,,M-T-20x75.step +T20-75MSDBU,T,20,75,M,,SDB,U,M-T-20x75.step +T20-75MSDBCM,T,20,75,M,,SDB,CM,M-T-20x75.step +T20-100E,T,20,100,,E,,,M-T-20x100.step +T20-100EU,T,20,100,,E,,U,M-T-20x100.step +T20-100ECM,T,20,100,,E,,CM,M-T-20x100.step +T20-100ELB,T,20,100,,E,LB,,M-T-20x100.step +T20-100ELBU,T,20,100,,E,LB,U,M-T-20x100.step +T20-100ELBCM,T,20,100,,E,LB,CM,M-T-20x100.step +T20-100EFA,T,20,100,,E,FA,,M-T-20x100.step +T20-100EFAU,T,20,100,,E,FA,U,M-T-20x100.step +T20-100EFACM,T,20,100,,E,FA,CM,M-T-20x100.step +T20-100EFB,T,20,100,,E,FB,,M-T-20x100.step +T20-100EFBU,T,20,100,,E,FB,U,M-T-20x100.step +T20-100EFBCM,T,20,100,,E,FB,CM,M-T-20x100.step +T20-100ESDB,T,20,100,,E,SDB,,M-T-20x100.step +T20-100ESDBU,T,20,100,,E,SDB,U,M-T-20x100.step +T20-100ESDBCM,T,20,100,,E,SDB,CM,M-T-20x100.step +T20-100,T,20,100,,,,,M-T-20x100.step +T20-100U,T,20,100,,,,U,M-T-20x100.step +T20-100CM,T,20,100,,,,CM,M-T-20x100.step +T20-100LB,T,20,100,,,LB,,M-T-20x100.step +T20-100LBU,T,20,100,,,LB,U,M-T-20x100.step +T20-100LBCM,T,20,100,,,LB,CM,M-T-20x100.step +T20-100FA,T,20,100,,,FA,,M-T-20x100.step +T20-100FAU,T,20,100,,,FA,U,M-T-20x100.step +T20-100FACM,T,20,100,,,FA,CM,M-T-20x100.step +T20-100FB,T,20,100,,,FB,,M-T-20x100.step +T20-100FBU,T,20,100,,,FB,U,M-T-20x100.step +T20-100FBCM,T,20,100,,,FB,CM,M-T-20x100.step +T20-100SDB,T,20,100,,,SDB,,M-T-20x100.step +T20-100SDBU,T,20,100,,,SDB,U,M-T-20x100.step +T20-100SDBCM,T,20,100,,,SDB,CM,M-T-20x100.step +T20-100ME,T,20,100,M,E,,,M-T-20x100.step +T20-100MEU,T,20,100,M,E,,U,M-T-20x100.step +T20-100MECM,T,20,100,M,E,,CM,M-T-20x100.step +T20-100MELB,T,20,100,M,E,LB,,M-T-20x100.step +T20-100MELBU,T,20,100,M,E,LB,U,M-T-20x100.step +T20-100MELBCM,T,20,100,M,E,LB,CM,M-T-20x100.step +T20-100MEFA,T,20,100,M,E,FA,,M-T-20x100.step +T20-100MEFAU,T,20,100,M,E,FA,U,M-T-20x100.step +T20-100MEFACM,T,20,100,M,E,FA,CM,M-T-20x100.step +T20-100MEFB,T,20,100,M,E,FB,,M-T-20x100.step +T20-100MEFBU,T,20,100,M,E,FB,U,M-T-20x100.step +T20-100MEFBCM,T,20,100,M,E,FB,CM,M-T-20x100.step +T20-100MESDB,T,20,100,M,E,SDB,,M-T-20x100.step +T20-100MESDBU,T,20,100,M,E,SDB,U,M-T-20x100.step +T20-100MESDBCM,T,20,100,M,E,SDB,CM,M-T-20x100.step +T20-100M,T,20,100,M,,,,M-T-20x100.step +T20-100MU,T,20,100,M,,,U,M-T-20x100.step +T20-100MCM,T,20,100,M,,,CM,M-T-20x100.step +T20-100MLB,T,20,100,M,,LB,,M-T-20x100.step +T20-100MLBU,T,20,100,M,,LB,U,M-T-20x100.step +T20-100MLBCM,T,20,100,M,,LB,CM,M-T-20x100.step +T20-100MFA,T,20,100,M,,FA,,M-T-20x100.step +T20-100MFAU,T,20,100,M,,FA,U,M-T-20x100.step +T20-100MFACM,T,20,100,M,,FA,CM,M-T-20x100.step +T20-100MFB,T,20,100,M,,FB,,M-T-20x100.step +T20-100MFBU,T,20,100,M,,FB,U,M-T-20x100.step +T20-100MFBCM,T,20,100,M,,FB,CM,M-T-20x100.step +T20-100MSDB,T,20,100,M,,SDB,,M-T-20x100.step +T20-100MSDBU,T,20,100,M,,SDB,U,M-T-20x100.step +T20-100MSDBCM,T,20,100,M,,SDB,CM,M-T-20x100.step +T25-10E,T,25,10,,E,,,M-T-25x10.step +T25-10EU,T,25,10,,E,,U,M-T-25x10.step +T25-10ECM,T,25,10,,E,,CM,M-T-25x10.step +T25-10ELB,T,25,10,,E,LB,,M-T-25x10.step +T25-10ELBU,T,25,10,,E,LB,U,M-T-25x10.step +T25-10ELBCM,T,25,10,,E,LB,CM,M-T-25x10.step +T25-10EFA,T,25,10,,E,FA,,M-T-25x10.step +T25-10EFAU,T,25,10,,E,FA,U,M-T-25x10.step +T25-10EFACM,T,25,10,,E,FA,CM,M-T-25x10.step +T25-10EFB,T,25,10,,E,FB,,M-T-25x10.step +T25-10EFBU,T,25,10,,E,FB,U,M-T-25x10.step +T25-10EFBCM,T,25,10,,E,FB,CM,M-T-25x10.step +T25-10ESDB,T,25,10,,E,SDB,,M-T-25x10.step +T25-10ESDBU,T,25,10,,E,SDB,U,M-T-25x10.step +T25-10ESDBCM,T,25,10,,E,SDB,CM,M-T-25x10.step +T25-10,T,25,10,,,,,M-T-25x10.step +T25-10U,T,25,10,,,,U,M-T-25x10.step +T25-10CM,T,25,10,,,,CM,M-T-25x10.step +T25-10LB,T,25,10,,,LB,,M-T-25x10.step +T25-10LBU,T,25,10,,,LB,U,M-T-25x10.step +T25-10LBCM,T,25,10,,,LB,CM,M-T-25x10.step +T25-10FA,T,25,10,,,FA,,M-T-25x10.step +T25-10FAU,T,25,10,,,FA,U,M-T-25x10.step +T25-10FACM,T,25,10,,,FA,CM,M-T-25x10.step +T25-10FB,T,25,10,,,FB,,M-T-25x10.step +T25-10FBU,T,25,10,,,FB,U,M-T-25x10.step +T25-10FBCM,T,25,10,,,FB,CM,M-T-25x10.step +T25-10SDB,T,25,10,,,SDB,,M-T-25x10.step +T25-10SDBU,T,25,10,,,SDB,U,M-T-25x10.step +T25-10SDBCM,T,25,10,,,SDB,CM,M-T-25x10.step +T25-10ME,T,25,10,M,E,,,M-T-25x10.step +T25-10MEU,T,25,10,M,E,,U,M-T-25x10.step +T25-10MECM,T,25,10,M,E,,CM,M-T-25x10.step +T25-10MELB,T,25,10,M,E,LB,,M-T-25x10.step +T25-10MELBU,T,25,10,M,E,LB,U,M-T-25x10.step +T25-10MELBCM,T,25,10,M,E,LB,CM,M-T-25x10.step +T25-10MEFA,T,25,10,M,E,FA,,M-T-25x10.step +T25-10MEFAU,T,25,10,M,E,FA,U,M-T-25x10.step +T25-10MEFACM,T,25,10,M,E,FA,CM,M-T-25x10.step +T25-10MEFB,T,25,10,M,E,FB,,M-T-25x10.step +T25-10MEFBU,T,25,10,M,E,FB,U,M-T-25x10.step +T25-10MEFBCM,T,25,10,M,E,FB,CM,M-T-25x10.step +T25-10MESDB,T,25,10,M,E,SDB,,M-T-25x10.step +T25-10MESDBU,T,25,10,M,E,SDB,U,M-T-25x10.step +T25-10MESDBCM,T,25,10,M,E,SDB,CM,M-T-25x10.step +T25-10M,T,25,10,M,,,,M-T-25x10.step +T25-10MU,T,25,10,M,,,U,M-T-25x10.step +T25-10MCM,T,25,10,M,,,CM,M-T-25x10.step +T25-10MLB,T,25,10,M,,LB,,M-T-25x10.step +T25-10MLBU,T,25,10,M,,LB,U,M-T-25x10.step +T25-10MLBCM,T,25,10,M,,LB,CM,M-T-25x10.step +T25-10MFA,T,25,10,M,,FA,,M-T-25x10.step +T25-10MFAU,T,25,10,M,,FA,U,M-T-25x10.step +T25-10MFACM,T,25,10,M,,FA,CM,M-T-25x10.step +T25-10MFB,T,25,10,M,,FB,,M-T-25x10.step +T25-10MFBU,T,25,10,M,,FB,U,M-T-25x10.step +T25-10MFBCM,T,25,10,M,,FB,CM,M-T-25x10.step +T25-10MSDB,T,25,10,M,,SDB,,M-T-25x10.step +T25-10MSDBU,T,25,10,M,,SDB,U,M-T-25x10.step +T25-10MSDBCM,T,25,10,M,,SDB,CM,M-T-25x10.step +T25-20E,T,25,20,,E,,,M-T-25x20.step +T25-20EU,T,25,20,,E,,U,M-T-25x20.step +T25-20ECM,T,25,20,,E,,CM,M-T-25x20.step +T25-20ELB,T,25,20,,E,LB,,M-T-25x20.step +T25-20ELBU,T,25,20,,E,LB,U,M-T-25x20.step +T25-20ELBCM,T,25,20,,E,LB,CM,M-T-25x20.step +T25-20EFA,T,25,20,,E,FA,,M-T-25x20.step +T25-20EFAU,T,25,20,,E,FA,U,M-T-25x20.step +T25-20EFACM,T,25,20,,E,FA,CM,M-T-25x20.step +T25-20EFB,T,25,20,,E,FB,,M-T-25x20.step +T25-20EFBU,T,25,20,,E,FB,U,M-T-25x20.step +T25-20EFBCM,T,25,20,,E,FB,CM,M-T-25x20.step +T25-20ESDB,T,25,20,,E,SDB,,M-T-25x20.step +T25-20ESDBU,T,25,20,,E,SDB,U,M-T-25x20.step +T25-20ESDBCM,T,25,20,,E,SDB,CM,M-T-25x20.step +T25-20,T,25,20,,,,,M-T-25x20.step +T25-20U,T,25,20,,,,U,M-T-25x20.step +T25-20CM,T,25,20,,,,CM,M-T-25x20.step +T25-20LB,T,25,20,,,LB,,M-T-25x20.step +T25-20LBU,T,25,20,,,LB,U,M-T-25x20.step +T25-20LBCM,T,25,20,,,LB,CM,M-T-25x20.step +T25-20FA,T,25,20,,,FA,,M-T-25x20.step +T25-20FAU,T,25,20,,,FA,U,M-T-25x20.step +T25-20FACM,T,25,20,,,FA,CM,M-T-25x20.step +T25-20FB,T,25,20,,,FB,,M-T-25x20.step +T25-20FBU,T,25,20,,,FB,U,M-T-25x20.step +T25-20FBCM,T,25,20,,,FB,CM,M-T-25x20.step +T25-20SDB,T,25,20,,,SDB,,M-T-25x20.step +T25-20SDBU,T,25,20,,,SDB,U,M-T-25x20.step +T25-20SDBCM,T,25,20,,,SDB,CM,M-T-25x20.step +T25-20ME,T,25,20,M,E,,,M-T-25x20.step +T25-20MEU,T,25,20,M,E,,U,M-T-25x20.step +T25-20MECM,T,25,20,M,E,,CM,M-T-25x20.step +T25-20MELB,T,25,20,M,E,LB,,M-T-25x20.step +T25-20MELBU,T,25,20,M,E,LB,U,M-T-25x20.step +T25-20MELBCM,T,25,20,M,E,LB,CM,M-T-25x20.step +T25-20MEFA,T,25,20,M,E,FA,,M-T-25x20.step +T25-20MEFAU,T,25,20,M,E,FA,U,M-T-25x20.step +T25-20MEFACM,T,25,20,M,E,FA,CM,M-T-25x20.step +T25-20MEFB,T,25,20,M,E,FB,,M-T-25x20.step +T25-20MEFBU,T,25,20,M,E,FB,U,M-T-25x20.step +T25-20MEFBCM,T,25,20,M,E,FB,CM,M-T-25x20.step +T25-20MESDB,T,25,20,M,E,SDB,,M-T-25x20.step +T25-20MESDBU,T,25,20,M,E,SDB,U,M-T-25x20.step +T25-20MESDBCM,T,25,20,M,E,SDB,CM,M-T-25x20.step +T25-20M,T,25,20,M,,,,M-T-25x20.step +T25-20MU,T,25,20,M,,,U,M-T-25x20.step +T25-20MCM,T,25,20,M,,,CM,M-T-25x20.step +T25-20MLB,T,25,20,M,,LB,,M-T-25x20.step +T25-20MLBU,T,25,20,M,,LB,U,M-T-25x20.step +T25-20MLBCM,T,25,20,M,,LB,CM,M-T-25x20.step +T25-20MFA,T,25,20,M,,FA,,M-T-25x20.step +T25-20MFAU,T,25,20,M,,FA,U,M-T-25x20.step +T25-20MFACM,T,25,20,M,,FA,CM,M-T-25x20.step +T25-20MFB,T,25,20,M,,FB,,M-T-25x20.step +T25-20MFBU,T,25,20,M,,FB,U,M-T-25x20.step +T25-20MFBCM,T,25,20,M,,FB,CM,M-T-25x20.step +T25-20MSDB,T,25,20,M,,SDB,,M-T-25x20.step +T25-20MSDBU,T,25,20,M,,SDB,U,M-T-25x20.step +T25-20MSDBCM,T,25,20,M,,SDB,CM,M-T-25x20.step +T25-30E,T,25,30,,E,,,M-T-25x30.step +T25-30EU,T,25,30,,E,,U,M-T-25x30.step +T25-30ECM,T,25,30,,E,,CM,M-T-25x30.step +T25-30ELB,T,25,30,,E,LB,,M-T-25x30.step +T25-30ELBU,T,25,30,,E,LB,U,M-T-25x30.step +T25-30ELBCM,T,25,30,,E,LB,CM,M-T-25x30.step +T25-30EFA,T,25,30,,E,FA,,M-T-25x30.step +T25-30EFAU,T,25,30,,E,FA,U,M-T-25x30.step +T25-30EFACM,T,25,30,,E,FA,CM,M-T-25x30.step +T25-30EFB,T,25,30,,E,FB,,M-T-25x30.step +T25-30EFBU,T,25,30,,E,FB,U,M-T-25x30.step +T25-30EFBCM,T,25,30,,E,FB,CM,M-T-25x30.step +T25-30ESDB,T,25,30,,E,SDB,,M-T-25x30.step +T25-30ESDBU,T,25,30,,E,SDB,U,M-T-25x30.step +T25-30ESDBCM,T,25,30,,E,SDB,CM,M-T-25x30.step +T25-30,T,25,30,,,,,M-T-25x30.step +T25-30U,T,25,30,,,,U,M-T-25x30.step +T25-30CM,T,25,30,,,,CM,M-T-25x30.step +T25-30LB,T,25,30,,,LB,,M-T-25x30.step +T25-30LBU,T,25,30,,,LB,U,M-T-25x30.step +T25-30LBCM,T,25,30,,,LB,CM,M-T-25x30.step +T25-30FA,T,25,30,,,FA,,M-T-25x30.step +T25-30FAU,T,25,30,,,FA,U,M-T-25x30.step +T25-30FACM,T,25,30,,,FA,CM,M-T-25x30.step +T25-30FB,T,25,30,,,FB,,M-T-25x30.step +T25-30FBU,T,25,30,,,FB,U,M-T-25x30.step +T25-30FBCM,T,25,30,,,FB,CM,M-T-25x30.step +T25-30SDB,T,25,30,,,SDB,,M-T-25x30.step +T25-30SDBU,T,25,30,,,SDB,U,M-T-25x30.step +T25-30SDBCM,T,25,30,,,SDB,CM,M-T-25x30.step +T25-30ME,T,25,30,M,E,,,M-T-25x30.step +T25-30MEU,T,25,30,M,E,,U,M-T-25x30.step +T25-30MECM,T,25,30,M,E,,CM,M-T-25x30.step +T25-30MELB,T,25,30,M,E,LB,,M-T-25x30.step +T25-30MELBU,T,25,30,M,E,LB,U,M-T-25x30.step +T25-30MELBCM,T,25,30,M,E,LB,CM,M-T-25x30.step +T25-30MEFA,T,25,30,M,E,FA,,M-T-25x30.step +T25-30MEFAU,T,25,30,M,E,FA,U,M-T-25x30.step +T25-30MEFACM,T,25,30,M,E,FA,CM,M-T-25x30.step +T25-30MEFB,T,25,30,M,E,FB,,M-T-25x30.step +T25-30MEFBU,T,25,30,M,E,FB,U,M-T-25x30.step +T25-30MEFBCM,T,25,30,M,E,FB,CM,M-T-25x30.step +T25-30MESDB,T,25,30,M,E,SDB,,M-T-25x30.step +T25-30MESDBU,T,25,30,M,E,SDB,U,M-T-25x30.step +T25-30MESDBCM,T,25,30,M,E,SDB,CM,M-T-25x30.step +T25-30M,T,25,30,M,,,,M-T-25x30.step +T25-30MU,T,25,30,M,,,U,M-T-25x30.step +T25-30MCM,T,25,30,M,,,CM,M-T-25x30.step +T25-30MLB,T,25,30,M,,LB,,M-T-25x30.step +T25-30MLBU,T,25,30,M,,LB,U,M-T-25x30.step +T25-30MLBCM,T,25,30,M,,LB,CM,M-T-25x30.step +T25-30MFA,T,25,30,M,,FA,,M-T-25x30.step +T25-30MFAU,T,25,30,M,,FA,U,M-T-25x30.step +T25-30MFACM,T,25,30,M,,FA,CM,M-T-25x30.step +T25-30MFB,T,25,30,M,,FB,,M-T-25x30.step +T25-30MFBU,T,25,30,M,,FB,U,M-T-25x30.step +T25-30MFBCM,T,25,30,M,,FB,CM,M-T-25x30.step +T25-30MSDB,T,25,30,M,,SDB,,M-T-25x30.step +T25-30MSDBU,T,25,30,M,,SDB,U,M-T-25x30.step +T25-30MSDBCM,T,25,30,M,,SDB,CM,M-T-25x30.step +T25-50E,T,25,50,,E,,,M-T-25x50.step +T25-50EU,T,25,50,,E,,U,M-T-25x50.step +T25-50ECM,T,25,50,,E,,CM,M-T-25x50.step +T25-50ELB,T,25,50,,E,LB,,M-T-25x50.step +T25-50ELBU,T,25,50,,E,LB,U,M-T-25x50.step +T25-50ELBCM,T,25,50,,E,LB,CM,M-T-25x50.step +T25-50EFA,T,25,50,,E,FA,,M-T-25x50.step +T25-50EFAU,T,25,50,,E,FA,U,M-T-25x50.step +T25-50EFACM,T,25,50,,E,FA,CM,M-T-25x50.step +T25-50EFB,T,25,50,,E,FB,,M-T-25x50.step +T25-50EFBU,T,25,50,,E,FB,U,M-T-25x50.step +T25-50EFBCM,T,25,50,,E,FB,CM,M-T-25x50.step +T25-50ESDB,T,25,50,,E,SDB,,M-T-25x50.step +T25-50ESDBU,T,25,50,,E,SDB,U,M-T-25x50.step +T25-50ESDBCM,T,25,50,,E,SDB,CM,M-T-25x50.step +T25-50,T,25,50,,,,,M-T-25x50.step +T25-50U,T,25,50,,,,U,M-T-25x50.step +T25-50CM,T,25,50,,,,CM,M-T-25x50.step +T25-50LB,T,25,50,,,LB,,M-T-25x50.step +T25-50LBU,T,25,50,,,LB,U,M-T-25x50.step +T25-50LBCM,T,25,50,,,LB,CM,M-T-25x50.step +T25-50FA,T,25,50,,,FA,,M-T-25x50.step +T25-50FAU,T,25,50,,,FA,U,M-T-25x50.step +T25-50FACM,T,25,50,,,FA,CM,M-T-25x50.step +T25-50FB,T,25,50,,,FB,,M-T-25x50.step +T25-50FBU,T,25,50,,,FB,U,M-T-25x50.step +T25-50FBCM,T,25,50,,,FB,CM,M-T-25x50.step +T25-50SDB,T,25,50,,,SDB,,M-T-25x50.step +T25-50SDBU,T,25,50,,,SDB,U,M-T-25x50.step +T25-50SDBCM,T,25,50,,,SDB,CM,M-T-25x50.step +T25-50ME,T,25,50,M,E,,,M-T-25x50.step +T25-50MEU,T,25,50,M,E,,U,M-T-25x50.step +T25-50MECM,T,25,50,M,E,,CM,M-T-25x50.step +T25-50MELB,T,25,50,M,E,LB,,M-T-25x50.step +T25-50MELBU,T,25,50,M,E,LB,U,M-T-25x50.step +T25-50MELBCM,T,25,50,M,E,LB,CM,M-T-25x50.step +T25-50MEFA,T,25,50,M,E,FA,,M-T-25x50.step +T25-50MEFAU,T,25,50,M,E,FA,U,M-T-25x50.step +T25-50MEFACM,T,25,50,M,E,FA,CM,M-T-25x50.step +T25-50MEFB,T,25,50,M,E,FB,,M-T-25x50.step +T25-50MEFBU,T,25,50,M,E,FB,U,M-T-25x50.step +T25-50MEFBCM,T,25,50,M,E,FB,CM,M-T-25x50.step +T25-50MESDB,T,25,50,M,E,SDB,,M-T-25x50.step +T25-50MESDBU,T,25,50,M,E,SDB,U,M-T-25x50.step +T25-50MESDBCM,T,25,50,M,E,SDB,CM,M-T-25x50.step +T25-50M,T,25,50,M,,,,M-T-25x50.step +T25-50MU,T,25,50,M,,,U,M-T-25x50.step +T25-50MCM,T,25,50,M,,,CM,M-T-25x50.step +T25-50MLB,T,25,50,M,,LB,,M-T-25x50.step +T25-50MLBU,T,25,50,M,,LB,U,M-T-25x50.step +T25-50MLBCM,T,25,50,M,,LB,CM,M-T-25x50.step +T25-50MFA,T,25,50,M,,FA,,M-T-25x50.step +T25-50MFAU,T,25,50,M,,FA,U,M-T-25x50.step +T25-50MFACM,T,25,50,M,,FA,CM,M-T-25x50.step +T25-50MFB,T,25,50,M,,FB,,M-T-25x50.step +T25-50MFBU,T,25,50,M,,FB,U,M-T-25x50.step +T25-50MFBCM,T,25,50,M,,FB,CM,M-T-25x50.step +T25-50MSDB,T,25,50,M,,SDB,,M-T-25x50.step +T25-50MSDBU,T,25,50,M,,SDB,U,M-T-25x50.step +T25-50MSDBCM,T,25,50,M,,SDB,CM,M-T-25x50.step +T25-75E,T,25,75,,E,,,M-T-25x75.step +T25-75EU,T,25,75,,E,,U,M-T-25x75.step +T25-75ECM,T,25,75,,E,,CM,M-T-25x75.step +T25-75ELB,T,25,75,,E,LB,,M-T-25x75.step +T25-75ELBU,T,25,75,,E,LB,U,M-T-25x75.step +T25-75ELBCM,T,25,75,,E,LB,CM,M-T-25x75.step +T25-75EFA,T,25,75,,E,FA,,M-T-25x75.step +T25-75EFAU,T,25,75,,E,FA,U,M-T-25x75.step +T25-75EFACM,T,25,75,,E,FA,CM,M-T-25x75.step +T25-75EFB,T,25,75,,E,FB,,M-T-25x75.step +T25-75EFBU,T,25,75,,E,FB,U,M-T-25x75.step +T25-75EFBCM,T,25,75,,E,FB,CM,M-T-25x75.step +T25-75ESDB,T,25,75,,E,SDB,,M-T-25x75.step +T25-75ESDBU,T,25,75,,E,SDB,U,M-T-25x75.step +T25-75ESDBCM,T,25,75,,E,SDB,CM,M-T-25x75.step +T25-75,T,25,75,,,,,M-T-25x75.step +T25-75U,T,25,75,,,,U,M-T-25x75.step +T25-75CM,T,25,75,,,,CM,M-T-25x75.step +T25-75LB,T,25,75,,,LB,,M-T-25x75.step +T25-75LBU,T,25,75,,,LB,U,M-T-25x75.step +T25-75LBCM,T,25,75,,,LB,CM,M-T-25x75.step +T25-75FA,T,25,75,,,FA,,M-T-25x75.step +T25-75FAU,T,25,75,,,FA,U,M-T-25x75.step +T25-75FACM,T,25,75,,,FA,CM,M-T-25x75.step +T25-75FB,T,25,75,,,FB,,M-T-25x75.step +T25-75FBU,T,25,75,,,FB,U,M-T-25x75.step +T25-75FBCM,T,25,75,,,FB,CM,M-T-25x75.step +T25-75SDB,T,25,75,,,SDB,,M-T-25x75.step +T25-75SDBU,T,25,75,,,SDB,U,M-T-25x75.step +T25-75SDBCM,T,25,75,,,SDB,CM,M-T-25x75.step +T25-75ME,T,25,75,M,E,,,M-T-25x75.step +T25-75MEU,T,25,75,M,E,,U,M-T-25x75.step +T25-75MECM,T,25,75,M,E,,CM,M-T-25x75.step +T25-75MELB,T,25,75,M,E,LB,,M-T-25x75.step +T25-75MELBU,T,25,75,M,E,LB,U,M-T-25x75.step +T25-75MELBCM,T,25,75,M,E,LB,CM,M-T-25x75.step +T25-75MEFA,T,25,75,M,E,FA,,M-T-25x75.step +T25-75MEFAU,T,25,75,M,E,FA,U,M-T-25x75.step +T25-75MEFACM,T,25,75,M,E,FA,CM,M-T-25x75.step +T25-75MEFB,T,25,75,M,E,FB,,M-T-25x75.step +T25-75MEFBU,T,25,75,M,E,FB,U,M-T-25x75.step +T25-75MEFBCM,T,25,75,M,E,FB,CM,M-T-25x75.step +T25-75MESDB,T,25,75,M,E,SDB,,M-T-25x75.step +T25-75MESDBU,T,25,75,M,E,SDB,U,M-T-25x75.step +T25-75MESDBCM,T,25,75,M,E,SDB,CM,M-T-25x75.step +T25-75M,T,25,75,M,,,,M-T-25x75.step +T25-75MU,T,25,75,M,,,U,M-T-25x75.step +T25-75MCM,T,25,75,M,,,CM,M-T-25x75.step +T25-75MLB,T,25,75,M,,LB,,M-T-25x75.step +T25-75MLBU,T,25,75,M,,LB,U,M-T-25x75.step +T25-75MLBCM,T,25,75,M,,LB,CM,M-T-25x75.step +T25-75MFA,T,25,75,M,,FA,,M-T-25x75.step +T25-75MFAU,T,25,75,M,,FA,U,M-T-25x75.step +T25-75MFACM,T,25,75,M,,FA,CM,M-T-25x75.step +T25-75MFB,T,25,75,M,,FB,,M-T-25x75.step +T25-75MFBU,T,25,75,M,,FB,U,M-T-25x75.step +T25-75MFBCM,T,25,75,M,,FB,CM,M-T-25x75.step +T25-75MSDB,T,25,75,M,,SDB,,M-T-25x75.step +T25-75MSDBU,T,25,75,M,,SDB,U,M-T-25x75.step +T25-75MSDBCM,T,25,75,M,,SDB,CM,M-T-25x75.step +T25-100E,T,25,100,,E,,,M-T-25x100.step +T25-100EU,T,25,100,,E,,U,M-T-25x100.step +T25-100ECM,T,25,100,,E,,CM,M-T-25x100.step +T25-100ELB,T,25,100,,E,LB,,M-T-25x100.step +T25-100ELBU,T,25,100,,E,LB,U,M-T-25x100.step +T25-100ELBCM,T,25,100,,E,LB,CM,M-T-25x100.step +T25-100EFA,T,25,100,,E,FA,,M-T-25x100.step +T25-100EFAU,T,25,100,,E,FA,U,M-T-25x100.step +T25-100EFACM,T,25,100,,E,FA,CM,M-T-25x100.step +T25-100EFB,T,25,100,,E,FB,,M-T-25x100.step +T25-100EFBU,T,25,100,,E,FB,U,M-T-25x100.step +T25-100EFBCM,T,25,100,,E,FB,CM,M-T-25x100.step +T25-100ESDB,T,25,100,,E,SDB,,M-T-25x100.step +T25-100ESDBU,T,25,100,,E,SDB,U,M-T-25x100.step +T25-100ESDBCM,T,25,100,,E,SDB,CM,M-T-25x100.step +T25-100,T,25,100,,,,,M-T-25x100.step +T25-100U,T,25,100,,,,U,M-T-25x100.step +T25-100CM,T,25,100,,,,CM,M-T-25x100.step +T25-100LB,T,25,100,,,LB,,M-T-25x100.step +T25-100LBU,T,25,100,,,LB,U,M-T-25x100.step +T25-100LBCM,T,25,100,,,LB,CM,M-T-25x100.step +T25-100FA,T,25,100,,,FA,,M-T-25x100.step +T25-100FAU,T,25,100,,,FA,U,M-T-25x100.step +T25-100FACM,T,25,100,,,FA,CM,M-T-25x100.step +T25-100FB,T,25,100,,,FB,,M-T-25x100.step +T25-100FBU,T,25,100,,,FB,U,M-T-25x100.step +T25-100FBCM,T,25,100,,,FB,CM,M-T-25x100.step +T25-100SDB,T,25,100,,,SDB,,M-T-25x100.step +T25-100SDBU,T,25,100,,,SDB,U,M-T-25x100.step +T25-100SDBCM,T,25,100,,,SDB,CM,M-T-25x100.step +T25-100ME,T,25,100,M,E,,,M-T-25x100.step +T25-100MEU,T,25,100,M,E,,U,M-T-25x100.step +T25-100MECM,T,25,100,M,E,,CM,M-T-25x100.step +T25-100MELB,T,25,100,M,E,LB,,M-T-25x100.step +T25-100MELBU,T,25,100,M,E,LB,U,M-T-25x100.step +T25-100MELBCM,T,25,100,M,E,LB,CM,M-T-25x100.step +T25-100MEFA,T,25,100,M,E,FA,,M-T-25x100.step +T25-100MEFAU,T,25,100,M,E,FA,U,M-T-25x100.step +T25-100MEFACM,T,25,100,M,E,FA,CM,M-T-25x100.step +T25-100MEFB,T,25,100,M,E,FB,,M-T-25x100.step +T25-100MEFBU,T,25,100,M,E,FB,U,M-T-25x100.step +T25-100MEFBCM,T,25,100,M,E,FB,CM,M-T-25x100.step +T25-100MESDB,T,25,100,M,E,SDB,,M-T-25x100.step +T25-100MESDBU,T,25,100,M,E,SDB,U,M-T-25x100.step +T25-100MESDBCM,T,25,100,M,E,SDB,CM,M-T-25x100.step +T25-100M,T,25,100,M,,,,M-T-25x100.step +T25-100MU,T,25,100,M,,,U,M-T-25x100.step +T25-100MCM,T,25,100,M,,,CM,M-T-25x100.step +T25-100MLB,T,25,100,M,,LB,,M-T-25x100.step +T25-100MLBU,T,25,100,M,,LB,U,M-T-25x100.step +T25-100MLBCM,T,25,100,M,,LB,CM,M-T-25x100.step +T25-100MFA,T,25,100,M,,FA,,M-T-25x100.step +T25-100MFAU,T,25,100,M,,FA,U,M-T-25x100.step +T25-100MFACM,T,25,100,M,,FA,CM,M-T-25x100.step +T25-100MFB,T,25,100,M,,FB,,M-T-25x100.step +T25-100MFBU,T,25,100,M,,FB,U,M-T-25x100.step +T25-100MFBCM,T,25,100,M,,FB,CM,M-T-25x100.step +T25-100MSDB,T,25,100,M,,SDB,,M-T-25x100.step +T25-100MSDBU,T,25,100,M,,SDB,U,M-T-25x100.step +T25-100MSDBCM,T,25,100,M,,SDB,CM,M-T-25x100.step +T32-10E,T,32,10,,E,,,M-T-32x10.step +T32-10EU,T,32,10,,E,,U,M-T-32x10.step +T32-10ECM,T,32,10,,E,,CM,M-T-32x10.step +T32-10ELB,T,32,10,,E,LB,,M-T-32x10.step +T32-10ELBU,T,32,10,,E,LB,U,M-T-32x10.step +T32-10ELBCM,T,32,10,,E,LB,CM,M-T-32x10.step +T32-10EFA,T,32,10,,E,FA,,M-T-32x10.step +T32-10EFAU,T,32,10,,E,FA,U,M-T-32x10.step +T32-10EFACM,T,32,10,,E,FA,CM,M-T-32x10.step +T32-10EFB,T,32,10,,E,FB,,M-T-32x10.step +T32-10EFBU,T,32,10,,E,FB,U,M-T-32x10.step +T32-10EFBCM,T,32,10,,E,FB,CM,M-T-32x10.step +T32-10ESDB,T,32,10,,E,SDB,,M-T-32x10.step +T32-10ESDBU,T,32,10,,E,SDB,U,M-T-32x10.step +T32-10ESDBCM,T,32,10,,E,SDB,CM,M-T-32x10.step +T32-10,T,32,10,,,,,M-T-32x10.step +T32-10U,T,32,10,,,,U,M-T-32x10.step +T32-10CM,T,32,10,,,,CM,M-T-32x10.step +T32-10LB,T,32,10,,,LB,,M-T-32x10.step +T32-10LBU,T,32,10,,,LB,U,M-T-32x10.step +T32-10LBCM,T,32,10,,,LB,CM,M-T-32x10.step +T32-10FA,T,32,10,,,FA,,M-T-32x10.step +T32-10FAU,T,32,10,,,FA,U,M-T-32x10.step +T32-10FACM,T,32,10,,,FA,CM,M-T-32x10.step +T32-10FB,T,32,10,,,FB,,M-T-32x10.step +T32-10FBU,T,32,10,,,FB,U,M-T-32x10.step +T32-10FBCM,T,32,10,,,FB,CM,M-T-32x10.step +T32-10SDB,T,32,10,,,SDB,,M-T-32x10.step +T32-10SDBU,T,32,10,,,SDB,U,M-T-32x10.step +T32-10SDBCM,T,32,10,,,SDB,CM,M-T-32x10.step +T32-10ME,T,32,10,M,E,,,M-T-32x10.step +T32-10MEU,T,32,10,M,E,,U,M-T-32x10.step +T32-10MECM,T,32,10,M,E,,CM,M-T-32x10.step +T32-10MELB,T,32,10,M,E,LB,,M-T-32x10.step +T32-10MELBU,T,32,10,M,E,LB,U,M-T-32x10.step +T32-10MELBCM,T,32,10,M,E,LB,CM,M-T-32x10.step +T32-10MEFA,T,32,10,M,E,FA,,M-T-32x10.step +T32-10MEFAU,T,32,10,M,E,FA,U,M-T-32x10.step +T32-10MEFACM,T,32,10,M,E,FA,CM,M-T-32x10.step +T32-10MEFB,T,32,10,M,E,FB,,M-T-32x10.step +T32-10MEFBU,T,32,10,M,E,FB,U,M-T-32x10.step +T32-10MEFBCM,T,32,10,M,E,FB,CM,M-T-32x10.step +T32-10MESDB,T,32,10,M,E,SDB,,M-T-32x10.step +T32-10MESDBU,T,32,10,M,E,SDB,U,M-T-32x10.step +T32-10MESDBCM,T,32,10,M,E,SDB,CM,M-T-32x10.step +T32-10M,T,32,10,M,,,,M-T-32x10.step +T32-10MU,T,32,10,M,,,U,M-T-32x10.step +T32-10MCM,T,32,10,M,,,CM,M-T-32x10.step +T32-10MLB,T,32,10,M,,LB,,M-T-32x10.step +T32-10MLBU,T,32,10,M,,LB,U,M-T-32x10.step +T32-10MLBCM,T,32,10,M,,LB,CM,M-T-32x10.step +T32-10MFA,T,32,10,M,,FA,,M-T-32x10.step +T32-10MFAU,T,32,10,M,,FA,U,M-T-32x10.step +T32-10MFACM,T,32,10,M,,FA,CM,M-T-32x10.step +T32-10MFB,T,32,10,M,,FB,,M-T-32x10.step +T32-10MFBU,T,32,10,M,,FB,U,M-T-32x10.step +T32-10MFBCM,T,32,10,M,,FB,CM,M-T-32x10.step +T32-10MSDB,T,32,10,M,,SDB,,M-T-32x10.step +T32-10MSDBU,T,32,10,M,,SDB,U,M-T-32x10.step +T32-10MSDBCM,T,32,10,M,,SDB,CM,M-T-32x10.step +T32-20E,T,32,20,,E,,,M-T-32x20.step +T32-20EU,T,32,20,,E,,U,M-T-32x20.step +T32-20ECM,T,32,20,,E,,CM,M-T-32x20.step +T32-20ELB,T,32,20,,E,LB,,M-T-32x20.step +T32-20ELBU,T,32,20,,E,LB,U,M-T-32x20.step +T32-20ELBCM,T,32,20,,E,LB,CM,M-T-32x20.step +T32-20EFA,T,32,20,,E,FA,,M-T-32x20.step +T32-20EFAU,T,32,20,,E,FA,U,M-T-32x20.step +T32-20EFACM,T,32,20,,E,FA,CM,M-T-32x20.step +T32-20EFB,T,32,20,,E,FB,,M-T-32x20.step +T32-20EFBU,T,32,20,,E,FB,U,M-T-32x20.step +T32-20EFBCM,T,32,20,,E,FB,CM,M-T-32x20.step +T32-20ESDB,T,32,20,,E,SDB,,M-T-32x20.step +T32-20ESDBU,T,32,20,,E,SDB,U,M-T-32x20.step +T32-20ESDBCM,T,32,20,,E,SDB,CM,M-T-32x20.step +T32-20,T,32,20,,,,,M-T-32x20.step +T32-20U,T,32,20,,,,U,M-T-32x20.step +T32-20CM,T,32,20,,,,CM,M-T-32x20.step +T32-20LB,T,32,20,,,LB,,M-T-32x20.step +T32-20LBU,T,32,20,,,LB,U,M-T-32x20.step +T32-20LBCM,T,32,20,,,LB,CM,M-T-32x20.step +T32-20FA,T,32,20,,,FA,,M-T-32x20.step +T32-20FAU,T,32,20,,,FA,U,M-T-32x20.step +T32-20FACM,T,32,20,,,FA,CM,M-T-32x20.step +T32-20FB,T,32,20,,,FB,,M-T-32x20.step +T32-20FBU,T,32,20,,,FB,U,M-T-32x20.step +T32-20FBCM,T,32,20,,,FB,CM,M-T-32x20.step +T32-20SDB,T,32,20,,,SDB,,M-T-32x20.step +T32-20SDBU,T,32,20,,,SDB,U,M-T-32x20.step +T32-20SDBCM,T,32,20,,,SDB,CM,M-T-32x20.step +T32-20ME,T,32,20,M,E,,,M-T-32x20.step +T32-20MEU,T,32,20,M,E,,U,M-T-32x20.step +T32-20MECM,T,32,20,M,E,,CM,M-T-32x20.step +T32-20MELB,T,32,20,M,E,LB,,M-T-32x20.step +T32-20MELBU,T,32,20,M,E,LB,U,M-T-32x20.step +T32-20MELBCM,T,32,20,M,E,LB,CM,M-T-32x20.step +T32-20MEFA,T,32,20,M,E,FA,,M-T-32x20.step +T32-20MEFAU,T,32,20,M,E,FA,U,M-T-32x20.step +T32-20MEFACM,T,32,20,M,E,FA,CM,M-T-32x20.step +T32-20MEFB,T,32,20,M,E,FB,,M-T-32x20.step +T32-20MEFBU,T,32,20,M,E,FB,U,M-T-32x20.step +T32-20MEFBCM,T,32,20,M,E,FB,CM,M-T-32x20.step +T32-20MESDB,T,32,20,M,E,SDB,,M-T-32x20.step +T32-20MESDBU,T,32,20,M,E,SDB,U,M-T-32x20.step +T32-20MESDBCM,T,32,20,M,E,SDB,CM,M-T-32x20.step +T32-20M,T,32,20,M,,,,M-T-32x20.step +T32-20MU,T,32,20,M,,,U,M-T-32x20.step +T32-20MCM,T,32,20,M,,,CM,M-T-32x20.step +T32-20MLB,T,32,20,M,,LB,,M-T-32x20.step +T32-20MLBU,T,32,20,M,,LB,U,M-T-32x20.step +T32-20MLBCM,T,32,20,M,,LB,CM,M-T-32x20.step +T32-20MFA,T,32,20,M,,FA,,M-T-32x20.step +T32-20MFAU,T,32,20,M,,FA,U,M-T-32x20.step +T32-20MFACM,T,32,20,M,,FA,CM,M-T-32x20.step +T32-20MFB,T,32,20,M,,FB,,M-T-32x20.step +T32-20MFBU,T,32,20,M,,FB,U,M-T-32x20.step +T32-20MFBCM,T,32,20,M,,FB,CM,M-T-32x20.step +T32-20MSDB,T,32,20,M,,SDB,,M-T-32x20.step +T32-20MSDBU,T,32,20,M,,SDB,U,M-T-32x20.step +T32-20MSDBCM,T,32,20,M,,SDB,CM,M-T-32x20.step +T32-30E,T,32,30,,E,,,M-T-32x30.step +T32-30EU,T,32,30,,E,,U,M-T-32x30.step +T32-30ECM,T,32,30,,E,,CM,M-T-32x30.step +T32-30ELB,T,32,30,,E,LB,,M-T-32x30.step +T32-30ELBU,T,32,30,,E,LB,U,M-T-32x30.step +T32-30ELBCM,T,32,30,,E,LB,CM,M-T-32x30.step +T32-30EFA,T,32,30,,E,FA,,M-T-32x30.step +T32-30EFAU,T,32,30,,E,FA,U,M-T-32x30.step +T32-30EFACM,T,32,30,,E,FA,CM,M-T-32x30.step +T32-30EFB,T,32,30,,E,FB,,M-T-32x30.step +T32-30EFBU,T,32,30,,E,FB,U,M-T-32x30.step +T32-30EFBCM,T,32,30,,E,FB,CM,M-T-32x30.step +T32-30ESDB,T,32,30,,E,SDB,,M-T-32x30.step +T32-30ESDBU,T,32,30,,E,SDB,U,M-T-32x30.step +T32-30ESDBCM,T,32,30,,E,SDB,CM,M-T-32x30.step +T32-30,T,32,30,,,,,M-T-32x30.step +T32-30U,T,32,30,,,,U,M-T-32x30.step +T32-30CM,T,32,30,,,,CM,M-T-32x30.step +T32-30LB,T,32,30,,,LB,,M-T-32x30.step +T32-30LBU,T,32,30,,,LB,U,M-T-32x30.step +T32-30LBCM,T,32,30,,,LB,CM,M-T-32x30.step +T32-30FA,T,32,30,,,FA,,M-T-32x30.step +T32-30FAU,T,32,30,,,FA,U,M-T-32x30.step +T32-30FACM,T,32,30,,,FA,CM,M-T-32x30.step +T32-30FB,T,32,30,,,FB,,M-T-32x30.step +T32-30FBU,T,32,30,,,FB,U,M-T-32x30.step +T32-30FBCM,T,32,30,,,FB,CM,M-T-32x30.step +T32-30SDB,T,32,30,,,SDB,,M-T-32x30.step +T32-30SDBU,T,32,30,,,SDB,U,M-T-32x30.step +T32-30SDBCM,T,32,30,,,SDB,CM,M-T-32x30.step +T32-30ME,T,32,30,M,E,,,M-T-32x30.step +T32-30MEU,T,32,30,M,E,,U,M-T-32x30.step +T32-30MECM,T,32,30,M,E,,CM,M-T-32x30.step +T32-30MELB,T,32,30,M,E,LB,,M-T-32x30.step +T32-30MELBU,T,32,30,M,E,LB,U,M-T-32x30.step +T32-30MELBCM,T,32,30,M,E,LB,CM,M-T-32x30.step +T32-30MEFA,T,32,30,M,E,FA,,M-T-32x30.step +T32-30MEFAU,T,32,30,M,E,FA,U,M-T-32x30.step +T32-30MEFACM,T,32,30,M,E,FA,CM,M-T-32x30.step +T32-30MEFB,T,32,30,M,E,FB,,M-T-32x30.step +T32-30MEFBU,T,32,30,M,E,FB,U,M-T-32x30.step +T32-30MEFBCM,T,32,30,M,E,FB,CM,M-T-32x30.step +T32-30MESDB,T,32,30,M,E,SDB,,M-T-32x30.step +T32-30MESDBU,T,32,30,M,E,SDB,U,M-T-32x30.step +T32-30MESDBCM,T,32,30,M,E,SDB,CM,M-T-32x30.step +T32-30M,T,32,30,M,,,,M-T-32x30.step +T32-30MU,T,32,30,M,,,U,M-T-32x30.step +T32-30MCM,T,32,30,M,,,CM,M-T-32x30.step +T32-30MLB,T,32,30,M,,LB,,M-T-32x30.step +T32-30MLBU,T,32,30,M,,LB,U,M-T-32x30.step +T32-30MLBCM,T,32,30,M,,LB,CM,M-T-32x30.step +T32-30MFA,T,32,30,M,,FA,,M-T-32x30.step +T32-30MFAU,T,32,30,M,,FA,U,M-T-32x30.step +T32-30MFACM,T,32,30,M,,FA,CM,M-T-32x30.step +T32-30MFB,T,32,30,M,,FB,,M-T-32x30.step +T32-30MFBU,T,32,30,M,,FB,U,M-T-32x30.step +T32-30MFBCM,T,32,30,M,,FB,CM,M-T-32x30.step +T32-30MSDB,T,32,30,M,,SDB,,M-T-32x30.step +T32-30MSDBU,T,32,30,M,,SDB,U,M-T-32x30.step +T32-30MSDBCM,T,32,30,M,,SDB,CM,M-T-32x30.step +T32-50E,T,32,50,,E,,,M-T-32x50.step +T32-50EU,T,32,50,,E,,U,M-T-32x50.step +T32-50ECM,T,32,50,,E,,CM,M-T-32x50.step +T32-50ELB,T,32,50,,E,LB,,M-T-32x50.step +T32-50ELBU,T,32,50,,E,LB,U,M-T-32x50.step +T32-50ELBCM,T,32,50,,E,LB,CM,M-T-32x50.step +T32-50EFA,T,32,50,,E,FA,,M-T-32x50.step +T32-50EFAU,T,32,50,,E,FA,U,M-T-32x50.step +T32-50EFACM,T,32,50,,E,FA,CM,M-T-32x50.step +T32-50EFB,T,32,50,,E,FB,,M-T-32x50.step +T32-50EFBU,T,32,50,,E,FB,U,M-T-32x50.step +T32-50EFBCM,T,32,50,,E,FB,CM,M-T-32x50.step +T32-50ESDB,T,32,50,,E,SDB,,M-T-32x50.step +T32-50ESDBU,T,32,50,,E,SDB,U,M-T-32x50.step +T32-50ESDBCM,T,32,50,,E,SDB,CM,M-T-32x50.step +T32-50,T,32,50,,,,,M-T-32x50.step +T32-50U,T,32,50,,,,U,M-T-32x50.step +T32-50CM,T,32,50,,,,CM,M-T-32x50.step +T32-50LB,T,32,50,,,LB,,M-T-32x50.step +T32-50LBU,T,32,50,,,LB,U,M-T-32x50.step +T32-50LBCM,T,32,50,,,LB,CM,M-T-32x50.step +T32-50FA,T,32,50,,,FA,,M-T-32x50.step +T32-50FAU,T,32,50,,,FA,U,M-T-32x50.step +T32-50FACM,T,32,50,,,FA,CM,M-T-32x50.step +T32-50FB,T,32,50,,,FB,,M-T-32x50.step +T32-50FBU,T,32,50,,,FB,U,M-T-32x50.step +T32-50FBCM,T,32,50,,,FB,CM,M-T-32x50.step +T32-50SDB,T,32,50,,,SDB,,M-T-32x50.step +T32-50SDBU,T,32,50,,,SDB,U,M-T-32x50.step +T32-50SDBCM,T,32,50,,,SDB,CM,M-T-32x50.step +T32-50ME,T,32,50,M,E,,,M-T-32x50.step +T32-50MEU,T,32,50,M,E,,U,M-T-32x50.step +T32-50MECM,T,32,50,M,E,,CM,M-T-32x50.step +T32-50MELB,T,32,50,M,E,LB,,M-T-32x50.step +T32-50MELBU,T,32,50,M,E,LB,U,M-T-32x50.step +T32-50MELBCM,T,32,50,M,E,LB,CM,M-T-32x50.step +T32-50MEFA,T,32,50,M,E,FA,,M-T-32x50.step +T32-50MEFAU,T,32,50,M,E,FA,U,M-T-32x50.step +T32-50MEFACM,T,32,50,M,E,FA,CM,M-T-32x50.step +T32-50MEFB,T,32,50,M,E,FB,,M-T-32x50.step +T32-50MEFBU,T,32,50,M,E,FB,U,M-T-32x50.step +T32-50MEFBCM,T,32,50,M,E,FB,CM,M-T-32x50.step +T32-50MESDB,T,32,50,M,E,SDB,,M-T-32x50.step +T32-50MESDBU,T,32,50,M,E,SDB,U,M-T-32x50.step +T32-50MESDBCM,T,32,50,M,E,SDB,CM,M-T-32x50.step +T32-50M,T,32,50,M,,,,M-T-32x50.step +T32-50MU,T,32,50,M,,,U,M-T-32x50.step +T32-50MCM,T,32,50,M,,,CM,M-T-32x50.step +T32-50MLB,T,32,50,M,,LB,,M-T-32x50.step +T32-50MLBU,T,32,50,M,,LB,U,M-T-32x50.step +T32-50MLBCM,T,32,50,M,,LB,CM,M-T-32x50.step +T32-50MFA,T,32,50,M,,FA,,M-T-32x50.step +T32-50MFAU,T,32,50,M,,FA,U,M-T-32x50.step +T32-50MFACM,T,32,50,M,,FA,CM,M-T-32x50.step +T32-50MFB,T,32,50,M,,FB,,M-T-32x50.step +T32-50MFBU,T,32,50,M,,FB,U,M-T-32x50.step +T32-50MFBCM,T,32,50,M,,FB,CM,M-T-32x50.step +T32-50MSDB,T,32,50,M,,SDB,,M-T-32x50.step +T32-50MSDBU,T,32,50,M,,SDB,U,M-T-32x50.step +T32-50MSDBCM,T,32,50,M,,SDB,CM,M-T-32x50.step +T32-75E,T,32,75,,E,,,M-T-32x75.step +T32-75EU,T,32,75,,E,,U,M-T-32x75.step +T32-75ECM,T,32,75,,E,,CM,M-T-32x75.step +T32-75ELB,T,32,75,,E,LB,,M-T-32x75.step +T32-75ELBU,T,32,75,,E,LB,U,M-T-32x75.step +T32-75ELBCM,T,32,75,,E,LB,CM,M-T-32x75.step +T32-75EFA,T,32,75,,E,FA,,M-T-32x75.step +T32-75EFAU,T,32,75,,E,FA,U,M-T-32x75.step +T32-75EFACM,T,32,75,,E,FA,CM,M-T-32x75.step +T32-75EFB,T,32,75,,E,FB,,M-T-32x75.step +T32-75EFBU,T,32,75,,E,FB,U,M-T-32x75.step +T32-75EFBCM,T,32,75,,E,FB,CM,M-T-32x75.step +T32-75ESDB,T,32,75,,E,SDB,,M-T-32x75.step +T32-75ESDBU,T,32,75,,E,SDB,U,M-T-32x75.step +T32-75ESDBCM,T,32,75,,E,SDB,CM,M-T-32x75.step +T32-75,T,32,75,,,,,M-T-32x75.step +T32-75U,T,32,75,,,,U,M-T-32x75.step +T32-75CM,T,32,75,,,,CM,M-T-32x75.step +T32-75LB,T,32,75,,,LB,,M-T-32x75.step +T32-75LBU,T,32,75,,,LB,U,M-T-32x75.step +T32-75LBCM,T,32,75,,,LB,CM,M-T-32x75.step +T32-75FA,T,32,75,,,FA,,M-T-32x75.step +T32-75FAU,T,32,75,,,FA,U,M-T-32x75.step +T32-75FACM,T,32,75,,,FA,CM,M-T-32x75.step +T32-75FB,T,32,75,,,FB,,M-T-32x75.step +T32-75FBU,T,32,75,,,FB,U,M-T-32x75.step +T32-75FBCM,T,32,75,,,FB,CM,M-T-32x75.step +T32-75SDB,T,32,75,,,SDB,,M-T-32x75.step +T32-75SDBU,T,32,75,,,SDB,U,M-T-32x75.step +T32-75SDBCM,T,32,75,,,SDB,CM,M-T-32x75.step +T32-75ME,T,32,75,M,E,,,M-T-32x75.step +T32-75MEU,T,32,75,M,E,,U,M-T-32x75.step +T32-75MECM,T,32,75,M,E,,CM,M-T-32x75.step +T32-75MELB,T,32,75,M,E,LB,,M-T-32x75.step +T32-75MELBU,T,32,75,M,E,LB,U,M-T-32x75.step +T32-75MELBCM,T,32,75,M,E,LB,CM,M-T-32x75.step +T32-75MEFA,T,32,75,M,E,FA,,M-T-32x75.step +T32-75MEFAU,T,32,75,M,E,FA,U,M-T-32x75.step +T32-75MEFACM,T,32,75,M,E,FA,CM,M-T-32x75.step +T32-75MEFB,T,32,75,M,E,FB,,M-T-32x75.step +T32-75MEFBU,T,32,75,M,E,FB,U,M-T-32x75.step +T32-75MEFBCM,T,32,75,M,E,FB,CM,M-T-32x75.step +T32-75MESDB,T,32,75,M,E,SDB,,M-T-32x75.step +T32-75MESDBU,T,32,75,M,E,SDB,U,M-T-32x75.step +T32-75MESDBCM,T,32,75,M,E,SDB,CM,M-T-32x75.step +T32-75M,T,32,75,M,,,,M-T-32x75.step +T32-75MU,T,32,75,M,,,U,M-T-32x75.step +T32-75MCM,T,32,75,M,,,CM,M-T-32x75.step +T32-75MLB,T,32,75,M,,LB,,M-T-32x75.step +T32-75MLBU,T,32,75,M,,LB,U,M-T-32x75.step +T32-75MLBCM,T,32,75,M,,LB,CM,M-T-32x75.step +T32-75MFA,T,32,75,M,,FA,,M-T-32x75.step +T32-75MFAU,T,32,75,M,,FA,U,M-T-32x75.step +T32-75MFACM,T,32,75,M,,FA,CM,M-T-32x75.step +T32-75MFB,T,32,75,M,,FB,,M-T-32x75.step +T32-75MFBU,T,32,75,M,,FB,U,M-T-32x75.step +T32-75MFBCM,T,32,75,M,,FB,CM,M-T-32x75.step +T32-75MSDB,T,32,75,M,,SDB,,M-T-32x75.step +T32-75MSDBU,T,32,75,M,,SDB,U,M-T-32x75.step +T32-75MSDBCM,T,32,75,M,,SDB,CM,M-T-32x75.step +T32-100E,T,32,100,,E,,,M-T-32x100.step +T32-100EU,T,32,100,,E,,U,M-T-32x100.step +T32-100ECM,T,32,100,,E,,CM,M-T-32x100.step +T32-100ELB,T,32,100,,E,LB,,M-T-32x100.step +T32-100ELBU,T,32,100,,E,LB,U,M-T-32x100.step +T32-100ELBCM,T,32,100,,E,LB,CM,M-T-32x100.step +T32-100EFA,T,32,100,,E,FA,,M-T-32x100.step +T32-100EFAU,T,32,100,,E,FA,U,M-T-32x100.step +T32-100EFACM,T,32,100,,E,FA,CM,M-T-32x100.step +T32-100EFB,T,32,100,,E,FB,,M-T-32x100.step +T32-100EFBU,T,32,100,,E,FB,U,M-T-32x100.step +T32-100EFBCM,T,32,100,,E,FB,CM,M-T-32x100.step +T32-100ESDB,T,32,100,,E,SDB,,M-T-32x100.step +T32-100ESDBU,T,32,100,,E,SDB,U,M-T-32x100.step +T32-100ESDBCM,T,32,100,,E,SDB,CM,M-T-32x100.step +T32-100,T,32,100,,,,,M-T-32x100.step +T32-100U,T,32,100,,,,U,M-T-32x100.step +T32-100CM,T,32,100,,,,CM,M-T-32x100.step +T32-100LB,T,32,100,,,LB,,M-T-32x100.step +T32-100LBU,T,32,100,,,LB,U,M-T-32x100.step +T32-100LBCM,T,32,100,,,LB,CM,M-T-32x100.step +T32-100FA,T,32,100,,,FA,,M-T-32x100.step +T32-100FAU,T,32,100,,,FA,U,M-T-32x100.step +T32-100FACM,T,32,100,,,FA,CM,M-T-32x100.step +T32-100FB,T,32,100,,,FB,,M-T-32x100.step +T32-100FBU,T,32,100,,,FB,U,M-T-32x100.step +T32-100FBCM,T,32,100,,,FB,CM,M-T-32x100.step +T32-100SDB,T,32,100,,,SDB,,M-T-32x100.step +T32-100SDBU,T,32,100,,,SDB,U,M-T-32x100.step +T32-100SDBCM,T,32,100,,,SDB,CM,M-T-32x100.step +T32-100ME,T,32,100,M,E,,,M-T-32x100.step +T32-100MEU,T,32,100,M,E,,U,M-T-32x100.step +T32-100MECM,T,32,100,M,E,,CM,M-T-32x100.step +T32-100MELB,T,32,100,M,E,LB,,M-T-32x100.step +T32-100MELBU,T,32,100,M,E,LB,U,M-T-32x100.step +T32-100MELBCM,T,32,100,M,E,LB,CM,M-T-32x100.step +T32-100MEFA,T,32,100,M,E,FA,,M-T-32x100.step +T32-100MEFAU,T,32,100,M,E,FA,U,M-T-32x100.step +T32-100MEFACM,T,32,100,M,E,FA,CM,M-T-32x100.step +T32-100MEFB,T,32,100,M,E,FB,,M-T-32x100.step +T32-100MEFBU,T,32,100,M,E,FB,U,M-T-32x100.step +T32-100MEFBCM,T,32,100,M,E,FB,CM,M-T-32x100.step +T32-100MESDB,T,32,100,M,E,SDB,,M-T-32x100.step +T32-100MESDBU,T,32,100,M,E,SDB,U,M-T-32x100.step +T32-100MESDBCM,T,32,100,M,E,SDB,CM,M-T-32x100.step +T32-100M,T,32,100,M,,,,M-T-32x100.step +T32-100MU,T,32,100,M,,,U,M-T-32x100.step +T32-100MCM,T,32,100,M,,,CM,M-T-32x100.step +T32-100MLB,T,32,100,M,,LB,,M-T-32x100.step +T32-100MLBU,T,32,100,M,,LB,U,M-T-32x100.step +T32-100MLBCM,T,32,100,M,,LB,CM,M-T-32x100.step +T32-100MFA,T,32,100,M,,FA,,M-T-32x100.step +T32-100MFAU,T,32,100,M,,FA,U,M-T-32x100.step +T32-100MFACM,T,32,100,M,,FA,CM,M-T-32x100.step +T32-100MFB,T,32,100,M,,FB,,M-T-32x100.step +T32-100MFBU,T,32,100,M,,FB,U,M-T-32x100.step +T32-100MFBCM,T,32,100,M,,FB,CM,M-T-32x100.step +T32-100MSDB,T,32,100,M,,SDB,,M-T-32x100.step +T32-100MSDBU,T,32,100,M,,SDB,U,M-T-32x100.step +T32-100MSDBCM,T,32,100,M,,SDB,CM,M-T-32x100.step +T40-10E,T,40,10,,E,,,M-T-40x10.step +T40-10EU,T,40,10,,E,,U,M-T-40x10.step +T40-10ECM,T,40,10,,E,,CM,M-T-40x10.step +T40-10ELB,T,40,10,,E,LB,,M-T-40x10.step +T40-10ELBU,T,40,10,,E,LB,U,M-T-40x10.step +T40-10ELBCM,T,40,10,,E,LB,CM,M-T-40x10.step +T40-10EFA,T,40,10,,E,FA,,M-T-40x10.step +T40-10EFAU,T,40,10,,E,FA,U,M-T-40x10.step +T40-10EFACM,T,40,10,,E,FA,CM,M-T-40x10.step +T40-10EFB,T,40,10,,E,FB,,M-T-40x10.step +T40-10EFBU,T,40,10,,E,FB,U,M-T-40x10.step +T40-10EFBCM,T,40,10,,E,FB,CM,M-T-40x10.step +T40-10ESDB,T,40,10,,E,SDB,,M-T-40x10.step +T40-10ESDBU,T,40,10,,E,SDB,U,M-T-40x10.step +T40-10ESDBCM,T,40,10,,E,SDB,CM,M-T-40x10.step +T40-10,T,40,10,,,,,M-T-40x10.step +T40-10U,T,40,10,,,,U,M-T-40x10.step +T40-10CM,T,40,10,,,,CM,M-T-40x10.step +T40-10LB,T,40,10,,,LB,,M-T-40x10.step +T40-10LBU,T,40,10,,,LB,U,M-T-40x10.step +T40-10LBCM,T,40,10,,,LB,CM,M-T-40x10.step +T40-10FA,T,40,10,,,FA,,M-T-40x10.step +T40-10FAU,T,40,10,,,FA,U,M-T-40x10.step +T40-10FACM,T,40,10,,,FA,CM,M-T-40x10.step +T40-10FB,T,40,10,,,FB,,M-T-40x10.step +T40-10FBU,T,40,10,,,FB,U,M-T-40x10.step +T40-10FBCM,T,40,10,,,FB,CM,M-T-40x10.step +T40-10SDB,T,40,10,,,SDB,,M-T-40x10.step +T40-10SDBU,T,40,10,,,SDB,U,M-T-40x10.step +T40-10SDBCM,T,40,10,,,SDB,CM,M-T-40x10.step +T40-10ME,T,40,10,M,E,,,M-T-40x10.step +T40-10MEU,T,40,10,M,E,,U,M-T-40x10.step +T40-10MECM,T,40,10,M,E,,CM,M-T-40x10.step +T40-10MELB,T,40,10,M,E,LB,,M-T-40x10.step +T40-10MELBU,T,40,10,M,E,LB,U,M-T-40x10.step +T40-10MELBCM,T,40,10,M,E,LB,CM,M-T-40x10.step +T40-10MEFA,T,40,10,M,E,FA,,M-T-40x10.step +T40-10MEFAU,T,40,10,M,E,FA,U,M-T-40x10.step +T40-10MEFACM,T,40,10,M,E,FA,CM,M-T-40x10.step +T40-10MEFB,T,40,10,M,E,FB,,M-T-40x10.step +T40-10MEFBU,T,40,10,M,E,FB,U,M-T-40x10.step +T40-10MEFBCM,T,40,10,M,E,FB,CM,M-T-40x10.step +T40-10MESDB,T,40,10,M,E,SDB,,M-T-40x10.step +T40-10MESDBU,T,40,10,M,E,SDB,U,M-T-40x10.step +T40-10MESDBCM,T,40,10,M,E,SDB,CM,M-T-40x10.step +T40-10M,T,40,10,M,,,,M-T-40x10.step +T40-10MU,T,40,10,M,,,U,M-T-40x10.step +T40-10MCM,T,40,10,M,,,CM,M-T-40x10.step +T40-10MLB,T,40,10,M,,LB,,M-T-40x10.step +T40-10MLBU,T,40,10,M,,LB,U,M-T-40x10.step +T40-10MLBCM,T,40,10,M,,LB,CM,M-T-40x10.step +T40-10MFA,T,40,10,M,,FA,,M-T-40x10.step +T40-10MFAU,T,40,10,M,,FA,U,M-T-40x10.step +T40-10MFACM,T,40,10,M,,FA,CM,M-T-40x10.step +T40-10MFB,T,40,10,M,,FB,,M-T-40x10.step +T40-10MFBU,T,40,10,M,,FB,U,M-T-40x10.step +T40-10MFBCM,T,40,10,M,,FB,CM,M-T-40x10.step +T40-10MSDB,T,40,10,M,,SDB,,M-T-40x10.step +T40-10MSDBU,T,40,10,M,,SDB,U,M-T-40x10.step +T40-10MSDBCM,T,40,10,M,,SDB,CM,M-T-40x10.step +T40-20E,T,40,20,,E,,,M-T-40x20.step +T40-20EU,T,40,20,,E,,U,M-T-40x20.step +T40-20ECM,T,40,20,,E,,CM,M-T-40x20.step +T40-20ELB,T,40,20,,E,LB,,M-T-40x20.step +T40-20ELBU,T,40,20,,E,LB,U,M-T-40x20.step +T40-20ELBCM,T,40,20,,E,LB,CM,M-T-40x20.step +T40-20EFA,T,40,20,,E,FA,,M-T-40x20.step +T40-20EFAU,T,40,20,,E,FA,U,M-T-40x20.step +T40-20EFACM,T,40,20,,E,FA,CM,M-T-40x20.step +T40-20EFB,T,40,20,,E,FB,,M-T-40x20.step +T40-20EFBU,T,40,20,,E,FB,U,M-T-40x20.step +T40-20EFBCM,T,40,20,,E,FB,CM,M-T-40x20.step +T40-20ESDB,T,40,20,,E,SDB,,M-T-40x20.step +T40-20ESDBU,T,40,20,,E,SDB,U,M-T-40x20.step +T40-20ESDBCM,T,40,20,,E,SDB,CM,M-T-40x20.step +T40-20,T,40,20,,,,,M-T-40x20.step +T40-20U,T,40,20,,,,U,M-T-40x20.step +T40-20CM,T,40,20,,,,CM,M-T-40x20.step +T40-20LB,T,40,20,,,LB,,M-T-40x20.step +T40-20LBU,T,40,20,,,LB,U,M-T-40x20.step +T40-20LBCM,T,40,20,,,LB,CM,M-T-40x20.step +T40-20FA,T,40,20,,,FA,,M-T-40x20.step +T40-20FAU,T,40,20,,,FA,U,M-T-40x20.step +T40-20FACM,T,40,20,,,FA,CM,M-T-40x20.step +T40-20FB,T,40,20,,,FB,,M-T-40x20.step +T40-20FBU,T,40,20,,,FB,U,M-T-40x20.step +T40-20FBCM,T,40,20,,,FB,CM,M-T-40x20.step +T40-20SDB,T,40,20,,,SDB,,M-T-40x20.step +T40-20SDBU,T,40,20,,,SDB,U,M-T-40x20.step +T40-20SDBCM,T,40,20,,,SDB,CM,M-T-40x20.step +T40-20ME,T,40,20,M,E,,,M-T-40x20.step +T40-20MEU,T,40,20,M,E,,U,M-T-40x20.step +T40-20MECM,T,40,20,M,E,,CM,M-T-40x20.step +T40-20MELB,T,40,20,M,E,LB,,M-T-40x20.step +T40-20MELBU,T,40,20,M,E,LB,U,M-T-40x20.step +T40-20MELBCM,T,40,20,M,E,LB,CM,M-T-40x20.step +T40-20MEFA,T,40,20,M,E,FA,,M-T-40x20.step +T40-20MEFAU,T,40,20,M,E,FA,U,M-T-40x20.step +T40-20MEFACM,T,40,20,M,E,FA,CM,M-T-40x20.step +T40-20MEFB,T,40,20,M,E,FB,,M-T-40x20.step +T40-20MEFBU,T,40,20,M,E,FB,U,M-T-40x20.step +T40-20MEFBCM,T,40,20,M,E,FB,CM,M-T-40x20.step +T40-20MESDB,T,40,20,M,E,SDB,,M-T-40x20.step +T40-20MESDBU,T,40,20,M,E,SDB,U,M-T-40x20.step +T40-20MESDBCM,T,40,20,M,E,SDB,CM,M-T-40x20.step +T40-20M,T,40,20,M,,,,M-T-40x20.step +T40-20MU,T,40,20,M,,,U,M-T-40x20.step +T40-20MCM,T,40,20,M,,,CM,M-T-40x20.step +T40-20MLB,T,40,20,M,,LB,,M-T-40x20.step +T40-20MLBU,T,40,20,M,,LB,U,M-T-40x20.step +T40-20MLBCM,T,40,20,M,,LB,CM,M-T-40x20.step +T40-20MFA,T,40,20,M,,FA,,M-T-40x20.step +T40-20MFAU,T,40,20,M,,FA,U,M-T-40x20.step +T40-20MFACM,T,40,20,M,,FA,CM,M-T-40x20.step +T40-20MFB,T,40,20,M,,FB,,M-T-40x20.step +T40-20MFBU,T,40,20,M,,FB,U,M-T-40x20.step +T40-20MFBCM,T,40,20,M,,FB,CM,M-T-40x20.step +T40-20MSDB,T,40,20,M,,SDB,,M-T-40x20.step +T40-20MSDBU,T,40,20,M,,SDB,U,M-T-40x20.step +T40-20MSDBCM,T,40,20,M,,SDB,CM,M-T-40x20.step +T40-30E,T,40,30,,E,,,M-T-40x30.step +T40-30EU,T,40,30,,E,,U,M-T-40x30.step +T40-30ECM,T,40,30,,E,,CM,M-T-40x30.step +T40-30ELB,T,40,30,,E,LB,,M-T-40x30.step +T40-30ELBU,T,40,30,,E,LB,U,M-T-40x30.step +T40-30ELBCM,T,40,30,,E,LB,CM,M-T-40x30.step +T40-30EFA,T,40,30,,E,FA,,M-T-40x30.step +T40-30EFAU,T,40,30,,E,FA,U,M-T-40x30.step +T40-30EFACM,T,40,30,,E,FA,CM,M-T-40x30.step +T40-30EFB,T,40,30,,E,FB,,M-T-40x30.step +T40-30EFBU,T,40,30,,E,FB,U,M-T-40x30.step +T40-30EFBCM,T,40,30,,E,FB,CM,M-T-40x30.step +T40-30ESDB,T,40,30,,E,SDB,,M-T-40x30.step +T40-30ESDBU,T,40,30,,E,SDB,U,M-T-40x30.step +T40-30ESDBCM,T,40,30,,E,SDB,CM,M-T-40x30.step +T40-30,T,40,30,,,,,M-T-40x30.step +T40-30U,T,40,30,,,,U,M-T-40x30.step +T40-30CM,T,40,30,,,,CM,M-T-40x30.step +T40-30LB,T,40,30,,,LB,,M-T-40x30.step +T40-30LBU,T,40,30,,,LB,U,M-T-40x30.step +T40-30LBCM,T,40,30,,,LB,CM,M-T-40x30.step +T40-30FA,T,40,30,,,FA,,M-T-40x30.step +T40-30FAU,T,40,30,,,FA,U,M-T-40x30.step +T40-30FACM,T,40,30,,,FA,CM,M-T-40x30.step +T40-30FB,T,40,30,,,FB,,M-T-40x30.step +T40-30FBU,T,40,30,,,FB,U,M-T-40x30.step +T40-30FBCM,T,40,30,,,FB,CM,M-T-40x30.step +T40-30SDB,T,40,30,,,SDB,,M-T-40x30.step +T40-30SDBU,T,40,30,,,SDB,U,M-T-40x30.step +T40-30SDBCM,T,40,30,,,SDB,CM,M-T-40x30.step +T40-30ME,T,40,30,M,E,,,M-T-40x30.step +T40-30MEU,T,40,30,M,E,,U,M-T-40x30.step +T40-30MECM,T,40,30,M,E,,CM,M-T-40x30.step +T40-30MELB,T,40,30,M,E,LB,,M-T-40x30.step +T40-30MELBU,T,40,30,M,E,LB,U,M-T-40x30.step +T40-30MELBCM,T,40,30,M,E,LB,CM,M-T-40x30.step +T40-30MEFA,T,40,30,M,E,FA,,M-T-40x30.step +T40-30MEFAU,T,40,30,M,E,FA,U,M-T-40x30.step +T40-30MEFACM,T,40,30,M,E,FA,CM,M-T-40x30.step +T40-30MEFB,T,40,30,M,E,FB,,M-T-40x30.step +T40-30MEFBU,T,40,30,M,E,FB,U,M-T-40x30.step +T40-30MEFBCM,T,40,30,M,E,FB,CM,M-T-40x30.step +T40-30MESDB,T,40,30,M,E,SDB,,M-T-40x30.step +T40-30MESDBU,T,40,30,M,E,SDB,U,M-T-40x30.step +T40-30MESDBCM,T,40,30,M,E,SDB,CM,M-T-40x30.step +T40-30M,T,40,30,M,,,,M-T-40x30.step +T40-30MU,T,40,30,M,,,U,M-T-40x30.step +T40-30MCM,T,40,30,M,,,CM,M-T-40x30.step +T40-30MLB,T,40,30,M,,LB,,M-T-40x30.step +T40-30MLBU,T,40,30,M,,LB,U,M-T-40x30.step +T40-30MLBCM,T,40,30,M,,LB,CM,M-T-40x30.step +T40-30MFA,T,40,30,M,,FA,,M-T-40x30.step +T40-30MFAU,T,40,30,M,,FA,U,M-T-40x30.step +T40-30MFACM,T,40,30,M,,FA,CM,M-T-40x30.step +T40-30MFB,T,40,30,M,,FB,,M-T-40x30.step +T40-30MFBU,T,40,30,M,,FB,U,M-T-40x30.step +T40-30MFBCM,T,40,30,M,,FB,CM,M-T-40x30.step +T40-30MSDB,T,40,30,M,,SDB,,M-T-40x30.step +T40-30MSDBU,T,40,30,M,,SDB,U,M-T-40x30.step +T40-30MSDBCM,T,40,30,M,,SDB,CM,M-T-40x30.step +T40-50E,T,40,50,,E,,,M-T-40x50.step +T40-50EU,T,40,50,,E,,U,M-T-40x50.step +T40-50ECM,T,40,50,,E,,CM,M-T-40x50.step +T40-50ELB,T,40,50,,E,LB,,M-T-40x50.step +T40-50ELBU,T,40,50,,E,LB,U,M-T-40x50.step +T40-50ELBCM,T,40,50,,E,LB,CM,M-T-40x50.step +T40-50EFA,T,40,50,,E,FA,,M-T-40x50.step +T40-50EFAU,T,40,50,,E,FA,U,M-T-40x50.step +T40-50EFACM,T,40,50,,E,FA,CM,M-T-40x50.step +T40-50EFB,T,40,50,,E,FB,,M-T-40x50.step +T40-50EFBU,T,40,50,,E,FB,U,M-T-40x50.step +T40-50EFBCM,T,40,50,,E,FB,CM,M-T-40x50.step +T40-50ESDB,T,40,50,,E,SDB,,M-T-40x50.step +T40-50ESDBU,T,40,50,,E,SDB,U,M-T-40x50.step +T40-50ESDBCM,T,40,50,,E,SDB,CM,M-T-40x50.step +T40-50,T,40,50,,,,,M-T-40x50.step +T40-50U,T,40,50,,,,U,M-T-40x50.step +T40-50CM,T,40,50,,,,CM,M-T-40x50.step +T40-50LB,T,40,50,,,LB,,M-T-40x50.step +T40-50LBU,T,40,50,,,LB,U,M-T-40x50.step +T40-50LBCM,T,40,50,,,LB,CM,M-T-40x50.step +T40-50FA,T,40,50,,,FA,,M-T-40x50.step +T40-50FAU,T,40,50,,,FA,U,M-T-40x50.step +T40-50FACM,T,40,50,,,FA,CM,M-T-40x50.step +T40-50FB,T,40,50,,,FB,,M-T-40x50.step +T40-50FBU,T,40,50,,,FB,U,M-T-40x50.step +T40-50FBCM,T,40,50,,,FB,CM,M-T-40x50.step +T40-50SDB,T,40,50,,,SDB,,M-T-40x50.step +T40-50SDBU,T,40,50,,,SDB,U,M-T-40x50.step +T40-50SDBCM,T,40,50,,,SDB,CM,M-T-40x50.step +T40-50ME,T,40,50,M,E,,,M-T-40x50.step +T40-50MEU,T,40,50,M,E,,U,M-T-40x50.step +T40-50MECM,T,40,50,M,E,,CM,M-T-40x50.step +T40-50MELB,T,40,50,M,E,LB,,M-T-40x50.step +T40-50MELBU,T,40,50,M,E,LB,U,M-T-40x50.step +T40-50MELBCM,T,40,50,M,E,LB,CM,M-T-40x50.step +T40-50MEFA,T,40,50,M,E,FA,,M-T-40x50.step +T40-50MEFAU,T,40,50,M,E,FA,U,M-T-40x50.step +T40-50MEFACM,T,40,50,M,E,FA,CM,M-T-40x50.step +T40-50MEFB,T,40,50,M,E,FB,,M-T-40x50.step +T40-50MEFBU,T,40,50,M,E,FB,U,M-T-40x50.step +T40-50MEFBCM,T,40,50,M,E,FB,CM,M-T-40x50.step +T40-50MESDB,T,40,50,M,E,SDB,,M-T-40x50.step +T40-50MESDBU,T,40,50,M,E,SDB,U,M-T-40x50.step +T40-50MESDBCM,T,40,50,M,E,SDB,CM,M-T-40x50.step +T40-50M,T,40,50,M,,,,M-T-40x50.step +T40-50MU,T,40,50,M,,,U,M-T-40x50.step +T40-50MCM,T,40,50,M,,,CM,M-T-40x50.step +T40-50MLB,T,40,50,M,,LB,,M-T-40x50.step +T40-50MLBU,T,40,50,M,,LB,U,M-T-40x50.step +T40-50MLBCM,T,40,50,M,,LB,CM,M-T-40x50.step +T40-50MFA,T,40,50,M,,FA,,M-T-40x50.step +T40-50MFAU,T,40,50,M,,FA,U,M-T-40x50.step +T40-50MFACM,T,40,50,M,,FA,CM,M-T-40x50.step +T40-50MFB,T,40,50,M,,FB,,M-T-40x50.step +T40-50MFBU,T,40,50,M,,FB,U,M-T-40x50.step +T40-50MFBCM,T,40,50,M,,FB,CM,M-T-40x50.step +T40-50MSDB,T,40,50,M,,SDB,,M-T-40x50.step +T40-50MSDBU,T,40,50,M,,SDB,U,M-T-40x50.step +T40-50MSDBCM,T,40,50,M,,SDB,CM,M-T-40x50.step +T40-75E,T,40,75,,E,,,M-T-40x75.step +T40-75EU,T,40,75,,E,,U,M-T-40x75.step +T40-75ECM,T,40,75,,E,,CM,M-T-40x75.step +T40-75ELB,T,40,75,,E,LB,,M-T-40x75.step +T40-75ELBU,T,40,75,,E,LB,U,M-T-40x75.step +T40-75ELBCM,T,40,75,,E,LB,CM,M-T-40x75.step +T40-75EFA,T,40,75,,E,FA,,M-T-40x75.step +T40-75EFAU,T,40,75,,E,FA,U,M-T-40x75.step +T40-75EFACM,T,40,75,,E,FA,CM,M-T-40x75.step +T40-75EFB,T,40,75,,E,FB,,M-T-40x75.step +T40-75EFBU,T,40,75,,E,FB,U,M-T-40x75.step +T40-75EFBCM,T,40,75,,E,FB,CM,M-T-40x75.step +T40-75ESDB,T,40,75,,E,SDB,,M-T-40x75.step +T40-75ESDBU,T,40,75,,E,SDB,U,M-T-40x75.step +T40-75ESDBCM,T,40,75,,E,SDB,CM,M-T-40x75.step +T40-75,T,40,75,,,,,M-T-40x75.step +T40-75U,T,40,75,,,,U,M-T-40x75.step +T40-75CM,T,40,75,,,,CM,M-T-40x75.step +T40-75LB,T,40,75,,,LB,,M-T-40x75.step +T40-75LBU,T,40,75,,,LB,U,M-T-40x75.step +T40-75LBCM,T,40,75,,,LB,CM,M-T-40x75.step +T40-75FA,T,40,75,,,FA,,M-T-40x75.step +T40-75FAU,T,40,75,,,FA,U,M-T-40x75.step +T40-75FACM,T,40,75,,,FA,CM,M-T-40x75.step +T40-75FB,T,40,75,,,FB,,M-T-40x75.step +T40-75FBU,T,40,75,,,FB,U,M-T-40x75.step +T40-75FBCM,T,40,75,,,FB,CM,M-T-40x75.step +T40-75SDB,T,40,75,,,SDB,,M-T-40x75.step +T40-75SDBU,T,40,75,,,SDB,U,M-T-40x75.step +T40-75SDBCM,T,40,75,,,SDB,CM,M-T-40x75.step +T40-75ME,T,40,75,M,E,,,M-T-40x75.step +T40-75MEU,T,40,75,M,E,,U,M-T-40x75.step +T40-75MECM,T,40,75,M,E,,CM,M-T-40x75.step +T40-75MELB,T,40,75,M,E,LB,,M-T-40x75.step +T40-75MELBU,T,40,75,M,E,LB,U,M-T-40x75.step +T40-75MELBCM,T,40,75,M,E,LB,CM,M-T-40x75.step +T40-75MEFA,T,40,75,M,E,FA,,M-T-40x75.step +T40-75MEFAU,T,40,75,M,E,FA,U,M-T-40x75.step +T40-75MEFACM,T,40,75,M,E,FA,CM,M-T-40x75.step +T40-75MEFB,T,40,75,M,E,FB,,M-T-40x75.step +T40-75MEFBU,T,40,75,M,E,FB,U,M-T-40x75.step +T40-75MEFBCM,T,40,75,M,E,FB,CM,M-T-40x75.step +T40-75MESDB,T,40,75,M,E,SDB,,M-T-40x75.step +T40-75MESDBU,T,40,75,M,E,SDB,U,M-T-40x75.step +T40-75MESDBCM,T,40,75,M,E,SDB,CM,M-T-40x75.step +T40-75M,T,40,75,M,,,,M-T-40x75.step +T40-75MU,T,40,75,M,,,U,M-T-40x75.step +T40-75MCM,T,40,75,M,,,CM,M-T-40x75.step +T40-75MLB,T,40,75,M,,LB,,M-T-40x75.step +T40-75MLBU,T,40,75,M,,LB,U,M-T-40x75.step +T40-75MLBCM,T,40,75,M,,LB,CM,M-T-40x75.step +T40-75MFA,T,40,75,M,,FA,,M-T-40x75.step +T40-75MFAU,T,40,75,M,,FA,U,M-T-40x75.step +T40-75MFACM,T,40,75,M,,FA,CM,M-T-40x75.step +T40-75MFB,T,40,75,M,,FB,,M-T-40x75.step +T40-75MFBU,T,40,75,M,,FB,U,M-T-40x75.step +T40-75MFBCM,T,40,75,M,,FB,CM,M-T-40x75.step +T40-75MSDB,T,40,75,M,,SDB,,M-T-40x75.step +T40-75MSDBU,T,40,75,M,,SDB,U,M-T-40x75.step +T40-75MSDBCM,T,40,75,M,,SDB,CM,M-T-40x75.step +T40-100E,T,40,100,,E,,,M-T-40x100.step +T40-100EU,T,40,100,,E,,U,M-T-40x100.step +T40-100ECM,T,40,100,,E,,CM,M-T-40x100.step +T40-100ELB,T,40,100,,E,LB,,M-T-40x100.step +T40-100ELBU,T,40,100,,E,LB,U,M-T-40x100.step +T40-100ELBCM,T,40,100,,E,LB,CM,M-T-40x100.step +T40-100EFA,T,40,100,,E,FA,,M-T-40x100.step +T40-100EFAU,T,40,100,,E,FA,U,M-T-40x100.step +T40-100EFACM,T,40,100,,E,FA,CM,M-T-40x100.step +T40-100EFB,T,40,100,,E,FB,,M-T-40x100.step +T40-100EFBU,T,40,100,,E,FB,U,M-T-40x100.step +T40-100EFBCM,T,40,100,,E,FB,CM,M-T-40x100.step +T40-100ESDB,T,40,100,,E,SDB,,M-T-40x100.step +T40-100ESDBU,T,40,100,,E,SDB,U,M-T-40x100.step +T40-100ESDBCM,T,40,100,,E,SDB,CM,M-T-40x100.step +T40-100,T,40,100,,,,,M-T-40x100.step +T40-100U,T,40,100,,,,U,M-T-40x100.step +T40-100CM,T,40,100,,,,CM,M-T-40x100.step +T40-100LB,T,40,100,,,LB,,M-T-40x100.step +T40-100LBU,T,40,100,,,LB,U,M-T-40x100.step +T40-100LBCM,T,40,100,,,LB,CM,M-T-40x100.step +T40-100FA,T,40,100,,,FA,,M-T-40x100.step +T40-100FAU,T,40,100,,,FA,U,M-T-40x100.step +T40-100FACM,T,40,100,,,FA,CM,M-T-40x100.step +T40-100FB,T,40,100,,,FB,,M-T-40x100.step +T40-100FBU,T,40,100,,,FB,U,M-T-40x100.step +T40-100FBCM,T,40,100,,,FB,CM,M-T-40x100.step +T40-100SDB,T,40,100,,,SDB,,M-T-40x100.step +T40-100SDBU,T,40,100,,,SDB,U,M-T-40x100.step +T40-100SDBCM,T,40,100,,,SDB,CM,M-T-40x100.step +T40-100ME,T,40,100,M,E,,,M-T-40x100.step +T40-100MEU,T,40,100,M,E,,U,M-T-40x100.step +T40-100MECM,T,40,100,M,E,,CM,M-T-40x100.step +T40-100MELB,T,40,100,M,E,LB,,M-T-40x100.step +T40-100MELBU,T,40,100,M,E,LB,U,M-T-40x100.step +T40-100MELBCM,T,40,100,M,E,LB,CM,M-T-40x100.step +T40-100MEFA,T,40,100,M,E,FA,,M-T-40x100.step +T40-100MEFAU,T,40,100,M,E,FA,U,M-T-40x100.step +T40-100MEFACM,T,40,100,M,E,FA,CM,M-T-40x100.step +T40-100MEFB,T,40,100,M,E,FB,,M-T-40x100.step +T40-100MEFBU,T,40,100,M,E,FB,U,M-T-40x100.step +T40-100MEFBCM,T,40,100,M,E,FB,CM,M-T-40x100.step +T40-100MESDB,T,40,100,M,E,SDB,,M-T-40x100.step +T40-100MESDBU,T,40,100,M,E,SDB,U,M-T-40x100.step +T40-100MESDBCM,T,40,100,M,E,SDB,CM,M-T-40x100.step +T40-100M,T,40,100,M,,,,M-T-40x100.step +T40-100MU,T,40,100,M,,,U,M-T-40x100.step +T40-100MCM,T,40,100,M,,,CM,M-T-40x100.step +T40-100MLB,T,40,100,M,,LB,,M-T-40x100.step +T40-100MLBU,T,40,100,M,,LB,U,M-T-40x100.step +T40-100MLBCM,T,40,100,M,,LB,CM,M-T-40x100.step +T40-100MFA,T,40,100,M,,FA,,M-T-40x100.step +T40-100MFAU,T,40,100,M,,FA,U,M-T-40x100.step +T40-100MFACM,T,40,100,M,,FA,CM,M-T-40x100.step +T40-100MFB,T,40,100,M,,FB,,M-T-40x100.step +T40-100MFBU,T,40,100,M,,FB,U,M-T-40x100.step +T40-100MFBCM,T,40,100,M,,FB,CM,M-T-40x100.step +T40-100MSDB,T,40,100,M,,SDB,,M-T-40x100.step +T40-100MSDBU,T,40,100,M,,SDB,U,M-T-40x100.step +T40-100MSDBCM,T,40,100,M,,SDB,CM,M-T-40x100.step +ND8-10E,ND,8,10,,E,,,M-ND-8x10.step +ND8-10EU,ND,8,10,,E,,U,M-ND-8x10.step +ND8-10ECM,ND,8,10,,E,,CM,M-ND-8x10.step +ND8-10ELB,ND,8,10,,E,LB,,M-ND-8x10.step +ND8-10ELBU,ND,8,10,,E,LB,U,M-ND-8x10.step +ND8-10ELBCM,ND,8,10,,E,LB,CM,M-ND-8x10.step +ND8-10EFA,ND,8,10,,E,FA,,M-ND-8x10.step +ND8-10EFAU,ND,8,10,,E,FA,U,M-ND-8x10.step +ND8-10EFACM,ND,8,10,,E,FA,CM,M-ND-8x10.step +ND8-10EFB,ND,8,10,,E,FB,,M-ND-8x10.step +ND8-10EFBU,ND,8,10,,E,FB,U,M-ND-8x10.step +ND8-10EFBCM,ND,8,10,,E,FB,CM,M-ND-8x10.step +ND8-10ESDB,ND,8,10,,E,SDB,,M-ND-8x10.step +ND8-10ESDBU,ND,8,10,,E,SDB,U,M-ND-8x10.step +ND8-10ESDBCM,ND,8,10,,E,SDB,CM,M-ND-8x10.step +ND8-10,ND,8,10,,,,,M-ND-8x10.step +ND8-10U,ND,8,10,,,,U,M-ND-8x10.step +ND8-10CM,ND,8,10,,,,CM,M-ND-8x10.step +ND8-10LB,ND,8,10,,,LB,,M-ND-8x10.step +ND8-10LBU,ND,8,10,,,LB,U,M-ND-8x10.step +ND8-10LBCM,ND,8,10,,,LB,CM,M-ND-8x10.step +ND8-10FA,ND,8,10,,,FA,,M-ND-8x10.step +ND8-10FAU,ND,8,10,,,FA,U,M-ND-8x10.step +ND8-10FACM,ND,8,10,,,FA,CM,M-ND-8x10.step +ND8-10FB,ND,8,10,,,FB,,M-ND-8x10.step +ND8-10FBU,ND,8,10,,,FB,U,M-ND-8x10.step +ND8-10FBCM,ND,8,10,,,FB,CM,M-ND-8x10.step +ND8-10SDB,ND,8,10,,,SDB,,M-ND-8x10.step +ND8-10SDBU,ND,8,10,,,SDB,U,M-ND-8x10.step +ND8-10SDBCM,ND,8,10,,,SDB,CM,M-ND-8x10.step +ND8-10ME,ND,8,10,M,E,,,M-ND-8x10.step +ND8-10MEU,ND,8,10,M,E,,U,M-ND-8x10.step +ND8-10MECM,ND,8,10,M,E,,CM,M-ND-8x10.step +ND8-10MELB,ND,8,10,M,E,LB,,M-ND-8x10.step +ND8-10MELBU,ND,8,10,M,E,LB,U,M-ND-8x10.step +ND8-10MELBCM,ND,8,10,M,E,LB,CM,M-ND-8x10.step +ND8-10MEFA,ND,8,10,M,E,FA,,M-ND-8x10.step +ND8-10MEFAU,ND,8,10,M,E,FA,U,M-ND-8x10.step +ND8-10MEFACM,ND,8,10,M,E,FA,CM,M-ND-8x10.step +ND8-10MEFB,ND,8,10,M,E,FB,,M-ND-8x10.step +ND8-10MEFBU,ND,8,10,M,E,FB,U,M-ND-8x10.step +ND8-10MEFBCM,ND,8,10,M,E,FB,CM,M-ND-8x10.step +ND8-10MESDB,ND,8,10,M,E,SDB,,M-ND-8x10.step +ND8-10MESDBU,ND,8,10,M,E,SDB,U,M-ND-8x10.step +ND8-10MESDBCM,ND,8,10,M,E,SDB,CM,M-ND-8x10.step +ND8-10M,ND,8,10,M,,,,M-ND-8x10.step +ND8-10MU,ND,8,10,M,,,U,M-ND-8x10.step +ND8-10MCM,ND,8,10,M,,,CM,M-ND-8x10.step +ND8-10MLB,ND,8,10,M,,LB,,M-ND-8x10.step +ND8-10MLBU,ND,8,10,M,,LB,U,M-ND-8x10.step +ND8-10MLBCM,ND,8,10,M,,LB,CM,M-ND-8x10.step +ND8-10MFA,ND,8,10,M,,FA,,M-ND-8x10.step +ND8-10MFAU,ND,8,10,M,,FA,U,M-ND-8x10.step +ND8-10MFACM,ND,8,10,M,,FA,CM,M-ND-8x10.step +ND8-10MFB,ND,8,10,M,,FB,,M-ND-8x10.step +ND8-10MFBU,ND,8,10,M,,FB,U,M-ND-8x10.step +ND8-10MFBCM,ND,8,10,M,,FB,CM,M-ND-8x10.step +ND8-10MSDB,ND,8,10,M,,SDB,,M-ND-8x10.step +ND8-10MSDBU,ND,8,10,M,,SDB,U,M-ND-8x10.step +ND8-10MSDBCM,ND,8,10,M,,SDB,CM,M-ND-8x10.step +ND8-20E,ND,8,20,,E,,,M-ND-8x20.step +ND8-20EU,ND,8,20,,E,,U,M-ND-8x20.step +ND8-20ECM,ND,8,20,,E,,CM,M-ND-8x20.step +ND8-20ELB,ND,8,20,,E,LB,,M-ND-8x20.step +ND8-20ELBU,ND,8,20,,E,LB,U,M-ND-8x20.step +ND8-20ELBCM,ND,8,20,,E,LB,CM,M-ND-8x20.step +ND8-20EFA,ND,8,20,,E,FA,,M-ND-8x20.step +ND8-20EFAU,ND,8,20,,E,FA,U,M-ND-8x20.step +ND8-20EFACM,ND,8,20,,E,FA,CM,M-ND-8x20.step +ND8-20EFB,ND,8,20,,E,FB,,M-ND-8x20.step +ND8-20EFBU,ND,8,20,,E,FB,U,M-ND-8x20.step +ND8-20EFBCM,ND,8,20,,E,FB,CM,M-ND-8x20.step +ND8-20ESDB,ND,8,20,,E,SDB,,M-ND-8x20.step +ND8-20ESDBU,ND,8,20,,E,SDB,U,M-ND-8x20.step +ND8-20ESDBCM,ND,8,20,,E,SDB,CM,M-ND-8x20.step +ND8-20,ND,8,20,,,,,M-ND-8x20.step +ND8-20U,ND,8,20,,,,U,M-ND-8x20.step +ND8-20CM,ND,8,20,,,,CM,M-ND-8x20.step +ND8-20LB,ND,8,20,,,LB,,M-ND-8x20.step +ND8-20LBU,ND,8,20,,,LB,U,M-ND-8x20.step +ND8-20LBCM,ND,8,20,,,LB,CM,M-ND-8x20.step +ND8-20FA,ND,8,20,,,FA,,M-ND-8x20.step +ND8-20FAU,ND,8,20,,,FA,U,M-ND-8x20.step +ND8-20FACM,ND,8,20,,,FA,CM,M-ND-8x20.step +ND8-20FB,ND,8,20,,,FB,,M-ND-8x20.step +ND8-20FBU,ND,8,20,,,FB,U,M-ND-8x20.step +ND8-20FBCM,ND,8,20,,,FB,CM,M-ND-8x20.step +ND8-20SDB,ND,8,20,,,SDB,,M-ND-8x20.step +ND8-20SDBU,ND,8,20,,,SDB,U,M-ND-8x20.step +ND8-20SDBCM,ND,8,20,,,SDB,CM,M-ND-8x20.step +ND8-20ME,ND,8,20,M,E,,,M-ND-8x20.step +ND8-20MEU,ND,8,20,M,E,,U,M-ND-8x20.step +ND8-20MECM,ND,8,20,M,E,,CM,M-ND-8x20.step +ND8-20MELB,ND,8,20,M,E,LB,,M-ND-8x20.step +ND8-20MELBU,ND,8,20,M,E,LB,U,M-ND-8x20.step +ND8-20MELBCM,ND,8,20,M,E,LB,CM,M-ND-8x20.step +ND8-20MEFA,ND,8,20,M,E,FA,,M-ND-8x20.step +ND8-20MEFAU,ND,8,20,M,E,FA,U,M-ND-8x20.step +ND8-20MEFACM,ND,8,20,M,E,FA,CM,M-ND-8x20.step +ND8-20MEFB,ND,8,20,M,E,FB,,M-ND-8x20.step +ND8-20MEFBU,ND,8,20,M,E,FB,U,M-ND-8x20.step +ND8-20MEFBCM,ND,8,20,M,E,FB,CM,M-ND-8x20.step +ND8-20MESDB,ND,8,20,M,E,SDB,,M-ND-8x20.step +ND8-20MESDBU,ND,8,20,M,E,SDB,U,M-ND-8x20.step +ND8-20MESDBCM,ND,8,20,M,E,SDB,CM,M-ND-8x20.step +ND8-20M,ND,8,20,M,,,,M-ND-8x20.step +ND8-20MU,ND,8,20,M,,,U,M-ND-8x20.step +ND8-20MCM,ND,8,20,M,,,CM,M-ND-8x20.step +ND8-20MLB,ND,8,20,M,,LB,,M-ND-8x20.step +ND8-20MLBU,ND,8,20,M,,LB,U,M-ND-8x20.step +ND8-20MLBCM,ND,8,20,M,,LB,CM,M-ND-8x20.step +ND8-20MFA,ND,8,20,M,,FA,,M-ND-8x20.step +ND8-20MFAU,ND,8,20,M,,FA,U,M-ND-8x20.step +ND8-20MFACM,ND,8,20,M,,FA,CM,M-ND-8x20.step +ND8-20MFB,ND,8,20,M,,FB,,M-ND-8x20.step +ND8-20MFBU,ND,8,20,M,,FB,U,M-ND-8x20.step +ND8-20MFBCM,ND,8,20,M,,FB,CM,M-ND-8x20.step +ND8-20MSDB,ND,8,20,M,,SDB,,M-ND-8x20.step +ND8-20MSDBU,ND,8,20,M,,SDB,U,M-ND-8x20.step +ND8-20MSDBCM,ND,8,20,M,,SDB,CM,M-ND-8x20.step +ND8-30E,ND,8,30,,E,,,M-ND-8x30.step +ND8-30EU,ND,8,30,,E,,U,M-ND-8x30.step +ND8-30ECM,ND,8,30,,E,,CM,M-ND-8x30.step +ND8-30ELB,ND,8,30,,E,LB,,M-ND-8x30.step +ND8-30ELBU,ND,8,30,,E,LB,U,M-ND-8x30.step +ND8-30ELBCM,ND,8,30,,E,LB,CM,M-ND-8x30.step +ND8-30EFA,ND,8,30,,E,FA,,M-ND-8x30.step +ND8-30EFAU,ND,8,30,,E,FA,U,M-ND-8x30.step +ND8-30EFACM,ND,8,30,,E,FA,CM,M-ND-8x30.step +ND8-30EFB,ND,8,30,,E,FB,,M-ND-8x30.step +ND8-30EFBU,ND,8,30,,E,FB,U,M-ND-8x30.step +ND8-30EFBCM,ND,8,30,,E,FB,CM,M-ND-8x30.step +ND8-30ESDB,ND,8,30,,E,SDB,,M-ND-8x30.step +ND8-30ESDBU,ND,8,30,,E,SDB,U,M-ND-8x30.step +ND8-30ESDBCM,ND,8,30,,E,SDB,CM,M-ND-8x30.step +ND8-30,ND,8,30,,,,,M-ND-8x30.step +ND8-30U,ND,8,30,,,,U,M-ND-8x30.step +ND8-30CM,ND,8,30,,,,CM,M-ND-8x30.step +ND8-30LB,ND,8,30,,,LB,,M-ND-8x30.step +ND8-30LBU,ND,8,30,,,LB,U,M-ND-8x30.step +ND8-30LBCM,ND,8,30,,,LB,CM,M-ND-8x30.step +ND8-30FA,ND,8,30,,,FA,,M-ND-8x30.step +ND8-30FAU,ND,8,30,,,FA,U,M-ND-8x30.step +ND8-30FACM,ND,8,30,,,FA,CM,M-ND-8x30.step +ND8-30FB,ND,8,30,,,FB,,M-ND-8x30.step +ND8-30FBU,ND,8,30,,,FB,U,M-ND-8x30.step +ND8-30FBCM,ND,8,30,,,FB,CM,M-ND-8x30.step +ND8-30SDB,ND,8,30,,,SDB,,M-ND-8x30.step +ND8-30SDBU,ND,8,30,,,SDB,U,M-ND-8x30.step +ND8-30SDBCM,ND,8,30,,,SDB,CM,M-ND-8x30.step +ND8-30ME,ND,8,30,M,E,,,M-ND-8x30.step +ND8-30MEU,ND,8,30,M,E,,U,M-ND-8x30.step +ND8-30MECM,ND,8,30,M,E,,CM,M-ND-8x30.step +ND8-30MELB,ND,8,30,M,E,LB,,M-ND-8x30.step +ND8-30MELBU,ND,8,30,M,E,LB,U,M-ND-8x30.step +ND8-30MELBCM,ND,8,30,M,E,LB,CM,M-ND-8x30.step +ND8-30MEFA,ND,8,30,M,E,FA,,M-ND-8x30.step +ND8-30MEFAU,ND,8,30,M,E,FA,U,M-ND-8x30.step +ND8-30MEFACM,ND,8,30,M,E,FA,CM,M-ND-8x30.step +ND8-30MEFB,ND,8,30,M,E,FB,,M-ND-8x30.step +ND8-30MEFBU,ND,8,30,M,E,FB,U,M-ND-8x30.step +ND8-30MEFBCM,ND,8,30,M,E,FB,CM,M-ND-8x30.step +ND8-30MESDB,ND,8,30,M,E,SDB,,M-ND-8x30.step +ND8-30MESDBU,ND,8,30,M,E,SDB,U,M-ND-8x30.step +ND8-30MESDBCM,ND,8,30,M,E,SDB,CM,M-ND-8x30.step +ND8-30M,ND,8,30,M,,,,M-ND-8x30.step +ND8-30MU,ND,8,30,M,,,U,M-ND-8x30.step +ND8-30MCM,ND,8,30,M,,,CM,M-ND-8x30.step +ND8-30MLB,ND,8,30,M,,LB,,M-ND-8x30.step +ND8-30MLBU,ND,8,30,M,,LB,U,M-ND-8x30.step +ND8-30MLBCM,ND,8,30,M,,LB,CM,M-ND-8x30.step +ND8-30MFA,ND,8,30,M,,FA,,M-ND-8x30.step +ND8-30MFAU,ND,8,30,M,,FA,U,M-ND-8x30.step +ND8-30MFACM,ND,8,30,M,,FA,CM,M-ND-8x30.step +ND8-30MFB,ND,8,30,M,,FB,,M-ND-8x30.step +ND8-30MFBU,ND,8,30,M,,FB,U,M-ND-8x30.step +ND8-30MFBCM,ND,8,30,M,,FB,CM,M-ND-8x30.step +ND8-30MSDB,ND,8,30,M,,SDB,,M-ND-8x30.step +ND8-30MSDBU,ND,8,30,M,,SDB,U,M-ND-8x30.step +ND8-30MSDBCM,ND,8,30,M,,SDB,CM,M-ND-8x30.step +ND8-50E,ND,8,50,,E,,,M-ND-8x50.step +ND8-50EU,ND,8,50,,E,,U,M-ND-8x50.step +ND8-50ECM,ND,8,50,,E,,CM,M-ND-8x50.step +ND8-50ELB,ND,8,50,,E,LB,,M-ND-8x50.step +ND8-50ELBU,ND,8,50,,E,LB,U,M-ND-8x50.step +ND8-50ELBCM,ND,8,50,,E,LB,CM,M-ND-8x50.step +ND8-50EFA,ND,8,50,,E,FA,,M-ND-8x50.step +ND8-50EFAU,ND,8,50,,E,FA,U,M-ND-8x50.step +ND8-50EFACM,ND,8,50,,E,FA,CM,M-ND-8x50.step +ND8-50EFB,ND,8,50,,E,FB,,M-ND-8x50.step +ND8-50EFBU,ND,8,50,,E,FB,U,M-ND-8x50.step +ND8-50EFBCM,ND,8,50,,E,FB,CM,M-ND-8x50.step +ND8-50ESDB,ND,8,50,,E,SDB,,M-ND-8x50.step +ND8-50ESDBU,ND,8,50,,E,SDB,U,M-ND-8x50.step +ND8-50ESDBCM,ND,8,50,,E,SDB,CM,M-ND-8x50.step +ND8-50,ND,8,50,,,,,M-ND-8x50.step +ND8-50U,ND,8,50,,,,U,M-ND-8x50.step +ND8-50CM,ND,8,50,,,,CM,M-ND-8x50.step +ND8-50LB,ND,8,50,,,LB,,M-ND-8x50.step +ND8-50LBU,ND,8,50,,,LB,U,M-ND-8x50.step +ND8-50LBCM,ND,8,50,,,LB,CM,M-ND-8x50.step +ND8-50FA,ND,8,50,,,FA,,M-ND-8x50.step +ND8-50FAU,ND,8,50,,,FA,U,M-ND-8x50.step +ND8-50FACM,ND,8,50,,,FA,CM,M-ND-8x50.step +ND8-50FB,ND,8,50,,,FB,,M-ND-8x50.step +ND8-50FBU,ND,8,50,,,FB,U,M-ND-8x50.step +ND8-50FBCM,ND,8,50,,,FB,CM,M-ND-8x50.step +ND8-50SDB,ND,8,50,,,SDB,,M-ND-8x50.step +ND8-50SDBU,ND,8,50,,,SDB,U,M-ND-8x50.step +ND8-50SDBCM,ND,8,50,,,SDB,CM,M-ND-8x50.step +ND8-50ME,ND,8,50,M,E,,,M-ND-8x50.step +ND8-50MEU,ND,8,50,M,E,,U,M-ND-8x50.step +ND8-50MECM,ND,8,50,M,E,,CM,M-ND-8x50.step +ND8-50MELB,ND,8,50,M,E,LB,,M-ND-8x50.step +ND8-50MELBU,ND,8,50,M,E,LB,U,M-ND-8x50.step +ND8-50MELBCM,ND,8,50,M,E,LB,CM,M-ND-8x50.step +ND8-50MEFA,ND,8,50,M,E,FA,,M-ND-8x50.step +ND8-50MEFAU,ND,8,50,M,E,FA,U,M-ND-8x50.step +ND8-50MEFACM,ND,8,50,M,E,FA,CM,M-ND-8x50.step +ND8-50MEFB,ND,8,50,M,E,FB,,M-ND-8x50.step +ND8-50MEFBU,ND,8,50,M,E,FB,U,M-ND-8x50.step +ND8-50MEFBCM,ND,8,50,M,E,FB,CM,M-ND-8x50.step +ND8-50MESDB,ND,8,50,M,E,SDB,,M-ND-8x50.step +ND8-50MESDBU,ND,8,50,M,E,SDB,U,M-ND-8x50.step +ND8-50MESDBCM,ND,8,50,M,E,SDB,CM,M-ND-8x50.step +ND8-50M,ND,8,50,M,,,,M-ND-8x50.step +ND8-50MU,ND,8,50,M,,,U,M-ND-8x50.step +ND8-50MCM,ND,8,50,M,,,CM,M-ND-8x50.step +ND8-50MLB,ND,8,50,M,,LB,,M-ND-8x50.step +ND8-50MLBU,ND,8,50,M,,LB,U,M-ND-8x50.step +ND8-50MLBCM,ND,8,50,M,,LB,CM,M-ND-8x50.step +ND8-50MFA,ND,8,50,M,,FA,,M-ND-8x50.step +ND8-50MFAU,ND,8,50,M,,FA,U,M-ND-8x50.step +ND8-50MFACM,ND,8,50,M,,FA,CM,M-ND-8x50.step +ND8-50MFB,ND,8,50,M,,FB,,M-ND-8x50.step +ND8-50MFBU,ND,8,50,M,,FB,U,M-ND-8x50.step +ND8-50MFBCM,ND,8,50,M,,FB,CM,M-ND-8x50.step +ND8-50MSDB,ND,8,50,M,,SDB,,M-ND-8x50.step +ND8-50MSDBU,ND,8,50,M,,SDB,U,M-ND-8x50.step +ND8-50MSDBCM,ND,8,50,M,,SDB,CM,M-ND-8x50.step +ND8-75E,ND,8,75,,E,,,M-ND-8x75.step +ND8-75EU,ND,8,75,,E,,U,M-ND-8x75.step +ND8-75ECM,ND,8,75,,E,,CM,M-ND-8x75.step +ND8-75ELB,ND,8,75,,E,LB,,M-ND-8x75.step +ND8-75ELBU,ND,8,75,,E,LB,U,M-ND-8x75.step +ND8-75ELBCM,ND,8,75,,E,LB,CM,M-ND-8x75.step +ND8-75EFA,ND,8,75,,E,FA,,M-ND-8x75.step +ND8-75EFAU,ND,8,75,,E,FA,U,M-ND-8x75.step +ND8-75EFACM,ND,8,75,,E,FA,CM,M-ND-8x75.step +ND8-75EFB,ND,8,75,,E,FB,,M-ND-8x75.step +ND8-75EFBU,ND,8,75,,E,FB,U,M-ND-8x75.step +ND8-75EFBCM,ND,8,75,,E,FB,CM,M-ND-8x75.step +ND8-75ESDB,ND,8,75,,E,SDB,,M-ND-8x75.step +ND8-75ESDBU,ND,8,75,,E,SDB,U,M-ND-8x75.step +ND8-75ESDBCM,ND,8,75,,E,SDB,CM,M-ND-8x75.step +ND8-75,ND,8,75,,,,,M-ND-8x75.step +ND8-75U,ND,8,75,,,,U,M-ND-8x75.step +ND8-75CM,ND,8,75,,,,CM,M-ND-8x75.step +ND8-75LB,ND,8,75,,,LB,,M-ND-8x75.step +ND8-75LBU,ND,8,75,,,LB,U,M-ND-8x75.step +ND8-75LBCM,ND,8,75,,,LB,CM,M-ND-8x75.step +ND8-75FA,ND,8,75,,,FA,,M-ND-8x75.step +ND8-75FAU,ND,8,75,,,FA,U,M-ND-8x75.step +ND8-75FACM,ND,8,75,,,FA,CM,M-ND-8x75.step +ND8-75FB,ND,8,75,,,FB,,M-ND-8x75.step +ND8-75FBU,ND,8,75,,,FB,U,M-ND-8x75.step +ND8-75FBCM,ND,8,75,,,FB,CM,M-ND-8x75.step +ND8-75SDB,ND,8,75,,,SDB,,M-ND-8x75.step +ND8-75SDBU,ND,8,75,,,SDB,U,M-ND-8x75.step +ND8-75SDBCM,ND,8,75,,,SDB,CM,M-ND-8x75.step +ND8-75ME,ND,8,75,M,E,,,M-ND-8x75.step +ND8-75MEU,ND,8,75,M,E,,U,M-ND-8x75.step +ND8-75MECM,ND,8,75,M,E,,CM,M-ND-8x75.step +ND8-75MELB,ND,8,75,M,E,LB,,M-ND-8x75.step +ND8-75MELBU,ND,8,75,M,E,LB,U,M-ND-8x75.step +ND8-75MELBCM,ND,8,75,M,E,LB,CM,M-ND-8x75.step +ND8-75MEFA,ND,8,75,M,E,FA,,M-ND-8x75.step +ND8-75MEFAU,ND,8,75,M,E,FA,U,M-ND-8x75.step +ND8-75MEFACM,ND,8,75,M,E,FA,CM,M-ND-8x75.step +ND8-75MEFB,ND,8,75,M,E,FB,,M-ND-8x75.step +ND8-75MEFBU,ND,8,75,M,E,FB,U,M-ND-8x75.step +ND8-75MEFBCM,ND,8,75,M,E,FB,CM,M-ND-8x75.step +ND8-75MESDB,ND,8,75,M,E,SDB,,M-ND-8x75.step +ND8-75MESDBU,ND,8,75,M,E,SDB,U,M-ND-8x75.step +ND8-75MESDBCM,ND,8,75,M,E,SDB,CM,M-ND-8x75.step +ND8-75M,ND,8,75,M,,,,M-ND-8x75.step +ND8-75MU,ND,8,75,M,,,U,M-ND-8x75.step +ND8-75MCM,ND,8,75,M,,,CM,M-ND-8x75.step +ND8-75MLB,ND,8,75,M,,LB,,M-ND-8x75.step +ND8-75MLBU,ND,8,75,M,,LB,U,M-ND-8x75.step +ND8-75MLBCM,ND,8,75,M,,LB,CM,M-ND-8x75.step +ND8-75MFA,ND,8,75,M,,FA,,M-ND-8x75.step +ND8-75MFAU,ND,8,75,M,,FA,U,M-ND-8x75.step +ND8-75MFACM,ND,8,75,M,,FA,CM,M-ND-8x75.step +ND8-75MFB,ND,8,75,M,,FB,,M-ND-8x75.step +ND8-75MFBU,ND,8,75,M,,FB,U,M-ND-8x75.step +ND8-75MFBCM,ND,8,75,M,,FB,CM,M-ND-8x75.step +ND8-75MSDB,ND,8,75,M,,SDB,,M-ND-8x75.step +ND8-75MSDBU,ND,8,75,M,,SDB,U,M-ND-8x75.step +ND8-75MSDBCM,ND,8,75,M,,SDB,CM,M-ND-8x75.step +ND8-100E,ND,8,100,,E,,,M-ND-8x100.step +ND8-100EU,ND,8,100,,E,,U,M-ND-8x100.step +ND8-100ECM,ND,8,100,,E,,CM,M-ND-8x100.step +ND8-100ELB,ND,8,100,,E,LB,,M-ND-8x100.step +ND8-100ELBU,ND,8,100,,E,LB,U,M-ND-8x100.step +ND8-100ELBCM,ND,8,100,,E,LB,CM,M-ND-8x100.step +ND8-100EFA,ND,8,100,,E,FA,,M-ND-8x100.step +ND8-100EFAU,ND,8,100,,E,FA,U,M-ND-8x100.step +ND8-100EFACM,ND,8,100,,E,FA,CM,M-ND-8x100.step +ND8-100EFB,ND,8,100,,E,FB,,M-ND-8x100.step +ND8-100EFBU,ND,8,100,,E,FB,U,M-ND-8x100.step +ND8-100EFBCM,ND,8,100,,E,FB,CM,M-ND-8x100.step +ND8-100ESDB,ND,8,100,,E,SDB,,M-ND-8x100.step +ND8-100ESDBU,ND,8,100,,E,SDB,U,M-ND-8x100.step +ND8-100ESDBCM,ND,8,100,,E,SDB,CM,M-ND-8x100.step +ND8-100,ND,8,100,,,,,M-ND-8x100.step +ND8-100U,ND,8,100,,,,U,M-ND-8x100.step +ND8-100CM,ND,8,100,,,,CM,M-ND-8x100.step +ND8-100LB,ND,8,100,,,LB,,M-ND-8x100.step +ND8-100LBU,ND,8,100,,,LB,U,M-ND-8x100.step +ND8-100LBCM,ND,8,100,,,LB,CM,M-ND-8x100.step +ND8-100FA,ND,8,100,,,FA,,M-ND-8x100.step +ND8-100FAU,ND,8,100,,,FA,U,M-ND-8x100.step +ND8-100FACM,ND,8,100,,,FA,CM,M-ND-8x100.step +ND8-100FB,ND,8,100,,,FB,,M-ND-8x100.step +ND8-100FBU,ND,8,100,,,FB,U,M-ND-8x100.step +ND8-100FBCM,ND,8,100,,,FB,CM,M-ND-8x100.step +ND8-100SDB,ND,8,100,,,SDB,,M-ND-8x100.step +ND8-100SDBU,ND,8,100,,,SDB,U,M-ND-8x100.step +ND8-100SDBCM,ND,8,100,,,SDB,CM,M-ND-8x100.step +ND8-100ME,ND,8,100,M,E,,,M-ND-8x100.step +ND8-100MEU,ND,8,100,M,E,,U,M-ND-8x100.step +ND8-100MECM,ND,8,100,M,E,,CM,M-ND-8x100.step +ND8-100MELB,ND,8,100,M,E,LB,,M-ND-8x100.step +ND8-100MELBU,ND,8,100,M,E,LB,U,M-ND-8x100.step +ND8-100MELBCM,ND,8,100,M,E,LB,CM,M-ND-8x100.step +ND8-100MEFA,ND,8,100,M,E,FA,,M-ND-8x100.step +ND8-100MEFAU,ND,8,100,M,E,FA,U,M-ND-8x100.step +ND8-100MEFACM,ND,8,100,M,E,FA,CM,M-ND-8x100.step +ND8-100MEFB,ND,8,100,M,E,FB,,M-ND-8x100.step +ND8-100MEFBU,ND,8,100,M,E,FB,U,M-ND-8x100.step +ND8-100MEFBCM,ND,8,100,M,E,FB,CM,M-ND-8x100.step +ND8-100MESDB,ND,8,100,M,E,SDB,,M-ND-8x100.step +ND8-100MESDBU,ND,8,100,M,E,SDB,U,M-ND-8x100.step +ND8-100MESDBCM,ND,8,100,M,E,SDB,CM,M-ND-8x100.step +ND8-100M,ND,8,100,M,,,,M-ND-8x100.step +ND8-100MU,ND,8,100,M,,,U,M-ND-8x100.step +ND8-100MCM,ND,8,100,M,,,CM,M-ND-8x100.step +ND8-100MLB,ND,8,100,M,,LB,,M-ND-8x100.step +ND8-100MLBU,ND,8,100,M,,LB,U,M-ND-8x100.step +ND8-100MLBCM,ND,8,100,M,,LB,CM,M-ND-8x100.step +ND8-100MFA,ND,8,100,M,,FA,,M-ND-8x100.step +ND8-100MFAU,ND,8,100,M,,FA,U,M-ND-8x100.step +ND8-100MFACM,ND,8,100,M,,FA,CM,M-ND-8x100.step +ND8-100MFB,ND,8,100,M,,FB,,M-ND-8x100.step +ND8-100MFBU,ND,8,100,M,,FB,U,M-ND-8x100.step +ND8-100MFBCM,ND,8,100,M,,FB,CM,M-ND-8x100.step +ND8-100MSDB,ND,8,100,M,,SDB,,M-ND-8x100.step +ND8-100MSDBU,ND,8,100,M,,SDB,U,M-ND-8x100.step +ND8-100MSDBCM,ND,8,100,M,,SDB,CM,M-ND-8x100.step +ND10-10E,ND,10,10,,E,,,M-ND-10x10.step +ND10-10EU,ND,10,10,,E,,U,M-ND-10x10.step +ND10-10ECM,ND,10,10,,E,,CM,M-ND-10x10.step +ND10-10ELB,ND,10,10,,E,LB,,M-ND-10x10.step +ND10-10ELBU,ND,10,10,,E,LB,U,M-ND-10x10.step +ND10-10ELBCM,ND,10,10,,E,LB,CM,M-ND-10x10.step +ND10-10EFA,ND,10,10,,E,FA,,M-ND-10x10.step +ND10-10EFAU,ND,10,10,,E,FA,U,M-ND-10x10.step +ND10-10EFACM,ND,10,10,,E,FA,CM,M-ND-10x10.step +ND10-10EFB,ND,10,10,,E,FB,,M-ND-10x10.step +ND10-10EFBU,ND,10,10,,E,FB,U,M-ND-10x10.step +ND10-10EFBCM,ND,10,10,,E,FB,CM,M-ND-10x10.step +ND10-10ESDB,ND,10,10,,E,SDB,,M-ND-10x10.step +ND10-10ESDBU,ND,10,10,,E,SDB,U,M-ND-10x10.step +ND10-10ESDBCM,ND,10,10,,E,SDB,CM,M-ND-10x10.step +ND10-10,ND,10,10,,,,,M-ND-10x10.step +ND10-10U,ND,10,10,,,,U,M-ND-10x10.step +ND10-10CM,ND,10,10,,,,CM,M-ND-10x10.step +ND10-10LB,ND,10,10,,,LB,,M-ND-10x10.step +ND10-10LBU,ND,10,10,,,LB,U,M-ND-10x10.step +ND10-10LBCM,ND,10,10,,,LB,CM,M-ND-10x10.step +ND10-10FA,ND,10,10,,,FA,,M-ND-10x10.step +ND10-10FAU,ND,10,10,,,FA,U,M-ND-10x10.step +ND10-10FACM,ND,10,10,,,FA,CM,M-ND-10x10.step +ND10-10FB,ND,10,10,,,FB,,M-ND-10x10.step +ND10-10FBU,ND,10,10,,,FB,U,M-ND-10x10.step +ND10-10FBCM,ND,10,10,,,FB,CM,M-ND-10x10.step +ND10-10SDB,ND,10,10,,,SDB,,M-ND-10x10.step +ND10-10SDBU,ND,10,10,,,SDB,U,M-ND-10x10.step +ND10-10SDBCM,ND,10,10,,,SDB,CM,M-ND-10x10.step +ND10-10ME,ND,10,10,M,E,,,M-ND-10x10.step +ND10-10MEU,ND,10,10,M,E,,U,M-ND-10x10.step +ND10-10MECM,ND,10,10,M,E,,CM,M-ND-10x10.step +ND10-10MELB,ND,10,10,M,E,LB,,M-ND-10x10.step +ND10-10MELBU,ND,10,10,M,E,LB,U,M-ND-10x10.step +ND10-10MELBCM,ND,10,10,M,E,LB,CM,M-ND-10x10.step +ND10-10MEFA,ND,10,10,M,E,FA,,M-ND-10x10.step +ND10-10MEFAU,ND,10,10,M,E,FA,U,M-ND-10x10.step +ND10-10MEFACM,ND,10,10,M,E,FA,CM,M-ND-10x10.step +ND10-10MEFB,ND,10,10,M,E,FB,,M-ND-10x10.step +ND10-10MEFBU,ND,10,10,M,E,FB,U,M-ND-10x10.step +ND10-10MEFBCM,ND,10,10,M,E,FB,CM,M-ND-10x10.step +ND10-10MESDB,ND,10,10,M,E,SDB,,M-ND-10x10.step +ND10-10MESDBU,ND,10,10,M,E,SDB,U,M-ND-10x10.step +ND10-10MESDBCM,ND,10,10,M,E,SDB,CM,M-ND-10x10.step +ND10-10M,ND,10,10,M,,,,M-ND-10x10.step +ND10-10MU,ND,10,10,M,,,U,M-ND-10x10.step +ND10-10MCM,ND,10,10,M,,,CM,M-ND-10x10.step +ND10-10MLB,ND,10,10,M,,LB,,M-ND-10x10.step +ND10-10MLBU,ND,10,10,M,,LB,U,M-ND-10x10.step +ND10-10MLBCM,ND,10,10,M,,LB,CM,M-ND-10x10.step +ND10-10MFA,ND,10,10,M,,FA,,M-ND-10x10.step +ND10-10MFAU,ND,10,10,M,,FA,U,M-ND-10x10.step +ND10-10MFACM,ND,10,10,M,,FA,CM,M-ND-10x10.step +ND10-10MFB,ND,10,10,M,,FB,,M-ND-10x10.step +ND10-10MFBU,ND,10,10,M,,FB,U,M-ND-10x10.step +ND10-10MFBCM,ND,10,10,M,,FB,CM,M-ND-10x10.step +ND10-10MSDB,ND,10,10,M,,SDB,,M-ND-10x10.step +ND10-10MSDBU,ND,10,10,M,,SDB,U,M-ND-10x10.step +ND10-10MSDBCM,ND,10,10,M,,SDB,CM,M-ND-10x10.step +ND10-20E,ND,10,20,,E,,,M-ND-10x20.step +ND10-20EU,ND,10,20,,E,,U,M-ND-10x20.step +ND10-20ECM,ND,10,20,,E,,CM,M-ND-10x20.step +ND10-20ELB,ND,10,20,,E,LB,,M-ND-10x20.step +ND10-20ELBU,ND,10,20,,E,LB,U,M-ND-10x20.step +ND10-20ELBCM,ND,10,20,,E,LB,CM,M-ND-10x20.step +ND10-20EFA,ND,10,20,,E,FA,,M-ND-10x20.step +ND10-20EFAU,ND,10,20,,E,FA,U,M-ND-10x20.step +ND10-20EFACM,ND,10,20,,E,FA,CM,M-ND-10x20.step +ND10-20EFB,ND,10,20,,E,FB,,M-ND-10x20.step +ND10-20EFBU,ND,10,20,,E,FB,U,M-ND-10x20.step +ND10-20EFBCM,ND,10,20,,E,FB,CM,M-ND-10x20.step +ND10-20ESDB,ND,10,20,,E,SDB,,M-ND-10x20.step +ND10-20ESDBU,ND,10,20,,E,SDB,U,M-ND-10x20.step +ND10-20ESDBCM,ND,10,20,,E,SDB,CM,M-ND-10x20.step +ND10-20,ND,10,20,,,,,M-ND-10x20.step +ND10-20U,ND,10,20,,,,U,M-ND-10x20.step +ND10-20CM,ND,10,20,,,,CM,M-ND-10x20.step +ND10-20LB,ND,10,20,,,LB,,M-ND-10x20.step +ND10-20LBU,ND,10,20,,,LB,U,M-ND-10x20.step +ND10-20LBCM,ND,10,20,,,LB,CM,M-ND-10x20.step +ND10-20FA,ND,10,20,,,FA,,M-ND-10x20.step +ND10-20FAU,ND,10,20,,,FA,U,M-ND-10x20.step +ND10-20FACM,ND,10,20,,,FA,CM,M-ND-10x20.step +ND10-20FB,ND,10,20,,,FB,,M-ND-10x20.step +ND10-20FBU,ND,10,20,,,FB,U,M-ND-10x20.step +ND10-20FBCM,ND,10,20,,,FB,CM,M-ND-10x20.step +ND10-20SDB,ND,10,20,,,SDB,,M-ND-10x20.step +ND10-20SDBU,ND,10,20,,,SDB,U,M-ND-10x20.step +ND10-20SDBCM,ND,10,20,,,SDB,CM,M-ND-10x20.step +ND10-20ME,ND,10,20,M,E,,,M-ND-10x20.step +ND10-20MEU,ND,10,20,M,E,,U,M-ND-10x20.step +ND10-20MECM,ND,10,20,M,E,,CM,M-ND-10x20.step +ND10-20MELB,ND,10,20,M,E,LB,,M-ND-10x20.step +ND10-20MELBU,ND,10,20,M,E,LB,U,M-ND-10x20.step +ND10-20MELBCM,ND,10,20,M,E,LB,CM,M-ND-10x20.step +ND10-20MEFA,ND,10,20,M,E,FA,,M-ND-10x20.step +ND10-20MEFAU,ND,10,20,M,E,FA,U,M-ND-10x20.step +ND10-20MEFACM,ND,10,20,M,E,FA,CM,M-ND-10x20.step +ND10-20MEFB,ND,10,20,M,E,FB,,M-ND-10x20.step +ND10-20MEFBU,ND,10,20,M,E,FB,U,M-ND-10x20.step +ND10-20MEFBCM,ND,10,20,M,E,FB,CM,M-ND-10x20.step +ND10-20MESDB,ND,10,20,M,E,SDB,,M-ND-10x20.step +ND10-20MESDBU,ND,10,20,M,E,SDB,U,M-ND-10x20.step +ND10-20MESDBCM,ND,10,20,M,E,SDB,CM,M-ND-10x20.step +ND10-20M,ND,10,20,M,,,,M-ND-10x20.step +ND10-20MU,ND,10,20,M,,,U,M-ND-10x20.step +ND10-20MCM,ND,10,20,M,,,CM,M-ND-10x20.step +ND10-20MLB,ND,10,20,M,,LB,,M-ND-10x20.step +ND10-20MLBU,ND,10,20,M,,LB,U,M-ND-10x20.step +ND10-20MLBCM,ND,10,20,M,,LB,CM,M-ND-10x20.step +ND10-20MFA,ND,10,20,M,,FA,,M-ND-10x20.step +ND10-20MFAU,ND,10,20,M,,FA,U,M-ND-10x20.step +ND10-20MFACM,ND,10,20,M,,FA,CM,M-ND-10x20.step +ND10-20MFB,ND,10,20,M,,FB,,M-ND-10x20.step +ND10-20MFBU,ND,10,20,M,,FB,U,M-ND-10x20.step +ND10-20MFBCM,ND,10,20,M,,FB,CM,M-ND-10x20.step +ND10-20MSDB,ND,10,20,M,,SDB,,M-ND-10x20.step +ND10-20MSDBU,ND,10,20,M,,SDB,U,M-ND-10x20.step +ND10-20MSDBCM,ND,10,20,M,,SDB,CM,M-ND-10x20.step +ND10-30E,ND,10,30,,E,,,M-ND-10x30.step +ND10-30EU,ND,10,30,,E,,U,M-ND-10x30.step +ND10-30ECM,ND,10,30,,E,,CM,M-ND-10x30.step +ND10-30ELB,ND,10,30,,E,LB,,M-ND-10x30.step +ND10-30ELBU,ND,10,30,,E,LB,U,M-ND-10x30.step +ND10-30ELBCM,ND,10,30,,E,LB,CM,M-ND-10x30.step +ND10-30EFA,ND,10,30,,E,FA,,M-ND-10x30.step +ND10-30EFAU,ND,10,30,,E,FA,U,M-ND-10x30.step +ND10-30EFACM,ND,10,30,,E,FA,CM,M-ND-10x30.step +ND10-30EFB,ND,10,30,,E,FB,,M-ND-10x30.step +ND10-30EFBU,ND,10,30,,E,FB,U,M-ND-10x30.step +ND10-30EFBCM,ND,10,30,,E,FB,CM,M-ND-10x30.step +ND10-30ESDB,ND,10,30,,E,SDB,,M-ND-10x30.step +ND10-30ESDBU,ND,10,30,,E,SDB,U,M-ND-10x30.step +ND10-30ESDBCM,ND,10,30,,E,SDB,CM,M-ND-10x30.step +ND10-30,ND,10,30,,,,,M-ND-10x30.step +ND10-30U,ND,10,30,,,,U,M-ND-10x30.step +ND10-30CM,ND,10,30,,,,CM,M-ND-10x30.step +ND10-30LB,ND,10,30,,,LB,,M-ND-10x30.step +ND10-30LBU,ND,10,30,,,LB,U,M-ND-10x30.step +ND10-30LBCM,ND,10,30,,,LB,CM,M-ND-10x30.step +ND10-30FA,ND,10,30,,,FA,,M-ND-10x30.step +ND10-30FAU,ND,10,30,,,FA,U,M-ND-10x30.step +ND10-30FACM,ND,10,30,,,FA,CM,M-ND-10x30.step +ND10-30FB,ND,10,30,,,FB,,M-ND-10x30.step +ND10-30FBU,ND,10,30,,,FB,U,M-ND-10x30.step +ND10-30FBCM,ND,10,30,,,FB,CM,M-ND-10x30.step +ND10-30SDB,ND,10,30,,,SDB,,M-ND-10x30.step +ND10-30SDBU,ND,10,30,,,SDB,U,M-ND-10x30.step +ND10-30SDBCM,ND,10,30,,,SDB,CM,M-ND-10x30.step +ND10-30ME,ND,10,30,M,E,,,M-ND-10x30.step +ND10-30MEU,ND,10,30,M,E,,U,M-ND-10x30.step +ND10-30MECM,ND,10,30,M,E,,CM,M-ND-10x30.step +ND10-30MELB,ND,10,30,M,E,LB,,M-ND-10x30.step +ND10-30MELBU,ND,10,30,M,E,LB,U,M-ND-10x30.step +ND10-30MELBCM,ND,10,30,M,E,LB,CM,M-ND-10x30.step +ND10-30MEFA,ND,10,30,M,E,FA,,M-ND-10x30.step +ND10-30MEFAU,ND,10,30,M,E,FA,U,M-ND-10x30.step +ND10-30MEFACM,ND,10,30,M,E,FA,CM,M-ND-10x30.step +ND10-30MEFB,ND,10,30,M,E,FB,,M-ND-10x30.step +ND10-30MEFBU,ND,10,30,M,E,FB,U,M-ND-10x30.step +ND10-30MEFBCM,ND,10,30,M,E,FB,CM,M-ND-10x30.step +ND10-30MESDB,ND,10,30,M,E,SDB,,M-ND-10x30.step +ND10-30MESDBU,ND,10,30,M,E,SDB,U,M-ND-10x30.step +ND10-30MESDBCM,ND,10,30,M,E,SDB,CM,M-ND-10x30.step +ND10-30M,ND,10,30,M,,,,M-ND-10x30.step +ND10-30MU,ND,10,30,M,,,U,M-ND-10x30.step +ND10-30MCM,ND,10,30,M,,,CM,M-ND-10x30.step +ND10-30MLB,ND,10,30,M,,LB,,M-ND-10x30.step +ND10-30MLBU,ND,10,30,M,,LB,U,M-ND-10x30.step +ND10-30MLBCM,ND,10,30,M,,LB,CM,M-ND-10x30.step +ND10-30MFA,ND,10,30,M,,FA,,M-ND-10x30.step +ND10-30MFAU,ND,10,30,M,,FA,U,M-ND-10x30.step +ND10-30MFACM,ND,10,30,M,,FA,CM,M-ND-10x30.step +ND10-30MFB,ND,10,30,M,,FB,,M-ND-10x30.step +ND10-30MFBU,ND,10,30,M,,FB,U,M-ND-10x30.step +ND10-30MFBCM,ND,10,30,M,,FB,CM,M-ND-10x30.step +ND10-30MSDB,ND,10,30,M,,SDB,,M-ND-10x30.step +ND10-30MSDBU,ND,10,30,M,,SDB,U,M-ND-10x30.step +ND10-30MSDBCM,ND,10,30,M,,SDB,CM,M-ND-10x30.step +ND10-50E,ND,10,50,,E,,,M-ND-10x50.step +ND10-50EU,ND,10,50,,E,,U,M-ND-10x50.step +ND10-50ECM,ND,10,50,,E,,CM,M-ND-10x50.step +ND10-50ELB,ND,10,50,,E,LB,,M-ND-10x50.step +ND10-50ELBU,ND,10,50,,E,LB,U,M-ND-10x50.step +ND10-50ELBCM,ND,10,50,,E,LB,CM,M-ND-10x50.step +ND10-50EFA,ND,10,50,,E,FA,,M-ND-10x50.step +ND10-50EFAU,ND,10,50,,E,FA,U,M-ND-10x50.step +ND10-50EFACM,ND,10,50,,E,FA,CM,M-ND-10x50.step +ND10-50EFB,ND,10,50,,E,FB,,M-ND-10x50.step +ND10-50EFBU,ND,10,50,,E,FB,U,M-ND-10x50.step +ND10-50EFBCM,ND,10,50,,E,FB,CM,M-ND-10x50.step +ND10-50ESDB,ND,10,50,,E,SDB,,M-ND-10x50.step +ND10-50ESDBU,ND,10,50,,E,SDB,U,M-ND-10x50.step +ND10-50ESDBCM,ND,10,50,,E,SDB,CM,M-ND-10x50.step +ND10-50,ND,10,50,,,,,M-ND-10x50.step +ND10-50U,ND,10,50,,,,U,M-ND-10x50.step +ND10-50CM,ND,10,50,,,,CM,M-ND-10x50.step +ND10-50LB,ND,10,50,,,LB,,M-ND-10x50.step +ND10-50LBU,ND,10,50,,,LB,U,M-ND-10x50.step +ND10-50LBCM,ND,10,50,,,LB,CM,M-ND-10x50.step +ND10-50FA,ND,10,50,,,FA,,M-ND-10x50.step +ND10-50FAU,ND,10,50,,,FA,U,M-ND-10x50.step +ND10-50FACM,ND,10,50,,,FA,CM,M-ND-10x50.step +ND10-50FB,ND,10,50,,,FB,,M-ND-10x50.step +ND10-50FBU,ND,10,50,,,FB,U,M-ND-10x50.step +ND10-50FBCM,ND,10,50,,,FB,CM,M-ND-10x50.step +ND10-50SDB,ND,10,50,,,SDB,,M-ND-10x50.step +ND10-50SDBU,ND,10,50,,,SDB,U,M-ND-10x50.step +ND10-50SDBCM,ND,10,50,,,SDB,CM,M-ND-10x50.step +ND10-50ME,ND,10,50,M,E,,,M-ND-10x50.step +ND10-50MEU,ND,10,50,M,E,,U,M-ND-10x50.step +ND10-50MECM,ND,10,50,M,E,,CM,M-ND-10x50.step +ND10-50MELB,ND,10,50,M,E,LB,,M-ND-10x50.step +ND10-50MELBU,ND,10,50,M,E,LB,U,M-ND-10x50.step +ND10-50MELBCM,ND,10,50,M,E,LB,CM,M-ND-10x50.step +ND10-50MEFA,ND,10,50,M,E,FA,,M-ND-10x50.step +ND10-50MEFAU,ND,10,50,M,E,FA,U,M-ND-10x50.step +ND10-50MEFACM,ND,10,50,M,E,FA,CM,M-ND-10x50.step +ND10-50MEFB,ND,10,50,M,E,FB,,M-ND-10x50.step +ND10-50MEFBU,ND,10,50,M,E,FB,U,M-ND-10x50.step +ND10-50MEFBCM,ND,10,50,M,E,FB,CM,M-ND-10x50.step +ND10-50MESDB,ND,10,50,M,E,SDB,,M-ND-10x50.step +ND10-50MESDBU,ND,10,50,M,E,SDB,U,M-ND-10x50.step +ND10-50MESDBCM,ND,10,50,M,E,SDB,CM,M-ND-10x50.step +ND10-50M,ND,10,50,M,,,,M-ND-10x50.step +ND10-50MU,ND,10,50,M,,,U,M-ND-10x50.step +ND10-50MCM,ND,10,50,M,,,CM,M-ND-10x50.step +ND10-50MLB,ND,10,50,M,,LB,,M-ND-10x50.step +ND10-50MLBU,ND,10,50,M,,LB,U,M-ND-10x50.step +ND10-50MLBCM,ND,10,50,M,,LB,CM,M-ND-10x50.step +ND10-50MFA,ND,10,50,M,,FA,,M-ND-10x50.step +ND10-50MFAU,ND,10,50,M,,FA,U,M-ND-10x50.step +ND10-50MFACM,ND,10,50,M,,FA,CM,M-ND-10x50.step +ND10-50MFB,ND,10,50,M,,FB,,M-ND-10x50.step +ND10-50MFBU,ND,10,50,M,,FB,U,M-ND-10x50.step +ND10-50MFBCM,ND,10,50,M,,FB,CM,M-ND-10x50.step +ND10-50MSDB,ND,10,50,M,,SDB,,M-ND-10x50.step +ND10-50MSDBU,ND,10,50,M,,SDB,U,M-ND-10x50.step +ND10-50MSDBCM,ND,10,50,M,,SDB,CM,M-ND-10x50.step +ND10-75E,ND,10,75,,E,,,M-ND-10x75.step +ND10-75EU,ND,10,75,,E,,U,M-ND-10x75.step +ND10-75ECM,ND,10,75,,E,,CM,M-ND-10x75.step +ND10-75ELB,ND,10,75,,E,LB,,M-ND-10x75.step +ND10-75ELBU,ND,10,75,,E,LB,U,M-ND-10x75.step +ND10-75ELBCM,ND,10,75,,E,LB,CM,M-ND-10x75.step +ND10-75EFA,ND,10,75,,E,FA,,M-ND-10x75.step +ND10-75EFAU,ND,10,75,,E,FA,U,M-ND-10x75.step +ND10-75EFACM,ND,10,75,,E,FA,CM,M-ND-10x75.step +ND10-75EFB,ND,10,75,,E,FB,,M-ND-10x75.step +ND10-75EFBU,ND,10,75,,E,FB,U,M-ND-10x75.step +ND10-75EFBCM,ND,10,75,,E,FB,CM,M-ND-10x75.step +ND10-75ESDB,ND,10,75,,E,SDB,,M-ND-10x75.step +ND10-75ESDBU,ND,10,75,,E,SDB,U,M-ND-10x75.step +ND10-75ESDBCM,ND,10,75,,E,SDB,CM,M-ND-10x75.step +ND10-75,ND,10,75,,,,,M-ND-10x75.step +ND10-75U,ND,10,75,,,,U,M-ND-10x75.step +ND10-75CM,ND,10,75,,,,CM,M-ND-10x75.step +ND10-75LB,ND,10,75,,,LB,,M-ND-10x75.step +ND10-75LBU,ND,10,75,,,LB,U,M-ND-10x75.step +ND10-75LBCM,ND,10,75,,,LB,CM,M-ND-10x75.step +ND10-75FA,ND,10,75,,,FA,,M-ND-10x75.step +ND10-75FAU,ND,10,75,,,FA,U,M-ND-10x75.step +ND10-75FACM,ND,10,75,,,FA,CM,M-ND-10x75.step +ND10-75FB,ND,10,75,,,FB,,M-ND-10x75.step +ND10-75FBU,ND,10,75,,,FB,U,M-ND-10x75.step +ND10-75FBCM,ND,10,75,,,FB,CM,M-ND-10x75.step +ND10-75SDB,ND,10,75,,,SDB,,M-ND-10x75.step +ND10-75SDBU,ND,10,75,,,SDB,U,M-ND-10x75.step +ND10-75SDBCM,ND,10,75,,,SDB,CM,M-ND-10x75.step +ND10-75ME,ND,10,75,M,E,,,M-ND-10x75.step +ND10-75MEU,ND,10,75,M,E,,U,M-ND-10x75.step +ND10-75MECM,ND,10,75,M,E,,CM,M-ND-10x75.step +ND10-75MELB,ND,10,75,M,E,LB,,M-ND-10x75.step +ND10-75MELBU,ND,10,75,M,E,LB,U,M-ND-10x75.step +ND10-75MELBCM,ND,10,75,M,E,LB,CM,M-ND-10x75.step +ND10-75MEFA,ND,10,75,M,E,FA,,M-ND-10x75.step +ND10-75MEFAU,ND,10,75,M,E,FA,U,M-ND-10x75.step +ND10-75MEFACM,ND,10,75,M,E,FA,CM,M-ND-10x75.step +ND10-75MEFB,ND,10,75,M,E,FB,,M-ND-10x75.step +ND10-75MEFBU,ND,10,75,M,E,FB,U,M-ND-10x75.step +ND10-75MEFBCM,ND,10,75,M,E,FB,CM,M-ND-10x75.step +ND10-75MESDB,ND,10,75,M,E,SDB,,M-ND-10x75.step +ND10-75MESDBU,ND,10,75,M,E,SDB,U,M-ND-10x75.step +ND10-75MESDBCM,ND,10,75,M,E,SDB,CM,M-ND-10x75.step +ND10-75M,ND,10,75,M,,,,M-ND-10x75.step +ND10-75MU,ND,10,75,M,,,U,M-ND-10x75.step +ND10-75MCM,ND,10,75,M,,,CM,M-ND-10x75.step +ND10-75MLB,ND,10,75,M,,LB,,M-ND-10x75.step +ND10-75MLBU,ND,10,75,M,,LB,U,M-ND-10x75.step +ND10-75MLBCM,ND,10,75,M,,LB,CM,M-ND-10x75.step +ND10-75MFA,ND,10,75,M,,FA,,M-ND-10x75.step +ND10-75MFAU,ND,10,75,M,,FA,U,M-ND-10x75.step +ND10-75MFACM,ND,10,75,M,,FA,CM,M-ND-10x75.step +ND10-75MFB,ND,10,75,M,,FB,,M-ND-10x75.step +ND10-75MFBU,ND,10,75,M,,FB,U,M-ND-10x75.step +ND10-75MFBCM,ND,10,75,M,,FB,CM,M-ND-10x75.step +ND10-75MSDB,ND,10,75,M,,SDB,,M-ND-10x75.step +ND10-75MSDBU,ND,10,75,M,,SDB,U,M-ND-10x75.step +ND10-75MSDBCM,ND,10,75,M,,SDB,CM,M-ND-10x75.step +ND10-100E,ND,10,100,,E,,,M-ND-10x100.step +ND10-100EU,ND,10,100,,E,,U,M-ND-10x100.step +ND10-100ECM,ND,10,100,,E,,CM,M-ND-10x100.step +ND10-100ELB,ND,10,100,,E,LB,,M-ND-10x100.step +ND10-100ELBU,ND,10,100,,E,LB,U,M-ND-10x100.step +ND10-100ELBCM,ND,10,100,,E,LB,CM,M-ND-10x100.step +ND10-100EFA,ND,10,100,,E,FA,,M-ND-10x100.step +ND10-100EFAU,ND,10,100,,E,FA,U,M-ND-10x100.step +ND10-100EFACM,ND,10,100,,E,FA,CM,M-ND-10x100.step +ND10-100EFB,ND,10,100,,E,FB,,M-ND-10x100.step +ND10-100EFBU,ND,10,100,,E,FB,U,M-ND-10x100.step +ND10-100EFBCM,ND,10,100,,E,FB,CM,M-ND-10x100.step +ND10-100ESDB,ND,10,100,,E,SDB,,M-ND-10x100.step +ND10-100ESDBU,ND,10,100,,E,SDB,U,M-ND-10x100.step +ND10-100ESDBCM,ND,10,100,,E,SDB,CM,M-ND-10x100.step +ND10-100,ND,10,100,,,,,M-ND-10x100.step +ND10-100U,ND,10,100,,,,U,M-ND-10x100.step +ND10-100CM,ND,10,100,,,,CM,M-ND-10x100.step +ND10-100LB,ND,10,100,,,LB,,M-ND-10x100.step +ND10-100LBU,ND,10,100,,,LB,U,M-ND-10x100.step +ND10-100LBCM,ND,10,100,,,LB,CM,M-ND-10x100.step +ND10-100FA,ND,10,100,,,FA,,M-ND-10x100.step +ND10-100FAU,ND,10,100,,,FA,U,M-ND-10x100.step +ND10-100FACM,ND,10,100,,,FA,CM,M-ND-10x100.step +ND10-100FB,ND,10,100,,,FB,,M-ND-10x100.step +ND10-100FBU,ND,10,100,,,FB,U,M-ND-10x100.step +ND10-100FBCM,ND,10,100,,,FB,CM,M-ND-10x100.step +ND10-100SDB,ND,10,100,,,SDB,,M-ND-10x100.step +ND10-100SDBU,ND,10,100,,,SDB,U,M-ND-10x100.step +ND10-100SDBCM,ND,10,100,,,SDB,CM,M-ND-10x100.step +ND10-100ME,ND,10,100,M,E,,,M-ND-10x100.step +ND10-100MEU,ND,10,100,M,E,,U,M-ND-10x100.step +ND10-100MECM,ND,10,100,M,E,,CM,M-ND-10x100.step +ND10-100MELB,ND,10,100,M,E,LB,,M-ND-10x100.step +ND10-100MELBU,ND,10,100,M,E,LB,U,M-ND-10x100.step +ND10-100MELBCM,ND,10,100,M,E,LB,CM,M-ND-10x100.step +ND10-100MEFA,ND,10,100,M,E,FA,,M-ND-10x100.step +ND10-100MEFAU,ND,10,100,M,E,FA,U,M-ND-10x100.step +ND10-100MEFACM,ND,10,100,M,E,FA,CM,M-ND-10x100.step +ND10-100MEFB,ND,10,100,M,E,FB,,M-ND-10x100.step +ND10-100MEFBU,ND,10,100,M,E,FB,U,M-ND-10x100.step +ND10-100MEFBCM,ND,10,100,M,E,FB,CM,M-ND-10x100.step +ND10-100MESDB,ND,10,100,M,E,SDB,,M-ND-10x100.step +ND10-100MESDBU,ND,10,100,M,E,SDB,U,M-ND-10x100.step +ND10-100MESDBCM,ND,10,100,M,E,SDB,CM,M-ND-10x100.step +ND10-100M,ND,10,100,M,,,,M-ND-10x100.step +ND10-100MU,ND,10,100,M,,,U,M-ND-10x100.step +ND10-100MCM,ND,10,100,M,,,CM,M-ND-10x100.step +ND10-100MLB,ND,10,100,M,,LB,,M-ND-10x100.step +ND10-100MLBU,ND,10,100,M,,LB,U,M-ND-10x100.step +ND10-100MLBCM,ND,10,100,M,,LB,CM,M-ND-10x100.step +ND10-100MFA,ND,10,100,M,,FA,,M-ND-10x100.step +ND10-100MFAU,ND,10,100,M,,FA,U,M-ND-10x100.step +ND10-100MFACM,ND,10,100,M,,FA,CM,M-ND-10x100.step +ND10-100MFB,ND,10,100,M,,FB,,M-ND-10x100.step +ND10-100MFBU,ND,10,100,M,,FB,U,M-ND-10x100.step +ND10-100MFBCM,ND,10,100,M,,FB,CM,M-ND-10x100.step +ND10-100MSDB,ND,10,100,M,,SDB,,M-ND-10x100.step +ND10-100MSDBU,ND,10,100,M,,SDB,U,M-ND-10x100.step +ND10-100MSDBCM,ND,10,100,M,,SDB,CM,M-ND-10x100.step +ND12-10E,ND,12,10,,E,,,M-ND-12x10.step +ND12-10EU,ND,12,10,,E,,U,M-ND-12x10.step +ND12-10ECM,ND,12,10,,E,,CM,M-ND-12x10.step +ND12-10ELB,ND,12,10,,E,LB,,M-ND-12x10.step +ND12-10ELBU,ND,12,10,,E,LB,U,M-ND-12x10.step +ND12-10ELBCM,ND,12,10,,E,LB,CM,M-ND-12x10.step +ND12-10EFA,ND,12,10,,E,FA,,M-ND-12x10.step +ND12-10EFAU,ND,12,10,,E,FA,U,M-ND-12x10.step +ND12-10EFACM,ND,12,10,,E,FA,CM,M-ND-12x10.step +ND12-10EFB,ND,12,10,,E,FB,,M-ND-12x10.step +ND12-10EFBU,ND,12,10,,E,FB,U,M-ND-12x10.step +ND12-10EFBCM,ND,12,10,,E,FB,CM,M-ND-12x10.step +ND12-10ESDB,ND,12,10,,E,SDB,,M-ND-12x10.step +ND12-10ESDBU,ND,12,10,,E,SDB,U,M-ND-12x10.step +ND12-10ESDBCM,ND,12,10,,E,SDB,CM,M-ND-12x10.step +ND12-10,ND,12,10,,,,,M-ND-12x10.step +ND12-10U,ND,12,10,,,,U,M-ND-12x10.step +ND12-10CM,ND,12,10,,,,CM,M-ND-12x10.step +ND12-10LB,ND,12,10,,,LB,,M-ND-12x10.step +ND12-10LBU,ND,12,10,,,LB,U,M-ND-12x10.step +ND12-10LBCM,ND,12,10,,,LB,CM,M-ND-12x10.step +ND12-10FA,ND,12,10,,,FA,,M-ND-12x10.step +ND12-10FAU,ND,12,10,,,FA,U,M-ND-12x10.step +ND12-10FACM,ND,12,10,,,FA,CM,M-ND-12x10.step +ND12-10FB,ND,12,10,,,FB,,M-ND-12x10.step +ND12-10FBU,ND,12,10,,,FB,U,M-ND-12x10.step +ND12-10FBCM,ND,12,10,,,FB,CM,M-ND-12x10.step +ND12-10SDB,ND,12,10,,,SDB,,M-ND-12x10.step +ND12-10SDBU,ND,12,10,,,SDB,U,M-ND-12x10.step +ND12-10SDBCM,ND,12,10,,,SDB,CM,M-ND-12x10.step +ND12-10ME,ND,12,10,M,E,,,M-ND-12x10.step +ND12-10MEU,ND,12,10,M,E,,U,M-ND-12x10.step +ND12-10MECM,ND,12,10,M,E,,CM,M-ND-12x10.step +ND12-10MELB,ND,12,10,M,E,LB,,M-ND-12x10.step +ND12-10MELBU,ND,12,10,M,E,LB,U,M-ND-12x10.step +ND12-10MELBCM,ND,12,10,M,E,LB,CM,M-ND-12x10.step +ND12-10MEFA,ND,12,10,M,E,FA,,M-ND-12x10.step +ND12-10MEFAU,ND,12,10,M,E,FA,U,M-ND-12x10.step +ND12-10MEFACM,ND,12,10,M,E,FA,CM,M-ND-12x10.step +ND12-10MEFB,ND,12,10,M,E,FB,,M-ND-12x10.step +ND12-10MEFBU,ND,12,10,M,E,FB,U,M-ND-12x10.step +ND12-10MEFBCM,ND,12,10,M,E,FB,CM,M-ND-12x10.step +ND12-10MESDB,ND,12,10,M,E,SDB,,M-ND-12x10.step +ND12-10MESDBU,ND,12,10,M,E,SDB,U,M-ND-12x10.step +ND12-10MESDBCM,ND,12,10,M,E,SDB,CM,M-ND-12x10.step +ND12-10M,ND,12,10,M,,,,M-ND-12x10.step +ND12-10MU,ND,12,10,M,,,U,M-ND-12x10.step +ND12-10MCM,ND,12,10,M,,,CM,M-ND-12x10.step +ND12-10MLB,ND,12,10,M,,LB,,M-ND-12x10.step +ND12-10MLBU,ND,12,10,M,,LB,U,M-ND-12x10.step +ND12-10MLBCM,ND,12,10,M,,LB,CM,M-ND-12x10.step +ND12-10MFA,ND,12,10,M,,FA,,M-ND-12x10.step +ND12-10MFAU,ND,12,10,M,,FA,U,M-ND-12x10.step +ND12-10MFACM,ND,12,10,M,,FA,CM,M-ND-12x10.step +ND12-10MFB,ND,12,10,M,,FB,,M-ND-12x10.step +ND12-10MFBU,ND,12,10,M,,FB,U,M-ND-12x10.step +ND12-10MFBCM,ND,12,10,M,,FB,CM,M-ND-12x10.step +ND12-10MSDB,ND,12,10,M,,SDB,,M-ND-12x10.step +ND12-10MSDBU,ND,12,10,M,,SDB,U,M-ND-12x10.step +ND12-10MSDBCM,ND,12,10,M,,SDB,CM,M-ND-12x10.step +ND12-20E,ND,12,20,,E,,,M-ND-12x20.step +ND12-20EU,ND,12,20,,E,,U,M-ND-12x20.step +ND12-20ECM,ND,12,20,,E,,CM,M-ND-12x20.step +ND12-20ELB,ND,12,20,,E,LB,,M-ND-12x20.step +ND12-20ELBU,ND,12,20,,E,LB,U,M-ND-12x20.step +ND12-20ELBCM,ND,12,20,,E,LB,CM,M-ND-12x20.step +ND12-20EFA,ND,12,20,,E,FA,,M-ND-12x20.step +ND12-20EFAU,ND,12,20,,E,FA,U,M-ND-12x20.step +ND12-20EFACM,ND,12,20,,E,FA,CM,M-ND-12x20.step +ND12-20EFB,ND,12,20,,E,FB,,M-ND-12x20.step +ND12-20EFBU,ND,12,20,,E,FB,U,M-ND-12x20.step +ND12-20EFBCM,ND,12,20,,E,FB,CM,M-ND-12x20.step +ND12-20ESDB,ND,12,20,,E,SDB,,M-ND-12x20.step +ND12-20ESDBU,ND,12,20,,E,SDB,U,M-ND-12x20.step +ND12-20ESDBCM,ND,12,20,,E,SDB,CM,M-ND-12x20.step +ND12-20,ND,12,20,,,,,M-ND-12x20.step +ND12-20U,ND,12,20,,,,U,M-ND-12x20.step +ND12-20CM,ND,12,20,,,,CM,M-ND-12x20.step +ND12-20LB,ND,12,20,,,LB,,M-ND-12x20.step +ND12-20LBU,ND,12,20,,,LB,U,M-ND-12x20.step +ND12-20LBCM,ND,12,20,,,LB,CM,M-ND-12x20.step +ND12-20FA,ND,12,20,,,FA,,M-ND-12x20.step +ND12-20FAU,ND,12,20,,,FA,U,M-ND-12x20.step +ND12-20FACM,ND,12,20,,,FA,CM,M-ND-12x20.step +ND12-20FB,ND,12,20,,,FB,,M-ND-12x20.step +ND12-20FBU,ND,12,20,,,FB,U,M-ND-12x20.step +ND12-20FBCM,ND,12,20,,,FB,CM,M-ND-12x20.step +ND12-20SDB,ND,12,20,,,SDB,,M-ND-12x20.step +ND12-20SDBU,ND,12,20,,,SDB,U,M-ND-12x20.step +ND12-20SDBCM,ND,12,20,,,SDB,CM,M-ND-12x20.step +ND12-20ME,ND,12,20,M,E,,,M-ND-12x20.step +ND12-20MEU,ND,12,20,M,E,,U,M-ND-12x20.step +ND12-20MECM,ND,12,20,M,E,,CM,M-ND-12x20.step +ND12-20MELB,ND,12,20,M,E,LB,,M-ND-12x20.step +ND12-20MELBU,ND,12,20,M,E,LB,U,M-ND-12x20.step +ND12-20MELBCM,ND,12,20,M,E,LB,CM,M-ND-12x20.step +ND12-20MEFA,ND,12,20,M,E,FA,,M-ND-12x20.step +ND12-20MEFAU,ND,12,20,M,E,FA,U,M-ND-12x20.step +ND12-20MEFACM,ND,12,20,M,E,FA,CM,M-ND-12x20.step +ND12-20MEFB,ND,12,20,M,E,FB,,M-ND-12x20.step +ND12-20MEFBU,ND,12,20,M,E,FB,U,M-ND-12x20.step +ND12-20MEFBCM,ND,12,20,M,E,FB,CM,M-ND-12x20.step +ND12-20MESDB,ND,12,20,M,E,SDB,,M-ND-12x20.step +ND12-20MESDBU,ND,12,20,M,E,SDB,U,M-ND-12x20.step +ND12-20MESDBCM,ND,12,20,M,E,SDB,CM,M-ND-12x20.step +ND12-20M,ND,12,20,M,,,,M-ND-12x20.step +ND12-20MU,ND,12,20,M,,,U,M-ND-12x20.step +ND12-20MCM,ND,12,20,M,,,CM,M-ND-12x20.step +ND12-20MLB,ND,12,20,M,,LB,,M-ND-12x20.step +ND12-20MLBU,ND,12,20,M,,LB,U,M-ND-12x20.step +ND12-20MLBCM,ND,12,20,M,,LB,CM,M-ND-12x20.step +ND12-20MFA,ND,12,20,M,,FA,,M-ND-12x20.step +ND12-20MFAU,ND,12,20,M,,FA,U,M-ND-12x20.step +ND12-20MFACM,ND,12,20,M,,FA,CM,M-ND-12x20.step +ND12-20MFB,ND,12,20,M,,FB,,M-ND-12x20.step +ND12-20MFBU,ND,12,20,M,,FB,U,M-ND-12x20.step +ND12-20MFBCM,ND,12,20,M,,FB,CM,M-ND-12x20.step +ND12-20MSDB,ND,12,20,M,,SDB,,M-ND-12x20.step +ND12-20MSDBU,ND,12,20,M,,SDB,U,M-ND-12x20.step +ND12-20MSDBCM,ND,12,20,M,,SDB,CM,M-ND-12x20.step +ND12-30E,ND,12,30,,E,,,M-ND-12x30.step +ND12-30EU,ND,12,30,,E,,U,M-ND-12x30.step +ND12-30ECM,ND,12,30,,E,,CM,M-ND-12x30.step +ND12-30ELB,ND,12,30,,E,LB,,M-ND-12x30.step +ND12-30ELBU,ND,12,30,,E,LB,U,M-ND-12x30.step +ND12-30ELBCM,ND,12,30,,E,LB,CM,M-ND-12x30.step +ND12-30EFA,ND,12,30,,E,FA,,M-ND-12x30.step +ND12-30EFAU,ND,12,30,,E,FA,U,M-ND-12x30.step +ND12-30EFACM,ND,12,30,,E,FA,CM,M-ND-12x30.step +ND12-30EFB,ND,12,30,,E,FB,,M-ND-12x30.step +ND12-30EFBU,ND,12,30,,E,FB,U,M-ND-12x30.step +ND12-30EFBCM,ND,12,30,,E,FB,CM,M-ND-12x30.step +ND12-30ESDB,ND,12,30,,E,SDB,,M-ND-12x30.step +ND12-30ESDBU,ND,12,30,,E,SDB,U,M-ND-12x30.step +ND12-30ESDBCM,ND,12,30,,E,SDB,CM,M-ND-12x30.step +ND12-30,ND,12,30,,,,,M-ND-12x30.step +ND12-30U,ND,12,30,,,,U,M-ND-12x30.step +ND12-30CM,ND,12,30,,,,CM,M-ND-12x30.step +ND12-30LB,ND,12,30,,,LB,,M-ND-12x30.step +ND12-30LBU,ND,12,30,,,LB,U,M-ND-12x30.step +ND12-30LBCM,ND,12,30,,,LB,CM,M-ND-12x30.step +ND12-30FA,ND,12,30,,,FA,,M-ND-12x30.step +ND12-30FAU,ND,12,30,,,FA,U,M-ND-12x30.step +ND12-30FACM,ND,12,30,,,FA,CM,M-ND-12x30.step +ND12-30FB,ND,12,30,,,FB,,M-ND-12x30.step +ND12-30FBU,ND,12,30,,,FB,U,M-ND-12x30.step +ND12-30FBCM,ND,12,30,,,FB,CM,M-ND-12x30.step +ND12-30SDB,ND,12,30,,,SDB,,M-ND-12x30.step +ND12-30SDBU,ND,12,30,,,SDB,U,M-ND-12x30.step +ND12-30SDBCM,ND,12,30,,,SDB,CM,M-ND-12x30.step +ND12-30ME,ND,12,30,M,E,,,M-ND-12x30.step +ND12-30MEU,ND,12,30,M,E,,U,M-ND-12x30.step +ND12-30MECM,ND,12,30,M,E,,CM,M-ND-12x30.step +ND12-30MELB,ND,12,30,M,E,LB,,M-ND-12x30.step +ND12-30MELBU,ND,12,30,M,E,LB,U,M-ND-12x30.step +ND12-30MELBCM,ND,12,30,M,E,LB,CM,M-ND-12x30.step +ND12-30MEFA,ND,12,30,M,E,FA,,M-ND-12x30.step +ND12-30MEFAU,ND,12,30,M,E,FA,U,M-ND-12x30.step +ND12-30MEFACM,ND,12,30,M,E,FA,CM,M-ND-12x30.step +ND12-30MEFB,ND,12,30,M,E,FB,,M-ND-12x30.step +ND12-30MEFBU,ND,12,30,M,E,FB,U,M-ND-12x30.step +ND12-30MEFBCM,ND,12,30,M,E,FB,CM,M-ND-12x30.step +ND12-30MESDB,ND,12,30,M,E,SDB,,M-ND-12x30.step +ND12-30MESDBU,ND,12,30,M,E,SDB,U,M-ND-12x30.step +ND12-30MESDBCM,ND,12,30,M,E,SDB,CM,M-ND-12x30.step +ND12-30M,ND,12,30,M,,,,M-ND-12x30.step +ND12-30MU,ND,12,30,M,,,U,M-ND-12x30.step +ND12-30MCM,ND,12,30,M,,,CM,M-ND-12x30.step +ND12-30MLB,ND,12,30,M,,LB,,M-ND-12x30.step +ND12-30MLBU,ND,12,30,M,,LB,U,M-ND-12x30.step +ND12-30MLBCM,ND,12,30,M,,LB,CM,M-ND-12x30.step +ND12-30MFA,ND,12,30,M,,FA,,M-ND-12x30.step +ND12-30MFAU,ND,12,30,M,,FA,U,M-ND-12x30.step +ND12-30MFACM,ND,12,30,M,,FA,CM,M-ND-12x30.step +ND12-30MFB,ND,12,30,M,,FB,,M-ND-12x30.step +ND12-30MFBU,ND,12,30,M,,FB,U,M-ND-12x30.step +ND12-30MFBCM,ND,12,30,M,,FB,CM,M-ND-12x30.step +ND12-30MSDB,ND,12,30,M,,SDB,,M-ND-12x30.step +ND12-30MSDBU,ND,12,30,M,,SDB,U,M-ND-12x30.step +ND12-30MSDBCM,ND,12,30,M,,SDB,CM,M-ND-12x30.step +ND12-50E,ND,12,50,,E,,,M-ND-12x50.step +ND12-50EU,ND,12,50,,E,,U,M-ND-12x50.step +ND12-50ECM,ND,12,50,,E,,CM,M-ND-12x50.step +ND12-50ELB,ND,12,50,,E,LB,,M-ND-12x50.step +ND12-50ELBU,ND,12,50,,E,LB,U,M-ND-12x50.step +ND12-50ELBCM,ND,12,50,,E,LB,CM,M-ND-12x50.step +ND12-50EFA,ND,12,50,,E,FA,,M-ND-12x50.step +ND12-50EFAU,ND,12,50,,E,FA,U,M-ND-12x50.step +ND12-50EFACM,ND,12,50,,E,FA,CM,M-ND-12x50.step +ND12-50EFB,ND,12,50,,E,FB,,M-ND-12x50.step +ND12-50EFBU,ND,12,50,,E,FB,U,M-ND-12x50.step +ND12-50EFBCM,ND,12,50,,E,FB,CM,M-ND-12x50.step +ND12-50ESDB,ND,12,50,,E,SDB,,M-ND-12x50.step +ND12-50ESDBU,ND,12,50,,E,SDB,U,M-ND-12x50.step +ND12-50ESDBCM,ND,12,50,,E,SDB,CM,M-ND-12x50.step +ND12-50,ND,12,50,,,,,M-ND-12x50.step +ND12-50U,ND,12,50,,,,U,M-ND-12x50.step +ND12-50CM,ND,12,50,,,,CM,M-ND-12x50.step +ND12-50LB,ND,12,50,,,LB,,M-ND-12x50.step +ND12-50LBU,ND,12,50,,,LB,U,M-ND-12x50.step +ND12-50LBCM,ND,12,50,,,LB,CM,M-ND-12x50.step +ND12-50FA,ND,12,50,,,FA,,M-ND-12x50.step +ND12-50FAU,ND,12,50,,,FA,U,M-ND-12x50.step +ND12-50FACM,ND,12,50,,,FA,CM,M-ND-12x50.step +ND12-50FB,ND,12,50,,,FB,,M-ND-12x50.step +ND12-50FBU,ND,12,50,,,FB,U,M-ND-12x50.step +ND12-50FBCM,ND,12,50,,,FB,CM,M-ND-12x50.step +ND12-50SDB,ND,12,50,,,SDB,,M-ND-12x50.step +ND12-50SDBU,ND,12,50,,,SDB,U,M-ND-12x50.step +ND12-50SDBCM,ND,12,50,,,SDB,CM,M-ND-12x50.step +ND12-50ME,ND,12,50,M,E,,,M-ND-12x50.step +ND12-50MEU,ND,12,50,M,E,,U,M-ND-12x50.step +ND12-50MECM,ND,12,50,M,E,,CM,M-ND-12x50.step +ND12-50MELB,ND,12,50,M,E,LB,,M-ND-12x50.step +ND12-50MELBU,ND,12,50,M,E,LB,U,M-ND-12x50.step +ND12-50MELBCM,ND,12,50,M,E,LB,CM,M-ND-12x50.step +ND12-50MEFA,ND,12,50,M,E,FA,,M-ND-12x50.step +ND12-50MEFAU,ND,12,50,M,E,FA,U,M-ND-12x50.step +ND12-50MEFACM,ND,12,50,M,E,FA,CM,M-ND-12x50.step +ND12-50MEFB,ND,12,50,M,E,FB,,M-ND-12x50.step +ND12-50MEFBU,ND,12,50,M,E,FB,U,M-ND-12x50.step +ND12-50MEFBCM,ND,12,50,M,E,FB,CM,M-ND-12x50.step +ND12-50MESDB,ND,12,50,M,E,SDB,,M-ND-12x50.step +ND12-50MESDBU,ND,12,50,M,E,SDB,U,M-ND-12x50.step +ND12-50MESDBCM,ND,12,50,M,E,SDB,CM,M-ND-12x50.step +ND12-50M,ND,12,50,M,,,,M-ND-12x50.step +ND12-50MU,ND,12,50,M,,,U,M-ND-12x50.step +ND12-50MCM,ND,12,50,M,,,CM,M-ND-12x50.step +ND12-50MLB,ND,12,50,M,,LB,,M-ND-12x50.step +ND12-50MLBU,ND,12,50,M,,LB,U,M-ND-12x50.step +ND12-50MLBCM,ND,12,50,M,,LB,CM,M-ND-12x50.step +ND12-50MFA,ND,12,50,M,,FA,,M-ND-12x50.step +ND12-50MFAU,ND,12,50,M,,FA,U,M-ND-12x50.step +ND12-50MFACM,ND,12,50,M,,FA,CM,M-ND-12x50.step +ND12-50MFB,ND,12,50,M,,FB,,M-ND-12x50.step +ND12-50MFBU,ND,12,50,M,,FB,U,M-ND-12x50.step +ND12-50MFBCM,ND,12,50,M,,FB,CM,M-ND-12x50.step +ND12-50MSDB,ND,12,50,M,,SDB,,M-ND-12x50.step +ND12-50MSDBU,ND,12,50,M,,SDB,U,M-ND-12x50.step +ND12-50MSDBCM,ND,12,50,M,,SDB,CM,M-ND-12x50.step +ND12-75E,ND,12,75,,E,,,M-ND-12x75.step +ND12-75EU,ND,12,75,,E,,U,M-ND-12x75.step +ND12-75ECM,ND,12,75,,E,,CM,M-ND-12x75.step +ND12-75ELB,ND,12,75,,E,LB,,M-ND-12x75.step +ND12-75ELBU,ND,12,75,,E,LB,U,M-ND-12x75.step +ND12-75ELBCM,ND,12,75,,E,LB,CM,M-ND-12x75.step +ND12-75EFA,ND,12,75,,E,FA,,M-ND-12x75.step +ND12-75EFAU,ND,12,75,,E,FA,U,M-ND-12x75.step +ND12-75EFACM,ND,12,75,,E,FA,CM,M-ND-12x75.step +ND12-75EFB,ND,12,75,,E,FB,,M-ND-12x75.step +ND12-75EFBU,ND,12,75,,E,FB,U,M-ND-12x75.step +ND12-75EFBCM,ND,12,75,,E,FB,CM,M-ND-12x75.step +ND12-75ESDB,ND,12,75,,E,SDB,,M-ND-12x75.step +ND12-75ESDBU,ND,12,75,,E,SDB,U,M-ND-12x75.step +ND12-75ESDBCM,ND,12,75,,E,SDB,CM,M-ND-12x75.step +ND12-75,ND,12,75,,,,,M-ND-12x75.step +ND12-75U,ND,12,75,,,,U,M-ND-12x75.step +ND12-75CM,ND,12,75,,,,CM,M-ND-12x75.step +ND12-75LB,ND,12,75,,,LB,,M-ND-12x75.step +ND12-75LBU,ND,12,75,,,LB,U,M-ND-12x75.step +ND12-75LBCM,ND,12,75,,,LB,CM,M-ND-12x75.step +ND12-75FA,ND,12,75,,,FA,,M-ND-12x75.step +ND12-75FAU,ND,12,75,,,FA,U,M-ND-12x75.step +ND12-75FACM,ND,12,75,,,FA,CM,M-ND-12x75.step +ND12-75FB,ND,12,75,,,FB,,M-ND-12x75.step +ND12-75FBU,ND,12,75,,,FB,U,M-ND-12x75.step +ND12-75FBCM,ND,12,75,,,FB,CM,M-ND-12x75.step +ND12-75SDB,ND,12,75,,,SDB,,M-ND-12x75.step +ND12-75SDBU,ND,12,75,,,SDB,U,M-ND-12x75.step +ND12-75SDBCM,ND,12,75,,,SDB,CM,M-ND-12x75.step +ND12-75ME,ND,12,75,M,E,,,M-ND-12x75.step +ND12-75MEU,ND,12,75,M,E,,U,M-ND-12x75.step +ND12-75MECM,ND,12,75,M,E,,CM,M-ND-12x75.step +ND12-75MELB,ND,12,75,M,E,LB,,M-ND-12x75.step +ND12-75MELBU,ND,12,75,M,E,LB,U,M-ND-12x75.step +ND12-75MELBCM,ND,12,75,M,E,LB,CM,M-ND-12x75.step +ND12-75MEFA,ND,12,75,M,E,FA,,M-ND-12x75.step +ND12-75MEFAU,ND,12,75,M,E,FA,U,M-ND-12x75.step +ND12-75MEFACM,ND,12,75,M,E,FA,CM,M-ND-12x75.step +ND12-75MEFB,ND,12,75,M,E,FB,,M-ND-12x75.step +ND12-75MEFBU,ND,12,75,M,E,FB,U,M-ND-12x75.step +ND12-75MEFBCM,ND,12,75,M,E,FB,CM,M-ND-12x75.step +ND12-75MESDB,ND,12,75,M,E,SDB,,M-ND-12x75.step +ND12-75MESDBU,ND,12,75,M,E,SDB,U,M-ND-12x75.step +ND12-75MESDBCM,ND,12,75,M,E,SDB,CM,M-ND-12x75.step +ND12-75M,ND,12,75,M,,,,M-ND-12x75.step +ND12-75MU,ND,12,75,M,,,U,M-ND-12x75.step +ND12-75MCM,ND,12,75,M,,,CM,M-ND-12x75.step +ND12-75MLB,ND,12,75,M,,LB,,M-ND-12x75.step +ND12-75MLBU,ND,12,75,M,,LB,U,M-ND-12x75.step +ND12-75MLBCM,ND,12,75,M,,LB,CM,M-ND-12x75.step +ND12-75MFA,ND,12,75,M,,FA,,M-ND-12x75.step +ND12-75MFAU,ND,12,75,M,,FA,U,M-ND-12x75.step +ND12-75MFACM,ND,12,75,M,,FA,CM,M-ND-12x75.step +ND12-75MFB,ND,12,75,M,,FB,,M-ND-12x75.step +ND12-75MFBU,ND,12,75,M,,FB,U,M-ND-12x75.step +ND12-75MFBCM,ND,12,75,M,,FB,CM,M-ND-12x75.step +ND12-75MSDB,ND,12,75,M,,SDB,,M-ND-12x75.step +ND12-75MSDBU,ND,12,75,M,,SDB,U,M-ND-12x75.step +ND12-75MSDBCM,ND,12,75,M,,SDB,CM,M-ND-12x75.step +ND12-100E,ND,12,100,,E,,,M-ND-12x100.step +ND12-100EU,ND,12,100,,E,,U,M-ND-12x100.step +ND12-100ECM,ND,12,100,,E,,CM,M-ND-12x100.step +ND12-100ELB,ND,12,100,,E,LB,,M-ND-12x100.step +ND12-100ELBU,ND,12,100,,E,LB,U,M-ND-12x100.step +ND12-100ELBCM,ND,12,100,,E,LB,CM,M-ND-12x100.step +ND12-100EFA,ND,12,100,,E,FA,,M-ND-12x100.step +ND12-100EFAU,ND,12,100,,E,FA,U,M-ND-12x100.step +ND12-100EFACM,ND,12,100,,E,FA,CM,M-ND-12x100.step +ND12-100EFB,ND,12,100,,E,FB,,M-ND-12x100.step +ND12-100EFBU,ND,12,100,,E,FB,U,M-ND-12x100.step +ND12-100EFBCM,ND,12,100,,E,FB,CM,M-ND-12x100.step +ND12-100ESDB,ND,12,100,,E,SDB,,M-ND-12x100.step +ND12-100ESDBU,ND,12,100,,E,SDB,U,M-ND-12x100.step +ND12-100ESDBCM,ND,12,100,,E,SDB,CM,M-ND-12x100.step +ND12-100,ND,12,100,,,,,M-ND-12x100.step +ND12-100U,ND,12,100,,,,U,M-ND-12x100.step +ND12-100CM,ND,12,100,,,,CM,M-ND-12x100.step +ND12-100LB,ND,12,100,,,LB,,M-ND-12x100.step +ND12-100LBU,ND,12,100,,,LB,U,M-ND-12x100.step +ND12-100LBCM,ND,12,100,,,LB,CM,M-ND-12x100.step +ND12-100FA,ND,12,100,,,FA,,M-ND-12x100.step +ND12-100FAU,ND,12,100,,,FA,U,M-ND-12x100.step +ND12-100FACM,ND,12,100,,,FA,CM,M-ND-12x100.step +ND12-100FB,ND,12,100,,,FB,,M-ND-12x100.step +ND12-100FBU,ND,12,100,,,FB,U,M-ND-12x100.step +ND12-100FBCM,ND,12,100,,,FB,CM,M-ND-12x100.step +ND12-100SDB,ND,12,100,,,SDB,,M-ND-12x100.step +ND12-100SDBU,ND,12,100,,,SDB,U,M-ND-12x100.step +ND12-100SDBCM,ND,12,100,,,SDB,CM,M-ND-12x100.step +ND12-100ME,ND,12,100,M,E,,,M-ND-12x100.step +ND12-100MEU,ND,12,100,M,E,,U,M-ND-12x100.step +ND12-100MECM,ND,12,100,M,E,,CM,M-ND-12x100.step +ND12-100MELB,ND,12,100,M,E,LB,,M-ND-12x100.step +ND12-100MELBU,ND,12,100,M,E,LB,U,M-ND-12x100.step +ND12-100MELBCM,ND,12,100,M,E,LB,CM,M-ND-12x100.step +ND12-100MEFA,ND,12,100,M,E,FA,,M-ND-12x100.step +ND12-100MEFAU,ND,12,100,M,E,FA,U,M-ND-12x100.step +ND12-100MEFACM,ND,12,100,M,E,FA,CM,M-ND-12x100.step +ND12-100MEFB,ND,12,100,M,E,FB,,M-ND-12x100.step +ND12-100MEFBU,ND,12,100,M,E,FB,U,M-ND-12x100.step +ND12-100MEFBCM,ND,12,100,M,E,FB,CM,M-ND-12x100.step +ND12-100MESDB,ND,12,100,M,E,SDB,,M-ND-12x100.step +ND12-100MESDBU,ND,12,100,M,E,SDB,U,M-ND-12x100.step +ND12-100MESDBCM,ND,12,100,M,E,SDB,CM,M-ND-12x100.step +ND12-100M,ND,12,100,M,,,,M-ND-12x100.step +ND12-100MU,ND,12,100,M,,,U,M-ND-12x100.step +ND12-100MCM,ND,12,100,M,,,CM,M-ND-12x100.step +ND12-100MLB,ND,12,100,M,,LB,,M-ND-12x100.step +ND12-100MLBU,ND,12,100,M,,LB,U,M-ND-12x100.step +ND12-100MLBCM,ND,12,100,M,,LB,CM,M-ND-12x100.step +ND12-100MFA,ND,12,100,M,,FA,,M-ND-12x100.step +ND12-100MFAU,ND,12,100,M,,FA,U,M-ND-12x100.step +ND12-100MFACM,ND,12,100,M,,FA,CM,M-ND-12x100.step +ND12-100MFB,ND,12,100,M,,FB,,M-ND-12x100.step +ND12-100MFBU,ND,12,100,M,,FB,U,M-ND-12x100.step +ND12-100MFBCM,ND,12,100,M,,FB,CM,M-ND-12x100.step +ND12-100MSDB,ND,12,100,M,,SDB,,M-ND-12x100.step +ND12-100MSDBU,ND,12,100,M,,SDB,U,M-ND-12x100.step +ND12-100MSDBCM,ND,12,100,M,,SDB,CM,M-ND-12x100.step +ND16-10E,ND,16,10,,E,,,M-ND-16x10.step +ND16-10EU,ND,16,10,,E,,U,M-ND-16x10.step +ND16-10ECM,ND,16,10,,E,,CM,M-ND-16x10.step +ND16-10ELB,ND,16,10,,E,LB,,M-ND-16x10.step +ND16-10ELBU,ND,16,10,,E,LB,U,M-ND-16x10.step +ND16-10ELBCM,ND,16,10,,E,LB,CM,M-ND-16x10.step +ND16-10EFA,ND,16,10,,E,FA,,M-ND-16x10.step +ND16-10EFAU,ND,16,10,,E,FA,U,M-ND-16x10.step +ND16-10EFACM,ND,16,10,,E,FA,CM,M-ND-16x10.step +ND16-10EFB,ND,16,10,,E,FB,,M-ND-16x10.step +ND16-10EFBU,ND,16,10,,E,FB,U,M-ND-16x10.step +ND16-10EFBCM,ND,16,10,,E,FB,CM,M-ND-16x10.step +ND16-10ESDB,ND,16,10,,E,SDB,,M-ND-16x10.step +ND16-10ESDBU,ND,16,10,,E,SDB,U,M-ND-16x10.step +ND16-10ESDBCM,ND,16,10,,E,SDB,CM,M-ND-16x10.step +ND16-10,ND,16,10,,,,,M-ND-16x10.step +ND16-10U,ND,16,10,,,,U,M-ND-16x10.step +ND16-10CM,ND,16,10,,,,CM,M-ND-16x10.step +ND16-10LB,ND,16,10,,,LB,,M-ND-16x10.step +ND16-10LBU,ND,16,10,,,LB,U,M-ND-16x10.step +ND16-10LBCM,ND,16,10,,,LB,CM,M-ND-16x10.step +ND16-10FA,ND,16,10,,,FA,,M-ND-16x10.step +ND16-10FAU,ND,16,10,,,FA,U,M-ND-16x10.step +ND16-10FACM,ND,16,10,,,FA,CM,M-ND-16x10.step +ND16-10FB,ND,16,10,,,FB,,M-ND-16x10.step +ND16-10FBU,ND,16,10,,,FB,U,M-ND-16x10.step +ND16-10FBCM,ND,16,10,,,FB,CM,M-ND-16x10.step +ND16-10SDB,ND,16,10,,,SDB,,M-ND-16x10.step +ND16-10SDBU,ND,16,10,,,SDB,U,M-ND-16x10.step +ND16-10SDBCM,ND,16,10,,,SDB,CM,M-ND-16x10.step +ND16-10ME,ND,16,10,M,E,,,M-ND-16x10.step +ND16-10MEU,ND,16,10,M,E,,U,M-ND-16x10.step +ND16-10MECM,ND,16,10,M,E,,CM,M-ND-16x10.step +ND16-10MELB,ND,16,10,M,E,LB,,M-ND-16x10.step +ND16-10MELBU,ND,16,10,M,E,LB,U,M-ND-16x10.step +ND16-10MELBCM,ND,16,10,M,E,LB,CM,M-ND-16x10.step +ND16-10MEFA,ND,16,10,M,E,FA,,M-ND-16x10.step +ND16-10MEFAU,ND,16,10,M,E,FA,U,M-ND-16x10.step +ND16-10MEFACM,ND,16,10,M,E,FA,CM,M-ND-16x10.step +ND16-10MEFB,ND,16,10,M,E,FB,,M-ND-16x10.step +ND16-10MEFBU,ND,16,10,M,E,FB,U,M-ND-16x10.step +ND16-10MEFBCM,ND,16,10,M,E,FB,CM,M-ND-16x10.step +ND16-10MESDB,ND,16,10,M,E,SDB,,M-ND-16x10.step +ND16-10MESDBU,ND,16,10,M,E,SDB,U,M-ND-16x10.step +ND16-10MESDBCM,ND,16,10,M,E,SDB,CM,M-ND-16x10.step +ND16-10M,ND,16,10,M,,,,M-ND-16x10.step +ND16-10MU,ND,16,10,M,,,U,M-ND-16x10.step +ND16-10MCM,ND,16,10,M,,,CM,M-ND-16x10.step +ND16-10MLB,ND,16,10,M,,LB,,M-ND-16x10.step +ND16-10MLBU,ND,16,10,M,,LB,U,M-ND-16x10.step +ND16-10MLBCM,ND,16,10,M,,LB,CM,M-ND-16x10.step +ND16-10MFA,ND,16,10,M,,FA,,M-ND-16x10.step +ND16-10MFAU,ND,16,10,M,,FA,U,M-ND-16x10.step +ND16-10MFACM,ND,16,10,M,,FA,CM,M-ND-16x10.step +ND16-10MFB,ND,16,10,M,,FB,,M-ND-16x10.step +ND16-10MFBU,ND,16,10,M,,FB,U,M-ND-16x10.step +ND16-10MFBCM,ND,16,10,M,,FB,CM,M-ND-16x10.step +ND16-10MSDB,ND,16,10,M,,SDB,,M-ND-16x10.step +ND16-10MSDBU,ND,16,10,M,,SDB,U,M-ND-16x10.step +ND16-10MSDBCM,ND,16,10,M,,SDB,CM,M-ND-16x10.step +ND16-20E,ND,16,20,,E,,,M-ND-16x20.step +ND16-20EU,ND,16,20,,E,,U,M-ND-16x20.step +ND16-20ECM,ND,16,20,,E,,CM,M-ND-16x20.step +ND16-20ELB,ND,16,20,,E,LB,,M-ND-16x20.step +ND16-20ELBU,ND,16,20,,E,LB,U,M-ND-16x20.step +ND16-20ELBCM,ND,16,20,,E,LB,CM,M-ND-16x20.step +ND16-20EFA,ND,16,20,,E,FA,,M-ND-16x20.step +ND16-20EFAU,ND,16,20,,E,FA,U,M-ND-16x20.step +ND16-20EFACM,ND,16,20,,E,FA,CM,M-ND-16x20.step +ND16-20EFB,ND,16,20,,E,FB,,M-ND-16x20.step +ND16-20EFBU,ND,16,20,,E,FB,U,M-ND-16x20.step +ND16-20EFBCM,ND,16,20,,E,FB,CM,M-ND-16x20.step +ND16-20ESDB,ND,16,20,,E,SDB,,M-ND-16x20.step +ND16-20ESDBU,ND,16,20,,E,SDB,U,M-ND-16x20.step +ND16-20ESDBCM,ND,16,20,,E,SDB,CM,M-ND-16x20.step +ND16-20,ND,16,20,,,,,M-ND-16x20.step +ND16-20U,ND,16,20,,,,U,M-ND-16x20.step +ND16-20CM,ND,16,20,,,,CM,M-ND-16x20.step +ND16-20LB,ND,16,20,,,LB,,M-ND-16x20.step +ND16-20LBU,ND,16,20,,,LB,U,M-ND-16x20.step +ND16-20LBCM,ND,16,20,,,LB,CM,M-ND-16x20.step +ND16-20FA,ND,16,20,,,FA,,M-ND-16x20.step +ND16-20FAU,ND,16,20,,,FA,U,M-ND-16x20.step +ND16-20FACM,ND,16,20,,,FA,CM,M-ND-16x20.step +ND16-20FB,ND,16,20,,,FB,,M-ND-16x20.step +ND16-20FBU,ND,16,20,,,FB,U,M-ND-16x20.step +ND16-20FBCM,ND,16,20,,,FB,CM,M-ND-16x20.step +ND16-20SDB,ND,16,20,,,SDB,,M-ND-16x20.step +ND16-20SDBU,ND,16,20,,,SDB,U,M-ND-16x20.step +ND16-20SDBCM,ND,16,20,,,SDB,CM,M-ND-16x20.step +ND16-20ME,ND,16,20,M,E,,,M-ND-16x20.step +ND16-20MEU,ND,16,20,M,E,,U,M-ND-16x20.step +ND16-20MECM,ND,16,20,M,E,,CM,M-ND-16x20.step +ND16-20MELB,ND,16,20,M,E,LB,,M-ND-16x20.step +ND16-20MELBU,ND,16,20,M,E,LB,U,M-ND-16x20.step +ND16-20MELBCM,ND,16,20,M,E,LB,CM,M-ND-16x20.step +ND16-20MEFA,ND,16,20,M,E,FA,,M-ND-16x20.step +ND16-20MEFAU,ND,16,20,M,E,FA,U,M-ND-16x20.step +ND16-20MEFACM,ND,16,20,M,E,FA,CM,M-ND-16x20.step +ND16-20MEFB,ND,16,20,M,E,FB,,M-ND-16x20.step +ND16-20MEFBU,ND,16,20,M,E,FB,U,M-ND-16x20.step +ND16-20MEFBCM,ND,16,20,M,E,FB,CM,M-ND-16x20.step +ND16-20MESDB,ND,16,20,M,E,SDB,,M-ND-16x20.step +ND16-20MESDBU,ND,16,20,M,E,SDB,U,M-ND-16x20.step +ND16-20MESDBCM,ND,16,20,M,E,SDB,CM,M-ND-16x20.step +ND16-20M,ND,16,20,M,,,,M-ND-16x20.step +ND16-20MU,ND,16,20,M,,,U,M-ND-16x20.step +ND16-20MCM,ND,16,20,M,,,CM,M-ND-16x20.step +ND16-20MLB,ND,16,20,M,,LB,,M-ND-16x20.step +ND16-20MLBU,ND,16,20,M,,LB,U,M-ND-16x20.step +ND16-20MLBCM,ND,16,20,M,,LB,CM,M-ND-16x20.step +ND16-20MFA,ND,16,20,M,,FA,,M-ND-16x20.step +ND16-20MFAU,ND,16,20,M,,FA,U,M-ND-16x20.step +ND16-20MFACM,ND,16,20,M,,FA,CM,M-ND-16x20.step +ND16-20MFB,ND,16,20,M,,FB,,M-ND-16x20.step +ND16-20MFBU,ND,16,20,M,,FB,U,M-ND-16x20.step +ND16-20MFBCM,ND,16,20,M,,FB,CM,M-ND-16x20.step +ND16-20MSDB,ND,16,20,M,,SDB,,M-ND-16x20.step +ND16-20MSDBU,ND,16,20,M,,SDB,U,M-ND-16x20.step +ND16-20MSDBCM,ND,16,20,M,,SDB,CM,M-ND-16x20.step +ND16-30E,ND,16,30,,E,,,M-ND-16x30.step +ND16-30EU,ND,16,30,,E,,U,M-ND-16x30.step +ND16-30ECM,ND,16,30,,E,,CM,M-ND-16x30.step +ND16-30ELB,ND,16,30,,E,LB,,M-ND-16x30.step +ND16-30ELBU,ND,16,30,,E,LB,U,M-ND-16x30.step +ND16-30ELBCM,ND,16,30,,E,LB,CM,M-ND-16x30.step +ND16-30EFA,ND,16,30,,E,FA,,M-ND-16x30.step +ND16-30EFAU,ND,16,30,,E,FA,U,M-ND-16x30.step +ND16-30EFACM,ND,16,30,,E,FA,CM,M-ND-16x30.step +ND16-30EFB,ND,16,30,,E,FB,,M-ND-16x30.step +ND16-30EFBU,ND,16,30,,E,FB,U,M-ND-16x30.step +ND16-30EFBCM,ND,16,30,,E,FB,CM,M-ND-16x30.step +ND16-30ESDB,ND,16,30,,E,SDB,,M-ND-16x30.step +ND16-30ESDBU,ND,16,30,,E,SDB,U,M-ND-16x30.step +ND16-30ESDBCM,ND,16,30,,E,SDB,CM,M-ND-16x30.step +ND16-30,ND,16,30,,,,,M-ND-16x30.step +ND16-30U,ND,16,30,,,,U,M-ND-16x30.step +ND16-30CM,ND,16,30,,,,CM,M-ND-16x30.step +ND16-30LB,ND,16,30,,,LB,,M-ND-16x30.step +ND16-30LBU,ND,16,30,,,LB,U,M-ND-16x30.step +ND16-30LBCM,ND,16,30,,,LB,CM,M-ND-16x30.step +ND16-30FA,ND,16,30,,,FA,,M-ND-16x30.step +ND16-30FAU,ND,16,30,,,FA,U,M-ND-16x30.step +ND16-30FACM,ND,16,30,,,FA,CM,M-ND-16x30.step +ND16-30FB,ND,16,30,,,FB,,M-ND-16x30.step +ND16-30FBU,ND,16,30,,,FB,U,M-ND-16x30.step +ND16-30FBCM,ND,16,30,,,FB,CM,M-ND-16x30.step +ND16-30SDB,ND,16,30,,,SDB,,M-ND-16x30.step +ND16-30SDBU,ND,16,30,,,SDB,U,M-ND-16x30.step +ND16-30SDBCM,ND,16,30,,,SDB,CM,M-ND-16x30.step +ND16-30ME,ND,16,30,M,E,,,M-ND-16x30.step +ND16-30MEU,ND,16,30,M,E,,U,M-ND-16x30.step +ND16-30MECM,ND,16,30,M,E,,CM,M-ND-16x30.step +ND16-30MELB,ND,16,30,M,E,LB,,M-ND-16x30.step +ND16-30MELBU,ND,16,30,M,E,LB,U,M-ND-16x30.step +ND16-30MELBCM,ND,16,30,M,E,LB,CM,M-ND-16x30.step +ND16-30MEFA,ND,16,30,M,E,FA,,M-ND-16x30.step +ND16-30MEFAU,ND,16,30,M,E,FA,U,M-ND-16x30.step +ND16-30MEFACM,ND,16,30,M,E,FA,CM,M-ND-16x30.step +ND16-30MEFB,ND,16,30,M,E,FB,,M-ND-16x30.step +ND16-30MEFBU,ND,16,30,M,E,FB,U,M-ND-16x30.step +ND16-30MEFBCM,ND,16,30,M,E,FB,CM,M-ND-16x30.step +ND16-30MESDB,ND,16,30,M,E,SDB,,M-ND-16x30.step +ND16-30MESDBU,ND,16,30,M,E,SDB,U,M-ND-16x30.step +ND16-30MESDBCM,ND,16,30,M,E,SDB,CM,M-ND-16x30.step +ND16-30M,ND,16,30,M,,,,M-ND-16x30.step +ND16-30MU,ND,16,30,M,,,U,M-ND-16x30.step +ND16-30MCM,ND,16,30,M,,,CM,M-ND-16x30.step +ND16-30MLB,ND,16,30,M,,LB,,M-ND-16x30.step +ND16-30MLBU,ND,16,30,M,,LB,U,M-ND-16x30.step +ND16-30MLBCM,ND,16,30,M,,LB,CM,M-ND-16x30.step +ND16-30MFA,ND,16,30,M,,FA,,M-ND-16x30.step +ND16-30MFAU,ND,16,30,M,,FA,U,M-ND-16x30.step +ND16-30MFACM,ND,16,30,M,,FA,CM,M-ND-16x30.step +ND16-30MFB,ND,16,30,M,,FB,,M-ND-16x30.step +ND16-30MFBU,ND,16,30,M,,FB,U,M-ND-16x30.step +ND16-30MFBCM,ND,16,30,M,,FB,CM,M-ND-16x30.step +ND16-30MSDB,ND,16,30,M,,SDB,,M-ND-16x30.step +ND16-30MSDBU,ND,16,30,M,,SDB,U,M-ND-16x30.step +ND16-30MSDBCM,ND,16,30,M,,SDB,CM,M-ND-16x30.step +ND16-50E,ND,16,50,,E,,,M-ND-16x50.step +ND16-50EU,ND,16,50,,E,,U,M-ND-16x50.step +ND16-50ECM,ND,16,50,,E,,CM,M-ND-16x50.step +ND16-50ELB,ND,16,50,,E,LB,,M-ND-16x50.step +ND16-50ELBU,ND,16,50,,E,LB,U,M-ND-16x50.step +ND16-50ELBCM,ND,16,50,,E,LB,CM,M-ND-16x50.step +ND16-50EFA,ND,16,50,,E,FA,,M-ND-16x50.step +ND16-50EFAU,ND,16,50,,E,FA,U,M-ND-16x50.step +ND16-50EFACM,ND,16,50,,E,FA,CM,M-ND-16x50.step +ND16-50EFB,ND,16,50,,E,FB,,M-ND-16x50.step +ND16-50EFBU,ND,16,50,,E,FB,U,M-ND-16x50.step +ND16-50EFBCM,ND,16,50,,E,FB,CM,M-ND-16x50.step +ND16-50ESDB,ND,16,50,,E,SDB,,M-ND-16x50.step +ND16-50ESDBU,ND,16,50,,E,SDB,U,M-ND-16x50.step +ND16-50ESDBCM,ND,16,50,,E,SDB,CM,M-ND-16x50.step +ND16-50,ND,16,50,,,,,M-ND-16x50.step +ND16-50U,ND,16,50,,,,U,M-ND-16x50.step +ND16-50CM,ND,16,50,,,,CM,M-ND-16x50.step +ND16-50LB,ND,16,50,,,LB,,M-ND-16x50.step +ND16-50LBU,ND,16,50,,,LB,U,M-ND-16x50.step +ND16-50LBCM,ND,16,50,,,LB,CM,M-ND-16x50.step +ND16-50FA,ND,16,50,,,FA,,M-ND-16x50.step +ND16-50FAU,ND,16,50,,,FA,U,M-ND-16x50.step +ND16-50FACM,ND,16,50,,,FA,CM,M-ND-16x50.step +ND16-50FB,ND,16,50,,,FB,,M-ND-16x50.step +ND16-50FBU,ND,16,50,,,FB,U,M-ND-16x50.step +ND16-50FBCM,ND,16,50,,,FB,CM,M-ND-16x50.step +ND16-50SDB,ND,16,50,,,SDB,,M-ND-16x50.step +ND16-50SDBU,ND,16,50,,,SDB,U,M-ND-16x50.step +ND16-50SDBCM,ND,16,50,,,SDB,CM,M-ND-16x50.step +ND16-50ME,ND,16,50,M,E,,,M-ND-16x50.step +ND16-50MEU,ND,16,50,M,E,,U,M-ND-16x50.step +ND16-50MECM,ND,16,50,M,E,,CM,M-ND-16x50.step +ND16-50MELB,ND,16,50,M,E,LB,,M-ND-16x50.step +ND16-50MELBU,ND,16,50,M,E,LB,U,M-ND-16x50.step +ND16-50MELBCM,ND,16,50,M,E,LB,CM,M-ND-16x50.step +ND16-50MEFA,ND,16,50,M,E,FA,,M-ND-16x50.step +ND16-50MEFAU,ND,16,50,M,E,FA,U,M-ND-16x50.step +ND16-50MEFACM,ND,16,50,M,E,FA,CM,M-ND-16x50.step +ND16-50MEFB,ND,16,50,M,E,FB,,M-ND-16x50.step +ND16-50MEFBU,ND,16,50,M,E,FB,U,M-ND-16x50.step +ND16-50MEFBCM,ND,16,50,M,E,FB,CM,M-ND-16x50.step +ND16-50MESDB,ND,16,50,M,E,SDB,,M-ND-16x50.step +ND16-50MESDBU,ND,16,50,M,E,SDB,U,M-ND-16x50.step +ND16-50MESDBCM,ND,16,50,M,E,SDB,CM,M-ND-16x50.step +ND16-50M,ND,16,50,M,,,,M-ND-16x50.step +ND16-50MU,ND,16,50,M,,,U,M-ND-16x50.step +ND16-50MCM,ND,16,50,M,,,CM,M-ND-16x50.step +ND16-50MLB,ND,16,50,M,,LB,,M-ND-16x50.step +ND16-50MLBU,ND,16,50,M,,LB,U,M-ND-16x50.step +ND16-50MLBCM,ND,16,50,M,,LB,CM,M-ND-16x50.step +ND16-50MFA,ND,16,50,M,,FA,,M-ND-16x50.step +ND16-50MFAU,ND,16,50,M,,FA,U,M-ND-16x50.step +ND16-50MFACM,ND,16,50,M,,FA,CM,M-ND-16x50.step +ND16-50MFB,ND,16,50,M,,FB,,M-ND-16x50.step +ND16-50MFBU,ND,16,50,M,,FB,U,M-ND-16x50.step +ND16-50MFBCM,ND,16,50,M,,FB,CM,M-ND-16x50.step +ND16-50MSDB,ND,16,50,M,,SDB,,M-ND-16x50.step +ND16-50MSDBU,ND,16,50,M,,SDB,U,M-ND-16x50.step +ND16-50MSDBCM,ND,16,50,M,,SDB,CM,M-ND-16x50.step +ND16-75E,ND,16,75,,E,,,M-ND-16x75.step +ND16-75EU,ND,16,75,,E,,U,M-ND-16x75.step +ND16-75ECM,ND,16,75,,E,,CM,M-ND-16x75.step +ND16-75ELB,ND,16,75,,E,LB,,M-ND-16x75.step +ND16-75ELBU,ND,16,75,,E,LB,U,M-ND-16x75.step +ND16-75ELBCM,ND,16,75,,E,LB,CM,M-ND-16x75.step +ND16-75EFA,ND,16,75,,E,FA,,M-ND-16x75.step +ND16-75EFAU,ND,16,75,,E,FA,U,M-ND-16x75.step +ND16-75EFACM,ND,16,75,,E,FA,CM,M-ND-16x75.step +ND16-75EFB,ND,16,75,,E,FB,,M-ND-16x75.step +ND16-75EFBU,ND,16,75,,E,FB,U,M-ND-16x75.step +ND16-75EFBCM,ND,16,75,,E,FB,CM,M-ND-16x75.step +ND16-75ESDB,ND,16,75,,E,SDB,,M-ND-16x75.step +ND16-75ESDBU,ND,16,75,,E,SDB,U,M-ND-16x75.step +ND16-75ESDBCM,ND,16,75,,E,SDB,CM,M-ND-16x75.step +ND16-75,ND,16,75,,,,,M-ND-16x75.step +ND16-75U,ND,16,75,,,,U,M-ND-16x75.step +ND16-75CM,ND,16,75,,,,CM,M-ND-16x75.step +ND16-75LB,ND,16,75,,,LB,,M-ND-16x75.step +ND16-75LBU,ND,16,75,,,LB,U,M-ND-16x75.step +ND16-75LBCM,ND,16,75,,,LB,CM,M-ND-16x75.step +ND16-75FA,ND,16,75,,,FA,,M-ND-16x75.step +ND16-75FAU,ND,16,75,,,FA,U,M-ND-16x75.step +ND16-75FACM,ND,16,75,,,FA,CM,M-ND-16x75.step +ND16-75FB,ND,16,75,,,FB,,M-ND-16x75.step +ND16-75FBU,ND,16,75,,,FB,U,M-ND-16x75.step +ND16-75FBCM,ND,16,75,,,FB,CM,M-ND-16x75.step +ND16-75SDB,ND,16,75,,,SDB,,M-ND-16x75.step +ND16-75SDBU,ND,16,75,,,SDB,U,M-ND-16x75.step +ND16-75SDBCM,ND,16,75,,,SDB,CM,M-ND-16x75.step +ND16-75ME,ND,16,75,M,E,,,M-ND-16x75.step +ND16-75MEU,ND,16,75,M,E,,U,M-ND-16x75.step +ND16-75MECM,ND,16,75,M,E,,CM,M-ND-16x75.step +ND16-75MELB,ND,16,75,M,E,LB,,M-ND-16x75.step +ND16-75MELBU,ND,16,75,M,E,LB,U,M-ND-16x75.step +ND16-75MELBCM,ND,16,75,M,E,LB,CM,M-ND-16x75.step +ND16-75MEFA,ND,16,75,M,E,FA,,M-ND-16x75.step +ND16-75MEFAU,ND,16,75,M,E,FA,U,M-ND-16x75.step +ND16-75MEFACM,ND,16,75,M,E,FA,CM,M-ND-16x75.step +ND16-75MEFB,ND,16,75,M,E,FB,,M-ND-16x75.step +ND16-75MEFBU,ND,16,75,M,E,FB,U,M-ND-16x75.step +ND16-75MEFBCM,ND,16,75,M,E,FB,CM,M-ND-16x75.step +ND16-75MESDB,ND,16,75,M,E,SDB,,M-ND-16x75.step +ND16-75MESDBU,ND,16,75,M,E,SDB,U,M-ND-16x75.step +ND16-75MESDBCM,ND,16,75,M,E,SDB,CM,M-ND-16x75.step +ND16-75M,ND,16,75,M,,,,M-ND-16x75.step +ND16-75MU,ND,16,75,M,,,U,M-ND-16x75.step +ND16-75MCM,ND,16,75,M,,,CM,M-ND-16x75.step +ND16-75MLB,ND,16,75,M,,LB,,M-ND-16x75.step +ND16-75MLBU,ND,16,75,M,,LB,U,M-ND-16x75.step +ND16-75MLBCM,ND,16,75,M,,LB,CM,M-ND-16x75.step +ND16-75MFA,ND,16,75,M,,FA,,M-ND-16x75.step +ND16-75MFAU,ND,16,75,M,,FA,U,M-ND-16x75.step +ND16-75MFACM,ND,16,75,M,,FA,CM,M-ND-16x75.step +ND16-75MFB,ND,16,75,M,,FB,,M-ND-16x75.step +ND16-75MFBU,ND,16,75,M,,FB,U,M-ND-16x75.step +ND16-75MFBCM,ND,16,75,M,,FB,CM,M-ND-16x75.step +ND16-75MSDB,ND,16,75,M,,SDB,,M-ND-16x75.step +ND16-75MSDBU,ND,16,75,M,,SDB,U,M-ND-16x75.step +ND16-75MSDBCM,ND,16,75,M,,SDB,CM,M-ND-16x75.step +ND16-100E,ND,16,100,,E,,,M-ND-16x100.step +ND16-100EU,ND,16,100,,E,,U,M-ND-16x100.step +ND16-100ECM,ND,16,100,,E,,CM,M-ND-16x100.step +ND16-100ELB,ND,16,100,,E,LB,,M-ND-16x100.step +ND16-100ELBU,ND,16,100,,E,LB,U,M-ND-16x100.step +ND16-100ELBCM,ND,16,100,,E,LB,CM,M-ND-16x100.step +ND16-100EFA,ND,16,100,,E,FA,,M-ND-16x100.step +ND16-100EFAU,ND,16,100,,E,FA,U,M-ND-16x100.step +ND16-100EFACM,ND,16,100,,E,FA,CM,M-ND-16x100.step +ND16-100EFB,ND,16,100,,E,FB,,M-ND-16x100.step +ND16-100EFBU,ND,16,100,,E,FB,U,M-ND-16x100.step +ND16-100EFBCM,ND,16,100,,E,FB,CM,M-ND-16x100.step +ND16-100ESDB,ND,16,100,,E,SDB,,M-ND-16x100.step +ND16-100ESDBU,ND,16,100,,E,SDB,U,M-ND-16x100.step +ND16-100ESDBCM,ND,16,100,,E,SDB,CM,M-ND-16x100.step +ND16-100,ND,16,100,,,,,M-ND-16x100.step +ND16-100U,ND,16,100,,,,U,M-ND-16x100.step +ND16-100CM,ND,16,100,,,,CM,M-ND-16x100.step +ND16-100LB,ND,16,100,,,LB,,M-ND-16x100.step +ND16-100LBU,ND,16,100,,,LB,U,M-ND-16x100.step +ND16-100LBCM,ND,16,100,,,LB,CM,M-ND-16x100.step +ND16-100FA,ND,16,100,,,FA,,M-ND-16x100.step +ND16-100FAU,ND,16,100,,,FA,U,M-ND-16x100.step +ND16-100FACM,ND,16,100,,,FA,CM,M-ND-16x100.step +ND16-100FB,ND,16,100,,,FB,,M-ND-16x100.step +ND16-100FBU,ND,16,100,,,FB,U,M-ND-16x100.step +ND16-100FBCM,ND,16,100,,,FB,CM,M-ND-16x100.step +ND16-100SDB,ND,16,100,,,SDB,,M-ND-16x100.step +ND16-100SDBU,ND,16,100,,,SDB,U,M-ND-16x100.step +ND16-100SDBCM,ND,16,100,,,SDB,CM,M-ND-16x100.step +ND16-100ME,ND,16,100,M,E,,,M-ND-16x100.step +ND16-100MEU,ND,16,100,M,E,,U,M-ND-16x100.step +ND16-100MECM,ND,16,100,M,E,,CM,M-ND-16x100.step +ND16-100MELB,ND,16,100,M,E,LB,,M-ND-16x100.step +ND16-100MELBU,ND,16,100,M,E,LB,U,M-ND-16x100.step +ND16-100MELBCM,ND,16,100,M,E,LB,CM,M-ND-16x100.step +ND16-100MEFA,ND,16,100,M,E,FA,,M-ND-16x100.step +ND16-100MEFAU,ND,16,100,M,E,FA,U,M-ND-16x100.step +ND16-100MEFACM,ND,16,100,M,E,FA,CM,M-ND-16x100.step +ND16-100MEFB,ND,16,100,M,E,FB,,M-ND-16x100.step +ND16-100MEFBU,ND,16,100,M,E,FB,U,M-ND-16x100.step +ND16-100MEFBCM,ND,16,100,M,E,FB,CM,M-ND-16x100.step +ND16-100MESDB,ND,16,100,M,E,SDB,,M-ND-16x100.step +ND16-100MESDBU,ND,16,100,M,E,SDB,U,M-ND-16x100.step +ND16-100MESDBCM,ND,16,100,M,E,SDB,CM,M-ND-16x100.step +ND16-100M,ND,16,100,M,,,,M-ND-16x100.step +ND16-100MU,ND,16,100,M,,,U,M-ND-16x100.step +ND16-100MCM,ND,16,100,M,,,CM,M-ND-16x100.step +ND16-100MLB,ND,16,100,M,,LB,,M-ND-16x100.step +ND16-100MLBU,ND,16,100,M,,LB,U,M-ND-16x100.step +ND16-100MLBCM,ND,16,100,M,,LB,CM,M-ND-16x100.step +ND16-100MFA,ND,16,100,M,,FA,,M-ND-16x100.step +ND16-100MFAU,ND,16,100,M,,FA,U,M-ND-16x100.step +ND16-100MFACM,ND,16,100,M,,FA,CM,M-ND-16x100.step +ND16-100MFB,ND,16,100,M,,FB,,M-ND-16x100.step +ND16-100MFBU,ND,16,100,M,,FB,U,M-ND-16x100.step +ND16-100MFBCM,ND,16,100,M,,FB,CM,M-ND-16x100.step +ND16-100MSDB,ND,16,100,M,,SDB,,M-ND-16x100.step +ND16-100MSDBU,ND,16,100,M,,SDB,U,M-ND-16x100.step +ND16-100MSDBCM,ND,16,100,M,,SDB,CM,M-ND-16x100.step +ND20-10E,ND,20,10,,E,,,M-ND-20x10.step +ND20-10EU,ND,20,10,,E,,U,M-ND-20x10.step +ND20-10ECM,ND,20,10,,E,,CM,M-ND-20x10.step +ND20-10ELB,ND,20,10,,E,LB,,M-ND-20x10.step +ND20-10ELBU,ND,20,10,,E,LB,U,M-ND-20x10.step +ND20-10ELBCM,ND,20,10,,E,LB,CM,M-ND-20x10.step +ND20-10EFA,ND,20,10,,E,FA,,M-ND-20x10.step +ND20-10EFAU,ND,20,10,,E,FA,U,M-ND-20x10.step +ND20-10EFACM,ND,20,10,,E,FA,CM,M-ND-20x10.step +ND20-10EFB,ND,20,10,,E,FB,,M-ND-20x10.step +ND20-10EFBU,ND,20,10,,E,FB,U,M-ND-20x10.step +ND20-10EFBCM,ND,20,10,,E,FB,CM,M-ND-20x10.step +ND20-10ESDB,ND,20,10,,E,SDB,,M-ND-20x10.step +ND20-10ESDBU,ND,20,10,,E,SDB,U,M-ND-20x10.step +ND20-10ESDBCM,ND,20,10,,E,SDB,CM,M-ND-20x10.step +ND20-10,ND,20,10,,,,,M-ND-20x10.step +ND20-10U,ND,20,10,,,,U,M-ND-20x10.step +ND20-10CM,ND,20,10,,,,CM,M-ND-20x10.step +ND20-10LB,ND,20,10,,,LB,,M-ND-20x10.step +ND20-10LBU,ND,20,10,,,LB,U,M-ND-20x10.step +ND20-10LBCM,ND,20,10,,,LB,CM,M-ND-20x10.step +ND20-10FA,ND,20,10,,,FA,,M-ND-20x10.step +ND20-10FAU,ND,20,10,,,FA,U,M-ND-20x10.step +ND20-10FACM,ND,20,10,,,FA,CM,M-ND-20x10.step +ND20-10FB,ND,20,10,,,FB,,M-ND-20x10.step +ND20-10FBU,ND,20,10,,,FB,U,M-ND-20x10.step +ND20-10FBCM,ND,20,10,,,FB,CM,M-ND-20x10.step +ND20-10SDB,ND,20,10,,,SDB,,M-ND-20x10.step +ND20-10SDBU,ND,20,10,,,SDB,U,M-ND-20x10.step +ND20-10SDBCM,ND,20,10,,,SDB,CM,M-ND-20x10.step +ND20-10ME,ND,20,10,M,E,,,M-ND-20x10.step +ND20-10MEU,ND,20,10,M,E,,U,M-ND-20x10.step +ND20-10MECM,ND,20,10,M,E,,CM,M-ND-20x10.step +ND20-10MELB,ND,20,10,M,E,LB,,M-ND-20x10.step +ND20-10MELBU,ND,20,10,M,E,LB,U,M-ND-20x10.step +ND20-10MELBCM,ND,20,10,M,E,LB,CM,M-ND-20x10.step +ND20-10MEFA,ND,20,10,M,E,FA,,M-ND-20x10.step +ND20-10MEFAU,ND,20,10,M,E,FA,U,M-ND-20x10.step +ND20-10MEFACM,ND,20,10,M,E,FA,CM,M-ND-20x10.step +ND20-10MEFB,ND,20,10,M,E,FB,,M-ND-20x10.step +ND20-10MEFBU,ND,20,10,M,E,FB,U,M-ND-20x10.step +ND20-10MEFBCM,ND,20,10,M,E,FB,CM,M-ND-20x10.step +ND20-10MESDB,ND,20,10,M,E,SDB,,M-ND-20x10.step +ND20-10MESDBU,ND,20,10,M,E,SDB,U,M-ND-20x10.step +ND20-10MESDBCM,ND,20,10,M,E,SDB,CM,M-ND-20x10.step +ND20-10M,ND,20,10,M,,,,M-ND-20x10.step +ND20-10MU,ND,20,10,M,,,U,M-ND-20x10.step +ND20-10MCM,ND,20,10,M,,,CM,M-ND-20x10.step +ND20-10MLB,ND,20,10,M,,LB,,M-ND-20x10.step +ND20-10MLBU,ND,20,10,M,,LB,U,M-ND-20x10.step +ND20-10MLBCM,ND,20,10,M,,LB,CM,M-ND-20x10.step +ND20-10MFA,ND,20,10,M,,FA,,M-ND-20x10.step +ND20-10MFAU,ND,20,10,M,,FA,U,M-ND-20x10.step +ND20-10MFACM,ND,20,10,M,,FA,CM,M-ND-20x10.step +ND20-10MFB,ND,20,10,M,,FB,,M-ND-20x10.step +ND20-10MFBU,ND,20,10,M,,FB,U,M-ND-20x10.step +ND20-10MFBCM,ND,20,10,M,,FB,CM,M-ND-20x10.step +ND20-10MSDB,ND,20,10,M,,SDB,,M-ND-20x10.step +ND20-10MSDBU,ND,20,10,M,,SDB,U,M-ND-20x10.step +ND20-10MSDBCM,ND,20,10,M,,SDB,CM,M-ND-20x10.step +ND20-20E,ND,20,20,,E,,,M-ND-20x20.step +ND20-20EU,ND,20,20,,E,,U,M-ND-20x20.step +ND20-20ECM,ND,20,20,,E,,CM,M-ND-20x20.step +ND20-20ELB,ND,20,20,,E,LB,,M-ND-20x20.step +ND20-20ELBU,ND,20,20,,E,LB,U,M-ND-20x20.step +ND20-20ELBCM,ND,20,20,,E,LB,CM,M-ND-20x20.step +ND20-20EFA,ND,20,20,,E,FA,,M-ND-20x20.step +ND20-20EFAU,ND,20,20,,E,FA,U,M-ND-20x20.step +ND20-20EFACM,ND,20,20,,E,FA,CM,M-ND-20x20.step +ND20-20EFB,ND,20,20,,E,FB,,M-ND-20x20.step +ND20-20EFBU,ND,20,20,,E,FB,U,M-ND-20x20.step +ND20-20EFBCM,ND,20,20,,E,FB,CM,M-ND-20x20.step +ND20-20ESDB,ND,20,20,,E,SDB,,M-ND-20x20.step +ND20-20ESDBU,ND,20,20,,E,SDB,U,M-ND-20x20.step +ND20-20ESDBCM,ND,20,20,,E,SDB,CM,M-ND-20x20.step +ND20-20,ND,20,20,,,,,M-ND-20x20.step +ND20-20U,ND,20,20,,,,U,M-ND-20x20.step +ND20-20CM,ND,20,20,,,,CM,M-ND-20x20.step +ND20-20LB,ND,20,20,,,LB,,M-ND-20x20.step +ND20-20LBU,ND,20,20,,,LB,U,M-ND-20x20.step +ND20-20LBCM,ND,20,20,,,LB,CM,M-ND-20x20.step +ND20-20FA,ND,20,20,,,FA,,M-ND-20x20.step +ND20-20FAU,ND,20,20,,,FA,U,M-ND-20x20.step +ND20-20FACM,ND,20,20,,,FA,CM,M-ND-20x20.step +ND20-20FB,ND,20,20,,,FB,,M-ND-20x20.step +ND20-20FBU,ND,20,20,,,FB,U,M-ND-20x20.step +ND20-20FBCM,ND,20,20,,,FB,CM,M-ND-20x20.step +ND20-20SDB,ND,20,20,,,SDB,,M-ND-20x20.step +ND20-20SDBU,ND,20,20,,,SDB,U,M-ND-20x20.step +ND20-20SDBCM,ND,20,20,,,SDB,CM,M-ND-20x20.step +ND20-20ME,ND,20,20,M,E,,,M-ND-20x20.step +ND20-20MEU,ND,20,20,M,E,,U,M-ND-20x20.step +ND20-20MECM,ND,20,20,M,E,,CM,M-ND-20x20.step +ND20-20MELB,ND,20,20,M,E,LB,,M-ND-20x20.step +ND20-20MELBU,ND,20,20,M,E,LB,U,M-ND-20x20.step +ND20-20MELBCM,ND,20,20,M,E,LB,CM,M-ND-20x20.step +ND20-20MEFA,ND,20,20,M,E,FA,,M-ND-20x20.step +ND20-20MEFAU,ND,20,20,M,E,FA,U,M-ND-20x20.step +ND20-20MEFACM,ND,20,20,M,E,FA,CM,M-ND-20x20.step +ND20-20MEFB,ND,20,20,M,E,FB,,M-ND-20x20.step +ND20-20MEFBU,ND,20,20,M,E,FB,U,M-ND-20x20.step +ND20-20MEFBCM,ND,20,20,M,E,FB,CM,M-ND-20x20.step +ND20-20MESDB,ND,20,20,M,E,SDB,,M-ND-20x20.step +ND20-20MESDBU,ND,20,20,M,E,SDB,U,M-ND-20x20.step +ND20-20MESDBCM,ND,20,20,M,E,SDB,CM,M-ND-20x20.step +ND20-20M,ND,20,20,M,,,,M-ND-20x20.step +ND20-20MU,ND,20,20,M,,,U,M-ND-20x20.step +ND20-20MCM,ND,20,20,M,,,CM,M-ND-20x20.step +ND20-20MLB,ND,20,20,M,,LB,,M-ND-20x20.step +ND20-20MLBU,ND,20,20,M,,LB,U,M-ND-20x20.step +ND20-20MLBCM,ND,20,20,M,,LB,CM,M-ND-20x20.step +ND20-20MFA,ND,20,20,M,,FA,,M-ND-20x20.step +ND20-20MFAU,ND,20,20,M,,FA,U,M-ND-20x20.step +ND20-20MFACM,ND,20,20,M,,FA,CM,M-ND-20x20.step +ND20-20MFB,ND,20,20,M,,FB,,M-ND-20x20.step +ND20-20MFBU,ND,20,20,M,,FB,U,M-ND-20x20.step +ND20-20MFBCM,ND,20,20,M,,FB,CM,M-ND-20x20.step +ND20-20MSDB,ND,20,20,M,,SDB,,M-ND-20x20.step +ND20-20MSDBU,ND,20,20,M,,SDB,U,M-ND-20x20.step +ND20-20MSDBCM,ND,20,20,M,,SDB,CM,M-ND-20x20.step +ND20-30E,ND,20,30,,E,,,M-ND-20x30.step +ND20-30EU,ND,20,30,,E,,U,M-ND-20x30.step +ND20-30ECM,ND,20,30,,E,,CM,M-ND-20x30.step +ND20-30ELB,ND,20,30,,E,LB,,M-ND-20x30.step +ND20-30ELBU,ND,20,30,,E,LB,U,M-ND-20x30.step +ND20-30ELBCM,ND,20,30,,E,LB,CM,M-ND-20x30.step +ND20-30EFA,ND,20,30,,E,FA,,M-ND-20x30.step +ND20-30EFAU,ND,20,30,,E,FA,U,M-ND-20x30.step +ND20-30EFACM,ND,20,30,,E,FA,CM,M-ND-20x30.step +ND20-30EFB,ND,20,30,,E,FB,,M-ND-20x30.step +ND20-30EFBU,ND,20,30,,E,FB,U,M-ND-20x30.step +ND20-30EFBCM,ND,20,30,,E,FB,CM,M-ND-20x30.step +ND20-30ESDB,ND,20,30,,E,SDB,,M-ND-20x30.step +ND20-30ESDBU,ND,20,30,,E,SDB,U,M-ND-20x30.step +ND20-30ESDBCM,ND,20,30,,E,SDB,CM,M-ND-20x30.step +ND20-30,ND,20,30,,,,,M-ND-20x30.step +ND20-30U,ND,20,30,,,,U,M-ND-20x30.step +ND20-30CM,ND,20,30,,,,CM,M-ND-20x30.step +ND20-30LB,ND,20,30,,,LB,,M-ND-20x30.step +ND20-30LBU,ND,20,30,,,LB,U,M-ND-20x30.step +ND20-30LBCM,ND,20,30,,,LB,CM,M-ND-20x30.step +ND20-30FA,ND,20,30,,,FA,,M-ND-20x30.step +ND20-30FAU,ND,20,30,,,FA,U,M-ND-20x30.step +ND20-30FACM,ND,20,30,,,FA,CM,M-ND-20x30.step +ND20-30FB,ND,20,30,,,FB,,M-ND-20x30.step +ND20-30FBU,ND,20,30,,,FB,U,M-ND-20x30.step +ND20-30FBCM,ND,20,30,,,FB,CM,M-ND-20x30.step +ND20-30SDB,ND,20,30,,,SDB,,M-ND-20x30.step +ND20-30SDBU,ND,20,30,,,SDB,U,M-ND-20x30.step +ND20-30SDBCM,ND,20,30,,,SDB,CM,M-ND-20x30.step +ND20-30ME,ND,20,30,M,E,,,M-ND-20x30.step +ND20-30MEU,ND,20,30,M,E,,U,M-ND-20x30.step +ND20-30MECM,ND,20,30,M,E,,CM,M-ND-20x30.step +ND20-30MELB,ND,20,30,M,E,LB,,M-ND-20x30.step +ND20-30MELBU,ND,20,30,M,E,LB,U,M-ND-20x30.step +ND20-30MELBCM,ND,20,30,M,E,LB,CM,M-ND-20x30.step +ND20-30MEFA,ND,20,30,M,E,FA,,M-ND-20x30.step +ND20-30MEFAU,ND,20,30,M,E,FA,U,M-ND-20x30.step +ND20-30MEFACM,ND,20,30,M,E,FA,CM,M-ND-20x30.step +ND20-30MEFB,ND,20,30,M,E,FB,,M-ND-20x30.step +ND20-30MEFBU,ND,20,30,M,E,FB,U,M-ND-20x30.step +ND20-30MEFBCM,ND,20,30,M,E,FB,CM,M-ND-20x30.step +ND20-30MESDB,ND,20,30,M,E,SDB,,M-ND-20x30.step +ND20-30MESDBU,ND,20,30,M,E,SDB,U,M-ND-20x30.step +ND20-30MESDBCM,ND,20,30,M,E,SDB,CM,M-ND-20x30.step +ND20-30M,ND,20,30,M,,,,M-ND-20x30.step +ND20-30MU,ND,20,30,M,,,U,M-ND-20x30.step +ND20-30MCM,ND,20,30,M,,,CM,M-ND-20x30.step +ND20-30MLB,ND,20,30,M,,LB,,M-ND-20x30.step +ND20-30MLBU,ND,20,30,M,,LB,U,M-ND-20x30.step +ND20-30MLBCM,ND,20,30,M,,LB,CM,M-ND-20x30.step +ND20-30MFA,ND,20,30,M,,FA,,M-ND-20x30.step +ND20-30MFAU,ND,20,30,M,,FA,U,M-ND-20x30.step +ND20-30MFACM,ND,20,30,M,,FA,CM,M-ND-20x30.step +ND20-30MFB,ND,20,30,M,,FB,,M-ND-20x30.step +ND20-30MFBU,ND,20,30,M,,FB,U,M-ND-20x30.step +ND20-30MFBCM,ND,20,30,M,,FB,CM,M-ND-20x30.step +ND20-30MSDB,ND,20,30,M,,SDB,,M-ND-20x30.step +ND20-30MSDBU,ND,20,30,M,,SDB,U,M-ND-20x30.step +ND20-30MSDBCM,ND,20,30,M,,SDB,CM,M-ND-20x30.step +ND20-50E,ND,20,50,,E,,,M-ND-20x50.step +ND20-50EU,ND,20,50,,E,,U,M-ND-20x50.step +ND20-50ECM,ND,20,50,,E,,CM,M-ND-20x50.step +ND20-50ELB,ND,20,50,,E,LB,,M-ND-20x50.step +ND20-50ELBU,ND,20,50,,E,LB,U,M-ND-20x50.step +ND20-50ELBCM,ND,20,50,,E,LB,CM,M-ND-20x50.step +ND20-50EFA,ND,20,50,,E,FA,,M-ND-20x50.step +ND20-50EFAU,ND,20,50,,E,FA,U,M-ND-20x50.step +ND20-50EFACM,ND,20,50,,E,FA,CM,M-ND-20x50.step +ND20-50EFB,ND,20,50,,E,FB,,M-ND-20x50.step +ND20-50EFBU,ND,20,50,,E,FB,U,M-ND-20x50.step +ND20-50EFBCM,ND,20,50,,E,FB,CM,M-ND-20x50.step +ND20-50ESDB,ND,20,50,,E,SDB,,M-ND-20x50.step +ND20-50ESDBU,ND,20,50,,E,SDB,U,M-ND-20x50.step +ND20-50ESDBCM,ND,20,50,,E,SDB,CM,M-ND-20x50.step +ND20-50,ND,20,50,,,,,M-ND-20x50.step +ND20-50U,ND,20,50,,,,U,M-ND-20x50.step +ND20-50CM,ND,20,50,,,,CM,M-ND-20x50.step +ND20-50LB,ND,20,50,,,LB,,M-ND-20x50.step +ND20-50LBU,ND,20,50,,,LB,U,M-ND-20x50.step +ND20-50LBCM,ND,20,50,,,LB,CM,M-ND-20x50.step +ND20-50FA,ND,20,50,,,FA,,M-ND-20x50.step +ND20-50FAU,ND,20,50,,,FA,U,M-ND-20x50.step +ND20-50FACM,ND,20,50,,,FA,CM,M-ND-20x50.step +ND20-50FB,ND,20,50,,,FB,,M-ND-20x50.step +ND20-50FBU,ND,20,50,,,FB,U,M-ND-20x50.step +ND20-50FBCM,ND,20,50,,,FB,CM,M-ND-20x50.step +ND20-50SDB,ND,20,50,,,SDB,,M-ND-20x50.step +ND20-50SDBU,ND,20,50,,,SDB,U,M-ND-20x50.step +ND20-50SDBCM,ND,20,50,,,SDB,CM,M-ND-20x50.step +ND20-50ME,ND,20,50,M,E,,,M-ND-20x50.step +ND20-50MEU,ND,20,50,M,E,,U,M-ND-20x50.step +ND20-50MECM,ND,20,50,M,E,,CM,M-ND-20x50.step +ND20-50MELB,ND,20,50,M,E,LB,,M-ND-20x50.step +ND20-50MELBU,ND,20,50,M,E,LB,U,M-ND-20x50.step +ND20-50MELBCM,ND,20,50,M,E,LB,CM,M-ND-20x50.step +ND20-50MEFA,ND,20,50,M,E,FA,,M-ND-20x50.step +ND20-50MEFAU,ND,20,50,M,E,FA,U,M-ND-20x50.step +ND20-50MEFACM,ND,20,50,M,E,FA,CM,M-ND-20x50.step +ND20-50MEFB,ND,20,50,M,E,FB,,M-ND-20x50.step +ND20-50MEFBU,ND,20,50,M,E,FB,U,M-ND-20x50.step +ND20-50MEFBCM,ND,20,50,M,E,FB,CM,M-ND-20x50.step +ND20-50MESDB,ND,20,50,M,E,SDB,,M-ND-20x50.step +ND20-50MESDBU,ND,20,50,M,E,SDB,U,M-ND-20x50.step +ND20-50MESDBCM,ND,20,50,M,E,SDB,CM,M-ND-20x50.step +ND20-50M,ND,20,50,M,,,,M-ND-20x50.step +ND20-50MU,ND,20,50,M,,,U,M-ND-20x50.step +ND20-50MCM,ND,20,50,M,,,CM,M-ND-20x50.step +ND20-50MLB,ND,20,50,M,,LB,,M-ND-20x50.step +ND20-50MLBU,ND,20,50,M,,LB,U,M-ND-20x50.step +ND20-50MLBCM,ND,20,50,M,,LB,CM,M-ND-20x50.step +ND20-50MFA,ND,20,50,M,,FA,,M-ND-20x50.step +ND20-50MFAU,ND,20,50,M,,FA,U,M-ND-20x50.step +ND20-50MFACM,ND,20,50,M,,FA,CM,M-ND-20x50.step +ND20-50MFB,ND,20,50,M,,FB,,M-ND-20x50.step +ND20-50MFBU,ND,20,50,M,,FB,U,M-ND-20x50.step +ND20-50MFBCM,ND,20,50,M,,FB,CM,M-ND-20x50.step +ND20-50MSDB,ND,20,50,M,,SDB,,M-ND-20x50.step +ND20-50MSDBU,ND,20,50,M,,SDB,U,M-ND-20x50.step +ND20-50MSDBCM,ND,20,50,M,,SDB,CM,M-ND-20x50.step +ND20-75E,ND,20,75,,E,,,M-ND-20x75.step +ND20-75EU,ND,20,75,,E,,U,M-ND-20x75.step +ND20-75ECM,ND,20,75,,E,,CM,M-ND-20x75.step +ND20-75ELB,ND,20,75,,E,LB,,M-ND-20x75.step +ND20-75ELBU,ND,20,75,,E,LB,U,M-ND-20x75.step +ND20-75ELBCM,ND,20,75,,E,LB,CM,M-ND-20x75.step +ND20-75EFA,ND,20,75,,E,FA,,M-ND-20x75.step +ND20-75EFAU,ND,20,75,,E,FA,U,M-ND-20x75.step +ND20-75EFACM,ND,20,75,,E,FA,CM,M-ND-20x75.step +ND20-75EFB,ND,20,75,,E,FB,,M-ND-20x75.step +ND20-75EFBU,ND,20,75,,E,FB,U,M-ND-20x75.step +ND20-75EFBCM,ND,20,75,,E,FB,CM,M-ND-20x75.step +ND20-75ESDB,ND,20,75,,E,SDB,,M-ND-20x75.step +ND20-75ESDBU,ND,20,75,,E,SDB,U,M-ND-20x75.step +ND20-75ESDBCM,ND,20,75,,E,SDB,CM,M-ND-20x75.step +ND20-75,ND,20,75,,,,,M-ND-20x75.step +ND20-75U,ND,20,75,,,,U,M-ND-20x75.step +ND20-75CM,ND,20,75,,,,CM,M-ND-20x75.step +ND20-75LB,ND,20,75,,,LB,,M-ND-20x75.step +ND20-75LBU,ND,20,75,,,LB,U,M-ND-20x75.step +ND20-75LBCM,ND,20,75,,,LB,CM,M-ND-20x75.step +ND20-75FA,ND,20,75,,,FA,,M-ND-20x75.step +ND20-75FAU,ND,20,75,,,FA,U,M-ND-20x75.step +ND20-75FACM,ND,20,75,,,FA,CM,M-ND-20x75.step +ND20-75FB,ND,20,75,,,FB,,M-ND-20x75.step +ND20-75FBU,ND,20,75,,,FB,U,M-ND-20x75.step +ND20-75FBCM,ND,20,75,,,FB,CM,M-ND-20x75.step +ND20-75SDB,ND,20,75,,,SDB,,M-ND-20x75.step +ND20-75SDBU,ND,20,75,,,SDB,U,M-ND-20x75.step +ND20-75SDBCM,ND,20,75,,,SDB,CM,M-ND-20x75.step +ND20-75ME,ND,20,75,M,E,,,M-ND-20x75.step +ND20-75MEU,ND,20,75,M,E,,U,M-ND-20x75.step +ND20-75MECM,ND,20,75,M,E,,CM,M-ND-20x75.step +ND20-75MELB,ND,20,75,M,E,LB,,M-ND-20x75.step +ND20-75MELBU,ND,20,75,M,E,LB,U,M-ND-20x75.step +ND20-75MELBCM,ND,20,75,M,E,LB,CM,M-ND-20x75.step +ND20-75MEFA,ND,20,75,M,E,FA,,M-ND-20x75.step +ND20-75MEFAU,ND,20,75,M,E,FA,U,M-ND-20x75.step +ND20-75MEFACM,ND,20,75,M,E,FA,CM,M-ND-20x75.step +ND20-75MEFB,ND,20,75,M,E,FB,,M-ND-20x75.step +ND20-75MEFBU,ND,20,75,M,E,FB,U,M-ND-20x75.step +ND20-75MEFBCM,ND,20,75,M,E,FB,CM,M-ND-20x75.step +ND20-75MESDB,ND,20,75,M,E,SDB,,M-ND-20x75.step +ND20-75MESDBU,ND,20,75,M,E,SDB,U,M-ND-20x75.step +ND20-75MESDBCM,ND,20,75,M,E,SDB,CM,M-ND-20x75.step +ND20-75M,ND,20,75,M,,,,M-ND-20x75.step +ND20-75MU,ND,20,75,M,,,U,M-ND-20x75.step +ND20-75MCM,ND,20,75,M,,,CM,M-ND-20x75.step +ND20-75MLB,ND,20,75,M,,LB,,M-ND-20x75.step +ND20-75MLBU,ND,20,75,M,,LB,U,M-ND-20x75.step +ND20-75MLBCM,ND,20,75,M,,LB,CM,M-ND-20x75.step +ND20-75MFA,ND,20,75,M,,FA,,M-ND-20x75.step +ND20-75MFAU,ND,20,75,M,,FA,U,M-ND-20x75.step +ND20-75MFACM,ND,20,75,M,,FA,CM,M-ND-20x75.step +ND20-75MFB,ND,20,75,M,,FB,,M-ND-20x75.step +ND20-75MFBU,ND,20,75,M,,FB,U,M-ND-20x75.step +ND20-75MFBCM,ND,20,75,M,,FB,CM,M-ND-20x75.step +ND20-75MSDB,ND,20,75,M,,SDB,,M-ND-20x75.step +ND20-75MSDBU,ND,20,75,M,,SDB,U,M-ND-20x75.step +ND20-75MSDBCM,ND,20,75,M,,SDB,CM,M-ND-20x75.step +ND20-100E,ND,20,100,,E,,,M-ND-20x100.step +ND20-100EU,ND,20,100,,E,,U,M-ND-20x100.step +ND20-100ECM,ND,20,100,,E,,CM,M-ND-20x100.step +ND20-100ELB,ND,20,100,,E,LB,,M-ND-20x100.step +ND20-100ELBU,ND,20,100,,E,LB,U,M-ND-20x100.step +ND20-100ELBCM,ND,20,100,,E,LB,CM,M-ND-20x100.step +ND20-100EFA,ND,20,100,,E,FA,,M-ND-20x100.step +ND20-100EFAU,ND,20,100,,E,FA,U,M-ND-20x100.step +ND20-100EFACM,ND,20,100,,E,FA,CM,M-ND-20x100.step +ND20-100EFB,ND,20,100,,E,FB,,M-ND-20x100.step +ND20-100EFBU,ND,20,100,,E,FB,U,M-ND-20x100.step +ND20-100EFBCM,ND,20,100,,E,FB,CM,M-ND-20x100.step +ND20-100ESDB,ND,20,100,,E,SDB,,M-ND-20x100.step +ND20-100ESDBU,ND,20,100,,E,SDB,U,M-ND-20x100.step +ND20-100ESDBCM,ND,20,100,,E,SDB,CM,M-ND-20x100.step +ND20-100,ND,20,100,,,,,M-ND-20x100.step +ND20-100U,ND,20,100,,,,U,M-ND-20x100.step +ND20-100CM,ND,20,100,,,,CM,M-ND-20x100.step +ND20-100LB,ND,20,100,,,LB,,M-ND-20x100.step +ND20-100LBU,ND,20,100,,,LB,U,M-ND-20x100.step +ND20-100LBCM,ND,20,100,,,LB,CM,M-ND-20x100.step +ND20-100FA,ND,20,100,,,FA,,M-ND-20x100.step +ND20-100FAU,ND,20,100,,,FA,U,M-ND-20x100.step +ND20-100FACM,ND,20,100,,,FA,CM,M-ND-20x100.step +ND20-100FB,ND,20,100,,,FB,,M-ND-20x100.step +ND20-100FBU,ND,20,100,,,FB,U,M-ND-20x100.step +ND20-100FBCM,ND,20,100,,,FB,CM,M-ND-20x100.step +ND20-100SDB,ND,20,100,,,SDB,,M-ND-20x100.step +ND20-100SDBU,ND,20,100,,,SDB,U,M-ND-20x100.step +ND20-100SDBCM,ND,20,100,,,SDB,CM,M-ND-20x100.step +ND20-100ME,ND,20,100,M,E,,,M-ND-20x100.step +ND20-100MEU,ND,20,100,M,E,,U,M-ND-20x100.step +ND20-100MECM,ND,20,100,M,E,,CM,M-ND-20x100.step +ND20-100MELB,ND,20,100,M,E,LB,,M-ND-20x100.step +ND20-100MELBU,ND,20,100,M,E,LB,U,M-ND-20x100.step +ND20-100MELBCM,ND,20,100,M,E,LB,CM,M-ND-20x100.step +ND20-100MEFA,ND,20,100,M,E,FA,,M-ND-20x100.step +ND20-100MEFAU,ND,20,100,M,E,FA,U,M-ND-20x100.step +ND20-100MEFACM,ND,20,100,M,E,FA,CM,M-ND-20x100.step +ND20-100MEFB,ND,20,100,M,E,FB,,M-ND-20x100.step +ND20-100MEFBU,ND,20,100,M,E,FB,U,M-ND-20x100.step +ND20-100MEFBCM,ND,20,100,M,E,FB,CM,M-ND-20x100.step +ND20-100MESDB,ND,20,100,M,E,SDB,,M-ND-20x100.step +ND20-100MESDBU,ND,20,100,M,E,SDB,U,M-ND-20x100.step +ND20-100MESDBCM,ND,20,100,M,E,SDB,CM,M-ND-20x100.step +ND20-100M,ND,20,100,M,,,,M-ND-20x100.step +ND20-100MU,ND,20,100,M,,,U,M-ND-20x100.step +ND20-100MCM,ND,20,100,M,,,CM,M-ND-20x100.step +ND20-100MLB,ND,20,100,M,,LB,,M-ND-20x100.step +ND20-100MLBU,ND,20,100,M,,LB,U,M-ND-20x100.step +ND20-100MLBCM,ND,20,100,M,,LB,CM,M-ND-20x100.step +ND20-100MFA,ND,20,100,M,,FA,,M-ND-20x100.step +ND20-100MFAU,ND,20,100,M,,FA,U,M-ND-20x100.step +ND20-100MFACM,ND,20,100,M,,FA,CM,M-ND-20x100.step +ND20-100MFB,ND,20,100,M,,FB,,M-ND-20x100.step +ND20-100MFBU,ND,20,100,M,,FB,U,M-ND-20x100.step +ND20-100MFBCM,ND,20,100,M,,FB,CM,M-ND-20x100.step +ND20-100MSDB,ND,20,100,M,,SDB,,M-ND-20x100.step +ND20-100MSDBU,ND,20,100,M,,SDB,U,M-ND-20x100.step +ND20-100MSDBCM,ND,20,100,M,,SDB,CM,M-ND-20x100.step +ND25-10E,ND,25,10,,E,,,M-ND-25x10.step +ND25-10EU,ND,25,10,,E,,U,M-ND-25x10.step +ND25-10ECM,ND,25,10,,E,,CM,M-ND-25x10.step +ND25-10ELB,ND,25,10,,E,LB,,M-ND-25x10.step +ND25-10ELBU,ND,25,10,,E,LB,U,M-ND-25x10.step +ND25-10ELBCM,ND,25,10,,E,LB,CM,M-ND-25x10.step +ND25-10EFA,ND,25,10,,E,FA,,M-ND-25x10.step +ND25-10EFAU,ND,25,10,,E,FA,U,M-ND-25x10.step +ND25-10EFACM,ND,25,10,,E,FA,CM,M-ND-25x10.step +ND25-10EFB,ND,25,10,,E,FB,,M-ND-25x10.step +ND25-10EFBU,ND,25,10,,E,FB,U,M-ND-25x10.step +ND25-10EFBCM,ND,25,10,,E,FB,CM,M-ND-25x10.step +ND25-10ESDB,ND,25,10,,E,SDB,,M-ND-25x10.step +ND25-10ESDBU,ND,25,10,,E,SDB,U,M-ND-25x10.step +ND25-10ESDBCM,ND,25,10,,E,SDB,CM,M-ND-25x10.step +ND25-10,ND,25,10,,,,,M-ND-25x10.step +ND25-10U,ND,25,10,,,,U,M-ND-25x10.step +ND25-10CM,ND,25,10,,,,CM,M-ND-25x10.step +ND25-10LB,ND,25,10,,,LB,,M-ND-25x10.step +ND25-10LBU,ND,25,10,,,LB,U,M-ND-25x10.step +ND25-10LBCM,ND,25,10,,,LB,CM,M-ND-25x10.step +ND25-10FA,ND,25,10,,,FA,,M-ND-25x10.step +ND25-10FAU,ND,25,10,,,FA,U,M-ND-25x10.step +ND25-10FACM,ND,25,10,,,FA,CM,M-ND-25x10.step +ND25-10FB,ND,25,10,,,FB,,M-ND-25x10.step +ND25-10FBU,ND,25,10,,,FB,U,M-ND-25x10.step +ND25-10FBCM,ND,25,10,,,FB,CM,M-ND-25x10.step +ND25-10SDB,ND,25,10,,,SDB,,M-ND-25x10.step +ND25-10SDBU,ND,25,10,,,SDB,U,M-ND-25x10.step +ND25-10SDBCM,ND,25,10,,,SDB,CM,M-ND-25x10.step +ND25-10ME,ND,25,10,M,E,,,M-ND-25x10.step +ND25-10MEU,ND,25,10,M,E,,U,M-ND-25x10.step +ND25-10MECM,ND,25,10,M,E,,CM,M-ND-25x10.step +ND25-10MELB,ND,25,10,M,E,LB,,M-ND-25x10.step +ND25-10MELBU,ND,25,10,M,E,LB,U,M-ND-25x10.step +ND25-10MELBCM,ND,25,10,M,E,LB,CM,M-ND-25x10.step +ND25-10MEFA,ND,25,10,M,E,FA,,M-ND-25x10.step +ND25-10MEFAU,ND,25,10,M,E,FA,U,M-ND-25x10.step +ND25-10MEFACM,ND,25,10,M,E,FA,CM,M-ND-25x10.step +ND25-10MEFB,ND,25,10,M,E,FB,,M-ND-25x10.step +ND25-10MEFBU,ND,25,10,M,E,FB,U,M-ND-25x10.step +ND25-10MEFBCM,ND,25,10,M,E,FB,CM,M-ND-25x10.step +ND25-10MESDB,ND,25,10,M,E,SDB,,M-ND-25x10.step +ND25-10MESDBU,ND,25,10,M,E,SDB,U,M-ND-25x10.step +ND25-10MESDBCM,ND,25,10,M,E,SDB,CM,M-ND-25x10.step +ND25-10M,ND,25,10,M,,,,M-ND-25x10.step +ND25-10MU,ND,25,10,M,,,U,M-ND-25x10.step +ND25-10MCM,ND,25,10,M,,,CM,M-ND-25x10.step +ND25-10MLB,ND,25,10,M,,LB,,M-ND-25x10.step +ND25-10MLBU,ND,25,10,M,,LB,U,M-ND-25x10.step +ND25-10MLBCM,ND,25,10,M,,LB,CM,M-ND-25x10.step +ND25-10MFA,ND,25,10,M,,FA,,M-ND-25x10.step +ND25-10MFAU,ND,25,10,M,,FA,U,M-ND-25x10.step +ND25-10MFACM,ND,25,10,M,,FA,CM,M-ND-25x10.step +ND25-10MFB,ND,25,10,M,,FB,,M-ND-25x10.step +ND25-10MFBU,ND,25,10,M,,FB,U,M-ND-25x10.step +ND25-10MFBCM,ND,25,10,M,,FB,CM,M-ND-25x10.step +ND25-10MSDB,ND,25,10,M,,SDB,,M-ND-25x10.step +ND25-10MSDBU,ND,25,10,M,,SDB,U,M-ND-25x10.step +ND25-10MSDBCM,ND,25,10,M,,SDB,CM,M-ND-25x10.step +ND25-20E,ND,25,20,,E,,,M-ND-25x20.step +ND25-20EU,ND,25,20,,E,,U,M-ND-25x20.step +ND25-20ECM,ND,25,20,,E,,CM,M-ND-25x20.step +ND25-20ELB,ND,25,20,,E,LB,,M-ND-25x20.step +ND25-20ELBU,ND,25,20,,E,LB,U,M-ND-25x20.step +ND25-20ELBCM,ND,25,20,,E,LB,CM,M-ND-25x20.step +ND25-20EFA,ND,25,20,,E,FA,,M-ND-25x20.step +ND25-20EFAU,ND,25,20,,E,FA,U,M-ND-25x20.step +ND25-20EFACM,ND,25,20,,E,FA,CM,M-ND-25x20.step +ND25-20EFB,ND,25,20,,E,FB,,M-ND-25x20.step +ND25-20EFBU,ND,25,20,,E,FB,U,M-ND-25x20.step +ND25-20EFBCM,ND,25,20,,E,FB,CM,M-ND-25x20.step +ND25-20ESDB,ND,25,20,,E,SDB,,M-ND-25x20.step +ND25-20ESDBU,ND,25,20,,E,SDB,U,M-ND-25x20.step +ND25-20ESDBCM,ND,25,20,,E,SDB,CM,M-ND-25x20.step +ND25-20,ND,25,20,,,,,M-ND-25x20.step +ND25-20U,ND,25,20,,,,U,M-ND-25x20.step +ND25-20CM,ND,25,20,,,,CM,M-ND-25x20.step +ND25-20LB,ND,25,20,,,LB,,M-ND-25x20.step +ND25-20LBU,ND,25,20,,,LB,U,M-ND-25x20.step +ND25-20LBCM,ND,25,20,,,LB,CM,M-ND-25x20.step +ND25-20FA,ND,25,20,,,FA,,M-ND-25x20.step +ND25-20FAU,ND,25,20,,,FA,U,M-ND-25x20.step +ND25-20FACM,ND,25,20,,,FA,CM,M-ND-25x20.step +ND25-20FB,ND,25,20,,,FB,,M-ND-25x20.step +ND25-20FBU,ND,25,20,,,FB,U,M-ND-25x20.step +ND25-20FBCM,ND,25,20,,,FB,CM,M-ND-25x20.step +ND25-20SDB,ND,25,20,,,SDB,,M-ND-25x20.step +ND25-20SDBU,ND,25,20,,,SDB,U,M-ND-25x20.step +ND25-20SDBCM,ND,25,20,,,SDB,CM,M-ND-25x20.step +ND25-20ME,ND,25,20,M,E,,,M-ND-25x20.step +ND25-20MEU,ND,25,20,M,E,,U,M-ND-25x20.step +ND25-20MECM,ND,25,20,M,E,,CM,M-ND-25x20.step +ND25-20MELB,ND,25,20,M,E,LB,,M-ND-25x20.step +ND25-20MELBU,ND,25,20,M,E,LB,U,M-ND-25x20.step +ND25-20MELBCM,ND,25,20,M,E,LB,CM,M-ND-25x20.step +ND25-20MEFA,ND,25,20,M,E,FA,,M-ND-25x20.step +ND25-20MEFAU,ND,25,20,M,E,FA,U,M-ND-25x20.step +ND25-20MEFACM,ND,25,20,M,E,FA,CM,M-ND-25x20.step +ND25-20MEFB,ND,25,20,M,E,FB,,M-ND-25x20.step +ND25-20MEFBU,ND,25,20,M,E,FB,U,M-ND-25x20.step +ND25-20MEFBCM,ND,25,20,M,E,FB,CM,M-ND-25x20.step +ND25-20MESDB,ND,25,20,M,E,SDB,,M-ND-25x20.step +ND25-20MESDBU,ND,25,20,M,E,SDB,U,M-ND-25x20.step +ND25-20MESDBCM,ND,25,20,M,E,SDB,CM,M-ND-25x20.step +ND25-20M,ND,25,20,M,,,,M-ND-25x20.step +ND25-20MU,ND,25,20,M,,,U,M-ND-25x20.step +ND25-20MCM,ND,25,20,M,,,CM,M-ND-25x20.step +ND25-20MLB,ND,25,20,M,,LB,,M-ND-25x20.step +ND25-20MLBU,ND,25,20,M,,LB,U,M-ND-25x20.step +ND25-20MLBCM,ND,25,20,M,,LB,CM,M-ND-25x20.step +ND25-20MFA,ND,25,20,M,,FA,,M-ND-25x20.step +ND25-20MFAU,ND,25,20,M,,FA,U,M-ND-25x20.step +ND25-20MFACM,ND,25,20,M,,FA,CM,M-ND-25x20.step +ND25-20MFB,ND,25,20,M,,FB,,M-ND-25x20.step +ND25-20MFBU,ND,25,20,M,,FB,U,M-ND-25x20.step +ND25-20MFBCM,ND,25,20,M,,FB,CM,M-ND-25x20.step +ND25-20MSDB,ND,25,20,M,,SDB,,M-ND-25x20.step +ND25-20MSDBU,ND,25,20,M,,SDB,U,M-ND-25x20.step +ND25-20MSDBCM,ND,25,20,M,,SDB,CM,M-ND-25x20.step +ND25-30E,ND,25,30,,E,,,M-ND-25x30.step +ND25-30EU,ND,25,30,,E,,U,M-ND-25x30.step +ND25-30ECM,ND,25,30,,E,,CM,M-ND-25x30.step +ND25-30ELB,ND,25,30,,E,LB,,M-ND-25x30.step +ND25-30ELBU,ND,25,30,,E,LB,U,M-ND-25x30.step +ND25-30ELBCM,ND,25,30,,E,LB,CM,M-ND-25x30.step +ND25-30EFA,ND,25,30,,E,FA,,M-ND-25x30.step +ND25-30EFAU,ND,25,30,,E,FA,U,M-ND-25x30.step +ND25-30EFACM,ND,25,30,,E,FA,CM,M-ND-25x30.step +ND25-30EFB,ND,25,30,,E,FB,,M-ND-25x30.step +ND25-30EFBU,ND,25,30,,E,FB,U,M-ND-25x30.step +ND25-30EFBCM,ND,25,30,,E,FB,CM,M-ND-25x30.step +ND25-30ESDB,ND,25,30,,E,SDB,,M-ND-25x30.step +ND25-30ESDBU,ND,25,30,,E,SDB,U,M-ND-25x30.step +ND25-30ESDBCM,ND,25,30,,E,SDB,CM,M-ND-25x30.step +ND25-30,ND,25,30,,,,,M-ND-25x30.step +ND25-30U,ND,25,30,,,,U,M-ND-25x30.step +ND25-30CM,ND,25,30,,,,CM,M-ND-25x30.step +ND25-30LB,ND,25,30,,,LB,,M-ND-25x30.step +ND25-30LBU,ND,25,30,,,LB,U,M-ND-25x30.step +ND25-30LBCM,ND,25,30,,,LB,CM,M-ND-25x30.step +ND25-30FA,ND,25,30,,,FA,,M-ND-25x30.step +ND25-30FAU,ND,25,30,,,FA,U,M-ND-25x30.step +ND25-30FACM,ND,25,30,,,FA,CM,M-ND-25x30.step +ND25-30FB,ND,25,30,,,FB,,M-ND-25x30.step +ND25-30FBU,ND,25,30,,,FB,U,M-ND-25x30.step +ND25-30FBCM,ND,25,30,,,FB,CM,M-ND-25x30.step +ND25-30SDB,ND,25,30,,,SDB,,M-ND-25x30.step +ND25-30SDBU,ND,25,30,,,SDB,U,M-ND-25x30.step +ND25-30SDBCM,ND,25,30,,,SDB,CM,M-ND-25x30.step +ND25-30ME,ND,25,30,M,E,,,M-ND-25x30.step +ND25-30MEU,ND,25,30,M,E,,U,M-ND-25x30.step +ND25-30MECM,ND,25,30,M,E,,CM,M-ND-25x30.step +ND25-30MELB,ND,25,30,M,E,LB,,M-ND-25x30.step +ND25-30MELBU,ND,25,30,M,E,LB,U,M-ND-25x30.step +ND25-30MELBCM,ND,25,30,M,E,LB,CM,M-ND-25x30.step +ND25-30MEFA,ND,25,30,M,E,FA,,M-ND-25x30.step +ND25-30MEFAU,ND,25,30,M,E,FA,U,M-ND-25x30.step +ND25-30MEFACM,ND,25,30,M,E,FA,CM,M-ND-25x30.step +ND25-30MEFB,ND,25,30,M,E,FB,,M-ND-25x30.step +ND25-30MEFBU,ND,25,30,M,E,FB,U,M-ND-25x30.step +ND25-30MEFBCM,ND,25,30,M,E,FB,CM,M-ND-25x30.step +ND25-30MESDB,ND,25,30,M,E,SDB,,M-ND-25x30.step +ND25-30MESDBU,ND,25,30,M,E,SDB,U,M-ND-25x30.step +ND25-30MESDBCM,ND,25,30,M,E,SDB,CM,M-ND-25x30.step +ND25-30M,ND,25,30,M,,,,M-ND-25x30.step +ND25-30MU,ND,25,30,M,,,U,M-ND-25x30.step +ND25-30MCM,ND,25,30,M,,,CM,M-ND-25x30.step +ND25-30MLB,ND,25,30,M,,LB,,M-ND-25x30.step +ND25-30MLBU,ND,25,30,M,,LB,U,M-ND-25x30.step +ND25-30MLBCM,ND,25,30,M,,LB,CM,M-ND-25x30.step +ND25-30MFA,ND,25,30,M,,FA,,M-ND-25x30.step +ND25-30MFAU,ND,25,30,M,,FA,U,M-ND-25x30.step +ND25-30MFACM,ND,25,30,M,,FA,CM,M-ND-25x30.step +ND25-30MFB,ND,25,30,M,,FB,,M-ND-25x30.step +ND25-30MFBU,ND,25,30,M,,FB,U,M-ND-25x30.step +ND25-30MFBCM,ND,25,30,M,,FB,CM,M-ND-25x30.step +ND25-30MSDB,ND,25,30,M,,SDB,,M-ND-25x30.step +ND25-30MSDBU,ND,25,30,M,,SDB,U,M-ND-25x30.step +ND25-30MSDBCM,ND,25,30,M,,SDB,CM,M-ND-25x30.step +ND25-50E,ND,25,50,,E,,,M-ND-25x50.step +ND25-50EU,ND,25,50,,E,,U,M-ND-25x50.step +ND25-50ECM,ND,25,50,,E,,CM,M-ND-25x50.step +ND25-50ELB,ND,25,50,,E,LB,,M-ND-25x50.step +ND25-50ELBU,ND,25,50,,E,LB,U,M-ND-25x50.step +ND25-50ELBCM,ND,25,50,,E,LB,CM,M-ND-25x50.step +ND25-50EFA,ND,25,50,,E,FA,,M-ND-25x50.step +ND25-50EFAU,ND,25,50,,E,FA,U,M-ND-25x50.step +ND25-50EFACM,ND,25,50,,E,FA,CM,M-ND-25x50.step +ND25-50EFB,ND,25,50,,E,FB,,M-ND-25x50.step +ND25-50EFBU,ND,25,50,,E,FB,U,M-ND-25x50.step +ND25-50EFBCM,ND,25,50,,E,FB,CM,M-ND-25x50.step +ND25-50ESDB,ND,25,50,,E,SDB,,M-ND-25x50.step +ND25-50ESDBU,ND,25,50,,E,SDB,U,M-ND-25x50.step +ND25-50ESDBCM,ND,25,50,,E,SDB,CM,M-ND-25x50.step +ND25-50,ND,25,50,,,,,M-ND-25x50.step +ND25-50U,ND,25,50,,,,U,M-ND-25x50.step +ND25-50CM,ND,25,50,,,,CM,M-ND-25x50.step +ND25-50LB,ND,25,50,,,LB,,M-ND-25x50.step +ND25-50LBU,ND,25,50,,,LB,U,M-ND-25x50.step +ND25-50LBCM,ND,25,50,,,LB,CM,M-ND-25x50.step +ND25-50FA,ND,25,50,,,FA,,M-ND-25x50.step +ND25-50FAU,ND,25,50,,,FA,U,M-ND-25x50.step +ND25-50FACM,ND,25,50,,,FA,CM,M-ND-25x50.step +ND25-50FB,ND,25,50,,,FB,,M-ND-25x50.step +ND25-50FBU,ND,25,50,,,FB,U,M-ND-25x50.step +ND25-50FBCM,ND,25,50,,,FB,CM,M-ND-25x50.step +ND25-50SDB,ND,25,50,,,SDB,,M-ND-25x50.step +ND25-50SDBU,ND,25,50,,,SDB,U,M-ND-25x50.step +ND25-50SDBCM,ND,25,50,,,SDB,CM,M-ND-25x50.step +ND25-50ME,ND,25,50,M,E,,,M-ND-25x50.step +ND25-50MEU,ND,25,50,M,E,,U,M-ND-25x50.step +ND25-50MECM,ND,25,50,M,E,,CM,M-ND-25x50.step +ND25-50MELB,ND,25,50,M,E,LB,,M-ND-25x50.step +ND25-50MELBU,ND,25,50,M,E,LB,U,M-ND-25x50.step +ND25-50MELBCM,ND,25,50,M,E,LB,CM,M-ND-25x50.step +ND25-50MEFA,ND,25,50,M,E,FA,,M-ND-25x50.step +ND25-50MEFAU,ND,25,50,M,E,FA,U,M-ND-25x50.step +ND25-50MEFACM,ND,25,50,M,E,FA,CM,M-ND-25x50.step +ND25-50MEFB,ND,25,50,M,E,FB,,M-ND-25x50.step +ND25-50MEFBU,ND,25,50,M,E,FB,U,M-ND-25x50.step +ND25-50MEFBCM,ND,25,50,M,E,FB,CM,M-ND-25x50.step +ND25-50MESDB,ND,25,50,M,E,SDB,,M-ND-25x50.step +ND25-50MESDBU,ND,25,50,M,E,SDB,U,M-ND-25x50.step +ND25-50MESDBCM,ND,25,50,M,E,SDB,CM,M-ND-25x50.step +ND25-50M,ND,25,50,M,,,,M-ND-25x50.step +ND25-50MU,ND,25,50,M,,,U,M-ND-25x50.step +ND25-50MCM,ND,25,50,M,,,CM,M-ND-25x50.step +ND25-50MLB,ND,25,50,M,,LB,,M-ND-25x50.step +ND25-50MLBU,ND,25,50,M,,LB,U,M-ND-25x50.step +ND25-50MLBCM,ND,25,50,M,,LB,CM,M-ND-25x50.step +ND25-50MFA,ND,25,50,M,,FA,,M-ND-25x50.step +ND25-50MFAU,ND,25,50,M,,FA,U,M-ND-25x50.step +ND25-50MFACM,ND,25,50,M,,FA,CM,M-ND-25x50.step +ND25-50MFB,ND,25,50,M,,FB,,M-ND-25x50.step +ND25-50MFBU,ND,25,50,M,,FB,U,M-ND-25x50.step +ND25-50MFBCM,ND,25,50,M,,FB,CM,M-ND-25x50.step +ND25-50MSDB,ND,25,50,M,,SDB,,M-ND-25x50.step +ND25-50MSDBU,ND,25,50,M,,SDB,U,M-ND-25x50.step +ND25-50MSDBCM,ND,25,50,M,,SDB,CM,M-ND-25x50.step +ND25-75E,ND,25,75,,E,,,M-ND-25x75.step +ND25-75EU,ND,25,75,,E,,U,M-ND-25x75.step +ND25-75ECM,ND,25,75,,E,,CM,M-ND-25x75.step +ND25-75ELB,ND,25,75,,E,LB,,M-ND-25x75.step +ND25-75ELBU,ND,25,75,,E,LB,U,M-ND-25x75.step +ND25-75ELBCM,ND,25,75,,E,LB,CM,M-ND-25x75.step +ND25-75EFA,ND,25,75,,E,FA,,M-ND-25x75.step +ND25-75EFAU,ND,25,75,,E,FA,U,M-ND-25x75.step +ND25-75EFACM,ND,25,75,,E,FA,CM,M-ND-25x75.step +ND25-75EFB,ND,25,75,,E,FB,,M-ND-25x75.step +ND25-75EFBU,ND,25,75,,E,FB,U,M-ND-25x75.step +ND25-75EFBCM,ND,25,75,,E,FB,CM,M-ND-25x75.step +ND25-75ESDB,ND,25,75,,E,SDB,,M-ND-25x75.step +ND25-75ESDBU,ND,25,75,,E,SDB,U,M-ND-25x75.step +ND25-75ESDBCM,ND,25,75,,E,SDB,CM,M-ND-25x75.step +ND25-75,ND,25,75,,,,,M-ND-25x75.step +ND25-75U,ND,25,75,,,,U,M-ND-25x75.step +ND25-75CM,ND,25,75,,,,CM,M-ND-25x75.step +ND25-75LB,ND,25,75,,,LB,,M-ND-25x75.step +ND25-75LBU,ND,25,75,,,LB,U,M-ND-25x75.step +ND25-75LBCM,ND,25,75,,,LB,CM,M-ND-25x75.step +ND25-75FA,ND,25,75,,,FA,,M-ND-25x75.step +ND25-75FAU,ND,25,75,,,FA,U,M-ND-25x75.step +ND25-75FACM,ND,25,75,,,FA,CM,M-ND-25x75.step +ND25-75FB,ND,25,75,,,FB,,M-ND-25x75.step +ND25-75FBU,ND,25,75,,,FB,U,M-ND-25x75.step +ND25-75FBCM,ND,25,75,,,FB,CM,M-ND-25x75.step +ND25-75SDB,ND,25,75,,,SDB,,M-ND-25x75.step +ND25-75SDBU,ND,25,75,,,SDB,U,M-ND-25x75.step +ND25-75SDBCM,ND,25,75,,,SDB,CM,M-ND-25x75.step +ND25-75ME,ND,25,75,M,E,,,M-ND-25x75.step +ND25-75MEU,ND,25,75,M,E,,U,M-ND-25x75.step +ND25-75MECM,ND,25,75,M,E,,CM,M-ND-25x75.step +ND25-75MELB,ND,25,75,M,E,LB,,M-ND-25x75.step +ND25-75MELBU,ND,25,75,M,E,LB,U,M-ND-25x75.step +ND25-75MELBCM,ND,25,75,M,E,LB,CM,M-ND-25x75.step +ND25-75MEFA,ND,25,75,M,E,FA,,M-ND-25x75.step +ND25-75MEFAU,ND,25,75,M,E,FA,U,M-ND-25x75.step +ND25-75MEFACM,ND,25,75,M,E,FA,CM,M-ND-25x75.step +ND25-75MEFB,ND,25,75,M,E,FB,,M-ND-25x75.step +ND25-75MEFBU,ND,25,75,M,E,FB,U,M-ND-25x75.step +ND25-75MEFBCM,ND,25,75,M,E,FB,CM,M-ND-25x75.step +ND25-75MESDB,ND,25,75,M,E,SDB,,M-ND-25x75.step +ND25-75MESDBU,ND,25,75,M,E,SDB,U,M-ND-25x75.step +ND25-75MESDBCM,ND,25,75,M,E,SDB,CM,M-ND-25x75.step +ND25-75M,ND,25,75,M,,,,M-ND-25x75.step +ND25-75MU,ND,25,75,M,,,U,M-ND-25x75.step +ND25-75MCM,ND,25,75,M,,,CM,M-ND-25x75.step +ND25-75MLB,ND,25,75,M,,LB,,M-ND-25x75.step +ND25-75MLBU,ND,25,75,M,,LB,U,M-ND-25x75.step +ND25-75MLBCM,ND,25,75,M,,LB,CM,M-ND-25x75.step +ND25-75MFA,ND,25,75,M,,FA,,M-ND-25x75.step +ND25-75MFAU,ND,25,75,M,,FA,U,M-ND-25x75.step +ND25-75MFACM,ND,25,75,M,,FA,CM,M-ND-25x75.step +ND25-75MFB,ND,25,75,M,,FB,,M-ND-25x75.step +ND25-75MFBU,ND,25,75,M,,FB,U,M-ND-25x75.step +ND25-75MFBCM,ND,25,75,M,,FB,CM,M-ND-25x75.step +ND25-75MSDB,ND,25,75,M,,SDB,,M-ND-25x75.step +ND25-75MSDBU,ND,25,75,M,,SDB,U,M-ND-25x75.step +ND25-75MSDBCM,ND,25,75,M,,SDB,CM,M-ND-25x75.step +ND25-100E,ND,25,100,,E,,,M-ND-25x100.step +ND25-100EU,ND,25,100,,E,,U,M-ND-25x100.step +ND25-100ECM,ND,25,100,,E,,CM,M-ND-25x100.step +ND25-100ELB,ND,25,100,,E,LB,,M-ND-25x100.step +ND25-100ELBU,ND,25,100,,E,LB,U,M-ND-25x100.step +ND25-100ELBCM,ND,25,100,,E,LB,CM,M-ND-25x100.step +ND25-100EFA,ND,25,100,,E,FA,,M-ND-25x100.step +ND25-100EFAU,ND,25,100,,E,FA,U,M-ND-25x100.step +ND25-100EFACM,ND,25,100,,E,FA,CM,M-ND-25x100.step +ND25-100EFB,ND,25,100,,E,FB,,M-ND-25x100.step +ND25-100EFBU,ND,25,100,,E,FB,U,M-ND-25x100.step +ND25-100EFBCM,ND,25,100,,E,FB,CM,M-ND-25x100.step +ND25-100ESDB,ND,25,100,,E,SDB,,M-ND-25x100.step +ND25-100ESDBU,ND,25,100,,E,SDB,U,M-ND-25x100.step +ND25-100ESDBCM,ND,25,100,,E,SDB,CM,M-ND-25x100.step +ND25-100,ND,25,100,,,,,M-ND-25x100.step +ND25-100U,ND,25,100,,,,U,M-ND-25x100.step +ND25-100CM,ND,25,100,,,,CM,M-ND-25x100.step +ND25-100LB,ND,25,100,,,LB,,M-ND-25x100.step +ND25-100LBU,ND,25,100,,,LB,U,M-ND-25x100.step +ND25-100LBCM,ND,25,100,,,LB,CM,M-ND-25x100.step +ND25-100FA,ND,25,100,,,FA,,M-ND-25x100.step +ND25-100FAU,ND,25,100,,,FA,U,M-ND-25x100.step +ND25-100FACM,ND,25,100,,,FA,CM,M-ND-25x100.step +ND25-100FB,ND,25,100,,,FB,,M-ND-25x100.step +ND25-100FBU,ND,25,100,,,FB,U,M-ND-25x100.step +ND25-100FBCM,ND,25,100,,,FB,CM,M-ND-25x100.step +ND25-100SDB,ND,25,100,,,SDB,,M-ND-25x100.step +ND25-100SDBU,ND,25,100,,,SDB,U,M-ND-25x100.step +ND25-100SDBCM,ND,25,100,,,SDB,CM,M-ND-25x100.step +ND25-100ME,ND,25,100,M,E,,,M-ND-25x100.step +ND25-100MEU,ND,25,100,M,E,,U,M-ND-25x100.step +ND25-100MECM,ND,25,100,M,E,,CM,M-ND-25x100.step +ND25-100MELB,ND,25,100,M,E,LB,,M-ND-25x100.step +ND25-100MELBU,ND,25,100,M,E,LB,U,M-ND-25x100.step +ND25-100MELBCM,ND,25,100,M,E,LB,CM,M-ND-25x100.step +ND25-100MEFA,ND,25,100,M,E,FA,,M-ND-25x100.step +ND25-100MEFAU,ND,25,100,M,E,FA,U,M-ND-25x100.step +ND25-100MEFACM,ND,25,100,M,E,FA,CM,M-ND-25x100.step +ND25-100MEFB,ND,25,100,M,E,FB,,M-ND-25x100.step +ND25-100MEFBU,ND,25,100,M,E,FB,U,M-ND-25x100.step +ND25-100MEFBCM,ND,25,100,M,E,FB,CM,M-ND-25x100.step +ND25-100MESDB,ND,25,100,M,E,SDB,,M-ND-25x100.step +ND25-100MESDBU,ND,25,100,M,E,SDB,U,M-ND-25x100.step +ND25-100MESDBCM,ND,25,100,M,E,SDB,CM,M-ND-25x100.step +ND25-100M,ND,25,100,M,,,,M-ND-25x100.step +ND25-100MU,ND,25,100,M,,,U,M-ND-25x100.step +ND25-100MCM,ND,25,100,M,,,CM,M-ND-25x100.step +ND25-100MLB,ND,25,100,M,,LB,,M-ND-25x100.step +ND25-100MLBU,ND,25,100,M,,LB,U,M-ND-25x100.step +ND25-100MLBCM,ND,25,100,M,,LB,CM,M-ND-25x100.step +ND25-100MFA,ND,25,100,M,,FA,,M-ND-25x100.step +ND25-100MFAU,ND,25,100,M,,FA,U,M-ND-25x100.step +ND25-100MFACM,ND,25,100,M,,FA,CM,M-ND-25x100.step +ND25-100MFB,ND,25,100,M,,FB,,M-ND-25x100.step +ND25-100MFBU,ND,25,100,M,,FB,U,M-ND-25x100.step +ND25-100MFBCM,ND,25,100,M,,FB,CM,M-ND-25x100.step +ND25-100MSDB,ND,25,100,M,,SDB,,M-ND-25x100.step +ND25-100MSDBU,ND,25,100,M,,SDB,U,M-ND-25x100.step +ND25-100MSDBCM,ND,25,100,M,,SDB,CM,M-ND-25x100.step +ND32-10E,ND,32,10,,E,,,M-ND-32x10.step +ND32-10EU,ND,32,10,,E,,U,M-ND-32x10.step +ND32-10ECM,ND,32,10,,E,,CM,M-ND-32x10.step +ND32-10ELB,ND,32,10,,E,LB,,M-ND-32x10.step +ND32-10ELBU,ND,32,10,,E,LB,U,M-ND-32x10.step +ND32-10ELBCM,ND,32,10,,E,LB,CM,M-ND-32x10.step +ND32-10EFA,ND,32,10,,E,FA,,M-ND-32x10.step +ND32-10EFAU,ND,32,10,,E,FA,U,M-ND-32x10.step +ND32-10EFACM,ND,32,10,,E,FA,CM,M-ND-32x10.step +ND32-10EFB,ND,32,10,,E,FB,,M-ND-32x10.step +ND32-10EFBU,ND,32,10,,E,FB,U,M-ND-32x10.step +ND32-10EFBCM,ND,32,10,,E,FB,CM,M-ND-32x10.step +ND32-10ESDB,ND,32,10,,E,SDB,,M-ND-32x10.step +ND32-10ESDBU,ND,32,10,,E,SDB,U,M-ND-32x10.step +ND32-10ESDBCM,ND,32,10,,E,SDB,CM,M-ND-32x10.step +ND32-10,ND,32,10,,,,,M-ND-32x10.step +ND32-10U,ND,32,10,,,,U,M-ND-32x10.step +ND32-10CM,ND,32,10,,,,CM,M-ND-32x10.step +ND32-10LB,ND,32,10,,,LB,,M-ND-32x10.step +ND32-10LBU,ND,32,10,,,LB,U,M-ND-32x10.step +ND32-10LBCM,ND,32,10,,,LB,CM,M-ND-32x10.step +ND32-10FA,ND,32,10,,,FA,,M-ND-32x10.step +ND32-10FAU,ND,32,10,,,FA,U,M-ND-32x10.step +ND32-10FACM,ND,32,10,,,FA,CM,M-ND-32x10.step +ND32-10FB,ND,32,10,,,FB,,M-ND-32x10.step +ND32-10FBU,ND,32,10,,,FB,U,M-ND-32x10.step +ND32-10FBCM,ND,32,10,,,FB,CM,M-ND-32x10.step +ND32-10SDB,ND,32,10,,,SDB,,M-ND-32x10.step +ND32-10SDBU,ND,32,10,,,SDB,U,M-ND-32x10.step +ND32-10SDBCM,ND,32,10,,,SDB,CM,M-ND-32x10.step +ND32-10ME,ND,32,10,M,E,,,M-ND-32x10.step +ND32-10MEU,ND,32,10,M,E,,U,M-ND-32x10.step +ND32-10MECM,ND,32,10,M,E,,CM,M-ND-32x10.step +ND32-10MELB,ND,32,10,M,E,LB,,M-ND-32x10.step +ND32-10MELBU,ND,32,10,M,E,LB,U,M-ND-32x10.step +ND32-10MELBCM,ND,32,10,M,E,LB,CM,M-ND-32x10.step +ND32-10MEFA,ND,32,10,M,E,FA,,M-ND-32x10.step +ND32-10MEFAU,ND,32,10,M,E,FA,U,M-ND-32x10.step +ND32-10MEFACM,ND,32,10,M,E,FA,CM,M-ND-32x10.step +ND32-10MEFB,ND,32,10,M,E,FB,,M-ND-32x10.step +ND32-10MEFBU,ND,32,10,M,E,FB,U,M-ND-32x10.step +ND32-10MEFBCM,ND,32,10,M,E,FB,CM,M-ND-32x10.step +ND32-10MESDB,ND,32,10,M,E,SDB,,M-ND-32x10.step +ND32-10MESDBU,ND,32,10,M,E,SDB,U,M-ND-32x10.step +ND32-10MESDBCM,ND,32,10,M,E,SDB,CM,M-ND-32x10.step +ND32-10M,ND,32,10,M,,,,M-ND-32x10.step +ND32-10MU,ND,32,10,M,,,U,M-ND-32x10.step +ND32-10MCM,ND,32,10,M,,,CM,M-ND-32x10.step +ND32-10MLB,ND,32,10,M,,LB,,M-ND-32x10.step +ND32-10MLBU,ND,32,10,M,,LB,U,M-ND-32x10.step +ND32-10MLBCM,ND,32,10,M,,LB,CM,M-ND-32x10.step +ND32-10MFA,ND,32,10,M,,FA,,M-ND-32x10.step +ND32-10MFAU,ND,32,10,M,,FA,U,M-ND-32x10.step +ND32-10MFACM,ND,32,10,M,,FA,CM,M-ND-32x10.step +ND32-10MFB,ND,32,10,M,,FB,,M-ND-32x10.step +ND32-10MFBU,ND,32,10,M,,FB,U,M-ND-32x10.step +ND32-10MFBCM,ND,32,10,M,,FB,CM,M-ND-32x10.step +ND32-10MSDB,ND,32,10,M,,SDB,,M-ND-32x10.step +ND32-10MSDBU,ND,32,10,M,,SDB,U,M-ND-32x10.step +ND32-10MSDBCM,ND,32,10,M,,SDB,CM,M-ND-32x10.step +ND32-20E,ND,32,20,,E,,,M-ND-32x20.step +ND32-20EU,ND,32,20,,E,,U,M-ND-32x20.step +ND32-20ECM,ND,32,20,,E,,CM,M-ND-32x20.step +ND32-20ELB,ND,32,20,,E,LB,,M-ND-32x20.step +ND32-20ELBU,ND,32,20,,E,LB,U,M-ND-32x20.step +ND32-20ELBCM,ND,32,20,,E,LB,CM,M-ND-32x20.step +ND32-20EFA,ND,32,20,,E,FA,,M-ND-32x20.step +ND32-20EFAU,ND,32,20,,E,FA,U,M-ND-32x20.step +ND32-20EFACM,ND,32,20,,E,FA,CM,M-ND-32x20.step +ND32-20EFB,ND,32,20,,E,FB,,M-ND-32x20.step +ND32-20EFBU,ND,32,20,,E,FB,U,M-ND-32x20.step +ND32-20EFBCM,ND,32,20,,E,FB,CM,M-ND-32x20.step +ND32-20ESDB,ND,32,20,,E,SDB,,M-ND-32x20.step +ND32-20ESDBU,ND,32,20,,E,SDB,U,M-ND-32x20.step +ND32-20ESDBCM,ND,32,20,,E,SDB,CM,M-ND-32x20.step +ND32-20,ND,32,20,,,,,M-ND-32x20.step +ND32-20U,ND,32,20,,,,U,M-ND-32x20.step +ND32-20CM,ND,32,20,,,,CM,M-ND-32x20.step +ND32-20LB,ND,32,20,,,LB,,M-ND-32x20.step +ND32-20LBU,ND,32,20,,,LB,U,M-ND-32x20.step +ND32-20LBCM,ND,32,20,,,LB,CM,M-ND-32x20.step +ND32-20FA,ND,32,20,,,FA,,M-ND-32x20.step +ND32-20FAU,ND,32,20,,,FA,U,M-ND-32x20.step +ND32-20FACM,ND,32,20,,,FA,CM,M-ND-32x20.step +ND32-20FB,ND,32,20,,,FB,,M-ND-32x20.step +ND32-20FBU,ND,32,20,,,FB,U,M-ND-32x20.step +ND32-20FBCM,ND,32,20,,,FB,CM,M-ND-32x20.step +ND32-20SDB,ND,32,20,,,SDB,,M-ND-32x20.step +ND32-20SDBU,ND,32,20,,,SDB,U,M-ND-32x20.step +ND32-20SDBCM,ND,32,20,,,SDB,CM,M-ND-32x20.step +ND32-20ME,ND,32,20,M,E,,,M-ND-32x20.step +ND32-20MEU,ND,32,20,M,E,,U,M-ND-32x20.step +ND32-20MECM,ND,32,20,M,E,,CM,M-ND-32x20.step +ND32-20MELB,ND,32,20,M,E,LB,,M-ND-32x20.step +ND32-20MELBU,ND,32,20,M,E,LB,U,M-ND-32x20.step +ND32-20MELBCM,ND,32,20,M,E,LB,CM,M-ND-32x20.step +ND32-20MEFA,ND,32,20,M,E,FA,,M-ND-32x20.step +ND32-20MEFAU,ND,32,20,M,E,FA,U,M-ND-32x20.step +ND32-20MEFACM,ND,32,20,M,E,FA,CM,M-ND-32x20.step +ND32-20MEFB,ND,32,20,M,E,FB,,M-ND-32x20.step +ND32-20MEFBU,ND,32,20,M,E,FB,U,M-ND-32x20.step +ND32-20MEFBCM,ND,32,20,M,E,FB,CM,M-ND-32x20.step +ND32-20MESDB,ND,32,20,M,E,SDB,,M-ND-32x20.step +ND32-20MESDBU,ND,32,20,M,E,SDB,U,M-ND-32x20.step +ND32-20MESDBCM,ND,32,20,M,E,SDB,CM,M-ND-32x20.step +ND32-20M,ND,32,20,M,,,,M-ND-32x20.step +ND32-20MU,ND,32,20,M,,,U,M-ND-32x20.step +ND32-20MCM,ND,32,20,M,,,CM,M-ND-32x20.step +ND32-20MLB,ND,32,20,M,,LB,,M-ND-32x20.step +ND32-20MLBU,ND,32,20,M,,LB,U,M-ND-32x20.step +ND32-20MLBCM,ND,32,20,M,,LB,CM,M-ND-32x20.step +ND32-20MFA,ND,32,20,M,,FA,,M-ND-32x20.step +ND32-20MFAU,ND,32,20,M,,FA,U,M-ND-32x20.step +ND32-20MFACM,ND,32,20,M,,FA,CM,M-ND-32x20.step +ND32-20MFB,ND,32,20,M,,FB,,M-ND-32x20.step +ND32-20MFBU,ND,32,20,M,,FB,U,M-ND-32x20.step +ND32-20MFBCM,ND,32,20,M,,FB,CM,M-ND-32x20.step +ND32-20MSDB,ND,32,20,M,,SDB,,M-ND-32x20.step +ND32-20MSDBU,ND,32,20,M,,SDB,U,M-ND-32x20.step +ND32-20MSDBCM,ND,32,20,M,,SDB,CM,M-ND-32x20.step +ND32-30E,ND,32,30,,E,,,M-ND-32x30.step +ND32-30EU,ND,32,30,,E,,U,M-ND-32x30.step +ND32-30ECM,ND,32,30,,E,,CM,M-ND-32x30.step +ND32-30ELB,ND,32,30,,E,LB,,M-ND-32x30.step +ND32-30ELBU,ND,32,30,,E,LB,U,M-ND-32x30.step +ND32-30ELBCM,ND,32,30,,E,LB,CM,M-ND-32x30.step +ND32-30EFA,ND,32,30,,E,FA,,M-ND-32x30.step +ND32-30EFAU,ND,32,30,,E,FA,U,M-ND-32x30.step +ND32-30EFACM,ND,32,30,,E,FA,CM,M-ND-32x30.step +ND32-30EFB,ND,32,30,,E,FB,,M-ND-32x30.step +ND32-30EFBU,ND,32,30,,E,FB,U,M-ND-32x30.step +ND32-30EFBCM,ND,32,30,,E,FB,CM,M-ND-32x30.step +ND32-30ESDB,ND,32,30,,E,SDB,,M-ND-32x30.step +ND32-30ESDBU,ND,32,30,,E,SDB,U,M-ND-32x30.step +ND32-30ESDBCM,ND,32,30,,E,SDB,CM,M-ND-32x30.step +ND32-30,ND,32,30,,,,,M-ND-32x30.step +ND32-30U,ND,32,30,,,,U,M-ND-32x30.step +ND32-30CM,ND,32,30,,,,CM,M-ND-32x30.step +ND32-30LB,ND,32,30,,,LB,,M-ND-32x30.step +ND32-30LBU,ND,32,30,,,LB,U,M-ND-32x30.step +ND32-30LBCM,ND,32,30,,,LB,CM,M-ND-32x30.step +ND32-30FA,ND,32,30,,,FA,,M-ND-32x30.step +ND32-30FAU,ND,32,30,,,FA,U,M-ND-32x30.step +ND32-30FACM,ND,32,30,,,FA,CM,M-ND-32x30.step +ND32-30FB,ND,32,30,,,FB,,M-ND-32x30.step +ND32-30FBU,ND,32,30,,,FB,U,M-ND-32x30.step +ND32-30FBCM,ND,32,30,,,FB,CM,M-ND-32x30.step +ND32-30SDB,ND,32,30,,,SDB,,M-ND-32x30.step +ND32-30SDBU,ND,32,30,,,SDB,U,M-ND-32x30.step +ND32-30SDBCM,ND,32,30,,,SDB,CM,M-ND-32x30.step +ND32-30ME,ND,32,30,M,E,,,M-ND-32x30.step +ND32-30MEU,ND,32,30,M,E,,U,M-ND-32x30.step +ND32-30MECM,ND,32,30,M,E,,CM,M-ND-32x30.step +ND32-30MELB,ND,32,30,M,E,LB,,M-ND-32x30.step +ND32-30MELBU,ND,32,30,M,E,LB,U,M-ND-32x30.step +ND32-30MELBCM,ND,32,30,M,E,LB,CM,M-ND-32x30.step +ND32-30MEFA,ND,32,30,M,E,FA,,M-ND-32x30.step +ND32-30MEFAU,ND,32,30,M,E,FA,U,M-ND-32x30.step +ND32-30MEFACM,ND,32,30,M,E,FA,CM,M-ND-32x30.step +ND32-30MEFB,ND,32,30,M,E,FB,,M-ND-32x30.step +ND32-30MEFBU,ND,32,30,M,E,FB,U,M-ND-32x30.step +ND32-30MEFBCM,ND,32,30,M,E,FB,CM,M-ND-32x30.step +ND32-30MESDB,ND,32,30,M,E,SDB,,M-ND-32x30.step +ND32-30MESDBU,ND,32,30,M,E,SDB,U,M-ND-32x30.step +ND32-30MESDBCM,ND,32,30,M,E,SDB,CM,M-ND-32x30.step +ND32-30M,ND,32,30,M,,,,M-ND-32x30.step +ND32-30MU,ND,32,30,M,,,U,M-ND-32x30.step +ND32-30MCM,ND,32,30,M,,,CM,M-ND-32x30.step +ND32-30MLB,ND,32,30,M,,LB,,M-ND-32x30.step +ND32-30MLBU,ND,32,30,M,,LB,U,M-ND-32x30.step +ND32-30MLBCM,ND,32,30,M,,LB,CM,M-ND-32x30.step +ND32-30MFA,ND,32,30,M,,FA,,M-ND-32x30.step +ND32-30MFAU,ND,32,30,M,,FA,U,M-ND-32x30.step +ND32-30MFACM,ND,32,30,M,,FA,CM,M-ND-32x30.step +ND32-30MFB,ND,32,30,M,,FB,,M-ND-32x30.step +ND32-30MFBU,ND,32,30,M,,FB,U,M-ND-32x30.step +ND32-30MFBCM,ND,32,30,M,,FB,CM,M-ND-32x30.step +ND32-30MSDB,ND,32,30,M,,SDB,,M-ND-32x30.step +ND32-30MSDBU,ND,32,30,M,,SDB,U,M-ND-32x30.step +ND32-30MSDBCM,ND,32,30,M,,SDB,CM,M-ND-32x30.step +ND32-50E,ND,32,50,,E,,,M-ND-32x50.step +ND32-50EU,ND,32,50,,E,,U,M-ND-32x50.step +ND32-50ECM,ND,32,50,,E,,CM,M-ND-32x50.step +ND32-50ELB,ND,32,50,,E,LB,,M-ND-32x50.step +ND32-50ELBU,ND,32,50,,E,LB,U,M-ND-32x50.step +ND32-50ELBCM,ND,32,50,,E,LB,CM,M-ND-32x50.step +ND32-50EFA,ND,32,50,,E,FA,,M-ND-32x50.step +ND32-50EFAU,ND,32,50,,E,FA,U,M-ND-32x50.step +ND32-50EFACM,ND,32,50,,E,FA,CM,M-ND-32x50.step +ND32-50EFB,ND,32,50,,E,FB,,M-ND-32x50.step +ND32-50EFBU,ND,32,50,,E,FB,U,M-ND-32x50.step +ND32-50EFBCM,ND,32,50,,E,FB,CM,M-ND-32x50.step +ND32-50ESDB,ND,32,50,,E,SDB,,M-ND-32x50.step +ND32-50ESDBU,ND,32,50,,E,SDB,U,M-ND-32x50.step +ND32-50ESDBCM,ND,32,50,,E,SDB,CM,M-ND-32x50.step +ND32-50,ND,32,50,,,,,M-ND-32x50.step +ND32-50U,ND,32,50,,,,U,M-ND-32x50.step +ND32-50CM,ND,32,50,,,,CM,M-ND-32x50.step +ND32-50LB,ND,32,50,,,LB,,M-ND-32x50.step +ND32-50LBU,ND,32,50,,,LB,U,M-ND-32x50.step +ND32-50LBCM,ND,32,50,,,LB,CM,M-ND-32x50.step +ND32-50FA,ND,32,50,,,FA,,M-ND-32x50.step +ND32-50FAU,ND,32,50,,,FA,U,M-ND-32x50.step +ND32-50FACM,ND,32,50,,,FA,CM,M-ND-32x50.step +ND32-50FB,ND,32,50,,,FB,,M-ND-32x50.step +ND32-50FBU,ND,32,50,,,FB,U,M-ND-32x50.step +ND32-50FBCM,ND,32,50,,,FB,CM,M-ND-32x50.step +ND32-50SDB,ND,32,50,,,SDB,,M-ND-32x50.step +ND32-50SDBU,ND,32,50,,,SDB,U,M-ND-32x50.step +ND32-50SDBCM,ND,32,50,,,SDB,CM,M-ND-32x50.step +ND32-50ME,ND,32,50,M,E,,,M-ND-32x50.step +ND32-50MEU,ND,32,50,M,E,,U,M-ND-32x50.step +ND32-50MECM,ND,32,50,M,E,,CM,M-ND-32x50.step +ND32-50MELB,ND,32,50,M,E,LB,,M-ND-32x50.step +ND32-50MELBU,ND,32,50,M,E,LB,U,M-ND-32x50.step +ND32-50MELBCM,ND,32,50,M,E,LB,CM,M-ND-32x50.step +ND32-50MEFA,ND,32,50,M,E,FA,,M-ND-32x50.step +ND32-50MEFAU,ND,32,50,M,E,FA,U,M-ND-32x50.step +ND32-50MEFACM,ND,32,50,M,E,FA,CM,M-ND-32x50.step +ND32-50MEFB,ND,32,50,M,E,FB,,M-ND-32x50.step +ND32-50MEFBU,ND,32,50,M,E,FB,U,M-ND-32x50.step +ND32-50MEFBCM,ND,32,50,M,E,FB,CM,M-ND-32x50.step +ND32-50MESDB,ND,32,50,M,E,SDB,,M-ND-32x50.step +ND32-50MESDBU,ND,32,50,M,E,SDB,U,M-ND-32x50.step +ND32-50MESDBCM,ND,32,50,M,E,SDB,CM,M-ND-32x50.step +ND32-50M,ND,32,50,M,,,,M-ND-32x50.step +ND32-50MU,ND,32,50,M,,,U,M-ND-32x50.step +ND32-50MCM,ND,32,50,M,,,CM,M-ND-32x50.step +ND32-50MLB,ND,32,50,M,,LB,,M-ND-32x50.step +ND32-50MLBU,ND,32,50,M,,LB,U,M-ND-32x50.step +ND32-50MLBCM,ND,32,50,M,,LB,CM,M-ND-32x50.step +ND32-50MFA,ND,32,50,M,,FA,,M-ND-32x50.step +ND32-50MFAU,ND,32,50,M,,FA,U,M-ND-32x50.step +ND32-50MFACM,ND,32,50,M,,FA,CM,M-ND-32x50.step +ND32-50MFB,ND,32,50,M,,FB,,M-ND-32x50.step +ND32-50MFBU,ND,32,50,M,,FB,U,M-ND-32x50.step +ND32-50MFBCM,ND,32,50,M,,FB,CM,M-ND-32x50.step +ND32-50MSDB,ND,32,50,M,,SDB,,M-ND-32x50.step +ND32-50MSDBU,ND,32,50,M,,SDB,U,M-ND-32x50.step +ND32-50MSDBCM,ND,32,50,M,,SDB,CM,M-ND-32x50.step +ND32-75E,ND,32,75,,E,,,M-ND-32x75.step +ND32-75EU,ND,32,75,,E,,U,M-ND-32x75.step +ND32-75ECM,ND,32,75,,E,,CM,M-ND-32x75.step +ND32-75ELB,ND,32,75,,E,LB,,M-ND-32x75.step +ND32-75ELBU,ND,32,75,,E,LB,U,M-ND-32x75.step +ND32-75ELBCM,ND,32,75,,E,LB,CM,M-ND-32x75.step +ND32-75EFA,ND,32,75,,E,FA,,M-ND-32x75.step +ND32-75EFAU,ND,32,75,,E,FA,U,M-ND-32x75.step +ND32-75EFACM,ND,32,75,,E,FA,CM,M-ND-32x75.step +ND32-75EFB,ND,32,75,,E,FB,,M-ND-32x75.step +ND32-75EFBU,ND,32,75,,E,FB,U,M-ND-32x75.step +ND32-75EFBCM,ND,32,75,,E,FB,CM,M-ND-32x75.step +ND32-75ESDB,ND,32,75,,E,SDB,,M-ND-32x75.step +ND32-75ESDBU,ND,32,75,,E,SDB,U,M-ND-32x75.step +ND32-75ESDBCM,ND,32,75,,E,SDB,CM,M-ND-32x75.step +ND32-75,ND,32,75,,,,,M-ND-32x75.step +ND32-75U,ND,32,75,,,,U,M-ND-32x75.step +ND32-75CM,ND,32,75,,,,CM,M-ND-32x75.step +ND32-75LB,ND,32,75,,,LB,,M-ND-32x75.step +ND32-75LBU,ND,32,75,,,LB,U,M-ND-32x75.step +ND32-75LBCM,ND,32,75,,,LB,CM,M-ND-32x75.step +ND32-75FA,ND,32,75,,,FA,,M-ND-32x75.step +ND32-75FAU,ND,32,75,,,FA,U,M-ND-32x75.step +ND32-75FACM,ND,32,75,,,FA,CM,M-ND-32x75.step +ND32-75FB,ND,32,75,,,FB,,M-ND-32x75.step +ND32-75FBU,ND,32,75,,,FB,U,M-ND-32x75.step +ND32-75FBCM,ND,32,75,,,FB,CM,M-ND-32x75.step +ND32-75SDB,ND,32,75,,,SDB,,M-ND-32x75.step +ND32-75SDBU,ND,32,75,,,SDB,U,M-ND-32x75.step +ND32-75SDBCM,ND,32,75,,,SDB,CM,M-ND-32x75.step +ND32-75ME,ND,32,75,M,E,,,M-ND-32x75.step +ND32-75MEU,ND,32,75,M,E,,U,M-ND-32x75.step +ND32-75MECM,ND,32,75,M,E,,CM,M-ND-32x75.step +ND32-75MELB,ND,32,75,M,E,LB,,M-ND-32x75.step +ND32-75MELBU,ND,32,75,M,E,LB,U,M-ND-32x75.step +ND32-75MELBCM,ND,32,75,M,E,LB,CM,M-ND-32x75.step +ND32-75MEFA,ND,32,75,M,E,FA,,M-ND-32x75.step +ND32-75MEFAU,ND,32,75,M,E,FA,U,M-ND-32x75.step +ND32-75MEFACM,ND,32,75,M,E,FA,CM,M-ND-32x75.step +ND32-75MEFB,ND,32,75,M,E,FB,,M-ND-32x75.step +ND32-75MEFBU,ND,32,75,M,E,FB,U,M-ND-32x75.step +ND32-75MEFBCM,ND,32,75,M,E,FB,CM,M-ND-32x75.step +ND32-75MESDB,ND,32,75,M,E,SDB,,M-ND-32x75.step +ND32-75MESDBU,ND,32,75,M,E,SDB,U,M-ND-32x75.step +ND32-75MESDBCM,ND,32,75,M,E,SDB,CM,M-ND-32x75.step +ND32-75M,ND,32,75,M,,,,M-ND-32x75.step +ND32-75MU,ND,32,75,M,,,U,M-ND-32x75.step +ND32-75MCM,ND,32,75,M,,,CM,M-ND-32x75.step +ND32-75MLB,ND,32,75,M,,LB,,M-ND-32x75.step +ND32-75MLBU,ND,32,75,M,,LB,U,M-ND-32x75.step +ND32-75MLBCM,ND,32,75,M,,LB,CM,M-ND-32x75.step +ND32-75MFA,ND,32,75,M,,FA,,M-ND-32x75.step +ND32-75MFAU,ND,32,75,M,,FA,U,M-ND-32x75.step +ND32-75MFACM,ND,32,75,M,,FA,CM,M-ND-32x75.step +ND32-75MFB,ND,32,75,M,,FB,,M-ND-32x75.step +ND32-75MFBU,ND,32,75,M,,FB,U,M-ND-32x75.step +ND32-75MFBCM,ND,32,75,M,,FB,CM,M-ND-32x75.step +ND32-75MSDB,ND,32,75,M,,SDB,,M-ND-32x75.step +ND32-75MSDBU,ND,32,75,M,,SDB,U,M-ND-32x75.step +ND32-75MSDBCM,ND,32,75,M,,SDB,CM,M-ND-32x75.step +ND32-100E,ND,32,100,,E,,,M-ND-32x100.step +ND32-100EU,ND,32,100,,E,,U,M-ND-32x100.step +ND32-100ECM,ND,32,100,,E,,CM,M-ND-32x100.step +ND32-100ELB,ND,32,100,,E,LB,,M-ND-32x100.step +ND32-100ELBU,ND,32,100,,E,LB,U,M-ND-32x100.step +ND32-100ELBCM,ND,32,100,,E,LB,CM,M-ND-32x100.step +ND32-100EFA,ND,32,100,,E,FA,,M-ND-32x100.step +ND32-100EFAU,ND,32,100,,E,FA,U,M-ND-32x100.step +ND32-100EFACM,ND,32,100,,E,FA,CM,M-ND-32x100.step +ND32-100EFB,ND,32,100,,E,FB,,M-ND-32x100.step +ND32-100EFBU,ND,32,100,,E,FB,U,M-ND-32x100.step +ND32-100EFBCM,ND,32,100,,E,FB,CM,M-ND-32x100.step +ND32-100ESDB,ND,32,100,,E,SDB,,M-ND-32x100.step +ND32-100ESDBU,ND,32,100,,E,SDB,U,M-ND-32x100.step +ND32-100ESDBCM,ND,32,100,,E,SDB,CM,M-ND-32x100.step +ND32-100,ND,32,100,,,,,M-ND-32x100.step +ND32-100U,ND,32,100,,,,U,M-ND-32x100.step +ND32-100CM,ND,32,100,,,,CM,M-ND-32x100.step +ND32-100LB,ND,32,100,,,LB,,M-ND-32x100.step +ND32-100LBU,ND,32,100,,,LB,U,M-ND-32x100.step +ND32-100LBCM,ND,32,100,,,LB,CM,M-ND-32x100.step +ND32-100FA,ND,32,100,,,FA,,M-ND-32x100.step +ND32-100FAU,ND,32,100,,,FA,U,M-ND-32x100.step +ND32-100FACM,ND,32,100,,,FA,CM,M-ND-32x100.step +ND32-100FB,ND,32,100,,,FB,,M-ND-32x100.step +ND32-100FBU,ND,32,100,,,FB,U,M-ND-32x100.step +ND32-100FBCM,ND,32,100,,,FB,CM,M-ND-32x100.step +ND32-100SDB,ND,32,100,,,SDB,,M-ND-32x100.step +ND32-100SDBU,ND,32,100,,,SDB,U,M-ND-32x100.step +ND32-100SDBCM,ND,32,100,,,SDB,CM,M-ND-32x100.step +ND32-100ME,ND,32,100,M,E,,,M-ND-32x100.step +ND32-100MEU,ND,32,100,M,E,,U,M-ND-32x100.step +ND32-100MECM,ND,32,100,M,E,,CM,M-ND-32x100.step +ND32-100MELB,ND,32,100,M,E,LB,,M-ND-32x100.step +ND32-100MELBU,ND,32,100,M,E,LB,U,M-ND-32x100.step +ND32-100MELBCM,ND,32,100,M,E,LB,CM,M-ND-32x100.step +ND32-100MEFA,ND,32,100,M,E,FA,,M-ND-32x100.step +ND32-100MEFAU,ND,32,100,M,E,FA,U,M-ND-32x100.step +ND32-100MEFACM,ND,32,100,M,E,FA,CM,M-ND-32x100.step +ND32-100MEFB,ND,32,100,M,E,FB,,M-ND-32x100.step +ND32-100MEFBU,ND,32,100,M,E,FB,U,M-ND-32x100.step +ND32-100MEFBCM,ND,32,100,M,E,FB,CM,M-ND-32x100.step +ND32-100MESDB,ND,32,100,M,E,SDB,,M-ND-32x100.step +ND32-100MESDBU,ND,32,100,M,E,SDB,U,M-ND-32x100.step +ND32-100MESDBCM,ND,32,100,M,E,SDB,CM,M-ND-32x100.step +ND32-100M,ND,32,100,M,,,,M-ND-32x100.step +ND32-100MU,ND,32,100,M,,,U,M-ND-32x100.step +ND32-100MCM,ND,32,100,M,,,CM,M-ND-32x100.step +ND32-100MLB,ND,32,100,M,,LB,,M-ND-32x100.step +ND32-100MLBU,ND,32,100,M,,LB,U,M-ND-32x100.step +ND32-100MLBCM,ND,32,100,M,,LB,CM,M-ND-32x100.step +ND32-100MFA,ND,32,100,M,,FA,,M-ND-32x100.step +ND32-100MFAU,ND,32,100,M,,FA,U,M-ND-32x100.step +ND32-100MFACM,ND,32,100,M,,FA,CM,M-ND-32x100.step +ND32-100MFB,ND,32,100,M,,FB,,M-ND-32x100.step +ND32-100MFBU,ND,32,100,M,,FB,U,M-ND-32x100.step +ND32-100MFBCM,ND,32,100,M,,FB,CM,M-ND-32x100.step +ND32-100MSDB,ND,32,100,M,,SDB,,M-ND-32x100.step +ND32-100MSDBU,ND,32,100,M,,SDB,U,M-ND-32x100.step +ND32-100MSDBCM,ND,32,100,M,,SDB,CM,M-ND-32x100.step +ND40-10E,ND,40,10,,E,,,M-ND-40x10.step +ND40-10EU,ND,40,10,,E,,U,M-ND-40x10.step +ND40-10ECM,ND,40,10,,E,,CM,M-ND-40x10.step +ND40-10ELB,ND,40,10,,E,LB,,M-ND-40x10.step +ND40-10ELBU,ND,40,10,,E,LB,U,M-ND-40x10.step +ND40-10ELBCM,ND,40,10,,E,LB,CM,M-ND-40x10.step +ND40-10EFA,ND,40,10,,E,FA,,M-ND-40x10.step +ND40-10EFAU,ND,40,10,,E,FA,U,M-ND-40x10.step +ND40-10EFACM,ND,40,10,,E,FA,CM,M-ND-40x10.step +ND40-10EFB,ND,40,10,,E,FB,,M-ND-40x10.step +ND40-10EFBU,ND,40,10,,E,FB,U,M-ND-40x10.step +ND40-10EFBCM,ND,40,10,,E,FB,CM,M-ND-40x10.step +ND40-10ESDB,ND,40,10,,E,SDB,,M-ND-40x10.step +ND40-10ESDBU,ND,40,10,,E,SDB,U,M-ND-40x10.step +ND40-10ESDBCM,ND,40,10,,E,SDB,CM,M-ND-40x10.step +ND40-10,ND,40,10,,,,,M-ND-40x10.step +ND40-10U,ND,40,10,,,,U,M-ND-40x10.step +ND40-10CM,ND,40,10,,,,CM,M-ND-40x10.step +ND40-10LB,ND,40,10,,,LB,,M-ND-40x10.step +ND40-10LBU,ND,40,10,,,LB,U,M-ND-40x10.step +ND40-10LBCM,ND,40,10,,,LB,CM,M-ND-40x10.step +ND40-10FA,ND,40,10,,,FA,,M-ND-40x10.step +ND40-10FAU,ND,40,10,,,FA,U,M-ND-40x10.step +ND40-10FACM,ND,40,10,,,FA,CM,M-ND-40x10.step +ND40-10FB,ND,40,10,,,FB,,M-ND-40x10.step +ND40-10FBU,ND,40,10,,,FB,U,M-ND-40x10.step +ND40-10FBCM,ND,40,10,,,FB,CM,M-ND-40x10.step +ND40-10SDB,ND,40,10,,,SDB,,M-ND-40x10.step +ND40-10SDBU,ND,40,10,,,SDB,U,M-ND-40x10.step +ND40-10SDBCM,ND,40,10,,,SDB,CM,M-ND-40x10.step +ND40-10ME,ND,40,10,M,E,,,M-ND-40x10.step +ND40-10MEU,ND,40,10,M,E,,U,M-ND-40x10.step +ND40-10MECM,ND,40,10,M,E,,CM,M-ND-40x10.step +ND40-10MELB,ND,40,10,M,E,LB,,M-ND-40x10.step +ND40-10MELBU,ND,40,10,M,E,LB,U,M-ND-40x10.step +ND40-10MELBCM,ND,40,10,M,E,LB,CM,M-ND-40x10.step +ND40-10MEFA,ND,40,10,M,E,FA,,M-ND-40x10.step +ND40-10MEFAU,ND,40,10,M,E,FA,U,M-ND-40x10.step +ND40-10MEFACM,ND,40,10,M,E,FA,CM,M-ND-40x10.step +ND40-10MEFB,ND,40,10,M,E,FB,,M-ND-40x10.step +ND40-10MEFBU,ND,40,10,M,E,FB,U,M-ND-40x10.step +ND40-10MEFBCM,ND,40,10,M,E,FB,CM,M-ND-40x10.step +ND40-10MESDB,ND,40,10,M,E,SDB,,M-ND-40x10.step +ND40-10MESDBU,ND,40,10,M,E,SDB,U,M-ND-40x10.step +ND40-10MESDBCM,ND,40,10,M,E,SDB,CM,M-ND-40x10.step +ND40-10M,ND,40,10,M,,,,M-ND-40x10.step +ND40-10MU,ND,40,10,M,,,U,M-ND-40x10.step +ND40-10MCM,ND,40,10,M,,,CM,M-ND-40x10.step +ND40-10MLB,ND,40,10,M,,LB,,M-ND-40x10.step +ND40-10MLBU,ND,40,10,M,,LB,U,M-ND-40x10.step +ND40-10MLBCM,ND,40,10,M,,LB,CM,M-ND-40x10.step +ND40-10MFA,ND,40,10,M,,FA,,M-ND-40x10.step +ND40-10MFAU,ND,40,10,M,,FA,U,M-ND-40x10.step +ND40-10MFACM,ND,40,10,M,,FA,CM,M-ND-40x10.step +ND40-10MFB,ND,40,10,M,,FB,,M-ND-40x10.step +ND40-10MFBU,ND,40,10,M,,FB,U,M-ND-40x10.step +ND40-10MFBCM,ND,40,10,M,,FB,CM,M-ND-40x10.step +ND40-10MSDB,ND,40,10,M,,SDB,,M-ND-40x10.step +ND40-10MSDBU,ND,40,10,M,,SDB,U,M-ND-40x10.step +ND40-10MSDBCM,ND,40,10,M,,SDB,CM,M-ND-40x10.step +ND40-20E,ND,40,20,,E,,,M-ND-40x20.step +ND40-20EU,ND,40,20,,E,,U,M-ND-40x20.step +ND40-20ECM,ND,40,20,,E,,CM,M-ND-40x20.step +ND40-20ELB,ND,40,20,,E,LB,,M-ND-40x20.step +ND40-20ELBU,ND,40,20,,E,LB,U,M-ND-40x20.step +ND40-20ELBCM,ND,40,20,,E,LB,CM,M-ND-40x20.step +ND40-20EFA,ND,40,20,,E,FA,,M-ND-40x20.step +ND40-20EFAU,ND,40,20,,E,FA,U,M-ND-40x20.step +ND40-20EFACM,ND,40,20,,E,FA,CM,M-ND-40x20.step +ND40-20EFB,ND,40,20,,E,FB,,M-ND-40x20.step +ND40-20EFBU,ND,40,20,,E,FB,U,M-ND-40x20.step +ND40-20EFBCM,ND,40,20,,E,FB,CM,M-ND-40x20.step +ND40-20ESDB,ND,40,20,,E,SDB,,M-ND-40x20.step +ND40-20ESDBU,ND,40,20,,E,SDB,U,M-ND-40x20.step +ND40-20ESDBCM,ND,40,20,,E,SDB,CM,M-ND-40x20.step +ND40-20,ND,40,20,,,,,M-ND-40x20.step +ND40-20U,ND,40,20,,,,U,M-ND-40x20.step +ND40-20CM,ND,40,20,,,,CM,M-ND-40x20.step +ND40-20LB,ND,40,20,,,LB,,M-ND-40x20.step +ND40-20LBU,ND,40,20,,,LB,U,M-ND-40x20.step +ND40-20LBCM,ND,40,20,,,LB,CM,M-ND-40x20.step +ND40-20FA,ND,40,20,,,FA,,M-ND-40x20.step +ND40-20FAU,ND,40,20,,,FA,U,M-ND-40x20.step +ND40-20FACM,ND,40,20,,,FA,CM,M-ND-40x20.step +ND40-20FB,ND,40,20,,,FB,,M-ND-40x20.step +ND40-20FBU,ND,40,20,,,FB,U,M-ND-40x20.step +ND40-20FBCM,ND,40,20,,,FB,CM,M-ND-40x20.step +ND40-20SDB,ND,40,20,,,SDB,,M-ND-40x20.step +ND40-20SDBU,ND,40,20,,,SDB,U,M-ND-40x20.step +ND40-20SDBCM,ND,40,20,,,SDB,CM,M-ND-40x20.step +ND40-20ME,ND,40,20,M,E,,,M-ND-40x20.step +ND40-20MEU,ND,40,20,M,E,,U,M-ND-40x20.step +ND40-20MECM,ND,40,20,M,E,,CM,M-ND-40x20.step +ND40-20MELB,ND,40,20,M,E,LB,,M-ND-40x20.step +ND40-20MELBU,ND,40,20,M,E,LB,U,M-ND-40x20.step +ND40-20MELBCM,ND,40,20,M,E,LB,CM,M-ND-40x20.step +ND40-20MEFA,ND,40,20,M,E,FA,,M-ND-40x20.step +ND40-20MEFAU,ND,40,20,M,E,FA,U,M-ND-40x20.step +ND40-20MEFACM,ND,40,20,M,E,FA,CM,M-ND-40x20.step +ND40-20MEFB,ND,40,20,M,E,FB,,M-ND-40x20.step +ND40-20MEFBU,ND,40,20,M,E,FB,U,M-ND-40x20.step +ND40-20MEFBCM,ND,40,20,M,E,FB,CM,M-ND-40x20.step +ND40-20MESDB,ND,40,20,M,E,SDB,,M-ND-40x20.step +ND40-20MESDBU,ND,40,20,M,E,SDB,U,M-ND-40x20.step +ND40-20MESDBCM,ND,40,20,M,E,SDB,CM,M-ND-40x20.step +ND40-20M,ND,40,20,M,,,,M-ND-40x20.step +ND40-20MU,ND,40,20,M,,,U,M-ND-40x20.step +ND40-20MCM,ND,40,20,M,,,CM,M-ND-40x20.step +ND40-20MLB,ND,40,20,M,,LB,,M-ND-40x20.step +ND40-20MLBU,ND,40,20,M,,LB,U,M-ND-40x20.step +ND40-20MLBCM,ND,40,20,M,,LB,CM,M-ND-40x20.step +ND40-20MFA,ND,40,20,M,,FA,,M-ND-40x20.step +ND40-20MFAU,ND,40,20,M,,FA,U,M-ND-40x20.step +ND40-20MFACM,ND,40,20,M,,FA,CM,M-ND-40x20.step +ND40-20MFB,ND,40,20,M,,FB,,M-ND-40x20.step +ND40-20MFBU,ND,40,20,M,,FB,U,M-ND-40x20.step +ND40-20MFBCM,ND,40,20,M,,FB,CM,M-ND-40x20.step +ND40-20MSDB,ND,40,20,M,,SDB,,M-ND-40x20.step +ND40-20MSDBU,ND,40,20,M,,SDB,U,M-ND-40x20.step +ND40-20MSDBCM,ND,40,20,M,,SDB,CM,M-ND-40x20.step +ND40-30E,ND,40,30,,E,,,M-ND-40x30.step +ND40-30EU,ND,40,30,,E,,U,M-ND-40x30.step +ND40-30ECM,ND,40,30,,E,,CM,M-ND-40x30.step +ND40-30ELB,ND,40,30,,E,LB,,M-ND-40x30.step +ND40-30ELBU,ND,40,30,,E,LB,U,M-ND-40x30.step +ND40-30ELBCM,ND,40,30,,E,LB,CM,M-ND-40x30.step +ND40-30EFA,ND,40,30,,E,FA,,M-ND-40x30.step +ND40-30EFAU,ND,40,30,,E,FA,U,M-ND-40x30.step +ND40-30EFACM,ND,40,30,,E,FA,CM,M-ND-40x30.step +ND40-30EFB,ND,40,30,,E,FB,,M-ND-40x30.step +ND40-30EFBU,ND,40,30,,E,FB,U,M-ND-40x30.step +ND40-30EFBCM,ND,40,30,,E,FB,CM,M-ND-40x30.step +ND40-30ESDB,ND,40,30,,E,SDB,,M-ND-40x30.step +ND40-30ESDBU,ND,40,30,,E,SDB,U,M-ND-40x30.step +ND40-30ESDBCM,ND,40,30,,E,SDB,CM,M-ND-40x30.step +ND40-30,ND,40,30,,,,,M-ND-40x30.step +ND40-30U,ND,40,30,,,,U,M-ND-40x30.step +ND40-30CM,ND,40,30,,,,CM,M-ND-40x30.step +ND40-30LB,ND,40,30,,,LB,,M-ND-40x30.step +ND40-30LBU,ND,40,30,,,LB,U,M-ND-40x30.step +ND40-30LBCM,ND,40,30,,,LB,CM,M-ND-40x30.step +ND40-30FA,ND,40,30,,,FA,,M-ND-40x30.step +ND40-30FAU,ND,40,30,,,FA,U,M-ND-40x30.step +ND40-30FACM,ND,40,30,,,FA,CM,M-ND-40x30.step +ND40-30FB,ND,40,30,,,FB,,M-ND-40x30.step +ND40-30FBU,ND,40,30,,,FB,U,M-ND-40x30.step +ND40-30FBCM,ND,40,30,,,FB,CM,M-ND-40x30.step +ND40-30SDB,ND,40,30,,,SDB,,M-ND-40x30.step +ND40-30SDBU,ND,40,30,,,SDB,U,M-ND-40x30.step +ND40-30SDBCM,ND,40,30,,,SDB,CM,M-ND-40x30.step +ND40-30ME,ND,40,30,M,E,,,M-ND-40x30.step +ND40-30MEU,ND,40,30,M,E,,U,M-ND-40x30.step +ND40-30MECM,ND,40,30,M,E,,CM,M-ND-40x30.step +ND40-30MELB,ND,40,30,M,E,LB,,M-ND-40x30.step +ND40-30MELBU,ND,40,30,M,E,LB,U,M-ND-40x30.step +ND40-30MELBCM,ND,40,30,M,E,LB,CM,M-ND-40x30.step +ND40-30MEFA,ND,40,30,M,E,FA,,M-ND-40x30.step +ND40-30MEFAU,ND,40,30,M,E,FA,U,M-ND-40x30.step +ND40-30MEFACM,ND,40,30,M,E,FA,CM,M-ND-40x30.step +ND40-30MEFB,ND,40,30,M,E,FB,,M-ND-40x30.step +ND40-30MEFBU,ND,40,30,M,E,FB,U,M-ND-40x30.step +ND40-30MEFBCM,ND,40,30,M,E,FB,CM,M-ND-40x30.step +ND40-30MESDB,ND,40,30,M,E,SDB,,M-ND-40x30.step +ND40-30MESDBU,ND,40,30,M,E,SDB,U,M-ND-40x30.step +ND40-30MESDBCM,ND,40,30,M,E,SDB,CM,M-ND-40x30.step +ND40-30M,ND,40,30,M,,,,M-ND-40x30.step +ND40-30MU,ND,40,30,M,,,U,M-ND-40x30.step +ND40-30MCM,ND,40,30,M,,,CM,M-ND-40x30.step +ND40-30MLB,ND,40,30,M,,LB,,M-ND-40x30.step +ND40-30MLBU,ND,40,30,M,,LB,U,M-ND-40x30.step +ND40-30MLBCM,ND,40,30,M,,LB,CM,M-ND-40x30.step +ND40-30MFA,ND,40,30,M,,FA,,M-ND-40x30.step +ND40-30MFAU,ND,40,30,M,,FA,U,M-ND-40x30.step +ND40-30MFACM,ND,40,30,M,,FA,CM,M-ND-40x30.step +ND40-30MFB,ND,40,30,M,,FB,,M-ND-40x30.step +ND40-30MFBU,ND,40,30,M,,FB,U,M-ND-40x30.step +ND40-30MFBCM,ND,40,30,M,,FB,CM,M-ND-40x30.step +ND40-30MSDB,ND,40,30,M,,SDB,,M-ND-40x30.step +ND40-30MSDBU,ND,40,30,M,,SDB,U,M-ND-40x30.step +ND40-30MSDBCM,ND,40,30,M,,SDB,CM,M-ND-40x30.step +ND40-50E,ND,40,50,,E,,,M-ND-40x50.step +ND40-50EU,ND,40,50,,E,,U,M-ND-40x50.step +ND40-50ECM,ND,40,50,,E,,CM,M-ND-40x50.step +ND40-50ELB,ND,40,50,,E,LB,,M-ND-40x50.step +ND40-50ELBU,ND,40,50,,E,LB,U,M-ND-40x50.step +ND40-50ELBCM,ND,40,50,,E,LB,CM,M-ND-40x50.step +ND40-50EFA,ND,40,50,,E,FA,,M-ND-40x50.step +ND40-50EFAU,ND,40,50,,E,FA,U,M-ND-40x50.step +ND40-50EFACM,ND,40,50,,E,FA,CM,M-ND-40x50.step +ND40-50EFB,ND,40,50,,E,FB,,M-ND-40x50.step +ND40-50EFBU,ND,40,50,,E,FB,U,M-ND-40x50.step +ND40-50EFBCM,ND,40,50,,E,FB,CM,M-ND-40x50.step +ND40-50ESDB,ND,40,50,,E,SDB,,M-ND-40x50.step +ND40-50ESDBU,ND,40,50,,E,SDB,U,M-ND-40x50.step +ND40-50ESDBCM,ND,40,50,,E,SDB,CM,M-ND-40x50.step +ND40-50,ND,40,50,,,,,M-ND-40x50.step +ND40-50U,ND,40,50,,,,U,M-ND-40x50.step +ND40-50CM,ND,40,50,,,,CM,M-ND-40x50.step +ND40-50LB,ND,40,50,,,LB,,M-ND-40x50.step +ND40-50LBU,ND,40,50,,,LB,U,M-ND-40x50.step +ND40-50LBCM,ND,40,50,,,LB,CM,M-ND-40x50.step +ND40-50FA,ND,40,50,,,FA,,M-ND-40x50.step +ND40-50FAU,ND,40,50,,,FA,U,M-ND-40x50.step +ND40-50FACM,ND,40,50,,,FA,CM,M-ND-40x50.step +ND40-50FB,ND,40,50,,,FB,,M-ND-40x50.step +ND40-50FBU,ND,40,50,,,FB,U,M-ND-40x50.step +ND40-50FBCM,ND,40,50,,,FB,CM,M-ND-40x50.step +ND40-50SDB,ND,40,50,,,SDB,,M-ND-40x50.step +ND40-50SDBU,ND,40,50,,,SDB,U,M-ND-40x50.step +ND40-50SDBCM,ND,40,50,,,SDB,CM,M-ND-40x50.step +ND40-50ME,ND,40,50,M,E,,,M-ND-40x50.step +ND40-50MEU,ND,40,50,M,E,,U,M-ND-40x50.step +ND40-50MECM,ND,40,50,M,E,,CM,M-ND-40x50.step +ND40-50MELB,ND,40,50,M,E,LB,,M-ND-40x50.step +ND40-50MELBU,ND,40,50,M,E,LB,U,M-ND-40x50.step +ND40-50MELBCM,ND,40,50,M,E,LB,CM,M-ND-40x50.step +ND40-50MEFA,ND,40,50,M,E,FA,,M-ND-40x50.step +ND40-50MEFAU,ND,40,50,M,E,FA,U,M-ND-40x50.step +ND40-50MEFACM,ND,40,50,M,E,FA,CM,M-ND-40x50.step +ND40-50MEFB,ND,40,50,M,E,FB,,M-ND-40x50.step +ND40-50MEFBU,ND,40,50,M,E,FB,U,M-ND-40x50.step +ND40-50MEFBCM,ND,40,50,M,E,FB,CM,M-ND-40x50.step +ND40-50MESDB,ND,40,50,M,E,SDB,,M-ND-40x50.step +ND40-50MESDBU,ND,40,50,M,E,SDB,U,M-ND-40x50.step +ND40-50MESDBCM,ND,40,50,M,E,SDB,CM,M-ND-40x50.step +ND40-50M,ND,40,50,M,,,,M-ND-40x50.step +ND40-50MU,ND,40,50,M,,,U,M-ND-40x50.step +ND40-50MCM,ND,40,50,M,,,CM,M-ND-40x50.step +ND40-50MLB,ND,40,50,M,,LB,,M-ND-40x50.step +ND40-50MLBU,ND,40,50,M,,LB,U,M-ND-40x50.step +ND40-50MLBCM,ND,40,50,M,,LB,CM,M-ND-40x50.step +ND40-50MFA,ND,40,50,M,,FA,,M-ND-40x50.step +ND40-50MFAU,ND,40,50,M,,FA,U,M-ND-40x50.step +ND40-50MFACM,ND,40,50,M,,FA,CM,M-ND-40x50.step +ND40-50MFB,ND,40,50,M,,FB,,M-ND-40x50.step +ND40-50MFBU,ND,40,50,M,,FB,U,M-ND-40x50.step +ND40-50MFBCM,ND,40,50,M,,FB,CM,M-ND-40x50.step +ND40-50MSDB,ND,40,50,M,,SDB,,M-ND-40x50.step +ND40-50MSDBU,ND,40,50,M,,SDB,U,M-ND-40x50.step +ND40-50MSDBCM,ND,40,50,M,,SDB,CM,M-ND-40x50.step +ND40-75E,ND,40,75,,E,,,M-ND-40x75.step +ND40-75EU,ND,40,75,,E,,U,M-ND-40x75.step +ND40-75ECM,ND,40,75,,E,,CM,M-ND-40x75.step +ND40-75ELB,ND,40,75,,E,LB,,M-ND-40x75.step +ND40-75ELBU,ND,40,75,,E,LB,U,M-ND-40x75.step +ND40-75ELBCM,ND,40,75,,E,LB,CM,M-ND-40x75.step +ND40-75EFA,ND,40,75,,E,FA,,M-ND-40x75.step +ND40-75EFAU,ND,40,75,,E,FA,U,M-ND-40x75.step +ND40-75EFACM,ND,40,75,,E,FA,CM,M-ND-40x75.step +ND40-75EFB,ND,40,75,,E,FB,,M-ND-40x75.step +ND40-75EFBU,ND,40,75,,E,FB,U,M-ND-40x75.step +ND40-75EFBCM,ND,40,75,,E,FB,CM,M-ND-40x75.step +ND40-75ESDB,ND,40,75,,E,SDB,,M-ND-40x75.step +ND40-75ESDBU,ND,40,75,,E,SDB,U,M-ND-40x75.step +ND40-75ESDBCM,ND,40,75,,E,SDB,CM,M-ND-40x75.step +ND40-75,ND,40,75,,,,,M-ND-40x75.step +ND40-75U,ND,40,75,,,,U,M-ND-40x75.step +ND40-75CM,ND,40,75,,,,CM,M-ND-40x75.step +ND40-75LB,ND,40,75,,,LB,,M-ND-40x75.step +ND40-75LBU,ND,40,75,,,LB,U,M-ND-40x75.step +ND40-75LBCM,ND,40,75,,,LB,CM,M-ND-40x75.step +ND40-75FA,ND,40,75,,,FA,,M-ND-40x75.step +ND40-75FAU,ND,40,75,,,FA,U,M-ND-40x75.step +ND40-75FACM,ND,40,75,,,FA,CM,M-ND-40x75.step +ND40-75FB,ND,40,75,,,FB,,M-ND-40x75.step +ND40-75FBU,ND,40,75,,,FB,U,M-ND-40x75.step +ND40-75FBCM,ND,40,75,,,FB,CM,M-ND-40x75.step +ND40-75SDB,ND,40,75,,,SDB,,M-ND-40x75.step +ND40-75SDBU,ND,40,75,,,SDB,U,M-ND-40x75.step +ND40-75SDBCM,ND,40,75,,,SDB,CM,M-ND-40x75.step +ND40-75ME,ND,40,75,M,E,,,M-ND-40x75.step +ND40-75MEU,ND,40,75,M,E,,U,M-ND-40x75.step +ND40-75MECM,ND,40,75,M,E,,CM,M-ND-40x75.step +ND40-75MELB,ND,40,75,M,E,LB,,M-ND-40x75.step +ND40-75MELBU,ND,40,75,M,E,LB,U,M-ND-40x75.step +ND40-75MELBCM,ND,40,75,M,E,LB,CM,M-ND-40x75.step +ND40-75MEFA,ND,40,75,M,E,FA,,M-ND-40x75.step +ND40-75MEFAU,ND,40,75,M,E,FA,U,M-ND-40x75.step +ND40-75MEFACM,ND,40,75,M,E,FA,CM,M-ND-40x75.step +ND40-75MEFB,ND,40,75,M,E,FB,,M-ND-40x75.step +ND40-75MEFBU,ND,40,75,M,E,FB,U,M-ND-40x75.step +ND40-75MEFBCM,ND,40,75,M,E,FB,CM,M-ND-40x75.step +ND40-75MESDB,ND,40,75,M,E,SDB,,M-ND-40x75.step +ND40-75MESDBU,ND,40,75,M,E,SDB,U,M-ND-40x75.step +ND40-75MESDBCM,ND,40,75,M,E,SDB,CM,M-ND-40x75.step +ND40-75M,ND,40,75,M,,,,M-ND-40x75.step +ND40-75MU,ND,40,75,M,,,U,M-ND-40x75.step +ND40-75MCM,ND,40,75,M,,,CM,M-ND-40x75.step +ND40-75MLB,ND,40,75,M,,LB,,M-ND-40x75.step +ND40-75MLBU,ND,40,75,M,,LB,U,M-ND-40x75.step +ND40-75MLBCM,ND,40,75,M,,LB,CM,M-ND-40x75.step +ND40-75MFA,ND,40,75,M,,FA,,M-ND-40x75.step +ND40-75MFAU,ND,40,75,M,,FA,U,M-ND-40x75.step +ND40-75MFACM,ND,40,75,M,,FA,CM,M-ND-40x75.step +ND40-75MFB,ND,40,75,M,,FB,,M-ND-40x75.step +ND40-75MFBU,ND,40,75,M,,FB,U,M-ND-40x75.step +ND40-75MFBCM,ND,40,75,M,,FB,CM,M-ND-40x75.step +ND40-75MSDB,ND,40,75,M,,SDB,,M-ND-40x75.step +ND40-75MSDBU,ND,40,75,M,,SDB,U,M-ND-40x75.step +ND40-75MSDBCM,ND,40,75,M,,SDB,CM,M-ND-40x75.step +ND40-100E,ND,40,100,,E,,,M-ND-40x100.step +ND40-100EU,ND,40,100,,E,,U,M-ND-40x100.step +ND40-100ECM,ND,40,100,,E,,CM,M-ND-40x100.step +ND40-100ELB,ND,40,100,,E,LB,,M-ND-40x100.step +ND40-100ELBU,ND,40,100,,E,LB,U,M-ND-40x100.step +ND40-100ELBCM,ND,40,100,,E,LB,CM,M-ND-40x100.step +ND40-100EFA,ND,40,100,,E,FA,,M-ND-40x100.step +ND40-100EFAU,ND,40,100,,E,FA,U,M-ND-40x100.step +ND40-100EFACM,ND,40,100,,E,FA,CM,M-ND-40x100.step +ND40-100EFB,ND,40,100,,E,FB,,M-ND-40x100.step +ND40-100EFBU,ND,40,100,,E,FB,U,M-ND-40x100.step +ND40-100EFBCM,ND,40,100,,E,FB,CM,M-ND-40x100.step +ND40-100ESDB,ND,40,100,,E,SDB,,M-ND-40x100.step +ND40-100ESDBU,ND,40,100,,E,SDB,U,M-ND-40x100.step +ND40-100ESDBCM,ND,40,100,,E,SDB,CM,M-ND-40x100.step +ND40-100,ND,40,100,,,,,M-ND-40x100.step +ND40-100U,ND,40,100,,,,U,M-ND-40x100.step +ND40-100CM,ND,40,100,,,,CM,M-ND-40x100.step +ND40-100LB,ND,40,100,,,LB,,M-ND-40x100.step +ND40-100LBU,ND,40,100,,,LB,U,M-ND-40x100.step +ND40-100LBCM,ND,40,100,,,LB,CM,M-ND-40x100.step +ND40-100FA,ND,40,100,,,FA,,M-ND-40x100.step +ND40-100FAU,ND,40,100,,,FA,U,M-ND-40x100.step +ND40-100FACM,ND,40,100,,,FA,CM,M-ND-40x100.step +ND40-100FB,ND,40,100,,,FB,,M-ND-40x100.step +ND40-100FBU,ND,40,100,,,FB,U,M-ND-40x100.step +ND40-100FBCM,ND,40,100,,,FB,CM,M-ND-40x100.step +ND40-100SDB,ND,40,100,,,SDB,,M-ND-40x100.step +ND40-100SDBU,ND,40,100,,,SDB,U,M-ND-40x100.step +ND40-100SDBCM,ND,40,100,,,SDB,CM,M-ND-40x100.step +ND40-100ME,ND,40,100,M,E,,,M-ND-40x100.step +ND40-100MEU,ND,40,100,M,E,,U,M-ND-40x100.step +ND40-100MECM,ND,40,100,M,E,,CM,M-ND-40x100.step +ND40-100MELB,ND,40,100,M,E,LB,,M-ND-40x100.step +ND40-100MELBU,ND,40,100,M,E,LB,U,M-ND-40x100.step +ND40-100MELBCM,ND,40,100,M,E,LB,CM,M-ND-40x100.step +ND40-100MEFA,ND,40,100,M,E,FA,,M-ND-40x100.step +ND40-100MEFAU,ND,40,100,M,E,FA,U,M-ND-40x100.step +ND40-100MEFACM,ND,40,100,M,E,FA,CM,M-ND-40x100.step +ND40-100MEFB,ND,40,100,M,E,FB,,M-ND-40x100.step +ND40-100MEFBU,ND,40,100,M,E,FB,U,M-ND-40x100.step +ND40-100MEFBCM,ND,40,100,M,E,FB,CM,M-ND-40x100.step +ND40-100MESDB,ND,40,100,M,E,SDB,,M-ND-40x100.step +ND40-100MESDBU,ND,40,100,M,E,SDB,U,M-ND-40x100.step +ND40-100MESDBCM,ND,40,100,M,E,SDB,CM,M-ND-40x100.step +ND40-100M,ND,40,100,M,,,,M-ND-40x100.step +ND40-100MU,ND,40,100,M,,,U,M-ND-40x100.step +ND40-100MCM,ND,40,100,M,,,CM,M-ND-40x100.step +ND40-100MLB,ND,40,100,M,,LB,,M-ND-40x100.step +ND40-100MLBU,ND,40,100,M,,LB,U,M-ND-40x100.step +ND40-100MLBCM,ND,40,100,M,,LB,CM,M-ND-40x100.step +ND40-100MFA,ND,40,100,M,,FA,,M-ND-40x100.step +ND40-100MFAU,ND,40,100,M,,FA,U,M-ND-40x100.step +ND40-100MFACM,ND,40,100,M,,FA,CM,M-ND-40x100.step +ND40-100MFB,ND,40,100,M,,FB,,M-ND-40x100.step +ND40-100MFBU,ND,40,100,M,,FB,U,M-ND-40x100.step +ND40-100MFBCM,ND,40,100,M,,FB,CM,M-ND-40x100.step +ND40-100MSDB,ND,40,100,M,,SDB,,M-ND-40x100.step +ND40-100MSDBU,ND,40,100,M,,SDB,U,M-ND-40x100.step +ND40-100MSDBCM,ND,40,100,M,,SDB,CM,M-ND-40x100.step +NJ8-10E,NJ,8,10,,E,,,M-NJ-8x10.step +NJ8-10EU,NJ,8,10,,E,,U,M-NJ-8x10.step +NJ8-10ECM,NJ,8,10,,E,,CM,M-NJ-8x10.step +NJ8-10ELB,NJ,8,10,,E,LB,,M-NJ-8x10.step +NJ8-10ELBU,NJ,8,10,,E,LB,U,M-NJ-8x10.step +NJ8-10ELBCM,NJ,8,10,,E,LB,CM,M-NJ-8x10.step +NJ8-10EFA,NJ,8,10,,E,FA,,M-NJ-8x10.step +NJ8-10EFAU,NJ,8,10,,E,FA,U,M-NJ-8x10.step +NJ8-10EFACM,NJ,8,10,,E,FA,CM,M-NJ-8x10.step +NJ8-10EFB,NJ,8,10,,E,FB,,M-NJ-8x10.step +NJ8-10EFBU,NJ,8,10,,E,FB,U,M-NJ-8x10.step +NJ8-10EFBCM,NJ,8,10,,E,FB,CM,M-NJ-8x10.step +NJ8-10ESDB,NJ,8,10,,E,SDB,,M-NJ-8x10.step +NJ8-10ESDBU,NJ,8,10,,E,SDB,U,M-NJ-8x10.step +NJ8-10ESDBCM,NJ,8,10,,E,SDB,CM,M-NJ-8x10.step +NJ8-10,NJ,8,10,,,,,M-NJ-8x10.step +NJ8-10U,NJ,8,10,,,,U,M-NJ-8x10.step +NJ8-10CM,NJ,8,10,,,,CM,M-NJ-8x10.step +NJ8-10LB,NJ,8,10,,,LB,,M-NJ-8x10.step +NJ8-10LBU,NJ,8,10,,,LB,U,M-NJ-8x10.step +NJ8-10LBCM,NJ,8,10,,,LB,CM,M-NJ-8x10.step +NJ8-10FA,NJ,8,10,,,FA,,M-NJ-8x10.step +NJ8-10FAU,NJ,8,10,,,FA,U,M-NJ-8x10.step +NJ8-10FACM,NJ,8,10,,,FA,CM,M-NJ-8x10.step +NJ8-10FB,NJ,8,10,,,FB,,M-NJ-8x10.step +NJ8-10FBU,NJ,8,10,,,FB,U,M-NJ-8x10.step +NJ8-10FBCM,NJ,8,10,,,FB,CM,M-NJ-8x10.step +NJ8-10SDB,NJ,8,10,,,SDB,,M-NJ-8x10.step +NJ8-10SDBU,NJ,8,10,,,SDB,U,M-NJ-8x10.step +NJ8-10SDBCM,NJ,8,10,,,SDB,CM,M-NJ-8x10.step +NJ8-10ME,NJ,8,10,M,E,,,M-NJ-8x10.step +NJ8-10MEU,NJ,8,10,M,E,,U,M-NJ-8x10.step +NJ8-10MECM,NJ,8,10,M,E,,CM,M-NJ-8x10.step +NJ8-10MELB,NJ,8,10,M,E,LB,,M-NJ-8x10.step +NJ8-10MELBU,NJ,8,10,M,E,LB,U,M-NJ-8x10.step +NJ8-10MELBCM,NJ,8,10,M,E,LB,CM,M-NJ-8x10.step +NJ8-10MEFA,NJ,8,10,M,E,FA,,M-NJ-8x10.step +NJ8-10MEFAU,NJ,8,10,M,E,FA,U,M-NJ-8x10.step +NJ8-10MEFACM,NJ,8,10,M,E,FA,CM,M-NJ-8x10.step +NJ8-10MEFB,NJ,8,10,M,E,FB,,M-NJ-8x10.step +NJ8-10MEFBU,NJ,8,10,M,E,FB,U,M-NJ-8x10.step +NJ8-10MEFBCM,NJ,8,10,M,E,FB,CM,M-NJ-8x10.step +NJ8-10MESDB,NJ,8,10,M,E,SDB,,M-NJ-8x10.step +NJ8-10MESDBU,NJ,8,10,M,E,SDB,U,M-NJ-8x10.step +NJ8-10MESDBCM,NJ,8,10,M,E,SDB,CM,M-NJ-8x10.step +NJ8-10M,NJ,8,10,M,,,,M-NJ-8x10.step +NJ8-10MU,NJ,8,10,M,,,U,M-NJ-8x10.step +NJ8-10MCM,NJ,8,10,M,,,CM,M-NJ-8x10.step +NJ8-10MLB,NJ,8,10,M,,LB,,M-NJ-8x10.step +NJ8-10MLBU,NJ,8,10,M,,LB,U,M-NJ-8x10.step +NJ8-10MLBCM,NJ,8,10,M,,LB,CM,M-NJ-8x10.step +NJ8-10MFA,NJ,8,10,M,,FA,,M-NJ-8x10.step +NJ8-10MFAU,NJ,8,10,M,,FA,U,M-NJ-8x10.step +NJ8-10MFACM,NJ,8,10,M,,FA,CM,M-NJ-8x10.step +NJ8-10MFB,NJ,8,10,M,,FB,,M-NJ-8x10.step +NJ8-10MFBU,NJ,8,10,M,,FB,U,M-NJ-8x10.step +NJ8-10MFBCM,NJ,8,10,M,,FB,CM,M-NJ-8x10.step +NJ8-10MSDB,NJ,8,10,M,,SDB,,M-NJ-8x10.step +NJ8-10MSDBU,NJ,8,10,M,,SDB,U,M-NJ-8x10.step +NJ8-10MSDBCM,NJ,8,10,M,,SDB,CM,M-NJ-8x10.step +NJ8-20E,NJ,8,20,,E,,,M-NJ-8x20.step +NJ8-20EU,NJ,8,20,,E,,U,M-NJ-8x20.step +NJ8-20ECM,NJ,8,20,,E,,CM,M-NJ-8x20.step +NJ8-20ELB,NJ,8,20,,E,LB,,M-NJ-8x20.step +NJ8-20ELBU,NJ,8,20,,E,LB,U,M-NJ-8x20.step +NJ8-20ELBCM,NJ,8,20,,E,LB,CM,M-NJ-8x20.step +NJ8-20EFA,NJ,8,20,,E,FA,,M-NJ-8x20.step +NJ8-20EFAU,NJ,8,20,,E,FA,U,M-NJ-8x20.step +NJ8-20EFACM,NJ,8,20,,E,FA,CM,M-NJ-8x20.step +NJ8-20EFB,NJ,8,20,,E,FB,,M-NJ-8x20.step +NJ8-20EFBU,NJ,8,20,,E,FB,U,M-NJ-8x20.step +NJ8-20EFBCM,NJ,8,20,,E,FB,CM,M-NJ-8x20.step +NJ8-20ESDB,NJ,8,20,,E,SDB,,M-NJ-8x20.step +NJ8-20ESDBU,NJ,8,20,,E,SDB,U,M-NJ-8x20.step +NJ8-20ESDBCM,NJ,8,20,,E,SDB,CM,M-NJ-8x20.step +NJ8-20,NJ,8,20,,,,,M-NJ-8x20.step +NJ8-20U,NJ,8,20,,,,U,M-NJ-8x20.step +NJ8-20CM,NJ,8,20,,,,CM,M-NJ-8x20.step +NJ8-20LB,NJ,8,20,,,LB,,M-NJ-8x20.step +NJ8-20LBU,NJ,8,20,,,LB,U,M-NJ-8x20.step +NJ8-20LBCM,NJ,8,20,,,LB,CM,M-NJ-8x20.step +NJ8-20FA,NJ,8,20,,,FA,,M-NJ-8x20.step +NJ8-20FAU,NJ,8,20,,,FA,U,M-NJ-8x20.step +NJ8-20FACM,NJ,8,20,,,FA,CM,M-NJ-8x20.step +NJ8-20FB,NJ,8,20,,,FB,,M-NJ-8x20.step +NJ8-20FBU,NJ,8,20,,,FB,U,M-NJ-8x20.step +NJ8-20FBCM,NJ,8,20,,,FB,CM,M-NJ-8x20.step +NJ8-20SDB,NJ,8,20,,,SDB,,M-NJ-8x20.step +NJ8-20SDBU,NJ,8,20,,,SDB,U,M-NJ-8x20.step +NJ8-20SDBCM,NJ,8,20,,,SDB,CM,M-NJ-8x20.step +NJ8-20ME,NJ,8,20,M,E,,,M-NJ-8x20.step +NJ8-20MEU,NJ,8,20,M,E,,U,M-NJ-8x20.step +NJ8-20MECM,NJ,8,20,M,E,,CM,M-NJ-8x20.step +NJ8-20MELB,NJ,8,20,M,E,LB,,M-NJ-8x20.step +NJ8-20MELBU,NJ,8,20,M,E,LB,U,M-NJ-8x20.step +NJ8-20MELBCM,NJ,8,20,M,E,LB,CM,M-NJ-8x20.step +NJ8-20MEFA,NJ,8,20,M,E,FA,,M-NJ-8x20.step +NJ8-20MEFAU,NJ,8,20,M,E,FA,U,M-NJ-8x20.step +NJ8-20MEFACM,NJ,8,20,M,E,FA,CM,M-NJ-8x20.step +NJ8-20MEFB,NJ,8,20,M,E,FB,,M-NJ-8x20.step +NJ8-20MEFBU,NJ,8,20,M,E,FB,U,M-NJ-8x20.step +NJ8-20MEFBCM,NJ,8,20,M,E,FB,CM,M-NJ-8x20.step +NJ8-20MESDB,NJ,8,20,M,E,SDB,,M-NJ-8x20.step +NJ8-20MESDBU,NJ,8,20,M,E,SDB,U,M-NJ-8x20.step +NJ8-20MESDBCM,NJ,8,20,M,E,SDB,CM,M-NJ-8x20.step +NJ8-20M,NJ,8,20,M,,,,M-NJ-8x20.step +NJ8-20MU,NJ,8,20,M,,,U,M-NJ-8x20.step +NJ8-20MCM,NJ,8,20,M,,,CM,M-NJ-8x20.step +NJ8-20MLB,NJ,8,20,M,,LB,,M-NJ-8x20.step +NJ8-20MLBU,NJ,8,20,M,,LB,U,M-NJ-8x20.step +NJ8-20MLBCM,NJ,8,20,M,,LB,CM,M-NJ-8x20.step +NJ8-20MFA,NJ,8,20,M,,FA,,M-NJ-8x20.step +NJ8-20MFAU,NJ,8,20,M,,FA,U,M-NJ-8x20.step +NJ8-20MFACM,NJ,8,20,M,,FA,CM,M-NJ-8x20.step +NJ8-20MFB,NJ,8,20,M,,FB,,M-NJ-8x20.step +NJ8-20MFBU,NJ,8,20,M,,FB,U,M-NJ-8x20.step +NJ8-20MFBCM,NJ,8,20,M,,FB,CM,M-NJ-8x20.step +NJ8-20MSDB,NJ,8,20,M,,SDB,,M-NJ-8x20.step +NJ8-20MSDBU,NJ,8,20,M,,SDB,U,M-NJ-8x20.step +NJ8-20MSDBCM,NJ,8,20,M,,SDB,CM,M-NJ-8x20.step +NJ8-30E,NJ,8,30,,E,,,M-NJ-8x30.step +NJ8-30EU,NJ,8,30,,E,,U,M-NJ-8x30.step +NJ8-30ECM,NJ,8,30,,E,,CM,M-NJ-8x30.step +NJ8-30ELB,NJ,8,30,,E,LB,,M-NJ-8x30.step +NJ8-30ELBU,NJ,8,30,,E,LB,U,M-NJ-8x30.step +NJ8-30ELBCM,NJ,8,30,,E,LB,CM,M-NJ-8x30.step +NJ8-30EFA,NJ,8,30,,E,FA,,M-NJ-8x30.step +NJ8-30EFAU,NJ,8,30,,E,FA,U,M-NJ-8x30.step +NJ8-30EFACM,NJ,8,30,,E,FA,CM,M-NJ-8x30.step +NJ8-30EFB,NJ,8,30,,E,FB,,M-NJ-8x30.step +NJ8-30EFBU,NJ,8,30,,E,FB,U,M-NJ-8x30.step +NJ8-30EFBCM,NJ,8,30,,E,FB,CM,M-NJ-8x30.step +NJ8-30ESDB,NJ,8,30,,E,SDB,,M-NJ-8x30.step +NJ8-30ESDBU,NJ,8,30,,E,SDB,U,M-NJ-8x30.step +NJ8-30ESDBCM,NJ,8,30,,E,SDB,CM,M-NJ-8x30.step +NJ8-30,NJ,8,30,,,,,M-NJ-8x30.step +NJ8-30U,NJ,8,30,,,,U,M-NJ-8x30.step +NJ8-30CM,NJ,8,30,,,,CM,M-NJ-8x30.step +NJ8-30LB,NJ,8,30,,,LB,,M-NJ-8x30.step +NJ8-30LBU,NJ,8,30,,,LB,U,M-NJ-8x30.step +NJ8-30LBCM,NJ,8,30,,,LB,CM,M-NJ-8x30.step +NJ8-30FA,NJ,8,30,,,FA,,M-NJ-8x30.step +NJ8-30FAU,NJ,8,30,,,FA,U,M-NJ-8x30.step +NJ8-30FACM,NJ,8,30,,,FA,CM,M-NJ-8x30.step +NJ8-30FB,NJ,8,30,,,FB,,M-NJ-8x30.step +NJ8-30FBU,NJ,8,30,,,FB,U,M-NJ-8x30.step +NJ8-30FBCM,NJ,8,30,,,FB,CM,M-NJ-8x30.step +NJ8-30SDB,NJ,8,30,,,SDB,,M-NJ-8x30.step +NJ8-30SDBU,NJ,8,30,,,SDB,U,M-NJ-8x30.step +NJ8-30SDBCM,NJ,8,30,,,SDB,CM,M-NJ-8x30.step +NJ8-30ME,NJ,8,30,M,E,,,M-NJ-8x30.step +NJ8-30MEU,NJ,8,30,M,E,,U,M-NJ-8x30.step +NJ8-30MECM,NJ,8,30,M,E,,CM,M-NJ-8x30.step +NJ8-30MELB,NJ,8,30,M,E,LB,,M-NJ-8x30.step +NJ8-30MELBU,NJ,8,30,M,E,LB,U,M-NJ-8x30.step +NJ8-30MELBCM,NJ,8,30,M,E,LB,CM,M-NJ-8x30.step +NJ8-30MEFA,NJ,8,30,M,E,FA,,M-NJ-8x30.step +NJ8-30MEFAU,NJ,8,30,M,E,FA,U,M-NJ-8x30.step +NJ8-30MEFACM,NJ,8,30,M,E,FA,CM,M-NJ-8x30.step +NJ8-30MEFB,NJ,8,30,M,E,FB,,M-NJ-8x30.step +NJ8-30MEFBU,NJ,8,30,M,E,FB,U,M-NJ-8x30.step +NJ8-30MEFBCM,NJ,8,30,M,E,FB,CM,M-NJ-8x30.step +NJ8-30MESDB,NJ,8,30,M,E,SDB,,M-NJ-8x30.step +NJ8-30MESDBU,NJ,8,30,M,E,SDB,U,M-NJ-8x30.step +NJ8-30MESDBCM,NJ,8,30,M,E,SDB,CM,M-NJ-8x30.step +NJ8-30M,NJ,8,30,M,,,,M-NJ-8x30.step +NJ8-30MU,NJ,8,30,M,,,U,M-NJ-8x30.step +NJ8-30MCM,NJ,8,30,M,,,CM,M-NJ-8x30.step +NJ8-30MLB,NJ,8,30,M,,LB,,M-NJ-8x30.step +NJ8-30MLBU,NJ,8,30,M,,LB,U,M-NJ-8x30.step +NJ8-30MLBCM,NJ,8,30,M,,LB,CM,M-NJ-8x30.step +NJ8-30MFA,NJ,8,30,M,,FA,,M-NJ-8x30.step +NJ8-30MFAU,NJ,8,30,M,,FA,U,M-NJ-8x30.step +NJ8-30MFACM,NJ,8,30,M,,FA,CM,M-NJ-8x30.step +NJ8-30MFB,NJ,8,30,M,,FB,,M-NJ-8x30.step +NJ8-30MFBU,NJ,8,30,M,,FB,U,M-NJ-8x30.step +NJ8-30MFBCM,NJ,8,30,M,,FB,CM,M-NJ-8x30.step +NJ8-30MSDB,NJ,8,30,M,,SDB,,M-NJ-8x30.step +NJ8-30MSDBU,NJ,8,30,M,,SDB,U,M-NJ-8x30.step +NJ8-30MSDBCM,NJ,8,30,M,,SDB,CM,M-NJ-8x30.step +NJ8-50E,NJ,8,50,,E,,,M-NJ-8x50.step +NJ8-50EU,NJ,8,50,,E,,U,M-NJ-8x50.step +NJ8-50ECM,NJ,8,50,,E,,CM,M-NJ-8x50.step +NJ8-50ELB,NJ,8,50,,E,LB,,M-NJ-8x50.step +NJ8-50ELBU,NJ,8,50,,E,LB,U,M-NJ-8x50.step +NJ8-50ELBCM,NJ,8,50,,E,LB,CM,M-NJ-8x50.step +NJ8-50EFA,NJ,8,50,,E,FA,,M-NJ-8x50.step +NJ8-50EFAU,NJ,8,50,,E,FA,U,M-NJ-8x50.step +NJ8-50EFACM,NJ,8,50,,E,FA,CM,M-NJ-8x50.step +NJ8-50EFB,NJ,8,50,,E,FB,,M-NJ-8x50.step +NJ8-50EFBU,NJ,8,50,,E,FB,U,M-NJ-8x50.step +NJ8-50EFBCM,NJ,8,50,,E,FB,CM,M-NJ-8x50.step +NJ8-50ESDB,NJ,8,50,,E,SDB,,M-NJ-8x50.step +NJ8-50ESDBU,NJ,8,50,,E,SDB,U,M-NJ-8x50.step +NJ8-50ESDBCM,NJ,8,50,,E,SDB,CM,M-NJ-8x50.step +NJ8-50,NJ,8,50,,,,,M-NJ-8x50.step +NJ8-50U,NJ,8,50,,,,U,M-NJ-8x50.step +NJ8-50CM,NJ,8,50,,,,CM,M-NJ-8x50.step +NJ8-50LB,NJ,8,50,,,LB,,M-NJ-8x50.step +NJ8-50LBU,NJ,8,50,,,LB,U,M-NJ-8x50.step +NJ8-50LBCM,NJ,8,50,,,LB,CM,M-NJ-8x50.step +NJ8-50FA,NJ,8,50,,,FA,,M-NJ-8x50.step +NJ8-50FAU,NJ,8,50,,,FA,U,M-NJ-8x50.step +NJ8-50FACM,NJ,8,50,,,FA,CM,M-NJ-8x50.step +NJ8-50FB,NJ,8,50,,,FB,,M-NJ-8x50.step +NJ8-50FBU,NJ,8,50,,,FB,U,M-NJ-8x50.step +NJ8-50FBCM,NJ,8,50,,,FB,CM,M-NJ-8x50.step +NJ8-50SDB,NJ,8,50,,,SDB,,M-NJ-8x50.step +NJ8-50SDBU,NJ,8,50,,,SDB,U,M-NJ-8x50.step +NJ8-50SDBCM,NJ,8,50,,,SDB,CM,M-NJ-8x50.step +NJ8-50ME,NJ,8,50,M,E,,,M-NJ-8x50.step +NJ8-50MEU,NJ,8,50,M,E,,U,M-NJ-8x50.step +NJ8-50MECM,NJ,8,50,M,E,,CM,M-NJ-8x50.step +NJ8-50MELB,NJ,8,50,M,E,LB,,M-NJ-8x50.step +NJ8-50MELBU,NJ,8,50,M,E,LB,U,M-NJ-8x50.step +NJ8-50MELBCM,NJ,8,50,M,E,LB,CM,M-NJ-8x50.step +NJ8-50MEFA,NJ,8,50,M,E,FA,,M-NJ-8x50.step +NJ8-50MEFAU,NJ,8,50,M,E,FA,U,M-NJ-8x50.step +NJ8-50MEFACM,NJ,8,50,M,E,FA,CM,M-NJ-8x50.step +NJ8-50MEFB,NJ,8,50,M,E,FB,,M-NJ-8x50.step +NJ8-50MEFBU,NJ,8,50,M,E,FB,U,M-NJ-8x50.step +NJ8-50MEFBCM,NJ,8,50,M,E,FB,CM,M-NJ-8x50.step +NJ8-50MESDB,NJ,8,50,M,E,SDB,,M-NJ-8x50.step +NJ8-50MESDBU,NJ,8,50,M,E,SDB,U,M-NJ-8x50.step +NJ8-50MESDBCM,NJ,8,50,M,E,SDB,CM,M-NJ-8x50.step +NJ8-50M,NJ,8,50,M,,,,M-NJ-8x50.step +NJ8-50MU,NJ,8,50,M,,,U,M-NJ-8x50.step +NJ8-50MCM,NJ,8,50,M,,,CM,M-NJ-8x50.step +NJ8-50MLB,NJ,8,50,M,,LB,,M-NJ-8x50.step +NJ8-50MLBU,NJ,8,50,M,,LB,U,M-NJ-8x50.step +NJ8-50MLBCM,NJ,8,50,M,,LB,CM,M-NJ-8x50.step +NJ8-50MFA,NJ,8,50,M,,FA,,M-NJ-8x50.step +NJ8-50MFAU,NJ,8,50,M,,FA,U,M-NJ-8x50.step +NJ8-50MFACM,NJ,8,50,M,,FA,CM,M-NJ-8x50.step +NJ8-50MFB,NJ,8,50,M,,FB,,M-NJ-8x50.step +NJ8-50MFBU,NJ,8,50,M,,FB,U,M-NJ-8x50.step +NJ8-50MFBCM,NJ,8,50,M,,FB,CM,M-NJ-8x50.step +NJ8-50MSDB,NJ,8,50,M,,SDB,,M-NJ-8x50.step +NJ8-50MSDBU,NJ,8,50,M,,SDB,U,M-NJ-8x50.step +NJ8-50MSDBCM,NJ,8,50,M,,SDB,CM,M-NJ-8x50.step +NJ8-75E,NJ,8,75,,E,,,M-NJ-8x75.step +NJ8-75EU,NJ,8,75,,E,,U,M-NJ-8x75.step +NJ8-75ECM,NJ,8,75,,E,,CM,M-NJ-8x75.step +NJ8-75ELB,NJ,8,75,,E,LB,,M-NJ-8x75.step +NJ8-75ELBU,NJ,8,75,,E,LB,U,M-NJ-8x75.step +NJ8-75ELBCM,NJ,8,75,,E,LB,CM,M-NJ-8x75.step +NJ8-75EFA,NJ,8,75,,E,FA,,M-NJ-8x75.step +NJ8-75EFAU,NJ,8,75,,E,FA,U,M-NJ-8x75.step +NJ8-75EFACM,NJ,8,75,,E,FA,CM,M-NJ-8x75.step +NJ8-75EFB,NJ,8,75,,E,FB,,M-NJ-8x75.step +NJ8-75EFBU,NJ,8,75,,E,FB,U,M-NJ-8x75.step +NJ8-75EFBCM,NJ,8,75,,E,FB,CM,M-NJ-8x75.step +NJ8-75ESDB,NJ,8,75,,E,SDB,,M-NJ-8x75.step +NJ8-75ESDBU,NJ,8,75,,E,SDB,U,M-NJ-8x75.step +NJ8-75ESDBCM,NJ,8,75,,E,SDB,CM,M-NJ-8x75.step +NJ8-75,NJ,8,75,,,,,M-NJ-8x75.step +NJ8-75U,NJ,8,75,,,,U,M-NJ-8x75.step +NJ8-75CM,NJ,8,75,,,,CM,M-NJ-8x75.step +NJ8-75LB,NJ,8,75,,,LB,,M-NJ-8x75.step +NJ8-75LBU,NJ,8,75,,,LB,U,M-NJ-8x75.step +NJ8-75LBCM,NJ,8,75,,,LB,CM,M-NJ-8x75.step +NJ8-75FA,NJ,8,75,,,FA,,M-NJ-8x75.step +NJ8-75FAU,NJ,8,75,,,FA,U,M-NJ-8x75.step +NJ8-75FACM,NJ,8,75,,,FA,CM,M-NJ-8x75.step +NJ8-75FB,NJ,8,75,,,FB,,M-NJ-8x75.step +NJ8-75FBU,NJ,8,75,,,FB,U,M-NJ-8x75.step +NJ8-75FBCM,NJ,8,75,,,FB,CM,M-NJ-8x75.step +NJ8-75SDB,NJ,8,75,,,SDB,,M-NJ-8x75.step +NJ8-75SDBU,NJ,8,75,,,SDB,U,M-NJ-8x75.step +NJ8-75SDBCM,NJ,8,75,,,SDB,CM,M-NJ-8x75.step +NJ8-75ME,NJ,8,75,M,E,,,M-NJ-8x75.step +NJ8-75MEU,NJ,8,75,M,E,,U,M-NJ-8x75.step +NJ8-75MECM,NJ,8,75,M,E,,CM,M-NJ-8x75.step +NJ8-75MELB,NJ,8,75,M,E,LB,,M-NJ-8x75.step +NJ8-75MELBU,NJ,8,75,M,E,LB,U,M-NJ-8x75.step +NJ8-75MELBCM,NJ,8,75,M,E,LB,CM,M-NJ-8x75.step +NJ8-75MEFA,NJ,8,75,M,E,FA,,M-NJ-8x75.step +NJ8-75MEFAU,NJ,8,75,M,E,FA,U,M-NJ-8x75.step +NJ8-75MEFACM,NJ,8,75,M,E,FA,CM,M-NJ-8x75.step +NJ8-75MEFB,NJ,8,75,M,E,FB,,M-NJ-8x75.step +NJ8-75MEFBU,NJ,8,75,M,E,FB,U,M-NJ-8x75.step +NJ8-75MEFBCM,NJ,8,75,M,E,FB,CM,M-NJ-8x75.step +NJ8-75MESDB,NJ,8,75,M,E,SDB,,M-NJ-8x75.step +NJ8-75MESDBU,NJ,8,75,M,E,SDB,U,M-NJ-8x75.step +NJ8-75MESDBCM,NJ,8,75,M,E,SDB,CM,M-NJ-8x75.step +NJ8-75M,NJ,8,75,M,,,,M-NJ-8x75.step +NJ8-75MU,NJ,8,75,M,,,U,M-NJ-8x75.step +NJ8-75MCM,NJ,8,75,M,,,CM,M-NJ-8x75.step +NJ8-75MLB,NJ,8,75,M,,LB,,M-NJ-8x75.step +NJ8-75MLBU,NJ,8,75,M,,LB,U,M-NJ-8x75.step +NJ8-75MLBCM,NJ,8,75,M,,LB,CM,M-NJ-8x75.step +NJ8-75MFA,NJ,8,75,M,,FA,,M-NJ-8x75.step +NJ8-75MFAU,NJ,8,75,M,,FA,U,M-NJ-8x75.step +NJ8-75MFACM,NJ,8,75,M,,FA,CM,M-NJ-8x75.step +NJ8-75MFB,NJ,8,75,M,,FB,,M-NJ-8x75.step +NJ8-75MFBU,NJ,8,75,M,,FB,U,M-NJ-8x75.step +NJ8-75MFBCM,NJ,8,75,M,,FB,CM,M-NJ-8x75.step +NJ8-75MSDB,NJ,8,75,M,,SDB,,M-NJ-8x75.step +NJ8-75MSDBU,NJ,8,75,M,,SDB,U,M-NJ-8x75.step +NJ8-75MSDBCM,NJ,8,75,M,,SDB,CM,M-NJ-8x75.step +NJ8-100E,NJ,8,100,,E,,,M-NJ-8x100.step +NJ8-100EU,NJ,8,100,,E,,U,M-NJ-8x100.step +NJ8-100ECM,NJ,8,100,,E,,CM,M-NJ-8x100.step +NJ8-100ELB,NJ,8,100,,E,LB,,M-NJ-8x100.step +NJ8-100ELBU,NJ,8,100,,E,LB,U,M-NJ-8x100.step +NJ8-100ELBCM,NJ,8,100,,E,LB,CM,M-NJ-8x100.step +NJ8-100EFA,NJ,8,100,,E,FA,,M-NJ-8x100.step +NJ8-100EFAU,NJ,8,100,,E,FA,U,M-NJ-8x100.step +NJ8-100EFACM,NJ,8,100,,E,FA,CM,M-NJ-8x100.step +NJ8-100EFB,NJ,8,100,,E,FB,,M-NJ-8x100.step +NJ8-100EFBU,NJ,8,100,,E,FB,U,M-NJ-8x100.step +NJ8-100EFBCM,NJ,8,100,,E,FB,CM,M-NJ-8x100.step +NJ8-100ESDB,NJ,8,100,,E,SDB,,M-NJ-8x100.step +NJ8-100ESDBU,NJ,8,100,,E,SDB,U,M-NJ-8x100.step +NJ8-100ESDBCM,NJ,8,100,,E,SDB,CM,M-NJ-8x100.step +NJ8-100,NJ,8,100,,,,,M-NJ-8x100.step +NJ8-100U,NJ,8,100,,,,U,M-NJ-8x100.step +NJ8-100CM,NJ,8,100,,,,CM,M-NJ-8x100.step +NJ8-100LB,NJ,8,100,,,LB,,M-NJ-8x100.step +NJ8-100LBU,NJ,8,100,,,LB,U,M-NJ-8x100.step +NJ8-100LBCM,NJ,8,100,,,LB,CM,M-NJ-8x100.step +NJ8-100FA,NJ,8,100,,,FA,,M-NJ-8x100.step +NJ8-100FAU,NJ,8,100,,,FA,U,M-NJ-8x100.step +NJ8-100FACM,NJ,8,100,,,FA,CM,M-NJ-8x100.step +NJ8-100FB,NJ,8,100,,,FB,,M-NJ-8x100.step +NJ8-100FBU,NJ,8,100,,,FB,U,M-NJ-8x100.step +NJ8-100FBCM,NJ,8,100,,,FB,CM,M-NJ-8x100.step +NJ8-100SDB,NJ,8,100,,,SDB,,M-NJ-8x100.step +NJ8-100SDBU,NJ,8,100,,,SDB,U,M-NJ-8x100.step +NJ8-100SDBCM,NJ,8,100,,,SDB,CM,M-NJ-8x100.step +NJ8-100ME,NJ,8,100,M,E,,,M-NJ-8x100.step +NJ8-100MEU,NJ,8,100,M,E,,U,M-NJ-8x100.step +NJ8-100MECM,NJ,8,100,M,E,,CM,M-NJ-8x100.step +NJ8-100MELB,NJ,8,100,M,E,LB,,M-NJ-8x100.step +NJ8-100MELBU,NJ,8,100,M,E,LB,U,M-NJ-8x100.step +NJ8-100MELBCM,NJ,8,100,M,E,LB,CM,M-NJ-8x100.step +NJ8-100MEFA,NJ,8,100,M,E,FA,,M-NJ-8x100.step +NJ8-100MEFAU,NJ,8,100,M,E,FA,U,M-NJ-8x100.step +NJ8-100MEFACM,NJ,8,100,M,E,FA,CM,M-NJ-8x100.step +NJ8-100MEFB,NJ,8,100,M,E,FB,,M-NJ-8x100.step +NJ8-100MEFBU,NJ,8,100,M,E,FB,U,M-NJ-8x100.step +NJ8-100MEFBCM,NJ,8,100,M,E,FB,CM,M-NJ-8x100.step +NJ8-100MESDB,NJ,8,100,M,E,SDB,,M-NJ-8x100.step +NJ8-100MESDBU,NJ,8,100,M,E,SDB,U,M-NJ-8x100.step +NJ8-100MESDBCM,NJ,8,100,M,E,SDB,CM,M-NJ-8x100.step +NJ8-100M,NJ,8,100,M,,,,M-NJ-8x100.step +NJ8-100MU,NJ,8,100,M,,,U,M-NJ-8x100.step +NJ8-100MCM,NJ,8,100,M,,,CM,M-NJ-8x100.step +NJ8-100MLB,NJ,8,100,M,,LB,,M-NJ-8x100.step +NJ8-100MLBU,NJ,8,100,M,,LB,U,M-NJ-8x100.step +NJ8-100MLBCM,NJ,8,100,M,,LB,CM,M-NJ-8x100.step +NJ8-100MFA,NJ,8,100,M,,FA,,M-NJ-8x100.step +NJ8-100MFAU,NJ,8,100,M,,FA,U,M-NJ-8x100.step +NJ8-100MFACM,NJ,8,100,M,,FA,CM,M-NJ-8x100.step +NJ8-100MFB,NJ,8,100,M,,FB,,M-NJ-8x100.step +NJ8-100MFBU,NJ,8,100,M,,FB,U,M-NJ-8x100.step +NJ8-100MFBCM,NJ,8,100,M,,FB,CM,M-NJ-8x100.step +NJ8-100MSDB,NJ,8,100,M,,SDB,,M-NJ-8x100.step +NJ8-100MSDBU,NJ,8,100,M,,SDB,U,M-NJ-8x100.step +NJ8-100MSDBCM,NJ,8,100,M,,SDB,CM,M-NJ-8x100.step +NJ10-10E,NJ,10,10,,E,,,M-NJ-10x10.step +NJ10-10EU,NJ,10,10,,E,,U,M-NJ-10x10.step +NJ10-10ECM,NJ,10,10,,E,,CM,M-NJ-10x10.step +NJ10-10ELB,NJ,10,10,,E,LB,,M-NJ-10x10.step +NJ10-10ELBU,NJ,10,10,,E,LB,U,M-NJ-10x10.step +NJ10-10ELBCM,NJ,10,10,,E,LB,CM,M-NJ-10x10.step +NJ10-10EFA,NJ,10,10,,E,FA,,M-NJ-10x10.step +NJ10-10EFAU,NJ,10,10,,E,FA,U,M-NJ-10x10.step +NJ10-10EFACM,NJ,10,10,,E,FA,CM,M-NJ-10x10.step +NJ10-10EFB,NJ,10,10,,E,FB,,M-NJ-10x10.step +NJ10-10EFBU,NJ,10,10,,E,FB,U,M-NJ-10x10.step +NJ10-10EFBCM,NJ,10,10,,E,FB,CM,M-NJ-10x10.step +NJ10-10ESDB,NJ,10,10,,E,SDB,,M-NJ-10x10.step +NJ10-10ESDBU,NJ,10,10,,E,SDB,U,M-NJ-10x10.step +NJ10-10ESDBCM,NJ,10,10,,E,SDB,CM,M-NJ-10x10.step +NJ10-10,NJ,10,10,,,,,M-NJ-10x10.step +NJ10-10U,NJ,10,10,,,,U,M-NJ-10x10.step +NJ10-10CM,NJ,10,10,,,,CM,M-NJ-10x10.step +NJ10-10LB,NJ,10,10,,,LB,,M-NJ-10x10.step +NJ10-10LBU,NJ,10,10,,,LB,U,M-NJ-10x10.step +NJ10-10LBCM,NJ,10,10,,,LB,CM,M-NJ-10x10.step +NJ10-10FA,NJ,10,10,,,FA,,M-NJ-10x10.step +NJ10-10FAU,NJ,10,10,,,FA,U,M-NJ-10x10.step +NJ10-10FACM,NJ,10,10,,,FA,CM,M-NJ-10x10.step +NJ10-10FB,NJ,10,10,,,FB,,M-NJ-10x10.step +NJ10-10FBU,NJ,10,10,,,FB,U,M-NJ-10x10.step +NJ10-10FBCM,NJ,10,10,,,FB,CM,M-NJ-10x10.step +NJ10-10SDB,NJ,10,10,,,SDB,,M-NJ-10x10.step +NJ10-10SDBU,NJ,10,10,,,SDB,U,M-NJ-10x10.step +NJ10-10SDBCM,NJ,10,10,,,SDB,CM,M-NJ-10x10.step +NJ10-10ME,NJ,10,10,M,E,,,M-NJ-10x10.step +NJ10-10MEU,NJ,10,10,M,E,,U,M-NJ-10x10.step +NJ10-10MECM,NJ,10,10,M,E,,CM,M-NJ-10x10.step +NJ10-10MELB,NJ,10,10,M,E,LB,,M-NJ-10x10.step +NJ10-10MELBU,NJ,10,10,M,E,LB,U,M-NJ-10x10.step +NJ10-10MELBCM,NJ,10,10,M,E,LB,CM,M-NJ-10x10.step +NJ10-10MEFA,NJ,10,10,M,E,FA,,M-NJ-10x10.step +NJ10-10MEFAU,NJ,10,10,M,E,FA,U,M-NJ-10x10.step +NJ10-10MEFACM,NJ,10,10,M,E,FA,CM,M-NJ-10x10.step +NJ10-10MEFB,NJ,10,10,M,E,FB,,M-NJ-10x10.step +NJ10-10MEFBU,NJ,10,10,M,E,FB,U,M-NJ-10x10.step +NJ10-10MEFBCM,NJ,10,10,M,E,FB,CM,M-NJ-10x10.step +NJ10-10MESDB,NJ,10,10,M,E,SDB,,M-NJ-10x10.step +NJ10-10MESDBU,NJ,10,10,M,E,SDB,U,M-NJ-10x10.step +NJ10-10MESDBCM,NJ,10,10,M,E,SDB,CM,M-NJ-10x10.step +NJ10-10M,NJ,10,10,M,,,,M-NJ-10x10.step +NJ10-10MU,NJ,10,10,M,,,U,M-NJ-10x10.step +NJ10-10MCM,NJ,10,10,M,,,CM,M-NJ-10x10.step +NJ10-10MLB,NJ,10,10,M,,LB,,M-NJ-10x10.step +NJ10-10MLBU,NJ,10,10,M,,LB,U,M-NJ-10x10.step +NJ10-10MLBCM,NJ,10,10,M,,LB,CM,M-NJ-10x10.step +NJ10-10MFA,NJ,10,10,M,,FA,,M-NJ-10x10.step +NJ10-10MFAU,NJ,10,10,M,,FA,U,M-NJ-10x10.step +NJ10-10MFACM,NJ,10,10,M,,FA,CM,M-NJ-10x10.step +NJ10-10MFB,NJ,10,10,M,,FB,,M-NJ-10x10.step +NJ10-10MFBU,NJ,10,10,M,,FB,U,M-NJ-10x10.step +NJ10-10MFBCM,NJ,10,10,M,,FB,CM,M-NJ-10x10.step +NJ10-10MSDB,NJ,10,10,M,,SDB,,M-NJ-10x10.step +NJ10-10MSDBU,NJ,10,10,M,,SDB,U,M-NJ-10x10.step +NJ10-10MSDBCM,NJ,10,10,M,,SDB,CM,M-NJ-10x10.step +NJ10-20E,NJ,10,20,,E,,,M-NJ-10x20.step +NJ10-20EU,NJ,10,20,,E,,U,M-NJ-10x20.step +NJ10-20ECM,NJ,10,20,,E,,CM,M-NJ-10x20.step +NJ10-20ELB,NJ,10,20,,E,LB,,M-NJ-10x20.step +NJ10-20ELBU,NJ,10,20,,E,LB,U,M-NJ-10x20.step +NJ10-20ELBCM,NJ,10,20,,E,LB,CM,M-NJ-10x20.step +NJ10-20EFA,NJ,10,20,,E,FA,,M-NJ-10x20.step +NJ10-20EFAU,NJ,10,20,,E,FA,U,M-NJ-10x20.step +NJ10-20EFACM,NJ,10,20,,E,FA,CM,M-NJ-10x20.step +NJ10-20EFB,NJ,10,20,,E,FB,,M-NJ-10x20.step +NJ10-20EFBU,NJ,10,20,,E,FB,U,M-NJ-10x20.step +NJ10-20EFBCM,NJ,10,20,,E,FB,CM,M-NJ-10x20.step +NJ10-20ESDB,NJ,10,20,,E,SDB,,M-NJ-10x20.step +NJ10-20ESDBU,NJ,10,20,,E,SDB,U,M-NJ-10x20.step +NJ10-20ESDBCM,NJ,10,20,,E,SDB,CM,M-NJ-10x20.step +NJ10-20,NJ,10,20,,,,,M-NJ-10x20.step +NJ10-20U,NJ,10,20,,,,U,M-NJ-10x20.step +NJ10-20CM,NJ,10,20,,,,CM,M-NJ-10x20.step +NJ10-20LB,NJ,10,20,,,LB,,M-NJ-10x20.step +NJ10-20LBU,NJ,10,20,,,LB,U,M-NJ-10x20.step +NJ10-20LBCM,NJ,10,20,,,LB,CM,M-NJ-10x20.step +NJ10-20FA,NJ,10,20,,,FA,,M-NJ-10x20.step +NJ10-20FAU,NJ,10,20,,,FA,U,M-NJ-10x20.step +NJ10-20FACM,NJ,10,20,,,FA,CM,M-NJ-10x20.step +NJ10-20FB,NJ,10,20,,,FB,,M-NJ-10x20.step +NJ10-20FBU,NJ,10,20,,,FB,U,M-NJ-10x20.step +NJ10-20FBCM,NJ,10,20,,,FB,CM,M-NJ-10x20.step +NJ10-20SDB,NJ,10,20,,,SDB,,M-NJ-10x20.step +NJ10-20SDBU,NJ,10,20,,,SDB,U,M-NJ-10x20.step +NJ10-20SDBCM,NJ,10,20,,,SDB,CM,M-NJ-10x20.step +NJ10-20ME,NJ,10,20,M,E,,,M-NJ-10x20.step +NJ10-20MEU,NJ,10,20,M,E,,U,M-NJ-10x20.step +NJ10-20MECM,NJ,10,20,M,E,,CM,M-NJ-10x20.step +NJ10-20MELB,NJ,10,20,M,E,LB,,M-NJ-10x20.step +NJ10-20MELBU,NJ,10,20,M,E,LB,U,M-NJ-10x20.step +NJ10-20MELBCM,NJ,10,20,M,E,LB,CM,M-NJ-10x20.step +NJ10-20MEFA,NJ,10,20,M,E,FA,,M-NJ-10x20.step +NJ10-20MEFAU,NJ,10,20,M,E,FA,U,M-NJ-10x20.step +NJ10-20MEFACM,NJ,10,20,M,E,FA,CM,M-NJ-10x20.step +NJ10-20MEFB,NJ,10,20,M,E,FB,,M-NJ-10x20.step +NJ10-20MEFBU,NJ,10,20,M,E,FB,U,M-NJ-10x20.step +NJ10-20MEFBCM,NJ,10,20,M,E,FB,CM,M-NJ-10x20.step +NJ10-20MESDB,NJ,10,20,M,E,SDB,,M-NJ-10x20.step +NJ10-20MESDBU,NJ,10,20,M,E,SDB,U,M-NJ-10x20.step +NJ10-20MESDBCM,NJ,10,20,M,E,SDB,CM,M-NJ-10x20.step +NJ10-20M,NJ,10,20,M,,,,M-NJ-10x20.step +NJ10-20MU,NJ,10,20,M,,,U,M-NJ-10x20.step +NJ10-20MCM,NJ,10,20,M,,,CM,M-NJ-10x20.step +NJ10-20MLB,NJ,10,20,M,,LB,,M-NJ-10x20.step +NJ10-20MLBU,NJ,10,20,M,,LB,U,M-NJ-10x20.step +NJ10-20MLBCM,NJ,10,20,M,,LB,CM,M-NJ-10x20.step +NJ10-20MFA,NJ,10,20,M,,FA,,M-NJ-10x20.step +NJ10-20MFAU,NJ,10,20,M,,FA,U,M-NJ-10x20.step +NJ10-20MFACM,NJ,10,20,M,,FA,CM,M-NJ-10x20.step +NJ10-20MFB,NJ,10,20,M,,FB,,M-NJ-10x20.step +NJ10-20MFBU,NJ,10,20,M,,FB,U,M-NJ-10x20.step +NJ10-20MFBCM,NJ,10,20,M,,FB,CM,M-NJ-10x20.step +NJ10-20MSDB,NJ,10,20,M,,SDB,,M-NJ-10x20.step +NJ10-20MSDBU,NJ,10,20,M,,SDB,U,M-NJ-10x20.step +NJ10-20MSDBCM,NJ,10,20,M,,SDB,CM,M-NJ-10x20.step +NJ10-30E,NJ,10,30,,E,,,M-NJ-10x30.step +NJ10-30EU,NJ,10,30,,E,,U,M-NJ-10x30.step +NJ10-30ECM,NJ,10,30,,E,,CM,M-NJ-10x30.step +NJ10-30ELB,NJ,10,30,,E,LB,,M-NJ-10x30.step +NJ10-30ELBU,NJ,10,30,,E,LB,U,M-NJ-10x30.step +NJ10-30ELBCM,NJ,10,30,,E,LB,CM,M-NJ-10x30.step +NJ10-30EFA,NJ,10,30,,E,FA,,M-NJ-10x30.step +NJ10-30EFAU,NJ,10,30,,E,FA,U,M-NJ-10x30.step +NJ10-30EFACM,NJ,10,30,,E,FA,CM,M-NJ-10x30.step +NJ10-30EFB,NJ,10,30,,E,FB,,M-NJ-10x30.step +NJ10-30EFBU,NJ,10,30,,E,FB,U,M-NJ-10x30.step +NJ10-30EFBCM,NJ,10,30,,E,FB,CM,M-NJ-10x30.step +NJ10-30ESDB,NJ,10,30,,E,SDB,,M-NJ-10x30.step +NJ10-30ESDBU,NJ,10,30,,E,SDB,U,M-NJ-10x30.step +NJ10-30ESDBCM,NJ,10,30,,E,SDB,CM,M-NJ-10x30.step +NJ10-30,NJ,10,30,,,,,M-NJ-10x30.step +NJ10-30U,NJ,10,30,,,,U,M-NJ-10x30.step +NJ10-30CM,NJ,10,30,,,,CM,M-NJ-10x30.step +NJ10-30LB,NJ,10,30,,,LB,,M-NJ-10x30.step +NJ10-30LBU,NJ,10,30,,,LB,U,M-NJ-10x30.step +NJ10-30LBCM,NJ,10,30,,,LB,CM,M-NJ-10x30.step +NJ10-30FA,NJ,10,30,,,FA,,M-NJ-10x30.step +NJ10-30FAU,NJ,10,30,,,FA,U,M-NJ-10x30.step +NJ10-30FACM,NJ,10,30,,,FA,CM,M-NJ-10x30.step +NJ10-30FB,NJ,10,30,,,FB,,M-NJ-10x30.step +NJ10-30FBU,NJ,10,30,,,FB,U,M-NJ-10x30.step +NJ10-30FBCM,NJ,10,30,,,FB,CM,M-NJ-10x30.step +NJ10-30SDB,NJ,10,30,,,SDB,,M-NJ-10x30.step +NJ10-30SDBU,NJ,10,30,,,SDB,U,M-NJ-10x30.step +NJ10-30SDBCM,NJ,10,30,,,SDB,CM,M-NJ-10x30.step +NJ10-30ME,NJ,10,30,M,E,,,M-NJ-10x30.step +NJ10-30MEU,NJ,10,30,M,E,,U,M-NJ-10x30.step +NJ10-30MECM,NJ,10,30,M,E,,CM,M-NJ-10x30.step +NJ10-30MELB,NJ,10,30,M,E,LB,,M-NJ-10x30.step +NJ10-30MELBU,NJ,10,30,M,E,LB,U,M-NJ-10x30.step +NJ10-30MELBCM,NJ,10,30,M,E,LB,CM,M-NJ-10x30.step +NJ10-30MEFA,NJ,10,30,M,E,FA,,M-NJ-10x30.step +NJ10-30MEFAU,NJ,10,30,M,E,FA,U,M-NJ-10x30.step +NJ10-30MEFACM,NJ,10,30,M,E,FA,CM,M-NJ-10x30.step +NJ10-30MEFB,NJ,10,30,M,E,FB,,M-NJ-10x30.step +NJ10-30MEFBU,NJ,10,30,M,E,FB,U,M-NJ-10x30.step +NJ10-30MEFBCM,NJ,10,30,M,E,FB,CM,M-NJ-10x30.step +NJ10-30MESDB,NJ,10,30,M,E,SDB,,M-NJ-10x30.step +NJ10-30MESDBU,NJ,10,30,M,E,SDB,U,M-NJ-10x30.step +NJ10-30MESDBCM,NJ,10,30,M,E,SDB,CM,M-NJ-10x30.step +NJ10-30M,NJ,10,30,M,,,,M-NJ-10x30.step +NJ10-30MU,NJ,10,30,M,,,U,M-NJ-10x30.step +NJ10-30MCM,NJ,10,30,M,,,CM,M-NJ-10x30.step +NJ10-30MLB,NJ,10,30,M,,LB,,M-NJ-10x30.step +NJ10-30MLBU,NJ,10,30,M,,LB,U,M-NJ-10x30.step +NJ10-30MLBCM,NJ,10,30,M,,LB,CM,M-NJ-10x30.step +NJ10-30MFA,NJ,10,30,M,,FA,,M-NJ-10x30.step +NJ10-30MFAU,NJ,10,30,M,,FA,U,M-NJ-10x30.step +NJ10-30MFACM,NJ,10,30,M,,FA,CM,M-NJ-10x30.step +NJ10-30MFB,NJ,10,30,M,,FB,,M-NJ-10x30.step +NJ10-30MFBU,NJ,10,30,M,,FB,U,M-NJ-10x30.step +NJ10-30MFBCM,NJ,10,30,M,,FB,CM,M-NJ-10x30.step +NJ10-30MSDB,NJ,10,30,M,,SDB,,M-NJ-10x30.step +NJ10-30MSDBU,NJ,10,30,M,,SDB,U,M-NJ-10x30.step +NJ10-30MSDBCM,NJ,10,30,M,,SDB,CM,M-NJ-10x30.step +NJ10-50E,NJ,10,50,,E,,,M-NJ-10x50.step +NJ10-50EU,NJ,10,50,,E,,U,M-NJ-10x50.step +NJ10-50ECM,NJ,10,50,,E,,CM,M-NJ-10x50.step +NJ10-50ELB,NJ,10,50,,E,LB,,M-NJ-10x50.step +NJ10-50ELBU,NJ,10,50,,E,LB,U,M-NJ-10x50.step +NJ10-50ELBCM,NJ,10,50,,E,LB,CM,M-NJ-10x50.step +NJ10-50EFA,NJ,10,50,,E,FA,,M-NJ-10x50.step +NJ10-50EFAU,NJ,10,50,,E,FA,U,M-NJ-10x50.step +NJ10-50EFACM,NJ,10,50,,E,FA,CM,M-NJ-10x50.step +NJ10-50EFB,NJ,10,50,,E,FB,,M-NJ-10x50.step +NJ10-50EFBU,NJ,10,50,,E,FB,U,M-NJ-10x50.step +NJ10-50EFBCM,NJ,10,50,,E,FB,CM,M-NJ-10x50.step +NJ10-50ESDB,NJ,10,50,,E,SDB,,M-NJ-10x50.step +NJ10-50ESDBU,NJ,10,50,,E,SDB,U,M-NJ-10x50.step +NJ10-50ESDBCM,NJ,10,50,,E,SDB,CM,M-NJ-10x50.step +NJ10-50,NJ,10,50,,,,,M-NJ-10x50.step +NJ10-50U,NJ,10,50,,,,U,M-NJ-10x50.step +NJ10-50CM,NJ,10,50,,,,CM,M-NJ-10x50.step +NJ10-50LB,NJ,10,50,,,LB,,M-NJ-10x50.step +NJ10-50LBU,NJ,10,50,,,LB,U,M-NJ-10x50.step +NJ10-50LBCM,NJ,10,50,,,LB,CM,M-NJ-10x50.step +NJ10-50FA,NJ,10,50,,,FA,,M-NJ-10x50.step +NJ10-50FAU,NJ,10,50,,,FA,U,M-NJ-10x50.step +NJ10-50FACM,NJ,10,50,,,FA,CM,M-NJ-10x50.step +NJ10-50FB,NJ,10,50,,,FB,,M-NJ-10x50.step +NJ10-50FBU,NJ,10,50,,,FB,U,M-NJ-10x50.step +NJ10-50FBCM,NJ,10,50,,,FB,CM,M-NJ-10x50.step +NJ10-50SDB,NJ,10,50,,,SDB,,M-NJ-10x50.step +NJ10-50SDBU,NJ,10,50,,,SDB,U,M-NJ-10x50.step +NJ10-50SDBCM,NJ,10,50,,,SDB,CM,M-NJ-10x50.step +NJ10-50ME,NJ,10,50,M,E,,,M-NJ-10x50.step +NJ10-50MEU,NJ,10,50,M,E,,U,M-NJ-10x50.step +NJ10-50MECM,NJ,10,50,M,E,,CM,M-NJ-10x50.step +NJ10-50MELB,NJ,10,50,M,E,LB,,M-NJ-10x50.step +NJ10-50MELBU,NJ,10,50,M,E,LB,U,M-NJ-10x50.step +NJ10-50MELBCM,NJ,10,50,M,E,LB,CM,M-NJ-10x50.step +NJ10-50MEFA,NJ,10,50,M,E,FA,,M-NJ-10x50.step +NJ10-50MEFAU,NJ,10,50,M,E,FA,U,M-NJ-10x50.step +NJ10-50MEFACM,NJ,10,50,M,E,FA,CM,M-NJ-10x50.step +NJ10-50MEFB,NJ,10,50,M,E,FB,,M-NJ-10x50.step +NJ10-50MEFBU,NJ,10,50,M,E,FB,U,M-NJ-10x50.step +NJ10-50MEFBCM,NJ,10,50,M,E,FB,CM,M-NJ-10x50.step +NJ10-50MESDB,NJ,10,50,M,E,SDB,,M-NJ-10x50.step +NJ10-50MESDBU,NJ,10,50,M,E,SDB,U,M-NJ-10x50.step +NJ10-50MESDBCM,NJ,10,50,M,E,SDB,CM,M-NJ-10x50.step +NJ10-50M,NJ,10,50,M,,,,M-NJ-10x50.step +NJ10-50MU,NJ,10,50,M,,,U,M-NJ-10x50.step +NJ10-50MCM,NJ,10,50,M,,,CM,M-NJ-10x50.step +NJ10-50MLB,NJ,10,50,M,,LB,,M-NJ-10x50.step +NJ10-50MLBU,NJ,10,50,M,,LB,U,M-NJ-10x50.step +NJ10-50MLBCM,NJ,10,50,M,,LB,CM,M-NJ-10x50.step +NJ10-50MFA,NJ,10,50,M,,FA,,M-NJ-10x50.step +NJ10-50MFAU,NJ,10,50,M,,FA,U,M-NJ-10x50.step +NJ10-50MFACM,NJ,10,50,M,,FA,CM,M-NJ-10x50.step +NJ10-50MFB,NJ,10,50,M,,FB,,M-NJ-10x50.step +NJ10-50MFBU,NJ,10,50,M,,FB,U,M-NJ-10x50.step +NJ10-50MFBCM,NJ,10,50,M,,FB,CM,M-NJ-10x50.step +NJ10-50MSDB,NJ,10,50,M,,SDB,,M-NJ-10x50.step +NJ10-50MSDBU,NJ,10,50,M,,SDB,U,M-NJ-10x50.step +NJ10-50MSDBCM,NJ,10,50,M,,SDB,CM,M-NJ-10x50.step +NJ10-75E,NJ,10,75,,E,,,M-NJ-10x75.step +NJ10-75EU,NJ,10,75,,E,,U,M-NJ-10x75.step +NJ10-75ECM,NJ,10,75,,E,,CM,M-NJ-10x75.step +NJ10-75ELB,NJ,10,75,,E,LB,,M-NJ-10x75.step +NJ10-75ELBU,NJ,10,75,,E,LB,U,M-NJ-10x75.step +NJ10-75ELBCM,NJ,10,75,,E,LB,CM,M-NJ-10x75.step +NJ10-75EFA,NJ,10,75,,E,FA,,M-NJ-10x75.step +NJ10-75EFAU,NJ,10,75,,E,FA,U,M-NJ-10x75.step +NJ10-75EFACM,NJ,10,75,,E,FA,CM,M-NJ-10x75.step +NJ10-75EFB,NJ,10,75,,E,FB,,M-NJ-10x75.step +NJ10-75EFBU,NJ,10,75,,E,FB,U,M-NJ-10x75.step +NJ10-75EFBCM,NJ,10,75,,E,FB,CM,M-NJ-10x75.step +NJ10-75ESDB,NJ,10,75,,E,SDB,,M-NJ-10x75.step +NJ10-75ESDBU,NJ,10,75,,E,SDB,U,M-NJ-10x75.step +NJ10-75ESDBCM,NJ,10,75,,E,SDB,CM,M-NJ-10x75.step +NJ10-75,NJ,10,75,,,,,M-NJ-10x75.step +NJ10-75U,NJ,10,75,,,,U,M-NJ-10x75.step +NJ10-75CM,NJ,10,75,,,,CM,M-NJ-10x75.step +NJ10-75LB,NJ,10,75,,,LB,,M-NJ-10x75.step +NJ10-75LBU,NJ,10,75,,,LB,U,M-NJ-10x75.step +NJ10-75LBCM,NJ,10,75,,,LB,CM,M-NJ-10x75.step +NJ10-75FA,NJ,10,75,,,FA,,M-NJ-10x75.step +NJ10-75FAU,NJ,10,75,,,FA,U,M-NJ-10x75.step +NJ10-75FACM,NJ,10,75,,,FA,CM,M-NJ-10x75.step +NJ10-75FB,NJ,10,75,,,FB,,M-NJ-10x75.step +NJ10-75FBU,NJ,10,75,,,FB,U,M-NJ-10x75.step +NJ10-75FBCM,NJ,10,75,,,FB,CM,M-NJ-10x75.step +NJ10-75SDB,NJ,10,75,,,SDB,,M-NJ-10x75.step +NJ10-75SDBU,NJ,10,75,,,SDB,U,M-NJ-10x75.step +NJ10-75SDBCM,NJ,10,75,,,SDB,CM,M-NJ-10x75.step +NJ10-75ME,NJ,10,75,M,E,,,M-NJ-10x75.step +NJ10-75MEU,NJ,10,75,M,E,,U,M-NJ-10x75.step +NJ10-75MECM,NJ,10,75,M,E,,CM,M-NJ-10x75.step +NJ10-75MELB,NJ,10,75,M,E,LB,,M-NJ-10x75.step +NJ10-75MELBU,NJ,10,75,M,E,LB,U,M-NJ-10x75.step +NJ10-75MELBCM,NJ,10,75,M,E,LB,CM,M-NJ-10x75.step +NJ10-75MEFA,NJ,10,75,M,E,FA,,M-NJ-10x75.step +NJ10-75MEFAU,NJ,10,75,M,E,FA,U,M-NJ-10x75.step +NJ10-75MEFACM,NJ,10,75,M,E,FA,CM,M-NJ-10x75.step +NJ10-75MEFB,NJ,10,75,M,E,FB,,M-NJ-10x75.step +NJ10-75MEFBU,NJ,10,75,M,E,FB,U,M-NJ-10x75.step +NJ10-75MEFBCM,NJ,10,75,M,E,FB,CM,M-NJ-10x75.step +NJ10-75MESDB,NJ,10,75,M,E,SDB,,M-NJ-10x75.step +NJ10-75MESDBU,NJ,10,75,M,E,SDB,U,M-NJ-10x75.step +NJ10-75MESDBCM,NJ,10,75,M,E,SDB,CM,M-NJ-10x75.step +NJ10-75M,NJ,10,75,M,,,,M-NJ-10x75.step +NJ10-75MU,NJ,10,75,M,,,U,M-NJ-10x75.step +NJ10-75MCM,NJ,10,75,M,,,CM,M-NJ-10x75.step +NJ10-75MLB,NJ,10,75,M,,LB,,M-NJ-10x75.step +NJ10-75MLBU,NJ,10,75,M,,LB,U,M-NJ-10x75.step +NJ10-75MLBCM,NJ,10,75,M,,LB,CM,M-NJ-10x75.step +NJ10-75MFA,NJ,10,75,M,,FA,,M-NJ-10x75.step +NJ10-75MFAU,NJ,10,75,M,,FA,U,M-NJ-10x75.step +NJ10-75MFACM,NJ,10,75,M,,FA,CM,M-NJ-10x75.step +NJ10-75MFB,NJ,10,75,M,,FB,,M-NJ-10x75.step +NJ10-75MFBU,NJ,10,75,M,,FB,U,M-NJ-10x75.step +NJ10-75MFBCM,NJ,10,75,M,,FB,CM,M-NJ-10x75.step +NJ10-75MSDB,NJ,10,75,M,,SDB,,M-NJ-10x75.step +NJ10-75MSDBU,NJ,10,75,M,,SDB,U,M-NJ-10x75.step +NJ10-75MSDBCM,NJ,10,75,M,,SDB,CM,M-NJ-10x75.step +NJ10-100E,NJ,10,100,,E,,,M-NJ-10x100.step +NJ10-100EU,NJ,10,100,,E,,U,M-NJ-10x100.step +NJ10-100ECM,NJ,10,100,,E,,CM,M-NJ-10x100.step +NJ10-100ELB,NJ,10,100,,E,LB,,M-NJ-10x100.step +NJ10-100ELBU,NJ,10,100,,E,LB,U,M-NJ-10x100.step +NJ10-100ELBCM,NJ,10,100,,E,LB,CM,M-NJ-10x100.step +NJ10-100EFA,NJ,10,100,,E,FA,,M-NJ-10x100.step +NJ10-100EFAU,NJ,10,100,,E,FA,U,M-NJ-10x100.step +NJ10-100EFACM,NJ,10,100,,E,FA,CM,M-NJ-10x100.step +NJ10-100EFB,NJ,10,100,,E,FB,,M-NJ-10x100.step +NJ10-100EFBU,NJ,10,100,,E,FB,U,M-NJ-10x100.step +NJ10-100EFBCM,NJ,10,100,,E,FB,CM,M-NJ-10x100.step +NJ10-100ESDB,NJ,10,100,,E,SDB,,M-NJ-10x100.step +NJ10-100ESDBU,NJ,10,100,,E,SDB,U,M-NJ-10x100.step +NJ10-100ESDBCM,NJ,10,100,,E,SDB,CM,M-NJ-10x100.step +NJ10-100,NJ,10,100,,,,,M-NJ-10x100.step +NJ10-100U,NJ,10,100,,,,U,M-NJ-10x100.step +NJ10-100CM,NJ,10,100,,,,CM,M-NJ-10x100.step +NJ10-100LB,NJ,10,100,,,LB,,M-NJ-10x100.step +NJ10-100LBU,NJ,10,100,,,LB,U,M-NJ-10x100.step +NJ10-100LBCM,NJ,10,100,,,LB,CM,M-NJ-10x100.step +NJ10-100FA,NJ,10,100,,,FA,,M-NJ-10x100.step +NJ10-100FAU,NJ,10,100,,,FA,U,M-NJ-10x100.step +NJ10-100FACM,NJ,10,100,,,FA,CM,M-NJ-10x100.step +NJ10-100FB,NJ,10,100,,,FB,,M-NJ-10x100.step +NJ10-100FBU,NJ,10,100,,,FB,U,M-NJ-10x100.step +NJ10-100FBCM,NJ,10,100,,,FB,CM,M-NJ-10x100.step +NJ10-100SDB,NJ,10,100,,,SDB,,M-NJ-10x100.step +NJ10-100SDBU,NJ,10,100,,,SDB,U,M-NJ-10x100.step +NJ10-100SDBCM,NJ,10,100,,,SDB,CM,M-NJ-10x100.step +NJ10-100ME,NJ,10,100,M,E,,,M-NJ-10x100.step +NJ10-100MEU,NJ,10,100,M,E,,U,M-NJ-10x100.step +NJ10-100MECM,NJ,10,100,M,E,,CM,M-NJ-10x100.step +NJ10-100MELB,NJ,10,100,M,E,LB,,M-NJ-10x100.step +NJ10-100MELBU,NJ,10,100,M,E,LB,U,M-NJ-10x100.step +NJ10-100MELBCM,NJ,10,100,M,E,LB,CM,M-NJ-10x100.step +NJ10-100MEFA,NJ,10,100,M,E,FA,,M-NJ-10x100.step +NJ10-100MEFAU,NJ,10,100,M,E,FA,U,M-NJ-10x100.step +NJ10-100MEFACM,NJ,10,100,M,E,FA,CM,M-NJ-10x100.step +NJ10-100MEFB,NJ,10,100,M,E,FB,,M-NJ-10x100.step +NJ10-100MEFBU,NJ,10,100,M,E,FB,U,M-NJ-10x100.step +NJ10-100MEFBCM,NJ,10,100,M,E,FB,CM,M-NJ-10x100.step +NJ10-100MESDB,NJ,10,100,M,E,SDB,,M-NJ-10x100.step +NJ10-100MESDBU,NJ,10,100,M,E,SDB,U,M-NJ-10x100.step +NJ10-100MESDBCM,NJ,10,100,M,E,SDB,CM,M-NJ-10x100.step +NJ10-100M,NJ,10,100,M,,,,M-NJ-10x100.step +NJ10-100MU,NJ,10,100,M,,,U,M-NJ-10x100.step +NJ10-100MCM,NJ,10,100,M,,,CM,M-NJ-10x100.step +NJ10-100MLB,NJ,10,100,M,,LB,,M-NJ-10x100.step +NJ10-100MLBU,NJ,10,100,M,,LB,U,M-NJ-10x100.step +NJ10-100MLBCM,NJ,10,100,M,,LB,CM,M-NJ-10x100.step +NJ10-100MFA,NJ,10,100,M,,FA,,M-NJ-10x100.step +NJ10-100MFAU,NJ,10,100,M,,FA,U,M-NJ-10x100.step +NJ10-100MFACM,NJ,10,100,M,,FA,CM,M-NJ-10x100.step +NJ10-100MFB,NJ,10,100,M,,FB,,M-NJ-10x100.step +NJ10-100MFBU,NJ,10,100,M,,FB,U,M-NJ-10x100.step +NJ10-100MFBCM,NJ,10,100,M,,FB,CM,M-NJ-10x100.step +NJ10-100MSDB,NJ,10,100,M,,SDB,,M-NJ-10x100.step +NJ10-100MSDBU,NJ,10,100,M,,SDB,U,M-NJ-10x100.step +NJ10-100MSDBCM,NJ,10,100,M,,SDB,CM,M-NJ-10x100.step +NJ12-10E,NJ,12,10,,E,,,M-NJ-12x10.step +NJ12-10EU,NJ,12,10,,E,,U,M-NJ-12x10.step +NJ12-10ECM,NJ,12,10,,E,,CM,M-NJ-12x10.step +NJ12-10ELB,NJ,12,10,,E,LB,,M-NJ-12x10.step +NJ12-10ELBU,NJ,12,10,,E,LB,U,M-NJ-12x10.step +NJ12-10ELBCM,NJ,12,10,,E,LB,CM,M-NJ-12x10.step +NJ12-10EFA,NJ,12,10,,E,FA,,M-NJ-12x10.step +NJ12-10EFAU,NJ,12,10,,E,FA,U,M-NJ-12x10.step +NJ12-10EFACM,NJ,12,10,,E,FA,CM,M-NJ-12x10.step +NJ12-10EFB,NJ,12,10,,E,FB,,M-NJ-12x10.step +NJ12-10EFBU,NJ,12,10,,E,FB,U,M-NJ-12x10.step +NJ12-10EFBCM,NJ,12,10,,E,FB,CM,M-NJ-12x10.step +NJ12-10ESDB,NJ,12,10,,E,SDB,,M-NJ-12x10.step +NJ12-10ESDBU,NJ,12,10,,E,SDB,U,M-NJ-12x10.step +NJ12-10ESDBCM,NJ,12,10,,E,SDB,CM,M-NJ-12x10.step +NJ12-10,NJ,12,10,,,,,M-NJ-12x10.step +NJ12-10U,NJ,12,10,,,,U,M-NJ-12x10.step +NJ12-10CM,NJ,12,10,,,,CM,M-NJ-12x10.step +NJ12-10LB,NJ,12,10,,,LB,,M-NJ-12x10.step +NJ12-10LBU,NJ,12,10,,,LB,U,M-NJ-12x10.step +NJ12-10LBCM,NJ,12,10,,,LB,CM,M-NJ-12x10.step +NJ12-10FA,NJ,12,10,,,FA,,M-NJ-12x10.step +NJ12-10FAU,NJ,12,10,,,FA,U,M-NJ-12x10.step +NJ12-10FACM,NJ,12,10,,,FA,CM,M-NJ-12x10.step +NJ12-10FB,NJ,12,10,,,FB,,M-NJ-12x10.step +NJ12-10FBU,NJ,12,10,,,FB,U,M-NJ-12x10.step +NJ12-10FBCM,NJ,12,10,,,FB,CM,M-NJ-12x10.step +NJ12-10SDB,NJ,12,10,,,SDB,,M-NJ-12x10.step +NJ12-10SDBU,NJ,12,10,,,SDB,U,M-NJ-12x10.step +NJ12-10SDBCM,NJ,12,10,,,SDB,CM,M-NJ-12x10.step +NJ12-10ME,NJ,12,10,M,E,,,M-NJ-12x10.step +NJ12-10MEU,NJ,12,10,M,E,,U,M-NJ-12x10.step +NJ12-10MECM,NJ,12,10,M,E,,CM,M-NJ-12x10.step +NJ12-10MELB,NJ,12,10,M,E,LB,,M-NJ-12x10.step +NJ12-10MELBU,NJ,12,10,M,E,LB,U,M-NJ-12x10.step +NJ12-10MELBCM,NJ,12,10,M,E,LB,CM,M-NJ-12x10.step +NJ12-10MEFA,NJ,12,10,M,E,FA,,M-NJ-12x10.step +NJ12-10MEFAU,NJ,12,10,M,E,FA,U,M-NJ-12x10.step +NJ12-10MEFACM,NJ,12,10,M,E,FA,CM,M-NJ-12x10.step +NJ12-10MEFB,NJ,12,10,M,E,FB,,M-NJ-12x10.step +NJ12-10MEFBU,NJ,12,10,M,E,FB,U,M-NJ-12x10.step +NJ12-10MEFBCM,NJ,12,10,M,E,FB,CM,M-NJ-12x10.step +NJ12-10MESDB,NJ,12,10,M,E,SDB,,M-NJ-12x10.step +NJ12-10MESDBU,NJ,12,10,M,E,SDB,U,M-NJ-12x10.step +NJ12-10MESDBCM,NJ,12,10,M,E,SDB,CM,M-NJ-12x10.step +NJ12-10M,NJ,12,10,M,,,,M-NJ-12x10.step +NJ12-10MU,NJ,12,10,M,,,U,M-NJ-12x10.step +NJ12-10MCM,NJ,12,10,M,,,CM,M-NJ-12x10.step +NJ12-10MLB,NJ,12,10,M,,LB,,M-NJ-12x10.step +NJ12-10MLBU,NJ,12,10,M,,LB,U,M-NJ-12x10.step +NJ12-10MLBCM,NJ,12,10,M,,LB,CM,M-NJ-12x10.step +NJ12-10MFA,NJ,12,10,M,,FA,,M-NJ-12x10.step +NJ12-10MFAU,NJ,12,10,M,,FA,U,M-NJ-12x10.step +NJ12-10MFACM,NJ,12,10,M,,FA,CM,M-NJ-12x10.step +NJ12-10MFB,NJ,12,10,M,,FB,,M-NJ-12x10.step +NJ12-10MFBU,NJ,12,10,M,,FB,U,M-NJ-12x10.step +NJ12-10MFBCM,NJ,12,10,M,,FB,CM,M-NJ-12x10.step +NJ12-10MSDB,NJ,12,10,M,,SDB,,M-NJ-12x10.step +NJ12-10MSDBU,NJ,12,10,M,,SDB,U,M-NJ-12x10.step +NJ12-10MSDBCM,NJ,12,10,M,,SDB,CM,M-NJ-12x10.step +NJ12-20E,NJ,12,20,,E,,,M-NJ-12x20.step +NJ12-20EU,NJ,12,20,,E,,U,M-NJ-12x20.step +NJ12-20ECM,NJ,12,20,,E,,CM,M-NJ-12x20.step +NJ12-20ELB,NJ,12,20,,E,LB,,M-NJ-12x20.step +NJ12-20ELBU,NJ,12,20,,E,LB,U,M-NJ-12x20.step +NJ12-20ELBCM,NJ,12,20,,E,LB,CM,M-NJ-12x20.step +NJ12-20EFA,NJ,12,20,,E,FA,,M-NJ-12x20.step +NJ12-20EFAU,NJ,12,20,,E,FA,U,M-NJ-12x20.step +NJ12-20EFACM,NJ,12,20,,E,FA,CM,M-NJ-12x20.step +NJ12-20EFB,NJ,12,20,,E,FB,,M-NJ-12x20.step +NJ12-20EFBU,NJ,12,20,,E,FB,U,M-NJ-12x20.step +NJ12-20EFBCM,NJ,12,20,,E,FB,CM,M-NJ-12x20.step +NJ12-20ESDB,NJ,12,20,,E,SDB,,M-NJ-12x20.step +NJ12-20ESDBU,NJ,12,20,,E,SDB,U,M-NJ-12x20.step +NJ12-20ESDBCM,NJ,12,20,,E,SDB,CM,M-NJ-12x20.step +NJ12-20,NJ,12,20,,,,,M-NJ-12x20.step +NJ12-20U,NJ,12,20,,,,U,M-NJ-12x20.step +NJ12-20CM,NJ,12,20,,,,CM,M-NJ-12x20.step +NJ12-20LB,NJ,12,20,,,LB,,M-NJ-12x20.step +NJ12-20LBU,NJ,12,20,,,LB,U,M-NJ-12x20.step +NJ12-20LBCM,NJ,12,20,,,LB,CM,M-NJ-12x20.step +NJ12-20FA,NJ,12,20,,,FA,,M-NJ-12x20.step +NJ12-20FAU,NJ,12,20,,,FA,U,M-NJ-12x20.step +NJ12-20FACM,NJ,12,20,,,FA,CM,M-NJ-12x20.step +NJ12-20FB,NJ,12,20,,,FB,,M-NJ-12x20.step +NJ12-20FBU,NJ,12,20,,,FB,U,M-NJ-12x20.step +NJ12-20FBCM,NJ,12,20,,,FB,CM,M-NJ-12x20.step +NJ12-20SDB,NJ,12,20,,,SDB,,M-NJ-12x20.step +NJ12-20SDBU,NJ,12,20,,,SDB,U,M-NJ-12x20.step +NJ12-20SDBCM,NJ,12,20,,,SDB,CM,M-NJ-12x20.step +NJ12-20ME,NJ,12,20,M,E,,,M-NJ-12x20.step +NJ12-20MEU,NJ,12,20,M,E,,U,M-NJ-12x20.step +NJ12-20MECM,NJ,12,20,M,E,,CM,M-NJ-12x20.step +NJ12-20MELB,NJ,12,20,M,E,LB,,M-NJ-12x20.step +NJ12-20MELBU,NJ,12,20,M,E,LB,U,M-NJ-12x20.step +NJ12-20MELBCM,NJ,12,20,M,E,LB,CM,M-NJ-12x20.step +NJ12-20MEFA,NJ,12,20,M,E,FA,,M-NJ-12x20.step +NJ12-20MEFAU,NJ,12,20,M,E,FA,U,M-NJ-12x20.step +NJ12-20MEFACM,NJ,12,20,M,E,FA,CM,M-NJ-12x20.step +NJ12-20MEFB,NJ,12,20,M,E,FB,,M-NJ-12x20.step +NJ12-20MEFBU,NJ,12,20,M,E,FB,U,M-NJ-12x20.step +NJ12-20MEFBCM,NJ,12,20,M,E,FB,CM,M-NJ-12x20.step +NJ12-20MESDB,NJ,12,20,M,E,SDB,,M-NJ-12x20.step +NJ12-20MESDBU,NJ,12,20,M,E,SDB,U,M-NJ-12x20.step +NJ12-20MESDBCM,NJ,12,20,M,E,SDB,CM,M-NJ-12x20.step +NJ12-20M,NJ,12,20,M,,,,M-NJ-12x20.step +NJ12-20MU,NJ,12,20,M,,,U,M-NJ-12x20.step +NJ12-20MCM,NJ,12,20,M,,,CM,M-NJ-12x20.step +NJ12-20MLB,NJ,12,20,M,,LB,,M-NJ-12x20.step +NJ12-20MLBU,NJ,12,20,M,,LB,U,M-NJ-12x20.step +NJ12-20MLBCM,NJ,12,20,M,,LB,CM,M-NJ-12x20.step +NJ12-20MFA,NJ,12,20,M,,FA,,M-NJ-12x20.step +NJ12-20MFAU,NJ,12,20,M,,FA,U,M-NJ-12x20.step +NJ12-20MFACM,NJ,12,20,M,,FA,CM,M-NJ-12x20.step +NJ12-20MFB,NJ,12,20,M,,FB,,M-NJ-12x20.step +NJ12-20MFBU,NJ,12,20,M,,FB,U,M-NJ-12x20.step +NJ12-20MFBCM,NJ,12,20,M,,FB,CM,M-NJ-12x20.step +NJ12-20MSDB,NJ,12,20,M,,SDB,,M-NJ-12x20.step +NJ12-20MSDBU,NJ,12,20,M,,SDB,U,M-NJ-12x20.step +NJ12-20MSDBCM,NJ,12,20,M,,SDB,CM,M-NJ-12x20.step +NJ12-30E,NJ,12,30,,E,,,M-NJ-12x30.step +NJ12-30EU,NJ,12,30,,E,,U,M-NJ-12x30.step +NJ12-30ECM,NJ,12,30,,E,,CM,M-NJ-12x30.step +NJ12-30ELB,NJ,12,30,,E,LB,,M-NJ-12x30.step +NJ12-30ELBU,NJ,12,30,,E,LB,U,M-NJ-12x30.step +NJ12-30ELBCM,NJ,12,30,,E,LB,CM,M-NJ-12x30.step +NJ12-30EFA,NJ,12,30,,E,FA,,M-NJ-12x30.step +NJ12-30EFAU,NJ,12,30,,E,FA,U,M-NJ-12x30.step +NJ12-30EFACM,NJ,12,30,,E,FA,CM,M-NJ-12x30.step +NJ12-30EFB,NJ,12,30,,E,FB,,M-NJ-12x30.step +NJ12-30EFBU,NJ,12,30,,E,FB,U,M-NJ-12x30.step +NJ12-30EFBCM,NJ,12,30,,E,FB,CM,M-NJ-12x30.step +NJ12-30ESDB,NJ,12,30,,E,SDB,,M-NJ-12x30.step +NJ12-30ESDBU,NJ,12,30,,E,SDB,U,M-NJ-12x30.step +NJ12-30ESDBCM,NJ,12,30,,E,SDB,CM,M-NJ-12x30.step +NJ12-30,NJ,12,30,,,,,M-NJ-12x30.step +NJ12-30U,NJ,12,30,,,,U,M-NJ-12x30.step +NJ12-30CM,NJ,12,30,,,,CM,M-NJ-12x30.step +NJ12-30LB,NJ,12,30,,,LB,,M-NJ-12x30.step +NJ12-30LBU,NJ,12,30,,,LB,U,M-NJ-12x30.step +NJ12-30LBCM,NJ,12,30,,,LB,CM,M-NJ-12x30.step +NJ12-30FA,NJ,12,30,,,FA,,M-NJ-12x30.step +NJ12-30FAU,NJ,12,30,,,FA,U,M-NJ-12x30.step +NJ12-30FACM,NJ,12,30,,,FA,CM,M-NJ-12x30.step +NJ12-30FB,NJ,12,30,,,FB,,M-NJ-12x30.step +NJ12-30FBU,NJ,12,30,,,FB,U,M-NJ-12x30.step +NJ12-30FBCM,NJ,12,30,,,FB,CM,M-NJ-12x30.step +NJ12-30SDB,NJ,12,30,,,SDB,,M-NJ-12x30.step +NJ12-30SDBU,NJ,12,30,,,SDB,U,M-NJ-12x30.step +NJ12-30SDBCM,NJ,12,30,,,SDB,CM,M-NJ-12x30.step +NJ12-30ME,NJ,12,30,M,E,,,M-NJ-12x30.step +NJ12-30MEU,NJ,12,30,M,E,,U,M-NJ-12x30.step +NJ12-30MECM,NJ,12,30,M,E,,CM,M-NJ-12x30.step +NJ12-30MELB,NJ,12,30,M,E,LB,,M-NJ-12x30.step +NJ12-30MELBU,NJ,12,30,M,E,LB,U,M-NJ-12x30.step +NJ12-30MELBCM,NJ,12,30,M,E,LB,CM,M-NJ-12x30.step +NJ12-30MEFA,NJ,12,30,M,E,FA,,M-NJ-12x30.step +NJ12-30MEFAU,NJ,12,30,M,E,FA,U,M-NJ-12x30.step +NJ12-30MEFACM,NJ,12,30,M,E,FA,CM,M-NJ-12x30.step +NJ12-30MEFB,NJ,12,30,M,E,FB,,M-NJ-12x30.step +NJ12-30MEFBU,NJ,12,30,M,E,FB,U,M-NJ-12x30.step +NJ12-30MEFBCM,NJ,12,30,M,E,FB,CM,M-NJ-12x30.step +NJ12-30MESDB,NJ,12,30,M,E,SDB,,M-NJ-12x30.step +NJ12-30MESDBU,NJ,12,30,M,E,SDB,U,M-NJ-12x30.step +NJ12-30MESDBCM,NJ,12,30,M,E,SDB,CM,M-NJ-12x30.step +NJ12-30M,NJ,12,30,M,,,,M-NJ-12x30.step +NJ12-30MU,NJ,12,30,M,,,U,M-NJ-12x30.step +NJ12-30MCM,NJ,12,30,M,,,CM,M-NJ-12x30.step +NJ12-30MLB,NJ,12,30,M,,LB,,M-NJ-12x30.step +NJ12-30MLBU,NJ,12,30,M,,LB,U,M-NJ-12x30.step +NJ12-30MLBCM,NJ,12,30,M,,LB,CM,M-NJ-12x30.step +NJ12-30MFA,NJ,12,30,M,,FA,,M-NJ-12x30.step +NJ12-30MFAU,NJ,12,30,M,,FA,U,M-NJ-12x30.step +NJ12-30MFACM,NJ,12,30,M,,FA,CM,M-NJ-12x30.step +NJ12-30MFB,NJ,12,30,M,,FB,,M-NJ-12x30.step +NJ12-30MFBU,NJ,12,30,M,,FB,U,M-NJ-12x30.step +NJ12-30MFBCM,NJ,12,30,M,,FB,CM,M-NJ-12x30.step +NJ12-30MSDB,NJ,12,30,M,,SDB,,M-NJ-12x30.step +NJ12-30MSDBU,NJ,12,30,M,,SDB,U,M-NJ-12x30.step +NJ12-30MSDBCM,NJ,12,30,M,,SDB,CM,M-NJ-12x30.step +NJ12-50E,NJ,12,50,,E,,,M-NJ-12x50.step +NJ12-50EU,NJ,12,50,,E,,U,M-NJ-12x50.step +NJ12-50ECM,NJ,12,50,,E,,CM,M-NJ-12x50.step +NJ12-50ELB,NJ,12,50,,E,LB,,M-NJ-12x50.step +NJ12-50ELBU,NJ,12,50,,E,LB,U,M-NJ-12x50.step +NJ12-50ELBCM,NJ,12,50,,E,LB,CM,M-NJ-12x50.step +NJ12-50EFA,NJ,12,50,,E,FA,,M-NJ-12x50.step +NJ12-50EFAU,NJ,12,50,,E,FA,U,M-NJ-12x50.step +NJ12-50EFACM,NJ,12,50,,E,FA,CM,M-NJ-12x50.step +NJ12-50EFB,NJ,12,50,,E,FB,,M-NJ-12x50.step +NJ12-50EFBU,NJ,12,50,,E,FB,U,M-NJ-12x50.step +NJ12-50EFBCM,NJ,12,50,,E,FB,CM,M-NJ-12x50.step +NJ12-50ESDB,NJ,12,50,,E,SDB,,M-NJ-12x50.step +NJ12-50ESDBU,NJ,12,50,,E,SDB,U,M-NJ-12x50.step +NJ12-50ESDBCM,NJ,12,50,,E,SDB,CM,M-NJ-12x50.step +NJ12-50,NJ,12,50,,,,,M-NJ-12x50.step +NJ12-50U,NJ,12,50,,,,U,M-NJ-12x50.step +NJ12-50CM,NJ,12,50,,,,CM,M-NJ-12x50.step +NJ12-50LB,NJ,12,50,,,LB,,M-NJ-12x50.step +NJ12-50LBU,NJ,12,50,,,LB,U,M-NJ-12x50.step +NJ12-50LBCM,NJ,12,50,,,LB,CM,M-NJ-12x50.step +NJ12-50FA,NJ,12,50,,,FA,,M-NJ-12x50.step +NJ12-50FAU,NJ,12,50,,,FA,U,M-NJ-12x50.step +NJ12-50FACM,NJ,12,50,,,FA,CM,M-NJ-12x50.step +NJ12-50FB,NJ,12,50,,,FB,,M-NJ-12x50.step +NJ12-50FBU,NJ,12,50,,,FB,U,M-NJ-12x50.step +NJ12-50FBCM,NJ,12,50,,,FB,CM,M-NJ-12x50.step +NJ12-50SDB,NJ,12,50,,,SDB,,M-NJ-12x50.step +NJ12-50SDBU,NJ,12,50,,,SDB,U,M-NJ-12x50.step +NJ12-50SDBCM,NJ,12,50,,,SDB,CM,M-NJ-12x50.step +NJ12-50ME,NJ,12,50,M,E,,,M-NJ-12x50.step +NJ12-50MEU,NJ,12,50,M,E,,U,M-NJ-12x50.step +NJ12-50MECM,NJ,12,50,M,E,,CM,M-NJ-12x50.step +NJ12-50MELB,NJ,12,50,M,E,LB,,M-NJ-12x50.step +NJ12-50MELBU,NJ,12,50,M,E,LB,U,M-NJ-12x50.step +NJ12-50MELBCM,NJ,12,50,M,E,LB,CM,M-NJ-12x50.step +NJ12-50MEFA,NJ,12,50,M,E,FA,,M-NJ-12x50.step +NJ12-50MEFAU,NJ,12,50,M,E,FA,U,M-NJ-12x50.step +NJ12-50MEFACM,NJ,12,50,M,E,FA,CM,M-NJ-12x50.step +NJ12-50MEFB,NJ,12,50,M,E,FB,,M-NJ-12x50.step +NJ12-50MEFBU,NJ,12,50,M,E,FB,U,M-NJ-12x50.step +NJ12-50MEFBCM,NJ,12,50,M,E,FB,CM,M-NJ-12x50.step +NJ12-50MESDB,NJ,12,50,M,E,SDB,,M-NJ-12x50.step +NJ12-50MESDBU,NJ,12,50,M,E,SDB,U,M-NJ-12x50.step +NJ12-50MESDBCM,NJ,12,50,M,E,SDB,CM,M-NJ-12x50.step +NJ12-50M,NJ,12,50,M,,,,M-NJ-12x50.step +NJ12-50MU,NJ,12,50,M,,,U,M-NJ-12x50.step +NJ12-50MCM,NJ,12,50,M,,,CM,M-NJ-12x50.step +NJ12-50MLB,NJ,12,50,M,,LB,,M-NJ-12x50.step +NJ12-50MLBU,NJ,12,50,M,,LB,U,M-NJ-12x50.step +NJ12-50MLBCM,NJ,12,50,M,,LB,CM,M-NJ-12x50.step +NJ12-50MFA,NJ,12,50,M,,FA,,M-NJ-12x50.step +NJ12-50MFAU,NJ,12,50,M,,FA,U,M-NJ-12x50.step +NJ12-50MFACM,NJ,12,50,M,,FA,CM,M-NJ-12x50.step +NJ12-50MFB,NJ,12,50,M,,FB,,M-NJ-12x50.step +NJ12-50MFBU,NJ,12,50,M,,FB,U,M-NJ-12x50.step +NJ12-50MFBCM,NJ,12,50,M,,FB,CM,M-NJ-12x50.step +NJ12-50MSDB,NJ,12,50,M,,SDB,,M-NJ-12x50.step +NJ12-50MSDBU,NJ,12,50,M,,SDB,U,M-NJ-12x50.step +NJ12-50MSDBCM,NJ,12,50,M,,SDB,CM,M-NJ-12x50.step +NJ12-75E,NJ,12,75,,E,,,M-NJ-12x75.step +NJ12-75EU,NJ,12,75,,E,,U,M-NJ-12x75.step +NJ12-75ECM,NJ,12,75,,E,,CM,M-NJ-12x75.step +NJ12-75ELB,NJ,12,75,,E,LB,,M-NJ-12x75.step +NJ12-75ELBU,NJ,12,75,,E,LB,U,M-NJ-12x75.step +NJ12-75ELBCM,NJ,12,75,,E,LB,CM,M-NJ-12x75.step +NJ12-75EFA,NJ,12,75,,E,FA,,M-NJ-12x75.step +NJ12-75EFAU,NJ,12,75,,E,FA,U,M-NJ-12x75.step +NJ12-75EFACM,NJ,12,75,,E,FA,CM,M-NJ-12x75.step +NJ12-75EFB,NJ,12,75,,E,FB,,M-NJ-12x75.step +NJ12-75EFBU,NJ,12,75,,E,FB,U,M-NJ-12x75.step +NJ12-75EFBCM,NJ,12,75,,E,FB,CM,M-NJ-12x75.step +NJ12-75ESDB,NJ,12,75,,E,SDB,,M-NJ-12x75.step +NJ12-75ESDBU,NJ,12,75,,E,SDB,U,M-NJ-12x75.step +NJ12-75ESDBCM,NJ,12,75,,E,SDB,CM,M-NJ-12x75.step +NJ12-75,NJ,12,75,,,,,M-NJ-12x75.step +NJ12-75U,NJ,12,75,,,,U,M-NJ-12x75.step +NJ12-75CM,NJ,12,75,,,,CM,M-NJ-12x75.step +NJ12-75LB,NJ,12,75,,,LB,,M-NJ-12x75.step +NJ12-75LBU,NJ,12,75,,,LB,U,M-NJ-12x75.step +NJ12-75LBCM,NJ,12,75,,,LB,CM,M-NJ-12x75.step +NJ12-75FA,NJ,12,75,,,FA,,M-NJ-12x75.step +NJ12-75FAU,NJ,12,75,,,FA,U,M-NJ-12x75.step +NJ12-75FACM,NJ,12,75,,,FA,CM,M-NJ-12x75.step +NJ12-75FB,NJ,12,75,,,FB,,M-NJ-12x75.step +NJ12-75FBU,NJ,12,75,,,FB,U,M-NJ-12x75.step +NJ12-75FBCM,NJ,12,75,,,FB,CM,M-NJ-12x75.step +NJ12-75SDB,NJ,12,75,,,SDB,,M-NJ-12x75.step +NJ12-75SDBU,NJ,12,75,,,SDB,U,M-NJ-12x75.step +NJ12-75SDBCM,NJ,12,75,,,SDB,CM,M-NJ-12x75.step +NJ12-75ME,NJ,12,75,M,E,,,M-NJ-12x75.step +NJ12-75MEU,NJ,12,75,M,E,,U,M-NJ-12x75.step +NJ12-75MECM,NJ,12,75,M,E,,CM,M-NJ-12x75.step +NJ12-75MELB,NJ,12,75,M,E,LB,,M-NJ-12x75.step +NJ12-75MELBU,NJ,12,75,M,E,LB,U,M-NJ-12x75.step +NJ12-75MELBCM,NJ,12,75,M,E,LB,CM,M-NJ-12x75.step +NJ12-75MEFA,NJ,12,75,M,E,FA,,M-NJ-12x75.step +NJ12-75MEFAU,NJ,12,75,M,E,FA,U,M-NJ-12x75.step +NJ12-75MEFACM,NJ,12,75,M,E,FA,CM,M-NJ-12x75.step +NJ12-75MEFB,NJ,12,75,M,E,FB,,M-NJ-12x75.step +NJ12-75MEFBU,NJ,12,75,M,E,FB,U,M-NJ-12x75.step +NJ12-75MEFBCM,NJ,12,75,M,E,FB,CM,M-NJ-12x75.step +NJ12-75MESDB,NJ,12,75,M,E,SDB,,M-NJ-12x75.step +NJ12-75MESDBU,NJ,12,75,M,E,SDB,U,M-NJ-12x75.step +NJ12-75MESDBCM,NJ,12,75,M,E,SDB,CM,M-NJ-12x75.step +NJ12-75M,NJ,12,75,M,,,,M-NJ-12x75.step +NJ12-75MU,NJ,12,75,M,,,U,M-NJ-12x75.step +NJ12-75MCM,NJ,12,75,M,,,CM,M-NJ-12x75.step +NJ12-75MLB,NJ,12,75,M,,LB,,M-NJ-12x75.step +NJ12-75MLBU,NJ,12,75,M,,LB,U,M-NJ-12x75.step +NJ12-75MLBCM,NJ,12,75,M,,LB,CM,M-NJ-12x75.step +NJ12-75MFA,NJ,12,75,M,,FA,,M-NJ-12x75.step +NJ12-75MFAU,NJ,12,75,M,,FA,U,M-NJ-12x75.step +NJ12-75MFACM,NJ,12,75,M,,FA,CM,M-NJ-12x75.step +NJ12-75MFB,NJ,12,75,M,,FB,,M-NJ-12x75.step +NJ12-75MFBU,NJ,12,75,M,,FB,U,M-NJ-12x75.step +NJ12-75MFBCM,NJ,12,75,M,,FB,CM,M-NJ-12x75.step +NJ12-75MSDB,NJ,12,75,M,,SDB,,M-NJ-12x75.step +NJ12-75MSDBU,NJ,12,75,M,,SDB,U,M-NJ-12x75.step +NJ12-75MSDBCM,NJ,12,75,M,,SDB,CM,M-NJ-12x75.step +NJ12-100E,NJ,12,100,,E,,,M-NJ-12x100.step +NJ12-100EU,NJ,12,100,,E,,U,M-NJ-12x100.step +NJ12-100ECM,NJ,12,100,,E,,CM,M-NJ-12x100.step +NJ12-100ELB,NJ,12,100,,E,LB,,M-NJ-12x100.step +NJ12-100ELBU,NJ,12,100,,E,LB,U,M-NJ-12x100.step +NJ12-100ELBCM,NJ,12,100,,E,LB,CM,M-NJ-12x100.step +NJ12-100EFA,NJ,12,100,,E,FA,,M-NJ-12x100.step +NJ12-100EFAU,NJ,12,100,,E,FA,U,M-NJ-12x100.step +NJ12-100EFACM,NJ,12,100,,E,FA,CM,M-NJ-12x100.step +NJ12-100EFB,NJ,12,100,,E,FB,,M-NJ-12x100.step +NJ12-100EFBU,NJ,12,100,,E,FB,U,M-NJ-12x100.step +NJ12-100EFBCM,NJ,12,100,,E,FB,CM,M-NJ-12x100.step +NJ12-100ESDB,NJ,12,100,,E,SDB,,M-NJ-12x100.step +NJ12-100ESDBU,NJ,12,100,,E,SDB,U,M-NJ-12x100.step +NJ12-100ESDBCM,NJ,12,100,,E,SDB,CM,M-NJ-12x100.step +NJ12-100,NJ,12,100,,,,,M-NJ-12x100.step +NJ12-100U,NJ,12,100,,,,U,M-NJ-12x100.step +NJ12-100CM,NJ,12,100,,,,CM,M-NJ-12x100.step +NJ12-100LB,NJ,12,100,,,LB,,M-NJ-12x100.step +NJ12-100LBU,NJ,12,100,,,LB,U,M-NJ-12x100.step +NJ12-100LBCM,NJ,12,100,,,LB,CM,M-NJ-12x100.step +NJ12-100FA,NJ,12,100,,,FA,,M-NJ-12x100.step +NJ12-100FAU,NJ,12,100,,,FA,U,M-NJ-12x100.step +NJ12-100FACM,NJ,12,100,,,FA,CM,M-NJ-12x100.step +NJ12-100FB,NJ,12,100,,,FB,,M-NJ-12x100.step +NJ12-100FBU,NJ,12,100,,,FB,U,M-NJ-12x100.step +NJ12-100FBCM,NJ,12,100,,,FB,CM,M-NJ-12x100.step +NJ12-100SDB,NJ,12,100,,,SDB,,M-NJ-12x100.step +NJ12-100SDBU,NJ,12,100,,,SDB,U,M-NJ-12x100.step +NJ12-100SDBCM,NJ,12,100,,,SDB,CM,M-NJ-12x100.step +NJ12-100ME,NJ,12,100,M,E,,,M-NJ-12x100.step +NJ12-100MEU,NJ,12,100,M,E,,U,M-NJ-12x100.step +NJ12-100MECM,NJ,12,100,M,E,,CM,M-NJ-12x100.step +NJ12-100MELB,NJ,12,100,M,E,LB,,M-NJ-12x100.step +NJ12-100MELBU,NJ,12,100,M,E,LB,U,M-NJ-12x100.step +NJ12-100MELBCM,NJ,12,100,M,E,LB,CM,M-NJ-12x100.step +NJ12-100MEFA,NJ,12,100,M,E,FA,,M-NJ-12x100.step +NJ12-100MEFAU,NJ,12,100,M,E,FA,U,M-NJ-12x100.step +NJ12-100MEFACM,NJ,12,100,M,E,FA,CM,M-NJ-12x100.step +NJ12-100MEFB,NJ,12,100,M,E,FB,,M-NJ-12x100.step +NJ12-100MEFBU,NJ,12,100,M,E,FB,U,M-NJ-12x100.step +NJ12-100MEFBCM,NJ,12,100,M,E,FB,CM,M-NJ-12x100.step +NJ12-100MESDB,NJ,12,100,M,E,SDB,,M-NJ-12x100.step +NJ12-100MESDBU,NJ,12,100,M,E,SDB,U,M-NJ-12x100.step +NJ12-100MESDBCM,NJ,12,100,M,E,SDB,CM,M-NJ-12x100.step +NJ12-100M,NJ,12,100,M,,,,M-NJ-12x100.step +NJ12-100MU,NJ,12,100,M,,,U,M-NJ-12x100.step +NJ12-100MCM,NJ,12,100,M,,,CM,M-NJ-12x100.step +NJ12-100MLB,NJ,12,100,M,,LB,,M-NJ-12x100.step +NJ12-100MLBU,NJ,12,100,M,,LB,U,M-NJ-12x100.step +NJ12-100MLBCM,NJ,12,100,M,,LB,CM,M-NJ-12x100.step +NJ12-100MFA,NJ,12,100,M,,FA,,M-NJ-12x100.step +NJ12-100MFAU,NJ,12,100,M,,FA,U,M-NJ-12x100.step +NJ12-100MFACM,NJ,12,100,M,,FA,CM,M-NJ-12x100.step +NJ12-100MFB,NJ,12,100,M,,FB,,M-NJ-12x100.step +NJ12-100MFBU,NJ,12,100,M,,FB,U,M-NJ-12x100.step +NJ12-100MFBCM,NJ,12,100,M,,FB,CM,M-NJ-12x100.step +NJ12-100MSDB,NJ,12,100,M,,SDB,,M-NJ-12x100.step +NJ12-100MSDBU,NJ,12,100,M,,SDB,U,M-NJ-12x100.step +NJ12-100MSDBCM,NJ,12,100,M,,SDB,CM,M-NJ-12x100.step +NJ16-10E,NJ,16,10,,E,,,M-NJ-16x10.step +NJ16-10EU,NJ,16,10,,E,,U,M-NJ-16x10.step +NJ16-10ECM,NJ,16,10,,E,,CM,M-NJ-16x10.step +NJ16-10ELB,NJ,16,10,,E,LB,,M-NJ-16x10.step +NJ16-10ELBU,NJ,16,10,,E,LB,U,M-NJ-16x10.step +NJ16-10ELBCM,NJ,16,10,,E,LB,CM,M-NJ-16x10.step +NJ16-10EFA,NJ,16,10,,E,FA,,M-NJ-16x10.step +NJ16-10EFAU,NJ,16,10,,E,FA,U,M-NJ-16x10.step +NJ16-10EFACM,NJ,16,10,,E,FA,CM,M-NJ-16x10.step +NJ16-10EFB,NJ,16,10,,E,FB,,M-NJ-16x10.step +NJ16-10EFBU,NJ,16,10,,E,FB,U,M-NJ-16x10.step +NJ16-10EFBCM,NJ,16,10,,E,FB,CM,M-NJ-16x10.step +NJ16-10ESDB,NJ,16,10,,E,SDB,,M-NJ-16x10.step +NJ16-10ESDBU,NJ,16,10,,E,SDB,U,M-NJ-16x10.step +NJ16-10ESDBCM,NJ,16,10,,E,SDB,CM,M-NJ-16x10.step +NJ16-10,NJ,16,10,,,,,M-NJ-16x10.step +NJ16-10U,NJ,16,10,,,,U,M-NJ-16x10.step +NJ16-10CM,NJ,16,10,,,,CM,M-NJ-16x10.step +NJ16-10LB,NJ,16,10,,,LB,,M-NJ-16x10.step +NJ16-10LBU,NJ,16,10,,,LB,U,M-NJ-16x10.step +NJ16-10LBCM,NJ,16,10,,,LB,CM,M-NJ-16x10.step +NJ16-10FA,NJ,16,10,,,FA,,M-NJ-16x10.step +NJ16-10FAU,NJ,16,10,,,FA,U,M-NJ-16x10.step +NJ16-10FACM,NJ,16,10,,,FA,CM,M-NJ-16x10.step +NJ16-10FB,NJ,16,10,,,FB,,M-NJ-16x10.step +NJ16-10FBU,NJ,16,10,,,FB,U,M-NJ-16x10.step +NJ16-10FBCM,NJ,16,10,,,FB,CM,M-NJ-16x10.step +NJ16-10SDB,NJ,16,10,,,SDB,,M-NJ-16x10.step +NJ16-10SDBU,NJ,16,10,,,SDB,U,M-NJ-16x10.step +NJ16-10SDBCM,NJ,16,10,,,SDB,CM,M-NJ-16x10.step +NJ16-10ME,NJ,16,10,M,E,,,M-NJ-16x10.step +NJ16-10MEU,NJ,16,10,M,E,,U,M-NJ-16x10.step +NJ16-10MECM,NJ,16,10,M,E,,CM,M-NJ-16x10.step +NJ16-10MELB,NJ,16,10,M,E,LB,,M-NJ-16x10.step +NJ16-10MELBU,NJ,16,10,M,E,LB,U,M-NJ-16x10.step +NJ16-10MELBCM,NJ,16,10,M,E,LB,CM,M-NJ-16x10.step +NJ16-10MEFA,NJ,16,10,M,E,FA,,M-NJ-16x10.step +NJ16-10MEFAU,NJ,16,10,M,E,FA,U,M-NJ-16x10.step +NJ16-10MEFACM,NJ,16,10,M,E,FA,CM,M-NJ-16x10.step +NJ16-10MEFB,NJ,16,10,M,E,FB,,M-NJ-16x10.step +NJ16-10MEFBU,NJ,16,10,M,E,FB,U,M-NJ-16x10.step +NJ16-10MEFBCM,NJ,16,10,M,E,FB,CM,M-NJ-16x10.step +NJ16-10MESDB,NJ,16,10,M,E,SDB,,M-NJ-16x10.step +NJ16-10MESDBU,NJ,16,10,M,E,SDB,U,M-NJ-16x10.step +NJ16-10MESDBCM,NJ,16,10,M,E,SDB,CM,M-NJ-16x10.step +NJ16-10M,NJ,16,10,M,,,,M-NJ-16x10.step +NJ16-10MU,NJ,16,10,M,,,U,M-NJ-16x10.step +NJ16-10MCM,NJ,16,10,M,,,CM,M-NJ-16x10.step +NJ16-10MLB,NJ,16,10,M,,LB,,M-NJ-16x10.step +NJ16-10MLBU,NJ,16,10,M,,LB,U,M-NJ-16x10.step +NJ16-10MLBCM,NJ,16,10,M,,LB,CM,M-NJ-16x10.step +NJ16-10MFA,NJ,16,10,M,,FA,,M-NJ-16x10.step +NJ16-10MFAU,NJ,16,10,M,,FA,U,M-NJ-16x10.step +NJ16-10MFACM,NJ,16,10,M,,FA,CM,M-NJ-16x10.step +NJ16-10MFB,NJ,16,10,M,,FB,,M-NJ-16x10.step +NJ16-10MFBU,NJ,16,10,M,,FB,U,M-NJ-16x10.step +NJ16-10MFBCM,NJ,16,10,M,,FB,CM,M-NJ-16x10.step +NJ16-10MSDB,NJ,16,10,M,,SDB,,M-NJ-16x10.step +NJ16-10MSDBU,NJ,16,10,M,,SDB,U,M-NJ-16x10.step +NJ16-10MSDBCM,NJ,16,10,M,,SDB,CM,M-NJ-16x10.step +NJ16-20E,NJ,16,20,,E,,,M-NJ-16x20.step +NJ16-20EU,NJ,16,20,,E,,U,M-NJ-16x20.step +NJ16-20ECM,NJ,16,20,,E,,CM,M-NJ-16x20.step +NJ16-20ELB,NJ,16,20,,E,LB,,M-NJ-16x20.step +NJ16-20ELBU,NJ,16,20,,E,LB,U,M-NJ-16x20.step +NJ16-20ELBCM,NJ,16,20,,E,LB,CM,M-NJ-16x20.step +NJ16-20EFA,NJ,16,20,,E,FA,,M-NJ-16x20.step +NJ16-20EFAU,NJ,16,20,,E,FA,U,M-NJ-16x20.step +NJ16-20EFACM,NJ,16,20,,E,FA,CM,M-NJ-16x20.step +NJ16-20EFB,NJ,16,20,,E,FB,,M-NJ-16x20.step +NJ16-20EFBU,NJ,16,20,,E,FB,U,M-NJ-16x20.step +NJ16-20EFBCM,NJ,16,20,,E,FB,CM,M-NJ-16x20.step +NJ16-20ESDB,NJ,16,20,,E,SDB,,M-NJ-16x20.step +NJ16-20ESDBU,NJ,16,20,,E,SDB,U,M-NJ-16x20.step +NJ16-20ESDBCM,NJ,16,20,,E,SDB,CM,M-NJ-16x20.step +NJ16-20,NJ,16,20,,,,,M-NJ-16x20.step +NJ16-20U,NJ,16,20,,,,U,M-NJ-16x20.step +NJ16-20CM,NJ,16,20,,,,CM,M-NJ-16x20.step +NJ16-20LB,NJ,16,20,,,LB,,M-NJ-16x20.step +NJ16-20LBU,NJ,16,20,,,LB,U,M-NJ-16x20.step +NJ16-20LBCM,NJ,16,20,,,LB,CM,M-NJ-16x20.step +NJ16-20FA,NJ,16,20,,,FA,,M-NJ-16x20.step +NJ16-20FAU,NJ,16,20,,,FA,U,M-NJ-16x20.step +NJ16-20FACM,NJ,16,20,,,FA,CM,M-NJ-16x20.step +NJ16-20FB,NJ,16,20,,,FB,,M-NJ-16x20.step +NJ16-20FBU,NJ,16,20,,,FB,U,M-NJ-16x20.step +NJ16-20FBCM,NJ,16,20,,,FB,CM,M-NJ-16x20.step +NJ16-20SDB,NJ,16,20,,,SDB,,M-NJ-16x20.step +NJ16-20SDBU,NJ,16,20,,,SDB,U,M-NJ-16x20.step +NJ16-20SDBCM,NJ,16,20,,,SDB,CM,M-NJ-16x20.step +NJ16-20ME,NJ,16,20,M,E,,,M-NJ-16x20.step +NJ16-20MEU,NJ,16,20,M,E,,U,M-NJ-16x20.step +NJ16-20MECM,NJ,16,20,M,E,,CM,M-NJ-16x20.step +NJ16-20MELB,NJ,16,20,M,E,LB,,M-NJ-16x20.step +NJ16-20MELBU,NJ,16,20,M,E,LB,U,M-NJ-16x20.step +NJ16-20MELBCM,NJ,16,20,M,E,LB,CM,M-NJ-16x20.step +NJ16-20MEFA,NJ,16,20,M,E,FA,,M-NJ-16x20.step +NJ16-20MEFAU,NJ,16,20,M,E,FA,U,M-NJ-16x20.step +NJ16-20MEFACM,NJ,16,20,M,E,FA,CM,M-NJ-16x20.step +NJ16-20MEFB,NJ,16,20,M,E,FB,,M-NJ-16x20.step +NJ16-20MEFBU,NJ,16,20,M,E,FB,U,M-NJ-16x20.step +NJ16-20MEFBCM,NJ,16,20,M,E,FB,CM,M-NJ-16x20.step +NJ16-20MESDB,NJ,16,20,M,E,SDB,,M-NJ-16x20.step +NJ16-20MESDBU,NJ,16,20,M,E,SDB,U,M-NJ-16x20.step +NJ16-20MESDBCM,NJ,16,20,M,E,SDB,CM,M-NJ-16x20.step +NJ16-20M,NJ,16,20,M,,,,M-NJ-16x20.step +NJ16-20MU,NJ,16,20,M,,,U,M-NJ-16x20.step +NJ16-20MCM,NJ,16,20,M,,,CM,M-NJ-16x20.step +NJ16-20MLB,NJ,16,20,M,,LB,,M-NJ-16x20.step +NJ16-20MLBU,NJ,16,20,M,,LB,U,M-NJ-16x20.step +NJ16-20MLBCM,NJ,16,20,M,,LB,CM,M-NJ-16x20.step +NJ16-20MFA,NJ,16,20,M,,FA,,M-NJ-16x20.step +NJ16-20MFAU,NJ,16,20,M,,FA,U,M-NJ-16x20.step +NJ16-20MFACM,NJ,16,20,M,,FA,CM,M-NJ-16x20.step +NJ16-20MFB,NJ,16,20,M,,FB,,M-NJ-16x20.step +NJ16-20MFBU,NJ,16,20,M,,FB,U,M-NJ-16x20.step +NJ16-20MFBCM,NJ,16,20,M,,FB,CM,M-NJ-16x20.step +NJ16-20MSDB,NJ,16,20,M,,SDB,,M-NJ-16x20.step +NJ16-20MSDBU,NJ,16,20,M,,SDB,U,M-NJ-16x20.step +NJ16-20MSDBCM,NJ,16,20,M,,SDB,CM,M-NJ-16x20.step +NJ16-30E,NJ,16,30,,E,,,M-NJ-16x30.step +NJ16-30EU,NJ,16,30,,E,,U,M-NJ-16x30.step +NJ16-30ECM,NJ,16,30,,E,,CM,M-NJ-16x30.step +NJ16-30ELB,NJ,16,30,,E,LB,,M-NJ-16x30.step +NJ16-30ELBU,NJ,16,30,,E,LB,U,M-NJ-16x30.step +NJ16-30ELBCM,NJ,16,30,,E,LB,CM,M-NJ-16x30.step +NJ16-30EFA,NJ,16,30,,E,FA,,M-NJ-16x30.step +NJ16-30EFAU,NJ,16,30,,E,FA,U,M-NJ-16x30.step +NJ16-30EFACM,NJ,16,30,,E,FA,CM,M-NJ-16x30.step +NJ16-30EFB,NJ,16,30,,E,FB,,M-NJ-16x30.step +NJ16-30EFBU,NJ,16,30,,E,FB,U,M-NJ-16x30.step +NJ16-30EFBCM,NJ,16,30,,E,FB,CM,M-NJ-16x30.step +NJ16-30ESDB,NJ,16,30,,E,SDB,,M-NJ-16x30.step +NJ16-30ESDBU,NJ,16,30,,E,SDB,U,M-NJ-16x30.step +NJ16-30ESDBCM,NJ,16,30,,E,SDB,CM,M-NJ-16x30.step +NJ16-30,NJ,16,30,,,,,M-NJ-16x30.step +NJ16-30U,NJ,16,30,,,,U,M-NJ-16x30.step +NJ16-30CM,NJ,16,30,,,,CM,M-NJ-16x30.step +NJ16-30LB,NJ,16,30,,,LB,,M-NJ-16x30.step +NJ16-30LBU,NJ,16,30,,,LB,U,M-NJ-16x30.step +NJ16-30LBCM,NJ,16,30,,,LB,CM,M-NJ-16x30.step +NJ16-30FA,NJ,16,30,,,FA,,M-NJ-16x30.step +NJ16-30FAU,NJ,16,30,,,FA,U,M-NJ-16x30.step +NJ16-30FACM,NJ,16,30,,,FA,CM,M-NJ-16x30.step +NJ16-30FB,NJ,16,30,,,FB,,M-NJ-16x30.step +NJ16-30FBU,NJ,16,30,,,FB,U,M-NJ-16x30.step +NJ16-30FBCM,NJ,16,30,,,FB,CM,M-NJ-16x30.step +NJ16-30SDB,NJ,16,30,,,SDB,,M-NJ-16x30.step +NJ16-30SDBU,NJ,16,30,,,SDB,U,M-NJ-16x30.step +NJ16-30SDBCM,NJ,16,30,,,SDB,CM,M-NJ-16x30.step +NJ16-30ME,NJ,16,30,M,E,,,M-NJ-16x30.step +NJ16-30MEU,NJ,16,30,M,E,,U,M-NJ-16x30.step +NJ16-30MECM,NJ,16,30,M,E,,CM,M-NJ-16x30.step +NJ16-30MELB,NJ,16,30,M,E,LB,,M-NJ-16x30.step +NJ16-30MELBU,NJ,16,30,M,E,LB,U,M-NJ-16x30.step +NJ16-30MELBCM,NJ,16,30,M,E,LB,CM,M-NJ-16x30.step +NJ16-30MEFA,NJ,16,30,M,E,FA,,M-NJ-16x30.step +NJ16-30MEFAU,NJ,16,30,M,E,FA,U,M-NJ-16x30.step +NJ16-30MEFACM,NJ,16,30,M,E,FA,CM,M-NJ-16x30.step +NJ16-30MEFB,NJ,16,30,M,E,FB,,M-NJ-16x30.step +NJ16-30MEFBU,NJ,16,30,M,E,FB,U,M-NJ-16x30.step +NJ16-30MEFBCM,NJ,16,30,M,E,FB,CM,M-NJ-16x30.step +NJ16-30MESDB,NJ,16,30,M,E,SDB,,M-NJ-16x30.step +NJ16-30MESDBU,NJ,16,30,M,E,SDB,U,M-NJ-16x30.step +NJ16-30MESDBCM,NJ,16,30,M,E,SDB,CM,M-NJ-16x30.step +NJ16-30M,NJ,16,30,M,,,,M-NJ-16x30.step +NJ16-30MU,NJ,16,30,M,,,U,M-NJ-16x30.step +NJ16-30MCM,NJ,16,30,M,,,CM,M-NJ-16x30.step +NJ16-30MLB,NJ,16,30,M,,LB,,M-NJ-16x30.step +NJ16-30MLBU,NJ,16,30,M,,LB,U,M-NJ-16x30.step +NJ16-30MLBCM,NJ,16,30,M,,LB,CM,M-NJ-16x30.step +NJ16-30MFA,NJ,16,30,M,,FA,,M-NJ-16x30.step +NJ16-30MFAU,NJ,16,30,M,,FA,U,M-NJ-16x30.step +NJ16-30MFACM,NJ,16,30,M,,FA,CM,M-NJ-16x30.step +NJ16-30MFB,NJ,16,30,M,,FB,,M-NJ-16x30.step +NJ16-30MFBU,NJ,16,30,M,,FB,U,M-NJ-16x30.step +NJ16-30MFBCM,NJ,16,30,M,,FB,CM,M-NJ-16x30.step +NJ16-30MSDB,NJ,16,30,M,,SDB,,M-NJ-16x30.step +NJ16-30MSDBU,NJ,16,30,M,,SDB,U,M-NJ-16x30.step +NJ16-30MSDBCM,NJ,16,30,M,,SDB,CM,M-NJ-16x30.step +NJ16-50E,NJ,16,50,,E,,,M-NJ-16x50.step +NJ16-50EU,NJ,16,50,,E,,U,M-NJ-16x50.step +NJ16-50ECM,NJ,16,50,,E,,CM,M-NJ-16x50.step +NJ16-50ELB,NJ,16,50,,E,LB,,M-NJ-16x50.step +NJ16-50ELBU,NJ,16,50,,E,LB,U,M-NJ-16x50.step +NJ16-50ELBCM,NJ,16,50,,E,LB,CM,M-NJ-16x50.step +NJ16-50EFA,NJ,16,50,,E,FA,,M-NJ-16x50.step +NJ16-50EFAU,NJ,16,50,,E,FA,U,M-NJ-16x50.step +NJ16-50EFACM,NJ,16,50,,E,FA,CM,M-NJ-16x50.step +NJ16-50EFB,NJ,16,50,,E,FB,,M-NJ-16x50.step +NJ16-50EFBU,NJ,16,50,,E,FB,U,M-NJ-16x50.step +NJ16-50EFBCM,NJ,16,50,,E,FB,CM,M-NJ-16x50.step +NJ16-50ESDB,NJ,16,50,,E,SDB,,M-NJ-16x50.step +NJ16-50ESDBU,NJ,16,50,,E,SDB,U,M-NJ-16x50.step +NJ16-50ESDBCM,NJ,16,50,,E,SDB,CM,M-NJ-16x50.step +NJ16-50,NJ,16,50,,,,,M-NJ-16x50.step +NJ16-50U,NJ,16,50,,,,U,M-NJ-16x50.step +NJ16-50CM,NJ,16,50,,,,CM,M-NJ-16x50.step +NJ16-50LB,NJ,16,50,,,LB,,M-NJ-16x50.step +NJ16-50LBU,NJ,16,50,,,LB,U,M-NJ-16x50.step +NJ16-50LBCM,NJ,16,50,,,LB,CM,M-NJ-16x50.step +NJ16-50FA,NJ,16,50,,,FA,,M-NJ-16x50.step +NJ16-50FAU,NJ,16,50,,,FA,U,M-NJ-16x50.step +NJ16-50FACM,NJ,16,50,,,FA,CM,M-NJ-16x50.step +NJ16-50FB,NJ,16,50,,,FB,,M-NJ-16x50.step +NJ16-50FBU,NJ,16,50,,,FB,U,M-NJ-16x50.step +NJ16-50FBCM,NJ,16,50,,,FB,CM,M-NJ-16x50.step +NJ16-50SDB,NJ,16,50,,,SDB,,M-NJ-16x50.step +NJ16-50SDBU,NJ,16,50,,,SDB,U,M-NJ-16x50.step +NJ16-50SDBCM,NJ,16,50,,,SDB,CM,M-NJ-16x50.step +NJ16-50ME,NJ,16,50,M,E,,,M-NJ-16x50.step +NJ16-50MEU,NJ,16,50,M,E,,U,M-NJ-16x50.step +NJ16-50MECM,NJ,16,50,M,E,,CM,M-NJ-16x50.step +NJ16-50MELB,NJ,16,50,M,E,LB,,M-NJ-16x50.step +NJ16-50MELBU,NJ,16,50,M,E,LB,U,M-NJ-16x50.step +NJ16-50MELBCM,NJ,16,50,M,E,LB,CM,M-NJ-16x50.step +NJ16-50MEFA,NJ,16,50,M,E,FA,,M-NJ-16x50.step +NJ16-50MEFAU,NJ,16,50,M,E,FA,U,M-NJ-16x50.step +NJ16-50MEFACM,NJ,16,50,M,E,FA,CM,M-NJ-16x50.step +NJ16-50MEFB,NJ,16,50,M,E,FB,,M-NJ-16x50.step +NJ16-50MEFBU,NJ,16,50,M,E,FB,U,M-NJ-16x50.step +NJ16-50MEFBCM,NJ,16,50,M,E,FB,CM,M-NJ-16x50.step +NJ16-50MESDB,NJ,16,50,M,E,SDB,,M-NJ-16x50.step +NJ16-50MESDBU,NJ,16,50,M,E,SDB,U,M-NJ-16x50.step +NJ16-50MESDBCM,NJ,16,50,M,E,SDB,CM,M-NJ-16x50.step +NJ16-50M,NJ,16,50,M,,,,M-NJ-16x50.step +NJ16-50MU,NJ,16,50,M,,,U,M-NJ-16x50.step +NJ16-50MCM,NJ,16,50,M,,,CM,M-NJ-16x50.step +NJ16-50MLB,NJ,16,50,M,,LB,,M-NJ-16x50.step +NJ16-50MLBU,NJ,16,50,M,,LB,U,M-NJ-16x50.step +NJ16-50MLBCM,NJ,16,50,M,,LB,CM,M-NJ-16x50.step +NJ16-50MFA,NJ,16,50,M,,FA,,M-NJ-16x50.step +NJ16-50MFAU,NJ,16,50,M,,FA,U,M-NJ-16x50.step +NJ16-50MFACM,NJ,16,50,M,,FA,CM,M-NJ-16x50.step +NJ16-50MFB,NJ,16,50,M,,FB,,M-NJ-16x50.step +NJ16-50MFBU,NJ,16,50,M,,FB,U,M-NJ-16x50.step +NJ16-50MFBCM,NJ,16,50,M,,FB,CM,M-NJ-16x50.step +NJ16-50MSDB,NJ,16,50,M,,SDB,,M-NJ-16x50.step +NJ16-50MSDBU,NJ,16,50,M,,SDB,U,M-NJ-16x50.step +NJ16-50MSDBCM,NJ,16,50,M,,SDB,CM,M-NJ-16x50.step +NJ16-75E,NJ,16,75,,E,,,M-NJ-16x75.step +NJ16-75EU,NJ,16,75,,E,,U,M-NJ-16x75.step +NJ16-75ECM,NJ,16,75,,E,,CM,M-NJ-16x75.step +NJ16-75ELB,NJ,16,75,,E,LB,,M-NJ-16x75.step +NJ16-75ELBU,NJ,16,75,,E,LB,U,M-NJ-16x75.step +NJ16-75ELBCM,NJ,16,75,,E,LB,CM,M-NJ-16x75.step +NJ16-75EFA,NJ,16,75,,E,FA,,M-NJ-16x75.step +NJ16-75EFAU,NJ,16,75,,E,FA,U,M-NJ-16x75.step +NJ16-75EFACM,NJ,16,75,,E,FA,CM,M-NJ-16x75.step +NJ16-75EFB,NJ,16,75,,E,FB,,M-NJ-16x75.step +NJ16-75EFBU,NJ,16,75,,E,FB,U,M-NJ-16x75.step +NJ16-75EFBCM,NJ,16,75,,E,FB,CM,M-NJ-16x75.step +NJ16-75ESDB,NJ,16,75,,E,SDB,,M-NJ-16x75.step +NJ16-75ESDBU,NJ,16,75,,E,SDB,U,M-NJ-16x75.step +NJ16-75ESDBCM,NJ,16,75,,E,SDB,CM,M-NJ-16x75.step +NJ16-75,NJ,16,75,,,,,M-NJ-16x75.step +NJ16-75U,NJ,16,75,,,,U,M-NJ-16x75.step +NJ16-75CM,NJ,16,75,,,,CM,M-NJ-16x75.step +NJ16-75LB,NJ,16,75,,,LB,,M-NJ-16x75.step +NJ16-75LBU,NJ,16,75,,,LB,U,M-NJ-16x75.step +NJ16-75LBCM,NJ,16,75,,,LB,CM,M-NJ-16x75.step +NJ16-75FA,NJ,16,75,,,FA,,M-NJ-16x75.step +NJ16-75FAU,NJ,16,75,,,FA,U,M-NJ-16x75.step +NJ16-75FACM,NJ,16,75,,,FA,CM,M-NJ-16x75.step +NJ16-75FB,NJ,16,75,,,FB,,M-NJ-16x75.step +NJ16-75FBU,NJ,16,75,,,FB,U,M-NJ-16x75.step +NJ16-75FBCM,NJ,16,75,,,FB,CM,M-NJ-16x75.step +NJ16-75SDB,NJ,16,75,,,SDB,,M-NJ-16x75.step +NJ16-75SDBU,NJ,16,75,,,SDB,U,M-NJ-16x75.step +NJ16-75SDBCM,NJ,16,75,,,SDB,CM,M-NJ-16x75.step +NJ16-75ME,NJ,16,75,M,E,,,M-NJ-16x75.step +NJ16-75MEU,NJ,16,75,M,E,,U,M-NJ-16x75.step +NJ16-75MECM,NJ,16,75,M,E,,CM,M-NJ-16x75.step +NJ16-75MELB,NJ,16,75,M,E,LB,,M-NJ-16x75.step +NJ16-75MELBU,NJ,16,75,M,E,LB,U,M-NJ-16x75.step +NJ16-75MELBCM,NJ,16,75,M,E,LB,CM,M-NJ-16x75.step +NJ16-75MEFA,NJ,16,75,M,E,FA,,M-NJ-16x75.step +NJ16-75MEFAU,NJ,16,75,M,E,FA,U,M-NJ-16x75.step +NJ16-75MEFACM,NJ,16,75,M,E,FA,CM,M-NJ-16x75.step +NJ16-75MEFB,NJ,16,75,M,E,FB,,M-NJ-16x75.step +NJ16-75MEFBU,NJ,16,75,M,E,FB,U,M-NJ-16x75.step +NJ16-75MEFBCM,NJ,16,75,M,E,FB,CM,M-NJ-16x75.step +NJ16-75MESDB,NJ,16,75,M,E,SDB,,M-NJ-16x75.step +NJ16-75MESDBU,NJ,16,75,M,E,SDB,U,M-NJ-16x75.step +NJ16-75MESDBCM,NJ,16,75,M,E,SDB,CM,M-NJ-16x75.step +NJ16-75M,NJ,16,75,M,,,,M-NJ-16x75.step +NJ16-75MU,NJ,16,75,M,,,U,M-NJ-16x75.step +NJ16-75MCM,NJ,16,75,M,,,CM,M-NJ-16x75.step +NJ16-75MLB,NJ,16,75,M,,LB,,M-NJ-16x75.step +NJ16-75MLBU,NJ,16,75,M,,LB,U,M-NJ-16x75.step +NJ16-75MLBCM,NJ,16,75,M,,LB,CM,M-NJ-16x75.step +NJ16-75MFA,NJ,16,75,M,,FA,,M-NJ-16x75.step +NJ16-75MFAU,NJ,16,75,M,,FA,U,M-NJ-16x75.step +NJ16-75MFACM,NJ,16,75,M,,FA,CM,M-NJ-16x75.step +NJ16-75MFB,NJ,16,75,M,,FB,,M-NJ-16x75.step +NJ16-75MFBU,NJ,16,75,M,,FB,U,M-NJ-16x75.step +NJ16-75MFBCM,NJ,16,75,M,,FB,CM,M-NJ-16x75.step +NJ16-75MSDB,NJ,16,75,M,,SDB,,M-NJ-16x75.step +NJ16-75MSDBU,NJ,16,75,M,,SDB,U,M-NJ-16x75.step +NJ16-75MSDBCM,NJ,16,75,M,,SDB,CM,M-NJ-16x75.step +NJ16-100E,NJ,16,100,,E,,,M-NJ-16x100.step +NJ16-100EU,NJ,16,100,,E,,U,M-NJ-16x100.step +NJ16-100ECM,NJ,16,100,,E,,CM,M-NJ-16x100.step +NJ16-100ELB,NJ,16,100,,E,LB,,M-NJ-16x100.step +NJ16-100ELBU,NJ,16,100,,E,LB,U,M-NJ-16x100.step +NJ16-100ELBCM,NJ,16,100,,E,LB,CM,M-NJ-16x100.step +NJ16-100EFA,NJ,16,100,,E,FA,,M-NJ-16x100.step +NJ16-100EFAU,NJ,16,100,,E,FA,U,M-NJ-16x100.step +NJ16-100EFACM,NJ,16,100,,E,FA,CM,M-NJ-16x100.step +NJ16-100EFB,NJ,16,100,,E,FB,,M-NJ-16x100.step +NJ16-100EFBU,NJ,16,100,,E,FB,U,M-NJ-16x100.step +NJ16-100EFBCM,NJ,16,100,,E,FB,CM,M-NJ-16x100.step +NJ16-100ESDB,NJ,16,100,,E,SDB,,M-NJ-16x100.step +NJ16-100ESDBU,NJ,16,100,,E,SDB,U,M-NJ-16x100.step +NJ16-100ESDBCM,NJ,16,100,,E,SDB,CM,M-NJ-16x100.step +NJ16-100,NJ,16,100,,,,,M-NJ-16x100.step +NJ16-100U,NJ,16,100,,,,U,M-NJ-16x100.step +NJ16-100CM,NJ,16,100,,,,CM,M-NJ-16x100.step +NJ16-100LB,NJ,16,100,,,LB,,M-NJ-16x100.step +NJ16-100LBU,NJ,16,100,,,LB,U,M-NJ-16x100.step +NJ16-100LBCM,NJ,16,100,,,LB,CM,M-NJ-16x100.step +NJ16-100FA,NJ,16,100,,,FA,,M-NJ-16x100.step +NJ16-100FAU,NJ,16,100,,,FA,U,M-NJ-16x100.step +NJ16-100FACM,NJ,16,100,,,FA,CM,M-NJ-16x100.step +NJ16-100FB,NJ,16,100,,,FB,,M-NJ-16x100.step +NJ16-100FBU,NJ,16,100,,,FB,U,M-NJ-16x100.step +NJ16-100FBCM,NJ,16,100,,,FB,CM,M-NJ-16x100.step +NJ16-100SDB,NJ,16,100,,,SDB,,M-NJ-16x100.step +NJ16-100SDBU,NJ,16,100,,,SDB,U,M-NJ-16x100.step +NJ16-100SDBCM,NJ,16,100,,,SDB,CM,M-NJ-16x100.step +NJ16-100ME,NJ,16,100,M,E,,,M-NJ-16x100.step +NJ16-100MEU,NJ,16,100,M,E,,U,M-NJ-16x100.step +NJ16-100MECM,NJ,16,100,M,E,,CM,M-NJ-16x100.step +NJ16-100MELB,NJ,16,100,M,E,LB,,M-NJ-16x100.step +NJ16-100MELBU,NJ,16,100,M,E,LB,U,M-NJ-16x100.step +NJ16-100MELBCM,NJ,16,100,M,E,LB,CM,M-NJ-16x100.step +NJ16-100MEFA,NJ,16,100,M,E,FA,,M-NJ-16x100.step +NJ16-100MEFAU,NJ,16,100,M,E,FA,U,M-NJ-16x100.step +NJ16-100MEFACM,NJ,16,100,M,E,FA,CM,M-NJ-16x100.step +NJ16-100MEFB,NJ,16,100,M,E,FB,,M-NJ-16x100.step +NJ16-100MEFBU,NJ,16,100,M,E,FB,U,M-NJ-16x100.step +NJ16-100MEFBCM,NJ,16,100,M,E,FB,CM,M-NJ-16x100.step +NJ16-100MESDB,NJ,16,100,M,E,SDB,,M-NJ-16x100.step +NJ16-100MESDBU,NJ,16,100,M,E,SDB,U,M-NJ-16x100.step +NJ16-100MESDBCM,NJ,16,100,M,E,SDB,CM,M-NJ-16x100.step +NJ16-100M,NJ,16,100,M,,,,M-NJ-16x100.step +NJ16-100MU,NJ,16,100,M,,,U,M-NJ-16x100.step +NJ16-100MCM,NJ,16,100,M,,,CM,M-NJ-16x100.step +NJ16-100MLB,NJ,16,100,M,,LB,,M-NJ-16x100.step +NJ16-100MLBU,NJ,16,100,M,,LB,U,M-NJ-16x100.step +NJ16-100MLBCM,NJ,16,100,M,,LB,CM,M-NJ-16x100.step +NJ16-100MFA,NJ,16,100,M,,FA,,M-NJ-16x100.step +NJ16-100MFAU,NJ,16,100,M,,FA,U,M-NJ-16x100.step +NJ16-100MFACM,NJ,16,100,M,,FA,CM,M-NJ-16x100.step +NJ16-100MFB,NJ,16,100,M,,FB,,M-NJ-16x100.step +NJ16-100MFBU,NJ,16,100,M,,FB,U,M-NJ-16x100.step +NJ16-100MFBCM,NJ,16,100,M,,FB,CM,M-NJ-16x100.step +NJ16-100MSDB,NJ,16,100,M,,SDB,,M-NJ-16x100.step +NJ16-100MSDBU,NJ,16,100,M,,SDB,U,M-NJ-16x100.step +NJ16-100MSDBCM,NJ,16,100,M,,SDB,CM,M-NJ-16x100.step +NJ20-10E,NJ,20,10,,E,,,M-NJ-20x10.step +NJ20-10EU,NJ,20,10,,E,,U,M-NJ-20x10.step +NJ20-10ECM,NJ,20,10,,E,,CM,M-NJ-20x10.step +NJ20-10ELB,NJ,20,10,,E,LB,,M-NJ-20x10.step +NJ20-10ELBU,NJ,20,10,,E,LB,U,M-NJ-20x10.step +NJ20-10ELBCM,NJ,20,10,,E,LB,CM,M-NJ-20x10.step +NJ20-10EFA,NJ,20,10,,E,FA,,M-NJ-20x10.step +NJ20-10EFAU,NJ,20,10,,E,FA,U,M-NJ-20x10.step +NJ20-10EFACM,NJ,20,10,,E,FA,CM,M-NJ-20x10.step +NJ20-10EFB,NJ,20,10,,E,FB,,M-NJ-20x10.step +NJ20-10EFBU,NJ,20,10,,E,FB,U,M-NJ-20x10.step +NJ20-10EFBCM,NJ,20,10,,E,FB,CM,M-NJ-20x10.step +NJ20-10ESDB,NJ,20,10,,E,SDB,,M-NJ-20x10.step +NJ20-10ESDBU,NJ,20,10,,E,SDB,U,M-NJ-20x10.step +NJ20-10ESDBCM,NJ,20,10,,E,SDB,CM,M-NJ-20x10.step +NJ20-10,NJ,20,10,,,,,M-NJ-20x10.step +NJ20-10U,NJ,20,10,,,,U,M-NJ-20x10.step +NJ20-10CM,NJ,20,10,,,,CM,M-NJ-20x10.step +NJ20-10LB,NJ,20,10,,,LB,,M-NJ-20x10.step +NJ20-10LBU,NJ,20,10,,,LB,U,M-NJ-20x10.step +NJ20-10LBCM,NJ,20,10,,,LB,CM,M-NJ-20x10.step +NJ20-10FA,NJ,20,10,,,FA,,M-NJ-20x10.step +NJ20-10FAU,NJ,20,10,,,FA,U,M-NJ-20x10.step +NJ20-10FACM,NJ,20,10,,,FA,CM,M-NJ-20x10.step +NJ20-10FB,NJ,20,10,,,FB,,M-NJ-20x10.step +NJ20-10FBU,NJ,20,10,,,FB,U,M-NJ-20x10.step +NJ20-10FBCM,NJ,20,10,,,FB,CM,M-NJ-20x10.step +NJ20-10SDB,NJ,20,10,,,SDB,,M-NJ-20x10.step +NJ20-10SDBU,NJ,20,10,,,SDB,U,M-NJ-20x10.step +NJ20-10SDBCM,NJ,20,10,,,SDB,CM,M-NJ-20x10.step +NJ20-10ME,NJ,20,10,M,E,,,M-NJ-20x10.step +NJ20-10MEU,NJ,20,10,M,E,,U,M-NJ-20x10.step +NJ20-10MECM,NJ,20,10,M,E,,CM,M-NJ-20x10.step +NJ20-10MELB,NJ,20,10,M,E,LB,,M-NJ-20x10.step +NJ20-10MELBU,NJ,20,10,M,E,LB,U,M-NJ-20x10.step +NJ20-10MELBCM,NJ,20,10,M,E,LB,CM,M-NJ-20x10.step +NJ20-10MEFA,NJ,20,10,M,E,FA,,M-NJ-20x10.step +NJ20-10MEFAU,NJ,20,10,M,E,FA,U,M-NJ-20x10.step +NJ20-10MEFACM,NJ,20,10,M,E,FA,CM,M-NJ-20x10.step +NJ20-10MEFB,NJ,20,10,M,E,FB,,M-NJ-20x10.step +NJ20-10MEFBU,NJ,20,10,M,E,FB,U,M-NJ-20x10.step +NJ20-10MEFBCM,NJ,20,10,M,E,FB,CM,M-NJ-20x10.step +NJ20-10MESDB,NJ,20,10,M,E,SDB,,M-NJ-20x10.step +NJ20-10MESDBU,NJ,20,10,M,E,SDB,U,M-NJ-20x10.step +NJ20-10MESDBCM,NJ,20,10,M,E,SDB,CM,M-NJ-20x10.step +NJ20-10M,NJ,20,10,M,,,,M-NJ-20x10.step +NJ20-10MU,NJ,20,10,M,,,U,M-NJ-20x10.step +NJ20-10MCM,NJ,20,10,M,,,CM,M-NJ-20x10.step +NJ20-10MLB,NJ,20,10,M,,LB,,M-NJ-20x10.step +NJ20-10MLBU,NJ,20,10,M,,LB,U,M-NJ-20x10.step +NJ20-10MLBCM,NJ,20,10,M,,LB,CM,M-NJ-20x10.step +NJ20-10MFA,NJ,20,10,M,,FA,,M-NJ-20x10.step +NJ20-10MFAU,NJ,20,10,M,,FA,U,M-NJ-20x10.step +NJ20-10MFACM,NJ,20,10,M,,FA,CM,M-NJ-20x10.step +NJ20-10MFB,NJ,20,10,M,,FB,,M-NJ-20x10.step +NJ20-10MFBU,NJ,20,10,M,,FB,U,M-NJ-20x10.step +NJ20-10MFBCM,NJ,20,10,M,,FB,CM,M-NJ-20x10.step +NJ20-10MSDB,NJ,20,10,M,,SDB,,M-NJ-20x10.step +NJ20-10MSDBU,NJ,20,10,M,,SDB,U,M-NJ-20x10.step +NJ20-10MSDBCM,NJ,20,10,M,,SDB,CM,M-NJ-20x10.step +NJ20-20E,NJ,20,20,,E,,,M-NJ-20x20.step +NJ20-20EU,NJ,20,20,,E,,U,M-NJ-20x20.step +NJ20-20ECM,NJ,20,20,,E,,CM,M-NJ-20x20.step +NJ20-20ELB,NJ,20,20,,E,LB,,M-NJ-20x20.step +NJ20-20ELBU,NJ,20,20,,E,LB,U,M-NJ-20x20.step +NJ20-20ELBCM,NJ,20,20,,E,LB,CM,M-NJ-20x20.step +NJ20-20EFA,NJ,20,20,,E,FA,,M-NJ-20x20.step +NJ20-20EFAU,NJ,20,20,,E,FA,U,M-NJ-20x20.step +NJ20-20EFACM,NJ,20,20,,E,FA,CM,M-NJ-20x20.step +NJ20-20EFB,NJ,20,20,,E,FB,,M-NJ-20x20.step +NJ20-20EFBU,NJ,20,20,,E,FB,U,M-NJ-20x20.step +NJ20-20EFBCM,NJ,20,20,,E,FB,CM,M-NJ-20x20.step +NJ20-20ESDB,NJ,20,20,,E,SDB,,M-NJ-20x20.step +NJ20-20ESDBU,NJ,20,20,,E,SDB,U,M-NJ-20x20.step +NJ20-20ESDBCM,NJ,20,20,,E,SDB,CM,M-NJ-20x20.step +NJ20-20,NJ,20,20,,,,,M-NJ-20x20.step +NJ20-20U,NJ,20,20,,,,U,M-NJ-20x20.step +NJ20-20CM,NJ,20,20,,,,CM,M-NJ-20x20.step +NJ20-20LB,NJ,20,20,,,LB,,M-NJ-20x20.step +NJ20-20LBU,NJ,20,20,,,LB,U,M-NJ-20x20.step +NJ20-20LBCM,NJ,20,20,,,LB,CM,M-NJ-20x20.step +NJ20-20FA,NJ,20,20,,,FA,,M-NJ-20x20.step +NJ20-20FAU,NJ,20,20,,,FA,U,M-NJ-20x20.step +NJ20-20FACM,NJ,20,20,,,FA,CM,M-NJ-20x20.step +NJ20-20FB,NJ,20,20,,,FB,,M-NJ-20x20.step +NJ20-20FBU,NJ,20,20,,,FB,U,M-NJ-20x20.step +NJ20-20FBCM,NJ,20,20,,,FB,CM,M-NJ-20x20.step +NJ20-20SDB,NJ,20,20,,,SDB,,M-NJ-20x20.step +NJ20-20SDBU,NJ,20,20,,,SDB,U,M-NJ-20x20.step +NJ20-20SDBCM,NJ,20,20,,,SDB,CM,M-NJ-20x20.step +NJ20-20ME,NJ,20,20,M,E,,,M-NJ-20x20.step +NJ20-20MEU,NJ,20,20,M,E,,U,M-NJ-20x20.step +NJ20-20MECM,NJ,20,20,M,E,,CM,M-NJ-20x20.step +NJ20-20MELB,NJ,20,20,M,E,LB,,M-NJ-20x20.step +NJ20-20MELBU,NJ,20,20,M,E,LB,U,M-NJ-20x20.step +NJ20-20MELBCM,NJ,20,20,M,E,LB,CM,M-NJ-20x20.step +NJ20-20MEFA,NJ,20,20,M,E,FA,,M-NJ-20x20.step +NJ20-20MEFAU,NJ,20,20,M,E,FA,U,M-NJ-20x20.step +NJ20-20MEFACM,NJ,20,20,M,E,FA,CM,M-NJ-20x20.step +NJ20-20MEFB,NJ,20,20,M,E,FB,,M-NJ-20x20.step +NJ20-20MEFBU,NJ,20,20,M,E,FB,U,M-NJ-20x20.step +NJ20-20MEFBCM,NJ,20,20,M,E,FB,CM,M-NJ-20x20.step +NJ20-20MESDB,NJ,20,20,M,E,SDB,,M-NJ-20x20.step +NJ20-20MESDBU,NJ,20,20,M,E,SDB,U,M-NJ-20x20.step +NJ20-20MESDBCM,NJ,20,20,M,E,SDB,CM,M-NJ-20x20.step +NJ20-20M,NJ,20,20,M,,,,M-NJ-20x20.step +NJ20-20MU,NJ,20,20,M,,,U,M-NJ-20x20.step +NJ20-20MCM,NJ,20,20,M,,,CM,M-NJ-20x20.step +NJ20-20MLB,NJ,20,20,M,,LB,,M-NJ-20x20.step +NJ20-20MLBU,NJ,20,20,M,,LB,U,M-NJ-20x20.step +NJ20-20MLBCM,NJ,20,20,M,,LB,CM,M-NJ-20x20.step +NJ20-20MFA,NJ,20,20,M,,FA,,M-NJ-20x20.step +NJ20-20MFAU,NJ,20,20,M,,FA,U,M-NJ-20x20.step +NJ20-20MFACM,NJ,20,20,M,,FA,CM,M-NJ-20x20.step +NJ20-20MFB,NJ,20,20,M,,FB,,M-NJ-20x20.step +NJ20-20MFBU,NJ,20,20,M,,FB,U,M-NJ-20x20.step +NJ20-20MFBCM,NJ,20,20,M,,FB,CM,M-NJ-20x20.step +NJ20-20MSDB,NJ,20,20,M,,SDB,,M-NJ-20x20.step +NJ20-20MSDBU,NJ,20,20,M,,SDB,U,M-NJ-20x20.step +NJ20-20MSDBCM,NJ,20,20,M,,SDB,CM,M-NJ-20x20.step +NJ20-30E,NJ,20,30,,E,,,M-NJ-20x30.step +NJ20-30EU,NJ,20,30,,E,,U,M-NJ-20x30.step +NJ20-30ECM,NJ,20,30,,E,,CM,M-NJ-20x30.step +NJ20-30ELB,NJ,20,30,,E,LB,,M-NJ-20x30.step +NJ20-30ELBU,NJ,20,30,,E,LB,U,M-NJ-20x30.step +NJ20-30ELBCM,NJ,20,30,,E,LB,CM,M-NJ-20x30.step +NJ20-30EFA,NJ,20,30,,E,FA,,M-NJ-20x30.step +NJ20-30EFAU,NJ,20,30,,E,FA,U,M-NJ-20x30.step +NJ20-30EFACM,NJ,20,30,,E,FA,CM,M-NJ-20x30.step +NJ20-30EFB,NJ,20,30,,E,FB,,M-NJ-20x30.step +NJ20-30EFBU,NJ,20,30,,E,FB,U,M-NJ-20x30.step +NJ20-30EFBCM,NJ,20,30,,E,FB,CM,M-NJ-20x30.step +NJ20-30ESDB,NJ,20,30,,E,SDB,,M-NJ-20x30.step +NJ20-30ESDBU,NJ,20,30,,E,SDB,U,M-NJ-20x30.step +NJ20-30ESDBCM,NJ,20,30,,E,SDB,CM,M-NJ-20x30.step +NJ20-30,NJ,20,30,,,,,M-NJ-20x30.step +NJ20-30U,NJ,20,30,,,,U,M-NJ-20x30.step +NJ20-30CM,NJ,20,30,,,,CM,M-NJ-20x30.step +NJ20-30LB,NJ,20,30,,,LB,,M-NJ-20x30.step +NJ20-30LBU,NJ,20,30,,,LB,U,M-NJ-20x30.step +NJ20-30LBCM,NJ,20,30,,,LB,CM,M-NJ-20x30.step +NJ20-30FA,NJ,20,30,,,FA,,M-NJ-20x30.step +NJ20-30FAU,NJ,20,30,,,FA,U,M-NJ-20x30.step +NJ20-30FACM,NJ,20,30,,,FA,CM,M-NJ-20x30.step +NJ20-30FB,NJ,20,30,,,FB,,M-NJ-20x30.step +NJ20-30FBU,NJ,20,30,,,FB,U,M-NJ-20x30.step +NJ20-30FBCM,NJ,20,30,,,FB,CM,M-NJ-20x30.step +NJ20-30SDB,NJ,20,30,,,SDB,,M-NJ-20x30.step +NJ20-30SDBU,NJ,20,30,,,SDB,U,M-NJ-20x30.step +NJ20-30SDBCM,NJ,20,30,,,SDB,CM,M-NJ-20x30.step +NJ20-30ME,NJ,20,30,M,E,,,M-NJ-20x30.step +NJ20-30MEU,NJ,20,30,M,E,,U,M-NJ-20x30.step +NJ20-30MECM,NJ,20,30,M,E,,CM,M-NJ-20x30.step +NJ20-30MELB,NJ,20,30,M,E,LB,,M-NJ-20x30.step +NJ20-30MELBU,NJ,20,30,M,E,LB,U,M-NJ-20x30.step +NJ20-30MELBCM,NJ,20,30,M,E,LB,CM,M-NJ-20x30.step +NJ20-30MEFA,NJ,20,30,M,E,FA,,M-NJ-20x30.step +NJ20-30MEFAU,NJ,20,30,M,E,FA,U,M-NJ-20x30.step +NJ20-30MEFACM,NJ,20,30,M,E,FA,CM,M-NJ-20x30.step +NJ20-30MEFB,NJ,20,30,M,E,FB,,M-NJ-20x30.step +NJ20-30MEFBU,NJ,20,30,M,E,FB,U,M-NJ-20x30.step +NJ20-30MEFBCM,NJ,20,30,M,E,FB,CM,M-NJ-20x30.step +NJ20-30MESDB,NJ,20,30,M,E,SDB,,M-NJ-20x30.step +NJ20-30MESDBU,NJ,20,30,M,E,SDB,U,M-NJ-20x30.step +NJ20-30MESDBCM,NJ,20,30,M,E,SDB,CM,M-NJ-20x30.step +NJ20-30M,NJ,20,30,M,,,,M-NJ-20x30.step +NJ20-30MU,NJ,20,30,M,,,U,M-NJ-20x30.step +NJ20-30MCM,NJ,20,30,M,,,CM,M-NJ-20x30.step +NJ20-30MLB,NJ,20,30,M,,LB,,M-NJ-20x30.step +NJ20-30MLBU,NJ,20,30,M,,LB,U,M-NJ-20x30.step +NJ20-30MLBCM,NJ,20,30,M,,LB,CM,M-NJ-20x30.step +NJ20-30MFA,NJ,20,30,M,,FA,,M-NJ-20x30.step +NJ20-30MFAU,NJ,20,30,M,,FA,U,M-NJ-20x30.step +NJ20-30MFACM,NJ,20,30,M,,FA,CM,M-NJ-20x30.step +NJ20-30MFB,NJ,20,30,M,,FB,,M-NJ-20x30.step +NJ20-30MFBU,NJ,20,30,M,,FB,U,M-NJ-20x30.step +NJ20-30MFBCM,NJ,20,30,M,,FB,CM,M-NJ-20x30.step +NJ20-30MSDB,NJ,20,30,M,,SDB,,M-NJ-20x30.step +NJ20-30MSDBU,NJ,20,30,M,,SDB,U,M-NJ-20x30.step +NJ20-30MSDBCM,NJ,20,30,M,,SDB,CM,M-NJ-20x30.step +NJ20-50E,NJ,20,50,,E,,,M-NJ-20x50.step +NJ20-50EU,NJ,20,50,,E,,U,M-NJ-20x50.step +NJ20-50ECM,NJ,20,50,,E,,CM,M-NJ-20x50.step +NJ20-50ELB,NJ,20,50,,E,LB,,M-NJ-20x50.step +NJ20-50ELBU,NJ,20,50,,E,LB,U,M-NJ-20x50.step +NJ20-50ELBCM,NJ,20,50,,E,LB,CM,M-NJ-20x50.step +NJ20-50EFA,NJ,20,50,,E,FA,,M-NJ-20x50.step +NJ20-50EFAU,NJ,20,50,,E,FA,U,M-NJ-20x50.step +NJ20-50EFACM,NJ,20,50,,E,FA,CM,M-NJ-20x50.step +NJ20-50EFB,NJ,20,50,,E,FB,,M-NJ-20x50.step +NJ20-50EFBU,NJ,20,50,,E,FB,U,M-NJ-20x50.step +NJ20-50EFBCM,NJ,20,50,,E,FB,CM,M-NJ-20x50.step +NJ20-50ESDB,NJ,20,50,,E,SDB,,M-NJ-20x50.step +NJ20-50ESDBU,NJ,20,50,,E,SDB,U,M-NJ-20x50.step +NJ20-50ESDBCM,NJ,20,50,,E,SDB,CM,M-NJ-20x50.step +NJ20-50,NJ,20,50,,,,,M-NJ-20x50.step +NJ20-50U,NJ,20,50,,,,U,M-NJ-20x50.step +NJ20-50CM,NJ,20,50,,,,CM,M-NJ-20x50.step +NJ20-50LB,NJ,20,50,,,LB,,M-NJ-20x50.step +NJ20-50LBU,NJ,20,50,,,LB,U,M-NJ-20x50.step +NJ20-50LBCM,NJ,20,50,,,LB,CM,M-NJ-20x50.step +NJ20-50FA,NJ,20,50,,,FA,,M-NJ-20x50.step +NJ20-50FAU,NJ,20,50,,,FA,U,M-NJ-20x50.step +NJ20-50FACM,NJ,20,50,,,FA,CM,M-NJ-20x50.step +NJ20-50FB,NJ,20,50,,,FB,,M-NJ-20x50.step +NJ20-50FBU,NJ,20,50,,,FB,U,M-NJ-20x50.step +NJ20-50FBCM,NJ,20,50,,,FB,CM,M-NJ-20x50.step +NJ20-50SDB,NJ,20,50,,,SDB,,M-NJ-20x50.step +NJ20-50SDBU,NJ,20,50,,,SDB,U,M-NJ-20x50.step +NJ20-50SDBCM,NJ,20,50,,,SDB,CM,M-NJ-20x50.step +NJ20-50ME,NJ,20,50,M,E,,,M-NJ-20x50.step +NJ20-50MEU,NJ,20,50,M,E,,U,M-NJ-20x50.step +NJ20-50MECM,NJ,20,50,M,E,,CM,M-NJ-20x50.step +NJ20-50MELB,NJ,20,50,M,E,LB,,M-NJ-20x50.step +NJ20-50MELBU,NJ,20,50,M,E,LB,U,M-NJ-20x50.step +NJ20-50MELBCM,NJ,20,50,M,E,LB,CM,M-NJ-20x50.step +NJ20-50MEFA,NJ,20,50,M,E,FA,,M-NJ-20x50.step +NJ20-50MEFAU,NJ,20,50,M,E,FA,U,M-NJ-20x50.step +NJ20-50MEFACM,NJ,20,50,M,E,FA,CM,M-NJ-20x50.step +NJ20-50MEFB,NJ,20,50,M,E,FB,,M-NJ-20x50.step +NJ20-50MEFBU,NJ,20,50,M,E,FB,U,M-NJ-20x50.step +NJ20-50MEFBCM,NJ,20,50,M,E,FB,CM,M-NJ-20x50.step +NJ20-50MESDB,NJ,20,50,M,E,SDB,,M-NJ-20x50.step +NJ20-50MESDBU,NJ,20,50,M,E,SDB,U,M-NJ-20x50.step +NJ20-50MESDBCM,NJ,20,50,M,E,SDB,CM,M-NJ-20x50.step +NJ20-50M,NJ,20,50,M,,,,M-NJ-20x50.step +NJ20-50MU,NJ,20,50,M,,,U,M-NJ-20x50.step +NJ20-50MCM,NJ,20,50,M,,,CM,M-NJ-20x50.step +NJ20-50MLB,NJ,20,50,M,,LB,,M-NJ-20x50.step +NJ20-50MLBU,NJ,20,50,M,,LB,U,M-NJ-20x50.step +NJ20-50MLBCM,NJ,20,50,M,,LB,CM,M-NJ-20x50.step +NJ20-50MFA,NJ,20,50,M,,FA,,M-NJ-20x50.step +NJ20-50MFAU,NJ,20,50,M,,FA,U,M-NJ-20x50.step +NJ20-50MFACM,NJ,20,50,M,,FA,CM,M-NJ-20x50.step +NJ20-50MFB,NJ,20,50,M,,FB,,M-NJ-20x50.step +NJ20-50MFBU,NJ,20,50,M,,FB,U,M-NJ-20x50.step +NJ20-50MFBCM,NJ,20,50,M,,FB,CM,M-NJ-20x50.step +NJ20-50MSDB,NJ,20,50,M,,SDB,,M-NJ-20x50.step +NJ20-50MSDBU,NJ,20,50,M,,SDB,U,M-NJ-20x50.step +NJ20-50MSDBCM,NJ,20,50,M,,SDB,CM,M-NJ-20x50.step +NJ20-75E,NJ,20,75,,E,,,M-NJ-20x75.step +NJ20-75EU,NJ,20,75,,E,,U,M-NJ-20x75.step +NJ20-75ECM,NJ,20,75,,E,,CM,M-NJ-20x75.step +NJ20-75ELB,NJ,20,75,,E,LB,,M-NJ-20x75.step +NJ20-75ELBU,NJ,20,75,,E,LB,U,M-NJ-20x75.step +NJ20-75ELBCM,NJ,20,75,,E,LB,CM,M-NJ-20x75.step +NJ20-75EFA,NJ,20,75,,E,FA,,M-NJ-20x75.step +NJ20-75EFAU,NJ,20,75,,E,FA,U,M-NJ-20x75.step +NJ20-75EFACM,NJ,20,75,,E,FA,CM,M-NJ-20x75.step +NJ20-75EFB,NJ,20,75,,E,FB,,M-NJ-20x75.step +NJ20-75EFBU,NJ,20,75,,E,FB,U,M-NJ-20x75.step +NJ20-75EFBCM,NJ,20,75,,E,FB,CM,M-NJ-20x75.step +NJ20-75ESDB,NJ,20,75,,E,SDB,,M-NJ-20x75.step +NJ20-75ESDBU,NJ,20,75,,E,SDB,U,M-NJ-20x75.step +NJ20-75ESDBCM,NJ,20,75,,E,SDB,CM,M-NJ-20x75.step +NJ20-75,NJ,20,75,,,,,M-NJ-20x75.step +NJ20-75U,NJ,20,75,,,,U,M-NJ-20x75.step +NJ20-75CM,NJ,20,75,,,,CM,M-NJ-20x75.step +NJ20-75LB,NJ,20,75,,,LB,,M-NJ-20x75.step +NJ20-75LBU,NJ,20,75,,,LB,U,M-NJ-20x75.step +NJ20-75LBCM,NJ,20,75,,,LB,CM,M-NJ-20x75.step +NJ20-75FA,NJ,20,75,,,FA,,M-NJ-20x75.step +NJ20-75FAU,NJ,20,75,,,FA,U,M-NJ-20x75.step +NJ20-75FACM,NJ,20,75,,,FA,CM,M-NJ-20x75.step +NJ20-75FB,NJ,20,75,,,FB,,M-NJ-20x75.step +NJ20-75FBU,NJ,20,75,,,FB,U,M-NJ-20x75.step +NJ20-75FBCM,NJ,20,75,,,FB,CM,M-NJ-20x75.step +NJ20-75SDB,NJ,20,75,,,SDB,,M-NJ-20x75.step +NJ20-75SDBU,NJ,20,75,,,SDB,U,M-NJ-20x75.step +NJ20-75SDBCM,NJ,20,75,,,SDB,CM,M-NJ-20x75.step +NJ20-75ME,NJ,20,75,M,E,,,M-NJ-20x75.step +NJ20-75MEU,NJ,20,75,M,E,,U,M-NJ-20x75.step +NJ20-75MECM,NJ,20,75,M,E,,CM,M-NJ-20x75.step +NJ20-75MELB,NJ,20,75,M,E,LB,,M-NJ-20x75.step +NJ20-75MELBU,NJ,20,75,M,E,LB,U,M-NJ-20x75.step +NJ20-75MELBCM,NJ,20,75,M,E,LB,CM,M-NJ-20x75.step +NJ20-75MEFA,NJ,20,75,M,E,FA,,M-NJ-20x75.step +NJ20-75MEFAU,NJ,20,75,M,E,FA,U,M-NJ-20x75.step +NJ20-75MEFACM,NJ,20,75,M,E,FA,CM,M-NJ-20x75.step +NJ20-75MEFB,NJ,20,75,M,E,FB,,M-NJ-20x75.step +NJ20-75MEFBU,NJ,20,75,M,E,FB,U,M-NJ-20x75.step +NJ20-75MEFBCM,NJ,20,75,M,E,FB,CM,M-NJ-20x75.step +NJ20-75MESDB,NJ,20,75,M,E,SDB,,M-NJ-20x75.step +NJ20-75MESDBU,NJ,20,75,M,E,SDB,U,M-NJ-20x75.step +NJ20-75MESDBCM,NJ,20,75,M,E,SDB,CM,M-NJ-20x75.step +NJ20-75M,NJ,20,75,M,,,,M-NJ-20x75.step +NJ20-75MU,NJ,20,75,M,,,U,M-NJ-20x75.step +NJ20-75MCM,NJ,20,75,M,,,CM,M-NJ-20x75.step +NJ20-75MLB,NJ,20,75,M,,LB,,M-NJ-20x75.step +NJ20-75MLBU,NJ,20,75,M,,LB,U,M-NJ-20x75.step +NJ20-75MLBCM,NJ,20,75,M,,LB,CM,M-NJ-20x75.step +NJ20-75MFA,NJ,20,75,M,,FA,,M-NJ-20x75.step +NJ20-75MFAU,NJ,20,75,M,,FA,U,M-NJ-20x75.step +NJ20-75MFACM,NJ,20,75,M,,FA,CM,M-NJ-20x75.step +NJ20-75MFB,NJ,20,75,M,,FB,,M-NJ-20x75.step +NJ20-75MFBU,NJ,20,75,M,,FB,U,M-NJ-20x75.step +NJ20-75MFBCM,NJ,20,75,M,,FB,CM,M-NJ-20x75.step +NJ20-75MSDB,NJ,20,75,M,,SDB,,M-NJ-20x75.step +NJ20-75MSDBU,NJ,20,75,M,,SDB,U,M-NJ-20x75.step +NJ20-75MSDBCM,NJ,20,75,M,,SDB,CM,M-NJ-20x75.step +NJ20-100E,NJ,20,100,,E,,,M-NJ-20x100.step +NJ20-100EU,NJ,20,100,,E,,U,M-NJ-20x100.step +NJ20-100ECM,NJ,20,100,,E,,CM,M-NJ-20x100.step +NJ20-100ELB,NJ,20,100,,E,LB,,M-NJ-20x100.step +NJ20-100ELBU,NJ,20,100,,E,LB,U,M-NJ-20x100.step +NJ20-100ELBCM,NJ,20,100,,E,LB,CM,M-NJ-20x100.step +NJ20-100EFA,NJ,20,100,,E,FA,,M-NJ-20x100.step +NJ20-100EFAU,NJ,20,100,,E,FA,U,M-NJ-20x100.step +NJ20-100EFACM,NJ,20,100,,E,FA,CM,M-NJ-20x100.step +NJ20-100EFB,NJ,20,100,,E,FB,,M-NJ-20x100.step +NJ20-100EFBU,NJ,20,100,,E,FB,U,M-NJ-20x100.step +NJ20-100EFBCM,NJ,20,100,,E,FB,CM,M-NJ-20x100.step +NJ20-100ESDB,NJ,20,100,,E,SDB,,M-NJ-20x100.step +NJ20-100ESDBU,NJ,20,100,,E,SDB,U,M-NJ-20x100.step +NJ20-100ESDBCM,NJ,20,100,,E,SDB,CM,M-NJ-20x100.step +NJ20-100,NJ,20,100,,,,,M-NJ-20x100.step +NJ20-100U,NJ,20,100,,,,U,M-NJ-20x100.step +NJ20-100CM,NJ,20,100,,,,CM,M-NJ-20x100.step +NJ20-100LB,NJ,20,100,,,LB,,M-NJ-20x100.step +NJ20-100LBU,NJ,20,100,,,LB,U,M-NJ-20x100.step +NJ20-100LBCM,NJ,20,100,,,LB,CM,M-NJ-20x100.step +NJ20-100FA,NJ,20,100,,,FA,,M-NJ-20x100.step +NJ20-100FAU,NJ,20,100,,,FA,U,M-NJ-20x100.step +NJ20-100FACM,NJ,20,100,,,FA,CM,M-NJ-20x100.step +NJ20-100FB,NJ,20,100,,,FB,,M-NJ-20x100.step +NJ20-100FBU,NJ,20,100,,,FB,U,M-NJ-20x100.step +NJ20-100FBCM,NJ,20,100,,,FB,CM,M-NJ-20x100.step +NJ20-100SDB,NJ,20,100,,,SDB,,M-NJ-20x100.step +NJ20-100SDBU,NJ,20,100,,,SDB,U,M-NJ-20x100.step +NJ20-100SDBCM,NJ,20,100,,,SDB,CM,M-NJ-20x100.step +NJ20-100ME,NJ,20,100,M,E,,,M-NJ-20x100.step +NJ20-100MEU,NJ,20,100,M,E,,U,M-NJ-20x100.step +NJ20-100MECM,NJ,20,100,M,E,,CM,M-NJ-20x100.step +NJ20-100MELB,NJ,20,100,M,E,LB,,M-NJ-20x100.step +NJ20-100MELBU,NJ,20,100,M,E,LB,U,M-NJ-20x100.step +NJ20-100MELBCM,NJ,20,100,M,E,LB,CM,M-NJ-20x100.step +NJ20-100MEFA,NJ,20,100,M,E,FA,,M-NJ-20x100.step +NJ20-100MEFAU,NJ,20,100,M,E,FA,U,M-NJ-20x100.step +NJ20-100MEFACM,NJ,20,100,M,E,FA,CM,M-NJ-20x100.step +NJ20-100MEFB,NJ,20,100,M,E,FB,,M-NJ-20x100.step +NJ20-100MEFBU,NJ,20,100,M,E,FB,U,M-NJ-20x100.step +NJ20-100MEFBCM,NJ,20,100,M,E,FB,CM,M-NJ-20x100.step +NJ20-100MESDB,NJ,20,100,M,E,SDB,,M-NJ-20x100.step +NJ20-100MESDBU,NJ,20,100,M,E,SDB,U,M-NJ-20x100.step +NJ20-100MESDBCM,NJ,20,100,M,E,SDB,CM,M-NJ-20x100.step +NJ20-100M,NJ,20,100,M,,,,M-NJ-20x100.step +NJ20-100MU,NJ,20,100,M,,,U,M-NJ-20x100.step +NJ20-100MCM,NJ,20,100,M,,,CM,M-NJ-20x100.step +NJ20-100MLB,NJ,20,100,M,,LB,,M-NJ-20x100.step +NJ20-100MLBU,NJ,20,100,M,,LB,U,M-NJ-20x100.step +NJ20-100MLBCM,NJ,20,100,M,,LB,CM,M-NJ-20x100.step +NJ20-100MFA,NJ,20,100,M,,FA,,M-NJ-20x100.step +NJ20-100MFAU,NJ,20,100,M,,FA,U,M-NJ-20x100.step +NJ20-100MFACM,NJ,20,100,M,,FA,CM,M-NJ-20x100.step +NJ20-100MFB,NJ,20,100,M,,FB,,M-NJ-20x100.step +NJ20-100MFBU,NJ,20,100,M,,FB,U,M-NJ-20x100.step +NJ20-100MFBCM,NJ,20,100,M,,FB,CM,M-NJ-20x100.step +NJ20-100MSDB,NJ,20,100,M,,SDB,,M-NJ-20x100.step +NJ20-100MSDBU,NJ,20,100,M,,SDB,U,M-NJ-20x100.step +NJ20-100MSDBCM,NJ,20,100,M,,SDB,CM,M-NJ-20x100.step +NJ25-10E,NJ,25,10,,E,,,M-NJ-25x10.step +NJ25-10EU,NJ,25,10,,E,,U,M-NJ-25x10.step +NJ25-10ECM,NJ,25,10,,E,,CM,M-NJ-25x10.step +NJ25-10ELB,NJ,25,10,,E,LB,,M-NJ-25x10.step +NJ25-10ELBU,NJ,25,10,,E,LB,U,M-NJ-25x10.step +NJ25-10ELBCM,NJ,25,10,,E,LB,CM,M-NJ-25x10.step +NJ25-10EFA,NJ,25,10,,E,FA,,M-NJ-25x10.step +NJ25-10EFAU,NJ,25,10,,E,FA,U,M-NJ-25x10.step +NJ25-10EFACM,NJ,25,10,,E,FA,CM,M-NJ-25x10.step +NJ25-10EFB,NJ,25,10,,E,FB,,M-NJ-25x10.step +NJ25-10EFBU,NJ,25,10,,E,FB,U,M-NJ-25x10.step +NJ25-10EFBCM,NJ,25,10,,E,FB,CM,M-NJ-25x10.step +NJ25-10ESDB,NJ,25,10,,E,SDB,,M-NJ-25x10.step +NJ25-10ESDBU,NJ,25,10,,E,SDB,U,M-NJ-25x10.step +NJ25-10ESDBCM,NJ,25,10,,E,SDB,CM,M-NJ-25x10.step +NJ25-10,NJ,25,10,,,,,M-NJ-25x10.step +NJ25-10U,NJ,25,10,,,,U,M-NJ-25x10.step +NJ25-10CM,NJ,25,10,,,,CM,M-NJ-25x10.step +NJ25-10LB,NJ,25,10,,,LB,,M-NJ-25x10.step +NJ25-10LBU,NJ,25,10,,,LB,U,M-NJ-25x10.step +NJ25-10LBCM,NJ,25,10,,,LB,CM,M-NJ-25x10.step +NJ25-10FA,NJ,25,10,,,FA,,M-NJ-25x10.step +NJ25-10FAU,NJ,25,10,,,FA,U,M-NJ-25x10.step +NJ25-10FACM,NJ,25,10,,,FA,CM,M-NJ-25x10.step +NJ25-10FB,NJ,25,10,,,FB,,M-NJ-25x10.step +NJ25-10FBU,NJ,25,10,,,FB,U,M-NJ-25x10.step +NJ25-10FBCM,NJ,25,10,,,FB,CM,M-NJ-25x10.step +NJ25-10SDB,NJ,25,10,,,SDB,,M-NJ-25x10.step +NJ25-10SDBU,NJ,25,10,,,SDB,U,M-NJ-25x10.step +NJ25-10SDBCM,NJ,25,10,,,SDB,CM,M-NJ-25x10.step +NJ25-10ME,NJ,25,10,M,E,,,M-NJ-25x10.step +NJ25-10MEU,NJ,25,10,M,E,,U,M-NJ-25x10.step +NJ25-10MECM,NJ,25,10,M,E,,CM,M-NJ-25x10.step +NJ25-10MELB,NJ,25,10,M,E,LB,,M-NJ-25x10.step +NJ25-10MELBU,NJ,25,10,M,E,LB,U,M-NJ-25x10.step +NJ25-10MELBCM,NJ,25,10,M,E,LB,CM,M-NJ-25x10.step +NJ25-10MEFA,NJ,25,10,M,E,FA,,M-NJ-25x10.step +NJ25-10MEFAU,NJ,25,10,M,E,FA,U,M-NJ-25x10.step +NJ25-10MEFACM,NJ,25,10,M,E,FA,CM,M-NJ-25x10.step +NJ25-10MEFB,NJ,25,10,M,E,FB,,M-NJ-25x10.step +NJ25-10MEFBU,NJ,25,10,M,E,FB,U,M-NJ-25x10.step +NJ25-10MEFBCM,NJ,25,10,M,E,FB,CM,M-NJ-25x10.step +NJ25-10MESDB,NJ,25,10,M,E,SDB,,M-NJ-25x10.step +NJ25-10MESDBU,NJ,25,10,M,E,SDB,U,M-NJ-25x10.step +NJ25-10MESDBCM,NJ,25,10,M,E,SDB,CM,M-NJ-25x10.step +NJ25-10M,NJ,25,10,M,,,,M-NJ-25x10.step +NJ25-10MU,NJ,25,10,M,,,U,M-NJ-25x10.step +NJ25-10MCM,NJ,25,10,M,,,CM,M-NJ-25x10.step +NJ25-10MLB,NJ,25,10,M,,LB,,M-NJ-25x10.step +NJ25-10MLBU,NJ,25,10,M,,LB,U,M-NJ-25x10.step +NJ25-10MLBCM,NJ,25,10,M,,LB,CM,M-NJ-25x10.step +NJ25-10MFA,NJ,25,10,M,,FA,,M-NJ-25x10.step +NJ25-10MFAU,NJ,25,10,M,,FA,U,M-NJ-25x10.step +NJ25-10MFACM,NJ,25,10,M,,FA,CM,M-NJ-25x10.step +NJ25-10MFB,NJ,25,10,M,,FB,,M-NJ-25x10.step +NJ25-10MFBU,NJ,25,10,M,,FB,U,M-NJ-25x10.step +NJ25-10MFBCM,NJ,25,10,M,,FB,CM,M-NJ-25x10.step +NJ25-10MSDB,NJ,25,10,M,,SDB,,M-NJ-25x10.step +NJ25-10MSDBU,NJ,25,10,M,,SDB,U,M-NJ-25x10.step +NJ25-10MSDBCM,NJ,25,10,M,,SDB,CM,M-NJ-25x10.step +NJ25-20E,NJ,25,20,,E,,,M-NJ-25x20.step +NJ25-20EU,NJ,25,20,,E,,U,M-NJ-25x20.step +NJ25-20ECM,NJ,25,20,,E,,CM,M-NJ-25x20.step +NJ25-20ELB,NJ,25,20,,E,LB,,M-NJ-25x20.step +NJ25-20ELBU,NJ,25,20,,E,LB,U,M-NJ-25x20.step +NJ25-20ELBCM,NJ,25,20,,E,LB,CM,M-NJ-25x20.step +NJ25-20EFA,NJ,25,20,,E,FA,,M-NJ-25x20.step +NJ25-20EFAU,NJ,25,20,,E,FA,U,M-NJ-25x20.step +NJ25-20EFACM,NJ,25,20,,E,FA,CM,M-NJ-25x20.step +NJ25-20EFB,NJ,25,20,,E,FB,,M-NJ-25x20.step +NJ25-20EFBU,NJ,25,20,,E,FB,U,M-NJ-25x20.step +NJ25-20EFBCM,NJ,25,20,,E,FB,CM,M-NJ-25x20.step +NJ25-20ESDB,NJ,25,20,,E,SDB,,M-NJ-25x20.step +NJ25-20ESDBU,NJ,25,20,,E,SDB,U,M-NJ-25x20.step +NJ25-20ESDBCM,NJ,25,20,,E,SDB,CM,M-NJ-25x20.step +NJ25-20,NJ,25,20,,,,,M-NJ-25x20.step +NJ25-20U,NJ,25,20,,,,U,M-NJ-25x20.step +NJ25-20CM,NJ,25,20,,,,CM,M-NJ-25x20.step +NJ25-20LB,NJ,25,20,,,LB,,M-NJ-25x20.step +NJ25-20LBU,NJ,25,20,,,LB,U,M-NJ-25x20.step +NJ25-20LBCM,NJ,25,20,,,LB,CM,M-NJ-25x20.step +NJ25-20FA,NJ,25,20,,,FA,,M-NJ-25x20.step +NJ25-20FAU,NJ,25,20,,,FA,U,M-NJ-25x20.step +NJ25-20FACM,NJ,25,20,,,FA,CM,M-NJ-25x20.step +NJ25-20FB,NJ,25,20,,,FB,,M-NJ-25x20.step +NJ25-20FBU,NJ,25,20,,,FB,U,M-NJ-25x20.step +NJ25-20FBCM,NJ,25,20,,,FB,CM,M-NJ-25x20.step +NJ25-20SDB,NJ,25,20,,,SDB,,M-NJ-25x20.step +NJ25-20SDBU,NJ,25,20,,,SDB,U,M-NJ-25x20.step +NJ25-20SDBCM,NJ,25,20,,,SDB,CM,M-NJ-25x20.step +NJ25-20ME,NJ,25,20,M,E,,,M-NJ-25x20.step +NJ25-20MEU,NJ,25,20,M,E,,U,M-NJ-25x20.step +NJ25-20MECM,NJ,25,20,M,E,,CM,M-NJ-25x20.step +NJ25-20MELB,NJ,25,20,M,E,LB,,M-NJ-25x20.step +NJ25-20MELBU,NJ,25,20,M,E,LB,U,M-NJ-25x20.step +NJ25-20MELBCM,NJ,25,20,M,E,LB,CM,M-NJ-25x20.step +NJ25-20MEFA,NJ,25,20,M,E,FA,,M-NJ-25x20.step +NJ25-20MEFAU,NJ,25,20,M,E,FA,U,M-NJ-25x20.step +NJ25-20MEFACM,NJ,25,20,M,E,FA,CM,M-NJ-25x20.step +NJ25-20MEFB,NJ,25,20,M,E,FB,,M-NJ-25x20.step +NJ25-20MEFBU,NJ,25,20,M,E,FB,U,M-NJ-25x20.step +NJ25-20MEFBCM,NJ,25,20,M,E,FB,CM,M-NJ-25x20.step +NJ25-20MESDB,NJ,25,20,M,E,SDB,,M-NJ-25x20.step +NJ25-20MESDBU,NJ,25,20,M,E,SDB,U,M-NJ-25x20.step +NJ25-20MESDBCM,NJ,25,20,M,E,SDB,CM,M-NJ-25x20.step +NJ25-20M,NJ,25,20,M,,,,M-NJ-25x20.step +NJ25-20MU,NJ,25,20,M,,,U,M-NJ-25x20.step +NJ25-20MCM,NJ,25,20,M,,,CM,M-NJ-25x20.step +NJ25-20MLB,NJ,25,20,M,,LB,,M-NJ-25x20.step +NJ25-20MLBU,NJ,25,20,M,,LB,U,M-NJ-25x20.step +NJ25-20MLBCM,NJ,25,20,M,,LB,CM,M-NJ-25x20.step +NJ25-20MFA,NJ,25,20,M,,FA,,M-NJ-25x20.step +NJ25-20MFAU,NJ,25,20,M,,FA,U,M-NJ-25x20.step +NJ25-20MFACM,NJ,25,20,M,,FA,CM,M-NJ-25x20.step +NJ25-20MFB,NJ,25,20,M,,FB,,M-NJ-25x20.step +NJ25-20MFBU,NJ,25,20,M,,FB,U,M-NJ-25x20.step +NJ25-20MFBCM,NJ,25,20,M,,FB,CM,M-NJ-25x20.step +NJ25-20MSDB,NJ,25,20,M,,SDB,,M-NJ-25x20.step +NJ25-20MSDBU,NJ,25,20,M,,SDB,U,M-NJ-25x20.step +NJ25-20MSDBCM,NJ,25,20,M,,SDB,CM,M-NJ-25x20.step +NJ25-30E,NJ,25,30,,E,,,M-NJ-25x30.step +NJ25-30EU,NJ,25,30,,E,,U,M-NJ-25x30.step +NJ25-30ECM,NJ,25,30,,E,,CM,M-NJ-25x30.step +NJ25-30ELB,NJ,25,30,,E,LB,,M-NJ-25x30.step +NJ25-30ELBU,NJ,25,30,,E,LB,U,M-NJ-25x30.step +NJ25-30ELBCM,NJ,25,30,,E,LB,CM,M-NJ-25x30.step +NJ25-30EFA,NJ,25,30,,E,FA,,M-NJ-25x30.step +NJ25-30EFAU,NJ,25,30,,E,FA,U,M-NJ-25x30.step +NJ25-30EFACM,NJ,25,30,,E,FA,CM,M-NJ-25x30.step +NJ25-30EFB,NJ,25,30,,E,FB,,M-NJ-25x30.step +NJ25-30EFBU,NJ,25,30,,E,FB,U,M-NJ-25x30.step +NJ25-30EFBCM,NJ,25,30,,E,FB,CM,M-NJ-25x30.step +NJ25-30ESDB,NJ,25,30,,E,SDB,,M-NJ-25x30.step +NJ25-30ESDBU,NJ,25,30,,E,SDB,U,M-NJ-25x30.step +NJ25-30ESDBCM,NJ,25,30,,E,SDB,CM,M-NJ-25x30.step +NJ25-30,NJ,25,30,,,,,M-NJ-25x30.step +NJ25-30U,NJ,25,30,,,,U,M-NJ-25x30.step +NJ25-30CM,NJ,25,30,,,,CM,M-NJ-25x30.step +NJ25-30LB,NJ,25,30,,,LB,,M-NJ-25x30.step +NJ25-30LBU,NJ,25,30,,,LB,U,M-NJ-25x30.step +NJ25-30LBCM,NJ,25,30,,,LB,CM,M-NJ-25x30.step +NJ25-30FA,NJ,25,30,,,FA,,M-NJ-25x30.step +NJ25-30FAU,NJ,25,30,,,FA,U,M-NJ-25x30.step +NJ25-30FACM,NJ,25,30,,,FA,CM,M-NJ-25x30.step +NJ25-30FB,NJ,25,30,,,FB,,M-NJ-25x30.step +NJ25-30FBU,NJ,25,30,,,FB,U,M-NJ-25x30.step +NJ25-30FBCM,NJ,25,30,,,FB,CM,M-NJ-25x30.step +NJ25-30SDB,NJ,25,30,,,SDB,,M-NJ-25x30.step +NJ25-30SDBU,NJ,25,30,,,SDB,U,M-NJ-25x30.step +NJ25-30SDBCM,NJ,25,30,,,SDB,CM,M-NJ-25x30.step +NJ25-30ME,NJ,25,30,M,E,,,M-NJ-25x30.step +NJ25-30MEU,NJ,25,30,M,E,,U,M-NJ-25x30.step +NJ25-30MECM,NJ,25,30,M,E,,CM,M-NJ-25x30.step +NJ25-30MELB,NJ,25,30,M,E,LB,,M-NJ-25x30.step +NJ25-30MELBU,NJ,25,30,M,E,LB,U,M-NJ-25x30.step +NJ25-30MELBCM,NJ,25,30,M,E,LB,CM,M-NJ-25x30.step +NJ25-30MEFA,NJ,25,30,M,E,FA,,M-NJ-25x30.step +NJ25-30MEFAU,NJ,25,30,M,E,FA,U,M-NJ-25x30.step +NJ25-30MEFACM,NJ,25,30,M,E,FA,CM,M-NJ-25x30.step +NJ25-30MEFB,NJ,25,30,M,E,FB,,M-NJ-25x30.step +NJ25-30MEFBU,NJ,25,30,M,E,FB,U,M-NJ-25x30.step +NJ25-30MEFBCM,NJ,25,30,M,E,FB,CM,M-NJ-25x30.step +NJ25-30MESDB,NJ,25,30,M,E,SDB,,M-NJ-25x30.step +NJ25-30MESDBU,NJ,25,30,M,E,SDB,U,M-NJ-25x30.step +NJ25-30MESDBCM,NJ,25,30,M,E,SDB,CM,M-NJ-25x30.step +NJ25-30M,NJ,25,30,M,,,,M-NJ-25x30.step +NJ25-30MU,NJ,25,30,M,,,U,M-NJ-25x30.step +NJ25-30MCM,NJ,25,30,M,,,CM,M-NJ-25x30.step +NJ25-30MLB,NJ,25,30,M,,LB,,M-NJ-25x30.step +NJ25-30MLBU,NJ,25,30,M,,LB,U,M-NJ-25x30.step +NJ25-30MLBCM,NJ,25,30,M,,LB,CM,M-NJ-25x30.step +NJ25-30MFA,NJ,25,30,M,,FA,,M-NJ-25x30.step +NJ25-30MFAU,NJ,25,30,M,,FA,U,M-NJ-25x30.step +NJ25-30MFACM,NJ,25,30,M,,FA,CM,M-NJ-25x30.step +NJ25-30MFB,NJ,25,30,M,,FB,,M-NJ-25x30.step +NJ25-30MFBU,NJ,25,30,M,,FB,U,M-NJ-25x30.step +NJ25-30MFBCM,NJ,25,30,M,,FB,CM,M-NJ-25x30.step +NJ25-30MSDB,NJ,25,30,M,,SDB,,M-NJ-25x30.step +NJ25-30MSDBU,NJ,25,30,M,,SDB,U,M-NJ-25x30.step +NJ25-30MSDBCM,NJ,25,30,M,,SDB,CM,M-NJ-25x30.step +NJ25-50E,NJ,25,50,,E,,,M-NJ-25x50.step +NJ25-50EU,NJ,25,50,,E,,U,M-NJ-25x50.step +NJ25-50ECM,NJ,25,50,,E,,CM,M-NJ-25x50.step +NJ25-50ELB,NJ,25,50,,E,LB,,M-NJ-25x50.step +NJ25-50ELBU,NJ,25,50,,E,LB,U,M-NJ-25x50.step +NJ25-50ELBCM,NJ,25,50,,E,LB,CM,M-NJ-25x50.step +NJ25-50EFA,NJ,25,50,,E,FA,,M-NJ-25x50.step +NJ25-50EFAU,NJ,25,50,,E,FA,U,M-NJ-25x50.step +NJ25-50EFACM,NJ,25,50,,E,FA,CM,M-NJ-25x50.step +NJ25-50EFB,NJ,25,50,,E,FB,,M-NJ-25x50.step +NJ25-50EFBU,NJ,25,50,,E,FB,U,M-NJ-25x50.step +NJ25-50EFBCM,NJ,25,50,,E,FB,CM,M-NJ-25x50.step +NJ25-50ESDB,NJ,25,50,,E,SDB,,M-NJ-25x50.step +NJ25-50ESDBU,NJ,25,50,,E,SDB,U,M-NJ-25x50.step +NJ25-50ESDBCM,NJ,25,50,,E,SDB,CM,M-NJ-25x50.step +NJ25-50,NJ,25,50,,,,,M-NJ-25x50.step +NJ25-50U,NJ,25,50,,,,U,M-NJ-25x50.step +NJ25-50CM,NJ,25,50,,,,CM,M-NJ-25x50.step +NJ25-50LB,NJ,25,50,,,LB,,M-NJ-25x50.step +NJ25-50LBU,NJ,25,50,,,LB,U,M-NJ-25x50.step +NJ25-50LBCM,NJ,25,50,,,LB,CM,M-NJ-25x50.step +NJ25-50FA,NJ,25,50,,,FA,,M-NJ-25x50.step +NJ25-50FAU,NJ,25,50,,,FA,U,M-NJ-25x50.step +NJ25-50FACM,NJ,25,50,,,FA,CM,M-NJ-25x50.step +NJ25-50FB,NJ,25,50,,,FB,,M-NJ-25x50.step +NJ25-50FBU,NJ,25,50,,,FB,U,M-NJ-25x50.step +NJ25-50FBCM,NJ,25,50,,,FB,CM,M-NJ-25x50.step +NJ25-50SDB,NJ,25,50,,,SDB,,M-NJ-25x50.step +NJ25-50SDBU,NJ,25,50,,,SDB,U,M-NJ-25x50.step +NJ25-50SDBCM,NJ,25,50,,,SDB,CM,M-NJ-25x50.step +NJ25-50ME,NJ,25,50,M,E,,,M-NJ-25x50.step +NJ25-50MEU,NJ,25,50,M,E,,U,M-NJ-25x50.step +NJ25-50MECM,NJ,25,50,M,E,,CM,M-NJ-25x50.step +NJ25-50MELB,NJ,25,50,M,E,LB,,M-NJ-25x50.step +NJ25-50MELBU,NJ,25,50,M,E,LB,U,M-NJ-25x50.step +NJ25-50MELBCM,NJ,25,50,M,E,LB,CM,M-NJ-25x50.step +NJ25-50MEFA,NJ,25,50,M,E,FA,,M-NJ-25x50.step +NJ25-50MEFAU,NJ,25,50,M,E,FA,U,M-NJ-25x50.step +NJ25-50MEFACM,NJ,25,50,M,E,FA,CM,M-NJ-25x50.step +NJ25-50MEFB,NJ,25,50,M,E,FB,,M-NJ-25x50.step +NJ25-50MEFBU,NJ,25,50,M,E,FB,U,M-NJ-25x50.step +NJ25-50MEFBCM,NJ,25,50,M,E,FB,CM,M-NJ-25x50.step +NJ25-50MESDB,NJ,25,50,M,E,SDB,,M-NJ-25x50.step +NJ25-50MESDBU,NJ,25,50,M,E,SDB,U,M-NJ-25x50.step +NJ25-50MESDBCM,NJ,25,50,M,E,SDB,CM,M-NJ-25x50.step +NJ25-50M,NJ,25,50,M,,,,M-NJ-25x50.step +NJ25-50MU,NJ,25,50,M,,,U,M-NJ-25x50.step +NJ25-50MCM,NJ,25,50,M,,,CM,M-NJ-25x50.step +NJ25-50MLB,NJ,25,50,M,,LB,,M-NJ-25x50.step +NJ25-50MLBU,NJ,25,50,M,,LB,U,M-NJ-25x50.step +NJ25-50MLBCM,NJ,25,50,M,,LB,CM,M-NJ-25x50.step +NJ25-50MFA,NJ,25,50,M,,FA,,M-NJ-25x50.step +NJ25-50MFAU,NJ,25,50,M,,FA,U,M-NJ-25x50.step +NJ25-50MFACM,NJ,25,50,M,,FA,CM,M-NJ-25x50.step +NJ25-50MFB,NJ,25,50,M,,FB,,M-NJ-25x50.step +NJ25-50MFBU,NJ,25,50,M,,FB,U,M-NJ-25x50.step +NJ25-50MFBCM,NJ,25,50,M,,FB,CM,M-NJ-25x50.step +NJ25-50MSDB,NJ,25,50,M,,SDB,,M-NJ-25x50.step +NJ25-50MSDBU,NJ,25,50,M,,SDB,U,M-NJ-25x50.step +NJ25-50MSDBCM,NJ,25,50,M,,SDB,CM,M-NJ-25x50.step +NJ25-75E,NJ,25,75,,E,,,M-NJ-25x75.step +NJ25-75EU,NJ,25,75,,E,,U,M-NJ-25x75.step +NJ25-75ECM,NJ,25,75,,E,,CM,M-NJ-25x75.step +NJ25-75ELB,NJ,25,75,,E,LB,,M-NJ-25x75.step +NJ25-75ELBU,NJ,25,75,,E,LB,U,M-NJ-25x75.step +NJ25-75ELBCM,NJ,25,75,,E,LB,CM,M-NJ-25x75.step +NJ25-75EFA,NJ,25,75,,E,FA,,M-NJ-25x75.step +NJ25-75EFAU,NJ,25,75,,E,FA,U,M-NJ-25x75.step +NJ25-75EFACM,NJ,25,75,,E,FA,CM,M-NJ-25x75.step +NJ25-75EFB,NJ,25,75,,E,FB,,M-NJ-25x75.step +NJ25-75EFBU,NJ,25,75,,E,FB,U,M-NJ-25x75.step +NJ25-75EFBCM,NJ,25,75,,E,FB,CM,M-NJ-25x75.step +NJ25-75ESDB,NJ,25,75,,E,SDB,,M-NJ-25x75.step +NJ25-75ESDBU,NJ,25,75,,E,SDB,U,M-NJ-25x75.step +NJ25-75ESDBCM,NJ,25,75,,E,SDB,CM,M-NJ-25x75.step +NJ25-75,NJ,25,75,,,,,M-NJ-25x75.step +NJ25-75U,NJ,25,75,,,,U,M-NJ-25x75.step +NJ25-75CM,NJ,25,75,,,,CM,M-NJ-25x75.step +NJ25-75LB,NJ,25,75,,,LB,,M-NJ-25x75.step +NJ25-75LBU,NJ,25,75,,,LB,U,M-NJ-25x75.step +NJ25-75LBCM,NJ,25,75,,,LB,CM,M-NJ-25x75.step +NJ25-75FA,NJ,25,75,,,FA,,M-NJ-25x75.step +NJ25-75FAU,NJ,25,75,,,FA,U,M-NJ-25x75.step +NJ25-75FACM,NJ,25,75,,,FA,CM,M-NJ-25x75.step +NJ25-75FB,NJ,25,75,,,FB,,M-NJ-25x75.step +NJ25-75FBU,NJ,25,75,,,FB,U,M-NJ-25x75.step +NJ25-75FBCM,NJ,25,75,,,FB,CM,M-NJ-25x75.step +NJ25-75SDB,NJ,25,75,,,SDB,,M-NJ-25x75.step +NJ25-75SDBU,NJ,25,75,,,SDB,U,M-NJ-25x75.step +NJ25-75SDBCM,NJ,25,75,,,SDB,CM,M-NJ-25x75.step +NJ25-75ME,NJ,25,75,M,E,,,M-NJ-25x75.step +NJ25-75MEU,NJ,25,75,M,E,,U,M-NJ-25x75.step +NJ25-75MECM,NJ,25,75,M,E,,CM,M-NJ-25x75.step +NJ25-75MELB,NJ,25,75,M,E,LB,,M-NJ-25x75.step +NJ25-75MELBU,NJ,25,75,M,E,LB,U,M-NJ-25x75.step +NJ25-75MELBCM,NJ,25,75,M,E,LB,CM,M-NJ-25x75.step +NJ25-75MEFA,NJ,25,75,M,E,FA,,M-NJ-25x75.step +NJ25-75MEFAU,NJ,25,75,M,E,FA,U,M-NJ-25x75.step +NJ25-75MEFACM,NJ,25,75,M,E,FA,CM,M-NJ-25x75.step +NJ25-75MEFB,NJ,25,75,M,E,FB,,M-NJ-25x75.step +NJ25-75MEFBU,NJ,25,75,M,E,FB,U,M-NJ-25x75.step +NJ25-75MEFBCM,NJ,25,75,M,E,FB,CM,M-NJ-25x75.step +NJ25-75MESDB,NJ,25,75,M,E,SDB,,M-NJ-25x75.step +NJ25-75MESDBU,NJ,25,75,M,E,SDB,U,M-NJ-25x75.step +NJ25-75MESDBCM,NJ,25,75,M,E,SDB,CM,M-NJ-25x75.step +NJ25-75M,NJ,25,75,M,,,,M-NJ-25x75.step +NJ25-75MU,NJ,25,75,M,,,U,M-NJ-25x75.step +NJ25-75MCM,NJ,25,75,M,,,CM,M-NJ-25x75.step +NJ25-75MLB,NJ,25,75,M,,LB,,M-NJ-25x75.step +NJ25-75MLBU,NJ,25,75,M,,LB,U,M-NJ-25x75.step +NJ25-75MLBCM,NJ,25,75,M,,LB,CM,M-NJ-25x75.step +NJ25-75MFA,NJ,25,75,M,,FA,,M-NJ-25x75.step +NJ25-75MFAU,NJ,25,75,M,,FA,U,M-NJ-25x75.step +NJ25-75MFACM,NJ,25,75,M,,FA,CM,M-NJ-25x75.step +NJ25-75MFB,NJ,25,75,M,,FB,,M-NJ-25x75.step +NJ25-75MFBU,NJ,25,75,M,,FB,U,M-NJ-25x75.step +NJ25-75MFBCM,NJ,25,75,M,,FB,CM,M-NJ-25x75.step +NJ25-75MSDB,NJ,25,75,M,,SDB,,M-NJ-25x75.step +NJ25-75MSDBU,NJ,25,75,M,,SDB,U,M-NJ-25x75.step +NJ25-75MSDBCM,NJ,25,75,M,,SDB,CM,M-NJ-25x75.step +NJ25-100E,NJ,25,100,,E,,,M-NJ-25x100.step +NJ25-100EU,NJ,25,100,,E,,U,M-NJ-25x100.step +NJ25-100ECM,NJ,25,100,,E,,CM,M-NJ-25x100.step +NJ25-100ELB,NJ,25,100,,E,LB,,M-NJ-25x100.step +NJ25-100ELBU,NJ,25,100,,E,LB,U,M-NJ-25x100.step +NJ25-100ELBCM,NJ,25,100,,E,LB,CM,M-NJ-25x100.step +NJ25-100EFA,NJ,25,100,,E,FA,,M-NJ-25x100.step +NJ25-100EFAU,NJ,25,100,,E,FA,U,M-NJ-25x100.step +NJ25-100EFACM,NJ,25,100,,E,FA,CM,M-NJ-25x100.step +NJ25-100EFB,NJ,25,100,,E,FB,,M-NJ-25x100.step +NJ25-100EFBU,NJ,25,100,,E,FB,U,M-NJ-25x100.step +NJ25-100EFBCM,NJ,25,100,,E,FB,CM,M-NJ-25x100.step +NJ25-100ESDB,NJ,25,100,,E,SDB,,M-NJ-25x100.step +NJ25-100ESDBU,NJ,25,100,,E,SDB,U,M-NJ-25x100.step +NJ25-100ESDBCM,NJ,25,100,,E,SDB,CM,M-NJ-25x100.step +NJ25-100,NJ,25,100,,,,,M-NJ-25x100.step +NJ25-100U,NJ,25,100,,,,U,M-NJ-25x100.step +NJ25-100CM,NJ,25,100,,,,CM,M-NJ-25x100.step +NJ25-100LB,NJ,25,100,,,LB,,M-NJ-25x100.step +NJ25-100LBU,NJ,25,100,,,LB,U,M-NJ-25x100.step +NJ25-100LBCM,NJ,25,100,,,LB,CM,M-NJ-25x100.step +NJ25-100FA,NJ,25,100,,,FA,,M-NJ-25x100.step +NJ25-100FAU,NJ,25,100,,,FA,U,M-NJ-25x100.step +NJ25-100FACM,NJ,25,100,,,FA,CM,M-NJ-25x100.step +NJ25-100FB,NJ,25,100,,,FB,,M-NJ-25x100.step +NJ25-100FBU,NJ,25,100,,,FB,U,M-NJ-25x100.step +NJ25-100FBCM,NJ,25,100,,,FB,CM,M-NJ-25x100.step +NJ25-100SDB,NJ,25,100,,,SDB,,M-NJ-25x100.step +NJ25-100SDBU,NJ,25,100,,,SDB,U,M-NJ-25x100.step +NJ25-100SDBCM,NJ,25,100,,,SDB,CM,M-NJ-25x100.step +NJ25-100ME,NJ,25,100,M,E,,,M-NJ-25x100.step +NJ25-100MEU,NJ,25,100,M,E,,U,M-NJ-25x100.step +NJ25-100MECM,NJ,25,100,M,E,,CM,M-NJ-25x100.step +NJ25-100MELB,NJ,25,100,M,E,LB,,M-NJ-25x100.step +NJ25-100MELBU,NJ,25,100,M,E,LB,U,M-NJ-25x100.step +NJ25-100MELBCM,NJ,25,100,M,E,LB,CM,M-NJ-25x100.step +NJ25-100MEFA,NJ,25,100,M,E,FA,,M-NJ-25x100.step +NJ25-100MEFAU,NJ,25,100,M,E,FA,U,M-NJ-25x100.step +NJ25-100MEFACM,NJ,25,100,M,E,FA,CM,M-NJ-25x100.step +NJ25-100MEFB,NJ,25,100,M,E,FB,,M-NJ-25x100.step +NJ25-100MEFBU,NJ,25,100,M,E,FB,U,M-NJ-25x100.step +NJ25-100MEFBCM,NJ,25,100,M,E,FB,CM,M-NJ-25x100.step +NJ25-100MESDB,NJ,25,100,M,E,SDB,,M-NJ-25x100.step +NJ25-100MESDBU,NJ,25,100,M,E,SDB,U,M-NJ-25x100.step +NJ25-100MESDBCM,NJ,25,100,M,E,SDB,CM,M-NJ-25x100.step +NJ25-100M,NJ,25,100,M,,,,M-NJ-25x100.step +NJ25-100MU,NJ,25,100,M,,,U,M-NJ-25x100.step +NJ25-100MCM,NJ,25,100,M,,,CM,M-NJ-25x100.step +NJ25-100MLB,NJ,25,100,M,,LB,,M-NJ-25x100.step +NJ25-100MLBU,NJ,25,100,M,,LB,U,M-NJ-25x100.step +NJ25-100MLBCM,NJ,25,100,M,,LB,CM,M-NJ-25x100.step +NJ25-100MFA,NJ,25,100,M,,FA,,M-NJ-25x100.step +NJ25-100MFAU,NJ,25,100,M,,FA,U,M-NJ-25x100.step +NJ25-100MFACM,NJ,25,100,M,,FA,CM,M-NJ-25x100.step +NJ25-100MFB,NJ,25,100,M,,FB,,M-NJ-25x100.step +NJ25-100MFBU,NJ,25,100,M,,FB,U,M-NJ-25x100.step +NJ25-100MFBCM,NJ,25,100,M,,FB,CM,M-NJ-25x100.step +NJ25-100MSDB,NJ,25,100,M,,SDB,,M-NJ-25x100.step +NJ25-100MSDBU,NJ,25,100,M,,SDB,U,M-NJ-25x100.step +NJ25-100MSDBCM,NJ,25,100,M,,SDB,CM,M-NJ-25x100.step +NJ32-10E,NJ,32,10,,E,,,M-NJ-32x10.step +NJ32-10EU,NJ,32,10,,E,,U,M-NJ-32x10.step +NJ32-10ECM,NJ,32,10,,E,,CM,M-NJ-32x10.step +NJ32-10ELB,NJ,32,10,,E,LB,,M-NJ-32x10.step +NJ32-10ELBU,NJ,32,10,,E,LB,U,M-NJ-32x10.step +NJ32-10ELBCM,NJ,32,10,,E,LB,CM,M-NJ-32x10.step +NJ32-10EFA,NJ,32,10,,E,FA,,M-NJ-32x10.step +NJ32-10EFAU,NJ,32,10,,E,FA,U,M-NJ-32x10.step +NJ32-10EFACM,NJ,32,10,,E,FA,CM,M-NJ-32x10.step +NJ32-10EFB,NJ,32,10,,E,FB,,M-NJ-32x10.step +NJ32-10EFBU,NJ,32,10,,E,FB,U,M-NJ-32x10.step +NJ32-10EFBCM,NJ,32,10,,E,FB,CM,M-NJ-32x10.step +NJ32-10ESDB,NJ,32,10,,E,SDB,,M-NJ-32x10.step +NJ32-10ESDBU,NJ,32,10,,E,SDB,U,M-NJ-32x10.step +NJ32-10ESDBCM,NJ,32,10,,E,SDB,CM,M-NJ-32x10.step +NJ32-10,NJ,32,10,,,,,M-NJ-32x10.step +NJ32-10U,NJ,32,10,,,,U,M-NJ-32x10.step +NJ32-10CM,NJ,32,10,,,,CM,M-NJ-32x10.step +NJ32-10LB,NJ,32,10,,,LB,,M-NJ-32x10.step +NJ32-10LBU,NJ,32,10,,,LB,U,M-NJ-32x10.step +NJ32-10LBCM,NJ,32,10,,,LB,CM,M-NJ-32x10.step +NJ32-10FA,NJ,32,10,,,FA,,M-NJ-32x10.step +NJ32-10FAU,NJ,32,10,,,FA,U,M-NJ-32x10.step +NJ32-10FACM,NJ,32,10,,,FA,CM,M-NJ-32x10.step +NJ32-10FB,NJ,32,10,,,FB,,M-NJ-32x10.step +NJ32-10FBU,NJ,32,10,,,FB,U,M-NJ-32x10.step +NJ32-10FBCM,NJ,32,10,,,FB,CM,M-NJ-32x10.step +NJ32-10SDB,NJ,32,10,,,SDB,,M-NJ-32x10.step +NJ32-10SDBU,NJ,32,10,,,SDB,U,M-NJ-32x10.step +NJ32-10SDBCM,NJ,32,10,,,SDB,CM,M-NJ-32x10.step +NJ32-10ME,NJ,32,10,M,E,,,M-NJ-32x10.step +NJ32-10MEU,NJ,32,10,M,E,,U,M-NJ-32x10.step +NJ32-10MECM,NJ,32,10,M,E,,CM,M-NJ-32x10.step +NJ32-10MELB,NJ,32,10,M,E,LB,,M-NJ-32x10.step +NJ32-10MELBU,NJ,32,10,M,E,LB,U,M-NJ-32x10.step +NJ32-10MELBCM,NJ,32,10,M,E,LB,CM,M-NJ-32x10.step +NJ32-10MEFA,NJ,32,10,M,E,FA,,M-NJ-32x10.step +NJ32-10MEFAU,NJ,32,10,M,E,FA,U,M-NJ-32x10.step +NJ32-10MEFACM,NJ,32,10,M,E,FA,CM,M-NJ-32x10.step +NJ32-10MEFB,NJ,32,10,M,E,FB,,M-NJ-32x10.step +NJ32-10MEFBU,NJ,32,10,M,E,FB,U,M-NJ-32x10.step +NJ32-10MEFBCM,NJ,32,10,M,E,FB,CM,M-NJ-32x10.step +NJ32-10MESDB,NJ,32,10,M,E,SDB,,M-NJ-32x10.step +NJ32-10MESDBU,NJ,32,10,M,E,SDB,U,M-NJ-32x10.step +NJ32-10MESDBCM,NJ,32,10,M,E,SDB,CM,M-NJ-32x10.step +NJ32-10M,NJ,32,10,M,,,,M-NJ-32x10.step +NJ32-10MU,NJ,32,10,M,,,U,M-NJ-32x10.step +NJ32-10MCM,NJ,32,10,M,,,CM,M-NJ-32x10.step +NJ32-10MLB,NJ,32,10,M,,LB,,M-NJ-32x10.step +NJ32-10MLBU,NJ,32,10,M,,LB,U,M-NJ-32x10.step +NJ32-10MLBCM,NJ,32,10,M,,LB,CM,M-NJ-32x10.step +NJ32-10MFA,NJ,32,10,M,,FA,,M-NJ-32x10.step +NJ32-10MFAU,NJ,32,10,M,,FA,U,M-NJ-32x10.step +NJ32-10MFACM,NJ,32,10,M,,FA,CM,M-NJ-32x10.step +NJ32-10MFB,NJ,32,10,M,,FB,,M-NJ-32x10.step +NJ32-10MFBU,NJ,32,10,M,,FB,U,M-NJ-32x10.step +NJ32-10MFBCM,NJ,32,10,M,,FB,CM,M-NJ-32x10.step +NJ32-10MSDB,NJ,32,10,M,,SDB,,M-NJ-32x10.step +NJ32-10MSDBU,NJ,32,10,M,,SDB,U,M-NJ-32x10.step +NJ32-10MSDBCM,NJ,32,10,M,,SDB,CM,M-NJ-32x10.step +NJ32-20E,NJ,32,20,,E,,,M-NJ-32x20.step +NJ32-20EU,NJ,32,20,,E,,U,M-NJ-32x20.step +NJ32-20ECM,NJ,32,20,,E,,CM,M-NJ-32x20.step +NJ32-20ELB,NJ,32,20,,E,LB,,M-NJ-32x20.step +NJ32-20ELBU,NJ,32,20,,E,LB,U,M-NJ-32x20.step +NJ32-20ELBCM,NJ,32,20,,E,LB,CM,M-NJ-32x20.step +NJ32-20EFA,NJ,32,20,,E,FA,,M-NJ-32x20.step +NJ32-20EFAU,NJ,32,20,,E,FA,U,M-NJ-32x20.step +NJ32-20EFACM,NJ,32,20,,E,FA,CM,M-NJ-32x20.step +NJ32-20EFB,NJ,32,20,,E,FB,,M-NJ-32x20.step +NJ32-20EFBU,NJ,32,20,,E,FB,U,M-NJ-32x20.step +NJ32-20EFBCM,NJ,32,20,,E,FB,CM,M-NJ-32x20.step +NJ32-20ESDB,NJ,32,20,,E,SDB,,M-NJ-32x20.step +NJ32-20ESDBU,NJ,32,20,,E,SDB,U,M-NJ-32x20.step +NJ32-20ESDBCM,NJ,32,20,,E,SDB,CM,M-NJ-32x20.step +NJ32-20,NJ,32,20,,,,,M-NJ-32x20.step +NJ32-20U,NJ,32,20,,,,U,M-NJ-32x20.step +NJ32-20CM,NJ,32,20,,,,CM,M-NJ-32x20.step +NJ32-20LB,NJ,32,20,,,LB,,M-NJ-32x20.step +NJ32-20LBU,NJ,32,20,,,LB,U,M-NJ-32x20.step +NJ32-20LBCM,NJ,32,20,,,LB,CM,M-NJ-32x20.step +NJ32-20FA,NJ,32,20,,,FA,,M-NJ-32x20.step +NJ32-20FAU,NJ,32,20,,,FA,U,M-NJ-32x20.step +NJ32-20FACM,NJ,32,20,,,FA,CM,M-NJ-32x20.step +NJ32-20FB,NJ,32,20,,,FB,,M-NJ-32x20.step +NJ32-20FBU,NJ,32,20,,,FB,U,M-NJ-32x20.step +NJ32-20FBCM,NJ,32,20,,,FB,CM,M-NJ-32x20.step +NJ32-20SDB,NJ,32,20,,,SDB,,M-NJ-32x20.step +NJ32-20SDBU,NJ,32,20,,,SDB,U,M-NJ-32x20.step +NJ32-20SDBCM,NJ,32,20,,,SDB,CM,M-NJ-32x20.step +NJ32-20ME,NJ,32,20,M,E,,,M-NJ-32x20.step +NJ32-20MEU,NJ,32,20,M,E,,U,M-NJ-32x20.step +NJ32-20MECM,NJ,32,20,M,E,,CM,M-NJ-32x20.step +NJ32-20MELB,NJ,32,20,M,E,LB,,M-NJ-32x20.step +NJ32-20MELBU,NJ,32,20,M,E,LB,U,M-NJ-32x20.step +NJ32-20MELBCM,NJ,32,20,M,E,LB,CM,M-NJ-32x20.step +NJ32-20MEFA,NJ,32,20,M,E,FA,,M-NJ-32x20.step +NJ32-20MEFAU,NJ,32,20,M,E,FA,U,M-NJ-32x20.step +NJ32-20MEFACM,NJ,32,20,M,E,FA,CM,M-NJ-32x20.step +NJ32-20MEFB,NJ,32,20,M,E,FB,,M-NJ-32x20.step +NJ32-20MEFBU,NJ,32,20,M,E,FB,U,M-NJ-32x20.step +NJ32-20MEFBCM,NJ,32,20,M,E,FB,CM,M-NJ-32x20.step +NJ32-20MESDB,NJ,32,20,M,E,SDB,,M-NJ-32x20.step +NJ32-20MESDBU,NJ,32,20,M,E,SDB,U,M-NJ-32x20.step +NJ32-20MESDBCM,NJ,32,20,M,E,SDB,CM,M-NJ-32x20.step +NJ32-20M,NJ,32,20,M,,,,M-NJ-32x20.step +NJ32-20MU,NJ,32,20,M,,,U,M-NJ-32x20.step +NJ32-20MCM,NJ,32,20,M,,,CM,M-NJ-32x20.step +NJ32-20MLB,NJ,32,20,M,,LB,,M-NJ-32x20.step +NJ32-20MLBU,NJ,32,20,M,,LB,U,M-NJ-32x20.step +NJ32-20MLBCM,NJ,32,20,M,,LB,CM,M-NJ-32x20.step +NJ32-20MFA,NJ,32,20,M,,FA,,M-NJ-32x20.step +NJ32-20MFAU,NJ,32,20,M,,FA,U,M-NJ-32x20.step +NJ32-20MFACM,NJ,32,20,M,,FA,CM,M-NJ-32x20.step +NJ32-20MFB,NJ,32,20,M,,FB,,M-NJ-32x20.step +NJ32-20MFBU,NJ,32,20,M,,FB,U,M-NJ-32x20.step +NJ32-20MFBCM,NJ,32,20,M,,FB,CM,M-NJ-32x20.step +NJ32-20MSDB,NJ,32,20,M,,SDB,,M-NJ-32x20.step +NJ32-20MSDBU,NJ,32,20,M,,SDB,U,M-NJ-32x20.step +NJ32-20MSDBCM,NJ,32,20,M,,SDB,CM,M-NJ-32x20.step +NJ32-30E,NJ,32,30,,E,,,M-NJ-32x30.step +NJ32-30EU,NJ,32,30,,E,,U,M-NJ-32x30.step +NJ32-30ECM,NJ,32,30,,E,,CM,M-NJ-32x30.step +NJ32-30ELB,NJ,32,30,,E,LB,,M-NJ-32x30.step +NJ32-30ELBU,NJ,32,30,,E,LB,U,M-NJ-32x30.step +NJ32-30ELBCM,NJ,32,30,,E,LB,CM,M-NJ-32x30.step +NJ32-30EFA,NJ,32,30,,E,FA,,M-NJ-32x30.step +NJ32-30EFAU,NJ,32,30,,E,FA,U,M-NJ-32x30.step +NJ32-30EFACM,NJ,32,30,,E,FA,CM,M-NJ-32x30.step +NJ32-30EFB,NJ,32,30,,E,FB,,M-NJ-32x30.step +NJ32-30EFBU,NJ,32,30,,E,FB,U,M-NJ-32x30.step +NJ32-30EFBCM,NJ,32,30,,E,FB,CM,M-NJ-32x30.step +NJ32-30ESDB,NJ,32,30,,E,SDB,,M-NJ-32x30.step +NJ32-30ESDBU,NJ,32,30,,E,SDB,U,M-NJ-32x30.step +NJ32-30ESDBCM,NJ,32,30,,E,SDB,CM,M-NJ-32x30.step +NJ32-30,NJ,32,30,,,,,M-NJ-32x30.step +NJ32-30U,NJ,32,30,,,,U,M-NJ-32x30.step +NJ32-30CM,NJ,32,30,,,,CM,M-NJ-32x30.step +NJ32-30LB,NJ,32,30,,,LB,,M-NJ-32x30.step +NJ32-30LBU,NJ,32,30,,,LB,U,M-NJ-32x30.step +NJ32-30LBCM,NJ,32,30,,,LB,CM,M-NJ-32x30.step +NJ32-30FA,NJ,32,30,,,FA,,M-NJ-32x30.step +NJ32-30FAU,NJ,32,30,,,FA,U,M-NJ-32x30.step +NJ32-30FACM,NJ,32,30,,,FA,CM,M-NJ-32x30.step +NJ32-30FB,NJ,32,30,,,FB,,M-NJ-32x30.step +NJ32-30FBU,NJ,32,30,,,FB,U,M-NJ-32x30.step +NJ32-30FBCM,NJ,32,30,,,FB,CM,M-NJ-32x30.step +NJ32-30SDB,NJ,32,30,,,SDB,,M-NJ-32x30.step +NJ32-30SDBU,NJ,32,30,,,SDB,U,M-NJ-32x30.step +NJ32-30SDBCM,NJ,32,30,,,SDB,CM,M-NJ-32x30.step +NJ32-30ME,NJ,32,30,M,E,,,M-NJ-32x30.step +NJ32-30MEU,NJ,32,30,M,E,,U,M-NJ-32x30.step +NJ32-30MECM,NJ,32,30,M,E,,CM,M-NJ-32x30.step +NJ32-30MELB,NJ,32,30,M,E,LB,,M-NJ-32x30.step +NJ32-30MELBU,NJ,32,30,M,E,LB,U,M-NJ-32x30.step +NJ32-30MELBCM,NJ,32,30,M,E,LB,CM,M-NJ-32x30.step +NJ32-30MEFA,NJ,32,30,M,E,FA,,M-NJ-32x30.step +NJ32-30MEFAU,NJ,32,30,M,E,FA,U,M-NJ-32x30.step +NJ32-30MEFACM,NJ,32,30,M,E,FA,CM,M-NJ-32x30.step +NJ32-30MEFB,NJ,32,30,M,E,FB,,M-NJ-32x30.step +NJ32-30MEFBU,NJ,32,30,M,E,FB,U,M-NJ-32x30.step +NJ32-30MEFBCM,NJ,32,30,M,E,FB,CM,M-NJ-32x30.step +NJ32-30MESDB,NJ,32,30,M,E,SDB,,M-NJ-32x30.step +NJ32-30MESDBU,NJ,32,30,M,E,SDB,U,M-NJ-32x30.step +NJ32-30MESDBCM,NJ,32,30,M,E,SDB,CM,M-NJ-32x30.step +NJ32-30M,NJ,32,30,M,,,,M-NJ-32x30.step +NJ32-30MU,NJ,32,30,M,,,U,M-NJ-32x30.step +NJ32-30MCM,NJ,32,30,M,,,CM,M-NJ-32x30.step +NJ32-30MLB,NJ,32,30,M,,LB,,M-NJ-32x30.step +NJ32-30MLBU,NJ,32,30,M,,LB,U,M-NJ-32x30.step +NJ32-30MLBCM,NJ,32,30,M,,LB,CM,M-NJ-32x30.step +NJ32-30MFA,NJ,32,30,M,,FA,,M-NJ-32x30.step +NJ32-30MFAU,NJ,32,30,M,,FA,U,M-NJ-32x30.step +NJ32-30MFACM,NJ,32,30,M,,FA,CM,M-NJ-32x30.step +NJ32-30MFB,NJ,32,30,M,,FB,,M-NJ-32x30.step +NJ32-30MFBU,NJ,32,30,M,,FB,U,M-NJ-32x30.step +NJ32-30MFBCM,NJ,32,30,M,,FB,CM,M-NJ-32x30.step +NJ32-30MSDB,NJ,32,30,M,,SDB,,M-NJ-32x30.step +NJ32-30MSDBU,NJ,32,30,M,,SDB,U,M-NJ-32x30.step +NJ32-30MSDBCM,NJ,32,30,M,,SDB,CM,M-NJ-32x30.step +NJ32-50E,NJ,32,50,,E,,,M-NJ-32x50.step +NJ32-50EU,NJ,32,50,,E,,U,M-NJ-32x50.step +NJ32-50ECM,NJ,32,50,,E,,CM,M-NJ-32x50.step +NJ32-50ELB,NJ,32,50,,E,LB,,M-NJ-32x50.step +NJ32-50ELBU,NJ,32,50,,E,LB,U,M-NJ-32x50.step +NJ32-50ELBCM,NJ,32,50,,E,LB,CM,M-NJ-32x50.step +NJ32-50EFA,NJ,32,50,,E,FA,,M-NJ-32x50.step +NJ32-50EFAU,NJ,32,50,,E,FA,U,M-NJ-32x50.step +NJ32-50EFACM,NJ,32,50,,E,FA,CM,M-NJ-32x50.step +NJ32-50EFB,NJ,32,50,,E,FB,,M-NJ-32x50.step +NJ32-50EFBU,NJ,32,50,,E,FB,U,M-NJ-32x50.step +NJ32-50EFBCM,NJ,32,50,,E,FB,CM,M-NJ-32x50.step +NJ32-50ESDB,NJ,32,50,,E,SDB,,M-NJ-32x50.step +NJ32-50ESDBU,NJ,32,50,,E,SDB,U,M-NJ-32x50.step +NJ32-50ESDBCM,NJ,32,50,,E,SDB,CM,M-NJ-32x50.step +NJ32-50,NJ,32,50,,,,,M-NJ-32x50.step +NJ32-50U,NJ,32,50,,,,U,M-NJ-32x50.step +NJ32-50CM,NJ,32,50,,,,CM,M-NJ-32x50.step +NJ32-50LB,NJ,32,50,,,LB,,M-NJ-32x50.step +NJ32-50LBU,NJ,32,50,,,LB,U,M-NJ-32x50.step +NJ32-50LBCM,NJ,32,50,,,LB,CM,M-NJ-32x50.step +NJ32-50FA,NJ,32,50,,,FA,,M-NJ-32x50.step +NJ32-50FAU,NJ,32,50,,,FA,U,M-NJ-32x50.step +NJ32-50FACM,NJ,32,50,,,FA,CM,M-NJ-32x50.step +NJ32-50FB,NJ,32,50,,,FB,,M-NJ-32x50.step +NJ32-50FBU,NJ,32,50,,,FB,U,M-NJ-32x50.step +NJ32-50FBCM,NJ,32,50,,,FB,CM,M-NJ-32x50.step +NJ32-50SDB,NJ,32,50,,,SDB,,M-NJ-32x50.step +NJ32-50SDBU,NJ,32,50,,,SDB,U,M-NJ-32x50.step +NJ32-50SDBCM,NJ,32,50,,,SDB,CM,M-NJ-32x50.step +NJ32-50ME,NJ,32,50,M,E,,,M-NJ-32x50.step +NJ32-50MEU,NJ,32,50,M,E,,U,M-NJ-32x50.step +NJ32-50MECM,NJ,32,50,M,E,,CM,M-NJ-32x50.step +NJ32-50MELB,NJ,32,50,M,E,LB,,M-NJ-32x50.step +NJ32-50MELBU,NJ,32,50,M,E,LB,U,M-NJ-32x50.step +NJ32-50MELBCM,NJ,32,50,M,E,LB,CM,M-NJ-32x50.step +NJ32-50MEFA,NJ,32,50,M,E,FA,,M-NJ-32x50.step +NJ32-50MEFAU,NJ,32,50,M,E,FA,U,M-NJ-32x50.step +NJ32-50MEFACM,NJ,32,50,M,E,FA,CM,M-NJ-32x50.step +NJ32-50MEFB,NJ,32,50,M,E,FB,,M-NJ-32x50.step +NJ32-50MEFBU,NJ,32,50,M,E,FB,U,M-NJ-32x50.step +NJ32-50MEFBCM,NJ,32,50,M,E,FB,CM,M-NJ-32x50.step +NJ32-50MESDB,NJ,32,50,M,E,SDB,,M-NJ-32x50.step +NJ32-50MESDBU,NJ,32,50,M,E,SDB,U,M-NJ-32x50.step +NJ32-50MESDBCM,NJ,32,50,M,E,SDB,CM,M-NJ-32x50.step +NJ32-50M,NJ,32,50,M,,,,M-NJ-32x50.step +NJ32-50MU,NJ,32,50,M,,,U,M-NJ-32x50.step +NJ32-50MCM,NJ,32,50,M,,,CM,M-NJ-32x50.step +NJ32-50MLB,NJ,32,50,M,,LB,,M-NJ-32x50.step +NJ32-50MLBU,NJ,32,50,M,,LB,U,M-NJ-32x50.step +NJ32-50MLBCM,NJ,32,50,M,,LB,CM,M-NJ-32x50.step +NJ32-50MFA,NJ,32,50,M,,FA,,M-NJ-32x50.step +NJ32-50MFAU,NJ,32,50,M,,FA,U,M-NJ-32x50.step +NJ32-50MFACM,NJ,32,50,M,,FA,CM,M-NJ-32x50.step +NJ32-50MFB,NJ,32,50,M,,FB,,M-NJ-32x50.step +NJ32-50MFBU,NJ,32,50,M,,FB,U,M-NJ-32x50.step +NJ32-50MFBCM,NJ,32,50,M,,FB,CM,M-NJ-32x50.step +NJ32-50MSDB,NJ,32,50,M,,SDB,,M-NJ-32x50.step +NJ32-50MSDBU,NJ,32,50,M,,SDB,U,M-NJ-32x50.step +NJ32-50MSDBCM,NJ,32,50,M,,SDB,CM,M-NJ-32x50.step +NJ32-75E,NJ,32,75,,E,,,M-NJ-32x75.step +NJ32-75EU,NJ,32,75,,E,,U,M-NJ-32x75.step +NJ32-75ECM,NJ,32,75,,E,,CM,M-NJ-32x75.step +NJ32-75ELB,NJ,32,75,,E,LB,,M-NJ-32x75.step +NJ32-75ELBU,NJ,32,75,,E,LB,U,M-NJ-32x75.step +NJ32-75ELBCM,NJ,32,75,,E,LB,CM,M-NJ-32x75.step +NJ32-75EFA,NJ,32,75,,E,FA,,M-NJ-32x75.step +NJ32-75EFAU,NJ,32,75,,E,FA,U,M-NJ-32x75.step +NJ32-75EFACM,NJ,32,75,,E,FA,CM,M-NJ-32x75.step +NJ32-75EFB,NJ,32,75,,E,FB,,M-NJ-32x75.step +NJ32-75EFBU,NJ,32,75,,E,FB,U,M-NJ-32x75.step +NJ32-75EFBCM,NJ,32,75,,E,FB,CM,M-NJ-32x75.step +NJ32-75ESDB,NJ,32,75,,E,SDB,,M-NJ-32x75.step +NJ32-75ESDBU,NJ,32,75,,E,SDB,U,M-NJ-32x75.step +NJ32-75ESDBCM,NJ,32,75,,E,SDB,CM,M-NJ-32x75.step +NJ32-75,NJ,32,75,,,,,M-NJ-32x75.step +NJ32-75U,NJ,32,75,,,,U,M-NJ-32x75.step +NJ32-75CM,NJ,32,75,,,,CM,M-NJ-32x75.step +NJ32-75LB,NJ,32,75,,,LB,,M-NJ-32x75.step +NJ32-75LBU,NJ,32,75,,,LB,U,M-NJ-32x75.step +NJ32-75LBCM,NJ,32,75,,,LB,CM,M-NJ-32x75.step +NJ32-75FA,NJ,32,75,,,FA,,M-NJ-32x75.step +NJ32-75FAU,NJ,32,75,,,FA,U,M-NJ-32x75.step +NJ32-75FACM,NJ,32,75,,,FA,CM,M-NJ-32x75.step +NJ32-75FB,NJ,32,75,,,FB,,M-NJ-32x75.step +NJ32-75FBU,NJ,32,75,,,FB,U,M-NJ-32x75.step +NJ32-75FBCM,NJ,32,75,,,FB,CM,M-NJ-32x75.step +NJ32-75SDB,NJ,32,75,,,SDB,,M-NJ-32x75.step +NJ32-75SDBU,NJ,32,75,,,SDB,U,M-NJ-32x75.step +NJ32-75SDBCM,NJ,32,75,,,SDB,CM,M-NJ-32x75.step +NJ32-75ME,NJ,32,75,M,E,,,M-NJ-32x75.step +NJ32-75MEU,NJ,32,75,M,E,,U,M-NJ-32x75.step +NJ32-75MECM,NJ,32,75,M,E,,CM,M-NJ-32x75.step +NJ32-75MELB,NJ,32,75,M,E,LB,,M-NJ-32x75.step +NJ32-75MELBU,NJ,32,75,M,E,LB,U,M-NJ-32x75.step +NJ32-75MELBCM,NJ,32,75,M,E,LB,CM,M-NJ-32x75.step +NJ32-75MEFA,NJ,32,75,M,E,FA,,M-NJ-32x75.step +NJ32-75MEFAU,NJ,32,75,M,E,FA,U,M-NJ-32x75.step +NJ32-75MEFACM,NJ,32,75,M,E,FA,CM,M-NJ-32x75.step +NJ32-75MEFB,NJ,32,75,M,E,FB,,M-NJ-32x75.step +NJ32-75MEFBU,NJ,32,75,M,E,FB,U,M-NJ-32x75.step +NJ32-75MEFBCM,NJ,32,75,M,E,FB,CM,M-NJ-32x75.step +NJ32-75MESDB,NJ,32,75,M,E,SDB,,M-NJ-32x75.step +NJ32-75MESDBU,NJ,32,75,M,E,SDB,U,M-NJ-32x75.step +NJ32-75MESDBCM,NJ,32,75,M,E,SDB,CM,M-NJ-32x75.step +NJ32-75M,NJ,32,75,M,,,,M-NJ-32x75.step +NJ32-75MU,NJ,32,75,M,,,U,M-NJ-32x75.step +NJ32-75MCM,NJ,32,75,M,,,CM,M-NJ-32x75.step +NJ32-75MLB,NJ,32,75,M,,LB,,M-NJ-32x75.step +NJ32-75MLBU,NJ,32,75,M,,LB,U,M-NJ-32x75.step +NJ32-75MLBCM,NJ,32,75,M,,LB,CM,M-NJ-32x75.step +NJ32-75MFA,NJ,32,75,M,,FA,,M-NJ-32x75.step +NJ32-75MFAU,NJ,32,75,M,,FA,U,M-NJ-32x75.step +NJ32-75MFACM,NJ,32,75,M,,FA,CM,M-NJ-32x75.step +NJ32-75MFB,NJ,32,75,M,,FB,,M-NJ-32x75.step +NJ32-75MFBU,NJ,32,75,M,,FB,U,M-NJ-32x75.step +NJ32-75MFBCM,NJ,32,75,M,,FB,CM,M-NJ-32x75.step +NJ32-75MSDB,NJ,32,75,M,,SDB,,M-NJ-32x75.step +NJ32-75MSDBU,NJ,32,75,M,,SDB,U,M-NJ-32x75.step +NJ32-75MSDBCM,NJ,32,75,M,,SDB,CM,M-NJ-32x75.step +NJ32-100E,NJ,32,100,,E,,,M-NJ-32x100.step +NJ32-100EU,NJ,32,100,,E,,U,M-NJ-32x100.step +NJ32-100ECM,NJ,32,100,,E,,CM,M-NJ-32x100.step +NJ32-100ELB,NJ,32,100,,E,LB,,M-NJ-32x100.step +NJ32-100ELBU,NJ,32,100,,E,LB,U,M-NJ-32x100.step +NJ32-100ELBCM,NJ,32,100,,E,LB,CM,M-NJ-32x100.step +NJ32-100EFA,NJ,32,100,,E,FA,,M-NJ-32x100.step +NJ32-100EFAU,NJ,32,100,,E,FA,U,M-NJ-32x100.step +NJ32-100EFACM,NJ,32,100,,E,FA,CM,M-NJ-32x100.step +NJ32-100EFB,NJ,32,100,,E,FB,,M-NJ-32x100.step +NJ32-100EFBU,NJ,32,100,,E,FB,U,M-NJ-32x100.step +NJ32-100EFBCM,NJ,32,100,,E,FB,CM,M-NJ-32x100.step +NJ32-100ESDB,NJ,32,100,,E,SDB,,M-NJ-32x100.step +NJ32-100ESDBU,NJ,32,100,,E,SDB,U,M-NJ-32x100.step +NJ32-100ESDBCM,NJ,32,100,,E,SDB,CM,M-NJ-32x100.step +NJ32-100,NJ,32,100,,,,,M-NJ-32x100.step +NJ32-100U,NJ,32,100,,,,U,M-NJ-32x100.step +NJ32-100CM,NJ,32,100,,,,CM,M-NJ-32x100.step +NJ32-100LB,NJ,32,100,,,LB,,M-NJ-32x100.step +NJ32-100LBU,NJ,32,100,,,LB,U,M-NJ-32x100.step +NJ32-100LBCM,NJ,32,100,,,LB,CM,M-NJ-32x100.step +NJ32-100FA,NJ,32,100,,,FA,,M-NJ-32x100.step +NJ32-100FAU,NJ,32,100,,,FA,U,M-NJ-32x100.step +NJ32-100FACM,NJ,32,100,,,FA,CM,M-NJ-32x100.step +NJ32-100FB,NJ,32,100,,,FB,,M-NJ-32x100.step +NJ32-100FBU,NJ,32,100,,,FB,U,M-NJ-32x100.step +NJ32-100FBCM,NJ,32,100,,,FB,CM,M-NJ-32x100.step +NJ32-100SDB,NJ,32,100,,,SDB,,M-NJ-32x100.step +NJ32-100SDBU,NJ,32,100,,,SDB,U,M-NJ-32x100.step +NJ32-100SDBCM,NJ,32,100,,,SDB,CM,M-NJ-32x100.step +NJ32-100ME,NJ,32,100,M,E,,,M-NJ-32x100.step +NJ32-100MEU,NJ,32,100,M,E,,U,M-NJ-32x100.step +NJ32-100MECM,NJ,32,100,M,E,,CM,M-NJ-32x100.step +NJ32-100MELB,NJ,32,100,M,E,LB,,M-NJ-32x100.step +NJ32-100MELBU,NJ,32,100,M,E,LB,U,M-NJ-32x100.step +NJ32-100MELBCM,NJ,32,100,M,E,LB,CM,M-NJ-32x100.step +NJ32-100MEFA,NJ,32,100,M,E,FA,,M-NJ-32x100.step +NJ32-100MEFAU,NJ,32,100,M,E,FA,U,M-NJ-32x100.step +NJ32-100MEFACM,NJ,32,100,M,E,FA,CM,M-NJ-32x100.step +NJ32-100MEFB,NJ,32,100,M,E,FB,,M-NJ-32x100.step +NJ32-100MEFBU,NJ,32,100,M,E,FB,U,M-NJ-32x100.step +NJ32-100MEFBCM,NJ,32,100,M,E,FB,CM,M-NJ-32x100.step +NJ32-100MESDB,NJ,32,100,M,E,SDB,,M-NJ-32x100.step +NJ32-100MESDBU,NJ,32,100,M,E,SDB,U,M-NJ-32x100.step +NJ32-100MESDBCM,NJ,32,100,M,E,SDB,CM,M-NJ-32x100.step +NJ32-100M,NJ,32,100,M,,,,M-NJ-32x100.step +NJ32-100MU,NJ,32,100,M,,,U,M-NJ-32x100.step +NJ32-100MCM,NJ,32,100,M,,,CM,M-NJ-32x100.step +NJ32-100MLB,NJ,32,100,M,,LB,,M-NJ-32x100.step +NJ32-100MLBU,NJ,32,100,M,,LB,U,M-NJ-32x100.step +NJ32-100MLBCM,NJ,32,100,M,,LB,CM,M-NJ-32x100.step +NJ32-100MFA,NJ,32,100,M,,FA,,M-NJ-32x100.step +NJ32-100MFAU,NJ,32,100,M,,FA,U,M-NJ-32x100.step +NJ32-100MFACM,NJ,32,100,M,,FA,CM,M-NJ-32x100.step +NJ32-100MFB,NJ,32,100,M,,FB,,M-NJ-32x100.step +NJ32-100MFBU,NJ,32,100,M,,FB,U,M-NJ-32x100.step +NJ32-100MFBCM,NJ,32,100,M,,FB,CM,M-NJ-32x100.step +NJ32-100MSDB,NJ,32,100,M,,SDB,,M-NJ-32x100.step +NJ32-100MSDBU,NJ,32,100,M,,SDB,U,M-NJ-32x100.step +NJ32-100MSDBCM,NJ,32,100,M,,SDB,CM,M-NJ-32x100.step +NJ40-10E,NJ,40,10,,E,,,M-NJ-40x10.step +NJ40-10EU,NJ,40,10,,E,,U,M-NJ-40x10.step +NJ40-10ECM,NJ,40,10,,E,,CM,M-NJ-40x10.step +NJ40-10ELB,NJ,40,10,,E,LB,,M-NJ-40x10.step +NJ40-10ELBU,NJ,40,10,,E,LB,U,M-NJ-40x10.step +NJ40-10ELBCM,NJ,40,10,,E,LB,CM,M-NJ-40x10.step +NJ40-10EFA,NJ,40,10,,E,FA,,M-NJ-40x10.step +NJ40-10EFAU,NJ,40,10,,E,FA,U,M-NJ-40x10.step +NJ40-10EFACM,NJ,40,10,,E,FA,CM,M-NJ-40x10.step +NJ40-10EFB,NJ,40,10,,E,FB,,M-NJ-40x10.step +NJ40-10EFBU,NJ,40,10,,E,FB,U,M-NJ-40x10.step +NJ40-10EFBCM,NJ,40,10,,E,FB,CM,M-NJ-40x10.step +NJ40-10ESDB,NJ,40,10,,E,SDB,,M-NJ-40x10.step +NJ40-10ESDBU,NJ,40,10,,E,SDB,U,M-NJ-40x10.step +NJ40-10ESDBCM,NJ,40,10,,E,SDB,CM,M-NJ-40x10.step +NJ40-10,NJ,40,10,,,,,M-NJ-40x10.step +NJ40-10U,NJ,40,10,,,,U,M-NJ-40x10.step +NJ40-10CM,NJ,40,10,,,,CM,M-NJ-40x10.step +NJ40-10LB,NJ,40,10,,,LB,,M-NJ-40x10.step +NJ40-10LBU,NJ,40,10,,,LB,U,M-NJ-40x10.step +NJ40-10LBCM,NJ,40,10,,,LB,CM,M-NJ-40x10.step +NJ40-10FA,NJ,40,10,,,FA,,M-NJ-40x10.step +NJ40-10FAU,NJ,40,10,,,FA,U,M-NJ-40x10.step +NJ40-10FACM,NJ,40,10,,,FA,CM,M-NJ-40x10.step +NJ40-10FB,NJ,40,10,,,FB,,M-NJ-40x10.step +NJ40-10FBU,NJ,40,10,,,FB,U,M-NJ-40x10.step +NJ40-10FBCM,NJ,40,10,,,FB,CM,M-NJ-40x10.step +NJ40-10SDB,NJ,40,10,,,SDB,,M-NJ-40x10.step +NJ40-10SDBU,NJ,40,10,,,SDB,U,M-NJ-40x10.step +NJ40-10SDBCM,NJ,40,10,,,SDB,CM,M-NJ-40x10.step +NJ40-10ME,NJ,40,10,M,E,,,M-NJ-40x10.step +NJ40-10MEU,NJ,40,10,M,E,,U,M-NJ-40x10.step +NJ40-10MECM,NJ,40,10,M,E,,CM,M-NJ-40x10.step +NJ40-10MELB,NJ,40,10,M,E,LB,,M-NJ-40x10.step +NJ40-10MELBU,NJ,40,10,M,E,LB,U,M-NJ-40x10.step +NJ40-10MELBCM,NJ,40,10,M,E,LB,CM,M-NJ-40x10.step +NJ40-10MEFA,NJ,40,10,M,E,FA,,M-NJ-40x10.step +NJ40-10MEFAU,NJ,40,10,M,E,FA,U,M-NJ-40x10.step +NJ40-10MEFACM,NJ,40,10,M,E,FA,CM,M-NJ-40x10.step +NJ40-10MEFB,NJ,40,10,M,E,FB,,M-NJ-40x10.step +NJ40-10MEFBU,NJ,40,10,M,E,FB,U,M-NJ-40x10.step +NJ40-10MEFBCM,NJ,40,10,M,E,FB,CM,M-NJ-40x10.step +NJ40-10MESDB,NJ,40,10,M,E,SDB,,M-NJ-40x10.step +NJ40-10MESDBU,NJ,40,10,M,E,SDB,U,M-NJ-40x10.step +NJ40-10MESDBCM,NJ,40,10,M,E,SDB,CM,M-NJ-40x10.step +NJ40-10M,NJ,40,10,M,,,,M-NJ-40x10.step +NJ40-10MU,NJ,40,10,M,,,U,M-NJ-40x10.step +NJ40-10MCM,NJ,40,10,M,,,CM,M-NJ-40x10.step +NJ40-10MLB,NJ,40,10,M,,LB,,M-NJ-40x10.step +NJ40-10MLBU,NJ,40,10,M,,LB,U,M-NJ-40x10.step +NJ40-10MLBCM,NJ,40,10,M,,LB,CM,M-NJ-40x10.step +NJ40-10MFA,NJ,40,10,M,,FA,,M-NJ-40x10.step +NJ40-10MFAU,NJ,40,10,M,,FA,U,M-NJ-40x10.step +NJ40-10MFACM,NJ,40,10,M,,FA,CM,M-NJ-40x10.step +NJ40-10MFB,NJ,40,10,M,,FB,,M-NJ-40x10.step +NJ40-10MFBU,NJ,40,10,M,,FB,U,M-NJ-40x10.step +NJ40-10MFBCM,NJ,40,10,M,,FB,CM,M-NJ-40x10.step +NJ40-10MSDB,NJ,40,10,M,,SDB,,M-NJ-40x10.step +NJ40-10MSDBU,NJ,40,10,M,,SDB,U,M-NJ-40x10.step +NJ40-10MSDBCM,NJ,40,10,M,,SDB,CM,M-NJ-40x10.step +NJ40-20E,NJ,40,20,,E,,,M-NJ-40x20.step +NJ40-20EU,NJ,40,20,,E,,U,M-NJ-40x20.step +NJ40-20ECM,NJ,40,20,,E,,CM,M-NJ-40x20.step +NJ40-20ELB,NJ,40,20,,E,LB,,M-NJ-40x20.step +NJ40-20ELBU,NJ,40,20,,E,LB,U,M-NJ-40x20.step +NJ40-20ELBCM,NJ,40,20,,E,LB,CM,M-NJ-40x20.step +NJ40-20EFA,NJ,40,20,,E,FA,,M-NJ-40x20.step +NJ40-20EFAU,NJ,40,20,,E,FA,U,M-NJ-40x20.step +NJ40-20EFACM,NJ,40,20,,E,FA,CM,M-NJ-40x20.step +NJ40-20EFB,NJ,40,20,,E,FB,,M-NJ-40x20.step +NJ40-20EFBU,NJ,40,20,,E,FB,U,M-NJ-40x20.step +NJ40-20EFBCM,NJ,40,20,,E,FB,CM,M-NJ-40x20.step +NJ40-20ESDB,NJ,40,20,,E,SDB,,M-NJ-40x20.step +NJ40-20ESDBU,NJ,40,20,,E,SDB,U,M-NJ-40x20.step +NJ40-20ESDBCM,NJ,40,20,,E,SDB,CM,M-NJ-40x20.step +NJ40-20,NJ,40,20,,,,,M-NJ-40x20.step +NJ40-20U,NJ,40,20,,,,U,M-NJ-40x20.step +NJ40-20CM,NJ,40,20,,,,CM,M-NJ-40x20.step +NJ40-20LB,NJ,40,20,,,LB,,M-NJ-40x20.step +NJ40-20LBU,NJ,40,20,,,LB,U,M-NJ-40x20.step +NJ40-20LBCM,NJ,40,20,,,LB,CM,M-NJ-40x20.step +NJ40-20FA,NJ,40,20,,,FA,,M-NJ-40x20.step +NJ40-20FAU,NJ,40,20,,,FA,U,M-NJ-40x20.step +NJ40-20FACM,NJ,40,20,,,FA,CM,M-NJ-40x20.step +NJ40-20FB,NJ,40,20,,,FB,,M-NJ-40x20.step +NJ40-20FBU,NJ,40,20,,,FB,U,M-NJ-40x20.step +NJ40-20FBCM,NJ,40,20,,,FB,CM,M-NJ-40x20.step +NJ40-20SDB,NJ,40,20,,,SDB,,M-NJ-40x20.step +NJ40-20SDBU,NJ,40,20,,,SDB,U,M-NJ-40x20.step +NJ40-20SDBCM,NJ,40,20,,,SDB,CM,M-NJ-40x20.step +NJ40-20ME,NJ,40,20,M,E,,,M-NJ-40x20.step +NJ40-20MEU,NJ,40,20,M,E,,U,M-NJ-40x20.step +NJ40-20MECM,NJ,40,20,M,E,,CM,M-NJ-40x20.step +NJ40-20MELB,NJ,40,20,M,E,LB,,M-NJ-40x20.step +NJ40-20MELBU,NJ,40,20,M,E,LB,U,M-NJ-40x20.step +NJ40-20MELBCM,NJ,40,20,M,E,LB,CM,M-NJ-40x20.step +NJ40-20MEFA,NJ,40,20,M,E,FA,,M-NJ-40x20.step +NJ40-20MEFAU,NJ,40,20,M,E,FA,U,M-NJ-40x20.step +NJ40-20MEFACM,NJ,40,20,M,E,FA,CM,M-NJ-40x20.step +NJ40-20MEFB,NJ,40,20,M,E,FB,,M-NJ-40x20.step +NJ40-20MEFBU,NJ,40,20,M,E,FB,U,M-NJ-40x20.step +NJ40-20MEFBCM,NJ,40,20,M,E,FB,CM,M-NJ-40x20.step +NJ40-20MESDB,NJ,40,20,M,E,SDB,,M-NJ-40x20.step +NJ40-20MESDBU,NJ,40,20,M,E,SDB,U,M-NJ-40x20.step +NJ40-20MESDBCM,NJ,40,20,M,E,SDB,CM,M-NJ-40x20.step +NJ40-20M,NJ,40,20,M,,,,M-NJ-40x20.step +NJ40-20MU,NJ,40,20,M,,,U,M-NJ-40x20.step +NJ40-20MCM,NJ,40,20,M,,,CM,M-NJ-40x20.step +NJ40-20MLB,NJ,40,20,M,,LB,,M-NJ-40x20.step +NJ40-20MLBU,NJ,40,20,M,,LB,U,M-NJ-40x20.step +NJ40-20MLBCM,NJ,40,20,M,,LB,CM,M-NJ-40x20.step +NJ40-20MFA,NJ,40,20,M,,FA,,M-NJ-40x20.step +NJ40-20MFAU,NJ,40,20,M,,FA,U,M-NJ-40x20.step +NJ40-20MFACM,NJ,40,20,M,,FA,CM,M-NJ-40x20.step +NJ40-20MFB,NJ,40,20,M,,FB,,M-NJ-40x20.step +NJ40-20MFBU,NJ,40,20,M,,FB,U,M-NJ-40x20.step +NJ40-20MFBCM,NJ,40,20,M,,FB,CM,M-NJ-40x20.step +NJ40-20MSDB,NJ,40,20,M,,SDB,,M-NJ-40x20.step +NJ40-20MSDBU,NJ,40,20,M,,SDB,U,M-NJ-40x20.step +NJ40-20MSDBCM,NJ,40,20,M,,SDB,CM,M-NJ-40x20.step +NJ40-30E,NJ,40,30,,E,,,M-NJ-40x30.step +NJ40-30EU,NJ,40,30,,E,,U,M-NJ-40x30.step +NJ40-30ECM,NJ,40,30,,E,,CM,M-NJ-40x30.step +NJ40-30ELB,NJ,40,30,,E,LB,,M-NJ-40x30.step +NJ40-30ELBU,NJ,40,30,,E,LB,U,M-NJ-40x30.step +NJ40-30ELBCM,NJ,40,30,,E,LB,CM,M-NJ-40x30.step +NJ40-30EFA,NJ,40,30,,E,FA,,M-NJ-40x30.step +NJ40-30EFAU,NJ,40,30,,E,FA,U,M-NJ-40x30.step +NJ40-30EFACM,NJ,40,30,,E,FA,CM,M-NJ-40x30.step +NJ40-30EFB,NJ,40,30,,E,FB,,M-NJ-40x30.step +NJ40-30EFBU,NJ,40,30,,E,FB,U,M-NJ-40x30.step +NJ40-30EFBCM,NJ,40,30,,E,FB,CM,M-NJ-40x30.step +NJ40-30ESDB,NJ,40,30,,E,SDB,,M-NJ-40x30.step +NJ40-30ESDBU,NJ,40,30,,E,SDB,U,M-NJ-40x30.step +NJ40-30ESDBCM,NJ,40,30,,E,SDB,CM,M-NJ-40x30.step +NJ40-30,NJ,40,30,,,,,M-NJ-40x30.step +NJ40-30U,NJ,40,30,,,,U,M-NJ-40x30.step +NJ40-30CM,NJ,40,30,,,,CM,M-NJ-40x30.step +NJ40-30LB,NJ,40,30,,,LB,,M-NJ-40x30.step +NJ40-30LBU,NJ,40,30,,,LB,U,M-NJ-40x30.step +NJ40-30LBCM,NJ,40,30,,,LB,CM,M-NJ-40x30.step +NJ40-30FA,NJ,40,30,,,FA,,M-NJ-40x30.step +NJ40-30FAU,NJ,40,30,,,FA,U,M-NJ-40x30.step +NJ40-30FACM,NJ,40,30,,,FA,CM,M-NJ-40x30.step +NJ40-30FB,NJ,40,30,,,FB,,M-NJ-40x30.step +NJ40-30FBU,NJ,40,30,,,FB,U,M-NJ-40x30.step +NJ40-30FBCM,NJ,40,30,,,FB,CM,M-NJ-40x30.step +NJ40-30SDB,NJ,40,30,,,SDB,,M-NJ-40x30.step +NJ40-30SDBU,NJ,40,30,,,SDB,U,M-NJ-40x30.step +NJ40-30SDBCM,NJ,40,30,,,SDB,CM,M-NJ-40x30.step +NJ40-30ME,NJ,40,30,M,E,,,M-NJ-40x30.step +NJ40-30MEU,NJ,40,30,M,E,,U,M-NJ-40x30.step +NJ40-30MECM,NJ,40,30,M,E,,CM,M-NJ-40x30.step +NJ40-30MELB,NJ,40,30,M,E,LB,,M-NJ-40x30.step +NJ40-30MELBU,NJ,40,30,M,E,LB,U,M-NJ-40x30.step +NJ40-30MELBCM,NJ,40,30,M,E,LB,CM,M-NJ-40x30.step +NJ40-30MEFA,NJ,40,30,M,E,FA,,M-NJ-40x30.step +NJ40-30MEFAU,NJ,40,30,M,E,FA,U,M-NJ-40x30.step +NJ40-30MEFACM,NJ,40,30,M,E,FA,CM,M-NJ-40x30.step +NJ40-30MEFB,NJ,40,30,M,E,FB,,M-NJ-40x30.step +NJ40-30MEFBU,NJ,40,30,M,E,FB,U,M-NJ-40x30.step +NJ40-30MEFBCM,NJ,40,30,M,E,FB,CM,M-NJ-40x30.step +NJ40-30MESDB,NJ,40,30,M,E,SDB,,M-NJ-40x30.step +NJ40-30MESDBU,NJ,40,30,M,E,SDB,U,M-NJ-40x30.step +NJ40-30MESDBCM,NJ,40,30,M,E,SDB,CM,M-NJ-40x30.step +NJ40-30M,NJ,40,30,M,,,,M-NJ-40x30.step +NJ40-30MU,NJ,40,30,M,,,U,M-NJ-40x30.step +NJ40-30MCM,NJ,40,30,M,,,CM,M-NJ-40x30.step +NJ40-30MLB,NJ,40,30,M,,LB,,M-NJ-40x30.step +NJ40-30MLBU,NJ,40,30,M,,LB,U,M-NJ-40x30.step +NJ40-30MLBCM,NJ,40,30,M,,LB,CM,M-NJ-40x30.step +NJ40-30MFA,NJ,40,30,M,,FA,,M-NJ-40x30.step +NJ40-30MFAU,NJ,40,30,M,,FA,U,M-NJ-40x30.step +NJ40-30MFACM,NJ,40,30,M,,FA,CM,M-NJ-40x30.step +NJ40-30MFB,NJ,40,30,M,,FB,,M-NJ-40x30.step +NJ40-30MFBU,NJ,40,30,M,,FB,U,M-NJ-40x30.step +NJ40-30MFBCM,NJ,40,30,M,,FB,CM,M-NJ-40x30.step +NJ40-30MSDB,NJ,40,30,M,,SDB,,M-NJ-40x30.step +NJ40-30MSDBU,NJ,40,30,M,,SDB,U,M-NJ-40x30.step +NJ40-30MSDBCM,NJ,40,30,M,,SDB,CM,M-NJ-40x30.step +NJ40-50E,NJ,40,50,,E,,,M-NJ-40x50.step +NJ40-50EU,NJ,40,50,,E,,U,M-NJ-40x50.step +NJ40-50ECM,NJ,40,50,,E,,CM,M-NJ-40x50.step +NJ40-50ELB,NJ,40,50,,E,LB,,M-NJ-40x50.step +NJ40-50ELBU,NJ,40,50,,E,LB,U,M-NJ-40x50.step +NJ40-50ELBCM,NJ,40,50,,E,LB,CM,M-NJ-40x50.step +NJ40-50EFA,NJ,40,50,,E,FA,,M-NJ-40x50.step +NJ40-50EFAU,NJ,40,50,,E,FA,U,M-NJ-40x50.step +NJ40-50EFACM,NJ,40,50,,E,FA,CM,M-NJ-40x50.step +NJ40-50EFB,NJ,40,50,,E,FB,,M-NJ-40x50.step +NJ40-50EFBU,NJ,40,50,,E,FB,U,M-NJ-40x50.step +NJ40-50EFBCM,NJ,40,50,,E,FB,CM,M-NJ-40x50.step +NJ40-50ESDB,NJ,40,50,,E,SDB,,M-NJ-40x50.step +NJ40-50ESDBU,NJ,40,50,,E,SDB,U,M-NJ-40x50.step +NJ40-50ESDBCM,NJ,40,50,,E,SDB,CM,M-NJ-40x50.step +NJ40-50,NJ,40,50,,,,,M-NJ-40x50.step +NJ40-50U,NJ,40,50,,,,U,M-NJ-40x50.step +NJ40-50CM,NJ,40,50,,,,CM,M-NJ-40x50.step +NJ40-50LB,NJ,40,50,,,LB,,M-NJ-40x50.step +NJ40-50LBU,NJ,40,50,,,LB,U,M-NJ-40x50.step +NJ40-50LBCM,NJ,40,50,,,LB,CM,M-NJ-40x50.step +NJ40-50FA,NJ,40,50,,,FA,,M-NJ-40x50.step +NJ40-50FAU,NJ,40,50,,,FA,U,M-NJ-40x50.step +NJ40-50FACM,NJ,40,50,,,FA,CM,M-NJ-40x50.step +NJ40-50FB,NJ,40,50,,,FB,,M-NJ-40x50.step +NJ40-50FBU,NJ,40,50,,,FB,U,M-NJ-40x50.step +NJ40-50FBCM,NJ,40,50,,,FB,CM,M-NJ-40x50.step +NJ40-50SDB,NJ,40,50,,,SDB,,M-NJ-40x50.step +NJ40-50SDBU,NJ,40,50,,,SDB,U,M-NJ-40x50.step +NJ40-50SDBCM,NJ,40,50,,,SDB,CM,M-NJ-40x50.step +NJ40-50ME,NJ,40,50,M,E,,,M-NJ-40x50.step +NJ40-50MEU,NJ,40,50,M,E,,U,M-NJ-40x50.step +NJ40-50MECM,NJ,40,50,M,E,,CM,M-NJ-40x50.step +NJ40-50MELB,NJ,40,50,M,E,LB,,M-NJ-40x50.step +NJ40-50MELBU,NJ,40,50,M,E,LB,U,M-NJ-40x50.step +NJ40-50MELBCM,NJ,40,50,M,E,LB,CM,M-NJ-40x50.step +NJ40-50MEFA,NJ,40,50,M,E,FA,,M-NJ-40x50.step +NJ40-50MEFAU,NJ,40,50,M,E,FA,U,M-NJ-40x50.step +NJ40-50MEFACM,NJ,40,50,M,E,FA,CM,M-NJ-40x50.step +NJ40-50MEFB,NJ,40,50,M,E,FB,,M-NJ-40x50.step +NJ40-50MEFBU,NJ,40,50,M,E,FB,U,M-NJ-40x50.step +NJ40-50MEFBCM,NJ,40,50,M,E,FB,CM,M-NJ-40x50.step +NJ40-50MESDB,NJ,40,50,M,E,SDB,,M-NJ-40x50.step +NJ40-50MESDBU,NJ,40,50,M,E,SDB,U,M-NJ-40x50.step +NJ40-50MESDBCM,NJ,40,50,M,E,SDB,CM,M-NJ-40x50.step +NJ40-50M,NJ,40,50,M,,,,M-NJ-40x50.step +NJ40-50MU,NJ,40,50,M,,,U,M-NJ-40x50.step +NJ40-50MCM,NJ,40,50,M,,,CM,M-NJ-40x50.step +NJ40-50MLB,NJ,40,50,M,,LB,,M-NJ-40x50.step +NJ40-50MLBU,NJ,40,50,M,,LB,U,M-NJ-40x50.step +NJ40-50MLBCM,NJ,40,50,M,,LB,CM,M-NJ-40x50.step +NJ40-50MFA,NJ,40,50,M,,FA,,M-NJ-40x50.step +NJ40-50MFAU,NJ,40,50,M,,FA,U,M-NJ-40x50.step +NJ40-50MFACM,NJ,40,50,M,,FA,CM,M-NJ-40x50.step +NJ40-50MFB,NJ,40,50,M,,FB,,M-NJ-40x50.step +NJ40-50MFBU,NJ,40,50,M,,FB,U,M-NJ-40x50.step +NJ40-50MFBCM,NJ,40,50,M,,FB,CM,M-NJ-40x50.step +NJ40-50MSDB,NJ,40,50,M,,SDB,,M-NJ-40x50.step +NJ40-50MSDBU,NJ,40,50,M,,SDB,U,M-NJ-40x50.step +NJ40-50MSDBCM,NJ,40,50,M,,SDB,CM,M-NJ-40x50.step +NJ40-75E,NJ,40,75,,E,,,M-NJ-40x75.step +NJ40-75EU,NJ,40,75,,E,,U,M-NJ-40x75.step +NJ40-75ECM,NJ,40,75,,E,,CM,M-NJ-40x75.step +NJ40-75ELB,NJ,40,75,,E,LB,,M-NJ-40x75.step +NJ40-75ELBU,NJ,40,75,,E,LB,U,M-NJ-40x75.step +NJ40-75ELBCM,NJ,40,75,,E,LB,CM,M-NJ-40x75.step +NJ40-75EFA,NJ,40,75,,E,FA,,M-NJ-40x75.step +NJ40-75EFAU,NJ,40,75,,E,FA,U,M-NJ-40x75.step +NJ40-75EFACM,NJ,40,75,,E,FA,CM,M-NJ-40x75.step +NJ40-75EFB,NJ,40,75,,E,FB,,M-NJ-40x75.step +NJ40-75EFBU,NJ,40,75,,E,FB,U,M-NJ-40x75.step +NJ40-75EFBCM,NJ,40,75,,E,FB,CM,M-NJ-40x75.step +NJ40-75ESDB,NJ,40,75,,E,SDB,,M-NJ-40x75.step +NJ40-75ESDBU,NJ,40,75,,E,SDB,U,M-NJ-40x75.step +NJ40-75ESDBCM,NJ,40,75,,E,SDB,CM,M-NJ-40x75.step +NJ40-75,NJ,40,75,,,,,M-NJ-40x75.step +NJ40-75U,NJ,40,75,,,,U,M-NJ-40x75.step +NJ40-75CM,NJ,40,75,,,,CM,M-NJ-40x75.step +NJ40-75LB,NJ,40,75,,,LB,,M-NJ-40x75.step +NJ40-75LBU,NJ,40,75,,,LB,U,M-NJ-40x75.step +NJ40-75LBCM,NJ,40,75,,,LB,CM,M-NJ-40x75.step +NJ40-75FA,NJ,40,75,,,FA,,M-NJ-40x75.step +NJ40-75FAU,NJ,40,75,,,FA,U,M-NJ-40x75.step +NJ40-75FACM,NJ,40,75,,,FA,CM,M-NJ-40x75.step +NJ40-75FB,NJ,40,75,,,FB,,M-NJ-40x75.step +NJ40-75FBU,NJ,40,75,,,FB,U,M-NJ-40x75.step +NJ40-75FBCM,NJ,40,75,,,FB,CM,M-NJ-40x75.step +NJ40-75SDB,NJ,40,75,,,SDB,,M-NJ-40x75.step +NJ40-75SDBU,NJ,40,75,,,SDB,U,M-NJ-40x75.step +NJ40-75SDBCM,NJ,40,75,,,SDB,CM,M-NJ-40x75.step +NJ40-75ME,NJ,40,75,M,E,,,M-NJ-40x75.step +NJ40-75MEU,NJ,40,75,M,E,,U,M-NJ-40x75.step +NJ40-75MECM,NJ,40,75,M,E,,CM,M-NJ-40x75.step +NJ40-75MELB,NJ,40,75,M,E,LB,,M-NJ-40x75.step +NJ40-75MELBU,NJ,40,75,M,E,LB,U,M-NJ-40x75.step +NJ40-75MELBCM,NJ,40,75,M,E,LB,CM,M-NJ-40x75.step +NJ40-75MEFA,NJ,40,75,M,E,FA,,M-NJ-40x75.step +NJ40-75MEFAU,NJ,40,75,M,E,FA,U,M-NJ-40x75.step +NJ40-75MEFACM,NJ,40,75,M,E,FA,CM,M-NJ-40x75.step +NJ40-75MEFB,NJ,40,75,M,E,FB,,M-NJ-40x75.step +NJ40-75MEFBU,NJ,40,75,M,E,FB,U,M-NJ-40x75.step +NJ40-75MEFBCM,NJ,40,75,M,E,FB,CM,M-NJ-40x75.step +NJ40-75MESDB,NJ,40,75,M,E,SDB,,M-NJ-40x75.step +NJ40-75MESDBU,NJ,40,75,M,E,SDB,U,M-NJ-40x75.step +NJ40-75MESDBCM,NJ,40,75,M,E,SDB,CM,M-NJ-40x75.step +NJ40-75M,NJ,40,75,M,,,,M-NJ-40x75.step +NJ40-75MU,NJ,40,75,M,,,U,M-NJ-40x75.step +NJ40-75MCM,NJ,40,75,M,,,CM,M-NJ-40x75.step +NJ40-75MLB,NJ,40,75,M,,LB,,M-NJ-40x75.step +NJ40-75MLBU,NJ,40,75,M,,LB,U,M-NJ-40x75.step +NJ40-75MLBCM,NJ,40,75,M,,LB,CM,M-NJ-40x75.step +NJ40-75MFA,NJ,40,75,M,,FA,,M-NJ-40x75.step +NJ40-75MFAU,NJ,40,75,M,,FA,U,M-NJ-40x75.step +NJ40-75MFACM,NJ,40,75,M,,FA,CM,M-NJ-40x75.step +NJ40-75MFB,NJ,40,75,M,,FB,,M-NJ-40x75.step +NJ40-75MFBU,NJ,40,75,M,,FB,U,M-NJ-40x75.step +NJ40-75MFBCM,NJ,40,75,M,,FB,CM,M-NJ-40x75.step +NJ40-75MSDB,NJ,40,75,M,,SDB,,M-NJ-40x75.step +NJ40-75MSDBU,NJ,40,75,M,,SDB,U,M-NJ-40x75.step +NJ40-75MSDBCM,NJ,40,75,M,,SDB,CM,M-NJ-40x75.step +NJ40-100E,NJ,40,100,,E,,,M-NJ-40x100.step +NJ40-100EU,NJ,40,100,,E,,U,M-NJ-40x100.step +NJ40-100ECM,NJ,40,100,,E,,CM,M-NJ-40x100.step +NJ40-100ELB,NJ,40,100,,E,LB,,M-NJ-40x100.step +NJ40-100ELBU,NJ,40,100,,E,LB,U,M-NJ-40x100.step +NJ40-100ELBCM,NJ,40,100,,E,LB,CM,M-NJ-40x100.step +NJ40-100EFA,NJ,40,100,,E,FA,,M-NJ-40x100.step +NJ40-100EFAU,NJ,40,100,,E,FA,U,M-NJ-40x100.step +NJ40-100EFACM,NJ,40,100,,E,FA,CM,M-NJ-40x100.step +NJ40-100EFB,NJ,40,100,,E,FB,,M-NJ-40x100.step +NJ40-100EFBU,NJ,40,100,,E,FB,U,M-NJ-40x100.step +NJ40-100EFBCM,NJ,40,100,,E,FB,CM,M-NJ-40x100.step +NJ40-100ESDB,NJ,40,100,,E,SDB,,M-NJ-40x100.step +NJ40-100ESDBU,NJ,40,100,,E,SDB,U,M-NJ-40x100.step +NJ40-100ESDBCM,NJ,40,100,,E,SDB,CM,M-NJ-40x100.step +NJ40-100,NJ,40,100,,,,,M-NJ-40x100.step +NJ40-100U,NJ,40,100,,,,U,M-NJ-40x100.step +NJ40-100CM,NJ,40,100,,,,CM,M-NJ-40x100.step +NJ40-100LB,NJ,40,100,,,LB,,M-NJ-40x100.step +NJ40-100LBU,NJ,40,100,,,LB,U,M-NJ-40x100.step +NJ40-100LBCM,NJ,40,100,,,LB,CM,M-NJ-40x100.step +NJ40-100FA,NJ,40,100,,,FA,,M-NJ-40x100.step +NJ40-100FAU,NJ,40,100,,,FA,U,M-NJ-40x100.step +NJ40-100FACM,NJ,40,100,,,FA,CM,M-NJ-40x100.step +NJ40-100FB,NJ,40,100,,,FB,,M-NJ-40x100.step +NJ40-100FBU,NJ,40,100,,,FB,U,M-NJ-40x100.step +NJ40-100FBCM,NJ,40,100,,,FB,CM,M-NJ-40x100.step +NJ40-100SDB,NJ,40,100,,,SDB,,M-NJ-40x100.step +NJ40-100SDBU,NJ,40,100,,,SDB,U,M-NJ-40x100.step +NJ40-100SDBCM,NJ,40,100,,,SDB,CM,M-NJ-40x100.step +NJ40-100ME,NJ,40,100,M,E,,,M-NJ-40x100.step +NJ40-100MEU,NJ,40,100,M,E,,U,M-NJ-40x100.step +NJ40-100MECM,NJ,40,100,M,E,,CM,M-NJ-40x100.step +NJ40-100MELB,NJ,40,100,M,E,LB,,M-NJ-40x100.step +NJ40-100MELBU,NJ,40,100,M,E,LB,U,M-NJ-40x100.step +NJ40-100MELBCM,NJ,40,100,M,E,LB,CM,M-NJ-40x100.step +NJ40-100MEFA,NJ,40,100,M,E,FA,,M-NJ-40x100.step +NJ40-100MEFAU,NJ,40,100,M,E,FA,U,M-NJ-40x100.step +NJ40-100MEFACM,NJ,40,100,M,E,FA,CM,M-NJ-40x100.step +NJ40-100MEFB,NJ,40,100,M,E,FB,,M-NJ-40x100.step +NJ40-100MEFBU,NJ,40,100,M,E,FB,U,M-NJ-40x100.step +NJ40-100MEFBCM,NJ,40,100,M,E,FB,CM,M-NJ-40x100.step +NJ40-100MESDB,NJ,40,100,M,E,SDB,,M-NJ-40x100.step +NJ40-100MESDBU,NJ,40,100,M,E,SDB,U,M-NJ-40x100.step +NJ40-100MESDBCM,NJ,40,100,M,E,SDB,CM,M-NJ-40x100.step +NJ40-100M,NJ,40,100,M,,,,M-NJ-40x100.step +NJ40-100MU,NJ,40,100,M,,,U,M-NJ-40x100.step +NJ40-100MCM,NJ,40,100,M,,,CM,M-NJ-40x100.step +NJ40-100MLB,NJ,40,100,M,,LB,,M-NJ-40x100.step +NJ40-100MLBU,NJ,40,100,M,,LB,U,M-NJ-40x100.step +NJ40-100MLBCM,NJ,40,100,M,,LB,CM,M-NJ-40x100.step +NJ40-100MFA,NJ,40,100,M,,FA,,M-NJ-40x100.step +NJ40-100MFAU,NJ,40,100,M,,FA,U,M-NJ-40x100.step +NJ40-100MFACM,NJ,40,100,M,,FA,CM,M-NJ-40x100.step +NJ40-100MFB,NJ,40,100,M,,FB,,M-NJ-40x100.step +NJ40-100MFBU,NJ,40,100,M,,FB,U,M-NJ-40x100.step +NJ40-100MFBCM,NJ,40,100,M,,FB,CM,M-NJ-40x100.step +NJ40-100MSDB,NJ,40,100,M,,SDB,,M-NJ-40x100.step +NJ40-100MSDBU,NJ,40,100,M,,SDB,U,M-NJ-40x100.step +NJ40-100MSDBCM,NJ,40,100,M,,SDB,CM,M-NJ-40x100.step diff --git a/onebot-data/catalog/csv/MAL.csv b/onebot-data/catalog/csv/MAL.csv new file mode 100644 index 0000000..0833ce6 --- /dev/null +++ b/onebot-data/catalog/csv/MAL.csv @@ -0,0 +1,9001 @@ +model_code,type,bore,stroke,magnet,rod,mount,cap,step_file +MAL16-10E,MAL,16,10,,E,,,MAL-MAL-16x10.step +MAL16-10EU,MAL,16,10,,E,,U,MAL-MAL-16x10.step +MAL16-10ECM,MAL,16,10,,E,,CM,MAL-MAL-16x10.step +MAL16-10ELB,MAL,16,10,,E,LB,,MAL-MAL-16x10.step +MAL16-10ELBU,MAL,16,10,,E,LB,U,MAL-MAL-16x10.step +MAL16-10ELBCM,MAL,16,10,,E,LB,CM,MAL-MAL-16x10.step +MAL16-10EFA,MAL,16,10,,E,FA,,MAL-MAL-16x10.step +MAL16-10EFAU,MAL,16,10,,E,FA,U,MAL-MAL-16x10.step +MAL16-10EFACM,MAL,16,10,,E,FA,CM,MAL-MAL-16x10.step +MAL16-10EFB,MAL,16,10,,E,FB,,MAL-MAL-16x10.step +MAL16-10EFBU,MAL,16,10,,E,FB,U,MAL-MAL-16x10.step +MAL16-10EFBCM,MAL,16,10,,E,FB,CM,MAL-MAL-16x10.step +MAL16-10ESDB,MAL,16,10,,E,SDB,,MAL-MAL-16x10.step +MAL16-10ESDBU,MAL,16,10,,E,SDB,U,MAL-MAL-16x10.step +MAL16-10ESDBCM,MAL,16,10,,E,SDB,CM,MAL-MAL-16x10.step +MAL16-10,MAL,16,10,,,,,MAL-MAL-16x10.step +MAL16-10U,MAL,16,10,,,,U,MAL-MAL-16x10.step +MAL16-10CM,MAL,16,10,,,,CM,MAL-MAL-16x10.step +MAL16-10LB,MAL,16,10,,,LB,,MAL-MAL-16x10.step +MAL16-10LBU,MAL,16,10,,,LB,U,MAL-MAL-16x10.step +MAL16-10LBCM,MAL,16,10,,,LB,CM,MAL-MAL-16x10.step +MAL16-10FA,MAL,16,10,,,FA,,MAL-MAL-16x10.step +MAL16-10FAU,MAL,16,10,,,FA,U,MAL-MAL-16x10.step +MAL16-10FACM,MAL,16,10,,,FA,CM,MAL-MAL-16x10.step +MAL16-10FB,MAL,16,10,,,FB,,MAL-MAL-16x10.step +MAL16-10FBU,MAL,16,10,,,FB,U,MAL-MAL-16x10.step +MAL16-10FBCM,MAL,16,10,,,FB,CM,MAL-MAL-16x10.step +MAL16-10SDB,MAL,16,10,,,SDB,,MAL-MAL-16x10.step +MAL16-10SDBU,MAL,16,10,,,SDB,U,MAL-MAL-16x10.step +MAL16-10SDBCM,MAL,16,10,,,SDB,CM,MAL-MAL-16x10.step +MAL16-10ME,MAL,16,10,M,E,,,MAL-MAL-16x10.step +MAL16-10MEU,MAL,16,10,M,E,,U,MAL-MAL-16x10.step +MAL16-10MECM,MAL,16,10,M,E,,CM,MAL-MAL-16x10.step +MAL16-10MELB,MAL,16,10,M,E,LB,,MAL-MAL-16x10.step +MAL16-10MELBU,MAL,16,10,M,E,LB,U,MAL-MAL-16x10.step +MAL16-10MELBCM,MAL,16,10,M,E,LB,CM,MAL-MAL-16x10.step +MAL16-10MEFA,MAL,16,10,M,E,FA,,MAL-MAL-16x10.step +MAL16-10MEFAU,MAL,16,10,M,E,FA,U,MAL-MAL-16x10.step +MAL16-10MEFACM,MAL,16,10,M,E,FA,CM,MAL-MAL-16x10.step +MAL16-10MEFB,MAL,16,10,M,E,FB,,MAL-MAL-16x10.step +MAL16-10MEFBU,MAL,16,10,M,E,FB,U,MAL-MAL-16x10.step +MAL16-10MEFBCM,MAL,16,10,M,E,FB,CM,MAL-MAL-16x10.step +MAL16-10MESDB,MAL,16,10,M,E,SDB,,MAL-MAL-16x10.step +MAL16-10MESDBU,MAL,16,10,M,E,SDB,U,MAL-MAL-16x10.step +MAL16-10MESDBCM,MAL,16,10,M,E,SDB,CM,MAL-MAL-16x10.step +MAL16-10M,MAL,16,10,M,,,,MAL-MAL-16x10.step +MAL16-10MU,MAL,16,10,M,,,U,MAL-MAL-16x10.step +MAL16-10MCM,MAL,16,10,M,,,CM,MAL-MAL-16x10.step +MAL16-10MLB,MAL,16,10,M,,LB,,MAL-MAL-16x10.step +MAL16-10MLBU,MAL,16,10,M,,LB,U,MAL-MAL-16x10.step +MAL16-10MLBCM,MAL,16,10,M,,LB,CM,MAL-MAL-16x10.step +MAL16-10MFA,MAL,16,10,M,,FA,,MAL-MAL-16x10.step +MAL16-10MFAU,MAL,16,10,M,,FA,U,MAL-MAL-16x10.step +MAL16-10MFACM,MAL,16,10,M,,FA,CM,MAL-MAL-16x10.step +MAL16-10MFB,MAL,16,10,M,,FB,,MAL-MAL-16x10.step +MAL16-10MFBU,MAL,16,10,M,,FB,U,MAL-MAL-16x10.step +MAL16-10MFBCM,MAL,16,10,M,,FB,CM,MAL-MAL-16x10.step +MAL16-10MSDB,MAL,16,10,M,,SDB,,MAL-MAL-16x10.step +MAL16-10MSDBU,MAL,16,10,M,,SDB,U,MAL-MAL-16x10.step +MAL16-10MSDBCM,MAL,16,10,M,,SDB,CM,MAL-MAL-16x10.step +MAL16-20E,MAL,16,20,,E,,,MAL-MAL-16x20.step +MAL16-20EU,MAL,16,20,,E,,U,MAL-MAL-16x20.step +MAL16-20ECM,MAL,16,20,,E,,CM,MAL-MAL-16x20.step +MAL16-20ELB,MAL,16,20,,E,LB,,MAL-MAL-16x20.step +MAL16-20ELBU,MAL,16,20,,E,LB,U,MAL-MAL-16x20.step +MAL16-20ELBCM,MAL,16,20,,E,LB,CM,MAL-MAL-16x20.step +MAL16-20EFA,MAL,16,20,,E,FA,,MAL-MAL-16x20.step +MAL16-20EFAU,MAL,16,20,,E,FA,U,MAL-MAL-16x20.step +MAL16-20EFACM,MAL,16,20,,E,FA,CM,MAL-MAL-16x20.step +MAL16-20EFB,MAL,16,20,,E,FB,,MAL-MAL-16x20.step +MAL16-20EFBU,MAL,16,20,,E,FB,U,MAL-MAL-16x20.step +MAL16-20EFBCM,MAL,16,20,,E,FB,CM,MAL-MAL-16x20.step +MAL16-20ESDB,MAL,16,20,,E,SDB,,MAL-MAL-16x20.step +MAL16-20ESDBU,MAL,16,20,,E,SDB,U,MAL-MAL-16x20.step +MAL16-20ESDBCM,MAL,16,20,,E,SDB,CM,MAL-MAL-16x20.step +MAL16-20,MAL,16,20,,,,,MAL-MAL-16x20.step +MAL16-20U,MAL,16,20,,,,U,MAL-MAL-16x20.step +MAL16-20CM,MAL,16,20,,,,CM,MAL-MAL-16x20.step +MAL16-20LB,MAL,16,20,,,LB,,MAL-MAL-16x20.step +MAL16-20LBU,MAL,16,20,,,LB,U,MAL-MAL-16x20.step +MAL16-20LBCM,MAL,16,20,,,LB,CM,MAL-MAL-16x20.step +MAL16-20FA,MAL,16,20,,,FA,,MAL-MAL-16x20.step +MAL16-20FAU,MAL,16,20,,,FA,U,MAL-MAL-16x20.step +MAL16-20FACM,MAL,16,20,,,FA,CM,MAL-MAL-16x20.step +MAL16-20FB,MAL,16,20,,,FB,,MAL-MAL-16x20.step +MAL16-20FBU,MAL,16,20,,,FB,U,MAL-MAL-16x20.step +MAL16-20FBCM,MAL,16,20,,,FB,CM,MAL-MAL-16x20.step +MAL16-20SDB,MAL,16,20,,,SDB,,MAL-MAL-16x20.step +MAL16-20SDBU,MAL,16,20,,,SDB,U,MAL-MAL-16x20.step +MAL16-20SDBCM,MAL,16,20,,,SDB,CM,MAL-MAL-16x20.step +MAL16-20ME,MAL,16,20,M,E,,,MAL-MAL-16x20.step +MAL16-20MEU,MAL,16,20,M,E,,U,MAL-MAL-16x20.step +MAL16-20MECM,MAL,16,20,M,E,,CM,MAL-MAL-16x20.step +MAL16-20MELB,MAL,16,20,M,E,LB,,MAL-MAL-16x20.step +MAL16-20MELBU,MAL,16,20,M,E,LB,U,MAL-MAL-16x20.step +MAL16-20MELBCM,MAL,16,20,M,E,LB,CM,MAL-MAL-16x20.step +MAL16-20MEFA,MAL,16,20,M,E,FA,,MAL-MAL-16x20.step +MAL16-20MEFAU,MAL,16,20,M,E,FA,U,MAL-MAL-16x20.step +MAL16-20MEFACM,MAL,16,20,M,E,FA,CM,MAL-MAL-16x20.step +MAL16-20MEFB,MAL,16,20,M,E,FB,,MAL-MAL-16x20.step +MAL16-20MEFBU,MAL,16,20,M,E,FB,U,MAL-MAL-16x20.step +MAL16-20MEFBCM,MAL,16,20,M,E,FB,CM,MAL-MAL-16x20.step +MAL16-20MESDB,MAL,16,20,M,E,SDB,,MAL-MAL-16x20.step +MAL16-20MESDBU,MAL,16,20,M,E,SDB,U,MAL-MAL-16x20.step +MAL16-20MESDBCM,MAL,16,20,M,E,SDB,CM,MAL-MAL-16x20.step +MAL16-20M,MAL,16,20,M,,,,MAL-MAL-16x20.step +MAL16-20MU,MAL,16,20,M,,,U,MAL-MAL-16x20.step +MAL16-20MCM,MAL,16,20,M,,,CM,MAL-MAL-16x20.step +MAL16-20MLB,MAL,16,20,M,,LB,,MAL-MAL-16x20.step +MAL16-20MLBU,MAL,16,20,M,,LB,U,MAL-MAL-16x20.step +MAL16-20MLBCM,MAL,16,20,M,,LB,CM,MAL-MAL-16x20.step +MAL16-20MFA,MAL,16,20,M,,FA,,MAL-MAL-16x20.step +MAL16-20MFAU,MAL,16,20,M,,FA,U,MAL-MAL-16x20.step +MAL16-20MFACM,MAL,16,20,M,,FA,CM,MAL-MAL-16x20.step +MAL16-20MFB,MAL,16,20,M,,FB,,MAL-MAL-16x20.step +MAL16-20MFBU,MAL,16,20,M,,FB,U,MAL-MAL-16x20.step +MAL16-20MFBCM,MAL,16,20,M,,FB,CM,MAL-MAL-16x20.step +MAL16-20MSDB,MAL,16,20,M,,SDB,,MAL-MAL-16x20.step +MAL16-20MSDBU,MAL,16,20,M,,SDB,U,MAL-MAL-16x20.step +MAL16-20MSDBCM,MAL,16,20,M,,SDB,CM,MAL-MAL-16x20.step +MAL16-30E,MAL,16,30,,E,,,MAL-MAL-16x30.step +MAL16-30EU,MAL,16,30,,E,,U,MAL-MAL-16x30.step +MAL16-30ECM,MAL,16,30,,E,,CM,MAL-MAL-16x30.step +MAL16-30ELB,MAL,16,30,,E,LB,,MAL-MAL-16x30.step +MAL16-30ELBU,MAL,16,30,,E,LB,U,MAL-MAL-16x30.step +MAL16-30ELBCM,MAL,16,30,,E,LB,CM,MAL-MAL-16x30.step +MAL16-30EFA,MAL,16,30,,E,FA,,MAL-MAL-16x30.step +MAL16-30EFAU,MAL,16,30,,E,FA,U,MAL-MAL-16x30.step +MAL16-30EFACM,MAL,16,30,,E,FA,CM,MAL-MAL-16x30.step +MAL16-30EFB,MAL,16,30,,E,FB,,MAL-MAL-16x30.step +MAL16-30EFBU,MAL,16,30,,E,FB,U,MAL-MAL-16x30.step +MAL16-30EFBCM,MAL,16,30,,E,FB,CM,MAL-MAL-16x30.step +MAL16-30ESDB,MAL,16,30,,E,SDB,,MAL-MAL-16x30.step +MAL16-30ESDBU,MAL,16,30,,E,SDB,U,MAL-MAL-16x30.step +MAL16-30ESDBCM,MAL,16,30,,E,SDB,CM,MAL-MAL-16x30.step +MAL16-30,MAL,16,30,,,,,MAL-MAL-16x30.step +MAL16-30U,MAL,16,30,,,,U,MAL-MAL-16x30.step +MAL16-30CM,MAL,16,30,,,,CM,MAL-MAL-16x30.step +MAL16-30LB,MAL,16,30,,,LB,,MAL-MAL-16x30.step +MAL16-30LBU,MAL,16,30,,,LB,U,MAL-MAL-16x30.step +MAL16-30LBCM,MAL,16,30,,,LB,CM,MAL-MAL-16x30.step +MAL16-30FA,MAL,16,30,,,FA,,MAL-MAL-16x30.step +MAL16-30FAU,MAL,16,30,,,FA,U,MAL-MAL-16x30.step +MAL16-30FACM,MAL,16,30,,,FA,CM,MAL-MAL-16x30.step +MAL16-30FB,MAL,16,30,,,FB,,MAL-MAL-16x30.step +MAL16-30FBU,MAL,16,30,,,FB,U,MAL-MAL-16x30.step +MAL16-30FBCM,MAL,16,30,,,FB,CM,MAL-MAL-16x30.step +MAL16-30SDB,MAL,16,30,,,SDB,,MAL-MAL-16x30.step +MAL16-30SDBU,MAL,16,30,,,SDB,U,MAL-MAL-16x30.step +MAL16-30SDBCM,MAL,16,30,,,SDB,CM,MAL-MAL-16x30.step +MAL16-30ME,MAL,16,30,M,E,,,MAL-MAL-16x30.step +MAL16-30MEU,MAL,16,30,M,E,,U,MAL-MAL-16x30.step +MAL16-30MECM,MAL,16,30,M,E,,CM,MAL-MAL-16x30.step +MAL16-30MELB,MAL,16,30,M,E,LB,,MAL-MAL-16x30.step +MAL16-30MELBU,MAL,16,30,M,E,LB,U,MAL-MAL-16x30.step +MAL16-30MELBCM,MAL,16,30,M,E,LB,CM,MAL-MAL-16x30.step +MAL16-30MEFA,MAL,16,30,M,E,FA,,MAL-MAL-16x30.step +MAL16-30MEFAU,MAL,16,30,M,E,FA,U,MAL-MAL-16x30.step +MAL16-30MEFACM,MAL,16,30,M,E,FA,CM,MAL-MAL-16x30.step +MAL16-30MEFB,MAL,16,30,M,E,FB,,MAL-MAL-16x30.step +MAL16-30MEFBU,MAL,16,30,M,E,FB,U,MAL-MAL-16x30.step +MAL16-30MEFBCM,MAL,16,30,M,E,FB,CM,MAL-MAL-16x30.step +MAL16-30MESDB,MAL,16,30,M,E,SDB,,MAL-MAL-16x30.step +MAL16-30MESDBU,MAL,16,30,M,E,SDB,U,MAL-MAL-16x30.step +MAL16-30MESDBCM,MAL,16,30,M,E,SDB,CM,MAL-MAL-16x30.step +MAL16-30M,MAL,16,30,M,,,,MAL-MAL-16x30.step +MAL16-30MU,MAL,16,30,M,,,U,MAL-MAL-16x30.step +MAL16-30MCM,MAL,16,30,M,,,CM,MAL-MAL-16x30.step +MAL16-30MLB,MAL,16,30,M,,LB,,MAL-MAL-16x30.step +MAL16-30MLBU,MAL,16,30,M,,LB,U,MAL-MAL-16x30.step +MAL16-30MLBCM,MAL,16,30,M,,LB,CM,MAL-MAL-16x30.step +MAL16-30MFA,MAL,16,30,M,,FA,,MAL-MAL-16x30.step +MAL16-30MFAU,MAL,16,30,M,,FA,U,MAL-MAL-16x30.step +MAL16-30MFACM,MAL,16,30,M,,FA,CM,MAL-MAL-16x30.step +MAL16-30MFB,MAL,16,30,M,,FB,,MAL-MAL-16x30.step +MAL16-30MFBU,MAL,16,30,M,,FB,U,MAL-MAL-16x30.step +MAL16-30MFBCM,MAL,16,30,M,,FB,CM,MAL-MAL-16x30.step +MAL16-30MSDB,MAL,16,30,M,,SDB,,MAL-MAL-16x30.step +MAL16-30MSDBU,MAL,16,30,M,,SDB,U,MAL-MAL-16x30.step +MAL16-30MSDBCM,MAL,16,30,M,,SDB,CM,MAL-MAL-16x30.step +MAL16-50E,MAL,16,50,,E,,,MAL-MAL-16x50.step +MAL16-50EU,MAL,16,50,,E,,U,MAL-MAL-16x50.step +MAL16-50ECM,MAL,16,50,,E,,CM,MAL-MAL-16x50.step +MAL16-50ELB,MAL,16,50,,E,LB,,MAL-MAL-16x50.step +MAL16-50ELBU,MAL,16,50,,E,LB,U,MAL-MAL-16x50.step +MAL16-50ELBCM,MAL,16,50,,E,LB,CM,MAL-MAL-16x50.step +MAL16-50EFA,MAL,16,50,,E,FA,,MAL-MAL-16x50.step +MAL16-50EFAU,MAL,16,50,,E,FA,U,MAL-MAL-16x50.step +MAL16-50EFACM,MAL,16,50,,E,FA,CM,MAL-MAL-16x50.step +MAL16-50EFB,MAL,16,50,,E,FB,,MAL-MAL-16x50.step +MAL16-50EFBU,MAL,16,50,,E,FB,U,MAL-MAL-16x50.step +MAL16-50EFBCM,MAL,16,50,,E,FB,CM,MAL-MAL-16x50.step +MAL16-50ESDB,MAL,16,50,,E,SDB,,MAL-MAL-16x50.step +MAL16-50ESDBU,MAL,16,50,,E,SDB,U,MAL-MAL-16x50.step +MAL16-50ESDBCM,MAL,16,50,,E,SDB,CM,MAL-MAL-16x50.step +MAL16-50,MAL,16,50,,,,,MAL-MAL-16x50.step +MAL16-50U,MAL,16,50,,,,U,MAL-MAL-16x50.step +MAL16-50CM,MAL,16,50,,,,CM,MAL-MAL-16x50.step +MAL16-50LB,MAL,16,50,,,LB,,MAL-MAL-16x50.step +MAL16-50LBU,MAL,16,50,,,LB,U,MAL-MAL-16x50.step +MAL16-50LBCM,MAL,16,50,,,LB,CM,MAL-MAL-16x50.step +MAL16-50FA,MAL,16,50,,,FA,,MAL-MAL-16x50.step +MAL16-50FAU,MAL,16,50,,,FA,U,MAL-MAL-16x50.step +MAL16-50FACM,MAL,16,50,,,FA,CM,MAL-MAL-16x50.step +MAL16-50FB,MAL,16,50,,,FB,,MAL-MAL-16x50.step +MAL16-50FBU,MAL,16,50,,,FB,U,MAL-MAL-16x50.step +MAL16-50FBCM,MAL,16,50,,,FB,CM,MAL-MAL-16x50.step +MAL16-50SDB,MAL,16,50,,,SDB,,MAL-MAL-16x50.step +MAL16-50SDBU,MAL,16,50,,,SDB,U,MAL-MAL-16x50.step +MAL16-50SDBCM,MAL,16,50,,,SDB,CM,MAL-MAL-16x50.step +MAL16-50ME,MAL,16,50,M,E,,,MAL-MAL-16x50.step +MAL16-50MEU,MAL,16,50,M,E,,U,MAL-MAL-16x50.step +MAL16-50MECM,MAL,16,50,M,E,,CM,MAL-MAL-16x50.step +MAL16-50MELB,MAL,16,50,M,E,LB,,MAL-MAL-16x50.step +MAL16-50MELBU,MAL,16,50,M,E,LB,U,MAL-MAL-16x50.step +MAL16-50MELBCM,MAL,16,50,M,E,LB,CM,MAL-MAL-16x50.step +MAL16-50MEFA,MAL,16,50,M,E,FA,,MAL-MAL-16x50.step +MAL16-50MEFAU,MAL,16,50,M,E,FA,U,MAL-MAL-16x50.step +MAL16-50MEFACM,MAL,16,50,M,E,FA,CM,MAL-MAL-16x50.step +MAL16-50MEFB,MAL,16,50,M,E,FB,,MAL-MAL-16x50.step +MAL16-50MEFBU,MAL,16,50,M,E,FB,U,MAL-MAL-16x50.step +MAL16-50MEFBCM,MAL,16,50,M,E,FB,CM,MAL-MAL-16x50.step +MAL16-50MESDB,MAL,16,50,M,E,SDB,,MAL-MAL-16x50.step +MAL16-50MESDBU,MAL,16,50,M,E,SDB,U,MAL-MAL-16x50.step +MAL16-50MESDBCM,MAL,16,50,M,E,SDB,CM,MAL-MAL-16x50.step +MAL16-50M,MAL,16,50,M,,,,MAL-MAL-16x50.step +MAL16-50MU,MAL,16,50,M,,,U,MAL-MAL-16x50.step +MAL16-50MCM,MAL,16,50,M,,,CM,MAL-MAL-16x50.step +MAL16-50MLB,MAL,16,50,M,,LB,,MAL-MAL-16x50.step +MAL16-50MLBU,MAL,16,50,M,,LB,U,MAL-MAL-16x50.step +MAL16-50MLBCM,MAL,16,50,M,,LB,CM,MAL-MAL-16x50.step +MAL16-50MFA,MAL,16,50,M,,FA,,MAL-MAL-16x50.step +MAL16-50MFAU,MAL,16,50,M,,FA,U,MAL-MAL-16x50.step +MAL16-50MFACM,MAL,16,50,M,,FA,CM,MAL-MAL-16x50.step +MAL16-50MFB,MAL,16,50,M,,FB,,MAL-MAL-16x50.step +MAL16-50MFBU,MAL,16,50,M,,FB,U,MAL-MAL-16x50.step +MAL16-50MFBCM,MAL,16,50,M,,FB,CM,MAL-MAL-16x50.step +MAL16-50MSDB,MAL,16,50,M,,SDB,,MAL-MAL-16x50.step +MAL16-50MSDBU,MAL,16,50,M,,SDB,U,MAL-MAL-16x50.step +MAL16-50MSDBCM,MAL,16,50,M,,SDB,CM,MAL-MAL-16x50.step +MAL16-75E,MAL,16,75,,E,,,MAL-MAL-16x75.step +MAL16-75EU,MAL,16,75,,E,,U,MAL-MAL-16x75.step +MAL16-75ECM,MAL,16,75,,E,,CM,MAL-MAL-16x75.step +MAL16-75ELB,MAL,16,75,,E,LB,,MAL-MAL-16x75.step +MAL16-75ELBU,MAL,16,75,,E,LB,U,MAL-MAL-16x75.step +MAL16-75ELBCM,MAL,16,75,,E,LB,CM,MAL-MAL-16x75.step +MAL16-75EFA,MAL,16,75,,E,FA,,MAL-MAL-16x75.step +MAL16-75EFAU,MAL,16,75,,E,FA,U,MAL-MAL-16x75.step +MAL16-75EFACM,MAL,16,75,,E,FA,CM,MAL-MAL-16x75.step +MAL16-75EFB,MAL,16,75,,E,FB,,MAL-MAL-16x75.step +MAL16-75EFBU,MAL,16,75,,E,FB,U,MAL-MAL-16x75.step +MAL16-75EFBCM,MAL,16,75,,E,FB,CM,MAL-MAL-16x75.step +MAL16-75ESDB,MAL,16,75,,E,SDB,,MAL-MAL-16x75.step +MAL16-75ESDBU,MAL,16,75,,E,SDB,U,MAL-MAL-16x75.step +MAL16-75ESDBCM,MAL,16,75,,E,SDB,CM,MAL-MAL-16x75.step +MAL16-75,MAL,16,75,,,,,MAL-MAL-16x75.step +MAL16-75U,MAL,16,75,,,,U,MAL-MAL-16x75.step +MAL16-75CM,MAL,16,75,,,,CM,MAL-MAL-16x75.step +MAL16-75LB,MAL,16,75,,,LB,,MAL-MAL-16x75.step +MAL16-75LBU,MAL,16,75,,,LB,U,MAL-MAL-16x75.step +MAL16-75LBCM,MAL,16,75,,,LB,CM,MAL-MAL-16x75.step +MAL16-75FA,MAL,16,75,,,FA,,MAL-MAL-16x75.step +MAL16-75FAU,MAL,16,75,,,FA,U,MAL-MAL-16x75.step +MAL16-75FACM,MAL,16,75,,,FA,CM,MAL-MAL-16x75.step +MAL16-75FB,MAL,16,75,,,FB,,MAL-MAL-16x75.step +MAL16-75FBU,MAL,16,75,,,FB,U,MAL-MAL-16x75.step +MAL16-75FBCM,MAL,16,75,,,FB,CM,MAL-MAL-16x75.step +MAL16-75SDB,MAL,16,75,,,SDB,,MAL-MAL-16x75.step +MAL16-75SDBU,MAL,16,75,,,SDB,U,MAL-MAL-16x75.step +MAL16-75SDBCM,MAL,16,75,,,SDB,CM,MAL-MAL-16x75.step +MAL16-75ME,MAL,16,75,M,E,,,MAL-MAL-16x75.step +MAL16-75MEU,MAL,16,75,M,E,,U,MAL-MAL-16x75.step +MAL16-75MECM,MAL,16,75,M,E,,CM,MAL-MAL-16x75.step +MAL16-75MELB,MAL,16,75,M,E,LB,,MAL-MAL-16x75.step +MAL16-75MELBU,MAL,16,75,M,E,LB,U,MAL-MAL-16x75.step +MAL16-75MELBCM,MAL,16,75,M,E,LB,CM,MAL-MAL-16x75.step +MAL16-75MEFA,MAL,16,75,M,E,FA,,MAL-MAL-16x75.step +MAL16-75MEFAU,MAL,16,75,M,E,FA,U,MAL-MAL-16x75.step +MAL16-75MEFACM,MAL,16,75,M,E,FA,CM,MAL-MAL-16x75.step +MAL16-75MEFB,MAL,16,75,M,E,FB,,MAL-MAL-16x75.step +MAL16-75MEFBU,MAL,16,75,M,E,FB,U,MAL-MAL-16x75.step +MAL16-75MEFBCM,MAL,16,75,M,E,FB,CM,MAL-MAL-16x75.step +MAL16-75MESDB,MAL,16,75,M,E,SDB,,MAL-MAL-16x75.step +MAL16-75MESDBU,MAL,16,75,M,E,SDB,U,MAL-MAL-16x75.step +MAL16-75MESDBCM,MAL,16,75,M,E,SDB,CM,MAL-MAL-16x75.step +MAL16-75M,MAL,16,75,M,,,,MAL-MAL-16x75.step +MAL16-75MU,MAL,16,75,M,,,U,MAL-MAL-16x75.step +MAL16-75MCM,MAL,16,75,M,,,CM,MAL-MAL-16x75.step +MAL16-75MLB,MAL,16,75,M,,LB,,MAL-MAL-16x75.step +MAL16-75MLBU,MAL,16,75,M,,LB,U,MAL-MAL-16x75.step +MAL16-75MLBCM,MAL,16,75,M,,LB,CM,MAL-MAL-16x75.step +MAL16-75MFA,MAL,16,75,M,,FA,,MAL-MAL-16x75.step +MAL16-75MFAU,MAL,16,75,M,,FA,U,MAL-MAL-16x75.step +MAL16-75MFACM,MAL,16,75,M,,FA,CM,MAL-MAL-16x75.step +MAL16-75MFB,MAL,16,75,M,,FB,,MAL-MAL-16x75.step +MAL16-75MFBU,MAL,16,75,M,,FB,U,MAL-MAL-16x75.step +MAL16-75MFBCM,MAL,16,75,M,,FB,CM,MAL-MAL-16x75.step +MAL16-75MSDB,MAL,16,75,M,,SDB,,MAL-MAL-16x75.step +MAL16-75MSDBU,MAL,16,75,M,,SDB,U,MAL-MAL-16x75.step +MAL16-75MSDBCM,MAL,16,75,M,,SDB,CM,MAL-MAL-16x75.step +MAL16-100E,MAL,16,100,,E,,,MAL-MAL-16x100.step +MAL16-100EU,MAL,16,100,,E,,U,MAL-MAL-16x100.step +MAL16-100ECM,MAL,16,100,,E,,CM,MAL-MAL-16x100.step +MAL16-100ELB,MAL,16,100,,E,LB,,MAL-MAL-16x100.step +MAL16-100ELBU,MAL,16,100,,E,LB,U,MAL-MAL-16x100.step +MAL16-100ELBCM,MAL,16,100,,E,LB,CM,MAL-MAL-16x100.step +MAL16-100EFA,MAL,16,100,,E,FA,,MAL-MAL-16x100.step +MAL16-100EFAU,MAL,16,100,,E,FA,U,MAL-MAL-16x100.step +MAL16-100EFACM,MAL,16,100,,E,FA,CM,MAL-MAL-16x100.step +MAL16-100EFB,MAL,16,100,,E,FB,,MAL-MAL-16x100.step +MAL16-100EFBU,MAL,16,100,,E,FB,U,MAL-MAL-16x100.step +MAL16-100EFBCM,MAL,16,100,,E,FB,CM,MAL-MAL-16x100.step +MAL16-100ESDB,MAL,16,100,,E,SDB,,MAL-MAL-16x100.step +MAL16-100ESDBU,MAL,16,100,,E,SDB,U,MAL-MAL-16x100.step +MAL16-100ESDBCM,MAL,16,100,,E,SDB,CM,MAL-MAL-16x100.step +MAL16-100,MAL,16,100,,,,,MAL-MAL-16x100.step +MAL16-100U,MAL,16,100,,,,U,MAL-MAL-16x100.step +MAL16-100CM,MAL,16,100,,,,CM,MAL-MAL-16x100.step +MAL16-100LB,MAL,16,100,,,LB,,MAL-MAL-16x100.step +MAL16-100LBU,MAL,16,100,,,LB,U,MAL-MAL-16x100.step +MAL16-100LBCM,MAL,16,100,,,LB,CM,MAL-MAL-16x100.step +MAL16-100FA,MAL,16,100,,,FA,,MAL-MAL-16x100.step +MAL16-100FAU,MAL,16,100,,,FA,U,MAL-MAL-16x100.step +MAL16-100FACM,MAL,16,100,,,FA,CM,MAL-MAL-16x100.step +MAL16-100FB,MAL,16,100,,,FB,,MAL-MAL-16x100.step +MAL16-100FBU,MAL,16,100,,,FB,U,MAL-MAL-16x100.step +MAL16-100FBCM,MAL,16,100,,,FB,CM,MAL-MAL-16x100.step +MAL16-100SDB,MAL,16,100,,,SDB,,MAL-MAL-16x100.step +MAL16-100SDBU,MAL,16,100,,,SDB,U,MAL-MAL-16x100.step +MAL16-100SDBCM,MAL,16,100,,,SDB,CM,MAL-MAL-16x100.step +MAL16-100ME,MAL,16,100,M,E,,,MAL-MAL-16x100.step +MAL16-100MEU,MAL,16,100,M,E,,U,MAL-MAL-16x100.step +MAL16-100MECM,MAL,16,100,M,E,,CM,MAL-MAL-16x100.step +MAL16-100MELB,MAL,16,100,M,E,LB,,MAL-MAL-16x100.step +MAL16-100MELBU,MAL,16,100,M,E,LB,U,MAL-MAL-16x100.step +MAL16-100MELBCM,MAL,16,100,M,E,LB,CM,MAL-MAL-16x100.step +MAL16-100MEFA,MAL,16,100,M,E,FA,,MAL-MAL-16x100.step +MAL16-100MEFAU,MAL,16,100,M,E,FA,U,MAL-MAL-16x100.step +MAL16-100MEFACM,MAL,16,100,M,E,FA,CM,MAL-MAL-16x100.step +MAL16-100MEFB,MAL,16,100,M,E,FB,,MAL-MAL-16x100.step +MAL16-100MEFBU,MAL,16,100,M,E,FB,U,MAL-MAL-16x100.step +MAL16-100MEFBCM,MAL,16,100,M,E,FB,CM,MAL-MAL-16x100.step +MAL16-100MESDB,MAL,16,100,M,E,SDB,,MAL-MAL-16x100.step +MAL16-100MESDBU,MAL,16,100,M,E,SDB,U,MAL-MAL-16x100.step +MAL16-100MESDBCM,MAL,16,100,M,E,SDB,CM,MAL-MAL-16x100.step +MAL16-100M,MAL,16,100,M,,,,MAL-MAL-16x100.step +MAL16-100MU,MAL,16,100,M,,,U,MAL-MAL-16x100.step +MAL16-100MCM,MAL,16,100,M,,,CM,MAL-MAL-16x100.step +MAL16-100MLB,MAL,16,100,M,,LB,,MAL-MAL-16x100.step +MAL16-100MLBU,MAL,16,100,M,,LB,U,MAL-MAL-16x100.step +MAL16-100MLBCM,MAL,16,100,M,,LB,CM,MAL-MAL-16x100.step +MAL16-100MFA,MAL,16,100,M,,FA,,MAL-MAL-16x100.step +MAL16-100MFAU,MAL,16,100,M,,FA,U,MAL-MAL-16x100.step +MAL16-100MFACM,MAL,16,100,M,,FA,CM,MAL-MAL-16x100.step +MAL16-100MFB,MAL,16,100,M,,FB,,MAL-MAL-16x100.step +MAL16-100MFBU,MAL,16,100,M,,FB,U,MAL-MAL-16x100.step +MAL16-100MFBCM,MAL,16,100,M,,FB,CM,MAL-MAL-16x100.step +MAL16-100MSDB,MAL,16,100,M,,SDB,,MAL-MAL-16x100.step +MAL16-100MSDBU,MAL,16,100,M,,SDB,U,MAL-MAL-16x100.step +MAL16-100MSDBCM,MAL,16,100,M,,SDB,CM,MAL-MAL-16x100.step +MAL20-10E,MAL,20,10,,E,,,MAL-MAL-20x10.step +MAL20-10EU,MAL,20,10,,E,,U,MAL-MAL-20x10.step +MAL20-10ECM,MAL,20,10,,E,,CM,MAL-MAL-20x10.step +MAL20-10ELB,MAL,20,10,,E,LB,,MAL-MAL-20x10.step +MAL20-10ELBU,MAL,20,10,,E,LB,U,MAL-MAL-20x10.step +MAL20-10ELBCM,MAL,20,10,,E,LB,CM,MAL-MAL-20x10.step +MAL20-10EFA,MAL,20,10,,E,FA,,MAL-MAL-20x10.step +MAL20-10EFAU,MAL,20,10,,E,FA,U,MAL-MAL-20x10.step +MAL20-10EFACM,MAL,20,10,,E,FA,CM,MAL-MAL-20x10.step +MAL20-10EFB,MAL,20,10,,E,FB,,MAL-MAL-20x10.step +MAL20-10EFBU,MAL,20,10,,E,FB,U,MAL-MAL-20x10.step +MAL20-10EFBCM,MAL,20,10,,E,FB,CM,MAL-MAL-20x10.step +MAL20-10ESDB,MAL,20,10,,E,SDB,,MAL-MAL-20x10.step +MAL20-10ESDBU,MAL,20,10,,E,SDB,U,MAL-MAL-20x10.step +MAL20-10ESDBCM,MAL,20,10,,E,SDB,CM,MAL-MAL-20x10.step +MAL20-10,MAL,20,10,,,,,MAL-MAL-20x10.step +MAL20-10U,MAL,20,10,,,,U,MAL-MAL-20x10.step +MAL20-10CM,MAL,20,10,,,,CM,MAL-MAL-20x10.step +MAL20-10LB,MAL,20,10,,,LB,,MAL-MAL-20x10.step +MAL20-10LBU,MAL,20,10,,,LB,U,MAL-MAL-20x10.step +MAL20-10LBCM,MAL,20,10,,,LB,CM,MAL-MAL-20x10.step +MAL20-10FA,MAL,20,10,,,FA,,MAL-MAL-20x10.step +MAL20-10FAU,MAL,20,10,,,FA,U,MAL-MAL-20x10.step +MAL20-10FACM,MAL,20,10,,,FA,CM,MAL-MAL-20x10.step +MAL20-10FB,MAL,20,10,,,FB,,MAL-MAL-20x10.step +MAL20-10FBU,MAL,20,10,,,FB,U,MAL-MAL-20x10.step +MAL20-10FBCM,MAL,20,10,,,FB,CM,MAL-MAL-20x10.step +MAL20-10SDB,MAL,20,10,,,SDB,,MAL-MAL-20x10.step +MAL20-10SDBU,MAL,20,10,,,SDB,U,MAL-MAL-20x10.step +MAL20-10SDBCM,MAL,20,10,,,SDB,CM,MAL-MAL-20x10.step +MAL20-10ME,MAL,20,10,M,E,,,MAL-MAL-20x10.step +MAL20-10MEU,MAL,20,10,M,E,,U,MAL-MAL-20x10.step +MAL20-10MECM,MAL,20,10,M,E,,CM,MAL-MAL-20x10.step +MAL20-10MELB,MAL,20,10,M,E,LB,,MAL-MAL-20x10.step +MAL20-10MELBU,MAL,20,10,M,E,LB,U,MAL-MAL-20x10.step +MAL20-10MELBCM,MAL,20,10,M,E,LB,CM,MAL-MAL-20x10.step +MAL20-10MEFA,MAL,20,10,M,E,FA,,MAL-MAL-20x10.step +MAL20-10MEFAU,MAL,20,10,M,E,FA,U,MAL-MAL-20x10.step +MAL20-10MEFACM,MAL,20,10,M,E,FA,CM,MAL-MAL-20x10.step +MAL20-10MEFB,MAL,20,10,M,E,FB,,MAL-MAL-20x10.step +MAL20-10MEFBU,MAL,20,10,M,E,FB,U,MAL-MAL-20x10.step +MAL20-10MEFBCM,MAL,20,10,M,E,FB,CM,MAL-MAL-20x10.step +MAL20-10MESDB,MAL,20,10,M,E,SDB,,MAL-MAL-20x10.step +MAL20-10MESDBU,MAL,20,10,M,E,SDB,U,MAL-MAL-20x10.step +MAL20-10MESDBCM,MAL,20,10,M,E,SDB,CM,MAL-MAL-20x10.step +MAL20-10M,MAL,20,10,M,,,,MAL-MAL-20x10.step +MAL20-10MU,MAL,20,10,M,,,U,MAL-MAL-20x10.step +MAL20-10MCM,MAL,20,10,M,,,CM,MAL-MAL-20x10.step +MAL20-10MLB,MAL,20,10,M,,LB,,MAL-MAL-20x10.step +MAL20-10MLBU,MAL,20,10,M,,LB,U,MAL-MAL-20x10.step +MAL20-10MLBCM,MAL,20,10,M,,LB,CM,MAL-MAL-20x10.step +MAL20-10MFA,MAL,20,10,M,,FA,,MAL-MAL-20x10.step +MAL20-10MFAU,MAL,20,10,M,,FA,U,MAL-MAL-20x10.step +MAL20-10MFACM,MAL,20,10,M,,FA,CM,MAL-MAL-20x10.step +MAL20-10MFB,MAL,20,10,M,,FB,,MAL-MAL-20x10.step +MAL20-10MFBU,MAL,20,10,M,,FB,U,MAL-MAL-20x10.step +MAL20-10MFBCM,MAL,20,10,M,,FB,CM,MAL-MAL-20x10.step +MAL20-10MSDB,MAL,20,10,M,,SDB,,MAL-MAL-20x10.step +MAL20-10MSDBU,MAL,20,10,M,,SDB,U,MAL-MAL-20x10.step +MAL20-10MSDBCM,MAL,20,10,M,,SDB,CM,MAL-MAL-20x10.step +MAL20-20E,MAL,20,20,,E,,,MAL-MAL-20x20.step +MAL20-20EU,MAL,20,20,,E,,U,MAL-MAL-20x20.step +MAL20-20ECM,MAL,20,20,,E,,CM,MAL-MAL-20x20.step +MAL20-20ELB,MAL,20,20,,E,LB,,MAL-MAL-20x20.step +MAL20-20ELBU,MAL,20,20,,E,LB,U,MAL-MAL-20x20.step +MAL20-20ELBCM,MAL,20,20,,E,LB,CM,MAL-MAL-20x20.step +MAL20-20EFA,MAL,20,20,,E,FA,,MAL-MAL-20x20.step +MAL20-20EFAU,MAL,20,20,,E,FA,U,MAL-MAL-20x20.step +MAL20-20EFACM,MAL,20,20,,E,FA,CM,MAL-MAL-20x20.step +MAL20-20EFB,MAL,20,20,,E,FB,,MAL-MAL-20x20.step +MAL20-20EFBU,MAL,20,20,,E,FB,U,MAL-MAL-20x20.step +MAL20-20EFBCM,MAL,20,20,,E,FB,CM,MAL-MAL-20x20.step +MAL20-20ESDB,MAL,20,20,,E,SDB,,MAL-MAL-20x20.step +MAL20-20ESDBU,MAL,20,20,,E,SDB,U,MAL-MAL-20x20.step +MAL20-20ESDBCM,MAL,20,20,,E,SDB,CM,MAL-MAL-20x20.step +MAL20-20,MAL,20,20,,,,,MAL-MAL-20x20.step +MAL20-20U,MAL,20,20,,,,U,MAL-MAL-20x20.step +MAL20-20CM,MAL,20,20,,,,CM,MAL-MAL-20x20.step +MAL20-20LB,MAL,20,20,,,LB,,MAL-MAL-20x20.step +MAL20-20LBU,MAL,20,20,,,LB,U,MAL-MAL-20x20.step +MAL20-20LBCM,MAL,20,20,,,LB,CM,MAL-MAL-20x20.step +MAL20-20FA,MAL,20,20,,,FA,,MAL-MAL-20x20.step +MAL20-20FAU,MAL,20,20,,,FA,U,MAL-MAL-20x20.step +MAL20-20FACM,MAL,20,20,,,FA,CM,MAL-MAL-20x20.step +MAL20-20FB,MAL,20,20,,,FB,,MAL-MAL-20x20.step +MAL20-20FBU,MAL,20,20,,,FB,U,MAL-MAL-20x20.step +MAL20-20FBCM,MAL,20,20,,,FB,CM,MAL-MAL-20x20.step +MAL20-20SDB,MAL,20,20,,,SDB,,MAL-MAL-20x20.step +MAL20-20SDBU,MAL,20,20,,,SDB,U,MAL-MAL-20x20.step +MAL20-20SDBCM,MAL,20,20,,,SDB,CM,MAL-MAL-20x20.step +MAL20-20ME,MAL,20,20,M,E,,,MAL-MAL-20x20.step +MAL20-20MEU,MAL,20,20,M,E,,U,MAL-MAL-20x20.step +MAL20-20MECM,MAL,20,20,M,E,,CM,MAL-MAL-20x20.step +MAL20-20MELB,MAL,20,20,M,E,LB,,MAL-MAL-20x20.step +MAL20-20MELBU,MAL,20,20,M,E,LB,U,MAL-MAL-20x20.step +MAL20-20MELBCM,MAL,20,20,M,E,LB,CM,MAL-MAL-20x20.step +MAL20-20MEFA,MAL,20,20,M,E,FA,,MAL-MAL-20x20.step +MAL20-20MEFAU,MAL,20,20,M,E,FA,U,MAL-MAL-20x20.step +MAL20-20MEFACM,MAL,20,20,M,E,FA,CM,MAL-MAL-20x20.step +MAL20-20MEFB,MAL,20,20,M,E,FB,,MAL-MAL-20x20.step +MAL20-20MEFBU,MAL,20,20,M,E,FB,U,MAL-MAL-20x20.step +MAL20-20MEFBCM,MAL,20,20,M,E,FB,CM,MAL-MAL-20x20.step +MAL20-20MESDB,MAL,20,20,M,E,SDB,,MAL-MAL-20x20.step +MAL20-20MESDBU,MAL,20,20,M,E,SDB,U,MAL-MAL-20x20.step +MAL20-20MESDBCM,MAL,20,20,M,E,SDB,CM,MAL-MAL-20x20.step +MAL20-20M,MAL,20,20,M,,,,MAL-MAL-20x20.step +MAL20-20MU,MAL,20,20,M,,,U,MAL-MAL-20x20.step +MAL20-20MCM,MAL,20,20,M,,,CM,MAL-MAL-20x20.step +MAL20-20MLB,MAL,20,20,M,,LB,,MAL-MAL-20x20.step +MAL20-20MLBU,MAL,20,20,M,,LB,U,MAL-MAL-20x20.step +MAL20-20MLBCM,MAL,20,20,M,,LB,CM,MAL-MAL-20x20.step +MAL20-20MFA,MAL,20,20,M,,FA,,MAL-MAL-20x20.step +MAL20-20MFAU,MAL,20,20,M,,FA,U,MAL-MAL-20x20.step +MAL20-20MFACM,MAL,20,20,M,,FA,CM,MAL-MAL-20x20.step +MAL20-20MFB,MAL,20,20,M,,FB,,MAL-MAL-20x20.step +MAL20-20MFBU,MAL,20,20,M,,FB,U,MAL-MAL-20x20.step +MAL20-20MFBCM,MAL,20,20,M,,FB,CM,MAL-MAL-20x20.step +MAL20-20MSDB,MAL,20,20,M,,SDB,,MAL-MAL-20x20.step +MAL20-20MSDBU,MAL,20,20,M,,SDB,U,MAL-MAL-20x20.step +MAL20-20MSDBCM,MAL,20,20,M,,SDB,CM,MAL-MAL-20x20.step +MAL20-30E,MAL,20,30,,E,,,MAL-MAL-20x30.step +MAL20-30EU,MAL,20,30,,E,,U,MAL-MAL-20x30.step +MAL20-30ECM,MAL,20,30,,E,,CM,MAL-MAL-20x30.step +MAL20-30ELB,MAL,20,30,,E,LB,,MAL-MAL-20x30.step +MAL20-30ELBU,MAL,20,30,,E,LB,U,MAL-MAL-20x30.step +MAL20-30ELBCM,MAL,20,30,,E,LB,CM,MAL-MAL-20x30.step +MAL20-30EFA,MAL,20,30,,E,FA,,MAL-MAL-20x30.step +MAL20-30EFAU,MAL,20,30,,E,FA,U,MAL-MAL-20x30.step +MAL20-30EFACM,MAL,20,30,,E,FA,CM,MAL-MAL-20x30.step +MAL20-30EFB,MAL,20,30,,E,FB,,MAL-MAL-20x30.step +MAL20-30EFBU,MAL,20,30,,E,FB,U,MAL-MAL-20x30.step +MAL20-30EFBCM,MAL,20,30,,E,FB,CM,MAL-MAL-20x30.step +MAL20-30ESDB,MAL,20,30,,E,SDB,,MAL-MAL-20x30.step +MAL20-30ESDBU,MAL,20,30,,E,SDB,U,MAL-MAL-20x30.step +MAL20-30ESDBCM,MAL,20,30,,E,SDB,CM,MAL-MAL-20x30.step +MAL20-30,MAL,20,30,,,,,MAL-MAL-20x30.step +MAL20-30U,MAL,20,30,,,,U,MAL-MAL-20x30.step +MAL20-30CM,MAL,20,30,,,,CM,MAL-MAL-20x30.step +MAL20-30LB,MAL,20,30,,,LB,,MAL-MAL-20x30.step +MAL20-30LBU,MAL,20,30,,,LB,U,MAL-MAL-20x30.step +MAL20-30LBCM,MAL,20,30,,,LB,CM,MAL-MAL-20x30.step +MAL20-30FA,MAL,20,30,,,FA,,MAL-MAL-20x30.step +MAL20-30FAU,MAL,20,30,,,FA,U,MAL-MAL-20x30.step +MAL20-30FACM,MAL,20,30,,,FA,CM,MAL-MAL-20x30.step +MAL20-30FB,MAL,20,30,,,FB,,MAL-MAL-20x30.step +MAL20-30FBU,MAL,20,30,,,FB,U,MAL-MAL-20x30.step +MAL20-30FBCM,MAL,20,30,,,FB,CM,MAL-MAL-20x30.step +MAL20-30SDB,MAL,20,30,,,SDB,,MAL-MAL-20x30.step +MAL20-30SDBU,MAL,20,30,,,SDB,U,MAL-MAL-20x30.step +MAL20-30SDBCM,MAL,20,30,,,SDB,CM,MAL-MAL-20x30.step +MAL20-30ME,MAL,20,30,M,E,,,MAL-MAL-20x30.step +MAL20-30MEU,MAL,20,30,M,E,,U,MAL-MAL-20x30.step +MAL20-30MECM,MAL,20,30,M,E,,CM,MAL-MAL-20x30.step +MAL20-30MELB,MAL,20,30,M,E,LB,,MAL-MAL-20x30.step +MAL20-30MELBU,MAL,20,30,M,E,LB,U,MAL-MAL-20x30.step +MAL20-30MELBCM,MAL,20,30,M,E,LB,CM,MAL-MAL-20x30.step +MAL20-30MEFA,MAL,20,30,M,E,FA,,MAL-MAL-20x30.step +MAL20-30MEFAU,MAL,20,30,M,E,FA,U,MAL-MAL-20x30.step +MAL20-30MEFACM,MAL,20,30,M,E,FA,CM,MAL-MAL-20x30.step +MAL20-30MEFB,MAL,20,30,M,E,FB,,MAL-MAL-20x30.step +MAL20-30MEFBU,MAL,20,30,M,E,FB,U,MAL-MAL-20x30.step +MAL20-30MEFBCM,MAL,20,30,M,E,FB,CM,MAL-MAL-20x30.step +MAL20-30MESDB,MAL,20,30,M,E,SDB,,MAL-MAL-20x30.step +MAL20-30MESDBU,MAL,20,30,M,E,SDB,U,MAL-MAL-20x30.step +MAL20-30MESDBCM,MAL,20,30,M,E,SDB,CM,MAL-MAL-20x30.step +MAL20-30M,MAL,20,30,M,,,,MAL-MAL-20x30.step +MAL20-30MU,MAL,20,30,M,,,U,MAL-MAL-20x30.step +MAL20-30MCM,MAL,20,30,M,,,CM,MAL-MAL-20x30.step +MAL20-30MLB,MAL,20,30,M,,LB,,MAL-MAL-20x30.step +MAL20-30MLBU,MAL,20,30,M,,LB,U,MAL-MAL-20x30.step +MAL20-30MLBCM,MAL,20,30,M,,LB,CM,MAL-MAL-20x30.step +MAL20-30MFA,MAL,20,30,M,,FA,,MAL-MAL-20x30.step +MAL20-30MFAU,MAL,20,30,M,,FA,U,MAL-MAL-20x30.step +MAL20-30MFACM,MAL,20,30,M,,FA,CM,MAL-MAL-20x30.step +MAL20-30MFB,MAL,20,30,M,,FB,,MAL-MAL-20x30.step +MAL20-30MFBU,MAL,20,30,M,,FB,U,MAL-MAL-20x30.step +MAL20-30MFBCM,MAL,20,30,M,,FB,CM,MAL-MAL-20x30.step +MAL20-30MSDB,MAL,20,30,M,,SDB,,MAL-MAL-20x30.step +MAL20-30MSDBU,MAL,20,30,M,,SDB,U,MAL-MAL-20x30.step +MAL20-30MSDBCM,MAL,20,30,M,,SDB,CM,MAL-MAL-20x30.step +MAL20-50E,MAL,20,50,,E,,,MAL-MAL-20x50.step +MAL20-50EU,MAL,20,50,,E,,U,MAL-MAL-20x50.step +MAL20-50ECM,MAL,20,50,,E,,CM,MAL-MAL-20x50.step +MAL20-50ELB,MAL,20,50,,E,LB,,MAL-MAL-20x50.step +MAL20-50ELBU,MAL,20,50,,E,LB,U,MAL-MAL-20x50.step +MAL20-50ELBCM,MAL,20,50,,E,LB,CM,MAL-MAL-20x50.step +MAL20-50EFA,MAL,20,50,,E,FA,,MAL-MAL-20x50.step +MAL20-50EFAU,MAL,20,50,,E,FA,U,MAL-MAL-20x50.step +MAL20-50EFACM,MAL,20,50,,E,FA,CM,MAL-MAL-20x50.step +MAL20-50EFB,MAL,20,50,,E,FB,,MAL-MAL-20x50.step +MAL20-50EFBU,MAL,20,50,,E,FB,U,MAL-MAL-20x50.step +MAL20-50EFBCM,MAL,20,50,,E,FB,CM,MAL-MAL-20x50.step +MAL20-50ESDB,MAL,20,50,,E,SDB,,MAL-MAL-20x50.step +MAL20-50ESDBU,MAL,20,50,,E,SDB,U,MAL-MAL-20x50.step +MAL20-50ESDBCM,MAL,20,50,,E,SDB,CM,MAL-MAL-20x50.step +MAL20-50,MAL,20,50,,,,,MAL-MAL-20x50.step +MAL20-50U,MAL,20,50,,,,U,MAL-MAL-20x50.step +MAL20-50CM,MAL,20,50,,,,CM,MAL-MAL-20x50.step +MAL20-50LB,MAL,20,50,,,LB,,MAL-MAL-20x50.step +MAL20-50LBU,MAL,20,50,,,LB,U,MAL-MAL-20x50.step +MAL20-50LBCM,MAL,20,50,,,LB,CM,MAL-MAL-20x50.step +MAL20-50FA,MAL,20,50,,,FA,,MAL-MAL-20x50.step +MAL20-50FAU,MAL,20,50,,,FA,U,MAL-MAL-20x50.step +MAL20-50FACM,MAL,20,50,,,FA,CM,MAL-MAL-20x50.step +MAL20-50FB,MAL,20,50,,,FB,,MAL-MAL-20x50.step +MAL20-50FBU,MAL,20,50,,,FB,U,MAL-MAL-20x50.step +MAL20-50FBCM,MAL,20,50,,,FB,CM,MAL-MAL-20x50.step +MAL20-50SDB,MAL,20,50,,,SDB,,MAL-MAL-20x50.step +MAL20-50SDBU,MAL,20,50,,,SDB,U,MAL-MAL-20x50.step +MAL20-50SDBCM,MAL,20,50,,,SDB,CM,MAL-MAL-20x50.step +MAL20-50ME,MAL,20,50,M,E,,,MAL-MAL-20x50.step +MAL20-50MEU,MAL,20,50,M,E,,U,MAL-MAL-20x50.step +MAL20-50MECM,MAL,20,50,M,E,,CM,MAL-MAL-20x50.step +MAL20-50MELB,MAL,20,50,M,E,LB,,MAL-MAL-20x50.step +MAL20-50MELBU,MAL,20,50,M,E,LB,U,MAL-MAL-20x50.step +MAL20-50MELBCM,MAL,20,50,M,E,LB,CM,MAL-MAL-20x50.step +MAL20-50MEFA,MAL,20,50,M,E,FA,,MAL-MAL-20x50.step +MAL20-50MEFAU,MAL,20,50,M,E,FA,U,MAL-MAL-20x50.step +MAL20-50MEFACM,MAL,20,50,M,E,FA,CM,MAL-MAL-20x50.step +MAL20-50MEFB,MAL,20,50,M,E,FB,,MAL-MAL-20x50.step +MAL20-50MEFBU,MAL,20,50,M,E,FB,U,MAL-MAL-20x50.step +MAL20-50MEFBCM,MAL,20,50,M,E,FB,CM,MAL-MAL-20x50.step +MAL20-50MESDB,MAL,20,50,M,E,SDB,,MAL-MAL-20x50.step +MAL20-50MESDBU,MAL,20,50,M,E,SDB,U,MAL-MAL-20x50.step +MAL20-50MESDBCM,MAL,20,50,M,E,SDB,CM,MAL-MAL-20x50.step +MAL20-50M,MAL,20,50,M,,,,MAL-MAL-20x50.step +MAL20-50MU,MAL,20,50,M,,,U,MAL-MAL-20x50.step +MAL20-50MCM,MAL,20,50,M,,,CM,MAL-MAL-20x50.step +MAL20-50MLB,MAL,20,50,M,,LB,,MAL-MAL-20x50.step +MAL20-50MLBU,MAL,20,50,M,,LB,U,MAL-MAL-20x50.step +MAL20-50MLBCM,MAL,20,50,M,,LB,CM,MAL-MAL-20x50.step +MAL20-50MFA,MAL,20,50,M,,FA,,MAL-MAL-20x50.step +MAL20-50MFAU,MAL,20,50,M,,FA,U,MAL-MAL-20x50.step +MAL20-50MFACM,MAL,20,50,M,,FA,CM,MAL-MAL-20x50.step +MAL20-50MFB,MAL,20,50,M,,FB,,MAL-MAL-20x50.step +MAL20-50MFBU,MAL,20,50,M,,FB,U,MAL-MAL-20x50.step +MAL20-50MFBCM,MAL,20,50,M,,FB,CM,MAL-MAL-20x50.step +MAL20-50MSDB,MAL,20,50,M,,SDB,,MAL-MAL-20x50.step +MAL20-50MSDBU,MAL,20,50,M,,SDB,U,MAL-MAL-20x50.step +MAL20-50MSDBCM,MAL,20,50,M,,SDB,CM,MAL-MAL-20x50.step +MAL20-75E,MAL,20,75,,E,,,MAL-MAL-20x75.step +MAL20-75EU,MAL,20,75,,E,,U,MAL-MAL-20x75.step +MAL20-75ECM,MAL,20,75,,E,,CM,MAL-MAL-20x75.step +MAL20-75ELB,MAL,20,75,,E,LB,,MAL-MAL-20x75.step +MAL20-75ELBU,MAL,20,75,,E,LB,U,MAL-MAL-20x75.step +MAL20-75ELBCM,MAL,20,75,,E,LB,CM,MAL-MAL-20x75.step +MAL20-75EFA,MAL,20,75,,E,FA,,MAL-MAL-20x75.step +MAL20-75EFAU,MAL,20,75,,E,FA,U,MAL-MAL-20x75.step +MAL20-75EFACM,MAL,20,75,,E,FA,CM,MAL-MAL-20x75.step +MAL20-75EFB,MAL,20,75,,E,FB,,MAL-MAL-20x75.step +MAL20-75EFBU,MAL,20,75,,E,FB,U,MAL-MAL-20x75.step +MAL20-75EFBCM,MAL,20,75,,E,FB,CM,MAL-MAL-20x75.step +MAL20-75ESDB,MAL,20,75,,E,SDB,,MAL-MAL-20x75.step +MAL20-75ESDBU,MAL,20,75,,E,SDB,U,MAL-MAL-20x75.step +MAL20-75ESDBCM,MAL,20,75,,E,SDB,CM,MAL-MAL-20x75.step +MAL20-75,MAL,20,75,,,,,MAL-MAL-20x75.step +MAL20-75U,MAL,20,75,,,,U,MAL-MAL-20x75.step +MAL20-75CM,MAL,20,75,,,,CM,MAL-MAL-20x75.step +MAL20-75LB,MAL,20,75,,,LB,,MAL-MAL-20x75.step +MAL20-75LBU,MAL,20,75,,,LB,U,MAL-MAL-20x75.step +MAL20-75LBCM,MAL,20,75,,,LB,CM,MAL-MAL-20x75.step +MAL20-75FA,MAL,20,75,,,FA,,MAL-MAL-20x75.step +MAL20-75FAU,MAL,20,75,,,FA,U,MAL-MAL-20x75.step +MAL20-75FACM,MAL,20,75,,,FA,CM,MAL-MAL-20x75.step +MAL20-75FB,MAL,20,75,,,FB,,MAL-MAL-20x75.step +MAL20-75FBU,MAL,20,75,,,FB,U,MAL-MAL-20x75.step +MAL20-75FBCM,MAL,20,75,,,FB,CM,MAL-MAL-20x75.step +MAL20-75SDB,MAL,20,75,,,SDB,,MAL-MAL-20x75.step +MAL20-75SDBU,MAL,20,75,,,SDB,U,MAL-MAL-20x75.step +MAL20-75SDBCM,MAL,20,75,,,SDB,CM,MAL-MAL-20x75.step +MAL20-75ME,MAL,20,75,M,E,,,MAL-MAL-20x75.step +MAL20-75MEU,MAL,20,75,M,E,,U,MAL-MAL-20x75.step +MAL20-75MECM,MAL,20,75,M,E,,CM,MAL-MAL-20x75.step +MAL20-75MELB,MAL,20,75,M,E,LB,,MAL-MAL-20x75.step +MAL20-75MELBU,MAL,20,75,M,E,LB,U,MAL-MAL-20x75.step +MAL20-75MELBCM,MAL,20,75,M,E,LB,CM,MAL-MAL-20x75.step +MAL20-75MEFA,MAL,20,75,M,E,FA,,MAL-MAL-20x75.step +MAL20-75MEFAU,MAL,20,75,M,E,FA,U,MAL-MAL-20x75.step +MAL20-75MEFACM,MAL,20,75,M,E,FA,CM,MAL-MAL-20x75.step +MAL20-75MEFB,MAL,20,75,M,E,FB,,MAL-MAL-20x75.step +MAL20-75MEFBU,MAL,20,75,M,E,FB,U,MAL-MAL-20x75.step +MAL20-75MEFBCM,MAL,20,75,M,E,FB,CM,MAL-MAL-20x75.step +MAL20-75MESDB,MAL,20,75,M,E,SDB,,MAL-MAL-20x75.step +MAL20-75MESDBU,MAL,20,75,M,E,SDB,U,MAL-MAL-20x75.step +MAL20-75MESDBCM,MAL,20,75,M,E,SDB,CM,MAL-MAL-20x75.step +MAL20-75M,MAL,20,75,M,,,,MAL-MAL-20x75.step +MAL20-75MU,MAL,20,75,M,,,U,MAL-MAL-20x75.step +MAL20-75MCM,MAL,20,75,M,,,CM,MAL-MAL-20x75.step +MAL20-75MLB,MAL,20,75,M,,LB,,MAL-MAL-20x75.step +MAL20-75MLBU,MAL,20,75,M,,LB,U,MAL-MAL-20x75.step +MAL20-75MLBCM,MAL,20,75,M,,LB,CM,MAL-MAL-20x75.step +MAL20-75MFA,MAL,20,75,M,,FA,,MAL-MAL-20x75.step +MAL20-75MFAU,MAL,20,75,M,,FA,U,MAL-MAL-20x75.step +MAL20-75MFACM,MAL,20,75,M,,FA,CM,MAL-MAL-20x75.step +MAL20-75MFB,MAL,20,75,M,,FB,,MAL-MAL-20x75.step +MAL20-75MFBU,MAL,20,75,M,,FB,U,MAL-MAL-20x75.step +MAL20-75MFBCM,MAL,20,75,M,,FB,CM,MAL-MAL-20x75.step +MAL20-75MSDB,MAL,20,75,M,,SDB,,MAL-MAL-20x75.step +MAL20-75MSDBU,MAL,20,75,M,,SDB,U,MAL-MAL-20x75.step +MAL20-75MSDBCM,MAL,20,75,M,,SDB,CM,MAL-MAL-20x75.step +MAL20-100E,MAL,20,100,,E,,,MAL-MAL-20x100.step +MAL20-100EU,MAL,20,100,,E,,U,MAL-MAL-20x100.step +MAL20-100ECM,MAL,20,100,,E,,CM,MAL-MAL-20x100.step +MAL20-100ELB,MAL,20,100,,E,LB,,MAL-MAL-20x100.step +MAL20-100ELBU,MAL,20,100,,E,LB,U,MAL-MAL-20x100.step +MAL20-100ELBCM,MAL,20,100,,E,LB,CM,MAL-MAL-20x100.step +MAL20-100EFA,MAL,20,100,,E,FA,,MAL-MAL-20x100.step +MAL20-100EFAU,MAL,20,100,,E,FA,U,MAL-MAL-20x100.step +MAL20-100EFACM,MAL,20,100,,E,FA,CM,MAL-MAL-20x100.step +MAL20-100EFB,MAL,20,100,,E,FB,,MAL-MAL-20x100.step +MAL20-100EFBU,MAL,20,100,,E,FB,U,MAL-MAL-20x100.step +MAL20-100EFBCM,MAL,20,100,,E,FB,CM,MAL-MAL-20x100.step +MAL20-100ESDB,MAL,20,100,,E,SDB,,MAL-MAL-20x100.step +MAL20-100ESDBU,MAL,20,100,,E,SDB,U,MAL-MAL-20x100.step +MAL20-100ESDBCM,MAL,20,100,,E,SDB,CM,MAL-MAL-20x100.step +MAL20-100,MAL,20,100,,,,,MAL-MAL-20x100.step +MAL20-100U,MAL,20,100,,,,U,MAL-MAL-20x100.step +MAL20-100CM,MAL,20,100,,,,CM,MAL-MAL-20x100.step +MAL20-100LB,MAL,20,100,,,LB,,MAL-MAL-20x100.step +MAL20-100LBU,MAL,20,100,,,LB,U,MAL-MAL-20x100.step +MAL20-100LBCM,MAL,20,100,,,LB,CM,MAL-MAL-20x100.step +MAL20-100FA,MAL,20,100,,,FA,,MAL-MAL-20x100.step +MAL20-100FAU,MAL,20,100,,,FA,U,MAL-MAL-20x100.step +MAL20-100FACM,MAL,20,100,,,FA,CM,MAL-MAL-20x100.step +MAL20-100FB,MAL,20,100,,,FB,,MAL-MAL-20x100.step +MAL20-100FBU,MAL,20,100,,,FB,U,MAL-MAL-20x100.step +MAL20-100FBCM,MAL,20,100,,,FB,CM,MAL-MAL-20x100.step +MAL20-100SDB,MAL,20,100,,,SDB,,MAL-MAL-20x100.step +MAL20-100SDBU,MAL,20,100,,,SDB,U,MAL-MAL-20x100.step +MAL20-100SDBCM,MAL,20,100,,,SDB,CM,MAL-MAL-20x100.step +MAL20-100ME,MAL,20,100,M,E,,,MAL-MAL-20x100.step +MAL20-100MEU,MAL,20,100,M,E,,U,MAL-MAL-20x100.step +MAL20-100MECM,MAL,20,100,M,E,,CM,MAL-MAL-20x100.step +MAL20-100MELB,MAL,20,100,M,E,LB,,MAL-MAL-20x100.step +MAL20-100MELBU,MAL,20,100,M,E,LB,U,MAL-MAL-20x100.step +MAL20-100MELBCM,MAL,20,100,M,E,LB,CM,MAL-MAL-20x100.step +MAL20-100MEFA,MAL,20,100,M,E,FA,,MAL-MAL-20x100.step +MAL20-100MEFAU,MAL,20,100,M,E,FA,U,MAL-MAL-20x100.step +MAL20-100MEFACM,MAL,20,100,M,E,FA,CM,MAL-MAL-20x100.step +MAL20-100MEFB,MAL,20,100,M,E,FB,,MAL-MAL-20x100.step +MAL20-100MEFBU,MAL,20,100,M,E,FB,U,MAL-MAL-20x100.step +MAL20-100MEFBCM,MAL,20,100,M,E,FB,CM,MAL-MAL-20x100.step +MAL20-100MESDB,MAL,20,100,M,E,SDB,,MAL-MAL-20x100.step +MAL20-100MESDBU,MAL,20,100,M,E,SDB,U,MAL-MAL-20x100.step +MAL20-100MESDBCM,MAL,20,100,M,E,SDB,CM,MAL-MAL-20x100.step +MAL20-100M,MAL,20,100,M,,,,MAL-MAL-20x100.step +MAL20-100MU,MAL,20,100,M,,,U,MAL-MAL-20x100.step +MAL20-100MCM,MAL,20,100,M,,,CM,MAL-MAL-20x100.step +MAL20-100MLB,MAL,20,100,M,,LB,,MAL-MAL-20x100.step +MAL20-100MLBU,MAL,20,100,M,,LB,U,MAL-MAL-20x100.step +MAL20-100MLBCM,MAL,20,100,M,,LB,CM,MAL-MAL-20x100.step +MAL20-100MFA,MAL,20,100,M,,FA,,MAL-MAL-20x100.step +MAL20-100MFAU,MAL,20,100,M,,FA,U,MAL-MAL-20x100.step +MAL20-100MFACM,MAL,20,100,M,,FA,CM,MAL-MAL-20x100.step +MAL20-100MFB,MAL,20,100,M,,FB,,MAL-MAL-20x100.step +MAL20-100MFBU,MAL,20,100,M,,FB,U,MAL-MAL-20x100.step +MAL20-100MFBCM,MAL,20,100,M,,FB,CM,MAL-MAL-20x100.step +MAL20-100MSDB,MAL,20,100,M,,SDB,,MAL-MAL-20x100.step +MAL20-100MSDBU,MAL,20,100,M,,SDB,U,MAL-MAL-20x100.step +MAL20-100MSDBCM,MAL,20,100,M,,SDB,CM,MAL-MAL-20x100.step +MAL25-10E,MAL,25,10,,E,,,MAL-MAL-25x10.step +MAL25-10EU,MAL,25,10,,E,,U,MAL-MAL-25x10.step +MAL25-10ECM,MAL,25,10,,E,,CM,MAL-MAL-25x10.step +MAL25-10ELB,MAL,25,10,,E,LB,,MAL-MAL-25x10.step +MAL25-10ELBU,MAL,25,10,,E,LB,U,MAL-MAL-25x10.step +MAL25-10ELBCM,MAL,25,10,,E,LB,CM,MAL-MAL-25x10.step +MAL25-10EFA,MAL,25,10,,E,FA,,MAL-MAL-25x10.step +MAL25-10EFAU,MAL,25,10,,E,FA,U,MAL-MAL-25x10.step +MAL25-10EFACM,MAL,25,10,,E,FA,CM,MAL-MAL-25x10.step +MAL25-10EFB,MAL,25,10,,E,FB,,MAL-MAL-25x10.step +MAL25-10EFBU,MAL,25,10,,E,FB,U,MAL-MAL-25x10.step +MAL25-10EFBCM,MAL,25,10,,E,FB,CM,MAL-MAL-25x10.step +MAL25-10ESDB,MAL,25,10,,E,SDB,,MAL-MAL-25x10.step +MAL25-10ESDBU,MAL,25,10,,E,SDB,U,MAL-MAL-25x10.step +MAL25-10ESDBCM,MAL,25,10,,E,SDB,CM,MAL-MAL-25x10.step +MAL25-10,MAL,25,10,,,,,MAL-MAL-25x10.step +MAL25-10U,MAL,25,10,,,,U,MAL-MAL-25x10.step +MAL25-10CM,MAL,25,10,,,,CM,MAL-MAL-25x10.step +MAL25-10LB,MAL,25,10,,,LB,,MAL-MAL-25x10.step +MAL25-10LBU,MAL,25,10,,,LB,U,MAL-MAL-25x10.step +MAL25-10LBCM,MAL,25,10,,,LB,CM,MAL-MAL-25x10.step +MAL25-10FA,MAL,25,10,,,FA,,MAL-MAL-25x10.step +MAL25-10FAU,MAL,25,10,,,FA,U,MAL-MAL-25x10.step +MAL25-10FACM,MAL,25,10,,,FA,CM,MAL-MAL-25x10.step +MAL25-10FB,MAL,25,10,,,FB,,MAL-MAL-25x10.step +MAL25-10FBU,MAL,25,10,,,FB,U,MAL-MAL-25x10.step +MAL25-10FBCM,MAL,25,10,,,FB,CM,MAL-MAL-25x10.step +MAL25-10SDB,MAL,25,10,,,SDB,,MAL-MAL-25x10.step +MAL25-10SDBU,MAL,25,10,,,SDB,U,MAL-MAL-25x10.step +MAL25-10SDBCM,MAL,25,10,,,SDB,CM,MAL-MAL-25x10.step +MAL25-10ME,MAL,25,10,M,E,,,MAL-MAL-25x10.step +MAL25-10MEU,MAL,25,10,M,E,,U,MAL-MAL-25x10.step +MAL25-10MECM,MAL,25,10,M,E,,CM,MAL-MAL-25x10.step +MAL25-10MELB,MAL,25,10,M,E,LB,,MAL-MAL-25x10.step +MAL25-10MELBU,MAL,25,10,M,E,LB,U,MAL-MAL-25x10.step +MAL25-10MELBCM,MAL,25,10,M,E,LB,CM,MAL-MAL-25x10.step +MAL25-10MEFA,MAL,25,10,M,E,FA,,MAL-MAL-25x10.step +MAL25-10MEFAU,MAL,25,10,M,E,FA,U,MAL-MAL-25x10.step +MAL25-10MEFACM,MAL,25,10,M,E,FA,CM,MAL-MAL-25x10.step +MAL25-10MEFB,MAL,25,10,M,E,FB,,MAL-MAL-25x10.step +MAL25-10MEFBU,MAL,25,10,M,E,FB,U,MAL-MAL-25x10.step +MAL25-10MEFBCM,MAL,25,10,M,E,FB,CM,MAL-MAL-25x10.step +MAL25-10MESDB,MAL,25,10,M,E,SDB,,MAL-MAL-25x10.step +MAL25-10MESDBU,MAL,25,10,M,E,SDB,U,MAL-MAL-25x10.step +MAL25-10MESDBCM,MAL,25,10,M,E,SDB,CM,MAL-MAL-25x10.step +MAL25-10M,MAL,25,10,M,,,,MAL-MAL-25x10.step +MAL25-10MU,MAL,25,10,M,,,U,MAL-MAL-25x10.step +MAL25-10MCM,MAL,25,10,M,,,CM,MAL-MAL-25x10.step +MAL25-10MLB,MAL,25,10,M,,LB,,MAL-MAL-25x10.step +MAL25-10MLBU,MAL,25,10,M,,LB,U,MAL-MAL-25x10.step +MAL25-10MLBCM,MAL,25,10,M,,LB,CM,MAL-MAL-25x10.step +MAL25-10MFA,MAL,25,10,M,,FA,,MAL-MAL-25x10.step +MAL25-10MFAU,MAL,25,10,M,,FA,U,MAL-MAL-25x10.step +MAL25-10MFACM,MAL,25,10,M,,FA,CM,MAL-MAL-25x10.step +MAL25-10MFB,MAL,25,10,M,,FB,,MAL-MAL-25x10.step +MAL25-10MFBU,MAL,25,10,M,,FB,U,MAL-MAL-25x10.step +MAL25-10MFBCM,MAL,25,10,M,,FB,CM,MAL-MAL-25x10.step +MAL25-10MSDB,MAL,25,10,M,,SDB,,MAL-MAL-25x10.step +MAL25-10MSDBU,MAL,25,10,M,,SDB,U,MAL-MAL-25x10.step +MAL25-10MSDBCM,MAL,25,10,M,,SDB,CM,MAL-MAL-25x10.step +MAL25-20E,MAL,25,20,,E,,,MAL-MAL-25x20.step +MAL25-20EU,MAL,25,20,,E,,U,MAL-MAL-25x20.step +MAL25-20ECM,MAL,25,20,,E,,CM,MAL-MAL-25x20.step +MAL25-20ELB,MAL,25,20,,E,LB,,MAL-MAL-25x20.step +MAL25-20ELBU,MAL,25,20,,E,LB,U,MAL-MAL-25x20.step +MAL25-20ELBCM,MAL,25,20,,E,LB,CM,MAL-MAL-25x20.step +MAL25-20EFA,MAL,25,20,,E,FA,,MAL-MAL-25x20.step +MAL25-20EFAU,MAL,25,20,,E,FA,U,MAL-MAL-25x20.step +MAL25-20EFACM,MAL,25,20,,E,FA,CM,MAL-MAL-25x20.step +MAL25-20EFB,MAL,25,20,,E,FB,,MAL-MAL-25x20.step +MAL25-20EFBU,MAL,25,20,,E,FB,U,MAL-MAL-25x20.step +MAL25-20EFBCM,MAL,25,20,,E,FB,CM,MAL-MAL-25x20.step +MAL25-20ESDB,MAL,25,20,,E,SDB,,MAL-MAL-25x20.step +MAL25-20ESDBU,MAL,25,20,,E,SDB,U,MAL-MAL-25x20.step +MAL25-20ESDBCM,MAL,25,20,,E,SDB,CM,MAL-MAL-25x20.step +MAL25-20,MAL,25,20,,,,,MAL-MAL-25x20.step +MAL25-20U,MAL,25,20,,,,U,MAL-MAL-25x20.step +MAL25-20CM,MAL,25,20,,,,CM,MAL-MAL-25x20.step +MAL25-20LB,MAL,25,20,,,LB,,MAL-MAL-25x20.step +MAL25-20LBU,MAL,25,20,,,LB,U,MAL-MAL-25x20.step +MAL25-20LBCM,MAL,25,20,,,LB,CM,MAL-MAL-25x20.step +MAL25-20FA,MAL,25,20,,,FA,,MAL-MAL-25x20.step +MAL25-20FAU,MAL,25,20,,,FA,U,MAL-MAL-25x20.step +MAL25-20FACM,MAL,25,20,,,FA,CM,MAL-MAL-25x20.step +MAL25-20FB,MAL,25,20,,,FB,,MAL-MAL-25x20.step +MAL25-20FBU,MAL,25,20,,,FB,U,MAL-MAL-25x20.step +MAL25-20FBCM,MAL,25,20,,,FB,CM,MAL-MAL-25x20.step +MAL25-20SDB,MAL,25,20,,,SDB,,MAL-MAL-25x20.step +MAL25-20SDBU,MAL,25,20,,,SDB,U,MAL-MAL-25x20.step +MAL25-20SDBCM,MAL,25,20,,,SDB,CM,MAL-MAL-25x20.step +MAL25-20ME,MAL,25,20,M,E,,,MAL-MAL-25x20.step +MAL25-20MEU,MAL,25,20,M,E,,U,MAL-MAL-25x20.step +MAL25-20MECM,MAL,25,20,M,E,,CM,MAL-MAL-25x20.step +MAL25-20MELB,MAL,25,20,M,E,LB,,MAL-MAL-25x20.step +MAL25-20MELBU,MAL,25,20,M,E,LB,U,MAL-MAL-25x20.step +MAL25-20MELBCM,MAL,25,20,M,E,LB,CM,MAL-MAL-25x20.step +MAL25-20MEFA,MAL,25,20,M,E,FA,,MAL-MAL-25x20.step +MAL25-20MEFAU,MAL,25,20,M,E,FA,U,MAL-MAL-25x20.step +MAL25-20MEFACM,MAL,25,20,M,E,FA,CM,MAL-MAL-25x20.step +MAL25-20MEFB,MAL,25,20,M,E,FB,,MAL-MAL-25x20.step +MAL25-20MEFBU,MAL,25,20,M,E,FB,U,MAL-MAL-25x20.step +MAL25-20MEFBCM,MAL,25,20,M,E,FB,CM,MAL-MAL-25x20.step +MAL25-20MESDB,MAL,25,20,M,E,SDB,,MAL-MAL-25x20.step +MAL25-20MESDBU,MAL,25,20,M,E,SDB,U,MAL-MAL-25x20.step +MAL25-20MESDBCM,MAL,25,20,M,E,SDB,CM,MAL-MAL-25x20.step +MAL25-20M,MAL,25,20,M,,,,MAL-MAL-25x20.step +MAL25-20MU,MAL,25,20,M,,,U,MAL-MAL-25x20.step +MAL25-20MCM,MAL,25,20,M,,,CM,MAL-MAL-25x20.step +MAL25-20MLB,MAL,25,20,M,,LB,,MAL-MAL-25x20.step +MAL25-20MLBU,MAL,25,20,M,,LB,U,MAL-MAL-25x20.step +MAL25-20MLBCM,MAL,25,20,M,,LB,CM,MAL-MAL-25x20.step +MAL25-20MFA,MAL,25,20,M,,FA,,MAL-MAL-25x20.step +MAL25-20MFAU,MAL,25,20,M,,FA,U,MAL-MAL-25x20.step +MAL25-20MFACM,MAL,25,20,M,,FA,CM,MAL-MAL-25x20.step +MAL25-20MFB,MAL,25,20,M,,FB,,MAL-MAL-25x20.step +MAL25-20MFBU,MAL,25,20,M,,FB,U,MAL-MAL-25x20.step +MAL25-20MFBCM,MAL,25,20,M,,FB,CM,MAL-MAL-25x20.step +MAL25-20MSDB,MAL,25,20,M,,SDB,,MAL-MAL-25x20.step +MAL25-20MSDBU,MAL,25,20,M,,SDB,U,MAL-MAL-25x20.step +MAL25-20MSDBCM,MAL,25,20,M,,SDB,CM,MAL-MAL-25x20.step +MAL25-30E,MAL,25,30,,E,,,MAL-MAL-25x30.step +MAL25-30EU,MAL,25,30,,E,,U,MAL-MAL-25x30.step +MAL25-30ECM,MAL,25,30,,E,,CM,MAL-MAL-25x30.step +MAL25-30ELB,MAL,25,30,,E,LB,,MAL-MAL-25x30.step +MAL25-30ELBU,MAL,25,30,,E,LB,U,MAL-MAL-25x30.step +MAL25-30ELBCM,MAL,25,30,,E,LB,CM,MAL-MAL-25x30.step +MAL25-30EFA,MAL,25,30,,E,FA,,MAL-MAL-25x30.step +MAL25-30EFAU,MAL,25,30,,E,FA,U,MAL-MAL-25x30.step +MAL25-30EFACM,MAL,25,30,,E,FA,CM,MAL-MAL-25x30.step +MAL25-30EFB,MAL,25,30,,E,FB,,MAL-MAL-25x30.step +MAL25-30EFBU,MAL,25,30,,E,FB,U,MAL-MAL-25x30.step +MAL25-30EFBCM,MAL,25,30,,E,FB,CM,MAL-MAL-25x30.step +MAL25-30ESDB,MAL,25,30,,E,SDB,,MAL-MAL-25x30.step +MAL25-30ESDBU,MAL,25,30,,E,SDB,U,MAL-MAL-25x30.step +MAL25-30ESDBCM,MAL,25,30,,E,SDB,CM,MAL-MAL-25x30.step +MAL25-30,MAL,25,30,,,,,MAL-MAL-25x30.step +MAL25-30U,MAL,25,30,,,,U,MAL-MAL-25x30.step +MAL25-30CM,MAL,25,30,,,,CM,MAL-MAL-25x30.step +MAL25-30LB,MAL,25,30,,,LB,,MAL-MAL-25x30.step +MAL25-30LBU,MAL,25,30,,,LB,U,MAL-MAL-25x30.step +MAL25-30LBCM,MAL,25,30,,,LB,CM,MAL-MAL-25x30.step +MAL25-30FA,MAL,25,30,,,FA,,MAL-MAL-25x30.step +MAL25-30FAU,MAL,25,30,,,FA,U,MAL-MAL-25x30.step +MAL25-30FACM,MAL,25,30,,,FA,CM,MAL-MAL-25x30.step +MAL25-30FB,MAL,25,30,,,FB,,MAL-MAL-25x30.step +MAL25-30FBU,MAL,25,30,,,FB,U,MAL-MAL-25x30.step +MAL25-30FBCM,MAL,25,30,,,FB,CM,MAL-MAL-25x30.step +MAL25-30SDB,MAL,25,30,,,SDB,,MAL-MAL-25x30.step +MAL25-30SDBU,MAL,25,30,,,SDB,U,MAL-MAL-25x30.step +MAL25-30SDBCM,MAL,25,30,,,SDB,CM,MAL-MAL-25x30.step +MAL25-30ME,MAL,25,30,M,E,,,MAL-MAL-25x30.step +MAL25-30MEU,MAL,25,30,M,E,,U,MAL-MAL-25x30.step +MAL25-30MECM,MAL,25,30,M,E,,CM,MAL-MAL-25x30.step +MAL25-30MELB,MAL,25,30,M,E,LB,,MAL-MAL-25x30.step +MAL25-30MELBU,MAL,25,30,M,E,LB,U,MAL-MAL-25x30.step +MAL25-30MELBCM,MAL,25,30,M,E,LB,CM,MAL-MAL-25x30.step +MAL25-30MEFA,MAL,25,30,M,E,FA,,MAL-MAL-25x30.step +MAL25-30MEFAU,MAL,25,30,M,E,FA,U,MAL-MAL-25x30.step +MAL25-30MEFACM,MAL,25,30,M,E,FA,CM,MAL-MAL-25x30.step +MAL25-30MEFB,MAL,25,30,M,E,FB,,MAL-MAL-25x30.step +MAL25-30MEFBU,MAL,25,30,M,E,FB,U,MAL-MAL-25x30.step +MAL25-30MEFBCM,MAL,25,30,M,E,FB,CM,MAL-MAL-25x30.step +MAL25-30MESDB,MAL,25,30,M,E,SDB,,MAL-MAL-25x30.step +MAL25-30MESDBU,MAL,25,30,M,E,SDB,U,MAL-MAL-25x30.step +MAL25-30MESDBCM,MAL,25,30,M,E,SDB,CM,MAL-MAL-25x30.step +MAL25-30M,MAL,25,30,M,,,,MAL-MAL-25x30.step +MAL25-30MU,MAL,25,30,M,,,U,MAL-MAL-25x30.step +MAL25-30MCM,MAL,25,30,M,,,CM,MAL-MAL-25x30.step +MAL25-30MLB,MAL,25,30,M,,LB,,MAL-MAL-25x30.step +MAL25-30MLBU,MAL,25,30,M,,LB,U,MAL-MAL-25x30.step +MAL25-30MLBCM,MAL,25,30,M,,LB,CM,MAL-MAL-25x30.step +MAL25-30MFA,MAL,25,30,M,,FA,,MAL-MAL-25x30.step +MAL25-30MFAU,MAL,25,30,M,,FA,U,MAL-MAL-25x30.step +MAL25-30MFACM,MAL,25,30,M,,FA,CM,MAL-MAL-25x30.step +MAL25-30MFB,MAL,25,30,M,,FB,,MAL-MAL-25x30.step +MAL25-30MFBU,MAL,25,30,M,,FB,U,MAL-MAL-25x30.step +MAL25-30MFBCM,MAL,25,30,M,,FB,CM,MAL-MAL-25x30.step +MAL25-30MSDB,MAL,25,30,M,,SDB,,MAL-MAL-25x30.step +MAL25-30MSDBU,MAL,25,30,M,,SDB,U,MAL-MAL-25x30.step +MAL25-30MSDBCM,MAL,25,30,M,,SDB,CM,MAL-MAL-25x30.step +MAL25-50E,MAL,25,50,,E,,,MAL-MAL-25x50.step +MAL25-50EU,MAL,25,50,,E,,U,MAL-MAL-25x50.step +MAL25-50ECM,MAL,25,50,,E,,CM,MAL-MAL-25x50.step +MAL25-50ELB,MAL,25,50,,E,LB,,MAL-MAL-25x50.step +MAL25-50ELBU,MAL,25,50,,E,LB,U,MAL-MAL-25x50.step +MAL25-50ELBCM,MAL,25,50,,E,LB,CM,MAL-MAL-25x50.step +MAL25-50EFA,MAL,25,50,,E,FA,,MAL-MAL-25x50.step +MAL25-50EFAU,MAL,25,50,,E,FA,U,MAL-MAL-25x50.step +MAL25-50EFACM,MAL,25,50,,E,FA,CM,MAL-MAL-25x50.step +MAL25-50EFB,MAL,25,50,,E,FB,,MAL-MAL-25x50.step +MAL25-50EFBU,MAL,25,50,,E,FB,U,MAL-MAL-25x50.step +MAL25-50EFBCM,MAL,25,50,,E,FB,CM,MAL-MAL-25x50.step +MAL25-50ESDB,MAL,25,50,,E,SDB,,MAL-MAL-25x50.step +MAL25-50ESDBU,MAL,25,50,,E,SDB,U,MAL-MAL-25x50.step +MAL25-50ESDBCM,MAL,25,50,,E,SDB,CM,MAL-MAL-25x50.step +MAL25-50,MAL,25,50,,,,,MAL-MAL-25x50.step +MAL25-50U,MAL,25,50,,,,U,MAL-MAL-25x50.step +MAL25-50CM,MAL,25,50,,,,CM,MAL-MAL-25x50.step +MAL25-50LB,MAL,25,50,,,LB,,MAL-MAL-25x50.step +MAL25-50LBU,MAL,25,50,,,LB,U,MAL-MAL-25x50.step +MAL25-50LBCM,MAL,25,50,,,LB,CM,MAL-MAL-25x50.step +MAL25-50FA,MAL,25,50,,,FA,,MAL-MAL-25x50.step +MAL25-50FAU,MAL,25,50,,,FA,U,MAL-MAL-25x50.step +MAL25-50FACM,MAL,25,50,,,FA,CM,MAL-MAL-25x50.step +MAL25-50FB,MAL,25,50,,,FB,,MAL-MAL-25x50.step +MAL25-50FBU,MAL,25,50,,,FB,U,MAL-MAL-25x50.step +MAL25-50FBCM,MAL,25,50,,,FB,CM,MAL-MAL-25x50.step +MAL25-50SDB,MAL,25,50,,,SDB,,MAL-MAL-25x50.step +MAL25-50SDBU,MAL,25,50,,,SDB,U,MAL-MAL-25x50.step +MAL25-50SDBCM,MAL,25,50,,,SDB,CM,MAL-MAL-25x50.step +MAL25-50ME,MAL,25,50,M,E,,,MAL-MAL-25x50.step +MAL25-50MEU,MAL,25,50,M,E,,U,MAL-MAL-25x50.step +MAL25-50MECM,MAL,25,50,M,E,,CM,MAL-MAL-25x50.step +MAL25-50MELB,MAL,25,50,M,E,LB,,MAL-MAL-25x50.step +MAL25-50MELBU,MAL,25,50,M,E,LB,U,MAL-MAL-25x50.step +MAL25-50MELBCM,MAL,25,50,M,E,LB,CM,MAL-MAL-25x50.step +MAL25-50MEFA,MAL,25,50,M,E,FA,,MAL-MAL-25x50.step +MAL25-50MEFAU,MAL,25,50,M,E,FA,U,MAL-MAL-25x50.step +MAL25-50MEFACM,MAL,25,50,M,E,FA,CM,MAL-MAL-25x50.step +MAL25-50MEFB,MAL,25,50,M,E,FB,,MAL-MAL-25x50.step +MAL25-50MEFBU,MAL,25,50,M,E,FB,U,MAL-MAL-25x50.step +MAL25-50MEFBCM,MAL,25,50,M,E,FB,CM,MAL-MAL-25x50.step +MAL25-50MESDB,MAL,25,50,M,E,SDB,,MAL-MAL-25x50.step +MAL25-50MESDBU,MAL,25,50,M,E,SDB,U,MAL-MAL-25x50.step +MAL25-50MESDBCM,MAL,25,50,M,E,SDB,CM,MAL-MAL-25x50.step +MAL25-50M,MAL,25,50,M,,,,MAL-MAL-25x50.step +MAL25-50MU,MAL,25,50,M,,,U,MAL-MAL-25x50.step +MAL25-50MCM,MAL,25,50,M,,,CM,MAL-MAL-25x50.step +MAL25-50MLB,MAL,25,50,M,,LB,,MAL-MAL-25x50.step +MAL25-50MLBU,MAL,25,50,M,,LB,U,MAL-MAL-25x50.step +MAL25-50MLBCM,MAL,25,50,M,,LB,CM,MAL-MAL-25x50.step +MAL25-50MFA,MAL,25,50,M,,FA,,MAL-MAL-25x50.step +MAL25-50MFAU,MAL,25,50,M,,FA,U,MAL-MAL-25x50.step +MAL25-50MFACM,MAL,25,50,M,,FA,CM,MAL-MAL-25x50.step +MAL25-50MFB,MAL,25,50,M,,FB,,MAL-MAL-25x50.step +MAL25-50MFBU,MAL,25,50,M,,FB,U,MAL-MAL-25x50.step +MAL25-50MFBCM,MAL,25,50,M,,FB,CM,MAL-MAL-25x50.step +MAL25-50MSDB,MAL,25,50,M,,SDB,,MAL-MAL-25x50.step +MAL25-50MSDBU,MAL,25,50,M,,SDB,U,MAL-MAL-25x50.step +MAL25-50MSDBCM,MAL,25,50,M,,SDB,CM,MAL-MAL-25x50.step +MAL25-75E,MAL,25,75,,E,,,MAL-MAL-25x75.step +MAL25-75EU,MAL,25,75,,E,,U,MAL-MAL-25x75.step +MAL25-75ECM,MAL,25,75,,E,,CM,MAL-MAL-25x75.step +MAL25-75ELB,MAL,25,75,,E,LB,,MAL-MAL-25x75.step +MAL25-75ELBU,MAL,25,75,,E,LB,U,MAL-MAL-25x75.step +MAL25-75ELBCM,MAL,25,75,,E,LB,CM,MAL-MAL-25x75.step +MAL25-75EFA,MAL,25,75,,E,FA,,MAL-MAL-25x75.step +MAL25-75EFAU,MAL,25,75,,E,FA,U,MAL-MAL-25x75.step +MAL25-75EFACM,MAL,25,75,,E,FA,CM,MAL-MAL-25x75.step +MAL25-75EFB,MAL,25,75,,E,FB,,MAL-MAL-25x75.step +MAL25-75EFBU,MAL,25,75,,E,FB,U,MAL-MAL-25x75.step +MAL25-75EFBCM,MAL,25,75,,E,FB,CM,MAL-MAL-25x75.step +MAL25-75ESDB,MAL,25,75,,E,SDB,,MAL-MAL-25x75.step +MAL25-75ESDBU,MAL,25,75,,E,SDB,U,MAL-MAL-25x75.step +MAL25-75ESDBCM,MAL,25,75,,E,SDB,CM,MAL-MAL-25x75.step +MAL25-75,MAL,25,75,,,,,MAL-MAL-25x75.step +MAL25-75U,MAL,25,75,,,,U,MAL-MAL-25x75.step +MAL25-75CM,MAL,25,75,,,,CM,MAL-MAL-25x75.step +MAL25-75LB,MAL,25,75,,,LB,,MAL-MAL-25x75.step +MAL25-75LBU,MAL,25,75,,,LB,U,MAL-MAL-25x75.step +MAL25-75LBCM,MAL,25,75,,,LB,CM,MAL-MAL-25x75.step +MAL25-75FA,MAL,25,75,,,FA,,MAL-MAL-25x75.step +MAL25-75FAU,MAL,25,75,,,FA,U,MAL-MAL-25x75.step +MAL25-75FACM,MAL,25,75,,,FA,CM,MAL-MAL-25x75.step +MAL25-75FB,MAL,25,75,,,FB,,MAL-MAL-25x75.step +MAL25-75FBU,MAL,25,75,,,FB,U,MAL-MAL-25x75.step +MAL25-75FBCM,MAL,25,75,,,FB,CM,MAL-MAL-25x75.step +MAL25-75SDB,MAL,25,75,,,SDB,,MAL-MAL-25x75.step +MAL25-75SDBU,MAL,25,75,,,SDB,U,MAL-MAL-25x75.step +MAL25-75SDBCM,MAL,25,75,,,SDB,CM,MAL-MAL-25x75.step +MAL25-75ME,MAL,25,75,M,E,,,MAL-MAL-25x75.step +MAL25-75MEU,MAL,25,75,M,E,,U,MAL-MAL-25x75.step +MAL25-75MECM,MAL,25,75,M,E,,CM,MAL-MAL-25x75.step +MAL25-75MELB,MAL,25,75,M,E,LB,,MAL-MAL-25x75.step +MAL25-75MELBU,MAL,25,75,M,E,LB,U,MAL-MAL-25x75.step +MAL25-75MELBCM,MAL,25,75,M,E,LB,CM,MAL-MAL-25x75.step +MAL25-75MEFA,MAL,25,75,M,E,FA,,MAL-MAL-25x75.step +MAL25-75MEFAU,MAL,25,75,M,E,FA,U,MAL-MAL-25x75.step +MAL25-75MEFACM,MAL,25,75,M,E,FA,CM,MAL-MAL-25x75.step +MAL25-75MEFB,MAL,25,75,M,E,FB,,MAL-MAL-25x75.step +MAL25-75MEFBU,MAL,25,75,M,E,FB,U,MAL-MAL-25x75.step +MAL25-75MEFBCM,MAL,25,75,M,E,FB,CM,MAL-MAL-25x75.step +MAL25-75MESDB,MAL,25,75,M,E,SDB,,MAL-MAL-25x75.step +MAL25-75MESDBU,MAL,25,75,M,E,SDB,U,MAL-MAL-25x75.step +MAL25-75MESDBCM,MAL,25,75,M,E,SDB,CM,MAL-MAL-25x75.step +MAL25-75M,MAL,25,75,M,,,,MAL-MAL-25x75.step +MAL25-75MU,MAL,25,75,M,,,U,MAL-MAL-25x75.step +MAL25-75MCM,MAL,25,75,M,,,CM,MAL-MAL-25x75.step +MAL25-75MLB,MAL,25,75,M,,LB,,MAL-MAL-25x75.step +MAL25-75MLBU,MAL,25,75,M,,LB,U,MAL-MAL-25x75.step +MAL25-75MLBCM,MAL,25,75,M,,LB,CM,MAL-MAL-25x75.step +MAL25-75MFA,MAL,25,75,M,,FA,,MAL-MAL-25x75.step +MAL25-75MFAU,MAL,25,75,M,,FA,U,MAL-MAL-25x75.step +MAL25-75MFACM,MAL,25,75,M,,FA,CM,MAL-MAL-25x75.step +MAL25-75MFB,MAL,25,75,M,,FB,,MAL-MAL-25x75.step +MAL25-75MFBU,MAL,25,75,M,,FB,U,MAL-MAL-25x75.step +MAL25-75MFBCM,MAL,25,75,M,,FB,CM,MAL-MAL-25x75.step +MAL25-75MSDB,MAL,25,75,M,,SDB,,MAL-MAL-25x75.step +MAL25-75MSDBU,MAL,25,75,M,,SDB,U,MAL-MAL-25x75.step +MAL25-75MSDBCM,MAL,25,75,M,,SDB,CM,MAL-MAL-25x75.step +MAL25-100E,MAL,25,100,,E,,,MAL-MAL-25x100.step +MAL25-100EU,MAL,25,100,,E,,U,MAL-MAL-25x100.step +MAL25-100ECM,MAL,25,100,,E,,CM,MAL-MAL-25x100.step +MAL25-100ELB,MAL,25,100,,E,LB,,MAL-MAL-25x100.step +MAL25-100ELBU,MAL,25,100,,E,LB,U,MAL-MAL-25x100.step +MAL25-100ELBCM,MAL,25,100,,E,LB,CM,MAL-MAL-25x100.step +MAL25-100EFA,MAL,25,100,,E,FA,,MAL-MAL-25x100.step +MAL25-100EFAU,MAL,25,100,,E,FA,U,MAL-MAL-25x100.step +MAL25-100EFACM,MAL,25,100,,E,FA,CM,MAL-MAL-25x100.step +MAL25-100EFB,MAL,25,100,,E,FB,,MAL-MAL-25x100.step +MAL25-100EFBU,MAL,25,100,,E,FB,U,MAL-MAL-25x100.step +MAL25-100EFBCM,MAL,25,100,,E,FB,CM,MAL-MAL-25x100.step +MAL25-100ESDB,MAL,25,100,,E,SDB,,MAL-MAL-25x100.step +MAL25-100ESDBU,MAL,25,100,,E,SDB,U,MAL-MAL-25x100.step +MAL25-100ESDBCM,MAL,25,100,,E,SDB,CM,MAL-MAL-25x100.step +MAL25-100,MAL,25,100,,,,,MAL-MAL-25x100.step +MAL25-100U,MAL,25,100,,,,U,MAL-MAL-25x100.step +MAL25-100CM,MAL,25,100,,,,CM,MAL-MAL-25x100.step +MAL25-100LB,MAL,25,100,,,LB,,MAL-MAL-25x100.step +MAL25-100LBU,MAL,25,100,,,LB,U,MAL-MAL-25x100.step +MAL25-100LBCM,MAL,25,100,,,LB,CM,MAL-MAL-25x100.step +MAL25-100FA,MAL,25,100,,,FA,,MAL-MAL-25x100.step +MAL25-100FAU,MAL,25,100,,,FA,U,MAL-MAL-25x100.step +MAL25-100FACM,MAL,25,100,,,FA,CM,MAL-MAL-25x100.step +MAL25-100FB,MAL,25,100,,,FB,,MAL-MAL-25x100.step +MAL25-100FBU,MAL,25,100,,,FB,U,MAL-MAL-25x100.step +MAL25-100FBCM,MAL,25,100,,,FB,CM,MAL-MAL-25x100.step +MAL25-100SDB,MAL,25,100,,,SDB,,MAL-MAL-25x100.step +MAL25-100SDBU,MAL,25,100,,,SDB,U,MAL-MAL-25x100.step +MAL25-100SDBCM,MAL,25,100,,,SDB,CM,MAL-MAL-25x100.step +MAL25-100ME,MAL,25,100,M,E,,,MAL-MAL-25x100.step +MAL25-100MEU,MAL,25,100,M,E,,U,MAL-MAL-25x100.step +MAL25-100MECM,MAL,25,100,M,E,,CM,MAL-MAL-25x100.step +MAL25-100MELB,MAL,25,100,M,E,LB,,MAL-MAL-25x100.step +MAL25-100MELBU,MAL,25,100,M,E,LB,U,MAL-MAL-25x100.step +MAL25-100MELBCM,MAL,25,100,M,E,LB,CM,MAL-MAL-25x100.step +MAL25-100MEFA,MAL,25,100,M,E,FA,,MAL-MAL-25x100.step +MAL25-100MEFAU,MAL,25,100,M,E,FA,U,MAL-MAL-25x100.step +MAL25-100MEFACM,MAL,25,100,M,E,FA,CM,MAL-MAL-25x100.step +MAL25-100MEFB,MAL,25,100,M,E,FB,,MAL-MAL-25x100.step +MAL25-100MEFBU,MAL,25,100,M,E,FB,U,MAL-MAL-25x100.step +MAL25-100MEFBCM,MAL,25,100,M,E,FB,CM,MAL-MAL-25x100.step +MAL25-100MESDB,MAL,25,100,M,E,SDB,,MAL-MAL-25x100.step +MAL25-100MESDBU,MAL,25,100,M,E,SDB,U,MAL-MAL-25x100.step +MAL25-100MESDBCM,MAL,25,100,M,E,SDB,CM,MAL-MAL-25x100.step +MAL25-100M,MAL,25,100,M,,,,MAL-MAL-25x100.step +MAL25-100MU,MAL,25,100,M,,,U,MAL-MAL-25x100.step +MAL25-100MCM,MAL,25,100,M,,,CM,MAL-MAL-25x100.step +MAL25-100MLB,MAL,25,100,M,,LB,,MAL-MAL-25x100.step +MAL25-100MLBU,MAL,25,100,M,,LB,U,MAL-MAL-25x100.step +MAL25-100MLBCM,MAL,25,100,M,,LB,CM,MAL-MAL-25x100.step +MAL25-100MFA,MAL,25,100,M,,FA,,MAL-MAL-25x100.step +MAL25-100MFAU,MAL,25,100,M,,FA,U,MAL-MAL-25x100.step +MAL25-100MFACM,MAL,25,100,M,,FA,CM,MAL-MAL-25x100.step +MAL25-100MFB,MAL,25,100,M,,FB,,MAL-MAL-25x100.step +MAL25-100MFBU,MAL,25,100,M,,FB,U,MAL-MAL-25x100.step +MAL25-100MFBCM,MAL,25,100,M,,FB,CM,MAL-MAL-25x100.step +MAL25-100MSDB,MAL,25,100,M,,SDB,,MAL-MAL-25x100.step +MAL25-100MSDBU,MAL,25,100,M,,SDB,U,MAL-MAL-25x100.step +MAL25-100MSDBCM,MAL,25,100,M,,SDB,CM,MAL-MAL-25x100.step +MAL32-10E,MAL,32,10,,E,,,MAL-MAL-32x10.step +MAL32-10EU,MAL,32,10,,E,,U,MAL-MAL-32x10.step +MAL32-10ECM,MAL,32,10,,E,,CM,MAL-MAL-32x10.step +MAL32-10ELB,MAL,32,10,,E,LB,,MAL-MAL-32x10.step +MAL32-10ELBU,MAL,32,10,,E,LB,U,MAL-MAL-32x10.step +MAL32-10ELBCM,MAL,32,10,,E,LB,CM,MAL-MAL-32x10.step +MAL32-10EFA,MAL,32,10,,E,FA,,MAL-MAL-32x10.step +MAL32-10EFAU,MAL,32,10,,E,FA,U,MAL-MAL-32x10.step +MAL32-10EFACM,MAL,32,10,,E,FA,CM,MAL-MAL-32x10.step +MAL32-10EFB,MAL,32,10,,E,FB,,MAL-MAL-32x10.step +MAL32-10EFBU,MAL,32,10,,E,FB,U,MAL-MAL-32x10.step +MAL32-10EFBCM,MAL,32,10,,E,FB,CM,MAL-MAL-32x10.step +MAL32-10ESDB,MAL,32,10,,E,SDB,,MAL-MAL-32x10.step +MAL32-10ESDBU,MAL,32,10,,E,SDB,U,MAL-MAL-32x10.step +MAL32-10ESDBCM,MAL,32,10,,E,SDB,CM,MAL-MAL-32x10.step +MAL32-10,MAL,32,10,,,,,MAL-MAL-32x10.step +MAL32-10U,MAL,32,10,,,,U,MAL-MAL-32x10.step +MAL32-10CM,MAL,32,10,,,,CM,MAL-MAL-32x10.step +MAL32-10LB,MAL,32,10,,,LB,,MAL-MAL-32x10.step +MAL32-10LBU,MAL,32,10,,,LB,U,MAL-MAL-32x10.step +MAL32-10LBCM,MAL,32,10,,,LB,CM,MAL-MAL-32x10.step +MAL32-10FA,MAL,32,10,,,FA,,MAL-MAL-32x10.step +MAL32-10FAU,MAL,32,10,,,FA,U,MAL-MAL-32x10.step +MAL32-10FACM,MAL,32,10,,,FA,CM,MAL-MAL-32x10.step +MAL32-10FB,MAL,32,10,,,FB,,MAL-MAL-32x10.step +MAL32-10FBU,MAL,32,10,,,FB,U,MAL-MAL-32x10.step +MAL32-10FBCM,MAL,32,10,,,FB,CM,MAL-MAL-32x10.step +MAL32-10SDB,MAL,32,10,,,SDB,,MAL-MAL-32x10.step +MAL32-10SDBU,MAL,32,10,,,SDB,U,MAL-MAL-32x10.step +MAL32-10SDBCM,MAL,32,10,,,SDB,CM,MAL-MAL-32x10.step +MAL32-10ME,MAL,32,10,M,E,,,MAL-MAL-32x10.step +MAL32-10MEU,MAL,32,10,M,E,,U,MAL-MAL-32x10.step +MAL32-10MECM,MAL,32,10,M,E,,CM,MAL-MAL-32x10.step +MAL32-10MELB,MAL,32,10,M,E,LB,,MAL-MAL-32x10.step +MAL32-10MELBU,MAL,32,10,M,E,LB,U,MAL-MAL-32x10.step +MAL32-10MELBCM,MAL,32,10,M,E,LB,CM,MAL-MAL-32x10.step +MAL32-10MEFA,MAL,32,10,M,E,FA,,MAL-MAL-32x10.step +MAL32-10MEFAU,MAL,32,10,M,E,FA,U,MAL-MAL-32x10.step +MAL32-10MEFACM,MAL,32,10,M,E,FA,CM,MAL-MAL-32x10.step +MAL32-10MEFB,MAL,32,10,M,E,FB,,MAL-MAL-32x10.step +MAL32-10MEFBU,MAL,32,10,M,E,FB,U,MAL-MAL-32x10.step +MAL32-10MEFBCM,MAL,32,10,M,E,FB,CM,MAL-MAL-32x10.step +MAL32-10MESDB,MAL,32,10,M,E,SDB,,MAL-MAL-32x10.step +MAL32-10MESDBU,MAL,32,10,M,E,SDB,U,MAL-MAL-32x10.step +MAL32-10MESDBCM,MAL,32,10,M,E,SDB,CM,MAL-MAL-32x10.step +MAL32-10M,MAL,32,10,M,,,,MAL-MAL-32x10.step +MAL32-10MU,MAL,32,10,M,,,U,MAL-MAL-32x10.step +MAL32-10MCM,MAL,32,10,M,,,CM,MAL-MAL-32x10.step +MAL32-10MLB,MAL,32,10,M,,LB,,MAL-MAL-32x10.step +MAL32-10MLBU,MAL,32,10,M,,LB,U,MAL-MAL-32x10.step +MAL32-10MLBCM,MAL,32,10,M,,LB,CM,MAL-MAL-32x10.step +MAL32-10MFA,MAL,32,10,M,,FA,,MAL-MAL-32x10.step +MAL32-10MFAU,MAL,32,10,M,,FA,U,MAL-MAL-32x10.step +MAL32-10MFACM,MAL,32,10,M,,FA,CM,MAL-MAL-32x10.step +MAL32-10MFB,MAL,32,10,M,,FB,,MAL-MAL-32x10.step +MAL32-10MFBU,MAL,32,10,M,,FB,U,MAL-MAL-32x10.step +MAL32-10MFBCM,MAL,32,10,M,,FB,CM,MAL-MAL-32x10.step +MAL32-10MSDB,MAL,32,10,M,,SDB,,MAL-MAL-32x10.step +MAL32-10MSDBU,MAL,32,10,M,,SDB,U,MAL-MAL-32x10.step +MAL32-10MSDBCM,MAL,32,10,M,,SDB,CM,MAL-MAL-32x10.step +MAL32-20E,MAL,32,20,,E,,,MAL-MAL-32x20.step +MAL32-20EU,MAL,32,20,,E,,U,MAL-MAL-32x20.step +MAL32-20ECM,MAL,32,20,,E,,CM,MAL-MAL-32x20.step +MAL32-20ELB,MAL,32,20,,E,LB,,MAL-MAL-32x20.step +MAL32-20ELBU,MAL,32,20,,E,LB,U,MAL-MAL-32x20.step +MAL32-20ELBCM,MAL,32,20,,E,LB,CM,MAL-MAL-32x20.step +MAL32-20EFA,MAL,32,20,,E,FA,,MAL-MAL-32x20.step +MAL32-20EFAU,MAL,32,20,,E,FA,U,MAL-MAL-32x20.step +MAL32-20EFACM,MAL,32,20,,E,FA,CM,MAL-MAL-32x20.step +MAL32-20EFB,MAL,32,20,,E,FB,,MAL-MAL-32x20.step +MAL32-20EFBU,MAL,32,20,,E,FB,U,MAL-MAL-32x20.step +MAL32-20EFBCM,MAL,32,20,,E,FB,CM,MAL-MAL-32x20.step +MAL32-20ESDB,MAL,32,20,,E,SDB,,MAL-MAL-32x20.step +MAL32-20ESDBU,MAL,32,20,,E,SDB,U,MAL-MAL-32x20.step +MAL32-20ESDBCM,MAL,32,20,,E,SDB,CM,MAL-MAL-32x20.step +MAL32-20,MAL,32,20,,,,,MAL-MAL-32x20.step +MAL32-20U,MAL,32,20,,,,U,MAL-MAL-32x20.step +MAL32-20CM,MAL,32,20,,,,CM,MAL-MAL-32x20.step +MAL32-20LB,MAL,32,20,,,LB,,MAL-MAL-32x20.step +MAL32-20LBU,MAL,32,20,,,LB,U,MAL-MAL-32x20.step +MAL32-20LBCM,MAL,32,20,,,LB,CM,MAL-MAL-32x20.step +MAL32-20FA,MAL,32,20,,,FA,,MAL-MAL-32x20.step +MAL32-20FAU,MAL,32,20,,,FA,U,MAL-MAL-32x20.step +MAL32-20FACM,MAL,32,20,,,FA,CM,MAL-MAL-32x20.step +MAL32-20FB,MAL,32,20,,,FB,,MAL-MAL-32x20.step +MAL32-20FBU,MAL,32,20,,,FB,U,MAL-MAL-32x20.step +MAL32-20FBCM,MAL,32,20,,,FB,CM,MAL-MAL-32x20.step +MAL32-20SDB,MAL,32,20,,,SDB,,MAL-MAL-32x20.step +MAL32-20SDBU,MAL,32,20,,,SDB,U,MAL-MAL-32x20.step +MAL32-20SDBCM,MAL,32,20,,,SDB,CM,MAL-MAL-32x20.step +MAL32-20ME,MAL,32,20,M,E,,,MAL-MAL-32x20.step +MAL32-20MEU,MAL,32,20,M,E,,U,MAL-MAL-32x20.step +MAL32-20MECM,MAL,32,20,M,E,,CM,MAL-MAL-32x20.step +MAL32-20MELB,MAL,32,20,M,E,LB,,MAL-MAL-32x20.step +MAL32-20MELBU,MAL,32,20,M,E,LB,U,MAL-MAL-32x20.step +MAL32-20MELBCM,MAL,32,20,M,E,LB,CM,MAL-MAL-32x20.step +MAL32-20MEFA,MAL,32,20,M,E,FA,,MAL-MAL-32x20.step +MAL32-20MEFAU,MAL,32,20,M,E,FA,U,MAL-MAL-32x20.step +MAL32-20MEFACM,MAL,32,20,M,E,FA,CM,MAL-MAL-32x20.step +MAL32-20MEFB,MAL,32,20,M,E,FB,,MAL-MAL-32x20.step +MAL32-20MEFBU,MAL,32,20,M,E,FB,U,MAL-MAL-32x20.step +MAL32-20MEFBCM,MAL,32,20,M,E,FB,CM,MAL-MAL-32x20.step +MAL32-20MESDB,MAL,32,20,M,E,SDB,,MAL-MAL-32x20.step +MAL32-20MESDBU,MAL,32,20,M,E,SDB,U,MAL-MAL-32x20.step +MAL32-20MESDBCM,MAL,32,20,M,E,SDB,CM,MAL-MAL-32x20.step +MAL32-20M,MAL,32,20,M,,,,MAL-MAL-32x20.step +MAL32-20MU,MAL,32,20,M,,,U,MAL-MAL-32x20.step +MAL32-20MCM,MAL,32,20,M,,,CM,MAL-MAL-32x20.step +MAL32-20MLB,MAL,32,20,M,,LB,,MAL-MAL-32x20.step +MAL32-20MLBU,MAL,32,20,M,,LB,U,MAL-MAL-32x20.step +MAL32-20MLBCM,MAL,32,20,M,,LB,CM,MAL-MAL-32x20.step +MAL32-20MFA,MAL,32,20,M,,FA,,MAL-MAL-32x20.step +MAL32-20MFAU,MAL,32,20,M,,FA,U,MAL-MAL-32x20.step +MAL32-20MFACM,MAL,32,20,M,,FA,CM,MAL-MAL-32x20.step +MAL32-20MFB,MAL,32,20,M,,FB,,MAL-MAL-32x20.step +MAL32-20MFBU,MAL,32,20,M,,FB,U,MAL-MAL-32x20.step +MAL32-20MFBCM,MAL,32,20,M,,FB,CM,MAL-MAL-32x20.step +MAL32-20MSDB,MAL,32,20,M,,SDB,,MAL-MAL-32x20.step +MAL32-20MSDBU,MAL,32,20,M,,SDB,U,MAL-MAL-32x20.step +MAL32-20MSDBCM,MAL,32,20,M,,SDB,CM,MAL-MAL-32x20.step +MAL32-30E,MAL,32,30,,E,,,MAL-MAL-32x30.step +MAL32-30EU,MAL,32,30,,E,,U,MAL-MAL-32x30.step +MAL32-30ECM,MAL,32,30,,E,,CM,MAL-MAL-32x30.step +MAL32-30ELB,MAL,32,30,,E,LB,,MAL-MAL-32x30.step +MAL32-30ELBU,MAL,32,30,,E,LB,U,MAL-MAL-32x30.step +MAL32-30ELBCM,MAL,32,30,,E,LB,CM,MAL-MAL-32x30.step +MAL32-30EFA,MAL,32,30,,E,FA,,MAL-MAL-32x30.step +MAL32-30EFAU,MAL,32,30,,E,FA,U,MAL-MAL-32x30.step +MAL32-30EFACM,MAL,32,30,,E,FA,CM,MAL-MAL-32x30.step +MAL32-30EFB,MAL,32,30,,E,FB,,MAL-MAL-32x30.step +MAL32-30EFBU,MAL,32,30,,E,FB,U,MAL-MAL-32x30.step +MAL32-30EFBCM,MAL,32,30,,E,FB,CM,MAL-MAL-32x30.step +MAL32-30ESDB,MAL,32,30,,E,SDB,,MAL-MAL-32x30.step +MAL32-30ESDBU,MAL,32,30,,E,SDB,U,MAL-MAL-32x30.step +MAL32-30ESDBCM,MAL,32,30,,E,SDB,CM,MAL-MAL-32x30.step +MAL32-30,MAL,32,30,,,,,MAL-MAL-32x30.step +MAL32-30U,MAL,32,30,,,,U,MAL-MAL-32x30.step +MAL32-30CM,MAL,32,30,,,,CM,MAL-MAL-32x30.step +MAL32-30LB,MAL,32,30,,,LB,,MAL-MAL-32x30.step +MAL32-30LBU,MAL,32,30,,,LB,U,MAL-MAL-32x30.step +MAL32-30LBCM,MAL,32,30,,,LB,CM,MAL-MAL-32x30.step +MAL32-30FA,MAL,32,30,,,FA,,MAL-MAL-32x30.step +MAL32-30FAU,MAL,32,30,,,FA,U,MAL-MAL-32x30.step +MAL32-30FACM,MAL,32,30,,,FA,CM,MAL-MAL-32x30.step +MAL32-30FB,MAL,32,30,,,FB,,MAL-MAL-32x30.step +MAL32-30FBU,MAL,32,30,,,FB,U,MAL-MAL-32x30.step +MAL32-30FBCM,MAL,32,30,,,FB,CM,MAL-MAL-32x30.step +MAL32-30SDB,MAL,32,30,,,SDB,,MAL-MAL-32x30.step +MAL32-30SDBU,MAL,32,30,,,SDB,U,MAL-MAL-32x30.step +MAL32-30SDBCM,MAL,32,30,,,SDB,CM,MAL-MAL-32x30.step +MAL32-30ME,MAL,32,30,M,E,,,MAL-MAL-32x30.step +MAL32-30MEU,MAL,32,30,M,E,,U,MAL-MAL-32x30.step +MAL32-30MECM,MAL,32,30,M,E,,CM,MAL-MAL-32x30.step +MAL32-30MELB,MAL,32,30,M,E,LB,,MAL-MAL-32x30.step +MAL32-30MELBU,MAL,32,30,M,E,LB,U,MAL-MAL-32x30.step +MAL32-30MELBCM,MAL,32,30,M,E,LB,CM,MAL-MAL-32x30.step +MAL32-30MEFA,MAL,32,30,M,E,FA,,MAL-MAL-32x30.step +MAL32-30MEFAU,MAL,32,30,M,E,FA,U,MAL-MAL-32x30.step +MAL32-30MEFACM,MAL,32,30,M,E,FA,CM,MAL-MAL-32x30.step +MAL32-30MEFB,MAL,32,30,M,E,FB,,MAL-MAL-32x30.step +MAL32-30MEFBU,MAL,32,30,M,E,FB,U,MAL-MAL-32x30.step +MAL32-30MEFBCM,MAL,32,30,M,E,FB,CM,MAL-MAL-32x30.step +MAL32-30MESDB,MAL,32,30,M,E,SDB,,MAL-MAL-32x30.step +MAL32-30MESDBU,MAL,32,30,M,E,SDB,U,MAL-MAL-32x30.step +MAL32-30MESDBCM,MAL,32,30,M,E,SDB,CM,MAL-MAL-32x30.step +MAL32-30M,MAL,32,30,M,,,,MAL-MAL-32x30.step +MAL32-30MU,MAL,32,30,M,,,U,MAL-MAL-32x30.step +MAL32-30MCM,MAL,32,30,M,,,CM,MAL-MAL-32x30.step +MAL32-30MLB,MAL,32,30,M,,LB,,MAL-MAL-32x30.step +MAL32-30MLBU,MAL,32,30,M,,LB,U,MAL-MAL-32x30.step +MAL32-30MLBCM,MAL,32,30,M,,LB,CM,MAL-MAL-32x30.step +MAL32-30MFA,MAL,32,30,M,,FA,,MAL-MAL-32x30.step +MAL32-30MFAU,MAL,32,30,M,,FA,U,MAL-MAL-32x30.step +MAL32-30MFACM,MAL,32,30,M,,FA,CM,MAL-MAL-32x30.step +MAL32-30MFB,MAL,32,30,M,,FB,,MAL-MAL-32x30.step +MAL32-30MFBU,MAL,32,30,M,,FB,U,MAL-MAL-32x30.step +MAL32-30MFBCM,MAL,32,30,M,,FB,CM,MAL-MAL-32x30.step +MAL32-30MSDB,MAL,32,30,M,,SDB,,MAL-MAL-32x30.step +MAL32-30MSDBU,MAL,32,30,M,,SDB,U,MAL-MAL-32x30.step +MAL32-30MSDBCM,MAL,32,30,M,,SDB,CM,MAL-MAL-32x30.step +MAL32-50E,MAL,32,50,,E,,,MAL-MAL-32x50.step +MAL32-50EU,MAL,32,50,,E,,U,MAL-MAL-32x50.step +MAL32-50ECM,MAL,32,50,,E,,CM,MAL-MAL-32x50.step +MAL32-50ELB,MAL,32,50,,E,LB,,MAL-MAL-32x50.step +MAL32-50ELBU,MAL,32,50,,E,LB,U,MAL-MAL-32x50.step +MAL32-50ELBCM,MAL,32,50,,E,LB,CM,MAL-MAL-32x50.step +MAL32-50EFA,MAL,32,50,,E,FA,,MAL-MAL-32x50.step +MAL32-50EFAU,MAL,32,50,,E,FA,U,MAL-MAL-32x50.step +MAL32-50EFACM,MAL,32,50,,E,FA,CM,MAL-MAL-32x50.step +MAL32-50EFB,MAL,32,50,,E,FB,,MAL-MAL-32x50.step +MAL32-50EFBU,MAL,32,50,,E,FB,U,MAL-MAL-32x50.step +MAL32-50EFBCM,MAL,32,50,,E,FB,CM,MAL-MAL-32x50.step +MAL32-50ESDB,MAL,32,50,,E,SDB,,MAL-MAL-32x50.step +MAL32-50ESDBU,MAL,32,50,,E,SDB,U,MAL-MAL-32x50.step +MAL32-50ESDBCM,MAL,32,50,,E,SDB,CM,MAL-MAL-32x50.step +MAL32-50,MAL,32,50,,,,,MAL-MAL-32x50.step +MAL32-50U,MAL,32,50,,,,U,MAL-MAL-32x50.step +MAL32-50CM,MAL,32,50,,,,CM,MAL-MAL-32x50.step +MAL32-50LB,MAL,32,50,,,LB,,MAL-MAL-32x50.step +MAL32-50LBU,MAL,32,50,,,LB,U,MAL-MAL-32x50.step +MAL32-50LBCM,MAL,32,50,,,LB,CM,MAL-MAL-32x50.step +MAL32-50FA,MAL,32,50,,,FA,,MAL-MAL-32x50.step +MAL32-50FAU,MAL,32,50,,,FA,U,MAL-MAL-32x50.step +MAL32-50FACM,MAL,32,50,,,FA,CM,MAL-MAL-32x50.step +MAL32-50FB,MAL,32,50,,,FB,,MAL-MAL-32x50.step +MAL32-50FBU,MAL,32,50,,,FB,U,MAL-MAL-32x50.step +MAL32-50FBCM,MAL,32,50,,,FB,CM,MAL-MAL-32x50.step +MAL32-50SDB,MAL,32,50,,,SDB,,MAL-MAL-32x50.step +MAL32-50SDBU,MAL,32,50,,,SDB,U,MAL-MAL-32x50.step +MAL32-50SDBCM,MAL,32,50,,,SDB,CM,MAL-MAL-32x50.step +MAL32-50ME,MAL,32,50,M,E,,,MAL-MAL-32x50.step +MAL32-50MEU,MAL,32,50,M,E,,U,MAL-MAL-32x50.step +MAL32-50MECM,MAL,32,50,M,E,,CM,MAL-MAL-32x50.step +MAL32-50MELB,MAL,32,50,M,E,LB,,MAL-MAL-32x50.step +MAL32-50MELBU,MAL,32,50,M,E,LB,U,MAL-MAL-32x50.step +MAL32-50MELBCM,MAL,32,50,M,E,LB,CM,MAL-MAL-32x50.step +MAL32-50MEFA,MAL,32,50,M,E,FA,,MAL-MAL-32x50.step +MAL32-50MEFAU,MAL,32,50,M,E,FA,U,MAL-MAL-32x50.step +MAL32-50MEFACM,MAL,32,50,M,E,FA,CM,MAL-MAL-32x50.step +MAL32-50MEFB,MAL,32,50,M,E,FB,,MAL-MAL-32x50.step +MAL32-50MEFBU,MAL,32,50,M,E,FB,U,MAL-MAL-32x50.step +MAL32-50MEFBCM,MAL,32,50,M,E,FB,CM,MAL-MAL-32x50.step +MAL32-50MESDB,MAL,32,50,M,E,SDB,,MAL-MAL-32x50.step +MAL32-50MESDBU,MAL,32,50,M,E,SDB,U,MAL-MAL-32x50.step +MAL32-50MESDBCM,MAL,32,50,M,E,SDB,CM,MAL-MAL-32x50.step +MAL32-50M,MAL,32,50,M,,,,MAL-MAL-32x50.step +MAL32-50MU,MAL,32,50,M,,,U,MAL-MAL-32x50.step +MAL32-50MCM,MAL,32,50,M,,,CM,MAL-MAL-32x50.step +MAL32-50MLB,MAL,32,50,M,,LB,,MAL-MAL-32x50.step +MAL32-50MLBU,MAL,32,50,M,,LB,U,MAL-MAL-32x50.step +MAL32-50MLBCM,MAL,32,50,M,,LB,CM,MAL-MAL-32x50.step +MAL32-50MFA,MAL,32,50,M,,FA,,MAL-MAL-32x50.step +MAL32-50MFAU,MAL,32,50,M,,FA,U,MAL-MAL-32x50.step +MAL32-50MFACM,MAL,32,50,M,,FA,CM,MAL-MAL-32x50.step +MAL32-50MFB,MAL,32,50,M,,FB,,MAL-MAL-32x50.step +MAL32-50MFBU,MAL,32,50,M,,FB,U,MAL-MAL-32x50.step +MAL32-50MFBCM,MAL,32,50,M,,FB,CM,MAL-MAL-32x50.step +MAL32-50MSDB,MAL,32,50,M,,SDB,,MAL-MAL-32x50.step +MAL32-50MSDBU,MAL,32,50,M,,SDB,U,MAL-MAL-32x50.step +MAL32-50MSDBCM,MAL,32,50,M,,SDB,CM,MAL-MAL-32x50.step +MAL32-75E,MAL,32,75,,E,,,MAL-MAL-32x75.step +MAL32-75EU,MAL,32,75,,E,,U,MAL-MAL-32x75.step +MAL32-75ECM,MAL,32,75,,E,,CM,MAL-MAL-32x75.step +MAL32-75ELB,MAL,32,75,,E,LB,,MAL-MAL-32x75.step +MAL32-75ELBU,MAL,32,75,,E,LB,U,MAL-MAL-32x75.step +MAL32-75ELBCM,MAL,32,75,,E,LB,CM,MAL-MAL-32x75.step +MAL32-75EFA,MAL,32,75,,E,FA,,MAL-MAL-32x75.step +MAL32-75EFAU,MAL,32,75,,E,FA,U,MAL-MAL-32x75.step +MAL32-75EFACM,MAL,32,75,,E,FA,CM,MAL-MAL-32x75.step +MAL32-75EFB,MAL,32,75,,E,FB,,MAL-MAL-32x75.step +MAL32-75EFBU,MAL,32,75,,E,FB,U,MAL-MAL-32x75.step +MAL32-75EFBCM,MAL,32,75,,E,FB,CM,MAL-MAL-32x75.step +MAL32-75ESDB,MAL,32,75,,E,SDB,,MAL-MAL-32x75.step +MAL32-75ESDBU,MAL,32,75,,E,SDB,U,MAL-MAL-32x75.step +MAL32-75ESDBCM,MAL,32,75,,E,SDB,CM,MAL-MAL-32x75.step +MAL32-75,MAL,32,75,,,,,MAL-MAL-32x75.step +MAL32-75U,MAL,32,75,,,,U,MAL-MAL-32x75.step +MAL32-75CM,MAL,32,75,,,,CM,MAL-MAL-32x75.step +MAL32-75LB,MAL,32,75,,,LB,,MAL-MAL-32x75.step +MAL32-75LBU,MAL,32,75,,,LB,U,MAL-MAL-32x75.step +MAL32-75LBCM,MAL,32,75,,,LB,CM,MAL-MAL-32x75.step +MAL32-75FA,MAL,32,75,,,FA,,MAL-MAL-32x75.step +MAL32-75FAU,MAL,32,75,,,FA,U,MAL-MAL-32x75.step +MAL32-75FACM,MAL,32,75,,,FA,CM,MAL-MAL-32x75.step +MAL32-75FB,MAL,32,75,,,FB,,MAL-MAL-32x75.step +MAL32-75FBU,MAL,32,75,,,FB,U,MAL-MAL-32x75.step +MAL32-75FBCM,MAL,32,75,,,FB,CM,MAL-MAL-32x75.step +MAL32-75SDB,MAL,32,75,,,SDB,,MAL-MAL-32x75.step +MAL32-75SDBU,MAL,32,75,,,SDB,U,MAL-MAL-32x75.step +MAL32-75SDBCM,MAL,32,75,,,SDB,CM,MAL-MAL-32x75.step +MAL32-75ME,MAL,32,75,M,E,,,MAL-MAL-32x75.step +MAL32-75MEU,MAL,32,75,M,E,,U,MAL-MAL-32x75.step +MAL32-75MECM,MAL,32,75,M,E,,CM,MAL-MAL-32x75.step +MAL32-75MELB,MAL,32,75,M,E,LB,,MAL-MAL-32x75.step +MAL32-75MELBU,MAL,32,75,M,E,LB,U,MAL-MAL-32x75.step +MAL32-75MELBCM,MAL,32,75,M,E,LB,CM,MAL-MAL-32x75.step +MAL32-75MEFA,MAL,32,75,M,E,FA,,MAL-MAL-32x75.step +MAL32-75MEFAU,MAL,32,75,M,E,FA,U,MAL-MAL-32x75.step +MAL32-75MEFACM,MAL,32,75,M,E,FA,CM,MAL-MAL-32x75.step +MAL32-75MEFB,MAL,32,75,M,E,FB,,MAL-MAL-32x75.step +MAL32-75MEFBU,MAL,32,75,M,E,FB,U,MAL-MAL-32x75.step +MAL32-75MEFBCM,MAL,32,75,M,E,FB,CM,MAL-MAL-32x75.step +MAL32-75MESDB,MAL,32,75,M,E,SDB,,MAL-MAL-32x75.step +MAL32-75MESDBU,MAL,32,75,M,E,SDB,U,MAL-MAL-32x75.step +MAL32-75MESDBCM,MAL,32,75,M,E,SDB,CM,MAL-MAL-32x75.step +MAL32-75M,MAL,32,75,M,,,,MAL-MAL-32x75.step +MAL32-75MU,MAL,32,75,M,,,U,MAL-MAL-32x75.step +MAL32-75MCM,MAL,32,75,M,,,CM,MAL-MAL-32x75.step +MAL32-75MLB,MAL,32,75,M,,LB,,MAL-MAL-32x75.step +MAL32-75MLBU,MAL,32,75,M,,LB,U,MAL-MAL-32x75.step +MAL32-75MLBCM,MAL,32,75,M,,LB,CM,MAL-MAL-32x75.step +MAL32-75MFA,MAL,32,75,M,,FA,,MAL-MAL-32x75.step +MAL32-75MFAU,MAL,32,75,M,,FA,U,MAL-MAL-32x75.step +MAL32-75MFACM,MAL,32,75,M,,FA,CM,MAL-MAL-32x75.step +MAL32-75MFB,MAL,32,75,M,,FB,,MAL-MAL-32x75.step +MAL32-75MFBU,MAL,32,75,M,,FB,U,MAL-MAL-32x75.step +MAL32-75MFBCM,MAL,32,75,M,,FB,CM,MAL-MAL-32x75.step +MAL32-75MSDB,MAL,32,75,M,,SDB,,MAL-MAL-32x75.step +MAL32-75MSDBU,MAL,32,75,M,,SDB,U,MAL-MAL-32x75.step +MAL32-75MSDBCM,MAL,32,75,M,,SDB,CM,MAL-MAL-32x75.step +MAL32-100E,MAL,32,100,,E,,,MAL-MAL-32x100.step +MAL32-100EU,MAL,32,100,,E,,U,MAL-MAL-32x100.step +MAL32-100ECM,MAL,32,100,,E,,CM,MAL-MAL-32x100.step +MAL32-100ELB,MAL,32,100,,E,LB,,MAL-MAL-32x100.step +MAL32-100ELBU,MAL,32,100,,E,LB,U,MAL-MAL-32x100.step +MAL32-100ELBCM,MAL,32,100,,E,LB,CM,MAL-MAL-32x100.step +MAL32-100EFA,MAL,32,100,,E,FA,,MAL-MAL-32x100.step +MAL32-100EFAU,MAL,32,100,,E,FA,U,MAL-MAL-32x100.step +MAL32-100EFACM,MAL,32,100,,E,FA,CM,MAL-MAL-32x100.step +MAL32-100EFB,MAL,32,100,,E,FB,,MAL-MAL-32x100.step +MAL32-100EFBU,MAL,32,100,,E,FB,U,MAL-MAL-32x100.step +MAL32-100EFBCM,MAL,32,100,,E,FB,CM,MAL-MAL-32x100.step +MAL32-100ESDB,MAL,32,100,,E,SDB,,MAL-MAL-32x100.step +MAL32-100ESDBU,MAL,32,100,,E,SDB,U,MAL-MAL-32x100.step +MAL32-100ESDBCM,MAL,32,100,,E,SDB,CM,MAL-MAL-32x100.step +MAL32-100,MAL,32,100,,,,,MAL-MAL-32x100.step +MAL32-100U,MAL,32,100,,,,U,MAL-MAL-32x100.step +MAL32-100CM,MAL,32,100,,,,CM,MAL-MAL-32x100.step +MAL32-100LB,MAL,32,100,,,LB,,MAL-MAL-32x100.step +MAL32-100LBU,MAL,32,100,,,LB,U,MAL-MAL-32x100.step +MAL32-100LBCM,MAL,32,100,,,LB,CM,MAL-MAL-32x100.step +MAL32-100FA,MAL,32,100,,,FA,,MAL-MAL-32x100.step +MAL32-100FAU,MAL,32,100,,,FA,U,MAL-MAL-32x100.step +MAL32-100FACM,MAL,32,100,,,FA,CM,MAL-MAL-32x100.step +MAL32-100FB,MAL,32,100,,,FB,,MAL-MAL-32x100.step +MAL32-100FBU,MAL,32,100,,,FB,U,MAL-MAL-32x100.step +MAL32-100FBCM,MAL,32,100,,,FB,CM,MAL-MAL-32x100.step +MAL32-100SDB,MAL,32,100,,,SDB,,MAL-MAL-32x100.step +MAL32-100SDBU,MAL,32,100,,,SDB,U,MAL-MAL-32x100.step +MAL32-100SDBCM,MAL,32,100,,,SDB,CM,MAL-MAL-32x100.step +MAL32-100ME,MAL,32,100,M,E,,,MAL-MAL-32x100.step +MAL32-100MEU,MAL,32,100,M,E,,U,MAL-MAL-32x100.step +MAL32-100MECM,MAL,32,100,M,E,,CM,MAL-MAL-32x100.step +MAL32-100MELB,MAL,32,100,M,E,LB,,MAL-MAL-32x100.step +MAL32-100MELBU,MAL,32,100,M,E,LB,U,MAL-MAL-32x100.step +MAL32-100MELBCM,MAL,32,100,M,E,LB,CM,MAL-MAL-32x100.step +MAL32-100MEFA,MAL,32,100,M,E,FA,,MAL-MAL-32x100.step +MAL32-100MEFAU,MAL,32,100,M,E,FA,U,MAL-MAL-32x100.step +MAL32-100MEFACM,MAL,32,100,M,E,FA,CM,MAL-MAL-32x100.step +MAL32-100MEFB,MAL,32,100,M,E,FB,,MAL-MAL-32x100.step +MAL32-100MEFBU,MAL,32,100,M,E,FB,U,MAL-MAL-32x100.step +MAL32-100MEFBCM,MAL,32,100,M,E,FB,CM,MAL-MAL-32x100.step +MAL32-100MESDB,MAL,32,100,M,E,SDB,,MAL-MAL-32x100.step +MAL32-100MESDBU,MAL,32,100,M,E,SDB,U,MAL-MAL-32x100.step +MAL32-100MESDBCM,MAL,32,100,M,E,SDB,CM,MAL-MAL-32x100.step +MAL32-100M,MAL,32,100,M,,,,MAL-MAL-32x100.step +MAL32-100MU,MAL,32,100,M,,,U,MAL-MAL-32x100.step +MAL32-100MCM,MAL,32,100,M,,,CM,MAL-MAL-32x100.step +MAL32-100MLB,MAL,32,100,M,,LB,,MAL-MAL-32x100.step +MAL32-100MLBU,MAL,32,100,M,,LB,U,MAL-MAL-32x100.step +MAL32-100MLBCM,MAL,32,100,M,,LB,CM,MAL-MAL-32x100.step +MAL32-100MFA,MAL,32,100,M,,FA,,MAL-MAL-32x100.step +MAL32-100MFAU,MAL,32,100,M,,FA,U,MAL-MAL-32x100.step +MAL32-100MFACM,MAL,32,100,M,,FA,CM,MAL-MAL-32x100.step +MAL32-100MFB,MAL,32,100,M,,FB,,MAL-MAL-32x100.step +MAL32-100MFBU,MAL,32,100,M,,FB,U,MAL-MAL-32x100.step +MAL32-100MFBCM,MAL,32,100,M,,FB,CM,MAL-MAL-32x100.step +MAL32-100MSDB,MAL,32,100,M,,SDB,,MAL-MAL-32x100.step +MAL32-100MSDBU,MAL,32,100,M,,SDB,U,MAL-MAL-32x100.step +MAL32-100MSDBCM,MAL,32,100,M,,SDB,CM,MAL-MAL-32x100.step +MAL40-10E,MAL,40,10,,E,,,MAL-MAL-40x10.step +MAL40-10EU,MAL,40,10,,E,,U,MAL-MAL-40x10.step +MAL40-10ECM,MAL,40,10,,E,,CM,MAL-MAL-40x10.step +MAL40-10ELB,MAL,40,10,,E,LB,,MAL-MAL-40x10.step +MAL40-10ELBU,MAL,40,10,,E,LB,U,MAL-MAL-40x10.step +MAL40-10ELBCM,MAL,40,10,,E,LB,CM,MAL-MAL-40x10.step +MAL40-10EFA,MAL,40,10,,E,FA,,MAL-MAL-40x10.step +MAL40-10EFAU,MAL,40,10,,E,FA,U,MAL-MAL-40x10.step +MAL40-10EFACM,MAL,40,10,,E,FA,CM,MAL-MAL-40x10.step +MAL40-10EFB,MAL,40,10,,E,FB,,MAL-MAL-40x10.step +MAL40-10EFBU,MAL,40,10,,E,FB,U,MAL-MAL-40x10.step +MAL40-10EFBCM,MAL,40,10,,E,FB,CM,MAL-MAL-40x10.step +MAL40-10ESDB,MAL,40,10,,E,SDB,,MAL-MAL-40x10.step +MAL40-10ESDBU,MAL,40,10,,E,SDB,U,MAL-MAL-40x10.step +MAL40-10ESDBCM,MAL,40,10,,E,SDB,CM,MAL-MAL-40x10.step +MAL40-10,MAL,40,10,,,,,MAL-MAL-40x10.step +MAL40-10U,MAL,40,10,,,,U,MAL-MAL-40x10.step +MAL40-10CM,MAL,40,10,,,,CM,MAL-MAL-40x10.step +MAL40-10LB,MAL,40,10,,,LB,,MAL-MAL-40x10.step +MAL40-10LBU,MAL,40,10,,,LB,U,MAL-MAL-40x10.step +MAL40-10LBCM,MAL,40,10,,,LB,CM,MAL-MAL-40x10.step +MAL40-10FA,MAL,40,10,,,FA,,MAL-MAL-40x10.step +MAL40-10FAU,MAL,40,10,,,FA,U,MAL-MAL-40x10.step +MAL40-10FACM,MAL,40,10,,,FA,CM,MAL-MAL-40x10.step +MAL40-10FB,MAL,40,10,,,FB,,MAL-MAL-40x10.step +MAL40-10FBU,MAL,40,10,,,FB,U,MAL-MAL-40x10.step +MAL40-10FBCM,MAL,40,10,,,FB,CM,MAL-MAL-40x10.step +MAL40-10SDB,MAL,40,10,,,SDB,,MAL-MAL-40x10.step +MAL40-10SDBU,MAL,40,10,,,SDB,U,MAL-MAL-40x10.step +MAL40-10SDBCM,MAL,40,10,,,SDB,CM,MAL-MAL-40x10.step +MAL40-10ME,MAL,40,10,M,E,,,MAL-MAL-40x10.step +MAL40-10MEU,MAL,40,10,M,E,,U,MAL-MAL-40x10.step +MAL40-10MECM,MAL,40,10,M,E,,CM,MAL-MAL-40x10.step +MAL40-10MELB,MAL,40,10,M,E,LB,,MAL-MAL-40x10.step +MAL40-10MELBU,MAL,40,10,M,E,LB,U,MAL-MAL-40x10.step +MAL40-10MELBCM,MAL,40,10,M,E,LB,CM,MAL-MAL-40x10.step +MAL40-10MEFA,MAL,40,10,M,E,FA,,MAL-MAL-40x10.step +MAL40-10MEFAU,MAL,40,10,M,E,FA,U,MAL-MAL-40x10.step +MAL40-10MEFACM,MAL,40,10,M,E,FA,CM,MAL-MAL-40x10.step +MAL40-10MEFB,MAL,40,10,M,E,FB,,MAL-MAL-40x10.step +MAL40-10MEFBU,MAL,40,10,M,E,FB,U,MAL-MAL-40x10.step +MAL40-10MEFBCM,MAL,40,10,M,E,FB,CM,MAL-MAL-40x10.step +MAL40-10MESDB,MAL,40,10,M,E,SDB,,MAL-MAL-40x10.step +MAL40-10MESDBU,MAL,40,10,M,E,SDB,U,MAL-MAL-40x10.step +MAL40-10MESDBCM,MAL,40,10,M,E,SDB,CM,MAL-MAL-40x10.step +MAL40-10M,MAL,40,10,M,,,,MAL-MAL-40x10.step +MAL40-10MU,MAL,40,10,M,,,U,MAL-MAL-40x10.step +MAL40-10MCM,MAL,40,10,M,,,CM,MAL-MAL-40x10.step +MAL40-10MLB,MAL,40,10,M,,LB,,MAL-MAL-40x10.step +MAL40-10MLBU,MAL,40,10,M,,LB,U,MAL-MAL-40x10.step +MAL40-10MLBCM,MAL,40,10,M,,LB,CM,MAL-MAL-40x10.step +MAL40-10MFA,MAL,40,10,M,,FA,,MAL-MAL-40x10.step +MAL40-10MFAU,MAL,40,10,M,,FA,U,MAL-MAL-40x10.step +MAL40-10MFACM,MAL,40,10,M,,FA,CM,MAL-MAL-40x10.step +MAL40-10MFB,MAL,40,10,M,,FB,,MAL-MAL-40x10.step +MAL40-10MFBU,MAL,40,10,M,,FB,U,MAL-MAL-40x10.step +MAL40-10MFBCM,MAL,40,10,M,,FB,CM,MAL-MAL-40x10.step +MAL40-10MSDB,MAL,40,10,M,,SDB,,MAL-MAL-40x10.step +MAL40-10MSDBU,MAL,40,10,M,,SDB,U,MAL-MAL-40x10.step +MAL40-10MSDBCM,MAL,40,10,M,,SDB,CM,MAL-MAL-40x10.step +MAL40-20E,MAL,40,20,,E,,,MAL-MAL-40x20.step +MAL40-20EU,MAL,40,20,,E,,U,MAL-MAL-40x20.step +MAL40-20ECM,MAL,40,20,,E,,CM,MAL-MAL-40x20.step +MAL40-20ELB,MAL,40,20,,E,LB,,MAL-MAL-40x20.step +MAL40-20ELBU,MAL,40,20,,E,LB,U,MAL-MAL-40x20.step +MAL40-20ELBCM,MAL,40,20,,E,LB,CM,MAL-MAL-40x20.step +MAL40-20EFA,MAL,40,20,,E,FA,,MAL-MAL-40x20.step +MAL40-20EFAU,MAL,40,20,,E,FA,U,MAL-MAL-40x20.step +MAL40-20EFACM,MAL,40,20,,E,FA,CM,MAL-MAL-40x20.step +MAL40-20EFB,MAL,40,20,,E,FB,,MAL-MAL-40x20.step +MAL40-20EFBU,MAL,40,20,,E,FB,U,MAL-MAL-40x20.step +MAL40-20EFBCM,MAL,40,20,,E,FB,CM,MAL-MAL-40x20.step +MAL40-20ESDB,MAL,40,20,,E,SDB,,MAL-MAL-40x20.step +MAL40-20ESDBU,MAL,40,20,,E,SDB,U,MAL-MAL-40x20.step +MAL40-20ESDBCM,MAL,40,20,,E,SDB,CM,MAL-MAL-40x20.step +MAL40-20,MAL,40,20,,,,,MAL-MAL-40x20.step +MAL40-20U,MAL,40,20,,,,U,MAL-MAL-40x20.step +MAL40-20CM,MAL,40,20,,,,CM,MAL-MAL-40x20.step +MAL40-20LB,MAL,40,20,,,LB,,MAL-MAL-40x20.step +MAL40-20LBU,MAL,40,20,,,LB,U,MAL-MAL-40x20.step +MAL40-20LBCM,MAL,40,20,,,LB,CM,MAL-MAL-40x20.step +MAL40-20FA,MAL,40,20,,,FA,,MAL-MAL-40x20.step +MAL40-20FAU,MAL,40,20,,,FA,U,MAL-MAL-40x20.step +MAL40-20FACM,MAL,40,20,,,FA,CM,MAL-MAL-40x20.step +MAL40-20FB,MAL,40,20,,,FB,,MAL-MAL-40x20.step +MAL40-20FBU,MAL,40,20,,,FB,U,MAL-MAL-40x20.step +MAL40-20FBCM,MAL,40,20,,,FB,CM,MAL-MAL-40x20.step +MAL40-20SDB,MAL,40,20,,,SDB,,MAL-MAL-40x20.step +MAL40-20SDBU,MAL,40,20,,,SDB,U,MAL-MAL-40x20.step +MAL40-20SDBCM,MAL,40,20,,,SDB,CM,MAL-MAL-40x20.step +MAL40-20ME,MAL,40,20,M,E,,,MAL-MAL-40x20.step +MAL40-20MEU,MAL,40,20,M,E,,U,MAL-MAL-40x20.step +MAL40-20MECM,MAL,40,20,M,E,,CM,MAL-MAL-40x20.step +MAL40-20MELB,MAL,40,20,M,E,LB,,MAL-MAL-40x20.step +MAL40-20MELBU,MAL,40,20,M,E,LB,U,MAL-MAL-40x20.step +MAL40-20MELBCM,MAL,40,20,M,E,LB,CM,MAL-MAL-40x20.step +MAL40-20MEFA,MAL,40,20,M,E,FA,,MAL-MAL-40x20.step +MAL40-20MEFAU,MAL,40,20,M,E,FA,U,MAL-MAL-40x20.step +MAL40-20MEFACM,MAL,40,20,M,E,FA,CM,MAL-MAL-40x20.step +MAL40-20MEFB,MAL,40,20,M,E,FB,,MAL-MAL-40x20.step +MAL40-20MEFBU,MAL,40,20,M,E,FB,U,MAL-MAL-40x20.step +MAL40-20MEFBCM,MAL,40,20,M,E,FB,CM,MAL-MAL-40x20.step +MAL40-20MESDB,MAL,40,20,M,E,SDB,,MAL-MAL-40x20.step +MAL40-20MESDBU,MAL,40,20,M,E,SDB,U,MAL-MAL-40x20.step +MAL40-20MESDBCM,MAL,40,20,M,E,SDB,CM,MAL-MAL-40x20.step +MAL40-20M,MAL,40,20,M,,,,MAL-MAL-40x20.step +MAL40-20MU,MAL,40,20,M,,,U,MAL-MAL-40x20.step +MAL40-20MCM,MAL,40,20,M,,,CM,MAL-MAL-40x20.step +MAL40-20MLB,MAL,40,20,M,,LB,,MAL-MAL-40x20.step +MAL40-20MLBU,MAL,40,20,M,,LB,U,MAL-MAL-40x20.step +MAL40-20MLBCM,MAL,40,20,M,,LB,CM,MAL-MAL-40x20.step +MAL40-20MFA,MAL,40,20,M,,FA,,MAL-MAL-40x20.step +MAL40-20MFAU,MAL,40,20,M,,FA,U,MAL-MAL-40x20.step +MAL40-20MFACM,MAL,40,20,M,,FA,CM,MAL-MAL-40x20.step +MAL40-20MFB,MAL,40,20,M,,FB,,MAL-MAL-40x20.step +MAL40-20MFBU,MAL,40,20,M,,FB,U,MAL-MAL-40x20.step +MAL40-20MFBCM,MAL,40,20,M,,FB,CM,MAL-MAL-40x20.step +MAL40-20MSDB,MAL,40,20,M,,SDB,,MAL-MAL-40x20.step +MAL40-20MSDBU,MAL,40,20,M,,SDB,U,MAL-MAL-40x20.step +MAL40-20MSDBCM,MAL,40,20,M,,SDB,CM,MAL-MAL-40x20.step +MAL40-30E,MAL,40,30,,E,,,MAL-MAL-40x30.step +MAL40-30EU,MAL,40,30,,E,,U,MAL-MAL-40x30.step +MAL40-30ECM,MAL,40,30,,E,,CM,MAL-MAL-40x30.step +MAL40-30ELB,MAL,40,30,,E,LB,,MAL-MAL-40x30.step +MAL40-30ELBU,MAL,40,30,,E,LB,U,MAL-MAL-40x30.step +MAL40-30ELBCM,MAL,40,30,,E,LB,CM,MAL-MAL-40x30.step +MAL40-30EFA,MAL,40,30,,E,FA,,MAL-MAL-40x30.step +MAL40-30EFAU,MAL,40,30,,E,FA,U,MAL-MAL-40x30.step +MAL40-30EFACM,MAL,40,30,,E,FA,CM,MAL-MAL-40x30.step +MAL40-30EFB,MAL,40,30,,E,FB,,MAL-MAL-40x30.step +MAL40-30EFBU,MAL,40,30,,E,FB,U,MAL-MAL-40x30.step +MAL40-30EFBCM,MAL,40,30,,E,FB,CM,MAL-MAL-40x30.step +MAL40-30ESDB,MAL,40,30,,E,SDB,,MAL-MAL-40x30.step +MAL40-30ESDBU,MAL,40,30,,E,SDB,U,MAL-MAL-40x30.step +MAL40-30ESDBCM,MAL,40,30,,E,SDB,CM,MAL-MAL-40x30.step +MAL40-30,MAL,40,30,,,,,MAL-MAL-40x30.step +MAL40-30U,MAL,40,30,,,,U,MAL-MAL-40x30.step +MAL40-30CM,MAL,40,30,,,,CM,MAL-MAL-40x30.step +MAL40-30LB,MAL,40,30,,,LB,,MAL-MAL-40x30.step +MAL40-30LBU,MAL,40,30,,,LB,U,MAL-MAL-40x30.step +MAL40-30LBCM,MAL,40,30,,,LB,CM,MAL-MAL-40x30.step +MAL40-30FA,MAL,40,30,,,FA,,MAL-MAL-40x30.step +MAL40-30FAU,MAL,40,30,,,FA,U,MAL-MAL-40x30.step +MAL40-30FACM,MAL,40,30,,,FA,CM,MAL-MAL-40x30.step +MAL40-30FB,MAL,40,30,,,FB,,MAL-MAL-40x30.step +MAL40-30FBU,MAL,40,30,,,FB,U,MAL-MAL-40x30.step +MAL40-30FBCM,MAL,40,30,,,FB,CM,MAL-MAL-40x30.step +MAL40-30SDB,MAL,40,30,,,SDB,,MAL-MAL-40x30.step +MAL40-30SDBU,MAL,40,30,,,SDB,U,MAL-MAL-40x30.step +MAL40-30SDBCM,MAL,40,30,,,SDB,CM,MAL-MAL-40x30.step +MAL40-30ME,MAL,40,30,M,E,,,MAL-MAL-40x30.step +MAL40-30MEU,MAL,40,30,M,E,,U,MAL-MAL-40x30.step +MAL40-30MECM,MAL,40,30,M,E,,CM,MAL-MAL-40x30.step +MAL40-30MELB,MAL,40,30,M,E,LB,,MAL-MAL-40x30.step +MAL40-30MELBU,MAL,40,30,M,E,LB,U,MAL-MAL-40x30.step +MAL40-30MELBCM,MAL,40,30,M,E,LB,CM,MAL-MAL-40x30.step +MAL40-30MEFA,MAL,40,30,M,E,FA,,MAL-MAL-40x30.step +MAL40-30MEFAU,MAL,40,30,M,E,FA,U,MAL-MAL-40x30.step +MAL40-30MEFACM,MAL,40,30,M,E,FA,CM,MAL-MAL-40x30.step +MAL40-30MEFB,MAL,40,30,M,E,FB,,MAL-MAL-40x30.step +MAL40-30MEFBU,MAL,40,30,M,E,FB,U,MAL-MAL-40x30.step +MAL40-30MEFBCM,MAL,40,30,M,E,FB,CM,MAL-MAL-40x30.step +MAL40-30MESDB,MAL,40,30,M,E,SDB,,MAL-MAL-40x30.step +MAL40-30MESDBU,MAL,40,30,M,E,SDB,U,MAL-MAL-40x30.step +MAL40-30MESDBCM,MAL,40,30,M,E,SDB,CM,MAL-MAL-40x30.step +MAL40-30M,MAL,40,30,M,,,,MAL-MAL-40x30.step +MAL40-30MU,MAL,40,30,M,,,U,MAL-MAL-40x30.step +MAL40-30MCM,MAL,40,30,M,,,CM,MAL-MAL-40x30.step +MAL40-30MLB,MAL,40,30,M,,LB,,MAL-MAL-40x30.step +MAL40-30MLBU,MAL,40,30,M,,LB,U,MAL-MAL-40x30.step +MAL40-30MLBCM,MAL,40,30,M,,LB,CM,MAL-MAL-40x30.step +MAL40-30MFA,MAL,40,30,M,,FA,,MAL-MAL-40x30.step +MAL40-30MFAU,MAL,40,30,M,,FA,U,MAL-MAL-40x30.step +MAL40-30MFACM,MAL,40,30,M,,FA,CM,MAL-MAL-40x30.step +MAL40-30MFB,MAL,40,30,M,,FB,,MAL-MAL-40x30.step +MAL40-30MFBU,MAL,40,30,M,,FB,U,MAL-MAL-40x30.step +MAL40-30MFBCM,MAL,40,30,M,,FB,CM,MAL-MAL-40x30.step +MAL40-30MSDB,MAL,40,30,M,,SDB,,MAL-MAL-40x30.step +MAL40-30MSDBU,MAL,40,30,M,,SDB,U,MAL-MAL-40x30.step +MAL40-30MSDBCM,MAL,40,30,M,,SDB,CM,MAL-MAL-40x30.step +MAL40-50E,MAL,40,50,,E,,,MAL-MAL-40x50.step +MAL40-50EU,MAL,40,50,,E,,U,MAL-MAL-40x50.step +MAL40-50ECM,MAL,40,50,,E,,CM,MAL-MAL-40x50.step +MAL40-50ELB,MAL,40,50,,E,LB,,MAL-MAL-40x50.step +MAL40-50ELBU,MAL,40,50,,E,LB,U,MAL-MAL-40x50.step +MAL40-50ELBCM,MAL,40,50,,E,LB,CM,MAL-MAL-40x50.step +MAL40-50EFA,MAL,40,50,,E,FA,,MAL-MAL-40x50.step +MAL40-50EFAU,MAL,40,50,,E,FA,U,MAL-MAL-40x50.step +MAL40-50EFACM,MAL,40,50,,E,FA,CM,MAL-MAL-40x50.step +MAL40-50EFB,MAL,40,50,,E,FB,,MAL-MAL-40x50.step +MAL40-50EFBU,MAL,40,50,,E,FB,U,MAL-MAL-40x50.step +MAL40-50EFBCM,MAL,40,50,,E,FB,CM,MAL-MAL-40x50.step +MAL40-50ESDB,MAL,40,50,,E,SDB,,MAL-MAL-40x50.step +MAL40-50ESDBU,MAL,40,50,,E,SDB,U,MAL-MAL-40x50.step +MAL40-50ESDBCM,MAL,40,50,,E,SDB,CM,MAL-MAL-40x50.step +MAL40-50,MAL,40,50,,,,,MAL-MAL-40x50.step +MAL40-50U,MAL,40,50,,,,U,MAL-MAL-40x50.step +MAL40-50CM,MAL,40,50,,,,CM,MAL-MAL-40x50.step +MAL40-50LB,MAL,40,50,,,LB,,MAL-MAL-40x50.step +MAL40-50LBU,MAL,40,50,,,LB,U,MAL-MAL-40x50.step +MAL40-50LBCM,MAL,40,50,,,LB,CM,MAL-MAL-40x50.step +MAL40-50FA,MAL,40,50,,,FA,,MAL-MAL-40x50.step +MAL40-50FAU,MAL,40,50,,,FA,U,MAL-MAL-40x50.step +MAL40-50FACM,MAL,40,50,,,FA,CM,MAL-MAL-40x50.step +MAL40-50FB,MAL,40,50,,,FB,,MAL-MAL-40x50.step +MAL40-50FBU,MAL,40,50,,,FB,U,MAL-MAL-40x50.step +MAL40-50FBCM,MAL,40,50,,,FB,CM,MAL-MAL-40x50.step +MAL40-50SDB,MAL,40,50,,,SDB,,MAL-MAL-40x50.step +MAL40-50SDBU,MAL,40,50,,,SDB,U,MAL-MAL-40x50.step +MAL40-50SDBCM,MAL,40,50,,,SDB,CM,MAL-MAL-40x50.step +MAL40-50ME,MAL,40,50,M,E,,,MAL-MAL-40x50.step +MAL40-50MEU,MAL,40,50,M,E,,U,MAL-MAL-40x50.step +MAL40-50MECM,MAL,40,50,M,E,,CM,MAL-MAL-40x50.step +MAL40-50MELB,MAL,40,50,M,E,LB,,MAL-MAL-40x50.step +MAL40-50MELBU,MAL,40,50,M,E,LB,U,MAL-MAL-40x50.step +MAL40-50MELBCM,MAL,40,50,M,E,LB,CM,MAL-MAL-40x50.step +MAL40-50MEFA,MAL,40,50,M,E,FA,,MAL-MAL-40x50.step +MAL40-50MEFAU,MAL,40,50,M,E,FA,U,MAL-MAL-40x50.step +MAL40-50MEFACM,MAL,40,50,M,E,FA,CM,MAL-MAL-40x50.step +MAL40-50MEFB,MAL,40,50,M,E,FB,,MAL-MAL-40x50.step +MAL40-50MEFBU,MAL,40,50,M,E,FB,U,MAL-MAL-40x50.step +MAL40-50MEFBCM,MAL,40,50,M,E,FB,CM,MAL-MAL-40x50.step +MAL40-50MESDB,MAL,40,50,M,E,SDB,,MAL-MAL-40x50.step +MAL40-50MESDBU,MAL,40,50,M,E,SDB,U,MAL-MAL-40x50.step +MAL40-50MESDBCM,MAL,40,50,M,E,SDB,CM,MAL-MAL-40x50.step +MAL40-50M,MAL,40,50,M,,,,MAL-MAL-40x50.step +MAL40-50MU,MAL,40,50,M,,,U,MAL-MAL-40x50.step +MAL40-50MCM,MAL,40,50,M,,,CM,MAL-MAL-40x50.step +MAL40-50MLB,MAL,40,50,M,,LB,,MAL-MAL-40x50.step +MAL40-50MLBU,MAL,40,50,M,,LB,U,MAL-MAL-40x50.step +MAL40-50MLBCM,MAL,40,50,M,,LB,CM,MAL-MAL-40x50.step +MAL40-50MFA,MAL,40,50,M,,FA,,MAL-MAL-40x50.step +MAL40-50MFAU,MAL,40,50,M,,FA,U,MAL-MAL-40x50.step +MAL40-50MFACM,MAL,40,50,M,,FA,CM,MAL-MAL-40x50.step +MAL40-50MFB,MAL,40,50,M,,FB,,MAL-MAL-40x50.step +MAL40-50MFBU,MAL,40,50,M,,FB,U,MAL-MAL-40x50.step +MAL40-50MFBCM,MAL,40,50,M,,FB,CM,MAL-MAL-40x50.step +MAL40-50MSDB,MAL,40,50,M,,SDB,,MAL-MAL-40x50.step +MAL40-50MSDBU,MAL,40,50,M,,SDB,U,MAL-MAL-40x50.step +MAL40-50MSDBCM,MAL,40,50,M,,SDB,CM,MAL-MAL-40x50.step +MAL40-75E,MAL,40,75,,E,,,MAL-MAL-40x75.step +MAL40-75EU,MAL,40,75,,E,,U,MAL-MAL-40x75.step +MAL40-75ECM,MAL,40,75,,E,,CM,MAL-MAL-40x75.step +MAL40-75ELB,MAL,40,75,,E,LB,,MAL-MAL-40x75.step +MAL40-75ELBU,MAL,40,75,,E,LB,U,MAL-MAL-40x75.step +MAL40-75ELBCM,MAL,40,75,,E,LB,CM,MAL-MAL-40x75.step +MAL40-75EFA,MAL,40,75,,E,FA,,MAL-MAL-40x75.step +MAL40-75EFAU,MAL,40,75,,E,FA,U,MAL-MAL-40x75.step +MAL40-75EFACM,MAL,40,75,,E,FA,CM,MAL-MAL-40x75.step +MAL40-75EFB,MAL,40,75,,E,FB,,MAL-MAL-40x75.step +MAL40-75EFBU,MAL,40,75,,E,FB,U,MAL-MAL-40x75.step +MAL40-75EFBCM,MAL,40,75,,E,FB,CM,MAL-MAL-40x75.step +MAL40-75ESDB,MAL,40,75,,E,SDB,,MAL-MAL-40x75.step +MAL40-75ESDBU,MAL,40,75,,E,SDB,U,MAL-MAL-40x75.step +MAL40-75ESDBCM,MAL,40,75,,E,SDB,CM,MAL-MAL-40x75.step +MAL40-75,MAL,40,75,,,,,MAL-MAL-40x75.step +MAL40-75U,MAL,40,75,,,,U,MAL-MAL-40x75.step +MAL40-75CM,MAL,40,75,,,,CM,MAL-MAL-40x75.step +MAL40-75LB,MAL,40,75,,,LB,,MAL-MAL-40x75.step +MAL40-75LBU,MAL,40,75,,,LB,U,MAL-MAL-40x75.step +MAL40-75LBCM,MAL,40,75,,,LB,CM,MAL-MAL-40x75.step +MAL40-75FA,MAL,40,75,,,FA,,MAL-MAL-40x75.step +MAL40-75FAU,MAL,40,75,,,FA,U,MAL-MAL-40x75.step +MAL40-75FACM,MAL,40,75,,,FA,CM,MAL-MAL-40x75.step +MAL40-75FB,MAL,40,75,,,FB,,MAL-MAL-40x75.step +MAL40-75FBU,MAL,40,75,,,FB,U,MAL-MAL-40x75.step +MAL40-75FBCM,MAL,40,75,,,FB,CM,MAL-MAL-40x75.step +MAL40-75SDB,MAL,40,75,,,SDB,,MAL-MAL-40x75.step +MAL40-75SDBU,MAL,40,75,,,SDB,U,MAL-MAL-40x75.step +MAL40-75SDBCM,MAL,40,75,,,SDB,CM,MAL-MAL-40x75.step +MAL40-75ME,MAL,40,75,M,E,,,MAL-MAL-40x75.step +MAL40-75MEU,MAL,40,75,M,E,,U,MAL-MAL-40x75.step +MAL40-75MECM,MAL,40,75,M,E,,CM,MAL-MAL-40x75.step +MAL40-75MELB,MAL,40,75,M,E,LB,,MAL-MAL-40x75.step +MAL40-75MELBU,MAL,40,75,M,E,LB,U,MAL-MAL-40x75.step +MAL40-75MELBCM,MAL,40,75,M,E,LB,CM,MAL-MAL-40x75.step +MAL40-75MEFA,MAL,40,75,M,E,FA,,MAL-MAL-40x75.step +MAL40-75MEFAU,MAL,40,75,M,E,FA,U,MAL-MAL-40x75.step +MAL40-75MEFACM,MAL,40,75,M,E,FA,CM,MAL-MAL-40x75.step +MAL40-75MEFB,MAL,40,75,M,E,FB,,MAL-MAL-40x75.step +MAL40-75MEFBU,MAL,40,75,M,E,FB,U,MAL-MAL-40x75.step +MAL40-75MEFBCM,MAL,40,75,M,E,FB,CM,MAL-MAL-40x75.step +MAL40-75MESDB,MAL,40,75,M,E,SDB,,MAL-MAL-40x75.step +MAL40-75MESDBU,MAL,40,75,M,E,SDB,U,MAL-MAL-40x75.step +MAL40-75MESDBCM,MAL,40,75,M,E,SDB,CM,MAL-MAL-40x75.step +MAL40-75M,MAL,40,75,M,,,,MAL-MAL-40x75.step +MAL40-75MU,MAL,40,75,M,,,U,MAL-MAL-40x75.step +MAL40-75MCM,MAL,40,75,M,,,CM,MAL-MAL-40x75.step +MAL40-75MLB,MAL,40,75,M,,LB,,MAL-MAL-40x75.step +MAL40-75MLBU,MAL,40,75,M,,LB,U,MAL-MAL-40x75.step +MAL40-75MLBCM,MAL,40,75,M,,LB,CM,MAL-MAL-40x75.step +MAL40-75MFA,MAL,40,75,M,,FA,,MAL-MAL-40x75.step +MAL40-75MFAU,MAL,40,75,M,,FA,U,MAL-MAL-40x75.step +MAL40-75MFACM,MAL,40,75,M,,FA,CM,MAL-MAL-40x75.step +MAL40-75MFB,MAL,40,75,M,,FB,,MAL-MAL-40x75.step +MAL40-75MFBU,MAL,40,75,M,,FB,U,MAL-MAL-40x75.step +MAL40-75MFBCM,MAL,40,75,M,,FB,CM,MAL-MAL-40x75.step +MAL40-75MSDB,MAL,40,75,M,,SDB,,MAL-MAL-40x75.step +MAL40-75MSDBU,MAL,40,75,M,,SDB,U,MAL-MAL-40x75.step +MAL40-75MSDBCM,MAL,40,75,M,,SDB,CM,MAL-MAL-40x75.step +MAL40-100E,MAL,40,100,,E,,,MAL-MAL-40x100.step +MAL40-100EU,MAL,40,100,,E,,U,MAL-MAL-40x100.step +MAL40-100ECM,MAL,40,100,,E,,CM,MAL-MAL-40x100.step +MAL40-100ELB,MAL,40,100,,E,LB,,MAL-MAL-40x100.step +MAL40-100ELBU,MAL,40,100,,E,LB,U,MAL-MAL-40x100.step +MAL40-100ELBCM,MAL,40,100,,E,LB,CM,MAL-MAL-40x100.step +MAL40-100EFA,MAL,40,100,,E,FA,,MAL-MAL-40x100.step +MAL40-100EFAU,MAL,40,100,,E,FA,U,MAL-MAL-40x100.step +MAL40-100EFACM,MAL,40,100,,E,FA,CM,MAL-MAL-40x100.step +MAL40-100EFB,MAL,40,100,,E,FB,,MAL-MAL-40x100.step +MAL40-100EFBU,MAL,40,100,,E,FB,U,MAL-MAL-40x100.step +MAL40-100EFBCM,MAL,40,100,,E,FB,CM,MAL-MAL-40x100.step +MAL40-100ESDB,MAL,40,100,,E,SDB,,MAL-MAL-40x100.step +MAL40-100ESDBU,MAL,40,100,,E,SDB,U,MAL-MAL-40x100.step +MAL40-100ESDBCM,MAL,40,100,,E,SDB,CM,MAL-MAL-40x100.step +MAL40-100,MAL,40,100,,,,,MAL-MAL-40x100.step +MAL40-100U,MAL,40,100,,,,U,MAL-MAL-40x100.step +MAL40-100CM,MAL,40,100,,,,CM,MAL-MAL-40x100.step +MAL40-100LB,MAL,40,100,,,LB,,MAL-MAL-40x100.step +MAL40-100LBU,MAL,40,100,,,LB,U,MAL-MAL-40x100.step +MAL40-100LBCM,MAL,40,100,,,LB,CM,MAL-MAL-40x100.step +MAL40-100FA,MAL,40,100,,,FA,,MAL-MAL-40x100.step +MAL40-100FAU,MAL,40,100,,,FA,U,MAL-MAL-40x100.step +MAL40-100FACM,MAL,40,100,,,FA,CM,MAL-MAL-40x100.step +MAL40-100FB,MAL,40,100,,,FB,,MAL-MAL-40x100.step +MAL40-100FBU,MAL,40,100,,,FB,U,MAL-MAL-40x100.step +MAL40-100FBCM,MAL,40,100,,,FB,CM,MAL-MAL-40x100.step +MAL40-100SDB,MAL,40,100,,,SDB,,MAL-MAL-40x100.step +MAL40-100SDBU,MAL,40,100,,,SDB,U,MAL-MAL-40x100.step +MAL40-100SDBCM,MAL,40,100,,,SDB,CM,MAL-MAL-40x100.step +MAL40-100ME,MAL,40,100,M,E,,,MAL-MAL-40x100.step +MAL40-100MEU,MAL,40,100,M,E,,U,MAL-MAL-40x100.step +MAL40-100MECM,MAL,40,100,M,E,,CM,MAL-MAL-40x100.step +MAL40-100MELB,MAL,40,100,M,E,LB,,MAL-MAL-40x100.step +MAL40-100MELBU,MAL,40,100,M,E,LB,U,MAL-MAL-40x100.step +MAL40-100MELBCM,MAL,40,100,M,E,LB,CM,MAL-MAL-40x100.step +MAL40-100MEFA,MAL,40,100,M,E,FA,,MAL-MAL-40x100.step +MAL40-100MEFAU,MAL,40,100,M,E,FA,U,MAL-MAL-40x100.step +MAL40-100MEFACM,MAL,40,100,M,E,FA,CM,MAL-MAL-40x100.step +MAL40-100MEFB,MAL,40,100,M,E,FB,,MAL-MAL-40x100.step +MAL40-100MEFBU,MAL,40,100,M,E,FB,U,MAL-MAL-40x100.step +MAL40-100MEFBCM,MAL,40,100,M,E,FB,CM,MAL-MAL-40x100.step +MAL40-100MESDB,MAL,40,100,M,E,SDB,,MAL-MAL-40x100.step +MAL40-100MESDBU,MAL,40,100,M,E,SDB,U,MAL-MAL-40x100.step +MAL40-100MESDBCM,MAL,40,100,M,E,SDB,CM,MAL-MAL-40x100.step +MAL40-100M,MAL,40,100,M,,,,MAL-MAL-40x100.step +MAL40-100MU,MAL,40,100,M,,,U,MAL-MAL-40x100.step +MAL40-100MCM,MAL,40,100,M,,,CM,MAL-MAL-40x100.step +MAL40-100MLB,MAL,40,100,M,,LB,,MAL-MAL-40x100.step +MAL40-100MLBU,MAL,40,100,M,,LB,U,MAL-MAL-40x100.step +MAL40-100MLBCM,MAL,40,100,M,,LB,CM,MAL-MAL-40x100.step +MAL40-100MFA,MAL,40,100,M,,FA,,MAL-MAL-40x100.step +MAL40-100MFAU,MAL,40,100,M,,FA,U,MAL-MAL-40x100.step +MAL40-100MFACM,MAL,40,100,M,,FA,CM,MAL-MAL-40x100.step +MAL40-100MFB,MAL,40,100,M,,FB,,MAL-MAL-40x100.step +MAL40-100MFBU,MAL,40,100,M,,FB,U,MAL-MAL-40x100.step +MAL40-100MFBCM,MAL,40,100,M,,FB,CM,MAL-MAL-40x100.step +MAL40-100MSDB,MAL,40,100,M,,SDB,,MAL-MAL-40x100.step +MAL40-100MSDBU,MAL,40,100,M,,SDB,U,MAL-MAL-40x100.step +MAL40-100MSDBCM,MAL,40,100,M,,SDB,CM,MAL-MAL-40x100.step +MSAL16-10E,MSAL,16,10,,E,,,MAL-MSAL-16x10.step +MSAL16-10EU,MSAL,16,10,,E,,U,MAL-MSAL-16x10.step +MSAL16-10ECM,MSAL,16,10,,E,,CM,MAL-MSAL-16x10.step +MSAL16-10ELB,MSAL,16,10,,E,LB,,MAL-MSAL-16x10.step +MSAL16-10ELBU,MSAL,16,10,,E,LB,U,MAL-MSAL-16x10.step +MSAL16-10ELBCM,MSAL,16,10,,E,LB,CM,MAL-MSAL-16x10.step +MSAL16-10EFA,MSAL,16,10,,E,FA,,MAL-MSAL-16x10.step +MSAL16-10EFAU,MSAL,16,10,,E,FA,U,MAL-MSAL-16x10.step +MSAL16-10EFACM,MSAL,16,10,,E,FA,CM,MAL-MSAL-16x10.step +MSAL16-10EFB,MSAL,16,10,,E,FB,,MAL-MSAL-16x10.step +MSAL16-10EFBU,MSAL,16,10,,E,FB,U,MAL-MSAL-16x10.step +MSAL16-10EFBCM,MSAL,16,10,,E,FB,CM,MAL-MSAL-16x10.step +MSAL16-10ESDB,MSAL,16,10,,E,SDB,,MAL-MSAL-16x10.step +MSAL16-10ESDBU,MSAL,16,10,,E,SDB,U,MAL-MSAL-16x10.step +MSAL16-10ESDBCM,MSAL,16,10,,E,SDB,CM,MAL-MSAL-16x10.step +MSAL16-10,MSAL,16,10,,,,,MAL-MSAL-16x10.step +MSAL16-10U,MSAL,16,10,,,,U,MAL-MSAL-16x10.step +MSAL16-10CM,MSAL,16,10,,,,CM,MAL-MSAL-16x10.step +MSAL16-10LB,MSAL,16,10,,,LB,,MAL-MSAL-16x10.step +MSAL16-10LBU,MSAL,16,10,,,LB,U,MAL-MSAL-16x10.step +MSAL16-10LBCM,MSAL,16,10,,,LB,CM,MAL-MSAL-16x10.step +MSAL16-10FA,MSAL,16,10,,,FA,,MAL-MSAL-16x10.step +MSAL16-10FAU,MSAL,16,10,,,FA,U,MAL-MSAL-16x10.step +MSAL16-10FACM,MSAL,16,10,,,FA,CM,MAL-MSAL-16x10.step +MSAL16-10FB,MSAL,16,10,,,FB,,MAL-MSAL-16x10.step +MSAL16-10FBU,MSAL,16,10,,,FB,U,MAL-MSAL-16x10.step +MSAL16-10FBCM,MSAL,16,10,,,FB,CM,MAL-MSAL-16x10.step +MSAL16-10SDB,MSAL,16,10,,,SDB,,MAL-MSAL-16x10.step +MSAL16-10SDBU,MSAL,16,10,,,SDB,U,MAL-MSAL-16x10.step +MSAL16-10SDBCM,MSAL,16,10,,,SDB,CM,MAL-MSAL-16x10.step +MSAL16-10ME,MSAL,16,10,M,E,,,MAL-MSAL-16x10.step +MSAL16-10MEU,MSAL,16,10,M,E,,U,MAL-MSAL-16x10.step +MSAL16-10MECM,MSAL,16,10,M,E,,CM,MAL-MSAL-16x10.step +MSAL16-10MELB,MSAL,16,10,M,E,LB,,MAL-MSAL-16x10.step +MSAL16-10MELBU,MSAL,16,10,M,E,LB,U,MAL-MSAL-16x10.step +MSAL16-10MELBCM,MSAL,16,10,M,E,LB,CM,MAL-MSAL-16x10.step +MSAL16-10MEFA,MSAL,16,10,M,E,FA,,MAL-MSAL-16x10.step +MSAL16-10MEFAU,MSAL,16,10,M,E,FA,U,MAL-MSAL-16x10.step +MSAL16-10MEFACM,MSAL,16,10,M,E,FA,CM,MAL-MSAL-16x10.step +MSAL16-10MEFB,MSAL,16,10,M,E,FB,,MAL-MSAL-16x10.step +MSAL16-10MEFBU,MSAL,16,10,M,E,FB,U,MAL-MSAL-16x10.step +MSAL16-10MEFBCM,MSAL,16,10,M,E,FB,CM,MAL-MSAL-16x10.step +MSAL16-10MESDB,MSAL,16,10,M,E,SDB,,MAL-MSAL-16x10.step +MSAL16-10MESDBU,MSAL,16,10,M,E,SDB,U,MAL-MSAL-16x10.step +MSAL16-10MESDBCM,MSAL,16,10,M,E,SDB,CM,MAL-MSAL-16x10.step +MSAL16-10M,MSAL,16,10,M,,,,MAL-MSAL-16x10.step +MSAL16-10MU,MSAL,16,10,M,,,U,MAL-MSAL-16x10.step +MSAL16-10MCM,MSAL,16,10,M,,,CM,MAL-MSAL-16x10.step +MSAL16-10MLB,MSAL,16,10,M,,LB,,MAL-MSAL-16x10.step +MSAL16-10MLBU,MSAL,16,10,M,,LB,U,MAL-MSAL-16x10.step +MSAL16-10MLBCM,MSAL,16,10,M,,LB,CM,MAL-MSAL-16x10.step +MSAL16-10MFA,MSAL,16,10,M,,FA,,MAL-MSAL-16x10.step +MSAL16-10MFAU,MSAL,16,10,M,,FA,U,MAL-MSAL-16x10.step +MSAL16-10MFACM,MSAL,16,10,M,,FA,CM,MAL-MSAL-16x10.step +MSAL16-10MFB,MSAL,16,10,M,,FB,,MAL-MSAL-16x10.step +MSAL16-10MFBU,MSAL,16,10,M,,FB,U,MAL-MSAL-16x10.step +MSAL16-10MFBCM,MSAL,16,10,M,,FB,CM,MAL-MSAL-16x10.step +MSAL16-10MSDB,MSAL,16,10,M,,SDB,,MAL-MSAL-16x10.step +MSAL16-10MSDBU,MSAL,16,10,M,,SDB,U,MAL-MSAL-16x10.step +MSAL16-10MSDBCM,MSAL,16,10,M,,SDB,CM,MAL-MSAL-16x10.step +MSAL16-20E,MSAL,16,20,,E,,,MAL-MSAL-16x20.step +MSAL16-20EU,MSAL,16,20,,E,,U,MAL-MSAL-16x20.step +MSAL16-20ECM,MSAL,16,20,,E,,CM,MAL-MSAL-16x20.step +MSAL16-20ELB,MSAL,16,20,,E,LB,,MAL-MSAL-16x20.step +MSAL16-20ELBU,MSAL,16,20,,E,LB,U,MAL-MSAL-16x20.step +MSAL16-20ELBCM,MSAL,16,20,,E,LB,CM,MAL-MSAL-16x20.step +MSAL16-20EFA,MSAL,16,20,,E,FA,,MAL-MSAL-16x20.step +MSAL16-20EFAU,MSAL,16,20,,E,FA,U,MAL-MSAL-16x20.step +MSAL16-20EFACM,MSAL,16,20,,E,FA,CM,MAL-MSAL-16x20.step +MSAL16-20EFB,MSAL,16,20,,E,FB,,MAL-MSAL-16x20.step +MSAL16-20EFBU,MSAL,16,20,,E,FB,U,MAL-MSAL-16x20.step +MSAL16-20EFBCM,MSAL,16,20,,E,FB,CM,MAL-MSAL-16x20.step +MSAL16-20ESDB,MSAL,16,20,,E,SDB,,MAL-MSAL-16x20.step +MSAL16-20ESDBU,MSAL,16,20,,E,SDB,U,MAL-MSAL-16x20.step +MSAL16-20ESDBCM,MSAL,16,20,,E,SDB,CM,MAL-MSAL-16x20.step +MSAL16-20,MSAL,16,20,,,,,MAL-MSAL-16x20.step +MSAL16-20U,MSAL,16,20,,,,U,MAL-MSAL-16x20.step +MSAL16-20CM,MSAL,16,20,,,,CM,MAL-MSAL-16x20.step +MSAL16-20LB,MSAL,16,20,,,LB,,MAL-MSAL-16x20.step +MSAL16-20LBU,MSAL,16,20,,,LB,U,MAL-MSAL-16x20.step +MSAL16-20LBCM,MSAL,16,20,,,LB,CM,MAL-MSAL-16x20.step +MSAL16-20FA,MSAL,16,20,,,FA,,MAL-MSAL-16x20.step +MSAL16-20FAU,MSAL,16,20,,,FA,U,MAL-MSAL-16x20.step +MSAL16-20FACM,MSAL,16,20,,,FA,CM,MAL-MSAL-16x20.step +MSAL16-20FB,MSAL,16,20,,,FB,,MAL-MSAL-16x20.step +MSAL16-20FBU,MSAL,16,20,,,FB,U,MAL-MSAL-16x20.step +MSAL16-20FBCM,MSAL,16,20,,,FB,CM,MAL-MSAL-16x20.step +MSAL16-20SDB,MSAL,16,20,,,SDB,,MAL-MSAL-16x20.step +MSAL16-20SDBU,MSAL,16,20,,,SDB,U,MAL-MSAL-16x20.step +MSAL16-20SDBCM,MSAL,16,20,,,SDB,CM,MAL-MSAL-16x20.step +MSAL16-20ME,MSAL,16,20,M,E,,,MAL-MSAL-16x20.step +MSAL16-20MEU,MSAL,16,20,M,E,,U,MAL-MSAL-16x20.step +MSAL16-20MECM,MSAL,16,20,M,E,,CM,MAL-MSAL-16x20.step +MSAL16-20MELB,MSAL,16,20,M,E,LB,,MAL-MSAL-16x20.step +MSAL16-20MELBU,MSAL,16,20,M,E,LB,U,MAL-MSAL-16x20.step +MSAL16-20MELBCM,MSAL,16,20,M,E,LB,CM,MAL-MSAL-16x20.step +MSAL16-20MEFA,MSAL,16,20,M,E,FA,,MAL-MSAL-16x20.step +MSAL16-20MEFAU,MSAL,16,20,M,E,FA,U,MAL-MSAL-16x20.step +MSAL16-20MEFACM,MSAL,16,20,M,E,FA,CM,MAL-MSAL-16x20.step +MSAL16-20MEFB,MSAL,16,20,M,E,FB,,MAL-MSAL-16x20.step +MSAL16-20MEFBU,MSAL,16,20,M,E,FB,U,MAL-MSAL-16x20.step +MSAL16-20MEFBCM,MSAL,16,20,M,E,FB,CM,MAL-MSAL-16x20.step +MSAL16-20MESDB,MSAL,16,20,M,E,SDB,,MAL-MSAL-16x20.step +MSAL16-20MESDBU,MSAL,16,20,M,E,SDB,U,MAL-MSAL-16x20.step +MSAL16-20MESDBCM,MSAL,16,20,M,E,SDB,CM,MAL-MSAL-16x20.step +MSAL16-20M,MSAL,16,20,M,,,,MAL-MSAL-16x20.step +MSAL16-20MU,MSAL,16,20,M,,,U,MAL-MSAL-16x20.step +MSAL16-20MCM,MSAL,16,20,M,,,CM,MAL-MSAL-16x20.step +MSAL16-20MLB,MSAL,16,20,M,,LB,,MAL-MSAL-16x20.step +MSAL16-20MLBU,MSAL,16,20,M,,LB,U,MAL-MSAL-16x20.step +MSAL16-20MLBCM,MSAL,16,20,M,,LB,CM,MAL-MSAL-16x20.step +MSAL16-20MFA,MSAL,16,20,M,,FA,,MAL-MSAL-16x20.step +MSAL16-20MFAU,MSAL,16,20,M,,FA,U,MAL-MSAL-16x20.step +MSAL16-20MFACM,MSAL,16,20,M,,FA,CM,MAL-MSAL-16x20.step +MSAL16-20MFB,MSAL,16,20,M,,FB,,MAL-MSAL-16x20.step +MSAL16-20MFBU,MSAL,16,20,M,,FB,U,MAL-MSAL-16x20.step +MSAL16-20MFBCM,MSAL,16,20,M,,FB,CM,MAL-MSAL-16x20.step +MSAL16-20MSDB,MSAL,16,20,M,,SDB,,MAL-MSAL-16x20.step +MSAL16-20MSDBU,MSAL,16,20,M,,SDB,U,MAL-MSAL-16x20.step +MSAL16-20MSDBCM,MSAL,16,20,M,,SDB,CM,MAL-MSAL-16x20.step +MSAL16-30E,MSAL,16,30,,E,,,MAL-MSAL-16x30.step +MSAL16-30EU,MSAL,16,30,,E,,U,MAL-MSAL-16x30.step +MSAL16-30ECM,MSAL,16,30,,E,,CM,MAL-MSAL-16x30.step +MSAL16-30ELB,MSAL,16,30,,E,LB,,MAL-MSAL-16x30.step +MSAL16-30ELBU,MSAL,16,30,,E,LB,U,MAL-MSAL-16x30.step +MSAL16-30ELBCM,MSAL,16,30,,E,LB,CM,MAL-MSAL-16x30.step +MSAL16-30EFA,MSAL,16,30,,E,FA,,MAL-MSAL-16x30.step +MSAL16-30EFAU,MSAL,16,30,,E,FA,U,MAL-MSAL-16x30.step +MSAL16-30EFACM,MSAL,16,30,,E,FA,CM,MAL-MSAL-16x30.step +MSAL16-30EFB,MSAL,16,30,,E,FB,,MAL-MSAL-16x30.step +MSAL16-30EFBU,MSAL,16,30,,E,FB,U,MAL-MSAL-16x30.step +MSAL16-30EFBCM,MSAL,16,30,,E,FB,CM,MAL-MSAL-16x30.step +MSAL16-30ESDB,MSAL,16,30,,E,SDB,,MAL-MSAL-16x30.step +MSAL16-30ESDBU,MSAL,16,30,,E,SDB,U,MAL-MSAL-16x30.step +MSAL16-30ESDBCM,MSAL,16,30,,E,SDB,CM,MAL-MSAL-16x30.step +MSAL16-30,MSAL,16,30,,,,,MAL-MSAL-16x30.step +MSAL16-30U,MSAL,16,30,,,,U,MAL-MSAL-16x30.step +MSAL16-30CM,MSAL,16,30,,,,CM,MAL-MSAL-16x30.step +MSAL16-30LB,MSAL,16,30,,,LB,,MAL-MSAL-16x30.step +MSAL16-30LBU,MSAL,16,30,,,LB,U,MAL-MSAL-16x30.step +MSAL16-30LBCM,MSAL,16,30,,,LB,CM,MAL-MSAL-16x30.step +MSAL16-30FA,MSAL,16,30,,,FA,,MAL-MSAL-16x30.step +MSAL16-30FAU,MSAL,16,30,,,FA,U,MAL-MSAL-16x30.step +MSAL16-30FACM,MSAL,16,30,,,FA,CM,MAL-MSAL-16x30.step +MSAL16-30FB,MSAL,16,30,,,FB,,MAL-MSAL-16x30.step +MSAL16-30FBU,MSAL,16,30,,,FB,U,MAL-MSAL-16x30.step +MSAL16-30FBCM,MSAL,16,30,,,FB,CM,MAL-MSAL-16x30.step +MSAL16-30SDB,MSAL,16,30,,,SDB,,MAL-MSAL-16x30.step +MSAL16-30SDBU,MSAL,16,30,,,SDB,U,MAL-MSAL-16x30.step +MSAL16-30SDBCM,MSAL,16,30,,,SDB,CM,MAL-MSAL-16x30.step +MSAL16-30ME,MSAL,16,30,M,E,,,MAL-MSAL-16x30.step +MSAL16-30MEU,MSAL,16,30,M,E,,U,MAL-MSAL-16x30.step +MSAL16-30MECM,MSAL,16,30,M,E,,CM,MAL-MSAL-16x30.step +MSAL16-30MELB,MSAL,16,30,M,E,LB,,MAL-MSAL-16x30.step +MSAL16-30MELBU,MSAL,16,30,M,E,LB,U,MAL-MSAL-16x30.step +MSAL16-30MELBCM,MSAL,16,30,M,E,LB,CM,MAL-MSAL-16x30.step +MSAL16-30MEFA,MSAL,16,30,M,E,FA,,MAL-MSAL-16x30.step +MSAL16-30MEFAU,MSAL,16,30,M,E,FA,U,MAL-MSAL-16x30.step +MSAL16-30MEFACM,MSAL,16,30,M,E,FA,CM,MAL-MSAL-16x30.step +MSAL16-30MEFB,MSAL,16,30,M,E,FB,,MAL-MSAL-16x30.step +MSAL16-30MEFBU,MSAL,16,30,M,E,FB,U,MAL-MSAL-16x30.step +MSAL16-30MEFBCM,MSAL,16,30,M,E,FB,CM,MAL-MSAL-16x30.step +MSAL16-30MESDB,MSAL,16,30,M,E,SDB,,MAL-MSAL-16x30.step +MSAL16-30MESDBU,MSAL,16,30,M,E,SDB,U,MAL-MSAL-16x30.step +MSAL16-30MESDBCM,MSAL,16,30,M,E,SDB,CM,MAL-MSAL-16x30.step +MSAL16-30M,MSAL,16,30,M,,,,MAL-MSAL-16x30.step +MSAL16-30MU,MSAL,16,30,M,,,U,MAL-MSAL-16x30.step +MSAL16-30MCM,MSAL,16,30,M,,,CM,MAL-MSAL-16x30.step +MSAL16-30MLB,MSAL,16,30,M,,LB,,MAL-MSAL-16x30.step +MSAL16-30MLBU,MSAL,16,30,M,,LB,U,MAL-MSAL-16x30.step +MSAL16-30MLBCM,MSAL,16,30,M,,LB,CM,MAL-MSAL-16x30.step +MSAL16-30MFA,MSAL,16,30,M,,FA,,MAL-MSAL-16x30.step +MSAL16-30MFAU,MSAL,16,30,M,,FA,U,MAL-MSAL-16x30.step +MSAL16-30MFACM,MSAL,16,30,M,,FA,CM,MAL-MSAL-16x30.step +MSAL16-30MFB,MSAL,16,30,M,,FB,,MAL-MSAL-16x30.step +MSAL16-30MFBU,MSAL,16,30,M,,FB,U,MAL-MSAL-16x30.step +MSAL16-30MFBCM,MSAL,16,30,M,,FB,CM,MAL-MSAL-16x30.step +MSAL16-30MSDB,MSAL,16,30,M,,SDB,,MAL-MSAL-16x30.step +MSAL16-30MSDBU,MSAL,16,30,M,,SDB,U,MAL-MSAL-16x30.step +MSAL16-30MSDBCM,MSAL,16,30,M,,SDB,CM,MAL-MSAL-16x30.step +MSAL16-50E,MSAL,16,50,,E,,,MAL-MSAL-16x50.step +MSAL16-50EU,MSAL,16,50,,E,,U,MAL-MSAL-16x50.step +MSAL16-50ECM,MSAL,16,50,,E,,CM,MAL-MSAL-16x50.step +MSAL16-50ELB,MSAL,16,50,,E,LB,,MAL-MSAL-16x50.step +MSAL16-50ELBU,MSAL,16,50,,E,LB,U,MAL-MSAL-16x50.step +MSAL16-50ELBCM,MSAL,16,50,,E,LB,CM,MAL-MSAL-16x50.step +MSAL16-50EFA,MSAL,16,50,,E,FA,,MAL-MSAL-16x50.step +MSAL16-50EFAU,MSAL,16,50,,E,FA,U,MAL-MSAL-16x50.step +MSAL16-50EFACM,MSAL,16,50,,E,FA,CM,MAL-MSAL-16x50.step +MSAL16-50EFB,MSAL,16,50,,E,FB,,MAL-MSAL-16x50.step +MSAL16-50EFBU,MSAL,16,50,,E,FB,U,MAL-MSAL-16x50.step +MSAL16-50EFBCM,MSAL,16,50,,E,FB,CM,MAL-MSAL-16x50.step +MSAL16-50ESDB,MSAL,16,50,,E,SDB,,MAL-MSAL-16x50.step +MSAL16-50ESDBU,MSAL,16,50,,E,SDB,U,MAL-MSAL-16x50.step +MSAL16-50ESDBCM,MSAL,16,50,,E,SDB,CM,MAL-MSAL-16x50.step +MSAL16-50,MSAL,16,50,,,,,MAL-MSAL-16x50.step +MSAL16-50U,MSAL,16,50,,,,U,MAL-MSAL-16x50.step +MSAL16-50CM,MSAL,16,50,,,,CM,MAL-MSAL-16x50.step +MSAL16-50LB,MSAL,16,50,,,LB,,MAL-MSAL-16x50.step +MSAL16-50LBU,MSAL,16,50,,,LB,U,MAL-MSAL-16x50.step +MSAL16-50LBCM,MSAL,16,50,,,LB,CM,MAL-MSAL-16x50.step +MSAL16-50FA,MSAL,16,50,,,FA,,MAL-MSAL-16x50.step +MSAL16-50FAU,MSAL,16,50,,,FA,U,MAL-MSAL-16x50.step +MSAL16-50FACM,MSAL,16,50,,,FA,CM,MAL-MSAL-16x50.step +MSAL16-50FB,MSAL,16,50,,,FB,,MAL-MSAL-16x50.step +MSAL16-50FBU,MSAL,16,50,,,FB,U,MAL-MSAL-16x50.step +MSAL16-50FBCM,MSAL,16,50,,,FB,CM,MAL-MSAL-16x50.step +MSAL16-50SDB,MSAL,16,50,,,SDB,,MAL-MSAL-16x50.step +MSAL16-50SDBU,MSAL,16,50,,,SDB,U,MAL-MSAL-16x50.step +MSAL16-50SDBCM,MSAL,16,50,,,SDB,CM,MAL-MSAL-16x50.step +MSAL16-50ME,MSAL,16,50,M,E,,,MAL-MSAL-16x50.step +MSAL16-50MEU,MSAL,16,50,M,E,,U,MAL-MSAL-16x50.step +MSAL16-50MECM,MSAL,16,50,M,E,,CM,MAL-MSAL-16x50.step +MSAL16-50MELB,MSAL,16,50,M,E,LB,,MAL-MSAL-16x50.step +MSAL16-50MELBU,MSAL,16,50,M,E,LB,U,MAL-MSAL-16x50.step +MSAL16-50MELBCM,MSAL,16,50,M,E,LB,CM,MAL-MSAL-16x50.step +MSAL16-50MEFA,MSAL,16,50,M,E,FA,,MAL-MSAL-16x50.step +MSAL16-50MEFAU,MSAL,16,50,M,E,FA,U,MAL-MSAL-16x50.step +MSAL16-50MEFACM,MSAL,16,50,M,E,FA,CM,MAL-MSAL-16x50.step +MSAL16-50MEFB,MSAL,16,50,M,E,FB,,MAL-MSAL-16x50.step +MSAL16-50MEFBU,MSAL,16,50,M,E,FB,U,MAL-MSAL-16x50.step +MSAL16-50MEFBCM,MSAL,16,50,M,E,FB,CM,MAL-MSAL-16x50.step +MSAL16-50MESDB,MSAL,16,50,M,E,SDB,,MAL-MSAL-16x50.step +MSAL16-50MESDBU,MSAL,16,50,M,E,SDB,U,MAL-MSAL-16x50.step +MSAL16-50MESDBCM,MSAL,16,50,M,E,SDB,CM,MAL-MSAL-16x50.step +MSAL16-50M,MSAL,16,50,M,,,,MAL-MSAL-16x50.step +MSAL16-50MU,MSAL,16,50,M,,,U,MAL-MSAL-16x50.step +MSAL16-50MCM,MSAL,16,50,M,,,CM,MAL-MSAL-16x50.step +MSAL16-50MLB,MSAL,16,50,M,,LB,,MAL-MSAL-16x50.step +MSAL16-50MLBU,MSAL,16,50,M,,LB,U,MAL-MSAL-16x50.step +MSAL16-50MLBCM,MSAL,16,50,M,,LB,CM,MAL-MSAL-16x50.step +MSAL16-50MFA,MSAL,16,50,M,,FA,,MAL-MSAL-16x50.step +MSAL16-50MFAU,MSAL,16,50,M,,FA,U,MAL-MSAL-16x50.step +MSAL16-50MFACM,MSAL,16,50,M,,FA,CM,MAL-MSAL-16x50.step +MSAL16-50MFB,MSAL,16,50,M,,FB,,MAL-MSAL-16x50.step +MSAL16-50MFBU,MSAL,16,50,M,,FB,U,MAL-MSAL-16x50.step +MSAL16-50MFBCM,MSAL,16,50,M,,FB,CM,MAL-MSAL-16x50.step +MSAL16-50MSDB,MSAL,16,50,M,,SDB,,MAL-MSAL-16x50.step +MSAL16-50MSDBU,MSAL,16,50,M,,SDB,U,MAL-MSAL-16x50.step +MSAL16-50MSDBCM,MSAL,16,50,M,,SDB,CM,MAL-MSAL-16x50.step +MSAL16-75E,MSAL,16,75,,E,,,MAL-MSAL-16x75.step +MSAL16-75EU,MSAL,16,75,,E,,U,MAL-MSAL-16x75.step +MSAL16-75ECM,MSAL,16,75,,E,,CM,MAL-MSAL-16x75.step +MSAL16-75ELB,MSAL,16,75,,E,LB,,MAL-MSAL-16x75.step +MSAL16-75ELBU,MSAL,16,75,,E,LB,U,MAL-MSAL-16x75.step +MSAL16-75ELBCM,MSAL,16,75,,E,LB,CM,MAL-MSAL-16x75.step +MSAL16-75EFA,MSAL,16,75,,E,FA,,MAL-MSAL-16x75.step +MSAL16-75EFAU,MSAL,16,75,,E,FA,U,MAL-MSAL-16x75.step +MSAL16-75EFACM,MSAL,16,75,,E,FA,CM,MAL-MSAL-16x75.step +MSAL16-75EFB,MSAL,16,75,,E,FB,,MAL-MSAL-16x75.step +MSAL16-75EFBU,MSAL,16,75,,E,FB,U,MAL-MSAL-16x75.step +MSAL16-75EFBCM,MSAL,16,75,,E,FB,CM,MAL-MSAL-16x75.step +MSAL16-75ESDB,MSAL,16,75,,E,SDB,,MAL-MSAL-16x75.step +MSAL16-75ESDBU,MSAL,16,75,,E,SDB,U,MAL-MSAL-16x75.step +MSAL16-75ESDBCM,MSAL,16,75,,E,SDB,CM,MAL-MSAL-16x75.step +MSAL16-75,MSAL,16,75,,,,,MAL-MSAL-16x75.step +MSAL16-75U,MSAL,16,75,,,,U,MAL-MSAL-16x75.step +MSAL16-75CM,MSAL,16,75,,,,CM,MAL-MSAL-16x75.step +MSAL16-75LB,MSAL,16,75,,,LB,,MAL-MSAL-16x75.step +MSAL16-75LBU,MSAL,16,75,,,LB,U,MAL-MSAL-16x75.step +MSAL16-75LBCM,MSAL,16,75,,,LB,CM,MAL-MSAL-16x75.step +MSAL16-75FA,MSAL,16,75,,,FA,,MAL-MSAL-16x75.step +MSAL16-75FAU,MSAL,16,75,,,FA,U,MAL-MSAL-16x75.step +MSAL16-75FACM,MSAL,16,75,,,FA,CM,MAL-MSAL-16x75.step +MSAL16-75FB,MSAL,16,75,,,FB,,MAL-MSAL-16x75.step +MSAL16-75FBU,MSAL,16,75,,,FB,U,MAL-MSAL-16x75.step +MSAL16-75FBCM,MSAL,16,75,,,FB,CM,MAL-MSAL-16x75.step +MSAL16-75SDB,MSAL,16,75,,,SDB,,MAL-MSAL-16x75.step +MSAL16-75SDBU,MSAL,16,75,,,SDB,U,MAL-MSAL-16x75.step +MSAL16-75SDBCM,MSAL,16,75,,,SDB,CM,MAL-MSAL-16x75.step +MSAL16-75ME,MSAL,16,75,M,E,,,MAL-MSAL-16x75.step +MSAL16-75MEU,MSAL,16,75,M,E,,U,MAL-MSAL-16x75.step +MSAL16-75MECM,MSAL,16,75,M,E,,CM,MAL-MSAL-16x75.step +MSAL16-75MELB,MSAL,16,75,M,E,LB,,MAL-MSAL-16x75.step +MSAL16-75MELBU,MSAL,16,75,M,E,LB,U,MAL-MSAL-16x75.step +MSAL16-75MELBCM,MSAL,16,75,M,E,LB,CM,MAL-MSAL-16x75.step +MSAL16-75MEFA,MSAL,16,75,M,E,FA,,MAL-MSAL-16x75.step +MSAL16-75MEFAU,MSAL,16,75,M,E,FA,U,MAL-MSAL-16x75.step +MSAL16-75MEFACM,MSAL,16,75,M,E,FA,CM,MAL-MSAL-16x75.step +MSAL16-75MEFB,MSAL,16,75,M,E,FB,,MAL-MSAL-16x75.step +MSAL16-75MEFBU,MSAL,16,75,M,E,FB,U,MAL-MSAL-16x75.step +MSAL16-75MEFBCM,MSAL,16,75,M,E,FB,CM,MAL-MSAL-16x75.step +MSAL16-75MESDB,MSAL,16,75,M,E,SDB,,MAL-MSAL-16x75.step +MSAL16-75MESDBU,MSAL,16,75,M,E,SDB,U,MAL-MSAL-16x75.step +MSAL16-75MESDBCM,MSAL,16,75,M,E,SDB,CM,MAL-MSAL-16x75.step +MSAL16-75M,MSAL,16,75,M,,,,MAL-MSAL-16x75.step +MSAL16-75MU,MSAL,16,75,M,,,U,MAL-MSAL-16x75.step +MSAL16-75MCM,MSAL,16,75,M,,,CM,MAL-MSAL-16x75.step +MSAL16-75MLB,MSAL,16,75,M,,LB,,MAL-MSAL-16x75.step +MSAL16-75MLBU,MSAL,16,75,M,,LB,U,MAL-MSAL-16x75.step +MSAL16-75MLBCM,MSAL,16,75,M,,LB,CM,MAL-MSAL-16x75.step +MSAL16-75MFA,MSAL,16,75,M,,FA,,MAL-MSAL-16x75.step +MSAL16-75MFAU,MSAL,16,75,M,,FA,U,MAL-MSAL-16x75.step +MSAL16-75MFACM,MSAL,16,75,M,,FA,CM,MAL-MSAL-16x75.step +MSAL16-75MFB,MSAL,16,75,M,,FB,,MAL-MSAL-16x75.step +MSAL16-75MFBU,MSAL,16,75,M,,FB,U,MAL-MSAL-16x75.step +MSAL16-75MFBCM,MSAL,16,75,M,,FB,CM,MAL-MSAL-16x75.step +MSAL16-75MSDB,MSAL,16,75,M,,SDB,,MAL-MSAL-16x75.step +MSAL16-75MSDBU,MSAL,16,75,M,,SDB,U,MAL-MSAL-16x75.step +MSAL16-75MSDBCM,MSAL,16,75,M,,SDB,CM,MAL-MSAL-16x75.step +MSAL16-100E,MSAL,16,100,,E,,,MAL-MSAL-16x100.step +MSAL16-100EU,MSAL,16,100,,E,,U,MAL-MSAL-16x100.step +MSAL16-100ECM,MSAL,16,100,,E,,CM,MAL-MSAL-16x100.step +MSAL16-100ELB,MSAL,16,100,,E,LB,,MAL-MSAL-16x100.step +MSAL16-100ELBU,MSAL,16,100,,E,LB,U,MAL-MSAL-16x100.step +MSAL16-100ELBCM,MSAL,16,100,,E,LB,CM,MAL-MSAL-16x100.step +MSAL16-100EFA,MSAL,16,100,,E,FA,,MAL-MSAL-16x100.step +MSAL16-100EFAU,MSAL,16,100,,E,FA,U,MAL-MSAL-16x100.step +MSAL16-100EFACM,MSAL,16,100,,E,FA,CM,MAL-MSAL-16x100.step +MSAL16-100EFB,MSAL,16,100,,E,FB,,MAL-MSAL-16x100.step +MSAL16-100EFBU,MSAL,16,100,,E,FB,U,MAL-MSAL-16x100.step +MSAL16-100EFBCM,MSAL,16,100,,E,FB,CM,MAL-MSAL-16x100.step +MSAL16-100ESDB,MSAL,16,100,,E,SDB,,MAL-MSAL-16x100.step +MSAL16-100ESDBU,MSAL,16,100,,E,SDB,U,MAL-MSAL-16x100.step +MSAL16-100ESDBCM,MSAL,16,100,,E,SDB,CM,MAL-MSAL-16x100.step +MSAL16-100,MSAL,16,100,,,,,MAL-MSAL-16x100.step +MSAL16-100U,MSAL,16,100,,,,U,MAL-MSAL-16x100.step +MSAL16-100CM,MSAL,16,100,,,,CM,MAL-MSAL-16x100.step +MSAL16-100LB,MSAL,16,100,,,LB,,MAL-MSAL-16x100.step +MSAL16-100LBU,MSAL,16,100,,,LB,U,MAL-MSAL-16x100.step +MSAL16-100LBCM,MSAL,16,100,,,LB,CM,MAL-MSAL-16x100.step +MSAL16-100FA,MSAL,16,100,,,FA,,MAL-MSAL-16x100.step +MSAL16-100FAU,MSAL,16,100,,,FA,U,MAL-MSAL-16x100.step +MSAL16-100FACM,MSAL,16,100,,,FA,CM,MAL-MSAL-16x100.step +MSAL16-100FB,MSAL,16,100,,,FB,,MAL-MSAL-16x100.step +MSAL16-100FBU,MSAL,16,100,,,FB,U,MAL-MSAL-16x100.step +MSAL16-100FBCM,MSAL,16,100,,,FB,CM,MAL-MSAL-16x100.step +MSAL16-100SDB,MSAL,16,100,,,SDB,,MAL-MSAL-16x100.step +MSAL16-100SDBU,MSAL,16,100,,,SDB,U,MAL-MSAL-16x100.step +MSAL16-100SDBCM,MSAL,16,100,,,SDB,CM,MAL-MSAL-16x100.step +MSAL16-100ME,MSAL,16,100,M,E,,,MAL-MSAL-16x100.step +MSAL16-100MEU,MSAL,16,100,M,E,,U,MAL-MSAL-16x100.step +MSAL16-100MECM,MSAL,16,100,M,E,,CM,MAL-MSAL-16x100.step +MSAL16-100MELB,MSAL,16,100,M,E,LB,,MAL-MSAL-16x100.step +MSAL16-100MELBU,MSAL,16,100,M,E,LB,U,MAL-MSAL-16x100.step +MSAL16-100MELBCM,MSAL,16,100,M,E,LB,CM,MAL-MSAL-16x100.step +MSAL16-100MEFA,MSAL,16,100,M,E,FA,,MAL-MSAL-16x100.step +MSAL16-100MEFAU,MSAL,16,100,M,E,FA,U,MAL-MSAL-16x100.step +MSAL16-100MEFACM,MSAL,16,100,M,E,FA,CM,MAL-MSAL-16x100.step +MSAL16-100MEFB,MSAL,16,100,M,E,FB,,MAL-MSAL-16x100.step +MSAL16-100MEFBU,MSAL,16,100,M,E,FB,U,MAL-MSAL-16x100.step +MSAL16-100MEFBCM,MSAL,16,100,M,E,FB,CM,MAL-MSAL-16x100.step +MSAL16-100MESDB,MSAL,16,100,M,E,SDB,,MAL-MSAL-16x100.step +MSAL16-100MESDBU,MSAL,16,100,M,E,SDB,U,MAL-MSAL-16x100.step +MSAL16-100MESDBCM,MSAL,16,100,M,E,SDB,CM,MAL-MSAL-16x100.step +MSAL16-100M,MSAL,16,100,M,,,,MAL-MSAL-16x100.step +MSAL16-100MU,MSAL,16,100,M,,,U,MAL-MSAL-16x100.step +MSAL16-100MCM,MSAL,16,100,M,,,CM,MAL-MSAL-16x100.step +MSAL16-100MLB,MSAL,16,100,M,,LB,,MAL-MSAL-16x100.step +MSAL16-100MLBU,MSAL,16,100,M,,LB,U,MAL-MSAL-16x100.step +MSAL16-100MLBCM,MSAL,16,100,M,,LB,CM,MAL-MSAL-16x100.step +MSAL16-100MFA,MSAL,16,100,M,,FA,,MAL-MSAL-16x100.step +MSAL16-100MFAU,MSAL,16,100,M,,FA,U,MAL-MSAL-16x100.step +MSAL16-100MFACM,MSAL,16,100,M,,FA,CM,MAL-MSAL-16x100.step +MSAL16-100MFB,MSAL,16,100,M,,FB,,MAL-MSAL-16x100.step +MSAL16-100MFBU,MSAL,16,100,M,,FB,U,MAL-MSAL-16x100.step +MSAL16-100MFBCM,MSAL,16,100,M,,FB,CM,MAL-MSAL-16x100.step +MSAL16-100MSDB,MSAL,16,100,M,,SDB,,MAL-MSAL-16x100.step +MSAL16-100MSDBU,MSAL,16,100,M,,SDB,U,MAL-MSAL-16x100.step +MSAL16-100MSDBCM,MSAL,16,100,M,,SDB,CM,MAL-MSAL-16x100.step +MSAL20-10E,MSAL,20,10,,E,,,MAL-MSAL-20x10.step +MSAL20-10EU,MSAL,20,10,,E,,U,MAL-MSAL-20x10.step +MSAL20-10ECM,MSAL,20,10,,E,,CM,MAL-MSAL-20x10.step +MSAL20-10ELB,MSAL,20,10,,E,LB,,MAL-MSAL-20x10.step +MSAL20-10ELBU,MSAL,20,10,,E,LB,U,MAL-MSAL-20x10.step +MSAL20-10ELBCM,MSAL,20,10,,E,LB,CM,MAL-MSAL-20x10.step +MSAL20-10EFA,MSAL,20,10,,E,FA,,MAL-MSAL-20x10.step +MSAL20-10EFAU,MSAL,20,10,,E,FA,U,MAL-MSAL-20x10.step +MSAL20-10EFACM,MSAL,20,10,,E,FA,CM,MAL-MSAL-20x10.step +MSAL20-10EFB,MSAL,20,10,,E,FB,,MAL-MSAL-20x10.step +MSAL20-10EFBU,MSAL,20,10,,E,FB,U,MAL-MSAL-20x10.step +MSAL20-10EFBCM,MSAL,20,10,,E,FB,CM,MAL-MSAL-20x10.step +MSAL20-10ESDB,MSAL,20,10,,E,SDB,,MAL-MSAL-20x10.step +MSAL20-10ESDBU,MSAL,20,10,,E,SDB,U,MAL-MSAL-20x10.step +MSAL20-10ESDBCM,MSAL,20,10,,E,SDB,CM,MAL-MSAL-20x10.step +MSAL20-10,MSAL,20,10,,,,,MAL-MSAL-20x10.step +MSAL20-10U,MSAL,20,10,,,,U,MAL-MSAL-20x10.step +MSAL20-10CM,MSAL,20,10,,,,CM,MAL-MSAL-20x10.step +MSAL20-10LB,MSAL,20,10,,,LB,,MAL-MSAL-20x10.step +MSAL20-10LBU,MSAL,20,10,,,LB,U,MAL-MSAL-20x10.step +MSAL20-10LBCM,MSAL,20,10,,,LB,CM,MAL-MSAL-20x10.step +MSAL20-10FA,MSAL,20,10,,,FA,,MAL-MSAL-20x10.step +MSAL20-10FAU,MSAL,20,10,,,FA,U,MAL-MSAL-20x10.step +MSAL20-10FACM,MSAL,20,10,,,FA,CM,MAL-MSAL-20x10.step +MSAL20-10FB,MSAL,20,10,,,FB,,MAL-MSAL-20x10.step +MSAL20-10FBU,MSAL,20,10,,,FB,U,MAL-MSAL-20x10.step +MSAL20-10FBCM,MSAL,20,10,,,FB,CM,MAL-MSAL-20x10.step +MSAL20-10SDB,MSAL,20,10,,,SDB,,MAL-MSAL-20x10.step +MSAL20-10SDBU,MSAL,20,10,,,SDB,U,MAL-MSAL-20x10.step +MSAL20-10SDBCM,MSAL,20,10,,,SDB,CM,MAL-MSAL-20x10.step +MSAL20-10ME,MSAL,20,10,M,E,,,MAL-MSAL-20x10.step +MSAL20-10MEU,MSAL,20,10,M,E,,U,MAL-MSAL-20x10.step +MSAL20-10MECM,MSAL,20,10,M,E,,CM,MAL-MSAL-20x10.step +MSAL20-10MELB,MSAL,20,10,M,E,LB,,MAL-MSAL-20x10.step +MSAL20-10MELBU,MSAL,20,10,M,E,LB,U,MAL-MSAL-20x10.step +MSAL20-10MELBCM,MSAL,20,10,M,E,LB,CM,MAL-MSAL-20x10.step +MSAL20-10MEFA,MSAL,20,10,M,E,FA,,MAL-MSAL-20x10.step +MSAL20-10MEFAU,MSAL,20,10,M,E,FA,U,MAL-MSAL-20x10.step +MSAL20-10MEFACM,MSAL,20,10,M,E,FA,CM,MAL-MSAL-20x10.step +MSAL20-10MEFB,MSAL,20,10,M,E,FB,,MAL-MSAL-20x10.step +MSAL20-10MEFBU,MSAL,20,10,M,E,FB,U,MAL-MSAL-20x10.step +MSAL20-10MEFBCM,MSAL,20,10,M,E,FB,CM,MAL-MSAL-20x10.step +MSAL20-10MESDB,MSAL,20,10,M,E,SDB,,MAL-MSAL-20x10.step +MSAL20-10MESDBU,MSAL,20,10,M,E,SDB,U,MAL-MSAL-20x10.step +MSAL20-10MESDBCM,MSAL,20,10,M,E,SDB,CM,MAL-MSAL-20x10.step +MSAL20-10M,MSAL,20,10,M,,,,MAL-MSAL-20x10.step +MSAL20-10MU,MSAL,20,10,M,,,U,MAL-MSAL-20x10.step +MSAL20-10MCM,MSAL,20,10,M,,,CM,MAL-MSAL-20x10.step +MSAL20-10MLB,MSAL,20,10,M,,LB,,MAL-MSAL-20x10.step +MSAL20-10MLBU,MSAL,20,10,M,,LB,U,MAL-MSAL-20x10.step +MSAL20-10MLBCM,MSAL,20,10,M,,LB,CM,MAL-MSAL-20x10.step +MSAL20-10MFA,MSAL,20,10,M,,FA,,MAL-MSAL-20x10.step +MSAL20-10MFAU,MSAL,20,10,M,,FA,U,MAL-MSAL-20x10.step +MSAL20-10MFACM,MSAL,20,10,M,,FA,CM,MAL-MSAL-20x10.step +MSAL20-10MFB,MSAL,20,10,M,,FB,,MAL-MSAL-20x10.step +MSAL20-10MFBU,MSAL,20,10,M,,FB,U,MAL-MSAL-20x10.step +MSAL20-10MFBCM,MSAL,20,10,M,,FB,CM,MAL-MSAL-20x10.step +MSAL20-10MSDB,MSAL,20,10,M,,SDB,,MAL-MSAL-20x10.step +MSAL20-10MSDBU,MSAL,20,10,M,,SDB,U,MAL-MSAL-20x10.step +MSAL20-10MSDBCM,MSAL,20,10,M,,SDB,CM,MAL-MSAL-20x10.step +MSAL20-20E,MSAL,20,20,,E,,,MAL-MSAL-20x20.step +MSAL20-20EU,MSAL,20,20,,E,,U,MAL-MSAL-20x20.step +MSAL20-20ECM,MSAL,20,20,,E,,CM,MAL-MSAL-20x20.step +MSAL20-20ELB,MSAL,20,20,,E,LB,,MAL-MSAL-20x20.step +MSAL20-20ELBU,MSAL,20,20,,E,LB,U,MAL-MSAL-20x20.step +MSAL20-20ELBCM,MSAL,20,20,,E,LB,CM,MAL-MSAL-20x20.step +MSAL20-20EFA,MSAL,20,20,,E,FA,,MAL-MSAL-20x20.step +MSAL20-20EFAU,MSAL,20,20,,E,FA,U,MAL-MSAL-20x20.step +MSAL20-20EFACM,MSAL,20,20,,E,FA,CM,MAL-MSAL-20x20.step +MSAL20-20EFB,MSAL,20,20,,E,FB,,MAL-MSAL-20x20.step +MSAL20-20EFBU,MSAL,20,20,,E,FB,U,MAL-MSAL-20x20.step +MSAL20-20EFBCM,MSAL,20,20,,E,FB,CM,MAL-MSAL-20x20.step +MSAL20-20ESDB,MSAL,20,20,,E,SDB,,MAL-MSAL-20x20.step +MSAL20-20ESDBU,MSAL,20,20,,E,SDB,U,MAL-MSAL-20x20.step +MSAL20-20ESDBCM,MSAL,20,20,,E,SDB,CM,MAL-MSAL-20x20.step +MSAL20-20,MSAL,20,20,,,,,MAL-MSAL-20x20.step +MSAL20-20U,MSAL,20,20,,,,U,MAL-MSAL-20x20.step +MSAL20-20CM,MSAL,20,20,,,,CM,MAL-MSAL-20x20.step +MSAL20-20LB,MSAL,20,20,,,LB,,MAL-MSAL-20x20.step +MSAL20-20LBU,MSAL,20,20,,,LB,U,MAL-MSAL-20x20.step +MSAL20-20LBCM,MSAL,20,20,,,LB,CM,MAL-MSAL-20x20.step +MSAL20-20FA,MSAL,20,20,,,FA,,MAL-MSAL-20x20.step +MSAL20-20FAU,MSAL,20,20,,,FA,U,MAL-MSAL-20x20.step +MSAL20-20FACM,MSAL,20,20,,,FA,CM,MAL-MSAL-20x20.step +MSAL20-20FB,MSAL,20,20,,,FB,,MAL-MSAL-20x20.step +MSAL20-20FBU,MSAL,20,20,,,FB,U,MAL-MSAL-20x20.step +MSAL20-20FBCM,MSAL,20,20,,,FB,CM,MAL-MSAL-20x20.step +MSAL20-20SDB,MSAL,20,20,,,SDB,,MAL-MSAL-20x20.step +MSAL20-20SDBU,MSAL,20,20,,,SDB,U,MAL-MSAL-20x20.step +MSAL20-20SDBCM,MSAL,20,20,,,SDB,CM,MAL-MSAL-20x20.step +MSAL20-20ME,MSAL,20,20,M,E,,,MAL-MSAL-20x20.step +MSAL20-20MEU,MSAL,20,20,M,E,,U,MAL-MSAL-20x20.step +MSAL20-20MECM,MSAL,20,20,M,E,,CM,MAL-MSAL-20x20.step +MSAL20-20MELB,MSAL,20,20,M,E,LB,,MAL-MSAL-20x20.step +MSAL20-20MELBU,MSAL,20,20,M,E,LB,U,MAL-MSAL-20x20.step +MSAL20-20MELBCM,MSAL,20,20,M,E,LB,CM,MAL-MSAL-20x20.step +MSAL20-20MEFA,MSAL,20,20,M,E,FA,,MAL-MSAL-20x20.step +MSAL20-20MEFAU,MSAL,20,20,M,E,FA,U,MAL-MSAL-20x20.step +MSAL20-20MEFACM,MSAL,20,20,M,E,FA,CM,MAL-MSAL-20x20.step +MSAL20-20MEFB,MSAL,20,20,M,E,FB,,MAL-MSAL-20x20.step +MSAL20-20MEFBU,MSAL,20,20,M,E,FB,U,MAL-MSAL-20x20.step +MSAL20-20MEFBCM,MSAL,20,20,M,E,FB,CM,MAL-MSAL-20x20.step +MSAL20-20MESDB,MSAL,20,20,M,E,SDB,,MAL-MSAL-20x20.step +MSAL20-20MESDBU,MSAL,20,20,M,E,SDB,U,MAL-MSAL-20x20.step +MSAL20-20MESDBCM,MSAL,20,20,M,E,SDB,CM,MAL-MSAL-20x20.step +MSAL20-20M,MSAL,20,20,M,,,,MAL-MSAL-20x20.step +MSAL20-20MU,MSAL,20,20,M,,,U,MAL-MSAL-20x20.step +MSAL20-20MCM,MSAL,20,20,M,,,CM,MAL-MSAL-20x20.step +MSAL20-20MLB,MSAL,20,20,M,,LB,,MAL-MSAL-20x20.step +MSAL20-20MLBU,MSAL,20,20,M,,LB,U,MAL-MSAL-20x20.step +MSAL20-20MLBCM,MSAL,20,20,M,,LB,CM,MAL-MSAL-20x20.step +MSAL20-20MFA,MSAL,20,20,M,,FA,,MAL-MSAL-20x20.step +MSAL20-20MFAU,MSAL,20,20,M,,FA,U,MAL-MSAL-20x20.step +MSAL20-20MFACM,MSAL,20,20,M,,FA,CM,MAL-MSAL-20x20.step +MSAL20-20MFB,MSAL,20,20,M,,FB,,MAL-MSAL-20x20.step +MSAL20-20MFBU,MSAL,20,20,M,,FB,U,MAL-MSAL-20x20.step +MSAL20-20MFBCM,MSAL,20,20,M,,FB,CM,MAL-MSAL-20x20.step +MSAL20-20MSDB,MSAL,20,20,M,,SDB,,MAL-MSAL-20x20.step +MSAL20-20MSDBU,MSAL,20,20,M,,SDB,U,MAL-MSAL-20x20.step +MSAL20-20MSDBCM,MSAL,20,20,M,,SDB,CM,MAL-MSAL-20x20.step +MSAL20-30E,MSAL,20,30,,E,,,MAL-MSAL-20x30.step +MSAL20-30EU,MSAL,20,30,,E,,U,MAL-MSAL-20x30.step +MSAL20-30ECM,MSAL,20,30,,E,,CM,MAL-MSAL-20x30.step +MSAL20-30ELB,MSAL,20,30,,E,LB,,MAL-MSAL-20x30.step +MSAL20-30ELBU,MSAL,20,30,,E,LB,U,MAL-MSAL-20x30.step +MSAL20-30ELBCM,MSAL,20,30,,E,LB,CM,MAL-MSAL-20x30.step +MSAL20-30EFA,MSAL,20,30,,E,FA,,MAL-MSAL-20x30.step +MSAL20-30EFAU,MSAL,20,30,,E,FA,U,MAL-MSAL-20x30.step +MSAL20-30EFACM,MSAL,20,30,,E,FA,CM,MAL-MSAL-20x30.step +MSAL20-30EFB,MSAL,20,30,,E,FB,,MAL-MSAL-20x30.step +MSAL20-30EFBU,MSAL,20,30,,E,FB,U,MAL-MSAL-20x30.step +MSAL20-30EFBCM,MSAL,20,30,,E,FB,CM,MAL-MSAL-20x30.step +MSAL20-30ESDB,MSAL,20,30,,E,SDB,,MAL-MSAL-20x30.step +MSAL20-30ESDBU,MSAL,20,30,,E,SDB,U,MAL-MSAL-20x30.step +MSAL20-30ESDBCM,MSAL,20,30,,E,SDB,CM,MAL-MSAL-20x30.step +MSAL20-30,MSAL,20,30,,,,,MAL-MSAL-20x30.step +MSAL20-30U,MSAL,20,30,,,,U,MAL-MSAL-20x30.step +MSAL20-30CM,MSAL,20,30,,,,CM,MAL-MSAL-20x30.step +MSAL20-30LB,MSAL,20,30,,,LB,,MAL-MSAL-20x30.step +MSAL20-30LBU,MSAL,20,30,,,LB,U,MAL-MSAL-20x30.step +MSAL20-30LBCM,MSAL,20,30,,,LB,CM,MAL-MSAL-20x30.step +MSAL20-30FA,MSAL,20,30,,,FA,,MAL-MSAL-20x30.step +MSAL20-30FAU,MSAL,20,30,,,FA,U,MAL-MSAL-20x30.step +MSAL20-30FACM,MSAL,20,30,,,FA,CM,MAL-MSAL-20x30.step +MSAL20-30FB,MSAL,20,30,,,FB,,MAL-MSAL-20x30.step +MSAL20-30FBU,MSAL,20,30,,,FB,U,MAL-MSAL-20x30.step +MSAL20-30FBCM,MSAL,20,30,,,FB,CM,MAL-MSAL-20x30.step +MSAL20-30SDB,MSAL,20,30,,,SDB,,MAL-MSAL-20x30.step +MSAL20-30SDBU,MSAL,20,30,,,SDB,U,MAL-MSAL-20x30.step +MSAL20-30SDBCM,MSAL,20,30,,,SDB,CM,MAL-MSAL-20x30.step +MSAL20-30ME,MSAL,20,30,M,E,,,MAL-MSAL-20x30.step +MSAL20-30MEU,MSAL,20,30,M,E,,U,MAL-MSAL-20x30.step +MSAL20-30MECM,MSAL,20,30,M,E,,CM,MAL-MSAL-20x30.step +MSAL20-30MELB,MSAL,20,30,M,E,LB,,MAL-MSAL-20x30.step +MSAL20-30MELBU,MSAL,20,30,M,E,LB,U,MAL-MSAL-20x30.step +MSAL20-30MELBCM,MSAL,20,30,M,E,LB,CM,MAL-MSAL-20x30.step +MSAL20-30MEFA,MSAL,20,30,M,E,FA,,MAL-MSAL-20x30.step +MSAL20-30MEFAU,MSAL,20,30,M,E,FA,U,MAL-MSAL-20x30.step +MSAL20-30MEFACM,MSAL,20,30,M,E,FA,CM,MAL-MSAL-20x30.step +MSAL20-30MEFB,MSAL,20,30,M,E,FB,,MAL-MSAL-20x30.step +MSAL20-30MEFBU,MSAL,20,30,M,E,FB,U,MAL-MSAL-20x30.step +MSAL20-30MEFBCM,MSAL,20,30,M,E,FB,CM,MAL-MSAL-20x30.step +MSAL20-30MESDB,MSAL,20,30,M,E,SDB,,MAL-MSAL-20x30.step +MSAL20-30MESDBU,MSAL,20,30,M,E,SDB,U,MAL-MSAL-20x30.step +MSAL20-30MESDBCM,MSAL,20,30,M,E,SDB,CM,MAL-MSAL-20x30.step +MSAL20-30M,MSAL,20,30,M,,,,MAL-MSAL-20x30.step +MSAL20-30MU,MSAL,20,30,M,,,U,MAL-MSAL-20x30.step +MSAL20-30MCM,MSAL,20,30,M,,,CM,MAL-MSAL-20x30.step +MSAL20-30MLB,MSAL,20,30,M,,LB,,MAL-MSAL-20x30.step +MSAL20-30MLBU,MSAL,20,30,M,,LB,U,MAL-MSAL-20x30.step +MSAL20-30MLBCM,MSAL,20,30,M,,LB,CM,MAL-MSAL-20x30.step +MSAL20-30MFA,MSAL,20,30,M,,FA,,MAL-MSAL-20x30.step +MSAL20-30MFAU,MSAL,20,30,M,,FA,U,MAL-MSAL-20x30.step +MSAL20-30MFACM,MSAL,20,30,M,,FA,CM,MAL-MSAL-20x30.step +MSAL20-30MFB,MSAL,20,30,M,,FB,,MAL-MSAL-20x30.step +MSAL20-30MFBU,MSAL,20,30,M,,FB,U,MAL-MSAL-20x30.step +MSAL20-30MFBCM,MSAL,20,30,M,,FB,CM,MAL-MSAL-20x30.step +MSAL20-30MSDB,MSAL,20,30,M,,SDB,,MAL-MSAL-20x30.step +MSAL20-30MSDBU,MSAL,20,30,M,,SDB,U,MAL-MSAL-20x30.step +MSAL20-30MSDBCM,MSAL,20,30,M,,SDB,CM,MAL-MSAL-20x30.step +MSAL20-50E,MSAL,20,50,,E,,,MAL-MSAL-20x50.step +MSAL20-50EU,MSAL,20,50,,E,,U,MAL-MSAL-20x50.step +MSAL20-50ECM,MSAL,20,50,,E,,CM,MAL-MSAL-20x50.step +MSAL20-50ELB,MSAL,20,50,,E,LB,,MAL-MSAL-20x50.step +MSAL20-50ELBU,MSAL,20,50,,E,LB,U,MAL-MSAL-20x50.step +MSAL20-50ELBCM,MSAL,20,50,,E,LB,CM,MAL-MSAL-20x50.step +MSAL20-50EFA,MSAL,20,50,,E,FA,,MAL-MSAL-20x50.step +MSAL20-50EFAU,MSAL,20,50,,E,FA,U,MAL-MSAL-20x50.step +MSAL20-50EFACM,MSAL,20,50,,E,FA,CM,MAL-MSAL-20x50.step +MSAL20-50EFB,MSAL,20,50,,E,FB,,MAL-MSAL-20x50.step +MSAL20-50EFBU,MSAL,20,50,,E,FB,U,MAL-MSAL-20x50.step +MSAL20-50EFBCM,MSAL,20,50,,E,FB,CM,MAL-MSAL-20x50.step +MSAL20-50ESDB,MSAL,20,50,,E,SDB,,MAL-MSAL-20x50.step +MSAL20-50ESDBU,MSAL,20,50,,E,SDB,U,MAL-MSAL-20x50.step +MSAL20-50ESDBCM,MSAL,20,50,,E,SDB,CM,MAL-MSAL-20x50.step +MSAL20-50,MSAL,20,50,,,,,MAL-MSAL-20x50.step +MSAL20-50U,MSAL,20,50,,,,U,MAL-MSAL-20x50.step +MSAL20-50CM,MSAL,20,50,,,,CM,MAL-MSAL-20x50.step +MSAL20-50LB,MSAL,20,50,,,LB,,MAL-MSAL-20x50.step +MSAL20-50LBU,MSAL,20,50,,,LB,U,MAL-MSAL-20x50.step +MSAL20-50LBCM,MSAL,20,50,,,LB,CM,MAL-MSAL-20x50.step +MSAL20-50FA,MSAL,20,50,,,FA,,MAL-MSAL-20x50.step +MSAL20-50FAU,MSAL,20,50,,,FA,U,MAL-MSAL-20x50.step +MSAL20-50FACM,MSAL,20,50,,,FA,CM,MAL-MSAL-20x50.step +MSAL20-50FB,MSAL,20,50,,,FB,,MAL-MSAL-20x50.step +MSAL20-50FBU,MSAL,20,50,,,FB,U,MAL-MSAL-20x50.step +MSAL20-50FBCM,MSAL,20,50,,,FB,CM,MAL-MSAL-20x50.step +MSAL20-50SDB,MSAL,20,50,,,SDB,,MAL-MSAL-20x50.step +MSAL20-50SDBU,MSAL,20,50,,,SDB,U,MAL-MSAL-20x50.step +MSAL20-50SDBCM,MSAL,20,50,,,SDB,CM,MAL-MSAL-20x50.step +MSAL20-50ME,MSAL,20,50,M,E,,,MAL-MSAL-20x50.step +MSAL20-50MEU,MSAL,20,50,M,E,,U,MAL-MSAL-20x50.step +MSAL20-50MECM,MSAL,20,50,M,E,,CM,MAL-MSAL-20x50.step +MSAL20-50MELB,MSAL,20,50,M,E,LB,,MAL-MSAL-20x50.step +MSAL20-50MELBU,MSAL,20,50,M,E,LB,U,MAL-MSAL-20x50.step +MSAL20-50MELBCM,MSAL,20,50,M,E,LB,CM,MAL-MSAL-20x50.step +MSAL20-50MEFA,MSAL,20,50,M,E,FA,,MAL-MSAL-20x50.step +MSAL20-50MEFAU,MSAL,20,50,M,E,FA,U,MAL-MSAL-20x50.step +MSAL20-50MEFACM,MSAL,20,50,M,E,FA,CM,MAL-MSAL-20x50.step +MSAL20-50MEFB,MSAL,20,50,M,E,FB,,MAL-MSAL-20x50.step +MSAL20-50MEFBU,MSAL,20,50,M,E,FB,U,MAL-MSAL-20x50.step +MSAL20-50MEFBCM,MSAL,20,50,M,E,FB,CM,MAL-MSAL-20x50.step +MSAL20-50MESDB,MSAL,20,50,M,E,SDB,,MAL-MSAL-20x50.step +MSAL20-50MESDBU,MSAL,20,50,M,E,SDB,U,MAL-MSAL-20x50.step +MSAL20-50MESDBCM,MSAL,20,50,M,E,SDB,CM,MAL-MSAL-20x50.step +MSAL20-50M,MSAL,20,50,M,,,,MAL-MSAL-20x50.step +MSAL20-50MU,MSAL,20,50,M,,,U,MAL-MSAL-20x50.step +MSAL20-50MCM,MSAL,20,50,M,,,CM,MAL-MSAL-20x50.step +MSAL20-50MLB,MSAL,20,50,M,,LB,,MAL-MSAL-20x50.step +MSAL20-50MLBU,MSAL,20,50,M,,LB,U,MAL-MSAL-20x50.step +MSAL20-50MLBCM,MSAL,20,50,M,,LB,CM,MAL-MSAL-20x50.step +MSAL20-50MFA,MSAL,20,50,M,,FA,,MAL-MSAL-20x50.step +MSAL20-50MFAU,MSAL,20,50,M,,FA,U,MAL-MSAL-20x50.step +MSAL20-50MFACM,MSAL,20,50,M,,FA,CM,MAL-MSAL-20x50.step +MSAL20-50MFB,MSAL,20,50,M,,FB,,MAL-MSAL-20x50.step +MSAL20-50MFBU,MSAL,20,50,M,,FB,U,MAL-MSAL-20x50.step +MSAL20-50MFBCM,MSAL,20,50,M,,FB,CM,MAL-MSAL-20x50.step +MSAL20-50MSDB,MSAL,20,50,M,,SDB,,MAL-MSAL-20x50.step +MSAL20-50MSDBU,MSAL,20,50,M,,SDB,U,MAL-MSAL-20x50.step +MSAL20-50MSDBCM,MSAL,20,50,M,,SDB,CM,MAL-MSAL-20x50.step +MSAL20-75E,MSAL,20,75,,E,,,MAL-MSAL-20x75.step +MSAL20-75EU,MSAL,20,75,,E,,U,MAL-MSAL-20x75.step +MSAL20-75ECM,MSAL,20,75,,E,,CM,MAL-MSAL-20x75.step +MSAL20-75ELB,MSAL,20,75,,E,LB,,MAL-MSAL-20x75.step +MSAL20-75ELBU,MSAL,20,75,,E,LB,U,MAL-MSAL-20x75.step +MSAL20-75ELBCM,MSAL,20,75,,E,LB,CM,MAL-MSAL-20x75.step +MSAL20-75EFA,MSAL,20,75,,E,FA,,MAL-MSAL-20x75.step +MSAL20-75EFAU,MSAL,20,75,,E,FA,U,MAL-MSAL-20x75.step +MSAL20-75EFACM,MSAL,20,75,,E,FA,CM,MAL-MSAL-20x75.step +MSAL20-75EFB,MSAL,20,75,,E,FB,,MAL-MSAL-20x75.step +MSAL20-75EFBU,MSAL,20,75,,E,FB,U,MAL-MSAL-20x75.step +MSAL20-75EFBCM,MSAL,20,75,,E,FB,CM,MAL-MSAL-20x75.step +MSAL20-75ESDB,MSAL,20,75,,E,SDB,,MAL-MSAL-20x75.step +MSAL20-75ESDBU,MSAL,20,75,,E,SDB,U,MAL-MSAL-20x75.step +MSAL20-75ESDBCM,MSAL,20,75,,E,SDB,CM,MAL-MSAL-20x75.step +MSAL20-75,MSAL,20,75,,,,,MAL-MSAL-20x75.step +MSAL20-75U,MSAL,20,75,,,,U,MAL-MSAL-20x75.step +MSAL20-75CM,MSAL,20,75,,,,CM,MAL-MSAL-20x75.step +MSAL20-75LB,MSAL,20,75,,,LB,,MAL-MSAL-20x75.step +MSAL20-75LBU,MSAL,20,75,,,LB,U,MAL-MSAL-20x75.step +MSAL20-75LBCM,MSAL,20,75,,,LB,CM,MAL-MSAL-20x75.step +MSAL20-75FA,MSAL,20,75,,,FA,,MAL-MSAL-20x75.step +MSAL20-75FAU,MSAL,20,75,,,FA,U,MAL-MSAL-20x75.step +MSAL20-75FACM,MSAL,20,75,,,FA,CM,MAL-MSAL-20x75.step +MSAL20-75FB,MSAL,20,75,,,FB,,MAL-MSAL-20x75.step +MSAL20-75FBU,MSAL,20,75,,,FB,U,MAL-MSAL-20x75.step +MSAL20-75FBCM,MSAL,20,75,,,FB,CM,MAL-MSAL-20x75.step +MSAL20-75SDB,MSAL,20,75,,,SDB,,MAL-MSAL-20x75.step +MSAL20-75SDBU,MSAL,20,75,,,SDB,U,MAL-MSAL-20x75.step +MSAL20-75SDBCM,MSAL,20,75,,,SDB,CM,MAL-MSAL-20x75.step +MSAL20-75ME,MSAL,20,75,M,E,,,MAL-MSAL-20x75.step +MSAL20-75MEU,MSAL,20,75,M,E,,U,MAL-MSAL-20x75.step +MSAL20-75MECM,MSAL,20,75,M,E,,CM,MAL-MSAL-20x75.step +MSAL20-75MELB,MSAL,20,75,M,E,LB,,MAL-MSAL-20x75.step +MSAL20-75MELBU,MSAL,20,75,M,E,LB,U,MAL-MSAL-20x75.step +MSAL20-75MELBCM,MSAL,20,75,M,E,LB,CM,MAL-MSAL-20x75.step +MSAL20-75MEFA,MSAL,20,75,M,E,FA,,MAL-MSAL-20x75.step +MSAL20-75MEFAU,MSAL,20,75,M,E,FA,U,MAL-MSAL-20x75.step +MSAL20-75MEFACM,MSAL,20,75,M,E,FA,CM,MAL-MSAL-20x75.step +MSAL20-75MEFB,MSAL,20,75,M,E,FB,,MAL-MSAL-20x75.step +MSAL20-75MEFBU,MSAL,20,75,M,E,FB,U,MAL-MSAL-20x75.step +MSAL20-75MEFBCM,MSAL,20,75,M,E,FB,CM,MAL-MSAL-20x75.step +MSAL20-75MESDB,MSAL,20,75,M,E,SDB,,MAL-MSAL-20x75.step +MSAL20-75MESDBU,MSAL,20,75,M,E,SDB,U,MAL-MSAL-20x75.step +MSAL20-75MESDBCM,MSAL,20,75,M,E,SDB,CM,MAL-MSAL-20x75.step +MSAL20-75M,MSAL,20,75,M,,,,MAL-MSAL-20x75.step +MSAL20-75MU,MSAL,20,75,M,,,U,MAL-MSAL-20x75.step +MSAL20-75MCM,MSAL,20,75,M,,,CM,MAL-MSAL-20x75.step +MSAL20-75MLB,MSAL,20,75,M,,LB,,MAL-MSAL-20x75.step +MSAL20-75MLBU,MSAL,20,75,M,,LB,U,MAL-MSAL-20x75.step +MSAL20-75MLBCM,MSAL,20,75,M,,LB,CM,MAL-MSAL-20x75.step +MSAL20-75MFA,MSAL,20,75,M,,FA,,MAL-MSAL-20x75.step +MSAL20-75MFAU,MSAL,20,75,M,,FA,U,MAL-MSAL-20x75.step +MSAL20-75MFACM,MSAL,20,75,M,,FA,CM,MAL-MSAL-20x75.step +MSAL20-75MFB,MSAL,20,75,M,,FB,,MAL-MSAL-20x75.step +MSAL20-75MFBU,MSAL,20,75,M,,FB,U,MAL-MSAL-20x75.step +MSAL20-75MFBCM,MSAL,20,75,M,,FB,CM,MAL-MSAL-20x75.step +MSAL20-75MSDB,MSAL,20,75,M,,SDB,,MAL-MSAL-20x75.step +MSAL20-75MSDBU,MSAL,20,75,M,,SDB,U,MAL-MSAL-20x75.step +MSAL20-75MSDBCM,MSAL,20,75,M,,SDB,CM,MAL-MSAL-20x75.step +MSAL20-100E,MSAL,20,100,,E,,,MAL-MSAL-20x100.step +MSAL20-100EU,MSAL,20,100,,E,,U,MAL-MSAL-20x100.step +MSAL20-100ECM,MSAL,20,100,,E,,CM,MAL-MSAL-20x100.step +MSAL20-100ELB,MSAL,20,100,,E,LB,,MAL-MSAL-20x100.step +MSAL20-100ELBU,MSAL,20,100,,E,LB,U,MAL-MSAL-20x100.step +MSAL20-100ELBCM,MSAL,20,100,,E,LB,CM,MAL-MSAL-20x100.step +MSAL20-100EFA,MSAL,20,100,,E,FA,,MAL-MSAL-20x100.step +MSAL20-100EFAU,MSAL,20,100,,E,FA,U,MAL-MSAL-20x100.step +MSAL20-100EFACM,MSAL,20,100,,E,FA,CM,MAL-MSAL-20x100.step +MSAL20-100EFB,MSAL,20,100,,E,FB,,MAL-MSAL-20x100.step +MSAL20-100EFBU,MSAL,20,100,,E,FB,U,MAL-MSAL-20x100.step +MSAL20-100EFBCM,MSAL,20,100,,E,FB,CM,MAL-MSAL-20x100.step +MSAL20-100ESDB,MSAL,20,100,,E,SDB,,MAL-MSAL-20x100.step +MSAL20-100ESDBU,MSAL,20,100,,E,SDB,U,MAL-MSAL-20x100.step +MSAL20-100ESDBCM,MSAL,20,100,,E,SDB,CM,MAL-MSAL-20x100.step +MSAL20-100,MSAL,20,100,,,,,MAL-MSAL-20x100.step +MSAL20-100U,MSAL,20,100,,,,U,MAL-MSAL-20x100.step +MSAL20-100CM,MSAL,20,100,,,,CM,MAL-MSAL-20x100.step +MSAL20-100LB,MSAL,20,100,,,LB,,MAL-MSAL-20x100.step +MSAL20-100LBU,MSAL,20,100,,,LB,U,MAL-MSAL-20x100.step +MSAL20-100LBCM,MSAL,20,100,,,LB,CM,MAL-MSAL-20x100.step +MSAL20-100FA,MSAL,20,100,,,FA,,MAL-MSAL-20x100.step +MSAL20-100FAU,MSAL,20,100,,,FA,U,MAL-MSAL-20x100.step +MSAL20-100FACM,MSAL,20,100,,,FA,CM,MAL-MSAL-20x100.step +MSAL20-100FB,MSAL,20,100,,,FB,,MAL-MSAL-20x100.step +MSAL20-100FBU,MSAL,20,100,,,FB,U,MAL-MSAL-20x100.step +MSAL20-100FBCM,MSAL,20,100,,,FB,CM,MAL-MSAL-20x100.step +MSAL20-100SDB,MSAL,20,100,,,SDB,,MAL-MSAL-20x100.step +MSAL20-100SDBU,MSAL,20,100,,,SDB,U,MAL-MSAL-20x100.step +MSAL20-100SDBCM,MSAL,20,100,,,SDB,CM,MAL-MSAL-20x100.step +MSAL20-100ME,MSAL,20,100,M,E,,,MAL-MSAL-20x100.step +MSAL20-100MEU,MSAL,20,100,M,E,,U,MAL-MSAL-20x100.step +MSAL20-100MECM,MSAL,20,100,M,E,,CM,MAL-MSAL-20x100.step +MSAL20-100MELB,MSAL,20,100,M,E,LB,,MAL-MSAL-20x100.step +MSAL20-100MELBU,MSAL,20,100,M,E,LB,U,MAL-MSAL-20x100.step +MSAL20-100MELBCM,MSAL,20,100,M,E,LB,CM,MAL-MSAL-20x100.step +MSAL20-100MEFA,MSAL,20,100,M,E,FA,,MAL-MSAL-20x100.step +MSAL20-100MEFAU,MSAL,20,100,M,E,FA,U,MAL-MSAL-20x100.step +MSAL20-100MEFACM,MSAL,20,100,M,E,FA,CM,MAL-MSAL-20x100.step +MSAL20-100MEFB,MSAL,20,100,M,E,FB,,MAL-MSAL-20x100.step +MSAL20-100MEFBU,MSAL,20,100,M,E,FB,U,MAL-MSAL-20x100.step +MSAL20-100MEFBCM,MSAL,20,100,M,E,FB,CM,MAL-MSAL-20x100.step +MSAL20-100MESDB,MSAL,20,100,M,E,SDB,,MAL-MSAL-20x100.step +MSAL20-100MESDBU,MSAL,20,100,M,E,SDB,U,MAL-MSAL-20x100.step +MSAL20-100MESDBCM,MSAL,20,100,M,E,SDB,CM,MAL-MSAL-20x100.step +MSAL20-100M,MSAL,20,100,M,,,,MAL-MSAL-20x100.step +MSAL20-100MU,MSAL,20,100,M,,,U,MAL-MSAL-20x100.step +MSAL20-100MCM,MSAL,20,100,M,,,CM,MAL-MSAL-20x100.step +MSAL20-100MLB,MSAL,20,100,M,,LB,,MAL-MSAL-20x100.step +MSAL20-100MLBU,MSAL,20,100,M,,LB,U,MAL-MSAL-20x100.step +MSAL20-100MLBCM,MSAL,20,100,M,,LB,CM,MAL-MSAL-20x100.step +MSAL20-100MFA,MSAL,20,100,M,,FA,,MAL-MSAL-20x100.step +MSAL20-100MFAU,MSAL,20,100,M,,FA,U,MAL-MSAL-20x100.step +MSAL20-100MFACM,MSAL,20,100,M,,FA,CM,MAL-MSAL-20x100.step +MSAL20-100MFB,MSAL,20,100,M,,FB,,MAL-MSAL-20x100.step +MSAL20-100MFBU,MSAL,20,100,M,,FB,U,MAL-MSAL-20x100.step +MSAL20-100MFBCM,MSAL,20,100,M,,FB,CM,MAL-MSAL-20x100.step +MSAL20-100MSDB,MSAL,20,100,M,,SDB,,MAL-MSAL-20x100.step +MSAL20-100MSDBU,MSAL,20,100,M,,SDB,U,MAL-MSAL-20x100.step +MSAL20-100MSDBCM,MSAL,20,100,M,,SDB,CM,MAL-MSAL-20x100.step +MSAL25-10E,MSAL,25,10,,E,,,MAL-MSAL-25x10.step +MSAL25-10EU,MSAL,25,10,,E,,U,MAL-MSAL-25x10.step +MSAL25-10ECM,MSAL,25,10,,E,,CM,MAL-MSAL-25x10.step +MSAL25-10ELB,MSAL,25,10,,E,LB,,MAL-MSAL-25x10.step +MSAL25-10ELBU,MSAL,25,10,,E,LB,U,MAL-MSAL-25x10.step +MSAL25-10ELBCM,MSAL,25,10,,E,LB,CM,MAL-MSAL-25x10.step +MSAL25-10EFA,MSAL,25,10,,E,FA,,MAL-MSAL-25x10.step +MSAL25-10EFAU,MSAL,25,10,,E,FA,U,MAL-MSAL-25x10.step +MSAL25-10EFACM,MSAL,25,10,,E,FA,CM,MAL-MSAL-25x10.step +MSAL25-10EFB,MSAL,25,10,,E,FB,,MAL-MSAL-25x10.step +MSAL25-10EFBU,MSAL,25,10,,E,FB,U,MAL-MSAL-25x10.step +MSAL25-10EFBCM,MSAL,25,10,,E,FB,CM,MAL-MSAL-25x10.step +MSAL25-10ESDB,MSAL,25,10,,E,SDB,,MAL-MSAL-25x10.step +MSAL25-10ESDBU,MSAL,25,10,,E,SDB,U,MAL-MSAL-25x10.step +MSAL25-10ESDBCM,MSAL,25,10,,E,SDB,CM,MAL-MSAL-25x10.step +MSAL25-10,MSAL,25,10,,,,,MAL-MSAL-25x10.step +MSAL25-10U,MSAL,25,10,,,,U,MAL-MSAL-25x10.step +MSAL25-10CM,MSAL,25,10,,,,CM,MAL-MSAL-25x10.step +MSAL25-10LB,MSAL,25,10,,,LB,,MAL-MSAL-25x10.step +MSAL25-10LBU,MSAL,25,10,,,LB,U,MAL-MSAL-25x10.step +MSAL25-10LBCM,MSAL,25,10,,,LB,CM,MAL-MSAL-25x10.step +MSAL25-10FA,MSAL,25,10,,,FA,,MAL-MSAL-25x10.step +MSAL25-10FAU,MSAL,25,10,,,FA,U,MAL-MSAL-25x10.step +MSAL25-10FACM,MSAL,25,10,,,FA,CM,MAL-MSAL-25x10.step +MSAL25-10FB,MSAL,25,10,,,FB,,MAL-MSAL-25x10.step +MSAL25-10FBU,MSAL,25,10,,,FB,U,MAL-MSAL-25x10.step +MSAL25-10FBCM,MSAL,25,10,,,FB,CM,MAL-MSAL-25x10.step +MSAL25-10SDB,MSAL,25,10,,,SDB,,MAL-MSAL-25x10.step +MSAL25-10SDBU,MSAL,25,10,,,SDB,U,MAL-MSAL-25x10.step +MSAL25-10SDBCM,MSAL,25,10,,,SDB,CM,MAL-MSAL-25x10.step +MSAL25-10ME,MSAL,25,10,M,E,,,MAL-MSAL-25x10.step +MSAL25-10MEU,MSAL,25,10,M,E,,U,MAL-MSAL-25x10.step +MSAL25-10MECM,MSAL,25,10,M,E,,CM,MAL-MSAL-25x10.step +MSAL25-10MELB,MSAL,25,10,M,E,LB,,MAL-MSAL-25x10.step +MSAL25-10MELBU,MSAL,25,10,M,E,LB,U,MAL-MSAL-25x10.step +MSAL25-10MELBCM,MSAL,25,10,M,E,LB,CM,MAL-MSAL-25x10.step +MSAL25-10MEFA,MSAL,25,10,M,E,FA,,MAL-MSAL-25x10.step +MSAL25-10MEFAU,MSAL,25,10,M,E,FA,U,MAL-MSAL-25x10.step +MSAL25-10MEFACM,MSAL,25,10,M,E,FA,CM,MAL-MSAL-25x10.step +MSAL25-10MEFB,MSAL,25,10,M,E,FB,,MAL-MSAL-25x10.step +MSAL25-10MEFBU,MSAL,25,10,M,E,FB,U,MAL-MSAL-25x10.step +MSAL25-10MEFBCM,MSAL,25,10,M,E,FB,CM,MAL-MSAL-25x10.step +MSAL25-10MESDB,MSAL,25,10,M,E,SDB,,MAL-MSAL-25x10.step +MSAL25-10MESDBU,MSAL,25,10,M,E,SDB,U,MAL-MSAL-25x10.step +MSAL25-10MESDBCM,MSAL,25,10,M,E,SDB,CM,MAL-MSAL-25x10.step +MSAL25-10M,MSAL,25,10,M,,,,MAL-MSAL-25x10.step +MSAL25-10MU,MSAL,25,10,M,,,U,MAL-MSAL-25x10.step +MSAL25-10MCM,MSAL,25,10,M,,,CM,MAL-MSAL-25x10.step +MSAL25-10MLB,MSAL,25,10,M,,LB,,MAL-MSAL-25x10.step +MSAL25-10MLBU,MSAL,25,10,M,,LB,U,MAL-MSAL-25x10.step +MSAL25-10MLBCM,MSAL,25,10,M,,LB,CM,MAL-MSAL-25x10.step +MSAL25-10MFA,MSAL,25,10,M,,FA,,MAL-MSAL-25x10.step +MSAL25-10MFAU,MSAL,25,10,M,,FA,U,MAL-MSAL-25x10.step +MSAL25-10MFACM,MSAL,25,10,M,,FA,CM,MAL-MSAL-25x10.step +MSAL25-10MFB,MSAL,25,10,M,,FB,,MAL-MSAL-25x10.step +MSAL25-10MFBU,MSAL,25,10,M,,FB,U,MAL-MSAL-25x10.step +MSAL25-10MFBCM,MSAL,25,10,M,,FB,CM,MAL-MSAL-25x10.step +MSAL25-10MSDB,MSAL,25,10,M,,SDB,,MAL-MSAL-25x10.step +MSAL25-10MSDBU,MSAL,25,10,M,,SDB,U,MAL-MSAL-25x10.step +MSAL25-10MSDBCM,MSAL,25,10,M,,SDB,CM,MAL-MSAL-25x10.step +MSAL25-20E,MSAL,25,20,,E,,,MAL-MSAL-25x20.step +MSAL25-20EU,MSAL,25,20,,E,,U,MAL-MSAL-25x20.step +MSAL25-20ECM,MSAL,25,20,,E,,CM,MAL-MSAL-25x20.step +MSAL25-20ELB,MSAL,25,20,,E,LB,,MAL-MSAL-25x20.step +MSAL25-20ELBU,MSAL,25,20,,E,LB,U,MAL-MSAL-25x20.step +MSAL25-20ELBCM,MSAL,25,20,,E,LB,CM,MAL-MSAL-25x20.step +MSAL25-20EFA,MSAL,25,20,,E,FA,,MAL-MSAL-25x20.step +MSAL25-20EFAU,MSAL,25,20,,E,FA,U,MAL-MSAL-25x20.step +MSAL25-20EFACM,MSAL,25,20,,E,FA,CM,MAL-MSAL-25x20.step +MSAL25-20EFB,MSAL,25,20,,E,FB,,MAL-MSAL-25x20.step +MSAL25-20EFBU,MSAL,25,20,,E,FB,U,MAL-MSAL-25x20.step +MSAL25-20EFBCM,MSAL,25,20,,E,FB,CM,MAL-MSAL-25x20.step +MSAL25-20ESDB,MSAL,25,20,,E,SDB,,MAL-MSAL-25x20.step +MSAL25-20ESDBU,MSAL,25,20,,E,SDB,U,MAL-MSAL-25x20.step +MSAL25-20ESDBCM,MSAL,25,20,,E,SDB,CM,MAL-MSAL-25x20.step +MSAL25-20,MSAL,25,20,,,,,MAL-MSAL-25x20.step +MSAL25-20U,MSAL,25,20,,,,U,MAL-MSAL-25x20.step +MSAL25-20CM,MSAL,25,20,,,,CM,MAL-MSAL-25x20.step +MSAL25-20LB,MSAL,25,20,,,LB,,MAL-MSAL-25x20.step +MSAL25-20LBU,MSAL,25,20,,,LB,U,MAL-MSAL-25x20.step +MSAL25-20LBCM,MSAL,25,20,,,LB,CM,MAL-MSAL-25x20.step +MSAL25-20FA,MSAL,25,20,,,FA,,MAL-MSAL-25x20.step +MSAL25-20FAU,MSAL,25,20,,,FA,U,MAL-MSAL-25x20.step +MSAL25-20FACM,MSAL,25,20,,,FA,CM,MAL-MSAL-25x20.step +MSAL25-20FB,MSAL,25,20,,,FB,,MAL-MSAL-25x20.step +MSAL25-20FBU,MSAL,25,20,,,FB,U,MAL-MSAL-25x20.step +MSAL25-20FBCM,MSAL,25,20,,,FB,CM,MAL-MSAL-25x20.step +MSAL25-20SDB,MSAL,25,20,,,SDB,,MAL-MSAL-25x20.step +MSAL25-20SDBU,MSAL,25,20,,,SDB,U,MAL-MSAL-25x20.step +MSAL25-20SDBCM,MSAL,25,20,,,SDB,CM,MAL-MSAL-25x20.step +MSAL25-20ME,MSAL,25,20,M,E,,,MAL-MSAL-25x20.step +MSAL25-20MEU,MSAL,25,20,M,E,,U,MAL-MSAL-25x20.step +MSAL25-20MECM,MSAL,25,20,M,E,,CM,MAL-MSAL-25x20.step +MSAL25-20MELB,MSAL,25,20,M,E,LB,,MAL-MSAL-25x20.step +MSAL25-20MELBU,MSAL,25,20,M,E,LB,U,MAL-MSAL-25x20.step +MSAL25-20MELBCM,MSAL,25,20,M,E,LB,CM,MAL-MSAL-25x20.step +MSAL25-20MEFA,MSAL,25,20,M,E,FA,,MAL-MSAL-25x20.step +MSAL25-20MEFAU,MSAL,25,20,M,E,FA,U,MAL-MSAL-25x20.step +MSAL25-20MEFACM,MSAL,25,20,M,E,FA,CM,MAL-MSAL-25x20.step +MSAL25-20MEFB,MSAL,25,20,M,E,FB,,MAL-MSAL-25x20.step +MSAL25-20MEFBU,MSAL,25,20,M,E,FB,U,MAL-MSAL-25x20.step +MSAL25-20MEFBCM,MSAL,25,20,M,E,FB,CM,MAL-MSAL-25x20.step +MSAL25-20MESDB,MSAL,25,20,M,E,SDB,,MAL-MSAL-25x20.step +MSAL25-20MESDBU,MSAL,25,20,M,E,SDB,U,MAL-MSAL-25x20.step +MSAL25-20MESDBCM,MSAL,25,20,M,E,SDB,CM,MAL-MSAL-25x20.step +MSAL25-20M,MSAL,25,20,M,,,,MAL-MSAL-25x20.step +MSAL25-20MU,MSAL,25,20,M,,,U,MAL-MSAL-25x20.step +MSAL25-20MCM,MSAL,25,20,M,,,CM,MAL-MSAL-25x20.step +MSAL25-20MLB,MSAL,25,20,M,,LB,,MAL-MSAL-25x20.step +MSAL25-20MLBU,MSAL,25,20,M,,LB,U,MAL-MSAL-25x20.step +MSAL25-20MLBCM,MSAL,25,20,M,,LB,CM,MAL-MSAL-25x20.step +MSAL25-20MFA,MSAL,25,20,M,,FA,,MAL-MSAL-25x20.step +MSAL25-20MFAU,MSAL,25,20,M,,FA,U,MAL-MSAL-25x20.step +MSAL25-20MFACM,MSAL,25,20,M,,FA,CM,MAL-MSAL-25x20.step +MSAL25-20MFB,MSAL,25,20,M,,FB,,MAL-MSAL-25x20.step +MSAL25-20MFBU,MSAL,25,20,M,,FB,U,MAL-MSAL-25x20.step +MSAL25-20MFBCM,MSAL,25,20,M,,FB,CM,MAL-MSAL-25x20.step +MSAL25-20MSDB,MSAL,25,20,M,,SDB,,MAL-MSAL-25x20.step +MSAL25-20MSDBU,MSAL,25,20,M,,SDB,U,MAL-MSAL-25x20.step +MSAL25-20MSDBCM,MSAL,25,20,M,,SDB,CM,MAL-MSAL-25x20.step +MSAL25-30E,MSAL,25,30,,E,,,MAL-MSAL-25x30.step +MSAL25-30EU,MSAL,25,30,,E,,U,MAL-MSAL-25x30.step +MSAL25-30ECM,MSAL,25,30,,E,,CM,MAL-MSAL-25x30.step +MSAL25-30ELB,MSAL,25,30,,E,LB,,MAL-MSAL-25x30.step +MSAL25-30ELBU,MSAL,25,30,,E,LB,U,MAL-MSAL-25x30.step +MSAL25-30ELBCM,MSAL,25,30,,E,LB,CM,MAL-MSAL-25x30.step +MSAL25-30EFA,MSAL,25,30,,E,FA,,MAL-MSAL-25x30.step +MSAL25-30EFAU,MSAL,25,30,,E,FA,U,MAL-MSAL-25x30.step +MSAL25-30EFACM,MSAL,25,30,,E,FA,CM,MAL-MSAL-25x30.step +MSAL25-30EFB,MSAL,25,30,,E,FB,,MAL-MSAL-25x30.step +MSAL25-30EFBU,MSAL,25,30,,E,FB,U,MAL-MSAL-25x30.step +MSAL25-30EFBCM,MSAL,25,30,,E,FB,CM,MAL-MSAL-25x30.step +MSAL25-30ESDB,MSAL,25,30,,E,SDB,,MAL-MSAL-25x30.step +MSAL25-30ESDBU,MSAL,25,30,,E,SDB,U,MAL-MSAL-25x30.step +MSAL25-30ESDBCM,MSAL,25,30,,E,SDB,CM,MAL-MSAL-25x30.step +MSAL25-30,MSAL,25,30,,,,,MAL-MSAL-25x30.step +MSAL25-30U,MSAL,25,30,,,,U,MAL-MSAL-25x30.step +MSAL25-30CM,MSAL,25,30,,,,CM,MAL-MSAL-25x30.step +MSAL25-30LB,MSAL,25,30,,,LB,,MAL-MSAL-25x30.step +MSAL25-30LBU,MSAL,25,30,,,LB,U,MAL-MSAL-25x30.step +MSAL25-30LBCM,MSAL,25,30,,,LB,CM,MAL-MSAL-25x30.step +MSAL25-30FA,MSAL,25,30,,,FA,,MAL-MSAL-25x30.step +MSAL25-30FAU,MSAL,25,30,,,FA,U,MAL-MSAL-25x30.step +MSAL25-30FACM,MSAL,25,30,,,FA,CM,MAL-MSAL-25x30.step +MSAL25-30FB,MSAL,25,30,,,FB,,MAL-MSAL-25x30.step +MSAL25-30FBU,MSAL,25,30,,,FB,U,MAL-MSAL-25x30.step +MSAL25-30FBCM,MSAL,25,30,,,FB,CM,MAL-MSAL-25x30.step +MSAL25-30SDB,MSAL,25,30,,,SDB,,MAL-MSAL-25x30.step +MSAL25-30SDBU,MSAL,25,30,,,SDB,U,MAL-MSAL-25x30.step +MSAL25-30SDBCM,MSAL,25,30,,,SDB,CM,MAL-MSAL-25x30.step +MSAL25-30ME,MSAL,25,30,M,E,,,MAL-MSAL-25x30.step +MSAL25-30MEU,MSAL,25,30,M,E,,U,MAL-MSAL-25x30.step +MSAL25-30MECM,MSAL,25,30,M,E,,CM,MAL-MSAL-25x30.step +MSAL25-30MELB,MSAL,25,30,M,E,LB,,MAL-MSAL-25x30.step +MSAL25-30MELBU,MSAL,25,30,M,E,LB,U,MAL-MSAL-25x30.step +MSAL25-30MELBCM,MSAL,25,30,M,E,LB,CM,MAL-MSAL-25x30.step +MSAL25-30MEFA,MSAL,25,30,M,E,FA,,MAL-MSAL-25x30.step +MSAL25-30MEFAU,MSAL,25,30,M,E,FA,U,MAL-MSAL-25x30.step +MSAL25-30MEFACM,MSAL,25,30,M,E,FA,CM,MAL-MSAL-25x30.step +MSAL25-30MEFB,MSAL,25,30,M,E,FB,,MAL-MSAL-25x30.step +MSAL25-30MEFBU,MSAL,25,30,M,E,FB,U,MAL-MSAL-25x30.step +MSAL25-30MEFBCM,MSAL,25,30,M,E,FB,CM,MAL-MSAL-25x30.step +MSAL25-30MESDB,MSAL,25,30,M,E,SDB,,MAL-MSAL-25x30.step +MSAL25-30MESDBU,MSAL,25,30,M,E,SDB,U,MAL-MSAL-25x30.step +MSAL25-30MESDBCM,MSAL,25,30,M,E,SDB,CM,MAL-MSAL-25x30.step +MSAL25-30M,MSAL,25,30,M,,,,MAL-MSAL-25x30.step +MSAL25-30MU,MSAL,25,30,M,,,U,MAL-MSAL-25x30.step +MSAL25-30MCM,MSAL,25,30,M,,,CM,MAL-MSAL-25x30.step +MSAL25-30MLB,MSAL,25,30,M,,LB,,MAL-MSAL-25x30.step +MSAL25-30MLBU,MSAL,25,30,M,,LB,U,MAL-MSAL-25x30.step +MSAL25-30MLBCM,MSAL,25,30,M,,LB,CM,MAL-MSAL-25x30.step +MSAL25-30MFA,MSAL,25,30,M,,FA,,MAL-MSAL-25x30.step +MSAL25-30MFAU,MSAL,25,30,M,,FA,U,MAL-MSAL-25x30.step +MSAL25-30MFACM,MSAL,25,30,M,,FA,CM,MAL-MSAL-25x30.step +MSAL25-30MFB,MSAL,25,30,M,,FB,,MAL-MSAL-25x30.step +MSAL25-30MFBU,MSAL,25,30,M,,FB,U,MAL-MSAL-25x30.step +MSAL25-30MFBCM,MSAL,25,30,M,,FB,CM,MAL-MSAL-25x30.step +MSAL25-30MSDB,MSAL,25,30,M,,SDB,,MAL-MSAL-25x30.step +MSAL25-30MSDBU,MSAL,25,30,M,,SDB,U,MAL-MSAL-25x30.step +MSAL25-30MSDBCM,MSAL,25,30,M,,SDB,CM,MAL-MSAL-25x30.step +MSAL25-50E,MSAL,25,50,,E,,,MAL-MSAL-25x50.step +MSAL25-50EU,MSAL,25,50,,E,,U,MAL-MSAL-25x50.step +MSAL25-50ECM,MSAL,25,50,,E,,CM,MAL-MSAL-25x50.step +MSAL25-50ELB,MSAL,25,50,,E,LB,,MAL-MSAL-25x50.step +MSAL25-50ELBU,MSAL,25,50,,E,LB,U,MAL-MSAL-25x50.step +MSAL25-50ELBCM,MSAL,25,50,,E,LB,CM,MAL-MSAL-25x50.step +MSAL25-50EFA,MSAL,25,50,,E,FA,,MAL-MSAL-25x50.step +MSAL25-50EFAU,MSAL,25,50,,E,FA,U,MAL-MSAL-25x50.step +MSAL25-50EFACM,MSAL,25,50,,E,FA,CM,MAL-MSAL-25x50.step +MSAL25-50EFB,MSAL,25,50,,E,FB,,MAL-MSAL-25x50.step +MSAL25-50EFBU,MSAL,25,50,,E,FB,U,MAL-MSAL-25x50.step +MSAL25-50EFBCM,MSAL,25,50,,E,FB,CM,MAL-MSAL-25x50.step +MSAL25-50ESDB,MSAL,25,50,,E,SDB,,MAL-MSAL-25x50.step +MSAL25-50ESDBU,MSAL,25,50,,E,SDB,U,MAL-MSAL-25x50.step +MSAL25-50ESDBCM,MSAL,25,50,,E,SDB,CM,MAL-MSAL-25x50.step +MSAL25-50,MSAL,25,50,,,,,MAL-MSAL-25x50.step +MSAL25-50U,MSAL,25,50,,,,U,MAL-MSAL-25x50.step +MSAL25-50CM,MSAL,25,50,,,,CM,MAL-MSAL-25x50.step +MSAL25-50LB,MSAL,25,50,,,LB,,MAL-MSAL-25x50.step +MSAL25-50LBU,MSAL,25,50,,,LB,U,MAL-MSAL-25x50.step +MSAL25-50LBCM,MSAL,25,50,,,LB,CM,MAL-MSAL-25x50.step +MSAL25-50FA,MSAL,25,50,,,FA,,MAL-MSAL-25x50.step +MSAL25-50FAU,MSAL,25,50,,,FA,U,MAL-MSAL-25x50.step +MSAL25-50FACM,MSAL,25,50,,,FA,CM,MAL-MSAL-25x50.step +MSAL25-50FB,MSAL,25,50,,,FB,,MAL-MSAL-25x50.step +MSAL25-50FBU,MSAL,25,50,,,FB,U,MAL-MSAL-25x50.step +MSAL25-50FBCM,MSAL,25,50,,,FB,CM,MAL-MSAL-25x50.step +MSAL25-50SDB,MSAL,25,50,,,SDB,,MAL-MSAL-25x50.step +MSAL25-50SDBU,MSAL,25,50,,,SDB,U,MAL-MSAL-25x50.step +MSAL25-50SDBCM,MSAL,25,50,,,SDB,CM,MAL-MSAL-25x50.step +MSAL25-50ME,MSAL,25,50,M,E,,,MAL-MSAL-25x50.step +MSAL25-50MEU,MSAL,25,50,M,E,,U,MAL-MSAL-25x50.step +MSAL25-50MECM,MSAL,25,50,M,E,,CM,MAL-MSAL-25x50.step +MSAL25-50MELB,MSAL,25,50,M,E,LB,,MAL-MSAL-25x50.step +MSAL25-50MELBU,MSAL,25,50,M,E,LB,U,MAL-MSAL-25x50.step +MSAL25-50MELBCM,MSAL,25,50,M,E,LB,CM,MAL-MSAL-25x50.step +MSAL25-50MEFA,MSAL,25,50,M,E,FA,,MAL-MSAL-25x50.step +MSAL25-50MEFAU,MSAL,25,50,M,E,FA,U,MAL-MSAL-25x50.step +MSAL25-50MEFACM,MSAL,25,50,M,E,FA,CM,MAL-MSAL-25x50.step +MSAL25-50MEFB,MSAL,25,50,M,E,FB,,MAL-MSAL-25x50.step +MSAL25-50MEFBU,MSAL,25,50,M,E,FB,U,MAL-MSAL-25x50.step +MSAL25-50MEFBCM,MSAL,25,50,M,E,FB,CM,MAL-MSAL-25x50.step +MSAL25-50MESDB,MSAL,25,50,M,E,SDB,,MAL-MSAL-25x50.step +MSAL25-50MESDBU,MSAL,25,50,M,E,SDB,U,MAL-MSAL-25x50.step +MSAL25-50MESDBCM,MSAL,25,50,M,E,SDB,CM,MAL-MSAL-25x50.step +MSAL25-50M,MSAL,25,50,M,,,,MAL-MSAL-25x50.step +MSAL25-50MU,MSAL,25,50,M,,,U,MAL-MSAL-25x50.step +MSAL25-50MCM,MSAL,25,50,M,,,CM,MAL-MSAL-25x50.step +MSAL25-50MLB,MSAL,25,50,M,,LB,,MAL-MSAL-25x50.step +MSAL25-50MLBU,MSAL,25,50,M,,LB,U,MAL-MSAL-25x50.step +MSAL25-50MLBCM,MSAL,25,50,M,,LB,CM,MAL-MSAL-25x50.step +MSAL25-50MFA,MSAL,25,50,M,,FA,,MAL-MSAL-25x50.step +MSAL25-50MFAU,MSAL,25,50,M,,FA,U,MAL-MSAL-25x50.step +MSAL25-50MFACM,MSAL,25,50,M,,FA,CM,MAL-MSAL-25x50.step +MSAL25-50MFB,MSAL,25,50,M,,FB,,MAL-MSAL-25x50.step +MSAL25-50MFBU,MSAL,25,50,M,,FB,U,MAL-MSAL-25x50.step +MSAL25-50MFBCM,MSAL,25,50,M,,FB,CM,MAL-MSAL-25x50.step +MSAL25-50MSDB,MSAL,25,50,M,,SDB,,MAL-MSAL-25x50.step +MSAL25-50MSDBU,MSAL,25,50,M,,SDB,U,MAL-MSAL-25x50.step +MSAL25-50MSDBCM,MSAL,25,50,M,,SDB,CM,MAL-MSAL-25x50.step +MSAL25-75E,MSAL,25,75,,E,,,MAL-MSAL-25x75.step +MSAL25-75EU,MSAL,25,75,,E,,U,MAL-MSAL-25x75.step +MSAL25-75ECM,MSAL,25,75,,E,,CM,MAL-MSAL-25x75.step +MSAL25-75ELB,MSAL,25,75,,E,LB,,MAL-MSAL-25x75.step +MSAL25-75ELBU,MSAL,25,75,,E,LB,U,MAL-MSAL-25x75.step +MSAL25-75ELBCM,MSAL,25,75,,E,LB,CM,MAL-MSAL-25x75.step +MSAL25-75EFA,MSAL,25,75,,E,FA,,MAL-MSAL-25x75.step +MSAL25-75EFAU,MSAL,25,75,,E,FA,U,MAL-MSAL-25x75.step +MSAL25-75EFACM,MSAL,25,75,,E,FA,CM,MAL-MSAL-25x75.step +MSAL25-75EFB,MSAL,25,75,,E,FB,,MAL-MSAL-25x75.step +MSAL25-75EFBU,MSAL,25,75,,E,FB,U,MAL-MSAL-25x75.step +MSAL25-75EFBCM,MSAL,25,75,,E,FB,CM,MAL-MSAL-25x75.step +MSAL25-75ESDB,MSAL,25,75,,E,SDB,,MAL-MSAL-25x75.step +MSAL25-75ESDBU,MSAL,25,75,,E,SDB,U,MAL-MSAL-25x75.step +MSAL25-75ESDBCM,MSAL,25,75,,E,SDB,CM,MAL-MSAL-25x75.step +MSAL25-75,MSAL,25,75,,,,,MAL-MSAL-25x75.step +MSAL25-75U,MSAL,25,75,,,,U,MAL-MSAL-25x75.step +MSAL25-75CM,MSAL,25,75,,,,CM,MAL-MSAL-25x75.step +MSAL25-75LB,MSAL,25,75,,,LB,,MAL-MSAL-25x75.step +MSAL25-75LBU,MSAL,25,75,,,LB,U,MAL-MSAL-25x75.step +MSAL25-75LBCM,MSAL,25,75,,,LB,CM,MAL-MSAL-25x75.step +MSAL25-75FA,MSAL,25,75,,,FA,,MAL-MSAL-25x75.step +MSAL25-75FAU,MSAL,25,75,,,FA,U,MAL-MSAL-25x75.step +MSAL25-75FACM,MSAL,25,75,,,FA,CM,MAL-MSAL-25x75.step +MSAL25-75FB,MSAL,25,75,,,FB,,MAL-MSAL-25x75.step +MSAL25-75FBU,MSAL,25,75,,,FB,U,MAL-MSAL-25x75.step +MSAL25-75FBCM,MSAL,25,75,,,FB,CM,MAL-MSAL-25x75.step +MSAL25-75SDB,MSAL,25,75,,,SDB,,MAL-MSAL-25x75.step +MSAL25-75SDBU,MSAL,25,75,,,SDB,U,MAL-MSAL-25x75.step +MSAL25-75SDBCM,MSAL,25,75,,,SDB,CM,MAL-MSAL-25x75.step +MSAL25-75ME,MSAL,25,75,M,E,,,MAL-MSAL-25x75.step +MSAL25-75MEU,MSAL,25,75,M,E,,U,MAL-MSAL-25x75.step +MSAL25-75MECM,MSAL,25,75,M,E,,CM,MAL-MSAL-25x75.step +MSAL25-75MELB,MSAL,25,75,M,E,LB,,MAL-MSAL-25x75.step +MSAL25-75MELBU,MSAL,25,75,M,E,LB,U,MAL-MSAL-25x75.step +MSAL25-75MELBCM,MSAL,25,75,M,E,LB,CM,MAL-MSAL-25x75.step +MSAL25-75MEFA,MSAL,25,75,M,E,FA,,MAL-MSAL-25x75.step +MSAL25-75MEFAU,MSAL,25,75,M,E,FA,U,MAL-MSAL-25x75.step +MSAL25-75MEFACM,MSAL,25,75,M,E,FA,CM,MAL-MSAL-25x75.step +MSAL25-75MEFB,MSAL,25,75,M,E,FB,,MAL-MSAL-25x75.step +MSAL25-75MEFBU,MSAL,25,75,M,E,FB,U,MAL-MSAL-25x75.step +MSAL25-75MEFBCM,MSAL,25,75,M,E,FB,CM,MAL-MSAL-25x75.step +MSAL25-75MESDB,MSAL,25,75,M,E,SDB,,MAL-MSAL-25x75.step +MSAL25-75MESDBU,MSAL,25,75,M,E,SDB,U,MAL-MSAL-25x75.step +MSAL25-75MESDBCM,MSAL,25,75,M,E,SDB,CM,MAL-MSAL-25x75.step +MSAL25-75M,MSAL,25,75,M,,,,MAL-MSAL-25x75.step +MSAL25-75MU,MSAL,25,75,M,,,U,MAL-MSAL-25x75.step +MSAL25-75MCM,MSAL,25,75,M,,,CM,MAL-MSAL-25x75.step +MSAL25-75MLB,MSAL,25,75,M,,LB,,MAL-MSAL-25x75.step +MSAL25-75MLBU,MSAL,25,75,M,,LB,U,MAL-MSAL-25x75.step +MSAL25-75MLBCM,MSAL,25,75,M,,LB,CM,MAL-MSAL-25x75.step +MSAL25-75MFA,MSAL,25,75,M,,FA,,MAL-MSAL-25x75.step +MSAL25-75MFAU,MSAL,25,75,M,,FA,U,MAL-MSAL-25x75.step +MSAL25-75MFACM,MSAL,25,75,M,,FA,CM,MAL-MSAL-25x75.step +MSAL25-75MFB,MSAL,25,75,M,,FB,,MAL-MSAL-25x75.step +MSAL25-75MFBU,MSAL,25,75,M,,FB,U,MAL-MSAL-25x75.step +MSAL25-75MFBCM,MSAL,25,75,M,,FB,CM,MAL-MSAL-25x75.step +MSAL25-75MSDB,MSAL,25,75,M,,SDB,,MAL-MSAL-25x75.step +MSAL25-75MSDBU,MSAL,25,75,M,,SDB,U,MAL-MSAL-25x75.step +MSAL25-75MSDBCM,MSAL,25,75,M,,SDB,CM,MAL-MSAL-25x75.step +MSAL25-100E,MSAL,25,100,,E,,,MAL-MSAL-25x100.step +MSAL25-100EU,MSAL,25,100,,E,,U,MAL-MSAL-25x100.step +MSAL25-100ECM,MSAL,25,100,,E,,CM,MAL-MSAL-25x100.step +MSAL25-100ELB,MSAL,25,100,,E,LB,,MAL-MSAL-25x100.step +MSAL25-100ELBU,MSAL,25,100,,E,LB,U,MAL-MSAL-25x100.step +MSAL25-100ELBCM,MSAL,25,100,,E,LB,CM,MAL-MSAL-25x100.step +MSAL25-100EFA,MSAL,25,100,,E,FA,,MAL-MSAL-25x100.step +MSAL25-100EFAU,MSAL,25,100,,E,FA,U,MAL-MSAL-25x100.step +MSAL25-100EFACM,MSAL,25,100,,E,FA,CM,MAL-MSAL-25x100.step +MSAL25-100EFB,MSAL,25,100,,E,FB,,MAL-MSAL-25x100.step +MSAL25-100EFBU,MSAL,25,100,,E,FB,U,MAL-MSAL-25x100.step +MSAL25-100EFBCM,MSAL,25,100,,E,FB,CM,MAL-MSAL-25x100.step +MSAL25-100ESDB,MSAL,25,100,,E,SDB,,MAL-MSAL-25x100.step +MSAL25-100ESDBU,MSAL,25,100,,E,SDB,U,MAL-MSAL-25x100.step +MSAL25-100ESDBCM,MSAL,25,100,,E,SDB,CM,MAL-MSAL-25x100.step +MSAL25-100,MSAL,25,100,,,,,MAL-MSAL-25x100.step +MSAL25-100U,MSAL,25,100,,,,U,MAL-MSAL-25x100.step +MSAL25-100CM,MSAL,25,100,,,,CM,MAL-MSAL-25x100.step +MSAL25-100LB,MSAL,25,100,,,LB,,MAL-MSAL-25x100.step +MSAL25-100LBU,MSAL,25,100,,,LB,U,MAL-MSAL-25x100.step +MSAL25-100LBCM,MSAL,25,100,,,LB,CM,MAL-MSAL-25x100.step +MSAL25-100FA,MSAL,25,100,,,FA,,MAL-MSAL-25x100.step +MSAL25-100FAU,MSAL,25,100,,,FA,U,MAL-MSAL-25x100.step +MSAL25-100FACM,MSAL,25,100,,,FA,CM,MAL-MSAL-25x100.step +MSAL25-100FB,MSAL,25,100,,,FB,,MAL-MSAL-25x100.step +MSAL25-100FBU,MSAL,25,100,,,FB,U,MAL-MSAL-25x100.step +MSAL25-100FBCM,MSAL,25,100,,,FB,CM,MAL-MSAL-25x100.step +MSAL25-100SDB,MSAL,25,100,,,SDB,,MAL-MSAL-25x100.step +MSAL25-100SDBU,MSAL,25,100,,,SDB,U,MAL-MSAL-25x100.step +MSAL25-100SDBCM,MSAL,25,100,,,SDB,CM,MAL-MSAL-25x100.step +MSAL25-100ME,MSAL,25,100,M,E,,,MAL-MSAL-25x100.step +MSAL25-100MEU,MSAL,25,100,M,E,,U,MAL-MSAL-25x100.step +MSAL25-100MECM,MSAL,25,100,M,E,,CM,MAL-MSAL-25x100.step +MSAL25-100MELB,MSAL,25,100,M,E,LB,,MAL-MSAL-25x100.step +MSAL25-100MELBU,MSAL,25,100,M,E,LB,U,MAL-MSAL-25x100.step +MSAL25-100MELBCM,MSAL,25,100,M,E,LB,CM,MAL-MSAL-25x100.step +MSAL25-100MEFA,MSAL,25,100,M,E,FA,,MAL-MSAL-25x100.step +MSAL25-100MEFAU,MSAL,25,100,M,E,FA,U,MAL-MSAL-25x100.step +MSAL25-100MEFACM,MSAL,25,100,M,E,FA,CM,MAL-MSAL-25x100.step +MSAL25-100MEFB,MSAL,25,100,M,E,FB,,MAL-MSAL-25x100.step +MSAL25-100MEFBU,MSAL,25,100,M,E,FB,U,MAL-MSAL-25x100.step +MSAL25-100MEFBCM,MSAL,25,100,M,E,FB,CM,MAL-MSAL-25x100.step +MSAL25-100MESDB,MSAL,25,100,M,E,SDB,,MAL-MSAL-25x100.step +MSAL25-100MESDBU,MSAL,25,100,M,E,SDB,U,MAL-MSAL-25x100.step +MSAL25-100MESDBCM,MSAL,25,100,M,E,SDB,CM,MAL-MSAL-25x100.step +MSAL25-100M,MSAL,25,100,M,,,,MAL-MSAL-25x100.step +MSAL25-100MU,MSAL,25,100,M,,,U,MAL-MSAL-25x100.step +MSAL25-100MCM,MSAL,25,100,M,,,CM,MAL-MSAL-25x100.step +MSAL25-100MLB,MSAL,25,100,M,,LB,,MAL-MSAL-25x100.step +MSAL25-100MLBU,MSAL,25,100,M,,LB,U,MAL-MSAL-25x100.step +MSAL25-100MLBCM,MSAL,25,100,M,,LB,CM,MAL-MSAL-25x100.step +MSAL25-100MFA,MSAL,25,100,M,,FA,,MAL-MSAL-25x100.step +MSAL25-100MFAU,MSAL,25,100,M,,FA,U,MAL-MSAL-25x100.step +MSAL25-100MFACM,MSAL,25,100,M,,FA,CM,MAL-MSAL-25x100.step +MSAL25-100MFB,MSAL,25,100,M,,FB,,MAL-MSAL-25x100.step +MSAL25-100MFBU,MSAL,25,100,M,,FB,U,MAL-MSAL-25x100.step +MSAL25-100MFBCM,MSAL,25,100,M,,FB,CM,MAL-MSAL-25x100.step +MSAL25-100MSDB,MSAL,25,100,M,,SDB,,MAL-MSAL-25x100.step +MSAL25-100MSDBU,MSAL,25,100,M,,SDB,U,MAL-MSAL-25x100.step +MSAL25-100MSDBCM,MSAL,25,100,M,,SDB,CM,MAL-MSAL-25x100.step +MSAL32-10E,MSAL,32,10,,E,,,MAL-MSAL-32x10.step +MSAL32-10EU,MSAL,32,10,,E,,U,MAL-MSAL-32x10.step +MSAL32-10ECM,MSAL,32,10,,E,,CM,MAL-MSAL-32x10.step +MSAL32-10ELB,MSAL,32,10,,E,LB,,MAL-MSAL-32x10.step +MSAL32-10ELBU,MSAL,32,10,,E,LB,U,MAL-MSAL-32x10.step +MSAL32-10ELBCM,MSAL,32,10,,E,LB,CM,MAL-MSAL-32x10.step +MSAL32-10EFA,MSAL,32,10,,E,FA,,MAL-MSAL-32x10.step +MSAL32-10EFAU,MSAL,32,10,,E,FA,U,MAL-MSAL-32x10.step +MSAL32-10EFACM,MSAL,32,10,,E,FA,CM,MAL-MSAL-32x10.step +MSAL32-10EFB,MSAL,32,10,,E,FB,,MAL-MSAL-32x10.step +MSAL32-10EFBU,MSAL,32,10,,E,FB,U,MAL-MSAL-32x10.step +MSAL32-10EFBCM,MSAL,32,10,,E,FB,CM,MAL-MSAL-32x10.step +MSAL32-10ESDB,MSAL,32,10,,E,SDB,,MAL-MSAL-32x10.step +MSAL32-10ESDBU,MSAL,32,10,,E,SDB,U,MAL-MSAL-32x10.step +MSAL32-10ESDBCM,MSAL,32,10,,E,SDB,CM,MAL-MSAL-32x10.step +MSAL32-10,MSAL,32,10,,,,,MAL-MSAL-32x10.step +MSAL32-10U,MSAL,32,10,,,,U,MAL-MSAL-32x10.step +MSAL32-10CM,MSAL,32,10,,,,CM,MAL-MSAL-32x10.step +MSAL32-10LB,MSAL,32,10,,,LB,,MAL-MSAL-32x10.step +MSAL32-10LBU,MSAL,32,10,,,LB,U,MAL-MSAL-32x10.step +MSAL32-10LBCM,MSAL,32,10,,,LB,CM,MAL-MSAL-32x10.step +MSAL32-10FA,MSAL,32,10,,,FA,,MAL-MSAL-32x10.step +MSAL32-10FAU,MSAL,32,10,,,FA,U,MAL-MSAL-32x10.step +MSAL32-10FACM,MSAL,32,10,,,FA,CM,MAL-MSAL-32x10.step +MSAL32-10FB,MSAL,32,10,,,FB,,MAL-MSAL-32x10.step +MSAL32-10FBU,MSAL,32,10,,,FB,U,MAL-MSAL-32x10.step +MSAL32-10FBCM,MSAL,32,10,,,FB,CM,MAL-MSAL-32x10.step +MSAL32-10SDB,MSAL,32,10,,,SDB,,MAL-MSAL-32x10.step +MSAL32-10SDBU,MSAL,32,10,,,SDB,U,MAL-MSAL-32x10.step +MSAL32-10SDBCM,MSAL,32,10,,,SDB,CM,MAL-MSAL-32x10.step +MSAL32-10ME,MSAL,32,10,M,E,,,MAL-MSAL-32x10.step +MSAL32-10MEU,MSAL,32,10,M,E,,U,MAL-MSAL-32x10.step +MSAL32-10MECM,MSAL,32,10,M,E,,CM,MAL-MSAL-32x10.step +MSAL32-10MELB,MSAL,32,10,M,E,LB,,MAL-MSAL-32x10.step +MSAL32-10MELBU,MSAL,32,10,M,E,LB,U,MAL-MSAL-32x10.step +MSAL32-10MELBCM,MSAL,32,10,M,E,LB,CM,MAL-MSAL-32x10.step +MSAL32-10MEFA,MSAL,32,10,M,E,FA,,MAL-MSAL-32x10.step +MSAL32-10MEFAU,MSAL,32,10,M,E,FA,U,MAL-MSAL-32x10.step +MSAL32-10MEFACM,MSAL,32,10,M,E,FA,CM,MAL-MSAL-32x10.step +MSAL32-10MEFB,MSAL,32,10,M,E,FB,,MAL-MSAL-32x10.step +MSAL32-10MEFBU,MSAL,32,10,M,E,FB,U,MAL-MSAL-32x10.step +MSAL32-10MEFBCM,MSAL,32,10,M,E,FB,CM,MAL-MSAL-32x10.step +MSAL32-10MESDB,MSAL,32,10,M,E,SDB,,MAL-MSAL-32x10.step +MSAL32-10MESDBU,MSAL,32,10,M,E,SDB,U,MAL-MSAL-32x10.step +MSAL32-10MESDBCM,MSAL,32,10,M,E,SDB,CM,MAL-MSAL-32x10.step +MSAL32-10M,MSAL,32,10,M,,,,MAL-MSAL-32x10.step +MSAL32-10MU,MSAL,32,10,M,,,U,MAL-MSAL-32x10.step +MSAL32-10MCM,MSAL,32,10,M,,,CM,MAL-MSAL-32x10.step +MSAL32-10MLB,MSAL,32,10,M,,LB,,MAL-MSAL-32x10.step +MSAL32-10MLBU,MSAL,32,10,M,,LB,U,MAL-MSAL-32x10.step +MSAL32-10MLBCM,MSAL,32,10,M,,LB,CM,MAL-MSAL-32x10.step +MSAL32-10MFA,MSAL,32,10,M,,FA,,MAL-MSAL-32x10.step +MSAL32-10MFAU,MSAL,32,10,M,,FA,U,MAL-MSAL-32x10.step +MSAL32-10MFACM,MSAL,32,10,M,,FA,CM,MAL-MSAL-32x10.step +MSAL32-10MFB,MSAL,32,10,M,,FB,,MAL-MSAL-32x10.step +MSAL32-10MFBU,MSAL,32,10,M,,FB,U,MAL-MSAL-32x10.step +MSAL32-10MFBCM,MSAL,32,10,M,,FB,CM,MAL-MSAL-32x10.step +MSAL32-10MSDB,MSAL,32,10,M,,SDB,,MAL-MSAL-32x10.step +MSAL32-10MSDBU,MSAL,32,10,M,,SDB,U,MAL-MSAL-32x10.step +MSAL32-10MSDBCM,MSAL,32,10,M,,SDB,CM,MAL-MSAL-32x10.step +MSAL32-20E,MSAL,32,20,,E,,,MAL-MSAL-32x20.step +MSAL32-20EU,MSAL,32,20,,E,,U,MAL-MSAL-32x20.step +MSAL32-20ECM,MSAL,32,20,,E,,CM,MAL-MSAL-32x20.step +MSAL32-20ELB,MSAL,32,20,,E,LB,,MAL-MSAL-32x20.step +MSAL32-20ELBU,MSAL,32,20,,E,LB,U,MAL-MSAL-32x20.step +MSAL32-20ELBCM,MSAL,32,20,,E,LB,CM,MAL-MSAL-32x20.step +MSAL32-20EFA,MSAL,32,20,,E,FA,,MAL-MSAL-32x20.step +MSAL32-20EFAU,MSAL,32,20,,E,FA,U,MAL-MSAL-32x20.step +MSAL32-20EFACM,MSAL,32,20,,E,FA,CM,MAL-MSAL-32x20.step +MSAL32-20EFB,MSAL,32,20,,E,FB,,MAL-MSAL-32x20.step +MSAL32-20EFBU,MSAL,32,20,,E,FB,U,MAL-MSAL-32x20.step +MSAL32-20EFBCM,MSAL,32,20,,E,FB,CM,MAL-MSAL-32x20.step +MSAL32-20ESDB,MSAL,32,20,,E,SDB,,MAL-MSAL-32x20.step +MSAL32-20ESDBU,MSAL,32,20,,E,SDB,U,MAL-MSAL-32x20.step +MSAL32-20ESDBCM,MSAL,32,20,,E,SDB,CM,MAL-MSAL-32x20.step +MSAL32-20,MSAL,32,20,,,,,MAL-MSAL-32x20.step +MSAL32-20U,MSAL,32,20,,,,U,MAL-MSAL-32x20.step +MSAL32-20CM,MSAL,32,20,,,,CM,MAL-MSAL-32x20.step +MSAL32-20LB,MSAL,32,20,,,LB,,MAL-MSAL-32x20.step +MSAL32-20LBU,MSAL,32,20,,,LB,U,MAL-MSAL-32x20.step +MSAL32-20LBCM,MSAL,32,20,,,LB,CM,MAL-MSAL-32x20.step +MSAL32-20FA,MSAL,32,20,,,FA,,MAL-MSAL-32x20.step +MSAL32-20FAU,MSAL,32,20,,,FA,U,MAL-MSAL-32x20.step +MSAL32-20FACM,MSAL,32,20,,,FA,CM,MAL-MSAL-32x20.step +MSAL32-20FB,MSAL,32,20,,,FB,,MAL-MSAL-32x20.step +MSAL32-20FBU,MSAL,32,20,,,FB,U,MAL-MSAL-32x20.step +MSAL32-20FBCM,MSAL,32,20,,,FB,CM,MAL-MSAL-32x20.step +MSAL32-20SDB,MSAL,32,20,,,SDB,,MAL-MSAL-32x20.step +MSAL32-20SDBU,MSAL,32,20,,,SDB,U,MAL-MSAL-32x20.step +MSAL32-20SDBCM,MSAL,32,20,,,SDB,CM,MAL-MSAL-32x20.step +MSAL32-20ME,MSAL,32,20,M,E,,,MAL-MSAL-32x20.step +MSAL32-20MEU,MSAL,32,20,M,E,,U,MAL-MSAL-32x20.step +MSAL32-20MECM,MSAL,32,20,M,E,,CM,MAL-MSAL-32x20.step +MSAL32-20MELB,MSAL,32,20,M,E,LB,,MAL-MSAL-32x20.step +MSAL32-20MELBU,MSAL,32,20,M,E,LB,U,MAL-MSAL-32x20.step +MSAL32-20MELBCM,MSAL,32,20,M,E,LB,CM,MAL-MSAL-32x20.step +MSAL32-20MEFA,MSAL,32,20,M,E,FA,,MAL-MSAL-32x20.step +MSAL32-20MEFAU,MSAL,32,20,M,E,FA,U,MAL-MSAL-32x20.step +MSAL32-20MEFACM,MSAL,32,20,M,E,FA,CM,MAL-MSAL-32x20.step +MSAL32-20MEFB,MSAL,32,20,M,E,FB,,MAL-MSAL-32x20.step +MSAL32-20MEFBU,MSAL,32,20,M,E,FB,U,MAL-MSAL-32x20.step +MSAL32-20MEFBCM,MSAL,32,20,M,E,FB,CM,MAL-MSAL-32x20.step +MSAL32-20MESDB,MSAL,32,20,M,E,SDB,,MAL-MSAL-32x20.step +MSAL32-20MESDBU,MSAL,32,20,M,E,SDB,U,MAL-MSAL-32x20.step +MSAL32-20MESDBCM,MSAL,32,20,M,E,SDB,CM,MAL-MSAL-32x20.step +MSAL32-20M,MSAL,32,20,M,,,,MAL-MSAL-32x20.step +MSAL32-20MU,MSAL,32,20,M,,,U,MAL-MSAL-32x20.step +MSAL32-20MCM,MSAL,32,20,M,,,CM,MAL-MSAL-32x20.step +MSAL32-20MLB,MSAL,32,20,M,,LB,,MAL-MSAL-32x20.step +MSAL32-20MLBU,MSAL,32,20,M,,LB,U,MAL-MSAL-32x20.step +MSAL32-20MLBCM,MSAL,32,20,M,,LB,CM,MAL-MSAL-32x20.step +MSAL32-20MFA,MSAL,32,20,M,,FA,,MAL-MSAL-32x20.step +MSAL32-20MFAU,MSAL,32,20,M,,FA,U,MAL-MSAL-32x20.step +MSAL32-20MFACM,MSAL,32,20,M,,FA,CM,MAL-MSAL-32x20.step +MSAL32-20MFB,MSAL,32,20,M,,FB,,MAL-MSAL-32x20.step +MSAL32-20MFBU,MSAL,32,20,M,,FB,U,MAL-MSAL-32x20.step +MSAL32-20MFBCM,MSAL,32,20,M,,FB,CM,MAL-MSAL-32x20.step +MSAL32-20MSDB,MSAL,32,20,M,,SDB,,MAL-MSAL-32x20.step +MSAL32-20MSDBU,MSAL,32,20,M,,SDB,U,MAL-MSAL-32x20.step +MSAL32-20MSDBCM,MSAL,32,20,M,,SDB,CM,MAL-MSAL-32x20.step +MSAL32-30E,MSAL,32,30,,E,,,MAL-MSAL-32x30.step +MSAL32-30EU,MSAL,32,30,,E,,U,MAL-MSAL-32x30.step +MSAL32-30ECM,MSAL,32,30,,E,,CM,MAL-MSAL-32x30.step +MSAL32-30ELB,MSAL,32,30,,E,LB,,MAL-MSAL-32x30.step +MSAL32-30ELBU,MSAL,32,30,,E,LB,U,MAL-MSAL-32x30.step +MSAL32-30ELBCM,MSAL,32,30,,E,LB,CM,MAL-MSAL-32x30.step +MSAL32-30EFA,MSAL,32,30,,E,FA,,MAL-MSAL-32x30.step +MSAL32-30EFAU,MSAL,32,30,,E,FA,U,MAL-MSAL-32x30.step +MSAL32-30EFACM,MSAL,32,30,,E,FA,CM,MAL-MSAL-32x30.step +MSAL32-30EFB,MSAL,32,30,,E,FB,,MAL-MSAL-32x30.step +MSAL32-30EFBU,MSAL,32,30,,E,FB,U,MAL-MSAL-32x30.step +MSAL32-30EFBCM,MSAL,32,30,,E,FB,CM,MAL-MSAL-32x30.step +MSAL32-30ESDB,MSAL,32,30,,E,SDB,,MAL-MSAL-32x30.step +MSAL32-30ESDBU,MSAL,32,30,,E,SDB,U,MAL-MSAL-32x30.step +MSAL32-30ESDBCM,MSAL,32,30,,E,SDB,CM,MAL-MSAL-32x30.step +MSAL32-30,MSAL,32,30,,,,,MAL-MSAL-32x30.step +MSAL32-30U,MSAL,32,30,,,,U,MAL-MSAL-32x30.step +MSAL32-30CM,MSAL,32,30,,,,CM,MAL-MSAL-32x30.step +MSAL32-30LB,MSAL,32,30,,,LB,,MAL-MSAL-32x30.step +MSAL32-30LBU,MSAL,32,30,,,LB,U,MAL-MSAL-32x30.step +MSAL32-30LBCM,MSAL,32,30,,,LB,CM,MAL-MSAL-32x30.step +MSAL32-30FA,MSAL,32,30,,,FA,,MAL-MSAL-32x30.step +MSAL32-30FAU,MSAL,32,30,,,FA,U,MAL-MSAL-32x30.step +MSAL32-30FACM,MSAL,32,30,,,FA,CM,MAL-MSAL-32x30.step +MSAL32-30FB,MSAL,32,30,,,FB,,MAL-MSAL-32x30.step +MSAL32-30FBU,MSAL,32,30,,,FB,U,MAL-MSAL-32x30.step +MSAL32-30FBCM,MSAL,32,30,,,FB,CM,MAL-MSAL-32x30.step +MSAL32-30SDB,MSAL,32,30,,,SDB,,MAL-MSAL-32x30.step +MSAL32-30SDBU,MSAL,32,30,,,SDB,U,MAL-MSAL-32x30.step +MSAL32-30SDBCM,MSAL,32,30,,,SDB,CM,MAL-MSAL-32x30.step +MSAL32-30ME,MSAL,32,30,M,E,,,MAL-MSAL-32x30.step +MSAL32-30MEU,MSAL,32,30,M,E,,U,MAL-MSAL-32x30.step +MSAL32-30MECM,MSAL,32,30,M,E,,CM,MAL-MSAL-32x30.step +MSAL32-30MELB,MSAL,32,30,M,E,LB,,MAL-MSAL-32x30.step +MSAL32-30MELBU,MSAL,32,30,M,E,LB,U,MAL-MSAL-32x30.step +MSAL32-30MELBCM,MSAL,32,30,M,E,LB,CM,MAL-MSAL-32x30.step +MSAL32-30MEFA,MSAL,32,30,M,E,FA,,MAL-MSAL-32x30.step +MSAL32-30MEFAU,MSAL,32,30,M,E,FA,U,MAL-MSAL-32x30.step +MSAL32-30MEFACM,MSAL,32,30,M,E,FA,CM,MAL-MSAL-32x30.step +MSAL32-30MEFB,MSAL,32,30,M,E,FB,,MAL-MSAL-32x30.step +MSAL32-30MEFBU,MSAL,32,30,M,E,FB,U,MAL-MSAL-32x30.step +MSAL32-30MEFBCM,MSAL,32,30,M,E,FB,CM,MAL-MSAL-32x30.step +MSAL32-30MESDB,MSAL,32,30,M,E,SDB,,MAL-MSAL-32x30.step +MSAL32-30MESDBU,MSAL,32,30,M,E,SDB,U,MAL-MSAL-32x30.step +MSAL32-30MESDBCM,MSAL,32,30,M,E,SDB,CM,MAL-MSAL-32x30.step +MSAL32-30M,MSAL,32,30,M,,,,MAL-MSAL-32x30.step +MSAL32-30MU,MSAL,32,30,M,,,U,MAL-MSAL-32x30.step +MSAL32-30MCM,MSAL,32,30,M,,,CM,MAL-MSAL-32x30.step +MSAL32-30MLB,MSAL,32,30,M,,LB,,MAL-MSAL-32x30.step +MSAL32-30MLBU,MSAL,32,30,M,,LB,U,MAL-MSAL-32x30.step +MSAL32-30MLBCM,MSAL,32,30,M,,LB,CM,MAL-MSAL-32x30.step +MSAL32-30MFA,MSAL,32,30,M,,FA,,MAL-MSAL-32x30.step +MSAL32-30MFAU,MSAL,32,30,M,,FA,U,MAL-MSAL-32x30.step +MSAL32-30MFACM,MSAL,32,30,M,,FA,CM,MAL-MSAL-32x30.step +MSAL32-30MFB,MSAL,32,30,M,,FB,,MAL-MSAL-32x30.step +MSAL32-30MFBU,MSAL,32,30,M,,FB,U,MAL-MSAL-32x30.step +MSAL32-30MFBCM,MSAL,32,30,M,,FB,CM,MAL-MSAL-32x30.step +MSAL32-30MSDB,MSAL,32,30,M,,SDB,,MAL-MSAL-32x30.step +MSAL32-30MSDBU,MSAL,32,30,M,,SDB,U,MAL-MSAL-32x30.step +MSAL32-30MSDBCM,MSAL,32,30,M,,SDB,CM,MAL-MSAL-32x30.step +MSAL32-50E,MSAL,32,50,,E,,,MAL-MSAL-32x50.step +MSAL32-50EU,MSAL,32,50,,E,,U,MAL-MSAL-32x50.step +MSAL32-50ECM,MSAL,32,50,,E,,CM,MAL-MSAL-32x50.step +MSAL32-50ELB,MSAL,32,50,,E,LB,,MAL-MSAL-32x50.step +MSAL32-50ELBU,MSAL,32,50,,E,LB,U,MAL-MSAL-32x50.step +MSAL32-50ELBCM,MSAL,32,50,,E,LB,CM,MAL-MSAL-32x50.step +MSAL32-50EFA,MSAL,32,50,,E,FA,,MAL-MSAL-32x50.step +MSAL32-50EFAU,MSAL,32,50,,E,FA,U,MAL-MSAL-32x50.step +MSAL32-50EFACM,MSAL,32,50,,E,FA,CM,MAL-MSAL-32x50.step +MSAL32-50EFB,MSAL,32,50,,E,FB,,MAL-MSAL-32x50.step +MSAL32-50EFBU,MSAL,32,50,,E,FB,U,MAL-MSAL-32x50.step +MSAL32-50EFBCM,MSAL,32,50,,E,FB,CM,MAL-MSAL-32x50.step +MSAL32-50ESDB,MSAL,32,50,,E,SDB,,MAL-MSAL-32x50.step +MSAL32-50ESDBU,MSAL,32,50,,E,SDB,U,MAL-MSAL-32x50.step +MSAL32-50ESDBCM,MSAL,32,50,,E,SDB,CM,MAL-MSAL-32x50.step +MSAL32-50,MSAL,32,50,,,,,MAL-MSAL-32x50.step +MSAL32-50U,MSAL,32,50,,,,U,MAL-MSAL-32x50.step +MSAL32-50CM,MSAL,32,50,,,,CM,MAL-MSAL-32x50.step +MSAL32-50LB,MSAL,32,50,,,LB,,MAL-MSAL-32x50.step +MSAL32-50LBU,MSAL,32,50,,,LB,U,MAL-MSAL-32x50.step +MSAL32-50LBCM,MSAL,32,50,,,LB,CM,MAL-MSAL-32x50.step +MSAL32-50FA,MSAL,32,50,,,FA,,MAL-MSAL-32x50.step +MSAL32-50FAU,MSAL,32,50,,,FA,U,MAL-MSAL-32x50.step +MSAL32-50FACM,MSAL,32,50,,,FA,CM,MAL-MSAL-32x50.step +MSAL32-50FB,MSAL,32,50,,,FB,,MAL-MSAL-32x50.step +MSAL32-50FBU,MSAL,32,50,,,FB,U,MAL-MSAL-32x50.step +MSAL32-50FBCM,MSAL,32,50,,,FB,CM,MAL-MSAL-32x50.step +MSAL32-50SDB,MSAL,32,50,,,SDB,,MAL-MSAL-32x50.step +MSAL32-50SDBU,MSAL,32,50,,,SDB,U,MAL-MSAL-32x50.step +MSAL32-50SDBCM,MSAL,32,50,,,SDB,CM,MAL-MSAL-32x50.step +MSAL32-50ME,MSAL,32,50,M,E,,,MAL-MSAL-32x50.step +MSAL32-50MEU,MSAL,32,50,M,E,,U,MAL-MSAL-32x50.step +MSAL32-50MECM,MSAL,32,50,M,E,,CM,MAL-MSAL-32x50.step +MSAL32-50MELB,MSAL,32,50,M,E,LB,,MAL-MSAL-32x50.step +MSAL32-50MELBU,MSAL,32,50,M,E,LB,U,MAL-MSAL-32x50.step +MSAL32-50MELBCM,MSAL,32,50,M,E,LB,CM,MAL-MSAL-32x50.step +MSAL32-50MEFA,MSAL,32,50,M,E,FA,,MAL-MSAL-32x50.step +MSAL32-50MEFAU,MSAL,32,50,M,E,FA,U,MAL-MSAL-32x50.step +MSAL32-50MEFACM,MSAL,32,50,M,E,FA,CM,MAL-MSAL-32x50.step +MSAL32-50MEFB,MSAL,32,50,M,E,FB,,MAL-MSAL-32x50.step +MSAL32-50MEFBU,MSAL,32,50,M,E,FB,U,MAL-MSAL-32x50.step +MSAL32-50MEFBCM,MSAL,32,50,M,E,FB,CM,MAL-MSAL-32x50.step +MSAL32-50MESDB,MSAL,32,50,M,E,SDB,,MAL-MSAL-32x50.step +MSAL32-50MESDBU,MSAL,32,50,M,E,SDB,U,MAL-MSAL-32x50.step +MSAL32-50MESDBCM,MSAL,32,50,M,E,SDB,CM,MAL-MSAL-32x50.step +MSAL32-50M,MSAL,32,50,M,,,,MAL-MSAL-32x50.step +MSAL32-50MU,MSAL,32,50,M,,,U,MAL-MSAL-32x50.step +MSAL32-50MCM,MSAL,32,50,M,,,CM,MAL-MSAL-32x50.step +MSAL32-50MLB,MSAL,32,50,M,,LB,,MAL-MSAL-32x50.step +MSAL32-50MLBU,MSAL,32,50,M,,LB,U,MAL-MSAL-32x50.step +MSAL32-50MLBCM,MSAL,32,50,M,,LB,CM,MAL-MSAL-32x50.step +MSAL32-50MFA,MSAL,32,50,M,,FA,,MAL-MSAL-32x50.step +MSAL32-50MFAU,MSAL,32,50,M,,FA,U,MAL-MSAL-32x50.step +MSAL32-50MFACM,MSAL,32,50,M,,FA,CM,MAL-MSAL-32x50.step +MSAL32-50MFB,MSAL,32,50,M,,FB,,MAL-MSAL-32x50.step +MSAL32-50MFBU,MSAL,32,50,M,,FB,U,MAL-MSAL-32x50.step +MSAL32-50MFBCM,MSAL,32,50,M,,FB,CM,MAL-MSAL-32x50.step +MSAL32-50MSDB,MSAL,32,50,M,,SDB,,MAL-MSAL-32x50.step +MSAL32-50MSDBU,MSAL,32,50,M,,SDB,U,MAL-MSAL-32x50.step +MSAL32-50MSDBCM,MSAL,32,50,M,,SDB,CM,MAL-MSAL-32x50.step +MSAL32-75E,MSAL,32,75,,E,,,MAL-MSAL-32x75.step +MSAL32-75EU,MSAL,32,75,,E,,U,MAL-MSAL-32x75.step +MSAL32-75ECM,MSAL,32,75,,E,,CM,MAL-MSAL-32x75.step +MSAL32-75ELB,MSAL,32,75,,E,LB,,MAL-MSAL-32x75.step +MSAL32-75ELBU,MSAL,32,75,,E,LB,U,MAL-MSAL-32x75.step +MSAL32-75ELBCM,MSAL,32,75,,E,LB,CM,MAL-MSAL-32x75.step +MSAL32-75EFA,MSAL,32,75,,E,FA,,MAL-MSAL-32x75.step +MSAL32-75EFAU,MSAL,32,75,,E,FA,U,MAL-MSAL-32x75.step +MSAL32-75EFACM,MSAL,32,75,,E,FA,CM,MAL-MSAL-32x75.step +MSAL32-75EFB,MSAL,32,75,,E,FB,,MAL-MSAL-32x75.step +MSAL32-75EFBU,MSAL,32,75,,E,FB,U,MAL-MSAL-32x75.step +MSAL32-75EFBCM,MSAL,32,75,,E,FB,CM,MAL-MSAL-32x75.step +MSAL32-75ESDB,MSAL,32,75,,E,SDB,,MAL-MSAL-32x75.step +MSAL32-75ESDBU,MSAL,32,75,,E,SDB,U,MAL-MSAL-32x75.step +MSAL32-75ESDBCM,MSAL,32,75,,E,SDB,CM,MAL-MSAL-32x75.step +MSAL32-75,MSAL,32,75,,,,,MAL-MSAL-32x75.step +MSAL32-75U,MSAL,32,75,,,,U,MAL-MSAL-32x75.step +MSAL32-75CM,MSAL,32,75,,,,CM,MAL-MSAL-32x75.step +MSAL32-75LB,MSAL,32,75,,,LB,,MAL-MSAL-32x75.step +MSAL32-75LBU,MSAL,32,75,,,LB,U,MAL-MSAL-32x75.step +MSAL32-75LBCM,MSAL,32,75,,,LB,CM,MAL-MSAL-32x75.step +MSAL32-75FA,MSAL,32,75,,,FA,,MAL-MSAL-32x75.step +MSAL32-75FAU,MSAL,32,75,,,FA,U,MAL-MSAL-32x75.step +MSAL32-75FACM,MSAL,32,75,,,FA,CM,MAL-MSAL-32x75.step +MSAL32-75FB,MSAL,32,75,,,FB,,MAL-MSAL-32x75.step +MSAL32-75FBU,MSAL,32,75,,,FB,U,MAL-MSAL-32x75.step +MSAL32-75FBCM,MSAL,32,75,,,FB,CM,MAL-MSAL-32x75.step +MSAL32-75SDB,MSAL,32,75,,,SDB,,MAL-MSAL-32x75.step +MSAL32-75SDBU,MSAL,32,75,,,SDB,U,MAL-MSAL-32x75.step +MSAL32-75SDBCM,MSAL,32,75,,,SDB,CM,MAL-MSAL-32x75.step +MSAL32-75ME,MSAL,32,75,M,E,,,MAL-MSAL-32x75.step +MSAL32-75MEU,MSAL,32,75,M,E,,U,MAL-MSAL-32x75.step +MSAL32-75MECM,MSAL,32,75,M,E,,CM,MAL-MSAL-32x75.step +MSAL32-75MELB,MSAL,32,75,M,E,LB,,MAL-MSAL-32x75.step +MSAL32-75MELBU,MSAL,32,75,M,E,LB,U,MAL-MSAL-32x75.step +MSAL32-75MELBCM,MSAL,32,75,M,E,LB,CM,MAL-MSAL-32x75.step +MSAL32-75MEFA,MSAL,32,75,M,E,FA,,MAL-MSAL-32x75.step +MSAL32-75MEFAU,MSAL,32,75,M,E,FA,U,MAL-MSAL-32x75.step +MSAL32-75MEFACM,MSAL,32,75,M,E,FA,CM,MAL-MSAL-32x75.step +MSAL32-75MEFB,MSAL,32,75,M,E,FB,,MAL-MSAL-32x75.step +MSAL32-75MEFBU,MSAL,32,75,M,E,FB,U,MAL-MSAL-32x75.step +MSAL32-75MEFBCM,MSAL,32,75,M,E,FB,CM,MAL-MSAL-32x75.step +MSAL32-75MESDB,MSAL,32,75,M,E,SDB,,MAL-MSAL-32x75.step +MSAL32-75MESDBU,MSAL,32,75,M,E,SDB,U,MAL-MSAL-32x75.step +MSAL32-75MESDBCM,MSAL,32,75,M,E,SDB,CM,MAL-MSAL-32x75.step +MSAL32-75M,MSAL,32,75,M,,,,MAL-MSAL-32x75.step +MSAL32-75MU,MSAL,32,75,M,,,U,MAL-MSAL-32x75.step +MSAL32-75MCM,MSAL,32,75,M,,,CM,MAL-MSAL-32x75.step +MSAL32-75MLB,MSAL,32,75,M,,LB,,MAL-MSAL-32x75.step +MSAL32-75MLBU,MSAL,32,75,M,,LB,U,MAL-MSAL-32x75.step +MSAL32-75MLBCM,MSAL,32,75,M,,LB,CM,MAL-MSAL-32x75.step +MSAL32-75MFA,MSAL,32,75,M,,FA,,MAL-MSAL-32x75.step +MSAL32-75MFAU,MSAL,32,75,M,,FA,U,MAL-MSAL-32x75.step +MSAL32-75MFACM,MSAL,32,75,M,,FA,CM,MAL-MSAL-32x75.step +MSAL32-75MFB,MSAL,32,75,M,,FB,,MAL-MSAL-32x75.step +MSAL32-75MFBU,MSAL,32,75,M,,FB,U,MAL-MSAL-32x75.step +MSAL32-75MFBCM,MSAL,32,75,M,,FB,CM,MAL-MSAL-32x75.step +MSAL32-75MSDB,MSAL,32,75,M,,SDB,,MAL-MSAL-32x75.step +MSAL32-75MSDBU,MSAL,32,75,M,,SDB,U,MAL-MSAL-32x75.step +MSAL32-75MSDBCM,MSAL,32,75,M,,SDB,CM,MAL-MSAL-32x75.step +MSAL32-100E,MSAL,32,100,,E,,,MAL-MSAL-32x100.step +MSAL32-100EU,MSAL,32,100,,E,,U,MAL-MSAL-32x100.step +MSAL32-100ECM,MSAL,32,100,,E,,CM,MAL-MSAL-32x100.step +MSAL32-100ELB,MSAL,32,100,,E,LB,,MAL-MSAL-32x100.step +MSAL32-100ELBU,MSAL,32,100,,E,LB,U,MAL-MSAL-32x100.step +MSAL32-100ELBCM,MSAL,32,100,,E,LB,CM,MAL-MSAL-32x100.step +MSAL32-100EFA,MSAL,32,100,,E,FA,,MAL-MSAL-32x100.step +MSAL32-100EFAU,MSAL,32,100,,E,FA,U,MAL-MSAL-32x100.step +MSAL32-100EFACM,MSAL,32,100,,E,FA,CM,MAL-MSAL-32x100.step +MSAL32-100EFB,MSAL,32,100,,E,FB,,MAL-MSAL-32x100.step +MSAL32-100EFBU,MSAL,32,100,,E,FB,U,MAL-MSAL-32x100.step +MSAL32-100EFBCM,MSAL,32,100,,E,FB,CM,MAL-MSAL-32x100.step +MSAL32-100ESDB,MSAL,32,100,,E,SDB,,MAL-MSAL-32x100.step +MSAL32-100ESDBU,MSAL,32,100,,E,SDB,U,MAL-MSAL-32x100.step +MSAL32-100ESDBCM,MSAL,32,100,,E,SDB,CM,MAL-MSAL-32x100.step +MSAL32-100,MSAL,32,100,,,,,MAL-MSAL-32x100.step +MSAL32-100U,MSAL,32,100,,,,U,MAL-MSAL-32x100.step +MSAL32-100CM,MSAL,32,100,,,,CM,MAL-MSAL-32x100.step +MSAL32-100LB,MSAL,32,100,,,LB,,MAL-MSAL-32x100.step +MSAL32-100LBU,MSAL,32,100,,,LB,U,MAL-MSAL-32x100.step +MSAL32-100LBCM,MSAL,32,100,,,LB,CM,MAL-MSAL-32x100.step +MSAL32-100FA,MSAL,32,100,,,FA,,MAL-MSAL-32x100.step +MSAL32-100FAU,MSAL,32,100,,,FA,U,MAL-MSAL-32x100.step +MSAL32-100FACM,MSAL,32,100,,,FA,CM,MAL-MSAL-32x100.step +MSAL32-100FB,MSAL,32,100,,,FB,,MAL-MSAL-32x100.step +MSAL32-100FBU,MSAL,32,100,,,FB,U,MAL-MSAL-32x100.step +MSAL32-100FBCM,MSAL,32,100,,,FB,CM,MAL-MSAL-32x100.step +MSAL32-100SDB,MSAL,32,100,,,SDB,,MAL-MSAL-32x100.step +MSAL32-100SDBU,MSAL,32,100,,,SDB,U,MAL-MSAL-32x100.step +MSAL32-100SDBCM,MSAL,32,100,,,SDB,CM,MAL-MSAL-32x100.step +MSAL32-100ME,MSAL,32,100,M,E,,,MAL-MSAL-32x100.step +MSAL32-100MEU,MSAL,32,100,M,E,,U,MAL-MSAL-32x100.step +MSAL32-100MECM,MSAL,32,100,M,E,,CM,MAL-MSAL-32x100.step +MSAL32-100MELB,MSAL,32,100,M,E,LB,,MAL-MSAL-32x100.step +MSAL32-100MELBU,MSAL,32,100,M,E,LB,U,MAL-MSAL-32x100.step +MSAL32-100MELBCM,MSAL,32,100,M,E,LB,CM,MAL-MSAL-32x100.step +MSAL32-100MEFA,MSAL,32,100,M,E,FA,,MAL-MSAL-32x100.step +MSAL32-100MEFAU,MSAL,32,100,M,E,FA,U,MAL-MSAL-32x100.step +MSAL32-100MEFACM,MSAL,32,100,M,E,FA,CM,MAL-MSAL-32x100.step +MSAL32-100MEFB,MSAL,32,100,M,E,FB,,MAL-MSAL-32x100.step +MSAL32-100MEFBU,MSAL,32,100,M,E,FB,U,MAL-MSAL-32x100.step +MSAL32-100MEFBCM,MSAL,32,100,M,E,FB,CM,MAL-MSAL-32x100.step +MSAL32-100MESDB,MSAL,32,100,M,E,SDB,,MAL-MSAL-32x100.step +MSAL32-100MESDBU,MSAL,32,100,M,E,SDB,U,MAL-MSAL-32x100.step +MSAL32-100MESDBCM,MSAL,32,100,M,E,SDB,CM,MAL-MSAL-32x100.step +MSAL32-100M,MSAL,32,100,M,,,,MAL-MSAL-32x100.step +MSAL32-100MU,MSAL,32,100,M,,,U,MAL-MSAL-32x100.step +MSAL32-100MCM,MSAL,32,100,M,,,CM,MAL-MSAL-32x100.step +MSAL32-100MLB,MSAL,32,100,M,,LB,,MAL-MSAL-32x100.step +MSAL32-100MLBU,MSAL,32,100,M,,LB,U,MAL-MSAL-32x100.step +MSAL32-100MLBCM,MSAL,32,100,M,,LB,CM,MAL-MSAL-32x100.step +MSAL32-100MFA,MSAL,32,100,M,,FA,,MAL-MSAL-32x100.step +MSAL32-100MFAU,MSAL,32,100,M,,FA,U,MAL-MSAL-32x100.step +MSAL32-100MFACM,MSAL,32,100,M,,FA,CM,MAL-MSAL-32x100.step +MSAL32-100MFB,MSAL,32,100,M,,FB,,MAL-MSAL-32x100.step +MSAL32-100MFBU,MSAL,32,100,M,,FB,U,MAL-MSAL-32x100.step +MSAL32-100MFBCM,MSAL,32,100,M,,FB,CM,MAL-MSAL-32x100.step +MSAL32-100MSDB,MSAL,32,100,M,,SDB,,MAL-MSAL-32x100.step +MSAL32-100MSDBU,MSAL,32,100,M,,SDB,U,MAL-MSAL-32x100.step +MSAL32-100MSDBCM,MSAL,32,100,M,,SDB,CM,MAL-MSAL-32x100.step +MSAL40-10E,MSAL,40,10,,E,,,MAL-MSAL-40x10.step +MSAL40-10EU,MSAL,40,10,,E,,U,MAL-MSAL-40x10.step +MSAL40-10ECM,MSAL,40,10,,E,,CM,MAL-MSAL-40x10.step +MSAL40-10ELB,MSAL,40,10,,E,LB,,MAL-MSAL-40x10.step +MSAL40-10ELBU,MSAL,40,10,,E,LB,U,MAL-MSAL-40x10.step +MSAL40-10ELBCM,MSAL,40,10,,E,LB,CM,MAL-MSAL-40x10.step +MSAL40-10EFA,MSAL,40,10,,E,FA,,MAL-MSAL-40x10.step +MSAL40-10EFAU,MSAL,40,10,,E,FA,U,MAL-MSAL-40x10.step +MSAL40-10EFACM,MSAL,40,10,,E,FA,CM,MAL-MSAL-40x10.step +MSAL40-10EFB,MSAL,40,10,,E,FB,,MAL-MSAL-40x10.step +MSAL40-10EFBU,MSAL,40,10,,E,FB,U,MAL-MSAL-40x10.step +MSAL40-10EFBCM,MSAL,40,10,,E,FB,CM,MAL-MSAL-40x10.step +MSAL40-10ESDB,MSAL,40,10,,E,SDB,,MAL-MSAL-40x10.step +MSAL40-10ESDBU,MSAL,40,10,,E,SDB,U,MAL-MSAL-40x10.step +MSAL40-10ESDBCM,MSAL,40,10,,E,SDB,CM,MAL-MSAL-40x10.step +MSAL40-10,MSAL,40,10,,,,,MAL-MSAL-40x10.step +MSAL40-10U,MSAL,40,10,,,,U,MAL-MSAL-40x10.step +MSAL40-10CM,MSAL,40,10,,,,CM,MAL-MSAL-40x10.step +MSAL40-10LB,MSAL,40,10,,,LB,,MAL-MSAL-40x10.step +MSAL40-10LBU,MSAL,40,10,,,LB,U,MAL-MSAL-40x10.step +MSAL40-10LBCM,MSAL,40,10,,,LB,CM,MAL-MSAL-40x10.step +MSAL40-10FA,MSAL,40,10,,,FA,,MAL-MSAL-40x10.step +MSAL40-10FAU,MSAL,40,10,,,FA,U,MAL-MSAL-40x10.step +MSAL40-10FACM,MSAL,40,10,,,FA,CM,MAL-MSAL-40x10.step +MSAL40-10FB,MSAL,40,10,,,FB,,MAL-MSAL-40x10.step +MSAL40-10FBU,MSAL,40,10,,,FB,U,MAL-MSAL-40x10.step +MSAL40-10FBCM,MSAL,40,10,,,FB,CM,MAL-MSAL-40x10.step +MSAL40-10SDB,MSAL,40,10,,,SDB,,MAL-MSAL-40x10.step +MSAL40-10SDBU,MSAL,40,10,,,SDB,U,MAL-MSAL-40x10.step +MSAL40-10SDBCM,MSAL,40,10,,,SDB,CM,MAL-MSAL-40x10.step +MSAL40-10ME,MSAL,40,10,M,E,,,MAL-MSAL-40x10.step +MSAL40-10MEU,MSAL,40,10,M,E,,U,MAL-MSAL-40x10.step +MSAL40-10MECM,MSAL,40,10,M,E,,CM,MAL-MSAL-40x10.step +MSAL40-10MELB,MSAL,40,10,M,E,LB,,MAL-MSAL-40x10.step +MSAL40-10MELBU,MSAL,40,10,M,E,LB,U,MAL-MSAL-40x10.step +MSAL40-10MELBCM,MSAL,40,10,M,E,LB,CM,MAL-MSAL-40x10.step +MSAL40-10MEFA,MSAL,40,10,M,E,FA,,MAL-MSAL-40x10.step +MSAL40-10MEFAU,MSAL,40,10,M,E,FA,U,MAL-MSAL-40x10.step +MSAL40-10MEFACM,MSAL,40,10,M,E,FA,CM,MAL-MSAL-40x10.step +MSAL40-10MEFB,MSAL,40,10,M,E,FB,,MAL-MSAL-40x10.step +MSAL40-10MEFBU,MSAL,40,10,M,E,FB,U,MAL-MSAL-40x10.step +MSAL40-10MEFBCM,MSAL,40,10,M,E,FB,CM,MAL-MSAL-40x10.step +MSAL40-10MESDB,MSAL,40,10,M,E,SDB,,MAL-MSAL-40x10.step +MSAL40-10MESDBU,MSAL,40,10,M,E,SDB,U,MAL-MSAL-40x10.step +MSAL40-10MESDBCM,MSAL,40,10,M,E,SDB,CM,MAL-MSAL-40x10.step +MSAL40-10M,MSAL,40,10,M,,,,MAL-MSAL-40x10.step +MSAL40-10MU,MSAL,40,10,M,,,U,MAL-MSAL-40x10.step +MSAL40-10MCM,MSAL,40,10,M,,,CM,MAL-MSAL-40x10.step +MSAL40-10MLB,MSAL,40,10,M,,LB,,MAL-MSAL-40x10.step +MSAL40-10MLBU,MSAL,40,10,M,,LB,U,MAL-MSAL-40x10.step +MSAL40-10MLBCM,MSAL,40,10,M,,LB,CM,MAL-MSAL-40x10.step +MSAL40-10MFA,MSAL,40,10,M,,FA,,MAL-MSAL-40x10.step +MSAL40-10MFAU,MSAL,40,10,M,,FA,U,MAL-MSAL-40x10.step +MSAL40-10MFACM,MSAL,40,10,M,,FA,CM,MAL-MSAL-40x10.step +MSAL40-10MFB,MSAL,40,10,M,,FB,,MAL-MSAL-40x10.step +MSAL40-10MFBU,MSAL,40,10,M,,FB,U,MAL-MSAL-40x10.step +MSAL40-10MFBCM,MSAL,40,10,M,,FB,CM,MAL-MSAL-40x10.step +MSAL40-10MSDB,MSAL,40,10,M,,SDB,,MAL-MSAL-40x10.step +MSAL40-10MSDBU,MSAL,40,10,M,,SDB,U,MAL-MSAL-40x10.step +MSAL40-10MSDBCM,MSAL,40,10,M,,SDB,CM,MAL-MSAL-40x10.step +MSAL40-20E,MSAL,40,20,,E,,,MAL-MSAL-40x20.step +MSAL40-20EU,MSAL,40,20,,E,,U,MAL-MSAL-40x20.step +MSAL40-20ECM,MSAL,40,20,,E,,CM,MAL-MSAL-40x20.step +MSAL40-20ELB,MSAL,40,20,,E,LB,,MAL-MSAL-40x20.step +MSAL40-20ELBU,MSAL,40,20,,E,LB,U,MAL-MSAL-40x20.step +MSAL40-20ELBCM,MSAL,40,20,,E,LB,CM,MAL-MSAL-40x20.step +MSAL40-20EFA,MSAL,40,20,,E,FA,,MAL-MSAL-40x20.step +MSAL40-20EFAU,MSAL,40,20,,E,FA,U,MAL-MSAL-40x20.step +MSAL40-20EFACM,MSAL,40,20,,E,FA,CM,MAL-MSAL-40x20.step +MSAL40-20EFB,MSAL,40,20,,E,FB,,MAL-MSAL-40x20.step +MSAL40-20EFBU,MSAL,40,20,,E,FB,U,MAL-MSAL-40x20.step +MSAL40-20EFBCM,MSAL,40,20,,E,FB,CM,MAL-MSAL-40x20.step +MSAL40-20ESDB,MSAL,40,20,,E,SDB,,MAL-MSAL-40x20.step +MSAL40-20ESDBU,MSAL,40,20,,E,SDB,U,MAL-MSAL-40x20.step +MSAL40-20ESDBCM,MSAL,40,20,,E,SDB,CM,MAL-MSAL-40x20.step +MSAL40-20,MSAL,40,20,,,,,MAL-MSAL-40x20.step +MSAL40-20U,MSAL,40,20,,,,U,MAL-MSAL-40x20.step +MSAL40-20CM,MSAL,40,20,,,,CM,MAL-MSAL-40x20.step +MSAL40-20LB,MSAL,40,20,,,LB,,MAL-MSAL-40x20.step +MSAL40-20LBU,MSAL,40,20,,,LB,U,MAL-MSAL-40x20.step +MSAL40-20LBCM,MSAL,40,20,,,LB,CM,MAL-MSAL-40x20.step +MSAL40-20FA,MSAL,40,20,,,FA,,MAL-MSAL-40x20.step +MSAL40-20FAU,MSAL,40,20,,,FA,U,MAL-MSAL-40x20.step +MSAL40-20FACM,MSAL,40,20,,,FA,CM,MAL-MSAL-40x20.step +MSAL40-20FB,MSAL,40,20,,,FB,,MAL-MSAL-40x20.step +MSAL40-20FBU,MSAL,40,20,,,FB,U,MAL-MSAL-40x20.step +MSAL40-20FBCM,MSAL,40,20,,,FB,CM,MAL-MSAL-40x20.step +MSAL40-20SDB,MSAL,40,20,,,SDB,,MAL-MSAL-40x20.step +MSAL40-20SDBU,MSAL,40,20,,,SDB,U,MAL-MSAL-40x20.step +MSAL40-20SDBCM,MSAL,40,20,,,SDB,CM,MAL-MSAL-40x20.step +MSAL40-20ME,MSAL,40,20,M,E,,,MAL-MSAL-40x20.step +MSAL40-20MEU,MSAL,40,20,M,E,,U,MAL-MSAL-40x20.step +MSAL40-20MECM,MSAL,40,20,M,E,,CM,MAL-MSAL-40x20.step +MSAL40-20MELB,MSAL,40,20,M,E,LB,,MAL-MSAL-40x20.step +MSAL40-20MELBU,MSAL,40,20,M,E,LB,U,MAL-MSAL-40x20.step +MSAL40-20MELBCM,MSAL,40,20,M,E,LB,CM,MAL-MSAL-40x20.step +MSAL40-20MEFA,MSAL,40,20,M,E,FA,,MAL-MSAL-40x20.step +MSAL40-20MEFAU,MSAL,40,20,M,E,FA,U,MAL-MSAL-40x20.step +MSAL40-20MEFACM,MSAL,40,20,M,E,FA,CM,MAL-MSAL-40x20.step +MSAL40-20MEFB,MSAL,40,20,M,E,FB,,MAL-MSAL-40x20.step +MSAL40-20MEFBU,MSAL,40,20,M,E,FB,U,MAL-MSAL-40x20.step +MSAL40-20MEFBCM,MSAL,40,20,M,E,FB,CM,MAL-MSAL-40x20.step +MSAL40-20MESDB,MSAL,40,20,M,E,SDB,,MAL-MSAL-40x20.step +MSAL40-20MESDBU,MSAL,40,20,M,E,SDB,U,MAL-MSAL-40x20.step +MSAL40-20MESDBCM,MSAL,40,20,M,E,SDB,CM,MAL-MSAL-40x20.step +MSAL40-20M,MSAL,40,20,M,,,,MAL-MSAL-40x20.step +MSAL40-20MU,MSAL,40,20,M,,,U,MAL-MSAL-40x20.step +MSAL40-20MCM,MSAL,40,20,M,,,CM,MAL-MSAL-40x20.step +MSAL40-20MLB,MSAL,40,20,M,,LB,,MAL-MSAL-40x20.step +MSAL40-20MLBU,MSAL,40,20,M,,LB,U,MAL-MSAL-40x20.step +MSAL40-20MLBCM,MSAL,40,20,M,,LB,CM,MAL-MSAL-40x20.step +MSAL40-20MFA,MSAL,40,20,M,,FA,,MAL-MSAL-40x20.step +MSAL40-20MFAU,MSAL,40,20,M,,FA,U,MAL-MSAL-40x20.step +MSAL40-20MFACM,MSAL,40,20,M,,FA,CM,MAL-MSAL-40x20.step +MSAL40-20MFB,MSAL,40,20,M,,FB,,MAL-MSAL-40x20.step +MSAL40-20MFBU,MSAL,40,20,M,,FB,U,MAL-MSAL-40x20.step +MSAL40-20MFBCM,MSAL,40,20,M,,FB,CM,MAL-MSAL-40x20.step +MSAL40-20MSDB,MSAL,40,20,M,,SDB,,MAL-MSAL-40x20.step +MSAL40-20MSDBU,MSAL,40,20,M,,SDB,U,MAL-MSAL-40x20.step +MSAL40-20MSDBCM,MSAL,40,20,M,,SDB,CM,MAL-MSAL-40x20.step +MSAL40-30E,MSAL,40,30,,E,,,MAL-MSAL-40x30.step +MSAL40-30EU,MSAL,40,30,,E,,U,MAL-MSAL-40x30.step +MSAL40-30ECM,MSAL,40,30,,E,,CM,MAL-MSAL-40x30.step +MSAL40-30ELB,MSAL,40,30,,E,LB,,MAL-MSAL-40x30.step +MSAL40-30ELBU,MSAL,40,30,,E,LB,U,MAL-MSAL-40x30.step +MSAL40-30ELBCM,MSAL,40,30,,E,LB,CM,MAL-MSAL-40x30.step +MSAL40-30EFA,MSAL,40,30,,E,FA,,MAL-MSAL-40x30.step +MSAL40-30EFAU,MSAL,40,30,,E,FA,U,MAL-MSAL-40x30.step +MSAL40-30EFACM,MSAL,40,30,,E,FA,CM,MAL-MSAL-40x30.step +MSAL40-30EFB,MSAL,40,30,,E,FB,,MAL-MSAL-40x30.step +MSAL40-30EFBU,MSAL,40,30,,E,FB,U,MAL-MSAL-40x30.step +MSAL40-30EFBCM,MSAL,40,30,,E,FB,CM,MAL-MSAL-40x30.step +MSAL40-30ESDB,MSAL,40,30,,E,SDB,,MAL-MSAL-40x30.step +MSAL40-30ESDBU,MSAL,40,30,,E,SDB,U,MAL-MSAL-40x30.step +MSAL40-30ESDBCM,MSAL,40,30,,E,SDB,CM,MAL-MSAL-40x30.step +MSAL40-30,MSAL,40,30,,,,,MAL-MSAL-40x30.step +MSAL40-30U,MSAL,40,30,,,,U,MAL-MSAL-40x30.step +MSAL40-30CM,MSAL,40,30,,,,CM,MAL-MSAL-40x30.step +MSAL40-30LB,MSAL,40,30,,,LB,,MAL-MSAL-40x30.step +MSAL40-30LBU,MSAL,40,30,,,LB,U,MAL-MSAL-40x30.step +MSAL40-30LBCM,MSAL,40,30,,,LB,CM,MAL-MSAL-40x30.step +MSAL40-30FA,MSAL,40,30,,,FA,,MAL-MSAL-40x30.step +MSAL40-30FAU,MSAL,40,30,,,FA,U,MAL-MSAL-40x30.step +MSAL40-30FACM,MSAL,40,30,,,FA,CM,MAL-MSAL-40x30.step +MSAL40-30FB,MSAL,40,30,,,FB,,MAL-MSAL-40x30.step +MSAL40-30FBU,MSAL,40,30,,,FB,U,MAL-MSAL-40x30.step +MSAL40-30FBCM,MSAL,40,30,,,FB,CM,MAL-MSAL-40x30.step +MSAL40-30SDB,MSAL,40,30,,,SDB,,MAL-MSAL-40x30.step +MSAL40-30SDBU,MSAL,40,30,,,SDB,U,MAL-MSAL-40x30.step +MSAL40-30SDBCM,MSAL,40,30,,,SDB,CM,MAL-MSAL-40x30.step +MSAL40-30ME,MSAL,40,30,M,E,,,MAL-MSAL-40x30.step +MSAL40-30MEU,MSAL,40,30,M,E,,U,MAL-MSAL-40x30.step +MSAL40-30MECM,MSAL,40,30,M,E,,CM,MAL-MSAL-40x30.step +MSAL40-30MELB,MSAL,40,30,M,E,LB,,MAL-MSAL-40x30.step +MSAL40-30MELBU,MSAL,40,30,M,E,LB,U,MAL-MSAL-40x30.step +MSAL40-30MELBCM,MSAL,40,30,M,E,LB,CM,MAL-MSAL-40x30.step +MSAL40-30MEFA,MSAL,40,30,M,E,FA,,MAL-MSAL-40x30.step +MSAL40-30MEFAU,MSAL,40,30,M,E,FA,U,MAL-MSAL-40x30.step +MSAL40-30MEFACM,MSAL,40,30,M,E,FA,CM,MAL-MSAL-40x30.step +MSAL40-30MEFB,MSAL,40,30,M,E,FB,,MAL-MSAL-40x30.step +MSAL40-30MEFBU,MSAL,40,30,M,E,FB,U,MAL-MSAL-40x30.step +MSAL40-30MEFBCM,MSAL,40,30,M,E,FB,CM,MAL-MSAL-40x30.step +MSAL40-30MESDB,MSAL,40,30,M,E,SDB,,MAL-MSAL-40x30.step +MSAL40-30MESDBU,MSAL,40,30,M,E,SDB,U,MAL-MSAL-40x30.step +MSAL40-30MESDBCM,MSAL,40,30,M,E,SDB,CM,MAL-MSAL-40x30.step +MSAL40-30M,MSAL,40,30,M,,,,MAL-MSAL-40x30.step +MSAL40-30MU,MSAL,40,30,M,,,U,MAL-MSAL-40x30.step +MSAL40-30MCM,MSAL,40,30,M,,,CM,MAL-MSAL-40x30.step +MSAL40-30MLB,MSAL,40,30,M,,LB,,MAL-MSAL-40x30.step +MSAL40-30MLBU,MSAL,40,30,M,,LB,U,MAL-MSAL-40x30.step +MSAL40-30MLBCM,MSAL,40,30,M,,LB,CM,MAL-MSAL-40x30.step +MSAL40-30MFA,MSAL,40,30,M,,FA,,MAL-MSAL-40x30.step +MSAL40-30MFAU,MSAL,40,30,M,,FA,U,MAL-MSAL-40x30.step +MSAL40-30MFACM,MSAL,40,30,M,,FA,CM,MAL-MSAL-40x30.step +MSAL40-30MFB,MSAL,40,30,M,,FB,,MAL-MSAL-40x30.step +MSAL40-30MFBU,MSAL,40,30,M,,FB,U,MAL-MSAL-40x30.step +MSAL40-30MFBCM,MSAL,40,30,M,,FB,CM,MAL-MSAL-40x30.step +MSAL40-30MSDB,MSAL,40,30,M,,SDB,,MAL-MSAL-40x30.step +MSAL40-30MSDBU,MSAL,40,30,M,,SDB,U,MAL-MSAL-40x30.step +MSAL40-30MSDBCM,MSAL,40,30,M,,SDB,CM,MAL-MSAL-40x30.step +MSAL40-50E,MSAL,40,50,,E,,,MAL-MSAL-40x50.step +MSAL40-50EU,MSAL,40,50,,E,,U,MAL-MSAL-40x50.step +MSAL40-50ECM,MSAL,40,50,,E,,CM,MAL-MSAL-40x50.step +MSAL40-50ELB,MSAL,40,50,,E,LB,,MAL-MSAL-40x50.step +MSAL40-50ELBU,MSAL,40,50,,E,LB,U,MAL-MSAL-40x50.step +MSAL40-50ELBCM,MSAL,40,50,,E,LB,CM,MAL-MSAL-40x50.step +MSAL40-50EFA,MSAL,40,50,,E,FA,,MAL-MSAL-40x50.step +MSAL40-50EFAU,MSAL,40,50,,E,FA,U,MAL-MSAL-40x50.step +MSAL40-50EFACM,MSAL,40,50,,E,FA,CM,MAL-MSAL-40x50.step +MSAL40-50EFB,MSAL,40,50,,E,FB,,MAL-MSAL-40x50.step +MSAL40-50EFBU,MSAL,40,50,,E,FB,U,MAL-MSAL-40x50.step +MSAL40-50EFBCM,MSAL,40,50,,E,FB,CM,MAL-MSAL-40x50.step +MSAL40-50ESDB,MSAL,40,50,,E,SDB,,MAL-MSAL-40x50.step +MSAL40-50ESDBU,MSAL,40,50,,E,SDB,U,MAL-MSAL-40x50.step +MSAL40-50ESDBCM,MSAL,40,50,,E,SDB,CM,MAL-MSAL-40x50.step +MSAL40-50,MSAL,40,50,,,,,MAL-MSAL-40x50.step +MSAL40-50U,MSAL,40,50,,,,U,MAL-MSAL-40x50.step +MSAL40-50CM,MSAL,40,50,,,,CM,MAL-MSAL-40x50.step +MSAL40-50LB,MSAL,40,50,,,LB,,MAL-MSAL-40x50.step +MSAL40-50LBU,MSAL,40,50,,,LB,U,MAL-MSAL-40x50.step +MSAL40-50LBCM,MSAL,40,50,,,LB,CM,MAL-MSAL-40x50.step +MSAL40-50FA,MSAL,40,50,,,FA,,MAL-MSAL-40x50.step +MSAL40-50FAU,MSAL,40,50,,,FA,U,MAL-MSAL-40x50.step +MSAL40-50FACM,MSAL,40,50,,,FA,CM,MAL-MSAL-40x50.step +MSAL40-50FB,MSAL,40,50,,,FB,,MAL-MSAL-40x50.step +MSAL40-50FBU,MSAL,40,50,,,FB,U,MAL-MSAL-40x50.step +MSAL40-50FBCM,MSAL,40,50,,,FB,CM,MAL-MSAL-40x50.step +MSAL40-50SDB,MSAL,40,50,,,SDB,,MAL-MSAL-40x50.step +MSAL40-50SDBU,MSAL,40,50,,,SDB,U,MAL-MSAL-40x50.step +MSAL40-50SDBCM,MSAL,40,50,,,SDB,CM,MAL-MSAL-40x50.step +MSAL40-50ME,MSAL,40,50,M,E,,,MAL-MSAL-40x50.step +MSAL40-50MEU,MSAL,40,50,M,E,,U,MAL-MSAL-40x50.step +MSAL40-50MECM,MSAL,40,50,M,E,,CM,MAL-MSAL-40x50.step +MSAL40-50MELB,MSAL,40,50,M,E,LB,,MAL-MSAL-40x50.step +MSAL40-50MELBU,MSAL,40,50,M,E,LB,U,MAL-MSAL-40x50.step +MSAL40-50MELBCM,MSAL,40,50,M,E,LB,CM,MAL-MSAL-40x50.step +MSAL40-50MEFA,MSAL,40,50,M,E,FA,,MAL-MSAL-40x50.step +MSAL40-50MEFAU,MSAL,40,50,M,E,FA,U,MAL-MSAL-40x50.step +MSAL40-50MEFACM,MSAL,40,50,M,E,FA,CM,MAL-MSAL-40x50.step +MSAL40-50MEFB,MSAL,40,50,M,E,FB,,MAL-MSAL-40x50.step +MSAL40-50MEFBU,MSAL,40,50,M,E,FB,U,MAL-MSAL-40x50.step +MSAL40-50MEFBCM,MSAL,40,50,M,E,FB,CM,MAL-MSAL-40x50.step +MSAL40-50MESDB,MSAL,40,50,M,E,SDB,,MAL-MSAL-40x50.step +MSAL40-50MESDBU,MSAL,40,50,M,E,SDB,U,MAL-MSAL-40x50.step +MSAL40-50MESDBCM,MSAL,40,50,M,E,SDB,CM,MAL-MSAL-40x50.step +MSAL40-50M,MSAL,40,50,M,,,,MAL-MSAL-40x50.step +MSAL40-50MU,MSAL,40,50,M,,,U,MAL-MSAL-40x50.step +MSAL40-50MCM,MSAL,40,50,M,,,CM,MAL-MSAL-40x50.step +MSAL40-50MLB,MSAL,40,50,M,,LB,,MAL-MSAL-40x50.step +MSAL40-50MLBU,MSAL,40,50,M,,LB,U,MAL-MSAL-40x50.step +MSAL40-50MLBCM,MSAL,40,50,M,,LB,CM,MAL-MSAL-40x50.step +MSAL40-50MFA,MSAL,40,50,M,,FA,,MAL-MSAL-40x50.step +MSAL40-50MFAU,MSAL,40,50,M,,FA,U,MAL-MSAL-40x50.step +MSAL40-50MFACM,MSAL,40,50,M,,FA,CM,MAL-MSAL-40x50.step +MSAL40-50MFB,MSAL,40,50,M,,FB,,MAL-MSAL-40x50.step +MSAL40-50MFBU,MSAL,40,50,M,,FB,U,MAL-MSAL-40x50.step +MSAL40-50MFBCM,MSAL,40,50,M,,FB,CM,MAL-MSAL-40x50.step +MSAL40-50MSDB,MSAL,40,50,M,,SDB,,MAL-MSAL-40x50.step +MSAL40-50MSDBU,MSAL,40,50,M,,SDB,U,MAL-MSAL-40x50.step +MSAL40-50MSDBCM,MSAL,40,50,M,,SDB,CM,MAL-MSAL-40x50.step +MSAL40-75E,MSAL,40,75,,E,,,MAL-MSAL-40x75.step +MSAL40-75EU,MSAL,40,75,,E,,U,MAL-MSAL-40x75.step +MSAL40-75ECM,MSAL,40,75,,E,,CM,MAL-MSAL-40x75.step +MSAL40-75ELB,MSAL,40,75,,E,LB,,MAL-MSAL-40x75.step +MSAL40-75ELBU,MSAL,40,75,,E,LB,U,MAL-MSAL-40x75.step +MSAL40-75ELBCM,MSAL,40,75,,E,LB,CM,MAL-MSAL-40x75.step +MSAL40-75EFA,MSAL,40,75,,E,FA,,MAL-MSAL-40x75.step +MSAL40-75EFAU,MSAL,40,75,,E,FA,U,MAL-MSAL-40x75.step +MSAL40-75EFACM,MSAL,40,75,,E,FA,CM,MAL-MSAL-40x75.step +MSAL40-75EFB,MSAL,40,75,,E,FB,,MAL-MSAL-40x75.step +MSAL40-75EFBU,MSAL,40,75,,E,FB,U,MAL-MSAL-40x75.step +MSAL40-75EFBCM,MSAL,40,75,,E,FB,CM,MAL-MSAL-40x75.step +MSAL40-75ESDB,MSAL,40,75,,E,SDB,,MAL-MSAL-40x75.step +MSAL40-75ESDBU,MSAL,40,75,,E,SDB,U,MAL-MSAL-40x75.step +MSAL40-75ESDBCM,MSAL,40,75,,E,SDB,CM,MAL-MSAL-40x75.step +MSAL40-75,MSAL,40,75,,,,,MAL-MSAL-40x75.step +MSAL40-75U,MSAL,40,75,,,,U,MAL-MSAL-40x75.step +MSAL40-75CM,MSAL,40,75,,,,CM,MAL-MSAL-40x75.step +MSAL40-75LB,MSAL,40,75,,,LB,,MAL-MSAL-40x75.step +MSAL40-75LBU,MSAL,40,75,,,LB,U,MAL-MSAL-40x75.step +MSAL40-75LBCM,MSAL,40,75,,,LB,CM,MAL-MSAL-40x75.step +MSAL40-75FA,MSAL,40,75,,,FA,,MAL-MSAL-40x75.step +MSAL40-75FAU,MSAL,40,75,,,FA,U,MAL-MSAL-40x75.step +MSAL40-75FACM,MSAL,40,75,,,FA,CM,MAL-MSAL-40x75.step +MSAL40-75FB,MSAL,40,75,,,FB,,MAL-MSAL-40x75.step +MSAL40-75FBU,MSAL,40,75,,,FB,U,MAL-MSAL-40x75.step +MSAL40-75FBCM,MSAL,40,75,,,FB,CM,MAL-MSAL-40x75.step +MSAL40-75SDB,MSAL,40,75,,,SDB,,MAL-MSAL-40x75.step +MSAL40-75SDBU,MSAL,40,75,,,SDB,U,MAL-MSAL-40x75.step +MSAL40-75SDBCM,MSAL,40,75,,,SDB,CM,MAL-MSAL-40x75.step +MSAL40-75ME,MSAL,40,75,M,E,,,MAL-MSAL-40x75.step +MSAL40-75MEU,MSAL,40,75,M,E,,U,MAL-MSAL-40x75.step +MSAL40-75MECM,MSAL,40,75,M,E,,CM,MAL-MSAL-40x75.step +MSAL40-75MELB,MSAL,40,75,M,E,LB,,MAL-MSAL-40x75.step +MSAL40-75MELBU,MSAL,40,75,M,E,LB,U,MAL-MSAL-40x75.step +MSAL40-75MELBCM,MSAL,40,75,M,E,LB,CM,MAL-MSAL-40x75.step +MSAL40-75MEFA,MSAL,40,75,M,E,FA,,MAL-MSAL-40x75.step +MSAL40-75MEFAU,MSAL,40,75,M,E,FA,U,MAL-MSAL-40x75.step +MSAL40-75MEFACM,MSAL,40,75,M,E,FA,CM,MAL-MSAL-40x75.step +MSAL40-75MEFB,MSAL,40,75,M,E,FB,,MAL-MSAL-40x75.step +MSAL40-75MEFBU,MSAL,40,75,M,E,FB,U,MAL-MSAL-40x75.step +MSAL40-75MEFBCM,MSAL,40,75,M,E,FB,CM,MAL-MSAL-40x75.step +MSAL40-75MESDB,MSAL,40,75,M,E,SDB,,MAL-MSAL-40x75.step +MSAL40-75MESDBU,MSAL,40,75,M,E,SDB,U,MAL-MSAL-40x75.step +MSAL40-75MESDBCM,MSAL,40,75,M,E,SDB,CM,MAL-MSAL-40x75.step +MSAL40-75M,MSAL,40,75,M,,,,MAL-MSAL-40x75.step +MSAL40-75MU,MSAL,40,75,M,,,U,MAL-MSAL-40x75.step +MSAL40-75MCM,MSAL,40,75,M,,,CM,MAL-MSAL-40x75.step +MSAL40-75MLB,MSAL,40,75,M,,LB,,MAL-MSAL-40x75.step +MSAL40-75MLBU,MSAL,40,75,M,,LB,U,MAL-MSAL-40x75.step +MSAL40-75MLBCM,MSAL,40,75,M,,LB,CM,MAL-MSAL-40x75.step +MSAL40-75MFA,MSAL,40,75,M,,FA,,MAL-MSAL-40x75.step +MSAL40-75MFAU,MSAL,40,75,M,,FA,U,MAL-MSAL-40x75.step +MSAL40-75MFACM,MSAL,40,75,M,,FA,CM,MAL-MSAL-40x75.step +MSAL40-75MFB,MSAL,40,75,M,,FB,,MAL-MSAL-40x75.step +MSAL40-75MFBU,MSAL,40,75,M,,FB,U,MAL-MSAL-40x75.step +MSAL40-75MFBCM,MSAL,40,75,M,,FB,CM,MAL-MSAL-40x75.step +MSAL40-75MSDB,MSAL,40,75,M,,SDB,,MAL-MSAL-40x75.step +MSAL40-75MSDBU,MSAL,40,75,M,,SDB,U,MAL-MSAL-40x75.step +MSAL40-75MSDBCM,MSAL,40,75,M,,SDB,CM,MAL-MSAL-40x75.step +MSAL40-100E,MSAL,40,100,,E,,,MAL-MSAL-40x100.step +MSAL40-100EU,MSAL,40,100,,E,,U,MAL-MSAL-40x100.step +MSAL40-100ECM,MSAL,40,100,,E,,CM,MAL-MSAL-40x100.step +MSAL40-100ELB,MSAL,40,100,,E,LB,,MAL-MSAL-40x100.step +MSAL40-100ELBU,MSAL,40,100,,E,LB,U,MAL-MSAL-40x100.step +MSAL40-100ELBCM,MSAL,40,100,,E,LB,CM,MAL-MSAL-40x100.step +MSAL40-100EFA,MSAL,40,100,,E,FA,,MAL-MSAL-40x100.step +MSAL40-100EFAU,MSAL,40,100,,E,FA,U,MAL-MSAL-40x100.step +MSAL40-100EFACM,MSAL,40,100,,E,FA,CM,MAL-MSAL-40x100.step +MSAL40-100EFB,MSAL,40,100,,E,FB,,MAL-MSAL-40x100.step +MSAL40-100EFBU,MSAL,40,100,,E,FB,U,MAL-MSAL-40x100.step +MSAL40-100EFBCM,MSAL,40,100,,E,FB,CM,MAL-MSAL-40x100.step +MSAL40-100ESDB,MSAL,40,100,,E,SDB,,MAL-MSAL-40x100.step +MSAL40-100ESDBU,MSAL,40,100,,E,SDB,U,MAL-MSAL-40x100.step +MSAL40-100ESDBCM,MSAL,40,100,,E,SDB,CM,MAL-MSAL-40x100.step +MSAL40-100,MSAL,40,100,,,,,MAL-MSAL-40x100.step +MSAL40-100U,MSAL,40,100,,,,U,MAL-MSAL-40x100.step +MSAL40-100CM,MSAL,40,100,,,,CM,MAL-MSAL-40x100.step +MSAL40-100LB,MSAL,40,100,,,LB,,MAL-MSAL-40x100.step +MSAL40-100LBU,MSAL,40,100,,,LB,U,MAL-MSAL-40x100.step +MSAL40-100LBCM,MSAL,40,100,,,LB,CM,MAL-MSAL-40x100.step +MSAL40-100FA,MSAL,40,100,,,FA,,MAL-MSAL-40x100.step +MSAL40-100FAU,MSAL,40,100,,,FA,U,MAL-MSAL-40x100.step +MSAL40-100FACM,MSAL,40,100,,,FA,CM,MAL-MSAL-40x100.step +MSAL40-100FB,MSAL,40,100,,,FB,,MAL-MSAL-40x100.step +MSAL40-100FBU,MSAL,40,100,,,FB,U,MAL-MSAL-40x100.step +MSAL40-100FBCM,MSAL,40,100,,,FB,CM,MAL-MSAL-40x100.step +MSAL40-100SDB,MSAL,40,100,,,SDB,,MAL-MSAL-40x100.step +MSAL40-100SDBU,MSAL,40,100,,,SDB,U,MAL-MSAL-40x100.step +MSAL40-100SDBCM,MSAL,40,100,,,SDB,CM,MAL-MSAL-40x100.step +MSAL40-100ME,MSAL,40,100,M,E,,,MAL-MSAL-40x100.step +MSAL40-100MEU,MSAL,40,100,M,E,,U,MAL-MSAL-40x100.step +MSAL40-100MECM,MSAL,40,100,M,E,,CM,MAL-MSAL-40x100.step +MSAL40-100MELB,MSAL,40,100,M,E,LB,,MAL-MSAL-40x100.step +MSAL40-100MELBU,MSAL,40,100,M,E,LB,U,MAL-MSAL-40x100.step +MSAL40-100MELBCM,MSAL,40,100,M,E,LB,CM,MAL-MSAL-40x100.step +MSAL40-100MEFA,MSAL,40,100,M,E,FA,,MAL-MSAL-40x100.step +MSAL40-100MEFAU,MSAL,40,100,M,E,FA,U,MAL-MSAL-40x100.step +MSAL40-100MEFACM,MSAL,40,100,M,E,FA,CM,MAL-MSAL-40x100.step +MSAL40-100MEFB,MSAL,40,100,M,E,FB,,MAL-MSAL-40x100.step +MSAL40-100MEFBU,MSAL,40,100,M,E,FB,U,MAL-MSAL-40x100.step +MSAL40-100MEFBCM,MSAL,40,100,M,E,FB,CM,MAL-MSAL-40x100.step +MSAL40-100MESDB,MSAL,40,100,M,E,SDB,,MAL-MSAL-40x100.step +MSAL40-100MESDBU,MSAL,40,100,M,E,SDB,U,MAL-MSAL-40x100.step +MSAL40-100MESDBCM,MSAL,40,100,M,E,SDB,CM,MAL-MSAL-40x100.step +MSAL40-100M,MSAL,40,100,M,,,,MAL-MSAL-40x100.step +MSAL40-100MU,MSAL,40,100,M,,,U,MAL-MSAL-40x100.step +MSAL40-100MCM,MSAL,40,100,M,,,CM,MAL-MSAL-40x100.step +MSAL40-100MLB,MSAL,40,100,M,,LB,,MAL-MSAL-40x100.step +MSAL40-100MLBU,MSAL,40,100,M,,LB,U,MAL-MSAL-40x100.step +MSAL40-100MLBCM,MSAL,40,100,M,,LB,CM,MAL-MSAL-40x100.step +MSAL40-100MFA,MSAL,40,100,M,,FA,,MAL-MSAL-40x100.step +MSAL40-100MFAU,MSAL,40,100,M,,FA,U,MAL-MSAL-40x100.step +MSAL40-100MFACM,MSAL,40,100,M,,FA,CM,MAL-MSAL-40x100.step +MSAL40-100MFB,MSAL,40,100,M,,FB,,MAL-MSAL-40x100.step +MSAL40-100MFBU,MSAL,40,100,M,,FB,U,MAL-MSAL-40x100.step +MSAL40-100MFBCM,MSAL,40,100,M,,FB,CM,MAL-MSAL-40x100.step +MSAL40-100MSDB,MSAL,40,100,M,,SDB,,MAL-MSAL-40x100.step +MSAL40-100MSDBU,MSAL,40,100,M,,SDB,U,MAL-MSAL-40x100.step +MSAL40-100MSDBCM,MSAL,40,100,M,,SDB,CM,MAL-MSAL-40x100.step +MTAL16-10E,MTAL,16,10,,E,,,MAL-MTAL-16x10.step +MTAL16-10EU,MTAL,16,10,,E,,U,MAL-MTAL-16x10.step +MTAL16-10ECM,MTAL,16,10,,E,,CM,MAL-MTAL-16x10.step +MTAL16-10ELB,MTAL,16,10,,E,LB,,MAL-MTAL-16x10.step +MTAL16-10ELBU,MTAL,16,10,,E,LB,U,MAL-MTAL-16x10.step +MTAL16-10ELBCM,MTAL,16,10,,E,LB,CM,MAL-MTAL-16x10.step +MTAL16-10EFA,MTAL,16,10,,E,FA,,MAL-MTAL-16x10.step +MTAL16-10EFAU,MTAL,16,10,,E,FA,U,MAL-MTAL-16x10.step +MTAL16-10EFACM,MTAL,16,10,,E,FA,CM,MAL-MTAL-16x10.step +MTAL16-10EFB,MTAL,16,10,,E,FB,,MAL-MTAL-16x10.step +MTAL16-10EFBU,MTAL,16,10,,E,FB,U,MAL-MTAL-16x10.step +MTAL16-10EFBCM,MTAL,16,10,,E,FB,CM,MAL-MTAL-16x10.step +MTAL16-10ESDB,MTAL,16,10,,E,SDB,,MAL-MTAL-16x10.step +MTAL16-10ESDBU,MTAL,16,10,,E,SDB,U,MAL-MTAL-16x10.step +MTAL16-10ESDBCM,MTAL,16,10,,E,SDB,CM,MAL-MTAL-16x10.step +MTAL16-10,MTAL,16,10,,,,,MAL-MTAL-16x10.step +MTAL16-10U,MTAL,16,10,,,,U,MAL-MTAL-16x10.step +MTAL16-10CM,MTAL,16,10,,,,CM,MAL-MTAL-16x10.step +MTAL16-10LB,MTAL,16,10,,,LB,,MAL-MTAL-16x10.step +MTAL16-10LBU,MTAL,16,10,,,LB,U,MAL-MTAL-16x10.step +MTAL16-10LBCM,MTAL,16,10,,,LB,CM,MAL-MTAL-16x10.step +MTAL16-10FA,MTAL,16,10,,,FA,,MAL-MTAL-16x10.step +MTAL16-10FAU,MTAL,16,10,,,FA,U,MAL-MTAL-16x10.step +MTAL16-10FACM,MTAL,16,10,,,FA,CM,MAL-MTAL-16x10.step +MTAL16-10FB,MTAL,16,10,,,FB,,MAL-MTAL-16x10.step +MTAL16-10FBU,MTAL,16,10,,,FB,U,MAL-MTAL-16x10.step +MTAL16-10FBCM,MTAL,16,10,,,FB,CM,MAL-MTAL-16x10.step +MTAL16-10SDB,MTAL,16,10,,,SDB,,MAL-MTAL-16x10.step +MTAL16-10SDBU,MTAL,16,10,,,SDB,U,MAL-MTAL-16x10.step +MTAL16-10SDBCM,MTAL,16,10,,,SDB,CM,MAL-MTAL-16x10.step +MTAL16-10ME,MTAL,16,10,M,E,,,MAL-MTAL-16x10.step +MTAL16-10MEU,MTAL,16,10,M,E,,U,MAL-MTAL-16x10.step +MTAL16-10MECM,MTAL,16,10,M,E,,CM,MAL-MTAL-16x10.step +MTAL16-10MELB,MTAL,16,10,M,E,LB,,MAL-MTAL-16x10.step +MTAL16-10MELBU,MTAL,16,10,M,E,LB,U,MAL-MTAL-16x10.step +MTAL16-10MELBCM,MTAL,16,10,M,E,LB,CM,MAL-MTAL-16x10.step +MTAL16-10MEFA,MTAL,16,10,M,E,FA,,MAL-MTAL-16x10.step +MTAL16-10MEFAU,MTAL,16,10,M,E,FA,U,MAL-MTAL-16x10.step +MTAL16-10MEFACM,MTAL,16,10,M,E,FA,CM,MAL-MTAL-16x10.step +MTAL16-10MEFB,MTAL,16,10,M,E,FB,,MAL-MTAL-16x10.step +MTAL16-10MEFBU,MTAL,16,10,M,E,FB,U,MAL-MTAL-16x10.step +MTAL16-10MEFBCM,MTAL,16,10,M,E,FB,CM,MAL-MTAL-16x10.step +MTAL16-10MESDB,MTAL,16,10,M,E,SDB,,MAL-MTAL-16x10.step +MTAL16-10MESDBU,MTAL,16,10,M,E,SDB,U,MAL-MTAL-16x10.step +MTAL16-10MESDBCM,MTAL,16,10,M,E,SDB,CM,MAL-MTAL-16x10.step +MTAL16-10M,MTAL,16,10,M,,,,MAL-MTAL-16x10.step +MTAL16-10MU,MTAL,16,10,M,,,U,MAL-MTAL-16x10.step +MTAL16-10MCM,MTAL,16,10,M,,,CM,MAL-MTAL-16x10.step +MTAL16-10MLB,MTAL,16,10,M,,LB,,MAL-MTAL-16x10.step +MTAL16-10MLBU,MTAL,16,10,M,,LB,U,MAL-MTAL-16x10.step +MTAL16-10MLBCM,MTAL,16,10,M,,LB,CM,MAL-MTAL-16x10.step +MTAL16-10MFA,MTAL,16,10,M,,FA,,MAL-MTAL-16x10.step +MTAL16-10MFAU,MTAL,16,10,M,,FA,U,MAL-MTAL-16x10.step +MTAL16-10MFACM,MTAL,16,10,M,,FA,CM,MAL-MTAL-16x10.step +MTAL16-10MFB,MTAL,16,10,M,,FB,,MAL-MTAL-16x10.step +MTAL16-10MFBU,MTAL,16,10,M,,FB,U,MAL-MTAL-16x10.step +MTAL16-10MFBCM,MTAL,16,10,M,,FB,CM,MAL-MTAL-16x10.step +MTAL16-10MSDB,MTAL,16,10,M,,SDB,,MAL-MTAL-16x10.step +MTAL16-10MSDBU,MTAL,16,10,M,,SDB,U,MAL-MTAL-16x10.step +MTAL16-10MSDBCM,MTAL,16,10,M,,SDB,CM,MAL-MTAL-16x10.step +MTAL16-20E,MTAL,16,20,,E,,,MAL-MTAL-16x20.step +MTAL16-20EU,MTAL,16,20,,E,,U,MAL-MTAL-16x20.step +MTAL16-20ECM,MTAL,16,20,,E,,CM,MAL-MTAL-16x20.step +MTAL16-20ELB,MTAL,16,20,,E,LB,,MAL-MTAL-16x20.step +MTAL16-20ELBU,MTAL,16,20,,E,LB,U,MAL-MTAL-16x20.step +MTAL16-20ELBCM,MTAL,16,20,,E,LB,CM,MAL-MTAL-16x20.step +MTAL16-20EFA,MTAL,16,20,,E,FA,,MAL-MTAL-16x20.step +MTAL16-20EFAU,MTAL,16,20,,E,FA,U,MAL-MTAL-16x20.step +MTAL16-20EFACM,MTAL,16,20,,E,FA,CM,MAL-MTAL-16x20.step +MTAL16-20EFB,MTAL,16,20,,E,FB,,MAL-MTAL-16x20.step +MTAL16-20EFBU,MTAL,16,20,,E,FB,U,MAL-MTAL-16x20.step +MTAL16-20EFBCM,MTAL,16,20,,E,FB,CM,MAL-MTAL-16x20.step +MTAL16-20ESDB,MTAL,16,20,,E,SDB,,MAL-MTAL-16x20.step +MTAL16-20ESDBU,MTAL,16,20,,E,SDB,U,MAL-MTAL-16x20.step +MTAL16-20ESDBCM,MTAL,16,20,,E,SDB,CM,MAL-MTAL-16x20.step +MTAL16-20,MTAL,16,20,,,,,MAL-MTAL-16x20.step +MTAL16-20U,MTAL,16,20,,,,U,MAL-MTAL-16x20.step +MTAL16-20CM,MTAL,16,20,,,,CM,MAL-MTAL-16x20.step +MTAL16-20LB,MTAL,16,20,,,LB,,MAL-MTAL-16x20.step +MTAL16-20LBU,MTAL,16,20,,,LB,U,MAL-MTAL-16x20.step +MTAL16-20LBCM,MTAL,16,20,,,LB,CM,MAL-MTAL-16x20.step +MTAL16-20FA,MTAL,16,20,,,FA,,MAL-MTAL-16x20.step +MTAL16-20FAU,MTAL,16,20,,,FA,U,MAL-MTAL-16x20.step +MTAL16-20FACM,MTAL,16,20,,,FA,CM,MAL-MTAL-16x20.step +MTAL16-20FB,MTAL,16,20,,,FB,,MAL-MTAL-16x20.step +MTAL16-20FBU,MTAL,16,20,,,FB,U,MAL-MTAL-16x20.step +MTAL16-20FBCM,MTAL,16,20,,,FB,CM,MAL-MTAL-16x20.step +MTAL16-20SDB,MTAL,16,20,,,SDB,,MAL-MTAL-16x20.step +MTAL16-20SDBU,MTAL,16,20,,,SDB,U,MAL-MTAL-16x20.step +MTAL16-20SDBCM,MTAL,16,20,,,SDB,CM,MAL-MTAL-16x20.step +MTAL16-20ME,MTAL,16,20,M,E,,,MAL-MTAL-16x20.step +MTAL16-20MEU,MTAL,16,20,M,E,,U,MAL-MTAL-16x20.step +MTAL16-20MECM,MTAL,16,20,M,E,,CM,MAL-MTAL-16x20.step +MTAL16-20MELB,MTAL,16,20,M,E,LB,,MAL-MTAL-16x20.step +MTAL16-20MELBU,MTAL,16,20,M,E,LB,U,MAL-MTAL-16x20.step +MTAL16-20MELBCM,MTAL,16,20,M,E,LB,CM,MAL-MTAL-16x20.step +MTAL16-20MEFA,MTAL,16,20,M,E,FA,,MAL-MTAL-16x20.step +MTAL16-20MEFAU,MTAL,16,20,M,E,FA,U,MAL-MTAL-16x20.step +MTAL16-20MEFACM,MTAL,16,20,M,E,FA,CM,MAL-MTAL-16x20.step +MTAL16-20MEFB,MTAL,16,20,M,E,FB,,MAL-MTAL-16x20.step +MTAL16-20MEFBU,MTAL,16,20,M,E,FB,U,MAL-MTAL-16x20.step +MTAL16-20MEFBCM,MTAL,16,20,M,E,FB,CM,MAL-MTAL-16x20.step +MTAL16-20MESDB,MTAL,16,20,M,E,SDB,,MAL-MTAL-16x20.step +MTAL16-20MESDBU,MTAL,16,20,M,E,SDB,U,MAL-MTAL-16x20.step +MTAL16-20MESDBCM,MTAL,16,20,M,E,SDB,CM,MAL-MTAL-16x20.step +MTAL16-20M,MTAL,16,20,M,,,,MAL-MTAL-16x20.step +MTAL16-20MU,MTAL,16,20,M,,,U,MAL-MTAL-16x20.step +MTAL16-20MCM,MTAL,16,20,M,,,CM,MAL-MTAL-16x20.step +MTAL16-20MLB,MTAL,16,20,M,,LB,,MAL-MTAL-16x20.step +MTAL16-20MLBU,MTAL,16,20,M,,LB,U,MAL-MTAL-16x20.step +MTAL16-20MLBCM,MTAL,16,20,M,,LB,CM,MAL-MTAL-16x20.step +MTAL16-20MFA,MTAL,16,20,M,,FA,,MAL-MTAL-16x20.step +MTAL16-20MFAU,MTAL,16,20,M,,FA,U,MAL-MTAL-16x20.step +MTAL16-20MFACM,MTAL,16,20,M,,FA,CM,MAL-MTAL-16x20.step +MTAL16-20MFB,MTAL,16,20,M,,FB,,MAL-MTAL-16x20.step +MTAL16-20MFBU,MTAL,16,20,M,,FB,U,MAL-MTAL-16x20.step +MTAL16-20MFBCM,MTAL,16,20,M,,FB,CM,MAL-MTAL-16x20.step +MTAL16-20MSDB,MTAL,16,20,M,,SDB,,MAL-MTAL-16x20.step +MTAL16-20MSDBU,MTAL,16,20,M,,SDB,U,MAL-MTAL-16x20.step +MTAL16-20MSDBCM,MTAL,16,20,M,,SDB,CM,MAL-MTAL-16x20.step +MTAL16-30E,MTAL,16,30,,E,,,MAL-MTAL-16x30.step +MTAL16-30EU,MTAL,16,30,,E,,U,MAL-MTAL-16x30.step +MTAL16-30ECM,MTAL,16,30,,E,,CM,MAL-MTAL-16x30.step +MTAL16-30ELB,MTAL,16,30,,E,LB,,MAL-MTAL-16x30.step +MTAL16-30ELBU,MTAL,16,30,,E,LB,U,MAL-MTAL-16x30.step +MTAL16-30ELBCM,MTAL,16,30,,E,LB,CM,MAL-MTAL-16x30.step +MTAL16-30EFA,MTAL,16,30,,E,FA,,MAL-MTAL-16x30.step +MTAL16-30EFAU,MTAL,16,30,,E,FA,U,MAL-MTAL-16x30.step +MTAL16-30EFACM,MTAL,16,30,,E,FA,CM,MAL-MTAL-16x30.step +MTAL16-30EFB,MTAL,16,30,,E,FB,,MAL-MTAL-16x30.step +MTAL16-30EFBU,MTAL,16,30,,E,FB,U,MAL-MTAL-16x30.step +MTAL16-30EFBCM,MTAL,16,30,,E,FB,CM,MAL-MTAL-16x30.step +MTAL16-30ESDB,MTAL,16,30,,E,SDB,,MAL-MTAL-16x30.step +MTAL16-30ESDBU,MTAL,16,30,,E,SDB,U,MAL-MTAL-16x30.step +MTAL16-30ESDBCM,MTAL,16,30,,E,SDB,CM,MAL-MTAL-16x30.step +MTAL16-30,MTAL,16,30,,,,,MAL-MTAL-16x30.step +MTAL16-30U,MTAL,16,30,,,,U,MAL-MTAL-16x30.step +MTAL16-30CM,MTAL,16,30,,,,CM,MAL-MTAL-16x30.step +MTAL16-30LB,MTAL,16,30,,,LB,,MAL-MTAL-16x30.step +MTAL16-30LBU,MTAL,16,30,,,LB,U,MAL-MTAL-16x30.step +MTAL16-30LBCM,MTAL,16,30,,,LB,CM,MAL-MTAL-16x30.step +MTAL16-30FA,MTAL,16,30,,,FA,,MAL-MTAL-16x30.step +MTAL16-30FAU,MTAL,16,30,,,FA,U,MAL-MTAL-16x30.step +MTAL16-30FACM,MTAL,16,30,,,FA,CM,MAL-MTAL-16x30.step +MTAL16-30FB,MTAL,16,30,,,FB,,MAL-MTAL-16x30.step +MTAL16-30FBU,MTAL,16,30,,,FB,U,MAL-MTAL-16x30.step +MTAL16-30FBCM,MTAL,16,30,,,FB,CM,MAL-MTAL-16x30.step +MTAL16-30SDB,MTAL,16,30,,,SDB,,MAL-MTAL-16x30.step +MTAL16-30SDBU,MTAL,16,30,,,SDB,U,MAL-MTAL-16x30.step +MTAL16-30SDBCM,MTAL,16,30,,,SDB,CM,MAL-MTAL-16x30.step +MTAL16-30ME,MTAL,16,30,M,E,,,MAL-MTAL-16x30.step +MTAL16-30MEU,MTAL,16,30,M,E,,U,MAL-MTAL-16x30.step +MTAL16-30MECM,MTAL,16,30,M,E,,CM,MAL-MTAL-16x30.step +MTAL16-30MELB,MTAL,16,30,M,E,LB,,MAL-MTAL-16x30.step +MTAL16-30MELBU,MTAL,16,30,M,E,LB,U,MAL-MTAL-16x30.step +MTAL16-30MELBCM,MTAL,16,30,M,E,LB,CM,MAL-MTAL-16x30.step +MTAL16-30MEFA,MTAL,16,30,M,E,FA,,MAL-MTAL-16x30.step +MTAL16-30MEFAU,MTAL,16,30,M,E,FA,U,MAL-MTAL-16x30.step +MTAL16-30MEFACM,MTAL,16,30,M,E,FA,CM,MAL-MTAL-16x30.step +MTAL16-30MEFB,MTAL,16,30,M,E,FB,,MAL-MTAL-16x30.step +MTAL16-30MEFBU,MTAL,16,30,M,E,FB,U,MAL-MTAL-16x30.step +MTAL16-30MEFBCM,MTAL,16,30,M,E,FB,CM,MAL-MTAL-16x30.step +MTAL16-30MESDB,MTAL,16,30,M,E,SDB,,MAL-MTAL-16x30.step +MTAL16-30MESDBU,MTAL,16,30,M,E,SDB,U,MAL-MTAL-16x30.step +MTAL16-30MESDBCM,MTAL,16,30,M,E,SDB,CM,MAL-MTAL-16x30.step +MTAL16-30M,MTAL,16,30,M,,,,MAL-MTAL-16x30.step +MTAL16-30MU,MTAL,16,30,M,,,U,MAL-MTAL-16x30.step +MTAL16-30MCM,MTAL,16,30,M,,,CM,MAL-MTAL-16x30.step +MTAL16-30MLB,MTAL,16,30,M,,LB,,MAL-MTAL-16x30.step +MTAL16-30MLBU,MTAL,16,30,M,,LB,U,MAL-MTAL-16x30.step +MTAL16-30MLBCM,MTAL,16,30,M,,LB,CM,MAL-MTAL-16x30.step +MTAL16-30MFA,MTAL,16,30,M,,FA,,MAL-MTAL-16x30.step +MTAL16-30MFAU,MTAL,16,30,M,,FA,U,MAL-MTAL-16x30.step +MTAL16-30MFACM,MTAL,16,30,M,,FA,CM,MAL-MTAL-16x30.step +MTAL16-30MFB,MTAL,16,30,M,,FB,,MAL-MTAL-16x30.step +MTAL16-30MFBU,MTAL,16,30,M,,FB,U,MAL-MTAL-16x30.step +MTAL16-30MFBCM,MTAL,16,30,M,,FB,CM,MAL-MTAL-16x30.step +MTAL16-30MSDB,MTAL,16,30,M,,SDB,,MAL-MTAL-16x30.step +MTAL16-30MSDBU,MTAL,16,30,M,,SDB,U,MAL-MTAL-16x30.step +MTAL16-30MSDBCM,MTAL,16,30,M,,SDB,CM,MAL-MTAL-16x30.step +MTAL16-50E,MTAL,16,50,,E,,,MAL-MTAL-16x50.step +MTAL16-50EU,MTAL,16,50,,E,,U,MAL-MTAL-16x50.step +MTAL16-50ECM,MTAL,16,50,,E,,CM,MAL-MTAL-16x50.step +MTAL16-50ELB,MTAL,16,50,,E,LB,,MAL-MTAL-16x50.step +MTAL16-50ELBU,MTAL,16,50,,E,LB,U,MAL-MTAL-16x50.step +MTAL16-50ELBCM,MTAL,16,50,,E,LB,CM,MAL-MTAL-16x50.step +MTAL16-50EFA,MTAL,16,50,,E,FA,,MAL-MTAL-16x50.step +MTAL16-50EFAU,MTAL,16,50,,E,FA,U,MAL-MTAL-16x50.step +MTAL16-50EFACM,MTAL,16,50,,E,FA,CM,MAL-MTAL-16x50.step +MTAL16-50EFB,MTAL,16,50,,E,FB,,MAL-MTAL-16x50.step +MTAL16-50EFBU,MTAL,16,50,,E,FB,U,MAL-MTAL-16x50.step +MTAL16-50EFBCM,MTAL,16,50,,E,FB,CM,MAL-MTAL-16x50.step +MTAL16-50ESDB,MTAL,16,50,,E,SDB,,MAL-MTAL-16x50.step +MTAL16-50ESDBU,MTAL,16,50,,E,SDB,U,MAL-MTAL-16x50.step +MTAL16-50ESDBCM,MTAL,16,50,,E,SDB,CM,MAL-MTAL-16x50.step +MTAL16-50,MTAL,16,50,,,,,MAL-MTAL-16x50.step +MTAL16-50U,MTAL,16,50,,,,U,MAL-MTAL-16x50.step +MTAL16-50CM,MTAL,16,50,,,,CM,MAL-MTAL-16x50.step +MTAL16-50LB,MTAL,16,50,,,LB,,MAL-MTAL-16x50.step +MTAL16-50LBU,MTAL,16,50,,,LB,U,MAL-MTAL-16x50.step +MTAL16-50LBCM,MTAL,16,50,,,LB,CM,MAL-MTAL-16x50.step +MTAL16-50FA,MTAL,16,50,,,FA,,MAL-MTAL-16x50.step +MTAL16-50FAU,MTAL,16,50,,,FA,U,MAL-MTAL-16x50.step +MTAL16-50FACM,MTAL,16,50,,,FA,CM,MAL-MTAL-16x50.step +MTAL16-50FB,MTAL,16,50,,,FB,,MAL-MTAL-16x50.step +MTAL16-50FBU,MTAL,16,50,,,FB,U,MAL-MTAL-16x50.step +MTAL16-50FBCM,MTAL,16,50,,,FB,CM,MAL-MTAL-16x50.step +MTAL16-50SDB,MTAL,16,50,,,SDB,,MAL-MTAL-16x50.step +MTAL16-50SDBU,MTAL,16,50,,,SDB,U,MAL-MTAL-16x50.step +MTAL16-50SDBCM,MTAL,16,50,,,SDB,CM,MAL-MTAL-16x50.step +MTAL16-50ME,MTAL,16,50,M,E,,,MAL-MTAL-16x50.step +MTAL16-50MEU,MTAL,16,50,M,E,,U,MAL-MTAL-16x50.step +MTAL16-50MECM,MTAL,16,50,M,E,,CM,MAL-MTAL-16x50.step +MTAL16-50MELB,MTAL,16,50,M,E,LB,,MAL-MTAL-16x50.step +MTAL16-50MELBU,MTAL,16,50,M,E,LB,U,MAL-MTAL-16x50.step +MTAL16-50MELBCM,MTAL,16,50,M,E,LB,CM,MAL-MTAL-16x50.step +MTAL16-50MEFA,MTAL,16,50,M,E,FA,,MAL-MTAL-16x50.step +MTAL16-50MEFAU,MTAL,16,50,M,E,FA,U,MAL-MTAL-16x50.step +MTAL16-50MEFACM,MTAL,16,50,M,E,FA,CM,MAL-MTAL-16x50.step +MTAL16-50MEFB,MTAL,16,50,M,E,FB,,MAL-MTAL-16x50.step +MTAL16-50MEFBU,MTAL,16,50,M,E,FB,U,MAL-MTAL-16x50.step +MTAL16-50MEFBCM,MTAL,16,50,M,E,FB,CM,MAL-MTAL-16x50.step +MTAL16-50MESDB,MTAL,16,50,M,E,SDB,,MAL-MTAL-16x50.step +MTAL16-50MESDBU,MTAL,16,50,M,E,SDB,U,MAL-MTAL-16x50.step +MTAL16-50MESDBCM,MTAL,16,50,M,E,SDB,CM,MAL-MTAL-16x50.step +MTAL16-50M,MTAL,16,50,M,,,,MAL-MTAL-16x50.step +MTAL16-50MU,MTAL,16,50,M,,,U,MAL-MTAL-16x50.step +MTAL16-50MCM,MTAL,16,50,M,,,CM,MAL-MTAL-16x50.step +MTAL16-50MLB,MTAL,16,50,M,,LB,,MAL-MTAL-16x50.step +MTAL16-50MLBU,MTAL,16,50,M,,LB,U,MAL-MTAL-16x50.step +MTAL16-50MLBCM,MTAL,16,50,M,,LB,CM,MAL-MTAL-16x50.step +MTAL16-50MFA,MTAL,16,50,M,,FA,,MAL-MTAL-16x50.step +MTAL16-50MFAU,MTAL,16,50,M,,FA,U,MAL-MTAL-16x50.step +MTAL16-50MFACM,MTAL,16,50,M,,FA,CM,MAL-MTAL-16x50.step +MTAL16-50MFB,MTAL,16,50,M,,FB,,MAL-MTAL-16x50.step +MTAL16-50MFBU,MTAL,16,50,M,,FB,U,MAL-MTAL-16x50.step +MTAL16-50MFBCM,MTAL,16,50,M,,FB,CM,MAL-MTAL-16x50.step +MTAL16-50MSDB,MTAL,16,50,M,,SDB,,MAL-MTAL-16x50.step +MTAL16-50MSDBU,MTAL,16,50,M,,SDB,U,MAL-MTAL-16x50.step +MTAL16-50MSDBCM,MTAL,16,50,M,,SDB,CM,MAL-MTAL-16x50.step +MTAL16-75E,MTAL,16,75,,E,,,MAL-MTAL-16x75.step +MTAL16-75EU,MTAL,16,75,,E,,U,MAL-MTAL-16x75.step +MTAL16-75ECM,MTAL,16,75,,E,,CM,MAL-MTAL-16x75.step +MTAL16-75ELB,MTAL,16,75,,E,LB,,MAL-MTAL-16x75.step +MTAL16-75ELBU,MTAL,16,75,,E,LB,U,MAL-MTAL-16x75.step +MTAL16-75ELBCM,MTAL,16,75,,E,LB,CM,MAL-MTAL-16x75.step +MTAL16-75EFA,MTAL,16,75,,E,FA,,MAL-MTAL-16x75.step +MTAL16-75EFAU,MTAL,16,75,,E,FA,U,MAL-MTAL-16x75.step +MTAL16-75EFACM,MTAL,16,75,,E,FA,CM,MAL-MTAL-16x75.step +MTAL16-75EFB,MTAL,16,75,,E,FB,,MAL-MTAL-16x75.step +MTAL16-75EFBU,MTAL,16,75,,E,FB,U,MAL-MTAL-16x75.step +MTAL16-75EFBCM,MTAL,16,75,,E,FB,CM,MAL-MTAL-16x75.step +MTAL16-75ESDB,MTAL,16,75,,E,SDB,,MAL-MTAL-16x75.step +MTAL16-75ESDBU,MTAL,16,75,,E,SDB,U,MAL-MTAL-16x75.step +MTAL16-75ESDBCM,MTAL,16,75,,E,SDB,CM,MAL-MTAL-16x75.step +MTAL16-75,MTAL,16,75,,,,,MAL-MTAL-16x75.step +MTAL16-75U,MTAL,16,75,,,,U,MAL-MTAL-16x75.step +MTAL16-75CM,MTAL,16,75,,,,CM,MAL-MTAL-16x75.step +MTAL16-75LB,MTAL,16,75,,,LB,,MAL-MTAL-16x75.step +MTAL16-75LBU,MTAL,16,75,,,LB,U,MAL-MTAL-16x75.step +MTAL16-75LBCM,MTAL,16,75,,,LB,CM,MAL-MTAL-16x75.step +MTAL16-75FA,MTAL,16,75,,,FA,,MAL-MTAL-16x75.step +MTAL16-75FAU,MTAL,16,75,,,FA,U,MAL-MTAL-16x75.step +MTAL16-75FACM,MTAL,16,75,,,FA,CM,MAL-MTAL-16x75.step +MTAL16-75FB,MTAL,16,75,,,FB,,MAL-MTAL-16x75.step +MTAL16-75FBU,MTAL,16,75,,,FB,U,MAL-MTAL-16x75.step +MTAL16-75FBCM,MTAL,16,75,,,FB,CM,MAL-MTAL-16x75.step +MTAL16-75SDB,MTAL,16,75,,,SDB,,MAL-MTAL-16x75.step +MTAL16-75SDBU,MTAL,16,75,,,SDB,U,MAL-MTAL-16x75.step +MTAL16-75SDBCM,MTAL,16,75,,,SDB,CM,MAL-MTAL-16x75.step +MTAL16-75ME,MTAL,16,75,M,E,,,MAL-MTAL-16x75.step +MTAL16-75MEU,MTAL,16,75,M,E,,U,MAL-MTAL-16x75.step +MTAL16-75MECM,MTAL,16,75,M,E,,CM,MAL-MTAL-16x75.step +MTAL16-75MELB,MTAL,16,75,M,E,LB,,MAL-MTAL-16x75.step +MTAL16-75MELBU,MTAL,16,75,M,E,LB,U,MAL-MTAL-16x75.step +MTAL16-75MELBCM,MTAL,16,75,M,E,LB,CM,MAL-MTAL-16x75.step +MTAL16-75MEFA,MTAL,16,75,M,E,FA,,MAL-MTAL-16x75.step +MTAL16-75MEFAU,MTAL,16,75,M,E,FA,U,MAL-MTAL-16x75.step +MTAL16-75MEFACM,MTAL,16,75,M,E,FA,CM,MAL-MTAL-16x75.step +MTAL16-75MEFB,MTAL,16,75,M,E,FB,,MAL-MTAL-16x75.step +MTAL16-75MEFBU,MTAL,16,75,M,E,FB,U,MAL-MTAL-16x75.step +MTAL16-75MEFBCM,MTAL,16,75,M,E,FB,CM,MAL-MTAL-16x75.step +MTAL16-75MESDB,MTAL,16,75,M,E,SDB,,MAL-MTAL-16x75.step +MTAL16-75MESDBU,MTAL,16,75,M,E,SDB,U,MAL-MTAL-16x75.step +MTAL16-75MESDBCM,MTAL,16,75,M,E,SDB,CM,MAL-MTAL-16x75.step +MTAL16-75M,MTAL,16,75,M,,,,MAL-MTAL-16x75.step +MTAL16-75MU,MTAL,16,75,M,,,U,MAL-MTAL-16x75.step +MTAL16-75MCM,MTAL,16,75,M,,,CM,MAL-MTAL-16x75.step +MTAL16-75MLB,MTAL,16,75,M,,LB,,MAL-MTAL-16x75.step +MTAL16-75MLBU,MTAL,16,75,M,,LB,U,MAL-MTAL-16x75.step +MTAL16-75MLBCM,MTAL,16,75,M,,LB,CM,MAL-MTAL-16x75.step +MTAL16-75MFA,MTAL,16,75,M,,FA,,MAL-MTAL-16x75.step +MTAL16-75MFAU,MTAL,16,75,M,,FA,U,MAL-MTAL-16x75.step +MTAL16-75MFACM,MTAL,16,75,M,,FA,CM,MAL-MTAL-16x75.step +MTAL16-75MFB,MTAL,16,75,M,,FB,,MAL-MTAL-16x75.step +MTAL16-75MFBU,MTAL,16,75,M,,FB,U,MAL-MTAL-16x75.step +MTAL16-75MFBCM,MTAL,16,75,M,,FB,CM,MAL-MTAL-16x75.step +MTAL16-75MSDB,MTAL,16,75,M,,SDB,,MAL-MTAL-16x75.step +MTAL16-75MSDBU,MTAL,16,75,M,,SDB,U,MAL-MTAL-16x75.step +MTAL16-75MSDBCM,MTAL,16,75,M,,SDB,CM,MAL-MTAL-16x75.step +MTAL16-100E,MTAL,16,100,,E,,,MAL-MTAL-16x100.step +MTAL16-100EU,MTAL,16,100,,E,,U,MAL-MTAL-16x100.step +MTAL16-100ECM,MTAL,16,100,,E,,CM,MAL-MTAL-16x100.step +MTAL16-100ELB,MTAL,16,100,,E,LB,,MAL-MTAL-16x100.step +MTAL16-100ELBU,MTAL,16,100,,E,LB,U,MAL-MTAL-16x100.step +MTAL16-100ELBCM,MTAL,16,100,,E,LB,CM,MAL-MTAL-16x100.step +MTAL16-100EFA,MTAL,16,100,,E,FA,,MAL-MTAL-16x100.step +MTAL16-100EFAU,MTAL,16,100,,E,FA,U,MAL-MTAL-16x100.step +MTAL16-100EFACM,MTAL,16,100,,E,FA,CM,MAL-MTAL-16x100.step +MTAL16-100EFB,MTAL,16,100,,E,FB,,MAL-MTAL-16x100.step +MTAL16-100EFBU,MTAL,16,100,,E,FB,U,MAL-MTAL-16x100.step +MTAL16-100EFBCM,MTAL,16,100,,E,FB,CM,MAL-MTAL-16x100.step +MTAL16-100ESDB,MTAL,16,100,,E,SDB,,MAL-MTAL-16x100.step +MTAL16-100ESDBU,MTAL,16,100,,E,SDB,U,MAL-MTAL-16x100.step +MTAL16-100ESDBCM,MTAL,16,100,,E,SDB,CM,MAL-MTAL-16x100.step +MTAL16-100,MTAL,16,100,,,,,MAL-MTAL-16x100.step +MTAL16-100U,MTAL,16,100,,,,U,MAL-MTAL-16x100.step +MTAL16-100CM,MTAL,16,100,,,,CM,MAL-MTAL-16x100.step +MTAL16-100LB,MTAL,16,100,,,LB,,MAL-MTAL-16x100.step +MTAL16-100LBU,MTAL,16,100,,,LB,U,MAL-MTAL-16x100.step +MTAL16-100LBCM,MTAL,16,100,,,LB,CM,MAL-MTAL-16x100.step +MTAL16-100FA,MTAL,16,100,,,FA,,MAL-MTAL-16x100.step +MTAL16-100FAU,MTAL,16,100,,,FA,U,MAL-MTAL-16x100.step +MTAL16-100FACM,MTAL,16,100,,,FA,CM,MAL-MTAL-16x100.step +MTAL16-100FB,MTAL,16,100,,,FB,,MAL-MTAL-16x100.step +MTAL16-100FBU,MTAL,16,100,,,FB,U,MAL-MTAL-16x100.step +MTAL16-100FBCM,MTAL,16,100,,,FB,CM,MAL-MTAL-16x100.step +MTAL16-100SDB,MTAL,16,100,,,SDB,,MAL-MTAL-16x100.step +MTAL16-100SDBU,MTAL,16,100,,,SDB,U,MAL-MTAL-16x100.step +MTAL16-100SDBCM,MTAL,16,100,,,SDB,CM,MAL-MTAL-16x100.step +MTAL16-100ME,MTAL,16,100,M,E,,,MAL-MTAL-16x100.step +MTAL16-100MEU,MTAL,16,100,M,E,,U,MAL-MTAL-16x100.step +MTAL16-100MECM,MTAL,16,100,M,E,,CM,MAL-MTAL-16x100.step +MTAL16-100MELB,MTAL,16,100,M,E,LB,,MAL-MTAL-16x100.step +MTAL16-100MELBU,MTAL,16,100,M,E,LB,U,MAL-MTAL-16x100.step +MTAL16-100MELBCM,MTAL,16,100,M,E,LB,CM,MAL-MTAL-16x100.step +MTAL16-100MEFA,MTAL,16,100,M,E,FA,,MAL-MTAL-16x100.step +MTAL16-100MEFAU,MTAL,16,100,M,E,FA,U,MAL-MTAL-16x100.step +MTAL16-100MEFACM,MTAL,16,100,M,E,FA,CM,MAL-MTAL-16x100.step +MTAL16-100MEFB,MTAL,16,100,M,E,FB,,MAL-MTAL-16x100.step +MTAL16-100MEFBU,MTAL,16,100,M,E,FB,U,MAL-MTAL-16x100.step +MTAL16-100MEFBCM,MTAL,16,100,M,E,FB,CM,MAL-MTAL-16x100.step +MTAL16-100MESDB,MTAL,16,100,M,E,SDB,,MAL-MTAL-16x100.step +MTAL16-100MESDBU,MTAL,16,100,M,E,SDB,U,MAL-MTAL-16x100.step +MTAL16-100MESDBCM,MTAL,16,100,M,E,SDB,CM,MAL-MTAL-16x100.step +MTAL16-100M,MTAL,16,100,M,,,,MAL-MTAL-16x100.step +MTAL16-100MU,MTAL,16,100,M,,,U,MAL-MTAL-16x100.step +MTAL16-100MCM,MTAL,16,100,M,,,CM,MAL-MTAL-16x100.step +MTAL16-100MLB,MTAL,16,100,M,,LB,,MAL-MTAL-16x100.step +MTAL16-100MLBU,MTAL,16,100,M,,LB,U,MAL-MTAL-16x100.step +MTAL16-100MLBCM,MTAL,16,100,M,,LB,CM,MAL-MTAL-16x100.step +MTAL16-100MFA,MTAL,16,100,M,,FA,,MAL-MTAL-16x100.step +MTAL16-100MFAU,MTAL,16,100,M,,FA,U,MAL-MTAL-16x100.step +MTAL16-100MFACM,MTAL,16,100,M,,FA,CM,MAL-MTAL-16x100.step +MTAL16-100MFB,MTAL,16,100,M,,FB,,MAL-MTAL-16x100.step +MTAL16-100MFBU,MTAL,16,100,M,,FB,U,MAL-MTAL-16x100.step +MTAL16-100MFBCM,MTAL,16,100,M,,FB,CM,MAL-MTAL-16x100.step +MTAL16-100MSDB,MTAL,16,100,M,,SDB,,MAL-MTAL-16x100.step +MTAL16-100MSDBU,MTAL,16,100,M,,SDB,U,MAL-MTAL-16x100.step +MTAL16-100MSDBCM,MTAL,16,100,M,,SDB,CM,MAL-MTAL-16x100.step +MTAL20-10E,MTAL,20,10,,E,,,MAL-MTAL-20x10.step +MTAL20-10EU,MTAL,20,10,,E,,U,MAL-MTAL-20x10.step +MTAL20-10ECM,MTAL,20,10,,E,,CM,MAL-MTAL-20x10.step +MTAL20-10ELB,MTAL,20,10,,E,LB,,MAL-MTAL-20x10.step +MTAL20-10ELBU,MTAL,20,10,,E,LB,U,MAL-MTAL-20x10.step +MTAL20-10ELBCM,MTAL,20,10,,E,LB,CM,MAL-MTAL-20x10.step +MTAL20-10EFA,MTAL,20,10,,E,FA,,MAL-MTAL-20x10.step +MTAL20-10EFAU,MTAL,20,10,,E,FA,U,MAL-MTAL-20x10.step +MTAL20-10EFACM,MTAL,20,10,,E,FA,CM,MAL-MTAL-20x10.step +MTAL20-10EFB,MTAL,20,10,,E,FB,,MAL-MTAL-20x10.step +MTAL20-10EFBU,MTAL,20,10,,E,FB,U,MAL-MTAL-20x10.step +MTAL20-10EFBCM,MTAL,20,10,,E,FB,CM,MAL-MTAL-20x10.step +MTAL20-10ESDB,MTAL,20,10,,E,SDB,,MAL-MTAL-20x10.step +MTAL20-10ESDBU,MTAL,20,10,,E,SDB,U,MAL-MTAL-20x10.step +MTAL20-10ESDBCM,MTAL,20,10,,E,SDB,CM,MAL-MTAL-20x10.step +MTAL20-10,MTAL,20,10,,,,,MAL-MTAL-20x10.step +MTAL20-10U,MTAL,20,10,,,,U,MAL-MTAL-20x10.step +MTAL20-10CM,MTAL,20,10,,,,CM,MAL-MTAL-20x10.step +MTAL20-10LB,MTAL,20,10,,,LB,,MAL-MTAL-20x10.step +MTAL20-10LBU,MTAL,20,10,,,LB,U,MAL-MTAL-20x10.step +MTAL20-10LBCM,MTAL,20,10,,,LB,CM,MAL-MTAL-20x10.step +MTAL20-10FA,MTAL,20,10,,,FA,,MAL-MTAL-20x10.step +MTAL20-10FAU,MTAL,20,10,,,FA,U,MAL-MTAL-20x10.step +MTAL20-10FACM,MTAL,20,10,,,FA,CM,MAL-MTAL-20x10.step +MTAL20-10FB,MTAL,20,10,,,FB,,MAL-MTAL-20x10.step +MTAL20-10FBU,MTAL,20,10,,,FB,U,MAL-MTAL-20x10.step +MTAL20-10FBCM,MTAL,20,10,,,FB,CM,MAL-MTAL-20x10.step +MTAL20-10SDB,MTAL,20,10,,,SDB,,MAL-MTAL-20x10.step +MTAL20-10SDBU,MTAL,20,10,,,SDB,U,MAL-MTAL-20x10.step +MTAL20-10SDBCM,MTAL,20,10,,,SDB,CM,MAL-MTAL-20x10.step +MTAL20-10ME,MTAL,20,10,M,E,,,MAL-MTAL-20x10.step +MTAL20-10MEU,MTAL,20,10,M,E,,U,MAL-MTAL-20x10.step +MTAL20-10MECM,MTAL,20,10,M,E,,CM,MAL-MTAL-20x10.step +MTAL20-10MELB,MTAL,20,10,M,E,LB,,MAL-MTAL-20x10.step +MTAL20-10MELBU,MTAL,20,10,M,E,LB,U,MAL-MTAL-20x10.step +MTAL20-10MELBCM,MTAL,20,10,M,E,LB,CM,MAL-MTAL-20x10.step +MTAL20-10MEFA,MTAL,20,10,M,E,FA,,MAL-MTAL-20x10.step +MTAL20-10MEFAU,MTAL,20,10,M,E,FA,U,MAL-MTAL-20x10.step +MTAL20-10MEFACM,MTAL,20,10,M,E,FA,CM,MAL-MTAL-20x10.step +MTAL20-10MEFB,MTAL,20,10,M,E,FB,,MAL-MTAL-20x10.step +MTAL20-10MEFBU,MTAL,20,10,M,E,FB,U,MAL-MTAL-20x10.step +MTAL20-10MEFBCM,MTAL,20,10,M,E,FB,CM,MAL-MTAL-20x10.step +MTAL20-10MESDB,MTAL,20,10,M,E,SDB,,MAL-MTAL-20x10.step +MTAL20-10MESDBU,MTAL,20,10,M,E,SDB,U,MAL-MTAL-20x10.step +MTAL20-10MESDBCM,MTAL,20,10,M,E,SDB,CM,MAL-MTAL-20x10.step +MTAL20-10M,MTAL,20,10,M,,,,MAL-MTAL-20x10.step +MTAL20-10MU,MTAL,20,10,M,,,U,MAL-MTAL-20x10.step +MTAL20-10MCM,MTAL,20,10,M,,,CM,MAL-MTAL-20x10.step +MTAL20-10MLB,MTAL,20,10,M,,LB,,MAL-MTAL-20x10.step +MTAL20-10MLBU,MTAL,20,10,M,,LB,U,MAL-MTAL-20x10.step +MTAL20-10MLBCM,MTAL,20,10,M,,LB,CM,MAL-MTAL-20x10.step +MTAL20-10MFA,MTAL,20,10,M,,FA,,MAL-MTAL-20x10.step +MTAL20-10MFAU,MTAL,20,10,M,,FA,U,MAL-MTAL-20x10.step +MTAL20-10MFACM,MTAL,20,10,M,,FA,CM,MAL-MTAL-20x10.step +MTAL20-10MFB,MTAL,20,10,M,,FB,,MAL-MTAL-20x10.step +MTAL20-10MFBU,MTAL,20,10,M,,FB,U,MAL-MTAL-20x10.step +MTAL20-10MFBCM,MTAL,20,10,M,,FB,CM,MAL-MTAL-20x10.step +MTAL20-10MSDB,MTAL,20,10,M,,SDB,,MAL-MTAL-20x10.step +MTAL20-10MSDBU,MTAL,20,10,M,,SDB,U,MAL-MTAL-20x10.step +MTAL20-10MSDBCM,MTAL,20,10,M,,SDB,CM,MAL-MTAL-20x10.step +MTAL20-20E,MTAL,20,20,,E,,,MAL-MTAL-20x20.step +MTAL20-20EU,MTAL,20,20,,E,,U,MAL-MTAL-20x20.step +MTAL20-20ECM,MTAL,20,20,,E,,CM,MAL-MTAL-20x20.step +MTAL20-20ELB,MTAL,20,20,,E,LB,,MAL-MTAL-20x20.step +MTAL20-20ELBU,MTAL,20,20,,E,LB,U,MAL-MTAL-20x20.step +MTAL20-20ELBCM,MTAL,20,20,,E,LB,CM,MAL-MTAL-20x20.step +MTAL20-20EFA,MTAL,20,20,,E,FA,,MAL-MTAL-20x20.step +MTAL20-20EFAU,MTAL,20,20,,E,FA,U,MAL-MTAL-20x20.step +MTAL20-20EFACM,MTAL,20,20,,E,FA,CM,MAL-MTAL-20x20.step +MTAL20-20EFB,MTAL,20,20,,E,FB,,MAL-MTAL-20x20.step +MTAL20-20EFBU,MTAL,20,20,,E,FB,U,MAL-MTAL-20x20.step +MTAL20-20EFBCM,MTAL,20,20,,E,FB,CM,MAL-MTAL-20x20.step +MTAL20-20ESDB,MTAL,20,20,,E,SDB,,MAL-MTAL-20x20.step +MTAL20-20ESDBU,MTAL,20,20,,E,SDB,U,MAL-MTAL-20x20.step +MTAL20-20ESDBCM,MTAL,20,20,,E,SDB,CM,MAL-MTAL-20x20.step +MTAL20-20,MTAL,20,20,,,,,MAL-MTAL-20x20.step +MTAL20-20U,MTAL,20,20,,,,U,MAL-MTAL-20x20.step +MTAL20-20CM,MTAL,20,20,,,,CM,MAL-MTAL-20x20.step +MTAL20-20LB,MTAL,20,20,,,LB,,MAL-MTAL-20x20.step +MTAL20-20LBU,MTAL,20,20,,,LB,U,MAL-MTAL-20x20.step +MTAL20-20LBCM,MTAL,20,20,,,LB,CM,MAL-MTAL-20x20.step +MTAL20-20FA,MTAL,20,20,,,FA,,MAL-MTAL-20x20.step +MTAL20-20FAU,MTAL,20,20,,,FA,U,MAL-MTAL-20x20.step +MTAL20-20FACM,MTAL,20,20,,,FA,CM,MAL-MTAL-20x20.step +MTAL20-20FB,MTAL,20,20,,,FB,,MAL-MTAL-20x20.step +MTAL20-20FBU,MTAL,20,20,,,FB,U,MAL-MTAL-20x20.step +MTAL20-20FBCM,MTAL,20,20,,,FB,CM,MAL-MTAL-20x20.step +MTAL20-20SDB,MTAL,20,20,,,SDB,,MAL-MTAL-20x20.step +MTAL20-20SDBU,MTAL,20,20,,,SDB,U,MAL-MTAL-20x20.step +MTAL20-20SDBCM,MTAL,20,20,,,SDB,CM,MAL-MTAL-20x20.step +MTAL20-20ME,MTAL,20,20,M,E,,,MAL-MTAL-20x20.step +MTAL20-20MEU,MTAL,20,20,M,E,,U,MAL-MTAL-20x20.step +MTAL20-20MECM,MTAL,20,20,M,E,,CM,MAL-MTAL-20x20.step +MTAL20-20MELB,MTAL,20,20,M,E,LB,,MAL-MTAL-20x20.step +MTAL20-20MELBU,MTAL,20,20,M,E,LB,U,MAL-MTAL-20x20.step +MTAL20-20MELBCM,MTAL,20,20,M,E,LB,CM,MAL-MTAL-20x20.step +MTAL20-20MEFA,MTAL,20,20,M,E,FA,,MAL-MTAL-20x20.step +MTAL20-20MEFAU,MTAL,20,20,M,E,FA,U,MAL-MTAL-20x20.step +MTAL20-20MEFACM,MTAL,20,20,M,E,FA,CM,MAL-MTAL-20x20.step +MTAL20-20MEFB,MTAL,20,20,M,E,FB,,MAL-MTAL-20x20.step +MTAL20-20MEFBU,MTAL,20,20,M,E,FB,U,MAL-MTAL-20x20.step +MTAL20-20MEFBCM,MTAL,20,20,M,E,FB,CM,MAL-MTAL-20x20.step +MTAL20-20MESDB,MTAL,20,20,M,E,SDB,,MAL-MTAL-20x20.step +MTAL20-20MESDBU,MTAL,20,20,M,E,SDB,U,MAL-MTAL-20x20.step +MTAL20-20MESDBCM,MTAL,20,20,M,E,SDB,CM,MAL-MTAL-20x20.step +MTAL20-20M,MTAL,20,20,M,,,,MAL-MTAL-20x20.step +MTAL20-20MU,MTAL,20,20,M,,,U,MAL-MTAL-20x20.step +MTAL20-20MCM,MTAL,20,20,M,,,CM,MAL-MTAL-20x20.step +MTAL20-20MLB,MTAL,20,20,M,,LB,,MAL-MTAL-20x20.step +MTAL20-20MLBU,MTAL,20,20,M,,LB,U,MAL-MTAL-20x20.step +MTAL20-20MLBCM,MTAL,20,20,M,,LB,CM,MAL-MTAL-20x20.step +MTAL20-20MFA,MTAL,20,20,M,,FA,,MAL-MTAL-20x20.step +MTAL20-20MFAU,MTAL,20,20,M,,FA,U,MAL-MTAL-20x20.step +MTAL20-20MFACM,MTAL,20,20,M,,FA,CM,MAL-MTAL-20x20.step +MTAL20-20MFB,MTAL,20,20,M,,FB,,MAL-MTAL-20x20.step +MTAL20-20MFBU,MTAL,20,20,M,,FB,U,MAL-MTAL-20x20.step +MTAL20-20MFBCM,MTAL,20,20,M,,FB,CM,MAL-MTAL-20x20.step +MTAL20-20MSDB,MTAL,20,20,M,,SDB,,MAL-MTAL-20x20.step +MTAL20-20MSDBU,MTAL,20,20,M,,SDB,U,MAL-MTAL-20x20.step +MTAL20-20MSDBCM,MTAL,20,20,M,,SDB,CM,MAL-MTAL-20x20.step +MTAL20-30E,MTAL,20,30,,E,,,MAL-MTAL-20x30.step +MTAL20-30EU,MTAL,20,30,,E,,U,MAL-MTAL-20x30.step +MTAL20-30ECM,MTAL,20,30,,E,,CM,MAL-MTAL-20x30.step +MTAL20-30ELB,MTAL,20,30,,E,LB,,MAL-MTAL-20x30.step +MTAL20-30ELBU,MTAL,20,30,,E,LB,U,MAL-MTAL-20x30.step +MTAL20-30ELBCM,MTAL,20,30,,E,LB,CM,MAL-MTAL-20x30.step +MTAL20-30EFA,MTAL,20,30,,E,FA,,MAL-MTAL-20x30.step +MTAL20-30EFAU,MTAL,20,30,,E,FA,U,MAL-MTAL-20x30.step +MTAL20-30EFACM,MTAL,20,30,,E,FA,CM,MAL-MTAL-20x30.step +MTAL20-30EFB,MTAL,20,30,,E,FB,,MAL-MTAL-20x30.step +MTAL20-30EFBU,MTAL,20,30,,E,FB,U,MAL-MTAL-20x30.step +MTAL20-30EFBCM,MTAL,20,30,,E,FB,CM,MAL-MTAL-20x30.step +MTAL20-30ESDB,MTAL,20,30,,E,SDB,,MAL-MTAL-20x30.step +MTAL20-30ESDBU,MTAL,20,30,,E,SDB,U,MAL-MTAL-20x30.step +MTAL20-30ESDBCM,MTAL,20,30,,E,SDB,CM,MAL-MTAL-20x30.step +MTAL20-30,MTAL,20,30,,,,,MAL-MTAL-20x30.step +MTAL20-30U,MTAL,20,30,,,,U,MAL-MTAL-20x30.step +MTAL20-30CM,MTAL,20,30,,,,CM,MAL-MTAL-20x30.step +MTAL20-30LB,MTAL,20,30,,,LB,,MAL-MTAL-20x30.step +MTAL20-30LBU,MTAL,20,30,,,LB,U,MAL-MTAL-20x30.step +MTAL20-30LBCM,MTAL,20,30,,,LB,CM,MAL-MTAL-20x30.step +MTAL20-30FA,MTAL,20,30,,,FA,,MAL-MTAL-20x30.step +MTAL20-30FAU,MTAL,20,30,,,FA,U,MAL-MTAL-20x30.step +MTAL20-30FACM,MTAL,20,30,,,FA,CM,MAL-MTAL-20x30.step +MTAL20-30FB,MTAL,20,30,,,FB,,MAL-MTAL-20x30.step +MTAL20-30FBU,MTAL,20,30,,,FB,U,MAL-MTAL-20x30.step +MTAL20-30FBCM,MTAL,20,30,,,FB,CM,MAL-MTAL-20x30.step +MTAL20-30SDB,MTAL,20,30,,,SDB,,MAL-MTAL-20x30.step +MTAL20-30SDBU,MTAL,20,30,,,SDB,U,MAL-MTAL-20x30.step +MTAL20-30SDBCM,MTAL,20,30,,,SDB,CM,MAL-MTAL-20x30.step +MTAL20-30ME,MTAL,20,30,M,E,,,MAL-MTAL-20x30.step +MTAL20-30MEU,MTAL,20,30,M,E,,U,MAL-MTAL-20x30.step +MTAL20-30MECM,MTAL,20,30,M,E,,CM,MAL-MTAL-20x30.step +MTAL20-30MELB,MTAL,20,30,M,E,LB,,MAL-MTAL-20x30.step +MTAL20-30MELBU,MTAL,20,30,M,E,LB,U,MAL-MTAL-20x30.step +MTAL20-30MELBCM,MTAL,20,30,M,E,LB,CM,MAL-MTAL-20x30.step +MTAL20-30MEFA,MTAL,20,30,M,E,FA,,MAL-MTAL-20x30.step +MTAL20-30MEFAU,MTAL,20,30,M,E,FA,U,MAL-MTAL-20x30.step +MTAL20-30MEFACM,MTAL,20,30,M,E,FA,CM,MAL-MTAL-20x30.step +MTAL20-30MEFB,MTAL,20,30,M,E,FB,,MAL-MTAL-20x30.step +MTAL20-30MEFBU,MTAL,20,30,M,E,FB,U,MAL-MTAL-20x30.step +MTAL20-30MEFBCM,MTAL,20,30,M,E,FB,CM,MAL-MTAL-20x30.step +MTAL20-30MESDB,MTAL,20,30,M,E,SDB,,MAL-MTAL-20x30.step +MTAL20-30MESDBU,MTAL,20,30,M,E,SDB,U,MAL-MTAL-20x30.step +MTAL20-30MESDBCM,MTAL,20,30,M,E,SDB,CM,MAL-MTAL-20x30.step +MTAL20-30M,MTAL,20,30,M,,,,MAL-MTAL-20x30.step +MTAL20-30MU,MTAL,20,30,M,,,U,MAL-MTAL-20x30.step +MTAL20-30MCM,MTAL,20,30,M,,,CM,MAL-MTAL-20x30.step +MTAL20-30MLB,MTAL,20,30,M,,LB,,MAL-MTAL-20x30.step +MTAL20-30MLBU,MTAL,20,30,M,,LB,U,MAL-MTAL-20x30.step +MTAL20-30MLBCM,MTAL,20,30,M,,LB,CM,MAL-MTAL-20x30.step +MTAL20-30MFA,MTAL,20,30,M,,FA,,MAL-MTAL-20x30.step +MTAL20-30MFAU,MTAL,20,30,M,,FA,U,MAL-MTAL-20x30.step +MTAL20-30MFACM,MTAL,20,30,M,,FA,CM,MAL-MTAL-20x30.step +MTAL20-30MFB,MTAL,20,30,M,,FB,,MAL-MTAL-20x30.step +MTAL20-30MFBU,MTAL,20,30,M,,FB,U,MAL-MTAL-20x30.step +MTAL20-30MFBCM,MTAL,20,30,M,,FB,CM,MAL-MTAL-20x30.step +MTAL20-30MSDB,MTAL,20,30,M,,SDB,,MAL-MTAL-20x30.step +MTAL20-30MSDBU,MTAL,20,30,M,,SDB,U,MAL-MTAL-20x30.step +MTAL20-30MSDBCM,MTAL,20,30,M,,SDB,CM,MAL-MTAL-20x30.step +MTAL20-50E,MTAL,20,50,,E,,,MAL-MTAL-20x50.step +MTAL20-50EU,MTAL,20,50,,E,,U,MAL-MTAL-20x50.step +MTAL20-50ECM,MTAL,20,50,,E,,CM,MAL-MTAL-20x50.step +MTAL20-50ELB,MTAL,20,50,,E,LB,,MAL-MTAL-20x50.step +MTAL20-50ELBU,MTAL,20,50,,E,LB,U,MAL-MTAL-20x50.step +MTAL20-50ELBCM,MTAL,20,50,,E,LB,CM,MAL-MTAL-20x50.step +MTAL20-50EFA,MTAL,20,50,,E,FA,,MAL-MTAL-20x50.step +MTAL20-50EFAU,MTAL,20,50,,E,FA,U,MAL-MTAL-20x50.step +MTAL20-50EFACM,MTAL,20,50,,E,FA,CM,MAL-MTAL-20x50.step +MTAL20-50EFB,MTAL,20,50,,E,FB,,MAL-MTAL-20x50.step +MTAL20-50EFBU,MTAL,20,50,,E,FB,U,MAL-MTAL-20x50.step +MTAL20-50EFBCM,MTAL,20,50,,E,FB,CM,MAL-MTAL-20x50.step +MTAL20-50ESDB,MTAL,20,50,,E,SDB,,MAL-MTAL-20x50.step +MTAL20-50ESDBU,MTAL,20,50,,E,SDB,U,MAL-MTAL-20x50.step +MTAL20-50ESDBCM,MTAL,20,50,,E,SDB,CM,MAL-MTAL-20x50.step +MTAL20-50,MTAL,20,50,,,,,MAL-MTAL-20x50.step +MTAL20-50U,MTAL,20,50,,,,U,MAL-MTAL-20x50.step +MTAL20-50CM,MTAL,20,50,,,,CM,MAL-MTAL-20x50.step +MTAL20-50LB,MTAL,20,50,,,LB,,MAL-MTAL-20x50.step +MTAL20-50LBU,MTAL,20,50,,,LB,U,MAL-MTAL-20x50.step +MTAL20-50LBCM,MTAL,20,50,,,LB,CM,MAL-MTAL-20x50.step +MTAL20-50FA,MTAL,20,50,,,FA,,MAL-MTAL-20x50.step +MTAL20-50FAU,MTAL,20,50,,,FA,U,MAL-MTAL-20x50.step +MTAL20-50FACM,MTAL,20,50,,,FA,CM,MAL-MTAL-20x50.step +MTAL20-50FB,MTAL,20,50,,,FB,,MAL-MTAL-20x50.step +MTAL20-50FBU,MTAL,20,50,,,FB,U,MAL-MTAL-20x50.step +MTAL20-50FBCM,MTAL,20,50,,,FB,CM,MAL-MTAL-20x50.step +MTAL20-50SDB,MTAL,20,50,,,SDB,,MAL-MTAL-20x50.step +MTAL20-50SDBU,MTAL,20,50,,,SDB,U,MAL-MTAL-20x50.step +MTAL20-50SDBCM,MTAL,20,50,,,SDB,CM,MAL-MTAL-20x50.step +MTAL20-50ME,MTAL,20,50,M,E,,,MAL-MTAL-20x50.step +MTAL20-50MEU,MTAL,20,50,M,E,,U,MAL-MTAL-20x50.step +MTAL20-50MECM,MTAL,20,50,M,E,,CM,MAL-MTAL-20x50.step +MTAL20-50MELB,MTAL,20,50,M,E,LB,,MAL-MTAL-20x50.step +MTAL20-50MELBU,MTAL,20,50,M,E,LB,U,MAL-MTAL-20x50.step +MTAL20-50MELBCM,MTAL,20,50,M,E,LB,CM,MAL-MTAL-20x50.step +MTAL20-50MEFA,MTAL,20,50,M,E,FA,,MAL-MTAL-20x50.step +MTAL20-50MEFAU,MTAL,20,50,M,E,FA,U,MAL-MTAL-20x50.step +MTAL20-50MEFACM,MTAL,20,50,M,E,FA,CM,MAL-MTAL-20x50.step +MTAL20-50MEFB,MTAL,20,50,M,E,FB,,MAL-MTAL-20x50.step +MTAL20-50MEFBU,MTAL,20,50,M,E,FB,U,MAL-MTAL-20x50.step +MTAL20-50MEFBCM,MTAL,20,50,M,E,FB,CM,MAL-MTAL-20x50.step +MTAL20-50MESDB,MTAL,20,50,M,E,SDB,,MAL-MTAL-20x50.step +MTAL20-50MESDBU,MTAL,20,50,M,E,SDB,U,MAL-MTAL-20x50.step +MTAL20-50MESDBCM,MTAL,20,50,M,E,SDB,CM,MAL-MTAL-20x50.step +MTAL20-50M,MTAL,20,50,M,,,,MAL-MTAL-20x50.step +MTAL20-50MU,MTAL,20,50,M,,,U,MAL-MTAL-20x50.step +MTAL20-50MCM,MTAL,20,50,M,,,CM,MAL-MTAL-20x50.step +MTAL20-50MLB,MTAL,20,50,M,,LB,,MAL-MTAL-20x50.step +MTAL20-50MLBU,MTAL,20,50,M,,LB,U,MAL-MTAL-20x50.step +MTAL20-50MLBCM,MTAL,20,50,M,,LB,CM,MAL-MTAL-20x50.step +MTAL20-50MFA,MTAL,20,50,M,,FA,,MAL-MTAL-20x50.step +MTAL20-50MFAU,MTAL,20,50,M,,FA,U,MAL-MTAL-20x50.step +MTAL20-50MFACM,MTAL,20,50,M,,FA,CM,MAL-MTAL-20x50.step +MTAL20-50MFB,MTAL,20,50,M,,FB,,MAL-MTAL-20x50.step +MTAL20-50MFBU,MTAL,20,50,M,,FB,U,MAL-MTAL-20x50.step +MTAL20-50MFBCM,MTAL,20,50,M,,FB,CM,MAL-MTAL-20x50.step +MTAL20-50MSDB,MTAL,20,50,M,,SDB,,MAL-MTAL-20x50.step +MTAL20-50MSDBU,MTAL,20,50,M,,SDB,U,MAL-MTAL-20x50.step +MTAL20-50MSDBCM,MTAL,20,50,M,,SDB,CM,MAL-MTAL-20x50.step +MTAL20-75E,MTAL,20,75,,E,,,MAL-MTAL-20x75.step +MTAL20-75EU,MTAL,20,75,,E,,U,MAL-MTAL-20x75.step +MTAL20-75ECM,MTAL,20,75,,E,,CM,MAL-MTAL-20x75.step +MTAL20-75ELB,MTAL,20,75,,E,LB,,MAL-MTAL-20x75.step +MTAL20-75ELBU,MTAL,20,75,,E,LB,U,MAL-MTAL-20x75.step +MTAL20-75ELBCM,MTAL,20,75,,E,LB,CM,MAL-MTAL-20x75.step +MTAL20-75EFA,MTAL,20,75,,E,FA,,MAL-MTAL-20x75.step +MTAL20-75EFAU,MTAL,20,75,,E,FA,U,MAL-MTAL-20x75.step +MTAL20-75EFACM,MTAL,20,75,,E,FA,CM,MAL-MTAL-20x75.step +MTAL20-75EFB,MTAL,20,75,,E,FB,,MAL-MTAL-20x75.step +MTAL20-75EFBU,MTAL,20,75,,E,FB,U,MAL-MTAL-20x75.step +MTAL20-75EFBCM,MTAL,20,75,,E,FB,CM,MAL-MTAL-20x75.step +MTAL20-75ESDB,MTAL,20,75,,E,SDB,,MAL-MTAL-20x75.step +MTAL20-75ESDBU,MTAL,20,75,,E,SDB,U,MAL-MTAL-20x75.step +MTAL20-75ESDBCM,MTAL,20,75,,E,SDB,CM,MAL-MTAL-20x75.step +MTAL20-75,MTAL,20,75,,,,,MAL-MTAL-20x75.step +MTAL20-75U,MTAL,20,75,,,,U,MAL-MTAL-20x75.step +MTAL20-75CM,MTAL,20,75,,,,CM,MAL-MTAL-20x75.step +MTAL20-75LB,MTAL,20,75,,,LB,,MAL-MTAL-20x75.step +MTAL20-75LBU,MTAL,20,75,,,LB,U,MAL-MTAL-20x75.step +MTAL20-75LBCM,MTAL,20,75,,,LB,CM,MAL-MTAL-20x75.step +MTAL20-75FA,MTAL,20,75,,,FA,,MAL-MTAL-20x75.step +MTAL20-75FAU,MTAL,20,75,,,FA,U,MAL-MTAL-20x75.step +MTAL20-75FACM,MTAL,20,75,,,FA,CM,MAL-MTAL-20x75.step +MTAL20-75FB,MTAL,20,75,,,FB,,MAL-MTAL-20x75.step +MTAL20-75FBU,MTAL,20,75,,,FB,U,MAL-MTAL-20x75.step +MTAL20-75FBCM,MTAL,20,75,,,FB,CM,MAL-MTAL-20x75.step +MTAL20-75SDB,MTAL,20,75,,,SDB,,MAL-MTAL-20x75.step +MTAL20-75SDBU,MTAL,20,75,,,SDB,U,MAL-MTAL-20x75.step +MTAL20-75SDBCM,MTAL,20,75,,,SDB,CM,MAL-MTAL-20x75.step +MTAL20-75ME,MTAL,20,75,M,E,,,MAL-MTAL-20x75.step +MTAL20-75MEU,MTAL,20,75,M,E,,U,MAL-MTAL-20x75.step +MTAL20-75MECM,MTAL,20,75,M,E,,CM,MAL-MTAL-20x75.step +MTAL20-75MELB,MTAL,20,75,M,E,LB,,MAL-MTAL-20x75.step +MTAL20-75MELBU,MTAL,20,75,M,E,LB,U,MAL-MTAL-20x75.step +MTAL20-75MELBCM,MTAL,20,75,M,E,LB,CM,MAL-MTAL-20x75.step +MTAL20-75MEFA,MTAL,20,75,M,E,FA,,MAL-MTAL-20x75.step +MTAL20-75MEFAU,MTAL,20,75,M,E,FA,U,MAL-MTAL-20x75.step +MTAL20-75MEFACM,MTAL,20,75,M,E,FA,CM,MAL-MTAL-20x75.step +MTAL20-75MEFB,MTAL,20,75,M,E,FB,,MAL-MTAL-20x75.step +MTAL20-75MEFBU,MTAL,20,75,M,E,FB,U,MAL-MTAL-20x75.step +MTAL20-75MEFBCM,MTAL,20,75,M,E,FB,CM,MAL-MTAL-20x75.step +MTAL20-75MESDB,MTAL,20,75,M,E,SDB,,MAL-MTAL-20x75.step +MTAL20-75MESDBU,MTAL,20,75,M,E,SDB,U,MAL-MTAL-20x75.step +MTAL20-75MESDBCM,MTAL,20,75,M,E,SDB,CM,MAL-MTAL-20x75.step +MTAL20-75M,MTAL,20,75,M,,,,MAL-MTAL-20x75.step +MTAL20-75MU,MTAL,20,75,M,,,U,MAL-MTAL-20x75.step +MTAL20-75MCM,MTAL,20,75,M,,,CM,MAL-MTAL-20x75.step +MTAL20-75MLB,MTAL,20,75,M,,LB,,MAL-MTAL-20x75.step +MTAL20-75MLBU,MTAL,20,75,M,,LB,U,MAL-MTAL-20x75.step +MTAL20-75MLBCM,MTAL,20,75,M,,LB,CM,MAL-MTAL-20x75.step +MTAL20-75MFA,MTAL,20,75,M,,FA,,MAL-MTAL-20x75.step +MTAL20-75MFAU,MTAL,20,75,M,,FA,U,MAL-MTAL-20x75.step +MTAL20-75MFACM,MTAL,20,75,M,,FA,CM,MAL-MTAL-20x75.step +MTAL20-75MFB,MTAL,20,75,M,,FB,,MAL-MTAL-20x75.step +MTAL20-75MFBU,MTAL,20,75,M,,FB,U,MAL-MTAL-20x75.step +MTAL20-75MFBCM,MTAL,20,75,M,,FB,CM,MAL-MTAL-20x75.step +MTAL20-75MSDB,MTAL,20,75,M,,SDB,,MAL-MTAL-20x75.step +MTAL20-75MSDBU,MTAL,20,75,M,,SDB,U,MAL-MTAL-20x75.step +MTAL20-75MSDBCM,MTAL,20,75,M,,SDB,CM,MAL-MTAL-20x75.step +MTAL20-100E,MTAL,20,100,,E,,,MAL-MTAL-20x100.step +MTAL20-100EU,MTAL,20,100,,E,,U,MAL-MTAL-20x100.step +MTAL20-100ECM,MTAL,20,100,,E,,CM,MAL-MTAL-20x100.step +MTAL20-100ELB,MTAL,20,100,,E,LB,,MAL-MTAL-20x100.step +MTAL20-100ELBU,MTAL,20,100,,E,LB,U,MAL-MTAL-20x100.step +MTAL20-100ELBCM,MTAL,20,100,,E,LB,CM,MAL-MTAL-20x100.step +MTAL20-100EFA,MTAL,20,100,,E,FA,,MAL-MTAL-20x100.step +MTAL20-100EFAU,MTAL,20,100,,E,FA,U,MAL-MTAL-20x100.step +MTAL20-100EFACM,MTAL,20,100,,E,FA,CM,MAL-MTAL-20x100.step +MTAL20-100EFB,MTAL,20,100,,E,FB,,MAL-MTAL-20x100.step +MTAL20-100EFBU,MTAL,20,100,,E,FB,U,MAL-MTAL-20x100.step +MTAL20-100EFBCM,MTAL,20,100,,E,FB,CM,MAL-MTAL-20x100.step +MTAL20-100ESDB,MTAL,20,100,,E,SDB,,MAL-MTAL-20x100.step +MTAL20-100ESDBU,MTAL,20,100,,E,SDB,U,MAL-MTAL-20x100.step +MTAL20-100ESDBCM,MTAL,20,100,,E,SDB,CM,MAL-MTAL-20x100.step +MTAL20-100,MTAL,20,100,,,,,MAL-MTAL-20x100.step +MTAL20-100U,MTAL,20,100,,,,U,MAL-MTAL-20x100.step +MTAL20-100CM,MTAL,20,100,,,,CM,MAL-MTAL-20x100.step +MTAL20-100LB,MTAL,20,100,,,LB,,MAL-MTAL-20x100.step +MTAL20-100LBU,MTAL,20,100,,,LB,U,MAL-MTAL-20x100.step +MTAL20-100LBCM,MTAL,20,100,,,LB,CM,MAL-MTAL-20x100.step +MTAL20-100FA,MTAL,20,100,,,FA,,MAL-MTAL-20x100.step +MTAL20-100FAU,MTAL,20,100,,,FA,U,MAL-MTAL-20x100.step +MTAL20-100FACM,MTAL,20,100,,,FA,CM,MAL-MTAL-20x100.step +MTAL20-100FB,MTAL,20,100,,,FB,,MAL-MTAL-20x100.step +MTAL20-100FBU,MTAL,20,100,,,FB,U,MAL-MTAL-20x100.step +MTAL20-100FBCM,MTAL,20,100,,,FB,CM,MAL-MTAL-20x100.step +MTAL20-100SDB,MTAL,20,100,,,SDB,,MAL-MTAL-20x100.step +MTAL20-100SDBU,MTAL,20,100,,,SDB,U,MAL-MTAL-20x100.step +MTAL20-100SDBCM,MTAL,20,100,,,SDB,CM,MAL-MTAL-20x100.step +MTAL20-100ME,MTAL,20,100,M,E,,,MAL-MTAL-20x100.step +MTAL20-100MEU,MTAL,20,100,M,E,,U,MAL-MTAL-20x100.step +MTAL20-100MECM,MTAL,20,100,M,E,,CM,MAL-MTAL-20x100.step +MTAL20-100MELB,MTAL,20,100,M,E,LB,,MAL-MTAL-20x100.step +MTAL20-100MELBU,MTAL,20,100,M,E,LB,U,MAL-MTAL-20x100.step +MTAL20-100MELBCM,MTAL,20,100,M,E,LB,CM,MAL-MTAL-20x100.step +MTAL20-100MEFA,MTAL,20,100,M,E,FA,,MAL-MTAL-20x100.step +MTAL20-100MEFAU,MTAL,20,100,M,E,FA,U,MAL-MTAL-20x100.step +MTAL20-100MEFACM,MTAL,20,100,M,E,FA,CM,MAL-MTAL-20x100.step +MTAL20-100MEFB,MTAL,20,100,M,E,FB,,MAL-MTAL-20x100.step +MTAL20-100MEFBU,MTAL,20,100,M,E,FB,U,MAL-MTAL-20x100.step +MTAL20-100MEFBCM,MTAL,20,100,M,E,FB,CM,MAL-MTAL-20x100.step +MTAL20-100MESDB,MTAL,20,100,M,E,SDB,,MAL-MTAL-20x100.step +MTAL20-100MESDBU,MTAL,20,100,M,E,SDB,U,MAL-MTAL-20x100.step +MTAL20-100MESDBCM,MTAL,20,100,M,E,SDB,CM,MAL-MTAL-20x100.step +MTAL20-100M,MTAL,20,100,M,,,,MAL-MTAL-20x100.step +MTAL20-100MU,MTAL,20,100,M,,,U,MAL-MTAL-20x100.step +MTAL20-100MCM,MTAL,20,100,M,,,CM,MAL-MTAL-20x100.step +MTAL20-100MLB,MTAL,20,100,M,,LB,,MAL-MTAL-20x100.step +MTAL20-100MLBU,MTAL,20,100,M,,LB,U,MAL-MTAL-20x100.step +MTAL20-100MLBCM,MTAL,20,100,M,,LB,CM,MAL-MTAL-20x100.step +MTAL20-100MFA,MTAL,20,100,M,,FA,,MAL-MTAL-20x100.step +MTAL20-100MFAU,MTAL,20,100,M,,FA,U,MAL-MTAL-20x100.step +MTAL20-100MFACM,MTAL,20,100,M,,FA,CM,MAL-MTAL-20x100.step +MTAL20-100MFB,MTAL,20,100,M,,FB,,MAL-MTAL-20x100.step +MTAL20-100MFBU,MTAL,20,100,M,,FB,U,MAL-MTAL-20x100.step +MTAL20-100MFBCM,MTAL,20,100,M,,FB,CM,MAL-MTAL-20x100.step +MTAL20-100MSDB,MTAL,20,100,M,,SDB,,MAL-MTAL-20x100.step +MTAL20-100MSDBU,MTAL,20,100,M,,SDB,U,MAL-MTAL-20x100.step +MTAL20-100MSDBCM,MTAL,20,100,M,,SDB,CM,MAL-MTAL-20x100.step +MTAL25-10E,MTAL,25,10,,E,,,MAL-MTAL-25x10.step +MTAL25-10EU,MTAL,25,10,,E,,U,MAL-MTAL-25x10.step +MTAL25-10ECM,MTAL,25,10,,E,,CM,MAL-MTAL-25x10.step +MTAL25-10ELB,MTAL,25,10,,E,LB,,MAL-MTAL-25x10.step +MTAL25-10ELBU,MTAL,25,10,,E,LB,U,MAL-MTAL-25x10.step +MTAL25-10ELBCM,MTAL,25,10,,E,LB,CM,MAL-MTAL-25x10.step +MTAL25-10EFA,MTAL,25,10,,E,FA,,MAL-MTAL-25x10.step +MTAL25-10EFAU,MTAL,25,10,,E,FA,U,MAL-MTAL-25x10.step +MTAL25-10EFACM,MTAL,25,10,,E,FA,CM,MAL-MTAL-25x10.step +MTAL25-10EFB,MTAL,25,10,,E,FB,,MAL-MTAL-25x10.step +MTAL25-10EFBU,MTAL,25,10,,E,FB,U,MAL-MTAL-25x10.step +MTAL25-10EFBCM,MTAL,25,10,,E,FB,CM,MAL-MTAL-25x10.step +MTAL25-10ESDB,MTAL,25,10,,E,SDB,,MAL-MTAL-25x10.step +MTAL25-10ESDBU,MTAL,25,10,,E,SDB,U,MAL-MTAL-25x10.step +MTAL25-10ESDBCM,MTAL,25,10,,E,SDB,CM,MAL-MTAL-25x10.step +MTAL25-10,MTAL,25,10,,,,,MAL-MTAL-25x10.step +MTAL25-10U,MTAL,25,10,,,,U,MAL-MTAL-25x10.step +MTAL25-10CM,MTAL,25,10,,,,CM,MAL-MTAL-25x10.step +MTAL25-10LB,MTAL,25,10,,,LB,,MAL-MTAL-25x10.step +MTAL25-10LBU,MTAL,25,10,,,LB,U,MAL-MTAL-25x10.step +MTAL25-10LBCM,MTAL,25,10,,,LB,CM,MAL-MTAL-25x10.step +MTAL25-10FA,MTAL,25,10,,,FA,,MAL-MTAL-25x10.step +MTAL25-10FAU,MTAL,25,10,,,FA,U,MAL-MTAL-25x10.step +MTAL25-10FACM,MTAL,25,10,,,FA,CM,MAL-MTAL-25x10.step +MTAL25-10FB,MTAL,25,10,,,FB,,MAL-MTAL-25x10.step +MTAL25-10FBU,MTAL,25,10,,,FB,U,MAL-MTAL-25x10.step +MTAL25-10FBCM,MTAL,25,10,,,FB,CM,MAL-MTAL-25x10.step +MTAL25-10SDB,MTAL,25,10,,,SDB,,MAL-MTAL-25x10.step +MTAL25-10SDBU,MTAL,25,10,,,SDB,U,MAL-MTAL-25x10.step +MTAL25-10SDBCM,MTAL,25,10,,,SDB,CM,MAL-MTAL-25x10.step +MTAL25-10ME,MTAL,25,10,M,E,,,MAL-MTAL-25x10.step +MTAL25-10MEU,MTAL,25,10,M,E,,U,MAL-MTAL-25x10.step +MTAL25-10MECM,MTAL,25,10,M,E,,CM,MAL-MTAL-25x10.step +MTAL25-10MELB,MTAL,25,10,M,E,LB,,MAL-MTAL-25x10.step +MTAL25-10MELBU,MTAL,25,10,M,E,LB,U,MAL-MTAL-25x10.step +MTAL25-10MELBCM,MTAL,25,10,M,E,LB,CM,MAL-MTAL-25x10.step +MTAL25-10MEFA,MTAL,25,10,M,E,FA,,MAL-MTAL-25x10.step +MTAL25-10MEFAU,MTAL,25,10,M,E,FA,U,MAL-MTAL-25x10.step +MTAL25-10MEFACM,MTAL,25,10,M,E,FA,CM,MAL-MTAL-25x10.step +MTAL25-10MEFB,MTAL,25,10,M,E,FB,,MAL-MTAL-25x10.step +MTAL25-10MEFBU,MTAL,25,10,M,E,FB,U,MAL-MTAL-25x10.step +MTAL25-10MEFBCM,MTAL,25,10,M,E,FB,CM,MAL-MTAL-25x10.step +MTAL25-10MESDB,MTAL,25,10,M,E,SDB,,MAL-MTAL-25x10.step +MTAL25-10MESDBU,MTAL,25,10,M,E,SDB,U,MAL-MTAL-25x10.step +MTAL25-10MESDBCM,MTAL,25,10,M,E,SDB,CM,MAL-MTAL-25x10.step +MTAL25-10M,MTAL,25,10,M,,,,MAL-MTAL-25x10.step +MTAL25-10MU,MTAL,25,10,M,,,U,MAL-MTAL-25x10.step +MTAL25-10MCM,MTAL,25,10,M,,,CM,MAL-MTAL-25x10.step +MTAL25-10MLB,MTAL,25,10,M,,LB,,MAL-MTAL-25x10.step +MTAL25-10MLBU,MTAL,25,10,M,,LB,U,MAL-MTAL-25x10.step +MTAL25-10MLBCM,MTAL,25,10,M,,LB,CM,MAL-MTAL-25x10.step +MTAL25-10MFA,MTAL,25,10,M,,FA,,MAL-MTAL-25x10.step +MTAL25-10MFAU,MTAL,25,10,M,,FA,U,MAL-MTAL-25x10.step +MTAL25-10MFACM,MTAL,25,10,M,,FA,CM,MAL-MTAL-25x10.step +MTAL25-10MFB,MTAL,25,10,M,,FB,,MAL-MTAL-25x10.step +MTAL25-10MFBU,MTAL,25,10,M,,FB,U,MAL-MTAL-25x10.step +MTAL25-10MFBCM,MTAL,25,10,M,,FB,CM,MAL-MTAL-25x10.step +MTAL25-10MSDB,MTAL,25,10,M,,SDB,,MAL-MTAL-25x10.step +MTAL25-10MSDBU,MTAL,25,10,M,,SDB,U,MAL-MTAL-25x10.step +MTAL25-10MSDBCM,MTAL,25,10,M,,SDB,CM,MAL-MTAL-25x10.step +MTAL25-20E,MTAL,25,20,,E,,,MAL-MTAL-25x20.step +MTAL25-20EU,MTAL,25,20,,E,,U,MAL-MTAL-25x20.step +MTAL25-20ECM,MTAL,25,20,,E,,CM,MAL-MTAL-25x20.step +MTAL25-20ELB,MTAL,25,20,,E,LB,,MAL-MTAL-25x20.step +MTAL25-20ELBU,MTAL,25,20,,E,LB,U,MAL-MTAL-25x20.step +MTAL25-20ELBCM,MTAL,25,20,,E,LB,CM,MAL-MTAL-25x20.step +MTAL25-20EFA,MTAL,25,20,,E,FA,,MAL-MTAL-25x20.step +MTAL25-20EFAU,MTAL,25,20,,E,FA,U,MAL-MTAL-25x20.step +MTAL25-20EFACM,MTAL,25,20,,E,FA,CM,MAL-MTAL-25x20.step +MTAL25-20EFB,MTAL,25,20,,E,FB,,MAL-MTAL-25x20.step +MTAL25-20EFBU,MTAL,25,20,,E,FB,U,MAL-MTAL-25x20.step +MTAL25-20EFBCM,MTAL,25,20,,E,FB,CM,MAL-MTAL-25x20.step +MTAL25-20ESDB,MTAL,25,20,,E,SDB,,MAL-MTAL-25x20.step +MTAL25-20ESDBU,MTAL,25,20,,E,SDB,U,MAL-MTAL-25x20.step +MTAL25-20ESDBCM,MTAL,25,20,,E,SDB,CM,MAL-MTAL-25x20.step +MTAL25-20,MTAL,25,20,,,,,MAL-MTAL-25x20.step +MTAL25-20U,MTAL,25,20,,,,U,MAL-MTAL-25x20.step +MTAL25-20CM,MTAL,25,20,,,,CM,MAL-MTAL-25x20.step +MTAL25-20LB,MTAL,25,20,,,LB,,MAL-MTAL-25x20.step +MTAL25-20LBU,MTAL,25,20,,,LB,U,MAL-MTAL-25x20.step +MTAL25-20LBCM,MTAL,25,20,,,LB,CM,MAL-MTAL-25x20.step +MTAL25-20FA,MTAL,25,20,,,FA,,MAL-MTAL-25x20.step +MTAL25-20FAU,MTAL,25,20,,,FA,U,MAL-MTAL-25x20.step +MTAL25-20FACM,MTAL,25,20,,,FA,CM,MAL-MTAL-25x20.step +MTAL25-20FB,MTAL,25,20,,,FB,,MAL-MTAL-25x20.step +MTAL25-20FBU,MTAL,25,20,,,FB,U,MAL-MTAL-25x20.step +MTAL25-20FBCM,MTAL,25,20,,,FB,CM,MAL-MTAL-25x20.step +MTAL25-20SDB,MTAL,25,20,,,SDB,,MAL-MTAL-25x20.step +MTAL25-20SDBU,MTAL,25,20,,,SDB,U,MAL-MTAL-25x20.step +MTAL25-20SDBCM,MTAL,25,20,,,SDB,CM,MAL-MTAL-25x20.step +MTAL25-20ME,MTAL,25,20,M,E,,,MAL-MTAL-25x20.step +MTAL25-20MEU,MTAL,25,20,M,E,,U,MAL-MTAL-25x20.step +MTAL25-20MECM,MTAL,25,20,M,E,,CM,MAL-MTAL-25x20.step +MTAL25-20MELB,MTAL,25,20,M,E,LB,,MAL-MTAL-25x20.step +MTAL25-20MELBU,MTAL,25,20,M,E,LB,U,MAL-MTAL-25x20.step +MTAL25-20MELBCM,MTAL,25,20,M,E,LB,CM,MAL-MTAL-25x20.step +MTAL25-20MEFA,MTAL,25,20,M,E,FA,,MAL-MTAL-25x20.step +MTAL25-20MEFAU,MTAL,25,20,M,E,FA,U,MAL-MTAL-25x20.step +MTAL25-20MEFACM,MTAL,25,20,M,E,FA,CM,MAL-MTAL-25x20.step +MTAL25-20MEFB,MTAL,25,20,M,E,FB,,MAL-MTAL-25x20.step +MTAL25-20MEFBU,MTAL,25,20,M,E,FB,U,MAL-MTAL-25x20.step +MTAL25-20MEFBCM,MTAL,25,20,M,E,FB,CM,MAL-MTAL-25x20.step +MTAL25-20MESDB,MTAL,25,20,M,E,SDB,,MAL-MTAL-25x20.step +MTAL25-20MESDBU,MTAL,25,20,M,E,SDB,U,MAL-MTAL-25x20.step +MTAL25-20MESDBCM,MTAL,25,20,M,E,SDB,CM,MAL-MTAL-25x20.step +MTAL25-20M,MTAL,25,20,M,,,,MAL-MTAL-25x20.step +MTAL25-20MU,MTAL,25,20,M,,,U,MAL-MTAL-25x20.step +MTAL25-20MCM,MTAL,25,20,M,,,CM,MAL-MTAL-25x20.step +MTAL25-20MLB,MTAL,25,20,M,,LB,,MAL-MTAL-25x20.step +MTAL25-20MLBU,MTAL,25,20,M,,LB,U,MAL-MTAL-25x20.step +MTAL25-20MLBCM,MTAL,25,20,M,,LB,CM,MAL-MTAL-25x20.step +MTAL25-20MFA,MTAL,25,20,M,,FA,,MAL-MTAL-25x20.step +MTAL25-20MFAU,MTAL,25,20,M,,FA,U,MAL-MTAL-25x20.step +MTAL25-20MFACM,MTAL,25,20,M,,FA,CM,MAL-MTAL-25x20.step +MTAL25-20MFB,MTAL,25,20,M,,FB,,MAL-MTAL-25x20.step +MTAL25-20MFBU,MTAL,25,20,M,,FB,U,MAL-MTAL-25x20.step +MTAL25-20MFBCM,MTAL,25,20,M,,FB,CM,MAL-MTAL-25x20.step +MTAL25-20MSDB,MTAL,25,20,M,,SDB,,MAL-MTAL-25x20.step +MTAL25-20MSDBU,MTAL,25,20,M,,SDB,U,MAL-MTAL-25x20.step +MTAL25-20MSDBCM,MTAL,25,20,M,,SDB,CM,MAL-MTAL-25x20.step +MTAL25-30E,MTAL,25,30,,E,,,MAL-MTAL-25x30.step +MTAL25-30EU,MTAL,25,30,,E,,U,MAL-MTAL-25x30.step +MTAL25-30ECM,MTAL,25,30,,E,,CM,MAL-MTAL-25x30.step +MTAL25-30ELB,MTAL,25,30,,E,LB,,MAL-MTAL-25x30.step +MTAL25-30ELBU,MTAL,25,30,,E,LB,U,MAL-MTAL-25x30.step +MTAL25-30ELBCM,MTAL,25,30,,E,LB,CM,MAL-MTAL-25x30.step +MTAL25-30EFA,MTAL,25,30,,E,FA,,MAL-MTAL-25x30.step +MTAL25-30EFAU,MTAL,25,30,,E,FA,U,MAL-MTAL-25x30.step +MTAL25-30EFACM,MTAL,25,30,,E,FA,CM,MAL-MTAL-25x30.step +MTAL25-30EFB,MTAL,25,30,,E,FB,,MAL-MTAL-25x30.step +MTAL25-30EFBU,MTAL,25,30,,E,FB,U,MAL-MTAL-25x30.step +MTAL25-30EFBCM,MTAL,25,30,,E,FB,CM,MAL-MTAL-25x30.step +MTAL25-30ESDB,MTAL,25,30,,E,SDB,,MAL-MTAL-25x30.step +MTAL25-30ESDBU,MTAL,25,30,,E,SDB,U,MAL-MTAL-25x30.step +MTAL25-30ESDBCM,MTAL,25,30,,E,SDB,CM,MAL-MTAL-25x30.step +MTAL25-30,MTAL,25,30,,,,,MAL-MTAL-25x30.step +MTAL25-30U,MTAL,25,30,,,,U,MAL-MTAL-25x30.step +MTAL25-30CM,MTAL,25,30,,,,CM,MAL-MTAL-25x30.step +MTAL25-30LB,MTAL,25,30,,,LB,,MAL-MTAL-25x30.step +MTAL25-30LBU,MTAL,25,30,,,LB,U,MAL-MTAL-25x30.step +MTAL25-30LBCM,MTAL,25,30,,,LB,CM,MAL-MTAL-25x30.step +MTAL25-30FA,MTAL,25,30,,,FA,,MAL-MTAL-25x30.step +MTAL25-30FAU,MTAL,25,30,,,FA,U,MAL-MTAL-25x30.step +MTAL25-30FACM,MTAL,25,30,,,FA,CM,MAL-MTAL-25x30.step +MTAL25-30FB,MTAL,25,30,,,FB,,MAL-MTAL-25x30.step +MTAL25-30FBU,MTAL,25,30,,,FB,U,MAL-MTAL-25x30.step +MTAL25-30FBCM,MTAL,25,30,,,FB,CM,MAL-MTAL-25x30.step +MTAL25-30SDB,MTAL,25,30,,,SDB,,MAL-MTAL-25x30.step +MTAL25-30SDBU,MTAL,25,30,,,SDB,U,MAL-MTAL-25x30.step +MTAL25-30SDBCM,MTAL,25,30,,,SDB,CM,MAL-MTAL-25x30.step +MTAL25-30ME,MTAL,25,30,M,E,,,MAL-MTAL-25x30.step +MTAL25-30MEU,MTAL,25,30,M,E,,U,MAL-MTAL-25x30.step +MTAL25-30MECM,MTAL,25,30,M,E,,CM,MAL-MTAL-25x30.step +MTAL25-30MELB,MTAL,25,30,M,E,LB,,MAL-MTAL-25x30.step +MTAL25-30MELBU,MTAL,25,30,M,E,LB,U,MAL-MTAL-25x30.step +MTAL25-30MELBCM,MTAL,25,30,M,E,LB,CM,MAL-MTAL-25x30.step +MTAL25-30MEFA,MTAL,25,30,M,E,FA,,MAL-MTAL-25x30.step +MTAL25-30MEFAU,MTAL,25,30,M,E,FA,U,MAL-MTAL-25x30.step +MTAL25-30MEFACM,MTAL,25,30,M,E,FA,CM,MAL-MTAL-25x30.step +MTAL25-30MEFB,MTAL,25,30,M,E,FB,,MAL-MTAL-25x30.step +MTAL25-30MEFBU,MTAL,25,30,M,E,FB,U,MAL-MTAL-25x30.step +MTAL25-30MEFBCM,MTAL,25,30,M,E,FB,CM,MAL-MTAL-25x30.step +MTAL25-30MESDB,MTAL,25,30,M,E,SDB,,MAL-MTAL-25x30.step +MTAL25-30MESDBU,MTAL,25,30,M,E,SDB,U,MAL-MTAL-25x30.step +MTAL25-30MESDBCM,MTAL,25,30,M,E,SDB,CM,MAL-MTAL-25x30.step +MTAL25-30M,MTAL,25,30,M,,,,MAL-MTAL-25x30.step +MTAL25-30MU,MTAL,25,30,M,,,U,MAL-MTAL-25x30.step +MTAL25-30MCM,MTAL,25,30,M,,,CM,MAL-MTAL-25x30.step +MTAL25-30MLB,MTAL,25,30,M,,LB,,MAL-MTAL-25x30.step +MTAL25-30MLBU,MTAL,25,30,M,,LB,U,MAL-MTAL-25x30.step +MTAL25-30MLBCM,MTAL,25,30,M,,LB,CM,MAL-MTAL-25x30.step +MTAL25-30MFA,MTAL,25,30,M,,FA,,MAL-MTAL-25x30.step +MTAL25-30MFAU,MTAL,25,30,M,,FA,U,MAL-MTAL-25x30.step +MTAL25-30MFACM,MTAL,25,30,M,,FA,CM,MAL-MTAL-25x30.step +MTAL25-30MFB,MTAL,25,30,M,,FB,,MAL-MTAL-25x30.step +MTAL25-30MFBU,MTAL,25,30,M,,FB,U,MAL-MTAL-25x30.step +MTAL25-30MFBCM,MTAL,25,30,M,,FB,CM,MAL-MTAL-25x30.step +MTAL25-30MSDB,MTAL,25,30,M,,SDB,,MAL-MTAL-25x30.step +MTAL25-30MSDBU,MTAL,25,30,M,,SDB,U,MAL-MTAL-25x30.step +MTAL25-30MSDBCM,MTAL,25,30,M,,SDB,CM,MAL-MTAL-25x30.step +MTAL25-50E,MTAL,25,50,,E,,,MAL-MTAL-25x50.step +MTAL25-50EU,MTAL,25,50,,E,,U,MAL-MTAL-25x50.step +MTAL25-50ECM,MTAL,25,50,,E,,CM,MAL-MTAL-25x50.step +MTAL25-50ELB,MTAL,25,50,,E,LB,,MAL-MTAL-25x50.step +MTAL25-50ELBU,MTAL,25,50,,E,LB,U,MAL-MTAL-25x50.step +MTAL25-50ELBCM,MTAL,25,50,,E,LB,CM,MAL-MTAL-25x50.step +MTAL25-50EFA,MTAL,25,50,,E,FA,,MAL-MTAL-25x50.step +MTAL25-50EFAU,MTAL,25,50,,E,FA,U,MAL-MTAL-25x50.step +MTAL25-50EFACM,MTAL,25,50,,E,FA,CM,MAL-MTAL-25x50.step +MTAL25-50EFB,MTAL,25,50,,E,FB,,MAL-MTAL-25x50.step +MTAL25-50EFBU,MTAL,25,50,,E,FB,U,MAL-MTAL-25x50.step +MTAL25-50EFBCM,MTAL,25,50,,E,FB,CM,MAL-MTAL-25x50.step +MTAL25-50ESDB,MTAL,25,50,,E,SDB,,MAL-MTAL-25x50.step +MTAL25-50ESDBU,MTAL,25,50,,E,SDB,U,MAL-MTAL-25x50.step +MTAL25-50ESDBCM,MTAL,25,50,,E,SDB,CM,MAL-MTAL-25x50.step +MTAL25-50,MTAL,25,50,,,,,MAL-MTAL-25x50.step +MTAL25-50U,MTAL,25,50,,,,U,MAL-MTAL-25x50.step +MTAL25-50CM,MTAL,25,50,,,,CM,MAL-MTAL-25x50.step +MTAL25-50LB,MTAL,25,50,,,LB,,MAL-MTAL-25x50.step +MTAL25-50LBU,MTAL,25,50,,,LB,U,MAL-MTAL-25x50.step +MTAL25-50LBCM,MTAL,25,50,,,LB,CM,MAL-MTAL-25x50.step +MTAL25-50FA,MTAL,25,50,,,FA,,MAL-MTAL-25x50.step +MTAL25-50FAU,MTAL,25,50,,,FA,U,MAL-MTAL-25x50.step +MTAL25-50FACM,MTAL,25,50,,,FA,CM,MAL-MTAL-25x50.step +MTAL25-50FB,MTAL,25,50,,,FB,,MAL-MTAL-25x50.step +MTAL25-50FBU,MTAL,25,50,,,FB,U,MAL-MTAL-25x50.step +MTAL25-50FBCM,MTAL,25,50,,,FB,CM,MAL-MTAL-25x50.step +MTAL25-50SDB,MTAL,25,50,,,SDB,,MAL-MTAL-25x50.step +MTAL25-50SDBU,MTAL,25,50,,,SDB,U,MAL-MTAL-25x50.step +MTAL25-50SDBCM,MTAL,25,50,,,SDB,CM,MAL-MTAL-25x50.step +MTAL25-50ME,MTAL,25,50,M,E,,,MAL-MTAL-25x50.step +MTAL25-50MEU,MTAL,25,50,M,E,,U,MAL-MTAL-25x50.step +MTAL25-50MECM,MTAL,25,50,M,E,,CM,MAL-MTAL-25x50.step +MTAL25-50MELB,MTAL,25,50,M,E,LB,,MAL-MTAL-25x50.step +MTAL25-50MELBU,MTAL,25,50,M,E,LB,U,MAL-MTAL-25x50.step +MTAL25-50MELBCM,MTAL,25,50,M,E,LB,CM,MAL-MTAL-25x50.step +MTAL25-50MEFA,MTAL,25,50,M,E,FA,,MAL-MTAL-25x50.step +MTAL25-50MEFAU,MTAL,25,50,M,E,FA,U,MAL-MTAL-25x50.step +MTAL25-50MEFACM,MTAL,25,50,M,E,FA,CM,MAL-MTAL-25x50.step +MTAL25-50MEFB,MTAL,25,50,M,E,FB,,MAL-MTAL-25x50.step +MTAL25-50MEFBU,MTAL,25,50,M,E,FB,U,MAL-MTAL-25x50.step +MTAL25-50MEFBCM,MTAL,25,50,M,E,FB,CM,MAL-MTAL-25x50.step +MTAL25-50MESDB,MTAL,25,50,M,E,SDB,,MAL-MTAL-25x50.step +MTAL25-50MESDBU,MTAL,25,50,M,E,SDB,U,MAL-MTAL-25x50.step +MTAL25-50MESDBCM,MTAL,25,50,M,E,SDB,CM,MAL-MTAL-25x50.step +MTAL25-50M,MTAL,25,50,M,,,,MAL-MTAL-25x50.step +MTAL25-50MU,MTAL,25,50,M,,,U,MAL-MTAL-25x50.step +MTAL25-50MCM,MTAL,25,50,M,,,CM,MAL-MTAL-25x50.step +MTAL25-50MLB,MTAL,25,50,M,,LB,,MAL-MTAL-25x50.step +MTAL25-50MLBU,MTAL,25,50,M,,LB,U,MAL-MTAL-25x50.step +MTAL25-50MLBCM,MTAL,25,50,M,,LB,CM,MAL-MTAL-25x50.step +MTAL25-50MFA,MTAL,25,50,M,,FA,,MAL-MTAL-25x50.step +MTAL25-50MFAU,MTAL,25,50,M,,FA,U,MAL-MTAL-25x50.step +MTAL25-50MFACM,MTAL,25,50,M,,FA,CM,MAL-MTAL-25x50.step +MTAL25-50MFB,MTAL,25,50,M,,FB,,MAL-MTAL-25x50.step +MTAL25-50MFBU,MTAL,25,50,M,,FB,U,MAL-MTAL-25x50.step +MTAL25-50MFBCM,MTAL,25,50,M,,FB,CM,MAL-MTAL-25x50.step +MTAL25-50MSDB,MTAL,25,50,M,,SDB,,MAL-MTAL-25x50.step +MTAL25-50MSDBU,MTAL,25,50,M,,SDB,U,MAL-MTAL-25x50.step +MTAL25-50MSDBCM,MTAL,25,50,M,,SDB,CM,MAL-MTAL-25x50.step +MTAL25-75E,MTAL,25,75,,E,,,MAL-MTAL-25x75.step +MTAL25-75EU,MTAL,25,75,,E,,U,MAL-MTAL-25x75.step +MTAL25-75ECM,MTAL,25,75,,E,,CM,MAL-MTAL-25x75.step +MTAL25-75ELB,MTAL,25,75,,E,LB,,MAL-MTAL-25x75.step +MTAL25-75ELBU,MTAL,25,75,,E,LB,U,MAL-MTAL-25x75.step +MTAL25-75ELBCM,MTAL,25,75,,E,LB,CM,MAL-MTAL-25x75.step +MTAL25-75EFA,MTAL,25,75,,E,FA,,MAL-MTAL-25x75.step +MTAL25-75EFAU,MTAL,25,75,,E,FA,U,MAL-MTAL-25x75.step +MTAL25-75EFACM,MTAL,25,75,,E,FA,CM,MAL-MTAL-25x75.step +MTAL25-75EFB,MTAL,25,75,,E,FB,,MAL-MTAL-25x75.step +MTAL25-75EFBU,MTAL,25,75,,E,FB,U,MAL-MTAL-25x75.step +MTAL25-75EFBCM,MTAL,25,75,,E,FB,CM,MAL-MTAL-25x75.step +MTAL25-75ESDB,MTAL,25,75,,E,SDB,,MAL-MTAL-25x75.step +MTAL25-75ESDBU,MTAL,25,75,,E,SDB,U,MAL-MTAL-25x75.step +MTAL25-75ESDBCM,MTAL,25,75,,E,SDB,CM,MAL-MTAL-25x75.step +MTAL25-75,MTAL,25,75,,,,,MAL-MTAL-25x75.step +MTAL25-75U,MTAL,25,75,,,,U,MAL-MTAL-25x75.step +MTAL25-75CM,MTAL,25,75,,,,CM,MAL-MTAL-25x75.step +MTAL25-75LB,MTAL,25,75,,,LB,,MAL-MTAL-25x75.step +MTAL25-75LBU,MTAL,25,75,,,LB,U,MAL-MTAL-25x75.step +MTAL25-75LBCM,MTAL,25,75,,,LB,CM,MAL-MTAL-25x75.step +MTAL25-75FA,MTAL,25,75,,,FA,,MAL-MTAL-25x75.step +MTAL25-75FAU,MTAL,25,75,,,FA,U,MAL-MTAL-25x75.step +MTAL25-75FACM,MTAL,25,75,,,FA,CM,MAL-MTAL-25x75.step +MTAL25-75FB,MTAL,25,75,,,FB,,MAL-MTAL-25x75.step +MTAL25-75FBU,MTAL,25,75,,,FB,U,MAL-MTAL-25x75.step +MTAL25-75FBCM,MTAL,25,75,,,FB,CM,MAL-MTAL-25x75.step +MTAL25-75SDB,MTAL,25,75,,,SDB,,MAL-MTAL-25x75.step +MTAL25-75SDBU,MTAL,25,75,,,SDB,U,MAL-MTAL-25x75.step +MTAL25-75SDBCM,MTAL,25,75,,,SDB,CM,MAL-MTAL-25x75.step +MTAL25-75ME,MTAL,25,75,M,E,,,MAL-MTAL-25x75.step +MTAL25-75MEU,MTAL,25,75,M,E,,U,MAL-MTAL-25x75.step +MTAL25-75MECM,MTAL,25,75,M,E,,CM,MAL-MTAL-25x75.step +MTAL25-75MELB,MTAL,25,75,M,E,LB,,MAL-MTAL-25x75.step +MTAL25-75MELBU,MTAL,25,75,M,E,LB,U,MAL-MTAL-25x75.step +MTAL25-75MELBCM,MTAL,25,75,M,E,LB,CM,MAL-MTAL-25x75.step +MTAL25-75MEFA,MTAL,25,75,M,E,FA,,MAL-MTAL-25x75.step +MTAL25-75MEFAU,MTAL,25,75,M,E,FA,U,MAL-MTAL-25x75.step +MTAL25-75MEFACM,MTAL,25,75,M,E,FA,CM,MAL-MTAL-25x75.step +MTAL25-75MEFB,MTAL,25,75,M,E,FB,,MAL-MTAL-25x75.step +MTAL25-75MEFBU,MTAL,25,75,M,E,FB,U,MAL-MTAL-25x75.step +MTAL25-75MEFBCM,MTAL,25,75,M,E,FB,CM,MAL-MTAL-25x75.step +MTAL25-75MESDB,MTAL,25,75,M,E,SDB,,MAL-MTAL-25x75.step +MTAL25-75MESDBU,MTAL,25,75,M,E,SDB,U,MAL-MTAL-25x75.step +MTAL25-75MESDBCM,MTAL,25,75,M,E,SDB,CM,MAL-MTAL-25x75.step +MTAL25-75M,MTAL,25,75,M,,,,MAL-MTAL-25x75.step +MTAL25-75MU,MTAL,25,75,M,,,U,MAL-MTAL-25x75.step +MTAL25-75MCM,MTAL,25,75,M,,,CM,MAL-MTAL-25x75.step +MTAL25-75MLB,MTAL,25,75,M,,LB,,MAL-MTAL-25x75.step +MTAL25-75MLBU,MTAL,25,75,M,,LB,U,MAL-MTAL-25x75.step +MTAL25-75MLBCM,MTAL,25,75,M,,LB,CM,MAL-MTAL-25x75.step +MTAL25-75MFA,MTAL,25,75,M,,FA,,MAL-MTAL-25x75.step +MTAL25-75MFAU,MTAL,25,75,M,,FA,U,MAL-MTAL-25x75.step +MTAL25-75MFACM,MTAL,25,75,M,,FA,CM,MAL-MTAL-25x75.step +MTAL25-75MFB,MTAL,25,75,M,,FB,,MAL-MTAL-25x75.step +MTAL25-75MFBU,MTAL,25,75,M,,FB,U,MAL-MTAL-25x75.step +MTAL25-75MFBCM,MTAL,25,75,M,,FB,CM,MAL-MTAL-25x75.step +MTAL25-75MSDB,MTAL,25,75,M,,SDB,,MAL-MTAL-25x75.step +MTAL25-75MSDBU,MTAL,25,75,M,,SDB,U,MAL-MTAL-25x75.step +MTAL25-75MSDBCM,MTAL,25,75,M,,SDB,CM,MAL-MTAL-25x75.step +MTAL25-100E,MTAL,25,100,,E,,,MAL-MTAL-25x100.step +MTAL25-100EU,MTAL,25,100,,E,,U,MAL-MTAL-25x100.step +MTAL25-100ECM,MTAL,25,100,,E,,CM,MAL-MTAL-25x100.step +MTAL25-100ELB,MTAL,25,100,,E,LB,,MAL-MTAL-25x100.step +MTAL25-100ELBU,MTAL,25,100,,E,LB,U,MAL-MTAL-25x100.step +MTAL25-100ELBCM,MTAL,25,100,,E,LB,CM,MAL-MTAL-25x100.step +MTAL25-100EFA,MTAL,25,100,,E,FA,,MAL-MTAL-25x100.step +MTAL25-100EFAU,MTAL,25,100,,E,FA,U,MAL-MTAL-25x100.step +MTAL25-100EFACM,MTAL,25,100,,E,FA,CM,MAL-MTAL-25x100.step +MTAL25-100EFB,MTAL,25,100,,E,FB,,MAL-MTAL-25x100.step +MTAL25-100EFBU,MTAL,25,100,,E,FB,U,MAL-MTAL-25x100.step +MTAL25-100EFBCM,MTAL,25,100,,E,FB,CM,MAL-MTAL-25x100.step +MTAL25-100ESDB,MTAL,25,100,,E,SDB,,MAL-MTAL-25x100.step +MTAL25-100ESDBU,MTAL,25,100,,E,SDB,U,MAL-MTAL-25x100.step +MTAL25-100ESDBCM,MTAL,25,100,,E,SDB,CM,MAL-MTAL-25x100.step +MTAL25-100,MTAL,25,100,,,,,MAL-MTAL-25x100.step +MTAL25-100U,MTAL,25,100,,,,U,MAL-MTAL-25x100.step +MTAL25-100CM,MTAL,25,100,,,,CM,MAL-MTAL-25x100.step +MTAL25-100LB,MTAL,25,100,,,LB,,MAL-MTAL-25x100.step +MTAL25-100LBU,MTAL,25,100,,,LB,U,MAL-MTAL-25x100.step +MTAL25-100LBCM,MTAL,25,100,,,LB,CM,MAL-MTAL-25x100.step +MTAL25-100FA,MTAL,25,100,,,FA,,MAL-MTAL-25x100.step +MTAL25-100FAU,MTAL,25,100,,,FA,U,MAL-MTAL-25x100.step +MTAL25-100FACM,MTAL,25,100,,,FA,CM,MAL-MTAL-25x100.step +MTAL25-100FB,MTAL,25,100,,,FB,,MAL-MTAL-25x100.step +MTAL25-100FBU,MTAL,25,100,,,FB,U,MAL-MTAL-25x100.step +MTAL25-100FBCM,MTAL,25,100,,,FB,CM,MAL-MTAL-25x100.step +MTAL25-100SDB,MTAL,25,100,,,SDB,,MAL-MTAL-25x100.step +MTAL25-100SDBU,MTAL,25,100,,,SDB,U,MAL-MTAL-25x100.step +MTAL25-100SDBCM,MTAL,25,100,,,SDB,CM,MAL-MTAL-25x100.step +MTAL25-100ME,MTAL,25,100,M,E,,,MAL-MTAL-25x100.step +MTAL25-100MEU,MTAL,25,100,M,E,,U,MAL-MTAL-25x100.step +MTAL25-100MECM,MTAL,25,100,M,E,,CM,MAL-MTAL-25x100.step +MTAL25-100MELB,MTAL,25,100,M,E,LB,,MAL-MTAL-25x100.step +MTAL25-100MELBU,MTAL,25,100,M,E,LB,U,MAL-MTAL-25x100.step +MTAL25-100MELBCM,MTAL,25,100,M,E,LB,CM,MAL-MTAL-25x100.step +MTAL25-100MEFA,MTAL,25,100,M,E,FA,,MAL-MTAL-25x100.step +MTAL25-100MEFAU,MTAL,25,100,M,E,FA,U,MAL-MTAL-25x100.step +MTAL25-100MEFACM,MTAL,25,100,M,E,FA,CM,MAL-MTAL-25x100.step +MTAL25-100MEFB,MTAL,25,100,M,E,FB,,MAL-MTAL-25x100.step +MTAL25-100MEFBU,MTAL,25,100,M,E,FB,U,MAL-MTAL-25x100.step +MTAL25-100MEFBCM,MTAL,25,100,M,E,FB,CM,MAL-MTAL-25x100.step +MTAL25-100MESDB,MTAL,25,100,M,E,SDB,,MAL-MTAL-25x100.step +MTAL25-100MESDBU,MTAL,25,100,M,E,SDB,U,MAL-MTAL-25x100.step +MTAL25-100MESDBCM,MTAL,25,100,M,E,SDB,CM,MAL-MTAL-25x100.step +MTAL25-100M,MTAL,25,100,M,,,,MAL-MTAL-25x100.step +MTAL25-100MU,MTAL,25,100,M,,,U,MAL-MTAL-25x100.step +MTAL25-100MCM,MTAL,25,100,M,,,CM,MAL-MTAL-25x100.step +MTAL25-100MLB,MTAL,25,100,M,,LB,,MAL-MTAL-25x100.step +MTAL25-100MLBU,MTAL,25,100,M,,LB,U,MAL-MTAL-25x100.step +MTAL25-100MLBCM,MTAL,25,100,M,,LB,CM,MAL-MTAL-25x100.step +MTAL25-100MFA,MTAL,25,100,M,,FA,,MAL-MTAL-25x100.step +MTAL25-100MFAU,MTAL,25,100,M,,FA,U,MAL-MTAL-25x100.step +MTAL25-100MFACM,MTAL,25,100,M,,FA,CM,MAL-MTAL-25x100.step +MTAL25-100MFB,MTAL,25,100,M,,FB,,MAL-MTAL-25x100.step +MTAL25-100MFBU,MTAL,25,100,M,,FB,U,MAL-MTAL-25x100.step +MTAL25-100MFBCM,MTAL,25,100,M,,FB,CM,MAL-MTAL-25x100.step +MTAL25-100MSDB,MTAL,25,100,M,,SDB,,MAL-MTAL-25x100.step +MTAL25-100MSDBU,MTAL,25,100,M,,SDB,U,MAL-MTAL-25x100.step +MTAL25-100MSDBCM,MTAL,25,100,M,,SDB,CM,MAL-MTAL-25x100.step +MTAL32-10E,MTAL,32,10,,E,,,MAL-MTAL-32x10.step +MTAL32-10EU,MTAL,32,10,,E,,U,MAL-MTAL-32x10.step +MTAL32-10ECM,MTAL,32,10,,E,,CM,MAL-MTAL-32x10.step +MTAL32-10ELB,MTAL,32,10,,E,LB,,MAL-MTAL-32x10.step +MTAL32-10ELBU,MTAL,32,10,,E,LB,U,MAL-MTAL-32x10.step +MTAL32-10ELBCM,MTAL,32,10,,E,LB,CM,MAL-MTAL-32x10.step +MTAL32-10EFA,MTAL,32,10,,E,FA,,MAL-MTAL-32x10.step +MTAL32-10EFAU,MTAL,32,10,,E,FA,U,MAL-MTAL-32x10.step +MTAL32-10EFACM,MTAL,32,10,,E,FA,CM,MAL-MTAL-32x10.step +MTAL32-10EFB,MTAL,32,10,,E,FB,,MAL-MTAL-32x10.step +MTAL32-10EFBU,MTAL,32,10,,E,FB,U,MAL-MTAL-32x10.step +MTAL32-10EFBCM,MTAL,32,10,,E,FB,CM,MAL-MTAL-32x10.step +MTAL32-10ESDB,MTAL,32,10,,E,SDB,,MAL-MTAL-32x10.step +MTAL32-10ESDBU,MTAL,32,10,,E,SDB,U,MAL-MTAL-32x10.step +MTAL32-10ESDBCM,MTAL,32,10,,E,SDB,CM,MAL-MTAL-32x10.step +MTAL32-10,MTAL,32,10,,,,,MAL-MTAL-32x10.step +MTAL32-10U,MTAL,32,10,,,,U,MAL-MTAL-32x10.step +MTAL32-10CM,MTAL,32,10,,,,CM,MAL-MTAL-32x10.step +MTAL32-10LB,MTAL,32,10,,,LB,,MAL-MTAL-32x10.step +MTAL32-10LBU,MTAL,32,10,,,LB,U,MAL-MTAL-32x10.step +MTAL32-10LBCM,MTAL,32,10,,,LB,CM,MAL-MTAL-32x10.step +MTAL32-10FA,MTAL,32,10,,,FA,,MAL-MTAL-32x10.step +MTAL32-10FAU,MTAL,32,10,,,FA,U,MAL-MTAL-32x10.step +MTAL32-10FACM,MTAL,32,10,,,FA,CM,MAL-MTAL-32x10.step +MTAL32-10FB,MTAL,32,10,,,FB,,MAL-MTAL-32x10.step +MTAL32-10FBU,MTAL,32,10,,,FB,U,MAL-MTAL-32x10.step +MTAL32-10FBCM,MTAL,32,10,,,FB,CM,MAL-MTAL-32x10.step +MTAL32-10SDB,MTAL,32,10,,,SDB,,MAL-MTAL-32x10.step +MTAL32-10SDBU,MTAL,32,10,,,SDB,U,MAL-MTAL-32x10.step +MTAL32-10SDBCM,MTAL,32,10,,,SDB,CM,MAL-MTAL-32x10.step +MTAL32-10ME,MTAL,32,10,M,E,,,MAL-MTAL-32x10.step +MTAL32-10MEU,MTAL,32,10,M,E,,U,MAL-MTAL-32x10.step +MTAL32-10MECM,MTAL,32,10,M,E,,CM,MAL-MTAL-32x10.step +MTAL32-10MELB,MTAL,32,10,M,E,LB,,MAL-MTAL-32x10.step +MTAL32-10MELBU,MTAL,32,10,M,E,LB,U,MAL-MTAL-32x10.step +MTAL32-10MELBCM,MTAL,32,10,M,E,LB,CM,MAL-MTAL-32x10.step +MTAL32-10MEFA,MTAL,32,10,M,E,FA,,MAL-MTAL-32x10.step +MTAL32-10MEFAU,MTAL,32,10,M,E,FA,U,MAL-MTAL-32x10.step +MTAL32-10MEFACM,MTAL,32,10,M,E,FA,CM,MAL-MTAL-32x10.step +MTAL32-10MEFB,MTAL,32,10,M,E,FB,,MAL-MTAL-32x10.step +MTAL32-10MEFBU,MTAL,32,10,M,E,FB,U,MAL-MTAL-32x10.step +MTAL32-10MEFBCM,MTAL,32,10,M,E,FB,CM,MAL-MTAL-32x10.step +MTAL32-10MESDB,MTAL,32,10,M,E,SDB,,MAL-MTAL-32x10.step +MTAL32-10MESDBU,MTAL,32,10,M,E,SDB,U,MAL-MTAL-32x10.step +MTAL32-10MESDBCM,MTAL,32,10,M,E,SDB,CM,MAL-MTAL-32x10.step +MTAL32-10M,MTAL,32,10,M,,,,MAL-MTAL-32x10.step +MTAL32-10MU,MTAL,32,10,M,,,U,MAL-MTAL-32x10.step +MTAL32-10MCM,MTAL,32,10,M,,,CM,MAL-MTAL-32x10.step +MTAL32-10MLB,MTAL,32,10,M,,LB,,MAL-MTAL-32x10.step +MTAL32-10MLBU,MTAL,32,10,M,,LB,U,MAL-MTAL-32x10.step +MTAL32-10MLBCM,MTAL,32,10,M,,LB,CM,MAL-MTAL-32x10.step +MTAL32-10MFA,MTAL,32,10,M,,FA,,MAL-MTAL-32x10.step +MTAL32-10MFAU,MTAL,32,10,M,,FA,U,MAL-MTAL-32x10.step +MTAL32-10MFACM,MTAL,32,10,M,,FA,CM,MAL-MTAL-32x10.step +MTAL32-10MFB,MTAL,32,10,M,,FB,,MAL-MTAL-32x10.step +MTAL32-10MFBU,MTAL,32,10,M,,FB,U,MAL-MTAL-32x10.step +MTAL32-10MFBCM,MTAL,32,10,M,,FB,CM,MAL-MTAL-32x10.step +MTAL32-10MSDB,MTAL,32,10,M,,SDB,,MAL-MTAL-32x10.step +MTAL32-10MSDBU,MTAL,32,10,M,,SDB,U,MAL-MTAL-32x10.step +MTAL32-10MSDBCM,MTAL,32,10,M,,SDB,CM,MAL-MTAL-32x10.step +MTAL32-20E,MTAL,32,20,,E,,,MAL-MTAL-32x20.step +MTAL32-20EU,MTAL,32,20,,E,,U,MAL-MTAL-32x20.step +MTAL32-20ECM,MTAL,32,20,,E,,CM,MAL-MTAL-32x20.step +MTAL32-20ELB,MTAL,32,20,,E,LB,,MAL-MTAL-32x20.step +MTAL32-20ELBU,MTAL,32,20,,E,LB,U,MAL-MTAL-32x20.step +MTAL32-20ELBCM,MTAL,32,20,,E,LB,CM,MAL-MTAL-32x20.step +MTAL32-20EFA,MTAL,32,20,,E,FA,,MAL-MTAL-32x20.step +MTAL32-20EFAU,MTAL,32,20,,E,FA,U,MAL-MTAL-32x20.step +MTAL32-20EFACM,MTAL,32,20,,E,FA,CM,MAL-MTAL-32x20.step +MTAL32-20EFB,MTAL,32,20,,E,FB,,MAL-MTAL-32x20.step +MTAL32-20EFBU,MTAL,32,20,,E,FB,U,MAL-MTAL-32x20.step +MTAL32-20EFBCM,MTAL,32,20,,E,FB,CM,MAL-MTAL-32x20.step +MTAL32-20ESDB,MTAL,32,20,,E,SDB,,MAL-MTAL-32x20.step +MTAL32-20ESDBU,MTAL,32,20,,E,SDB,U,MAL-MTAL-32x20.step +MTAL32-20ESDBCM,MTAL,32,20,,E,SDB,CM,MAL-MTAL-32x20.step +MTAL32-20,MTAL,32,20,,,,,MAL-MTAL-32x20.step +MTAL32-20U,MTAL,32,20,,,,U,MAL-MTAL-32x20.step +MTAL32-20CM,MTAL,32,20,,,,CM,MAL-MTAL-32x20.step +MTAL32-20LB,MTAL,32,20,,,LB,,MAL-MTAL-32x20.step +MTAL32-20LBU,MTAL,32,20,,,LB,U,MAL-MTAL-32x20.step +MTAL32-20LBCM,MTAL,32,20,,,LB,CM,MAL-MTAL-32x20.step +MTAL32-20FA,MTAL,32,20,,,FA,,MAL-MTAL-32x20.step +MTAL32-20FAU,MTAL,32,20,,,FA,U,MAL-MTAL-32x20.step +MTAL32-20FACM,MTAL,32,20,,,FA,CM,MAL-MTAL-32x20.step +MTAL32-20FB,MTAL,32,20,,,FB,,MAL-MTAL-32x20.step +MTAL32-20FBU,MTAL,32,20,,,FB,U,MAL-MTAL-32x20.step +MTAL32-20FBCM,MTAL,32,20,,,FB,CM,MAL-MTAL-32x20.step +MTAL32-20SDB,MTAL,32,20,,,SDB,,MAL-MTAL-32x20.step +MTAL32-20SDBU,MTAL,32,20,,,SDB,U,MAL-MTAL-32x20.step +MTAL32-20SDBCM,MTAL,32,20,,,SDB,CM,MAL-MTAL-32x20.step +MTAL32-20ME,MTAL,32,20,M,E,,,MAL-MTAL-32x20.step +MTAL32-20MEU,MTAL,32,20,M,E,,U,MAL-MTAL-32x20.step +MTAL32-20MECM,MTAL,32,20,M,E,,CM,MAL-MTAL-32x20.step +MTAL32-20MELB,MTAL,32,20,M,E,LB,,MAL-MTAL-32x20.step +MTAL32-20MELBU,MTAL,32,20,M,E,LB,U,MAL-MTAL-32x20.step +MTAL32-20MELBCM,MTAL,32,20,M,E,LB,CM,MAL-MTAL-32x20.step +MTAL32-20MEFA,MTAL,32,20,M,E,FA,,MAL-MTAL-32x20.step +MTAL32-20MEFAU,MTAL,32,20,M,E,FA,U,MAL-MTAL-32x20.step +MTAL32-20MEFACM,MTAL,32,20,M,E,FA,CM,MAL-MTAL-32x20.step +MTAL32-20MEFB,MTAL,32,20,M,E,FB,,MAL-MTAL-32x20.step +MTAL32-20MEFBU,MTAL,32,20,M,E,FB,U,MAL-MTAL-32x20.step +MTAL32-20MEFBCM,MTAL,32,20,M,E,FB,CM,MAL-MTAL-32x20.step +MTAL32-20MESDB,MTAL,32,20,M,E,SDB,,MAL-MTAL-32x20.step +MTAL32-20MESDBU,MTAL,32,20,M,E,SDB,U,MAL-MTAL-32x20.step +MTAL32-20MESDBCM,MTAL,32,20,M,E,SDB,CM,MAL-MTAL-32x20.step +MTAL32-20M,MTAL,32,20,M,,,,MAL-MTAL-32x20.step +MTAL32-20MU,MTAL,32,20,M,,,U,MAL-MTAL-32x20.step +MTAL32-20MCM,MTAL,32,20,M,,,CM,MAL-MTAL-32x20.step +MTAL32-20MLB,MTAL,32,20,M,,LB,,MAL-MTAL-32x20.step +MTAL32-20MLBU,MTAL,32,20,M,,LB,U,MAL-MTAL-32x20.step +MTAL32-20MLBCM,MTAL,32,20,M,,LB,CM,MAL-MTAL-32x20.step +MTAL32-20MFA,MTAL,32,20,M,,FA,,MAL-MTAL-32x20.step +MTAL32-20MFAU,MTAL,32,20,M,,FA,U,MAL-MTAL-32x20.step +MTAL32-20MFACM,MTAL,32,20,M,,FA,CM,MAL-MTAL-32x20.step +MTAL32-20MFB,MTAL,32,20,M,,FB,,MAL-MTAL-32x20.step +MTAL32-20MFBU,MTAL,32,20,M,,FB,U,MAL-MTAL-32x20.step +MTAL32-20MFBCM,MTAL,32,20,M,,FB,CM,MAL-MTAL-32x20.step +MTAL32-20MSDB,MTAL,32,20,M,,SDB,,MAL-MTAL-32x20.step +MTAL32-20MSDBU,MTAL,32,20,M,,SDB,U,MAL-MTAL-32x20.step +MTAL32-20MSDBCM,MTAL,32,20,M,,SDB,CM,MAL-MTAL-32x20.step +MTAL32-30E,MTAL,32,30,,E,,,MAL-MTAL-32x30.step +MTAL32-30EU,MTAL,32,30,,E,,U,MAL-MTAL-32x30.step +MTAL32-30ECM,MTAL,32,30,,E,,CM,MAL-MTAL-32x30.step +MTAL32-30ELB,MTAL,32,30,,E,LB,,MAL-MTAL-32x30.step +MTAL32-30ELBU,MTAL,32,30,,E,LB,U,MAL-MTAL-32x30.step +MTAL32-30ELBCM,MTAL,32,30,,E,LB,CM,MAL-MTAL-32x30.step +MTAL32-30EFA,MTAL,32,30,,E,FA,,MAL-MTAL-32x30.step +MTAL32-30EFAU,MTAL,32,30,,E,FA,U,MAL-MTAL-32x30.step +MTAL32-30EFACM,MTAL,32,30,,E,FA,CM,MAL-MTAL-32x30.step +MTAL32-30EFB,MTAL,32,30,,E,FB,,MAL-MTAL-32x30.step +MTAL32-30EFBU,MTAL,32,30,,E,FB,U,MAL-MTAL-32x30.step +MTAL32-30EFBCM,MTAL,32,30,,E,FB,CM,MAL-MTAL-32x30.step +MTAL32-30ESDB,MTAL,32,30,,E,SDB,,MAL-MTAL-32x30.step +MTAL32-30ESDBU,MTAL,32,30,,E,SDB,U,MAL-MTAL-32x30.step +MTAL32-30ESDBCM,MTAL,32,30,,E,SDB,CM,MAL-MTAL-32x30.step +MTAL32-30,MTAL,32,30,,,,,MAL-MTAL-32x30.step +MTAL32-30U,MTAL,32,30,,,,U,MAL-MTAL-32x30.step +MTAL32-30CM,MTAL,32,30,,,,CM,MAL-MTAL-32x30.step +MTAL32-30LB,MTAL,32,30,,,LB,,MAL-MTAL-32x30.step +MTAL32-30LBU,MTAL,32,30,,,LB,U,MAL-MTAL-32x30.step +MTAL32-30LBCM,MTAL,32,30,,,LB,CM,MAL-MTAL-32x30.step +MTAL32-30FA,MTAL,32,30,,,FA,,MAL-MTAL-32x30.step +MTAL32-30FAU,MTAL,32,30,,,FA,U,MAL-MTAL-32x30.step +MTAL32-30FACM,MTAL,32,30,,,FA,CM,MAL-MTAL-32x30.step +MTAL32-30FB,MTAL,32,30,,,FB,,MAL-MTAL-32x30.step +MTAL32-30FBU,MTAL,32,30,,,FB,U,MAL-MTAL-32x30.step +MTAL32-30FBCM,MTAL,32,30,,,FB,CM,MAL-MTAL-32x30.step +MTAL32-30SDB,MTAL,32,30,,,SDB,,MAL-MTAL-32x30.step +MTAL32-30SDBU,MTAL,32,30,,,SDB,U,MAL-MTAL-32x30.step +MTAL32-30SDBCM,MTAL,32,30,,,SDB,CM,MAL-MTAL-32x30.step +MTAL32-30ME,MTAL,32,30,M,E,,,MAL-MTAL-32x30.step +MTAL32-30MEU,MTAL,32,30,M,E,,U,MAL-MTAL-32x30.step +MTAL32-30MECM,MTAL,32,30,M,E,,CM,MAL-MTAL-32x30.step +MTAL32-30MELB,MTAL,32,30,M,E,LB,,MAL-MTAL-32x30.step +MTAL32-30MELBU,MTAL,32,30,M,E,LB,U,MAL-MTAL-32x30.step +MTAL32-30MELBCM,MTAL,32,30,M,E,LB,CM,MAL-MTAL-32x30.step +MTAL32-30MEFA,MTAL,32,30,M,E,FA,,MAL-MTAL-32x30.step +MTAL32-30MEFAU,MTAL,32,30,M,E,FA,U,MAL-MTAL-32x30.step +MTAL32-30MEFACM,MTAL,32,30,M,E,FA,CM,MAL-MTAL-32x30.step +MTAL32-30MEFB,MTAL,32,30,M,E,FB,,MAL-MTAL-32x30.step +MTAL32-30MEFBU,MTAL,32,30,M,E,FB,U,MAL-MTAL-32x30.step +MTAL32-30MEFBCM,MTAL,32,30,M,E,FB,CM,MAL-MTAL-32x30.step +MTAL32-30MESDB,MTAL,32,30,M,E,SDB,,MAL-MTAL-32x30.step +MTAL32-30MESDBU,MTAL,32,30,M,E,SDB,U,MAL-MTAL-32x30.step +MTAL32-30MESDBCM,MTAL,32,30,M,E,SDB,CM,MAL-MTAL-32x30.step +MTAL32-30M,MTAL,32,30,M,,,,MAL-MTAL-32x30.step +MTAL32-30MU,MTAL,32,30,M,,,U,MAL-MTAL-32x30.step +MTAL32-30MCM,MTAL,32,30,M,,,CM,MAL-MTAL-32x30.step +MTAL32-30MLB,MTAL,32,30,M,,LB,,MAL-MTAL-32x30.step +MTAL32-30MLBU,MTAL,32,30,M,,LB,U,MAL-MTAL-32x30.step +MTAL32-30MLBCM,MTAL,32,30,M,,LB,CM,MAL-MTAL-32x30.step +MTAL32-30MFA,MTAL,32,30,M,,FA,,MAL-MTAL-32x30.step +MTAL32-30MFAU,MTAL,32,30,M,,FA,U,MAL-MTAL-32x30.step +MTAL32-30MFACM,MTAL,32,30,M,,FA,CM,MAL-MTAL-32x30.step +MTAL32-30MFB,MTAL,32,30,M,,FB,,MAL-MTAL-32x30.step +MTAL32-30MFBU,MTAL,32,30,M,,FB,U,MAL-MTAL-32x30.step +MTAL32-30MFBCM,MTAL,32,30,M,,FB,CM,MAL-MTAL-32x30.step +MTAL32-30MSDB,MTAL,32,30,M,,SDB,,MAL-MTAL-32x30.step +MTAL32-30MSDBU,MTAL,32,30,M,,SDB,U,MAL-MTAL-32x30.step +MTAL32-30MSDBCM,MTAL,32,30,M,,SDB,CM,MAL-MTAL-32x30.step +MTAL32-50E,MTAL,32,50,,E,,,MAL-MTAL-32x50.step +MTAL32-50EU,MTAL,32,50,,E,,U,MAL-MTAL-32x50.step +MTAL32-50ECM,MTAL,32,50,,E,,CM,MAL-MTAL-32x50.step +MTAL32-50ELB,MTAL,32,50,,E,LB,,MAL-MTAL-32x50.step +MTAL32-50ELBU,MTAL,32,50,,E,LB,U,MAL-MTAL-32x50.step +MTAL32-50ELBCM,MTAL,32,50,,E,LB,CM,MAL-MTAL-32x50.step +MTAL32-50EFA,MTAL,32,50,,E,FA,,MAL-MTAL-32x50.step +MTAL32-50EFAU,MTAL,32,50,,E,FA,U,MAL-MTAL-32x50.step +MTAL32-50EFACM,MTAL,32,50,,E,FA,CM,MAL-MTAL-32x50.step +MTAL32-50EFB,MTAL,32,50,,E,FB,,MAL-MTAL-32x50.step +MTAL32-50EFBU,MTAL,32,50,,E,FB,U,MAL-MTAL-32x50.step +MTAL32-50EFBCM,MTAL,32,50,,E,FB,CM,MAL-MTAL-32x50.step +MTAL32-50ESDB,MTAL,32,50,,E,SDB,,MAL-MTAL-32x50.step +MTAL32-50ESDBU,MTAL,32,50,,E,SDB,U,MAL-MTAL-32x50.step +MTAL32-50ESDBCM,MTAL,32,50,,E,SDB,CM,MAL-MTAL-32x50.step +MTAL32-50,MTAL,32,50,,,,,MAL-MTAL-32x50.step +MTAL32-50U,MTAL,32,50,,,,U,MAL-MTAL-32x50.step +MTAL32-50CM,MTAL,32,50,,,,CM,MAL-MTAL-32x50.step +MTAL32-50LB,MTAL,32,50,,,LB,,MAL-MTAL-32x50.step +MTAL32-50LBU,MTAL,32,50,,,LB,U,MAL-MTAL-32x50.step +MTAL32-50LBCM,MTAL,32,50,,,LB,CM,MAL-MTAL-32x50.step +MTAL32-50FA,MTAL,32,50,,,FA,,MAL-MTAL-32x50.step +MTAL32-50FAU,MTAL,32,50,,,FA,U,MAL-MTAL-32x50.step +MTAL32-50FACM,MTAL,32,50,,,FA,CM,MAL-MTAL-32x50.step +MTAL32-50FB,MTAL,32,50,,,FB,,MAL-MTAL-32x50.step +MTAL32-50FBU,MTAL,32,50,,,FB,U,MAL-MTAL-32x50.step +MTAL32-50FBCM,MTAL,32,50,,,FB,CM,MAL-MTAL-32x50.step +MTAL32-50SDB,MTAL,32,50,,,SDB,,MAL-MTAL-32x50.step +MTAL32-50SDBU,MTAL,32,50,,,SDB,U,MAL-MTAL-32x50.step +MTAL32-50SDBCM,MTAL,32,50,,,SDB,CM,MAL-MTAL-32x50.step +MTAL32-50ME,MTAL,32,50,M,E,,,MAL-MTAL-32x50.step +MTAL32-50MEU,MTAL,32,50,M,E,,U,MAL-MTAL-32x50.step +MTAL32-50MECM,MTAL,32,50,M,E,,CM,MAL-MTAL-32x50.step +MTAL32-50MELB,MTAL,32,50,M,E,LB,,MAL-MTAL-32x50.step +MTAL32-50MELBU,MTAL,32,50,M,E,LB,U,MAL-MTAL-32x50.step +MTAL32-50MELBCM,MTAL,32,50,M,E,LB,CM,MAL-MTAL-32x50.step +MTAL32-50MEFA,MTAL,32,50,M,E,FA,,MAL-MTAL-32x50.step +MTAL32-50MEFAU,MTAL,32,50,M,E,FA,U,MAL-MTAL-32x50.step +MTAL32-50MEFACM,MTAL,32,50,M,E,FA,CM,MAL-MTAL-32x50.step +MTAL32-50MEFB,MTAL,32,50,M,E,FB,,MAL-MTAL-32x50.step +MTAL32-50MEFBU,MTAL,32,50,M,E,FB,U,MAL-MTAL-32x50.step +MTAL32-50MEFBCM,MTAL,32,50,M,E,FB,CM,MAL-MTAL-32x50.step +MTAL32-50MESDB,MTAL,32,50,M,E,SDB,,MAL-MTAL-32x50.step +MTAL32-50MESDBU,MTAL,32,50,M,E,SDB,U,MAL-MTAL-32x50.step +MTAL32-50MESDBCM,MTAL,32,50,M,E,SDB,CM,MAL-MTAL-32x50.step +MTAL32-50M,MTAL,32,50,M,,,,MAL-MTAL-32x50.step +MTAL32-50MU,MTAL,32,50,M,,,U,MAL-MTAL-32x50.step +MTAL32-50MCM,MTAL,32,50,M,,,CM,MAL-MTAL-32x50.step +MTAL32-50MLB,MTAL,32,50,M,,LB,,MAL-MTAL-32x50.step +MTAL32-50MLBU,MTAL,32,50,M,,LB,U,MAL-MTAL-32x50.step +MTAL32-50MLBCM,MTAL,32,50,M,,LB,CM,MAL-MTAL-32x50.step +MTAL32-50MFA,MTAL,32,50,M,,FA,,MAL-MTAL-32x50.step +MTAL32-50MFAU,MTAL,32,50,M,,FA,U,MAL-MTAL-32x50.step +MTAL32-50MFACM,MTAL,32,50,M,,FA,CM,MAL-MTAL-32x50.step +MTAL32-50MFB,MTAL,32,50,M,,FB,,MAL-MTAL-32x50.step +MTAL32-50MFBU,MTAL,32,50,M,,FB,U,MAL-MTAL-32x50.step +MTAL32-50MFBCM,MTAL,32,50,M,,FB,CM,MAL-MTAL-32x50.step +MTAL32-50MSDB,MTAL,32,50,M,,SDB,,MAL-MTAL-32x50.step +MTAL32-50MSDBU,MTAL,32,50,M,,SDB,U,MAL-MTAL-32x50.step +MTAL32-50MSDBCM,MTAL,32,50,M,,SDB,CM,MAL-MTAL-32x50.step +MTAL32-75E,MTAL,32,75,,E,,,MAL-MTAL-32x75.step +MTAL32-75EU,MTAL,32,75,,E,,U,MAL-MTAL-32x75.step +MTAL32-75ECM,MTAL,32,75,,E,,CM,MAL-MTAL-32x75.step +MTAL32-75ELB,MTAL,32,75,,E,LB,,MAL-MTAL-32x75.step +MTAL32-75ELBU,MTAL,32,75,,E,LB,U,MAL-MTAL-32x75.step +MTAL32-75ELBCM,MTAL,32,75,,E,LB,CM,MAL-MTAL-32x75.step +MTAL32-75EFA,MTAL,32,75,,E,FA,,MAL-MTAL-32x75.step +MTAL32-75EFAU,MTAL,32,75,,E,FA,U,MAL-MTAL-32x75.step +MTAL32-75EFACM,MTAL,32,75,,E,FA,CM,MAL-MTAL-32x75.step +MTAL32-75EFB,MTAL,32,75,,E,FB,,MAL-MTAL-32x75.step +MTAL32-75EFBU,MTAL,32,75,,E,FB,U,MAL-MTAL-32x75.step +MTAL32-75EFBCM,MTAL,32,75,,E,FB,CM,MAL-MTAL-32x75.step +MTAL32-75ESDB,MTAL,32,75,,E,SDB,,MAL-MTAL-32x75.step +MTAL32-75ESDBU,MTAL,32,75,,E,SDB,U,MAL-MTAL-32x75.step +MTAL32-75ESDBCM,MTAL,32,75,,E,SDB,CM,MAL-MTAL-32x75.step +MTAL32-75,MTAL,32,75,,,,,MAL-MTAL-32x75.step +MTAL32-75U,MTAL,32,75,,,,U,MAL-MTAL-32x75.step +MTAL32-75CM,MTAL,32,75,,,,CM,MAL-MTAL-32x75.step +MTAL32-75LB,MTAL,32,75,,,LB,,MAL-MTAL-32x75.step +MTAL32-75LBU,MTAL,32,75,,,LB,U,MAL-MTAL-32x75.step +MTAL32-75LBCM,MTAL,32,75,,,LB,CM,MAL-MTAL-32x75.step +MTAL32-75FA,MTAL,32,75,,,FA,,MAL-MTAL-32x75.step +MTAL32-75FAU,MTAL,32,75,,,FA,U,MAL-MTAL-32x75.step +MTAL32-75FACM,MTAL,32,75,,,FA,CM,MAL-MTAL-32x75.step +MTAL32-75FB,MTAL,32,75,,,FB,,MAL-MTAL-32x75.step +MTAL32-75FBU,MTAL,32,75,,,FB,U,MAL-MTAL-32x75.step +MTAL32-75FBCM,MTAL,32,75,,,FB,CM,MAL-MTAL-32x75.step +MTAL32-75SDB,MTAL,32,75,,,SDB,,MAL-MTAL-32x75.step +MTAL32-75SDBU,MTAL,32,75,,,SDB,U,MAL-MTAL-32x75.step +MTAL32-75SDBCM,MTAL,32,75,,,SDB,CM,MAL-MTAL-32x75.step +MTAL32-75ME,MTAL,32,75,M,E,,,MAL-MTAL-32x75.step +MTAL32-75MEU,MTAL,32,75,M,E,,U,MAL-MTAL-32x75.step +MTAL32-75MECM,MTAL,32,75,M,E,,CM,MAL-MTAL-32x75.step +MTAL32-75MELB,MTAL,32,75,M,E,LB,,MAL-MTAL-32x75.step +MTAL32-75MELBU,MTAL,32,75,M,E,LB,U,MAL-MTAL-32x75.step +MTAL32-75MELBCM,MTAL,32,75,M,E,LB,CM,MAL-MTAL-32x75.step +MTAL32-75MEFA,MTAL,32,75,M,E,FA,,MAL-MTAL-32x75.step +MTAL32-75MEFAU,MTAL,32,75,M,E,FA,U,MAL-MTAL-32x75.step +MTAL32-75MEFACM,MTAL,32,75,M,E,FA,CM,MAL-MTAL-32x75.step +MTAL32-75MEFB,MTAL,32,75,M,E,FB,,MAL-MTAL-32x75.step +MTAL32-75MEFBU,MTAL,32,75,M,E,FB,U,MAL-MTAL-32x75.step +MTAL32-75MEFBCM,MTAL,32,75,M,E,FB,CM,MAL-MTAL-32x75.step +MTAL32-75MESDB,MTAL,32,75,M,E,SDB,,MAL-MTAL-32x75.step +MTAL32-75MESDBU,MTAL,32,75,M,E,SDB,U,MAL-MTAL-32x75.step +MTAL32-75MESDBCM,MTAL,32,75,M,E,SDB,CM,MAL-MTAL-32x75.step +MTAL32-75M,MTAL,32,75,M,,,,MAL-MTAL-32x75.step +MTAL32-75MU,MTAL,32,75,M,,,U,MAL-MTAL-32x75.step +MTAL32-75MCM,MTAL,32,75,M,,,CM,MAL-MTAL-32x75.step +MTAL32-75MLB,MTAL,32,75,M,,LB,,MAL-MTAL-32x75.step +MTAL32-75MLBU,MTAL,32,75,M,,LB,U,MAL-MTAL-32x75.step +MTAL32-75MLBCM,MTAL,32,75,M,,LB,CM,MAL-MTAL-32x75.step +MTAL32-75MFA,MTAL,32,75,M,,FA,,MAL-MTAL-32x75.step +MTAL32-75MFAU,MTAL,32,75,M,,FA,U,MAL-MTAL-32x75.step +MTAL32-75MFACM,MTAL,32,75,M,,FA,CM,MAL-MTAL-32x75.step +MTAL32-75MFB,MTAL,32,75,M,,FB,,MAL-MTAL-32x75.step +MTAL32-75MFBU,MTAL,32,75,M,,FB,U,MAL-MTAL-32x75.step +MTAL32-75MFBCM,MTAL,32,75,M,,FB,CM,MAL-MTAL-32x75.step +MTAL32-75MSDB,MTAL,32,75,M,,SDB,,MAL-MTAL-32x75.step +MTAL32-75MSDBU,MTAL,32,75,M,,SDB,U,MAL-MTAL-32x75.step +MTAL32-75MSDBCM,MTAL,32,75,M,,SDB,CM,MAL-MTAL-32x75.step +MTAL32-100E,MTAL,32,100,,E,,,MAL-MTAL-32x100.step +MTAL32-100EU,MTAL,32,100,,E,,U,MAL-MTAL-32x100.step +MTAL32-100ECM,MTAL,32,100,,E,,CM,MAL-MTAL-32x100.step +MTAL32-100ELB,MTAL,32,100,,E,LB,,MAL-MTAL-32x100.step +MTAL32-100ELBU,MTAL,32,100,,E,LB,U,MAL-MTAL-32x100.step +MTAL32-100ELBCM,MTAL,32,100,,E,LB,CM,MAL-MTAL-32x100.step +MTAL32-100EFA,MTAL,32,100,,E,FA,,MAL-MTAL-32x100.step +MTAL32-100EFAU,MTAL,32,100,,E,FA,U,MAL-MTAL-32x100.step +MTAL32-100EFACM,MTAL,32,100,,E,FA,CM,MAL-MTAL-32x100.step +MTAL32-100EFB,MTAL,32,100,,E,FB,,MAL-MTAL-32x100.step +MTAL32-100EFBU,MTAL,32,100,,E,FB,U,MAL-MTAL-32x100.step +MTAL32-100EFBCM,MTAL,32,100,,E,FB,CM,MAL-MTAL-32x100.step +MTAL32-100ESDB,MTAL,32,100,,E,SDB,,MAL-MTAL-32x100.step +MTAL32-100ESDBU,MTAL,32,100,,E,SDB,U,MAL-MTAL-32x100.step +MTAL32-100ESDBCM,MTAL,32,100,,E,SDB,CM,MAL-MTAL-32x100.step +MTAL32-100,MTAL,32,100,,,,,MAL-MTAL-32x100.step +MTAL32-100U,MTAL,32,100,,,,U,MAL-MTAL-32x100.step +MTAL32-100CM,MTAL,32,100,,,,CM,MAL-MTAL-32x100.step +MTAL32-100LB,MTAL,32,100,,,LB,,MAL-MTAL-32x100.step +MTAL32-100LBU,MTAL,32,100,,,LB,U,MAL-MTAL-32x100.step +MTAL32-100LBCM,MTAL,32,100,,,LB,CM,MAL-MTAL-32x100.step +MTAL32-100FA,MTAL,32,100,,,FA,,MAL-MTAL-32x100.step +MTAL32-100FAU,MTAL,32,100,,,FA,U,MAL-MTAL-32x100.step +MTAL32-100FACM,MTAL,32,100,,,FA,CM,MAL-MTAL-32x100.step +MTAL32-100FB,MTAL,32,100,,,FB,,MAL-MTAL-32x100.step +MTAL32-100FBU,MTAL,32,100,,,FB,U,MAL-MTAL-32x100.step +MTAL32-100FBCM,MTAL,32,100,,,FB,CM,MAL-MTAL-32x100.step +MTAL32-100SDB,MTAL,32,100,,,SDB,,MAL-MTAL-32x100.step +MTAL32-100SDBU,MTAL,32,100,,,SDB,U,MAL-MTAL-32x100.step +MTAL32-100SDBCM,MTAL,32,100,,,SDB,CM,MAL-MTAL-32x100.step +MTAL32-100ME,MTAL,32,100,M,E,,,MAL-MTAL-32x100.step +MTAL32-100MEU,MTAL,32,100,M,E,,U,MAL-MTAL-32x100.step +MTAL32-100MECM,MTAL,32,100,M,E,,CM,MAL-MTAL-32x100.step +MTAL32-100MELB,MTAL,32,100,M,E,LB,,MAL-MTAL-32x100.step +MTAL32-100MELBU,MTAL,32,100,M,E,LB,U,MAL-MTAL-32x100.step +MTAL32-100MELBCM,MTAL,32,100,M,E,LB,CM,MAL-MTAL-32x100.step +MTAL32-100MEFA,MTAL,32,100,M,E,FA,,MAL-MTAL-32x100.step +MTAL32-100MEFAU,MTAL,32,100,M,E,FA,U,MAL-MTAL-32x100.step +MTAL32-100MEFACM,MTAL,32,100,M,E,FA,CM,MAL-MTAL-32x100.step +MTAL32-100MEFB,MTAL,32,100,M,E,FB,,MAL-MTAL-32x100.step +MTAL32-100MEFBU,MTAL,32,100,M,E,FB,U,MAL-MTAL-32x100.step +MTAL32-100MEFBCM,MTAL,32,100,M,E,FB,CM,MAL-MTAL-32x100.step +MTAL32-100MESDB,MTAL,32,100,M,E,SDB,,MAL-MTAL-32x100.step +MTAL32-100MESDBU,MTAL,32,100,M,E,SDB,U,MAL-MTAL-32x100.step +MTAL32-100MESDBCM,MTAL,32,100,M,E,SDB,CM,MAL-MTAL-32x100.step +MTAL32-100M,MTAL,32,100,M,,,,MAL-MTAL-32x100.step +MTAL32-100MU,MTAL,32,100,M,,,U,MAL-MTAL-32x100.step +MTAL32-100MCM,MTAL,32,100,M,,,CM,MAL-MTAL-32x100.step +MTAL32-100MLB,MTAL,32,100,M,,LB,,MAL-MTAL-32x100.step +MTAL32-100MLBU,MTAL,32,100,M,,LB,U,MAL-MTAL-32x100.step +MTAL32-100MLBCM,MTAL,32,100,M,,LB,CM,MAL-MTAL-32x100.step +MTAL32-100MFA,MTAL,32,100,M,,FA,,MAL-MTAL-32x100.step +MTAL32-100MFAU,MTAL,32,100,M,,FA,U,MAL-MTAL-32x100.step +MTAL32-100MFACM,MTAL,32,100,M,,FA,CM,MAL-MTAL-32x100.step +MTAL32-100MFB,MTAL,32,100,M,,FB,,MAL-MTAL-32x100.step +MTAL32-100MFBU,MTAL,32,100,M,,FB,U,MAL-MTAL-32x100.step +MTAL32-100MFBCM,MTAL,32,100,M,,FB,CM,MAL-MTAL-32x100.step +MTAL32-100MSDB,MTAL,32,100,M,,SDB,,MAL-MTAL-32x100.step +MTAL32-100MSDBU,MTAL,32,100,M,,SDB,U,MAL-MTAL-32x100.step +MTAL32-100MSDBCM,MTAL,32,100,M,,SDB,CM,MAL-MTAL-32x100.step +MTAL40-10E,MTAL,40,10,,E,,,MAL-MTAL-40x10.step +MTAL40-10EU,MTAL,40,10,,E,,U,MAL-MTAL-40x10.step +MTAL40-10ECM,MTAL,40,10,,E,,CM,MAL-MTAL-40x10.step +MTAL40-10ELB,MTAL,40,10,,E,LB,,MAL-MTAL-40x10.step +MTAL40-10ELBU,MTAL,40,10,,E,LB,U,MAL-MTAL-40x10.step +MTAL40-10ELBCM,MTAL,40,10,,E,LB,CM,MAL-MTAL-40x10.step +MTAL40-10EFA,MTAL,40,10,,E,FA,,MAL-MTAL-40x10.step +MTAL40-10EFAU,MTAL,40,10,,E,FA,U,MAL-MTAL-40x10.step +MTAL40-10EFACM,MTAL,40,10,,E,FA,CM,MAL-MTAL-40x10.step +MTAL40-10EFB,MTAL,40,10,,E,FB,,MAL-MTAL-40x10.step +MTAL40-10EFBU,MTAL,40,10,,E,FB,U,MAL-MTAL-40x10.step +MTAL40-10EFBCM,MTAL,40,10,,E,FB,CM,MAL-MTAL-40x10.step +MTAL40-10ESDB,MTAL,40,10,,E,SDB,,MAL-MTAL-40x10.step +MTAL40-10ESDBU,MTAL,40,10,,E,SDB,U,MAL-MTAL-40x10.step +MTAL40-10ESDBCM,MTAL,40,10,,E,SDB,CM,MAL-MTAL-40x10.step +MTAL40-10,MTAL,40,10,,,,,MAL-MTAL-40x10.step +MTAL40-10U,MTAL,40,10,,,,U,MAL-MTAL-40x10.step +MTAL40-10CM,MTAL,40,10,,,,CM,MAL-MTAL-40x10.step +MTAL40-10LB,MTAL,40,10,,,LB,,MAL-MTAL-40x10.step +MTAL40-10LBU,MTAL,40,10,,,LB,U,MAL-MTAL-40x10.step +MTAL40-10LBCM,MTAL,40,10,,,LB,CM,MAL-MTAL-40x10.step +MTAL40-10FA,MTAL,40,10,,,FA,,MAL-MTAL-40x10.step +MTAL40-10FAU,MTAL,40,10,,,FA,U,MAL-MTAL-40x10.step +MTAL40-10FACM,MTAL,40,10,,,FA,CM,MAL-MTAL-40x10.step +MTAL40-10FB,MTAL,40,10,,,FB,,MAL-MTAL-40x10.step +MTAL40-10FBU,MTAL,40,10,,,FB,U,MAL-MTAL-40x10.step +MTAL40-10FBCM,MTAL,40,10,,,FB,CM,MAL-MTAL-40x10.step +MTAL40-10SDB,MTAL,40,10,,,SDB,,MAL-MTAL-40x10.step +MTAL40-10SDBU,MTAL,40,10,,,SDB,U,MAL-MTAL-40x10.step +MTAL40-10SDBCM,MTAL,40,10,,,SDB,CM,MAL-MTAL-40x10.step +MTAL40-10ME,MTAL,40,10,M,E,,,MAL-MTAL-40x10.step +MTAL40-10MEU,MTAL,40,10,M,E,,U,MAL-MTAL-40x10.step +MTAL40-10MECM,MTAL,40,10,M,E,,CM,MAL-MTAL-40x10.step +MTAL40-10MELB,MTAL,40,10,M,E,LB,,MAL-MTAL-40x10.step +MTAL40-10MELBU,MTAL,40,10,M,E,LB,U,MAL-MTAL-40x10.step +MTAL40-10MELBCM,MTAL,40,10,M,E,LB,CM,MAL-MTAL-40x10.step +MTAL40-10MEFA,MTAL,40,10,M,E,FA,,MAL-MTAL-40x10.step +MTAL40-10MEFAU,MTAL,40,10,M,E,FA,U,MAL-MTAL-40x10.step +MTAL40-10MEFACM,MTAL,40,10,M,E,FA,CM,MAL-MTAL-40x10.step +MTAL40-10MEFB,MTAL,40,10,M,E,FB,,MAL-MTAL-40x10.step +MTAL40-10MEFBU,MTAL,40,10,M,E,FB,U,MAL-MTAL-40x10.step +MTAL40-10MEFBCM,MTAL,40,10,M,E,FB,CM,MAL-MTAL-40x10.step +MTAL40-10MESDB,MTAL,40,10,M,E,SDB,,MAL-MTAL-40x10.step +MTAL40-10MESDBU,MTAL,40,10,M,E,SDB,U,MAL-MTAL-40x10.step +MTAL40-10MESDBCM,MTAL,40,10,M,E,SDB,CM,MAL-MTAL-40x10.step +MTAL40-10M,MTAL,40,10,M,,,,MAL-MTAL-40x10.step +MTAL40-10MU,MTAL,40,10,M,,,U,MAL-MTAL-40x10.step +MTAL40-10MCM,MTAL,40,10,M,,,CM,MAL-MTAL-40x10.step +MTAL40-10MLB,MTAL,40,10,M,,LB,,MAL-MTAL-40x10.step +MTAL40-10MLBU,MTAL,40,10,M,,LB,U,MAL-MTAL-40x10.step +MTAL40-10MLBCM,MTAL,40,10,M,,LB,CM,MAL-MTAL-40x10.step +MTAL40-10MFA,MTAL,40,10,M,,FA,,MAL-MTAL-40x10.step +MTAL40-10MFAU,MTAL,40,10,M,,FA,U,MAL-MTAL-40x10.step +MTAL40-10MFACM,MTAL,40,10,M,,FA,CM,MAL-MTAL-40x10.step +MTAL40-10MFB,MTAL,40,10,M,,FB,,MAL-MTAL-40x10.step +MTAL40-10MFBU,MTAL,40,10,M,,FB,U,MAL-MTAL-40x10.step +MTAL40-10MFBCM,MTAL,40,10,M,,FB,CM,MAL-MTAL-40x10.step +MTAL40-10MSDB,MTAL,40,10,M,,SDB,,MAL-MTAL-40x10.step +MTAL40-10MSDBU,MTAL,40,10,M,,SDB,U,MAL-MTAL-40x10.step +MTAL40-10MSDBCM,MTAL,40,10,M,,SDB,CM,MAL-MTAL-40x10.step +MTAL40-20E,MTAL,40,20,,E,,,MAL-MTAL-40x20.step +MTAL40-20EU,MTAL,40,20,,E,,U,MAL-MTAL-40x20.step +MTAL40-20ECM,MTAL,40,20,,E,,CM,MAL-MTAL-40x20.step +MTAL40-20ELB,MTAL,40,20,,E,LB,,MAL-MTAL-40x20.step +MTAL40-20ELBU,MTAL,40,20,,E,LB,U,MAL-MTAL-40x20.step +MTAL40-20ELBCM,MTAL,40,20,,E,LB,CM,MAL-MTAL-40x20.step +MTAL40-20EFA,MTAL,40,20,,E,FA,,MAL-MTAL-40x20.step +MTAL40-20EFAU,MTAL,40,20,,E,FA,U,MAL-MTAL-40x20.step +MTAL40-20EFACM,MTAL,40,20,,E,FA,CM,MAL-MTAL-40x20.step +MTAL40-20EFB,MTAL,40,20,,E,FB,,MAL-MTAL-40x20.step +MTAL40-20EFBU,MTAL,40,20,,E,FB,U,MAL-MTAL-40x20.step +MTAL40-20EFBCM,MTAL,40,20,,E,FB,CM,MAL-MTAL-40x20.step +MTAL40-20ESDB,MTAL,40,20,,E,SDB,,MAL-MTAL-40x20.step +MTAL40-20ESDBU,MTAL,40,20,,E,SDB,U,MAL-MTAL-40x20.step +MTAL40-20ESDBCM,MTAL,40,20,,E,SDB,CM,MAL-MTAL-40x20.step +MTAL40-20,MTAL,40,20,,,,,MAL-MTAL-40x20.step +MTAL40-20U,MTAL,40,20,,,,U,MAL-MTAL-40x20.step +MTAL40-20CM,MTAL,40,20,,,,CM,MAL-MTAL-40x20.step +MTAL40-20LB,MTAL,40,20,,,LB,,MAL-MTAL-40x20.step +MTAL40-20LBU,MTAL,40,20,,,LB,U,MAL-MTAL-40x20.step +MTAL40-20LBCM,MTAL,40,20,,,LB,CM,MAL-MTAL-40x20.step +MTAL40-20FA,MTAL,40,20,,,FA,,MAL-MTAL-40x20.step +MTAL40-20FAU,MTAL,40,20,,,FA,U,MAL-MTAL-40x20.step +MTAL40-20FACM,MTAL,40,20,,,FA,CM,MAL-MTAL-40x20.step +MTAL40-20FB,MTAL,40,20,,,FB,,MAL-MTAL-40x20.step +MTAL40-20FBU,MTAL,40,20,,,FB,U,MAL-MTAL-40x20.step +MTAL40-20FBCM,MTAL,40,20,,,FB,CM,MAL-MTAL-40x20.step +MTAL40-20SDB,MTAL,40,20,,,SDB,,MAL-MTAL-40x20.step +MTAL40-20SDBU,MTAL,40,20,,,SDB,U,MAL-MTAL-40x20.step +MTAL40-20SDBCM,MTAL,40,20,,,SDB,CM,MAL-MTAL-40x20.step +MTAL40-20ME,MTAL,40,20,M,E,,,MAL-MTAL-40x20.step +MTAL40-20MEU,MTAL,40,20,M,E,,U,MAL-MTAL-40x20.step +MTAL40-20MECM,MTAL,40,20,M,E,,CM,MAL-MTAL-40x20.step +MTAL40-20MELB,MTAL,40,20,M,E,LB,,MAL-MTAL-40x20.step +MTAL40-20MELBU,MTAL,40,20,M,E,LB,U,MAL-MTAL-40x20.step +MTAL40-20MELBCM,MTAL,40,20,M,E,LB,CM,MAL-MTAL-40x20.step +MTAL40-20MEFA,MTAL,40,20,M,E,FA,,MAL-MTAL-40x20.step +MTAL40-20MEFAU,MTAL,40,20,M,E,FA,U,MAL-MTAL-40x20.step +MTAL40-20MEFACM,MTAL,40,20,M,E,FA,CM,MAL-MTAL-40x20.step +MTAL40-20MEFB,MTAL,40,20,M,E,FB,,MAL-MTAL-40x20.step +MTAL40-20MEFBU,MTAL,40,20,M,E,FB,U,MAL-MTAL-40x20.step +MTAL40-20MEFBCM,MTAL,40,20,M,E,FB,CM,MAL-MTAL-40x20.step +MTAL40-20MESDB,MTAL,40,20,M,E,SDB,,MAL-MTAL-40x20.step +MTAL40-20MESDBU,MTAL,40,20,M,E,SDB,U,MAL-MTAL-40x20.step +MTAL40-20MESDBCM,MTAL,40,20,M,E,SDB,CM,MAL-MTAL-40x20.step +MTAL40-20M,MTAL,40,20,M,,,,MAL-MTAL-40x20.step +MTAL40-20MU,MTAL,40,20,M,,,U,MAL-MTAL-40x20.step +MTAL40-20MCM,MTAL,40,20,M,,,CM,MAL-MTAL-40x20.step +MTAL40-20MLB,MTAL,40,20,M,,LB,,MAL-MTAL-40x20.step +MTAL40-20MLBU,MTAL,40,20,M,,LB,U,MAL-MTAL-40x20.step +MTAL40-20MLBCM,MTAL,40,20,M,,LB,CM,MAL-MTAL-40x20.step +MTAL40-20MFA,MTAL,40,20,M,,FA,,MAL-MTAL-40x20.step +MTAL40-20MFAU,MTAL,40,20,M,,FA,U,MAL-MTAL-40x20.step +MTAL40-20MFACM,MTAL,40,20,M,,FA,CM,MAL-MTAL-40x20.step +MTAL40-20MFB,MTAL,40,20,M,,FB,,MAL-MTAL-40x20.step +MTAL40-20MFBU,MTAL,40,20,M,,FB,U,MAL-MTAL-40x20.step +MTAL40-20MFBCM,MTAL,40,20,M,,FB,CM,MAL-MTAL-40x20.step +MTAL40-20MSDB,MTAL,40,20,M,,SDB,,MAL-MTAL-40x20.step +MTAL40-20MSDBU,MTAL,40,20,M,,SDB,U,MAL-MTAL-40x20.step +MTAL40-20MSDBCM,MTAL,40,20,M,,SDB,CM,MAL-MTAL-40x20.step +MTAL40-30E,MTAL,40,30,,E,,,MAL-MTAL-40x30.step +MTAL40-30EU,MTAL,40,30,,E,,U,MAL-MTAL-40x30.step +MTAL40-30ECM,MTAL,40,30,,E,,CM,MAL-MTAL-40x30.step +MTAL40-30ELB,MTAL,40,30,,E,LB,,MAL-MTAL-40x30.step +MTAL40-30ELBU,MTAL,40,30,,E,LB,U,MAL-MTAL-40x30.step +MTAL40-30ELBCM,MTAL,40,30,,E,LB,CM,MAL-MTAL-40x30.step +MTAL40-30EFA,MTAL,40,30,,E,FA,,MAL-MTAL-40x30.step +MTAL40-30EFAU,MTAL,40,30,,E,FA,U,MAL-MTAL-40x30.step +MTAL40-30EFACM,MTAL,40,30,,E,FA,CM,MAL-MTAL-40x30.step +MTAL40-30EFB,MTAL,40,30,,E,FB,,MAL-MTAL-40x30.step +MTAL40-30EFBU,MTAL,40,30,,E,FB,U,MAL-MTAL-40x30.step +MTAL40-30EFBCM,MTAL,40,30,,E,FB,CM,MAL-MTAL-40x30.step +MTAL40-30ESDB,MTAL,40,30,,E,SDB,,MAL-MTAL-40x30.step +MTAL40-30ESDBU,MTAL,40,30,,E,SDB,U,MAL-MTAL-40x30.step +MTAL40-30ESDBCM,MTAL,40,30,,E,SDB,CM,MAL-MTAL-40x30.step +MTAL40-30,MTAL,40,30,,,,,MAL-MTAL-40x30.step +MTAL40-30U,MTAL,40,30,,,,U,MAL-MTAL-40x30.step +MTAL40-30CM,MTAL,40,30,,,,CM,MAL-MTAL-40x30.step +MTAL40-30LB,MTAL,40,30,,,LB,,MAL-MTAL-40x30.step +MTAL40-30LBU,MTAL,40,30,,,LB,U,MAL-MTAL-40x30.step +MTAL40-30LBCM,MTAL,40,30,,,LB,CM,MAL-MTAL-40x30.step +MTAL40-30FA,MTAL,40,30,,,FA,,MAL-MTAL-40x30.step +MTAL40-30FAU,MTAL,40,30,,,FA,U,MAL-MTAL-40x30.step +MTAL40-30FACM,MTAL,40,30,,,FA,CM,MAL-MTAL-40x30.step +MTAL40-30FB,MTAL,40,30,,,FB,,MAL-MTAL-40x30.step +MTAL40-30FBU,MTAL,40,30,,,FB,U,MAL-MTAL-40x30.step +MTAL40-30FBCM,MTAL,40,30,,,FB,CM,MAL-MTAL-40x30.step +MTAL40-30SDB,MTAL,40,30,,,SDB,,MAL-MTAL-40x30.step +MTAL40-30SDBU,MTAL,40,30,,,SDB,U,MAL-MTAL-40x30.step +MTAL40-30SDBCM,MTAL,40,30,,,SDB,CM,MAL-MTAL-40x30.step +MTAL40-30ME,MTAL,40,30,M,E,,,MAL-MTAL-40x30.step +MTAL40-30MEU,MTAL,40,30,M,E,,U,MAL-MTAL-40x30.step +MTAL40-30MECM,MTAL,40,30,M,E,,CM,MAL-MTAL-40x30.step +MTAL40-30MELB,MTAL,40,30,M,E,LB,,MAL-MTAL-40x30.step +MTAL40-30MELBU,MTAL,40,30,M,E,LB,U,MAL-MTAL-40x30.step +MTAL40-30MELBCM,MTAL,40,30,M,E,LB,CM,MAL-MTAL-40x30.step +MTAL40-30MEFA,MTAL,40,30,M,E,FA,,MAL-MTAL-40x30.step +MTAL40-30MEFAU,MTAL,40,30,M,E,FA,U,MAL-MTAL-40x30.step +MTAL40-30MEFACM,MTAL,40,30,M,E,FA,CM,MAL-MTAL-40x30.step +MTAL40-30MEFB,MTAL,40,30,M,E,FB,,MAL-MTAL-40x30.step +MTAL40-30MEFBU,MTAL,40,30,M,E,FB,U,MAL-MTAL-40x30.step +MTAL40-30MEFBCM,MTAL,40,30,M,E,FB,CM,MAL-MTAL-40x30.step +MTAL40-30MESDB,MTAL,40,30,M,E,SDB,,MAL-MTAL-40x30.step +MTAL40-30MESDBU,MTAL,40,30,M,E,SDB,U,MAL-MTAL-40x30.step +MTAL40-30MESDBCM,MTAL,40,30,M,E,SDB,CM,MAL-MTAL-40x30.step +MTAL40-30M,MTAL,40,30,M,,,,MAL-MTAL-40x30.step +MTAL40-30MU,MTAL,40,30,M,,,U,MAL-MTAL-40x30.step +MTAL40-30MCM,MTAL,40,30,M,,,CM,MAL-MTAL-40x30.step +MTAL40-30MLB,MTAL,40,30,M,,LB,,MAL-MTAL-40x30.step +MTAL40-30MLBU,MTAL,40,30,M,,LB,U,MAL-MTAL-40x30.step +MTAL40-30MLBCM,MTAL,40,30,M,,LB,CM,MAL-MTAL-40x30.step +MTAL40-30MFA,MTAL,40,30,M,,FA,,MAL-MTAL-40x30.step +MTAL40-30MFAU,MTAL,40,30,M,,FA,U,MAL-MTAL-40x30.step +MTAL40-30MFACM,MTAL,40,30,M,,FA,CM,MAL-MTAL-40x30.step +MTAL40-30MFB,MTAL,40,30,M,,FB,,MAL-MTAL-40x30.step +MTAL40-30MFBU,MTAL,40,30,M,,FB,U,MAL-MTAL-40x30.step +MTAL40-30MFBCM,MTAL,40,30,M,,FB,CM,MAL-MTAL-40x30.step +MTAL40-30MSDB,MTAL,40,30,M,,SDB,,MAL-MTAL-40x30.step +MTAL40-30MSDBU,MTAL,40,30,M,,SDB,U,MAL-MTAL-40x30.step +MTAL40-30MSDBCM,MTAL,40,30,M,,SDB,CM,MAL-MTAL-40x30.step +MTAL40-50E,MTAL,40,50,,E,,,MAL-MTAL-40x50.step +MTAL40-50EU,MTAL,40,50,,E,,U,MAL-MTAL-40x50.step +MTAL40-50ECM,MTAL,40,50,,E,,CM,MAL-MTAL-40x50.step +MTAL40-50ELB,MTAL,40,50,,E,LB,,MAL-MTAL-40x50.step +MTAL40-50ELBU,MTAL,40,50,,E,LB,U,MAL-MTAL-40x50.step +MTAL40-50ELBCM,MTAL,40,50,,E,LB,CM,MAL-MTAL-40x50.step +MTAL40-50EFA,MTAL,40,50,,E,FA,,MAL-MTAL-40x50.step +MTAL40-50EFAU,MTAL,40,50,,E,FA,U,MAL-MTAL-40x50.step +MTAL40-50EFACM,MTAL,40,50,,E,FA,CM,MAL-MTAL-40x50.step +MTAL40-50EFB,MTAL,40,50,,E,FB,,MAL-MTAL-40x50.step +MTAL40-50EFBU,MTAL,40,50,,E,FB,U,MAL-MTAL-40x50.step +MTAL40-50EFBCM,MTAL,40,50,,E,FB,CM,MAL-MTAL-40x50.step +MTAL40-50ESDB,MTAL,40,50,,E,SDB,,MAL-MTAL-40x50.step +MTAL40-50ESDBU,MTAL,40,50,,E,SDB,U,MAL-MTAL-40x50.step +MTAL40-50ESDBCM,MTAL,40,50,,E,SDB,CM,MAL-MTAL-40x50.step +MTAL40-50,MTAL,40,50,,,,,MAL-MTAL-40x50.step +MTAL40-50U,MTAL,40,50,,,,U,MAL-MTAL-40x50.step +MTAL40-50CM,MTAL,40,50,,,,CM,MAL-MTAL-40x50.step +MTAL40-50LB,MTAL,40,50,,,LB,,MAL-MTAL-40x50.step +MTAL40-50LBU,MTAL,40,50,,,LB,U,MAL-MTAL-40x50.step +MTAL40-50LBCM,MTAL,40,50,,,LB,CM,MAL-MTAL-40x50.step +MTAL40-50FA,MTAL,40,50,,,FA,,MAL-MTAL-40x50.step +MTAL40-50FAU,MTAL,40,50,,,FA,U,MAL-MTAL-40x50.step +MTAL40-50FACM,MTAL,40,50,,,FA,CM,MAL-MTAL-40x50.step +MTAL40-50FB,MTAL,40,50,,,FB,,MAL-MTAL-40x50.step +MTAL40-50FBU,MTAL,40,50,,,FB,U,MAL-MTAL-40x50.step +MTAL40-50FBCM,MTAL,40,50,,,FB,CM,MAL-MTAL-40x50.step +MTAL40-50SDB,MTAL,40,50,,,SDB,,MAL-MTAL-40x50.step +MTAL40-50SDBU,MTAL,40,50,,,SDB,U,MAL-MTAL-40x50.step +MTAL40-50SDBCM,MTAL,40,50,,,SDB,CM,MAL-MTAL-40x50.step +MTAL40-50ME,MTAL,40,50,M,E,,,MAL-MTAL-40x50.step +MTAL40-50MEU,MTAL,40,50,M,E,,U,MAL-MTAL-40x50.step +MTAL40-50MECM,MTAL,40,50,M,E,,CM,MAL-MTAL-40x50.step +MTAL40-50MELB,MTAL,40,50,M,E,LB,,MAL-MTAL-40x50.step +MTAL40-50MELBU,MTAL,40,50,M,E,LB,U,MAL-MTAL-40x50.step +MTAL40-50MELBCM,MTAL,40,50,M,E,LB,CM,MAL-MTAL-40x50.step +MTAL40-50MEFA,MTAL,40,50,M,E,FA,,MAL-MTAL-40x50.step +MTAL40-50MEFAU,MTAL,40,50,M,E,FA,U,MAL-MTAL-40x50.step +MTAL40-50MEFACM,MTAL,40,50,M,E,FA,CM,MAL-MTAL-40x50.step +MTAL40-50MEFB,MTAL,40,50,M,E,FB,,MAL-MTAL-40x50.step +MTAL40-50MEFBU,MTAL,40,50,M,E,FB,U,MAL-MTAL-40x50.step +MTAL40-50MEFBCM,MTAL,40,50,M,E,FB,CM,MAL-MTAL-40x50.step +MTAL40-50MESDB,MTAL,40,50,M,E,SDB,,MAL-MTAL-40x50.step +MTAL40-50MESDBU,MTAL,40,50,M,E,SDB,U,MAL-MTAL-40x50.step +MTAL40-50MESDBCM,MTAL,40,50,M,E,SDB,CM,MAL-MTAL-40x50.step +MTAL40-50M,MTAL,40,50,M,,,,MAL-MTAL-40x50.step +MTAL40-50MU,MTAL,40,50,M,,,U,MAL-MTAL-40x50.step +MTAL40-50MCM,MTAL,40,50,M,,,CM,MAL-MTAL-40x50.step +MTAL40-50MLB,MTAL,40,50,M,,LB,,MAL-MTAL-40x50.step +MTAL40-50MLBU,MTAL,40,50,M,,LB,U,MAL-MTAL-40x50.step +MTAL40-50MLBCM,MTAL,40,50,M,,LB,CM,MAL-MTAL-40x50.step +MTAL40-50MFA,MTAL,40,50,M,,FA,,MAL-MTAL-40x50.step +MTAL40-50MFAU,MTAL,40,50,M,,FA,U,MAL-MTAL-40x50.step +MTAL40-50MFACM,MTAL,40,50,M,,FA,CM,MAL-MTAL-40x50.step +MTAL40-50MFB,MTAL,40,50,M,,FB,,MAL-MTAL-40x50.step +MTAL40-50MFBU,MTAL,40,50,M,,FB,U,MAL-MTAL-40x50.step +MTAL40-50MFBCM,MTAL,40,50,M,,FB,CM,MAL-MTAL-40x50.step +MTAL40-50MSDB,MTAL,40,50,M,,SDB,,MAL-MTAL-40x50.step +MTAL40-50MSDBU,MTAL,40,50,M,,SDB,U,MAL-MTAL-40x50.step +MTAL40-50MSDBCM,MTAL,40,50,M,,SDB,CM,MAL-MTAL-40x50.step +MTAL40-75E,MTAL,40,75,,E,,,MAL-MTAL-40x75.step +MTAL40-75EU,MTAL,40,75,,E,,U,MAL-MTAL-40x75.step +MTAL40-75ECM,MTAL,40,75,,E,,CM,MAL-MTAL-40x75.step +MTAL40-75ELB,MTAL,40,75,,E,LB,,MAL-MTAL-40x75.step +MTAL40-75ELBU,MTAL,40,75,,E,LB,U,MAL-MTAL-40x75.step +MTAL40-75ELBCM,MTAL,40,75,,E,LB,CM,MAL-MTAL-40x75.step +MTAL40-75EFA,MTAL,40,75,,E,FA,,MAL-MTAL-40x75.step +MTAL40-75EFAU,MTAL,40,75,,E,FA,U,MAL-MTAL-40x75.step +MTAL40-75EFACM,MTAL,40,75,,E,FA,CM,MAL-MTAL-40x75.step +MTAL40-75EFB,MTAL,40,75,,E,FB,,MAL-MTAL-40x75.step +MTAL40-75EFBU,MTAL,40,75,,E,FB,U,MAL-MTAL-40x75.step +MTAL40-75EFBCM,MTAL,40,75,,E,FB,CM,MAL-MTAL-40x75.step +MTAL40-75ESDB,MTAL,40,75,,E,SDB,,MAL-MTAL-40x75.step +MTAL40-75ESDBU,MTAL,40,75,,E,SDB,U,MAL-MTAL-40x75.step +MTAL40-75ESDBCM,MTAL,40,75,,E,SDB,CM,MAL-MTAL-40x75.step +MTAL40-75,MTAL,40,75,,,,,MAL-MTAL-40x75.step +MTAL40-75U,MTAL,40,75,,,,U,MAL-MTAL-40x75.step +MTAL40-75CM,MTAL,40,75,,,,CM,MAL-MTAL-40x75.step +MTAL40-75LB,MTAL,40,75,,,LB,,MAL-MTAL-40x75.step +MTAL40-75LBU,MTAL,40,75,,,LB,U,MAL-MTAL-40x75.step +MTAL40-75LBCM,MTAL,40,75,,,LB,CM,MAL-MTAL-40x75.step +MTAL40-75FA,MTAL,40,75,,,FA,,MAL-MTAL-40x75.step +MTAL40-75FAU,MTAL,40,75,,,FA,U,MAL-MTAL-40x75.step +MTAL40-75FACM,MTAL,40,75,,,FA,CM,MAL-MTAL-40x75.step +MTAL40-75FB,MTAL,40,75,,,FB,,MAL-MTAL-40x75.step +MTAL40-75FBU,MTAL,40,75,,,FB,U,MAL-MTAL-40x75.step +MTAL40-75FBCM,MTAL,40,75,,,FB,CM,MAL-MTAL-40x75.step +MTAL40-75SDB,MTAL,40,75,,,SDB,,MAL-MTAL-40x75.step +MTAL40-75SDBU,MTAL,40,75,,,SDB,U,MAL-MTAL-40x75.step +MTAL40-75SDBCM,MTAL,40,75,,,SDB,CM,MAL-MTAL-40x75.step +MTAL40-75ME,MTAL,40,75,M,E,,,MAL-MTAL-40x75.step +MTAL40-75MEU,MTAL,40,75,M,E,,U,MAL-MTAL-40x75.step +MTAL40-75MECM,MTAL,40,75,M,E,,CM,MAL-MTAL-40x75.step +MTAL40-75MELB,MTAL,40,75,M,E,LB,,MAL-MTAL-40x75.step +MTAL40-75MELBU,MTAL,40,75,M,E,LB,U,MAL-MTAL-40x75.step +MTAL40-75MELBCM,MTAL,40,75,M,E,LB,CM,MAL-MTAL-40x75.step +MTAL40-75MEFA,MTAL,40,75,M,E,FA,,MAL-MTAL-40x75.step +MTAL40-75MEFAU,MTAL,40,75,M,E,FA,U,MAL-MTAL-40x75.step +MTAL40-75MEFACM,MTAL,40,75,M,E,FA,CM,MAL-MTAL-40x75.step +MTAL40-75MEFB,MTAL,40,75,M,E,FB,,MAL-MTAL-40x75.step +MTAL40-75MEFBU,MTAL,40,75,M,E,FB,U,MAL-MTAL-40x75.step +MTAL40-75MEFBCM,MTAL,40,75,M,E,FB,CM,MAL-MTAL-40x75.step +MTAL40-75MESDB,MTAL,40,75,M,E,SDB,,MAL-MTAL-40x75.step +MTAL40-75MESDBU,MTAL,40,75,M,E,SDB,U,MAL-MTAL-40x75.step +MTAL40-75MESDBCM,MTAL,40,75,M,E,SDB,CM,MAL-MTAL-40x75.step +MTAL40-75M,MTAL,40,75,M,,,,MAL-MTAL-40x75.step +MTAL40-75MU,MTAL,40,75,M,,,U,MAL-MTAL-40x75.step +MTAL40-75MCM,MTAL,40,75,M,,,CM,MAL-MTAL-40x75.step +MTAL40-75MLB,MTAL,40,75,M,,LB,,MAL-MTAL-40x75.step +MTAL40-75MLBU,MTAL,40,75,M,,LB,U,MAL-MTAL-40x75.step +MTAL40-75MLBCM,MTAL,40,75,M,,LB,CM,MAL-MTAL-40x75.step +MTAL40-75MFA,MTAL,40,75,M,,FA,,MAL-MTAL-40x75.step +MTAL40-75MFAU,MTAL,40,75,M,,FA,U,MAL-MTAL-40x75.step +MTAL40-75MFACM,MTAL,40,75,M,,FA,CM,MAL-MTAL-40x75.step +MTAL40-75MFB,MTAL,40,75,M,,FB,,MAL-MTAL-40x75.step +MTAL40-75MFBU,MTAL,40,75,M,,FB,U,MAL-MTAL-40x75.step +MTAL40-75MFBCM,MTAL,40,75,M,,FB,CM,MAL-MTAL-40x75.step +MTAL40-75MSDB,MTAL,40,75,M,,SDB,,MAL-MTAL-40x75.step +MTAL40-75MSDBU,MTAL,40,75,M,,SDB,U,MAL-MTAL-40x75.step +MTAL40-75MSDBCM,MTAL,40,75,M,,SDB,CM,MAL-MTAL-40x75.step +MTAL40-100E,MTAL,40,100,,E,,,MAL-MTAL-40x100.step +MTAL40-100EU,MTAL,40,100,,E,,U,MAL-MTAL-40x100.step +MTAL40-100ECM,MTAL,40,100,,E,,CM,MAL-MTAL-40x100.step +MTAL40-100ELB,MTAL,40,100,,E,LB,,MAL-MTAL-40x100.step +MTAL40-100ELBU,MTAL,40,100,,E,LB,U,MAL-MTAL-40x100.step +MTAL40-100ELBCM,MTAL,40,100,,E,LB,CM,MAL-MTAL-40x100.step +MTAL40-100EFA,MTAL,40,100,,E,FA,,MAL-MTAL-40x100.step +MTAL40-100EFAU,MTAL,40,100,,E,FA,U,MAL-MTAL-40x100.step +MTAL40-100EFACM,MTAL,40,100,,E,FA,CM,MAL-MTAL-40x100.step +MTAL40-100EFB,MTAL,40,100,,E,FB,,MAL-MTAL-40x100.step +MTAL40-100EFBU,MTAL,40,100,,E,FB,U,MAL-MTAL-40x100.step +MTAL40-100EFBCM,MTAL,40,100,,E,FB,CM,MAL-MTAL-40x100.step +MTAL40-100ESDB,MTAL,40,100,,E,SDB,,MAL-MTAL-40x100.step +MTAL40-100ESDBU,MTAL,40,100,,E,SDB,U,MAL-MTAL-40x100.step +MTAL40-100ESDBCM,MTAL,40,100,,E,SDB,CM,MAL-MTAL-40x100.step +MTAL40-100,MTAL,40,100,,,,,MAL-MTAL-40x100.step +MTAL40-100U,MTAL,40,100,,,,U,MAL-MTAL-40x100.step +MTAL40-100CM,MTAL,40,100,,,,CM,MAL-MTAL-40x100.step +MTAL40-100LB,MTAL,40,100,,,LB,,MAL-MTAL-40x100.step +MTAL40-100LBU,MTAL,40,100,,,LB,U,MAL-MTAL-40x100.step +MTAL40-100LBCM,MTAL,40,100,,,LB,CM,MAL-MTAL-40x100.step +MTAL40-100FA,MTAL,40,100,,,FA,,MAL-MTAL-40x100.step +MTAL40-100FAU,MTAL,40,100,,,FA,U,MAL-MTAL-40x100.step +MTAL40-100FACM,MTAL,40,100,,,FA,CM,MAL-MTAL-40x100.step +MTAL40-100FB,MTAL,40,100,,,FB,,MAL-MTAL-40x100.step +MTAL40-100FBU,MTAL,40,100,,,FB,U,MAL-MTAL-40x100.step +MTAL40-100FBCM,MTAL,40,100,,,FB,CM,MAL-MTAL-40x100.step +MTAL40-100SDB,MTAL,40,100,,,SDB,,MAL-MTAL-40x100.step +MTAL40-100SDBU,MTAL,40,100,,,SDB,U,MAL-MTAL-40x100.step +MTAL40-100SDBCM,MTAL,40,100,,,SDB,CM,MAL-MTAL-40x100.step +MTAL40-100ME,MTAL,40,100,M,E,,,MAL-MTAL-40x100.step +MTAL40-100MEU,MTAL,40,100,M,E,,U,MAL-MTAL-40x100.step +MTAL40-100MECM,MTAL,40,100,M,E,,CM,MAL-MTAL-40x100.step +MTAL40-100MELB,MTAL,40,100,M,E,LB,,MAL-MTAL-40x100.step +MTAL40-100MELBU,MTAL,40,100,M,E,LB,U,MAL-MTAL-40x100.step +MTAL40-100MELBCM,MTAL,40,100,M,E,LB,CM,MAL-MTAL-40x100.step +MTAL40-100MEFA,MTAL,40,100,M,E,FA,,MAL-MTAL-40x100.step +MTAL40-100MEFAU,MTAL,40,100,M,E,FA,U,MAL-MTAL-40x100.step +MTAL40-100MEFACM,MTAL,40,100,M,E,FA,CM,MAL-MTAL-40x100.step +MTAL40-100MEFB,MTAL,40,100,M,E,FB,,MAL-MTAL-40x100.step +MTAL40-100MEFBU,MTAL,40,100,M,E,FB,U,MAL-MTAL-40x100.step +MTAL40-100MEFBCM,MTAL,40,100,M,E,FB,CM,MAL-MTAL-40x100.step +MTAL40-100MESDB,MTAL,40,100,M,E,SDB,,MAL-MTAL-40x100.step +MTAL40-100MESDBU,MTAL,40,100,M,E,SDB,U,MAL-MTAL-40x100.step +MTAL40-100MESDBCM,MTAL,40,100,M,E,SDB,CM,MAL-MTAL-40x100.step +MTAL40-100M,MTAL,40,100,M,,,,MAL-MTAL-40x100.step +MTAL40-100MU,MTAL,40,100,M,,,U,MAL-MTAL-40x100.step +MTAL40-100MCM,MTAL,40,100,M,,,CM,MAL-MTAL-40x100.step +MTAL40-100MLB,MTAL,40,100,M,,LB,,MAL-MTAL-40x100.step +MTAL40-100MLBU,MTAL,40,100,M,,LB,U,MAL-MTAL-40x100.step +MTAL40-100MLBCM,MTAL,40,100,M,,LB,CM,MAL-MTAL-40x100.step +MTAL40-100MFA,MTAL,40,100,M,,FA,,MAL-MTAL-40x100.step +MTAL40-100MFAU,MTAL,40,100,M,,FA,U,MAL-MTAL-40x100.step +MTAL40-100MFACM,MTAL,40,100,M,,FA,CM,MAL-MTAL-40x100.step +MTAL40-100MFB,MTAL,40,100,M,,FB,,MAL-MTAL-40x100.step +MTAL40-100MFBU,MTAL,40,100,M,,FB,U,MAL-MTAL-40x100.step +MTAL40-100MFBCM,MTAL,40,100,M,,FB,CM,MAL-MTAL-40x100.step +MTAL40-100MSDB,MTAL,40,100,M,,SDB,,MAL-MTAL-40x100.step +MTAL40-100MSDBU,MTAL,40,100,M,,SDB,U,MAL-MTAL-40x100.step +MTAL40-100MSDBCM,MTAL,40,100,M,,SDB,CM,MAL-MTAL-40x100.step +MALD16-10E,MALD,16,10,,E,,,MAL-MALD-16x10.step +MALD16-10EU,MALD,16,10,,E,,U,MAL-MALD-16x10.step +MALD16-10ECM,MALD,16,10,,E,,CM,MAL-MALD-16x10.step +MALD16-10ELB,MALD,16,10,,E,LB,,MAL-MALD-16x10.step +MALD16-10ELBU,MALD,16,10,,E,LB,U,MAL-MALD-16x10.step +MALD16-10ELBCM,MALD,16,10,,E,LB,CM,MAL-MALD-16x10.step +MALD16-10EFA,MALD,16,10,,E,FA,,MAL-MALD-16x10.step +MALD16-10EFAU,MALD,16,10,,E,FA,U,MAL-MALD-16x10.step +MALD16-10EFACM,MALD,16,10,,E,FA,CM,MAL-MALD-16x10.step +MALD16-10EFB,MALD,16,10,,E,FB,,MAL-MALD-16x10.step +MALD16-10EFBU,MALD,16,10,,E,FB,U,MAL-MALD-16x10.step +MALD16-10EFBCM,MALD,16,10,,E,FB,CM,MAL-MALD-16x10.step +MALD16-10ESDB,MALD,16,10,,E,SDB,,MAL-MALD-16x10.step +MALD16-10ESDBU,MALD,16,10,,E,SDB,U,MAL-MALD-16x10.step +MALD16-10ESDBCM,MALD,16,10,,E,SDB,CM,MAL-MALD-16x10.step +MALD16-10,MALD,16,10,,,,,MAL-MALD-16x10.step +MALD16-10U,MALD,16,10,,,,U,MAL-MALD-16x10.step +MALD16-10CM,MALD,16,10,,,,CM,MAL-MALD-16x10.step +MALD16-10LB,MALD,16,10,,,LB,,MAL-MALD-16x10.step +MALD16-10LBU,MALD,16,10,,,LB,U,MAL-MALD-16x10.step +MALD16-10LBCM,MALD,16,10,,,LB,CM,MAL-MALD-16x10.step +MALD16-10FA,MALD,16,10,,,FA,,MAL-MALD-16x10.step +MALD16-10FAU,MALD,16,10,,,FA,U,MAL-MALD-16x10.step +MALD16-10FACM,MALD,16,10,,,FA,CM,MAL-MALD-16x10.step +MALD16-10FB,MALD,16,10,,,FB,,MAL-MALD-16x10.step +MALD16-10FBU,MALD,16,10,,,FB,U,MAL-MALD-16x10.step +MALD16-10FBCM,MALD,16,10,,,FB,CM,MAL-MALD-16x10.step +MALD16-10SDB,MALD,16,10,,,SDB,,MAL-MALD-16x10.step +MALD16-10SDBU,MALD,16,10,,,SDB,U,MAL-MALD-16x10.step +MALD16-10SDBCM,MALD,16,10,,,SDB,CM,MAL-MALD-16x10.step +MALD16-10ME,MALD,16,10,M,E,,,MAL-MALD-16x10.step +MALD16-10MEU,MALD,16,10,M,E,,U,MAL-MALD-16x10.step +MALD16-10MECM,MALD,16,10,M,E,,CM,MAL-MALD-16x10.step +MALD16-10MELB,MALD,16,10,M,E,LB,,MAL-MALD-16x10.step +MALD16-10MELBU,MALD,16,10,M,E,LB,U,MAL-MALD-16x10.step +MALD16-10MELBCM,MALD,16,10,M,E,LB,CM,MAL-MALD-16x10.step +MALD16-10MEFA,MALD,16,10,M,E,FA,,MAL-MALD-16x10.step +MALD16-10MEFAU,MALD,16,10,M,E,FA,U,MAL-MALD-16x10.step +MALD16-10MEFACM,MALD,16,10,M,E,FA,CM,MAL-MALD-16x10.step +MALD16-10MEFB,MALD,16,10,M,E,FB,,MAL-MALD-16x10.step +MALD16-10MEFBU,MALD,16,10,M,E,FB,U,MAL-MALD-16x10.step +MALD16-10MEFBCM,MALD,16,10,M,E,FB,CM,MAL-MALD-16x10.step +MALD16-10MESDB,MALD,16,10,M,E,SDB,,MAL-MALD-16x10.step +MALD16-10MESDBU,MALD,16,10,M,E,SDB,U,MAL-MALD-16x10.step +MALD16-10MESDBCM,MALD,16,10,M,E,SDB,CM,MAL-MALD-16x10.step +MALD16-10M,MALD,16,10,M,,,,MAL-MALD-16x10.step +MALD16-10MU,MALD,16,10,M,,,U,MAL-MALD-16x10.step +MALD16-10MCM,MALD,16,10,M,,,CM,MAL-MALD-16x10.step +MALD16-10MLB,MALD,16,10,M,,LB,,MAL-MALD-16x10.step +MALD16-10MLBU,MALD,16,10,M,,LB,U,MAL-MALD-16x10.step +MALD16-10MLBCM,MALD,16,10,M,,LB,CM,MAL-MALD-16x10.step +MALD16-10MFA,MALD,16,10,M,,FA,,MAL-MALD-16x10.step +MALD16-10MFAU,MALD,16,10,M,,FA,U,MAL-MALD-16x10.step +MALD16-10MFACM,MALD,16,10,M,,FA,CM,MAL-MALD-16x10.step +MALD16-10MFB,MALD,16,10,M,,FB,,MAL-MALD-16x10.step +MALD16-10MFBU,MALD,16,10,M,,FB,U,MAL-MALD-16x10.step +MALD16-10MFBCM,MALD,16,10,M,,FB,CM,MAL-MALD-16x10.step +MALD16-10MSDB,MALD,16,10,M,,SDB,,MAL-MALD-16x10.step +MALD16-10MSDBU,MALD,16,10,M,,SDB,U,MAL-MALD-16x10.step +MALD16-10MSDBCM,MALD,16,10,M,,SDB,CM,MAL-MALD-16x10.step +MALD16-20E,MALD,16,20,,E,,,MAL-MALD-16x20.step +MALD16-20EU,MALD,16,20,,E,,U,MAL-MALD-16x20.step +MALD16-20ECM,MALD,16,20,,E,,CM,MAL-MALD-16x20.step +MALD16-20ELB,MALD,16,20,,E,LB,,MAL-MALD-16x20.step +MALD16-20ELBU,MALD,16,20,,E,LB,U,MAL-MALD-16x20.step +MALD16-20ELBCM,MALD,16,20,,E,LB,CM,MAL-MALD-16x20.step +MALD16-20EFA,MALD,16,20,,E,FA,,MAL-MALD-16x20.step +MALD16-20EFAU,MALD,16,20,,E,FA,U,MAL-MALD-16x20.step +MALD16-20EFACM,MALD,16,20,,E,FA,CM,MAL-MALD-16x20.step +MALD16-20EFB,MALD,16,20,,E,FB,,MAL-MALD-16x20.step +MALD16-20EFBU,MALD,16,20,,E,FB,U,MAL-MALD-16x20.step +MALD16-20EFBCM,MALD,16,20,,E,FB,CM,MAL-MALD-16x20.step +MALD16-20ESDB,MALD,16,20,,E,SDB,,MAL-MALD-16x20.step +MALD16-20ESDBU,MALD,16,20,,E,SDB,U,MAL-MALD-16x20.step +MALD16-20ESDBCM,MALD,16,20,,E,SDB,CM,MAL-MALD-16x20.step +MALD16-20,MALD,16,20,,,,,MAL-MALD-16x20.step +MALD16-20U,MALD,16,20,,,,U,MAL-MALD-16x20.step +MALD16-20CM,MALD,16,20,,,,CM,MAL-MALD-16x20.step +MALD16-20LB,MALD,16,20,,,LB,,MAL-MALD-16x20.step +MALD16-20LBU,MALD,16,20,,,LB,U,MAL-MALD-16x20.step +MALD16-20LBCM,MALD,16,20,,,LB,CM,MAL-MALD-16x20.step +MALD16-20FA,MALD,16,20,,,FA,,MAL-MALD-16x20.step +MALD16-20FAU,MALD,16,20,,,FA,U,MAL-MALD-16x20.step +MALD16-20FACM,MALD,16,20,,,FA,CM,MAL-MALD-16x20.step +MALD16-20FB,MALD,16,20,,,FB,,MAL-MALD-16x20.step +MALD16-20FBU,MALD,16,20,,,FB,U,MAL-MALD-16x20.step +MALD16-20FBCM,MALD,16,20,,,FB,CM,MAL-MALD-16x20.step +MALD16-20SDB,MALD,16,20,,,SDB,,MAL-MALD-16x20.step +MALD16-20SDBU,MALD,16,20,,,SDB,U,MAL-MALD-16x20.step +MALD16-20SDBCM,MALD,16,20,,,SDB,CM,MAL-MALD-16x20.step +MALD16-20ME,MALD,16,20,M,E,,,MAL-MALD-16x20.step +MALD16-20MEU,MALD,16,20,M,E,,U,MAL-MALD-16x20.step +MALD16-20MECM,MALD,16,20,M,E,,CM,MAL-MALD-16x20.step +MALD16-20MELB,MALD,16,20,M,E,LB,,MAL-MALD-16x20.step +MALD16-20MELBU,MALD,16,20,M,E,LB,U,MAL-MALD-16x20.step +MALD16-20MELBCM,MALD,16,20,M,E,LB,CM,MAL-MALD-16x20.step +MALD16-20MEFA,MALD,16,20,M,E,FA,,MAL-MALD-16x20.step +MALD16-20MEFAU,MALD,16,20,M,E,FA,U,MAL-MALD-16x20.step +MALD16-20MEFACM,MALD,16,20,M,E,FA,CM,MAL-MALD-16x20.step +MALD16-20MEFB,MALD,16,20,M,E,FB,,MAL-MALD-16x20.step +MALD16-20MEFBU,MALD,16,20,M,E,FB,U,MAL-MALD-16x20.step +MALD16-20MEFBCM,MALD,16,20,M,E,FB,CM,MAL-MALD-16x20.step +MALD16-20MESDB,MALD,16,20,M,E,SDB,,MAL-MALD-16x20.step +MALD16-20MESDBU,MALD,16,20,M,E,SDB,U,MAL-MALD-16x20.step +MALD16-20MESDBCM,MALD,16,20,M,E,SDB,CM,MAL-MALD-16x20.step +MALD16-20M,MALD,16,20,M,,,,MAL-MALD-16x20.step +MALD16-20MU,MALD,16,20,M,,,U,MAL-MALD-16x20.step +MALD16-20MCM,MALD,16,20,M,,,CM,MAL-MALD-16x20.step +MALD16-20MLB,MALD,16,20,M,,LB,,MAL-MALD-16x20.step +MALD16-20MLBU,MALD,16,20,M,,LB,U,MAL-MALD-16x20.step +MALD16-20MLBCM,MALD,16,20,M,,LB,CM,MAL-MALD-16x20.step +MALD16-20MFA,MALD,16,20,M,,FA,,MAL-MALD-16x20.step +MALD16-20MFAU,MALD,16,20,M,,FA,U,MAL-MALD-16x20.step +MALD16-20MFACM,MALD,16,20,M,,FA,CM,MAL-MALD-16x20.step +MALD16-20MFB,MALD,16,20,M,,FB,,MAL-MALD-16x20.step +MALD16-20MFBU,MALD,16,20,M,,FB,U,MAL-MALD-16x20.step +MALD16-20MFBCM,MALD,16,20,M,,FB,CM,MAL-MALD-16x20.step +MALD16-20MSDB,MALD,16,20,M,,SDB,,MAL-MALD-16x20.step +MALD16-20MSDBU,MALD,16,20,M,,SDB,U,MAL-MALD-16x20.step +MALD16-20MSDBCM,MALD,16,20,M,,SDB,CM,MAL-MALD-16x20.step +MALD16-30E,MALD,16,30,,E,,,MAL-MALD-16x30.step +MALD16-30EU,MALD,16,30,,E,,U,MAL-MALD-16x30.step +MALD16-30ECM,MALD,16,30,,E,,CM,MAL-MALD-16x30.step +MALD16-30ELB,MALD,16,30,,E,LB,,MAL-MALD-16x30.step +MALD16-30ELBU,MALD,16,30,,E,LB,U,MAL-MALD-16x30.step +MALD16-30ELBCM,MALD,16,30,,E,LB,CM,MAL-MALD-16x30.step +MALD16-30EFA,MALD,16,30,,E,FA,,MAL-MALD-16x30.step +MALD16-30EFAU,MALD,16,30,,E,FA,U,MAL-MALD-16x30.step +MALD16-30EFACM,MALD,16,30,,E,FA,CM,MAL-MALD-16x30.step +MALD16-30EFB,MALD,16,30,,E,FB,,MAL-MALD-16x30.step +MALD16-30EFBU,MALD,16,30,,E,FB,U,MAL-MALD-16x30.step +MALD16-30EFBCM,MALD,16,30,,E,FB,CM,MAL-MALD-16x30.step +MALD16-30ESDB,MALD,16,30,,E,SDB,,MAL-MALD-16x30.step +MALD16-30ESDBU,MALD,16,30,,E,SDB,U,MAL-MALD-16x30.step +MALD16-30ESDBCM,MALD,16,30,,E,SDB,CM,MAL-MALD-16x30.step +MALD16-30,MALD,16,30,,,,,MAL-MALD-16x30.step +MALD16-30U,MALD,16,30,,,,U,MAL-MALD-16x30.step +MALD16-30CM,MALD,16,30,,,,CM,MAL-MALD-16x30.step +MALD16-30LB,MALD,16,30,,,LB,,MAL-MALD-16x30.step +MALD16-30LBU,MALD,16,30,,,LB,U,MAL-MALD-16x30.step +MALD16-30LBCM,MALD,16,30,,,LB,CM,MAL-MALD-16x30.step +MALD16-30FA,MALD,16,30,,,FA,,MAL-MALD-16x30.step +MALD16-30FAU,MALD,16,30,,,FA,U,MAL-MALD-16x30.step +MALD16-30FACM,MALD,16,30,,,FA,CM,MAL-MALD-16x30.step +MALD16-30FB,MALD,16,30,,,FB,,MAL-MALD-16x30.step +MALD16-30FBU,MALD,16,30,,,FB,U,MAL-MALD-16x30.step +MALD16-30FBCM,MALD,16,30,,,FB,CM,MAL-MALD-16x30.step +MALD16-30SDB,MALD,16,30,,,SDB,,MAL-MALD-16x30.step +MALD16-30SDBU,MALD,16,30,,,SDB,U,MAL-MALD-16x30.step +MALD16-30SDBCM,MALD,16,30,,,SDB,CM,MAL-MALD-16x30.step +MALD16-30ME,MALD,16,30,M,E,,,MAL-MALD-16x30.step +MALD16-30MEU,MALD,16,30,M,E,,U,MAL-MALD-16x30.step +MALD16-30MECM,MALD,16,30,M,E,,CM,MAL-MALD-16x30.step +MALD16-30MELB,MALD,16,30,M,E,LB,,MAL-MALD-16x30.step +MALD16-30MELBU,MALD,16,30,M,E,LB,U,MAL-MALD-16x30.step +MALD16-30MELBCM,MALD,16,30,M,E,LB,CM,MAL-MALD-16x30.step +MALD16-30MEFA,MALD,16,30,M,E,FA,,MAL-MALD-16x30.step +MALD16-30MEFAU,MALD,16,30,M,E,FA,U,MAL-MALD-16x30.step +MALD16-30MEFACM,MALD,16,30,M,E,FA,CM,MAL-MALD-16x30.step +MALD16-30MEFB,MALD,16,30,M,E,FB,,MAL-MALD-16x30.step +MALD16-30MEFBU,MALD,16,30,M,E,FB,U,MAL-MALD-16x30.step +MALD16-30MEFBCM,MALD,16,30,M,E,FB,CM,MAL-MALD-16x30.step +MALD16-30MESDB,MALD,16,30,M,E,SDB,,MAL-MALD-16x30.step +MALD16-30MESDBU,MALD,16,30,M,E,SDB,U,MAL-MALD-16x30.step +MALD16-30MESDBCM,MALD,16,30,M,E,SDB,CM,MAL-MALD-16x30.step +MALD16-30M,MALD,16,30,M,,,,MAL-MALD-16x30.step +MALD16-30MU,MALD,16,30,M,,,U,MAL-MALD-16x30.step +MALD16-30MCM,MALD,16,30,M,,,CM,MAL-MALD-16x30.step +MALD16-30MLB,MALD,16,30,M,,LB,,MAL-MALD-16x30.step +MALD16-30MLBU,MALD,16,30,M,,LB,U,MAL-MALD-16x30.step +MALD16-30MLBCM,MALD,16,30,M,,LB,CM,MAL-MALD-16x30.step +MALD16-30MFA,MALD,16,30,M,,FA,,MAL-MALD-16x30.step +MALD16-30MFAU,MALD,16,30,M,,FA,U,MAL-MALD-16x30.step +MALD16-30MFACM,MALD,16,30,M,,FA,CM,MAL-MALD-16x30.step +MALD16-30MFB,MALD,16,30,M,,FB,,MAL-MALD-16x30.step +MALD16-30MFBU,MALD,16,30,M,,FB,U,MAL-MALD-16x30.step +MALD16-30MFBCM,MALD,16,30,M,,FB,CM,MAL-MALD-16x30.step +MALD16-30MSDB,MALD,16,30,M,,SDB,,MAL-MALD-16x30.step +MALD16-30MSDBU,MALD,16,30,M,,SDB,U,MAL-MALD-16x30.step +MALD16-30MSDBCM,MALD,16,30,M,,SDB,CM,MAL-MALD-16x30.step +MALD16-50E,MALD,16,50,,E,,,MAL-MALD-16x50.step +MALD16-50EU,MALD,16,50,,E,,U,MAL-MALD-16x50.step +MALD16-50ECM,MALD,16,50,,E,,CM,MAL-MALD-16x50.step +MALD16-50ELB,MALD,16,50,,E,LB,,MAL-MALD-16x50.step +MALD16-50ELBU,MALD,16,50,,E,LB,U,MAL-MALD-16x50.step +MALD16-50ELBCM,MALD,16,50,,E,LB,CM,MAL-MALD-16x50.step +MALD16-50EFA,MALD,16,50,,E,FA,,MAL-MALD-16x50.step +MALD16-50EFAU,MALD,16,50,,E,FA,U,MAL-MALD-16x50.step +MALD16-50EFACM,MALD,16,50,,E,FA,CM,MAL-MALD-16x50.step +MALD16-50EFB,MALD,16,50,,E,FB,,MAL-MALD-16x50.step +MALD16-50EFBU,MALD,16,50,,E,FB,U,MAL-MALD-16x50.step +MALD16-50EFBCM,MALD,16,50,,E,FB,CM,MAL-MALD-16x50.step +MALD16-50ESDB,MALD,16,50,,E,SDB,,MAL-MALD-16x50.step +MALD16-50ESDBU,MALD,16,50,,E,SDB,U,MAL-MALD-16x50.step +MALD16-50ESDBCM,MALD,16,50,,E,SDB,CM,MAL-MALD-16x50.step +MALD16-50,MALD,16,50,,,,,MAL-MALD-16x50.step +MALD16-50U,MALD,16,50,,,,U,MAL-MALD-16x50.step +MALD16-50CM,MALD,16,50,,,,CM,MAL-MALD-16x50.step +MALD16-50LB,MALD,16,50,,,LB,,MAL-MALD-16x50.step +MALD16-50LBU,MALD,16,50,,,LB,U,MAL-MALD-16x50.step +MALD16-50LBCM,MALD,16,50,,,LB,CM,MAL-MALD-16x50.step +MALD16-50FA,MALD,16,50,,,FA,,MAL-MALD-16x50.step +MALD16-50FAU,MALD,16,50,,,FA,U,MAL-MALD-16x50.step +MALD16-50FACM,MALD,16,50,,,FA,CM,MAL-MALD-16x50.step +MALD16-50FB,MALD,16,50,,,FB,,MAL-MALD-16x50.step +MALD16-50FBU,MALD,16,50,,,FB,U,MAL-MALD-16x50.step +MALD16-50FBCM,MALD,16,50,,,FB,CM,MAL-MALD-16x50.step +MALD16-50SDB,MALD,16,50,,,SDB,,MAL-MALD-16x50.step +MALD16-50SDBU,MALD,16,50,,,SDB,U,MAL-MALD-16x50.step +MALD16-50SDBCM,MALD,16,50,,,SDB,CM,MAL-MALD-16x50.step +MALD16-50ME,MALD,16,50,M,E,,,MAL-MALD-16x50.step +MALD16-50MEU,MALD,16,50,M,E,,U,MAL-MALD-16x50.step +MALD16-50MECM,MALD,16,50,M,E,,CM,MAL-MALD-16x50.step +MALD16-50MELB,MALD,16,50,M,E,LB,,MAL-MALD-16x50.step +MALD16-50MELBU,MALD,16,50,M,E,LB,U,MAL-MALD-16x50.step +MALD16-50MELBCM,MALD,16,50,M,E,LB,CM,MAL-MALD-16x50.step +MALD16-50MEFA,MALD,16,50,M,E,FA,,MAL-MALD-16x50.step +MALD16-50MEFAU,MALD,16,50,M,E,FA,U,MAL-MALD-16x50.step +MALD16-50MEFACM,MALD,16,50,M,E,FA,CM,MAL-MALD-16x50.step +MALD16-50MEFB,MALD,16,50,M,E,FB,,MAL-MALD-16x50.step +MALD16-50MEFBU,MALD,16,50,M,E,FB,U,MAL-MALD-16x50.step +MALD16-50MEFBCM,MALD,16,50,M,E,FB,CM,MAL-MALD-16x50.step +MALD16-50MESDB,MALD,16,50,M,E,SDB,,MAL-MALD-16x50.step +MALD16-50MESDBU,MALD,16,50,M,E,SDB,U,MAL-MALD-16x50.step +MALD16-50MESDBCM,MALD,16,50,M,E,SDB,CM,MAL-MALD-16x50.step +MALD16-50M,MALD,16,50,M,,,,MAL-MALD-16x50.step +MALD16-50MU,MALD,16,50,M,,,U,MAL-MALD-16x50.step +MALD16-50MCM,MALD,16,50,M,,,CM,MAL-MALD-16x50.step +MALD16-50MLB,MALD,16,50,M,,LB,,MAL-MALD-16x50.step +MALD16-50MLBU,MALD,16,50,M,,LB,U,MAL-MALD-16x50.step +MALD16-50MLBCM,MALD,16,50,M,,LB,CM,MAL-MALD-16x50.step +MALD16-50MFA,MALD,16,50,M,,FA,,MAL-MALD-16x50.step +MALD16-50MFAU,MALD,16,50,M,,FA,U,MAL-MALD-16x50.step +MALD16-50MFACM,MALD,16,50,M,,FA,CM,MAL-MALD-16x50.step +MALD16-50MFB,MALD,16,50,M,,FB,,MAL-MALD-16x50.step +MALD16-50MFBU,MALD,16,50,M,,FB,U,MAL-MALD-16x50.step +MALD16-50MFBCM,MALD,16,50,M,,FB,CM,MAL-MALD-16x50.step +MALD16-50MSDB,MALD,16,50,M,,SDB,,MAL-MALD-16x50.step +MALD16-50MSDBU,MALD,16,50,M,,SDB,U,MAL-MALD-16x50.step +MALD16-50MSDBCM,MALD,16,50,M,,SDB,CM,MAL-MALD-16x50.step +MALD16-75E,MALD,16,75,,E,,,MAL-MALD-16x75.step +MALD16-75EU,MALD,16,75,,E,,U,MAL-MALD-16x75.step +MALD16-75ECM,MALD,16,75,,E,,CM,MAL-MALD-16x75.step +MALD16-75ELB,MALD,16,75,,E,LB,,MAL-MALD-16x75.step +MALD16-75ELBU,MALD,16,75,,E,LB,U,MAL-MALD-16x75.step +MALD16-75ELBCM,MALD,16,75,,E,LB,CM,MAL-MALD-16x75.step +MALD16-75EFA,MALD,16,75,,E,FA,,MAL-MALD-16x75.step +MALD16-75EFAU,MALD,16,75,,E,FA,U,MAL-MALD-16x75.step +MALD16-75EFACM,MALD,16,75,,E,FA,CM,MAL-MALD-16x75.step +MALD16-75EFB,MALD,16,75,,E,FB,,MAL-MALD-16x75.step +MALD16-75EFBU,MALD,16,75,,E,FB,U,MAL-MALD-16x75.step +MALD16-75EFBCM,MALD,16,75,,E,FB,CM,MAL-MALD-16x75.step +MALD16-75ESDB,MALD,16,75,,E,SDB,,MAL-MALD-16x75.step +MALD16-75ESDBU,MALD,16,75,,E,SDB,U,MAL-MALD-16x75.step +MALD16-75ESDBCM,MALD,16,75,,E,SDB,CM,MAL-MALD-16x75.step +MALD16-75,MALD,16,75,,,,,MAL-MALD-16x75.step +MALD16-75U,MALD,16,75,,,,U,MAL-MALD-16x75.step +MALD16-75CM,MALD,16,75,,,,CM,MAL-MALD-16x75.step +MALD16-75LB,MALD,16,75,,,LB,,MAL-MALD-16x75.step +MALD16-75LBU,MALD,16,75,,,LB,U,MAL-MALD-16x75.step +MALD16-75LBCM,MALD,16,75,,,LB,CM,MAL-MALD-16x75.step +MALD16-75FA,MALD,16,75,,,FA,,MAL-MALD-16x75.step +MALD16-75FAU,MALD,16,75,,,FA,U,MAL-MALD-16x75.step +MALD16-75FACM,MALD,16,75,,,FA,CM,MAL-MALD-16x75.step +MALD16-75FB,MALD,16,75,,,FB,,MAL-MALD-16x75.step +MALD16-75FBU,MALD,16,75,,,FB,U,MAL-MALD-16x75.step +MALD16-75FBCM,MALD,16,75,,,FB,CM,MAL-MALD-16x75.step +MALD16-75SDB,MALD,16,75,,,SDB,,MAL-MALD-16x75.step +MALD16-75SDBU,MALD,16,75,,,SDB,U,MAL-MALD-16x75.step +MALD16-75SDBCM,MALD,16,75,,,SDB,CM,MAL-MALD-16x75.step +MALD16-75ME,MALD,16,75,M,E,,,MAL-MALD-16x75.step +MALD16-75MEU,MALD,16,75,M,E,,U,MAL-MALD-16x75.step +MALD16-75MECM,MALD,16,75,M,E,,CM,MAL-MALD-16x75.step +MALD16-75MELB,MALD,16,75,M,E,LB,,MAL-MALD-16x75.step +MALD16-75MELBU,MALD,16,75,M,E,LB,U,MAL-MALD-16x75.step +MALD16-75MELBCM,MALD,16,75,M,E,LB,CM,MAL-MALD-16x75.step +MALD16-75MEFA,MALD,16,75,M,E,FA,,MAL-MALD-16x75.step +MALD16-75MEFAU,MALD,16,75,M,E,FA,U,MAL-MALD-16x75.step +MALD16-75MEFACM,MALD,16,75,M,E,FA,CM,MAL-MALD-16x75.step +MALD16-75MEFB,MALD,16,75,M,E,FB,,MAL-MALD-16x75.step +MALD16-75MEFBU,MALD,16,75,M,E,FB,U,MAL-MALD-16x75.step +MALD16-75MEFBCM,MALD,16,75,M,E,FB,CM,MAL-MALD-16x75.step +MALD16-75MESDB,MALD,16,75,M,E,SDB,,MAL-MALD-16x75.step +MALD16-75MESDBU,MALD,16,75,M,E,SDB,U,MAL-MALD-16x75.step +MALD16-75MESDBCM,MALD,16,75,M,E,SDB,CM,MAL-MALD-16x75.step +MALD16-75M,MALD,16,75,M,,,,MAL-MALD-16x75.step +MALD16-75MU,MALD,16,75,M,,,U,MAL-MALD-16x75.step +MALD16-75MCM,MALD,16,75,M,,,CM,MAL-MALD-16x75.step +MALD16-75MLB,MALD,16,75,M,,LB,,MAL-MALD-16x75.step +MALD16-75MLBU,MALD,16,75,M,,LB,U,MAL-MALD-16x75.step +MALD16-75MLBCM,MALD,16,75,M,,LB,CM,MAL-MALD-16x75.step +MALD16-75MFA,MALD,16,75,M,,FA,,MAL-MALD-16x75.step +MALD16-75MFAU,MALD,16,75,M,,FA,U,MAL-MALD-16x75.step +MALD16-75MFACM,MALD,16,75,M,,FA,CM,MAL-MALD-16x75.step +MALD16-75MFB,MALD,16,75,M,,FB,,MAL-MALD-16x75.step +MALD16-75MFBU,MALD,16,75,M,,FB,U,MAL-MALD-16x75.step +MALD16-75MFBCM,MALD,16,75,M,,FB,CM,MAL-MALD-16x75.step +MALD16-75MSDB,MALD,16,75,M,,SDB,,MAL-MALD-16x75.step +MALD16-75MSDBU,MALD,16,75,M,,SDB,U,MAL-MALD-16x75.step +MALD16-75MSDBCM,MALD,16,75,M,,SDB,CM,MAL-MALD-16x75.step +MALD16-100E,MALD,16,100,,E,,,MAL-MALD-16x100.step +MALD16-100EU,MALD,16,100,,E,,U,MAL-MALD-16x100.step +MALD16-100ECM,MALD,16,100,,E,,CM,MAL-MALD-16x100.step +MALD16-100ELB,MALD,16,100,,E,LB,,MAL-MALD-16x100.step +MALD16-100ELBU,MALD,16,100,,E,LB,U,MAL-MALD-16x100.step +MALD16-100ELBCM,MALD,16,100,,E,LB,CM,MAL-MALD-16x100.step +MALD16-100EFA,MALD,16,100,,E,FA,,MAL-MALD-16x100.step +MALD16-100EFAU,MALD,16,100,,E,FA,U,MAL-MALD-16x100.step +MALD16-100EFACM,MALD,16,100,,E,FA,CM,MAL-MALD-16x100.step +MALD16-100EFB,MALD,16,100,,E,FB,,MAL-MALD-16x100.step +MALD16-100EFBU,MALD,16,100,,E,FB,U,MAL-MALD-16x100.step +MALD16-100EFBCM,MALD,16,100,,E,FB,CM,MAL-MALD-16x100.step +MALD16-100ESDB,MALD,16,100,,E,SDB,,MAL-MALD-16x100.step +MALD16-100ESDBU,MALD,16,100,,E,SDB,U,MAL-MALD-16x100.step +MALD16-100ESDBCM,MALD,16,100,,E,SDB,CM,MAL-MALD-16x100.step +MALD16-100,MALD,16,100,,,,,MAL-MALD-16x100.step +MALD16-100U,MALD,16,100,,,,U,MAL-MALD-16x100.step +MALD16-100CM,MALD,16,100,,,,CM,MAL-MALD-16x100.step +MALD16-100LB,MALD,16,100,,,LB,,MAL-MALD-16x100.step +MALD16-100LBU,MALD,16,100,,,LB,U,MAL-MALD-16x100.step +MALD16-100LBCM,MALD,16,100,,,LB,CM,MAL-MALD-16x100.step +MALD16-100FA,MALD,16,100,,,FA,,MAL-MALD-16x100.step +MALD16-100FAU,MALD,16,100,,,FA,U,MAL-MALD-16x100.step +MALD16-100FACM,MALD,16,100,,,FA,CM,MAL-MALD-16x100.step +MALD16-100FB,MALD,16,100,,,FB,,MAL-MALD-16x100.step +MALD16-100FBU,MALD,16,100,,,FB,U,MAL-MALD-16x100.step +MALD16-100FBCM,MALD,16,100,,,FB,CM,MAL-MALD-16x100.step +MALD16-100SDB,MALD,16,100,,,SDB,,MAL-MALD-16x100.step +MALD16-100SDBU,MALD,16,100,,,SDB,U,MAL-MALD-16x100.step +MALD16-100SDBCM,MALD,16,100,,,SDB,CM,MAL-MALD-16x100.step +MALD16-100ME,MALD,16,100,M,E,,,MAL-MALD-16x100.step +MALD16-100MEU,MALD,16,100,M,E,,U,MAL-MALD-16x100.step +MALD16-100MECM,MALD,16,100,M,E,,CM,MAL-MALD-16x100.step +MALD16-100MELB,MALD,16,100,M,E,LB,,MAL-MALD-16x100.step +MALD16-100MELBU,MALD,16,100,M,E,LB,U,MAL-MALD-16x100.step +MALD16-100MELBCM,MALD,16,100,M,E,LB,CM,MAL-MALD-16x100.step +MALD16-100MEFA,MALD,16,100,M,E,FA,,MAL-MALD-16x100.step +MALD16-100MEFAU,MALD,16,100,M,E,FA,U,MAL-MALD-16x100.step +MALD16-100MEFACM,MALD,16,100,M,E,FA,CM,MAL-MALD-16x100.step +MALD16-100MEFB,MALD,16,100,M,E,FB,,MAL-MALD-16x100.step +MALD16-100MEFBU,MALD,16,100,M,E,FB,U,MAL-MALD-16x100.step +MALD16-100MEFBCM,MALD,16,100,M,E,FB,CM,MAL-MALD-16x100.step +MALD16-100MESDB,MALD,16,100,M,E,SDB,,MAL-MALD-16x100.step +MALD16-100MESDBU,MALD,16,100,M,E,SDB,U,MAL-MALD-16x100.step +MALD16-100MESDBCM,MALD,16,100,M,E,SDB,CM,MAL-MALD-16x100.step +MALD16-100M,MALD,16,100,M,,,,MAL-MALD-16x100.step +MALD16-100MU,MALD,16,100,M,,,U,MAL-MALD-16x100.step +MALD16-100MCM,MALD,16,100,M,,,CM,MAL-MALD-16x100.step +MALD16-100MLB,MALD,16,100,M,,LB,,MAL-MALD-16x100.step +MALD16-100MLBU,MALD,16,100,M,,LB,U,MAL-MALD-16x100.step +MALD16-100MLBCM,MALD,16,100,M,,LB,CM,MAL-MALD-16x100.step +MALD16-100MFA,MALD,16,100,M,,FA,,MAL-MALD-16x100.step +MALD16-100MFAU,MALD,16,100,M,,FA,U,MAL-MALD-16x100.step +MALD16-100MFACM,MALD,16,100,M,,FA,CM,MAL-MALD-16x100.step +MALD16-100MFB,MALD,16,100,M,,FB,,MAL-MALD-16x100.step +MALD16-100MFBU,MALD,16,100,M,,FB,U,MAL-MALD-16x100.step +MALD16-100MFBCM,MALD,16,100,M,,FB,CM,MAL-MALD-16x100.step +MALD16-100MSDB,MALD,16,100,M,,SDB,,MAL-MALD-16x100.step +MALD16-100MSDBU,MALD,16,100,M,,SDB,U,MAL-MALD-16x100.step +MALD16-100MSDBCM,MALD,16,100,M,,SDB,CM,MAL-MALD-16x100.step +MALD20-10E,MALD,20,10,,E,,,MAL-MALD-20x10.step +MALD20-10EU,MALD,20,10,,E,,U,MAL-MALD-20x10.step +MALD20-10ECM,MALD,20,10,,E,,CM,MAL-MALD-20x10.step +MALD20-10ELB,MALD,20,10,,E,LB,,MAL-MALD-20x10.step +MALD20-10ELBU,MALD,20,10,,E,LB,U,MAL-MALD-20x10.step +MALD20-10ELBCM,MALD,20,10,,E,LB,CM,MAL-MALD-20x10.step +MALD20-10EFA,MALD,20,10,,E,FA,,MAL-MALD-20x10.step +MALD20-10EFAU,MALD,20,10,,E,FA,U,MAL-MALD-20x10.step +MALD20-10EFACM,MALD,20,10,,E,FA,CM,MAL-MALD-20x10.step +MALD20-10EFB,MALD,20,10,,E,FB,,MAL-MALD-20x10.step +MALD20-10EFBU,MALD,20,10,,E,FB,U,MAL-MALD-20x10.step +MALD20-10EFBCM,MALD,20,10,,E,FB,CM,MAL-MALD-20x10.step +MALD20-10ESDB,MALD,20,10,,E,SDB,,MAL-MALD-20x10.step +MALD20-10ESDBU,MALD,20,10,,E,SDB,U,MAL-MALD-20x10.step +MALD20-10ESDBCM,MALD,20,10,,E,SDB,CM,MAL-MALD-20x10.step +MALD20-10,MALD,20,10,,,,,MAL-MALD-20x10.step +MALD20-10U,MALD,20,10,,,,U,MAL-MALD-20x10.step +MALD20-10CM,MALD,20,10,,,,CM,MAL-MALD-20x10.step +MALD20-10LB,MALD,20,10,,,LB,,MAL-MALD-20x10.step +MALD20-10LBU,MALD,20,10,,,LB,U,MAL-MALD-20x10.step +MALD20-10LBCM,MALD,20,10,,,LB,CM,MAL-MALD-20x10.step +MALD20-10FA,MALD,20,10,,,FA,,MAL-MALD-20x10.step +MALD20-10FAU,MALD,20,10,,,FA,U,MAL-MALD-20x10.step +MALD20-10FACM,MALD,20,10,,,FA,CM,MAL-MALD-20x10.step +MALD20-10FB,MALD,20,10,,,FB,,MAL-MALD-20x10.step +MALD20-10FBU,MALD,20,10,,,FB,U,MAL-MALD-20x10.step +MALD20-10FBCM,MALD,20,10,,,FB,CM,MAL-MALD-20x10.step +MALD20-10SDB,MALD,20,10,,,SDB,,MAL-MALD-20x10.step +MALD20-10SDBU,MALD,20,10,,,SDB,U,MAL-MALD-20x10.step +MALD20-10SDBCM,MALD,20,10,,,SDB,CM,MAL-MALD-20x10.step +MALD20-10ME,MALD,20,10,M,E,,,MAL-MALD-20x10.step +MALD20-10MEU,MALD,20,10,M,E,,U,MAL-MALD-20x10.step +MALD20-10MECM,MALD,20,10,M,E,,CM,MAL-MALD-20x10.step +MALD20-10MELB,MALD,20,10,M,E,LB,,MAL-MALD-20x10.step +MALD20-10MELBU,MALD,20,10,M,E,LB,U,MAL-MALD-20x10.step +MALD20-10MELBCM,MALD,20,10,M,E,LB,CM,MAL-MALD-20x10.step +MALD20-10MEFA,MALD,20,10,M,E,FA,,MAL-MALD-20x10.step +MALD20-10MEFAU,MALD,20,10,M,E,FA,U,MAL-MALD-20x10.step +MALD20-10MEFACM,MALD,20,10,M,E,FA,CM,MAL-MALD-20x10.step +MALD20-10MEFB,MALD,20,10,M,E,FB,,MAL-MALD-20x10.step +MALD20-10MEFBU,MALD,20,10,M,E,FB,U,MAL-MALD-20x10.step +MALD20-10MEFBCM,MALD,20,10,M,E,FB,CM,MAL-MALD-20x10.step +MALD20-10MESDB,MALD,20,10,M,E,SDB,,MAL-MALD-20x10.step +MALD20-10MESDBU,MALD,20,10,M,E,SDB,U,MAL-MALD-20x10.step +MALD20-10MESDBCM,MALD,20,10,M,E,SDB,CM,MAL-MALD-20x10.step +MALD20-10M,MALD,20,10,M,,,,MAL-MALD-20x10.step +MALD20-10MU,MALD,20,10,M,,,U,MAL-MALD-20x10.step +MALD20-10MCM,MALD,20,10,M,,,CM,MAL-MALD-20x10.step +MALD20-10MLB,MALD,20,10,M,,LB,,MAL-MALD-20x10.step +MALD20-10MLBU,MALD,20,10,M,,LB,U,MAL-MALD-20x10.step +MALD20-10MLBCM,MALD,20,10,M,,LB,CM,MAL-MALD-20x10.step +MALD20-10MFA,MALD,20,10,M,,FA,,MAL-MALD-20x10.step +MALD20-10MFAU,MALD,20,10,M,,FA,U,MAL-MALD-20x10.step +MALD20-10MFACM,MALD,20,10,M,,FA,CM,MAL-MALD-20x10.step +MALD20-10MFB,MALD,20,10,M,,FB,,MAL-MALD-20x10.step +MALD20-10MFBU,MALD,20,10,M,,FB,U,MAL-MALD-20x10.step +MALD20-10MFBCM,MALD,20,10,M,,FB,CM,MAL-MALD-20x10.step +MALD20-10MSDB,MALD,20,10,M,,SDB,,MAL-MALD-20x10.step +MALD20-10MSDBU,MALD,20,10,M,,SDB,U,MAL-MALD-20x10.step +MALD20-10MSDBCM,MALD,20,10,M,,SDB,CM,MAL-MALD-20x10.step +MALD20-20E,MALD,20,20,,E,,,MAL-MALD-20x20.step +MALD20-20EU,MALD,20,20,,E,,U,MAL-MALD-20x20.step +MALD20-20ECM,MALD,20,20,,E,,CM,MAL-MALD-20x20.step +MALD20-20ELB,MALD,20,20,,E,LB,,MAL-MALD-20x20.step +MALD20-20ELBU,MALD,20,20,,E,LB,U,MAL-MALD-20x20.step +MALD20-20ELBCM,MALD,20,20,,E,LB,CM,MAL-MALD-20x20.step +MALD20-20EFA,MALD,20,20,,E,FA,,MAL-MALD-20x20.step +MALD20-20EFAU,MALD,20,20,,E,FA,U,MAL-MALD-20x20.step +MALD20-20EFACM,MALD,20,20,,E,FA,CM,MAL-MALD-20x20.step +MALD20-20EFB,MALD,20,20,,E,FB,,MAL-MALD-20x20.step +MALD20-20EFBU,MALD,20,20,,E,FB,U,MAL-MALD-20x20.step +MALD20-20EFBCM,MALD,20,20,,E,FB,CM,MAL-MALD-20x20.step +MALD20-20ESDB,MALD,20,20,,E,SDB,,MAL-MALD-20x20.step +MALD20-20ESDBU,MALD,20,20,,E,SDB,U,MAL-MALD-20x20.step +MALD20-20ESDBCM,MALD,20,20,,E,SDB,CM,MAL-MALD-20x20.step +MALD20-20,MALD,20,20,,,,,MAL-MALD-20x20.step +MALD20-20U,MALD,20,20,,,,U,MAL-MALD-20x20.step +MALD20-20CM,MALD,20,20,,,,CM,MAL-MALD-20x20.step +MALD20-20LB,MALD,20,20,,,LB,,MAL-MALD-20x20.step +MALD20-20LBU,MALD,20,20,,,LB,U,MAL-MALD-20x20.step +MALD20-20LBCM,MALD,20,20,,,LB,CM,MAL-MALD-20x20.step +MALD20-20FA,MALD,20,20,,,FA,,MAL-MALD-20x20.step +MALD20-20FAU,MALD,20,20,,,FA,U,MAL-MALD-20x20.step +MALD20-20FACM,MALD,20,20,,,FA,CM,MAL-MALD-20x20.step +MALD20-20FB,MALD,20,20,,,FB,,MAL-MALD-20x20.step +MALD20-20FBU,MALD,20,20,,,FB,U,MAL-MALD-20x20.step +MALD20-20FBCM,MALD,20,20,,,FB,CM,MAL-MALD-20x20.step +MALD20-20SDB,MALD,20,20,,,SDB,,MAL-MALD-20x20.step +MALD20-20SDBU,MALD,20,20,,,SDB,U,MAL-MALD-20x20.step +MALD20-20SDBCM,MALD,20,20,,,SDB,CM,MAL-MALD-20x20.step +MALD20-20ME,MALD,20,20,M,E,,,MAL-MALD-20x20.step +MALD20-20MEU,MALD,20,20,M,E,,U,MAL-MALD-20x20.step +MALD20-20MECM,MALD,20,20,M,E,,CM,MAL-MALD-20x20.step +MALD20-20MELB,MALD,20,20,M,E,LB,,MAL-MALD-20x20.step +MALD20-20MELBU,MALD,20,20,M,E,LB,U,MAL-MALD-20x20.step +MALD20-20MELBCM,MALD,20,20,M,E,LB,CM,MAL-MALD-20x20.step +MALD20-20MEFA,MALD,20,20,M,E,FA,,MAL-MALD-20x20.step +MALD20-20MEFAU,MALD,20,20,M,E,FA,U,MAL-MALD-20x20.step +MALD20-20MEFACM,MALD,20,20,M,E,FA,CM,MAL-MALD-20x20.step +MALD20-20MEFB,MALD,20,20,M,E,FB,,MAL-MALD-20x20.step +MALD20-20MEFBU,MALD,20,20,M,E,FB,U,MAL-MALD-20x20.step +MALD20-20MEFBCM,MALD,20,20,M,E,FB,CM,MAL-MALD-20x20.step +MALD20-20MESDB,MALD,20,20,M,E,SDB,,MAL-MALD-20x20.step +MALD20-20MESDBU,MALD,20,20,M,E,SDB,U,MAL-MALD-20x20.step +MALD20-20MESDBCM,MALD,20,20,M,E,SDB,CM,MAL-MALD-20x20.step +MALD20-20M,MALD,20,20,M,,,,MAL-MALD-20x20.step +MALD20-20MU,MALD,20,20,M,,,U,MAL-MALD-20x20.step +MALD20-20MCM,MALD,20,20,M,,,CM,MAL-MALD-20x20.step +MALD20-20MLB,MALD,20,20,M,,LB,,MAL-MALD-20x20.step +MALD20-20MLBU,MALD,20,20,M,,LB,U,MAL-MALD-20x20.step +MALD20-20MLBCM,MALD,20,20,M,,LB,CM,MAL-MALD-20x20.step +MALD20-20MFA,MALD,20,20,M,,FA,,MAL-MALD-20x20.step +MALD20-20MFAU,MALD,20,20,M,,FA,U,MAL-MALD-20x20.step +MALD20-20MFACM,MALD,20,20,M,,FA,CM,MAL-MALD-20x20.step +MALD20-20MFB,MALD,20,20,M,,FB,,MAL-MALD-20x20.step +MALD20-20MFBU,MALD,20,20,M,,FB,U,MAL-MALD-20x20.step +MALD20-20MFBCM,MALD,20,20,M,,FB,CM,MAL-MALD-20x20.step +MALD20-20MSDB,MALD,20,20,M,,SDB,,MAL-MALD-20x20.step +MALD20-20MSDBU,MALD,20,20,M,,SDB,U,MAL-MALD-20x20.step +MALD20-20MSDBCM,MALD,20,20,M,,SDB,CM,MAL-MALD-20x20.step +MALD20-30E,MALD,20,30,,E,,,MAL-MALD-20x30.step +MALD20-30EU,MALD,20,30,,E,,U,MAL-MALD-20x30.step +MALD20-30ECM,MALD,20,30,,E,,CM,MAL-MALD-20x30.step +MALD20-30ELB,MALD,20,30,,E,LB,,MAL-MALD-20x30.step +MALD20-30ELBU,MALD,20,30,,E,LB,U,MAL-MALD-20x30.step +MALD20-30ELBCM,MALD,20,30,,E,LB,CM,MAL-MALD-20x30.step +MALD20-30EFA,MALD,20,30,,E,FA,,MAL-MALD-20x30.step +MALD20-30EFAU,MALD,20,30,,E,FA,U,MAL-MALD-20x30.step +MALD20-30EFACM,MALD,20,30,,E,FA,CM,MAL-MALD-20x30.step +MALD20-30EFB,MALD,20,30,,E,FB,,MAL-MALD-20x30.step +MALD20-30EFBU,MALD,20,30,,E,FB,U,MAL-MALD-20x30.step +MALD20-30EFBCM,MALD,20,30,,E,FB,CM,MAL-MALD-20x30.step +MALD20-30ESDB,MALD,20,30,,E,SDB,,MAL-MALD-20x30.step +MALD20-30ESDBU,MALD,20,30,,E,SDB,U,MAL-MALD-20x30.step +MALD20-30ESDBCM,MALD,20,30,,E,SDB,CM,MAL-MALD-20x30.step +MALD20-30,MALD,20,30,,,,,MAL-MALD-20x30.step +MALD20-30U,MALD,20,30,,,,U,MAL-MALD-20x30.step +MALD20-30CM,MALD,20,30,,,,CM,MAL-MALD-20x30.step +MALD20-30LB,MALD,20,30,,,LB,,MAL-MALD-20x30.step +MALD20-30LBU,MALD,20,30,,,LB,U,MAL-MALD-20x30.step +MALD20-30LBCM,MALD,20,30,,,LB,CM,MAL-MALD-20x30.step +MALD20-30FA,MALD,20,30,,,FA,,MAL-MALD-20x30.step +MALD20-30FAU,MALD,20,30,,,FA,U,MAL-MALD-20x30.step +MALD20-30FACM,MALD,20,30,,,FA,CM,MAL-MALD-20x30.step +MALD20-30FB,MALD,20,30,,,FB,,MAL-MALD-20x30.step +MALD20-30FBU,MALD,20,30,,,FB,U,MAL-MALD-20x30.step +MALD20-30FBCM,MALD,20,30,,,FB,CM,MAL-MALD-20x30.step +MALD20-30SDB,MALD,20,30,,,SDB,,MAL-MALD-20x30.step +MALD20-30SDBU,MALD,20,30,,,SDB,U,MAL-MALD-20x30.step +MALD20-30SDBCM,MALD,20,30,,,SDB,CM,MAL-MALD-20x30.step +MALD20-30ME,MALD,20,30,M,E,,,MAL-MALD-20x30.step +MALD20-30MEU,MALD,20,30,M,E,,U,MAL-MALD-20x30.step +MALD20-30MECM,MALD,20,30,M,E,,CM,MAL-MALD-20x30.step +MALD20-30MELB,MALD,20,30,M,E,LB,,MAL-MALD-20x30.step +MALD20-30MELBU,MALD,20,30,M,E,LB,U,MAL-MALD-20x30.step +MALD20-30MELBCM,MALD,20,30,M,E,LB,CM,MAL-MALD-20x30.step +MALD20-30MEFA,MALD,20,30,M,E,FA,,MAL-MALD-20x30.step +MALD20-30MEFAU,MALD,20,30,M,E,FA,U,MAL-MALD-20x30.step +MALD20-30MEFACM,MALD,20,30,M,E,FA,CM,MAL-MALD-20x30.step +MALD20-30MEFB,MALD,20,30,M,E,FB,,MAL-MALD-20x30.step +MALD20-30MEFBU,MALD,20,30,M,E,FB,U,MAL-MALD-20x30.step +MALD20-30MEFBCM,MALD,20,30,M,E,FB,CM,MAL-MALD-20x30.step +MALD20-30MESDB,MALD,20,30,M,E,SDB,,MAL-MALD-20x30.step +MALD20-30MESDBU,MALD,20,30,M,E,SDB,U,MAL-MALD-20x30.step +MALD20-30MESDBCM,MALD,20,30,M,E,SDB,CM,MAL-MALD-20x30.step +MALD20-30M,MALD,20,30,M,,,,MAL-MALD-20x30.step +MALD20-30MU,MALD,20,30,M,,,U,MAL-MALD-20x30.step +MALD20-30MCM,MALD,20,30,M,,,CM,MAL-MALD-20x30.step +MALD20-30MLB,MALD,20,30,M,,LB,,MAL-MALD-20x30.step +MALD20-30MLBU,MALD,20,30,M,,LB,U,MAL-MALD-20x30.step +MALD20-30MLBCM,MALD,20,30,M,,LB,CM,MAL-MALD-20x30.step +MALD20-30MFA,MALD,20,30,M,,FA,,MAL-MALD-20x30.step +MALD20-30MFAU,MALD,20,30,M,,FA,U,MAL-MALD-20x30.step +MALD20-30MFACM,MALD,20,30,M,,FA,CM,MAL-MALD-20x30.step +MALD20-30MFB,MALD,20,30,M,,FB,,MAL-MALD-20x30.step +MALD20-30MFBU,MALD,20,30,M,,FB,U,MAL-MALD-20x30.step +MALD20-30MFBCM,MALD,20,30,M,,FB,CM,MAL-MALD-20x30.step +MALD20-30MSDB,MALD,20,30,M,,SDB,,MAL-MALD-20x30.step +MALD20-30MSDBU,MALD,20,30,M,,SDB,U,MAL-MALD-20x30.step +MALD20-30MSDBCM,MALD,20,30,M,,SDB,CM,MAL-MALD-20x30.step +MALD20-50E,MALD,20,50,,E,,,MAL-MALD-20x50.step +MALD20-50EU,MALD,20,50,,E,,U,MAL-MALD-20x50.step +MALD20-50ECM,MALD,20,50,,E,,CM,MAL-MALD-20x50.step +MALD20-50ELB,MALD,20,50,,E,LB,,MAL-MALD-20x50.step +MALD20-50ELBU,MALD,20,50,,E,LB,U,MAL-MALD-20x50.step +MALD20-50ELBCM,MALD,20,50,,E,LB,CM,MAL-MALD-20x50.step +MALD20-50EFA,MALD,20,50,,E,FA,,MAL-MALD-20x50.step +MALD20-50EFAU,MALD,20,50,,E,FA,U,MAL-MALD-20x50.step +MALD20-50EFACM,MALD,20,50,,E,FA,CM,MAL-MALD-20x50.step +MALD20-50EFB,MALD,20,50,,E,FB,,MAL-MALD-20x50.step +MALD20-50EFBU,MALD,20,50,,E,FB,U,MAL-MALD-20x50.step +MALD20-50EFBCM,MALD,20,50,,E,FB,CM,MAL-MALD-20x50.step +MALD20-50ESDB,MALD,20,50,,E,SDB,,MAL-MALD-20x50.step +MALD20-50ESDBU,MALD,20,50,,E,SDB,U,MAL-MALD-20x50.step +MALD20-50ESDBCM,MALD,20,50,,E,SDB,CM,MAL-MALD-20x50.step +MALD20-50,MALD,20,50,,,,,MAL-MALD-20x50.step +MALD20-50U,MALD,20,50,,,,U,MAL-MALD-20x50.step +MALD20-50CM,MALD,20,50,,,,CM,MAL-MALD-20x50.step +MALD20-50LB,MALD,20,50,,,LB,,MAL-MALD-20x50.step +MALD20-50LBU,MALD,20,50,,,LB,U,MAL-MALD-20x50.step +MALD20-50LBCM,MALD,20,50,,,LB,CM,MAL-MALD-20x50.step +MALD20-50FA,MALD,20,50,,,FA,,MAL-MALD-20x50.step +MALD20-50FAU,MALD,20,50,,,FA,U,MAL-MALD-20x50.step +MALD20-50FACM,MALD,20,50,,,FA,CM,MAL-MALD-20x50.step +MALD20-50FB,MALD,20,50,,,FB,,MAL-MALD-20x50.step +MALD20-50FBU,MALD,20,50,,,FB,U,MAL-MALD-20x50.step +MALD20-50FBCM,MALD,20,50,,,FB,CM,MAL-MALD-20x50.step +MALD20-50SDB,MALD,20,50,,,SDB,,MAL-MALD-20x50.step +MALD20-50SDBU,MALD,20,50,,,SDB,U,MAL-MALD-20x50.step +MALD20-50SDBCM,MALD,20,50,,,SDB,CM,MAL-MALD-20x50.step +MALD20-50ME,MALD,20,50,M,E,,,MAL-MALD-20x50.step +MALD20-50MEU,MALD,20,50,M,E,,U,MAL-MALD-20x50.step +MALD20-50MECM,MALD,20,50,M,E,,CM,MAL-MALD-20x50.step +MALD20-50MELB,MALD,20,50,M,E,LB,,MAL-MALD-20x50.step +MALD20-50MELBU,MALD,20,50,M,E,LB,U,MAL-MALD-20x50.step +MALD20-50MELBCM,MALD,20,50,M,E,LB,CM,MAL-MALD-20x50.step +MALD20-50MEFA,MALD,20,50,M,E,FA,,MAL-MALD-20x50.step +MALD20-50MEFAU,MALD,20,50,M,E,FA,U,MAL-MALD-20x50.step +MALD20-50MEFACM,MALD,20,50,M,E,FA,CM,MAL-MALD-20x50.step +MALD20-50MEFB,MALD,20,50,M,E,FB,,MAL-MALD-20x50.step +MALD20-50MEFBU,MALD,20,50,M,E,FB,U,MAL-MALD-20x50.step +MALD20-50MEFBCM,MALD,20,50,M,E,FB,CM,MAL-MALD-20x50.step +MALD20-50MESDB,MALD,20,50,M,E,SDB,,MAL-MALD-20x50.step +MALD20-50MESDBU,MALD,20,50,M,E,SDB,U,MAL-MALD-20x50.step +MALD20-50MESDBCM,MALD,20,50,M,E,SDB,CM,MAL-MALD-20x50.step +MALD20-50M,MALD,20,50,M,,,,MAL-MALD-20x50.step +MALD20-50MU,MALD,20,50,M,,,U,MAL-MALD-20x50.step +MALD20-50MCM,MALD,20,50,M,,,CM,MAL-MALD-20x50.step +MALD20-50MLB,MALD,20,50,M,,LB,,MAL-MALD-20x50.step +MALD20-50MLBU,MALD,20,50,M,,LB,U,MAL-MALD-20x50.step +MALD20-50MLBCM,MALD,20,50,M,,LB,CM,MAL-MALD-20x50.step +MALD20-50MFA,MALD,20,50,M,,FA,,MAL-MALD-20x50.step +MALD20-50MFAU,MALD,20,50,M,,FA,U,MAL-MALD-20x50.step +MALD20-50MFACM,MALD,20,50,M,,FA,CM,MAL-MALD-20x50.step +MALD20-50MFB,MALD,20,50,M,,FB,,MAL-MALD-20x50.step +MALD20-50MFBU,MALD,20,50,M,,FB,U,MAL-MALD-20x50.step +MALD20-50MFBCM,MALD,20,50,M,,FB,CM,MAL-MALD-20x50.step +MALD20-50MSDB,MALD,20,50,M,,SDB,,MAL-MALD-20x50.step +MALD20-50MSDBU,MALD,20,50,M,,SDB,U,MAL-MALD-20x50.step +MALD20-50MSDBCM,MALD,20,50,M,,SDB,CM,MAL-MALD-20x50.step +MALD20-75E,MALD,20,75,,E,,,MAL-MALD-20x75.step +MALD20-75EU,MALD,20,75,,E,,U,MAL-MALD-20x75.step +MALD20-75ECM,MALD,20,75,,E,,CM,MAL-MALD-20x75.step +MALD20-75ELB,MALD,20,75,,E,LB,,MAL-MALD-20x75.step +MALD20-75ELBU,MALD,20,75,,E,LB,U,MAL-MALD-20x75.step +MALD20-75ELBCM,MALD,20,75,,E,LB,CM,MAL-MALD-20x75.step +MALD20-75EFA,MALD,20,75,,E,FA,,MAL-MALD-20x75.step +MALD20-75EFAU,MALD,20,75,,E,FA,U,MAL-MALD-20x75.step +MALD20-75EFACM,MALD,20,75,,E,FA,CM,MAL-MALD-20x75.step +MALD20-75EFB,MALD,20,75,,E,FB,,MAL-MALD-20x75.step +MALD20-75EFBU,MALD,20,75,,E,FB,U,MAL-MALD-20x75.step +MALD20-75EFBCM,MALD,20,75,,E,FB,CM,MAL-MALD-20x75.step +MALD20-75ESDB,MALD,20,75,,E,SDB,,MAL-MALD-20x75.step +MALD20-75ESDBU,MALD,20,75,,E,SDB,U,MAL-MALD-20x75.step +MALD20-75ESDBCM,MALD,20,75,,E,SDB,CM,MAL-MALD-20x75.step +MALD20-75,MALD,20,75,,,,,MAL-MALD-20x75.step +MALD20-75U,MALD,20,75,,,,U,MAL-MALD-20x75.step +MALD20-75CM,MALD,20,75,,,,CM,MAL-MALD-20x75.step +MALD20-75LB,MALD,20,75,,,LB,,MAL-MALD-20x75.step +MALD20-75LBU,MALD,20,75,,,LB,U,MAL-MALD-20x75.step +MALD20-75LBCM,MALD,20,75,,,LB,CM,MAL-MALD-20x75.step +MALD20-75FA,MALD,20,75,,,FA,,MAL-MALD-20x75.step +MALD20-75FAU,MALD,20,75,,,FA,U,MAL-MALD-20x75.step +MALD20-75FACM,MALD,20,75,,,FA,CM,MAL-MALD-20x75.step +MALD20-75FB,MALD,20,75,,,FB,,MAL-MALD-20x75.step +MALD20-75FBU,MALD,20,75,,,FB,U,MAL-MALD-20x75.step +MALD20-75FBCM,MALD,20,75,,,FB,CM,MAL-MALD-20x75.step +MALD20-75SDB,MALD,20,75,,,SDB,,MAL-MALD-20x75.step +MALD20-75SDBU,MALD,20,75,,,SDB,U,MAL-MALD-20x75.step +MALD20-75SDBCM,MALD,20,75,,,SDB,CM,MAL-MALD-20x75.step +MALD20-75ME,MALD,20,75,M,E,,,MAL-MALD-20x75.step +MALD20-75MEU,MALD,20,75,M,E,,U,MAL-MALD-20x75.step +MALD20-75MECM,MALD,20,75,M,E,,CM,MAL-MALD-20x75.step +MALD20-75MELB,MALD,20,75,M,E,LB,,MAL-MALD-20x75.step +MALD20-75MELBU,MALD,20,75,M,E,LB,U,MAL-MALD-20x75.step +MALD20-75MELBCM,MALD,20,75,M,E,LB,CM,MAL-MALD-20x75.step +MALD20-75MEFA,MALD,20,75,M,E,FA,,MAL-MALD-20x75.step +MALD20-75MEFAU,MALD,20,75,M,E,FA,U,MAL-MALD-20x75.step +MALD20-75MEFACM,MALD,20,75,M,E,FA,CM,MAL-MALD-20x75.step +MALD20-75MEFB,MALD,20,75,M,E,FB,,MAL-MALD-20x75.step +MALD20-75MEFBU,MALD,20,75,M,E,FB,U,MAL-MALD-20x75.step +MALD20-75MEFBCM,MALD,20,75,M,E,FB,CM,MAL-MALD-20x75.step +MALD20-75MESDB,MALD,20,75,M,E,SDB,,MAL-MALD-20x75.step +MALD20-75MESDBU,MALD,20,75,M,E,SDB,U,MAL-MALD-20x75.step +MALD20-75MESDBCM,MALD,20,75,M,E,SDB,CM,MAL-MALD-20x75.step +MALD20-75M,MALD,20,75,M,,,,MAL-MALD-20x75.step +MALD20-75MU,MALD,20,75,M,,,U,MAL-MALD-20x75.step +MALD20-75MCM,MALD,20,75,M,,,CM,MAL-MALD-20x75.step +MALD20-75MLB,MALD,20,75,M,,LB,,MAL-MALD-20x75.step +MALD20-75MLBU,MALD,20,75,M,,LB,U,MAL-MALD-20x75.step +MALD20-75MLBCM,MALD,20,75,M,,LB,CM,MAL-MALD-20x75.step +MALD20-75MFA,MALD,20,75,M,,FA,,MAL-MALD-20x75.step +MALD20-75MFAU,MALD,20,75,M,,FA,U,MAL-MALD-20x75.step +MALD20-75MFACM,MALD,20,75,M,,FA,CM,MAL-MALD-20x75.step +MALD20-75MFB,MALD,20,75,M,,FB,,MAL-MALD-20x75.step +MALD20-75MFBU,MALD,20,75,M,,FB,U,MAL-MALD-20x75.step +MALD20-75MFBCM,MALD,20,75,M,,FB,CM,MAL-MALD-20x75.step +MALD20-75MSDB,MALD,20,75,M,,SDB,,MAL-MALD-20x75.step +MALD20-75MSDBU,MALD,20,75,M,,SDB,U,MAL-MALD-20x75.step +MALD20-75MSDBCM,MALD,20,75,M,,SDB,CM,MAL-MALD-20x75.step +MALD20-100E,MALD,20,100,,E,,,MAL-MALD-20x100.step +MALD20-100EU,MALD,20,100,,E,,U,MAL-MALD-20x100.step +MALD20-100ECM,MALD,20,100,,E,,CM,MAL-MALD-20x100.step +MALD20-100ELB,MALD,20,100,,E,LB,,MAL-MALD-20x100.step +MALD20-100ELBU,MALD,20,100,,E,LB,U,MAL-MALD-20x100.step +MALD20-100ELBCM,MALD,20,100,,E,LB,CM,MAL-MALD-20x100.step +MALD20-100EFA,MALD,20,100,,E,FA,,MAL-MALD-20x100.step +MALD20-100EFAU,MALD,20,100,,E,FA,U,MAL-MALD-20x100.step +MALD20-100EFACM,MALD,20,100,,E,FA,CM,MAL-MALD-20x100.step +MALD20-100EFB,MALD,20,100,,E,FB,,MAL-MALD-20x100.step +MALD20-100EFBU,MALD,20,100,,E,FB,U,MAL-MALD-20x100.step +MALD20-100EFBCM,MALD,20,100,,E,FB,CM,MAL-MALD-20x100.step +MALD20-100ESDB,MALD,20,100,,E,SDB,,MAL-MALD-20x100.step +MALD20-100ESDBU,MALD,20,100,,E,SDB,U,MAL-MALD-20x100.step +MALD20-100ESDBCM,MALD,20,100,,E,SDB,CM,MAL-MALD-20x100.step +MALD20-100,MALD,20,100,,,,,MAL-MALD-20x100.step +MALD20-100U,MALD,20,100,,,,U,MAL-MALD-20x100.step +MALD20-100CM,MALD,20,100,,,,CM,MAL-MALD-20x100.step +MALD20-100LB,MALD,20,100,,,LB,,MAL-MALD-20x100.step +MALD20-100LBU,MALD,20,100,,,LB,U,MAL-MALD-20x100.step +MALD20-100LBCM,MALD,20,100,,,LB,CM,MAL-MALD-20x100.step +MALD20-100FA,MALD,20,100,,,FA,,MAL-MALD-20x100.step +MALD20-100FAU,MALD,20,100,,,FA,U,MAL-MALD-20x100.step +MALD20-100FACM,MALD,20,100,,,FA,CM,MAL-MALD-20x100.step +MALD20-100FB,MALD,20,100,,,FB,,MAL-MALD-20x100.step +MALD20-100FBU,MALD,20,100,,,FB,U,MAL-MALD-20x100.step +MALD20-100FBCM,MALD,20,100,,,FB,CM,MAL-MALD-20x100.step +MALD20-100SDB,MALD,20,100,,,SDB,,MAL-MALD-20x100.step +MALD20-100SDBU,MALD,20,100,,,SDB,U,MAL-MALD-20x100.step +MALD20-100SDBCM,MALD,20,100,,,SDB,CM,MAL-MALD-20x100.step +MALD20-100ME,MALD,20,100,M,E,,,MAL-MALD-20x100.step +MALD20-100MEU,MALD,20,100,M,E,,U,MAL-MALD-20x100.step +MALD20-100MECM,MALD,20,100,M,E,,CM,MAL-MALD-20x100.step +MALD20-100MELB,MALD,20,100,M,E,LB,,MAL-MALD-20x100.step +MALD20-100MELBU,MALD,20,100,M,E,LB,U,MAL-MALD-20x100.step +MALD20-100MELBCM,MALD,20,100,M,E,LB,CM,MAL-MALD-20x100.step +MALD20-100MEFA,MALD,20,100,M,E,FA,,MAL-MALD-20x100.step +MALD20-100MEFAU,MALD,20,100,M,E,FA,U,MAL-MALD-20x100.step +MALD20-100MEFACM,MALD,20,100,M,E,FA,CM,MAL-MALD-20x100.step +MALD20-100MEFB,MALD,20,100,M,E,FB,,MAL-MALD-20x100.step +MALD20-100MEFBU,MALD,20,100,M,E,FB,U,MAL-MALD-20x100.step +MALD20-100MEFBCM,MALD,20,100,M,E,FB,CM,MAL-MALD-20x100.step +MALD20-100MESDB,MALD,20,100,M,E,SDB,,MAL-MALD-20x100.step +MALD20-100MESDBU,MALD,20,100,M,E,SDB,U,MAL-MALD-20x100.step +MALD20-100MESDBCM,MALD,20,100,M,E,SDB,CM,MAL-MALD-20x100.step +MALD20-100M,MALD,20,100,M,,,,MAL-MALD-20x100.step +MALD20-100MU,MALD,20,100,M,,,U,MAL-MALD-20x100.step +MALD20-100MCM,MALD,20,100,M,,,CM,MAL-MALD-20x100.step +MALD20-100MLB,MALD,20,100,M,,LB,,MAL-MALD-20x100.step +MALD20-100MLBU,MALD,20,100,M,,LB,U,MAL-MALD-20x100.step +MALD20-100MLBCM,MALD,20,100,M,,LB,CM,MAL-MALD-20x100.step +MALD20-100MFA,MALD,20,100,M,,FA,,MAL-MALD-20x100.step +MALD20-100MFAU,MALD,20,100,M,,FA,U,MAL-MALD-20x100.step +MALD20-100MFACM,MALD,20,100,M,,FA,CM,MAL-MALD-20x100.step +MALD20-100MFB,MALD,20,100,M,,FB,,MAL-MALD-20x100.step +MALD20-100MFBU,MALD,20,100,M,,FB,U,MAL-MALD-20x100.step +MALD20-100MFBCM,MALD,20,100,M,,FB,CM,MAL-MALD-20x100.step +MALD20-100MSDB,MALD,20,100,M,,SDB,,MAL-MALD-20x100.step +MALD20-100MSDBU,MALD,20,100,M,,SDB,U,MAL-MALD-20x100.step +MALD20-100MSDBCM,MALD,20,100,M,,SDB,CM,MAL-MALD-20x100.step +MALD25-10E,MALD,25,10,,E,,,MAL-MALD-25x10.step +MALD25-10EU,MALD,25,10,,E,,U,MAL-MALD-25x10.step +MALD25-10ECM,MALD,25,10,,E,,CM,MAL-MALD-25x10.step +MALD25-10ELB,MALD,25,10,,E,LB,,MAL-MALD-25x10.step +MALD25-10ELBU,MALD,25,10,,E,LB,U,MAL-MALD-25x10.step +MALD25-10ELBCM,MALD,25,10,,E,LB,CM,MAL-MALD-25x10.step +MALD25-10EFA,MALD,25,10,,E,FA,,MAL-MALD-25x10.step +MALD25-10EFAU,MALD,25,10,,E,FA,U,MAL-MALD-25x10.step +MALD25-10EFACM,MALD,25,10,,E,FA,CM,MAL-MALD-25x10.step +MALD25-10EFB,MALD,25,10,,E,FB,,MAL-MALD-25x10.step +MALD25-10EFBU,MALD,25,10,,E,FB,U,MAL-MALD-25x10.step +MALD25-10EFBCM,MALD,25,10,,E,FB,CM,MAL-MALD-25x10.step +MALD25-10ESDB,MALD,25,10,,E,SDB,,MAL-MALD-25x10.step +MALD25-10ESDBU,MALD,25,10,,E,SDB,U,MAL-MALD-25x10.step +MALD25-10ESDBCM,MALD,25,10,,E,SDB,CM,MAL-MALD-25x10.step +MALD25-10,MALD,25,10,,,,,MAL-MALD-25x10.step +MALD25-10U,MALD,25,10,,,,U,MAL-MALD-25x10.step +MALD25-10CM,MALD,25,10,,,,CM,MAL-MALD-25x10.step +MALD25-10LB,MALD,25,10,,,LB,,MAL-MALD-25x10.step +MALD25-10LBU,MALD,25,10,,,LB,U,MAL-MALD-25x10.step +MALD25-10LBCM,MALD,25,10,,,LB,CM,MAL-MALD-25x10.step +MALD25-10FA,MALD,25,10,,,FA,,MAL-MALD-25x10.step +MALD25-10FAU,MALD,25,10,,,FA,U,MAL-MALD-25x10.step +MALD25-10FACM,MALD,25,10,,,FA,CM,MAL-MALD-25x10.step +MALD25-10FB,MALD,25,10,,,FB,,MAL-MALD-25x10.step +MALD25-10FBU,MALD,25,10,,,FB,U,MAL-MALD-25x10.step +MALD25-10FBCM,MALD,25,10,,,FB,CM,MAL-MALD-25x10.step +MALD25-10SDB,MALD,25,10,,,SDB,,MAL-MALD-25x10.step +MALD25-10SDBU,MALD,25,10,,,SDB,U,MAL-MALD-25x10.step +MALD25-10SDBCM,MALD,25,10,,,SDB,CM,MAL-MALD-25x10.step +MALD25-10ME,MALD,25,10,M,E,,,MAL-MALD-25x10.step +MALD25-10MEU,MALD,25,10,M,E,,U,MAL-MALD-25x10.step +MALD25-10MECM,MALD,25,10,M,E,,CM,MAL-MALD-25x10.step +MALD25-10MELB,MALD,25,10,M,E,LB,,MAL-MALD-25x10.step +MALD25-10MELBU,MALD,25,10,M,E,LB,U,MAL-MALD-25x10.step +MALD25-10MELBCM,MALD,25,10,M,E,LB,CM,MAL-MALD-25x10.step +MALD25-10MEFA,MALD,25,10,M,E,FA,,MAL-MALD-25x10.step +MALD25-10MEFAU,MALD,25,10,M,E,FA,U,MAL-MALD-25x10.step +MALD25-10MEFACM,MALD,25,10,M,E,FA,CM,MAL-MALD-25x10.step +MALD25-10MEFB,MALD,25,10,M,E,FB,,MAL-MALD-25x10.step +MALD25-10MEFBU,MALD,25,10,M,E,FB,U,MAL-MALD-25x10.step +MALD25-10MEFBCM,MALD,25,10,M,E,FB,CM,MAL-MALD-25x10.step +MALD25-10MESDB,MALD,25,10,M,E,SDB,,MAL-MALD-25x10.step +MALD25-10MESDBU,MALD,25,10,M,E,SDB,U,MAL-MALD-25x10.step +MALD25-10MESDBCM,MALD,25,10,M,E,SDB,CM,MAL-MALD-25x10.step +MALD25-10M,MALD,25,10,M,,,,MAL-MALD-25x10.step +MALD25-10MU,MALD,25,10,M,,,U,MAL-MALD-25x10.step +MALD25-10MCM,MALD,25,10,M,,,CM,MAL-MALD-25x10.step +MALD25-10MLB,MALD,25,10,M,,LB,,MAL-MALD-25x10.step +MALD25-10MLBU,MALD,25,10,M,,LB,U,MAL-MALD-25x10.step +MALD25-10MLBCM,MALD,25,10,M,,LB,CM,MAL-MALD-25x10.step +MALD25-10MFA,MALD,25,10,M,,FA,,MAL-MALD-25x10.step +MALD25-10MFAU,MALD,25,10,M,,FA,U,MAL-MALD-25x10.step +MALD25-10MFACM,MALD,25,10,M,,FA,CM,MAL-MALD-25x10.step +MALD25-10MFB,MALD,25,10,M,,FB,,MAL-MALD-25x10.step +MALD25-10MFBU,MALD,25,10,M,,FB,U,MAL-MALD-25x10.step +MALD25-10MFBCM,MALD,25,10,M,,FB,CM,MAL-MALD-25x10.step +MALD25-10MSDB,MALD,25,10,M,,SDB,,MAL-MALD-25x10.step +MALD25-10MSDBU,MALD,25,10,M,,SDB,U,MAL-MALD-25x10.step +MALD25-10MSDBCM,MALD,25,10,M,,SDB,CM,MAL-MALD-25x10.step +MALD25-20E,MALD,25,20,,E,,,MAL-MALD-25x20.step +MALD25-20EU,MALD,25,20,,E,,U,MAL-MALD-25x20.step +MALD25-20ECM,MALD,25,20,,E,,CM,MAL-MALD-25x20.step +MALD25-20ELB,MALD,25,20,,E,LB,,MAL-MALD-25x20.step +MALD25-20ELBU,MALD,25,20,,E,LB,U,MAL-MALD-25x20.step +MALD25-20ELBCM,MALD,25,20,,E,LB,CM,MAL-MALD-25x20.step +MALD25-20EFA,MALD,25,20,,E,FA,,MAL-MALD-25x20.step +MALD25-20EFAU,MALD,25,20,,E,FA,U,MAL-MALD-25x20.step +MALD25-20EFACM,MALD,25,20,,E,FA,CM,MAL-MALD-25x20.step +MALD25-20EFB,MALD,25,20,,E,FB,,MAL-MALD-25x20.step +MALD25-20EFBU,MALD,25,20,,E,FB,U,MAL-MALD-25x20.step +MALD25-20EFBCM,MALD,25,20,,E,FB,CM,MAL-MALD-25x20.step +MALD25-20ESDB,MALD,25,20,,E,SDB,,MAL-MALD-25x20.step +MALD25-20ESDBU,MALD,25,20,,E,SDB,U,MAL-MALD-25x20.step +MALD25-20ESDBCM,MALD,25,20,,E,SDB,CM,MAL-MALD-25x20.step +MALD25-20,MALD,25,20,,,,,MAL-MALD-25x20.step +MALD25-20U,MALD,25,20,,,,U,MAL-MALD-25x20.step +MALD25-20CM,MALD,25,20,,,,CM,MAL-MALD-25x20.step +MALD25-20LB,MALD,25,20,,,LB,,MAL-MALD-25x20.step +MALD25-20LBU,MALD,25,20,,,LB,U,MAL-MALD-25x20.step +MALD25-20LBCM,MALD,25,20,,,LB,CM,MAL-MALD-25x20.step +MALD25-20FA,MALD,25,20,,,FA,,MAL-MALD-25x20.step +MALD25-20FAU,MALD,25,20,,,FA,U,MAL-MALD-25x20.step +MALD25-20FACM,MALD,25,20,,,FA,CM,MAL-MALD-25x20.step +MALD25-20FB,MALD,25,20,,,FB,,MAL-MALD-25x20.step +MALD25-20FBU,MALD,25,20,,,FB,U,MAL-MALD-25x20.step +MALD25-20FBCM,MALD,25,20,,,FB,CM,MAL-MALD-25x20.step +MALD25-20SDB,MALD,25,20,,,SDB,,MAL-MALD-25x20.step +MALD25-20SDBU,MALD,25,20,,,SDB,U,MAL-MALD-25x20.step +MALD25-20SDBCM,MALD,25,20,,,SDB,CM,MAL-MALD-25x20.step +MALD25-20ME,MALD,25,20,M,E,,,MAL-MALD-25x20.step +MALD25-20MEU,MALD,25,20,M,E,,U,MAL-MALD-25x20.step +MALD25-20MECM,MALD,25,20,M,E,,CM,MAL-MALD-25x20.step +MALD25-20MELB,MALD,25,20,M,E,LB,,MAL-MALD-25x20.step +MALD25-20MELBU,MALD,25,20,M,E,LB,U,MAL-MALD-25x20.step +MALD25-20MELBCM,MALD,25,20,M,E,LB,CM,MAL-MALD-25x20.step +MALD25-20MEFA,MALD,25,20,M,E,FA,,MAL-MALD-25x20.step +MALD25-20MEFAU,MALD,25,20,M,E,FA,U,MAL-MALD-25x20.step +MALD25-20MEFACM,MALD,25,20,M,E,FA,CM,MAL-MALD-25x20.step +MALD25-20MEFB,MALD,25,20,M,E,FB,,MAL-MALD-25x20.step +MALD25-20MEFBU,MALD,25,20,M,E,FB,U,MAL-MALD-25x20.step +MALD25-20MEFBCM,MALD,25,20,M,E,FB,CM,MAL-MALD-25x20.step +MALD25-20MESDB,MALD,25,20,M,E,SDB,,MAL-MALD-25x20.step +MALD25-20MESDBU,MALD,25,20,M,E,SDB,U,MAL-MALD-25x20.step +MALD25-20MESDBCM,MALD,25,20,M,E,SDB,CM,MAL-MALD-25x20.step +MALD25-20M,MALD,25,20,M,,,,MAL-MALD-25x20.step +MALD25-20MU,MALD,25,20,M,,,U,MAL-MALD-25x20.step +MALD25-20MCM,MALD,25,20,M,,,CM,MAL-MALD-25x20.step +MALD25-20MLB,MALD,25,20,M,,LB,,MAL-MALD-25x20.step +MALD25-20MLBU,MALD,25,20,M,,LB,U,MAL-MALD-25x20.step +MALD25-20MLBCM,MALD,25,20,M,,LB,CM,MAL-MALD-25x20.step +MALD25-20MFA,MALD,25,20,M,,FA,,MAL-MALD-25x20.step +MALD25-20MFAU,MALD,25,20,M,,FA,U,MAL-MALD-25x20.step +MALD25-20MFACM,MALD,25,20,M,,FA,CM,MAL-MALD-25x20.step +MALD25-20MFB,MALD,25,20,M,,FB,,MAL-MALD-25x20.step +MALD25-20MFBU,MALD,25,20,M,,FB,U,MAL-MALD-25x20.step +MALD25-20MFBCM,MALD,25,20,M,,FB,CM,MAL-MALD-25x20.step +MALD25-20MSDB,MALD,25,20,M,,SDB,,MAL-MALD-25x20.step +MALD25-20MSDBU,MALD,25,20,M,,SDB,U,MAL-MALD-25x20.step +MALD25-20MSDBCM,MALD,25,20,M,,SDB,CM,MAL-MALD-25x20.step +MALD25-30E,MALD,25,30,,E,,,MAL-MALD-25x30.step +MALD25-30EU,MALD,25,30,,E,,U,MAL-MALD-25x30.step +MALD25-30ECM,MALD,25,30,,E,,CM,MAL-MALD-25x30.step +MALD25-30ELB,MALD,25,30,,E,LB,,MAL-MALD-25x30.step +MALD25-30ELBU,MALD,25,30,,E,LB,U,MAL-MALD-25x30.step +MALD25-30ELBCM,MALD,25,30,,E,LB,CM,MAL-MALD-25x30.step +MALD25-30EFA,MALD,25,30,,E,FA,,MAL-MALD-25x30.step +MALD25-30EFAU,MALD,25,30,,E,FA,U,MAL-MALD-25x30.step +MALD25-30EFACM,MALD,25,30,,E,FA,CM,MAL-MALD-25x30.step +MALD25-30EFB,MALD,25,30,,E,FB,,MAL-MALD-25x30.step +MALD25-30EFBU,MALD,25,30,,E,FB,U,MAL-MALD-25x30.step +MALD25-30EFBCM,MALD,25,30,,E,FB,CM,MAL-MALD-25x30.step +MALD25-30ESDB,MALD,25,30,,E,SDB,,MAL-MALD-25x30.step +MALD25-30ESDBU,MALD,25,30,,E,SDB,U,MAL-MALD-25x30.step +MALD25-30ESDBCM,MALD,25,30,,E,SDB,CM,MAL-MALD-25x30.step +MALD25-30,MALD,25,30,,,,,MAL-MALD-25x30.step +MALD25-30U,MALD,25,30,,,,U,MAL-MALD-25x30.step +MALD25-30CM,MALD,25,30,,,,CM,MAL-MALD-25x30.step +MALD25-30LB,MALD,25,30,,,LB,,MAL-MALD-25x30.step +MALD25-30LBU,MALD,25,30,,,LB,U,MAL-MALD-25x30.step +MALD25-30LBCM,MALD,25,30,,,LB,CM,MAL-MALD-25x30.step +MALD25-30FA,MALD,25,30,,,FA,,MAL-MALD-25x30.step +MALD25-30FAU,MALD,25,30,,,FA,U,MAL-MALD-25x30.step +MALD25-30FACM,MALD,25,30,,,FA,CM,MAL-MALD-25x30.step +MALD25-30FB,MALD,25,30,,,FB,,MAL-MALD-25x30.step +MALD25-30FBU,MALD,25,30,,,FB,U,MAL-MALD-25x30.step +MALD25-30FBCM,MALD,25,30,,,FB,CM,MAL-MALD-25x30.step +MALD25-30SDB,MALD,25,30,,,SDB,,MAL-MALD-25x30.step +MALD25-30SDBU,MALD,25,30,,,SDB,U,MAL-MALD-25x30.step +MALD25-30SDBCM,MALD,25,30,,,SDB,CM,MAL-MALD-25x30.step +MALD25-30ME,MALD,25,30,M,E,,,MAL-MALD-25x30.step +MALD25-30MEU,MALD,25,30,M,E,,U,MAL-MALD-25x30.step +MALD25-30MECM,MALD,25,30,M,E,,CM,MAL-MALD-25x30.step +MALD25-30MELB,MALD,25,30,M,E,LB,,MAL-MALD-25x30.step +MALD25-30MELBU,MALD,25,30,M,E,LB,U,MAL-MALD-25x30.step +MALD25-30MELBCM,MALD,25,30,M,E,LB,CM,MAL-MALD-25x30.step +MALD25-30MEFA,MALD,25,30,M,E,FA,,MAL-MALD-25x30.step +MALD25-30MEFAU,MALD,25,30,M,E,FA,U,MAL-MALD-25x30.step +MALD25-30MEFACM,MALD,25,30,M,E,FA,CM,MAL-MALD-25x30.step +MALD25-30MEFB,MALD,25,30,M,E,FB,,MAL-MALD-25x30.step +MALD25-30MEFBU,MALD,25,30,M,E,FB,U,MAL-MALD-25x30.step +MALD25-30MEFBCM,MALD,25,30,M,E,FB,CM,MAL-MALD-25x30.step +MALD25-30MESDB,MALD,25,30,M,E,SDB,,MAL-MALD-25x30.step +MALD25-30MESDBU,MALD,25,30,M,E,SDB,U,MAL-MALD-25x30.step +MALD25-30MESDBCM,MALD,25,30,M,E,SDB,CM,MAL-MALD-25x30.step +MALD25-30M,MALD,25,30,M,,,,MAL-MALD-25x30.step +MALD25-30MU,MALD,25,30,M,,,U,MAL-MALD-25x30.step +MALD25-30MCM,MALD,25,30,M,,,CM,MAL-MALD-25x30.step +MALD25-30MLB,MALD,25,30,M,,LB,,MAL-MALD-25x30.step +MALD25-30MLBU,MALD,25,30,M,,LB,U,MAL-MALD-25x30.step +MALD25-30MLBCM,MALD,25,30,M,,LB,CM,MAL-MALD-25x30.step +MALD25-30MFA,MALD,25,30,M,,FA,,MAL-MALD-25x30.step +MALD25-30MFAU,MALD,25,30,M,,FA,U,MAL-MALD-25x30.step +MALD25-30MFACM,MALD,25,30,M,,FA,CM,MAL-MALD-25x30.step +MALD25-30MFB,MALD,25,30,M,,FB,,MAL-MALD-25x30.step +MALD25-30MFBU,MALD,25,30,M,,FB,U,MAL-MALD-25x30.step +MALD25-30MFBCM,MALD,25,30,M,,FB,CM,MAL-MALD-25x30.step +MALD25-30MSDB,MALD,25,30,M,,SDB,,MAL-MALD-25x30.step +MALD25-30MSDBU,MALD,25,30,M,,SDB,U,MAL-MALD-25x30.step +MALD25-30MSDBCM,MALD,25,30,M,,SDB,CM,MAL-MALD-25x30.step +MALD25-50E,MALD,25,50,,E,,,MAL-MALD-25x50.step +MALD25-50EU,MALD,25,50,,E,,U,MAL-MALD-25x50.step +MALD25-50ECM,MALD,25,50,,E,,CM,MAL-MALD-25x50.step +MALD25-50ELB,MALD,25,50,,E,LB,,MAL-MALD-25x50.step +MALD25-50ELBU,MALD,25,50,,E,LB,U,MAL-MALD-25x50.step +MALD25-50ELBCM,MALD,25,50,,E,LB,CM,MAL-MALD-25x50.step +MALD25-50EFA,MALD,25,50,,E,FA,,MAL-MALD-25x50.step +MALD25-50EFAU,MALD,25,50,,E,FA,U,MAL-MALD-25x50.step +MALD25-50EFACM,MALD,25,50,,E,FA,CM,MAL-MALD-25x50.step +MALD25-50EFB,MALD,25,50,,E,FB,,MAL-MALD-25x50.step +MALD25-50EFBU,MALD,25,50,,E,FB,U,MAL-MALD-25x50.step +MALD25-50EFBCM,MALD,25,50,,E,FB,CM,MAL-MALD-25x50.step +MALD25-50ESDB,MALD,25,50,,E,SDB,,MAL-MALD-25x50.step +MALD25-50ESDBU,MALD,25,50,,E,SDB,U,MAL-MALD-25x50.step +MALD25-50ESDBCM,MALD,25,50,,E,SDB,CM,MAL-MALD-25x50.step +MALD25-50,MALD,25,50,,,,,MAL-MALD-25x50.step +MALD25-50U,MALD,25,50,,,,U,MAL-MALD-25x50.step +MALD25-50CM,MALD,25,50,,,,CM,MAL-MALD-25x50.step +MALD25-50LB,MALD,25,50,,,LB,,MAL-MALD-25x50.step +MALD25-50LBU,MALD,25,50,,,LB,U,MAL-MALD-25x50.step +MALD25-50LBCM,MALD,25,50,,,LB,CM,MAL-MALD-25x50.step +MALD25-50FA,MALD,25,50,,,FA,,MAL-MALD-25x50.step +MALD25-50FAU,MALD,25,50,,,FA,U,MAL-MALD-25x50.step +MALD25-50FACM,MALD,25,50,,,FA,CM,MAL-MALD-25x50.step +MALD25-50FB,MALD,25,50,,,FB,,MAL-MALD-25x50.step +MALD25-50FBU,MALD,25,50,,,FB,U,MAL-MALD-25x50.step +MALD25-50FBCM,MALD,25,50,,,FB,CM,MAL-MALD-25x50.step +MALD25-50SDB,MALD,25,50,,,SDB,,MAL-MALD-25x50.step +MALD25-50SDBU,MALD,25,50,,,SDB,U,MAL-MALD-25x50.step +MALD25-50SDBCM,MALD,25,50,,,SDB,CM,MAL-MALD-25x50.step +MALD25-50ME,MALD,25,50,M,E,,,MAL-MALD-25x50.step +MALD25-50MEU,MALD,25,50,M,E,,U,MAL-MALD-25x50.step +MALD25-50MECM,MALD,25,50,M,E,,CM,MAL-MALD-25x50.step +MALD25-50MELB,MALD,25,50,M,E,LB,,MAL-MALD-25x50.step +MALD25-50MELBU,MALD,25,50,M,E,LB,U,MAL-MALD-25x50.step +MALD25-50MELBCM,MALD,25,50,M,E,LB,CM,MAL-MALD-25x50.step +MALD25-50MEFA,MALD,25,50,M,E,FA,,MAL-MALD-25x50.step +MALD25-50MEFAU,MALD,25,50,M,E,FA,U,MAL-MALD-25x50.step +MALD25-50MEFACM,MALD,25,50,M,E,FA,CM,MAL-MALD-25x50.step +MALD25-50MEFB,MALD,25,50,M,E,FB,,MAL-MALD-25x50.step +MALD25-50MEFBU,MALD,25,50,M,E,FB,U,MAL-MALD-25x50.step +MALD25-50MEFBCM,MALD,25,50,M,E,FB,CM,MAL-MALD-25x50.step +MALD25-50MESDB,MALD,25,50,M,E,SDB,,MAL-MALD-25x50.step +MALD25-50MESDBU,MALD,25,50,M,E,SDB,U,MAL-MALD-25x50.step +MALD25-50MESDBCM,MALD,25,50,M,E,SDB,CM,MAL-MALD-25x50.step +MALD25-50M,MALD,25,50,M,,,,MAL-MALD-25x50.step +MALD25-50MU,MALD,25,50,M,,,U,MAL-MALD-25x50.step +MALD25-50MCM,MALD,25,50,M,,,CM,MAL-MALD-25x50.step +MALD25-50MLB,MALD,25,50,M,,LB,,MAL-MALD-25x50.step +MALD25-50MLBU,MALD,25,50,M,,LB,U,MAL-MALD-25x50.step +MALD25-50MLBCM,MALD,25,50,M,,LB,CM,MAL-MALD-25x50.step +MALD25-50MFA,MALD,25,50,M,,FA,,MAL-MALD-25x50.step +MALD25-50MFAU,MALD,25,50,M,,FA,U,MAL-MALD-25x50.step +MALD25-50MFACM,MALD,25,50,M,,FA,CM,MAL-MALD-25x50.step +MALD25-50MFB,MALD,25,50,M,,FB,,MAL-MALD-25x50.step +MALD25-50MFBU,MALD,25,50,M,,FB,U,MAL-MALD-25x50.step +MALD25-50MFBCM,MALD,25,50,M,,FB,CM,MAL-MALD-25x50.step +MALD25-50MSDB,MALD,25,50,M,,SDB,,MAL-MALD-25x50.step +MALD25-50MSDBU,MALD,25,50,M,,SDB,U,MAL-MALD-25x50.step +MALD25-50MSDBCM,MALD,25,50,M,,SDB,CM,MAL-MALD-25x50.step +MALD25-75E,MALD,25,75,,E,,,MAL-MALD-25x75.step +MALD25-75EU,MALD,25,75,,E,,U,MAL-MALD-25x75.step +MALD25-75ECM,MALD,25,75,,E,,CM,MAL-MALD-25x75.step +MALD25-75ELB,MALD,25,75,,E,LB,,MAL-MALD-25x75.step +MALD25-75ELBU,MALD,25,75,,E,LB,U,MAL-MALD-25x75.step +MALD25-75ELBCM,MALD,25,75,,E,LB,CM,MAL-MALD-25x75.step +MALD25-75EFA,MALD,25,75,,E,FA,,MAL-MALD-25x75.step +MALD25-75EFAU,MALD,25,75,,E,FA,U,MAL-MALD-25x75.step +MALD25-75EFACM,MALD,25,75,,E,FA,CM,MAL-MALD-25x75.step +MALD25-75EFB,MALD,25,75,,E,FB,,MAL-MALD-25x75.step +MALD25-75EFBU,MALD,25,75,,E,FB,U,MAL-MALD-25x75.step +MALD25-75EFBCM,MALD,25,75,,E,FB,CM,MAL-MALD-25x75.step +MALD25-75ESDB,MALD,25,75,,E,SDB,,MAL-MALD-25x75.step +MALD25-75ESDBU,MALD,25,75,,E,SDB,U,MAL-MALD-25x75.step +MALD25-75ESDBCM,MALD,25,75,,E,SDB,CM,MAL-MALD-25x75.step +MALD25-75,MALD,25,75,,,,,MAL-MALD-25x75.step +MALD25-75U,MALD,25,75,,,,U,MAL-MALD-25x75.step +MALD25-75CM,MALD,25,75,,,,CM,MAL-MALD-25x75.step +MALD25-75LB,MALD,25,75,,,LB,,MAL-MALD-25x75.step +MALD25-75LBU,MALD,25,75,,,LB,U,MAL-MALD-25x75.step +MALD25-75LBCM,MALD,25,75,,,LB,CM,MAL-MALD-25x75.step +MALD25-75FA,MALD,25,75,,,FA,,MAL-MALD-25x75.step +MALD25-75FAU,MALD,25,75,,,FA,U,MAL-MALD-25x75.step +MALD25-75FACM,MALD,25,75,,,FA,CM,MAL-MALD-25x75.step +MALD25-75FB,MALD,25,75,,,FB,,MAL-MALD-25x75.step +MALD25-75FBU,MALD,25,75,,,FB,U,MAL-MALD-25x75.step +MALD25-75FBCM,MALD,25,75,,,FB,CM,MAL-MALD-25x75.step +MALD25-75SDB,MALD,25,75,,,SDB,,MAL-MALD-25x75.step +MALD25-75SDBU,MALD,25,75,,,SDB,U,MAL-MALD-25x75.step +MALD25-75SDBCM,MALD,25,75,,,SDB,CM,MAL-MALD-25x75.step +MALD25-75ME,MALD,25,75,M,E,,,MAL-MALD-25x75.step +MALD25-75MEU,MALD,25,75,M,E,,U,MAL-MALD-25x75.step +MALD25-75MECM,MALD,25,75,M,E,,CM,MAL-MALD-25x75.step +MALD25-75MELB,MALD,25,75,M,E,LB,,MAL-MALD-25x75.step +MALD25-75MELBU,MALD,25,75,M,E,LB,U,MAL-MALD-25x75.step +MALD25-75MELBCM,MALD,25,75,M,E,LB,CM,MAL-MALD-25x75.step +MALD25-75MEFA,MALD,25,75,M,E,FA,,MAL-MALD-25x75.step +MALD25-75MEFAU,MALD,25,75,M,E,FA,U,MAL-MALD-25x75.step +MALD25-75MEFACM,MALD,25,75,M,E,FA,CM,MAL-MALD-25x75.step +MALD25-75MEFB,MALD,25,75,M,E,FB,,MAL-MALD-25x75.step +MALD25-75MEFBU,MALD,25,75,M,E,FB,U,MAL-MALD-25x75.step +MALD25-75MEFBCM,MALD,25,75,M,E,FB,CM,MAL-MALD-25x75.step +MALD25-75MESDB,MALD,25,75,M,E,SDB,,MAL-MALD-25x75.step +MALD25-75MESDBU,MALD,25,75,M,E,SDB,U,MAL-MALD-25x75.step +MALD25-75MESDBCM,MALD,25,75,M,E,SDB,CM,MAL-MALD-25x75.step +MALD25-75M,MALD,25,75,M,,,,MAL-MALD-25x75.step +MALD25-75MU,MALD,25,75,M,,,U,MAL-MALD-25x75.step +MALD25-75MCM,MALD,25,75,M,,,CM,MAL-MALD-25x75.step +MALD25-75MLB,MALD,25,75,M,,LB,,MAL-MALD-25x75.step +MALD25-75MLBU,MALD,25,75,M,,LB,U,MAL-MALD-25x75.step +MALD25-75MLBCM,MALD,25,75,M,,LB,CM,MAL-MALD-25x75.step +MALD25-75MFA,MALD,25,75,M,,FA,,MAL-MALD-25x75.step +MALD25-75MFAU,MALD,25,75,M,,FA,U,MAL-MALD-25x75.step +MALD25-75MFACM,MALD,25,75,M,,FA,CM,MAL-MALD-25x75.step +MALD25-75MFB,MALD,25,75,M,,FB,,MAL-MALD-25x75.step +MALD25-75MFBU,MALD,25,75,M,,FB,U,MAL-MALD-25x75.step +MALD25-75MFBCM,MALD,25,75,M,,FB,CM,MAL-MALD-25x75.step +MALD25-75MSDB,MALD,25,75,M,,SDB,,MAL-MALD-25x75.step +MALD25-75MSDBU,MALD,25,75,M,,SDB,U,MAL-MALD-25x75.step +MALD25-75MSDBCM,MALD,25,75,M,,SDB,CM,MAL-MALD-25x75.step +MALD25-100E,MALD,25,100,,E,,,MAL-MALD-25x100.step +MALD25-100EU,MALD,25,100,,E,,U,MAL-MALD-25x100.step +MALD25-100ECM,MALD,25,100,,E,,CM,MAL-MALD-25x100.step +MALD25-100ELB,MALD,25,100,,E,LB,,MAL-MALD-25x100.step +MALD25-100ELBU,MALD,25,100,,E,LB,U,MAL-MALD-25x100.step +MALD25-100ELBCM,MALD,25,100,,E,LB,CM,MAL-MALD-25x100.step +MALD25-100EFA,MALD,25,100,,E,FA,,MAL-MALD-25x100.step +MALD25-100EFAU,MALD,25,100,,E,FA,U,MAL-MALD-25x100.step +MALD25-100EFACM,MALD,25,100,,E,FA,CM,MAL-MALD-25x100.step +MALD25-100EFB,MALD,25,100,,E,FB,,MAL-MALD-25x100.step +MALD25-100EFBU,MALD,25,100,,E,FB,U,MAL-MALD-25x100.step +MALD25-100EFBCM,MALD,25,100,,E,FB,CM,MAL-MALD-25x100.step +MALD25-100ESDB,MALD,25,100,,E,SDB,,MAL-MALD-25x100.step +MALD25-100ESDBU,MALD,25,100,,E,SDB,U,MAL-MALD-25x100.step +MALD25-100ESDBCM,MALD,25,100,,E,SDB,CM,MAL-MALD-25x100.step +MALD25-100,MALD,25,100,,,,,MAL-MALD-25x100.step +MALD25-100U,MALD,25,100,,,,U,MAL-MALD-25x100.step +MALD25-100CM,MALD,25,100,,,,CM,MAL-MALD-25x100.step +MALD25-100LB,MALD,25,100,,,LB,,MAL-MALD-25x100.step +MALD25-100LBU,MALD,25,100,,,LB,U,MAL-MALD-25x100.step +MALD25-100LBCM,MALD,25,100,,,LB,CM,MAL-MALD-25x100.step +MALD25-100FA,MALD,25,100,,,FA,,MAL-MALD-25x100.step +MALD25-100FAU,MALD,25,100,,,FA,U,MAL-MALD-25x100.step +MALD25-100FACM,MALD,25,100,,,FA,CM,MAL-MALD-25x100.step +MALD25-100FB,MALD,25,100,,,FB,,MAL-MALD-25x100.step +MALD25-100FBU,MALD,25,100,,,FB,U,MAL-MALD-25x100.step +MALD25-100FBCM,MALD,25,100,,,FB,CM,MAL-MALD-25x100.step +MALD25-100SDB,MALD,25,100,,,SDB,,MAL-MALD-25x100.step +MALD25-100SDBU,MALD,25,100,,,SDB,U,MAL-MALD-25x100.step +MALD25-100SDBCM,MALD,25,100,,,SDB,CM,MAL-MALD-25x100.step +MALD25-100ME,MALD,25,100,M,E,,,MAL-MALD-25x100.step +MALD25-100MEU,MALD,25,100,M,E,,U,MAL-MALD-25x100.step +MALD25-100MECM,MALD,25,100,M,E,,CM,MAL-MALD-25x100.step +MALD25-100MELB,MALD,25,100,M,E,LB,,MAL-MALD-25x100.step +MALD25-100MELBU,MALD,25,100,M,E,LB,U,MAL-MALD-25x100.step +MALD25-100MELBCM,MALD,25,100,M,E,LB,CM,MAL-MALD-25x100.step +MALD25-100MEFA,MALD,25,100,M,E,FA,,MAL-MALD-25x100.step +MALD25-100MEFAU,MALD,25,100,M,E,FA,U,MAL-MALD-25x100.step +MALD25-100MEFACM,MALD,25,100,M,E,FA,CM,MAL-MALD-25x100.step +MALD25-100MEFB,MALD,25,100,M,E,FB,,MAL-MALD-25x100.step +MALD25-100MEFBU,MALD,25,100,M,E,FB,U,MAL-MALD-25x100.step +MALD25-100MEFBCM,MALD,25,100,M,E,FB,CM,MAL-MALD-25x100.step +MALD25-100MESDB,MALD,25,100,M,E,SDB,,MAL-MALD-25x100.step +MALD25-100MESDBU,MALD,25,100,M,E,SDB,U,MAL-MALD-25x100.step +MALD25-100MESDBCM,MALD,25,100,M,E,SDB,CM,MAL-MALD-25x100.step +MALD25-100M,MALD,25,100,M,,,,MAL-MALD-25x100.step +MALD25-100MU,MALD,25,100,M,,,U,MAL-MALD-25x100.step +MALD25-100MCM,MALD,25,100,M,,,CM,MAL-MALD-25x100.step +MALD25-100MLB,MALD,25,100,M,,LB,,MAL-MALD-25x100.step +MALD25-100MLBU,MALD,25,100,M,,LB,U,MAL-MALD-25x100.step +MALD25-100MLBCM,MALD,25,100,M,,LB,CM,MAL-MALD-25x100.step +MALD25-100MFA,MALD,25,100,M,,FA,,MAL-MALD-25x100.step +MALD25-100MFAU,MALD,25,100,M,,FA,U,MAL-MALD-25x100.step +MALD25-100MFACM,MALD,25,100,M,,FA,CM,MAL-MALD-25x100.step +MALD25-100MFB,MALD,25,100,M,,FB,,MAL-MALD-25x100.step +MALD25-100MFBU,MALD,25,100,M,,FB,U,MAL-MALD-25x100.step +MALD25-100MFBCM,MALD,25,100,M,,FB,CM,MAL-MALD-25x100.step +MALD25-100MSDB,MALD,25,100,M,,SDB,,MAL-MALD-25x100.step +MALD25-100MSDBU,MALD,25,100,M,,SDB,U,MAL-MALD-25x100.step +MALD25-100MSDBCM,MALD,25,100,M,,SDB,CM,MAL-MALD-25x100.step +MALD32-10E,MALD,32,10,,E,,,MAL-MALD-32x10.step +MALD32-10EU,MALD,32,10,,E,,U,MAL-MALD-32x10.step +MALD32-10ECM,MALD,32,10,,E,,CM,MAL-MALD-32x10.step +MALD32-10ELB,MALD,32,10,,E,LB,,MAL-MALD-32x10.step +MALD32-10ELBU,MALD,32,10,,E,LB,U,MAL-MALD-32x10.step +MALD32-10ELBCM,MALD,32,10,,E,LB,CM,MAL-MALD-32x10.step +MALD32-10EFA,MALD,32,10,,E,FA,,MAL-MALD-32x10.step +MALD32-10EFAU,MALD,32,10,,E,FA,U,MAL-MALD-32x10.step +MALD32-10EFACM,MALD,32,10,,E,FA,CM,MAL-MALD-32x10.step +MALD32-10EFB,MALD,32,10,,E,FB,,MAL-MALD-32x10.step +MALD32-10EFBU,MALD,32,10,,E,FB,U,MAL-MALD-32x10.step +MALD32-10EFBCM,MALD,32,10,,E,FB,CM,MAL-MALD-32x10.step +MALD32-10ESDB,MALD,32,10,,E,SDB,,MAL-MALD-32x10.step +MALD32-10ESDBU,MALD,32,10,,E,SDB,U,MAL-MALD-32x10.step +MALD32-10ESDBCM,MALD,32,10,,E,SDB,CM,MAL-MALD-32x10.step +MALD32-10,MALD,32,10,,,,,MAL-MALD-32x10.step +MALD32-10U,MALD,32,10,,,,U,MAL-MALD-32x10.step +MALD32-10CM,MALD,32,10,,,,CM,MAL-MALD-32x10.step +MALD32-10LB,MALD,32,10,,,LB,,MAL-MALD-32x10.step +MALD32-10LBU,MALD,32,10,,,LB,U,MAL-MALD-32x10.step +MALD32-10LBCM,MALD,32,10,,,LB,CM,MAL-MALD-32x10.step +MALD32-10FA,MALD,32,10,,,FA,,MAL-MALD-32x10.step +MALD32-10FAU,MALD,32,10,,,FA,U,MAL-MALD-32x10.step +MALD32-10FACM,MALD,32,10,,,FA,CM,MAL-MALD-32x10.step +MALD32-10FB,MALD,32,10,,,FB,,MAL-MALD-32x10.step +MALD32-10FBU,MALD,32,10,,,FB,U,MAL-MALD-32x10.step +MALD32-10FBCM,MALD,32,10,,,FB,CM,MAL-MALD-32x10.step +MALD32-10SDB,MALD,32,10,,,SDB,,MAL-MALD-32x10.step +MALD32-10SDBU,MALD,32,10,,,SDB,U,MAL-MALD-32x10.step +MALD32-10SDBCM,MALD,32,10,,,SDB,CM,MAL-MALD-32x10.step +MALD32-10ME,MALD,32,10,M,E,,,MAL-MALD-32x10.step +MALD32-10MEU,MALD,32,10,M,E,,U,MAL-MALD-32x10.step +MALD32-10MECM,MALD,32,10,M,E,,CM,MAL-MALD-32x10.step +MALD32-10MELB,MALD,32,10,M,E,LB,,MAL-MALD-32x10.step +MALD32-10MELBU,MALD,32,10,M,E,LB,U,MAL-MALD-32x10.step +MALD32-10MELBCM,MALD,32,10,M,E,LB,CM,MAL-MALD-32x10.step +MALD32-10MEFA,MALD,32,10,M,E,FA,,MAL-MALD-32x10.step +MALD32-10MEFAU,MALD,32,10,M,E,FA,U,MAL-MALD-32x10.step +MALD32-10MEFACM,MALD,32,10,M,E,FA,CM,MAL-MALD-32x10.step +MALD32-10MEFB,MALD,32,10,M,E,FB,,MAL-MALD-32x10.step +MALD32-10MEFBU,MALD,32,10,M,E,FB,U,MAL-MALD-32x10.step +MALD32-10MEFBCM,MALD,32,10,M,E,FB,CM,MAL-MALD-32x10.step +MALD32-10MESDB,MALD,32,10,M,E,SDB,,MAL-MALD-32x10.step +MALD32-10MESDBU,MALD,32,10,M,E,SDB,U,MAL-MALD-32x10.step +MALD32-10MESDBCM,MALD,32,10,M,E,SDB,CM,MAL-MALD-32x10.step +MALD32-10M,MALD,32,10,M,,,,MAL-MALD-32x10.step +MALD32-10MU,MALD,32,10,M,,,U,MAL-MALD-32x10.step +MALD32-10MCM,MALD,32,10,M,,,CM,MAL-MALD-32x10.step +MALD32-10MLB,MALD,32,10,M,,LB,,MAL-MALD-32x10.step +MALD32-10MLBU,MALD,32,10,M,,LB,U,MAL-MALD-32x10.step +MALD32-10MLBCM,MALD,32,10,M,,LB,CM,MAL-MALD-32x10.step +MALD32-10MFA,MALD,32,10,M,,FA,,MAL-MALD-32x10.step +MALD32-10MFAU,MALD,32,10,M,,FA,U,MAL-MALD-32x10.step +MALD32-10MFACM,MALD,32,10,M,,FA,CM,MAL-MALD-32x10.step +MALD32-10MFB,MALD,32,10,M,,FB,,MAL-MALD-32x10.step +MALD32-10MFBU,MALD,32,10,M,,FB,U,MAL-MALD-32x10.step +MALD32-10MFBCM,MALD,32,10,M,,FB,CM,MAL-MALD-32x10.step +MALD32-10MSDB,MALD,32,10,M,,SDB,,MAL-MALD-32x10.step +MALD32-10MSDBU,MALD,32,10,M,,SDB,U,MAL-MALD-32x10.step +MALD32-10MSDBCM,MALD,32,10,M,,SDB,CM,MAL-MALD-32x10.step +MALD32-20E,MALD,32,20,,E,,,MAL-MALD-32x20.step +MALD32-20EU,MALD,32,20,,E,,U,MAL-MALD-32x20.step +MALD32-20ECM,MALD,32,20,,E,,CM,MAL-MALD-32x20.step +MALD32-20ELB,MALD,32,20,,E,LB,,MAL-MALD-32x20.step +MALD32-20ELBU,MALD,32,20,,E,LB,U,MAL-MALD-32x20.step +MALD32-20ELBCM,MALD,32,20,,E,LB,CM,MAL-MALD-32x20.step +MALD32-20EFA,MALD,32,20,,E,FA,,MAL-MALD-32x20.step +MALD32-20EFAU,MALD,32,20,,E,FA,U,MAL-MALD-32x20.step +MALD32-20EFACM,MALD,32,20,,E,FA,CM,MAL-MALD-32x20.step +MALD32-20EFB,MALD,32,20,,E,FB,,MAL-MALD-32x20.step +MALD32-20EFBU,MALD,32,20,,E,FB,U,MAL-MALD-32x20.step +MALD32-20EFBCM,MALD,32,20,,E,FB,CM,MAL-MALD-32x20.step +MALD32-20ESDB,MALD,32,20,,E,SDB,,MAL-MALD-32x20.step +MALD32-20ESDBU,MALD,32,20,,E,SDB,U,MAL-MALD-32x20.step +MALD32-20ESDBCM,MALD,32,20,,E,SDB,CM,MAL-MALD-32x20.step +MALD32-20,MALD,32,20,,,,,MAL-MALD-32x20.step +MALD32-20U,MALD,32,20,,,,U,MAL-MALD-32x20.step +MALD32-20CM,MALD,32,20,,,,CM,MAL-MALD-32x20.step +MALD32-20LB,MALD,32,20,,,LB,,MAL-MALD-32x20.step +MALD32-20LBU,MALD,32,20,,,LB,U,MAL-MALD-32x20.step +MALD32-20LBCM,MALD,32,20,,,LB,CM,MAL-MALD-32x20.step +MALD32-20FA,MALD,32,20,,,FA,,MAL-MALD-32x20.step +MALD32-20FAU,MALD,32,20,,,FA,U,MAL-MALD-32x20.step +MALD32-20FACM,MALD,32,20,,,FA,CM,MAL-MALD-32x20.step +MALD32-20FB,MALD,32,20,,,FB,,MAL-MALD-32x20.step +MALD32-20FBU,MALD,32,20,,,FB,U,MAL-MALD-32x20.step +MALD32-20FBCM,MALD,32,20,,,FB,CM,MAL-MALD-32x20.step +MALD32-20SDB,MALD,32,20,,,SDB,,MAL-MALD-32x20.step +MALD32-20SDBU,MALD,32,20,,,SDB,U,MAL-MALD-32x20.step +MALD32-20SDBCM,MALD,32,20,,,SDB,CM,MAL-MALD-32x20.step +MALD32-20ME,MALD,32,20,M,E,,,MAL-MALD-32x20.step +MALD32-20MEU,MALD,32,20,M,E,,U,MAL-MALD-32x20.step +MALD32-20MECM,MALD,32,20,M,E,,CM,MAL-MALD-32x20.step +MALD32-20MELB,MALD,32,20,M,E,LB,,MAL-MALD-32x20.step +MALD32-20MELBU,MALD,32,20,M,E,LB,U,MAL-MALD-32x20.step +MALD32-20MELBCM,MALD,32,20,M,E,LB,CM,MAL-MALD-32x20.step +MALD32-20MEFA,MALD,32,20,M,E,FA,,MAL-MALD-32x20.step +MALD32-20MEFAU,MALD,32,20,M,E,FA,U,MAL-MALD-32x20.step +MALD32-20MEFACM,MALD,32,20,M,E,FA,CM,MAL-MALD-32x20.step +MALD32-20MEFB,MALD,32,20,M,E,FB,,MAL-MALD-32x20.step +MALD32-20MEFBU,MALD,32,20,M,E,FB,U,MAL-MALD-32x20.step +MALD32-20MEFBCM,MALD,32,20,M,E,FB,CM,MAL-MALD-32x20.step +MALD32-20MESDB,MALD,32,20,M,E,SDB,,MAL-MALD-32x20.step +MALD32-20MESDBU,MALD,32,20,M,E,SDB,U,MAL-MALD-32x20.step +MALD32-20MESDBCM,MALD,32,20,M,E,SDB,CM,MAL-MALD-32x20.step +MALD32-20M,MALD,32,20,M,,,,MAL-MALD-32x20.step +MALD32-20MU,MALD,32,20,M,,,U,MAL-MALD-32x20.step +MALD32-20MCM,MALD,32,20,M,,,CM,MAL-MALD-32x20.step +MALD32-20MLB,MALD,32,20,M,,LB,,MAL-MALD-32x20.step +MALD32-20MLBU,MALD,32,20,M,,LB,U,MAL-MALD-32x20.step +MALD32-20MLBCM,MALD,32,20,M,,LB,CM,MAL-MALD-32x20.step +MALD32-20MFA,MALD,32,20,M,,FA,,MAL-MALD-32x20.step +MALD32-20MFAU,MALD,32,20,M,,FA,U,MAL-MALD-32x20.step +MALD32-20MFACM,MALD,32,20,M,,FA,CM,MAL-MALD-32x20.step +MALD32-20MFB,MALD,32,20,M,,FB,,MAL-MALD-32x20.step +MALD32-20MFBU,MALD,32,20,M,,FB,U,MAL-MALD-32x20.step +MALD32-20MFBCM,MALD,32,20,M,,FB,CM,MAL-MALD-32x20.step +MALD32-20MSDB,MALD,32,20,M,,SDB,,MAL-MALD-32x20.step +MALD32-20MSDBU,MALD,32,20,M,,SDB,U,MAL-MALD-32x20.step +MALD32-20MSDBCM,MALD,32,20,M,,SDB,CM,MAL-MALD-32x20.step +MALD32-30E,MALD,32,30,,E,,,MAL-MALD-32x30.step +MALD32-30EU,MALD,32,30,,E,,U,MAL-MALD-32x30.step +MALD32-30ECM,MALD,32,30,,E,,CM,MAL-MALD-32x30.step +MALD32-30ELB,MALD,32,30,,E,LB,,MAL-MALD-32x30.step +MALD32-30ELBU,MALD,32,30,,E,LB,U,MAL-MALD-32x30.step +MALD32-30ELBCM,MALD,32,30,,E,LB,CM,MAL-MALD-32x30.step +MALD32-30EFA,MALD,32,30,,E,FA,,MAL-MALD-32x30.step +MALD32-30EFAU,MALD,32,30,,E,FA,U,MAL-MALD-32x30.step +MALD32-30EFACM,MALD,32,30,,E,FA,CM,MAL-MALD-32x30.step +MALD32-30EFB,MALD,32,30,,E,FB,,MAL-MALD-32x30.step +MALD32-30EFBU,MALD,32,30,,E,FB,U,MAL-MALD-32x30.step +MALD32-30EFBCM,MALD,32,30,,E,FB,CM,MAL-MALD-32x30.step +MALD32-30ESDB,MALD,32,30,,E,SDB,,MAL-MALD-32x30.step +MALD32-30ESDBU,MALD,32,30,,E,SDB,U,MAL-MALD-32x30.step +MALD32-30ESDBCM,MALD,32,30,,E,SDB,CM,MAL-MALD-32x30.step +MALD32-30,MALD,32,30,,,,,MAL-MALD-32x30.step +MALD32-30U,MALD,32,30,,,,U,MAL-MALD-32x30.step +MALD32-30CM,MALD,32,30,,,,CM,MAL-MALD-32x30.step +MALD32-30LB,MALD,32,30,,,LB,,MAL-MALD-32x30.step +MALD32-30LBU,MALD,32,30,,,LB,U,MAL-MALD-32x30.step +MALD32-30LBCM,MALD,32,30,,,LB,CM,MAL-MALD-32x30.step +MALD32-30FA,MALD,32,30,,,FA,,MAL-MALD-32x30.step +MALD32-30FAU,MALD,32,30,,,FA,U,MAL-MALD-32x30.step +MALD32-30FACM,MALD,32,30,,,FA,CM,MAL-MALD-32x30.step +MALD32-30FB,MALD,32,30,,,FB,,MAL-MALD-32x30.step +MALD32-30FBU,MALD,32,30,,,FB,U,MAL-MALD-32x30.step +MALD32-30FBCM,MALD,32,30,,,FB,CM,MAL-MALD-32x30.step +MALD32-30SDB,MALD,32,30,,,SDB,,MAL-MALD-32x30.step +MALD32-30SDBU,MALD,32,30,,,SDB,U,MAL-MALD-32x30.step +MALD32-30SDBCM,MALD,32,30,,,SDB,CM,MAL-MALD-32x30.step +MALD32-30ME,MALD,32,30,M,E,,,MAL-MALD-32x30.step +MALD32-30MEU,MALD,32,30,M,E,,U,MAL-MALD-32x30.step +MALD32-30MECM,MALD,32,30,M,E,,CM,MAL-MALD-32x30.step +MALD32-30MELB,MALD,32,30,M,E,LB,,MAL-MALD-32x30.step +MALD32-30MELBU,MALD,32,30,M,E,LB,U,MAL-MALD-32x30.step +MALD32-30MELBCM,MALD,32,30,M,E,LB,CM,MAL-MALD-32x30.step +MALD32-30MEFA,MALD,32,30,M,E,FA,,MAL-MALD-32x30.step +MALD32-30MEFAU,MALD,32,30,M,E,FA,U,MAL-MALD-32x30.step +MALD32-30MEFACM,MALD,32,30,M,E,FA,CM,MAL-MALD-32x30.step +MALD32-30MEFB,MALD,32,30,M,E,FB,,MAL-MALD-32x30.step +MALD32-30MEFBU,MALD,32,30,M,E,FB,U,MAL-MALD-32x30.step +MALD32-30MEFBCM,MALD,32,30,M,E,FB,CM,MAL-MALD-32x30.step +MALD32-30MESDB,MALD,32,30,M,E,SDB,,MAL-MALD-32x30.step +MALD32-30MESDBU,MALD,32,30,M,E,SDB,U,MAL-MALD-32x30.step +MALD32-30MESDBCM,MALD,32,30,M,E,SDB,CM,MAL-MALD-32x30.step +MALD32-30M,MALD,32,30,M,,,,MAL-MALD-32x30.step +MALD32-30MU,MALD,32,30,M,,,U,MAL-MALD-32x30.step +MALD32-30MCM,MALD,32,30,M,,,CM,MAL-MALD-32x30.step +MALD32-30MLB,MALD,32,30,M,,LB,,MAL-MALD-32x30.step +MALD32-30MLBU,MALD,32,30,M,,LB,U,MAL-MALD-32x30.step +MALD32-30MLBCM,MALD,32,30,M,,LB,CM,MAL-MALD-32x30.step +MALD32-30MFA,MALD,32,30,M,,FA,,MAL-MALD-32x30.step +MALD32-30MFAU,MALD,32,30,M,,FA,U,MAL-MALD-32x30.step +MALD32-30MFACM,MALD,32,30,M,,FA,CM,MAL-MALD-32x30.step +MALD32-30MFB,MALD,32,30,M,,FB,,MAL-MALD-32x30.step +MALD32-30MFBU,MALD,32,30,M,,FB,U,MAL-MALD-32x30.step +MALD32-30MFBCM,MALD,32,30,M,,FB,CM,MAL-MALD-32x30.step +MALD32-30MSDB,MALD,32,30,M,,SDB,,MAL-MALD-32x30.step +MALD32-30MSDBU,MALD,32,30,M,,SDB,U,MAL-MALD-32x30.step +MALD32-30MSDBCM,MALD,32,30,M,,SDB,CM,MAL-MALD-32x30.step +MALD32-50E,MALD,32,50,,E,,,MAL-MALD-32x50.step +MALD32-50EU,MALD,32,50,,E,,U,MAL-MALD-32x50.step +MALD32-50ECM,MALD,32,50,,E,,CM,MAL-MALD-32x50.step +MALD32-50ELB,MALD,32,50,,E,LB,,MAL-MALD-32x50.step +MALD32-50ELBU,MALD,32,50,,E,LB,U,MAL-MALD-32x50.step +MALD32-50ELBCM,MALD,32,50,,E,LB,CM,MAL-MALD-32x50.step +MALD32-50EFA,MALD,32,50,,E,FA,,MAL-MALD-32x50.step +MALD32-50EFAU,MALD,32,50,,E,FA,U,MAL-MALD-32x50.step +MALD32-50EFACM,MALD,32,50,,E,FA,CM,MAL-MALD-32x50.step +MALD32-50EFB,MALD,32,50,,E,FB,,MAL-MALD-32x50.step +MALD32-50EFBU,MALD,32,50,,E,FB,U,MAL-MALD-32x50.step +MALD32-50EFBCM,MALD,32,50,,E,FB,CM,MAL-MALD-32x50.step +MALD32-50ESDB,MALD,32,50,,E,SDB,,MAL-MALD-32x50.step +MALD32-50ESDBU,MALD,32,50,,E,SDB,U,MAL-MALD-32x50.step +MALD32-50ESDBCM,MALD,32,50,,E,SDB,CM,MAL-MALD-32x50.step +MALD32-50,MALD,32,50,,,,,MAL-MALD-32x50.step +MALD32-50U,MALD,32,50,,,,U,MAL-MALD-32x50.step +MALD32-50CM,MALD,32,50,,,,CM,MAL-MALD-32x50.step +MALD32-50LB,MALD,32,50,,,LB,,MAL-MALD-32x50.step +MALD32-50LBU,MALD,32,50,,,LB,U,MAL-MALD-32x50.step +MALD32-50LBCM,MALD,32,50,,,LB,CM,MAL-MALD-32x50.step +MALD32-50FA,MALD,32,50,,,FA,,MAL-MALD-32x50.step +MALD32-50FAU,MALD,32,50,,,FA,U,MAL-MALD-32x50.step +MALD32-50FACM,MALD,32,50,,,FA,CM,MAL-MALD-32x50.step +MALD32-50FB,MALD,32,50,,,FB,,MAL-MALD-32x50.step +MALD32-50FBU,MALD,32,50,,,FB,U,MAL-MALD-32x50.step +MALD32-50FBCM,MALD,32,50,,,FB,CM,MAL-MALD-32x50.step +MALD32-50SDB,MALD,32,50,,,SDB,,MAL-MALD-32x50.step +MALD32-50SDBU,MALD,32,50,,,SDB,U,MAL-MALD-32x50.step +MALD32-50SDBCM,MALD,32,50,,,SDB,CM,MAL-MALD-32x50.step +MALD32-50ME,MALD,32,50,M,E,,,MAL-MALD-32x50.step +MALD32-50MEU,MALD,32,50,M,E,,U,MAL-MALD-32x50.step +MALD32-50MECM,MALD,32,50,M,E,,CM,MAL-MALD-32x50.step +MALD32-50MELB,MALD,32,50,M,E,LB,,MAL-MALD-32x50.step +MALD32-50MELBU,MALD,32,50,M,E,LB,U,MAL-MALD-32x50.step +MALD32-50MELBCM,MALD,32,50,M,E,LB,CM,MAL-MALD-32x50.step +MALD32-50MEFA,MALD,32,50,M,E,FA,,MAL-MALD-32x50.step +MALD32-50MEFAU,MALD,32,50,M,E,FA,U,MAL-MALD-32x50.step +MALD32-50MEFACM,MALD,32,50,M,E,FA,CM,MAL-MALD-32x50.step +MALD32-50MEFB,MALD,32,50,M,E,FB,,MAL-MALD-32x50.step +MALD32-50MEFBU,MALD,32,50,M,E,FB,U,MAL-MALD-32x50.step +MALD32-50MEFBCM,MALD,32,50,M,E,FB,CM,MAL-MALD-32x50.step +MALD32-50MESDB,MALD,32,50,M,E,SDB,,MAL-MALD-32x50.step +MALD32-50MESDBU,MALD,32,50,M,E,SDB,U,MAL-MALD-32x50.step +MALD32-50MESDBCM,MALD,32,50,M,E,SDB,CM,MAL-MALD-32x50.step +MALD32-50M,MALD,32,50,M,,,,MAL-MALD-32x50.step +MALD32-50MU,MALD,32,50,M,,,U,MAL-MALD-32x50.step +MALD32-50MCM,MALD,32,50,M,,,CM,MAL-MALD-32x50.step +MALD32-50MLB,MALD,32,50,M,,LB,,MAL-MALD-32x50.step +MALD32-50MLBU,MALD,32,50,M,,LB,U,MAL-MALD-32x50.step +MALD32-50MLBCM,MALD,32,50,M,,LB,CM,MAL-MALD-32x50.step +MALD32-50MFA,MALD,32,50,M,,FA,,MAL-MALD-32x50.step +MALD32-50MFAU,MALD,32,50,M,,FA,U,MAL-MALD-32x50.step +MALD32-50MFACM,MALD,32,50,M,,FA,CM,MAL-MALD-32x50.step +MALD32-50MFB,MALD,32,50,M,,FB,,MAL-MALD-32x50.step +MALD32-50MFBU,MALD,32,50,M,,FB,U,MAL-MALD-32x50.step +MALD32-50MFBCM,MALD,32,50,M,,FB,CM,MAL-MALD-32x50.step +MALD32-50MSDB,MALD,32,50,M,,SDB,,MAL-MALD-32x50.step +MALD32-50MSDBU,MALD,32,50,M,,SDB,U,MAL-MALD-32x50.step +MALD32-50MSDBCM,MALD,32,50,M,,SDB,CM,MAL-MALD-32x50.step +MALD32-75E,MALD,32,75,,E,,,MAL-MALD-32x75.step +MALD32-75EU,MALD,32,75,,E,,U,MAL-MALD-32x75.step +MALD32-75ECM,MALD,32,75,,E,,CM,MAL-MALD-32x75.step +MALD32-75ELB,MALD,32,75,,E,LB,,MAL-MALD-32x75.step +MALD32-75ELBU,MALD,32,75,,E,LB,U,MAL-MALD-32x75.step +MALD32-75ELBCM,MALD,32,75,,E,LB,CM,MAL-MALD-32x75.step +MALD32-75EFA,MALD,32,75,,E,FA,,MAL-MALD-32x75.step +MALD32-75EFAU,MALD,32,75,,E,FA,U,MAL-MALD-32x75.step +MALD32-75EFACM,MALD,32,75,,E,FA,CM,MAL-MALD-32x75.step +MALD32-75EFB,MALD,32,75,,E,FB,,MAL-MALD-32x75.step +MALD32-75EFBU,MALD,32,75,,E,FB,U,MAL-MALD-32x75.step +MALD32-75EFBCM,MALD,32,75,,E,FB,CM,MAL-MALD-32x75.step +MALD32-75ESDB,MALD,32,75,,E,SDB,,MAL-MALD-32x75.step +MALD32-75ESDBU,MALD,32,75,,E,SDB,U,MAL-MALD-32x75.step +MALD32-75ESDBCM,MALD,32,75,,E,SDB,CM,MAL-MALD-32x75.step +MALD32-75,MALD,32,75,,,,,MAL-MALD-32x75.step +MALD32-75U,MALD,32,75,,,,U,MAL-MALD-32x75.step +MALD32-75CM,MALD,32,75,,,,CM,MAL-MALD-32x75.step +MALD32-75LB,MALD,32,75,,,LB,,MAL-MALD-32x75.step +MALD32-75LBU,MALD,32,75,,,LB,U,MAL-MALD-32x75.step +MALD32-75LBCM,MALD,32,75,,,LB,CM,MAL-MALD-32x75.step +MALD32-75FA,MALD,32,75,,,FA,,MAL-MALD-32x75.step +MALD32-75FAU,MALD,32,75,,,FA,U,MAL-MALD-32x75.step +MALD32-75FACM,MALD,32,75,,,FA,CM,MAL-MALD-32x75.step +MALD32-75FB,MALD,32,75,,,FB,,MAL-MALD-32x75.step +MALD32-75FBU,MALD,32,75,,,FB,U,MAL-MALD-32x75.step +MALD32-75FBCM,MALD,32,75,,,FB,CM,MAL-MALD-32x75.step +MALD32-75SDB,MALD,32,75,,,SDB,,MAL-MALD-32x75.step +MALD32-75SDBU,MALD,32,75,,,SDB,U,MAL-MALD-32x75.step +MALD32-75SDBCM,MALD,32,75,,,SDB,CM,MAL-MALD-32x75.step +MALD32-75ME,MALD,32,75,M,E,,,MAL-MALD-32x75.step +MALD32-75MEU,MALD,32,75,M,E,,U,MAL-MALD-32x75.step +MALD32-75MECM,MALD,32,75,M,E,,CM,MAL-MALD-32x75.step +MALD32-75MELB,MALD,32,75,M,E,LB,,MAL-MALD-32x75.step +MALD32-75MELBU,MALD,32,75,M,E,LB,U,MAL-MALD-32x75.step +MALD32-75MELBCM,MALD,32,75,M,E,LB,CM,MAL-MALD-32x75.step +MALD32-75MEFA,MALD,32,75,M,E,FA,,MAL-MALD-32x75.step +MALD32-75MEFAU,MALD,32,75,M,E,FA,U,MAL-MALD-32x75.step +MALD32-75MEFACM,MALD,32,75,M,E,FA,CM,MAL-MALD-32x75.step +MALD32-75MEFB,MALD,32,75,M,E,FB,,MAL-MALD-32x75.step +MALD32-75MEFBU,MALD,32,75,M,E,FB,U,MAL-MALD-32x75.step +MALD32-75MEFBCM,MALD,32,75,M,E,FB,CM,MAL-MALD-32x75.step +MALD32-75MESDB,MALD,32,75,M,E,SDB,,MAL-MALD-32x75.step +MALD32-75MESDBU,MALD,32,75,M,E,SDB,U,MAL-MALD-32x75.step +MALD32-75MESDBCM,MALD,32,75,M,E,SDB,CM,MAL-MALD-32x75.step +MALD32-75M,MALD,32,75,M,,,,MAL-MALD-32x75.step +MALD32-75MU,MALD,32,75,M,,,U,MAL-MALD-32x75.step +MALD32-75MCM,MALD,32,75,M,,,CM,MAL-MALD-32x75.step +MALD32-75MLB,MALD,32,75,M,,LB,,MAL-MALD-32x75.step +MALD32-75MLBU,MALD,32,75,M,,LB,U,MAL-MALD-32x75.step +MALD32-75MLBCM,MALD,32,75,M,,LB,CM,MAL-MALD-32x75.step +MALD32-75MFA,MALD,32,75,M,,FA,,MAL-MALD-32x75.step +MALD32-75MFAU,MALD,32,75,M,,FA,U,MAL-MALD-32x75.step +MALD32-75MFACM,MALD,32,75,M,,FA,CM,MAL-MALD-32x75.step +MALD32-75MFB,MALD,32,75,M,,FB,,MAL-MALD-32x75.step +MALD32-75MFBU,MALD,32,75,M,,FB,U,MAL-MALD-32x75.step +MALD32-75MFBCM,MALD,32,75,M,,FB,CM,MAL-MALD-32x75.step +MALD32-75MSDB,MALD,32,75,M,,SDB,,MAL-MALD-32x75.step +MALD32-75MSDBU,MALD,32,75,M,,SDB,U,MAL-MALD-32x75.step +MALD32-75MSDBCM,MALD,32,75,M,,SDB,CM,MAL-MALD-32x75.step +MALD32-100E,MALD,32,100,,E,,,MAL-MALD-32x100.step +MALD32-100EU,MALD,32,100,,E,,U,MAL-MALD-32x100.step +MALD32-100ECM,MALD,32,100,,E,,CM,MAL-MALD-32x100.step +MALD32-100ELB,MALD,32,100,,E,LB,,MAL-MALD-32x100.step +MALD32-100ELBU,MALD,32,100,,E,LB,U,MAL-MALD-32x100.step +MALD32-100ELBCM,MALD,32,100,,E,LB,CM,MAL-MALD-32x100.step +MALD32-100EFA,MALD,32,100,,E,FA,,MAL-MALD-32x100.step +MALD32-100EFAU,MALD,32,100,,E,FA,U,MAL-MALD-32x100.step +MALD32-100EFACM,MALD,32,100,,E,FA,CM,MAL-MALD-32x100.step +MALD32-100EFB,MALD,32,100,,E,FB,,MAL-MALD-32x100.step +MALD32-100EFBU,MALD,32,100,,E,FB,U,MAL-MALD-32x100.step +MALD32-100EFBCM,MALD,32,100,,E,FB,CM,MAL-MALD-32x100.step +MALD32-100ESDB,MALD,32,100,,E,SDB,,MAL-MALD-32x100.step +MALD32-100ESDBU,MALD,32,100,,E,SDB,U,MAL-MALD-32x100.step +MALD32-100ESDBCM,MALD,32,100,,E,SDB,CM,MAL-MALD-32x100.step +MALD32-100,MALD,32,100,,,,,MAL-MALD-32x100.step +MALD32-100U,MALD,32,100,,,,U,MAL-MALD-32x100.step +MALD32-100CM,MALD,32,100,,,,CM,MAL-MALD-32x100.step +MALD32-100LB,MALD,32,100,,,LB,,MAL-MALD-32x100.step +MALD32-100LBU,MALD,32,100,,,LB,U,MAL-MALD-32x100.step +MALD32-100LBCM,MALD,32,100,,,LB,CM,MAL-MALD-32x100.step +MALD32-100FA,MALD,32,100,,,FA,,MAL-MALD-32x100.step +MALD32-100FAU,MALD,32,100,,,FA,U,MAL-MALD-32x100.step +MALD32-100FACM,MALD,32,100,,,FA,CM,MAL-MALD-32x100.step +MALD32-100FB,MALD,32,100,,,FB,,MAL-MALD-32x100.step +MALD32-100FBU,MALD,32,100,,,FB,U,MAL-MALD-32x100.step +MALD32-100FBCM,MALD,32,100,,,FB,CM,MAL-MALD-32x100.step +MALD32-100SDB,MALD,32,100,,,SDB,,MAL-MALD-32x100.step +MALD32-100SDBU,MALD,32,100,,,SDB,U,MAL-MALD-32x100.step +MALD32-100SDBCM,MALD,32,100,,,SDB,CM,MAL-MALD-32x100.step +MALD32-100ME,MALD,32,100,M,E,,,MAL-MALD-32x100.step +MALD32-100MEU,MALD,32,100,M,E,,U,MAL-MALD-32x100.step +MALD32-100MECM,MALD,32,100,M,E,,CM,MAL-MALD-32x100.step +MALD32-100MELB,MALD,32,100,M,E,LB,,MAL-MALD-32x100.step +MALD32-100MELBU,MALD,32,100,M,E,LB,U,MAL-MALD-32x100.step +MALD32-100MELBCM,MALD,32,100,M,E,LB,CM,MAL-MALD-32x100.step +MALD32-100MEFA,MALD,32,100,M,E,FA,,MAL-MALD-32x100.step +MALD32-100MEFAU,MALD,32,100,M,E,FA,U,MAL-MALD-32x100.step +MALD32-100MEFACM,MALD,32,100,M,E,FA,CM,MAL-MALD-32x100.step +MALD32-100MEFB,MALD,32,100,M,E,FB,,MAL-MALD-32x100.step +MALD32-100MEFBU,MALD,32,100,M,E,FB,U,MAL-MALD-32x100.step +MALD32-100MEFBCM,MALD,32,100,M,E,FB,CM,MAL-MALD-32x100.step +MALD32-100MESDB,MALD,32,100,M,E,SDB,,MAL-MALD-32x100.step +MALD32-100MESDBU,MALD,32,100,M,E,SDB,U,MAL-MALD-32x100.step +MALD32-100MESDBCM,MALD,32,100,M,E,SDB,CM,MAL-MALD-32x100.step +MALD32-100M,MALD,32,100,M,,,,MAL-MALD-32x100.step +MALD32-100MU,MALD,32,100,M,,,U,MAL-MALD-32x100.step +MALD32-100MCM,MALD,32,100,M,,,CM,MAL-MALD-32x100.step +MALD32-100MLB,MALD,32,100,M,,LB,,MAL-MALD-32x100.step +MALD32-100MLBU,MALD,32,100,M,,LB,U,MAL-MALD-32x100.step +MALD32-100MLBCM,MALD,32,100,M,,LB,CM,MAL-MALD-32x100.step +MALD32-100MFA,MALD,32,100,M,,FA,,MAL-MALD-32x100.step +MALD32-100MFAU,MALD,32,100,M,,FA,U,MAL-MALD-32x100.step +MALD32-100MFACM,MALD,32,100,M,,FA,CM,MAL-MALD-32x100.step +MALD32-100MFB,MALD,32,100,M,,FB,,MAL-MALD-32x100.step +MALD32-100MFBU,MALD,32,100,M,,FB,U,MAL-MALD-32x100.step +MALD32-100MFBCM,MALD,32,100,M,,FB,CM,MAL-MALD-32x100.step +MALD32-100MSDB,MALD,32,100,M,,SDB,,MAL-MALD-32x100.step +MALD32-100MSDBU,MALD,32,100,M,,SDB,U,MAL-MALD-32x100.step +MALD32-100MSDBCM,MALD,32,100,M,,SDB,CM,MAL-MALD-32x100.step +MALD40-10E,MALD,40,10,,E,,,MAL-MALD-40x10.step +MALD40-10EU,MALD,40,10,,E,,U,MAL-MALD-40x10.step +MALD40-10ECM,MALD,40,10,,E,,CM,MAL-MALD-40x10.step +MALD40-10ELB,MALD,40,10,,E,LB,,MAL-MALD-40x10.step +MALD40-10ELBU,MALD,40,10,,E,LB,U,MAL-MALD-40x10.step +MALD40-10ELBCM,MALD,40,10,,E,LB,CM,MAL-MALD-40x10.step +MALD40-10EFA,MALD,40,10,,E,FA,,MAL-MALD-40x10.step +MALD40-10EFAU,MALD,40,10,,E,FA,U,MAL-MALD-40x10.step +MALD40-10EFACM,MALD,40,10,,E,FA,CM,MAL-MALD-40x10.step +MALD40-10EFB,MALD,40,10,,E,FB,,MAL-MALD-40x10.step +MALD40-10EFBU,MALD,40,10,,E,FB,U,MAL-MALD-40x10.step +MALD40-10EFBCM,MALD,40,10,,E,FB,CM,MAL-MALD-40x10.step +MALD40-10ESDB,MALD,40,10,,E,SDB,,MAL-MALD-40x10.step +MALD40-10ESDBU,MALD,40,10,,E,SDB,U,MAL-MALD-40x10.step +MALD40-10ESDBCM,MALD,40,10,,E,SDB,CM,MAL-MALD-40x10.step +MALD40-10,MALD,40,10,,,,,MAL-MALD-40x10.step +MALD40-10U,MALD,40,10,,,,U,MAL-MALD-40x10.step +MALD40-10CM,MALD,40,10,,,,CM,MAL-MALD-40x10.step +MALD40-10LB,MALD,40,10,,,LB,,MAL-MALD-40x10.step +MALD40-10LBU,MALD,40,10,,,LB,U,MAL-MALD-40x10.step +MALD40-10LBCM,MALD,40,10,,,LB,CM,MAL-MALD-40x10.step +MALD40-10FA,MALD,40,10,,,FA,,MAL-MALD-40x10.step +MALD40-10FAU,MALD,40,10,,,FA,U,MAL-MALD-40x10.step +MALD40-10FACM,MALD,40,10,,,FA,CM,MAL-MALD-40x10.step +MALD40-10FB,MALD,40,10,,,FB,,MAL-MALD-40x10.step +MALD40-10FBU,MALD,40,10,,,FB,U,MAL-MALD-40x10.step +MALD40-10FBCM,MALD,40,10,,,FB,CM,MAL-MALD-40x10.step +MALD40-10SDB,MALD,40,10,,,SDB,,MAL-MALD-40x10.step +MALD40-10SDBU,MALD,40,10,,,SDB,U,MAL-MALD-40x10.step +MALD40-10SDBCM,MALD,40,10,,,SDB,CM,MAL-MALD-40x10.step +MALD40-10ME,MALD,40,10,M,E,,,MAL-MALD-40x10.step +MALD40-10MEU,MALD,40,10,M,E,,U,MAL-MALD-40x10.step +MALD40-10MECM,MALD,40,10,M,E,,CM,MAL-MALD-40x10.step +MALD40-10MELB,MALD,40,10,M,E,LB,,MAL-MALD-40x10.step +MALD40-10MELBU,MALD,40,10,M,E,LB,U,MAL-MALD-40x10.step +MALD40-10MELBCM,MALD,40,10,M,E,LB,CM,MAL-MALD-40x10.step +MALD40-10MEFA,MALD,40,10,M,E,FA,,MAL-MALD-40x10.step +MALD40-10MEFAU,MALD,40,10,M,E,FA,U,MAL-MALD-40x10.step +MALD40-10MEFACM,MALD,40,10,M,E,FA,CM,MAL-MALD-40x10.step +MALD40-10MEFB,MALD,40,10,M,E,FB,,MAL-MALD-40x10.step +MALD40-10MEFBU,MALD,40,10,M,E,FB,U,MAL-MALD-40x10.step +MALD40-10MEFBCM,MALD,40,10,M,E,FB,CM,MAL-MALD-40x10.step +MALD40-10MESDB,MALD,40,10,M,E,SDB,,MAL-MALD-40x10.step +MALD40-10MESDBU,MALD,40,10,M,E,SDB,U,MAL-MALD-40x10.step +MALD40-10MESDBCM,MALD,40,10,M,E,SDB,CM,MAL-MALD-40x10.step +MALD40-10M,MALD,40,10,M,,,,MAL-MALD-40x10.step +MALD40-10MU,MALD,40,10,M,,,U,MAL-MALD-40x10.step +MALD40-10MCM,MALD,40,10,M,,,CM,MAL-MALD-40x10.step +MALD40-10MLB,MALD,40,10,M,,LB,,MAL-MALD-40x10.step +MALD40-10MLBU,MALD,40,10,M,,LB,U,MAL-MALD-40x10.step +MALD40-10MLBCM,MALD,40,10,M,,LB,CM,MAL-MALD-40x10.step +MALD40-10MFA,MALD,40,10,M,,FA,,MAL-MALD-40x10.step +MALD40-10MFAU,MALD,40,10,M,,FA,U,MAL-MALD-40x10.step +MALD40-10MFACM,MALD,40,10,M,,FA,CM,MAL-MALD-40x10.step +MALD40-10MFB,MALD,40,10,M,,FB,,MAL-MALD-40x10.step +MALD40-10MFBU,MALD,40,10,M,,FB,U,MAL-MALD-40x10.step +MALD40-10MFBCM,MALD,40,10,M,,FB,CM,MAL-MALD-40x10.step +MALD40-10MSDB,MALD,40,10,M,,SDB,,MAL-MALD-40x10.step +MALD40-10MSDBU,MALD,40,10,M,,SDB,U,MAL-MALD-40x10.step +MALD40-10MSDBCM,MALD,40,10,M,,SDB,CM,MAL-MALD-40x10.step +MALD40-20E,MALD,40,20,,E,,,MAL-MALD-40x20.step +MALD40-20EU,MALD,40,20,,E,,U,MAL-MALD-40x20.step +MALD40-20ECM,MALD,40,20,,E,,CM,MAL-MALD-40x20.step +MALD40-20ELB,MALD,40,20,,E,LB,,MAL-MALD-40x20.step +MALD40-20ELBU,MALD,40,20,,E,LB,U,MAL-MALD-40x20.step +MALD40-20ELBCM,MALD,40,20,,E,LB,CM,MAL-MALD-40x20.step +MALD40-20EFA,MALD,40,20,,E,FA,,MAL-MALD-40x20.step +MALD40-20EFAU,MALD,40,20,,E,FA,U,MAL-MALD-40x20.step +MALD40-20EFACM,MALD,40,20,,E,FA,CM,MAL-MALD-40x20.step +MALD40-20EFB,MALD,40,20,,E,FB,,MAL-MALD-40x20.step +MALD40-20EFBU,MALD,40,20,,E,FB,U,MAL-MALD-40x20.step +MALD40-20EFBCM,MALD,40,20,,E,FB,CM,MAL-MALD-40x20.step +MALD40-20ESDB,MALD,40,20,,E,SDB,,MAL-MALD-40x20.step +MALD40-20ESDBU,MALD,40,20,,E,SDB,U,MAL-MALD-40x20.step +MALD40-20ESDBCM,MALD,40,20,,E,SDB,CM,MAL-MALD-40x20.step +MALD40-20,MALD,40,20,,,,,MAL-MALD-40x20.step +MALD40-20U,MALD,40,20,,,,U,MAL-MALD-40x20.step +MALD40-20CM,MALD,40,20,,,,CM,MAL-MALD-40x20.step +MALD40-20LB,MALD,40,20,,,LB,,MAL-MALD-40x20.step +MALD40-20LBU,MALD,40,20,,,LB,U,MAL-MALD-40x20.step +MALD40-20LBCM,MALD,40,20,,,LB,CM,MAL-MALD-40x20.step +MALD40-20FA,MALD,40,20,,,FA,,MAL-MALD-40x20.step +MALD40-20FAU,MALD,40,20,,,FA,U,MAL-MALD-40x20.step +MALD40-20FACM,MALD,40,20,,,FA,CM,MAL-MALD-40x20.step +MALD40-20FB,MALD,40,20,,,FB,,MAL-MALD-40x20.step +MALD40-20FBU,MALD,40,20,,,FB,U,MAL-MALD-40x20.step +MALD40-20FBCM,MALD,40,20,,,FB,CM,MAL-MALD-40x20.step +MALD40-20SDB,MALD,40,20,,,SDB,,MAL-MALD-40x20.step +MALD40-20SDBU,MALD,40,20,,,SDB,U,MAL-MALD-40x20.step +MALD40-20SDBCM,MALD,40,20,,,SDB,CM,MAL-MALD-40x20.step +MALD40-20ME,MALD,40,20,M,E,,,MAL-MALD-40x20.step +MALD40-20MEU,MALD,40,20,M,E,,U,MAL-MALD-40x20.step +MALD40-20MECM,MALD,40,20,M,E,,CM,MAL-MALD-40x20.step +MALD40-20MELB,MALD,40,20,M,E,LB,,MAL-MALD-40x20.step +MALD40-20MELBU,MALD,40,20,M,E,LB,U,MAL-MALD-40x20.step +MALD40-20MELBCM,MALD,40,20,M,E,LB,CM,MAL-MALD-40x20.step +MALD40-20MEFA,MALD,40,20,M,E,FA,,MAL-MALD-40x20.step +MALD40-20MEFAU,MALD,40,20,M,E,FA,U,MAL-MALD-40x20.step +MALD40-20MEFACM,MALD,40,20,M,E,FA,CM,MAL-MALD-40x20.step +MALD40-20MEFB,MALD,40,20,M,E,FB,,MAL-MALD-40x20.step +MALD40-20MEFBU,MALD,40,20,M,E,FB,U,MAL-MALD-40x20.step +MALD40-20MEFBCM,MALD,40,20,M,E,FB,CM,MAL-MALD-40x20.step +MALD40-20MESDB,MALD,40,20,M,E,SDB,,MAL-MALD-40x20.step +MALD40-20MESDBU,MALD,40,20,M,E,SDB,U,MAL-MALD-40x20.step +MALD40-20MESDBCM,MALD,40,20,M,E,SDB,CM,MAL-MALD-40x20.step +MALD40-20M,MALD,40,20,M,,,,MAL-MALD-40x20.step +MALD40-20MU,MALD,40,20,M,,,U,MAL-MALD-40x20.step +MALD40-20MCM,MALD,40,20,M,,,CM,MAL-MALD-40x20.step +MALD40-20MLB,MALD,40,20,M,,LB,,MAL-MALD-40x20.step +MALD40-20MLBU,MALD,40,20,M,,LB,U,MAL-MALD-40x20.step +MALD40-20MLBCM,MALD,40,20,M,,LB,CM,MAL-MALD-40x20.step +MALD40-20MFA,MALD,40,20,M,,FA,,MAL-MALD-40x20.step +MALD40-20MFAU,MALD,40,20,M,,FA,U,MAL-MALD-40x20.step +MALD40-20MFACM,MALD,40,20,M,,FA,CM,MAL-MALD-40x20.step +MALD40-20MFB,MALD,40,20,M,,FB,,MAL-MALD-40x20.step +MALD40-20MFBU,MALD,40,20,M,,FB,U,MAL-MALD-40x20.step +MALD40-20MFBCM,MALD,40,20,M,,FB,CM,MAL-MALD-40x20.step +MALD40-20MSDB,MALD,40,20,M,,SDB,,MAL-MALD-40x20.step +MALD40-20MSDBU,MALD,40,20,M,,SDB,U,MAL-MALD-40x20.step +MALD40-20MSDBCM,MALD,40,20,M,,SDB,CM,MAL-MALD-40x20.step +MALD40-30E,MALD,40,30,,E,,,MAL-MALD-40x30.step +MALD40-30EU,MALD,40,30,,E,,U,MAL-MALD-40x30.step +MALD40-30ECM,MALD,40,30,,E,,CM,MAL-MALD-40x30.step +MALD40-30ELB,MALD,40,30,,E,LB,,MAL-MALD-40x30.step +MALD40-30ELBU,MALD,40,30,,E,LB,U,MAL-MALD-40x30.step +MALD40-30ELBCM,MALD,40,30,,E,LB,CM,MAL-MALD-40x30.step +MALD40-30EFA,MALD,40,30,,E,FA,,MAL-MALD-40x30.step +MALD40-30EFAU,MALD,40,30,,E,FA,U,MAL-MALD-40x30.step +MALD40-30EFACM,MALD,40,30,,E,FA,CM,MAL-MALD-40x30.step +MALD40-30EFB,MALD,40,30,,E,FB,,MAL-MALD-40x30.step +MALD40-30EFBU,MALD,40,30,,E,FB,U,MAL-MALD-40x30.step +MALD40-30EFBCM,MALD,40,30,,E,FB,CM,MAL-MALD-40x30.step +MALD40-30ESDB,MALD,40,30,,E,SDB,,MAL-MALD-40x30.step +MALD40-30ESDBU,MALD,40,30,,E,SDB,U,MAL-MALD-40x30.step +MALD40-30ESDBCM,MALD,40,30,,E,SDB,CM,MAL-MALD-40x30.step +MALD40-30,MALD,40,30,,,,,MAL-MALD-40x30.step +MALD40-30U,MALD,40,30,,,,U,MAL-MALD-40x30.step +MALD40-30CM,MALD,40,30,,,,CM,MAL-MALD-40x30.step +MALD40-30LB,MALD,40,30,,,LB,,MAL-MALD-40x30.step +MALD40-30LBU,MALD,40,30,,,LB,U,MAL-MALD-40x30.step +MALD40-30LBCM,MALD,40,30,,,LB,CM,MAL-MALD-40x30.step +MALD40-30FA,MALD,40,30,,,FA,,MAL-MALD-40x30.step +MALD40-30FAU,MALD,40,30,,,FA,U,MAL-MALD-40x30.step +MALD40-30FACM,MALD,40,30,,,FA,CM,MAL-MALD-40x30.step +MALD40-30FB,MALD,40,30,,,FB,,MAL-MALD-40x30.step +MALD40-30FBU,MALD,40,30,,,FB,U,MAL-MALD-40x30.step +MALD40-30FBCM,MALD,40,30,,,FB,CM,MAL-MALD-40x30.step +MALD40-30SDB,MALD,40,30,,,SDB,,MAL-MALD-40x30.step +MALD40-30SDBU,MALD,40,30,,,SDB,U,MAL-MALD-40x30.step +MALD40-30SDBCM,MALD,40,30,,,SDB,CM,MAL-MALD-40x30.step +MALD40-30ME,MALD,40,30,M,E,,,MAL-MALD-40x30.step +MALD40-30MEU,MALD,40,30,M,E,,U,MAL-MALD-40x30.step +MALD40-30MECM,MALD,40,30,M,E,,CM,MAL-MALD-40x30.step +MALD40-30MELB,MALD,40,30,M,E,LB,,MAL-MALD-40x30.step +MALD40-30MELBU,MALD,40,30,M,E,LB,U,MAL-MALD-40x30.step +MALD40-30MELBCM,MALD,40,30,M,E,LB,CM,MAL-MALD-40x30.step +MALD40-30MEFA,MALD,40,30,M,E,FA,,MAL-MALD-40x30.step +MALD40-30MEFAU,MALD,40,30,M,E,FA,U,MAL-MALD-40x30.step +MALD40-30MEFACM,MALD,40,30,M,E,FA,CM,MAL-MALD-40x30.step +MALD40-30MEFB,MALD,40,30,M,E,FB,,MAL-MALD-40x30.step +MALD40-30MEFBU,MALD,40,30,M,E,FB,U,MAL-MALD-40x30.step +MALD40-30MEFBCM,MALD,40,30,M,E,FB,CM,MAL-MALD-40x30.step +MALD40-30MESDB,MALD,40,30,M,E,SDB,,MAL-MALD-40x30.step +MALD40-30MESDBU,MALD,40,30,M,E,SDB,U,MAL-MALD-40x30.step +MALD40-30MESDBCM,MALD,40,30,M,E,SDB,CM,MAL-MALD-40x30.step +MALD40-30M,MALD,40,30,M,,,,MAL-MALD-40x30.step +MALD40-30MU,MALD,40,30,M,,,U,MAL-MALD-40x30.step +MALD40-30MCM,MALD,40,30,M,,,CM,MAL-MALD-40x30.step +MALD40-30MLB,MALD,40,30,M,,LB,,MAL-MALD-40x30.step +MALD40-30MLBU,MALD,40,30,M,,LB,U,MAL-MALD-40x30.step +MALD40-30MLBCM,MALD,40,30,M,,LB,CM,MAL-MALD-40x30.step +MALD40-30MFA,MALD,40,30,M,,FA,,MAL-MALD-40x30.step +MALD40-30MFAU,MALD,40,30,M,,FA,U,MAL-MALD-40x30.step +MALD40-30MFACM,MALD,40,30,M,,FA,CM,MAL-MALD-40x30.step +MALD40-30MFB,MALD,40,30,M,,FB,,MAL-MALD-40x30.step +MALD40-30MFBU,MALD,40,30,M,,FB,U,MAL-MALD-40x30.step +MALD40-30MFBCM,MALD,40,30,M,,FB,CM,MAL-MALD-40x30.step +MALD40-30MSDB,MALD,40,30,M,,SDB,,MAL-MALD-40x30.step +MALD40-30MSDBU,MALD,40,30,M,,SDB,U,MAL-MALD-40x30.step +MALD40-30MSDBCM,MALD,40,30,M,,SDB,CM,MAL-MALD-40x30.step +MALD40-50E,MALD,40,50,,E,,,MAL-MALD-40x50.step +MALD40-50EU,MALD,40,50,,E,,U,MAL-MALD-40x50.step +MALD40-50ECM,MALD,40,50,,E,,CM,MAL-MALD-40x50.step +MALD40-50ELB,MALD,40,50,,E,LB,,MAL-MALD-40x50.step +MALD40-50ELBU,MALD,40,50,,E,LB,U,MAL-MALD-40x50.step +MALD40-50ELBCM,MALD,40,50,,E,LB,CM,MAL-MALD-40x50.step +MALD40-50EFA,MALD,40,50,,E,FA,,MAL-MALD-40x50.step +MALD40-50EFAU,MALD,40,50,,E,FA,U,MAL-MALD-40x50.step +MALD40-50EFACM,MALD,40,50,,E,FA,CM,MAL-MALD-40x50.step +MALD40-50EFB,MALD,40,50,,E,FB,,MAL-MALD-40x50.step +MALD40-50EFBU,MALD,40,50,,E,FB,U,MAL-MALD-40x50.step +MALD40-50EFBCM,MALD,40,50,,E,FB,CM,MAL-MALD-40x50.step +MALD40-50ESDB,MALD,40,50,,E,SDB,,MAL-MALD-40x50.step +MALD40-50ESDBU,MALD,40,50,,E,SDB,U,MAL-MALD-40x50.step +MALD40-50ESDBCM,MALD,40,50,,E,SDB,CM,MAL-MALD-40x50.step +MALD40-50,MALD,40,50,,,,,MAL-MALD-40x50.step +MALD40-50U,MALD,40,50,,,,U,MAL-MALD-40x50.step +MALD40-50CM,MALD,40,50,,,,CM,MAL-MALD-40x50.step +MALD40-50LB,MALD,40,50,,,LB,,MAL-MALD-40x50.step +MALD40-50LBU,MALD,40,50,,,LB,U,MAL-MALD-40x50.step +MALD40-50LBCM,MALD,40,50,,,LB,CM,MAL-MALD-40x50.step +MALD40-50FA,MALD,40,50,,,FA,,MAL-MALD-40x50.step +MALD40-50FAU,MALD,40,50,,,FA,U,MAL-MALD-40x50.step +MALD40-50FACM,MALD,40,50,,,FA,CM,MAL-MALD-40x50.step +MALD40-50FB,MALD,40,50,,,FB,,MAL-MALD-40x50.step +MALD40-50FBU,MALD,40,50,,,FB,U,MAL-MALD-40x50.step +MALD40-50FBCM,MALD,40,50,,,FB,CM,MAL-MALD-40x50.step +MALD40-50SDB,MALD,40,50,,,SDB,,MAL-MALD-40x50.step +MALD40-50SDBU,MALD,40,50,,,SDB,U,MAL-MALD-40x50.step +MALD40-50SDBCM,MALD,40,50,,,SDB,CM,MAL-MALD-40x50.step +MALD40-50ME,MALD,40,50,M,E,,,MAL-MALD-40x50.step +MALD40-50MEU,MALD,40,50,M,E,,U,MAL-MALD-40x50.step +MALD40-50MECM,MALD,40,50,M,E,,CM,MAL-MALD-40x50.step +MALD40-50MELB,MALD,40,50,M,E,LB,,MAL-MALD-40x50.step +MALD40-50MELBU,MALD,40,50,M,E,LB,U,MAL-MALD-40x50.step +MALD40-50MELBCM,MALD,40,50,M,E,LB,CM,MAL-MALD-40x50.step +MALD40-50MEFA,MALD,40,50,M,E,FA,,MAL-MALD-40x50.step +MALD40-50MEFAU,MALD,40,50,M,E,FA,U,MAL-MALD-40x50.step +MALD40-50MEFACM,MALD,40,50,M,E,FA,CM,MAL-MALD-40x50.step +MALD40-50MEFB,MALD,40,50,M,E,FB,,MAL-MALD-40x50.step +MALD40-50MEFBU,MALD,40,50,M,E,FB,U,MAL-MALD-40x50.step +MALD40-50MEFBCM,MALD,40,50,M,E,FB,CM,MAL-MALD-40x50.step +MALD40-50MESDB,MALD,40,50,M,E,SDB,,MAL-MALD-40x50.step +MALD40-50MESDBU,MALD,40,50,M,E,SDB,U,MAL-MALD-40x50.step +MALD40-50MESDBCM,MALD,40,50,M,E,SDB,CM,MAL-MALD-40x50.step +MALD40-50M,MALD,40,50,M,,,,MAL-MALD-40x50.step +MALD40-50MU,MALD,40,50,M,,,U,MAL-MALD-40x50.step +MALD40-50MCM,MALD,40,50,M,,,CM,MAL-MALD-40x50.step +MALD40-50MLB,MALD,40,50,M,,LB,,MAL-MALD-40x50.step +MALD40-50MLBU,MALD,40,50,M,,LB,U,MAL-MALD-40x50.step +MALD40-50MLBCM,MALD,40,50,M,,LB,CM,MAL-MALD-40x50.step +MALD40-50MFA,MALD,40,50,M,,FA,,MAL-MALD-40x50.step +MALD40-50MFAU,MALD,40,50,M,,FA,U,MAL-MALD-40x50.step +MALD40-50MFACM,MALD,40,50,M,,FA,CM,MAL-MALD-40x50.step +MALD40-50MFB,MALD,40,50,M,,FB,,MAL-MALD-40x50.step +MALD40-50MFBU,MALD,40,50,M,,FB,U,MAL-MALD-40x50.step +MALD40-50MFBCM,MALD,40,50,M,,FB,CM,MAL-MALD-40x50.step +MALD40-50MSDB,MALD,40,50,M,,SDB,,MAL-MALD-40x50.step +MALD40-50MSDBU,MALD,40,50,M,,SDB,U,MAL-MALD-40x50.step +MALD40-50MSDBCM,MALD,40,50,M,,SDB,CM,MAL-MALD-40x50.step +MALD40-75E,MALD,40,75,,E,,,MAL-MALD-40x75.step +MALD40-75EU,MALD,40,75,,E,,U,MAL-MALD-40x75.step +MALD40-75ECM,MALD,40,75,,E,,CM,MAL-MALD-40x75.step +MALD40-75ELB,MALD,40,75,,E,LB,,MAL-MALD-40x75.step +MALD40-75ELBU,MALD,40,75,,E,LB,U,MAL-MALD-40x75.step +MALD40-75ELBCM,MALD,40,75,,E,LB,CM,MAL-MALD-40x75.step +MALD40-75EFA,MALD,40,75,,E,FA,,MAL-MALD-40x75.step +MALD40-75EFAU,MALD,40,75,,E,FA,U,MAL-MALD-40x75.step +MALD40-75EFACM,MALD,40,75,,E,FA,CM,MAL-MALD-40x75.step +MALD40-75EFB,MALD,40,75,,E,FB,,MAL-MALD-40x75.step +MALD40-75EFBU,MALD,40,75,,E,FB,U,MAL-MALD-40x75.step +MALD40-75EFBCM,MALD,40,75,,E,FB,CM,MAL-MALD-40x75.step +MALD40-75ESDB,MALD,40,75,,E,SDB,,MAL-MALD-40x75.step +MALD40-75ESDBU,MALD,40,75,,E,SDB,U,MAL-MALD-40x75.step +MALD40-75ESDBCM,MALD,40,75,,E,SDB,CM,MAL-MALD-40x75.step +MALD40-75,MALD,40,75,,,,,MAL-MALD-40x75.step +MALD40-75U,MALD,40,75,,,,U,MAL-MALD-40x75.step +MALD40-75CM,MALD,40,75,,,,CM,MAL-MALD-40x75.step +MALD40-75LB,MALD,40,75,,,LB,,MAL-MALD-40x75.step +MALD40-75LBU,MALD,40,75,,,LB,U,MAL-MALD-40x75.step +MALD40-75LBCM,MALD,40,75,,,LB,CM,MAL-MALD-40x75.step +MALD40-75FA,MALD,40,75,,,FA,,MAL-MALD-40x75.step +MALD40-75FAU,MALD,40,75,,,FA,U,MAL-MALD-40x75.step +MALD40-75FACM,MALD,40,75,,,FA,CM,MAL-MALD-40x75.step +MALD40-75FB,MALD,40,75,,,FB,,MAL-MALD-40x75.step +MALD40-75FBU,MALD,40,75,,,FB,U,MAL-MALD-40x75.step +MALD40-75FBCM,MALD,40,75,,,FB,CM,MAL-MALD-40x75.step +MALD40-75SDB,MALD,40,75,,,SDB,,MAL-MALD-40x75.step +MALD40-75SDBU,MALD,40,75,,,SDB,U,MAL-MALD-40x75.step +MALD40-75SDBCM,MALD,40,75,,,SDB,CM,MAL-MALD-40x75.step +MALD40-75ME,MALD,40,75,M,E,,,MAL-MALD-40x75.step +MALD40-75MEU,MALD,40,75,M,E,,U,MAL-MALD-40x75.step +MALD40-75MECM,MALD,40,75,M,E,,CM,MAL-MALD-40x75.step +MALD40-75MELB,MALD,40,75,M,E,LB,,MAL-MALD-40x75.step +MALD40-75MELBU,MALD,40,75,M,E,LB,U,MAL-MALD-40x75.step +MALD40-75MELBCM,MALD,40,75,M,E,LB,CM,MAL-MALD-40x75.step +MALD40-75MEFA,MALD,40,75,M,E,FA,,MAL-MALD-40x75.step +MALD40-75MEFAU,MALD,40,75,M,E,FA,U,MAL-MALD-40x75.step +MALD40-75MEFACM,MALD,40,75,M,E,FA,CM,MAL-MALD-40x75.step +MALD40-75MEFB,MALD,40,75,M,E,FB,,MAL-MALD-40x75.step +MALD40-75MEFBU,MALD,40,75,M,E,FB,U,MAL-MALD-40x75.step +MALD40-75MEFBCM,MALD,40,75,M,E,FB,CM,MAL-MALD-40x75.step +MALD40-75MESDB,MALD,40,75,M,E,SDB,,MAL-MALD-40x75.step +MALD40-75MESDBU,MALD,40,75,M,E,SDB,U,MAL-MALD-40x75.step +MALD40-75MESDBCM,MALD,40,75,M,E,SDB,CM,MAL-MALD-40x75.step +MALD40-75M,MALD,40,75,M,,,,MAL-MALD-40x75.step +MALD40-75MU,MALD,40,75,M,,,U,MAL-MALD-40x75.step +MALD40-75MCM,MALD,40,75,M,,,CM,MAL-MALD-40x75.step +MALD40-75MLB,MALD,40,75,M,,LB,,MAL-MALD-40x75.step +MALD40-75MLBU,MALD,40,75,M,,LB,U,MAL-MALD-40x75.step +MALD40-75MLBCM,MALD,40,75,M,,LB,CM,MAL-MALD-40x75.step +MALD40-75MFA,MALD,40,75,M,,FA,,MAL-MALD-40x75.step +MALD40-75MFAU,MALD,40,75,M,,FA,U,MAL-MALD-40x75.step +MALD40-75MFACM,MALD,40,75,M,,FA,CM,MAL-MALD-40x75.step +MALD40-75MFB,MALD,40,75,M,,FB,,MAL-MALD-40x75.step +MALD40-75MFBU,MALD,40,75,M,,FB,U,MAL-MALD-40x75.step +MALD40-75MFBCM,MALD,40,75,M,,FB,CM,MAL-MALD-40x75.step +MALD40-75MSDB,MALD,40,75,M,,SDB,,MAL-MALD-40x75.step +MALD40-75MSDBU,MALD,40,75,M,,SDB,U,MAL-MALD-40x75.step +MALD40-75MSDBCM,MALD,40,75,M,,SDB,CM,MAL-MALD-40x75.step +MALD40-100E,MALD,40,100,,E,,,MAL-MALD-40x100.step +MALD40-100EU,MALD,40,100,,E,,U,MAL-MALD-40x100.step +MALD40-100ECM,MALD,40,100,,E,,CM,MAL-MALD-40x100.step +MALD40-100ELB,MALD,40,100,,E,LB,,MAL-MALD-40x100.step +MALD40-100ELBU,MALD,40,100,,E,LB,U,MAL-MALD-40x100.step +MALD40-100ELBCM,MALD,40,100,,E,LB,CM,MAL-MALD-40x100.step +MALD40-100EFA,MALD,40,100,,E,FA,,MAL-MALD-40x100.step +MALD40-100EFAU,MALD,40,100,,E,FA,U,MAL-MALD-40x100.step +MALD40-100EFACM,MALD,40,100,,E,FA,CM,MAL-MALD-40x100.step +MALD40-100EFB,MALD,40,100,,E,FB,,MAL-MALD-40x100.step +MALD40-100EFBU,MALD,40,100,,E,FB,U,MAL-MALD-40x100.step +MALD40-100EFBCM,MALD,40,100,,E,FB,CM,MAL-MALD-40x100.step +MALD40-100ESDB,MALD,40,100,,E,SDB,,MAL-MALD-40x100.step +MALD40-100ESDBU,MALD,40,100,,E,SDB,U,MAL-MALD-40x100.step +MALD40-100ESDBCM,MALD,40,100,,E,SDB,CM,MAL-MALD-40x100.step +MALD40-100,MALD,40,100,,,,,MAL-MALD-40x100.step +MALD40-100U,MALD,40,100,,,,U,MAL-MALD-40x100.step +MALD40-100CM,MALD,40,100,,,,CM,MAL-MALD-40x100.step +MALD40-100LB,MALD,40,100,,,LB,,MAL-MALD-40x100.step +MALD40-100LBU,MALD,40,100,,,LB,U,MAL-MALD-40x100.step +MALD40-100LBCM,MALD,40,100,,,LB,CM,MAL-MALD-40x100.step +MALD40-100FA,MALD,40,100,,,FA,,MAL-MALD-40x100.step +MALD40-100FAU,MALD,40,100,,,FA,U,MAL-MALD-40x100.step +MALD40-100FACM,MALD,40,100,,,FA,CM,MAL-MALD-40x100.step +MALD40-100FB,MALD,40,100,,,FB,,MAL-MALD-40x100.step +MALD40-100FBU,MALD,40,100,,,FB,U,MAL-MALD-40x100.step +MALD40-100FBCM,MALD,40,100,,,FB,CM,MAL-MALD-40x100.step +MALD40-100SDB,MALD,40,100,,,SDB,,MAL-MALD-40x100.step +MALD40-100SDBU,MALD,40,100,,,SDB,U,MAL-MALD-40x100.step +MALD40-100SDBCM,MALD,40,100,,,SDB,CM,MAL-MALD-40x100.step +MALD40-100ME,MALD,40,100,M,E,,,MAL-MALD-40x100.step +MALD40-100MEU,MALD,40,100,M,E,,U,MAL-MALD-40x100.step +MALD40-100MECM,MALD,40,100,M,E,,CM,MAL-MALD-40x100.step +MALD40-100MELB,MALD,40,100,M,E,LB,,MAL-MALD-40x100.step +MALD40-100MELBU,MALD,40,100,M,E,LB,U,MAL-MALD-40x100.step +MALD40-100MELBCM,MALD,40,100,M,E,LB,CM,MAL-MALD-40x100.step +MALD40-100MEFA,MALD,40,100,M,E,FA,,MAL-MALD-40x100.step +MALD40-100MEFAU,MALD,40,100,M,E,FA,U,MAL-MALD-40x100.step +MALD40-100MEFACM,MALD,40,100,M,E,FA,CM,MAL-MALD-40x100.step +MALD40-100MEFB,MALD,40,100,M,E,FB,,MAL-MALD-40x100.step +MALD40-100MEFBU,MALD,40,100,M,E,FB,U,MAL-MALD-40x100.step +MALD40-100MEFBCM,MALD,40,100,M,E,FB,CM,MAL-MALD-40x100.step +MALD40-100MESDB,MALD,40,100,M,E,SDB,,MAL-MALD-40x100.step +MALD40-100MESDBU,MALD,40,100,M,E,SDB,U,MAL-MALD-40x100.step +MALD40-100MESDBCM,MALD,40,100,M,E,SDB,CM,MAL-MALD-40x100.step +MALD40-100M,MALD,40,100,M,,,,MAL-MALD-40x100.step +MALD40-100MU,MALD,40,100,M,,,U,MAL-MALD-40x100.step +MALD40-100MCM,MALD,40,100,M,,,CM,MAL-MALD-40x100.step +MALD40-100MLB,MALD,40,100,M,,LB,,MAL-MALD-40x100.step +MALD40-100MLBU,MALD,40,100,M,,LB,U,MAL-MALD-40x100.step +MALD40-100MLBCM,MALD,40,100,M,,LB,CM,MAL-MALD-40x100.step +MALD40-100MFA,MALD,40,100,M,,FA,,MAL-MALD-40x100.step +MALD40-100MFAU,MALD,40,100,M,,FA,U,MAL-MALD-40x100.step +MALD40-100MFACM,MALD,40,100,M,,FA,CM,MAL-MALD-40x100.step +MALD40-100MFB,MALD,40,100,M,,FB,,MAL-MALD-40x100.step +MALD40-100MFBU,MALD,40,100,M,,FB,U,MAL-MALD-40x100.step +MALD40-100MFBCM,MALD,40,100,M,,FB,CM,MAL-MALD-40x100.step +MALD40-100MSDB,MALD,40,100,M,,SDB,,MAL-MALD-40x100.step +MALD40-100MSDBU,MALD,40,100,M,,SDB,U,MAL-MALD-40x100.step +MALD40-100MSDBCM,MALD,40,100,M,,SDB,CM,MAL-MALD-40x100.step +MALJ16-10E,MALJ,16,10,,E,,,MAL-MALJ-16x10.step +MALJ16-10EU,MALJ,16,10,,E,,U,MAL-MALJ-16x10.step +MALJ16-10ECM,MALJ,16,10,,E,,CM,MAL-MALJ-16x10.step +MALJ16-10ELB,MALJ,16,10,,E,LB,,MAL-MALJ-16x10.step +MALJ16-10ELBU,MALJ,16,10,,E,LB,U,MAL-MALJ-16x10.step +MALJ16-10ELBCM,MALJ,16,10,,E,LB,CM,MAL-MALJ-16x10.step +MALJ16-10EFA,MALJ,16,10,,E,FA,,MAL-MALJ-16x10.step +MALJ16-10EFAU,MALJ,16,10,,E,FA,U,MAL-MALJ-16x10.step +MALJ16-10EFACM,MALJ,16,10,,E,FA,CM,MAL-MALJ-16x10.step +MALJ16-10EFB,MALJ,16,10,,E,FB,,MAL-MALJ-16x10.step +MALJ16-10EFBU,MALJ,16,10,,E,FB,U,MAL-MALJ-16x10.step +MALJ16-10EFBCM,MALJ,16,10,,E,FB,CM,MAL-MALJ-16x10.step +MALJ16-10ESDB,MALJ,16,10,,E,SDB,,MAL-MALJ-16x10.step +MALJ16-10ESDBU,MALJ,16,10,,E,SDB,U,MAL-MALJ-16x10.step +MALJ16-10ESDBCM,MALJ,16,10,,E,SDB,CM,MAL-MALJ-16x10.step +MALJ16-10,MALJ,16,10,,,,,MAL-MALJ-16x10.step +MALJ16-10U,MALJ,16,10,,,,U,MAL-MALJ-16x10.step +MALJ16-10CM,MALJ,16,10,,,,CM,MAL-MALJ-16x10.step +MALJ16-10LB,MALJ,16,10,,,LB,,MAL-MALJ-16x10.step +MALJ16-10LBU,MALJ,16,10,,,LB,U,MAL-MALJ-16x10.step +MALJ16-10LBCM,MALJ,16,10,,,LB,CM,MAL-MALJ-16x10.step +MALJ16-10FA,MALJ,16,10,,,FA,,MAL-MALJ-16x10.step +MALJ16-10FAU,MALJ,16,10,,,FA,U,MAL-MALJ-16x10.step +MALJ16-10FACM,MALJ,16,10,,,FA,CM,MAL-MALJ-16x10.step +MALJ16-10FB,MALJ,16,10,,,FB,,MAL-MALJ-16x10.step +MALJ16-10FBU,MALJ,16,10,,,FB,U,MAL-MALJ-16x10.step +MALJ16-10FBCM,MALJ,16,10,,,FB,CM,MAL-MALJ-16x10.step +MALJ16-10SDB,MALJ,16,10,,,SDB,,MAL-MALJ-16x10.step +MALJ16-10SDBU,MALJ,16,10,,,SDB,U,MAL-MALJ-16x10.step +MALJ16-10SDBCM,MALJ,16,10,,,SDB,CM,MAL-MALJ-16x10.step +MALJ16-10ME,MALJ,16,10,M,E,,,MAL-MALJ-16x10.step +MALJ16-10MEU,MALJ,16,10,M,E,,U,MAL-MALJ-16x10.step +MALJ16-10MECM,MALJ,16,10,M,E,,CM,MAL-MALJ-16x10.step +MALJ16-10MELB,MALJ,16,10,M,E,LB,,MAL-MALJ-16x10.step +MALJ16-10MELBU,MALJ,16,10,M,E,LB,U,MAL-MALJ-16x10.step +MALJ16-10MELBCM,MALJ,16,10,M,E,LB,CM,MAL-MALJ-16x10.step +MALJ16-10MEFA,MALJ,16,10,M,E,FA,,MAL-MALJ-16x10.step +MALJ16-10MEFAU,MALJ,16,10,M,E,FA,U,MAL-MALJ-16x10.step +MALJ16-10MEFACM,MALJ,16,10,M,E,FA,CM,MAL-MALJ-16x10.step +MALJ16-10MEFB,MALJ,16,10,M,E,FB,,MAL-MALJ-16x10.step +MALJ16-10MEFBU,MALJ,16,10,M,E,FB,U,MAL-MALJ-16x10.step +MALJ16-10MEFBCM,MALJ,16,10,M,E,FB,CM,MAL-MALJ-16x10.step +MALJ16-10MESDB,MALJ,16,10,M,E,SDB,,MAL-MALJ-16x10.step +MALJ16-10MESDBU,MALJ,16,10,M,E,SDB,U,MAL-MALJ-16x10.step +MALJ16-10MESDBCM,MALJ,16,10,M,E,SDB,CM,MAL-MALJ-16x10.step +MALJ16-10M,MALJ,16,10,M,,,,MAL-MALJ-16x10.step +MALJ16-10MU,MALJ,16,10,M,,,U,MAL-MALJ-16x10.step +MALJ16-10MCM,MALJ,16,10,M,,,CM,MAL-MALJ-16x10.step +MALJ16-10MLB,MALJ,16,10,M,,LB,,MAL-MALJ-16x10.step +MALJ16-10MLBU,MALJ,16,10,M,,LB,U,MAL-MALJ-16x10.step +MALJ16-10MLBCM,MALJ,16,10,M,,LB,CM,MAL-MALJ-16x10.step +MALJ16-10MFA,MALJ,16,10,M,,FA,,MAL-MALJ-16x10.step +MALJ16-10MFAU,MALJ,16,10,M,,FA,U,MAL-MALJ-16x10.step +MALJ16-10MFACM,MALJ,16,10,M,,FA,CM,MAL-MALJ-16x10.step +MALJ16-10MFB,MALJ,16,10,M,,FB,,MAL-MALJ-16x10.step +MALJ16-10MFBU,MALJ,16,10,M,,FB,U,MAL-MALJ-16x10.step +MALJ16-10MFBCM,MALJ,16,10,M,,FB,CM,MAL-MALJ-16x10.step +MALJ16-10MSDB,MALJ,16,10,M,,SDB,,MAL-MALJ-16x10.step +MALJ16-10MSDBU,MALJ,16,10,M,,SDB,U,MAL-MALJ-16x10.step +MALJ16-10MSDBCM,MALJ,16,10,M,,SDB,CM,MAL-MALJ-16x10.step +MALJ16-20E,MALJ,16,20,,E,,,MAL-MALJ-16x20.step +MALJ16-20EU,MALJ,16,20,,E,,U,MAL-MALJ-16x20.step +MALJ16-20ECM,MALJ,16,20,,E,,CM,MAL-MALJ-16x20.step +MALJ16-20ELB,MALJ,16,20,,E,LB,,MAL-MALJ-16x20.step +MALJ16-20ELBU,MALJ,16,20,,E,LB,U,MAL-MALJ-16x20.step +MALJ16-20ELBCM,MALJ,16,20,,E,LB,CM,MAL-MALJ-16x20.step +MALJ16-20EFA,MALJ,16,20,,E,FA,,MAL-MALJ-16x20.step +MALJ16-20EFAU,MALJ,16,20,,E,FA,U,MAL-MALJ-16x20.step +MALJ16-20EFACM,MALJ,16,20,,E,FA,CM,MAL-MALJ-16x20.step +MALJ16-20EFB,MALJ,16,20,,E,FB,,MAL-MALJ-16x20.step +MALJ16-20EFBU,MALJ,16,20,,E,FB,U,MAL-MALJ-16x20.step +MALJ16-20EFBCM,MALJ,16,20,,E,FB,CM,MAL-MALJ-16x20.step +MALJ16-20ESDB,MALJ,16,20,,E,SDB,,MAL-MALJ-16x20.step +MALJ16-20ESDBU,MALJ,16,20,,E,SDB,U,MAL-MALJ-16x20.step +MALJ16-20ESDBCM,MALJ,16,20,,E,SDB,CM,MAL-MALJ-16x20.step +MALJ16-20,MALJ,16,20,,,,,MAL-MALJ-16x20.step +MALJ16-20U,MALJ,16,20,,,,U,MAL-MALJ-16x20.step +MALJ16-20CM,MALJ,16,20,,,,CM,MAL-MALJ-16x20.step +MALJ16-20LB,MALJ,16,20,,,LB,,MAL-MALJ-16x20.step +MALJ16-20LBU,MALJ,16,20,,,LB,U,MAL-MALJ-16x20.step +MALJ16-20LBCM,MALJ,16,20,,,LB,CM,MAL-MALJ-16x20.step +MALJ16-20FA,MALJ,16,20,,,FA,,MAL-MALJ-16x20.step +MALJ16-20FAU,MALJ,16,20,,,FA,U,MAL-MALJ-16x20.step +MALJ16-20FACM,MALJ,16,20,,,FA,CM,MAL-MALJ-16x20.step +MALJ16-20FB,MALJ,16,20,,,FB,,MAL-MALJ-16x20.step +MALJ16-20FBU,MALJ,16,20,,,FB,U,MAL-MALJ-16x20.step +MALJ16-20FBCM,MALJ,16,20,,,FB,CM,MAL-MALJ-16x20.step +MALJ16-20SDB,MALJ,16,20,,,SDB,,MAL-MALJ-16x20.step +MALJ16-20SDBU,MALJ,16,20,,,SDB,U,MAL-MALJ-16x20.step +MALJ16-20SDBCM,MALJ,16,20,,,SDB,CM,MAL-MALJ-16x20.step +MALJ16-20ME,MALJ,16,20,M,E,,,MAL-MALJ-16x20.step +MALJ16-20MEU,MALJ,16,20,M,E,,U,MAL-MALJ-16x20.step +MALJ16-20MECM,MALJ,16,20,M,E,,CM,MAL-MALJ-16x20.step +MALJ16-20MELB,MALJ,16,20,M,E,LB,,MAL-MALJ-16x20.step +MALJ16-20MELBU,MALJ,16,20,M,E,LB,U,MAL-MALJ-16x20.step +MALJ16-20MELBCM,MALJ,16,20,M,E,LB,CM,MAL-MALJ-16x20.step +MALJ16-20MEFA,MALJ,16,20,M,E,FA,,MAL-MALJ-16x20.step +MALJ16-20MEFAU,MALJ,16,20,M,E,FA,U,MAL-MALJ-16x20.step +MALJ16-20MEFACM,MALJ,16,20,M,E,FA,CM,MAL-MALJ-16x20.step +MALJ16-20MEFB,MALJ,16,20,M,E,FB,,MAL-MALJ-16x20.step +MALJ16-20MEFBU,MALJ,16,20,M,E,FB,U,MAL-MALJ-16x20.step +MALJ16-20MEFBCM,MALJ,16,20,M,E,FB,CM,MAL-MALJ-16x20.step +MALJ16-20MESDB,MALJ,16,20,M,E,SDB,,MAL-MALJ-16x20.step +MALJ16-20MESDBU,MALJ,16,20,M,E,SDB,U,MAL-MALJ-16x20.step +MALJ16-20MESDBCM,MALJ,16,20,M,E,SDB,CM,MAL-MALJ-16x20.step +MALJ16-20M,MALJ,16,20,M,,,,MAL-MALJ-16x20.step +MALJ16-20MU,MALJ,16,20,M,,,U,MAL-MALJ-16x20.step +MALJ16-20MCM,MALJ,16,20,M,,,CM,MAL-MALJ-16x20.step +MALJ16-20MLB,MALJ,16,20,M,,LB,,MAL-MALJ-16x20.step +MALJ16-20MLBU,MALJ,16,20,M,,LB,U,MAL-MALJ-16x20.step +MALJ16-20MLBCM,MALJ,16,20,M,,LB,CM,MAL-MALJ-16x20.step +MALJ16-20MFA,MALJ,16,20,M,,FA,,MAL-MALJ-16x20.step +MALJ16-20MFAU,MALJ,16,20,M,,FA,U,MAL-MALJ-16x20.step +MALJ16-20MFACM,MALJ,16,20,M,,FA,CM,MAL-MALJ-16x20.step +MALJ16-20MFB,MALJ,16,20,M,,FB,,MAL-MALJ-16x20.step +MALJ16-20MFBU,MALJ,16,20,M,,FB,U,MAL-MALJ-16x20.step +MALJ16-20MFBCM,MALJ,16,20,M,,FB,CM,MAL-MALJ-16x20.step +MALJ16-20MSDB,MALJ,16,20,M,,SDB,,MAL-MALJ-16x20.step +MALJ16-20MSDBU,MALJ,16,20,M,,SDB,U,MAL-MALJ-16x20.step +MALJ16-20MSDBCM,MALJ,16,20,M,,SDB,CM,MAL-MALJ-16x20.step +MALJ16-30E,MALJ,16,30,,E,,,MAL-MALJ-16x30.step +MALJ16-30EU,MALJ,16,30,,E,,U,MAL-MALJ-16x30.step +MALJ16-30ECM,MALJ,16,30,,E,,CM,MAL-MALJ-16x30.step +MALJ16-30ELB,MALJ,16,30,,E,LB,,MAL-MALJ-16x30.step +MALJ16-30ELBU,MALJ,16,30,,E,LB,U,MAL-MALJ-16x30.step +MALJ16-30ELBCM,MALJ,16,30,,E,LB,CM,MAL-MALJ-16x30.step +MALJ16-30EFA,MALJ,16,30,,E,FA,,MAL-MALJ-16x30.step +MALJ16-30EFAU,MALJ,16,30,,E,FA,U,MAL-MALJ-16x30.step +MALJ16-30EFACM,MALJ,16,30,,E,FA,CM,MAL-MALJ-16x30.step +MALJ16-30EFB,MALJ,16,30,,E,FB,,MAL-MALJ-16x30.step +MALJ16-30EFBU,MALJ,16,30,,E,FB,U,MAL-MALJ-16x30.step +MALJ16-30EFBCM,MALJ,16,30,,E,FB,CM,MAL-MALJ-16x30.step +MALJ16-30ESDB,MALJ,16,30,,E,SDB,,MAL-MALJ-16x30.step +MALJ16-30ESDBU,MALJ,16,30,,E,SDB,U,MAL-MALJ-16x30.step +MALJ16-30ESDBCM,MALJ,16,30,,E,SDB,CM,MAL-MALJ-16x30.step +MALJ16-30,MALJ,16,30,,,,,MAL-MALJ-16x30.step +MALJ16-30U,MALJ,16,30,,,,U,MAL-MALJ-16x30.step +MALJ16-30CM,MALJ,16,30,,,,CM,MAL-MALJ-16x30.step +MALJ16-30LB,MALJ,16,30,,,LB,,MAL-MALJ-16x30.step +MALJ16-30LBU,MALJ,16,30,,,LB,U,MAL-MALJ-16x30.step +MALJ16-30LBCM,MALJ,16,30,,,LB,CM,MAL-MALJ-16x30.step +MALJ16-30FA,MALJ,16,30,,,FA,,MAL-MALJ-16x30.step +MALJ16-30FAU,MALJ,16,30,,,FA,U,MAL-MALJ-16x30.step +MALJ16-30FACM,MALJ,16,30,,,FA,CM,MAL-MALJ-16x30.step +MALJ16-30FB,MALJ,16,30,,,FB,,MAL-MALJ-16x30.step +MALJ16-30FBU,MALJ,16,30,,,FB,U,MAL-MALJ-16x30.step +MALJ16-30FBCM,MALJ,16,30,,,FB,CM,MAL-MALJ-16x30.step +MALJ16-30SDB,MALJ,16,30,,,SDB,,MAL-MALJ-16x30.step +MALJ16-30SDBU,MALJ,16,30,,,SDB,U,MAL-MALJ-16x30.step +MALJ16-30SDBCM,MALJ,16,30,,,SDB,CM,MAL-MALJ-16x30.step +MALJ16-30ME,MALJ,16,30,M,E,,,MAL-MALJ-16x30.step +MALJ16-30MEU,MALJ,16,30,M,E,,U,MAL-MALJ-16x30.step +MALJ16-30MECM,MALJ,16,30,M,E,,CM,MAL-MALJ-16x30.step +MALJ16-30MELB,MALJ,16,30,M,E,LB,,MAL-MALJ-16x30.step +MALJ16-30MELBU,MALJ,16,30,M,E,LB,U,MAL-MALJ-16x30.step +MALJ16-30MELBCM,MALJ,16,30,M,E,LB,CM,MAL-MALJ-16x30.step +MALJ16-30MEFA,MALJ,16,30,M,E,FA,,MAL-MALJ-16x30.step +MALJ16-30MEFAU,MALJ,16,30,M,E,FA,U,MAL-MALJ-16x30.step +MALJ16-30MEFACM,MALJ,16,30,M,E,FA,CM,MAL-MALJ-16x30.step +MALJ16-30MEFB,MALJ,16,30,M,E,FB,,MAL-MALJ-16x30.step +MALJ16-30MEFBU,MALJ,16,30,M,E,FB,U,MAL-MALJ-16x30.step +MALJ16-30MEFBCM,MALJ,16,30,M,E,FB,CM,MAL-MALJ-16x30.step +MALJ16-30MESDB,MALJ,16,30,M,E,SDB,,MAL-MALJ-16x30.step +MALJ16-30MESDBU,MALJ,16,30,M,E,SDB,U,MAL-MALJ-16x30.step +MALJ16-30MESDBCM,MALJ,16,30,M,E,SDB,CM,MAL-MALJ-16x30.step +MALJ16-30M,MALJ,16,30,M,,,,MAL-MALJ-16x30.step +MALJ16-30MU,MALJ,16,30,M,,,U,MAL-MALJ-16x30.step +MALJ16-30MCM,MALJ,16,30,M,,,CM,MAL-MALJ-16x30.step +MALJ16-30MLB,MALJ,16,30,M,,LB,,MAL-MALJ-16x30.step +MALJ16-30MLBU,MALJ,16,30,M,,LB,U,MAL-MALJ-16x30.step +MALJ16-30MLBCM,MALJ,16,30,M,,LB,CM,MAL-MALJ-16x30.step +MALJ16-30MFA,MALJ,16,30,M,,FA,,MAL-MALJ-16x30.step +MALJ16-30MFAU,MALJ,16,30,M,,FA,U,MAL-MALJ-16x30.step +MALJ16-30MFACM,MALJ,16,30,M,,FA,CM,MAL-MALJ-16x30.step +MALJ16-30MFB,MALJ,16,30,M,,FB,,MAL-MALJ-16x30.step +MALJ16-30MFBU,MALJ,16,30,M,,FB,U,MAL-MALJ-16x30.step +MALJ16-30MFBCM,MALJ,16,30,M,,FB,CM,MAL-MALJ-16x30.step +MALJ16-30MSDB,MALJ,16,30,M,,SDB,,MAL-MALJ-16x30.step +MALJ16-30MSDBU,MALJ,16,30,M,,SDB,U,MAL-MALJ-16x30.step +MALJ16-30MSDBCM,MALJ,16,30,M,,SDB,CM,MAL-MALJ-16x30.step +MALJ16-50E,MALJ,16,50,,E,,,MAL-MALJ-16x50.step +MALJ16-50EU,MALJ,16,50,,E,,U,MAL-MALJ-16x50.step +MALJ16-50ECM,MALJ,16,50,,E,,CM,MAL-MALJ-16x50.step +MALJ16-50ELB,MALJ,16,50,,E,LB,,MAL-MALJ-16x50.step +MALJ16-50ELBU,MALJ,16,50,,E,LB,U,MAL-MALJ-16x50.step +MALJ16-50ELBCM,MALJ,16,50,,E,LB,CM,MAL-MALJ-16x50.step +MALJ16-50EFA,MALJ,16,50,,E,FA,,MAL-MALJ-16x50.step +MALJ16-50EFAU,MALJ,16,50,,E,FA,U,MAL-MALJ-16x50.step +MALJ16-50EFACM,MALJ,16,50,,E,FA,CM,MAL-MALJ-16x50.step +MALJ16-50EFB,MALJ,16,50,,E,FB,,MAL-MALJ-16x50.step +MALJ16-50EFBU,MALJ,16,50,,E,FB,U,MAL-MALJ-16x50.step +MALJ16-50EFBCM,MALJ,16,50,,E,FB,CM,MAL-MALJ-16x50.step +MALJ16-50ESDB,MALJ,16,50,,E,SDB,,MAL-MALJ-16x50.step +MALJ16-50ESDBU,MALJ,16,50,,E,SDB,U,MAL-MALJ-16x50.step +MALJ16-50ESDBCM,MALJ,16,50,,E,SDB,CM,MAL-MALJ-16x50.step +MALJ16-50,MALJ,16,50,,,,,MAL-MALJ-16x50.step +MALJ16-50U,MALJ,16,50,,,,U,MAL-MALJ-16x50.step +MALJ16-50CM,MALJ,16,50,,,,CM,MAL-MALJ-16x50.step +MALJ16-50LB,MALJ,16,50,,,LB,,MAL-MALJ-16x50.step +MALJ16-50LBU,MALJ,16,50,,,LB,U,MAL-MALJ-16x50.step +MALJ16-50LBCM,MALJ,16,50,,,LB,CM,MAL-MALJ-16x50.step +MALJ16-50FA,MALJ,16,50,,,FA,,MAL-MALJ-16x50.step +MALJ16-50FAU,MALJ,16,50,,,FA,U,MAL-MALJ-16x50.step +MALJ16-50FACM,MALJ,16,50,,,FA,CM,MAL-MALJ-16x50.step +MALJ16-50FB,MALJ,16,50,,,FB,,MAL-MALJ-16x50.step +MALJ16-50FBU,MALJ,16,50,,,FB,U,MAL-MALJ-16x50.step +MALJ16-50FBCM,MALJ,16,50,,,FB,CM,MAL-MALJ-16x50.step +MALJ16-50SDB,MALJ,16,50,,,SDB,,MAL-MALJ-16x50.step +MALJ16-50SDBU,MALJ,16,50,,,SDB,U,MAL-MALJ-16x50.step +MALJ16-50SDBCM,MALJ,16,50,,,SDB,CM,MAL-MALJ-16x50.step +MALJ16-50ME,MALJ,16,50,M,E,,,MAL-MALJ-16x50.step +MALJ16-50MEU,MALJ,16,50,M,E,,U,MAL-MALJ-16x50.step +MALJ16-50MECM,MALJ,16,50,M,E,,CM,MAL-MALJ-16x50.step +MALJ16-50MELB,MALJ,16,50,M,E,LB,,MAL-MALJ-16x50.step +MALJ16-50MELBU,MALJ,16,50,M,E,LB,U,MAL-MALJ-16x50.step +MALJ16-50MELBCM,MALJ,16,50,M,E,LB,CM,MAL-MALJ-16x50.step +MALJ16-50MEFA,MALJ,16,50,M,E,FA,,MAL-MALJ-16x50.step +MALJ16-50MEFAU,MALJ,16,50,M,E,FA,U,MAL-MALJ-16x50.step +MALJ16-50MEFACM,MALJ,16,50,M,E,FA,CM,MAL-MALJ-16x50.step +MALJ16-50MEFB,MALJ,16,50,M,E,FB,,MAL-MALJ-16x50.step +MALJ16-50MEFBU,MALJ,16,50,M,E,FB,U,MAL-MALJ-16x50.step +MALJ16-50MEFBCM,MALJ,16,50,M,E,FB,CM,MAL-MALJ-16x50.step +MALJ16-50MESDB,MALJ,16,50,M,E,SDB,,MAL-MALJ-16x50.step +MALJ16-50MESDBU,MALJ,16,50,M,E,SDB,U,MAL-MALJ-16x50.step +MALJ16-50MESDBCM,MALJ,16,50,M,E,SDB,CM,MAL-MALJ-16x50.step +MALJ16-50M,MALJ,16,50,M,,,,MAL-MALJ-16x50.step +MALJ16-50MU,MALJ,16,50,M,,,U,MAL-MALJ-16x50.step +MALJ16-50MCM,MALJ,16,50,M,,,CM,MAL-MALJ-16x50.step +MALJ16-50MLB,MALJ,16,50,M,,LB,,MAL-MALJ-16x50.step +MALJ16-50MLBU,MALJ,16,50,M,,LB,U,MAL-MALJ-16x50.step +MALJ16-50MLBCM,MALJ,16,50,M,,LB,CM,MAL-MALJ-16x50.step +MALJ16-50MFA,MALJ,16,50,M,,FA,,MAL-MALJ-16x50.step +MALJ16-50MFAU,MALJ,16,50,M,,FA,U,MAL-MALJ-16x50.step +MALJ16-50MFACM,MALJ,16,50,M,,FA,CM,MAL-MALJ-16x50.step +MALJ16-50MFB,MALJ,16,50,M,,FB,,MAL-MALJ-16x50.step +MALJ16-50MFBU,MALJ,16,50,M,,FB,U,MAL-MALJ-16x50.step +MALJ16-50MFBCM,MALJ,16,50,M,,FB,CM,MAL-MALJ-16x50.step +MALJ16-50MSDB,MALJ,16,50,M,,SDB,,MAL-MALJ-16x50.step +MALJ16-50MSDBU,MALJ,16,50,M,,SDB,U,MAL-MALJ-16x50.step +MALJ16-50MSDBCM,MALJ,16,50,M,,SDB,CM,MAL-MALJ-16x50.step +MALJ16-75E,MALJ,16,75,,E,,,MAL-MALJ-16x75.step +MALJ16-75EU,MALJ,16,75,,E,,U,MAL-MALJ-16x75.step +MALJ16-75ECM,MALJ,16,75,,E,,CM,MAL-MALJ-16x75.step +MALJ16-75ELB,MALJ,16,75,,E,LB,,MAL-MALJ-16x75.step +MALJ16-75ELBU,MALJ,16,75,,E,LB,U,MAL-MALJ-16x75.step +MALJ16-75ELBCM,MALJ,16,75,,E,LB,CM,MAL-MALJ-16x75.step +MALJ16-75EFA,MALJ,16,75,,E,FA,,MAL-MALJ-16x75.step +MALJ16-75EFAU,MALJ,16,75,,E,FA,U,MAL-MALJ-16x75.step +MALJ16-75EFACM,MALJ,16,75,,E,FA,CM,MAL-MALJ-16x75.step +MALJ16-75EFB,MALJ,16,75,,E,FB,,MAL-MALJ-16x75.step +MALJ16-75EFBU,MALJ,16,75,,E,FB,U,MAL-MALJ-16x75.step +MALJ16-75EFBCM,MALJ,16,75,,E,FB,CM,MAL-MALJ-16x75.step +MALJ16-75ESDB,MALJ,16,75,,E,SDB,,MAL-MALJ-16x75.step +MALJ16-75ESDBU,MALJ,16,75,,E,SDB,U,MAL-MALJ-16x75.step +MALJ16-75ESDBCM,MALJ,16,75,,E,SDB,CM,MAL-MALJ-16x75.step +MALJ16-75,MALJ,16,75,,,,,MAL-MALJ-16x75.step +MALJ16-75U,MALJ,16,75,,,,U,MAL-MALJ-16x75.step +MALJ16-75CM,MALJ,16,75,,,,CM,MAL-MALJ-16x75.step +MALJ16-75LB,MALJ,16,75,,,LB,,MAL-MALJ-16x75.step +MALJ16-75LBU,MALJ,16,75,,,LB,U,MAL-MALJ-16x75.step +MALJ16-75LBCM,MALJ,16,75,,,LB,CM,MAL-MALJ-16x75.step +MALJ16-75FA,MALJ,16,75,,,FA,,MAL-MALJ-16x75.step +MALJ16-75FAU,MALJ,16,75,,,FA,U,MAL-MALJ-16x75.step +MALJ16-75FACM,MALJ,16,75,,,FA,CM,MAL-MALJ-16x75.step +MALJ16-75FB,MALJ,16,75,,,FB,,MAL-MALJ-16x75.step +MALJ16-75FBU,MALJ,16,75,,,FB,U,MAL-MALJ-16x75.step +MALJ16-75FBCM,MALJ,16,75,,,FB,CM,MAL-MALJ-16x75.step +MALJ16-75SDB,MALJ,16,75,,,SDB,,MAL-MALJ-16x75.step +MALJ16-75SDBU,MALJ,16,75,,,SDB,U,MAL-MALJ-16x75.step +MALJ16-75SDBCM,MALJ,16,75,,,SDB,CM,MAL-MALJ-16x75.step +MALJ16-75ME,MALJ,16,75,M,E,,,MAL-MALJ-16x75.step +MALJ16-75MEU,MALJ,16,75,M,E,,U,MAL-MALJ-16x75.step +MALJ16-75MECM,MALJ,16,75,M,E,,CM,MAL-MALJ-16x75.step +MALJ16-75MELB,MALJ,16,75,M,E,LB,,MAL-MALJ-16x75.step +MALJ16-75MELBU,MALJ,16,75,M,E,LB,U,MAL-MALJ-16x75.step +MALJ16-75MELBCM,MALJ,16,75,M,E,LB,CM,MAL-MALJ-16x75.step +MALJ16-75MEFA,MALJ,16,75,M,E,FA,,MAL-MALJ-16x75.step +MALJ16-75MEFAU,MALJ,16,75,M,E,FA,U,MAL-MALJ-16x75.step +MALJ16-75MEFACM,MALJ,16,75,M,E,FA,CM,MAL-MALJ-16x75.step +MALJ16-75MEFB,MALJ,16,75,M,E,FB,,MAL-MALJ-16x75.step +MALJ16-75MEFBU,MALJ,16,75,M,E,FB,U,MAL-MALJ-16x75.step +MALJ16-75MEFBCM,MALJ,16,75,M,E,FB,CM,MAL-MALJ-16x75.step +MALJ16-75MESDB,MALJ,16,75,M,E,SDB,,MAL-MALJ-16x75.step +MALJ16-75MESDBU,MALJ,16,75,M,E,SDB,U,MAL-MALJ-16x75.step +MALJ16-75MESDBCM,MALJ,16,75,M,E,SDB,CM,MAL-MALJ-16x75.step +MALJ16-75M,MALJ,16,75,M,,,,MAL-MALJ-16x75.step +MALJ16-75MU,MALJ,16,75,M,,,U,MAL-MALJ-16x75.step +MALJ16-75MCM,MALJ,16,75,M,,,CM,MAL-MALJ-16x75.step +MALJ16-75MLB,MALJ,16,75,M,,LB,,MAL-MALJ-16x75.step +MALJ16-75MLBU,MALJ,16,75,M,,LB,U,MAL-MALJ-16x75.step +MALJ16-75MLBCM,MALJ,16,75,M,,LB,CM,MAL-MALJ-16x75.step +MALJ16-75MFA,MALJ,16,75,M,,FA,,MAL-MALJ-16x75.step +MALJ16-75MFAU,MALJ,16,75,M,,FA,U,MAL-MALJ-16x75.step +MALJ16-75MFACM,MALJ,16,75,M,,FA,CM,MAL-MALJ-16x75.step +MALJ16-75MFB,MALJ,16,75,M,,FB,,MAL-MALJ-16x75.step +MALJ16-75MFBU,MALJ,16,75,M,,FB,U,MAL-MALJ-16x75.step +MALJ16-75MFBCM,MALJ,16,75,M,,FB,CM,MAL-MALJ-16x75.step +MALJ16-75MSDB,MALJ,16,75,M,,SDB,,MAL-MALJ-16x75.step +MALJ16-75MSDBU,MALJ,16,75,M,,SDB,U,MAL-MALJ-16x75.step +MALJ16-75MSDBCM,MALJ,16,75,M,,SDB,CM,MAL-MALJ-16x75.step +MALJ16-100E,MALJ,16,100,,E,,,MAL-MALJ-16x100.step +MALJ16-100EU,MALJ,16,100,,E,,U,MAL-MALJ-16x100.step +MALJ16-100ECM,MALJ,16,100,,E,,CM,MAL-MALJ-16x100.step +MALJ16-100ELB,MALJ,16,100,,E,LB,,MAL-MALJ-16x100.step +MALJ16-100ELBU,MALJ,16,100,,E,LB,U,MAL-MALJ-16x100.step +MALJ16-100ELBCM,MALJ,16,100,,E,LB,CM,MAL-MALJ-16x100.step +MALJ16-100EFA,MALJ,16,100,,E,FA,,MAL-MALJ-16x100.step +MALJ16-100EFAU,MALJ,16,100,,E,FA,U,MAL-MALJ-16x100.step +MALJ16-100EFACM,MALJ,16,100,,E,FA,CM,MAL-MALJ-16x100.step +MALJ16-100EFB,MALJ,16,100,,E,FB,,MAL-MALJ-16x100.step +MALJ16-100EFBU,MALJ,16,100,,E,FB,U,MAL-MALJ-16x100.step +MALJ16-100EFBCM,MALJ,16,100,,E,FB,CM,MAL-MALJ-16x100.step +MALJ16-100ESDB,MALJ,16,100,,E,SDB,,MAL-MALJ-16x100.step +MALJ16-100ESDBU,MALJ,16,100,,E,SDB,U,MAL-MALJ-16x100.step +MALJ16-100ESDBCM,MALJ,16,100,,E,SDB,CM,MAL-MALJ-16x100.step +MALJ16-100,MALJ,16,100,,,,,MAL-MALJ-16x100.step +MALJ16-100U,MALJ,16,100,,,,U,MAL-MALJ-16x100.step +MALJ16-100CM,MALJ,16,100,,,,CM,MAL-MALJ-16x100.step +MALJ16-100LB,MALJ,16,100,,,LB,,MAL-MALJ-16x100.step +MALJ16-100LBU,MALJ,16,100,,,LB,U,MAL-MALJ-16x100.step +MALJ16-100LBCM,MALJ,16,100,,,LB,CM,MAL-MALJ-16x100.step +MALJ16-100FA,MALJ,16,100,,,FA,,MAL-MALJ-16x100.step +MALJ16-100FAU,MALJ,16,100,,,FA,U,MAL-MALJ-16x100.step +MALJ16-100FACM,MALJ,16,100,,,FA,CM,MAL-MALJ-16x100.step +MALJ16-100FB,MALJ,16,100,,,FB,,MAL-MALJ-16x100.step +MALJ16-100FBU,MALJ,16,100,,,FB,U,MAL-MALJ-16x100.step +MALJ16-100FBCM,MALJ,16,100,,,FB,CM,MAL-MALJ-16x100.step +MALJ16-100SDB,MALJ,16,100,,,SDB,,MAL-MALJ-16x100.step +MALJ16-100SDBU,MALJ,16,100,,,SDB,U,MAL-MALJ-16x100.step +MALJ16-100SDBCM,MALJ,16,100,,,SDB,CM,MAL-MALJ-16x100.step +MALJ16-100ME,MALJ,16,100,M,E,,,MAL-MALJ-16x100.step +MALJ16-100MEU,MALJ,16,100,M,E,,U,MAL-MALJ-16x100.step +MALJ16-100MECM,MALJ,16,100,M,E,,CM,MAL-MALJ-16x100.step +MALJ16-100MELB,MALJ,16,100,M,E,LB,,MAL-MALJ-16x100.step +MALJ16-100MELBU,MALJ,16,100,M,E,LB,U,MAL-MALJ-16x100.step +MALJ16-100MELBCM,MALJ,16,100,M,E,LB,CM,MAL-MALJ-16x100.step +MALJ16-100MEFA,MALJ,16,100,M,E,FA,,MAL-MALJ-16x100.step +MALJ16-100MEFAU,MALJ,16,100,M,E,FA,U,MAL-MALJ-16x100.step +MALJ16-100MEFACM,MALJ,16,100,M,E,FA,CM,MAL-MALJ-16x100.step +MALJ16-100MEFB,MALJ,16,100,M,E,FB,,MAL-MALJ-16x100.step +MALJ16-100MEFBU,MALJ,16,100,M,E,FB,U,MAL-MALJ-16x100.step +MALJ16-100MEFBCM,MALJ,16,100,M,E,FB,CM,MAL-MALJ-16x100.step +MALJ16-100MESDB,MALJ,16,100,M,E,SDB,,MAL-MALJ-16x100.step +MALJ16-100MESDBU,MALJ,16,100,M,E,SDB,U,MAL-MALJ-16x100.step +MALJ16-100MESDBCM,MALJ,16,100,M,E,SDB,CM,MAL-MALJ-16x100.step +MALJ16-100M,MALJ,16,100,M,,,,MAL-MALJ-16x100.step +MALJ16-100MU,MALJ,16,100,M,,,U,MAL-MALJ-16x100.step +MALJ16-100MCM,MALJ,16,100,M,,,CM,MAL-MALJ-16x100.step +MALJ16-100MLB,MALJ,16,100,M,,LB,,MAL-MALJ-16x100.step +MALJ16-100MLBU,MALJ,16,100,M,,LB,U,MAL-MALJ-16x100.step +MALJ16-100MLBCM,MALJ,16,100,M,,LB,CM,MAL-MALJ-16x100.step +MALJ16-100MFA,MALJ,16,100,M,,FA,,MAL-MALJ-16x100.step +MALJ16-100MFAU,MALJ,16,100,M,,FA,U,MAL-MALJ-16x100.step +MALJ16-100MFACM,MALJ,16,100,M,,FA,CM,MAL-MALJ-16x100.step +MALJ16-100MFB,MALJ,16,100,M,,FB,,MAL-MALJ-16x100.step +MALJ16-100MFBU,MALJ,16,100,M,,FB,U,MAL-MALJ-16x100.step +MALJ16-100MFBCM,MALJ,16,100,M,,FB,CM,MAL-MALJ-16x100.step +MALJ16-100MSDB,MALJ,16,100,M,,SDB,,MAL-MALJ-16x100.step +MALJ16-100MSDBU,MALJ,16,100,M,,SDB,U,MAL-MALJ-16x100.step +MALJ16-100MSDBCM,MALJ,16,100,M,,SDB,CM,MAL-MALJ-16x100.step +MALJ20-10E,MALJ,20,10,,E,,,MAL-MALJ-20x10.step +MALJ20-10EU,MALJ,20,10,,E,,U,MAL-MALJ-20x10.step +MALJ20-10ECM,MALJ,20,10,,E,,CM,MAL-MALJ-20x10.step +MALJ20-10ELB,MALJ,20,10,,E,LB,,MAL-MALJ-20x10.step +MALJ20-10ELBU,MALJ,20,10,,E,LB,U,MAL-MALJ-20x10.step +MALJ20-10ELBCM,MALJ,20,10,,E,LB,CM,MAL-MALJ-20x10.step +MALJ20-10EFA,MALJ,20,10,,E,FA,,MAL-MALJ-20x10.step +MALJ20-10EFAU,MALJ,20,10,,E,FA,U,MAL-MALJ-20x10.step +MALJ20-10EFACM,MALJ,20,10,,E,FA,CM,MAL-MALJ-20x10.step +MALJ20-10EFB,MALJ,20,10,,E,FB,,MAL-MALJ-20x10.step +MALJ20-10EFBU,MALJ,20,10,,E,FB,U,MAL-MALJ-20x10.step +MALJ20-10EFBCM,MALJ,20,10,,E,FB,CM,MAL-MALJ-20x10.step +MALJ20-10ESDB,MALJ,20,10,,E,SDB,,MAL-MALJ-20x10.step +MALJ20-10ESDBU,MALJ,20,10,,E,SDB,U,MAL-MALJ-20x10.step +MALJ20-10ESDBCM,MALJ,20,10,,E,SDB,CM,MAL-MALJ-20x10.step +MALJ20-10,MALJ,20,10,,,,,MAL-MALJ-20x10.step +MALJ20-10U,MALJ,20,10,,,,U,MAL-MALJ-20x10.step +MALJ20-10CM,MALJ,20,10,,,,CM,MAL-MALJ-20x10.step +MALJ20-10LB,MALJ,20,10,,,LB,,MAL-MALJ-20x10.step +MALJ20-10LBU,MALJ,20,10,,,LB,U,MAL-MALJ-20x10.step +MALJ20-10LBCM,MALJ,20,10,,,LB,CM,MAL-MALJ-20x10.step +MALJ20-10FA,MALJ,20,10,,,FA,,MAL-MALJ-20x10.step +MALJ20-10FAU,MALJ,20,10,,,FA,U,MAL-MALJ-20x10.step +MALJ20-10FACM,MALJ,20,10,,,FA,CM,MAL-MALJ-20x10.step +MALJ20-10FB,MALJ,20,10,,,FB,,MAL-MALJ-20x10.step +MALJ20-10FBU,MALJ,20,10,,,FB,U,MAL-MALJ-20x10.step +MALJ20-10FBCM,MALJ,20,10,,,FB,CM,MAL-MALJ-20x10.step +MALJ20-10SDB,MALJ,20,10,,,SDB,,MAL-MALJ-20x10.step +MALJ20-10SDBU,MALJ,20,10,,,SDB,U,MAL-MALJ-20x10.step +MALJ20-10SDBCM,MALJ,20,10,,,SDB,CM,MAL-MALJ-20x10.step +MALJ20-10ME,MALJ,20,10,M,E,,,MAL-MALJ-20x10.step +MALJ20-10MEU,MALJ,20,10,M,E,,U,MAL-MALJ-20x10.step +MALJ20-10MECM,MALJ,20,10,M,E,,CM,MAL-MALJ-20x10.step +MALJ20-10MELB,MALJ,20,10,M,E,LB,,MAL-MALJ-20x10.step +MALJ20-10MELBU,MALJ,20,10,M,E,LB,U,MAL-MALJ-20x10.step +MALJ20-10MELBCM,MALJ,20,10,M,E,LB,CM,MAL-MALJ-20x10.step +MALJ20-10MEFA,MALJ,20,10,M,E,FA,,MAL-MALJ-20x10.step +MALJ20-10MEFAU,MALJ,20,10,M,E,FA,U,MAL-MALJ-20x10.step +MALJ20-10MEFACM,MALJ,20,10,M,E,FA,CM,MAL-MALJ-20x10.step +MALJ20-10MEFB,MALJ,20,10,M,E,FB,,MAL-MALJ-20x10.step +MALJ20-10MEFBU,MALJ,20,10,M,E,FB,U,MAL-MALJ-20x10.step +MALJ20-10MEFBCM,MALJ,20,10,M,E,FB,CM,MAL-MALJ-20x10.step +MALJ20-10MESDB,MALJ,20,10,M,E,SDB,,MAL-MALJ-20x10.step +MALJ20-10MESDBU,MALJ,20,10,M,E,SDB,U,MAL-MALJ-20x10.step +MALJ20-10MESDBCM,MALJ,20,10,M,E,SDB,CM,MAL-MALJ-20x10.step +MALJ20-10M,MALJ,20,10,M,,,,MAL-MALJ-20x10.step +MALJ20-10MU,MALJ,20,10,M,,,U,MAL-MALJ-20x10.step +MALJ20-10MCM,MALJ,20,10,M,,,CM,MAL-MALJ-20x10.step +MALJ20-10MLB,MALJ,20,10,M,,LB,,MAL-MALJ-20x10.step +MALJ20-10MLBU,MALJ,20,10,M,,LB,U,MAL-MALJ-20x10.step +MALJ20-10MLBCM,MALJ,20,10,M,,LB,CM,MAL-MALJ-20x10.step +MALJ20-10MFA,MALJ,20,10,M,,FA,,MAL-MALJ-20x10.step +MALJ20-10MFAU,MALJ,20,10,M,,FA,U,MAL-MALJ-20x10.step +MALJ20-10MFACM,MALJ,20,10,M,,FA,CM,MAL-MALJ-20x10.step +MALJ20-10MFB,MALJ,20,10,M,,FB,,MAL-MALJ-20x10.step +MALJ20-10MFBU,MALJ,20,10,M,,FB,U,MAL-MALJ-20x10.step +MALJ20-10MFBCM,MALJ,20,10,M,,FB,CM,MAL-MALJ-20x10.step +MALJ20-10MSDB,MALJ,20,10,M,,SDB,,MAL-MALJ-20x10.step +MALJ20-10MSDBU,MALJ,20,10,M,,SDB,U,MAL-MALJ-20x10.step +MALJ20-10MSDBCM,MALJ,20,10,M,,SDB,CM,MAL-MALJ-20x10.step +MALJ20-20E,MALJ,20,20,,E,,,MAL-MALJ-20x20.step +MALJ20-20EU,MALJ,20,20,,E,,U,MAL-MALJ-20x20.step +MALJ20-20ECM,MALJ,20,20,,E,,CM,MAL-MALJ-20x20.step +MALJ20-20ELB,MALJ,20,20,,E,LB,,MAL-MALJ-20x20.step +MALJ20-20ELBU,MALJ,20,20,,E,LB,U,MAL-MALJ-20x20.step +MALJ20-20ELBCM,MALJ,20,20,,E,LB,CM,MAL-MALJ-20x20.step +MALJ20-20EFA,MALJ,20,20,,E,FA,,MAL-MALJ-20x20.step +MALJ20-20EFAU,MALJ,20,20,,E,FA,U,MAL-MALJ-20x20.step +MALJ20-20EFACM,MALJ,20,20,,E,FA,CM,MAL-MALJ-20x20.step +MALJ20-20EFB,MALJ,20,20,,E,FB,,MAL-MALJ-20x20.step +MALJ20-20EFBU,MALJ,20,20,,E,FB,U,MAL-MALJ-20x20.step +MALJ20-20EFBCM,MALJ,20,20,,E,FB,CM,MAL-MALJ-20x20.step +MALJ20-20ESDB,MALJ,20,20,,E,SDB,,MAL-MALJ-20x20.step +MALJ20-20ESDBU,MALJ,20,20,,E,SDB,U,MAL-MALJ-20x20.step +MALJ20-20ESDBCM,MALJ,20,20,,E,SDB,CM,MAL-MALJ-20x20.step +MALJ20-20,MALJ,20,20,,,,,MAL-MALJ-20x20.step +MALJ20-20U,MALJ,20,20,,,,U,MAL-MALJ-20x20.step +MALJ20-20CM,MALJ,20,20,,,,CM,MAL-MALJ-20x20.step +MALJ20-20LB,MALJ,20,20,,,LB,,MAL-MALJ-20x20.step +MALJ20-20LBU,MALJ,20,20,,,LB,U,MAL-MALJ-20x20.step +MALJ20-20LBCM,MALJ,20,20,,,LB,CM,MAL-MALJ-20x20.step +MALJ20-20FA,MALJ,20,20,,,FA,,MAL-MALJ-20x20.step +MALJ20-20FAU,MALJ,20,20,,,FA,U,MAL-MALJ-20x20.step +MALJ20-20FACM,MALJ,20,20,,,FA,CM,MAL-MALJ-20x20.step +MALJ20-20FB,MALJ,20,20,,,FB,,MAL-MALJ-20x20.step +MALJ20-20FBU,MALJ,20,20,,,FB,U,MAL-MALJ-20x20.step +MALJ20-20FBCM,MALJ,20,20,,,FB,CM,MAL-MALJ-20x20.step +MALJ20-20SDB,MALJ,20,20,,,SDB,,MAL-MALJ-20x20.step +MALJ20-20SDBU,MALJ,20,20,,,SDB,U,MAL-MALJ-20x20.step +MALJ20-20SDBCM,MALJ,20,20,,,SDB,CM,MAL-MALJ-20x20.step +MALJ20-20ME,MALJ,20,20,M,E,,,MAL-MALJ-20x20.step +MALJ20-20MEU,MALJ,20,20,M,E,,U,MAL-MALJ-20x20.step +MALJ20-20MECM,MALJ,20,20,M,E,,CM,MAL-MALJ-20x20.step +MALJ20-20MELB,MALJ,20,20,M,E,LB,,MAL-MALJ-20x20.step +MALJ20-20MELBU,MALJ,20,20,M,E,LB,U,MAL-MALJ-20x20.step +MALJ20-20MELBCM,MALJ,20,20,M,E,LB,CM,MAL-MALJ-20x20.step +MALJ20-20MEFA,MALJ,20,20,M,E,FA,,MAL-MALJ-20x20.step +MALJ20-20MEFAU,MALJ,20,20,M,E,FA,U,MAL-MALJ-20x20.step +MALJ20-20MEFACM,MALJ,20,20,M,E,FA,CM,MAL-MALJ-20x20.step +MALJ20-20MEFB,MALJ,20,20,M,E,FB,,MAL-MALJ-20x20.step +MALJ20-20MEFBU,MALJ,20,20,M,E,FB,U,MAL-MALJ-20x20.step +MALJ20-20MEFBCM,MALJ,20,20,M,E,FB,CM,MAL-MALJ-20x20.step +MALJ20-20MESDB,MALJ,20,20,M,E,SDB,,MAL-MALJ-20x20.step +MALJ20-20MESDBU,MALJ,20,20,M,E,SDB,U,MAL-MALJ-20x20.step +MALJ20-20MESDBCM,MALJ,20,20,M,E,SDB,CM,MAL-MALJ-20x20.step +MALJ20-20M,MALJ,20,20,M,,,,MAL-MALJ-20x20.step +MALJ20-20MU,MALJ,20,20,M,,,U,MAL-MALJ-20x20.step +MALJ20-20MCM,MALJ,20,20,M,,,CM,MAL-MALJ-20x20.step +MALJ20-20MLB,MALJ,20,20,M,,LB,,MAL-MALJ-20x20.step +MALJ20-20MLBU,MALJ,20,20,M,,LB,U,MAL-MALJ-20x20.step +MALJ20-20MLBCM,MALJ,20,20,M,,LB,CM,MAL-MALJ-20x20.step +MALJ20-20MFA,MALJ,20,20,M,,FA,,MAL-MALJ-20x20.step +MALJ20-20MFAU,MALJ,20,20,M,,FA,U,MAL-MALJ-20x20.step +MALJ20-20MFACM,MALJ,20,20,M,,FA,CM,MAL-MALJ-20x20.step +MALJ20-20MFB,MALJ,20,20,M,,FB,,MAL-MALJ-20x20.step +MALJ20-20MFBU,MALJ,20,20,M,,FB,U,MAL-MALJ-20x20.step +MALJ20-20MFBCM,MALJ,20,20,M,,FB,CM,MAL-MALJ-20x20.step +MALJ20-20MSDB,MALJ,20,20,M,,SDB,,MAL-MALJ-20x20.step +MALJ20-20MSDBU,MALJ,20,20,M,,SDB,U,MAL-MALJ-20x20.step +MALJ20-20MSDBCM,MALJ,20,20,M,,SDB,CM,MAL-MALJ-20x20.step +MALJ20-30E,MALJ,20,30,,E,,,MAL-MALJ-20x30.step +MALJ20-30EU,MALJ,20,30,,E,,U,MAL-MALJ-20x30.step +MALJ20-30ECM,MALJ,20,30,,E,,CM,MAL-MALJ-20x30.step +MALJ20-30ELB,MALJ,20,30,,E,LB,,MAL-MALJ-20x30.step +MALJ20-30ELBU,MALJ,20,30,,E,LB,U,MAL-MALJ-20x30.step +MALJ20-30ELBCM,MALJ,20,30,,E,LB,CM,MAL-MALJ-20x30.step +MALJ20-30EFA,MALJ,20,30,,E,FA,,MAL-MALJ-20x30.step +MALJ20-30EFAU,MALJ,20,30,,E,FA,U,MAL-MALJ-20x30.step +MALJ20-30EFACM,MALJ,20,30,,E,FA,CM,MAL-MALJ-20x30.step +MALJ20-30EFB,MALJ,20,30,,E,FB,,MAL-MALJ-20x30.step +MALJ20-30EFBU,MALJ,20,30,,E,FB,U,MAL-MALJ-20x30.step +MALJ20-30EFBCM,MALJ,20,30,,E,FB,CM,MAL-MALJ-20x30.step +MALJ20-30ESDB,MALJ,20,30,,E,SDB,,MAL-MALJ-20x30.step +MALJ20-30ESDBU,MALJ,20,30,,E,SDB,U,MAL-MALJ-20x30.step +MALJ20-30ESDBCM,MALJ,20,30,,E,SDB,CM,MAL-MALJ-20x30.step +MALJ20-30,MALJ,20,30,,,,,MAL-MALJ-20x30.step +MALJ20-30U,MALJ,20,30,,,,U,MAL-MALJ-20x30.step +MALJ20-30CM,MALJ,20,30,,,,CM,MAL-MALJ-20x30.step +MALJ20-30LB,MALJ,20,30,,,LB,,MAL-MALJ-20x30.step +MALJ20-30LBU,MALJ,20,30,,,LB,U,MAL-MALJ-20x30.step +MALJ20-30LBCM,MALJ,20,30,,,LB,CM,MAL-MALJ-20x30.step +MALJ20-30FA,MALJ,20,30,,,FA,,MAL-MALJ-20x30.step +MALJ20-30FAU,MALJ,20,30,,,FA,U,MAL-MALJ-20x30.step +MALJ20-30FACM,MALJ,20,30,,,FA,CM,MAL-MALJ-20x30.step +MALJ20-30FB,MALJ,20,30,,,FB,,MAL-MALJ-20x30.step +MALJ20-30FBU,MALJ,20,30,,,FB,U,MAL-MALJ-20x30.step +MALJ20-30FBCM,MALJ,20,30,,,FB,CM,MAL-MALJ-20x30.step +MALJ20-30SDB,MALJ,20,30,,,SDB,,MAL-MALJ-20x30.step +MALJ20-30SDBU,MALJ,20,30,,,SDB,U,MAL-MALJ-20x30.step +MALJ20-30SDBCM,MALJ,20,30,,,SDB,CM,MAL-MALJ-20x30.step +MALJ20-30ME,MALJ,20,30,M,E,,,MAL-MALJ-20x30.step +MALJ20-30MEU,MALJ,20,30,M,E,,U,MAL-MALJ-20x30.step +MALJ20-30MECM,MALJ,20,30,M,E,,CM,MAL-MALJ-20x30.step +MALJ20-30MELB,MALJ,20,30,M,E,LB,,MAL-MALJ-20x30.step +MALJ20-30MELBU,MALJ,20,30,M,E,LB,U,MAL-MALJ-20x30.step +MALJ20-30MELBCM,MALJ,20,30,M,E,LB,CM,MAL-MALJ-20x30.step +MALJ20-30MEFA,MALJ,20,30,M,E,FA,,MAL-MALJ-20x30.step +MALJ20-30MEFAU,MALJ,20,30,M,E,FA,U,MAL-MALJ-20x30.step +MALJ20-30MEFACM,MALJ,20,30,M,E,FA,CM,MAL-MALJ-20x30.step +MALJ20-30MEFB,MALJ,20,30,M,E,FB,,MAL-MALJ-20x30.step +MALJ20-30MEFBU,MALJ,20,30,M,E,FB,U,MAL-MALJ-20x30.step +MALJ20-30MEFBCM,MALJ,20,30,M,E,FB,CM,MAL-MALJ-20x30.step +MALJ20-30MESDB,MALJ,20,30,M,E,SDB,,MAL-MALJ-20x30.step +MALJ20-30MESDBU,MALJ,20,30,M,E,SDB,U,MAL-MALJ-20x30.step +MALJ20-30MESDBCM,MALJ,20,30,M,E,SDB,CM,MAL-MALJ-20x30.step +MALJ20-30M,MALJ,20,30,M,,,,MAL-MALJ-20x30.step +MALJ20-30MU,MALJ,20,30,M,,,U,MAL-MALJ-20x30.step +MALJ20-30MCM,MALJ,20,30,M,,,CM,MAL-MALJ-20x30.step +MALJ20-30MLB,MALJ,20,30,M,,LB,,MAL-MALJ-20x30.step +MALJ20-30MLBU,MALJ,20,30,M,,LB,U,MAL-MALJ-20x30.step +MALJ20-30MLBCM,MALJ,20,30,M,,LB,CM,MAL-MALJ-20x30.step +MALJ20-30MFA,MALJ,20,30,M,,FA,,MAL-MALJ-20x30.step +MALJ20-30MFAU,MALJ,20,30,M,,FA,U,MAL-MALJ-20x30.step +MALJ20-30MFACM,MALJ,20,30,M,,FA,CM,MAL-MALJ-20x30.step +MALJ20-30MFB,MALJ,20,30,M,,FB,,MAL-MALJ-20x30.step +MALJ20-30MFBU,MALJ,20,30,M,,FB,U,MAL-MALJ-20x30.step +MALJ20-30MFBCM,MALJ,20,30,M,,FB,CM,MAL-MALJ-20x30.step +MALJ20-30MSDB,MALJ,20,30,M,,SDB,,MAL-MALJ-20x30.step +MALJ20-30MSDBU,MALJ,20,30,M,,SDB,U,MAL-MALJ-20x30.step +MALJ20-30MSDBCM,MALJ,20,30,M,,SDB,CM,MAL-MALJ-20x30.step +MALJ20-50E,MALJ,20,50,,E,,,MAL-MALJ-20x50.step +MALJ20-50EU,MALJ,20,50,,E,,U,MAL-MALJ-20x50.step +MALJ20-50ECM,MALJ,20,50,,E,,CM,MAL-MALJ-20x50.step +MALJ20-50ELB,MALJ,20,50,,E,LB,,MAL-MALJ-20x50.step +MALJ20-50ELBU,MALJ,20,50,,E,LB,U,MAL-MALJ-20x50.step +MALJ20-50ELBCM,MALJ,20,50,,E,LB,CM,MAL-MALJ-20x50.step +MALJ20-50EFA,MALJ,20,50,,E,FA,,MAL-MALJ-20x50.step +MALJ20-50EFAU,MALJ,20,50,,E,FA,U,MAL-MALJ-20x50.step +MALJ20-50EFACM,MALJ,20,50,,E,FA,CM,MAL-MALJ-20x50.step +MALJ20-50EFB,MALJ,20,50,,E,FB,,MAL-MALJ-20x50.step +MALJ20-50EFBU,MALJ,20,50,,E,FB,U,MAL-MALJ-20x50.step +MALJ20-50EFBCM,MALJ,20,50,,E,FB,CM,MAL-MALJ-20x50.step +MALJ20-50ESDB,MALJ,20,50,,E,SDB,,MAL-MALJ-20x50.step +MALJ20-50ESDBU,MALJ,20,50,,E,SDB,U,MAL-MALJ-20x50.step +MALJ20-50ESDBCM,MALJ,20,50,,E,SDB,CM,MAL-MALJ-20x50.step +MALJ20-50,MALJ,20,50,,,,,MAL-MALJ-20x50.step +MALJ20-50U,MALJ,20,50,,,,U,MAL-MALJ-20x50.step +MALJ20-50CM,MALJ,20,50,,,,CM,MAL-MALJ-20x50.step +MALJ20-50LB,MALJ,20,50,,,LB,,MAL-MALJ-20x50.step +MALJ20-50LBU,MALJ,20,50,,,LB,U,MAL-MALJ-20x50.step +MALJ20-50LBCM,MALJ,20,50,,,LB,CM,MAL-MALJ-20x50.step +MALJ20-50FA,MALJ,20,50,,,FA,,MAL-MALJ-20x50.step +MALJ20-50FAU,MALJ,20,50,,,FA,U,MAL-MALJ-20x50.step +MALJ20-50FACM,MALJ,20,50,,,FA,CM,MAL-MALJ-20x50.step +MALJ20-50FB,MALJ,20,50,,,FB,,MAL-MALJ-20x50.step +MALJ20-50FBU,MALJ,20,50,,,FB,U,MAL-MALJ-20x50.step +MALJ20-50FBCM,MALJ,20,50,,,FB,CM,MAL-MALJ-20x50.step +MALJ20-50SDB,MALJ,20,50,,,SDB,,MAL-MALJ-20x50.step +MALJ20-50SDBU,MALJ,20,50,,,SDB,U,MAL-MALJ-20x50.step +MALJ20-50SDBCM,MALJ,20,50,,,SDB,CM,MAL-MALJ-20x50.step +MALJ20-50ME,MALJ,20,50,M,E,,,MAL-MALJ-20x50.step +MALJ20-50MEU,MALJ,20,50,M,E,,U,MAL-MALJ-20x50.step +MALJ20-50MECM,MALJ,20,50,M,E,,CM,MAL-MALJ-20x50.step +MALJ20-50MELB,MALJ,20,50,M,E,LB,,MAL-MALJ-20x50.step +MALJ20-50MELBU,MALJ,20,50,M,E,LB,U,MAL-MALJ-20x50.step +MALJ20-50MELBCM,MALJ,20,50,M,E,LB,CM,MAL-MALJ-20x50.step +MALJ20-50MEFA,MALJ,20,50,M,E,FA,,MAL-MALJ-20x50.step +MALJ20-50MEFAU,MALJ,20,50,M,E,FA,U,MAL-MALJ-20x50.step +MALJ20-50MEFACM,MALJ,20,50,M,E,FA,CM,MAL-MALJ-20x50.step +MALJ20-50MEFB,MALJ,20,50,M,E,FB,,MAL-MALJ-20x50.step +MALJ20-50MEFBU,MALJ,20,50,M,E,FB,U,MAL-MALJ-20x50.step +MALJ20-50MEFBCM,MALJ,20,50,M,E,FB,CM,MAL-MALJ-20x50.step +MALJ20-50MESDB,MALJ,20,50,M,E,SDB,,MAL-MALJ-20x50.step +MALJ20-50MESDBU,MALJ,20,50,M,E,SDB,U,MAL-MALJ-20x50.step +MALJ20-50MESDBCM,MALJ,20,50,M,E,SDB,CM,MAL-MALJ-20x50.step +MALJ20-50M,MALJ,20,50,M,,,,MAL-MALJ-20x50.step +MALJ20-50MU,MALJ,20,50,M,,,U,MAL-MALJ-20x50.step +MALJ20-50MCM,MALJ,20,50,M,,,CM,MAL-MALJ-20x50.step +MALJ20-50MLB,MALJ,20,50,M,,LB,,MAL-MALJ-20x50.step +MALJ20-50MLBU,MALJ,20,50,M,,LB,U,MAL-MALJ-20x50.step +MALJ20-50MLBCM,MALJ,20,50,M,,LB,CM,MAL-MALJ-20x50.step +MALJ20-50MFA,MALJ,20,50,M,,FA,,MAL-MALJ-20x50.step +MALJ20-50MFAU,MALJ,20,50,M,,FA,U,MAL-MALJ-20x50.step +MALJ20-50MFACM,MALJ,20,50,M,,FA,CM,MAL-MALJ-20x50.step +MALJ20-50MFB,MALJ,20,50,M,,FB,,MAL-MALJ-20x50.step +MALJ20-50MFBU,MALJ,20,50,M,,FB,U,MAL-MALJ-20x50.step +MALJ20-50MFBCM,MALJ,20,50,M,,FB,CM,MAL-MALJ-20x50.step +MALJ20-50MSDB,MALJ,20,50,M,,SDB,,MAL-MALJ-20x50.step +MALJ20-50MSDBU,MALJ,20,50,M,,SDB,U,MAL-MALJ-20x50.step +MALJ20-50MSDBCM,MALJ,20,50,M,,SDB,CM,MAL-MALJ-20x50.step +MALJ20-75E,MALJ,20,75,,E,,,MAL-MALJ-20x75.step +MALJ20-75EU,MALJ,20,75,,E,,U,MAL-MALJ-20x75.step +MALJ20-75ECM,MALJ,20,75,,E,,CM,MAL-MALJ-20x75.step +MALJ20-75ELB,MALJ,20,75,,E,LB,,MAL-MALJ-20x75.step +MALJ20-75ELBU,MALJ,20,75,,E,LB,U,MAL-MALJ-20x75.step +MALJ20-75ELBCM,MALJ,20,75,,E,LB,CM,MAL-MALJ-20x75.step +MALJ20-75EFA,MALJ,20,75,,E,FA,,MAL-MALJ-20x75.step +MALJ20-75EFAU,MALJ,20,75,,E,FA,U,MAL-MALJ-20x75.step +MALJ20-75EFACM,MALJ,20,75,,E,FA,CM,MAL-MALJ-20x75.step +MALJ20-75EFB,MALJ,20,75,,E,FB,,MAL-MALJ-20x75.step +MALJ20-75EFBU,MALJ,20,75,,E,FB,U,MAL-MALJ-20x75.step +MALJ20-75EFBCM,MALJ,20,75,,E,FB,CM,MAL-MALJ-20x75.step +MALJ20-75ESDB,MALJ,20,75,,E,SDB,,MAL-MALJ-20x75.step +MALJ20-75ESDBU,MALJ,20,75,,E,SDB,U,MAL-MALJ-20x75.step +MALJ20-75ESDBCM,MALJ,20,75,,E,SDB,CM,MAL-MALJ-20x75.step +MALJ20-75,MALJ,20,75,,,,,MAL-MALJ-20x75.step +MALJ20-75U,MALJ,20,75,,,,U,MAL-MALJ-20x75.step +MALJ20-75CM,MALJ,20,75,,,,CM,MAL-MALJ-20x75.step +MALJ20-75LB,MALJ,20,75,,,LB,,MAL-MALJ-20x75.step +MALJ20-75LBU,MALJ,20,75,,,LB,U,MAL-MALJ-20x75.step +MALJ20-75LBCM,MALJ,20,75,,,LB,CM,MAL-MALJ-20x75.step +MALJ20-75FA,MALJ,20,75,,,FA,,MAL-MALJ-20x75.step +MALJ20-75FAU,MALJ,20,75,,,FA,U,MAL-MALJ-20x75.step +MALJ20-75FACM,MALJ,20,75,,,FA,CM,MAL-MALJ-20x75.step +MALJ20-75FB,MALJ,20,75,,,FB,,MAL-MALJ-20x75.step +MALJ20-75FBU,MALJ,20,75,,,FB,U,MAL-MALJ-20x75.step +MALJ20-75FBCM,MALJ,20,75,,,FB,CM,MAL-MALJ-20x75.step +MALJ20-75SDB,MALJ,20,75,,,SDB,,MAL-MALJ-20x75.step +MALJ20-75SDBU,MALJ,20,75,,,SDB,U,MAL-MALJ-20x75.step +MALJ20-75SDBCM,MALJ,20,75,,,SDB,CM,MAL-MALJ-20x75.step +MALJ20-75ME,MALJ,20,75,M,E,,,MAL-MALJ-20x75.step +MALJ20-75MEU,MALJ,20,75,M,E,,U,MAL-MALJ-20x75.step +MALJ20-75MECM,MALJ,20,75,M,E,,CM,MAL-MALJ-20x75.step +MALJ20-75MELB,MALJ,20,75,M,E,LB,,MAL-MALJ-20x75.step +MALJ20-75MELBU,MALJ,20,75,M,E,LB,U,MAL-MALJ-20x75.step +MALJ20-75MELBCM,MALJ,20,75,M,E,LB,CM,MAL-MALJ-20x75.step +MALJ20-75MEFA,MALJ,20,75,M,E,FA,,MAL-MALJ-20x75.step +MALJ20-75MEFAU,MALJ,20,75,M,E,FA,U,MAL-MALJ-20x75.step +MALJ20-75MEFACM,MALJ,20,75,M,E,FA,CM,MAL-MALJ-20x75.step +MALJ20-75MEFB,MALJ,20,75,M,E,FB,,MAL-MALJ-20x75.step +MALJ20-75MEFBU,MALJ,20,75,M,E,FB,U,MAL-MALJ-20x75.step +MALJ20-75MEFBCM,MALJ,20,75,M,E,FB,CM,MAL-MALJ-20x75.step +MALJ20-75MESDB,MALJ,20,75,M,E,SDB,,MAL-MALJ-20x75.step +MALJ20-75MESDBU,MALJ,20,75,M,E,SDB,U,MAL-MALJ-20x75.step +MALJ20-75MESDBCM,MALJ,20,75,M,E,SDB,CM,MAL-MALJ-20x75.step +MALJ20-75M,MALJ,20,75,M,,,,MAL-MALJ-20x75.step +MALJ20-75MU,MALJ,20,75,M,,,U,MAL-MALJ-20x75.step +MALJ20-75MCM,MALJ,20,75,M,,,CM,MAL-MALJ-20x75.step +MALJ20-75MLB,MALJ,20,75,M,,LB,,MAL-MALJ-20x75.step +MALJ20-75MLBU,MALJ,20,75,M,,LB,U,MAL-MALJ-20x75.step +MALJ20-75MLBCM,MALJ,20,75,M,,LB,CM,MAL-MALJ-20x75.step +MALJ20-75MFA,MALJ,20,75,M,,FA,,MAL-MALJ-20x75.step +MALJ20-75MFAU,MALJ,20,75,M,,FA,U,MAL-MALJ-20x75.step +MALJ20-75MFACM,MALJ,20,75,M,,FA,CM,MAL-MALJ-20x75.step +MALJ20-75MFB,MALJ,20,75,M,,FB,,MAL-MALJ-20x75.step +MALJ20-75MFBU,MALJ,20,75,M,,FB,U,MAL-MALJ-20x75.step +MALJ20-75MFBCM,MALJ,20,75,M,,FB,CM,MAL-MALJ-20x75.step +MALJ20-75MSDB,MALJ,20,75,M,,SDB,,MAL-MALJ-20x75.step +MALJ20-75MSDBU,MALJ,20,75,M,,SDB,U,MAL-MALJ-20x75.step +MALJ20-75MSDBCM,MALJ,20,75,M,,SDB,CM,MAL-MALJ-20x75.step +MALJ20-100E,MALJ,20,100,,E,,,MAL-MALJ-20x100.step +MALJ20-100EU,MALJ,20,100,,E,,U,MAL-MALJ-20x100.step +MALJ20-100ECM,MALJ,20,100,,E,,CM,MAL-MALJ-20x100.step +MALJ20-100ELB,MALJ,20,100,,E,LB,,MAL-MALJ-20x100.step +MALJ20-100ELBU,MALJ,20,100,,E,LB,U,MAL-MALJ-20x100.step +MALJ20-100ELBCM,MALJ,20,100,,E,LB,CM,MAL-MALJ-20x100.step +MALJ20-100EFA,MALJ,20,100,,E,FA,,MAL-MALJ-20x100.step +MALJ20-100EFAU,MALJ,20,100,,E,FA,U,MAL-MALJ-20x100.step +MALJ20-100EFACM,MALJ,20,100,,E,FA,CM,MAL-MALJ-20x100.step +MALJ20-100EFB,MALJ,20,100,,E,FB,,MAL-MALJ-20x100.step +MALJ20-100EFBU,MALJ,20,100,,E,FB,U,MAL-MALJ-20x100.step +MALJ20-100EFBCM,MALJ,20,100,,E,FB,CM,MAL-MALJ-20x100.step +MALJ20-100ESDB,MALJ,20,100,,E,SDB,,MAL-MALJ-20x100.step +MALJ20-100ESDBU,MALJ,20,100,,E,SDB,U,MAL-MALJ-20x100.step +MALJ20-100ESDBCM,MALJ,20,100,,E,SDB,CM,MAL-MALJ-20x100.step +MALJ20-100,MALJ,20,100,,,,,MAL-MALJ-20x100.step +MALJ20-100U,MALJ,20,100,,,,U,MAL-MALJ-20x100.step +MALJ20-100CM,MALJ,20,100,,,,CM,MAL-MALJ-20x100.step +MALJ20-100LB,MALJ,20,100,,,LB,,MAL-MALJ-20x100.step +MALJ20-100LBU,MALJ,20,100,,,LB,U,MAL-MALJ-20x100.step +MALJ20-100LBCM,MALJ,20,100,,,LB,CM,MAL-MALJ-20x100.step +MALJ20-100FA,MALJ,20,100,,,FA,,MAL-MALJ-20x100.step +MALJ20-100FAU,MALJ,20,100,,,FA,U,MAL-MALJ-20x100.step +MALJ20-100FACM,MALJ,20,100,,,FA,CM,MAL-MALJ-20x100.step +MALJ20-100FB,MALJ,20,100,,,FB,,MAL-MALJ-20x100.step +MALJ20-100FBU,MALJ,20,100,,,FB,U,MAL-MALJ-20x100.step +MALJ20-100FBCM,MALJ,20,100,,,FB,CM,MAL-MALJ-20x100.step +MALJ20-100SDB,MALJ,20,100,,,SDB,,MAL-MALJ-20x100.step +MALJ20-100SDBU,MALJ,20,100,,,SDB,U,MAL-MALJ-20x100.step +MALJ20-100SDBCM,MALJ,20,100,,,SDB,CM,MAL-MALJ-20x100.step +MALJ20-100ME,MALJ,20,100,M,E,,,MAL-MALJ-20x100.step +MALJ20-100MEU,MALJ,20,100,M,E,,U,MAL-MALJ-20x100.step +MALJ20-100MECM,MALJ,20,100,M,E,,CM,MAL-MALJ-20x100.step +MALJ20-100MELB,MALJ,20,100,M,E,LB,,MAL-MALJ-20x100.step +MALJ20-100MELBU,MALJ,20,100,M,E,LB,U,MAL-MALJ-20x100.step +MALJ20-100MELBCM,MALJ,20,100,M,E,LB,CM,MAL-MALJ-20x100.step +MALJ20-100MEFA,MALJ,20,100,M,E,FA,,MAL-MALJ-20x100.step +MALJ20-100MEFAU,MALJ,20,100,M,E,FA,U,MAL-MALJ-20x100.step +MALJ20-100MEFACM,MALJ,20,100,M,E,FA,CM,MAL-MALJ-20x100.step +MALJ20-100MEFB,MALJ,20,100,M,E,FB,,MAL-MALJ-20x100.step +MALJ20-100MEFBU,MALJ,20,100,M,E,FB,U,MAL-MALJ-20x100.step +MALJ20-100MEFBCM,MALJ,20,100,M,E,FB,CM,MAL-MALJ-20x100.step +MALJ20-100MESDB,MALJ,20,100,M,E,SDB,,MAL-MALJ-20x100.step +MALJ20-100MESDBU,MALJ,20,100,M,E,SDB,U,MAL-MALJ-20x100.step +MALJ20-100MESDBCM,MALJ,20,100,M,E,SDB,CM,MAL-MALJ-20x100.step +MALJ20-100M,MALJ,20,100,M,,,,MAL-MALJ-20x100.step +MALJ20-100MU,MALJ,20,100,M,,,U,MAL-MALJ-20x100.step +MALJ20-100MCM,MALJ,20,100,M,,,CM,MAL-MALJ-20x100.step +MALJ20-100MLB,MALJ,20,100,M,,LB,,MAL-MALJ-20x100.step +MALJ20-100MLBU,MALJ,20,100,M,,LB,U,MAL-MALJ-20x100.step +MALJ20-100MLBCM,MALJ,20,100,M,,LB,CM,MAL-MALJ-20x100.step +MALJ20-100MFA,MALJ,20,100,M,,FA,,MAL-MALJ-20x100.step +MALJ20-100MFAU,MALJ,20,100,M,,FA,U,MAL-MALJ-20x100.step +MALJ20-100MFACM,MALJ,20,100,M,,FA,CM,MAL-MALJ-20x100.step +MALJ20-100MFB,MALJ,20,100,M,,FB,,MAL-MALJ-20x100.step +MALJ20-100MFBU,MALJ,20,100,M,,FB,U,MAL-MALJ-20x100.step +MALJ20-100MFBCM,MALJ,20,100,M,,FB,CM,MAL-MALJ-20x100.step +MALJ20-100MSDB,MALJ,20,100,M,,SDB,,MAL-MALJ-20x100.step +MALJ20-100MSDBU,MALJ,20,100,M,,SDB,U,MAL-MALJ-20x100.step +MALJ20-100MSDBCM,MALJ,20,100,M,,SDB,CM,MAL-MALJ-20x100.step +MALJ25-10E,MALJ,25,10,,E,,,MAL-MALJ-25x10.step +MALJ25-10EU,MALJ,25,10,,E,,U,MAL-MALJ-25x10.step +MALJ25-10ECM,MALJ,25,10,,E,,CM,MAL-MALJ-25x10.step +MALJ25-10ELB,MALJ,25,10,,E,LB,,MAL-MALJ-25x10.step +MALJ25-10ELBU,MALJ,25,10,,E,LB,U,MAL-MALJ-25x10.step +MALJ25-10ELBCM,MALJ,25,10,,E,LB,CM,MAL-MALJ-25x10.step +MALJ25-10EFA,MALJ,25,10,,E,FA,,MAL-MALJ-25x10.step +MALJ25-10EFAU,MALJ,25,10,,E,FA,U,MAL-MALJ-25x10.step +MALJ25-10EFACM,MALJ,25,10,,E,FA,CM,MAL-MALJ-25x10.step +MALJ25-10EFB,MALJ,25,10,,E,FB,,MAL-MALJ-25x10.step +MALJ25-10EFBU,MALJ,25,10,,E,FB,U,MAL-MALJ-25x10.step +MALJ25-10EFBCM,MALJ,25,10,,E,FB,CM,MAL-MALJ-25x10.step +MALJ25-10ESDB,MALJ,25,10,,E,SDB,,MAL-MALJ-25x10.step +MALJ25-10ESDBU,MALJ,25,10,,E,SDB,U,MAL-MALJ-25x10.step +MALJ25-10ESDBCM,MALJ,25,10,,E,SDB,CM,MAL-MALJ-25x10.step +MALJ25-10,MALJ,25,10,,,,,MAL-MALJ-25x10.step +MALJ25-10U,MALJ,25,10,,,,U,MAL-MALJ-25x10.step +MALJ25-10CM,MALJ,25,10,,,,CM,MAL-MALJ-25x10.step +MALJ25-10LB,MALJ,25,10,,,LB,,MAL-MALJ-25x10.step +MALJ25-10LBU,MALJ,25,10,,,LB,U,MAL-MALJ-25x10.step +MALJ25-10LBCM,MALJ,25,10,,,LB,CM,MAL-MALJ-25x10.step +MALJ25-10FA,MALJ,25,10,,,FA,,MAL-MALJ-25x10.step +MALJ25-10FAU,MALJ,25,10,,,FA,U,MAL-MALJ-25x10.step +MALJ25-10FACM,MALJ,25,10,,,FA,CM,MAL-MALJ-25x10.step +MALJ25-10FB,MALJ,25,10,,,FB,,MAL-MALJ-25x10.step +MALJ25-10FBU,MALJ,25,10,,,FB,U,MAL-MALJ-25x10.step +MALJ25-10FBCM,MALJ,25,10,,,FB,CM,MAL-MALJ-25x10.step +MALJ25-10SDB,MALJ,25,10,,,SDB,,MAL-MALJ-25x10.step +MALJ25-10SDBU,MALJ,25,10,,,SDB,U,MAL-MALJ-25x10.step +MALJ25-10SDBCM,MALJ,25,10,,,SDB,CM,MAL-MALJ-25x10.step +MALJ25-10ME,MALJ,25,10,M,E,,,MAL-MALJ-25x10.step +MALJ25-10MEU,MALJ,25,10,M,E,,U,MAL-MALJ-25x10.step +MALJ25-10MECM,MALJ,25,10,M,E,,CM,MAL-MALJ-25x10.step +MALJ25-10MELB,MALJ,25,10,M,E,LB,,MAL-MALJ-25x10.step +MALJ25-10MELBU,MALJ,25,10,M,E,LB,U,MAL-MALJ-25x10.step +MALJ25-10MELBCM,MALJ,25,10,M,E,LB,CM,MAL-MALJ-25x10.step +MALJ25-10MEFA,MALJ,25,10,M,E,FA,,MAL-MALJ-25x10.step +MALJ25-10MEFAU,MALJ,25,10,M,E,FA,U,MAL-MALJ-25x10.step +MALJ25-10MEFACM,MALJ,25,10,M,E,FA,CM,MAL-MALJ-25x10.step +MALJ25-10MEFB,MALJ,25,10,M,E,FB,,MAL-MALJ-25x10.step +MALJ25-10MEFBU,MALJ,25,10,M,E,FB,U,MAL-MALJ-25x10.step +MALJ25-10MEFBCM,MALJ,25,10,M,E,FB,CM,MAL-MALJ-25x10.step +MALJ25-10MESDB,MALJ,25,10,M,E,SDB,,MAL-MALJ-25x10.step +MALJ25-10MESDBU,MALJ,25,10,M,E,SDB,U,MAL-MALJ-25x10.step +MALJ25-10MESDBCM,MALJ,25,10,M,E,SDB,CM,MAL-MALJ-25x10.step +MALJ25-10M,MALJ,25,10,M,,,,MAL-MALJ-25x10.step +MALJ25-10MU,MALJ,25,10,M,,,U,MAL-MALJ-25x10.step +MALJ25-10MCM,MALJ,25,10,M,,,CM,MAL-MALJ-25x10.step +MALJ25-10MLB,MALJ,25,10,M,,LB,,MAL-MALJ-25x10.step +MALJ25-10MLBU,MALJ,25,10,M,,LB,U,MAL-MALJ-25x10.step +MALJ25-10MLBCM,MALJ,25,10,M,,LB,CM,MAL-MALJ-25x10.step +MALJ25-10MFA,MALJ,25,10,M,,FA,,MAL-MALJ-25x10.step +MALJ25-10MFAU,MALJ,25,10,M,,FA,U,MAL-MALJ-25x10.step +MALJ25-10MFACM,MALJ,25,10,M,,FA,CM,MAL-MALJ-25x10.step +MALJ25-10MFB,MALJ,25,10,M,,FB,,MAL-MALJ-25x10.step +MALJ25-10MFBU,MALJ,25,10,M,,FB,U,MAL-MALJ-25x10.step +MALJ25-10MFBCM,MALJ,25,10,M,,FB,CM,MAL-MALJ-25x10.step +MALJ25-10MSDB,MALJ,25,10,M,,SDB,,MAL-MALJ-25x10.step +MALJ25-10MSDBU,MALJ,25,10,M,,SDB,U,MAL-MALJ-25x10.step +MALJ25-10MSDBCM,MALJ,25,10,M,,SDB,CM,MAL-MALJ-25x10.step +MALJ25-20E,MALJ,25,20,,E,,,MAL-MALJ-25x20.step +MALJ25-20EU,MALJ,25,20,,E,,U,MAL-MALJ-25x20.step +MALJ25-20ECM,MALJ,25,20,,E,,CM,MAL-MALJ-25x20.step +MALJ25-20ELB,MALJ,25,20,,E,LB,,MAL-MALJ-25x20.step +MALJ25-20ELBU,MALJ,25,20,,E,LB,U,MAL-MALJ-25x20.step +MALJ25-20ELBCM,MALJ,25,20,,E,LB,CM,MAL-MALJ-25x20.step +MALJ25-20EFA,MALJ,25,20,,E,FA,,MAL-MALJ-25x20.step +MALJ25-20EFAU,MALJ,25,20,,E,FA,U,MAL-MALJ-25x20.step +MALJ25-20EFACM,MALJ,25,20,,E,FA,CM,MAL-MALJ-25x20.step +MALJ25-20EFB,MALJ,25,20,,E,FB,,MAL-MALJ-25x20.step +MALJ25-20EFBU,MALJ,25,20,,E,FB,U,MAL-MALJ-25x20.step +MALJ25-20EFBCM,MALJ,25,20,,E,FB,CM,MAL-MALJ-25x20.step +MALJ25-20ESDB,MALJ,25,20,,E,SDB,,MAL-MALJ-25x20.step +MALJ25-20ESDBU,MALJ,25,20,,E,SDB,U,MAL-MALJ-25x20.step +MALJ25-20ESDBCM,MALJ,25,20,,E,SDB,CM,MAL-MALJ-25x20.step +MALJ25-20,MALJ,25,20,,,,,MAL-MALJ-25x20.step +MALJ25-20U,MALJ,25,20,,,,U,MAL-MALJ-25x20.step +MALJ25-20CM,MALJ,25,20,,,,CM,MAL-MALJ-25x20.step +MALJ25-20LB,MALJ,25,20,,,LB,,MAL-MALJ-25x20.step +MALJ25-20LBU,MALJ,25,20,,,LB,U,MAL-MALJ-25x20.step +MALJ25-20LBCM,MALJ,25,20,,,LB,CM,MAL-MALJ-25x20.step +MALJ25-20FA,MALJ,25,20,,,FA,,MAL-MALJ-25x20.step +MALJ25-20FAU,MALJ,25,20,,,FA,U,MAL-MALJ-25x20.step +MALJ25-20FACM,MALJ,25,20,,,FA,CM,MAL-MALJ-25x20.step +MALJ25-20FB,MALJ,25,20,,,FB,,MAL-MALJ-25x20.step +MALJ25-20FBU,MALJ,25,20,,,FB,U,MAL-MALJ-25x20.step +MALJ25-20FBCM,MALJ,25,20,,,FB,CM,MAL-MALJ-25x20.step +MALJ25-20SDB,MALJ,25,20,,,SDB,,MAL-MALJ-25x20.step +MALJ25-20SDBU,MALJ,25,20,,,SDB,U,MAL-MALJ-25x20.step +MALJ25-20SDBCM,MALJ,25,20,,,SDB,CM,MAL-MALJ-25x20.step +MALJ25-20ME,MALJ,25,20,M,E,,,MAL-MALJ-25x20.step +MALJ25-20MEU,MALJ,25,20,M,E,,U,MAL-MALJ-25x20.step +MALJ25-20MECM,MALJ,25,20,M,E,,CM,MAL-MALJ-25x20.step +MALJ25-20MELB,MALJ,25,20,M,E,LB,,MAL-MALJ-25x20.step +MALJ25-20MELBU,MALJ,25,20,M,E,LB,U,MAL-MALJ-25x20.step +MALJ25-20MELBCM,MALJ,25,20,M,E,LB,CM,MAL-MALJ-25x20.step +MALJ25-20MEFA,MALJ,25,20,M,E,FA,,MAL-MALJ-25x20.step +MALJ25-20MEFAU,MALJ,25,20,M,E,FA,U,MAL-MALJ-25x20.step +MALJ25-20MEFACM,MALJ,25,20,M,E,FA,CM,MAL-MALJ-25x20.step +MALJ25-20MEFB,MALJ,25,20,M,E,FB,,MAL-MALJ-25x20.step +MALJ25-20MEFBU,MALJ,25,20,M,E,FB,U,MAL-MALJ-25x20.step +MALJ25-20MEFBCM,MALJ,25,20,M,E,FB,CM,MAL-MALJ-25x20.step +MALJ25-20MESDB,MALJ,25,20,M,E,SDB,,MAL-MALJ-25x20.step +MALJ25-20MESDBU,MALJ,25,20,M,E,SDB,U,MAL-MALJ-25x20.step +MALJ25-20MESDBCM,MALJ,25,20,M,E,SDB,CM,MAL-MALJ-25x20.step +MALJ25-20M,MALJ,25,20,M,,,,MAL-MALJ-25x20.step +MALJ25-20MU,MALJ,25,20,M,,,U,MAL-MALJ-25x20.step +MALJ25-20MCM,MALJ,25,20,M,,,CM,MAL-MALJ-25x20.step +MALJ25-20MLB,MALJ,25,20,M,,LB,,MAL-MALJ-25x20.step +MALJ25-20MLBU,MALJ,25,20,M,,LB,U,MAL-MALJ-25x20.step +MALJ25-20MLBCM,MALJ,25,20,M,,LB,CM,MAL-MALJ-25x20.step +MALJ25-20MFA,MALJ,25,20,M,,FA,,MAL-MALJ-25x20.step +MALJ25-20MFAU,MALJ,25,20,M,,FA,U,MAL-MALJ-25x20.step +MALJ25-20MFACM,MALJ,25,20,M,,FA,CM,MAL-MALJ-25x20.step +MALJ25-20MFB,MALJ,25,20,M,,FB,,MAL-MALJ-25x20.step +MALJ25-20MFBU,MALJ,25,20,M,,FB,U,MAL-MALJ-25x20.step +MALJ25-20MFBCM,MALJ,25,20,M,,FB,CM,MAL-MALJ-25x20.step +MALJ25-20MSDB,MALJ,25,20,M,,SDB,,MAL-MALJ-25x20.step +MALJ25-20MSDBU,MALJ,25,20,M,,SDB,U,MAL-MALJ-25x20.step +MALJ25-20MSDBCM,MALJ,25,20,M,,SDB,CM,MAL-MALJ-25x20.step +MALJ25-30E,MALJ,25,30,,E,,,MAL-MALJ-25x30.step +MALJ25-30EU,MALJ,25,30,,E,,U,MAL-MALJ-25x30.step +MALJ25-30ECM,MALJ,25,30,,E,,CM,MAL-MALJ-25x30.step +MALJ25-30ELB,MALJ,25,30,,E,LB,,MAL-MALJ-25x30.step +MALJ25-30ELBU,MALJ,25,30,,E,LB,U,MAL-MALJ-25x30.step +MALJ25-30ELBCM,MALJ,25,30,,E,LB,CM,MAL-MALJ-25x30.step +MALJ25-30EFA,MALJ,25,30,,E,FA,,MAL-MALJ-25x30.step +MALJ25-30EFAU,MALJ,25,30,,E,FA,U,MAL-MALJ-25x30.step +MALJ25-30EFACM,MALJ,25,30,,E,FA,CM,MAL-MALJ-25x30.step +MALJ25-30EFB,MALJ,25,30,,E,FB,,MAL-MALJ-25x30.step +MALJ25-30EFBU,MALJ,25,30,,E,FB,U,MAL-MALJ-25x30.step +MALJ25-30EFBCM,MALJ,25,30,,E,FB,CM,MAL-MALJ-25x30.step +MALJ25-30ESDB,MALJ,25,30,,E,SDB,,MAL-MALJ-25x30.step +MALJ25-30ESDBU,MALJ,25,30,,E,SDB,U,MAL-MALJ-25x30.step +MALJ25-30ESDBCM,MALJ,25,30,,E,SDB,CM,MAL-MALJ-25x30.step +MALJ25-30,MALJ,25,30,,,,,MAL-MALJ-25x30.step +MALJ25-30U,MALJ,25,30,,,,U,MAL-MALJ-25x30.step +MALJ25-30CM,MALJ,25,30,,,,CM,MAL-MALJ-25x30.step +MALJ25-30LB,MALJ,25,30,,,LB,,MAL-MALJ-25x30.step +MALJ25-30LBU,MALJ,25,30,,,LB,U,MAL-MALJ-25x30.step +MALJ25-30LBCM,MALJ,25,30,,,LB,CM,MAL-MALJ-25x30.step +MALJ25-30FA,MALJ,25,30,,,FA,,MAL-MALJ-25x30.step +MALJ25-30FAU,MALJ,25,30,,,FA,U,MAL-MALJ-25x30.step +MALJ25-30FACM,MALJ,25,30,,,FA,CM,MAL-MALJ-25x30.step +MALJ25-30FB,MALJ,25,30,,,FB,,MAL-MALJ-25x30.step +MALJ25-30FBU,MALJ,25,30,,,FB,U,MAL-MALJ-25x30.step +MALJ25-30FBCM,MALJ,25,30,,,FB,CM,MAL-MALJ-25x30.step +MALJ25-30SDB,MALJ,25,30,,,SDB,,MAL-MALJ-25x30.step +MALJ25-30SDBU,MALJ,25,30,,,SDB,U,MAL-MALJ-25x30.step +MALJ25-30SDBCM,MALJ,25,30,,,SDB,CM,MAL-MALJ-25x30.step +MALJ25-30ME,MALJ,25,30,M,E,,,MAL-MALJ-25x30.step +MALJ25-30MEU,MALJ,25,30,M,E,,U,MAL-MALJ-25x30.step +MALJ25-30MECM,MALJ,25,30,M,E,,CM,MAL-MALJ-25x30.step +MALJ25-30MELB,MALJ,25,30,M,E,LB,,MAL-MALJ-25x30.step +MALJ25-30MELBU,MALJ,25,30,M,E,LB,U,MAL-MALJ-25x30.step +MALJ25-30MELBCM,MALJ,25,30,M,E,LB,CM,MAL-MALJ-25x30.step +MALJ25-30MEFA,MALJ,25,30,M,E,FA,,MAL-MALJ-25x30.step +MALJ25-30MEFAU,MALJ,25,30,M,E,FA,U,MAL-MALJ-25x30.step +MALJ25-30MEFACM,MALJ,25,30,M,E,FA,CM,MAL-MALJ-25x30.step +MALJ25-30MEFB,MALJ,25,30,M,E,FB,,MAL-MALJ-25x30.step +MALJ25-30MEFBU,MALJ,25,30,M,E,FB,U,MAL-MALJ-25x30.step +MALJ25-30MEFBCM,MALJ,25,30,M,E,FB,CM,MAL-MALJ-25x30.step +MALJ25-30MESDB,MALJ,25,30,M,E,SDB,,MAL-MALJ-25x30.step +MALJ25-30MESDBU,MALJ,25,30,M,E,SDB,U,MAL-MALJ-25x30.step +MALJ25-30MESDBCM,MALJ,25,30,M,E,SDB,CM,MAL-MALJ-25x30.step +MALJ25-30M,MALJ,25,30,M,,,,MAL-MALJ-25x30.step +MALJ25-30MU,MALJ,25,30,M,,,U,MAL-MALJ-25x30.step +MALJ25-30MCM,MALJ,25,30,M,,,CM,MAL-MALJ-25x30.step +MALJ25-30MLB,MALJ,25,30,M,,LB,,MAL-MALJ-25x30.step +MALJ25-30MLBU,MALJ,25,30,M,,LB,U,MAL-MALJ-25x30.step +MALJ25-30MLBCM,MALJ,25,30,M,,LB,CM,MAL-MALJ-25x30.step +MALJ25-30MFA,MALJ,25,30,M,,FA,,MAL-MALJ-25x30.step +MALJ25-30MFAU,MALJ,25,30,M,,FA,U,MAL-MALJ-25x30.step +MALJ25-30MFACM,MALJ,25,30,M,,FA,CM,MAL-MALJ-25x30.step +MALJ25-30MFB,MALJ,25,30,M,,FB,,MAL-MALJ-25x30.step +MALJ25-30MFBU,MALJ,25,30,M,,FB,U,MAL-MALJ-25x30.step +MALJ25-30MFBCM,MALJ,25,30,M,,FB,CM,MAL-MALJ-25x30.step +MALJ25-30MSDB,MALJ,25,30,M,,SDB,,MAL-MALJ-25x30.step +MALJ25-30MSDBU,MALJ,25,30,M,,SDB,U,MAL-MALJ-25x30.step +MALJ25-30MSDBCM,MALJ,25,30,M,,SDB,CM,MAL-MALJ-25x30.step +MALJ25-50E,MALJ,25,50,,E,,,MAL-MALJ-25x50.step +MALJ25-50EU,MALJ,25,50,,E,,U,MAL-MALJ-25x50.step +MALJ25-50ECM,MALJ,25,50,,E,,CM,MAL-MALJ-25x50.step +MALJ25-50ELB,MALJ,25,50,,E,LB,,MAL-MALJ-25x50.step +MALJ25-50ELBU,MALJ,25,50,,E,LB,U,MAL-MALJ-25x50.step +MALJ25-50ELBCM,MALJ,25,50,,E,LB,CM,MAL-MALJ-25x50.step +MALJ25-50EFA,MALJ,25,50,,E,FA,,MAL-MALJ-25x50.step +MALJ25-50EFAU,MALJ,25,50,,E,FA,U,MAL-MALJ-25x50.step +MALJ25-50EFACM,MALJ,25,50,,E,FA,CM,MAL-MALJ-25x50.step +MALJ25-50EFB,MALJ,25,50,,E,FB,,MAL-MALJ-25x50.step +MALJ25-50EFBU,MALJ,25,50,,E,FB,U,MAL-MALJ-25x50.step +MALJ25-50EFBCM,MALJ,25,50,,E,FB,CM,MAL-MALJ-25x50.step +MALJ25-50ESDB,MALJ,25,50,,E,SDB,,MAL-MALJ-25x50.step +MALJ25-50ESDBU,MALJ,25,50,,E,SDB,U,MAL-MALJ-25x50.step +MALJ25-50ESDBCM,MALJ,25,50,,E,SDB,CM,MAL-MALJ-25x50.step +MALJ25-50,MALJ,25,50,,,,,MAL-MALJ-25x50.step +MALJ25-50U,MALJ,25,50,,,,U,MAL-MALJ-25x50.step +MALJ25-50CM,MALJ,25,50,,,,CM,MAL-MALJ-25x50.step +MALJ25-50LB,MALJ,25,50,,,LB,,MAL-MALJ-25x50.step +MALJ25-50LBU,MALJ,25,50,,,LB,U,MAL-MALJ-25x50.step +MALJ25-50LBCM,MALJ,25,50,,,LB,CM,MAL-MALJ-25x50.step +MALJ25-50FA,MALJ,25,50,,,FA,,MAL-MALJ-25x50.step +MALJ25-50FAU,MALJ,25,50,,,FA,U,MAL-MALJ-25x50.step +MALJ25-50FACM,MALJ,25,50,,,FA,CM,MAL-MALJ-25x50.step +MALJ25-50FB,MALJ,25,50,,,FB,,MAL-MALJ-25x50.step +MALJ25-50FBU,MALJ,25,50,,,FB,U,MAL-MALJ-25x50.step +MALJ25-50FBCM,MALJ,25,50,,,FB,CM,MAL-MALJ-25x50.step +MALJ25-50SDB,MALJ,25,50,,,SDB,,MAL-MALJ-25x50.step +MALJ25-50SDBU,MALJ,25,50,,,SDB,U,MAL-MALJ-25x50.step +MALJ25-50SDBCM,MALJ,25,50,,,SDB,CM,MAL-MALJ-25x50.step +MALJ25-50ME,MALJ,25,50,M,E,,,MAL-MALJ-25x50.step +MALJ25-50MEU,MALJ,25,50,M,E,,U,MAL-MALJ-25x50.step +MALJ25-50MECM,MALJ,25,50,M,E,,CM,MAL-MALJ-25x50.step +MALJ25-50MELB,MALJ,25,50,M,E,LB,,MAL-MALJ-25x50.step +MALJ25-50MELBU,MALJ,25,50,M,E,LB,U,MAL-MALJ-25x50.step +MALJ25-50MELBCM,MALJ,25,50,M,E,LB,CM,MAL-MALJ-25x50.step +MALJ25-50MEFA,MALJ,25,50,M,E,FA,,MAL-MALJ-25x50.step +MALJ25-50MEFAU,MALJ,25,50,M,E,FA,U,MAL-MALJ-25x50.step +MALJ25-50MEFACM,MALJ,25,50,M,E,FA,CM,MAL-MALJ-25x50.step +MALJ25-50MEFB,MALJ,25,50,M,E,FB,,MAL-MALJ-25x50.step +MALJ25-50MEFBU,MALJ,25,50,M,E,FB,U,MAL-MALJ-25x50.step +MALJ25-50MEFBCM,MALJ,25,50,M,E,FB,CM,MAL-MALJ-25x50.step +MALJ25-50MESDB,MALJ,25,50,M,E,SDB,,MAL-MALJ-25x50.step +MALJ25-50MESDBU,MALJ,25,50,M,E,SDB,U,MAL-MALJ-25x50.step +MALJ25-50MESDBCM,MALJ,25,50,M,E,SDB,CM,MAL-MALJ-25x50.step +MALJ25-50M,MALJ,25,50,M,,,,MAL-MALJ-25x50.step +MALJ25-50MU,MALJ,25,50,M,,,U,MAL-MALJ-25x50.step +MALJ25-50MCM,MALJ,25,50,M,,,CM,MAL-MALJ-25x50.step +MALJ25-50MLB,MALJ,25,50,M,,LB,,MAL-MALJ-25x50.step +MALJ25-50MLBU,MALJ,25,50,M,,LB,U,MAL-MALJ-25x50.step +MALJ25-50MLBCM,MALJ,25,50,M,,LB,CM,MAL-MALJ-25x50.step +MALJ25-50MFA,MALJ,25,50,M,,FA,,MAL-MALJ-25x50.step +MALJ25-50MFAU,MALJ,25,50,M,,FA,U,MAL-MALJ-25x50.step +MALJ25-50MFACM,MALJ,25,50,M,,FA,CM,MAL-MALJ-25x50.step +MALJ25-50MFB,MALJ,25,50,M,,FB,,MAL-MALJ-25x50.step +MALJ25-50MFBU,MALJ,25,50,M,,FB,U,MAL-MALJ-25x50.step +MALJ25-50MFBCM,MALJ,25,50,M,,FB,CM,MAL-MALJ-25x50.step +MALJ25-50MSDB,MALJ,25,50,M,,SDB,,MAL-MALJ-25x50.step +MALJ25-50MSDBU,MALJ,25,50,M,,SDB,U,MAL-MALJ-25x50.step +MALJ25-50MSDBCM,MALJ,25,50,M,,SDB,CM,MAL-MALJ-25x50.step +MALJ25-75E,MALJ,25,75,,E,,,MAL-MALJ-25x75.step +MALJ25-75EU,MALJ,25,75,,E,,U,MAL-MALJ-25x75.step +MALJ25-75ECM,MALJ,25,75,,E,,CM,MAL-MALJ-25x75.step +MALJ25-75ELB,MALJ,25,75,,E,LB,,MAL-MALJ-25x75.step +MALJ25-75ELBU,MALJ,25,75,,E,LB,U,MAL-MALJ-25x75.step +MALJ25-75ELBCM,MALJ,25,75,,E,LB,CM,MAL-MALJ-25x75.step +MALJ25-75EFA,MALJ,25,75,,E,FA,,MAL-MALJ-25x75.step +MALJ25-75EFAU,MALJ,25,75,,E,FA,U,MAL-MALJ-25x75.step +MALJ25-75EFACM,MALJ,25,75,,E,FA,CM,MAL-MALJ-25x75.step +MALJ25-75EFB,MALJ,25,75,,E,FB,,MAL-MALJ-25x75.step +MALJ25-75EFBU,MALJ,25,75,,E,FB,U,MAL-MALJ-25x75.step +MALJ25-75EFBCM,MALJ,25,75,,E,FB,CM,MAL-MALJ-25x75.step +MALJ25-75ESDB,MALJ,25,75,,E,SDB,,MAL-MALJ-25x75.step +MALJ25-75ESDBU,MALJ,25,75,,E,SDB,U,MAL-MALJ-25x75.step +MALJ25-75ESDBCM,MALJ,25,75,,E,SDB,CM,MAL-MALJ-25x75.step +MALJ25-75,MALJ,25,75,,,,,MAL-MALJ-25x75.step +MALJ25-75U,MALJ,25,75,,,,U,MAL-MALJ-25x75.step +MALJ25-75CM,MALJ,25,75,,,,CM,MAL-MALJ-25x75.step +MALJ25-75LB,MALJ,25,75,,,LB,,MAL-MALJ-25x75.step +MALJ25-75LBU,MALJ,25,75,,,LB,U,MAL-MALJ-25x75.step +MALJ25-75LBCM,MALJ,25,75,,,LB,CM,MAL-MALJ-25x75.step +MALJ25-75FA,MALJ,25,75,,,FA,,MAL-MALJ-25x75.step +MALJ25-75FAU,MALJ,25,75,,,FA,U,MAL-MALJ-25x75.step +MALJ25-75FACM,MALJ,25,75,,,FA,CM,MAL-MALJ-25x75.step +MALJ25-75FB,MALJ,25,75,,,FB,,MAL-MALJ-25x75.step +MALJ25-75FBU,MALJ,25,75,,,FB,U,MAL-MALJ-25x75.step +MALJ25-75FBCM,MALJ,25,75,,,FB,CM,MAL-MALJ-25x75.step +MALJ25-75SDB,MALJ,25,75,,,SDB,,MAL-MALJ-25x75.step +MALJ25-75SDBU,MALJ,25,75,,,SDB,U,MAL-MALJ-25x75.step +MALJ25-75SDBCM,MALJ,25,75,,,SDB,CM,MAL-MALJ-25x75.step +MALJ25-75ME,MALJ,25,75,M,E,,,MAL-MALJ-25x75.step +MALJ25-75MEU,MALJ,25,75,M,E,,U,MAL-MALJ-25x75.step +MALJ25-75MECM,MALJ,25,75,M,E,,CM,MAL-MALJ-25x75.step +MALJ25-75MELB,MALJ,25,75,M,E,LB,,MAL-MALJ-25x75.step +MALJ25-75MELBU,MALJ,25,75,M,E,LB,U,MAL-MALJ-25x75.step +MALJ25-75MELBCM,MALJ,25,75,M,E,LB,CM,MAL-MALJ-25x75.step +MALJ25-75MEFA,MALJ,25,75,M,E,FA,,MAL-MALJ-25x75.step +MALJ25-75MEFAU,MALJ,25,75,M,E,FA,U,MAL-MALJ-25x75.step +MALJ25-75MEFACM,MALJ,25,75,M,E,FA,CM,MAL-MALJ-25x75.step +MALJ25-75MEFB,MALJ,25,75,M,E,FB,,MAL-MALJ-25x75.step +MALJ25-75MEFBU,MALJ,25,75,M,E,FB,U,MAL-MALJ-25x75.step +MALJ25-75MEFBCM,MALJ,25,75,M,E,FB,CM,MAL-MALJ-25x75.step +MALJ25-75MESDB,MALJ,25,75,M,E,SDB,,MAL-MALJ-25x75.step +MALJ25-75MESDBU,MALJ,25,75,M,E,SDB,U,MAL-MALJ-25x75.step +MALJ25-75MESDBCM,MALJ,25,75,M,E,SDB,CM,MAL-MALJ-25x75.step +MALJ25-75M,MALJ,25,75,M,,,,MAL-MALJ-25x75.step +MALJ25-75MU,MALJ,25,75,M,,,U,MAL-MALJ-25x75.step +MALJ25-75MCM,MALJ,25,75,M,,,CM,MAL-MALJ-25x75.step +MALJ25-75MLB,MALJ,25,75,M,,LB,,MAL-MALJ-25x75.step +MALJ25-75MLBU,MALJ,25,75,M,,LB,U,MAL-MALJ-25x75.step +MALJ25-75MLBCM,MALJ,25,75,M,,LB,CM,MAL-MALJ-25x75.step +MALJ25-75MFA,MALJ,25,75,M,,FA,,MAL-MALJ-25x75.step +MALJ25-75MFAU,MALJ,25,75,M,,FA,U,MAL-MALJ-25x75.step +MALJ25-75MFACM,MALJ,25,75,M,,FA,CM,MAL-MALJ-25x75.step +MALJ25-75MFB,MALJ,25,75,M,,FB,,MAL-MALJ-25x75.step +MALJ25-75MFBU,MALJ,25,75,M,,FB,U,MAL-MALJ-25x75.step +MALJ25-75MFBCM,MALJ,25,75,M,,FB,CM,MAL-MALJ-25x75.step +MALJ25-75MSDB,MALJ,25,75,M,,SDB,,MAL-MALJ-25x75.step +MALJ25-75MSDBU,MALJ,25,75,M,,SDB,U,MAL-MALJ-25x75.step +MALJ25-75MSDBCM,MALJ,25,75,M,,SDB,CM,MAL-MALJ-25x75.step +MALJ25-100E,MALJ,25,100,,E,,,MAL-MALJ-25x100.step +MALJ25-100EU,MALJ,25,100,,E,,U,MAL-MALJ-25x100.step +MALJ25-100ECM,MALJ,25,100,,E,,CM,MAL-MALJ-25x100.step +MALJ25-100ELB,MALJ,25,100,,E,LB,,MAL-MALJ-25x100.step +MALJ25-100ELBU,MALJ,25,100,,E,LB,U,MAL-MALJ-25x100.step +MALJ25-100ELBCM,MALJ,25,100,,E,LB,CM,MAL-MALJ-25x100.step +MALJ25-100EFA,MALJ,25,100,,E,FA,,MAL-MALJ-25x100.step +MALJ25-100EFAU,MALJ,25,100,,E,FA,U,MAL-MALJ-25x100.step +MALJ25-100EFACM,MALJ,25,100,,E,FA,CM,MAL-MALJ-25x100.step +MALJ25-100EFB,MALJ,25,100,,E,FB,,MAL-MALJ-25x100.step +MALJ25-100EFBU,MALJ,25,100,,E,FB,U,MAL-MALJ-25x100.step +MALJ25-100EFBCM,MALJ,25,100,,E,FB,CM,MAL-MALJ-25x100.step +MALJ25-100ESDB,MALJ,25,100,,E,SDB,,MAL-MALJ-25x100.step +MALJ25-100ESDBU,MALJ,25,100,,E,SDB,U,MAL-MALJ-25x100.step +MALJ25-100ESDBCM,MALJ,25,100,,E,SDB,CM,MAL-MALJ-25x100.step +MALJ25-100,MALJ,25,100,,,,,MAL-MALJ-25x100.step +MALJ25-100U,MALJ,25,100,,,,U,MAL-MALJ-25x100.step +MALJ25-100CM,MALJ,25,100,,,,CM,MAL-MALJ-25x100.step +MALJ25-100LB,MALJ,25,100,,,LB,,MAL-MALJ-25x100.step +MALJ25-100LBU,MALJ,25,100,,,LB,U,MAL-MALJ-25x100.step +MALJ25-100LBCM,MALJ,25,100,,,LB,CM,MAL-MALJ-25x100.step +MALJ25-100FA,MALJ,25,100,,,FA,,MAL-MALJ-25x100.step +MALJ25-100FAU,MALJ,25,100,,,FA,U,MAL-MALJ-25x100.step +MALJ25-100FACM,MALJ,25,100,,,FA,CM,MAL-MALJ-25x100.step +MALJ25-100FB,MALJ,25,100,,,FB,,MAL-MALJ-25x100.step +MALJ25-100FBU,MALJ,25,100,,,FB,U,MAL-MALJ-25x100.step +MALJ25-100FBCM,MALJ,25,100,,,FB,CM,MAL-MALJ-25x100.step +MALJ25-100SDB,MALJ,25,100,,,SDB,,MAL-MALJ-25x100.step +MALJ25-100SDBU,MALJ,25,100,,,SDB,U,MAL-MALJ-25x100.step +MALJ25-100SDBCM,MALJ,25,100,,,SDB,CM,MAL-MALJ-25x100.step +MALJ25-100ME,MALJ,25,100,M,E,,,MAL-MALJ-25x100.step +MALJ25-100MEU,MALJ,25,100,M,E,,U,MAL-MALJ-25x100.step +MALJ25-100MECM,MALJ,25,100,M,E,,CM,MAL-MALJ-25x100.step +MALJ25-100MELB,MALJ,25,100,M,E,LB,,MAL-MALJ-25x100.step +MALJ25-100MELBU,MALJ,25,100,M,E,LB,U,MAL-MALJ-25x100.step +MALJ25-100MELBCM,MALJ,25,100,M,E,LB,CM,MAL-MALJ-25x100.step +MALJ25-100MEFA,MALJ,25,100,M,E,FA,,MAL-MALJ-25x100.step +MALJ25-100MEFAU,MALJ,25,100,M,E,FA,U,MAL-MALJ-25x100.step +MALJ25-100MEFACM,MALJ,25,100,M,E,FA,CM,MAL-MALJ-25x100.step +MALJ25-100MEFB,MALJ,25,100,M,E,FB,,MAL-MALJ-25x100.step +MALJ25-100MEFBU,MALJ,25,100,M,E,FB,U,MAL-MALJ-25x100.step +MALJ25-100MEFBCM,MALJ,25,100,M,E,FB,CM,MAL-MALJ-25x100.step +MALJ25-100MESDB,MALJ,25,100,M,E,SDB,,MAL-MALJ-25x100.step +MALJ25-100MESDBU,MALJ,25,100,M,E,SDB,U,MAL-MALJ-25x100.step +MALJ25-100MESDBCM,MALJ,25,100,M,E,SDB,CM,MAL-MALJ-25x100.step +MALJ25-100M,MALJ,25,100,M,,,,MAL-MALJ-25x100.step +MALJ25-100MU,MALJ,25,100,M,,,U,MAL-MALJ-25x100.step +MALJ25-100MCM,MALJ,25,100,M,,,CM,MAL-MALJ-25x100.step +MALJ25-100MLB,MALJ,25,100,M,,LB,,MAL-MALJ-25x100.step +MALJ25-100MLBU,MALJ,25,100,M,,LB,U,MAL-MALJ-25x100.step +MALJ25-100MLBCM,MALJ,25,100,M,,LB,CM,MAL-MALJ-25x100.step +MALJ25-100MFA,MALJ,25,100,M,,FA,,MAL-MALJ-25x100.step +MALJ25-100MFAU,MALJ,25,100,M,,FA,U,MAL-MALJ-25x100.step +MALJ25-100MFACM,MALJ,25,100,M,,FA,CM,MAL-MALJ-25x100.step +MALJ25-100MFB,MALJ,25,100,M,,FB,,MAL-MALJ-25x100.step +MALJ25-100MFBU,MALJ,25,100,M,,FB,U,MAL-MALJ-25x100.step +MALJ25-100MFBCM,MALJ,25,100,M,,FB,CM,MAL-MALJ-25x100.step +MALJ25-100MSDB,MALJ,25,100,M,,SDB,,MAL-MALJ-25x100.step +MALJ25-100MSDBU,MALJ,25,100,M,,SDB,U,MAL-MALJ-25x100.step +MALJ25-100MSDBCM,MALJ,25,100,M,,SDB,CM,MAL-MALJ-25x100.step +MALJ32-10E,MALJ,32,10,,E,,,MAL-MALJ-32x10.step +MALJ32-10EU,MALJ,32,10,,E,,U,MAL-MALJ-32x10.step +MALJ32-10ECM,MALJ,32,10,,E,,CM,MAL-MALJ-32x10.step +MALJ32-10ELB,MALJ,32,10,,E,LB,,MAL-MALJ-32x10.step +MALJ32-10ELBU,MALJ,32,10,,E,LB,U,MAL-MALJ-32x10.step +MALJ32-10ELBCM,MALJ,32,10,,E,LB,CM,MAL-MALJ-32x10.step +MALJ32-10EFA,MALJ,32,10,,E,FA,,MAL-MALJ-32x10.step +MALJ32-10EFAU,MALJ,32,10,,E,FA,U,MAL-MALJ-32x10.step +MALJ32-10EFACM,MALJ,32,10,,E,FA,CM,MAL-MALJ-32x10.step +MALJ32-10EFB,MALJ,32,10,,E,FB,,MAL-MALJ-32x10.step +MALJ32-10EFBU,MALJ,32,10,,E,FB,U,MAL-MALJ-32x10.step +MALJ32-10EFBCM,MALJ,32,10,,E,FB,CM,MAL-MALJ-32x10.step +MALJ32-10ESDB,MALJ,32,10,,E,SDB,,MAL-MALJ-32x10.step +MALJ32-10ESDBU,MALJ,32,10,,E,SDB,U,MAL-MALJ-32x10.step +MALJ32-10ESDBCM,MALJ,32,10,,E,SDB,CM,MAL-MALJ-32x10.step +MALJ32-10,MALJ,32,10,,,,,MAL-MALJ-32x10.step +MALJ32-10U,MALJ,32,10,,,,U,MAL-MALJ-32x10.step +MALJ32-10CM,MALJ,32,10,,,,CM,MAL-MALJ-32x10.step +MALJ32-10LB,MALJ,32,10,,,LB,,MAL-MALJ-32x10.step +MALJ32-10LBU,MALJ,32,10,,,LB,U,MAL-MALJ-32x10.step +MALJ32-10LBCM,MALJ,32,10,,,LB,CM,MAL-MALJ-32x10.step +MALJ32-10FA,MALJ,32,10,,,FA,,MAL-MALJ-32x10.step +MALJ32-10FAU,MALJ,32,10,,,FA,U,MAL-MALJ-32x10.step +MALJ32-10FACM,MALJ,32,10,,,FA,CM,MAL-MALJ-32x10.step +MALJ32-10FB,MALJ,32,10,,,FB,,MAL-MALJ-32x10.step +MALJ32-10FBU,MALJ,32,10,,,FB,U,MAL-MALJ-32x10.step +MALJ32-10FBCM,MALJ,32,10,,,FB,CM,MAL-MALJ-32x10.step +MALJ32-10SDB,MALJ,32,10,,,SDB,,MAL-MALJ-32x10.step +MALJ32-10SDBU,MALJ,32,10,,,SDB,U,MAL-MALJ-32x10.step +MALJ32-10SDBCM,MALJ,32,10,,,SDB,CM,MAL-MALJ-32x10.step +MALJ32-10ME,MALJ,32,10,M,E,,,MAL-MALJ-32x10.step +MALJ32-10MEU,MALJ,32,10,M,E,,U,MAL-MALJ-32x10.step +MALJ32-10MECM,MALJ,32,10,M,E,,CM,MAL-MALJ-32x10.step +MALJ32-10MELB,MALJ,32,10,M,E,LB,,MAL-MALJ-32x10.step +MALJ32-10MELBU,MALJ,32,10,M,E,LB,U,MAL-MALJ-32x10.step +MALJ32-10MELBCM,MALJ,32,10,M,E,LB,CM,MAL-MALJ-32x10.step +MALJ32-10MEFA,MALJ,32,10,M,E,FA,,MAL-MALJ-32x10.step +MALJ32-10MEFAU,MALJ,32,10,M,E,FA,U,MAL-MALJ-32x10.step +MALJ32-10MEFACM,MALJ,32,10,M,E,FA,CM,MAL-MALJ-32x10.step +MALJ32-10MEFB,MALJ,32,10,M,E,FB,,MAL-MALJ-32x10.step +MALJ32-10MEFBU,MALJ,32,10,M,E,FB,U,MAL-MALJ-32x10.step +MALJ32-10MEFBCM,MALJ,32,10,M,E,FB,CM,MAL-MALJ-32x10.step +MALJ32-10MESDB,MALJ,32,10,M,E,SDB,,MAL-MALJ-32x10.step +MALJ32-10MESDBU,MALJ,32,10,M,E,SDB,U,MAL-MALJ-32x10.step +MALJ32-10MESDBCM,MALJ,32,10,M,E,SDB,CM,MAL-MALJ-32x10.step +MALJ32-10M,MALJ,32,10,M,,,,MAL-MALJ-32x10.step +MALJ32-10MU,MALJ,32,10,M,,,U,MAL-MALJ-32x10.step +MALJ32-10MCM,MALJ,32,10,M,,,CM,MAL-MALJ-32x10.step +MALJ32-10MLB,MALJ,32,10,M,,LB,,MAL-MALJ-32x10.step +MALJ32-10MLBU,MALJ,32,10,M,,LB,U,MAL-MALJ-32x10.step +MALJ32-10MLBCM,MALJ,32,10,M,,LB,CM,MAL-MALJ-32x10.step +MALJ32-10MFA,MALJ,32,10,M,,FA,,MAL-MALJ-32x10.step +MALJ32-10MFAU,MALJ,32,10,M,,FA,U,MAL-MALJ-32x10.step +MALJ32-10MFACM,MALJ,32,10,M,,FA,CM,MAL-MALJ-32x10.step +MALJ32-10MFB,MALJ,32,10,M,,FB,,MAL-MALJ-32x10.step +MALJ32-10MFBU,MALJ,32,10,M,,FB,U,MAL-MALJ-32x10.step +MALJ32-10MFBCM,MALJ,32,10,M,,FB,CM,MAL-MALJ-32x10.step +MALJ32-10MSDB,MALJ,32,10,M,,SDB,,MAL-MALJ-32x10.step +MALJ32-10MSDBU,MALJ,32,10,M,,SDB,U,MAL-MALJ-32x10.step +MALJ32-10MSDBCM,MALJ,32,10,M,,SDB,CM,MAL-MALJ-32x10.step +MALJ32-20E,MALJ,32,20,,E,,,MAL-MALJ-32x20.step +MALJ32-20EU,MALJ,32,20,,E,,U,MAL-MALJ-32x20.step +MALJ32-20ECM,MALJ,32,20,,E,,CM,MAL-MALJ-32x20.step +MALJ32-20ELB,MALJ,32,20,,E,LB,,MAL-MALJ-32x20.step +MALJ32-20ELBU,MALJ,32,20,,E,LB,U,MAL-MALJ-32x20.step +MALJ32-20ELBCM,MALJ,32,20,,E,LB,CM,MAL-MALJ-32x20.step +MALJ32-20EFA,MALJ,32,20,,E,FA,,MAL-MALJ-32x20.step +MALJ32-20EFAU,MALJ,32,20,,E,FA,U,MAL-MALJ-32x20.step +MALJ32-20EFACM,MALJ,32,20,,E,FA,CM,MAL-MALJ-32x20.step +MALJ32-20EFB,MALJ,32,20,,E,FB,,MAL-MALJ-32x20.step +MALJ32-20EFBU,MALJ,32,20,,E,FB,U,MAL-MALJ-32x20.step +MALJ32-20EFBCM,MALJ,32,20,,E,FB,CM,MAL-MALJ-32x20.step +MALJ32-20ESDB,MALJ,32,20,,E,SDB,,MAL-MALJ-32x20.step +MALJ32-20ESDBU,MALJ,32,20,,E,SDB,U,MAL-MALJ-32x20.step +MALJ32-20ESDBCM,MALJ,32,20,,E,SDB,CM,MAL-MALJ-32x20.step +MALJ32-20,MALJ,32,20,,,,,MAL-MALJ-32x20.step +MALJ32-20U,MALJ,32,20,,,,U,MAL-MALJ-32x20.step +MALJ32-20CM,MALJ,32,20,,,,CM,MAL-MALJ-32x20.step +MALJ32-20LB,MALJ,32,20,,,LB,,MAL-MALJ-32x20.step +MALJ32-20LBU,MALJ,32,20,,,LB,U,MAL-MALJ-32x20.step +MALJ32-20LBCM,MALJ,32,20,,,LB,CM,MAL-MALJ-32x20.step +MALJ32-20FA,MALJ,32,20,,,FA,,MAL-MALJ-32x20.step +MALJ32-20FAU,MALJ,32,20,,,FA,U,MAL-MALJ-32x20.step +MALJ32-20FACM,MALJ,32,20,,,FA,CM,MAL-MALJ-32x20.step +MALJ32-20FB,MALJ,32,20,,,FB,,MAL-MALJ-32x20.step +MALJ32-20FBU,MALJ,32,20,,,FB,U,MAL-MALJ-32x20.step +MALJ32-20FBCM,MALJ,32,20,,,FB,CM,MAL-MALJ-32x20.step +MALJ32-20SDB,MALJ,32,20,,,SDB,,MAL-MALJ-32x20.step +MALJ32-20SDBU,MALJ,32,20,,,SDB,U,MAL-MALJ-32x20.step +MALJ32-20SDBCM,MALJ,32,20,,,SDB,CM,MAL-MALJ-32x20.step +MALJ32-20ME,MALJ,32,20,M,E,,,MAL-MALJ-32x20.step +MALJ32-20MEU,MALJ,32,20,M,E,,U,MAL-MALJ-32x20.step +MALJ32-20MECM,MALJ,32,20,M,E,,CM,MAL-MALJ-32x20.step +MALJ32-20MELB,MALJ,32,20,M,E,LB,,MAL-MALJ-32x20.step +MALJ32-20MELBU,MALJ,32,20,M,E,LB,U,MAL-MALJ-32x20.step +MALJ32-20MELBCM,MALJ,32,20,M,E,LB,CM,MAL-MALJ-32x20.step +MALJ32-20MEFA,MALJ,32,20,M,E,FA,,MAL-MALJ-32x20.step +MALJ32-20MEFAU,MALJ,32,20,M,E,FA,U,MAL-MALJ-32x20.step +MALJ32-20MEFACM,MALJ,32,20,M,E,FA,CM,MAL-MALJ-32x20.step +MALJ32-20MEFB,MALJ,32,20,M,E,FB,,MAL-MALJ-32x20.step +MALJ32-20MEFBU,MALJ,32,20,M,E,FB,U,MAL-MALJ-32x20.step +MALJ32-20MEFBCM,MALJ,32,20,M,E,FB,CM,MAL-MALJ-32x20.step +MALJ32-20MESDB,MALJ,32,20,M,E,SDB,,MAL-MALJ-32x20.step +MALJ32-20MESDBU,MALJ,32,20,M,E,SDB,U,MAL-MALJ-32x20.step +MALJ32-20MESDBCM,MALJ,32,20,M,E,SDB,CM,MAL-MALJ-32x20.step +MALJ32-20M,MALJ,32,20,M,,,,MAL-MALJ-32x20.step +MALJ32-20MU,MALJ,32,20,M,,,U,MAL-MALJ-32x20.step +MALJ32-20MCM,MALJ,32,20,M,,,CM,MAL-MALJ-32x20.step +MALJ32-20MLB,MALJ,32,20,M,,LB,,MAL-MALJ-32x20.step +MALJ32-20MLBU,MALJ,32,20,M,,LB,U,MAL-MALJ-32x20.step +MALJ32-20MLBCM,MALJ,32,20,M,,LB,CM,MAL-MALJ-32x20.step +MALJ32-20MFA,MALJ,32,20,M,,FA,,MAL-MALJ-32x20.step +MALJ32-20MFAU,MALJ,32,20,M,,FA,U,MAL-MALJ-32x20.step +MALJ32-20MFACM,MALJ,32,20,M,,FA,CM,MAL-MALJ-32x20.step +MALJ32-20MFB,MALJ,32,20,M,,FB,,MAL-MALJ-32x20.step +MALJ32-20MFBU,MALJ,32,20,M,,FB,U,MAL-MALJ-32x20.step +MALJ32-20MFBCM,MALJ,32,20,M,,FB,CM,MAL-MALJ-32x20.step +MALJ32-20MSDB,MALJ,32,20,M,,SDB,,MAL-MALJ-32x20.step +MALJ32-20MSDBU,MALJ,32,20,M,,SDB,U,MAL-MALJ-32x20.step +MALJ32-20MSDBCM,MALJ,32,20,M,,SDB,CM,MAL-MALJ-32x20.step +MALJ32-30E,MALJ,32,30,,E,,,MAL-MALJ-32x30.step +MALJ32-30EU,MALJ,32,30,,E,,U,MAL-MALJ-32x30.step +MALJ32-30ECM,MALJ,32,30,,E,,CM,MAL-MALJ-32x30.step +MALJ32-30ELB,MALJ,32,30,,E,LB,,MAL-MALJ-32x30.step +MALJ32-30ELBU,MALJ,32,30,,E,LB,U,MAL-MALJ-32x30.step +MALJ32-30ELBCM,MALJ,32,30,,E,LB,CM,MAL-MALJ-32x30.step +MALJ32-30EFA,MALJ,32,30,,E,FA,,MAL-MALJ-32x30.step +MALJ32-30EFAU,MALJ,32,30,,E,FA,U,MAL-MALJ-32x30.step +MALJ32-30EFACM,MALJ,32,30,,E,FA,CM,MAL-MALJ-32x30.step +MALJ32-30EFB,MALJ,32,30,,E,FB,,MAL-MALJ-32x30.step +MALJ32-30EFBU,MALJ,32,30,,E,FB,U,MAL-MALJ-32x30.step +MALJ32-30EFBCM,MALJ,32,30,,E,FB,CM,MAL-MALJ-32x30.step +MALJ32-30ESDB,MALJ,32,30,,E,SDB,,MAL-MALJ-32x30.step +MALJ32-30ESDBU,MALJ,32,30,,E,SDB,U,MAL-MALJ-32x30.step +MALJ32-30ESDBCM,MALJ,32,30,,E,SDB,CM,MAL-MALJ-32x30.step +MALJ32-30,MALJ,32,30,,,,,MAL-MALJ-32x30.step +MALJ32-30U,MALJ,32,30,,,,U,MAL-MALJ-32x30.step +MALJ32-30CM,MALJ,32,30,,,,CM,MAL-MALJ-32x30.step +MALJ32-30LB,MALJ,32,30,,,LB,,MAL-MALJ-32x30.step +MALJ32-30LBU,MALJ,32,30,,,LB,U,MAL-MALJ-32x30.step +MALJ32-30LBCM,MALJ,32,30,,,LB,CM,MAL-MALJ-32x30.step +MALJ32-30FA,MALJ,32,30,,,FA,,MAL-MALJ-32x30.step +MALJ32-30FAU,MALJ,32,30,,,FA,U,MAL-MALJ-32x30.step +MALJ32-30FACM,MALJ,32,30,,,FA,CM,MAL-MALJ-32x30.step +MALJ32-30FB,MALJ,32,30,,,FB,,MAL-MALJ-32x30.step +MALJ32-30FBU,MALJ,32,30,,,FB,U,MAL-MALJ-32x30.step +MALJ32-30FBCM,MALJ,32,30,,,FB,CM,MAL-MALJ-32x30.step +MALJ32-30SDB,MALJ,32,30,,,SDB,,MAL-MALJ-32x30.step +MALJ32-30SDBU,MALJ,32,30,,,SDB,U,MAL-MALJ-32x30.step +MALJ32-30SDBCM,MALJ,32,30,,,SDB,CM,MAL-MALJ-32x30.step +MALJ32-30ME,MALJ,32,30,M,E,,,MAL-MALJ-32x30.step +MALJ32-30MEU,MALJ,32,30,M,E,,U,MAL-MALJ-32x30.step +MALJ32-30MECM,MALJ,32,30,M,E,,CM,MAL-MALJ-32x30.step +MALJ32-30MELB,MALJ,32,30,M,E,LB,,MAL-MALJ-32x30.step +MALJ32-30MELBU,MALJ,32,30,M,E,LB,U,MAL-MALJ-32x30.step +MALJ32-30MELBCM,MALJ,32,30,M,E,LB,CM,MAL-MALJ-32x30.step +MALJ32-30MEFA,MALJ,32,30,M,E,FA,,MAL-MALJ-32x30.step +MALJ32-30MEFAU,MALJ,32,30,M,E,FA,U,MAL-MALJ-32x30.step +MALJ32-30MEFACM,MALJ,32,30,M,E,FA,CM,MAL-MALJ-32x30.step +MALJ32-30MEFB,MALJ,32,30,M,E,FB,,MAL-MALJ-32x30.step +MALJ32-30MEFBU,MALJ,32,30,M,E,FB,U,MAL-MALJ-32x30.step +MALJ32-30MEFBCM,MALJ,32,30,M,E,FB,CM,MAL-MALJ-32x30.step +MALJ32-30MESDB,MALJ,32,30,M,E,SDB,,MAL-MALJ-32x30.step +MALJ32-30MESDBU,MALJ,32,30,M,E,SDB,U,MAL-MALJ-32x30.step +MALJ32-30MESDBCM,MALJ,32,30,M,E,SDB,CM,MAL-MALJ-32x30.step +MALJ32-30M,MALJ,32,30,M,,,,MAL-MALJ-32x30.step +MALJ32-30MU,MALJ,32,30,M,,,U,MAL-MALJ-32x30.step +MALJ32-30MCM,MALJ,32,30,M,,,CM,MAL-MALJ-32x30.step +MALJ32-30MLB,MALJ,32,30,M,,LB,,MAL-MALJ-32x30.step +MALJ32-30MLBU,MALJ,32,30,M,,LB,U,MAL-MALJ-32x30.step +MALJ32-30MLBCM,MALJ,32,30,M,,LB,CM,MAL-MALJ-32x30.step +MALJ32-30MFA,MALJ,32,30,M,,FA,,MAL-MALJ-32x30.step +MALJ32-30MFAU,MALJ,32,30,M,,FA,U,MAL-MALJ-32x30.step +MALJ32-30MFACM,MALJ,32,30,M,,FA,CM,MAL-MALJ-32x30.step +MALJ32-30MFB,MALJ,32,30,M,,FB,,MAL-MALJ-32x30.step +MALJ32-30MFBU,MALJ,32,30,M,,FB,U,MAL-MALJ-32x30.step +MALJ32-30MFBCM,MALJ,32,30,M,,FB,CM,MAL-MALJ-32x30.step +MALJ32-30MSDB,MALJ,32,30,M,,SDB,,MAL-MALJ-32x30.step +MALJ32-30MSDBU,MALJ,32,30,M,,SDB,U,MAL-MALJ-32x30.step +MALJ32-30MSDBCM,MALJ,32,30,M,,SDB,CM,MAL-MALJ-32x30.step +MALJ32-50E,MALJ,32,50,,E,,,MAL-MALJ-32x50.step +MALJ32-50EU,MALJ,32,50,,E,,U,MAL-MALJ-32x50.step +MALJ32-50ECM,MALJ,32,50,,E,,CM,MAL-MALJ-32x50.step +MALJ32-50ELB,MALJ,32,50,,E,LB,,MAL-MALJ-32x50.step +MALJ32-50ELBU,MALJ,32,50,,E,LB,U,MAL-MALJ-32x50.step +MALJ32-50ELBCM,MALJ,32,50,,E,LB,CM,MAL-MALJ-32x50.step +MALJ32-50EFA,MALJ,32,50,,E,FA,,MAL-MALJ-32x50.step +MALJ32-50EFAU,MALJ,32,50,,E,FA,U,MAL-MALJ-32x50.step +MALJ32-50EFACM,MALJ,32,50,,E,FA,CM,MAL-MALJ-32x50.step +MALJ32-50EFB,MALJ,32,50,,E,FB,,MAL-MALJ-32x50.step +MALJ32-50EFBU,MALJ,32,50,,E,FB,U,MAL-MALJ-32x50.step +MALJ32-50EFBCM,MALJ,32,50,,E,FB,CM,MAL-MALJ-32x50.step +MALJ32-50ESDB,MALJ,32,50,,E,SDB,,MAL-MALJ-32x50.step +MALJ32-50ESDBU,MALJ,32,50,,E,SDB,U,MAL-MALJ-32x50.step +MALJ32-50ESDBCM,MALJ,32,50,,E,SDB,CM,MAL-MALJ-32x50.step +MALJ32-50,MALJ,32,50,,,,,MAL-MALJ-32x50.step +MALJ32-50U,MALJ,32,50,,,,U,MAL-MALJ-32x50.step +MALJ32-50CM,MALJ,32,50,,,,CM,MAL-MALJ-32x50.step +MALJ32-50LB,MALJ,32,50,,,LB,,MAL-MALJ-32x50.step +MALJ32-50LBU,MALJ,32,50,,,LB,U,MAL-MALJ-32x50.step +MALJ32-50LBCM,MALJ,32,50,,,LB,CM,MAL-MALJ-32x50.step +MALJ32-50FA,MALJ,32,50,,,FA,,MAL-MALJ-32x50.step +MALJ32-50FAU,MALJ,32,50,,,FA,U,MAL-MALJ-32x50.step +MALJ32-50FACM,MALJ,32,50,,,FA,CM,MAL-MALJ-32x50.step +MALJ32-50FB,MALJ,32,50,,,FB,,MAL-MALJ-32x50.step +MALJ32-50FBU,MALJ,32,50,,,FB,U,MAL-MALJ-32x50.step +MALJ32-50FBCM,MALJ,32,50,,,FB,CM,MAL-MALJ-32x50.step +MALJ32-50SDB,MALJ,32,50,,,SDB,,MAL-MALJ-32x50.step +MALJ32-50SDBU,MALJ,32,50,,,SDB,U,MAL-MALJ-32x50.step +MALJ32-50SDBCM,MALJ,32,50,,,SDB,CM,MAL-MALJ-32x50.step +MALJ32-50ME,MALJ,32,50,M,E,,,MAL-MALJ-32x50.step +MALJ32-50MEU,MALJ,32,50,M,E,,U,MAL-MALJ-32x50.step +MALJ32-50MECM,MALJ,32,50,M,E,,CM,MAL-MALJ-32x50.step +MALJ32-50MELB,MALJ,32,50,M,E,LB,,MAL-MALJ-32x50.step +MALJ32-50MELBU,MALJ,32,50,M,E,LB,U,MAL-MALJ-32x50.step +MALJ32-50MELBCM,MALJ,32,50,M,E,LB,CM,MAL-MALJ-32x50.step +MALJ32-50MEFA,MALJ,32,50,M,E,FA,,MAL-MALJ-32x50.step +MALJ32-50MEFAU,MALJ,32,50,M,E,FA,U,MAL-MALJ-32x50.step +MALJ32-50MEFACM,MALJ,32,50,M,E,FA,CM,MAL-MALJ-32x50.step +MALJ32-50MEFB,MALJ,32,50,M,E,FB,,MAL-MALJ-32x50.step +MALJ32-50MEFBU,MALJ,32,50,M,E,FB,U,MAL-MALJ-32x50.step +MALJ32-50MEFBCM,MALJ,32,50,M,E,FB,CM,MAL-MALJ-32x50.step +MALJ32-50MESDB,MALJ,32,50,M,E,SDB,,MAL-MALJ-32x50.step +MALJ32-50MESDBU,MALJ,32,50,M,E,SDB,U,MAL-MALJ-32x50.step +MALJ32-50MESDBCM,MALJ,32,50,M,E,SDB,CM,MAL-MALJ-32x50.step +MALJ32-50M,MALJ,32,50,M,,,,MAL-MALJ-32x50.step +MALJ32-50MU,MALJ,32,50,M,,,U,MAL-MALJ-32x50.step +MALJ32-50MCM,MALJ,32,50,M,,,CM,MAL-MALJ-32x50.step +MALJ32-50MLB,MALJ,32,50,M,,LB,,MAL-MALJ-32x50.step +MALJ32-50MLBU,MALJ,32,50,M,,LB,U,MAL-MALJ-32x50.step +MALJ32-50MLBCM,MALJ,32,50,M,,LB,CM,MAL-MALJ-32x50.step +MALJ32-50MFA,MALJ,32,50,M,,FA,,MAL-MALJ-32x50.step +MALJ32-50MFAU,MALJ,32,50,M,,FA,U,MAL-MALJ-32x50.step +MALJ32-50MFACM,MALJ,32,50,M,,FA,CM,MAL-MALJ-32x50.step +MALJ32-50MFB,MALJ,32,50,M,,FB,,MAL-MALJ-32x50.step +MALJ32-50MFBU,MALJ,32,50,M,,FB,U,MAL-MALJ-32x50.step +MALJ32-50MFBCM,MALJ,32,50,M,,FB,CM,MAL-MALJ-32x50.step +MALJ32-50MSDB,MALJ,32,50,M,,SDB,,MAL-MALJ-32x50.step +MALJ32-50MSDBU,MALJ,32,50,M,,SDB,U,MAL-MALJ-32x50.step +MALJ32-50MSDBCM,MALJ,32,50,M,,SDB,CM,MAL-MALJ-32x50.step +MALJ32-75E,MALJ,32,75,,E,,,MAL-MALJ-32x75.step +MALJ32-75EU,MALJ,32,75,,E,,U,MAL-MALJ-32x75.step +MALJ32-75ECM,MALJ,32,75,,E,,CM,MAL-MALJ-32x75.step +MALJ32-75ELB,MALJ,32,75,,E,LB,,MAL-MALJ-32x75.step +MALJ32-75ELBU,MALJ,32,75,,E,LB,U,MAL-MALJ-32x75.step +MALJ32-75ELBCM,MALJ,32,75,,E,LB,CM,MAL-MALJ-32x75.step +MALJ32-75EFA,MALJ,32,75,,E,FA,,MAL-MALJ-32x75.step +MALJ32-75EFAU,MALJ,32,75,,E,FA,U,MAL-MALJ-32x75.step +MALJ32-75EFACM,MALJ,32,75,,E,FA,CM,MAL-MALJ-32x75.step +MALJ32-75EFB,MALJ,32,75,,E,FB,,MAL-MALJ-32x75.step +MALJ32-75EFBU,MALJ,32,75,,E,FB,U,MAL-MALJ-32x75.step +MALJ32-75EFBCM,MALJ,32,75,,E,FB,CM,MAL-MALJ-32x75.step +MALJ32-75ESDB,MALJ,32,75,,E,SDB,,MAL-MALJ-32x75.step +MALJ32-75ESDBU,MALJ,32,75,,E,SDB,U,MAL-MALJ-32x75.step +MALJ32-75ESDBCM,MALJ,32,75,,E,SDB,CM,MAL-MALJ-32x75.step +MALJ32-75,MALJ,32,75,,,,,MAL-MALJ-32x75.step +MALJ32-75U,MALJ,32,75,,,,U,MAL-MALJ-32x75.step +MALJ32-75CM,MALJ,32,75,,,,CM,MAL-MALJ-32x75.step +MALJ32-75LB,MALJ,32,75,,,LB,,MAL-MALJ-32x75.step +MALJ32-75LBU,MALJ,32,75,,,LB,U,MAL-MALJ-32x75.step +MALJ32-75LBCM,MALJ,32,75,,,LB,CM,MAL-MALJ-32x75.step +MALJ32-75FA,MALJ,32,75,,,FA,,MAL-MALJ-32x75.step +MALJ32-75FAU,MALJ,32,75,,,FA,U,MAL-MALJ-32x75.step +MALJ32-75FACM,MALJ,32,75,,,FA,CM,MAL-MALJ-32x75.step +MALJ32-75FB,MALJ,32,75,,,FB,,MAL-MALJ-32x75.step +MALJ32-75FBU,MALJ,32,75,,,FB,U,MAL-MALJ-32x75.step +MALJ32-75FBCM,MALJ,32,75,,,FB,CM,MAL-MALJ-32x75.step +MALJ32-75SDB,MALJ,32,75,,,SDB,,MAL-MALJ-32x75.step +MALJ32-75SDBU,MALJ,32,75,,,SDB,U,MAL-MALJ-32x75.step +MALJ32-75SDBCM,MALJ,32,75,,,SDB,CM,MAL-MALJ-32x75.step +MALJ32-75ME,MALJ,32,75,M,E,,,MAL-MALJ-32x75.step +MALJ32-75MEU,MALJ,32,75,M,E,,U,MAL-MALJ-32x75.step +MALJ32-75MECM,MALJ,32,75,M,E,,CM,MAL-MALJ-32x75.step +MALJ32-75MELB,MALJ,32,75,M,E,LB,,MAL-MALJ-32x75.step +MALJ32-75MELBU,MALJ,32,75,M,E,LB,U,MAL-MALJ-32x75.step +MALJ32-75MELBCM,MALJ,32,75,M,E,LB,CM,MAL-MALJ-32x75.step +MALJ32-75MEFA,MALJ,32,75,M,E,FA,,MAL-MALJ-32x75.step +MALJ32-75MEFAU,MALJ,32,75,M,E,FA,U,MAL-MALJ-32x75.step +MALJ32-75MEFACM,MALJ,32,75,M,E,FA,CM,MAL-MALJ-32x75.step +MALJ32-75MEFB,MALJ,32,75,M,E,FB,,MAL-MALJ-32x75.step +MALJ32-75MEFBU,MALJ,32,75,M,E,FB,U,MAL-MALJ-32x75.step +MALJ32-75MEFBCM,MALJ,32,75,M,E,FB,CM,MAL-MALJ-32x75.step +MALJ32-75MESDB,MALJ,32,75,M,E,SDB,,MAL-MALJ-32x75.step +MALJ32-75MESDBU,MALJ,32,75,M,E,SDB,U,MAL-MALJ-32x75.step +MALJ32-75MESDBCM,MALJ,32,75,M,E,SDB,CM,MAL-MALJ-32x75.step +MALJ32-75M,MALJ,32,75,M,,,,MAL-MALJ-32x75.step +MALJ32-75MU,MALJ,32,75,M,,,U,MAL-MALJ-32x75.step +MALJ32-75MCM,MALJ,32,75,M,,,CM,MAL-MALJ-32x75.step +MALJ32-75MLB,MALJ,32,75,M,,LB,,MAL-MALJ-32x75.step +MALJ32-75MLBU,MALJ,32,75,M,,LB,U,MAL-MALJ-32x75.step +MALJ32-75MLBCM,MALJ,32,75,M,,LB,CM,MAL-MALJ-32x75.step +MALJ32-75MFA,MALJ,32,75,M,,FA,,MAL-MALJ-32x75.step +MALJ32-75MFAU,MALJ,32,75,M,,FA,U,MAL-MALJ-32x75.step +MALJ32-75MFACM,MALJ,32,75,M,,FA,CM,MAL-MALJ-32x75.step +MALJ32-75MFB,MALJ,32,75,M,,FB,,MAL-MALJ-32x75.step +MALJ32-75MFBU,MALJ,32,75,M,,FB,U,MAL-MALJ-32x75.step +MALJ32-75MFBCM,MALJ,32,75,M,,FB,CM,MAL-MALJ-32x75.step +MALJ32-75MSDB,MALJ,32,75,M,,SDB,,MAL-MALJ-32x75.step +MALJ32-75MSDBU,MALJ,32,75,M,,SDB,U,MAL-MALJ-32x75.step +MALJ32-75MSDBCM,MALJ,32,75,M,,SDB,CM,MAL-MALJ-32x75.step +MALJ32-100E,MALJ,32,100,,E,,,MAL-MALJ-32x100.step +MALJ32-100EU,MALJ,32,100,,E,,U,MAL-MALJ-32x100.step +MALJ32-100ECM,MALJ,32,100,,E,,CM,MAL-MALJ-32x100.step +MALJ32-100ELB,MALJ,32,100,,E,LB,,MAL-MALJ-32x100.step +MALJ32-100ELBU,MALJ,32,100,,E,LB,U,MAL-MALJ-32x100.step +MALJ32-100ELBCM,MALJ,32,100,,E,LB,CM,MAL-MALJ-32x100.step +MALJ32-100EFA,MALJ,32,100,,E,FA,,MAL-MALJ-32x100.step +MALJ32-100EFAU,MALJ,32,100,,E,FA,U,MAL-MALJ-32x100.step +MALJ32-100EFACM,MALJ,32,100,,E,FA,CM,MAL-MALJ-32x100.step +MALJ32-100EFB,MALJ,32,100,,E,FB,,MAL-MALJ-32x100.step +MALJ32-100EFBU,MALJ,32,100,,E,FB,U,MAL-MALJ-32x100.step +MALJ32-100EFBCM,MALJ,32,100,,E,FB,CM,MAL-MALJ-32x100.step +MALJ32-100ESDB,MALJ,32,100,,E,SDB,,MAL-MALJ-32x100.step +MALJ32-100ESDBU,MALJ,32,100,,E,SDB,U,MAL-MALJ-32x100.step +MALJ32-100ESDBCM,MALJ,32,100,,E,SDB,CM,MAL-MALJ-32x100.step +MALJ32-100,MALJ,32,100,,,,,MAL-MALJ-32x100.step +MALJ32-100U,MALJ,32,100,,,,U,MAL-MALJ-32x100.step +MALJ32-100CM,MALJ,32,100,,,,CM,MAL-MALJ-32x100.step +MALJ32-100LB,MALJ,32,100,,,LB,,MAL-MALJ-32x100.step +MALJ32-100LBU,MALJ,32,100,,,LB,U,MAL-MALJ-32x100.step +MALJ32-100LBCM,MALJ,32,100,,,LB,CM,MAL-MALJ-32x100.step +MALJ32-100FA,MALJ,32,100,,,FA,,MAL-MALJ-32x100.step +MALJ32-100FAU,MALJ,32,100,,,FA,U,MAL-MALJ-32x100.step +MALJ32-100FACM,MALJ,32,100,,,FA,CM,MAL-MALJ-32x100.step +MALJ32-100FB,MALJ,32,100,,,FB,,MAL-MALJ-32x100.step +MALJ32-100FBU,MALJ,32,100,,,FB,U,MAL-MALJ-32x100.step +MALJ32-100FBCM,MALJ,32,100,,,FB,CM,MAL-MALJ-32x100.step +MALJ32-100SDB,MALJ,32,100,,,SDB,,MAL-MALJ-32x100.step +MALJ32-100SDBU,MALJ,32,100,,,SDB,U,MAL-MALJ-32x100.step +MALJ32-100SDBCM,MALJ,32,100,,,SDB,CM,MAL-MALJ-32x100.step +MALJ32-100ME,MALJ,32,100,M,E,,,MAL-MALJ-32x100.step +MALJ32-100MEU,MALJ,32,100,M,E,,U,MAL-MALJ-32x100.step +MALJ32-100MECM,MALJ,32,100,M,E,,CM,MAL-MALJ-32x100.step +MALJ32-100MELB,MALJ,32,100,M,E,LB,,MAL-MALJ-32x100.step +MALJ32-100MELBU,MALJ,32,100,M,E,LB,U,MAL-MALJ-32x100.step +MALJ32-100MELBCM,MALJ,32,100,M,E,LB,CM,MAL-MALJ-32x100.step +MALJ32-100MEFA,MALJ,32,100,M,E,FA,,MAL-MALJ-32x100.step +MALJ32-100MEFAU,MALJ,32,100,M,E,FA,U,MAL-MALJ-32x100.step +MALJ32-100MEFACM,MALJ,32,100,M,E,FA,CM,MAL-MALJ-32x100.step +MALJ32-100MEFB,MALJ,32,100,M,E,FB,,MAL-MALJ-32x100.step +MALJ32-100MEFBU,MALJ,32,100,M,E,FB,U,MAL-MALJ-32x100.step +MALJ32-100MEFBCM,MALJ,32,100,M,E,FB,CM,MAL-MALJ-32x100.step +MALJ32-100MESDB,MALJ,32,100,M,E,SDB,,MAL-MALJ-32x100.step +MALJ32-100MESDBU,MALJ,32,100,M,E,SDB,U,MAL-MALJ-32x100.step +MALJ32-100MESDBCM,MALJ,32,100,M,E,SDB,CM,MAL-MALJ-32x100.step +MALJ32-100M,MALJ,32,100,M,,,,MAL-MALJ-32x100.step +MALJ32-100MU,MALJ,32,100,M,,,U,MAL-MALJ-32x100.step +MALJ32-100MCM,MALJ,32,100,M,,,CM,MAL-MALJ-32x100.step +MALJ32-100MLB,MALJ,32,100,M,,LB,,MAL-MALJ-32x100.step +MALJ32-100MLBU,MALJ,32,100,M,,LB,U,MAL-MALJ-32x100.step +MALJ32-100MLBCM,MALJ,32,100,M,,LB,CM,MAL-MALJ-32x100.step +MALJ32-100MFA,MALJ,32,100,M,,FA,,MAL-MALJ-32x100.step +MALJ32-100MFAU,MALJ,32,100,M,,FA,U,MAL-MALJ-32x100.step +MALJ32-100MFACM,MALJ,32,100,M,,FA,CM,MAL-MALJ-32x100.step +MALJ32-100MFB,MALJ,32,100,M,,FB,,MAL-MALJ-32x100.step +MALJ32-100MFBU,MALJ,32,100,M,,FB,U,MAL-MALJ-32x100.step +MALJ32-100MFBCM,MALJ,32,100,M,,FB,CM,MAL-MALJ-32x100.step +MALJ32-100MSDB,MALJ,32,100,M,,SDB,,MAL-MALJ-32x100.step +MALJ32-100MSDBU,MALJ,32,100,M,,SDB,U,MAL-MALJ-32x100.step +MALJ32-100MSDBCM,MALJ,32,100,M,,SDB,CM,MAL-MALJ-32x100.step +MALJ40-10E,MALJ,40,10,,E,,,MAL-MALJ-40x10.step +MALJ40-10EU,MALJ,40,10,,E,,U,MAL-MALJ-40x10.step +MALJ40-10ECM,MALJ,40,10,,E,,CM,MAL-MALJ-40x10.step +MALJ40-10ELB,MALJ,40,10,,E,LB,,MAL-MALJ-40x10.step +MALJ40-10ELBU,MALJ,40,10,,E,LB,U,MAL-MALJ-40x10.step +MALJ40-10ELBCM,MALJ,40,10,,E,LB,CM,MAL-MALJ-40x10.step +MALJ40-10EFA,MALJ,40,10,,E,FA,,MAL-MALJ-40x10.step +MALJ40-10EFAU,MALJ,40,10,,E,FA,U,MAL-MALJ-40x10.step +MALJ40-10EFACM,MALJ,40,10,,E,FA,CM,MAL-MALJ-40x10.step +MALJ40-10EFB,MALJ,40,10,,E,FB,,MAL-MALJ-40x10.step +MALJ40-10EFBU,MALJ,40,10,,E,FB,U,MAL-MALJ-40x10.step +MALJ40-10EFBCM,MALJ,40,10,,E,FB,CM,MAL-MALJ-40x10.step +MALJ40-10ESDB,MALJ,40,10,,E,SDB,,MAL-MALJ-40x10.step +MALJ40-10ESDBU,MALJ,40,10,,E,SDB,U,MAL-MALJ-40x10.step +MALJ40-10ESDBCM,MALJ,40,10,,E,SDB,CM,MAL-MALJ-40x10.step +MALJ40-10,MALJ,40,10,,,,,MAL-MALJ-40x10.step +MALJ40-10U,MALJ,40,10,,,,U,MAL-MALJ-40x10.step +MALJ40-10CM,MALJ,40,10,,,,CM,MAL-MALJ-40x10.step +MALJ40-10LB,MALJ,40,10,,,LB,,MAL-MALJ-40x10.step +MALJ40-10LBU,MALJ,40,10,,,LB,U,MAL-MALJ-40x10.step +MALJ40-10LBCM,MALJ,40,10,,,LB,CM,MAL-MALJ-40x10.step +MALJ40-10FA,MALJ,40,10,,,FA,,MAL-MALJ-40x10.step +MALJ40-10FAU,MALJ,40,10,,,FA,U,MAL-MALJ-40x10.step +MALJ40-10FACM,MALJ,40,10,,,FA,CM,MAL-MALJ-40x10.step +MALJ40-10FB,MALJ,40,10,,,FB,,MAL-MALJ-40x10.step +MALJ40-10FBU,MALJ,40,10,,,FB,U,MAL-MALJ-40x10.step +MALJ40-10FBCM,MALJ,40,10,,,FB,CM,MAL-MALJ-40x10.step +MALJ40-10SDB,MALJ,40,10,,,SDB,,MAL-MALJ-40x10.step +MALJ40-10SDBU,MALJ,40,10,,,SDB,U,MAL-MALJ-40x10.step +MALJ40-10SDBCM,MALJ,40,10,,,SDB,CM,MAL-MALJ-40x10.step +MALJ40-10ME,MALJ,40,10,M,E,,,MAL-MALJ-40x10.step +MALJ40-10MEU,MALJ,40,10,M,E,,U,MAL-MALJ-40x10.step +MALJ40-10MECM,MALJ,40,10,M,E,,CM,MAL-MALJ-40x10.step +MALJ40-10MELB,MALJ,40,10,M,E,LB,,MAL-MALJ-40x10.step +MALJ40-10MELBU,MALJ,40,10,M,E,LB,U,MAL-MALJ-40x10.step +MALJ40-10MELBCM,MALJ,40,10,M,E,LB,CM,MAL-MALJ-40x10.step +MALJ40-10MEFA,MALJ,40,10,M,E,FA,,MAL-MALJ-40x10.step +MALJ40-10MEFAU,MALJ,40,10,M,E,FA,U,MAL-MALJ-40x10.step +MALJ40-10MEFACM,MALJ,40,10,M,E,FA,CM,MAL-MALJ-40x10.step +MALJ40-10MEFB,MALJ,40,10,M,E,FB,,MAL-MALJ-40x10.step +MALJ40-10MEFBU,MALJ,40,10,M,E,FB,U,MAL-MALJ-40x10.step +MALJ40-10MEFBCM,MALJ,40,10,M,E,FB,CM,MAL-MALJ-40x10.step +MALJ40-10MESDB,MALJ,40,10,M,E,SDB,,MAL-MALJ-40x10.step +MALJ40-10MESDBU,MALJ,40,10,M,E,SDB,U,MAL-MALJ-40x10.step +MALJ40-10MESDBCM,MALJ,40,10,M,E,SDB,CM,MAL-MALJ-40x10.step +MALJ40-10M,MALJ,40,10,M,,,,MAL-MALJ-40x10.step +MALJ40-10MU,MALJ,40,10,M,,,U,MAL-MALJ-40x10.step +MALJ40-10MCM,MALJ,40,10,M,,,CM,MAL-MALJ-40x10.step +MALJ40-10MLB,MALJ,40,10,M,,LB,,MAL-MALJ-40x10.step +MALJ40-10MLBU,MALJ,40,10,M,,LB,U,MAL-MALJ-40x10.step +MALJ40-10MLBCM,MALJ,40,10,M,,LB,CM,MAL-MALJ-40x10.step +MALJ40-10MFA,MALJ,40,10,M,,FA,,MAL-MALJ-40x10.step +MALJ40-10MFAU,MALJ,40,10,M,,FA,U,MAL-MALJ-40x10.step +MALJ40-10MFACM,MALJ,40,10,M,,FA,CM,MAL-MALJ-40x10.step +MALJ40-10MFB,MALJ,40,10,M,,FB,,MAL-MALJ-40x10.step +MALJ40-10MFBU,MALJ,40,10,M,,FB,U,MAL-MALJ-40x10.step +MALJ40-10MFBCM,MALJ,40,10,M,,FB,CM,MAL-MALJ-40x10.step +MALJ40-10MSDB,MALJ,40,10,M,,SDB,,MAL-MALJ-40x10.step +MALJ40-10MSDBU,MALJ,40,10,M,,SDB,U,MAL-MALJ-40x10.step +MALJ40-10MSDBCM,MALJ,40,10,M,,SDB,CM,MAL-MALJ-40x10.step +MALJ40-20E,MALJ,40,20,,E,,,MAL-MALJ-40x20.step +MALJ40-20EU,MALJ,40,20,,E,,U,MAL-MALJ-40x20.step +MALJ40-20ECM,MALJ,40,20,,E,,CM,MAL-MALJ-40x20.step +MALJ40-20ELB,MALJ,40,20,,E,LB,,MAL-MALJ-40x20.step +MALJ40-20ELBU,MALJ,40,20,,E,LB,U,MAL-MALJ-40x20.step +MALJ40-20ELBCM,MALJ,40,20,,E,LB,CM,MAL-MALJ-40x20.step +MALJ40-20EFA,MALJ,40,20,,E,FA,,MAL-MALJ-40x20.step +MALJ40-20EFAU,MALJ,40,20,,E,FA,U,MAL-MALJ-40x20.step +MALJ40-20EFACM,MALJ,40,20,,E,FA,CM,MAL-MALJ-40x20.step +MALJ40-20EFB,MALJ,40,20,,E,FB,,MAL-MALJ-40x20.step +MALJ40-20EFBU,MALJ,40,20,,E,FB,U,MAL-MALJ-40x20.step +MALJ40-20EFBCM,MALJ,40,20,,E,FB,CM,MAL-MALJ-40x20.step +MALJ40-20ESDB,MALJ,40,20,,E,SDB,,MAL-MALJ-40x20.step +MALJ40-20ESDBU,MALJ,40,20,,E,SDB,U,MAL-MALJ-40x20.step +MALJ40-20ESDBCM,MALJ,40,20,,E,SDB,CM,MAL-MALJ-40x20.step +MALJ40-20,MALJ,40,20,,,,,MAL-MALJ-40x20.step +MALJ40-20U,MALJ,40,20,,,,U,MAL-MALJ-40x20.step +MALJ40-20CM,MALJ,40,20,,,,CM,MAL-MALJ-40x20.step +MALJ40-20LB,MALJ,40,20,,,LB,,MAL-MALJ-40x20.step +MALJ40-20LBU,MALJ,40,20,,,LB,U,MAL-MALJ-40x20.step +MALJ40-20LBCM,MALJ,40,20,,,LB,CM,MAL-MALJ-40x20.step +MALJ40-20FA,MALJ,40,20,,,FA,,MAL-MALJ-40x20.step +MALJ40-20FAU,MALJ,40,20,,,FA,U,MAL-MALJ-40x20.step +MALJ40-20FACM,MALJ,40,20,,,FA,CM,MAL-MALJ-40x20.step +MALJ40-20FB,MALJ,40,20,,,FB,,MAL-MALJ-40x20.step +MALJ40-20FBU,MALJ,40,20,,,FB,U,MAL-MALJ-40x20.step +MALJ40-20FBCM,MALJ,40,20,,,FB,CM,MAL-MALJ-40x20.step +MALJ40-20SDB,MALJ,40,20,,,SDB,,MAL-MALJ-40x20.step +MALJ40-20SDBU,MALJ,40,20,,,SDB,U,MAL-MALJ-40x20.step +MALJ40-20SDBCM,MALJ,40,20,,,SDB,CM,MAL-MALJ-40x20.step +MALJ40-20ME,MALJ,40,20,M,E,,,MAL-MALJ-40x20.step +MALJ40-20MEU,MALJ,40,20,M,E,,U,MAL-MALJ-40x20.step +MALJ40-20MECM,MALJ,40,20,M,E,,CM,MAL-MALJ-40x20.step +MALJ40-20MELB,MALJ,40,20,M,E,LB,,MAL-MALJ-40x20.step +MALJ40-20MELBU,MALJ,40,20,M,E,LB,U,MAL-MALJ-40x20.step +MALJ40-20MELBCM,MALJ,40,20,M,E,LB,CM,MAL-MALJ-40x20.step +MALJ40-20MEFA,MALJ,40,20,M,E,FA,,MAL-MALJ-40x20.step +MALJ40-20MEFAU,MALJ,40,20,M,E,FA,U,MAL-MALJ-40x20.step +MALJ40-20MEFACM,MALJ,40,20,M,E,FA,CM,MAL-MALJ-40x20.step +MALJ40-20MEFB,MALJ,40,20,M,E,FB,,MAL-MALJ-40x20.step +MALJ40-20MEFBU,MALJ,40,20,M,E,FB,U,MAL-MALJ-40x20.step +MALJ40-20MEFBCM,MALJ,40,20,M,E,FB,CM,MAL-MALJ-40x20.step +MALJ40-20MESDB,MALJ,40,20,M,E,SDB,,MAL-MALJ-40x20.step +MALJ40-20MESDBU,MALJ,40,20,M,E,SDB,U,MAL-MALJ-40x20.step +MALJ40-20MESDBCM,MALJ,40,20,M,E,SDB,CM,MAL-MALJ-40x20.step +MALJ40-20M,MALJ,40,20,M,,,,MAL-MALJ-40x20.step +MALJ40-20MU,MALJ,40,20,M,,,U,MAL-MALJ-40x20.step +MALJ40-20MCM,MALJ,40,20,M,,,CM,MAL-MALJ-40x20.step +MALJ40-20MLB,MALJ,40,20,M,,LB,,MAL-MALJ-40x20.step +MALJ40-20MLBU,MALJ,40,20,M,,LB,U,MAL-MALJ-40x20.step +MALJ40-20MLBCM,MALJ,40,20,M,,LB,CM,MAL-MALJ-40x20.step +MALJ40-20MFA,MALJ,40,20,M,,FA,,MAL-MALJ-40x20.step +MALJ40-20MFAU,MALJ,40,20,M,,FA,U,MAL-MALJ-40x20.step +MALJ40-20MFACM,MALJ,40,20,M,,FA,CM,MAL-MALJ-40x20.step +MALJ40-20MFB,MALJ,40,20,M,,FB,,MAL-MALJ-40x20.step +MALJ40-20MFBU,MALJ,40,20,M,,FB,U,MAL-MALJ-40x20.step +MALJ40-20MFBCM,MALJ,40,20,M,,FB,CM,MAL-MALJ-40x20.step +MALJ40-20MSDB,MALJ,40,20,M,,SDB,,MAL-MALJ-40x20.step +MALJ40-20MSDBU,MALJ,40,20,M,,SDB,U,MAL-MALJ-40x20.step +MALJ40-20MSDBCM,MALJ,40,20,M,,SDB,CM,MAL-MALJ-40x20.step +MALJ40-30E,MALJ,40,30,,E,,,MAL-MALJ-40x30.step +MALJ40-30EU,MALJ,40,30,,E,,U,MAL-MALJ-40x30.step +MALJ40-30ECM,MALJ,40,30,,E,,CM,MAL-MALJ-40x30.step +MALJ40-30ELB,MALJ,40,30,,E,LB,,MAL-MALJ-40x30.step +MALJ40-30ELBU,MALJ,40,30,,E,LB,U,MAL-MALJ-40x30.step +MALJ40-30ELBCM,MALJ,40,30,,E,LB,CM,MAL-MALJ-40x30.step +MALJ40-30EFA,MALJ,40,30,,E,FA,,MAL-MALJ-40x30.step +MALJ40-30EFAU,MALJ,40,30,,E,FA,U,MAL-MALJ-40x30.step +MALJ40-30EFACM,MALJ,40,30,,E,FA,CM,MAL-MALJ-40x30.step +MALJ40-30EFB,MALJ,40,30,,E,FB,,MAL-MALJ-40x30.step +MALJ40-30EFBU,MALJ,40,30,,E,FB,U,MAL-MALJ-40x30.step +MALJ40-30EFBCM,MALJ,40,30,,E,FB,CM,MAL-MALJ-40x30.step +MALJ40-30ESDB,MALJ,40,30,,E,SDB,,MAL-MALJ-40x30.step +MALJ40-30ESDBU,MALJ,40,30,,E,SDB,U,MAL-MALJ-40x30.step +MALJ40-30ESDBCM,MALJ,40,30,,E,SDB,CM,MAL-MALJ-40x30.step +MALJ40-30,MALJ,40,30,,,,,MAL-MALJ-40x30.step +MALJ40-30U,MALJ,40,30,,,,U,MAL-MALJ-40x30.step +MALJ40-30CM,MALJ,40,30,,,,CM,MAL-MALJ-40x30.step +MALJ40-30LB,MALJ,40,30,,,LB,,MAL-MALJ-40x30.step +MALJ40-30LBU,MALJ,40,30,,,LB,U,MAL-MALJ-40x30.step +MALJ40-30LBCM,MALJ,40,30,,,LB,CM,MAL-MALJ-40x30.step +MALJ40-30FA,MALJ,40,30,,,FA,,MAL-MALJ-40x30.step +MALJ40-30FAU,MALJ,40,30,,,FA,U,MAL-MALJ-40x30.step +MALJ40-30FACM,MALJ,40,30,,,FA,CM,MAL-MALJ-40x30.step +MALJ40-30FB,MALJ,40,30,,,FB,,MAL-MALJ-40x30.step +MALJ40-30FBU,MALJ,40,30,,,FB,U,MAL-MALJ-40x30.step +MALJ40-30FBCM,MALJ,40,30,,,FB,CM,MAL-MALJ-40x30.step +MALJ40-30SDB,MALJ,40,30,,,SDB,,MAL-MALJ-40x30.step +MALJ40-30SDBU,MALJ,40,30,,,SDB,U,MAL-MALJ-40x30.step +MALJ40-30SDBCM,MALJ,40,30,,,SDB,CM,MAL-MALJ-40x30.step +MALJ40-30ME,MALJ,40,30,M,E,,,MAL-MALJ-40x30.step +MALJ40-30MEU,MALJ,40,30,M,E,,U,MAL-MALJ-40x30.step +MALJ40-30MECM,MALJ,40,30,M,E,,CM,MAL-MALJ-40x30.step +MALJ40-30MELB,MALJ,40,30,M,E,LB,,MAL-MALJ-40x30.step +MALJ40-30MELBU,MALJ,40,30,M,E,LB,U,MAL-MALJ-40x30.step +MALJ40-30MELBCM,MALJ,40,30,M,E,LB,CM,MAL-MALJ-40x30.step +MALJ40-30MEFA,MALJ,40,30,M,E,FA,,MAL-MALJ-40x30.step +MALJ40-30MEFAU,MALJ,40,30,M,E,FA,U,MAL-MALJ-40x30.step +MALJ40-30MEFACM,MALJ,40,30,M,E,FA,CM,MAL-MALJ-40x30.step +MALJ40-30MEFB,MALJ,40,30,M,E,FB,,MAL-MALJ-40x30.step +MALJ40-30MEFBU,MALJ,40,30,M,E,FB,U,MAL-MALJ-40x30.step +MALJ40-30MEFBCM,MALJ,40,30,M,E,FB,CM,MAL-MALJ-40x30.step +MALJ40-30MESDB,MALJ,40,30,M,E,SDB,,MAL-MALJ-40x30.step +MALJ40-30MESDBU,MALJ,40,30,M,E,SDB,U,MAL-MALJ-40x30.step +MALJ40-30MESDBCM,MALJ,40,30,M,E,SDB,CM,MAL-MALJ-40x30.step +MALJ40-30M,MALJ,40,30,M,,,,MAL-MALJ-40x30.step +MALJ40-30MU,MALJ,40,30,M,,,U,MAL-MALJ-40x30.step +MALJ40-30MCM,MALJ,40,30,M,,,CM,MAL-MALJ-40x30.step +MALJ40-30MLB,MALJ,40,30,M,,LB,,MAL-MALJ-40x30.step +MALJ40-30MLBU,MALJ,40,30,M,,LB,U,MAL-MALJ-40x30.step +MALJ40-30MLBCM,MALJ,40,30,M,,LB,CM,MAL-MALJ-40x30.step +MALJ40-30MFA,MALJ,40,30,M,,FA,,MAL-MALJ-40x30.step +MALJ40-30MFAU,MALJ,40,30,M,,FA,U,MAL-MALJ-40x30.step +MALJ40-30MFACM,MALJ,40,30,M,,FA,CM,MAL-MALJ-40x30.step +MALJ40-30MFB,MALJ,40,30,M,,FB,,MAL-MALJ-40x30.step +MALJ40-30MFBU,MALJ,40,30,M,,FB,U,MAL-MALJ-40x30.step +MALJ40-30MFBCM,MALJ,40,30,M,,FB,CM,MAL-MALJ-40x30.step +MALJ40-30MSDB,MALJ,40,30,M,,SDB,,MAL-MALJ-40x30.step +MALJ40-30MSDBU,MALJ,40,30,M,,SDB,U,MAL-MALJ-40x30.step +MALJ40-30MSDBCM,MALJ,40,30,M,,SDB,CM,MAL-MALJ-40x30.step +MALJ40-50E,MALJ,40,50,,E,,,MAL-MALJ-40x50.step +MALJ40-50EU,MALJ,40,50,,E,,U,MAL-MALJ-40x50.step +MALJ40-50ECM,MALJ,40,50,,E,,CM,MAL-MALJ-40x50.step +MALJ40-50ELB,MALJ,40,50,,E,LB,,MAL-MALJ-40x50.step +MALJ40-50ELBU,MALJ,40,50,,E,LB,U,MAL-MALJ-40x50.step +MALJ40-50ELBCM,MALJ,40,50,,E,LB,CM,MAL-MALJ-40x50.step +MALJ40-50EFA,MALJ,40,50,,E,FA,,MAL-MALJ-40x50.step +MALJ40-50EFAU,MALJ,40,50,,E,FA,U,MAL-MALJ-40x50.step +MALJ40-50EFACM,MALJ,40,50,,E,FA,CM,MAL-MALJ-40x50.step +MALJ40-50EFB,MALJ,40,50,,E,FB,,MAL-MALJ-40x50.step +MALJ40-50EFBU,MALJ,40,50,,E,FB,U,MAL-MALJ-40x50.step +MALJ40-50EFBCM,MALJ,40,50,,E,FB,CM,MAL-MALJ-40x50.step +MALJ40-50ESDB,MALJ,40,50,,E,SDB,,MAL-MALJ-40x50.step +MALJ40-50ESDBU,MALJ,40,50,,E,SDB,U,MAL-MALJ-40x50.step +MALJ40-50ESDBCM,MALJ,40,50,,E,SDB,CM,MAL-MALJ-40x50.step +MALJ40-50,MALJ,40,50,,,,,MAL-MALJ-40x50.step +MALJ40-50U,MALJ,40,50,,,,U,MAL-MALJ-40x50.step +MALJ40-50CM,MALJ,40,50,,,,CM,MAL-MALJ-40x50.step +MALJ40-50LB,MALJ,40,50,,,LB,,MAL-MALJ-40x50.step +MALJ40-50LBU,MALJ,40,50,,,LB,U,MAL-MALJ-40x50.step +MALJ40-50LBCM,MALJ,40,50,,,LB,CM,MAL-MALJ-40x50.step +MALJ40-50FA,MALJ,40,50,,,FA,,MAL-MALJ-40x50.step +MALJ40-50FAU,MALJ,40,50,,,FA,U,MAL-MALJ-40x50.step +MALJ40-50FACM,MALJ,40,50,,,FA,CM,MAL-MALJ-40x50.step +MALJ40-50FB,MALJ,40,50,,,FB,,MAL-MALJ-40x50.step +MALJ40-50FBU,MALJ,40,50,,,FB,U,MAL-MALJ-40x50.step +MALJ40-50FBCM,MALJ,40,50,,,FB,CM,MAL-MALJ-40x50.step +MALJ40-50SDB,MALJ,40,50,,,SDB,,MAL-MALJ-40x50.step +MALJ40-50SDBU,MALJ,40,50,,,SDB,U,MAL-MALJ-40x50.step +MALJ40-50SDBCM,MALJ,40,50,,,SDB,CM,MAL-MALJ-40x50.step +MALJ40-50ME,MALJ,40,50,M,E,,,MAL-MALJ-40x50.step +MALJ40-50MEU,MALJ,40,50,M,E,,U,MAL-MALJ-40x50.step +MALJ40-50MECM,MALJ,40,50,M,E,,CM,MAL-MALJ-40x50.step +MALJ40-50MELB,MALJ,40,50,M,E,LB,,MAL-MALJ-40x50.step +MALJ40-50MELBU,MALJ,40,50,M,E,LB,U,MAL-MALJ-40x50.step +MALJ40-50MELBCM,MALJ,40,50,M,E,LB,CM,MAL-MALJ-40x50.step +MALJ40-50MEFA,MALJ,40,50,M,E,FA,,MAL-MALJ-40x50.step +MALJ40-50MEFAU,MALJ,40,50,M,E,FA,U,MAL-MALJ-40x50.step +MALJ40-50MEFACM,MALJ,40,50,M,E,FA,CM,MAL-MALJ-40x50.step +MALJ40-50MEFB,MALJ,40,50,M,E,FB,,MAL-MALJ-40x50.step +MALJ40-50MEFBU,MALJ,40,50,M,E,FB,U,MAL-MALJ-40x50.step +MALJ40-50MEFBCM,MALJ,40,50,M,E,FB,CM,MAL-MALJ-40x50.step +MALJ40-50MESDB,MALJ,40,50,M,E,SDB,,MAL-MALJ-40x50.step +MALJ40-50MESDBU,MALJ,40,50,M,E,SDB,U,MAL-MALJ-40x50.step +MALJ40-50MESDBCM,MALJ,40,50,M,E,SDB,CM,MAL-MALJ-40x50.step +MALJ40-50M,MALJ,40,50,M,,,,MAL-MALJ-40x50.step +MALJ40-50MU,MALJ,40,50,M,,,U,MAL-MALJ-40x50.step +MALJ40-50MCM,MALJ,40,50,M,,,CM,MAL-MALJ-40x50.step +MALJ40-50MLB,MALJ,40,50,M,,LB,,MAL-MALJ-40x50.step +MALJ40-50MLBU,MALJ,40,50,M,,LB,U,MAL-MALJ-40x50.step +MALJ40-50MLBCM,MALJ,40,50,M,,LB,CM,MAL-MALJ-40x50.step +MALJ40-50MFA,MALJ,40,50,M,,FA,,MAL-MALJ-40x50.step +MALJ40-50MFAU,MALJ,40,50,M,,FA,U,MAL-MALJ-40x50.step +MALJ40-50MFACM,MALJ,40,50,M,,FA,CM,MAL-MALJ-40x50.step +MALJ40-50MFB,MALJ,40,50,M,,FB,,MAL-MALJ-40x50.step +MALJ40-50MFBU,MALJ,40,50,M,,FB,U,MAL-MALJ-40x50.step +MALJ40-50MFBCM,MALJ,40,50,M,,FB,CM,MAL-MALJ-40x50.step +MALJ40-50MSDB,MALJ,40,50,M,,SDB,,MAL-MALJ-40x50.step +MALJ40-50MSDBU,MALJ,40,50,M,,SDB,U,MAL-MALJ-40x50.step +MALJ40-50MSDBCM,MALJ,40,50,M,,SDB,CM,MAL-MALJ-40x50.step +MALJ40-75E,MALJ,40,75,,E,,,MAL-MALJ-40x75.step +MALJ40-75EU,MALJ,40,75,,E,,U,MAL-MALJ-40x75.step +MALJ40-75ECM,MALJ,40,75,,E,,CM,MAL-MALJ-40x75.step +MALJ40-75ELB,MALJ,40,75,,E,LB,,MAL-MALJ-40x75.step +MALJ40-75ELBU,MALJ,40,75,,E,LB,U,MAL-MALJ-40x75.step +MALJ40-75ELBCM,MALJ,40,75,,E,LB,CM,MAL-MALJ-40x75.step +MALJ40-75EFA,MALJ,40,75,,E,FA,,MAL-MALJ-40x75.step +MALJ40-75EFAU,MALJ,40,75,,E,FA,U,MAL-MALJ-40x75.step +MALJ40-75EFACM,MALJ,40,75,,E,FA,CM,MAL-MALJ-40x75.step +MALJ40-75EFB,MALJ,40,75,,E,FB,,MAL-MALJ-40x75.step +MALJ40-75EFBU,MALJ,40,75,,E,FB,U,MAL-MALJ-40x75.step +MALJ40-75EFBCM,MALJ,40,75,,E,FB,CM,MAL-MALJ-40x75.step +MALJ40-75ESDB,MALJ,40,75,,E,SDB,,MAL-MALJ-40x75.step +MALJ40-75ESDBU,MALJ,40,75,,E,SDB,U,MAL-MALJ-40x75.step +MALJ40-75ESDBCM,MALJ,40,75,,E,SDB,CM,MAL-MALJ-40x75.step +MALJ40-75,MALJ,40,75,,,,,MAL-MALJ-40x75.step +MALJ40-75U,MALJ,40,75,,,,U,MAL-MALJ-40x75.step +MALJ40-75CM,MALJ,40,75,,,,CM,MAL-MALJ-40x75.step +MALJ40-75LB,MALJ,40,75,,,LB,,MAL-MALJ-40x75.step +MALJ40-75LBU,MALJ,40,75,,,LB,U,MAL-MALJ-40x75.step +MALJ40-75LBCM,MALJ,40,75,,,LB,CM,MAL-MALJ-40x75.step +MALJ40-75FA,MALJ,40,75,,,FA,,MAL-MALJ-40x75.step +MALJ40-75FAU,MALJ,40,75,,,FA,U,MAL-MALJ-40x75.step +MALJ40-75FACM,MALJ,40,75,,,FA,CM,MAL-MALJ-40x75.step +MALJ40-75FB,MALJ,40,75,,,FB,,MAL-MALJ-40x75.step +MALJ40-75FBU,MALJ,40,75,,,FB,U,MAL-MALJ-40x75.step +MALJ40-75FBCM,MALJ,40,75,,,FB,CM,MAL-MALJ-40x75.step +MALJ40-75SDB,MALJ,40,75,,,SDB,,MAL-MALJ-40x75.step +MALJ40-75SDBU,MALJ,40,75,,,SDB,U,MAL-MALJ-40x75.step +MALJ40-75SDBCM,MALJ,40,75,,,SDB,CM,MAL-MALJ-40x75.step +MALJ40-75ME,MALJ,40,75,M,E,,,MAL-MALJ-40x75.step +MALJ40-75MEU,MALJ,40,75,M,E,,U,MAL-MALJ-40x75.step +MALJ40-75MECM,MALJ,40,75,M,E,,CM,MAL-MALJ-40x75.step +MALJ40-75MELB,MALJ,40,75,M,E,LB,,MAL-MALJ-40x75.step +MALJ40-75MELBU,MALJ,40,75,M,E,LB,U,MAL-MALJ-40x75.step +MALJ40-75MELBCM,MALJ,40,75,M,E,LB,CM,MAL-MALJ-40x75.step +MALJ40-75MEFA,MALJ,40,75,M,E,FA,,MAL-MALJ-40x75.step +MALJ40-75MEFAU,MALJ,40,75,M,E,FA,U,MAL-MALJ-40x75.step +MALJ40-75MEFACM,MALJ,40,75,M,E,FA,CM,MAL-MALJ-40x75.step +MALJ40-75MEFB,MALJ,40,75,M,E,FB,,MAL-MALJ-40x75.step +MALJ40-75MEFBU,MALJ,40,75,M,E,FB,U,MAL-MALJ-40x75.step +MALJ40-75MEFBCM,MALJ,40,75,M,E,FB,CM,MAL-MALJ-40x75.step +MALJ40-75MESDB,MALJ,40,75,M,E,SDB,,MAL-MALJ-40x75.step +MALJ40-75MESDBU,MALJ,40,75,M,E,SDB,U,MAL-MALJ-40x75.step +MALJ40-75MESDBCM,MALJ,40,75,M,E,SDB,CM,MAL-MALJ-40x75.step +MALJ40-75M,MALJ,40,75,M,,,,MAL-MALJ-40x75.step +MALJ40-75MU,MALJ,40,75,M,,,U,MAL-MALJ-40x75.step +MALJ40-75MCM,MALJ,40,75,M,,,CM,MAL-MALJ-40x75.step +MALJ40-75MLB,MALJ,40,75,M,,LB,,MAL-MALJ-40x75.step +MALJ40-75MLBU,MALJ,40,75,M,,LB,U,MAL-MALJ-40x75.step +MALJ40-75MLBCM,MALJ,40,75,M,,LB,CM,MAL-MALJ-40x75.step +MALJ40-75MFA,MALJ,40,75,M,,FA,,MAL-MALJ-40x75.step +MALJ40-75MFAU,MALJ,40,75,M,,FA,U,MAL-MALJ-40x75.step +MALJ40-75MFACM,MALJ,40,75,M,,FA,CM,MAL-MALJ-40x75.step +MALJ40-75MFB,MALJ,40,75,M,,FB,,MAL-MALJ-40x75.step +MALJ40-75MFBU,MALJ,40,75,M,,FB,U,MAL-MALJ-40x75.step +MALJ40-75MFBCM,MALJ,40,75,M,,FB,CM,MAL-MALJ-40x75.step +MALJ40-75MSDB,MALJ,40,75,M,,SDB,,MAL-MALJ-40x75.step +MALJ40-75MSDBU,MALJ,40,75,M,,SDB,U,MAL-MALJ-40x75.step +MALJ40-75MSDBCM,MALJ,40,75,M,,SDB,CM,MAL-MALJ-40x75.step +MALJ40-100E,MALJ,40,100,,E,,,MAL-MALJ-40x100.step +MALJ40-100EU,MALJ,40,100,,E,,U,MAL-MALJ-40x100.step +MALJ40-100ECM,MALJ,40,100,,E,,CM,MAL-MALJ-40x100.step +MALJ40-100ELB,MALJ,40,100,,E,LB,,MAL-MALJ-40x100.step +MALJ40-100ELBU,MALJ,40,100,,E,LB,U,MAL-MALJ-40x100.step +MALJ40-100ELBCM,MALJ,40,100,,E,LB,CM,MAL-MALJ-40x100.step +MALJ40-100EFA,MALJ,40,100,,E,FA,,MAL-MALJ-40x100.step +MALJ40-100EFAU,MALJ,40,100,,E,FA,U,MAL-MALJ-40x100.step +MALJ40-100EFACM,MALJ,40,100,,E,FA,CM,MAL-MALJ-40x100.step +MALJ40-100EFB,MALJ,40,100,,E,FB,,MAL-MALJ-40x100.step +MALJ40-100EFBU,MALJ,40,100,,E,FB,U,MAL-MALJ-40x100.step +MALJ40-100EFBCM,MALJ,40,100,,E,FB,CM,MAL-MALJ-40x100.step +MALJ40-100ESDB,MALJ,40,100,,E,SDB,,MAL-MALJ-40x100.step +MALJ40-100ESDBU,MALJ,40,100,,E,SDB,U,MAL-MALJ-40x100.step +MALJ40-100ESDBCM,MALJ,40,100,,E,SDB,CM,MAL-MALJ-40x100.step +MALJ40-100,MALJ,40,100,,,,,MAL-MALJ-40x100.step +MALJ40-100U,MALJ,40,100,,,,U,MAL-MALJ-40x100.step +MALJ40-100CM,MALJ,40,100,,,,CM,MAL-MALJ-40x100.step +MALJ40-100LB,MALJ,40,100,,,LB,,MAL-MALJ-40x100.step +MALJ40-100LBU,MALJ,40,100,,,LB,U,MAL-MALJ-40x100.step +MALJ40-100LBCM,MALJ,40,100,,,LB,CM,MAL-MALJ-40x100.step +MALJ40-100FA,MALJ,40,100,,,FA,,MAL-MALJ-40x100.step +MALJ40-100FAU,MALJ,40,100,,,FA,U,MAL-MALJ-40x100.step +MALJ40-100FACM,MALJ,40,100,,,FA,CM,MAL-MALJ-40x100.step +MALJ40-100FB,MALJ,40,100,,,FB,,MAL-MALJ-40x100.step +MALJ40-100FBU,MALJ,40,100,,,FB,U,MAL-MALJ-40x100.step +MALJ40-100FBCM,MALJ,40,100,,,FB,CM,MAL-MALJ-40x100.step +MALJ40-100SDB,MALJ,40,100,,,SDB,,MAL-MALJ-40x100.step +MALJ40-100SDBU,MALJ,40,100,,,SDB,U,MAL-MALJ-40x100.step +MALJ40-100SDBCM,MALJ,40,100,,,SDB,CM,MAL-MALJ-40x100.step +MALJ40-100ME,MALJ,40,100,M,E,,,MAL-MALJ-40x100.step +MALJ40-100MEU,MALJ,40,100,M,E,,U,MAL-MALJ-40x100.step +MALJ40-100MECM,MALJ,40,100,M,E,,CM,MAL-MALJ-40x100.step +MALJ40-100MELB,MALJ,40,100,M,E,LB,,MAL-MALJ-40x100.step +MALJ40-100MELBU,MALJ,40,100,M,E,LB,U,MAL-MALJ-40x100.step +MALJ40-100MELBCM,MALJ,40,100,M,E,LB,CM,MAL-MALJ-40x100.step +MALJ40-100MEFA,MALJ,40,100,M,E,FA,,MAL-MALJ-40x100.step +MALJ40-100MEFAU,MALJ,40,100,M,E,FA,U,MAL-MALJ-40x100.step +MALJ40-100MEFACM,MALJ,40,100,M,E,FA,CM,MAL-MALJ-40x100.step +MALJ40-100MEFB,MALJ,40,100,M,E,FB,,MAL-MALJ-40x100.step +MALJ40-100MEFBU,MALJ,40,100,M,E,FB,U,MAL-MALJ-40x100.step +MALJ40-100MEFBCM,MALJ,40,100,M,E,FB,CM,MAL-MALJ-40x100.step +MALJ40-100MESDB,MALJ,40,100,M,E,SDB,,MAL-MALJ-40x100.step +MALJ40-100MESDBU,MALJ,40,100,M,E,SDB,U,MAL-MALJ-40x100.step +MALJ40-100MESDBCM,MALJ,40,100,M,E,SDB,CM,MAL-MALJ-40x100.step +MALJ40-100M,MALJ,40,100,M,,,,MAL-MALJ-40x100.step +MALJ40-100MU,MALJ,40,100,M,,,U,MAL-MALJ-40x100.step +MALJ40-100MCM,MALJ,40,100,M,,,CM,MAL-MALJ-40x100.step +MALJ40-100MLB,MALJ,40,100,M,,LB,,MAL-MALJ-40x100.step +MALJ40-100MLBU,MALJ,40,100,M,,LB,U,MAL-MALJ-40x100.step +MALJ40-100MLBCM,MALJ,40,100,M,,LB,CM,MAL-MALJ-40x100.step +MALJ40-100MFA,MALJ,40,100,M,,FA,,MAL-MALJ-40x100.step +MALJ40-100MFAU,MALJ,40,100,M,,FA,U,MAL-MALJ-40x100.step +MALJ40-100MFACM,MALJ,40,100,M,,FA,CM,MAL-MALJ-40x100.step +MALJ40-100MFB,MALJ,40,100,M,,FB,,MAL-MALJ-40x100.step +MALJ40-100MFBU,MALJ,40,100,M,,FB,U,MAL-MALJ-40x100.step +MALJ40-100MFBCM,MALJ,40,100,M,,FB,CM,MAL-MALJ-40x100.step +MALJ40-100MSDB,MALJ,40,100,M,,SDB,,MAL-MALJ-40x100.step +MALJ40-100MSDBU,MALJ,40,100,M,,SDB,U,MAL-MALJ-40x100.step +MALJ40-100MSDBCM,MALJ,40,100,M,,SDB,CM,MAL-MALJ-40x100.step diff --git a/onebot-data/catalog/csv/MALC.csv b/onebot-data/catalog/csv/MALC.csv new file mode 100644 index 0000000..10dbbb1 --- /dev/null +++ b/onebot-data/catalog/csv/MALC.csv @@ -0,0 +1,5401 @@ +model_code,type,bore,stroke,magnet,rod,mount,cap,step_file +MALC16-10E,MALC,16,10,,E,,,MALC-MALC-16x10.step +MALC16-10EU,MALC,16,10,,E,,U,MALC-MALC-16x10.step +MALC16-10ECM,MALC,16,10,,E,,CM,MALC-MALC-16x10.step +MALC16-10ELB,MALC,16,10,,E,LB,,MALC-MALC-16x10.step +MALC16-10ELBU,MALC,16,10,,E,LB,U,MALC-MALC-16x10.step +MALC16-10ELBCM,MALC,16,10,,E,LB,CM,MALC-MALC-16x10.step +MALC16-10EFA,MALC,16,10,,E,FA,,MALC-MALC-16x10.step +MALC16-10EFAU,MALC,16,10,,E,FA,U,MALC-MALC-16x10.step +MALC16-10EFACM,MALC,16,10,,E,FA,CM,MALC-MALC-16x10.step +MALC16-10EFB,MALC,16,10,,E,FB,,MALC-MALC-16x10.step +MALC16-10EFBU,MALC,16,10,,E,FB,U,MALC-MALC-16x10.step +MALC16-10EFBCM,MALC,16,10,,E,FB,CM,MALC-MALC-16x10.step +MALC16-10ESDB,MALC,16,10,,E,SDB,,MALC-MALC-16x10.step +MALC16-10ESDBU,MALC,16,10,,E,SDB,U,MALC-MALC-16x10.step +MALC16-10ESDBCM,MALC,16,10,,E,SDB,CM,MALC-MALC-16x10.step +MALC16-10,MALC,16,10,,,,,MALC-MALC-16x10.step +MALC16-10U,MALC,16,10,,,,U,MALC-MALC-16x10.step +MALC16-10CM,MALC,16,10,,,,CM,MALC-MALC-16x10.step +MALC16-10LB,MALC,16,10,,,LB,,MALC-MALC-16x10.step +MALC16-10LBU,MALC,16,10,,,LB,U,MALC-MALC-16x10.step +MALC16-10LBCM,MALC,16,10,,,LB,CM,MALC-MALC-16x10.step +MALC16-10FA,MALC,16,10,,,FA,,MALC-MALC-16x10.step +MALC16-10FAU,MALC,16,10,,,FA,U,MALC-MALC-16x10.step +MALC16-10FACM,MALC,16,10,,,FA,CM,MALC-MALC-16x10.step +MALC16-10FB,MALC,16,10,,,FB,,MALC-MALC-16x10.step +MALC16-10FBU,MALC,16,10,,,FB,U,MALC-MALC-16x10.step +MALC16-10FBCM,MALC,16,10,,,FB,CM,MALC-MALC-16x10.step +MALC16-10SDB,MALC,16,10,,,SDB,,MALC-MALC-16x10.step +MALC16-10SDBU,MALC,16,10,,,SDB,U,MALC-MALC-16x10.step +MALC16-10SDBCM,MALC,16,10,,,SDB,CM,MALC-MALC-16x10.step +MALC16-10ME,MALC,16,10,M,E,,,MALC-MALC-16x10.step +MALC16-10MEU,MALC,16,10,M,E,,U,MALC-MALC-16x10.step +MALC16-10MECM,MALC,16,10,M,E,,CM,MALC-MALC-16x10.step +MALC16-10MELB,MALC,16,10,M,E,LB,,MALC-MALC-16x10.step +MALC16-10MELBU,MALC,16,10,M,E,LB,U,MALC-MALC-16x10.step +MALC16-10MELBCM,MALC,16,10,M,E,LB,CM,MALC-MALC-16x10.step +MALC16-10MEFA,MALC,16,10,M,E,FA,,MALC-MALC-16x10.step +MALC16-10MEFAU,MALC,16,10,M,E,FA,U,MALC-MALC-16x10.step +MALC16-10MEFACM,MALC,16,10,M,E,FA,CM,MALC-MALC-16x10.step +MALC16-10MEFB,MALC,16,10,M,E,FB,,MALC-MALC-16x10.step +MALC16-10MEFBU,MALC,16,10,M,E,FB,U,MALC-MALC-16x10.step +MALC16-10MEFBCM,MALC,16,10,M,E,FB,CM,MALC-MALC-16x10.step +MALC16-10MESDB,MALC,16,10,M,E,SDB,,MALC-MALC-16x10.step +MALC16-10MESDBU,MALC,16,10,M,E,SDB,U,MALC-MALC-16x10.step +MALC16-10MESDBCM,MALC,16,10,M,E,SDB,CM,MALC-MALC-16x10.step +MALC16-10M,MALC,16,10,M,,,,MALC-MALC-16x10.step +MALC16-10MU,MALC,16,10,M,,,U,MALC-MALC-16x10.step +MALC16-10MCM,MALC,16,10,M,,,CM,MALC-MALC-16x10.step +MALC16-10MLB,MALC,16,10,M,,LB,,MALC-MALC-16x10.step +MALC16-10MLBU,MALC,16,10,M,,LB,U,MALC-MALC-16x10.step +MALC16-10MLBCM,MALC,16,10,M,,LB,CM,MALC-MALC-16x10.step +MALC16-10MFA,MALC,16,10,M,,FA,,MALC-MALC-16x10.step +MALC16-10MFAU,MALC,16,10,M,,FA,U,MALC-MALC-16x10.step +MALC16-10MFACM,MALC,16,10,M,,FA,CM,MALC-MALC-16x10.step +MALC16-10MFB,MALC,16,10,M,,FB,,MALC-MALC-16x10.step +MALC16-10MFBU,MALC,16,10,M,,FB,U,MALC-MALC-16x10.step +MALC16-10MFBCM,MALC,16,10,M,,FB,CM,MALC-MALC-16x10.step +MALC16-10MSDB,MALC,16,10,M,,SDB,,MALC-MALC-16x10.step +MALC16-10MSDBU,MALC,16,10,M,,SDB,U,MALC-MALC-16x10.step +MALC16-10MSDBCM,MALC,16,10,M,,SDB,CM,MALC-MALC-16x10.step +MALC16-20E,MALC,16,20,,E,,,MALC-MALC-16x20.step +MALC16-20EU,MALC,16,20,,E,,U,MALC-MALC-16x20.step +MALC16-20ECM,MALC,16,20,,E,,CM,MALC-MALC-16x20.step +MALC16-20ELB,MALC,16,20,,E,LB,,MALC-MALC-16x20.step +MALC16-20ELBU,MALC,16,20,,E,LB,U,MALC-MALC-16x20.step +MALC16-20ELBCM,MALC,16,20,,E,LB,CM,MALC-MALC-16x20.step +MALC16-20EFA,MALC,16,20,,E,FA,,MALC-MALC-16x20.step +MALC16-20EFAU,MALC,16,20,,E,FA,U,MALC-MALC-16x20.step +MALC16-20EFACM,MALC,16,20,,E,FA,CM,MALC-MALC-16x20.step +MALC16-20EFB,MALC,16,20,,E,FB,,MALC-MALC-16x20.step +MALC16-20EFBU,MALC,16,20,,E,FB,U,MALC-MALC-16x20.step +MALC16-20EFBCM,MALC,16,20,,E,FB,CM,MALC-MALC-16x20.step +MALC16-20ESDB,MALC,16,20,,E,SDB,,MALC-MALC-16x20.step +MALC16-20ESDBU,MALC,16,20,,E,SDB,U,MALC-MALC-16x20.step +MALC16-20ESDBCM,MALC,16,20,,E,SDB,CM,MALC-MALC-16x20.step +MALC16-20,MALC,16,20,,,,,MALC-MALC-16x20.step +MALC16-20U,MALC,16,20,,,,U,MALC-MALC-16x20.step +MALC16-20CM,MALC,16,20,,,,CM,MALC-MALC-16x20.step +MALC16-20LB,MALC,16,20,,,LB,,MALC-MALC-16x20.step +MALC16-20LBU,MALC,16,20,,,LB,U,MALC-MALC-16x20.step +MALC16-20LBCM,MALC,16,20,,,LB,CM,MALC-MALC-16x20.step +MALC16-20FA,MALC,16,20,,,FA,,MALC-MALC-16x20.step +MALC16-20FAU,MALC,16,20,,,FA,U,MALC-MALC-16x20.step +MALC16-20FACM,MALC,16,20,,,FA,CM,MALC-MALC-16x20.step +MALC16-20FB,MALC,16,20,,,FB,,MALC-MALC-16x20.step +MALC16-20FBU,MALC,16,20,,,FB,U,MALC-MALC-16x20.step +MALC16-20FBCM,MALC,16,20,,,FB,CM,MALC-MALC-16x20.step +MALC16-20SDB,MALC,16,20,,,SDB,,MALC-MALC-16x20.step +MALC16-20SDBU,MALC,16,20,,,SDB,U,MALC-MALC-16x20.step +MALC16-20SDBCM,MALC,16,20,,,SDB,CM,MALC-MALC-16x20.step +MALC16-20ME,MALC,16,20,M,E,,,MALC-MALC-16x20.step +MALC16-20MEU,MALC,16,20,M,E,,U,MALC-MALC-16x20.step +MALC16-20MECM,MALC,16,20,M,E,,CM,MALC-MALC-16x20.step +MALC16-20MELB,MALC,16,20,M,E,LB,,MALC-MALC-16x20.step +MALC16-20MELBU,MALC,16,20,M,E,LB,U,MALC-MALC-16x20.step +MALC16-20MELBCM,MALC,16,20,M,E,LB,CM,MALC-MALC-16x20.step +MALC16-20MEFA,MALC,16,20,M,E,FA,,MALC-MALC-16x20.step +MALC16-20MEFAU,MALC,16,20,M,E,FA,U,MALC-MALC-16x20.step +MALC16-20MEFACM,MALC,16,20,M,E,FA,CM,MALC-MALC-16x20.step +MALC16-20MEFB,MALC,16,20,M,E,FB,,MALC-MALC-16x20.step +MALC16-20MEFBU,MALC,16,20,M,E,FB,U,MALC-MALC-16x20.step +MALC16-20MEFBCM,MALC,16,20,M,E,FB,CM,MALC-MALC-16x20.step +MALC16-20MESDB,MALC,16,20,M,E,SDB,,MALC-MALC-16x20.step +MALC16-20MESDBU,MALC,16,20,M,E,SDB,U,MALC-MALC-16x20.step +MALC16-20MESDBCM,MALC,16,20,M,E,SDB,CM,MALC-MALC-16x20.step +MALC16-20M,MALC,16,20,M,,,,MALC-MALC-16x20.step +MALC16-20MU,MALC,16,20,M,,,U,MALC-MALC-16x20.step +MALC16-20MCM,MALC,16,20,M,,,CM,MALC-MALC-16x20.step +MALC16-20MLB,MALC,16,20,M,,LB,,MALC-MALC-16x20.step +MALC16-20MLBU,MALC,16,20,M,,LB,U,MALC-MALC-16x20.step +MALC16-20MLBCM,MALC,16,20,M,,LB,CM,MALC-MALC-16x20.step +MALC16-20MFA,MALC,16,20,M,,FA,,MALC-MALC-16x20.step +MALC16-20MFAU,MALC,16,20,M,,FA,U,MALC-MALC-16x20.step +MALC16-20MFACM,MALC,16,20,M,,FA,CM,MALC-MALC-16x20.step +MALC16-20MFB,MALC,16,20,M,,FB,,MALC-MALC-16x20.step +MALC16-20MFBU,MALC,16,20,M,,FB,U,MALC-MALC-16x20.step +MALC16-20MFBCM,MALC,16,20,M,,FB,CM,MALC-MALC-16x20.step +MALC16-20MSDB,MALC,16,20,M,,SDB,,MALC-MALC-16x20.step +MALC16-20MSDBU,MALC,16,20,M,,SDB,U,MALC-MALC-16x20.step +MALC16-20MSDBCM,MALC,16,20,M,,SDB,CM,MALC-MALC-16x20.step +MALC16-30E,MALC,16,30,,E,,,MALC-MALC-16x30.step +MALC16-30EU,MALC,16,30,,E,,U,MALC-MALC-16x30.step +MALC16-30ECM,MALC,16,30,,E,,CM,MALC-MALC-16x30.step +MALC16-30ELB,MALC,16,30,,E,LB,,MALC-MALC-16x30.step +MALC16-30ELBU,MALC,16,30,,E,LB,U,MALC-MALC-16x30.step +MALC16-30ELBCM,MALC,16,30,,E,LB,CM,MALC-MALC-16x30.step +MALC16-30EFA,MALC,16,30,,E,FA,,MALC-MALC-16x30.step +MALC16-30EFAU,MALC,16,30,,E,FA,U,MALC-MALC-16x30.step +MALC16-30EFACM,MALC,16,30,,E,FA,CM,MALC-MALC-16x30.step +MALC16-30EFB,MALC,16,30,,E,FB,,MALC-MALC-16x30.step +MALC16-30EFBU,MALC,16,30,,E,FB,U,MALC-MALC-16x30.step +MALC16-30EFBCM,MALC,16,30,,E,FB,CM,MALC-MALC-16x30.step +MALC16-30ESDB,MALC,16,30,,E,SDB,,MALC-MALC-16x30.step +MALC16-30ESDBU,MALC,16,30,,E,SDB,U,MALC-MALC-16x30.step +MALC16-30ESDBCM,MALC,16,30,,E,SDB,CM,MALC-MALC-16x30.step +MALC16-30,MALC,16,30,,,,,MALC-MALC-16x30.step +MALC16-30U,MALC,16,30,,,,U,MALC-MALC-16x30.step +MALC16-30CM,MALC,16,30,,,,CM,MALC-MALC-16x30.step +MALC16-30LB,MALC,16,30,,,LB,,MALC-MALC-16x30.step +MALC16-30LBU,MALC,16,30,,,LB,U,MALC-MALC-16x30.step +MALC16-30LBCM,MALC,16,30,,,LB,CM,MALC-MALC-16x30.step +MALC16-30FA,MALC,16,30,,,FA,,MALC-MALC-16x30.step +MALC16-30FAU,MALC,16,30,,,FA,U,MALC-MALC-16x30.step +MALC16-30FACM,MALC,16,30,,,FA,CM,MALC-MALC-16x30.step +MALC16-30FB,MALC,16,30,,,FB,,MALC-MALC-16x30.step +MALC16-30FBU,MALC,16,30,,,FB,U,MALC-MALC-16x30.step +MALC16-30FBCM,MALC,16,30,,,FB,CM,MALC-MALC-16x30.step +MALC16-30SDB,MALC,16,30,,,SDB,,MALC-MALC-16x30.step +MALC16-30SDBU,MALC,16,30,,,SDB,U,MALC-MALC-16x30.step +MALC16-30SDBCM,MALC,16,30,,,SDB,CM,MALC-MALC-16x30.step +MALC16-30ME,MALC,16,30,M,E,,,MALC-MALC-16x30.step +MALC16-30MEU,MALC,16,30,M,E,,U,MALC-MALC-16x30.step +MALC16-30MECM,MALC,16,30,M,E,,CM,MALC-MALC-16x30.step +MALC16-30MELB,MALC,16,30,M,E,LB,,MALC-MALC-16x30.step +MALC16-30MELBU,MALC,16,30,M,E,LB,U,MALC-MALC-16x30.step +MALC16-30MELBCM,MALC,16,30,M,E,LB,CM,MALC-MALC-16x30.step +MALC16-30MEFA,MALC,16,30,M,E,FA,,MALC-MALC-16x30.step +MALC16-30MEFAU,MALC,16,30,M,E,FA,U,MALC-MALC-16x30.step +MALC16-30MEFACM,MALC,16,30,M,E,FA,CM,MALC-MALC-16x30.step +MALC16-30MEFB,MALC,16,30,M,E,FB,,MALC-MALC-16x30.step +MALC16-30MEFBU,MALC,16,30,M,E,FB,U,MALC-MALC-16x30.step +MALC16-30MEFBCM,MALC,16,30,M,E,FB,CM,MALC-MALC-16x30.step +MALC16-30MESDB,MALC,16,30,M,E,SDB,,MALC-MALC-16x30.step +MALC16-30MESDBU,MALC,16,30,M,E,SDB,U,MALC-MALC-16x30.step +MALC16-30MESDBCM,MALC,16,30,M,E,SDB,CM,MALC-MALC-16x30.step +MALC16-30M,MALC,16,30,M,,,,MALC-MALC-16x30.step +MALC16-30MU,MALC,16,30,M,,,U,MALC-MALC-16x30.step +MALC16-30MCM,MALC,16,30,M,,,CM,MALC-MALC-16x30.step +MALC16-30MLB,MALC,16,30,M,,LB,,MALC-MALC-16x30.step +MALC16-30MLBU,MALC,16,30,M,,LB,U,MALC-MALC-16x30.step +MALC16-30MLBCM,MALC,16,30,M,,LB,CM,MALC-MALC-16x30.step +MALC16-30MFA,MALC,16,30,M,,FA,,MALC-MALC-16x30.step +MALC16-30MFAU,MALC,16,30,M,,FA,U,MALC-MALC-16x30.step +MALC16-30MFACM,MALC,16,30,M,,FA,CM,MALC-MALC-16x30.step +MALC16-30MFB,MALC,16,30,M,,FB,,MALC-MALC-16x30.step +MALC16-30MFBU,MALC,16,30,M,,FB,U,MALC-MALC-16x30.step +MALC16-30MFBCM,MALC,16,30,M,,FB,CM,MALC-MALC-16x30.step +MALC16-30MSDB,MALC,16,30,M,,SDB,,MALC-MALC-16x30.step +MALC16-30MSDBU,MALC,16,30,M,,SDB,U,MALC-MALC-16x30.step +MALC16-30MSDBCM,MALC,16,30,M,,SDB,CM,MALC-MALC-16x30.step +MALC16-50E,MALC,16,50,,E,,,MALC-MALC-16x50.step +MALC16-50EU,MALC,16,50,,E,,U,MALC-MALC-16x50.step +MALC16-50ECM,MALC,16,50,,E,,CM,MALC-MALC-16x50.step +MALC16-50ELB,MALC,16,50,,E,LB,,MALC-MALC-16x50.step +MALC16-50ELBU,MALC,16,50,,E,LB,U,MALC-MALC-16x50.step +MALC16-50ELBCM,MALC,16,50,,E,LB,CM,MALC-MALC-16x50.step +MALC16-50EFA,MALC,16,50,,E,FA,,MALC-MALC-16x50.step +MALC16-50EFAU,MALC,16,50,,E,FA,U,MALC-MALC-16x50.step +MALC16-50EFACM,MALC,16,50,,E,FA,CM,MALC-MALC-16x50.step +MALC16-50EFB,MALC,16,50,,E,FB,,MALC-MALC-16x50.step +MALC16-50EFBU,MALC,16,50,,E,FB,U,MALC-MALC-16x50.step +MALC16-50EFBCM,MALC,16,50,,E,FB,CM,MALC-MALC-16x50.step +MALC16-50ESDB,MALC,16,50,,E,SDB,,MALC-MALC-16x50.step +MALC16-50ESDBU,MALC,16,50,,E,SDB,U,MALC-MALC-16x50.step +MALC16-50ESDBCM,MALC,16,50,,E,SDB,CM,MALC-MALC-16x50.step +MALC16-50,MALC,16,50,,,,,MALC-MALC-16x50.step +MALC16-50U,MALC,16,50,,,,U,MALC-MALC-16x50.step +MALC16-50CM,MALC,16,50,,,,CM,MALC-MALC-16x50.step +MALC16-50LB,MALC,16,50,,,LB,,MALC-MALC-16x50.step +MALC16-50LBU,MALC,16,50,,,LB,U,MALC-MALC-16x50.step +MALC16-50LBCM,MALC,16,50,,,LB,CM,MALC-MALC-16x50.step +MALC16-50FA,MALC,16,50,,,FA,,MALC-MALC-16x50.step +MALC16-50FAU,MALC,16,50,,,FA,U,MALC-MALC-16x50.step +MALC16-50FACM,MALC,16,50,,,FA,CM,MALC-MALC-16x50.step +MALC16-50FB,MALC,16,50,,,FB,,MALC-MALC-16x50.step +MALC16-50FBU,MALC,16,50,,,FB,U,MALC-MALC-16x50.step +MALC16-50FBCM,MALC,16,50,,,FB,CM,MALC-MALC-16x50.step +MALC16-50SDB,MALC,16,50,,,SDB,,MALC-MALC-16x50.step +MALC16-50SDBU,MALC,16,50,,,SDB,U,MALC-MALC-16x50.step +MALC16-50SDBCM,MALC,16,50,,,SDB,CM,MALC-MALC-16x50.step +MALC16-50ME,MALC,16,50,M,E,,,MALC-MALC-16x50.step +MALC16-50MEU,MALC,16,50,M,E,,U,MALC-MALC-16x50.step +MALC16-50MECM,MALC,16,50,M,E,,CM,MALC-MALC-16x50.step +MALC16-50MELB,MALC,16,50,M,E,LB,,MALC-MALC-16x50.step +MALC16-50MELBU,MALC,16,50,M,E,LB,U,MALC-MALC-16x50.step +MALC16-50MELBCM,MALC,16,50,M,E,LB,CM,MALC-MALC-16x50.step +MALC16-50MEFA,MALC,16,50,M,E,FA,,MALC-MALC-16x50.step +MALC16-50MEFAU,MALC,16,50,M,E,FA,U,MALC-MALC-16x50.step +MALC16-50MEFACM,MALC,16,50,M,E,FA,CM,MALC-MALC-16x50.step +MALC16-50MEFB,MALC,16,50,M,E,FB,,MALC-MALC-16x50.step +MALC16-50MEFBU,MALC,16,50,M,E,FB,U,MALC-MALC-16x50.step +MALC16-50MEFBCM,MALC,16,50,M,E,FB,CM,MALC-MALC-16x50.step +MALC16-50MESDB,MALC,16,50,M,E,SDB,,MALC-MALC-16x50.step +MALC16-50MESDBU,MALC,16,50,M,E,SDB,U,MALC-MALC-16x50.step +MALC16-50MESDBCM,MALC,16,50,M,E,SDB,CM,MALC-MALC-16x50.step +MALC16-50M,MALC,16,50,M,,,,MALC-MALC-16x50.step +MALC16-50MU,MALC,16,50,M,,,U,MALC-MALC-16x50.step +MALC16-50MCM,MALC,16,50,M,,,CM,MALC-MALC-16x50.step +MALC16-50MLB,MALC,16,50,M,,LB,,MALC-MALC-16x50.step +MALC16-50MLBU,MALC,16,50,M,,LB,U,MALC-MALC-16x50.step +MALC16-50MLBCM,MALC,16,50,M,,LB,CM,MALC-MALC-16x50.step +MALC16-50MFA,MALC,16,50,M,,FA,,MALC-MALC-16x50.step +MALC16-50MFAU,MALC,16,50,M,,FA,U,MALC-MALC-16x50.step +MALC16-50MFACM,MALC,16,50,M,,FA,CM,MALC-MALC-16x50.step +MALC16-50MFB,MALC,16,50,M,,FB,,MALC-MALC-16x50.step +MALC16-50MFBU,MALC,16,50,M,,FB,U,MALC-MALC-16x50.step +MALC16-50MFBCM,MALC,16,50,M,,FB,CM,MALC-MALC-16x50.step +MALC16-50MSDB,MALC,16,50,M,,SDB,,MALC-MALC-16x50.step +MALC16-50MSDBU,MALC,16,50,M,,SDB,U,MALC-MALC-16x50.step +MALC16-50MSDBCM,MALC,16,50,M,,SDB,CM,MALC-MALC-16x50.step +MALC16-75E,MALC,16,75,,E,,,MALC-MALC-16x75.step +MALC16-75EU,MALC,16,75,,E,,U,MALC-MALC-16x75.step +MALC16-75ECM,MALC,16,75,,E,,CM,MALC-MALC-16x75.step +MALC16-75ELB,MALC,16,75,,E,LB,,MALC-MALC-16x75.step +MALC16-75ELBU,MALC,16,75,,E,LB,U,MALC-MALC-16x75.step +MALC16-75ELBCM,MALC,16,75,,E,LB,CM,MALC-MALC-16x75.step +MALC16-75EFA,MALC,16,75,,E,FA,,MALC-MALC-16x75.step +MALC16-75EFAU,MALC,16,75,,E,FA,U,MALC-MALC-16x75.step +MALC16-75EFACM,MALC,16,75,,E,FA,CM,MALC-MALC-16x75.step +MALC16-75EFB,MALC,16,75,,E,FB,,MALC-MALC-16x75.step +MALC16-75EFBU,MALC,16,75,,E,FB,U,MALC-MALC-16x75.step +MALC16-75EFBCM,MALC,16,75,,E,FB,CM,MALC-MALC-16x75.step +MALC16-75ESDB,MALC,16,75,,E,SDB,,MALC-MALC-16x75.step +MALC16-75ESDBU,MALC,16,75,,E,SDB,U,MALC-MALC-16x75.step +MALC16-75ESDBCM,MALC,16,75,,E,SDB,CM,MALC-MALC-16x75.step +MALC16-75,MALC,16,75,,,,,MALC-MALC-16x75.step +MALC16-75U,MALC,16,75,,,,U,MALC-MALC-16x75.step +MALC16-75CM,MALC,16,75,,,,CM,MALC-MALC-16x75.step +MALC16-75LB,MALC,16,75,,,LB,,MALC-MALC-16x75.step +MALC16-75LBU,MALC,16,75,,,LB,U,MALC-MALC-16x75.step +MALC16-75LBCM,MALC,16,75,,,LB,CM,MALC-MALC-16x75.step +MALC16-75FA,MALC,16,75,,,FA,,MALC-MALC-16x75.step +MALC16-75FAU,MALC,16,75,,,FA,U,MALC-MALC-16x75.step +MALC16-75FACM,MALC,16,75,,,FA,CM,MALC-MALC-16x75.step +MALC16-75FB,MALC,16,75,,,FB,,MALC-MALC-16x75.step +MALC16-75FBU,MALC,16,75,,,FB,U,MALC-MALC-16x75.step +MALC16-75FBCM,MALC,16,75,,,FB,CM,MALC-MALC-16x75.step +MALC16-75SDB,MALC,16,75,,,SDB,,MALC-MALC-16x75.step +MALC16-75SDBU,MALC,16,75,,,SDB,U,MALC-MALC-16x75.step +MALC16-75SDBCM,MALC,16,75,,,SDB,CM,MALC-MALC-16x75.step +MALC16-75ME,MALC,16,75,M,E,,,MALC-MALC-16x75.step +MALC16-75MEU,MALC,16,75,M,E,,U,MALC-MALC-16x75.step +MALC16-75MECM,MALC,16,75,M,E,,CM,MALC-MALC-16x75.step +MALC16-75MELB,MALC,16,75,M,E,LB,,MALC-MALC-16x75.step +MALC16-75MELBU,MALC,16,75,M,E,LB,U,MALC-MALC-16x75.step +MALC16-75MELBCM,MALC,16,75,M,E,LB,CM,MALC-MALC-16x75.step +MALC16-75MEFA,MALC,16,75,M,E,FA,,MALC-MALC-16x75.step +MALC16-75MEFAU,MALC,16,75,M,E,FA,U,MALC-MALC-16x75.step +MALC16-75MEFACM,MALC,16,75,M,E,FA,CM,MALC-MALC-16x75.step +MALC16-75MEFB,MALC,16,75,M,E,FB,,MALC-MALC-16x75.step +MALC16-75MEFBU,MALC,16,75,M,E,FB,U,MALC-MALC-16x75.step +MALC16-75MEFBCM,MALC,16,75,M,E,FB,CM,MALC-MALC-16x75.step +MALC16-75MESDB,MALC,16,75,M,E,SDB,,MALC-MALC-16x75.step +MALC16-75MESDBU,MALC,16,75,M,E,SDB,U,MALC-MALC-16x75.step +MALC16-75MESDBCM,MALC,16,75,M,E,SDB,CM,MALC-MALC-16x75.step +MALC16-75M,MALC,16,75,M,,,,MALC-MALC-16x75.step +MALC16-75MU,MALC,16,75,M,,,U,MALC-MALC-16x75.step +MALC16-75MCM,MALC,16,75,M,,,CM,MALC-MALC-16x75.step +MALC16-75MLB,MALC,16,75,M,,LB,,MALC-MALC-16x75.step +MALC16-75MLBU,MALC,16,75,M,,LB,U,MALC-MALC-16x75.step +MALC16-75MLBCM,MALC,16,75,M,,LB,CM,MALC-MALC-16x75.step +MALC16-75MFA,MALC,16,75,M,,FA,,MALC-MALC-16x75.step +MALC16-75MFAU,MALC,16,75,M,,FA,U,MALC-MALC-16x75.step +MALC16-75MFACM,MALC,16,75,M,,FA,CM,MALC-MALC-16x75.step +MALC16-75MFB,MALC,16,75,M,,FB,,MALC-MALC-16x75.step +MALC16-75MFBU,MALC,16,75,M,,FB,U,MALC-MALC-16x75.step +MALC16-75MFBCM,MALC,16,75,M,,FB,CM,MALC-MALC-16x75.step +MALC16-75MSDB,MALC,16,75,M,,SDB,,MALC-MALC-16x75.step +MALC16-75MSDBU,MALC,16,75,M,,SDB,U,MALC-MALC-16x75.step +MALC16-75MSDBCM,MALC,16,75,M,,SDB,CM,MALC-MALC-16x75.step +MALC16-100E,MALC,16,100,,E,,,MALC-MALC-16x100.step +MALC16-100EU,MALC,16,100,,E,,U,MALC-MALC-16x100.step +MALC16-100ECM,MALC,16,100,,E,,CM,MALC-MALC-16x100.step +MALC16-100ELB,MALC,16,100,,E,LB,,MALC-MALC-16x100.step +MALC16-100ELBU,MALC,16,100,,E,LB,U,MALC-MALC-16x100.step +MALC16-100ELBCM,MALC,16,100,,E,LB,CM,MALC-MALC-16x100.step +MALC16-100EFA,MALC,16,100,,E,FA,,MALC-MALC-16x100.step +MALC16-100EFAU,MALC,16,100,,E,FA,U,MALC-MALC-16x100.step +MALC16-100EFACM,MALC,16,100,,E,FA,CM,MALC-MALC-16x100.step +MALC16-100EFB,MALC,16,100,,E,FB,,MALC-MALC-16x100.step +MALC16-100EFBU,MALC,16,100,,E,FB,U,MALC-MALC-16x100.step +MALC16-100EFBCM,MALC,16,100,,E,FB,CM,MALC-MALC-16x100.step +MALC16-100ESDB,MALC,16,100,,E,SDB,,MALC-MALC-16x100.step +MALC16-100ESDBU,MALC,16,100,,E,SDB,U,MALC-MALC-16x100.step +MALC16-100ESDBCM,MALC,16,100,,E,SDB,CM,MALC-MALC-16x100.step +MALC16-100,MALC,16,100,,,,,MALC-MALC-16x100.step +MALC16-100U,MALC,16,100,,,,U,MALC-MALC-16x100.step +MALC16-100CM,MALC,16,100,,,,CM,MALC-MALC-16x100.step +MALC16-100LB,MALC,16,100,,,LB,,MALC-MALC-16x100.step +MALC16-100LBU,MALC,16,100,,,LB,U,MALC-MALC-16x100.step +MALC16-100LBCM,MALC,16,100,,,LB,CM,MALC-MALC-16x100.step +MALC16-100FA,MALC,16,100,,,FA,,MALC-MALC-16x100.step +MALC16-100FAU,MALC,16,100,,,FA,U,MALC-MALC-16x100.step +MALC16-100FACM,MALC,16,100,,,FA,CM,MALC-MALC-16x100.step +MALC16-100FB,MALC,16,100,,,FB,,MALC-MALC-16x100.step +MALC16-100FBU,MALC,16,100,,,FB,U,MALC-MALC-16x100.step +MALC16-100FBCM,MALC,16,100,,,FB,CM,MALC-MALC-16x100.step +MALC16-100SDB,MALC,16,100,,,SDB,,MALC-MALC-16x100.step +MALC16-100SDBU,MALC,16,100,,,SDB,U,MALC-MALC-16x100.step +MALC16-100SDBCM,MALC,16,100,,,SDB,CM,MALC-MALC-16x100.step +MALC16-100ME,MALC,16,100,M,E,,,MALC-MALC-16x100.step +MALC16-100MEU,MALC,16,100,M,E,,U,MALC-MALC-16x100.step +MALC16-100MECM,MALC,16,100,M,E,,CM,MALC-MALC-16x100.step +MALC16-100MELB,MALC,16,100,M,E,LB,,MALC-MALC-16x100.step +MALC16-100MELBU,MALC,16,100,M,E,LB,U,MALC-MALC-16x100.step +MALC16-100MELBCM,MALC,16,100,M,E,LB,CM,MALC-MALC-16x100.step +MALC16-100MEFA,MALC,16,100,M,E,FA,,MALC-MALC-16x100.step +MALC16-100MEFAU,MALC,16,100,M,E,FA,U,MALC-MALC-16x100.step +MALC16-100MEFACM,MALC,16,100,M,E,FA,CM,MALC-MALC-16x100.step +MALC16-100MEFB,MALC,16,100,M,E,FB,,MALC-MALC-16x100.step +MALC16-100MEFBU,MALC,16,100,M,E,FB,U,MALC-MALC-16x100.step +MALC16-100MEFBCM,MALC,16,100,M,E,FB,CM,MALC-MALC-16x100.step +MALC16-100MESDB,MALC,16,100,M,E,SDB,,MALC-MALC-16x100.step +MALC16-100MESDBU,MALC,16,100,M,E,SDB,U,MALC-MALC-16x100.step +MALC16-100MESDBCM,MALC,16,100,M,E,SDB,CM,MALC-MALC-16x100.step +MALC16-100M,MALC,16,100,M,,,,MALC-MALC-16x100.step +MALC16-100MU,MALC,16,100,M,,,U,MALC-MALC-16x100.step +MALC16-100MCM,MALC,16,100,M,,,CM,MALC-MALC-16x100.step +MALC16-100MLB,MALC,16,100,M,,LB,,MALC-MALC-16x100.step +MALC16-100MLBU,MALC,16,100,M,,LB,U,MALC-MALC-16x100.step +MALC16-100MLBCM,MALC,16,100,M,,LB,CM,MALC-MALC-16x100.step +MALC16-100MFA,MALC,16,100,M,,FA,,MALC-MALC-16x100.step +MALC16-100MFAU,MALC,16,100,M,,FA,U,MALC-MALC-16x100.step +MALC16-100MFACM,MALC,16,100,M,,FA,CM,MALC-MALC-16x100.step +MALC16-100MFB,MALC,16,100,M,,FB,,MALC-MALC-16x100.step +MALC16-100MFBU,MALC,16,100,M,,FB,U,MALC-MALC-16x100.step +MALC16-100MFBCM,MALC,16,100,M,,FB,CM,MALC-MALC-16x100.step +MALC16-100MSDB,MALC,16,100,M,,SDB,,MALC-MALC-16x100.step +MALC16-100MSDBU,MALC,16,100,M,,SDB,U,MALC-MALC-16x100.step +MALC16-100MSDBCM,MALC,16,100,M,,SDB,CM,MALC-MALC-16x100.step +MALC20-10E,MALC,20,10,,E,,,MALC-MALC-20x10.step +MALC20-10EU,MALC,20,10,,E,,U,MALC-MALC-20x10.step +MALC20-10ECM,MALC,20,10,,E,,CM,MALC-MALC-20x10.step +MALC20-10ELB,MALC,20,10,,E,LB,,MALC-MALC-20x10.step +MALC20-10ELBU,MALC,20,10,,E,LB,U,MALC-MALC-20x10.step +MALC20-10ELBCM,MALC,20,10,,E,LB,CM,MALC-MALC-20x10.step +MALC20-10EFA,MALC,20,10,,E,FA,,MALC-MALC-20x10.step +MALC20-10EFAU,MALC,20,10,,E,FA,U,MALC-MALC-20x10.step +MALC20-10EFACM,MALC,20,10,,E,FA,CM,MALC-MALC-20x10.step +MALC20-10EFB,MALC,20,10,,E,FB,,MALC-MALC-20x10.step +MALC20-10EFBU,MALC,20,10,,E,FB,U,MALC-MALC-20x10.step +MALC20-10EFBCM,MALC,20,10,,E,FB,CM,MALC-MALC-20x10.step +MALC20-10ESDB,MALC,20,10,,E,SDB,,MALC-MALC-20x10.step +MALC20-10ESDBU,MALC,20,10,,E,SDB,U,MALC-MALC-20x10.step +MALC20-10ESDBCM,MALC,20,10,,E,SDB,CM,MALC-MALC-20x10.step +MALC20-10,MALC,20,10,,,,,MALC-MALC-20x10.step +MALC20-10U,MALC,20,10,,,,U,MALC-MALC-20x10.step +MALC20-10CM,MALC,20,10,,,,CM,MALC-MALC-20x10.step +MALC20-10LB,MALC,20,10,,,LB,,MALC-MALC-20x10.step +MALC20-10LBU,MALC,20,10,,,LB,U,MALC-MALC-20x10.step +MALC20-10LBCM,MALC,20,10,,,LB,CM,MALC-MALC-20x10.step +MALC20-10FA,MALC,20,10,,,FA,,MALC-MALC-20x10.step +MALC20-10FAU,MALC,20,10,,,FA,U,MALC-MALC-20x10.step +MALC20-10FACM,MALC,20,10,,,FA,CM,MALC-MALC-20x10.step +MALC20-10FB,MALC,20,10,,,FB,,MALC-MALC-20x10.step +MALC20-10FBU,MALC,20,10,,,FB,U,MALC-MALC-20x10.step +MALC20-10FBCM,MALC,20,10,,,FB,CM,MALC-MALC-20x10.step +MALC20-10SDB,MALC,20,10,,,SDB,,MALC-MALC-20x10.step +MALC20-10SDBU,MALC,20,10,,,SDB,U,MALC-MALC-20x10.step +MALC20-10SDBCM,MALC,20,10,,,SDB,CM,MALC-MALC-20x10.step +MALC20-10ME,MALC,20,10,M,E,,,MALC-MALC-20x10.step +MALC20-10MEU,MALC,20,10,M,E,,U,MALC-MALC-20x10.step +MALC20-10MECM,MALC,20,10,M,E,,CM,MALC-MALC-20x10.step +MALC20-10MELB,MALC,20,10,M,E,LB,,MALC-MALC-20x10.step +MALC20-10MELBU,MALC,20,10,M,E,LB,U,MALC-MALC-20x10.step +MALC20-10MELBCM,MALC,20,10,M,E,LB,CM,MALC-MALC-20x10.step +MALC20-10MEFA,MALC,20,10,M,E,FA,,MALC-MALC-20x10.step +MALC20-10MEFAU,MALC,20,10,M,E,FA,U,MALC-MALC-20x10.step +MALC20-10MEFACM,MALC,20,10,M,E,FA,CM,MALC-MALC-20x10.step +MALC20-10MEFB,MALC,20,10,M,E,FB,,MALC-MALC-20x10.step +MALC20-10MEFBU,MALC,20,10,M,E,FB,U,MALC-MALC-20x10.step +MALC20-10MEFBCM,MALC,20,10,M,E,FB,CM,MALC-MALC-20x10.step +MALC20-10MESDB,MALC,20,10,M,E,SDB,,MALC-MALC-20x10.step +MALC20-10MESDBU,MALC,20,10,M,E,SDB,U,MALC-MALC-20x10.step +MALC20-10MESDBCM,MALC,20,10,M,E,SDB,CM,MALC-MALC-20x10.step +MALC20-10M,MALC,20,10,M,,,,MALC-MALC-20x10.step +MALC20-10MU,MALC,20,10,M,,,U,MALC-MALC-20x10.step +MALC20-10MCM,MALC,20,10,M,,,CM,MALC-MALC-20x10.step +MALC20-10MLB,MALC,20,10,M,,LB,,MALC-MALC-20x10.step +MALC20-10MLBU,MALC,20,10,M,,LB,U,MALC-MALC-20x10.step +MALC20-10MLBCM,MALC,20,10,M,,LB,CM,MALC-MALC-20x10.step +MALC20-10MFA,MALC,20,10,M,,FA,,MALC-MALC-20x10.step +MALC20-10MFAU,MALC,20,10,M,,FA,U,MALC-MALC-20x10.step +MALC20-10MFACM,MALC,20,10,M,,FA,CM,MALC-MALC-20x10.step +MALC20-10MFB,MALC,20,10,M,,FB,,MALC-MALC-20x10.step +MALC20-10MFBU,MALC,20,10,M,,FB,U,MALC-MALC-20x10.step +MALC20-10MFBCM,MALC,20,10,M,,FB,CM,MALC-MALC-20x10.step +MALC20-10MSDB,MALC,20,10,M,,SDB,,MALC-MALC-20x10.step +MALC20-10MSDBU,MALC,20,10,M,,SDB,U,MALC-MALC-20x10.step +MALC20-10MSDBCM,MALC,20,10,M,,SDB,CM,MALC-MALC-20x10.step +MALC20-20E,MALC,20,20,,E,,,MALC-MALC-20x20.step +MALC20-20EU,MALC,20,20,,E,,U,MALC-MALC-20x20.step +MALC20-20ECM,MALC,20,20,,E,,CM,MALC-MALC-20x20.step +MALC20-20ELB,MALC,20,20,,E,LB,,MALC-MALC-20x20.step +MALC20-20ELBU,MALC,20,20,,E,LB,U,MALC-MALC-20x20.step +MALC20-20ELBCM,MALC,20,20,,E,LB,CM,MALC-MALC-20x20.step +MALC20-20EFA,MALC,20,20,,E,FA,,MALC-MALC-20x20.step +MALC20-20EFAU,MALC,20,20,,E,FA,U,MALC-MALC-20x20.step +MALC20-20EFACM,MALC,20,20,,E,FA,CM,MALC-MALC-20x20.step +MALC20-20EFB,MALC,20,20,,E,FB,,MALC-MALC-20x20.step +MALC20-20EFBU,MALC,20,20,,E,FB,U,MALC-MALC-20x20.step +MALC20-20EFBCM,MALC,20,20,,E,FB,CM,MALC-MALC-20x20.step +MALC20-20ESDB,MALC,20,20,,E,SDB,,MALC-MALC-20x20.step +MALC20-20ESDBU,MALC,20,20,,E,SDB,U,MALC-MALC-20x20.step +MALC20-20ESDBCM,MALC,20,20,,E,SDB,CM,MALC-MALC-20x20.step +MALC20-20,MALC,20,20,,,,,MALC-MALC-20x20.step +MALC20-20U,MALC,20,20,,,,U,MALC-MALC-20x20.step +MALC20-20CM,MALC,20,20,,,,CM,MALC-MALC-20x20.step +MALC20-20LB,MALC,20,20,,,LB,,MALC-MALC-20x20.step +MALC20-20LBU,MALC,20,20,,,LB,U,MALC-MALC-20x20.step +MALC20-20LBCM,MALC,20,20,,,LB,CM,MALC-MALC-20x20.step +MALC20-20FA,MALC,20,20,,,FA,,MALC-MALC-20x20.step +MALC20-20FAU,MALC,20,20,,,FA,U,MALC-MALC-20x20.step +MALC20-20FACM,MALC,20,20,,,FA,CM,MALC-MALC-20x20.step +MALC20-20FB,MALC,20,20,,,FB,,MALC-MALC-20x20.step +MALC20-20FBU,MALC,20,20,,,FB,U,MALC-MALC-20x20.step +MALC20-20FBCM,MALC,20,20,,,FB,CM,MALC-MALC-20x20.step +MALC20-20SDB,MALC,20,20,,,SDB,,MALC-MALC-20x20.step +MALC20-20SDBU,MALC,20,20,,,SDB,U,MALC-MALC-20x20.step +MALC20-20SDBCM,MALC,20,20,,,SDB,CM,MALC-MALC-20x20.step +MALC20-20ME,MALC,20,20,M,E,,,MALC-MALC-20x20.step +MALC20-20MEU,MALC,20,20,M,E,,U,MALC-MALC-20x20.step +MALC20-20MECM,MALC,20,20,M,E,,CM,MALC-MALC-20x20.step +MALC20-20MELB,MALC,20,20,M,E,LB,,MALC-MALC-20x20.step +MALC20-20MELBU,MALC,20,20,M,E,LB,U,MALC-MALC-20x20.step +MALC20-20MELBCM,MALC,20,20,M,E,LB,CM,MALC-MALC-20x20.step +MALC20-20MEFA,MALC,20,20,M,E,FA,,MALC-MALC-20x20.step +MALC20-20MEFAU,MALC,20,20,M,E,FA,U,MALC-MALC-20x20.step +MALC20-20MEFACM,MALC,20,20,M,E,FA,CM,MALC-MALC-20x20.step +MALC20-20MEFB,MALC,20,20,M,E,FB,,MALC-MALC-20x20.step +MALC20-20MEFBU,MALC,20,20,M,E,FB,U,MALC-MALC-20x20.step +MALC20-20MEFBCM,MALC,20,20,M,E,FB,CM,MALC-MALC-20x20.step +MALC20-20MESDB,MALC,20,20,M,E,SDB,,MALC-MALC-20x20.step +MALC20-20MESDBU,MALC,20,20,M,E,SDB,U,MALC-MALC-20x20.step +MALC20-20MESDBCM,MALC,20,20,M,E,SDB,CM,MALC-MALC-20x20.step +MALC20-20M,MALC,20,20,M,,,,MALC-MALC-20x20.step +MALC20-20MU,MALC,20,20,M,,,U,MALC-MALC-20x20.step +MALC20-20MCM,MALC,20,20,M,,,CM,MALC-MALC-20x20.step +MALC20-20MLB,MALC,20,20,M,,LB,,MALC-MALC-20x20.step +MALC20-20MLBU,MALC,20,20,M,,LB,U,MALC-MALC-20x20.step +MALC20-20MLBCM,MALC,20,20,M,,LB,CM,MALC-MALC-20x20.step +MALC20-20MFA,MALC,20,20,M,,FA,,MALC-MALC-20x20.step +MALC20-20MFAU,MALC,20,20,M,,FA,U,MALC-MALC-20x20.step +MALC20-20MFACM,MALC,20,20,M,,FA,CM,MALC-MALC-20x20.step +MALC20-20MFB,MALC,20,20,M,,FB,,MALC-MALC-20x20.step +MALC20-20MFBU,MALC,20,20,M,,FB,U,MALC-MALC-20x20.step +MALC20-20MFBCM,MALC,20,20,M,,FB,CM,MALC-MALC-20x20.step +MALC20-20MSDB,MALC,20,20,M,,SDB,,MALC-MALC-20x20.step +MALC20-20MSDBU,MALC,20,20,M,,SDB,U,MALC-MALC-20x20.step +MALC20-20MSDBCM,MALC,20,20,M,,SDB,CM,MALC-MALC-20x20.step +MALC20-30E,MALC,20,30,,E,,,MALC-MALC-20x30.step +MALC20-30EU,MALC,20,30,,E,,U,MALC-MALC-20x30.step +MALC20-30ECM,MALC,20,30,,E,,CM,MALC-MALC-20x30.step +MALC20-30ELB,MALC,20,30,,E,LB,,MALC-MALC-20x30.step +MALC20-30ELBU,MALC,20,30,,E,LB,U,MALC-MALC-20x30.step +MALC20-30ELBCM,MALC,20,30,,E,LB,CM,MALC-MALC-20x30.step +MALC20-30EFA,MALC,20,30,,E,FA,,MALC-MALC-20x30.step +MALC20-30EFAU,MALC,20,30,,E,FA,U,MALC-MALC-20x30.step +MALC20-30EFACM,MALC,20,30,,E,FA,CM,MALC-MALC-20x30.step +MALC20-30EFB,MALC,20,30,,E,FB,,MALC-MALC-20x30.step +MALC20-30EFBU,MALC,20,30,,E,FB,U,MALC-MALC-20x30.step +MALC20-30EFBCM,MALC,20,30,,E,FB,CM,MALC-MALC-20x30.step +MALC20-30ESDB,MALC,20,30,,E,SDB,,MALC-MALC-20x30.step +MALC20-30ESDBU,MALC,20,30,,E,SDB,U,MALC-MALC-20x30.step +MALC20-30ESDBCM,MALC,20,30,,E,SDB,CM,MALC-MALC-20x30.step +MALC20-30,MALC,20,30,,,,,MALC-MALC-20x30.step +MALC20-30U,MALC,20,30,,,,U,MALC-MALC-20x30.step +MALC20-30CM,MALC,20,30,,,,CM,MALC-MALC-20x30.step +MALC20-30LB,MALC,20,30,,,LB,,MALC-MALC-20x30.step +MALC20-30LBU,MALC,20,30,,,LB,U,MALC-MALC-20x30.step +MALC20-30LBCM,MALC,20,30,,,LB,CM,MALC-MALC-20x30.step +MALC20-30FA,MALC,20,30,,,FA,,MALC-MALC-20x30.step +MALC20-30FAU,MALC,20,30,,,FA,U,MALC-MALC-20x30.step +MALC20-30FACM,MALC,20,30,,,FA,CM,MALC-MALC-20x30.step +MALC20-30FB,MALC,20,30,,,FB,,MALC-MALC-20x30.step +MALC20-30FBU,MALC,20,30,,,FB,U,MALC-MALC-20x30.step +MALC20-30FBCM,MALC,20,30,,,FB,CM,MALC-MALC-20x30.step +MALC20-30SDB,MALC,20,30,,,SDB,,MALC-MALC-20x30.step +MALC20-30SDBU,MALC,20,30,,,SDB,U,MALC-MALC-20x30.step +MALC20-30SDBCM,MALC,20,30,,,SDB,CM,MALC-MALC-20x30.step +MALC20-30ME,MALC,20,30,M,E,,,MALC-MALC-20x30.step +MALC20-30MEU,MALC,20,30,M,E,,U,MALC-MALC-20x30.step +MALC20-30MECM,MALC,20,30,M,E,,CM,MALC-MALC-20x30.step +MALC20-30MELB,MALC,20,30,M,E,LB,,MALC-MALC-20x30.step +MALC20-30MELBU,MALC,20,30,M,E,LB,U,MALC-MALC-20x30.step +MALC20-30MELBCM,MALC,20,30,M,E,LB,CM,MALC-MALC-20x30.step +MALC20-30MEFA,MALC,20,30,M,E,FA,,MALC-MALC-20x30.step +MALC20-30MEFAU,MALC,20,30,M,E,FA,U,MALC-MALC-20x30.step +MALC20-30MEFACM,MALC,20,30,M,E,FA,CM,MALC-MALC-20x30.step +MALC20-30MEFB,MALC,20,30,M,E,FB,,MALC-MALC-20x30.step +MALC20-30MEFBU,MALC,20,30,M,E,FB,U,MALC-MALC-20x30.step +MALC20-30MEFBCM,MALC,20,30,M,E,FB,CM,MALC-MALC-20x30.step +MALC20-30MESDB,MALC,20,30,M,E,SDB,,MALC-MALC-20x30.step +MALC20-30MESDBU,MALC,20,30,M,E,SDB,U,MALC-MALC-20x30.step +MALC20-30MESDBCM,MALC,20,30,M,E,SDB,CM,MALC-MALC-20x30.step +MALC20-30M,MALC,20,30,M,,,,MALC-MALC-20x30.step +MALC20-30MU,MALC,20,30,M,,,U,MALC-MALC-20x30.step +MALC20-30MCM,MALC,20,30,M,,,CM,MALC-MALC-20x30.step +MALC20-30MLB,MALC,20,30,M,,LB,,MALC-MALC-20x30.step +MALC20-30MLBU,MALC,20,30,M,,LB,U,MALC-MALC-20x30.step +MALC20-30MLBCM,MALC,20,30,M,,LB,CM,MALC-MALC-20x30.step +MALC20-30MFA,MALC,20,30,M,,FA,,MALC-MALC-20x30.step +MALC20-30MFAU,MALC,20,30,M,,FA,U,MALC-MALC-20x30.step +MALC20-30MFACM,MALC,20,30,M,,FA,CM,MALC-MALC-20x30.step +MALC20-30MFB,MALC,20,30,M,,FB,,MALC-MALC-20x30.step +MALC20-30MFBU,MALC,20,30,M,,FB,U,MALC-MALC-20x30.step +MALC20-30MFBCM,MALC,20,30,M,,FB,CM,MALC-MALC-20x30.step +MALC20-30MSDB,MALC,20,30,M,,SDB,,MALC-MALC-20x30.step +MALC20-30MSDBU,MALC,20,30,M,,SDB,U,MALC-MALC-20x30.step +MALC20-30MSDBCM,MALC,20,30,M,,SDB,CM,MALC-MALC-20x30.step +MALC20-50E,MALC,20,50,,E,,,MALC-MALC-20x50.step +MALC20-50EU,MALC,20,50,,E,,U,MALC-MALC-20x50.step +MALC20-50ECM,MALC,20,50,,E,,CM,MALC-MALC-20x50.step +MALC20-50ELB,MALC,20,50,,E,LB,,MALC-MALC-20x50.step +MALC20-50ELBU,MALC,20,50,,E,LB,U,MALC-MALC-20x50.step +MALC20-50ELBCM,MALC,20,50,,E,LB,CM,MALC-MALC-20x50.step +MALC20-50EFA,MALC,20,50,,E,FA,,MALC-MALC-20x50.step +MALC20-50EFAU,MALC,20,50,,E,FA,U,MALC-MALC-20x50.step +MALC20-50EFACM,MALC,20,50,,E,FA,CM,MALC-MALC-20x50.step +MALC20-50EFB,MALC,20,50,,E,FB,,MALC-MALC-20x50.step +MALC20-50EFBU,MALC,20,50,,E,FB,U,MALC-MALC-20x50.step +MALC20-50EFBCM,MALC,20,50,,E,FB,CM,MALC-MALC-20x50.step +MALC20-50ESDB,MALC,20,50,,E,SDB,,MALC-MALC-20x50.step +MALC20-50ESDBU,MALC,20,50,,E,SDB,U,MALC-MALC-20x50.step +MALC20-50ESDBCM,MALC,20,50,,E,SDB,CM,MALC-MALC-20x50.step +MALC20-50,MALC,20,50,,,,,MALC-MALC-20x50.step +MALC20-50U,MALC,20,50,,,,U,MALC-MALC-20x50.step +MALC20-50CM,MALC,20,50,,,,CM,MALC-MALC-20x50.step +MALC20-50LB,MALC,20,50,,,LB,,MALC-MALC-20x50.step +MALC20-50LBU,MALC,20,50,,,LB,U,MALC-MALC-20x50.step +MALC20-50LBCM,MALC,20,50,,,LB,CM,MALC-MALC-20x50.step +MALC20-50FA,MALC,20,50,,,FA,,MALC-MALC-20x50.step +MALC20-50FAU,MALC,20,50,,,FA,U,MALC-MALC-20x50.step +MALC20-50FACM,MALC,20,50,,,FA,CM,MALC-MALC-20x50.step +MALC20-50FB,MALC,20,50,,,FB,,MALC-MALC-20x50.step +MALC20-50FBU,MALC,20,50,,,FB,U,MALC-MALC-20x50.step +MALC20-50FBCM,MALC,20,50,,,FB,CM,MALC-MALC-20x50.step +MALC20-50SDB,MALC,20,50,,,SDB,,MALC-MALC-20x50.step +MALC20-50SDBU,MALC,20,50,,,SDB,U,MALC-MALC-20x50.step +MALC20-50SDBCM,MALC,20,50,,,SDB,CM,MALC-MALC-20x50.step +MALC20-50ME,MALC,20,50,M,E,,,MALC-MALC-20x50.step +MALC20-50MEU,MALC,20,50,M,E,,U,MALC-MALC-20x50.step +MALC20-50MECM,MALC,20,50,M,E,,CM,MALC-MALC-20x50.step +MALC20-50MELB,MALC,20,50,M,E,LB,,MALC-MALC-20x50.step +MALC20-50MELBU,MALC,20,50,M,E,LB,U,MALC-MALC-20x50.step +MALC20-50MELBCM,MALC,20,50,M,E,LB,CM,MALC-MALC-20x50.step +MALC20-50MEFA,MALC,20,50,M,E,FA,,MALC-MALC-20x50.step +MALC20-50MEFAU,MALC,20,50,M,E,FA,U,MALC-MALC-20x50.step +MALC20-50MEFACM,MALC,20,50,M,E,FA,CM,MALC-MALC-20x50.step +MALC20-50MEFB,MALC,20,50,M,E,FB,,MALC-MALC-20x50.step +MALC20-50MEFBU,MALC,20,50,M,E,FB,U,MALC-MALC-20x50.step +MALC20-50MEFBCM,MALC,20,50,M,E,FB,CM,MALC-MALC-20x50.step +MALC20-50MESDB,MALC,20,50,M,E,SDB,,MALC-MALC-20x50.step +MALC20-50MESDBU,MALC,20,50,M,E,SDB,U,MALC-MALC-20x50.step +MALC20-50MESDBCM,MALC,20,50,M,E,SDB,CM,MALC-MALC-20x50.step +MALC20-50M,MALC,20,50,M,,,,MALC-MALC-20x50.step +MALC20-50MU,MALC,20,50,M,,,U,MALC-MALC-20x50.step +MALC20-50MCM,MALC,20,50,M,,,CM,MALC-MALC-20x50.step +MALC20-50MLB,MALC,20,50,M,,LB,,MALC-MALC-20x50.step +MALC20-50MLBU,MALC,20,50,M,,LB,U,MALC-MALC-20x50.step +MALC20-50MLBCM,MALC,20,50,M,,LB,CM,MALC-MALC-20x50.step +MALC20-50MFA,MALC,20,50,M,,FA,,MALC-MALC-20x50.step +MALC20-50MFAU,MALC,20,50,M,,FA,U,MALC-MALC-20x50.step +MALC20-50MFACM,MALC,20,50,M,,FA,CM,MALC-MALC-20x50.step +MALC20-50MFB,MALC,20,50,M,,FB,,MALC-MALC-20x50.step +MALC20-50MFBU,MALC,20,50,M,,FB,U,MALC-MALC-20x50.step +MALC20-50MFBCM,MALC,20,50,M,,FB,CM,MALC-MALC-20x50.step +MALC20-50MSDB,MALC,20,50,M,,SDB,,MALC-MALC-20x50.step +MALC20-50MSDBU,MALC,20,50,M,,SDB,U,MALC-MALC-20x50.step +MALC20-50MSDBCM,MALC,20,50,M,,SDB,CM,MALC-MALC-20x50.step +MALC20-75E,MALC,20,75,,E,,,MALC-MALC-20x75.step +MALC20-75EU,MALC,20,75,,E,,U,MALC-MALC-20x75.step +MALC20-75ECM,MALC,20,75,,E,,CM,MALC-MALC-20x75.step +MALC20-75ELB,MALC,20,75,,E,LB,,MALC-MALC-20x75.step +MALC20-75ELBU,MALC,20,75,,E,LB,U,MALC-MALC-20x75.step +MALC20-75ELBCM,MALC,20,75,,E,LB,CM,MALC-MALC-20x75.step +MALC20-75EFA,MALC,20,75,,E,FA,,MALC-MALC-20x75.step +MALC20-75EFAU,MALC,20,75,,E,FA,U,MALC-MALC-20x75.step +MALC20-75EFACM,MALC,20,75,,E,FA,CM,MALC-MALC-20x75.step +MALC20-75EFB,MALC,20,75,,E,FB,,MALC-MALC-20x75.step +MALC20-75EFBU,MALC,20,75,,E,FB,U,MALC-MALC-20x75.step +MALC20-75EFBCM,MALC,20,75,,E,FB,CM,MALC-MALC-20x75.step +MALC20-75ESDB,MALC,20,75,,E,SDB,,MALC-MALC-20x75.step +MALC20-75ESDBU,MALC,20,75,,E,SDB,U,MALC-MALC-20x75.step +MALC20-75ESDBCM,MALC,20,75,,E,SDB,CM,MALC-MALC-20x75.step +MALC20-75,MALC,20,75,,,,,MALC-MALC-20x75.step +MALC20-75U,MALC,20,75,,,,U,MALC-MALC-20x75.step +MALC20-75CM,MALC,20,75,,,,CM,MALC-MALC-20x75.step +MALC20-75LB,MALC,20,75,,,LB,,MALC-MALC-20x75.step +MALC20-75LBU,MALC,20,75,,,LB,U,MALC-MALC-20x75.step +MALC20-75LBCM,MALC,20,75,,,LB,CM,MALC-MALC-20x75.step +MALC20-75FA,MALC,20,75,,,FA,,MALC-MALC-20x75.step +MALC20-75FAU,MALC,20,75,,,FA,U,MALC-MALC-20x75.step +MALC20-75FACM,MALC,20,75,,,FA,CM,MALC-MALC-20x75.step +MALC20-75FB,MALC,20,75,,,FB,,MALC-MALC-20x75.step +MALC20-75FBU,MALC,20,75,,,FB,U,MALC-MALC-20x75.step +MALC20-75FBCM,MALC,20,75,,,FB,CM,MALC-MALC-20x75.step +MALC20-75SDB,MALC,20,75,,,SDB,,MALC-MALC-20x75.step +MALC20-75SDBU,MALC,20,75,,,SDB,U,MALC-MALC-20x75.step +MALC20-75SDBCM,MALC,20,75,,,SDB,CM,MALC-MALC-20x75.step +MALC20-75ME,MALC,20,75,M,E,,,MALC-MALC-20x75.step +MALC20-75MEU,MALC,20,75,M,E,,U,MALC-MALC-20x75.step +MALC20-75MECM,MALC,20,75,M,E,,CM,MALC-MALC-20x75.step +MALC20-75MELB,MALC,20,75,M,E,LB,,MALC-MALC-20x75.step +MALC20-75MELBU,MALC,20,75,M,E,LB,U,MALC-MALC-20x75.step +MALC20-75MELBCM,MALC,20,75,M,E,LB,CM,MALC-MALC-20x75.step +MALC20-75MEFA,MALC,20,75,M,E,FA,,MALC-MALC-20x75.step +MALC20-75MEFAU,MALC,20,75,M,E,FA,U,MALC-MALC-20x75.step +MALC20-75MEFACM,MALC,20,75,M,E,FA,CM,MALC-MALC-20x75.step +MALC20-75MEFB,MALC,20,75,M,E,FB,,MALC-MALC-20x75.step +MALC20-75MEFBU,MALC,20,75,M,E,FB,U,MALC-MALC-20x75.step +MALC20-75MEFBCM,MALC,20,75,M,E,FB,CM,MALC-MALC-20x75.step +MALC20-75MESDB,MALC,20,75,M,E,SDB,,MALC-MALC-20x75.step +MALC20-75MESDBU,MALC,20,75,M,E,SDB,U,MALC-MALC-20x75.step +MALC20-75MESDBCM,MALC,20,75,M,E,SDB,CM,MALC-MALC-20x75.step +MALC20-75M,MALC,20,75,M,,,,MALC-MALC-20x75.step +MALC20-75MU,MALC,20,75,M,,,U,MALC-MALC-20x75.step +MALC20-75MCM,MALC,20,75,M,,,CM,MALC-MALC-20x75.step +MALC20-75MLB,MALC,20,75,M,,LB,,MALC-MALC-20x75.step +MALC20-75MLBU,MALC,20,75,M,,LB,U,MALC-MALC-20x75.step +MALC20-75MLBCM,MALC,20,75,M,,LB,CM,MALC-MALC-20x75.step +MALC20-75MFA,MALC,20,75,M,,FA,,MALC-MALC-20x75.step +MALC20-75MFAU,MALC,20,75,M,,FA,U,MALC-MALC-20x75.step +MALC20-75MFACM,MALC,20,75,M,,FA,CM,MALC-MALC-20x75.step +MALC20-75MFB,MALC,20,75,M,,FB,,MALC-MALC-20x75.step +MALC20-75MFBU,MALC,20,75,M,,FB,U,MALC-MALC-20x75.step +MALC20-75MFBCM,MALC,20,75,M,,FB,CM,MALC-MALC-20x75.step +MALC20-75MSDB,MALC,20,75,M,,SDB,,MALC-MALC-20x75.step +MALC20-75MSDBU,MALC,20,75,M,,SDB,U,MALC-MALC-20x75.step +MALC20-75MSDBCM,MALC,20,75,M,,SDB,CM,MALC-MALC-20x75.step +MALC20-100E,MALC,20,100,,E,,,MALC-MALC-20x100.step +MALC20-100EU,MALC,20,100,,E,,U,MALC-MALC-20x100.step +MALC20-100ECM,MALC,20,100,,E,,CM,MALC-MALC-20x100.step +MALC20-100ELB,MALC,20,100,,E,LB,,MALC-MALC-20x100.step +MALC20-100ELBU,MALC,20,100,,E,LB,U,MALC-MALC-20x100.step +MALC20-100ELBCM,MALC,20,100,,E,LB,CM,MALC-MALC-20x100.step +MALC20-100EFA,MALC,20,100,,E,FA,,MALC-MALC-20x100.step +MALC20-100EFAU,MALC,20,100,,E,FA,U,MALC-MALC-20x100.step +MALC20-100EFACM,MALC,20,100,,E,FA,CM,MALC-MALC-20x100.step +MALC20-100EFB,MALC,20,100,,E,FB,,MALC-MALC-20x100.step +MALC20-100EFBU,MALC,20,100,,E,FB,U,MALC-MALC-20x100.step +MALC20-100EFBCM,MALC,20,100,,E,FB,CM,MALC-MALC-20x100.step +MALC20-100ESDB,MALC,20,100,,E,SDB,,MALC-MALC-20x100.step +MALC20-100ESDBU,MALC,20,100,,E,SDB,U,MALC-MALC-20x100.step +MALC20-100ESDBCM,MALC,20,100,,E,SDB,CM,MALC-MALC-20x100.step +MALC20-100,MALC,20,100,,,,,MALC-MALC-20x100.step +MALC20-100U,MALC,20,100,,,,U,MALC-MALC-20x100.step +MALC20-100CM,MALC,20,100,,,,CM,MALC-MALC-20x100.step +MALC20-100LB,MALC,20,100,,,LB,,MALC-MALC-20x100.step +MALC20-100LBU,MALC,20,100,,,LB,U,MALC-MALC-20x100.step +MALC20-100LBCM,MALC,20,100,,,LB,CM,MALC-MALC-20x100.step +MALC20-100FA,MALC,20,100,,,FA,,MALC-MALC-20x100.step +MALC20-100FAU,MALC,20,100,,,FA,U,MALC-MALC-20x100.step +MALC20-100FACM,MALC,20,100,,,FA,CM,MALC-MALC-20x100.step +MALC20-100FB,MALC,20,100,,,FB,,MALC-MALC-20x100.step +MALC20-100FBU,MALC,20,100,,,FB,U,MALC-MALC-20x100.step +MALC20-100FBCM,MALC,20,100,,,FB,CM,MALC-MALC-20x100.step +MALC20-100SDB,MALC,20,100,,,SDB,,MALC-MALC-20x100.step +MALC20-100SDBU,MALC,20,100,,,SDB,U,MALC-MALC-20x100.step +MALC20-100SDBCM,MALC,20,100,,,SDB,CM,MALC-MALC-20x100.step +MALC20-100ME,MALC,20,100,M,E,,,MALC-MALC-20x100.step +MALC20-100MEU,MALC,20,100,M,E,,U,MALC-MALC-20x100.step +MALC20-100MECM,MALC,20,100,M,E,,CM,MALC-MALC-20x100.step +MALC20-100MELB,MALC,20,100,M,E,LB,,MALC-MALC-20x100.step +MALC20-100MELBU,MALC,20,100,M,E,LB,U,MALC-MALC-20x100.step +MALC20-100MELBCM,MALC,20,100,M,E,LB,CM,MALC-MALC-20x100.step +MALC20-100MEFA,MALC,20,100,M,E,FA,,MALC-MALC-20x100.step +MALC20-100MEFAU,MALC,20,100,M,E,FA,U,MALC-MALC-20x100.step +MALC20-100MEFACM,MALC,20,100,M,E,FA,CM,MALC-MALC-20x100.step +MALC20-100MEFB,MALC,20,100,M,E,FB,,MALC-MALC-20x100.step +MALC20-100MEFBU,MALC,20,100,M,E,FB,U,MALC-MALC-20x100.step +MALC20-100MEFBCM,MALC,20,100,M,E,FB,CM,MALC-MALC-20x100.step +MALC20-100MESDB,MALC,20,100,M,E,SDB,,MALC-MALC-20x100.step +MALC20-100MESDBU,MALC,20,100,M,E,SDB,U,MALC-MALC-20x100.step +MALC20-100MESDBCM,MALC,20,100,M,E,SDB,CM,MALC-MALC-20x100.step +MALC20-100M,MALC,20,100,M,,,,MALC-MALC-20x100.step +MALC20-100MU,MALC,20,100,M,,,U,MALC-MALC-20x100.step +MALC20-100MCM,MALC,20,100,M,,,CM,MALC-MALC-20x100.step +MALC20-100MLB,MALC,20,100,M,,LB,,MALC-MALC-20x100.step +MALC20-100MLBU,MALC,20,100,M,,LB,U,MALC-MALC-20x100.step +MALC20-100MLBCM,MALC,20,100,M,,LB,CM,MALC-MALC-20x100.step +MALC20-100MFA,MALC,20,100,M,,FA,,MALC-MALC-20x100.step +MALC20-100MFAU,MALC,20,100,M,,FA,U,MALC-MALC-20x100.step +MALC20-100MFACM,MALC,20,100,M,,FA,CM,MALC-MALC-20x100.step +MALC20-100MFB,MALC,20,100,M,,FB,,MALC-MALC-20x100.step +MALC20-100MFBU,MALC,20,100,M,,FB,U,MALC-MALC-20x100.step +MALC20-100MFBCM,MALC,20,100,M,,FB,CM,MALC-MALC-20x100.step +MALC20-100MSDB,MALC,20,100,M,,SDB,,MALC-MALC-20x100.step +MALC20-100MSDBU,MALC,20,100,M,,SDB,U,MALC-MALC-20x100.step +MALC20-100MSDBCM,MALC,20,100,M,,SDB,CM,MALC-MALC-20x100.step +MALC25-10E,MALC,25,10,,E,,,MALC-MALC-25x10.step +MALC25-10EU,MALC,25,10,,E,,U,MALC-MALC-25x10.step +MALC25-10ECM,MALC,25,10,,E,,CM,MALC-MALC-25x10.step +MALC25-10ELB,MALC,25,10,,E,LB,,MALC-MALC-25x10.step +MALC25-10ELBU,MALC,25,10,,E,LB,U,MALC-MALC-25x10.step +MALC25-10ELBCM,MALC,25,10,,E,LB,CM,MALC-MALC-25x10.step +MALC25-10EFA,MALC,25,10,,E,FA,,MALC-MALC-25x10.step +MALC25-10EFAU,MALC,25,10,,E,FA,U,MALC-MALC-25x10.step +MALC25-10EFACM,MALC,25,10,,E,FA,CM,MALC-MALC-25x10.step +MALC25-10EFB,MALC,25,10,,E,FB,,MALC-MALC-25x10.step +MALC25-10EFBU,MALC,25,10,,E,FB,U,MALC-MALC-25x10.step +MALC25-10EFBCM,MALC,25,10,,E,FB,CM,MALC-MALC-25x10.step +MALC25-10ESDB,MALC,25,10,,E,SDB,,MALC-MALC-25x10.step +MALC25-10ESDBU,MALC,25,10,,E,SDB,U,MALC-MALC-25x10.step +MALC25-10ESDBCM,MALC,25,10,,E,SDB,CM,MALC-MALC-25x10.step +MALC25-10,MALC,25,10,,,,,MALC-MALC-25x10.step +MALC25-10U,MALC,25,10,,,,U,MALC-MALC-25x10.step +MALC25-10CM,MALC,25,10,,,,CM,MALC-MALC-25x10.step +MALC25-10LB,MALC,25,10,,,LB,,MALC-MALC-25x10.step +MALC25-10LBU,MALC,25,10,,,LB,U,MALC-MALC-25x10.step +MALC25-10LBCM,MALC,25,10,,,LB,CM,MALC-MALC-25x10.step +MALC25-10FA,MALC,25,10,,,FA,,MALC-MALC-25x10.step +MALC25-10FAU,MALC,25,10,,,FA,U,MALC-MALC-25x10.step +MALC25-10FACM,MALC,25,10,,,FA,CM,MALC-MALC-25x10.step +MALC25-10FB,MALC,25,10,,,FB,,MALC-MALC-25x10.step +MALC25-10FBU,MALC,25,10,,,FB,U,MALC-MALC-25x10.step +MALC25-10FBCM,MALC,25,10,,,FB,CM,MALC-MALC-25x10.step +MALC25-10SDB,MALC,25,10,,,SDB,,MALC-MALC-25x10.step +MALC25-10SDBU,MALC,25,10,,,SDB,U,MALC-MALC-25x10.step +MALC25-10SDBCM,MALC,25,10,,,SDB,CM,MALC-MALC-25x10.step +MALC25-10ME,MALC,25,10,M,E,,,MALC-MALC-25x10.step +MALC25-10MEU,MALC,25,10,M,E,,U,MALC-MALC-25x10.step +MALC25-10MECM,MALC,25,10,M,E,,CM,MALC-MALC-25x10.step +MALC25-10MELB,MALC,25,10,M,E,LB,,MALC-MALC-25x10.step +MALC25-10MELBU,MALC,25,10,M,E,LB,U,MALC-MALC-25x10.step +MALC25-10MELBCM,MALC,25,10,M,E,LB,CM,MALC-MALC-25x10.step +MALC25-10MEFA,MALC,25,10,M,E,FA,,MALC-MALC-25x10.step +MALC25-10MEFAU,MALC,25,10,M,E,FA,U,MALC-MALC-25x10.step +MALC25-10MEFACM,MALC,25,10,M,E,FA,CM,MALC-MALC-25x10.step +MALC25-10MEFB,MALC,25,10,M,E,FB,,MALC-MALC-25x10.step +MALC25-10MEFBU,MALC,25,10,M,E,FB,U,MALC-MALC-25x10.step +MALC25-10MEFBCM,MALC,25,10,M,E,FB,CM,MALC-MALC-25x10.step +MALC25-10MESDB,MALC,25,10,M,E,SDB,,MALC-MALC-25x10.step +MALC25-10MESDBU,MALC,25,10,M,E,SDB,U,MALC-MALC-25x10.step +MALC25-10MESDBCM,MALC,25,10,M,E,SDB,CM,MALC-MALC-25x10.step +MALC25-10M,MALC,25,10,M,,,,MALC-MALC-25x10.step +MALC25-10MU,MALC,25,10,M,,,U,MALC-MALC-25x10.step +MALC25-10MCM,MALC,25,10,M,,,CM,MALC-MALC-25x10.step +MALC25-10MLB,MALC,25,10,M,,LB,,MALC-MALC-25x10.step +MALC25-10MLBU,MALC,25,10,M,,LB,U,MALC-MALC-25x10.step +MALC25-10MLBCM,MALC,25,10,M,,LB,CM,MALC-MALC-25x10.step +MALC25-10MFA,MALC,25,10,M,,FA,,MALC-MALC-25x10.step +MALC25-10MFAU,MALC,25,10,M,,FA,U,MALC-MALC-25x10.step +MALC25-10MFACM,MALC,25,10,M,,FA,CM,MALC-MALC-25x10.step +MALC25-10MFB,MALC,25,10,M,,FB,,MALC-MALC-25x10.step +MALC25-10MFBU,MALC,25,10,M,,FB,U,MALC-MALC-25x10.step +MALC25-10MFBCM,MALC,25,10,M,,FB,CM,MALC-MALC-25x10.step +MALC25-10MSDB,MALC,25,10,M,,SDB,,MALC-MALC-25x10.step +MALC25-10MSDBU,MALC,25,10,M,,SDB,U,MALC-MALC-25x10.step +MALC25-10MSDBCM,MALC,25,10,M,,SDB,CM,MALC-MALC-25x10.step +MALC25-20E,MALC,25,20,,E,,,MALC-MALC-25x20.step +MALC25-20EU,MALC,25,20,,E,,U,MALC-MALC-25x20.step +MALC25-20ECM,MALC,25,20,,E,,CM,MALC-MALC-25x20.step +MALC25-20ELB,MALC,25,20,,E,LB,,MALC-MALC-25x20.step +MALC25-20ELBU,MALC,25,20,,E,LB,U,MALC-MALC-25x20.step +MALC25-20ELBCM,MALC,25,20,,E,LB,CM,MALC-MALC-25x20.step +MALC25-20EFA,MALC,25,20,,E,FA,,MALC-MALC-25x20.step +MALC25-20EFAU,MALC,25,20,,E,FA,U,MALC-MALC-25x20.step +MALC25-20EFACM,MALC,25,20,,E,FA,CM,MALC-MALC-25x20.step +MALC25-20EFB,MALC,25,20,,E,FB,,MALC-MALC-25x20.step +MALC25-20EFBU,MALC,25,20,,E,FB,U,MALC-MALC-25x20.step +MALC25-20EFBCM,MALC,25,20,,E,FB,CM,MALC-MALC-25x20.step +MALC25-20ESDB,MALC,25,20,,E,SDB,,MALC-MALC-25x20.step +MALC25-20ESDBU,MALC,25,20,,E,SDB,U,MALC-MALC-25x20.step +MALC25-20ESDBCM,MALC,25,20,,E,SDB,CM,MALC-MALC-25x20.step +MALC25-20,MALC,25,20,,,,,MALC-MALC-25x20.step +MALC25-20U,MALC,25,20,,,,U,MALC-MALC-25x20.step +MALC25-20CM,MALC,25,20,,,,CM,MALC-MALC-25x20.step +MALC25-20LB,MALC,25,20,,,LB,,MALC-MALC-25x20.step +MALC25-20LBU,MALC,25,20,,,LB,U,MALC-MALC-25x20.step +MALC25-20LBCM,MALC,25,20,,,LB,CM,MALC-MALC-25x20.step +MALC25-20FA,MALC,25,20,,,FA,,MALC-MALC-25x20.step +MALC25-20FAU,MALC,25,20,,,FA,U,MALC-MALC-25x20.step +MALC25-20FACM,MALC,25,20,,,FA,CM,MALC-MALC-25x20.step +MALC25-20FB,MALC,25,20,,,FB,,MALC-MALC-25x20.step +MALC25-20FBU,MALC,25,20,,,FB,U,MALC-MALC-25x20.step +MALC25-20FBCM,MALC,25,20,,,FB,CM,MALC-MALC-25x20.step +MALC25-20SDB,MALC,25,20,,,SDB,,MALC-MALC-25x20.step +MALC25-20SDBU,MALC,25,20,,,SDB,U,MALC-MALC-25x20.step +MALC25-20SDBCM,MALC,25,20,,,SDB,CM,MALC-MALC-25x20.step +MALC25-20ME,MALC,25,20,M,E,,,MALC-MALC-25x20.step +MALC25-20MEU,MALC,25,20,M,E,,U,MALC-MALC-25x20.step +MALC25-20MECM,MALC,25,20,M,E,,CM,MALC-MALC-25x20.step +MALC25-20MELB,MALC,25,20,M,E,LB,,MALC-MALC-25x20.step +MALC25-20MELBU,MALC,25,20,M,E,LB,U,MALC-MALC-25x20.step +MALC25-20MELBCM,MALC,25,20,M,E,LB,CM,MALC-MALC-25x20.step +MALC25-20MEFA,MALC,25,20,M,E,FA,,MALC-MALC-25x20.step +MALC25-20MEFAU,MALC,25,20,M,E,FA,U,MALC-MALC-25x20.step +MALC25-20MEFACM,MALC,25,20,M,E,FA,CM,MALC-MALC-25x20.step +MALC25-20MEFB,MALC,25,20,M,E,FB,,MALC-MALC-25x20.step +MALC25-20MEFBU,MALC,25,20,M,E,FB,U,MALC-MALC-25x20.step +MALC25-20MEFBCM,MALC,25,20,M,E,FB,CM,MALC-MALC-25x20.step +MALC25-20MESDB,MALC,25,20,M,E,SDB,,MALC-MALC-25x20.step +MALC25-20MESDBU,MALC,25,20,M,E,SDB,U,MALC-MALC-25x20.step +MALC25-20MESDBCM,MALC,25,20,M,E,SDB,CM,MALC-MALC-25x20.step +MALC25-20M,MALC,25,20,M,,,,MALC-MALC-25x20.step +MALC25-20MU,MALC,25,20,M,,,U,MALC-MALC-25x20.step +MALC25-20MCM,MALC,25,20,M,,,CM,MALC-MALC-25x20.step +MALC25-20MLB,MALC,25,20,M,,LB,,MALC-MALC-25x20.step +MALC25-20MLBU,MALC,25,20,M,,LB,U,MALC-MALC-25x20.step +MALC25-20MLBCM,MALC,25,20,M,,LB,CM,MALC-MALC-25x20.step +MALC25-20MFA,MALC,25,20,M,,FA,,MALC-MALC-25x20.step +MALC25-20MFAU,MALC,25,20,M,,FA,U,MALC-MALC-25x20.step +MALC25-20MFACM,MALC,25,20,M,,FA,CM,MALC-MALC-25x20.step +MALC25-20MFB,MALC,25,20,M,,FB,,MALC-MALC-25x20.step +MALC25-20MFBU,MALC,25,20,M,,FB,U,MALC-MALC-25x20.step +MALC25-20MFBCM,MALC,25,20,M,,FB,CM,MALC-MALC-25x20.step +MALC25-20MSDB,MALC,25,20,M,,SDB,,MALC-MALC-25x20.step +MALC25-20MSDBU,MALC,25,20,M,,SDB,U,MALC-MALC-25x20.step +MALC25-20MSDBCM,MALC,25,20,M,,SDB,CM,MALC-MALC-25x20.step +MALC25-30E,MALC,25,30,,E,,,MALC-MALC-25x30.step +MALC25-30EU,MALC,25,30,,E,,U,MALC-MALC-25x30.step +MALC25-30ECM,MALC,25,30,,E,,CM,MALC-MALC-25x30.step +MALC25-30ELB,MALC,25,30,,E,LB,,MALC-MALC-25x30.step +MALC25-30ELBU,MALC,25,30,,E,LB,U,MALC-MALC-25x30.step +MALC25-30ELBCM,MALC,25,30,,E,LB,CM,MALC-MALC-25x30.step +MALC25-30EFA,MALC,25,30,,E,FA,,MALC-MALC-25x30.step +MALC25-30EFAU,MALC,25,30,,E,FA,U,MALC-MALC-25x30.step +MALC25-30EFACM,MALC,25,30,,E,FA,CM,MALC-MALC-25x30.step +MALC25-30EFB,MALC,25,30,,E,FB,,MALC-MALC-25x30.step +MALC25-30EFBU,MALC,25,30,,E,FB,U,MALC-MALC-25x30.step +MALC25-30EFBCM,MALC,25,30,,E,FB,CM,MALC-MALC-25x30.step +MALC25-30ESDB,MALC,25,30,,E,SDB,,MALC-MALC-25x30.step +MALC25-30ESDBU,MALC,25,30,,E,SDB,U,MALC-MALC-25x30.step +MALC25-30ESDBCM,MALC,25,30,,E,SDB,CM,MALC-MALC-25x30.step +MALC25-30,MALC,25,30,,,,,MALC-MALC-25x30.step +MALC25-30U,MALC,25,30,,,,U,MALC-MALC-25x30.step +MALC25-30CM,MALC,25,30,,,,CM,MALC-MALC-25x30.step +MALC25-30LB,MALC,25,30,,,LB,,MALC-MALC-25x30.step +MALC25-30LBU,MALC,25,30,,,LB,U,MALC-MALC-25x30.step +MALC25-30LBCM,MALC,25,30,,,LB,CM,MALC-MALC-25x30.step +MALC25-30FA,MALC,25,30,,,FA,,MALC-MALC-25x30.step +MALC25-30FAU,MALC,25,30,,,FA,U,MALC-MALC-25x30.step +MALC25-30FACM,MALC,25,30,,,FA,CM,MALC-MALC-25x30.step +MALC25-30FB,MALC,25,30,,,FB,,MALC-MALC-25x30.step +MALC25-30FBU,MALC,25,30,,,FB,U,MALC-MALC-25x30.step +MALC25-30FBCM,MALC,25,30,,,FB,CM,MALC-MALC-25x30.step +MALC25-30SDB,MALC,25,30,,,SDB,,MALC-MALC-25x30.step +MALC25-30SDBU,MALC,25,30,,,SDB,U,MALC-MALC-25x30.step +MALC25-30SDBCM,MALC,25,30,,,SDB,CM,MALC-MALC-25x30.step +MALC25-30ME,MALC,25,30,M,E,,,MALC-MALC-25x30.step +MALC25-30MEU,MALC,25,30,M,E,,U,MALC-MALC-25x30.step +MALC25-30MECM,MALC,25,30,M,E,,CM,MALC-MALC-25x30.step +MALC25-30MELB,MALC,25,30,M,E,LB,,MALC-MALC-25x30.step +MALC25-30MELBU,MALC,25,30,M,E,LB,U,MALC-MALC-25x30.step +MALC25-30MELBCM,MALC,25,30,M,E,LB,CM,MALC-MALC-25x30.step +MALC25-30MEFA,MALC,25,30,M,E,FA,,MALC-MALC-25x30.step +MALC25-30MEFAU,MALC,25,30,M,E,FA,U,MALC-MALC-25x30.step +MALC25-30MEFACM,MALC,25,30,M,E,FA,CM,MALC-MALC-25x30.step +MALC25-30MEFB,MALC,25,30,M,E,FB,,MALC-MALC-25x30.step +MALC25-30MEFBU,MALC,25,30,M,E,FB,U,MALC-MALC-25x30.step +MALC25-30MEFBCM,MALC,25,30,M,E,FB,CM,MALC-MALC-25x30.step +MALC25-30MESDB,MALC,25,30,M,E,SDB,,MALC-MALC-25x30.step +MALC25-30MESDBU,MALC,25,30,M,E,SDB,U,MALC-MALC-25x30.step +MALC25-30MESDBCM,MALC,25,30,M,E,SDB,CM,MALC-MALC-25x30.step +MALC25-30M,MALC,25,30,M,,,,MALC-MALC-25x30.step +MALC25-30MU,MALC,25,30,M,,,U,MALC-MALC-25x30.step +MALC25-30MCM,MALC,25,30,M,,,CM,MALC-MALC-25x30.step +MALC25-30MLB,MALC,25,30,M,,LB,,MALC-MALC-25x30.step +MALC25-30MLBU,MALC,25,30,M,,LB,U,MALC-MALC-25x30.step +MALC25-30MLBCM,MALC,25,30,M,,LB,CM,MALC-MALC-25x30.step +MALC25-30MFA,MALC,25,30,M,,FA,,MALC-MALC-25x30.step +MALC25-30MFAU,MALC,25,30,M,,FA,U,MALC-MALC-25x30.step +MALC25-30MFACM,MALC,25,30,M,,FA,CM,MALC-MALC-25x30.step +MALC25-30MFB,MALC,25,30,M,,FB,,MALC-MALC-25x30.step +MALC25-30MFBU,MALC,25,30,M,,FB,U,MALC-MALC-25x30.step +MALC25-30MFBCM,MALC,25,30,M,,FB,CM,MALC-MALC-25x30.step +MALC25-30MSDB,MALC,25,30,M,,SDB,,MALC-MALC-25x30.step +MALC25-30MSDBU,MALC,25,30,M,,SDB,U,MALC-MALC-25x30.step +MALC25-30MSDBCM,MALC,25,30,M,,SDB,CM,MALC-MALC-25x30.step +MALC25-50E,MALC,25,50,,E,,,MALC-MALC-25x50.step +MALC25-50EU,MALC,25,50,,E,,U,MALC-MALC-25x50.step +MALC25-50ECM,MALC,25,50,,E,,CM,MALC-MALC-25x50.step +MALC25-50ELB,MALC,25,50,,E,LB,,MALC-MALC-25x50.step +MALC25-50ELBU,MALC,25,50,,E,LB,U,MALC-MALC-25x50.step +MALC25-50ELBCM,MALC,25,50,,E,LB,CM,MALC-MALC-25x50.step +MALC25-50EFA,MALC,25,50,,E,FA,,MALC-MALC-25x50.step +MALC25-50EFAU,MALC,25,50,,E,FA,U,MALC-MALC-25x50.step +MALC25-50EFACM,MALC,25,50,,E,FA,CM,MALC-MALC-25x50.step +MALC25-50EFB,MALC,25,50,,E,FB,,MALC-MALC-25x50.step +MALC25-50EFBU,MALC,25,50,,E,FB,U,MALC-MALC-25x50.step +MALC25-50EFBCM,MALC,25,50,,E,FB,CM,MALC-MALC-25x50.step +MALC25-50ESDB,MALC,25,50,,E,SDB,,MALC-MALC-25x50.step +MALC25-50ESDBU,MALC,25,50,,E,SDB,U,MALC-MALC-25x50.step +MALC25-50ESDBCM,MALC,25,50,,E,SDB,CM,MALC-MALC-25x50.step +MALC25-50,MALC,25,50,,,,,MALC-MALC-25x50.step +MALC25-50U,MALC,25,50,,,,U,MALC-MALC-25x50.step +MALC25-50CM,MALC,25,50,,,,CM,MALC-MALC-25x50.step +MALC25-50LB,MALC,25,50,,,LB,,MALC-MALC-25x50.step +MALC25-50LBU,MALC,25,50,,,LB,U,MALC-MALC-25x50.step +MALC25-50LBCM,MALC,25,50,,,LB,CM,MALC-MALC-25x50.step +MALC25-50FA,MALC,25,50,,,FA,,MALC-MALC-25x50.step +MALC25-50FAU,MALC,25,50,,,FA,U,MALC-MALC-25x50.step +MALC25-50FACM,MALC,25,50,,,FA,CM,MALC-MALC-25x50.step +MALC25-50FB,MALC,25,50,,,FB,,MALC-MALC-25x50.step +MALC25-50FBU,MALC,25,50,,,FB,U,MALC-MALC-25x50.step +MALC25-50FBCM,MALC,25,50,,,FB,CM,MALC-MALC-25x50.step +MALC25-50SDB,MALC,25,50,,,SDB,,MALC-MALC-25x50.step +MALC25-50SDBU,MALC,25,50,,,SDB,U,MALC-MALC-25x50.step +MALC25-50SDBCM,MALC,25,50,,,SDB,CM,MALC-MALC-25x50.step +MALC25-50ME,MALC,25,50,M,E,,,MALC-MALC-25x50.step +MALC25-50MEU,MALC,25,50,M,E,,U,MALC-MALC-25x50.step +MALC25-50MECM,MALC,25,50,M,E,,CM,MALC-MALC-25x50.step +MALC25-50MELB,MALC,25,50,M,E,LB,,MALC-MALC-25x50.step +MALC25-50MELBU,MALC,25,50,M,E,LB,U,MALC-MALC-25x50.step +MALC25-50MELBCM,MALC,25,50,M,E,LB,CM,MALC-MALC-25x50.step +MALC25-50MEFA,MALC,25,50,M,E,FA,,MALC-MALC-25x50.step +MALC25-50MEFAU,MALC,25,50,M,E,FA,U,MALC-MALC-25x50.step +MALC25-50MEFACM,MALC,25,50,M,E,FA,CM,MALC-MALC-25x50.step +MALC25-50MEFB,MALC,25,50,M,E,FB,,MALC-MALC-25x50.step +MALC25-50MEFBU,MALC,25,50,M,E,FB,U,MALC-MALC-25x50.step +MALC25-50MEFBCM,MALC,25,50,M,E,FB,CM,MALC-MALC-25x50.step +MALC25-50MESDB,MALC,25,50,M,E,SDB,,MALC-MALC-25x50.step +MALC25-50MESDBU,MALC,25,50,M,E,SDB,U,MALC-MALC-25x50.step +MALC25-50MESDBCM,MALC,25,50,M,E,SDB,CM,MALC-MALC-25x50.step +MALC25-50M,MALC,25,50,M,,,,MALC-MALC-25x50.step +MALC25-50MU,MALC,25,50,M,,,U,MALC-MALC-25x50.step +MALC25-50MCM,MALC,25,50,M,,,CM,MALC-MALC-25x50.step +MALC25-50MLB,MALC,25,50,M,,LB,,MALC-MALC-25x50.step +MALC25-50MLBU,MALC,25,50,M,,LB,U,MALC-MALC-25x50.step +MALC25-50MLBCM,MALC,25,50,M,,LB,CM,MALC-MALC-25x50.step +MALC25-50MFA,MALC,25,50,M,,FA,,MALC-MALC-25x50.step +MALC25-50MFAU,MALC,25,50,M,,FA,U,MALC-MALC-25x50.step +MALC25-50MFACM,MALC,25,50,M,,FA,CM,MALC-MALC-25x50.step +MALC25-50MFB,MALC,25,50,M,,FB,,MALC-MALC-25x50.step +MALC25-50MFBU,MALC,25,50,M,,FB,U,MALC-MALC-25x50.step +MALC25-50MFBCM,MALC,25,50,M,,FB,CM,MALC-MALC-25x50.step +MALC25-50MSDB,MALC,25,50,M,,SDB,,MALC-MALC-25x50.step +MALC25-50MSDBU,MALC,25,50,M,,SDB,U,MALC-MALC-25x50.step +MALC25-50MSDBCM,MALC,25,50,M,,SDB,CM,MALC-MALC-25x50.step +MALC25-75E,MALC,25,75,,E,,,MALC-MALC-25x75.step +MALC25-75EU,MALC,25,75,,E,,U,MALC-MALC-25x75.step +MALC25-75ECM,MALC,25,75,,E,,CM,MALC-MALC-25x75.step +MALC25-75ELB,MALC,25,75,,E,LB,,MALC-MALC-25x75.step +MALC25-75ELBU,MALC,25,75,,E,LB,U,MALC-MALC-25x75.step +MALC25-75ELBCM,MALC,25,75,,E,LB,CM,MALC-MALC-25x75.step +MALC25-75EFA,MALC,25,75,,E,FA,,MALC-MALC-25x75.step +MALC25-75EFAU,MALC,25,75,,E,FA,U,MALC-MALC-25x75.step +MALC25-75EFACM,MALC,25,75,,E,FA,CM,MALC-MALC-25x75.step +MALC25-75EFB,MALC,25,75,,E,FB,,MALC-MALC-25x75.step +MALC25-75EFBU,MALC,25,75,,E,FB,U,MALC-MALC-25x75.step +MALC25-75EFBCM,MALC,25,75,,E,FB,CM,MALC-MALC-25x75.step +MALC25-75ESDB,MALC,25,75,,E,SDB,,MALC-MALC-25x75.step +MALC25-75ESDBU,MALC,25,75,,E,SDB,U,MALC-MALC-25x75.step +MALC25-75ESDBCM,MALC,25,75,,E,SDB,CM,MALC-MALC-25x75.step +MALC25-75,MALC,25,75,,,,,MALC-MALC-25x75.step +MALC25-75U,MALC,25,75,,,,U,MALC-MALC-25x75.step +MALC25-75CM,MALC,25,75,,,,CM,MALC-MALC-25x75.step +MALC25-75LB,MALC,25,75,,,LB,,MALC-MALC-25x75.step +MALC25-75LBU,MALC,25,75,,,LB,U,MALC-MALC-25x75.step +MALC25-75LBCM,MALC,25,75,,,LB,CM,MALC-MALC-25x75.step +MALC25-75FA,MALC,25,75,,,FA,,MALC-MALC-25x75.step +MALC25-75FAU,MALC,25,75,,,FA,U,MALC-MALC-25x75.step +MALC25-75FACM,MALC,25,75,,,FA,CM,MALC-MALC-25x75.step +MALC25-75FB,MALC,25,75,,,FB,,MALC-MALC-25x75.step +MALC25-75FBU,MALC,25,75,,,FB,U,MALC-MALC-25x75.step +MALC25-75FBCM,MALC,25,75,,,FB,CM,MALC-MALC-25x75.step +MALC25-75SDB,MALC,25,75,,,SDB,,MALC-MALC-25x75.step +MALC25-75SDBU,MALC,25,75,,,SDB,U,MALC-MALC-25x75.step +MALC25-75SDBCM,MALC,25,75,,,SDB,CM,MALC-MALC-25x75.step +MALC25-75ME,MALC,25,75,M,E,,,MALC-MALC-25x75.step +MALC25-75MEU,MALC,25,75,M,E,,U,MALC-MALC-25x75.step +MALC25-75MECM,MALC,25,75,M,E,,CM,MALC-MALC-25x75.step +MALC25-75MELB,MALC,25,75,M,E,LB,,MALC-MALC-25x75.step +MALC25-75MELBU,MALC,25,75,M,E,LB,U,MALC-MALC-25x75.step +MALC25-75MELBCM,MALC,25,75,M,E,LB,CM,MALC-MALC-25x75.step +MALC25-75MEFA,MALC,25,75,M,E,FA,,MALC-MALC-25x75.step +MALC25-75MEFAU,MALC,25,75,M,E,FA,U,MALC-MALC-25x75.step +MALC25-75MEFACM,MALC,25,75,M,E,FA,CM,MALC-MALC-25x75.step +MALC25-75MEFB,MALC,25,75,M,E,FB,,MALC-MALC-25x75.step +MALC25-75MEFBU,MALC,25,75,M,E,FB,U,MALC-MALC-25x75.step +MALC25-75MEFBCM,MALC,25,75,M,E,FB,CM,MALC-MALC-25x75.step +MALC25-75MESDB,MALC,25,75,M,E,SDB,,MALC-MALC-25x75.step +MALC25-75MESDBU,MALC,25,75,M,E,SDB,U,MALC-MALC-25x75.step +MALC25-75MESDBCM,MALC,25,75,M,E,SDB,CM,MALC-MALC-25x75.step +MALC25-75M,MALC,25,75,M,,,,MALC-MALC-25x75.step +MALC25-75MU,MALC,25,75,M,,,U,MALC-MALC-25x75.step +MALC25-75MCM,MALC,25,75,M,,,CM,MALC-MALC-25x75.step +MALC25-75MLB,MALC,25,75,M,,LB,,MALC-MALC-25x75.step +MALC25-75MLBU,MALC,25,75,M,,LB,U,MALC-MALC-25x75.step +MALC25-75MLBCM,MALC,25,75,M,,LB,CM,MALC-MALC-25x75.step +MALC25-75MFA,MALC,25,75,M,,FA,,MALC-MALC-25x75.step +MALC25-75MFAU,MALC,25,75,M,,FA,U,MALC-MALC-25x75.step +MALC25-75MFACM,MALC,25,75,M,,FA,CM,MALC-MALC-25x75.step +MALC25-75MFB,MALC,25,75,M,,FB,,MALC-MALC-25x75.step +MALC25-75MFBU,MALC,25,75,M,,FB,U,MALC-MALC-25x75.step +MALC25-75MFBCM,MALC,25,75,M,,FB,CM,MALC-MALC-25x75.step +MALC25-75MSDB,MALC,25,75,M,,SDB,,MALC-MALC-25x75.step +MALC25-75MSDBU,MALC,25,75,M,,SDB,U,MALC-MALC-25x75.step +MALC25-75MSDBCM,MALC,25,75,M,,SDB,CM,MALC-MALC-25x75.step +MALC25-100E,MALC,25,100,,E,,,MALC-MALC-25x100.step +MALC25-100EU,MALC,25,100,,E,,U,MALC-MALC-25x100.step +MALC25-100ECM,MALC,25,100,,E,,CM,MALC-MALC-25x100.step +MALC25-100ELB,MALC,25,100,,E,LB,,MALC-MALC-25x100.step +MALC25-100ELBU,MALC,25,100,,E,LB,U,MALC-MALC-25x100.step +MALC25-100ELBCM,MALC,25,100,,E,LB,CM,MALC-MALC-25x100.step +MALC25-100EFA,MALC,25,100,,E,FA,,MALC-MALC-25x100.step +MALC25-100EFAU,MALC,25,100,,E,FA,U,MALC-MALC-25x100.step +MALC25-100EFACM,MALC,25,100,,E,FA,CM,MALC-MALC-25x100.step +MALC25-100EFB,MALC,25,100,,E,FB,,MALC-MALC-25x100.step +MALC25-100EFBU,MALC,25,100,,E,FB,U,MALC-MALC-25x100.step +MALC25-100EFBCM,MALC,25,100,,E,FB,CM,MALC-MALC-25x100.step +MALC25-100ESDB,MALC,25,100,,E,SDB,,MALC-MALC-25x100.step +MALC25-100ESDBU,MALC,25,100,,E,SDB,U,MALC-MALC-25x100.step +MALC25-100ESDBCM,MALC,25,100,,E,SDB,CM,MALC-MALC-25x100.step +MALC25-100,MALC,25,100,,,,,MALC-MALC-25x100.step +MALC25-100U,MALC,25,100,,,,U,MALC-MALC-25x100.step +MALC25-100CM,MALC,25,100,,,,CM,MALC-MALC-25x100.step +MALC25-100LB,MALC,25,100,,,LB,,MALC-MALC-25x100.step +MALC25-100LBU,MALC,25,100,,,LB,U,MALC-MALC-25x100.step +MALC25-100LBCM,MALC,25,100,,,LB,CM,MALC-MALC-25x100.step +MALC25-100FA,MALC,25,100,,,FA,,MALC-MALC-25x100.step +MALC25-100FAU,MALC,25,100,,,FA,U,MALC-MALC-25x100.step +MALC25-100FACM,MALC,25,100,,,FA,CM,MALC-MALC-25x100.step +MALC25-100FB,MALC,25,100,,,FB,,MALC-MALC-25x100.step +MALC25-100FBU,MALC,25,100,,,FB,U,MALC-MALC-25x100.step +MALC25-100FBCM,MALC,25,100,,,FB,CM,MALC-MALC-25x100.step +MALC25-100SDB,MALC,25,100,,,SDB,,MALC-MALC-25x100.step +MALC25-100SDBU,MALC,25,100,,,SDB,U,MALC-MALC-25x100.step +MALC25-100SDBCM,MALC,25,100,,,SDB,CM,MALC-MALC-25x100.step +MALC25-100ME,MALC,25,100,M,E,,,MALC-MALC-25x100.step +MALC25-100MEU,MALC,25,100,M,E,,U,MALC-MALC-25x100.step +MALC25-100MECM,MALC,25,100,M,E,,CM,MALC-MALC-25x100.step +MALC25-100MELB,MALC,25,100,M,E,LB,,MALC-MALC-25x100.step +MALC25-100MELBU,MALC,25,100,M,E,LB,U,MALC-MALC-25x100.step +MALC25-100MELBCM,MALC,25,100,M,E,LB,CM,MALC-MALC-25x100.step +MALC25-100MEFA,MALC,25,100,M,E,FA,,MALC-MALC-25x100.step +MALC25-100MEFAU,MALC,25,100,M,E,FA,U,MALC-MALC-25x100.step +MALC25-100MEFACM,MALC,25,100,M,E,FA,CM,MALC-MALC-25x100.step +MALC25-100MEFB,MALC,25,100,M,E,FB,,MALC-MALC-25x100.step +MALC25-100MEFBU,MALC,25,100,M,E,FB,U,MALC-MALC-25x100.step +MALC25-100MEFBCM,MALC,25,100,M,E,FB,CM,MALC-MALC-25x100.step +MALC25-100MESDB,MALC,25,100,M,E,SDB,,MALC-MALC-25x100.step +MALC25-100MESDBU,MALC,25,100,M,E,SDB,U,MALC-MALC-25x100.step +MALC25-100MESDBCM,MALC,25,100,M,E,SDB,CM,MALC-MALC-25x100.step +MALC25-100M,MALC,25,100,M,,,,MALC-MALC-25x100.step +MALC25-100MU,MALC,25,100,M,,,U,MALC-MALC-25x100.step +MALC25-100MCM,MALC,25,100,M,,,CM,MALC-MALC-25x100.step +MALC25-100MLB,MALC,25,100,M,,LB,,MALC-MALC-25x100.step +MALC25-100MLBU,MALC,25,100,M,,LB,U,MALC-MALC-25x100.step +MALC25-100MLBCM,MALC,25,100,M,,LB,CM,MALC-MALC-25x100.step +MALC25-100MFA,MALC,25,100,M,,FA,,MALC-MALC-25x100.step +MALC25-100MFAU,MALC,25,100,M,,FA,U,MALC-MALC-25x100.step +MALC25-100MFACM,MALC,25,100,M,,FA,CM,MALC-MALC-25x100.step +MALC25-100MFB,MALC,25,100,M,,FB,,MALC-MALC-25x100.step +MALC25-100MFBU,MALC,25,100,M,,FB,U,MALC-MALC-25x100.step +MALC25-100MFBCM,MALC,25,100,M,,FB,CM,MALC-MALC-25x100.step +MALC25-100MSDB,MALC,25,100,M,,SDB,,MALC-MALC-25x100.step +MALC25-100MSDBU,MALC,25,100,M,,SDB,U,MALC-MALC-25x100.step +MALC25-100MSDBCM,MALC,25,100,M,,SDB,CM,MALC-MALC-25x100.step +MALC32-10E,MALC,32,10,,E,,,MALC-MALC-32x10.step +MALC32-10EU,MALC,32,10,,E,,U,MALC-MALC-32x10.step +MALC32-10ECM,MALC,32,10,,E,,CM,MALC-MALC-32x10.step +MALC32-10ELB,MALC,32,10,,E,LB,,MALC-MALC-32x10.step +MALC32-10ELBU,MALC,32,10,,E,LB,U,MALC-MALC-32x10.step +MALC32-10ELBCM,MALC,32,10,,E,LB,CM,MALC-MALC-32x10.step +MALC32-10EFA,MALC,32,10,,E,FA,,MALC-MALC-32x10.step +MALC32-10EFAU,MALC,32,10,,E,FA,U,MALC-MALC-32x10.step +MALC32-10EFACM,MALC,32,10,,E,FA,CM,MALC-MALC-32x10.step +MALC32-10EFB,MALC,32,10,,E,FB,,MALC-MALC-32x10.step +MALC32-10EFBU,MALC,32,10,,E,FB,U,MALC-MALC-32x10.step +MALC32-10EFBCM,MALC,32,10,,E,FB,CM,MALC-MALC-32x10.step +MALC32-10ESDB,MALC,32,10,,E,SDB,,MALC-MALC-32x10.step +MALC32-10ESDBU,MALC,32,10,,E,SDB,U,MALC-MALC-32x10.step +MALC32-10ESDBCM,MALC,32,10,,E,SDB,CM,MALC-MALC-32x10.step +MALC32-10,MALC,32,10,,,,,MALC-MALC-32x10.step +MALC32-10U,MALC,32,10,,,,U,MALC-MALC-32x10.step +MALC32-10CM,MALC,32,10,,,,CM,MALC-MALC-32x10.step +MALC32-10LB,MALC,32,10,,,LB,,MALC-MALC-32x10.step +MALC32-10LBU,MALC,32,10,,,LB,U,MALC-MALC-32x10.step +MALC32-10LBCM,MALC,32,10,,,LB,CM,MALC-MALC-32x10.step +MALC32-10FA,MALC,32,10,,,FA,,MALC-MALC-32x10.step +MALC32-10FAU,MALC,32,10,,,FA,U,MALC-MALC-32x10.step +MALC32-10FACM,MALC,32,10,,,FA,CM,MALC-MALC-32x10.step +MALC32-10FB,MALC,32,10,,,FB,,MALC-MALC-32x10.step +MALC32-10FBU,MALC,32,10,,,FB,U,MALC-MALC-32x10.step +MALC32-10FBCM,MALC,32,10,,,FB,CM,MALC-MALC-32x10.step +MALC32-10SDB,MALC,32,10,,,SDB,,MALC-MALC-32x10.step +MALC32-10SDBU,MALC,32,10,,,SDB,U,MALC-MALC-32x10.step +MALC32-10SDBCM,MALC,32,10,,,SDB,CM,MALC-MALC-32x10.step +MALC32-10ME,MALC,32,10,M,E,,,MALC-MALC-32x10.step +MALC32-10MEU,MALC,32,10,M,E,,U,MALC-MALC-32x10.step +MALC32-10MECM,MALC,32,10,M,E,,CM,MALC-MALC-32x10.step +MALC32-10MELB,MALC,32,10,M,E,LB,,MALC-MALC-32x10.step +MALC32-10MELBU,MALC,32,10,M,E,LB,U,MALC-MALC-32x10.step +MALC32-10MELBCM,MALC,32,10,M,E,LB,CM,MALC-MALC-32x10.step +MALC32-10MEFA,MALC,32,10,M,E,FA,,MALC-MALC-32x10.step +MALC32-10MEFAU,MALC,32,10,M,E,FA,U,MALC-MALC-32x10.step +MALC32-10MEFACM,MALC,32,10,M,E,FA,CM,MALC-MALC-32x10.step +MALC32-10MEFB,MALC,32,10,M,E,FB,,MALC-MALC-32x10.step +MALC32-10MEFBU,MALC,32,10,M,E,FB,U,MALC-MALC-32x10.step +MALC32-10MEFBCM,MALC,32,10,M,E,FB,CM,MALC-MALC-32x10.step +MALC32-10MESDB,MALC,32,10,M,E,SDB,,MALC-MALC-32x10.step +MALC32-10MESDBU,MALC,32,10,M,E,SDB,U,MALC-MALC-32x10.step +MALC32-10MESDBCM,MALC,32,10,M,E,SDB,CM,MALC-MALC-32x10.step +MALC32-10M,MALC,32,10,M,,,,MALC-MALC-32x10.step +MALC32-10MU,MALC,32,10,M,,,U,MALC-MALC-32x10.step +MALC32-10MCM,MALC,32,10,M,,,CM,MALC-MALC-32x10.step +MALC32-10MLB,MALC,32,10,M,,LB,,MALC-MALC-32x10.step +MALC32-10MLBU,MALC,32,10,M,,LB,U,MALC-MALC-32x10.step +MALC32-10MLBCM,MALC,32,10,M,,LB,CM,MALC-MALC-32x10.step +MALC32-10MFA,MALC,32,10,M,,FA,,MALC-MALC-32x10.step +MALC32-10MFAU,MALC,32,10,M,,FA,U,MALC-MALC-32x10.step +MALC32-10MFACM,MALC,32,10,M,,FA,CM,MALC-MALC-32x10.step +MALC32-10MFB,MALC,32,10,M,,FB,,MALC-MALC-32x10.step +MALC32-10MFBU,MALC,32,10,M,,FB,U,MALC-MALC-32x10.step +MALC32-10MFBCM,MALC,32,10,M,,FB,CM,MALC-MALC-32x10.step +MALC32-10MSDB,MALC,32,10,M,,SDB,,MALC-MALC-32x10.step +MALC32-10MSDBU,MALC,32,10,M,,SDB,U,MALC-MALC-32x10.step +MALC32-10MSDBCM,MALC,32,10,M,,SDB,CM,MALC-MALC-32x10.step +MALC32-20E,MALC,32,20,,E,,,MALC-MALC-32x20.step +MALC32-20EU,MALC,32,20,,E,,U,MALC-MALC-32x20.step +MALC32-20ECM,MALC,32,20,,E,,CM,MALC-MALC-32x20.step +MALC32-20ELB,MALC,32,20,,E,LB,,MALC-MALC-32x20.step +MALC32-20ELBU,MALC,32,20,,E,LB,U,MALC-MALC-32x20.step +MALC32-20ELBCM,MALC,32,20,,E,LB,CM,MALC-MALC-32x20.step +MALC32-20EFA,MALC,32,20,,E,FA,,MALC-MALC-32x20.step +MALC32-20EFAU,MALC,32,20,,E,FA,U,MALC-MALC-32x20.step +MALC32-20EFACM,MALC,32,20,,E,FA,CM,MALC-MALC-32x20.step +MALC32-20EFB,MALC,32,20,,E,FB,,MALC-MALC-32x20.step +MALC32-20EFBU,MALC,32,20,,E,FB,U,MALC-MALC-32x20.step +MALC32-20EFBCM,MALC,32,20,,E,FB,CM,MALC-MALC-32x20.step +MALC32-20ESDB,MALC,32,20,,E,SDB,,MALC-MALC-32x20.step +MALC32-20ESDBU,MALC,32,20,,E,SDB,U,MALC-MALC-32x20.step +MALC32-20ESDBCM,MALC,32,20,,E,SDB,CM,MALC-MALC-32x20.step +MALC32-20,MALC,32,20,,,,,MALC-MALC-32x20.step +MALC32-20U,MALC,32,20,,,,U,MALC-MALC-32x20.step +MALC32-20CM,MALC,32,20,,,,CM,MALC-MALC-32x20.step +MALC32-20LB,MALC,32,20,,,LB,,MALC-MALC-32x20.step +MALC32-20LBU,MALC,32,20,,,LB,U,MALC-MALC-32x20.step +MALC32-20LBCM,MALC,32,20,,,LB,CM,MALC-MALC-32x20.step +MALC32-20FA,MALC,32,20,,,FA,,MALC-MALC-32x20.step +MALC32-20FAU,MALC,32,20,,,FA,U,MALC-MALC-32x20.step +MALC32-20FACM,MALC,32,20,,,FA,CM,MALC-MALC-32x20.step +MALC32-20FB,MALC,32,20,,,FB,,MALC-MALC-32x20.step +MALC32-20FBU,MALC,32,20,,,FB,U,MALC-MALC-32x20.step +MALC32-20FBCM,MALC,32,20,,,FB,CM,MALC-MALC-32x20.step +MALC32-20SDB,MALC,32,20,,,SDB,,MALC-MALC-32x20.step +MALC32-20SDBU,MALC,32,20,,,SDB,U,MALC-MALC-32x20.step +MALC32-20SDBCM,MALC,32,20,,,SDB,CM,MALC-MALC-32x20.step +MALC32-20ME,MALC,32,20,M,E,,,MALC-MALC-32x20.step +MALC32-20MEU,MALC,32,20,M,E,,U,MALC-MALC-32x20.step +MALC32-20MECM,MALC,32,20,M,E,,CM,MALC-MALC-32x20.step +MALC32-20MELB,MALC,32,20,M,E,LB,,MALC-MALC-32x20.step +MALC32-20MELBU,MALC,32,20,M,E,LB,U,MALC-MALC-32x20.step +MALC32-20MELBCM,MALC,32,20,M,E,LB,CM,MALC-MALC-32x20.step +MALC32-20MEFA,MALC,32,20,M,E,FA,,MALC-MALC-32x20.step +MALC32-20MEFAU,MALC,32,20,M,E,FA,U,MALC-MALC-32x20.step +MALC32-20MEFACM,MALC,32,20,M,E,FA,CM,MALC-MALC-32x20.step +MALC32-20MEFB,MALC,32,20,M,E,FB,,MALC-MALC-32x20.step +MALC32-20MEFBU,MALC,32,20,M,E,FB,U,MALC-MALC-32x20.step +MALC32-20MEFBCM,MALC,32,20,M,E,FB,CM,MALC-MALC-32x20.step +MALC32-20MESDB,MALC,32,20,M,E,SDB,,MALC-MALC-32x20.step +MALC32-20MESDBU,MALC,32,20,M,E,SDB,U,MALC-MALC-32x20.step +MALC32-20MESDBCM,MALC,32,20,M,E,SDB,CM,MALC-MALC-32x20.step +MALC32-20M,MALC,32,20,M,,,,MALC-MALC-32x20.step +MALC32-20MU,MALC,32,20,M,,,U,MALC-MALC-32x20.step +MALC32-20MCM,MALC,32,20,M,,,CM,MALC-MALC-32x20.step +MALC32-20MLB,MALC,32,20,M,,LB,,MALC-MALC-32x20.step +MALC32-20MLBU,MALC,32,20,M,,LB,U,MALC-MALC-32x20.step +MALC32-20MLBCM,MALC,32,20,M,,LB,CM,MALC-MALC-32x20.step +MALC32-20MFA,MALC,32,20,M,,FA,,MALC-MALC-32x20.step +MALC32-20MFAU,MALC,32,20,M,,FA,U,MALC-MALC-32x20.step +MALC32-20MFACM,MALC,32,20,M,,FA,CM,MALC-MALC-32x20.step +MALC32-20MFB,MALC,32,20,M,,FB,,MALC-MALC-32x20.step +MALC32-20MFBU,MALC,32,20,M,,FB,U,MALC-MALC-32x20.step +MALC32-20MFBCM,MALC,32,20,M,,FB,CM,MALC-MALC-32x20.step +MALC32-20MSDB,MALC,32,20,M,,SDB,,MALC-MALC-32x20.step +MALC32-20MSDBU,MALC,32,20,M,,SDB,U,MALC-MALC-32x20.step +MALC32-20MSDBCM,MALC,32,20,M,,SDB,CM,MALC-MALC-32x20.step +MALC32-30E,MALC,32,30,,E,,,MALC-MALC-32x30.step +MALC32-30EU,MALC,32,30,,E,,U,MALC-MALC-32x30.step +MALC32-30ECM,MALC,32,30,,E,,CM,MALC-MALC-32x30.step +MALC32-30ELB,MALC,32,30,,E,LB,,MALC-MALC-32x30.step +MALC32-30ELBU,MALC,32,30,,E,LB,U,MALC-MALC-32x30.step +MALC32-30ELBCM,MALC,32,30,,E,LB,CM,MALC-MALC-32x30.step +MALC32-30EFA,MALC,32,30,,E,FA,,MALC-MALC-32x30.step +MALC32-30EFAU,MALC,32,30,,E,FA,U,MALC-MALC-32x30.step +MALC32-30EFACM,MALC,32,30,,E,FA,CM,MALC-MALC-32x30.step +MALC32-30EFB,MALC,32,30,,E,FB,,MALC-MALC-32x30.step +MALC32-30EFBU,MALC,32,30,,E,FB,U,MALC-MALC-32x30.step +MALC32-30EFBCM,MALC,32,30,,E,FB,CM,MALC-MALC-32x30.step +MALC32-30ESDB,MALC,32,30,,E,SDB,,MALC-MALC-32x30.step +MALC32-30ESDBU,MALC,32,30,,E,SDB,U,MALC-MALC-32x30.step +MALC32-30ESDBCM,MALC,32,30,,E,SDB,CM,MALC-MALC-32x30.step +MALC32-30,MALC,32,30,,,,,MALC-MALC-32x30.step +MALC32-30U,MALC,32,30,,,,U,MALC-MALC-32x30.step +MALC32-30CM,MALC,32,30,,,,CM,MALC-MALC-32x30.step +MALC32-30LB,MALC,32,30,,,LB,,MALC-MALC-32x30.step +MALC32-30LBU,MALC,32,30,,,LB,U,MALC-MALC-32x30.step +MALC32-30LBCM,MALC,32,30,,,LB,CM,MALC-MALC-32x30.step +MALC32-30FA,MALC,32,30,,,FA,,MALC-MALC-32x30.step +MALC32-30FAU,MALC,32,30,,,FA,U,MALC-MALC-32x30.step +MALC32-30FACM,MALC,32,30,,,FA,CM,MALC-MALC-32x30.step +MALC32-30FB,MALC,32,30,,,FB,,MALC-MALC-32x30.step +MALC32-30FBU,MALC,32,30,,,FB,U,MALC-MALC-32x30.step +MALC32-30FBCM,MALC,32,30,,,FB,CM,MALC-MALC-32x30.step +MALC32-30SDB,MALC,32,30,,,SDB,,MALC-MALC-32x30.step +MALC32-30SDBU,MALC,32,30,,,SDB,U,MALC-MALC-32x30.step +MALC32-30SDBCM,MALC,32,30,,,SDB,CM,MALC-MALC-32x30.step +MALC32-30ME,MALC,32,30,M,E,,,MALC-MALC-32x30.step +MALC32-30MEU,MALC,32,30,M,E,,U,MALC-MALC-32x30.step +MALC32-30MECM,MALC,32,30,M,E,,CM,MALC-MALC-32x30.step +MALC32-30MELB,MALC,32,30,M,E,LB,,MALC-MALC-32x30.step +MALC32-30MELBU,MALC,32,30,M,E,LB,U,MALC-MALC-32x30.step +MALC32-30MELBCM,MALC,32,30,M,E,LB,CM,MALC-MALC-32x30.step +MALC32-30MEFA,MALC,32,30,M,E,FA,,MALC-MALC-32x30.step +MALC32-30MEFAU,MALC,32,30,M,E,FA,U,MALC-MALC-32x30.step +MALC32-30MEFACM,MALC,32,30,M,E,FA,CM,MALC-MALC-32x30.step +MALC32-30MEFB,MALC,32,30,M,E,FB,,MALC-MALC-32x30.step +MALC32-30MEFBU,MALC,32,30,M,E,FB,U,MALC-MALC-32x30.step +MALC32-30MEFBCM,MALC,32,30,M,E,FB,CM,MALC-MALC-32x30.step +MALC32-30MESDB,MALC,32,30,M,E,SDB,,MALC-MALC-32x30.step +MALC32-30MESDBU,MALC,32,30,M,E,SDB,U,MALC-MALC-32x30.step +MALC32-30MESDBCM,MALC,32,30,M,E,SDB,CM,MALC-MALC-32x30.step +MALC32-30M,MALC,32,30,M,,,,MALC-MALC-32x30.step +MALC32-30MU,MALC,32,30,M,,,U,MALC-MALC-32x30.step +MALC32-30MCM,MALC,32,30,M,,,CM,MALC-MALC-32x30.step +MALC32-30MLB,MALC,32,30,M,,LB,,MALC-MALC-32x30.step +MALC32-30MLBU,MALC,32,30,M,,LB,U,MALC-MALC-32x30.step +MALC32-30MLBCM,MALC,32,30,M,,LB,CM,MALC-MALC-32x30.step +MALC32-30MFA,MALC,32,30,M,,FA,,MALC-MALC-32x30.step +MALC32-30MFAU,MALC,32,30,M,,FA,U,MALC-MALC-32x30.step +MALC32-30MFACM,MALC,32,30,M,,FA,CM,MALC-MALC-32x30.step +MALC32-30MFB,MALC,32,30,M,,FB,,MALC-MALC-32x30.step +MALC32-30MFBU,MALC,32,30,M,,FB,U,MALC-MALC-32x30.step +MALC32-30MFBCM,MALC,32,30,M,,FB,CM,MALC-MALC-32x30.step +MALC32-30MSDB,MALC,32,30,M,,SDB,,MALC-MALC-32x30.step +MALC32-30MSDBU,MALC,32,30,M,,SDB,U,MALC-MALC-32x30.step +MALC32-30MSDBCM,MALC,32,30,M,,SDB,CM,MALC-MALC-32x30.step +MALC32-50E,MALC,32,50,,E,,,MALC-MALC-32x50.step +MALC32-50EU,MALC,32,50,,E,,U,MALC-MALC-32x50.step +MALC32-50ECM,MALC,32,50,,E,,CM,MALC-MALC-32x50.step +MALC32-50ELB,MALC,32,50,,E,LB,,MALC-MALC-32x50.step +MALC32-50ELBU,MALC,32,50,,E,LB,U,MALC-MALC-32x50.step +MALC32-50ELBCM,MALC,32,50,,E,LB,CM,MALC-MALC-32x50.step +MALC32-50EFA,MALC,32,50,,E,FA,,MALC-MALC-32x50.step +MALC32-50EFAU,MALC,32,50,,E,FA,U,MALC-MALC-32x50.step +MALC32-50EFACM,MALC,32,50,,E,FA,CM,MALC-MALC-32x50.step +MALC32-50EFB,MALC,32,50,,E,FB,,MALC-MALC-32x50.step +MALC32-50EFBU,MALC,32,50,,E,FB,U,MALC-MALC-32x50.step +MALC32-50EFBCM,MALC,32,50,,E,FB,CM,MALC-MALC-32x50.step +MALC32-50ESDB,MALC,32,50,,E,SDB,,MALC-MALC-32x50.step +MALC32-50ESDBU,MALC,32,50,,E,SDB,U,MALC-MALC-32x50.step +MALC32-50ESDBCM,MALC,32,50,,E,SDB,CM,MALC-MALC-32x50.step +MALC32-50,MALC,32,50,,,,,MALC-MALC-32x50.step +MALC32-50U,MALC,32,50,,,,U,MALC-MALC-32x50.step +MALC32-50CM,MALC,32,50,,,,CM,MALC-MALC-32x50.step +MALC32-50LB,MALC,32,50,,,LB,,MALC-MALC-32x50.step +MALC32-50LBU,MALC,32,50,,,LB,U,MALC-MALC-32x50.step +MALC32-50LBCM,MALC,32,50,,,LB,CM,MALC-MALC-32x50.step +MALC32-50FA,MALC,32,50,,,FA,,MALC-MALC-32x50.step +MALC32-50FAU,MALC,32,50,,,FA,U,MALC-MALC-32x50.step +MALC32-50FACM,MALC,32,50,,,FA,CM,MALC-MALC-32x50.step +MALC32-50FB,MALC,32,50,,,FB,,MALC-MALC-32x50.step +MALC32-50FBU,MALC,32,50,,,FB,U,MALC-MALC-32x50.step +MALC32-50FBCM,MALC,32,50,,,FB,CM,MALC-MALC-32x50.step +MALC32-50SDB,MALC,32,50,,,SDB,,MALC-MALC-32x50.step +MALC32-50SDBU,MALC,32,50,,,SDB,U,MALC-MALC-32x50.step +MALC32-50SDBCM,MALC,32,50,,,SDB,CM,MALC-MALC-32x50.step +MALC32-50ME,MALC,32,50,M,E,,,MALC-MALC-32x50.step +MALC32-50MEU,MALC,32,50,M,E,,U,MALC-MALC-32x50.step +MALC32-50MECM,MALC,32,50,M,E,,CM,MALC-MALC-32x50.step +MALC32-50MELB,MALC,32,50,M,E,LB,,MALC-MALC-32x50.step +MALC32-50MELBU,MALC,32,50,M,E,LB,U,MALC-MALC-32x50.step +MALC32-50MELBCM,MALC,32,50,M,E,LB,CM,MALC-MALC-32x50.step +MALC32-50MEFA,MALC,32,50,M,E,FA,,MALC-MALC-32x50.step +MALC32-50MEFAU,MALC,32,50,M,E,FA,U,MALC-MALC-32x50.step +MALC32-50MEFACM,MALC,32,50,M,E,FA,CM,MALC-MALC-32x50.step +MALC32-50MEFB,MALC,32,50,M,E,FB,,MALC-MALC-32x50.step +MALC32-50MEFBU,MALC,32,50,M,E,FB,U,MALC-MALC-32x50.step +MALC32-50MEFBCM,MALC,32,50,M,E,FB,CM,MALC-MALC-32x50.step +MALC32-50MESDB,MALC,32,50,M,E,SDB,,MALC-MALC-32x50.step +MALC32-50MESDBU,MALC,32,50,M,E,SDB,U,MALC-MALC-32x50.step +MALC32-50MESDBCM,MALC,32,50,M,E,SDB,CM,MALC-MALC-32x50.step +MALC32-50M,MALC,32,50,M,,,,MALC-MALC-32x50.step +MALC32-50MU,MALC,32,50,M,,,U,MALC-MALC-32x50.step +MALC32-50MCM,MALC,32,50,M,,,CM,MALC-MALC-32x50.step +MALC32-50MLB,MALC,32,50,M,,LB,,MALC-MALC-32x50.step +MALC32-50MLBU,MALC,32,50,M,,LB,U,MALC-MALC-32x50.step +MALC32-50MLBCM,MALC,32,50,M,,LB,CM,MALC-MALC-32x50.step +MALC32-50MFA,MALC,32,50,M,,FA,,MALC-MALC-32x50.step +MALC32-50MFAU,MALC,32,50,M,,FA,U,MALC-MALC-32x50.step +MALC32-50MFACM,MALC,32,50,M,,FA,CM,MALC-MALC-32x50.step +MALC32-50MFB,MALC,32,50,M,,FB,,MALC-MALC-32x50.step +MALC32-50MFBU,MALC,32,50,M,,FB,U,MALC-MALC-32x50.step +MALC32-50MFBCM,MALC,32,50,M,,FB,CM,MALC-MALC-32x50.step +MALC32-50MSDB,MALC,32,50,M,,SDB,,MALC-MALC-32x50.step +MALC32-50MSDBU,MALC,32,50,M,,SDB,U,MALC-MALC-32x50.step +MALC32-50MSDBCM,MALC,32,50,M,,SDB,CM,MALC-MALC-32x50.step +MALC32-75E,MALC,32,75,,E,,,MALC-MALC-32x75.step +MALC32-75EU,MALC,32,75,,E,,U,MALC-MALC-32x75.step +MALC32-75ECM,MALC,32,75,,E,,CM,MALC-MALC-32x75.step +MALC32-75ELB,MALC,32,75,,E,LB,,MALC-MALC-32x75.step +MALC32-75ELBU,MALC,32,75,,E,LB,U,MALC-MALC-32x75.step +MALC32-75ELBCM,MALC,32,75,,E,LB,CM,MALC-MALC-32x75.step +MALC32-75EFA,MALC,32,75,,E,FA,,MALC-MALC-32x75.step +MALC32-75EFAU,MALC,32,75,,E,FA,U,MALC-MALC-32x75.step +MALC32-75EFACM,MALC,32,75,,E,FA,CM,MALC-MALC-32x75.step +MALC32-75EFB,MALC,32,75,,E,FB,,MALC-MALC-32x75.step +MALC32-75EFBU,MALC,32,75,,E,FB,U,MALC-MALC-32x75.step +MALC32-75EFBCM,MALC,32,75,,E,FB,CM,MALC-MALC-32x75.step +MALC32-75ESDB,MALC,32,75,,E,SDB,,MALC-MALC-32x75.step +MALC32-75ESDBU,MALC,32,75,,E,SDB,U,MALC-MALC-32x75.step +MALC32-75ESDBCM,MALC,32,75,,E,SDB,CM,MALC-MALC-32x75.step +MALC32-75,MALC,32,75,,,,,MALC-MALC-32x75.step +MALC32-75U,MALC,32,75,,,,U,MALC-MALC-32x75.step +MALC32-75CM,MALC,32,75,,,,CM,MALC-MALC-32x75.step +MALC32-75LB,MALC,32,75,,,LB,,MALC-MALC-32x75.step +MALC32-75LBU,MALC,32,75,,,LB,U,MALC-MALC-32x75.step +MALC32-75LBCM,MALC,32,75,,,LB,CM,MALC-MALC-32x75.step +MALC32-75FA,MALC,32,75,,,FA,,MALC-MALC-32x75.step +MALC32-75FAU,MALC,32,75,,,FA,U,MALC-MALC-32x75.step +MALC32-75FACM,MALC,32,75,,,FA,CM,MALC-MALC-32x75.step +MALC32-75FB,MALC,32,75,,,FB,,MALC-MALC-32x75.step +MALC32-75FBU,MALC,32,75,,,FB,U,MALC-MALC-32x75.step +MALC32-75FBCM,MALC,32,75,,,FB,CM,MALC-MALC-32x75.step +MALC32-75SDB,MALC,32,75,,,SDB,,MALC-MALC-32x75.step +MALC32-75SDBU,MALC,32,75,,,SDB,U,MALC-MALC-32x75.step +MALC32-75SDBCM,MALC,32,75,,,SDB,CM,MALC-MALC-32x75.step +MALC32-75ME,MALC,32,75,M,E,,,MALC-MALC-32x75.step +MALC32-75MEU,MALC,32,75,M,E,,U,MALC-MALC-32x75.step +MALC32-75MECM,MALC,32,75,M,E,,CM,MALC-MALC-32x75.step +MALC32-75MELB,MALC,32,75,M,E,LB,,MALC-MALC-32x75.step +MALC32-75MELBU,MALC,32,75,M,E,LB,U,MALC-MALC-32x75.step +MALC32-75MELBCM,MALC,32,75,M,E,LB,CM,MALC-MALC-32x75.step +MALC32-75MEFA,MALC,32,75,M,E,FA,,MALC-MALC-32x75.step +MALC32-75MEFAU,MALC,32,75,M,E,FA,U,MALC-MALC-32x75.step +MALC32-75MEFACM,MALC,32,75,M,E,FA,CM,MALC-MALC-32x75.step +MALC32-75MEFB,MALC,32,75,M,E,FB,,MALC-MALC-32x75.step +MALC32-75MEFBU,MALC,32,75,M,E,FB,U,MALC-MALC-32x75.step +MALC32-75MEFBCM,MALC,32,75,M,E,FB,CM,MALC-MALC-32x75.step +MALC32-75MESDB,MALC,32,75,M,E,SDB,,MALC-MALC-32x75.step +MALC32-75MESDBU,MALC,32,75,M,E,SDB,U,MALC-MALC-32x75.step +MALC32-75MESDBCM,MALC,32,75,M,E,SDB,CM,MALC-MALC-32x75.step +MALC32-75M,MALC,32,75,M,,,,MALC-MALC-32x75.step +MALC32-75MU,MALC,32,75,M,,,U,MALC-MALC-32x75.step +MALC32-75MCM,MALC,32,75,M,,,CM,MALC-MALC-32x75.step +MALC32-75MLB,MALC,32,75,M,,LB,,MALC-MALC-32x75.step +MALC32-75MLBU,MALC,32,75,M,,LB,U,MALC-MALC-32x75.step +MALC32-75MLBCM,MALC,32,75,M,,LB,CM,MALC-MALC-32x75.step +MALC32-75MFA,MALC,32,75,M,,FA,,MALC-MALC-32x75.step +MALC32-75MFAU,MALC,32,75,M,,FA,U,MALC-MALC-32x75.step +MALC32-75MFACM,MALC,32,75,M,,FA,CM,MALC-MALC-32x75.step +MALC32-75MFB,MALC,32,75,M,,FB,,MALC-MALC-32x75.step +MALC32-75MFBU,MALC,32,75,M,,FB,U,MALC-MALC-32x75.step +MALC32-75MFBCM,MALC,32,75,M,,FB,CM,MALC-MALC-32x75.step +MALC32-75MSDB,MALC,32,75,M,,SDB,,MALC-MALC-32x75.step +MALC32-75MSDBU,MALC,32,75,M,,SDB,U,MALC-MALC-32x75.step +MALC32-75MSDBCM,MALC,32,75,M,,SDB,CM,MALC-MALC-32x75.step +MALC32-100E,MALC,32,100,,E,,,MALC-MALC-32x100.step +MALC32-100EU,MALC,32,100,,E,,U,MALC-MALC-32x100.step +MALC32-100ECM,MALC,32,100,,E,,CM,MALC-MALC-32x100.step +MALC32-100ELB,MALC,32,100,,E,LB,,MALC-MALC-32x100.step +MALC32-100ELBU,MALC,32,100,,E,LB,U,MALC-MALC-32x100.step +MALC32-100ELBCM,MALC,32,100,,E,LB,CM,MALC-MALC-32x100.step +MALC32-100EFA,MALC,32,100,,E,FA,,MALC-MALC-32x100.step +MALC32-100EFAU,MALC,32,100,,E,FA,U,MALC-MALC-32x100.step +MALC32-100EFACM,MALC,32,100,,E,FA,CM,MALC-MALC-32x100.step +MALC32-100EFB,MALC,32,100,,E,FB,,MALC-MALC-32x100.step +MALC32-100EFBU,MALC,32,100,,E,FB,U,MALC-MALC-32x100.step +MALC32-100EFBCM,MALC,32,100,,E,FB,CM,MALC-MALC-32x100.step +MALC32-100ESDB,MALC,32,100,,E,SDB,,MALC-MALC-32x100.step +MALC32-100ESDBU,MALC,32,100,,E,SDB,U,MALC-MALC-32x100.step +MALC32-100ESDBCM,MALC,32,100,,E,SDB,CM,MALC-MALC-32x100.step +MALC32-100,MALC,32,100,,,,,MALC-MALC-32x100.step +MALC32-100U,MALC,32,100,,,,U,MALC-MALC-32x100.step +MALC32-100CM,MALC,32,100,,,,CM,MALC-MALC-32x100.step +MALC32-100LB,MALC,32,100,,,LB,,MALC-MALC-32x100.step +MALC32-100LBU,MALC,32,100,,,LB,U,MALC-MALC-32x100.step +MALC32-100LBCM,MALC,32,100,,,LB,CM,MALC-MALC-32x100.step +MALC32-100FA,MALC,32,100,,,FA,,MALC-MALC-32x100.step +MALC32-100FAU,MALC,32,100,,,FA,U,MALC-MALC-32x100.step +MALC32-100FACM,MALC,32,100,,,FA,CM,MALC-MALC-32x100.step +MALC32-100FB,MALC,32,100,,,FB,,MALC-MALC-32x100.step +MALC32-100FBU,MALC,32,100,,,FB,U,MALC-MALC-32x100.step +MALC32-100FBCM,MALC,32,100,,,FB,CM,MALC-MALC-32x100.step +MALC32-100SDB,MALC,32,100,,,SDB,,MALC-MALC-32x100.step +MALC32-100SDBU,MALC,32,100,,,SDB,U,MALC-MALC-32x100.step +MALC32-100SDBCM,MALC,32,100,,,SDB,CM,MALC-MALC-32x100.step +MALC32-100ME,MALC,32,100,M,E,,,MALC-MALC-32x100.step +MALC32-100MEU,MALC,32,100,M,E,,U,MALC-MALC-32x100.step +MALC32-100MECM,MALC,32,100,M,E,,CM,MALC-MALC-32x100.step +MALC32-100MELB,MALC,32,100,M,E,LB,,MALC-MALC-32x100.step +MALC32-100MELBU,MALC,32,100,M,E,LB,U,MALC-MALC-32x100.step +MALC32-100MELBCM,MALC,32,100,M,E,LB,CM,MALC-MALC-32x100.step +MALC32-100MEFA,MALC,32,100,M,E,FA,,MALC-MALC-32x100.step +MALC32-100MEFAU,MALC,32,100,M,E,FA,U,MALC-MALC-32x100.step +MALC32-100MEFACM,MALC,32,100,M,E,FA,CM,MALC-MALC-32x100.step +MALC32-100MEFB,MALC,32,100,M,E,FB,,MALC-MALC-32x100.step +MALC32-100MEFBU,MALC,32,100,M,E,FB,U,MALC-MALC-32x100.step +MALC32-100MEFBCM,MALC,32,100,M,E,FB,CM,MALC-MALC-32x100.step +MALC32-100MESDB,MALC,32,100,M,E,SDB,,MALC-MALC-32x100.step +MALC32-100MESDBU,MALC,32,100,M,E,SDB,U,MALC-MALC-32x100.step +MALC32-100MESDBCM,MALC,32,100,M,E,SDB,CM,MALC-MALC-32x100.step +MALC32-100M,MALC,32,100,M,,,,MALC-MALC-32x100.step +MALC32-100MU,MALC,32,100,M,,,U,MALC-MALC-32x100.step +MALC32-100MCM,MALC,32,100,M,,,CM,MALC-MALC-32x100.step +MALC32-100MLB,MALC,32,100,M,,LB,,MALC-MALC-32x100.step +MALC32-100MLBU,MALC,32,100,M,,LB,U,MALC-MALC-32x100.step +MALC32-100MLBCM,MALC,32,100,M,,LB,CM,MALC-MALC-32x100.step +MALC32-100MFA,MALC,32,100,M,,FA,,MALC-MALC-32x100.step +MALC32-100MFAU,MALC,32,100,M,,FA,U,MALC-MALC-32x100.step +MALC32-100MFACM,MALC,32,100,M,,FA,CM,MALC-MALC-32x100.step +MALC32-100MFB,MALC,32,100,M,,FB,,MALC-MALC-32x100.step +MALC32-100MFBU,MALC,32,100,M,,FB,U,MALC-MALC-32x100.step +MALC32-100MFBCM,MALC,32,100,M,,FB,CM,MALC-MALC-32x100.step +MALC32-100MSDB,MALC,32,100,M,,SDB,,MALC-MALC-32x100.step +MALC32-100MSDBU,MALC,32,100,M,,SDB,U,MALC-MALC-32x100.step +MALC32-100MSDBCM,MALC,32,100,M,,SDB,CM,MALC-MALC-32x100.step +MALC40-10E,MALC,40,10,,E,,,MALC-MALC-40x10.step +MALC40-10EU,MALC,40,10,,E,,U,MALC-MALC-40x10.step +MALC40-10ECM,MALC,40,10,,E,,CM,MALC-MALC-40x10.step +MALC40-10ELB,MALC,40,10,,E,LB,,MALC-MALC-40x10.step +MALC40-10ELBU,MALC,40,10,,E,LB,U,MALC-MALC-40x10.step +MALC40-10ELBCM,MALC,40,10,,E,LB,CM,MALC-MALC-40x10.step +MALC40-10EFA,MALC,40,10,,E,FA,,MALC-MALC-40x10.step +MALC40-10EFAU,MALC,40,10,,E,FA,U,MALC-MALC-40x10.step +MALC40-10EFACM,MALC,40,10,,E,FA,CM,MALC-MALC-40x10.step +MALC40-10EFB,MALC,40,10,,E,FB,,MALC-MALC-40x10.step +MALC40-10EFBU,MALC,40,10,,E,FB,U,MALC-MALC-40x10.step +MALC40-10EFBCM,MALC,40,10,,E,FB,CM,MALC-MALC-40x10.step +MALC40-10ESDB,MALC,40,10,,E,SDB,,MALC-MALC-40x10.step +MALC40-10ESDBU,MALC,40,10,,E,SDB,U,MALC-MALC-40x10.step +MALC40-10ESDBCM,MALC,40,10,,E,SDB,CM,MALC-MALC-40x10.step +MALC40-10,MALC,40,10,,,,,MALC-MALC-40x10.step +MALC40-10U,MALC,40,10,,,,U,MALC-MALC-40x10.step +MALC40-10CM,MALC,40,10,,,,CM,MALC-MALC-40x10.step +MALC40-10LB,MALC,40,10,,,LB,,MALC-MALC-40x10.step +MALC40-10LBU,MALC,40,10,,,LB,U,MALC-MALC-40x10.step +MALC40-10LBCM,MALC,40,10,,,LB,CM,MALC-MALC-40x10.step +MALC40-10FA,MALC,40,10,,,FA,,MALC-MALC-40x10.step +MALC40-10FAU,MALC,40,10,,,FA,U,MALC-MALC-40x10.step +MALC40-10FACM,MALC,40,10,,,FA,CM,MALC-MALC-40x10.step +MALC40-10FB,MALC,40,10,,,FB,,MALC-MALC-40x10.step +MALC40-10FBU,MALC,40,10,,,FB,U,MALC-MALC-40x10.step +MALC40-10FBCM,MALC,40,10,,,FB,CM,MALC-MALC-40x10.step +MALC40-10SDB,MALC,40,10,,,SDB,,MALC-MALC-40x10.step +MALC40-10SDBU,MALC,40,10,,,SDB,U,MALC-MALC-40x10.step +MALC40-10SDBCM,MALC,40,10,,,SDB,CM,MALC-MALC-40x10.step +MALC40-10ME,MALC,40,10,M,E,,,MALC-MALC-40x10.step +MALC40-10MEU,MALC,40,10,M,E,,U,MALC-MALC-40x10.step +MALC40-10MECM,MALC,40,10,M,E,,CM,MALC-MALC-40x10.step +MALC40-10MELB,MALC,40,10,M,E,LB,,MALC-MALC-40x10.step +MALC40-10MELBU,MALC,40,10,M,E,LB,U,MALC-MALC-40x10.step +MALC40-10MELBCM,MALC,40,10,M,E,LB,CM,MALC-MALC-40x10.step +MALC40-10MEFA,MALC,40,10,M,E,FA,,MALC-MALC-40x10.step +MALC40-10MEFAU,MALC,40,10,M,E,FA,U,MALC-MALC-40x10.step +MALC40-10MEFACM,MALC,40,10,M,E,FA,CM,MALC-MALC-40x10.step +MALC40-10MEFB,MALC,40,10,M,E,FB,,MALC-MALC-40x10.step +MALC40-10MEFBU,MALC,40,10,M,E,FB,U,MALC-MALC-40x10.step +MALC40-10MEFBCM,MALC,40,10,M,E,FB,CM,MALC-MALC-40x10.step +MALC40-10MESDB,MALC,40,10,M,E,SDB,,MALC-MALC-40x10.step +MALC40-10MESDBU,MALC,40,10,M,E,SDB,U,MALC-MALC-40x10.step +MALC40-10MESDBCM,MALC,40,10,M,E,SDB,CM,MALC-MALC-40x10.step +MALC40-10M,MALC,40,10,M,,,,MALC-MALC-40x10.step +MALC40-10MU,MALC,40,10,M,,,U,MALC-MALC-40x10.step +MALC40-10MCM,MALC,40,10,M,,,CM,MALC-MALC-40x10.step +MALC40-10MLB,MALC,40,10,M,,LB,,MALC-MALC-40x10.step +MALC40-10MLBU,MALC,40,10,M,,LB,U,MALC-MALC-40x10.step +MALC40-10MLBCM,MALC,40,10,M,,LB,CM,MALC-MALC-40x10.step +MALC40-10MFA,MALC,40,10,M,,FA,,MALC-MALC-40x10.step +MALC40-10MFAU,MALC,40,10,M,,FA,U,MALC-MALC-40x10.step +MALC40-10MFACM,MALC,40,10,M,,FA,CM,MALC-MALC-40x10.step +MALC40-10MFB,MALC,40,10,M,,FB,,MALC-MALC-40x10.step +MALC40-10MFBU,MALC,40,10,M,,FB,U,MALC-MALC-40x10.step +MALC40-10MFBCM,MALC,40,10,M,,FB,CM,MALC-MALC-40x10.step +MALC40-10MSDB,MALC,40,10,M,,SDB,,MALC-MALC-40x10.step +MALC40-10MSDBU,MALC,40,10,M,,SDB,U,MALC-MALC-40x10.step +MALC40-10MSDBCM,MALC,40,10,M,,SDB,CM,MALC-MALC-40x10.step +MALC40-20E,MALC,40,20,,E,,,MALC-MALC-40x20.step +MALC40-20EU,MALC,40,20,,E,,U,MALC-MALC-40x20.step +MALC40-20ECM,MALC,40,20,,E,,CM,MALC-MALC-40x20.step +MALC40-20ELB,MALC,40,20,,E,LB,,MALC-MALC-40x20.step +MALC40-20ELBU,MALC,40,20,,E,LB,U,MALC-MALC-40x20.step +MALC40-20ELBCM,MALC,40,20,,E,LB,CM,MALC-MALC-40x20.step +MALC40-20EFA,MALC,40,20,,E,FA,,MALC-MALC-40x20.step +MALC40-20EFAU,MALC,40,20,,E,FA,U,MALC-MALC-40x20.step +MALC40-20EFACM,MALC,40,20,,E,FA,CM,MALC-MALC-40x20.step +MALC40-20EFB,MALC,40,20,,E,FB,,MALC-MALC-40x20.step +MALC40-20EFBU,MALC,40,20,,E,FB,U,MALC-MALC-40x20.step +MALC40-20EFBCM,MALC,40,20,,E,FB,CM,MALC-MALC-40x20.step +MALC40-20ESDB,MALC,40,20,,E,SDB,,MALC-MALC-40x20.step +MALC40-20ESDBU,MALC,40,20,,E,SDB,U,MALC-MALC-40x20.step +MALC40-20ESDBCM,MALC,40,20,,E,SDB,CM,MALC-MALC-40x20.step +MALC40-20,MALC,40,20,,,,,MALC-MALC-40x20.step +MALC40-20U,MALC,40,20,,,,U,MALC-MALC-40x20.step +MALC40-20CM,MALC,40,20,,,,CM,MALC-MALC-40x20.step +MALC40-20LB,MALC,40,20,,,LB,,MALC-MALC-40x20.step +MALC40-20LBU,MALC,40,20,,,LB,U,MALC-MALC-40x20.step +MALC40-20LBCM,MALC,40,20,,,LB,CM,MALC-MALC-40x20.step +MALC40-20FA,MALC,40,20,,,FA,,MALC-MALC-40x20.step +MALC40-20FAU,MALC,40,20,,,FA,U,MALC-MALC-40x20.step +MALC40-20FACM,MALC,40,20,,,FA,CM,MALC-MALC-40x20.step +MALC40-20FB,MALC,40,20,,,FB,,MALC-MALC-40x20.step +MALC40-20FBU,MALC,40,20,,,FB,U,MALC-MALC-40x20.step +MALC40-20FBCM,MALC,40,20,,,FB,CM,MALC-MALC-40x20.step +MALC40-20SDB,MALC,40,20,,,SDB,,MALC-MALC-40x20.step +MALC40-20SDBU,MALC,40,20,,,SDB,U,MALC-MALC-40x20.step +MALC40-20SDBCM,MALC,40,20,,,SDB,CM,MALC-MALC-40x20.step +MALC40-20ME,MALC,40,20,M,E,,,MALC-MALC-40x20.step +MALC40-20MEU,MALC,40,20,M,E,,U,MALC-MALC-40x20.step +MALC40-20MECM,MALC,40,20,M,E,,CM,MALC-MALC-40x20.step +MALC40-20MELB,MALC,40,20,M,E,LB,,MALC-MALC-40x20.step +MALC40-20MELBU,MALC,40,20,M,E,LB,U,MALC-MALC-40x20.step +MALC40-20MELBCM,MALC,40,20,M,E,LB,CM,MALC-MALC-40x20.step +MALC40-20MEFA,MALC,40,20,M,E,FA,,MALC-MALC-40x20.step +MALC40-20MEFAU,MALC,40,20,M,E,FA,U,MALC-MALC-40x20.step +MALC40-20MEFACM,MALC,40,20,M,E,FA,CM,MALC-MALC-40x20.step +MALC40-20MEFB,MALC,40,20,M,E,FB,,MALC-MALC-40x20.step +MALC40-20MEFBU,MALC,40,20,M,E,FB,U,MALC-MALC-40x20.step +MALC40-20MEFBCM,MALC,40,20,M,E,FB,CM,MALC-MALC-40x20.step +MALC40-20MESDB,MALC,40,20,M,E,SDB,,MALC-MALC-40x20.step +MALC40-20MESDBU,MALC,40,20,M,E,SDB,U,MALC-MALC-40x20.step +MALC40-20MESDBCM,MALC,40,20,M,E,SDB,CM,MALC-MALC-40x20.step +MALC40-20M,MALC,40,20,M,,,,MALC-MALC-40x20.step +MALC40-20MU,MALC,40,20,M,,,U,MALC-MALC-40x20.step +MALC40-20MCM,MALC,40,20,M,,,CM,MALC-MALC-40x20.step +MALC40-20MLB,MALC,40,20,M,,LB,,MALC-MALC-40x20.step +MALC40-20MLBU,MALC,40,20,M,,LB,U,MALC-MALC-40x20.step +MALC40-20MLBCM,MALC,40,20,M,,LB,CM,MALC-MALC-40x20.step +MALC40-20MFA,MALC,40,20,M,,FA,,MALC-MALC-40x20.step +MALC40-20MFAU,MALC,40,20,M,,FA,U,MALC-MALC-40x20.step +MALC40-20MFACM,MALC,40,20,M,,FA,CM,MALC-MALC-40x20.step +MALC40-20MFB,MALC,40,20,M,,FB,,MALC-MALC-40x20.step +MALC40-20MFBU,MALC,40,20,M,,FB,U,MALC-MALC-40x20.step +MALC40-20MFBCM,MALC,40,20,M,,FB,CM,MALC-MALC-40x20.step +MALC40-20MSDB,MALC,40,20,M,,SDB,,MALC-MALC-40x20.step +MALC40-20MSDBU,MALC,40,20,M,,SDB,U,MALC-MALC-40x20.step +MALC40-20MSDBCM,MALC,40,20,M,,SDB,CM,MALC-MALC-40x20.step +MALC40-30E,MALC,40,30,,E,,,MALC-MALC-40x30.step +MALC40-30EU,MALC,40,30,,E,,U,MALC-MALC-40x30.step +MALC40-30ECM,MALC,40,30,,E,,CM,MALC-MALC-40x30.step +MALC40-30ELB,MALC,40,30,,E,LB,,MALC-MALC-40x30.step +MALC40-30ELBU,MALC,40,30,,E,LB,U,MALC-MALC-40x30.step +MALC40-30ELBCM,MALC,40,30,,E,LB,CM,MALC-MALC-40x30.step +MALC40-30EFA,MALC,40,30,,E,FA,,MALC-MALC-40x30.step +MALC40-30EFAU,MALC,40,30,,E,FA,U,MALC-MALC-40x30.step +MALC40-30EFACM,MALC,40,30,,E,FA,CM,MALC-MALC-40x30.step +MALC40-30EFB,MALC,40,30,,E,FB,,MALC-MALC-40x30.step +MALC40-30EFBU,MALC,40,30,,E,FB,U,MALC-MALC-40x30.step +MALC40-30EFBCM,MALC,40,30,,E,FB,CM,MALC-MALC-40x30.step +MALC40-30ESDB,MALC,40,30,,E,SDB,,MALC-MALC-40x30.step +MALC40-30ESDBU,MALC,40,30,,E,SDB,U,MALC-MALC-40x30.step +MALC40-30ESDBCM,MALC,40,30,,E,SDB,CM,MALC-MALC-40x30.step +MALC40-30,MALC,40,30,,,,,MALC-MALC-40x30.step +MALC40-30U,MALC,40,30,,,,U,MALC-MALC-40x30.step +MALC40-30CM,MALC,40,30,,,,CM,MALC-MALC-40x30.step +MALC40-30LB,MALC,40,30,,,LB,,MALC-MALC-40x30.step +MALC40-30LBU,MALC,40,30,,,LB,U,MALC-MALC-40x30.step +MALC40-30LBCM,MALC,40,30,,,LB,CM,MALC-MALC-40x30.step +MALC40-30FA,MALC,40,30,,,FA,,MALC-MALC-40x30.step +MALC40-30FAU,MALC,40,30,,,FA,U,MALC-MALC-40x30.step +MALC40-30FACM,MALC,40,30,,,FA,CM,MALC-MALC-40x30.step +MALC40-30FB,MALC,40,30,,,FB,,MALC-MALC-40x30.step +MALC40-30FBU,MALC,40,30,,,FB,U,MALC-MALC-40x30.step +MALC40-30FBCM,MALC,40,30,,,FB,CM,MALC-MALC-40x30.step +MALC40-30SDB,MALC,40,30,,,SDB,,MALC-MALC-40x30.step +MALC40-30SDBU,MALC,40,30,,,SDB,U,MALC-MALC-40x30.step +MALC40-30SDBCM,MALC,40,30,,,SDB,CM,MALC-MALC-40x30.step +MALC40-30ME,MALC,40,30,M,E,,,MALC-MALC-40x30.step +MALC40-30MEU,MALC,40,30,M,E,,U,MALC-MALC-40x30.step +MALC40-30MECM,MALC,40,30,M,E,,CM,MALC-MALC-40x30.step +MALC40-30MELB,MALC,40,30,M,E,LB,,MALC-MALC-40x30.step +MALC40-30MELBU,MALC,40,30,M,E,LB,U,MALC-MALC-40x30.step +MALC40-30MELBCM,MALC,40,30,M,E,LB,CM,MALC-MALC-40x30.step +MALC40-30MEFA,MALC,40,30,M,E,FA,,MALC-MALC-40x30.step +MALC40-30MEFAU,MALC,40,30,M,E,FA,U,MALC-MALC-40x30.step +MALC40-30MEFACM,MALC,40,30,M,E,FA,CM,MALC-MALC-40x30.step +MALC40-30MEFB,MALC,40,30,M,E,FB,,MALC-MALC-40x30.step +MALC40-30MEFBU,MALC,40,30,M,E,FB,U,MALC-MALC-40x30.step +MALC40-30MEFBCM,MALC,40,30,M,E,FB,CM,MALC-MALC-40x30.step +MALC40-30MESDB,MALC,40,30,M,E,SDB,,MALC-MALC-40x30.step +MALC40-30MESDBU,MALC,40,30,M,E,SDB,U,MALC-MALC-40x30.step +MALC40-30MESDBCM,MALC,40,30,M,E,SDB,CM,MALC-MALC-40x30.step +MALC40-30M,MALC,40,30,M,,,,MALC-MALC-40x30.step +MALC40-30MU,MALC,40,30,M,,,U,MALC-MALC-40x30.step +MALC40-30MCM,MALC,40,30,M,,,CM,MALC-MALC-40x30.step +MALC40-30MLB,MALC,40,30,M,,LB,,MALC-MALC-40x30.step +MALC40-30MLBU,MALC,40,30,M,,LB,U,MALC-MALC-40x30.step +MALC40-30MLBCM,MALC,40,30,M,,LB,CM,MALC-MALC-40x30.step +MALC40-30MFA,MALC,40,30,M,,FA,,MALC-MALC-40x30.step +MALC40-30MFAU,MALC,40,30,M,,FA,U,MALC-MALC-40x30.step +MALC40-30MFACM,MALC,40,30,M,,FA,CM,MALC-MALC-40x30.step +MALC40-30MFB,MALC,40,30,M,,FB,,MALC-MALC-40x30.step +MALC40-30MFBU,MALC,40,30,M,,FB,U,MALC-MALC-40x30.step +MALC40-30MFBCM,MALC,40,30,M,,FB,CM,MALC-MALC-40x30.step +MALC40-30MSDB,MALC,40,30,M,,SDB,,MALC-MALC-40x30.step +MALC40-30MSDBU,MALC,40,30,M,,SDB,U,MALC-MALC-40x30.step +MALC40-30MSDBCM,MALC,40,30,M,,SDB,CM,MALC-MALC-40x30.step +MALC40-50E,MALC,40,50,,E,,,MALC-MALC-40x50.step +MALC40-50EU,MALC,40,50,,E,,U,MALC-MALC-40x50.step +MALC40-50ECM,MALC,40,50,,E,,CM,MALC-MALC-40x50.step +MALC40-50ELB,MALC,40,50,,E,LB,,MALC-MALC-40x50.step +MALC40-50ELBU,MALC,40,50,,E,LB,U,MALC-MALC-40x50.step +MALC40-50ELBCM,MALC,40,50,,E,LB,CM,MALC-MALC-40x50.step +MALC40-50EFA,MALC,40,50,,E,FA,,MALC-MALC-40x50.step +MALC40-50EFAU,MALC,40,50,,E,FA,U,MALC-MALC-40x50.step +MALC40-50EFACM,MALC,40,50,,E,FA,CM,MALC-MALC-40x50.step +MALC40-50EFB,MALC,40,50,,E,FB,,MALC-MALC-40x50.step +MALC40-50EFBU,MALC,40,50,,E,FB,U,MALC-MALC-40x50.step +MALC40-50EFBCM,MALC,40,50,,E,FB,CM,MALC-MALC-40x50.step +MALC40-50ESDB,MALC,40,50,,E,SDB,,MALC-MALC-40x50.step +MALC40-50ESDBU,MALC,40,50,,E,SDB,U,MALC-MALC-40x50.step +MALC40-50ESDBCM,MALC,40,50,,E,SDB,CM,MALC-MALC-40x50.step +MALC40-50,MALC,40,50,,,,,MALC-MALC-40x50.step +MALC40-50U,MALC,40,50,,,,U,MALC-MALC-40x50.step +MALC40-50CM,MALC,40,50,,,,CM,MALC-MALC-40x50.step +MALC40-50LB,MALC,40,50,,,LB,,MALC-MALC-40x50.step +MALC40-50LBU,MALC,40,50,,,LB,U,MALC-MALC-40x50.step +MALC40-50LBCM,MALC,40,50,,,LB,CM,MALC-MALC-40x50.step +MALC40-50FA,MALC,40,50,,,FA,,MALC-MALC-40x50.step +MALC40-50FAU,MALC,40,50,,,FA,U,MALC-MALC-40x50.step +MALC40-50FACM,MALC,40,50,,,FA,CM,MALC-MALC-40x50.step +MALC40-50FB,MALC,40,50,,,FB,,MALC-MALC-40x50.step +MALC40-50FBU,MALC,40,50,,,FB,U,MALC-MALC-40x50.step +MALC40-50FBCM,MALC,40,50,,,FB,CM,MALC-MALC-40x50.step +MALC40-50SDB,MALC,40,50,,,SDB,,MALC-MALC-40x50.step +MALC40-50SDBU,MALC,40,50,,,SDB,U,MALC-MALC-40x50.step +MALC40-50SDBCM,MALC,40,50,,,SDB,CM,MALC-MALC-40x50.step +MALC40-50ME,MALC,40,50,M,E,,,MALC-MALC-40x50.step +MALC40-50MEU,MALC,40,50,M,E,,U,MALC-MALC-40x50.step +MALC40-50MECM,MALC,40,50,M,E,,CM,MALC-MALC-40x50.step +MALC40-50MELB,MALC,40,50,M,E,LB,,MALC-MALC-40x50.step +MALC40-50MELBU,MALC,40,50,M,E,LB,U,MALC-MALC-40x50.step +MALC40-50MELBCM,MALC,40,50,M,E,LB,CM,MALC-MALC-40x50.step +MALC40-50MEFA,MALC,40,50,M,E,FA,,MALC-MALC-40x50.step +MALC40-50MEFAU,MALC,40,50,M,E,FA,U,MALC-MALC-40x50.step +MALC40-50MEFACM,MALC,40,50,M,E,FA,CM,MALC-MALC-40x50.step +MALC40-50MEFB,MALC,40,50,M,E,FB,,MALC-MALC-40x50.step +MALC40-50MEFBU,MALC,40,50,M,E,FB,U,MALC-MALC-40x50.step +MALC40-50MEFBCM,MALC,40,50,M,E,FB,CM,MALC-MALC-40x50.step +MALC40-50MESDB,MALC,40,50,M,E,SDB,,MALC-MALC-40x50.step +MALC40-50MESDBU,MALC,40,50,M,E,SDB,U,MALC-MALC-40x50.step +MALC40-50MESDBCM,MALC,40,50,M,E,SDB,CM,MALC-MALC-40x50.step +MALC40-50M,MALC,40,50,M,,,,MALC-MALC-40x50.step +MALC40-50MU,MALC,40,50,M,,,U,MALC-MALC-40x50.step +MALC40-50MCM,MALC,40,50,M,,,CM,MALC-MALC-40x50.step +MALC40-50MLB,MALC,40,50,M,,LB,,MALC-MALC-40x50.step +MALC40-50MLBU,MALC,40,50,M,,LB,U,MALC-MALC-40x50.step +MALC40-50MLBCM,MALC,40,50,M,,LB,CM,MALC-MALC-40x50.step +MALC40-50MFA,MALC,40,50,M,,FA,,MALC-MALC-40x50.step +MALC40-50MFAU,MALC,40,50,M,,FA,U,MALC-MALC-40x50.step +MALC40-50MFACM,MALC,40,50,M,,FA,CM,MALC-MALC-40x50.step +MALC40-50MFB,MALC,40,50,M,,FB,,MALC-MALC-40x50.step +MALC40-50MFBU,MALC,40,50,M,,FB,U,MALC-MALC-40x50.step +MALC40-50MFBCM,MALC,40,50,M,,FB,CM,MALC-MALC-40x50.step +MALC40-50MSDB,MALC,40,50,M,,SDB,,MALC-MALC-40x50.step +MALC40-50MSDBU,MALC,40,50,M,,SDB,U,MALC-MALC-40x50.step +MALC40-50MSDBCM,MALC,40,50,M,,SDB,CM,MALC-MALC-40x50.step +MALC40-75E,MALC,40,75,,E,,,MALC-MALC-40x75.step +MALC40-75EU,MALC,40,75,,E,,U,MALC-MALC-40x75.step +MALC40-75ECM,MALC,40,75,,E,,CM,MALC-MALC-40x75.step +MALC40-75ELB,MALC,40,75,,E,LB,,MALC-MALC-40x75.step +MALC40-75ELBU,MALC,40,75,,E,LB,U,MALC-MALC-40x75.step +MALC40-75ELBCM,MALC,40,75,,E,LB,CM,MALC-MALC-40x75.step +MALC40-75EFA,MALC,40,75,,E,FA,,MALC-MALC-40x75.step +MALC40-75EFAU,MALC,40,75,,E,FA,U,MALC-MALC-40x75.step +MALC40-75EFACM,MALC,40,75,,E,FA,CM,MALC-MALC-40x75.step +MALC40-75EFB,MALC,40,75,,E,FB,,MALC-MALC-40x75.step +MALC40-75EFBU,MALC,40,75,,E,FB,U,MALC-MALC-40x75.step +MALC40-75EFBCM,MALC,40,75,,E,FB,CM,MALC-MALC-40x75.step +MALC40-75ESDB,MALC,40,75,,E,SDB,,MALC-MALC-40x75.step +MALC40-75ESDBU,MALC,40,75,,E,SDB,U,MALC-MALC-40x75.step +MALC40-75ESDBCM,MALC,40,75,,E,SDB,CM,MALC-MALC-40x75.step +MALC40-75,MALC,40,75,,,,,MALC-MALC-40x75.step +MALC40-75U,MALC,40,75,,,,U,MALC-MALC-40x75.step +MALC40-75CM,MALC,40,75,,,,CM,MALC-MALC-40x75.step +MALC40-75LB,MALC,40,75,,,LB,,MALC-MALC-40x75.step +MALC40-75LBU,MALC,40,75,,,LB,U,MALC-MALC-40x75.step +MALC40-75LBCM,MALC,40,75,,,LB,CM,MALC-MALC-40x75.step +MALC40-75FA,MALC,40,75,,,FA,,MALC-MALC-40x75.step +MALC40-75FAU,MALC,40,75,,,FA,U,MALC-MALC-40x75.step +MALC40-75FACM,MALC,40,75,,,FA,CM,MALC-MALC-40x75.step +MALC40-75FB,MALC,40,75,,,FB,,MALC-MALC-40x75.step +MALC40-75FBU,MALC,40,75,,,FB,U,MALC-MALC-40x75.step +MALC40-75FBCM,MALC,40,75,,,FB,CM,MALC-MALC-40x75.step +MALC40-75SDB,MALC,40,75,,,SDB,,MALC-MALC-40x75.step +MALC40-75SDBU,MALC,40,75,,,SDB,U,MALC-MALC-40x75.step +MALC40-75SDBCM,MALC,40,75,,,SDB,CM,MALC-MALC-40x75.step +MALC40-75ME,MALC,40,75,M,E,,,MALC-MALC-40x75.step +MALC40-75MEU,MALC,40,75,M,E,,U,MALC-MALC-40x75.step +MALC40-75MECM,MALC,40,75,M,E,,CM,MALC-MALC-40x75.step +MALC40-75MELB,MALC,40,75,M,E,LB,,MALC-MALC-40x75.step +MALC40-75MELBU,MALC,40,75,M,E,LB,U,MALC-MALC-40x75.step +MALC40-75MELBCM,MALC,40,75,M,E,LB,CM,MALC-MALC-40x75.step +MALC40-75MEFA,MALC,40,75,M,E,FA,,MALC-MALC-40x75.step +MALC40-75MEFAU,MALC,40,75,M,E,FA,U,MALC-MALC-40x75.step +MALC40-75MEFACM,MALC,40,75,M,E,FA,CM,MALC-MALC-40x75.step +MALC40-75MEFB,MALC,40,75,M,E,FB,,MALC-MALC-40x75.step +MALC40-75MEFBU,MALC,40,75,M,E,FB,U,MALC-MALC-40x75.step +MALC40-75MEFBCM,MALC,40,75,M,E,FB,CM,MALC-MALC-40x75.step +MALC40-75MESDB,MALC,40,75,M,E,SDB,,MALC-MALC-40x75.step +MALC40-75MESDBU,MALC,40,75,M,E,SDB,U,MALC-MALC-40x75.step +MALC40-75MESDBCM,MALC,40,75,M,E,SDB,CM,MALC-MALC-40x75.step +MALC40-75M,MALC,40,75,M,,,,MALC-MALC-40x75.step +MALC40-75MU,MALC,40,75,M,,,U,MALC-MALC-40x75.step +MALC40-75MCM,MALC,40,75,M,,,CM,MALC-MALC-40x75.step +MALC40-75MLB,MALC,40,75,M,,LB,,MALC-MALC-40x75.step +MALC40-75MLBU,MALC,40,75,M,,LB,U,MALC-MALC-40x75.step +MALC40-75MLBCM,MALC,40,75,M,,LB,CM,MALC-MALC-40x75.step +MALC40-75MFA,MALC,40,75,M,,FA,,MALC-MALC-40x75.step +MALC40-75MFAU,MALC,40,75,M,,FA,U,MALC-MALC-40x75.step +MALC40-75MFACM,MALC,40,75,M,,FA,CM,MALC-MALC-40x75.step +MALC40-75MFB,MALC,40,75,M,,FB,,MALC-MALC-40x75.step +MALC40-75MFBU,MALC,40,75,M,,FB,U,MALC-MALC-40x75.step +MALC40-75MFBCM,MALC,40,75,M,,FB,CM,MALC-MALC-40x75.step +MALC40-75MSDB,MALC,40,75,M,,SDB,,MALC-MALC-40x75.step +MALC40-75MSDBU,MALC,40,75,M,,SDB,U,MALC-MALC-40x75.step +MALC40-75MSDBCM,MALC,40,75,M,,SDB,CM,MALC-MALC-40x75.step +MALC40-100E,MALC,40,100,,E,,,MALC-MALC-40x100.step +MALC40-100EU,MALC,40,100,,E,,U,MALC-MALC-40x100.step +MALC40-100ECM,MALC,40,100,,E,,CM,MALC-MALC-40x100.step +MALC40-100ELB,MALC,40,100,,E,LB,,MALC-MALC-40x100.step +MALC40-100ELBU,MALC,40,100,,E,LB,U,MALC-MALC-40x100.step +MALC40-100ELBCM,MALC,40,100,,E,LB,CM,MALC-MALC-40x100.step +MALC40-100EFA,MALC,40,100,,E,FA,,MALC-MALC-40x100.step +MALC40-100EFAU,MALC,40,100,,E,FA,U,MALC-MALC-40x100.step +MALC40-100EFACM,MALC,40,100,,E,FA,CM,MALC-MALC-40x100.step +MALC40-100EFB,MALC,40,100,,E,FB,,MALC-MALC-40x100.step +MALC40-100EFBU,MALC,40,100,,E,FB,U,MALC-MALC-40x100.step +MALC40-100EFBCM,MALC,40,100,,E,FB,CM,MALC-MALC-40x100.step +MALC40-100ESDB,MALC,40,100,,E,SDB,,MALC-MALC-40x100.step +MALC40-100ESDBU,MALC,40,100,,E,SDB,U,MALC-MALC-40x100.step +MALC40-100ESDBCM,MALC,40,100,,E,SDB,CM,MALC-MALC-40x100.step +MALC40-100,MALC,40,100,,,,,MALC-MALC-40x100.step +MALC40-100U,MALC,40,100,,,,U,MALC-MALC-40x100.step +MALC40-100CM,MALC,40,100,,,,CM,MALC-MALC-40x100.step +MALC40-100LB,MALC,40,100,,,LB,,MALC-MALC-40x100.step +MALC40-100LBU,MALC,40,100,,,LB,U,MALC-MALC-40x100.step +MALC40-100LBCM,MALC,40,100,,,LB,CM,MALC-MALC-40x100.step +MALC40-100FA,MALC,40,100,,,FA,,MALC-MALC-40x100.step +MALC40-100FAU,MALC,40,100,,,FA,U,MALC-MALC-40x100.step +MALC40-100FACM,MALC,40,100,,,FA,CM,MALC-MALC-40x100.step +MALC40-100FB,MALC,40,100,,,FB,,MALC-MALC-40x100.step +MALC40-100FBU,MALC,40,100,,,FB,U,MALC-MALC-40x100.step +MALC40-100FBCM,MALC,40,100,,,FB,CM,MALC-MALC-40x100.step +MALC40-100SDB,MALC,40,100,,,SDB,,MALC-MALC-40x100.step +MALC40-100SDBU,MALC,40,100,,,SDB,U,MALC-MALC-40x100.step +MALC40-100SDBCM,MALC,40,100,,,SDB,CM,MALC-MALC-40x100.step +MALC40-100ME,MALC,40,100,M,E,,,MALC-MALC-40x100.step +MALC40-100MEU,MALC,40,100,M,E,,U,MALC-MALC-40x100.step +MALC40-100MECM,MALC,40,100,M,E,,CM,MALC-MALC-40x100.step +MALC40-100MELB,MALC,40,100,M,E,LB,,MALC-MALC-40x100.step +MALC40-100MELBU,MALC,40,100,M,E,LB,U,MALC-MALC-40x100.step +MALC40-100MELBCM,MALC,40,100,M,E,LB,CM,MALC-MALC-40x100.step +MALC40-100MEFA,MALC,40,100,M,E,FA,,MALC-MALC-40x100.step +MALC40-100MEFAU,MALC,40,100,M,E,FA,U,MALC-MALC-40x100.step +MALC40-100MEFACM,MALC,40,100,M,E,FA,CM,MALC-MALC-40x100.step +MALC40-100MEFB,MALC,40,100,M,E,FB,,MALC-MALC-40x100.step +MALC40-100MEFBU,MALC,40,100,M,E,FB,U,MALC-MALC-40x100.step +MALC40-100MEFBCM,MALC,40,100,M,E,FB,CM,MALC-MALC-40x100.step +MALC40-100MESDB,MALC,40,100,M,E,SDB,,MALC-MALC-40x100.step +MALC40-100MESDBU,MALC,40,100,M,E,SDB,U,MALC-MALC-40x100.step +MALC40-100MESDBCM,MALC,40,100,M,E,SDB,CM,MALC-MALC-40x100.step +MALC40-100M,MALC,40,100,M,,,,MALC-MALC-40x100.step +MALC40-100MU,MALC,40,100,M,,,U,MALC-MALC-40x100.step +MALC40-100MCM,MALC,40,100,M,,,CM,MALC-MALC-40x100.step +MALC40-100MLB,MALC,40,100,M,,LB,,MALC-MALC-40x100.step +MALC40-100MLBU,MALC,40,100,M,,LB,U,MALC-MALC-40x100.step +MALC40-100MLBCM,MALC,40,100,M,,LB,CM,MALC-MALC-40x100.step +MALC40-100MFA,MALC,40,100,M,,FA,,MALC-MALC-40x100.step +MALC40-100MFAU,MALC,40,100,M,,FA,U,MALC-MALC-40x100.step +MALC40-100MFACM,MALC,40,100,M,,FA,CM,MALC-MALC-40x100.step +MALC40-100MFB,MALC,40,100,M,,FB,,MALC-MALC-40x100.step +MALC40-100MFBU,MALC,40,100,M,,FB,U,MALC-MALC-40x100.step +MALC40-100MFBCM,MALC,40,100,M,,FB,CM,MALC-MALC-40x100.step +MALC40-100MSDB,MALC,40,100,M,,SDB,,MALC-MALC-40x100.step +MALC40-100MSDBU,MALC,40,100,M,,SDB,U,MALC-MALC-40x100.step +MALC40-100MSDBCM,MALC,40,100,M,,SDB,CM,MALC-MALC-40x100.step +MALCD16-10E,MALCD,16,10,,E,,,MALC-MALCD-16x10.step +MALCD16-10EU,MALCD,16,10,,E,,U,MALC-MALCD-16x10.step +MALCD16-10ECM,MALCD,16,10,,E,,CM,MALC-MALCD-16x10.step +MALCD16-10ELB,MALCD,16,10,,E,LB,,MALC-MALCD-16x10.step +MALCD16-10ELBU,MALCD,16,10,,E,LB,U,MALC-MALCD-16x10.step +MALCD16-10ELBCM,MALCD,16,10,,E,LB,CM,MALC-MALCD-16x10.step +MALCD16-10EFA,MALCD,16,10,,E,FA,,MALC-MALCD-16x10.step +MALCD16-10EFAU,MALCD,16,10,,E,FA,U,MALC-MALCD-16x10.step +MALCD16-10EFACM,MALCD,16,10,,E,FA,CM,MALC-MALCD-16x10.step +MALCD16-10EFB,MALCD,16,10,,E,FB,,MALC-MALCD-16x10.step +MALCD16-10EFBU,MALCD,16,10,,E,FB,U,MALC-MALCD-16x10.step +MALCD16-10EFBCM,MALCD,16,10,,E,FB,CM,MALC-MALCD-16x10.step +MALCD16-10ESDB,MALCD,16,10,,E,SDB,,MALC-MALCD-16x10.step +MALCD16-10ESDBU,MALCD,16,10,,E,SDB,U,MALC-MALCD-16x10.step +MALCD16-10ESDBCM,MALCD,16,10,,E,SDB,CM,MALC-MALCD-16x10.step +MALCD16-10,MALCD,16,10,,,,,MALC-MALCD-16x10.step +MALCD16-10U,MALCD,16,10,,,,U,MALC-MALCD-16x10.step +MALCD16-10CM,MALCD,16,10,,,,CM,MALC-MALCD-16x10.step +MALCD16-10LB,MALCD,16,10,,,LB,,MALC-MALCD-16x10.step +MALCD16-10LBU,MALCD,16,10,,,LB,U,MALC-MALCD-16x10.step +MALCD16-10LBCM,MALCD,16,10,,,LB,CM,MALC-MALCD-16x10.step +MALCD16-10FA,MALCD,16,10,,,FA,,MALC-MALCD-16x10.step +MALCD16-10FAU,MALCD,16,10,,,FA,U,MALC-MALCD-16x10.step +MALCD16-10FACM,MALCD,16,10,,,FA,CM,MALC-MALCD-16x10.step +MALCD16-10FB,MALCD,16,10,,,FB,,MALC-MALCD-16x10.step +MALCD16-10FBU,MALCD,16,10,,,FB,U,MALC-MALCD-16x10.step +MALCD16-10FBCM,MALCD,16,10,,,FB,CM,MALC-MALCD-16x10.step +MALCD16-10SDB,MALCD,16,10,,,SDB,,MALC-MALCD-16x10.step +MALCD16-10SDBU,MALCD,16,10,,,SDB,U,MALC-MALCD-16x10.step +MALCD16-10SDBCM,MALCD,16,10,,,SDB,CM,MALC-MALCD-16x10.step +MALCD16-10ME,MALCD,16,10,M,E,,,MALC-MALCD-16x10.step +MALCD16-10MEU,MALCD,16,10,M,E,,U,MALC-MALCD-16x10.step +MALCD16-10MECM,MALCD,16,10,M,E,,CM,MALC-MALCD-16x10.step +MALCD16-10MELB,MALCD,16,10,M,E,LB,,MALC-MALCD-16x10.step +MALCD16-10MELBU,MALCD,16,10,M,E,LB,U,MALC-MALCD-16x10.step +MALCD16-10MELBCM,MALCD,16,10,M,E,LB,CM,MALC-MALCD-16x10.step +MALCD16-10MEFA,MALCD,16,10,M,E,FA,,MALC-MALCD-16x10.step +MALCD16-10MEFAU,MALCD,16,10,M,E,FA,U,MALC-MALCD-16x10.step +MALCD16-10MEFACM,MALCD,16,10,M,E,FA,CM,MALC-MALCD-16x10.step +MALCD16-10MEFB,MALCD,16,10,M,E,FB,,MALC-MALCD-16x10.step +MALCD16-10MEFBU,MALCD,16,10,M,E,FB,U,MALC-MALCD-16x10.step +MALCD16-10MEFBCM,MALCD,16,10,M,E,FB,CM,MALC-MALCD-16x10.step +MALCD16-10MESDB,MALCD,16,10,M,E,SDB,,MALC-MALCD-16x10.step +MALCD16-10MESDBU,MALCD,16,10,M,E,SDB,U,MALC-MALCD-16x10.step +MALCD16-10MESDBCM,MALCD,16,10,M,E,SDB,CM,MALC-MALCD-16x10.step +MALCD16-10M,MALCD,16,10,M,,,,MALC-MALCD-16x10.step +MALCD16-10MU,MALCD,16,10,M,,,U,MALC-MALCD-16x10.step +MALCD16-10MCM,MALCD,16,10,M,,,CM,MALC-MALCD-16x10.step +MALCD16-10MLB,MALCD,16,10,M,,LB,,MALC-MALCD-16x10.step +MALCD16-10MLBU,MALCD,16,10,M,,LB,U,MALC-MALCD-16x10.step +MALCD16-10MLBCM,MALCD,16,10,M,,LB,CM,MALC-MALCD-16x10.step +MALCD16-10MFA,MALCD,16,10,M,,FA,,MALC-MALCD-16x10.step +MALCD16-10MFAU,MALCD,16,10,M,,FA,U,MALC-MALCD-16x10.step +MALCD16-10MFACM,MALCD,16,10,M,,FA,CM,MALC-MALCD-16x10.step +MALCD16-10MFB,MALCD,16,10,M,,FB,,MALC-MALCD-16x10.step +MALCD16-10MFBU,MALCD,16,10,M,,FB,U,MALC-MALCD-16x10.step +MALCD16-10MFBCM,MALCD,16,10,M,,FB,CM,MALC-MALCD-16x10.step +MALCD16-10MSDB,MALCD,16,10,M,,SDB,,MALC-MALCD-16x10.step +MALCD16-10MSDBU,MALCD,16,10,M,,SDB,U,MALC-MALCD-16x10.step +MALCD16-10MSDBCM,MALCD,16,10,M,,SDB,CM,MALC-MALCD-16x10.step +MALCD16-20E,MALCD,16,20,,E,,,MALC-MALCD-16x20.step +MALCD16-20EU,MALCD,16,20,,E,,U,MALC-MALCD-16x20.step +MALCD16-20ECM,MALCD,16,20,,E,,CM,MALC-MALCD-16x20.step +MALCD16-20ELB,MALCD,16,20,,E,LB,,MALC-MALCD-16x20.step +MALCD16-20ELBU,MALCD,16,20,,E,LB,U,MALC-MALCD-16x20.step +MALCD16-20ELBCM,MALCD,16,20,,E,LB,CM,MALC-MALCD-16x20.step +MALCD16-20EFA,MALCD,16,20,,E,FA,,MALC-MALCD-16x20.step +MALCD16-20EFAU,MALCD,16,20,,E,FA,U,MALC-MALCD-16x20.step +MALCD16-20EFACM,MALCD,16,20,,E,FA,CM,MALC-MALCD-16x20.step +MALCD16-20EFB,MALCD,16,20,,E,FB,,MALC-MALCD-16x20.step +MALCD16-20EFBU,MALCD,16,20,,E,FB,U,MALC-MALCD-16x20.step +MALCD16-20EFBCM,MALCD,16,20,,E,FB,CM,MALC-MALCD-16x20.step +MALCD16-20ESDB,MALCD,16,20,,E,SDB,,MALC-MALCD-16x20.step +MALCD16-20ESDBU,MALCD,16,20,,E,SDB,U,MALC-MALCD-16x20.step +MALCD16-20ESDBCM,MALCD,16,20,,E,SDB,CM,MALC-MALCD-16x20.step +MALCD16-20,MALCD,16,20,,,,,MALC-MALCD-16x20.step +MALCD16-20U,MALCD,16,20,,,,U,MALC-MALCD-16x20.step +MALCD16-20CM,MALCD,16,20,,,,CM,MALC-MALCD-16x20.step +MALCD16-20LB,MALCD,16,20,,,LB,,MALC-MALCD-16x20.step +MALCD16-20LBU,MALCD,16,20,,,LB,U,MALC-MALCD-16x20.step +MALCD16-20LBCM,MALCD,16,20,,,LB,CM,MALC-MALCD-16x20.step +MALCD16-20FA,MALCD,16,20,,,FA,,MALC-MALCD-16x20.step +MALCD16-20FAU,MALCD,16,20,,,FA,U,MALC-MALCD-16x20.step +MALCD16-20FACM,MALCD,16,20,,,FA,CM,MALC-MALCD-16x20.step +MALCD16-20FB,MALCD,16,20,,,FB,,MALC-MALCD-16x20.step +MALCD16-20FBU,MALCD,16,20,,,FB,U,MALC-MALCD-16x20.step +MALCD16-20FBCM,MALCD,16,20,,,FB,CM,MALC-MALCD-16x20.step +MALCD16-20SDB,MALCD,16,20,,,SDB,,MALC-MALCD-16x20.step +MALCD16-20SDBU,MALCD,16,20,,,SDB,U,MALC-MALCD-16x20.step +MALCD16-20SDBCM,MALCD,16,20,,,SDB,CM,MALC-MALCD-16x20.step +MALCD16-20ME,MALCD,16,20,M,E,,,MALC-MALCD-16x20.step +MALCD16-20MEU,MALCD,16,20,M,E,,U,MALC-MALCD-16x20.step +MALCD16-20MECM,MALCD,16,20,M,E,,CM,MALC-MALCD-16x20.step +MALCD16-20MELB,MALCD,16,20,M,E,LB,,MALC-MALCD-16x20.step +MALCD16-20MELBU,MALCD,16,20,M,E,LB,U,MALC-MALCD-16x20.step +MALCD16-20MELBCM,MALCD,16,20,M,E,LB,CM,MALC-MALCD-16x20.step +MALCD16-20MEFA,MALCD,16,20,M,E,FA,,MALC-MALCD-16x20.step +MALCD16-20MEFAU,MALCD,16,20,M,E,FA,U,MALC-MALCD-16x20.step +MALCD16-20MEFACM,MALCD,16,20,M,E,FA,CM,MALC-MALCD-16x20.step +MALCD16-20MEFB,MALCD,16,20,M,E,FB,,MALC-MALCD-16x20.step +MALCD16-20MEFBU,MALCD,16,20,M,E,FB,U,MALC-MALCD-16x20.step +MALCD16-20MEFBCM,MALCD,16,20,M,E,FB,CM,MALC-MALCD-16x20.step +MALCD16-20MESDB,MALCD,16,20,M,E,SDB,,MALC-MALCD-16x20.step +MALCD16-20MESDBU,MALCD,16,20,M,E,SDB,U,MALC-MALCD-16x20.step +MALCD16-20MESDBCM,MALCD,16,20,M,E,SDB,CM,MALC-MALCD-16x20.step +MALCD16-20M,MALCD,16,20,M,,,,MALC-MALCD-16x20.step +MALCD16-20MU,MALCD,16,20,M,,,U,MALC-MALCD-16x20.step +MALCD16-20MCM,MALCD,16,20,M,,,CM,MALC-MALCD-16x20.step +MALCD16-20MLB,MALCD,16,20,M,,LB,,MALC-MALCD-16x20.step +MALCD16-20MLBU,MALCD,16,20,M,,LB,U,MALC-MALCD-16x20.step +MALCD16-20MLBCM,MALCD,16,20,M,,LB,CM,MALC-MALCD-16x20.step +MALCD16-20MFA,MALCD,16,20,M,,FA,,MALC-MALCD-16x20.step +MALCD16-20MFAU,MALCD,16,20,M,,FA,U,MALC-MALCD-16x20.step +MALCD16-20MFACM,MALCD,16,20,M,,FA,CM,MALC-MALCD-16x20.step +MALCD16-20MFB,MALCD,16,20,M,,FB,,MALC-MALCD-16x20.step +MALCD16-20MFBU,MALCD,16,20,M,,FB,U,MALC-MALCD-16x20.step +MALCD16-20MFBCM,MALCD,16,20,M,,FB,CM,MALC-MALCD-16x20.step +MALCD16-20MSDB,MALCD,16,20,M,,SDB,,MALC-MALCD-16x20.step +MALCD16-20MSDBU,MALCD,16,20,M,,SDB,U,MALC-MALCD-16x20.step +MALCD16-20MSDBCM,MALCD,16,20,M,,SDB,CM,MALC-MALCD-16x20.step +MALCD16-30E,MALCD,16,30,,E,,,MALC-MALCD-16x30.step +MALCD16-30EU,MALCD,16,30,,E,,U,MALC-MALCD-16x30.step +MALCD16-30ECM,MALCD,16,30,,E,,CM,MALC-MALCD-16x30.step +MALCD16-30ELB,MALCD,16,30,,E,LB,,MALC-MALCD-16x30.step +MALCD16-30ELBU,MALCD,16,30,,E,LB,U,MALC-MALCD-16x30.step +MALCD16-30ELBCM,MALCD,16,30,,E,LB,CM,MALC-MALCD-16x30.step +MALCD16-30EFA,MALCD,16,30,,E,FA,,MALC-MALCD-16x30.step +MALCD16-30EFAU,MALCD,16,30,,E,FA,U,MALC-MALCD-16x30.step +MALCD16-30EFACM,MALCD,16,30,,E,FA,CM,MALC-MALCD-16x30.step +MALCD16-30EFB,MALCD,16,30,,E,FB,,MALC-MALCD-16x30.step +MALCD16-30EFBU,MALCD,16,30,,E,FB,U,MALC-MALCD-16x30.step +MALCD16-30EFBCM,MALCD,16,30,,E,FB,CM,MALC-MALCD-16x30.step +MALCD16-30ESDB,MALCD,16,30,,E,SDB,,MALC-MALCD-16x30.step +MALCD16-30ESDBU,MALCD,16,30,,E,SDB,U,MALC-MALCD-16x30.step +MALCD16-30ESDBCM,MALCD,16,30,,E,SDB,CM,MALC-MALCD-16x30.step +MALCD16-30,MALCD,16,30,,,,,MALC-MALCD-16x30.step +MALCD16-30U,MALCD,16,30,,,,U,MALC-MALCD-16x30.step +MALCD16-30CM,MALCD,16,30,,,,CM,MALC-MALCD-16x30.step +MALCD16-30LB,MALCD,16,30,,,LB,,MALC-MALCD-16x30.step +MALCD16-30LBU,MALCD,16,30,,,LB,U,MALC-MALCD-16x30.step +MALCD16-30LBCM,MALCD,16,30,,,LB,CM,MALC-MALCD-16x30.step +MALCD16-30FA,MALCD,16,30,,,FA,,MALC-MALCD-16x30.step +MALCD16-30FAU,MALCD,16,30,,,FA,U,MALC-MALCD-16x30.step +MALCD16-30FACM,MALCD,16,30,,,FA,CM,MALC-MALCD-16x30.step +MALCD16-30FB,MALCD,16,30,,,FB,,MALC-MALCD-16x30.step +MALCD16-30FBU,MALCD,16,30,,,FB,U,MALC-MALCD-16x30.step +MALCD16-30FBCM,MALCD,16,30,,,FB,CM,MALC-MALCD-16x30.step +MALCD16-30SDB,MALCD,16,30,,,SDB,,MALC-MALCD-16x30.step +MALCD16-30SDBU,MALCD,16,30,,,SDB,U,MALC-MALCD-16x30.step +MALCD16-30SDBCM,MALCD,16,30,,,SDB,CM,MALC-MALCD-16x30.step +MALCD16-30ME,MALCD,16,30,M,E,,,MALC-MALCD-16x30.step +MALCD16-30MEU,MALCD,16,30,M,E,,U,MALC-MALCD-16x30.step +MALCD16-30MECM,MALCD,16,30,M,E,,CM,MALC-MALCD-16x30.step +MALCD16-30MELB,MALCD,16,30,M,E,LB,,MALC-MALCD-16x30.step +MALCD16-30MELBU,MALCD,16,30,M,E,LB,U,MALC-MALCD-16x30.step +MALCD16-30MELBCM,MALCD,16,30,M,E,LB,CM,MALC-MALCD-16x30.step +MALCD16-30MEFA,MALCD,16,30,M,E,FA,,MALC-MALCD-16x30.step +MALCD16-30MEFAU,MALCD,16,30,M,E,FA,U,MALC-MALCD-16x30.step +MALCD16-30MEFACM,MALCD,16,30,M,E,FA,CM,MALC-MALCD-16x30.step +MALCD16-30MEFB,MALCD,16,30,M,E,FB,,MALC-MALCD-16x30.step +MALCD16-30MEFBU,MALCD,16,30,M,E,FB,U,MALC-MALCD-16x30.step +MALCD16-30MEFBCM,MALCD,16,30,M,E,FB,CM,MALC-MALCD-16x30.step +MALCD16-30MESDB,MALCD,16,30,M,E,SDB,,MALC-MALCD-16x30.step +MALCD16-30MESDBU,MALCD,16,30,M,E,SDB,U,MALC-MALCD-16x30.step +MALCD16-30MESDBCM,MALCD,16,30,M,E,SDB,CM,MALC-MALCD-16x30.step +MALCD16-30M,MALCD,16,30,M,,,,MALC-MALCD-16x30.step +MALCD16-30MU,MALCD,16,30,M,,,U,MALC-MALCD-16x30.step +MALCD16-30MCM,MALCD,16,30,M,,,CM,MALC-MALCD-16x30.step +MALCD16-30MLB,MALCD,16,30,M,,LB,,MALC-MALCD-16x30.step +MALCD16-30MLBU,MALCD,16,30,M,,LB,U,MALC-MALCD-16x30.step +MALCD16-30MLBCM,MALCD,16,30,M,,LB,CM,MALC-MALCD-16x30.step +MALCD16-30MFA,MALCD,16,30,M,,FA,,MALC-MALCD-16x30.step +MALCD16-30MFAU,MALCD,16,30,M,,FA,U,MALC-MALCD-16x30.step +MALCD16-30MFACM,MALCD,16,30,M,,FA,CM,MALC-MALCD-16x30.step +MALCD16-30MFB,MALCD,16,30,M,,FB,,MALC-MALCD-16x30.step +MALCD16-30MFBU,MALCD,16,30,M,,FB,U,MALC-MALCD-16x30.step +MALCD16-30MFBCM,MALCD,16,30,M,,FB,CM,MALC-MALCD-16x30.step +MALCD16-30MSDB,MALCD,16,30,M,,SDB,,MALC-MALCD-16x30.step +MALCD16-30MSDBU,MALCD,16,30,M,,SDB,U,MALC-MALCD-16x30.step +MALCD16-30MSDBCM,MALCD,16,30,M,,SDB,CM,MALC-MALCD-16x30.step +MALCD16-50E,MALCD,16,50,,E,,,MALC-MALCD-16x50.step +MALCD16-50EU,MALCD,16,50,,E,,U,MALC-MALCD-16x50.step +MALCD16-50ECM,MALCD,16,50,,E,,CM,MALC-MALCD-16x50.step +MALCD16-50ELB,MALCD,16,50,,E,LB,,MALC-MALCD-16x50.step +MALCD16-50ELBU,MALCD,16,50,,E,LB,U,MALC-MALCD-16x50.step +MALCD16-50ELBCM,MALCD,16,50,,E,LB,CM,MALC-MALCD-16x50.step +MALCD16-50EFA,MALCD,16,50,,E,FA,,MALC-MALCD-16x50.step +MALCD16-50EFAU,MALCD,16,50,,E,FA,U,MALC-MALCD-16x50.step +MALCD16-50EFACM,MALCD,16,50,,E,FA,CM,MALC-MALCD-16x50.step +MALCD16-50EFB,MALCD,16,50,,E,FB,,MALC-MALCD-16x50.step +MALCD16-50EFBU,MALCD,16,50,,E,FB,U,MALC-MALCD-16x50.step +MALCD16-50EFBCM,MALCD,16,50,,E,FB,CM,MALC-MALCD-16x50.step +MALCD16-50ESDB,MALCD,16,50,,E,SDB,,MALC-MALCD-16x50.step +MALCD16-50ESDBU,MALCD,16,50,,E,SDB,U,MALC-MALCD-16x50.step +MALCD16-50ESDBCM,MALCD,16,50,,E,SDB,CM,MALC-MALCD-16x50.step +MALCD16-50,MALCD,16,50,,,,,MALC-MALCD-16x50.step +MALCD16-50U,MALCD,16,50,,,,U,MALC-MALCD-16x50.step +MALCD16-50CM,MALCD,16,50,,,,CM,MALC-MALCD-16x50.step +MALCD16-50LB,MALCD,16,50,,,LB,,MALC-MALCD-16x50.step +MALCD16-50LBU,MALCD,16,50,,,LB,U,MALC-MALCD-16x50.step +MALCD16-50LBCM,MALCD,16,50,,,LB,CM,MALC-MALCD-16x50.step +MALCD16-50FA,MALCD,16,50,,,FA,,MALC-MALCD-16x50.step +MALCD16-50FAU,MALCD,16,50,,,FA,U,MALC-MALCD-16x50.step +MALCD16-50FACM,MALCD,16,50,,,FA,CM,MALC-MALCD-16x50.step +MALCD16-50FB,MALCD,16,50,,,FB,,MALC-MALCD-16x50.step +MALCD16-50FBU,MALCD,16,50,,,FB,U,MALC-MALCD-16x50.step +MALCD16-50FBCM,MALCD,16,50,,,FB,CM,MALC-MALCD-16x50.step +MALCD16-50SDB,MALCD,16,50,,,SDB,,MALC-MALCD-16x50.step +MALCD16-50SDBU,MALCD,16,50,,,SDB,U,MALC-MALCD-16x50.step +MALCD16-50SDBCM,MALCD,16,50,,,SDB,CM,MALC-MALCD-16x50.step +MALCD16-50ME,MALCD,16,50,M,E,,,MALC-MALCD-16x50.step +MALCD16-50MEU,MALCD,16,50,M,E,,U,MALC-MALCD-16x50.step +MALCD16-50MECM,MALCD,16,50,M,E,,CM,MALC-MALCD-16x50.step +MALCD16-50MELB,MALCD,16,50,M,E,LB,,MALC-MALCD-16x50.step +MALCD16-50MELBU,MALCD,16,50,M,E,LB,U,MALC-MALCD-16x50.step +MALCD16-50MELBCM,MALCD,16,50,M,E,LB,CM,MALC-MALCD-16x50.step +MALCD16-50MEFA,MALCD,16,50,M,E,FA,,MALC-MALCD-16x50.step +MALCD16-50MEFAU,MALCD,16,50,M,E,FA,U,MALC-MALCD-16x50.step +MALCD16-50MEFACM,MALCD,16,50,M,E,FA,CM,MALC-MALCD-16x50.step +MALCD16-50MEFB,MALCD,16,50,M,E,FB,,MALC-MALCD-16x50.step +MALCD16-50MEFBU,MALCD,16,50,M,E,FB,U,MALC-MALCD-16x50.step +MALCD16-50MEFBCM,MALCD,16,50,M,E,FB,CM,MALC-MALCD-16x50.step +MALCD16-50MESDB,MALCD,16,50,M,E,SDB,,MALC-MALCD-16x50.step +MALCD16-50MESDBU,MALCD,16,50,M,E,SDB,U,MALC-MALCD-16x50.step +MALCD16-50MESDBCM,MALCD,16,50,M,E,SDB,CM,MALC-MALCD-16x50.step +MALCD16-50M,MALCD,16,50,M,,,,MALC-MALCD-16x50.step +MALCD16-50MU,MALCD,16,50,M,,,U,MALC-MALCD-16x50.step +MALCD16-50MCM,MALCD,16,50,M,,,CM,MALC-MALCD-16x50.step +MALCD16-50MLB,MALCD,16,50,M,,LB,,MALC-MALCD-16x50.step +MALCD16-50MLBU,MALCD,16,50,M,,LB,U,MALC-MALCD-16x50.step +MALCD16-50MLBCM,MALCD,16,50,M,,LB,CM,MALC-MALCD-16x50.step +MALCD16-50MFA,MALCD,16,50,M,,FA,,MALC-MALCD-16x50.step +MALCD16-50MFAU,MALCD,16,50,M,,FA,U,MALC-MALCD-16x50.step +MALCD16-50MFACM,MALCD,16,50,M,,FA,CM,MALC-MALCD-16x50.step +MALCD16-50MFB,MALCD,16,50,M,,FB,,MALC-MALCD-16x50.step +MALCD16-50MFBU,MALCD,16,50,M,,FB,U,MALC-MALCD-16x50.step +MALCD16-50MFBCM,MALCD,16,50,M,,FB,CM,MALC-MALCD-16x50.step +MALCD16-50MSDB,MALCD,16,50,M,,SDB,,MALC-MALCD-16x50.step +MALCD16-50MSDBU,MALCD,16,50,M,,SDB,U,MALC-MALCD-16x50.step +MALCD16-50MSDBCM,MALCD,16,50,M,,SDB,CM,MALC-MALCD-16x50.step +MALCD16-75E,MALCD,16,75,,E,,,MALC-MALCD-16x75.step +MALCD16-75EU,MALCD,16,75,,E,,U,MALC-MALCD-16x75.step +MALCD16-75ECM,MALCD,16,75,,E,,CM,MALC-MALCD-16x75.step +MALCD16-75ELB,MALCD,16,75,,E,LB,,MALC-MALCD-16x75.step +MALCD16-75ELBU,MALCD,16,75,,E,LB,U,MALC-MALCD-16x75.step +MALCD16-75ELBCM,MALCD,16,75,,E,LB,CM,MALC-MALCD-16x75.step +MALCD16-75EFA,MALCD,16,75,,E,FA,,MALC-MALCD-16x75.step +MALCD16-75EFAU,MALCD,16,75,,E,FA,U,MALC-MALCD-16x75.step +MALCD16-75EFACM,MALCD,16,75,,E,FA,CM,MALC-MALCD-16x75.step +MALCD16-75EFB,MALCD,16,75,,E,FB,,MALC-MALCD-16x75.step +MALCD16-75EFBU,MALCD,16,75,,E,FB,U,MALC-MALCD-16x75.step +MALCD16-75EFBCM,MALCD,16,75,,E,FB,CM,MALC-MALCD-16x75.step +MALCD16-75ESDB,MALCD,16,75,,E,SDB,,MALC-MALCD-16x75.step +MALCD16-75ESDBU,MALCD,16,75,,E,SDB,U,MALC-MALCD-16x75.step +MALCD16-75ESDBCM,MALCD,16,75,,E,SDB,CM,MALC-MALCD-16x75.step +MALCD16-75,MALCD,16,75,,,,,MALC-MALCD-16x75.step +MALCD16-75U,MALCD,16,75,,,,U,MALC-MALCD-16x75.step +MALCD16-75CM,MALCD,16,75,,,,CM,MALC-MALCD-16x75.step +MALCD16-75LB,MALCD,16,75,,,LB,,MALC-MALCD-16x75.step +MALCD16-75LBU,MALCD,16,75,,,LB,U,MALC-MALCD-16x75.step +MALCD16-75LBCM,MALCD,16,75,,,LB,CM,MALC-MALCD-16x75.step +MALCD16-75FA,MALCD,16,75,,,FA,,MALC-MALCD-16x75.step +MALCD16-75FAU,MALCD,16,75,,,FA,U,MALC-MALCD-16x75.step +MALCD16-75FACM,MALCD,16,75,,,FA,CM,MALC-MALCD-16x75.step +MALCD16-75FB,MALCD,16,75,,,FB,,MALC-MALCD-16x75.step +MALCD16-75FBU,MALCD,16,75,,,FB,U,MALC-MALCD-16x75.step +MALCD16-75FBCM,MALCD,16,75,,,FB,CM,MALC-MALCD-16x75.step +MALCD16-75SDB,MALCD,16,75,,,SDB,,MALC-MALCD-16x75.step +MALCD16-75SDBU,MALCD,16,75,,,SDB,U,MALC-MALCD-16x75.step +MALCD16-75SDBCM,MALCD,16,75,,,SDB,CM,MALC-MALCD-16x75.step +MALCD16-75ME,MALCD,16,75,M,E,,,MALC-MALCD-16x75.step +MALCD16-75MEU,MALCD,16,75,M,E,,U,MALC-MALCD-16x75.step +MALCD16-75MECM,MALCD,16,75,M,E,,CM,MALC-MALCD-16x75.step +MALCD16-75MELB,MALCD,16,75,M,E,LB,,MALC-MALCD-16x75.step +MALCD16-75MELBU,MALCD,16,75,M,E,LB,U,MALC-MALCD-16x75.step +MALCD16-75MELBCM,MALCD,16,75,M,E,LB,CM,MALC-MALCD-16x75.step +MALCD16-75MEFA,MALCD,16,75,M,E,FA,,MALC-MALCD-16x75.step +MALCD16-75MEFAU,MALCD,16,75,M,E,FA,U,MALC-MALCD-16x75.step +MALCD16-75MEFACM,MALCD,16,75,M,E,FA,CM,MALC-MALCD-16x75.step +MALCD16-75MEFB,MALCD,16,75,M,E,FB,,MALC-MALCD-16x75.step +MALCD16-75MEFBU,MALCD,16,75,M,E,FB,U,MALC-MALCD-16x75.step +MALCD16-75MEFBCM,MALCD,16,75,M,E,FB,CM,MALC-MALCD-16x75.step +MALCD16-75MESDB,MALCD,16,75,M,E,SDB,,MALC-MALCD-16x75.step +MALCD16-75MESDBU,MALCD,16,75,M,E,SDB,U,MALC-MALCD-16x75.step +MALCD16-75MESDBCM,MALCD,16,75,M,E,SDB,CM,MALC-MALCD-16x75.step +MALCD16-75M,MALCD,16,75,M,,,,MALC-MALCD-16x75.step +MALCD16-75MU,MALCD,16,75,M,,,U,MALC-MALCD-16x75.step +MALCD16-75MCM,MALCD,16,75,M,,,CM,MALC-MALCD-16x75.step +MALCD16-75MLB,MALCD,16,75,M,,LB,,MALC-MALCD-16x75.step +MALCD16-75MLBU,MALCD,16,75,M,,LB,U,MALC-MALCD-16x75.step +MALCD16-75MLBCM,MALCD,16,75,M,,LB,CM,MALC-MALCD-16x75.step +MALCD16-75MFA,MALCD,16,75,M,,FA,,MALC-MALCD-16x75.step +MALCD16-75MFAU,MALCD,16,75,M,,FA,U,MALC-MALCD-16x75.step +MALCD16-75MFACM,MALCD,16,75,M,,FA,CM,MALC-MALCD-16x75.step +MALCD16-75MFB,MALCD,16,75,M,,FB,,MALC-MALCD-16x75.step +MALCD16-75MFBU,MALCD,16,75,M,,FB,U,MALC-MALCD-16x75.step +MALCD16-75MFBCM,MALCD,16,75,M,,FB,CM,MALC-MALCD-16x75.step +MALCD16-75MSDB,MALCD,16,75,M,,SDB,,MALC-MALCD-16x75.step +MALCD16-75MSDBU,MALCD,16,75,M,,SDB,U,MALC-MALCD-16x75.step +MALCD16-75MSDBCM,MALCD,16,75,M,,SDB,CM,MALC-MALCD-16x75.step +MALCD16-100E,MALCD,16,100,,E,,,MALC-MALCD-16x100.step +MALCD16-100EU,MALCD,16,100,,E,,U,MALC-MALCD-16x100.step +MALCD16-100ECM,MALCD,16,100,,E,,CM,MALC-MALCD-16x100.step +MALCD16-100ELB,MALCD,16,100,,E,LB,,MALC-MALCD-16x100.step +MALCD16-100ELBU,MALCD,16,100,,E,LB,U,MALC-MALCD-16x100.step +MALCD16-100ELBCM,MALCD,16,100,,E,LB,CM,MALC-MALCD-16x100.step +MALCD16-100EFA,MALCD,16,100,,E,FA,,MALC-MALCD-16x100.step +MALCD16-100EFAU,MALCD,16,100,,E,FA,U,MALC-MALCD-16x100.step +MALCD16-100EFACM,MALCD,16,100,,E,FA,CM,MALC-MALCD-16x100.step +MALCD16-100EFB,MALCD,16,100,,E,FB,,MALC-MALCD-16x100.step +MALCD16-100EFBU,MALCD,16,100,,E,FB,U,MALC-MALCD-16x100.step +MALCD16-100EFBCM,MALCD,16,100,,E,FB,CM,MALC-MALCD-16x100.step +MALCD16-100ESDB,MALCD,16,100,,E,SDB,,MALC-MALCD-16x100.step +MALCD16-100ESDBU,MALCD,16,100,,E,SDB,U,MALC-MALCD-16x100.step +MALCD16-100ESDBCM,MALCD,16,100,,E,SDB,CM,MALC-MALCD-16x100.step +MALCD16-100,MALCD,16,100,,,,,MALC-MALCD-16x100.step +MALCD16-100U,MALCD,16,100,,,,U,MALC-MALCD-16x100.step +MALCD16-100CM,MALCD,16,100,,,,CM,MALC-MALCD-16x100.step +MALCD16-100LB,MALCD,16,100,,,LB,,MALC-MALCD-16x100.step +MALCD16-100LBU,MALCD,16,100,,,LB,U,MALC-MALCD-16x100.step +MALCD16-100LBCM,MALCD,16,100,,,LB,CM,MALC-MALCD-16x100.step +MALCD16-100FA,MALCD,16,100,,,FA,,MALC-MALCD-16x100.step +MALCD16-100FAU,MALCD,16,100,,,FA,U,MALC-MALCD-16x100.step +MALCD16-100FACM,MALCD,16,100,,,FA,CM,MALC-MALCD-16x100.step +MALCD16-100FB,MALCD,16,100,,,FB,,MALC-MALCD-16x100.step +MALCD16-100FBU,MALCD,16,100,,,FB,U,MALC-MALCD-16x100.step +MALCD16-100FBCM,MALCD,16,100,,,FB,CM,MALC-MALCD-16x100.step +MALCD16-100SDB,MALCD,16,100,,,SDB,,MALC-MALCD-16x100.step +MALCD16-100SDBU,MALCD,16,100,,,SDB,U,MALC-MALCD-16x100.step +MALCD16-100SDBCM,MALCD,16,100,,,SDB,CM,MALC-MALCD-16x100.step +MALCD16-100ME,MALCD,16,100,M,E,,,MALC-MALCD-16x100.step +MALCD16-100MEU,MALCD,16,100,M,E,,U,MALC-MALCD-16x100.step +MALCD16-100MECM,MALCD,16,100,M,E,,CM,MALC-MALCD-16x100.step +MALCD16-100MELB,MALCD,16,100,M,E,LB,,MALC-MALCD-16x100.step +MALCD16-100MELBU,MALCD,16,100,M,E,LB,U,MALC-MALCD-16x100.step +MALCD16-100MELBCM,MALCD,16,100,M,E,LB,CM,MALC-MALCD-16x100.step +MALCD16-100MEFA,MALCD,16,100,M,E,FA,,MALC-MALCD-16x100.step +MALCD16-100MEFAU,MALCD,16,100,M,E,FA,U,MALC-MALCD-16x100.step +MALCD16-100MEFACM,MALCD,16,100,M,E,FA,CM,MALC-MALCD-16x100.step +MALCD16-100MEFB,MALCD,16,100,M,E,FB,,MALC-MALCD-16x100.step +MALCD16-100MEFBU,MALCD,16,100,M,E,FB,U,MALC-MALCD-16x100.step +MALCD16-100MEFBCM,MALCD,16,100,M,E,FB,CM,MALC-MALCD-16x100.step +MALCD16-100MESDB,MALCD,16,100,M,E,SDB,,MALC-MALCD-16x100.step +MALCD16-100MESDBU,MALCD,16,100,M,E,SDB,U,MALC-MALCD-16x100.step +MALCD16-100MESDBCM,MALCD,16,100,M,E,SDB,CM,MALC-MALCD-16x100.step +MALCD16-100M,MALCD,16,100,M,,,,MALC-MALCD-16x100.step +MALCD16-100MU,MALCD,16,100,M,,,U,MALC-MALCD-16x100.step +MALCD16-100MCM,MALCD,16,100,M,,,CM,MALC-MALCD-16x100.step +MALCD16-100MLB,MALCD,16,100,M,,LB,,MALC-MALCD-16x100.step +MALCD16-100MLBU,MALCD,16,100,M,,LB,U,MALC-MALCD-16x100.step +MALCD16-100MLBCM,MALCD,16,100,M,,LB,CM,MALC-MALCD-16x100.step +MALCD16-100MFA,MALCD,16,100,M,,FA,,MALC-MALCD-16x100.step +MALCD16-100MFAU,MALCD,16,100,M,,FA,U,MALC-MALCD-16x100.step +MALCD16-100MFACM,MALCD,16,100,M,,FA,CM,MALC-MALCD-16x100.step +MALCD16-100MFB,MALCD,16,100,M,,FB,,MALC-MALCD-16x100.step +MALCD16-100MFBU,MALCD,16,100,M,,FB,U,MALC-MALCD-16x100.step +MALCD16-100MFBCM,MALCD,16,100,M,,FB,CM,MALC-MALCD-16x100.step +MALCD16-100MSDB,MALCD,16,100,M,,SDB,,MALC-MALCD-16x100.step +MALCD16-100MSDBU,MALCD,16,100,M,,SDB,U,MALC-MALCD-16x100.step +MALCD16-100MSDBCM,MALCD,16,100,M,,SDB,CM,MALC-MALCD-16x100.step +MALCD20-10E,MALCD,20,10,,E,,,MALC-MALCD-20x10.step +MALCD20-10EU,MALCD,20,10,,E,,U,MALC-MALCD-20x10.step +MALCD20-10ECM,MALCD,20,10,,E,,CM,MALC-MALCD-20x10.step +MALCD20-10ELB,MALCD,20,10,,E,LB,,MALC-MALCD-20x10.step +MALCD20-10ELBU,MALCD,20,10,,E,LB,U,MALC-MALCD-20x10.step +MALCD20-10ELBCM,MALCD,20,10,,E,LB,CM,MALC-MALCD-20x10.step +MALCD20-10EFA,MALCD,20,10,,E,FA,,MALC-MALCD-20x10.step +MALCD20-10EFAU,MALCD,20,10,,E,FA,U,MALC-MALCD-20x10.step +MALCD20-10EFACM,MALCD,20,10,,E,FA,CM,MALC-MALCD-20x10.step +MALCD20-10EFB,MALCD,20,10,,E,FB,,MALC-MALCD-20x10.step +MALCD20-10EFBU,MALCD,20,10,,E,FB,U,MALC-MALCD-20x10.step +MALCD20-10EFBCM,MALCD,20,10,,E,FB,CM,MALC-MALCD-20x10.step +MALCD20-10ESDB,MALCD,20,10,,E,SDB,,MALC-MALCD-20x10.step +MALCD20-10ESDBU,MALCD,20,10,,E,SDB,U,MALC-MALCD-20x10.step +MALCD20-10ESDBCM,MALCD,20,10,,E,SDB,CM,MALC-MALCD-20x10.step +MALCD20-10,MALCD,20,10,,,,,MALC-MALCD-20x10.step +MALCD20-10U,MALCD,20,10,,,,U,MALC-MALCD-20x10.step +MALCD20-10CM,MALCD,20,10,,,,CM,MALC-MALCD-20x10.step +MALCD20-10LB,MALCD,20,10,,,LB,,MALC-MALCD-20x10.step +MALCD20-10LBU,MALCD,20,10,,,LB,U,MALC-MALCD-20x10.step +MALCD20-10LBCM,MALCD,20,10,,,LB,CM,MALC-MALCD-20x10.step +MALCD20-10FA,MALCD,20,10,,,FA,,MALC-MALCD-20x10.step +MALCD20-10FAU,MALCD,20,10,,,FA,U,MALC-MALCD-20x10.step +MALCD20-10FACM,MALCD,20,10,,,FA,CM,MALC-MALCD-20x10.step +MALCD20-10FB,MALCD,20,10,,,FB,,MALC-MALCD-20x10.step +MALCD20-10FBU,MALCD,20,10,,,FB,U,MALC-MALCD-20x10.step +MALCD20-10FBCM,MALCD,20,10,,,FB,CM,MALC-MALCD-20x10.step +MALCD20-10SDB,MALCD,20,10,,,SDB,,MALC-MALCD-20x10.step +MALCD20-10SDBU,MALCD,20,10,,,SDB,U,MALC-MALCD-20x10.step +MALCD20-10SDBCM,MALCD,20,10,,,SDB,CM,MALC-MALCD-20x10.step +MALCD20-10ME,MALCD,20,10,M,E,,,MALC-MALCD-20x10.step +MALCD20-10MEU,MALCD,20,10,M,E,,U,MALC-MALCD-20x10.step +MALCD20-10MECM,MALCD,20,10,M,E,,CM,MALC-MALCD-20x10.step +MALCD20-10MELB,MALCD,20,10,M,E,LB,,MALC-MALCD-20x10.step +MALCD20-10MELBU,MALCD,20,10,M,E,LB,U,MALC-MALCD-20x10.step +MALCD20-10MELBCM,MALCD,20,10,M,E,LB,CM,MALC-MALCD-20x10.step +MALCD20-10MEFA,MALCD,20,10,M,E,FA,,MALC-MALCD-20x10.step +MALCD20-10MEFAU,MALCD,20,10,M,E,FA,U,MALC-MALCD-20x10.step +MALCD20-10MEFACM,MALCD,20,10,M,E,FA,CM,MALC-MALCD-20x10.step +MALCD20-10MEFB,MALCD,20,10,M,E,FB,,MALC-MALCD-20x10.step +MALCD20-10MEFBU,MALCD,20,10,M,E,FB,U,MALC-MALCD-20x10.step +MALCD20-10MEFBCM,MALCD,20,10,M,E,FB,CM,MALC-MALCD-20x10.step +MALCD20-10MESDB,MALCD,20,10,M,E,SDB,,MALC-MALCD-20x10.step +MALCD20-10MESDBU,MALCD,20,10,M,E,SDB,U,MALC-MALCD-20x10.step +MALCD20-10MESDBCM,MALCD,20,10,M,E,SDB,CM,MALC-MALCD-20x10.step +MALCD20-10M,MALCD,20,10,M,,,,MALC-MALCD-20x10.step +MALCD20-10MU,MALCD,20,10,M,,,U,MALC-MALCD-20x10.step +MALCD20-10MCM,MALCD,20,10,M,,,CM,MALC-MALCD-20x10.step +MALCD20-10MLB,MALCD,20,10,M,,LB,,MALC-MALCD-20x10.step +MALCD20-10MLBU,MALCD,20,10,M,,LB,U,MALC-MALCD-20x10.step +MALCD20-10MLBCM,MALCD,20,10,M,,LB,CM,MALC-MALCD-20x10.step +MALCD20-10MFA,MALCD,20,10,M,,FA,,MALC-MALCD-20x10.step +MALCD20-10MFAU,MALCD,20,10,M,,FA,U,MALC-MALCD-20x10.step +MALCD20-10MFACM,MALCD,20,10,M,,FA,CM,MALC-MALCD-20x10.step +MALCD20-10MFB,MALCD,20,10,M,,FB,,MALC-MALCD-20x10.step +MALCD20-10MFBU,MALCD,20,10,M,,FB,U,MALC-MALCD-20x10.step +MALCD20-10MFBCM,MALCD,20,10,M,,FB,CM,MALC-MALCD-20x10.step +MALCD20-10MSDB,MALCD,20,10,M,,SDB,,MALC-MALCD-20x10.step +MALCD20-10MSDBU,MALCD,20,10,M,,SDB,U,MALC-MALCD-20x10.step +MALCD20-10MSDBCM,MALCD,20,10,M,,SDB,CM,MALC-MALCD-20x10.step +MALCD20-20E,MALCD,20,20,,E,,,MALC-MALCD-20x20.step +MALCD20-20EU,MALCD,20,20,,E,,U,MALC-MALCD-20x20.step +MALCD20-20ECM,MALCD,20,20,,E,,CM,MALC-MALCD-20x20.step +MALCD20-20ELB,MALCD,20,20,,E,LB,,MALC-MALCD-20x20.step +MALCD20-20ELBU,MALCD,20,20,,E,LB,U,MALC-MALCD-20x20.step +MALCD20-20ELBCM,MALCD,20,20,,E,LB,CM,MALC-MALCD-20x20.step +MALCD20-20EFA,MALCD,20,20,,E,FA,,MALC-MALCD-20x20.step +MALCD20-20EFAU,MALCD,20,20,,E,FA,U,MALC-MALCD-20x20.step +MALCD20-20EFACM,MALCD,20,20,,E,FA,CM,MALC-MALCD-20x20.step +MALCD20-20EFB,MALCD,20,20,,E,FB,,MALC-MALCD-20x20.step +MALCD20-20EFBU,MALCD,20,20,,E,FB,U,MALC-MALCD-20x20.step +MALCD20-20EFBCM,MALCD,20,20,,E,FB,CM,MALC-MALCD-20x20.step +MALCD20-20ESDB,MALCD,20,20,,E,SDB,,MALC-MALCD-20x20.step +MALCD20-20ESDBU,MALCD,20,20,,E,SDB,U,MALC-MALCD-20x20.step +MALCD20-20ESDBCM,MALCD,20,20,,E,SDB,CM,MALC-MALCD-20x20.step +MALCD20-20,MALCD,20,20,,,,,MALC-MALCD-20x20.step +MALCD20-20U,MALCD,20,20,,,,U,MALC-MALCD-20x20.step +MALCD20-20CM,MALCD,20,20,,,,CM,MALC-MALCD-20x20.step +MALCD20-20LB,MALCD,20,20,,,LB,,MALC-MALCD-20x20.step +MALCD20-20LBU,MALCD,20,20,,,LB,U,MALC-MALCD-20x20.step +MALCD20-20LBCM,MALCD,20,20,,,LB,CM,MALC-MALCD-20x20.step +MALCD20-20FA,MALCD,20,20,,,FA,,MALC-MALCD-20x20.step +MALCD20-20FAU,MALCD,20,20,,,FA,U,MALC-MALCD-20x20.step +MALCD20-20FACM,MALCD,20,20,,,FA,CM,MALC-MALCD-20x20.step +MALCD20-20FB,MALCD,20,20,,,FB,,MALC-MALCD-20x20.step +MALCD20-20FBU,MALCD,20,20,,,FB,U,MALC-MALCD-20x20.step +MALCD20-20FBCM,MALCD,20,20,,,FB,CM,MALC-MALCD-20x20.step +MALCD20-20SDB,MALCD,20,20,,,SDB,,MALC-MALCD-20x20.step +MALCD20-20SDBU,MALCD,20,20,,,SDB,U,MALC-MALCD-20x20.step +MALCD20-20SDBCM,MALCD,20,20,,,SDB,CM,MALC-MALCD-20x20.step +MALCD20-20ME,MALCD,20,20,M,E,,,MALC-MALCD-20x20.step +MALCD20-20MEU,MALCD,20,20,M,E,,U,MALC-MALCD-20x20.step +MALCD20-20MECM,MALCD,20,20,M,E,,CM,MALC-MALCD-20x20.step +MALCD20-20MELB,MALCD,20,20,M,E,LB,,MALC-MALCD-20x20.step +MALCD20-20MELBU,MALCD,20,20,M,E,LB,U,MALC-MALCD-20x20.step +MALCD20-20MELBCM,MALCD,20,20,M,E,LB,CM,MALC-MALCD-20x20.step +MALCD20-20MEFA,MALCD,20,20,M,E,FA,,MALC-MALCD-20x20.step +MALCD20-20MEFAU,MALCD,20,20,M,E,FA,U,MALC-MALCD-20x20.step +MALCD20-20MEFACM,MALCD,20,20,M,E,FA,CM,MALC-MALCD-20x20.step +MALCD20-20MEFB,MALCD,20,20,M,E,FB,,MALC-MALCD-20x20.step +MALCD20-20MEFBU,MALCD,20,20,M,E,FB,U,MALC-MALCD-20x20.step +MALCD20-20MEFBCM,MALCD,20,20,M,E,FB,CM,MALC-MALCD-20x20.step +MALCD20-20MESDB,MALCD,20,20,M,E,SDB,,MALC-MALCD-20x20.step +MALCD20-20MESDBU,MALCD,20,20,M,E,SDB,U,MALC-MALCD-20x20.step +MALCD20-20MESDBCM,MALCD,20,20,M,E,SDB,CM,MALC-MALCD-20x20.step +MALCD20-20M,MALCD,20,20,M,,,,MALC-MALCD-20x20.step +MALCD20-20MU,MALCD,20,20,M,,,U,MALC-MALCD-20x20.step +MALCD20-20MCM,MALCD,20,20,M,,,CM,MALC-MALCD-20x20.step +MALCD20-20MLB,MALCD,20,20,M,,LB,,MALC-MALCD-20x20.step +MALCD20-20MLBU,MALCD,20,20,M,,LB,U,MALC-MALCD-20x20.step +MALCD20-20MLBCM,MALCD,20,20,M,,LB,CM,MALC-MALCD-20x20.step +MALCD20-20MFA,MALCD,20,20,M,,FA,,MALC-MALCD-20x20.step +MALCD20-20MFAU,MALCD,20,20,M,,FA,U,MALC-MALCD-20x20.step +MALCD20-20MFACM,MALCD,20,20,M,,FA,CM,MALC-MALCD-20x20.step +MALCD20-20MFB,MALCD,20,20,M,,FB,,MALC-MALCD-20x20.step +MALCD20-20MFBU,MALCD,20,20,M,,FB,U,MALC-MALCD-20x20.step +MALCD20-20MFBCM,MALCD,20,20,M,,FB,CM,MALC-MALCD-20x20.step +MALCD20-20MSDB,MALCD,20,20,M,,SDB,,MALC-MALCD-20x20.step +MALCD20-20MSDBU,MALCD,20,20,M,,SDB,U,MALC-MALCD-20x20.step +MALCD20-20MSDBCM,MALCD,20,20,M,,SDB,CM,MALC-MALCD-20x20.step +MALCD20-30E,MALCD,20,30,,E,,,MALC-MALCD-20x30.step +MALCD20-30EU,MALCD,20,30,,E,,U,MALC-MALCD-20x30.step +MALCD20-30ECM,MALCD,20,30,,E,,CM,MALC-MALCD-20x30.step +MALCD20-30ELB,MALCD,20,30,,E,LB,,MALC-MALCD-20x30.step +MALCD20-30ELBU,MALCD,20,30,,E,LB,U,MALC-MALCD-20x30.step +MALCD20-30ELBCM,MALCD,20,30,,E,LB,CM,MALC-MALCD-20x30.step +MALCD20-30EFA,MALCD,20,30,,E,FA,,MALC-MALCD-20x30.step +MALCD20-30EFAU,MALCD,20,30,,E,FA,U,MALC-MALCD-20x30.step +MALCD20-30EFACM,MALCD,20,30,,E,FA,CM,MALC-MALCD-20x30.step +MALCD20-30EFB,MALCD,20,30,,E,FB,,MALC-MALCD-20x30.step +MALCD20-30EFBU,MALCD,20,30,,E,FB,U,MALC-MALCD-20x30.step +MALCD20-30EFBCM,MALCD,20,30,,E,FB,CM,MALC-MALCD-20x30.step +MALCD20-30ESDB,MALCD,20,30,,E,SDB,,MALC-MALCD-20x30.step +MALCD20-30ESDBU,MALCD,20,30,,E,SDB,U,MALC-MALCD-20x30.step +MALCD20-30ESDBCM,MALCD,20,30,,E,SDB,CM,MALC-MALCD-20x30.step +MALCD20-30,MALCD,20,30,,,,,MALC-MALCD-20x30.step +MALCD20-30U,MALCD,20,30,,,,U,MALC-MALCD-20x30.step +MALCD20-30CM,MALCD,20,30,,,,CM,MALC-MALCD-20x30.step +MALCD20-30LB,MALCD,20,30,,,LB,,MALC-MALCD-20x30.step +MALCD20-30LBU,MALCD,20,30,,,LB,U,MALC-MALCD-20x30.step +MALCD20-30LBCM,MALCD,20,30,,,LB,CM,MALC-MALCD-20x30.step +MALCD20-30FA,MALCD,20,30,,,FA,,MALC-MALCD-20x30.step +MALCD20-30FAU,MALCD,20,30,,,FA,U,MALC-MALCD-20x30.step +MALCD20-30FACM,MALCD,20,30,,,FA,CM,MALC-MALCD-20x30.step +MALCD20-30FB,MALCD,20,30,,,FB,,MALC-MALCD-20x30.step +MALCD20-30FBU,MALCD,20,30,,,FB,U,MALC-MALCD-20x30.step +MALCD20-30FBCM,MALCD,20,30,,,FB,CM,MALC-MALCD-20x30.step +MALCD20-30SDB,MALCD,20,30,,,SDB,,MALC-MALCD-20x30.step +MALCD20-30SDBU,MALCD,20,30,,,SDB,U,MALC-MALCD-20x30.step +MALCD20-30SDBCM,MALCD,20,30,,,SDB,CM,MALC-MALCD-20x30.step +MALCD20-30ME,MALCD,20,30,M,E,,,MALC-MALCD-20x30.step +MALCD20-30MEU,MALCD,20,30,M,E,,U,MALC-MALCD-20x30.step +MALCD20-30MECM,MALCD,20,30,M,E,,CM,MALC-MALCD-20x30.step +MALCD20-30MELB,MALCD,20,30,M,E,LB,,MALC-MALCD-20x30.step +MALCD20-30MELBU,MALCD,20,30,M,E,LB,U,MALC-MALCD-20x30.step +MALCD20-30MELBCM,MALCD,20,30,M,E,LB,CM,MALC-MALCD-20x30.step +MALCD20-30MEFA,MALCD,20,30,M,E,FA,,MALC-MALCD-20x30.step +MALCD20-30MEFAU,MALCD,20,30,M,E,FA,U,MALC-MALCD-20x30.step +MALCD20-30MEFACM,MALCD,20,30,M,E,FA,CM,MALC-MALCD-20x30.step +MALCD20-30MEFB,MALCD,20,30,M,E,FB,,MALC-MALCD-20x30.step +MALCD20-30MEFBU,MALCD,20,30,M,E,FB,U,MALC-MALCD-20x30.step +MALCD20-30MEFBCM,MALCD,20,30,M,E,FB,CM,MALC-MALCD-20x30.step +MALCD20-30MESDB,MALCD,20,30,M,E,SDB,,MALC-MALCD-20x30.step +MALCD20-30MESDBU,MALCD,20,30,M,E,SDB,U,MALC-MALCD-20x30.step +MALCD20-30MESDBCM,MALCD,20,30,M,E,SDB,CM,MALC-MALCD-20x30.step +MALCD20-30M,MALCD,20,30,M,,,,MALC-MALCD-20x30.step +MALCD20-30MU,MALCD,20,30,M,,,U,MALC-MALCD-20x30.step +MALCD20-30MCM,MALCD,20,30,M,,,CM,MALC-MALCD-20x30.step +MALCD20-30MLB,MALCD,20,30,M,,LB,,MALC-MALCD-20x30.step +MALCD20-30MLBU,MALCD,20,30,M,,LB,U,MALC-MALCD-20x30.step +MALCD20-30MLBCM,MALCD,20,30,M,,LB,CM,MALC-MALCD-20x30.step +MALCD20-30MFA,MALCD,20,30,M,,FA,,MALC-MALCD-20x30.step +MALCD20-30MFAU,MALCD,20,30,M,,FA,U,MALC-MALCD-20x30.step +MALCD20-30MFACM,MALCD,20,30,M,,FA,CM,MALC-MALCD-20x30.step +MALCD20-30MFB,MALCD,20,30,M,,FB,,MALC-MALCD-20x30.step +MALCD20-30MFBU,MALCD,20,30,M,,FB,U,MALC-MALCD-20x30.step +MALCD20-30MFBCM,MALCD,20,30,M,,FB,CM,MALC-MALCD-20x30.step +MALCD20-30MSDB,MALCD,20,30,M,,SDB,,MALC-MALCD-20x30.step +MALCD20-30MSDBU,MALCD,20,30,M,,SDB,U,MALC-MALCD-20x30.step +MALCD20-30MSDBCM,MALCD,20,30,M,,SDB,CM,MALC-MALCD-20x30.step +MALCD20-50E,MALCD,20,50,,E,,,MALC-MALCD-20x50.step +MALCD20-50EU,MALCD,20,50,,E,,U,MALC-MALCD-20x50.step +MALCD20-50ECM,MALCD,20,50,,E,,CM,MALC-MALCD-20x50.step +MALCD20-50ELB,MALCD,20,50,,E,LB,,MALC-MALCD-20x50.step +MALCD20-50ELBU,MALCD,20,50,,E,LB,U,MALC-MALCD-20x50.step +MALCD20-50ELBCM,MALCD,20,50,,E,LB,CM,MALC-MALCD-20x50.step +MALCD20-50EFA,MALCD,20,50,,E,FA,,MALC-MALCD-20x50.step +MALCD20-50EFAU,MALCD,20,50,,E,FA,U,MALC-MALCD-20x50.step +MALCD20-50EFACM,MALCD,20,50,,E,FA,CM,MALC-MALCD-20x50.step +MALCD20-50EFB,MALCD,20,50,,E,FB,,MALC-MALCD-20x50.step +MALCD20-50EFBU,MALCD,20,50,,E,FB,U,MALC-MALCD-20x50.step +MALCD20-50EFBCM,MALCD,20,50,,E,FB,CM,MALC-MALCD-20x50.step +MALCD20-50ESDB,MALCD,20,50,,E,SDB,,MALC-MALCD-20x50.step +MALCD20-50ESDBU,MALCD,20,50,,E,SDB,U,MALC-MALCD-20x50.step +MALCD20-50ESDBCM,MALCD,20,50,,E,SDB,CM,MALC-MALCD-20x50.step +MALCD20-50,MALCD,20,50,,,,,MALC-MALCD-20x50.step +MALCD20-50U,MALCD,20,50,,,,U,MALC-MALCD-20x50.step +MALCD20-50CM,MALCD,20,50,,,,CM,MALC-MALCD-20x50.step +MALCD20-50LB,MALCD,20,50,,,LB,,MALC-MALCD-20x50.step +MALCD20-50LBU,MALCD,20,50,,,LB,U,MALC-MALCD-20x50.step +MALCD20-50LBCM,MALCD,20,50,,,LB,CM,MALC-MALCD-20x50.step +MALCD20-50FA,MALCD,20,50,,,FA,,MALC-MALCD-20x50.step +MALCD20-50FAU,MALCD,20,50,,,FA,U,MALC-MALCD-20x50.step +MALCD20-50FACM,MALCD,20,50,,,FA,CM,MALC-MALCD-20x50.step +MALCD20-50FB,MALCD,20,50,,,FB,,MALC-MALCD-20x50.step +MALCD20-50FBU,MALCD,20,50,,,FB,U,MALC-MALCD-20x50.step +MALCD20-50FBCM,MALCD,20,50,,,FB,CM,MALC-MALCD-20x50.step +MALCD20-50SDB,MALCD,20,50,,,SDB,,MALC-MALCD-20x50.step +MALCD20-50SDBU,MALCD,20,50,,,SDB,U,MALC-MALCD-20x50.step +MALCD20-50SDBCM,MALCD,20,50,,,SDB,CM,MALC-MALCD-20x50.step +MALCD20-50ME,MALCD,20,50,M,E,,,MALC-MALCD-20x50.step +MALCD20-50MEU,MALCD,20,50,M,E,,U,MALC-MALCD-20x50.step +MALCD20-50MECM,MALCD,20,50,M,E,,CM,MALC-MALCD-20x50.step +MALCD20-50MELB,MALCD,20,50,M,E,LB,,MALC-MALCD-20x50.step +MALCD20-50MELBU,MALCD,20,50,M,E,LB,U,MALC-MALCD-20x50.step +MALCD20-50MELBCM,MALCD,20,50,M,E,LB,CM,MALC-MALCD-20x50.step +MALCD20-50MEFA,MALCD,20,50,M,E,FA,,MALC-MALCD-20x50.step +MALCD20-50MEFAU,MALCD,20,50,M,E,FA,U,MALC-MALCD-20x50.step +MALCD20-50MEFACM,MALCD,20,50,M,E,FA,CM,MALC-MALCD-20x50.step +MALCD20-50MEFB,MALCD,20,50,M,E,FB,,MALC-MALCD-20x50.step +MALCD20-50MEFBU,MALCD,20,50,M,E,FB,U,MALC-MALCD-20x50.step +MALCD20-50MEFBCM,MALCD,20,50,M,E,FB,CM,MALC-MALCD-20x50.step +MALCD20-50MESDB,MALCD,20,50,M,E,SDB,,MALC-MALCD-20x50.step +MALCD20-50MESDBU,MALCD,20,50,M,E,SDB,U,MALC-MALCD-20x50.step +MALCD20-50MESDBCM,MALCD,20,50,M,E,SDB,CM,MALC-MALCD-20x50.step +MALCD20-50M,MALCD,20,50,M,,,,MALC-MALCD-20x50.step +MALCD20-50MU,MALCD,20,50,M,,,U,MALC-MALCD-20x50.step +MALCD20-50MCM,MALCD,20,50,M,,,CM,MALC-MALCD-20x50.step +MALCD20-50MLB,MALCD,20,50,M,,LB,,MALC-MALCD-20x50.step +MALCD20-50MLBU,MALCD,20,50,M,,LB,U,MALC-MALCD-20x50.step +MALCD20-50MLBCM,MALCD,20,50,M,,LB,CM,MALC-MALCD-20x50.step +MALCD20-50MFA,MALCD,20,50,M,,FA,,MALC-MALCD-20x50.step +MALCD20-50MFAU,MALCD,20,50,M,,FA,U,MALC-MALCD-20x50.step +MALCD20-50MFACM,MALCD,20,50,M,,FA,CM,MALC-MALCD-20x50.step +MALCD20-50MFB,MALCD,20,50,M,,FB,,MALC-MALCD-20x50.step +MALCD20-50MFBU,MALCD,20,50,M,,FB,U,MALC-MALCD-20x50.step +MALCD20-50MFBCM,MALCD,20,50,M,,FB,CM,MALC-MALCD-20x50.step +MALCD20-50MSDB,MALCD,20,50,M,,SDB,,MALC-MALCD-20x50.step +MALCD20-50MSDBU,MALCD,20,50,M,,SDB,U,MALC-MALCD-20x50.step +MALCD20-50MSDBCM,MALCD,20,50,M,,SDB,CM,MALC-MALCD-20x50.step +MALCD20-75E,MALCD,20,75,,E,,,MALC-MALCD-20x75.step +MALCD20-75EU,MALCD,20,75,,E,,U,MALC-MALCD-20x75.step +MALCD20-75ECM,MALCD,20,75,,E,,CM,MALC-MALCD-20x75.step +MALCD20-75ELB,MALCD,20,75,,E,LB,,MALC-MALCD-20x75.step +MALCD20-75ELBU,MALCD,20,75,,E,LB,U,MALC-MALCD-20x75.step +MALCD20-75ELBCM,MALCD,20,75,,E,LB,CM,MALC-MALCD-20x75.step +MALCD20-75EFA,MALCD,20,75,,E,FA,,MALC-MALCD-20x75.step +MALCD20-75EFAU,MALCD,20,75,,E,FA,U,MALC-MALCD-20x75.step +MALCD20-75EFACM,MALCD,20,75,,E,FA,CM,MALC-MALCD-20x75.step +MALCD20-75EFB,MALCD,20,75,,E,FB,,MALC-MALCD-20x75.step +MALCD20-75EFBU,MALCD,20,75,,E,FB,U,MALC-MALCD-20x75.step +MALCD20-75EFBCM,MALCD,20,75,,E,FB,CM,MALC-MALCD-20x75.step +MALCD20-75ESDB,MALCD,20,75,,E,SDB,,MALC-MALCD-20x75.step +MALCD20-75ESDBU,MALCD,20,75,,E,SDB,U,MALC-MALCD-20x75.step +MALCD20-75ESDBCM,MALCD,20,75,,E,SDB,CM,MALC-MALCD-20x75.step +MALCD20-75,MALCD,20,75,,,,,MALC-MALCD-20x75.step +MALCD20-75U,MALCD,20,75,,,,U,MALC-MALCD-20x75.step +MALCD20-75CM,MALCD,20,75,,,,CM,MALC-MALCD-20x75.step +MALCD20-75LB,MALCD,20,75,,,LB,,MALC-MALCD-20x75.step +MALCD20-75LBU,MALCD,20,75,,,LB,U,MALC-MALCD-20x75.step +MALCD20-75LBCM,MALCD,20,75,,,LB,CM,MALC-MALCD-20x75.step +MALCD20-75FA,MALCD,20,75,,,FA,,MALC-MALCD-20x75.step +MALCD20-75FAU,MALCD,20,75,,,FA,U,MALC-MALCD-20x75.step +MALCD20-75FACM,MALCD,20,75,,,FA,CM,MALC-MALCD-20x75.step +MALCD20-75FB,MALCD,20,75,,,FB,,MALC-MALCD-20x75.step +MALCD20-75FBU,MALCD,20,75,,,FB,U,MALC-MALCD-20x75.step +MALCD20-75FBCM,MALCD,20,75,,,FB,CM,MALC-MALCD-20x75.step +MALCD20-75SDB,MALCD,20,75,,,SDB,,MALC-MALCD-20x75.step +MALCD20-75SDBU,MALCD,20,75,,,SDB,U,MALC-MALCD-20x75.step +MALCD20-75SDBCM,MALCD,20,75,,,SDB,CM,MALC-MALCD-20x75.step +MALCD20-75ME,MALCD,20,75,M,E,,,MALC-MALCD-20x75.step +MALCD20-75MEU,MALCD,20,75,M,E,,U,MALC-MALCD-20x75.step +MALCD20-75MECM,MALCD,20,75,M,E,,CM,MALC-MALCD-20x75.step +MALCD20-75MELB,MALCD,20,75,M,E,LB,,MALC-MALCD-20x75.step +MALCD20-75MELBU,MALCD,20,75,M,E,LB,U,MALC-MALCD-20x75.step +MALCD20-75MELBCM,MALCD,20,75,M,E,LB,CM,MALC-MALCD-20x75.step +MALCD20-75MEFA,MALCD,20,75,M,E,FA,,MALC-MALCD-20x75.step +MALCD20-75MEFAU,MALCD,20,75,M,E,FA,U,MALC-MALCD-20x75.step +MALCD20-75MEFACM,MALCD,20,75,M,E,FA,CM,MALC-MALCD-20x75.step +MALCD20-75MEFB,MALCD,20,75,M,E,FB,,MALC-MALCD-20x75.step +MALCD20-75MEFBU,MALCD,20,75,M,E,FB,U,MALC-MALCD-20x75.step +MALCD20-75MEFBCM,MALCD,20,75,M,E,FB,CM,MALC-MALCD-20x75.step +MALCD20-75MESDB,MALCD,20,75,M,E,SDB,,MALC-MALCD-20x75.step +MALCD20-75MESDBU,MALCD,20,75,M,E,SDB,U,MALC-MALCD-20x75.step +MALCD20-75MESDBCM,MALCD,20,75,M,E,SDB,CM,MALC-MALCD-20x75.step +MALCD20-75M,MALCD,20,75,M,,,,MALC-MALCD-20x75.step +MALCD20-75MU,MALCD,20,75,M,,,U,MALC-MALCD-20x75.step +MALCD20-75MCM,MALCD,20,75,M,,,CM,MALC-MALCD-20x75.step +MALCD20-75MLB,MALCD,20,75,M,,LB,,MALC-MALCD-20x75.step +MALCD20-75MLBU,MALCD,20,75,M,,LB,U,MALC-MALCD-20x75.step +MALCD20-75MLBCM,MALCD,20,75,M,,LB,CM,MALC-MALCD-20x75.step +MALCD20-75MFA,MALCD,20,75,M,,FA,,MALC-MALCD-20x75.step +MALCD20-75MFAU,MALCD,20,75,M,,FA,U,MALC-MALCD-20x75.step +MALCD20-75MFACM,MALCD,20,75,M,,FA,CM,MALC-MALCD-20x75.step +MALCD20-75MFB,MALCD,20,75,M,,FB,,MALC-MALCD-20x75.step +MALCD20-75MFBU,MALCD,20,75,M,,FB,U,MALC-MALCD-20x75.step +MALCD20-75MFBCM,MALCD,20,75,M,,FB,CM,MALC-MALCD-20x75.step +MALCD20-75MSDB,MALCD,20,75,M,,SDB,,MALC-MALCD-20x75.step +MALCD20-75MSDBU,MALCD,20,75,M,,SDB,U,MALC-MALCD-20x75.step +MALCD20-75MSDBCM,MALCD,20,75,M,,SDB,CM,MALC-MALCD-20x75.step +MALCD20-100E,MALCD,20,100,,E,,,MALC-MALCD-20x100.step +MALCD20-100EU,MALCD,20,100,,E,,U,MALC-MALCD-20x100.step +MALCD20-100ECM,MALCD,20,100,,E,,CM,MALC-MALCD-20x100.step +MALCD20-100ELB,MALCD,20,100,,E,LB,,MALC-MALCD-20x100.step +MALCD20-100ELBU,MALCD,20,100,,E,LB,U,MALC-MALCD-20x100.step +MALCD20-100ELBCM,MALCD,20,100,,E,LB,CM,MALC-MALCD-20x100.step +MALCD20-100EFA,MALCD,20,100,,E,FA,,MALC-MALCD-20x100.step +MALCD20-100EFAU,MALCD,20,100,,E,FA,U,MALC-MALCD-20x100.step +MALCD20-100EFACM,MALCD,20,100,,E,FA,CM,MALC-MALCD-20x100.step +MALCD20-100EFB,MALCD,20,100,,E,FB,,MALC-MALCD-20x100.step +MALCD20-100EFBU,MALCD,20,100,,E,FB,U,MALC-MALCD-20x100.step +MALCD20-100EFBCM,MALCD,20,100,,E,FB,CM,MALC-MALCD-20x100.step +MALCD20-100ESDB,MALCD,20,100,,E,SDB,,MALC-MALCD-20x100.step +MALCD20-100ESDBU,MALCD,20,100,,E,SDB,U,MALC-MALCD-20x100.step +MALCD20-100ESDBCM,MALCD,20,100,,E,SDB,CM,MALC-MALCD-20x100.step +MALCD20-100,MALCD,20,100,,,,,MALC-MALCD-20x100.step +MALCD20-100U,MALCD,20,100,,,,U,MALC-MALCD-20x100.step +MALCD20-100CM,MALCD,20,100,,,,CM,MALC-MALCD-20x100.step +MALCD20-100LB,MALCD,20,100,,,LB,,MALC-MALCD-20x100.step +MALCD20-100LBU,MALCD,20,100,,,LB,U,MALC-MALCD-20x100.step +MALCD20-100LBCM,MALCD,20,100,,,LB,CM,MALC-MALCD-20x100.step +MALCD20-100FA,MALCD,20,100,,,FA,,MALC-MALCD-20x100.step +MALCD20-100FAU,MALCD,20,100,,,FA,U,MALC-MALCD-20x100.step +MALCD20-100FACM,MALCD,20,100,,,FA,CM,MALC-MALCD-20x100.step +MALCD20-100FB,MALCD,20,100,,,FB,,MALC-MALCD-20x100.step +MALCD20-100FBU,MALCD,20,100,,,FB,U,MALC-MALCD-20x100.step +MALCD20-100FBCM,MALCD,20,100,,,FB,CM,MALC-MALCD-20x100.step +MALCD20-100SDB,MALCD,20,100,,,SDB,,MALC-MALCD-20x100.step +MALCD20-100SDBU,MALCD,20,100,,,SDB,U,MALC-MALCD-20x100.step +MALCD20-100SDBCM,MALCD,20,100,,,SDB,CM,MALC-MALCD-20x100.step +MALCD20-100ME,MALCD,20,100,M,E,,,MALC-MALCD-20x100.step +MALCD20-100MEU,MALCD,20,100,M,E,,U,MALC-MALCD-20x100.step +MALCD20-100MECM,MALCD,20,100,M,E,,CM,MALC-MALCD-20x100.step +MALCD20-100MELB,MALCD,20,100,M,E,LB,,MALC-MALCD-20x100.step +MALCD20-100MELBU,MALCD,20,100,M,E,LB,U,MALC-MALCD-20x100.step +MALCD20-100MELBCM,MALCD,20,100,M,E,LB,CM,MALC-MALCD-20x100.step +MALCD20-100MEFA,MALCD,20,100,M,E,FA,,MALC-MALCD-20x100.step +MALCD20-100MEFAU,MALCD,20,100,M,E,FA,U,MALC-MALCD-20x100.step +MALCD20-100MEFACM,MALCD,20,100,M,E,FA,CM,MALC-MALCD-20x100.step +MALCD20-100MEFB,MALCD,20,100,M,E,FB,,MALC-MALCD-20x100.step +MALCD20-100MEFBU,MALCD,20,100,M,E,FB,U,MALC-MALCD-20x100.step +MALCD20-100MEFBCM,MALCD,20,100,M,E,FB,CM,MALC-MALCD-20x100.step +MALCD20-100MESDB,MALCD,20,100,M,E,SDB,,MALC-MALCD-20x100.step +MALCD20-100MESDBU,MALCD,20,100,M,E,SDB,U,MALC-MALCD-20x100.step +MALCD20-100MESDBCM,MALCD,20,100,M,E,SDB,CM,MALC-MALCD-20x100.step +MALCD20-100M,MALCD,20,100,M,,,,MALC-MALCD-20x100.step +MALCD20-100MU,MALCD,20,100,M,,,U,MALC-MALCD-20x100.step +MALCD20-100MCM,MALCD,20,100,M,,,CM,MALC-MALCD-20x100.step +MALCD20-100MLB,MALCD,20,100,M,,LB,,MALC-MALCD-20x100.step +MALCD20-100MLBU,MALCD,20,100,M,,LB,U,MALC-MALCD-20x100.step +MALCD20-100MLBCM,MALCD,20,100,M,,LB,CM,MALC-MALCD-20x100.step +MALCD20-100MFA,MALCD,20,100,M,,FA,,MALC-MALCD-20x100.step +MALCD20-100MFAU,MALCD,20,100,M,,FA,U,MALC-MALCD-20x100.step +MALCD20-100MFACM,MALCD,20,100,M,,FA,CM,MALC-MALCD-20x100.step +MALCD20-100MFB,MALCD,20,100,M,,FB,,MALC-MALCD-20x100.step +MALCD20-100MFBU,MALCD,20,100,M,,FB,U,MALC-MALCD-20x100.step +MALCD20-100MFBCM,MALCD,20,100,M,,FB,CM,MALC-MALCD-20x100.step +MALCD20-100MSDB,MALCD,20,100,M,,SDB,,MALC-MALCD-20x100.step +MALCD20-100MSDBU,MALCD,20,100,M,,SDB,U,MALC-MALCD-20x100.step +MALCD20-100MSDBCM,MALCD,20,100,M,,SDB,CM,MALC-MALCD-20x100.step +MALCD25-10E,MALCD,25,10,,E,,,MALC-MALCD-25x10.step +MALCD25-10EU,MALCD,25,10,,E,,U,MALC-MALCD-25x10.step +MALCD25-10ECM,MALCD,25,10,,E,,CM,MALC-MALCD-25x10.step +MALCD25-10ELB,MALCD,25,10,,E,LB,,MALC-MALCD-25x10.step +MALCD25-10ELBU,MALCD,25,10,,E,LB,U,MALC-MALCD-25x10.step +MALCD25-10ELBCM,MALCD,25,10,,E,LB,CM,MALC-MALCD-25x10.step +MALCD25-10EFA,MALCD,25,10,,E,FA,,MALC-MALCD-25x10.step +MALCD25-10EFAU,MALCD,25,10,,E,FA,U,MALC-MALCD-25x10.step +MALCD25-10EFACM,MALCD,25,10,,E,FA,CM,MALC-MALCD-25x10.step +MALCD25-10EFB,MALCD,25,10,,E,FB,,MALC-MALCD-25x10.step +MALCD25-10EFBU,MALCD,25,10,,E,FB,U,MALC-MALCD-25x10.step +MALCD25-10EFBCM,MALCD,25,10,,E,FB,CM,MALC-MALCD-25x10.step +MALCD25-10ESDB,MALCD,25,10,,E,SDB,,MALC-MALCD-25x10.step +MALCD25-10ESDBU,MALCD,25,10,,E,SDB,U,MALC-MALCD-25x10.step +MALCD25-10ESDBCM,MALCD,25,10,,E,SDB,CM,MALC-MALCD-25x10.step +MALCD25-10,MALCD,25,10,,,,,MALC-MALCD-25x10.step +MALCD25-10U,MALCD,25,10,,,,U,MALC-MALCD-25x10.step +MALCD25-10CM,MALCD,25,10,,,,CM,MALC-MALCD-25x10.step +MALCD25-10LB,MALCD,25,10,,,LB,,MALC-MALCD-25x10.step +MALCD25-10LBU,MALCD,25,10,,,LB,U,MALC-MALCD-25x10.step +MALCD25-10LBCM,MALCD,25,10,,,LB,CM,MALC-MALCD-25x10.step +MALCD25-10FA,MALCD,25,10,,,FA,,MALC-MALCD-25x10.step +MALCD25-10FAU,MALCD,25,10,,,FA,U,MALC-MALCD-25x10.step +MALCD25-10FACM,MALCD,25,10,,,FA,CM,MALC-MALCD-25x10.step +MALCD25-10FB,MALCD,25,10,,,FB,,MALC-MALCD-25x10.step +MALCD25-10FBU,MALCD,25,10,,,FB,U,MALC-MALCD-25x10.step +MALCD25-10FBCM,MALCD,25,10,,,FB,CM,MALC-MALCD-25x10.step +MALCD25-10SDB,MALCD,25,10,,,SDB,,MALC-MALCD-25x10.step +MALCD25-10SDBU,MALCD,25,10,,,SDB,U,MALC-MALCD-25x10.step +MALCD25-10SDBCM,MALCD,25,10,,,SDB,CM,MALC-MALCD-25x10.step +MALCD25-10ME,MALCD,25,10,M,E,,,MALC-MALCD-25x10.step +MALCD25-10MEU,MALCD,25,10,M,E,,U,MALC-MALCD-25x10.step +MALCD25-10MECM,MALCD,25,10,M,E,,CM,MALC-MALCD-25x10.step +MALCD25-10MELB,MALCD,25,10,M,E,LB,,MALC-MALCD-25x10.step +MALCD25-10MELBU,MALCD,25,10,M,E,LB,U,MALC-MALCD-25x10.step +MALCD25-10MELBCM,MALCD,25,10,M,E,LB,CM,MALC-MALCD-25x10.step +MALCD25-10MEFA,MALCD,25,10,M,E,FA,,MALC-MALCD-25x10.step +MALCD25-10MEFAU,MALCD,25,10,M,E,FA,U,MALC-MALCD-25x10.step +MALCD25-10MEFACM,MALCD,25,10,M,E,FA,CM,MALC-MALCD-25x10.step +MALCD25-10MEFB,MALCD,25,10,M,E,FB,,MALC-MALCD-25x10.step +MALCD25-10MEFBU,MALCD,25,10,M,E,FB,U,MALC-MALCD-25x10.step +MALCD25-10MEFBCM,MALCD,25,10,M,E,FB,CM,MALC-MALCD-25x10.step +MALCD25-10MESDB,MALCD,25,10,M,E,SDB,,MALC-MALCD-25x10.step +MALCD25-10MESDBU,MALCD,25,10,M,E,SDB,U,MALC-MALCD-25x10.step +MALCD25-10MESDBCM,MALCD,25,10,M,E,SDB,CM,MALC-MALCD-25x10.step +MALCD25-10M,MALCD,25,10,M,,,,MALC-MALCD-25x10.step +MALCD25-10MU,MALCD,25,10,M,,,U,MALC-MALCD-25x10.step +MALCD25-10MCM,MALCD,25,10,M,,,CM,MALC-MALCD-25x10.step +MALCD25-10MLB,MALCD,25,10,M,,LB,,MALC-MALCD-25x10.step +MALCD25-10MLBU,MALCD,25,10,M,,LB,U,MALC-MALCD-25x10.step +MALCD25-10MLBCM,MALCD,25,10,M,,LB,CM,MALC-MALCD-25x10.step +MALCD25-10MFA,MALCD,25,10,M,,FA,,MALC-MALCD-25x10.step +MALCD25-10MFAU,MALCD,25,10,M,,FA,U,MALC-MALCD-25x10.step +MALCD25-10MFACM,MALCD,25,10,M,,FA,CM,MALC-MALCD-25x10.step +MALCD25-10MFB,MALCD,25,10,M,,FB,,MALC-MALCD-25x10.step +MALCD25-10MFBU,MALCD,25,10,M,,FB,U,MALC-MALCD-25x10.step +MALCD25-10MFBCM,MALCD,25,10,M,,FB,CM,MALC-MALCD-25x10.step +MALCD25-10MSDB,MALCD,25,10,M,,SDB,,MALC-MALCD-25x10.step +MALCD25-10MSDBU,MALCD,25,10,M,,SDB,U,MALC-MALCD-25x10.step +MALCD25-10MSDBCM,MALCD,25,10,M,,SDB,CM,MALC-MALCD-25x10.step +MALCD25-20E,MALCD,25,20,,E,,,MALC-MALCD-25x20.step +MALCD25-20EU,MALCD,25,20,,E,,U,MALC-MALCD-25x20.step +MALCD25-20ECM,MALCD,25,20,,E,,CM,MALC-MALCD-25x20.step +MALCD25-20ELB,MALCD,25,20,,E,LB,,MALC-MALCD-25x20.step +MALCD25-20ELBU,MALCD,25,20,,E,LB,U,MALC-MALCD-25x20.step +MALCD25-20ELBCM,MALCD,25,20,,E,LB,CM,MALC-MALCD-25x20.step +MALCD25-20EFA,MALCD,25,20,,E,FA,,MALC-MALCD-25x20.step +MALCD25-20EFAU,MALCD,25,20,,E,FA,U,MALC-MALCD-25x20.step +MALCD25-20EFACM,MALCD,25,20,,E,FA,CM,MALC-MALCD-25x20.step +MALCD25-20EFB,MALCD,25,20,,E,FB,,MALC-MALCD-25x20.step +MALCD25-20EFBU,MALCD,25,20,,E,FB,U,MALC-MALCD-25x20.step +MALCD25-20EFBCM,MALCD,25,20,,E,FB,CM,MALC-MALCD-25x20.step +MALCD25-20ESDB,MALCD,25,20,,E,SDB,,MALC-MALCD-25x20.step +MALCD25-20ESDBU,MALCD,25,20,,E,SDB,U,MALC-MALCD-25x20.step +MALCD25-20ESDBCM,MALCD,25,20,,E,SDB,CM,MALC-MALCD-25x20.step +MALCD25-20,MALCD,25,20,,,,,MALC-MALCD-25x20.step +MALCD25-20U,MALCD,25,20,,,,U,MALC-MALCD-25x20.step +MALCD25-20CM,MALCD,25,20,,,,CM,MALC-MALCD-25x20.step +MALCD25-20LB,MALCD,25,20,,,LB,,MALC-MALCD-25x20.step +MALCD25-20LBU,MALCD,25,20,,,LB,U,MALC-MALCD-25x20.step +MALCD25-20LBCM,MALCD,25,20,,,LB,CM,MALC-MALCD-25x20.step +MALCD25-20FA,MALCD,25,20,,,FA,,MALC-MALCD-25x20.step +MALCD25-20FAU,MALCD,25,20,,,FA,U,MALC-MALCD-25x20.step +MALCD25-20FACM,MALCD,25,20,,,FA,CM,MALC-MALCD-25x20.step +MALCD25-20FB,MALCD,25,20,,,FB,,MALC-MALCD-25x20.step +MALCD25-20FBU,MALCD,25,20,,,FB,U,MALC-MALCD-25x20.step +MALCD25-20FBCM,MALCD,25,20,,,FB,CM,MALC-MALCD-25x20.step +MALCD25-20SDB,MALCD,25,20,,,SDB,,MALC-MALCD-25x20.step +MALCD25-20SDBU,MALCD,25,20,,,SDB,U,MALC-MALCD-25x20.step +MALCD25-20SDBCM,MALCD,25,20,,,SDB,CM,MALC-MALCD-25x20.step +MALCD25-20ME,MALCD,25,20,M,E,,,MALC-MALCD-25x20.step +MALCD25-20MEU,MALCD,25,20,M,E,,U,MALC-MALCD-25x20.step +MALCD25-20MECM,MALCD,25,20,M,E,,CM,MALC-MALCD-25x20.step +MALCD25-20MELB,MALCD,25,20,M,E,LB,,MALC-MALCD-25x20.step +MALCD25-20MELBU,MALCD,25,20,M,E,LB,U,MALC-MALCD-25x20.step +MALCD25-20MELBCM,MALCD,25,20,M,E,LB,CM,MALC-MALCD-25x20.step +MALCD25-20MEFA,MALCD,25,20,M,E,FA,,MALC-MALCD-25x20.step +MALCD25-20MEFAU,MALCD,25,20,M,E,FA,U,MALC-MALCD-25x20.step +MALCD25-20MEFACM,MALCD,25,20,M,E,FA,CM,MALC-MALCD-25x20.step +MALCD25-20MEFB,MALCD,25,20,M,E,FB,,MALC-MALCD-25x20.step +MALCD25-20MEFBU,MALCD,25,20,M,E,FB,U,MALC-MALCD-25x20.step +MALCD25-20MEFBCM,MALCD,25,20,M,E,FB,CM,MALC-MALCD-25x20.step +MALCD25-20MESDB,MALCD,25,20,M,E,SDB,,MALC-MALCD-25x20.step +MALCD25-20MESDBU,MALCD,25,20,M,E,SDB,U,MALC-MALCD-25x20.step +MALCD25-20MESDBCM,MALCD,25,20,M,E,SDB,CM,MALC-MALCD-25x20.step +MALCD25-20M,MALCD,25,20,M,,,,MALC-MALCD-25x20.step +MALCD25-20MU,MALCD,25,20,M,,,U,MALC-MALCD-25x20.step +MALCD25-20MCM,MALCD,25,20,M,,,CM,MALC-MALCD-25x20.step +MALCD25-20MLB,MALCD,25,20,M,,LB,,MALC-MALCD-25x20.step +MALCD25-20MLBU,MALCD,25,20,M,,LB,U,MALC-MALCD-25x20.step +MALCD25-20MLBCM,MALCD,25,20,M,,LB,CM,MALC-MALCD-25x20.step +MALCD25-20MFA,MALCD,25,20,M,,FA,,MALC-MALCD-25x20.step +MALCD25-20MFAU,MALCD,25,20,M,,FA,U,MALC-MALCD-25x20.step +MALCD25-20MFACM,MALCD,25,20,M,,FA,CM,MALC-MALCD-25x20.step +MALCD25-20MFB,MALCD,25,20,M,,FB,,MALC-MALCD-25x20.step +MALCD25-20MFBU,MALCD,25,20,M,,FB,U,MALC-MALCD-25x20.step +MALCD25-20MFBCM,MALCD,25,20,M,,FB,CM,MALC-MALCD-25x20.step +MALCD25-20MSDB,MALCD,25,20,M,,SDB,,MALC-MALCD-25x20.step +MALCD25-20MSDBU,MALCD,25,20,M,,SDB,U,MALC-MALCD-25x20.step +MALCD25-20MSDBCM,MALCD,25,20,M,,SDB,CM,MALC-MALCD-25x20.step +MALCD25-30E,MALCD,25,30,,E,,,MALC-MALCD-25x30.step +MALCD25-30EU,MALCD,25,30,,E,,U,MALC-MALCD-25x30.step +MALCD25-30ECM,MALCD,25,30,,E,,CM,MALC-MALCD-25x30.step +MALCD25-30ELB,MALCD,25,30,,E,LB,,MALC-MALCD-25x30.step +MALCD25-30ELBU,MALCD,25,30,,E,LB,U,MALC-MALCD-25x30.step +MALCD25-30ELBCM,MALCD,25,30,,E,LB,CM,MALC-MALCD-25x30.step +MALCD25-30EFA,MALCD,25,30,,E,FA,,MALC-MALCD-25x30.step +MALCD25-30EFAU,MALCD,25,30,,E,FA,U,MALC-MALCD-25x30.step +MALCD25-30EFACM,MALCD,25,30,,E,FA,CM,MALC-MALCD-25x30.step +MALCD25-30EFB,MALCD,25,30,,E,FB,,MALC-MALCD-25x30.step +MALCD25-30EFBU,MALCD,25,30,,E,FB,U,MALC-MALCD-25x30.step +MALCD25-30EFBCM,MALCD,25,30,,E,FB,CM,MALC-MALCD-25x30.step +MALCD25-30ESDB,MALCD,25,30,,E,SDB,,MALC-MALCD-25x30.step +MALCD25-30ESDBU,MALCD,25,30,,E,SDB,U,MALC-MALCD-25x30.step +MALCD25-30ESDBCM,MALCD,25,30,,E,SDB,CM,MALC-MALCD-25x30.step +MALCD25-30,MALCD,25,30,,,,,MALC-MALCD-25x30.step +MALCD25-30U,MALCD,25,30,,,,U,MALC-MALCD-25x30.step +MALCD25-30CM,MALCD,25,30,,,,CM,MALC-MALCD-25x30.step +MALCD25-30LB,MALCD,25,30,,,LB,,MALC-MALCD-25x30.step +MALCD25-30LBU,MALCD,25,30,,,LB,U,MALC-MALCD-25x30.step +MALCD25-30LBCM,MALCD,25,30,,,LB,CM,MALC-MALCD-25x30.step +MALCD25-30FA,MALCD,25,30,,,FA,,MALC-MALCD-25x30.step +MALCD25-30FAU,MALCD,25,30,,,FA,U,MALC-MALCD-25x30.step +MALCD25-30FACM,MALCD,25,30,,,FA,CM,MALC-MALCD-25x30.step +MALCD25-30FB,MALCD,25,30,,,FB,,MALC-MALCD-25x30.step +MALCD25-30FBU,MALCD,25,30,,,FB,U,MALC-MALCD-25x30.step +MALCD25-30FBCM,MALCD,25,30,,,FB,CM,MALC-MALCD-25x30.step +MALCD25-30SDB,MALCD,25,30,,,SDB,,MALC-MALCD-25x30.step +MALCD25-30SDBU,MALCD,25,30,,,SDB,U,MALC-MALCD-25x30.step +MALCD25-30SDBCM,MALCD,25,30,,,SDB,CM,MALC-MALCD-25x30.step +MALCD25-30ME,MALCD,25,30,M,E,,,MALC-MALCD-25x30.step +MALCD25-30MEU,MALCD,25,30,M,E,,U,MALC-MALCD-25x30.step +MALCD25-30MECM,MALCD,25,30,M,E,,CM,MALC-MALCD-25x30.step +MALCD25-30MELB,MALCD,25,30,M,E,LB,,MALC-MALCD-25x30.step +MALCD25-30MELBU,MALCD,25,30,M,E,LB,U,MALC-MALCD-25x30.step +MALCD25-30MELBCM,MALCD,25,30,M,E,LB,CM,MALC-MALCD-25x30.step +MALCD25-30MEFA,MALCD,25,30,M,E,FA,,MALC-MALCD-25x30.step +MALCD25-30MEFAU,MALCD,25,30,M,E,FA,U,MALC-MALCD-25x30.step +MALCD25-30MEFACM,MALCD,25,30,M,E,FA,CM,MALC-MALCD-25x30.step +MALCD25-30MEFB,MALCD,25,30,M,E,FB,,MALC-MALCD-25x30.step +MALCD25-30MEFBU,MALCD,25,30,M,E,FB,U,MALC-MALCD-25x30.step +MALCD25-30MEFBCM,MALCD,25,30,M,E,FB,CM,MALC-MALCD-25x30.step +MALCD25-30MESDB,MALCD,25,30,M,E,SDB,,MALC-MALCD-25x30.step +MALCD25-30MESDBU,MALCD,25,30,M,E,SDB,U,MALC-MALCD-25x30.step +MALCD25-30MESDBCM,MALCD,25,30,M,E,SDB,CM,MALC-MALCD-25x30.step +MALCD25-30M,MALCD,25,30,M,,,,MALC-MALCD-25x30.step +MALCD25-30MU,MALCD,25,30,M,,,U,MALC-MALCD-25x30.step +MALCD25-30MCM,MALCD,25,30,M,,,CM,MALC-MALCD-25x30.step +MALCD25-30MLB,MALCD,25,30,M,,LB,,MALC-MALCD-25x30.step +MALCD25-30MLBU,MALCD,25,30,M,,LB,U,MALC-MALCD-25x30.step +MALCD25-30MLBCM,MALCD,25,30,M,,LB,CM,MALC-MALCD-25x30.step +MALCD25-30MFA,MALCD,25,30,M,,FA,,MALC-MALCD-25x30.step +MALCD25-30MFAU,MALCD,25,30,M,,FA,U,MALC-MALCD-25x30.step +MALCD25-30MFACM,MALCD,25,30,M,,FA,CM,MALC-MALCD-25x30.step +MALCD25-30MFB,MALCD,25,30,M,,FB,,MALC-MALCD-25x30.step +MALCD25-30MFBU,MALCD,25,30,M,,FB,U,MALC-MALCD-25x30.step +MALCD25-30MFBCM,MALCD,25,30,M,,FB,CM,MALC-MALCD-25x30.step +MALCD25-30MSDB,MALCD,25,30,M,,SDB,,MALC-MALCD-25x30.step +MALCD25-30MSDBU,MALCD,25,30,M,,SDB,U,MALC-MALCD-25x30.step +MALCD25-30MSDBCM,MALCD,25,30,M,,SDB,CM,MALC-MALCD-25x30.step +MALCD25-50E,MALCD,25,50,,E,,,MALC-MALCD-25x50.step +MALCD25-50EU,MALCD,25,50,,E,,U,MALC-MALCD-25x50.step +MALCD25-50ECM,MALCD,25,50,,E,,CM,MALC-MALCD-25x50.step +MALCD25-50ELB,MALCD,25,50,,E,LB,,MALC-MALCD-25x50.step +MALCD25-50ELBU,MALCD,25,50,,E,LB,U,MALC-MALCD-25x50.step +MALCD25-50ELBCM,MALCD,25,50,,E,LB,CM,MALC-MALCD-25x50.step +MALCD25-50EFA,MALCD,25,50,,E,FA,,MALC-MALCD-25x50.step +MALCD25-50EFAU,MALCD,25,50,,E,FA,U,MALC-MALCD-25x50.step +MALCD25-50EFACM,MALCD,25,50,,E,FA,CM,MALC-MALCD-25x50.step +MALCD25-50EFB,MALCD,25,50,,E,FB,,MALC-MALCD-25x50.step +MALCD25-50EFBU,MALCD,25,50,,E,FB,U,MALC-MALCD-25x50.step +MALCD25-50EFBCM,MALCD,25,50,,E,FB,CM,MALC-MALCD-25x50.step +MALCD25-50ESDB,MALCD,25,50,,E,SDB,,MALC-MALCD-25x50.step +MALCD25-50ESDBU,MALCD,25,50,,E,SDB,U,MALC-MALCD-25x50.step +MALCD25-50ESDBCM,MALCD,25,50,,E,SDB,CM,MALC-MALCD-25x50.step +MALCD25-50,MALCD,25,50,,,,,MALC-MALCD-25x50.step +MALCD25-50U,MALCD,25,50,,,,U,MALC-MALCD-25x50.step +MALCD25-50CM,MALCD,25,50,,,,CM,MALC-MALCD-25x50.step +MALCD25-50LB,MALCD,25,50,,,LB,,MALC-MALCD-25x50.step +MALCD25-50LBU,MALCD,25,50,,,LB,U,MALC-MALCD-25x50.step +MALCD25-50LBCM,MALCD,25,50,,,LB,CM,MALC-MALCD-25x50.step +MALCD25-50FA,MALCD,25,50,,,FA,,MALC-MALCD-25x50.step +MALCD25-50FAU,MALCD,25,50,,,FA,U,MALC-MALCD-25x50.step +MALCD25-50FACM,MALCD,25,50,,,FA,CM,MALC-MALCD-25x50.step +MALCD25-50FB,MALCD,25,50,,,FB,,MALC-MALCD-25x50.step +MALCD25-50FBU,MALCD,25,50,,,FB,U,MALC-MALCD-25x50.step +MALCD25-50FBCM,MALCD,25,50,,,FB,CM,MALC-MALCD-25x50.step +MALCD25-50SDB,MALCD,25,50,,,SDB,,MALC-MALCD-25x50.step +MALCD25-50SDBU,MALCD,25,50,,,SDB,U,MALC-MALCD-25x50.step +MALCD25-50SDBCM,MALCD,25,50,,,SDB,CM,MALC-MALCD-25x50.step +MALCD25-50ME,MALCD,25,50,M,E,,,MALC-MALCD-25x50.step +MALCD25-50MEU,MALCD,25,50,M,E,,U,MALC-MALCD-25x50.step +MALCD25-50MECM,MALCD,25,50,M,E,,CM,MALC-MALCD-25x50.step +MALCD25-50MELB,MALCD,25,50,M,E,LB,,MALC-MALCD-25x50.step +MALCD25-50MELBU,MALCD,25,50,M,E,LB,U,MALC-MALCD-25x50.step +MALCD25-50MELBCM,MALCD,25,50,M,E,LB,CM,MALC-MALCD-25x50.step +MALCD25-50MEFA,MALCD,25,50,M,E,FA,,MALC-MALCD-25x50.step +MALCD25-50MEFAU,MALCD,25,50,M,E,FA,U,MALC-MALCD-25x50.step +MALCD25-50MEFACM,MALCD,25,50,M,E,FA,CM,MALC-MALCD-25x50.step +MALCD25-50MEFB,MALCD,25,50,M,E,FB,,MALC-MALCD-25x50.step +MALCD25-50MEFBU,MALCD,25,50,M,E,FB,U,MALC-MALCD-25x50.step +MALCD25-50MEFBCM,MALCD,25,50,M,E,FB,CM,MALC-MALCD-25x50.step +MALCD25-50MESDB,MALCD,25,50,M,E,SDB,,MALC-MALCD-25x50.step +MALCD25-50MESDBU,MALCD,25,50,M,E,SDB,U,MALC-MALCD-25x50.step +MALCD25-50MESDBCM,MALCD,25,50,M,E,SDB,CM,MALC-MALCD-25x50.step +MALCD25-50M,MALCD,25,50,M,,,,MALC-MALCD-25x50.step +MALCD25-50MU,MALCD,25,50,M,,,U,MALC-MALCD-25x50.step +MALCD25-50MCM,MALCD,25,50,M,,,CM,MALC-MALCD-25x50.step +MALCD25-50MLB,MALCD,25,50,M,,LB,,MALC-MALCD-25x50.step +MALCD25-50MLBU,MALCD,25,50,M,,LB,U,MALC-MALCD-25x50.step +MALCD25-50MLBCM,MALCD,25,50,M,,LB,CM,MALC-MALCD-25x50.step +MALCD25-50MFA,MALCD,25,50,M,,FA,,MALC-MALCD-25x50.step +MALCD25-50MFAU,MALCD,25,50,M,,FA,U,MALC-MALCD-25x50.step +MALCD25-50MFACM,MALCD,25,50,M,,FA,CM,MALC-MALCD-25x50.step +MALCD25-50MFB,MALCD,25,50,M,,FB,,MALC-MALCD-25x50.step +MALCD25-50MFBU,MALCD,25,50,M,,FB,U,MALC-MALCD-25x50.step +MALCD25-50MFBCM,MALCD,25,50,M,,FB,CM,MALC-MALCD-25x50.step +MALCD25-50MSDB,MALCD,25,50,M,,SDB,,MALC-MALCD-25x50.step +MALCD25-50MSDBU,MALCD,25,50,M,,SDB,U,MALC-MALCD-25x50.step +MALCD25-50MSDBCM,MALCD,25,50,M,,SDB,CM,MALC-MALCD-25x50.step +MALCD25-75E,MALCD,25,75,,E,,,MALC-MALCD-25x75.step +MALCD25-75EU,MALCD,25,75,,E,,U,MALC-MALCD-25x75.step +MALCD25-75ECM,MALCD,25,75,,E,,CM,MALC-MALCD-25x75.step +MALCD25-75ELB,MALCD,25,75,,E,LB,,MALC-MALCD-25x75.step +MALCD25-75ELBU,MALCD,25,75,,E,LB,U,MALC-MALCD-25x75.step +MALCD25-75ELBCM,MALCD,25,75,,E,LB,CM,MALC-MALCD-25x75.step +MALCD25-75EFA,MALCD,25,75,,E,FA,,MALC-MALCD-25x75.step +MALCD25-75EFAU,MALCD,25,75,,E,FA,U,MALC-MALCD-25x75.step +MALCD25-75EFACM,MALCD,25,75,,E,FA,CM,MALC-MALCD-25x75.step +MALCD25-75EFB,MALCD,25,75,,E,FB,,MALC-MALCD-25x75.step +MALCD25-75EFBU,MALCD,25,75,,E,FB,U,MALC-MALCD-25x75.step +MALCD25-75EFBCM,MALCD,25,75,,E,FB,CM,MALC-MALCD-25x75.step +MALCD25-75ESDB,MALCD,25,75,,E,SDB,,MALC-MALCD-25x75.step +MALCD25-75ESDBU,MALCD,25,75,,E,SDB,U,MALC-MALCD-25x75.step +MALCD25-75ESDBCM,MALCD,25,75,,E,SDB,CM,MALC-MALCD-25x75.step +MALCD25-75,MALCD,25,75,,,,,MALC-MALCD-25x75.step +MALCD25-75U,MALCD,25,75,,,,U,MALC-MALCD-25x75.step +MALCD25-75CM,MALCD,25,75,,,,CM,MALC-MALCD-25x75.step +MALCD25-75LB,MALCD,25,75,,,LB,,MALC-MALCD-25x75.step +MALCD25-75LBU,MALCD,25,75,,,LB,U,MALC-MALCD-25x75.step +MALCD25-75LBCM,MALCD,25,75,,,LB,CM,MALC-MALCD-25x75.step +MALCD25-75FA,MALCD,25,75,,,FA,,MALC-MALCD-25x75.step +MALCD25-75FAU,MALCD,25,75,,,FA,U,MALC-MALCD-25x75.step +MALCD25-75FACM,MALCD,25,75,,,FA,CM,MALC-MALCD-25x75.step +MALCD25-75FB,MALCD,25,75,,,FB,,MALC-MALCD-25x75.step +MALCD25-75FBU,MALCD,25,75,,,FB,U,MALC-MALCD-25x75.step +MALCD25-75FBCM,MALCD,25,75,,,FB,CM,MALC-MALCD-25x75.step +MALCD25-75SDB,MALCD,25,75,,,SDB,,MALC-MALCD-25x75.step +MALCD25-75SDBU,MALCD,25,75,,,SDB,U,MALC-MALCD-25x75.step +MALCD25-75SDBCM,MALCD,25,75,,,SDB,CM,MALC-MALCD-25x75.step +MALCD25-75ME,MALCD,25,75,M,E,,,MALC-MALCD-25x75.step +MALCD25-75MEU,MALCD,25,75,M,E,,U,MALC-MALCD-25x75.step +MALCD25-75MECM,MALCD,25,75,M,E,,CM,MALC-MALCD-25x75.step +MALCD25-75MELB,MALCD,25,75,M,E,LB,,MALC-MALCD-25x75.step +MALCD25-75MELBU,MALCD,25,75,M,E,LB,U,MALC-MALCD-25x75.step +MALCD25-75MELBCM,MALCD,25,75,M,E,LB,CM,MALC-MALCD-25x75.step +MALCD25-75MEFA,MALCD,25,75,M,E,FA,,MALC-MALCD-25x75.step +MALCD25-75MEFAU,MALCD,25,75,M,E,FA,U,MALC-MALCD-25x75.step +MALCD25-75MEFACM,MALCD,25,75,M,E,FA,CM,MALC-MALCD-25x75.step +MALCD25-75MEFB,MALCD,25,75,M,E,FB,,MALC-MALCD-25x75.step +MALCD25-75MEFBU,MALCD,25,75,M,E,FB,U,MALC-MALCD-25x75.step +MALCD25-75MEFBCM,MALCD,25,75,M,E,FB,CM,MALC-MALCD-25x75.step +MALCD25-75MESDB,MALCD,25,75,M,E,SDB,,MALC-MALCD-25x75.step +MALCD25-75MESDBU,MALCD,25,75,M,E,SDB,U,MALC-MALCD-25x75.step +MALCD25-75MESDBCM,MALCD,25,75,M,E,SDB,CM,MALC-MALCD-25x75.step +MALCD25-75M,MALCD,25,75,M,,,,MALC-MALCD-25x75.step +MALCD25-75MU,MALCD,25,75,M,,,U,MALC-MALCD-25x75.step +MALCD25-75MCM,MALCD,25,75,M,,,CM,MALC-MALCD-25x75.step +MALCD25-75MLB,MALCD,25,75,M,,LB,,MALC-MALCD-25x75.step +MALCD25-75MLBU,MALCD,25,75,M,,LB,U,MALC-MALCD-25x75.step +MALCD25-75MLBCM,MALCD,25,75,M,,LB,CM,MALC-MALCD-25x75.step +MALCD25-75MFA,MALCD,25,75,M,,FA,,MALC-MALCD-25x75.step +MALCD25-75MFAU,MALCD,25,75,M,,FA,U,MALC-MALCD-25x75.step +MALCD25-75MFACM,MALCD,25,75,M,,FA,CM,MALC-MALCD-25x75.step +MALCD25-75MFB,MALCD,25,75,M,,FB,,MALC-MALCD-25x75.step +MALCD25-75MFBU,MALCD,25,75,M,,FB,U,MALC-MALCD-25x75.step +MALCD25-75MFBCM,MALCD,25,75,M,,FB,CM,MALC-MALCD-25x75.step +MALCD25-75MSDB,MALCD,25,75,M,,SDB,,MALC-MALCD-25x75.step +MALCD25-75MSDBU,MALCD,25,75,M,,SDB,U,MALC-MALCD-25x75.step +MALCD25-75MSDBCM,MALCD,25,75,M,,SDB,CM,MALC-MALCD-25x75.step +MALCD25-100E,MALCD,25,100,,E,,,MALC-MALCD-25x100.step +MALCD25-100EU,MALCD,25,100,,E,,U,MALC-MALCD-25x100.step +MALCD25-100ECM,MALCD,25,100,,E,,CM,MALC-MALCD-25x100.step +MALCD25-100ELB,MALCD,25,100,,E,LB,,MALC-MALCD-25x100.step +MALCD25-100ELBU,MALCD,25,100,,E,LB,U,MALC-MALCD-25x100.step +MALCD25-100ELBCM,MALCD,25,100,,E,LB,CM,MALC-MALCD-25x100.step +MALCD25-100EFA,MALCD,25,100,,E,FA,,MALC-MALCD-25x100.step +MALCD25-100EFAU,MALCD,25,100,,E,FA,U,MALC-MALCD-25x100.step +MALCD25-100EFACM,MALCD,25,100,,E,FA,CM,MALC-MALCD-25x100.step +MALCD25-100EFB,MALCD,25,100,,E,FB,,MALC-MALCD-25x100.step +MALCD25-100EFBU,MALCD,25,100,,E,FB,U,MALC-MALCD-25x100.step +MALCD25-100EFBCM,MALCD,25,100,,E,FB,CM,MALC-MALCD-25x100.step +MALCD25-100ESDB,MALCD,25,100,,E,SDB,,MALC-MALCD-25x100.step +MALCD25-100ESDBU,MALCD,25,100,,E,SDB,U,MALC-MALCD-25x100.step +MALCD25-100ESDBCM,MALCD,25,100,,E,SDB,CM,MALC-MALCD-25x100.step +MALCD25-100,MALCD,25,100,,,,,MALC-MALCD-25x100.step +MALCD25-100U,MALCD,25,100,,,,U,MALC-MALCD-25x100.step +MALCD25-100CM,MALCD,25,100,,,,CM,MALC-MALCD-25x100.step +MALCD25-100LB,MALCD,25,100,,,LB,,MALC-MALCD-25x100.step +MALCD25-100LBU,MALCD,25,100,,,LB,U,MALC-MALCD-25x100.step +MALCD25-100LBCM,MALCD,25,100,,,LB,CM,MALC-MALCD-25x100.step +MALCD25-100FA,MALCD,25,100,,,FA,,MALC-MALCD-25x100.step +MALCD25-100FAU,MALCD,25,100,,,FA,U,MALC-MALCD-25x100.step +MALCD25-100FACM,MALCD,25,100,,,FA,CM,MALC-MALCD-25x100.step +MALCD25-100FB,MALCD,25,100,,,FB,,MALC-MALCD-25x100.step +MALCD25-100FBU,MALCD,25,100,,,FB,U,MALC-MALCD-25x100.step +MALCD25-100FBCM,MALCD,25,100,,,FB,CM,MALC-MALCD-25x100.step +MALCD25-100SDB,MALCD,25,100,,,SDB,,MALC-MALCD-25x100.step +MALCD25-100SDBU,MALCD,25,100,,,SDB,U,MALC-MALCD-25x100.step +MALCD25-100SDBCM,MALCD,25,100,,,SDB,CM,MALC-MALCD-25x100.step +MALCD25-100ME,MALCD,25,100,M,E,,,MALC-MALCD-25x100.step +MALCD25-100MEU,MALCD,25,100,M,E,,U,MALC-MALCD-25x100.step +MALCD25-100MECM,MALCD,25,100,M,E,,CM,MALC-MALCD-25x100.step +MALCD25-100MELB,MALCD,25,100,M,E,LB,,MALC-MALCD-25x100.step +MALCD25-100MELBU,MALCD,25,100,M,E,LB,U,MALC-MALCD-25x100.step +MALCD25-100MELBCM,MALCD,25,100,M,E,LB,CM,MALC-MALCD-25x100.step +MALCD25-100MEFA,MALCD,25,100,M,E,FA,,MALC-MALCD-25x100.step +MALCD25-100MEFAU,MALCD,25,100,M,E,FA,U,MALC-MALCD-25x100.step +MALCD25-100MEFACM,MALCD,25,100,M,E,FA,CM,MALC-MALCD-25x100.step +MALCD25-100MEFB,MALCD,25,100,M,E,FB,,MALC-MALCD-25x100.step +MALCD25-100MEFBU,MALCD,25,100,M,E,FB,U,MALC-MALCD-25x100.step +MALCD25-100MEFBCM,MALCD,25,100,M,E,FB,CM,MALC-MALCD-25x100.step +MALCD25-100MESDB,MALCD,25,100,M,E,SDB,,MALC-MALCD-25x100.step +MALCD25-100MESDBU,MALCD,25,100,M,E,SDB,U,MALC-MALCD-25x100.step +MALCD25-100MESDBCM,MALCD,25,100,M,E,SDB,CM,MALC-MALCD-25x100.step +MALCD25-100M,MALCD,25,100,M,,,,MALC-MALCD-25x100.step +MALCD25-100MU,MALCD,25,100,M,,,U,MALC-MALCD-25x100.step +MALCD25-100MCM,MALCD,25,100,M,,,CM,MALC-MALCD-25x100.step +MALCD25-100MLB,MALCD,25,100,M,,LB,,MALC-MALCD-25x100.step +MALCD25-100MLBU,MALCD,25,100,M,,LB,U,MALC-MALCD-25x100.step +MALCD25-100MLBCM,MALCD,25,100,M,,LB,CM,MALC-MALCD-25x100.step +MALCD25-100MFA,MALCD,25,100,M,,FA,,MALC-MALCD-25x100.step +MALCD25-100MFAU,MALCD,25,100,M,,FA,U,MALC-MALCD-25x100.step +MALCD25-100MFACM,MALCD,25,100,M,,FA,CM,MALC-MALCD-25x100.step +MALCD25-100MFB,MALCD,25,100,M,,FB,,MALC-MALCD-25x100.step +MALCD25-100MFBU,MALCD,25,100,M,,FB,U,MALC-MALCD-25x100.step +MALCD25-100MFBCM,MALCD,25,100,M,,FB,CM,MALC-MALCD-25x100.step +MALCD25-100MSDB,MALCD,25,100,M,,SDB,,MALC-MALCD-25x100.step +MALCD25-100MSDBU,MALCD,25,100,M,,SDB,U,MALC-MALCD-25x100.step +MALCD25-100MSDBCM,MALCD,25,100,M,,SDB,CM,MALC-MALCD-25x100.step +MALCD32-10E,MALCD,32,10,,E,,,MALC-MALCD-32x10.step +MALCD32-10EU,MALCD,32,10,,E,,U,MALC-MALCD-32x10.step +MALCD32-10ECM,MALCD,32,10,,E,,CM,MALC-MALCD-32x10.step +MALCD32-10ELB,MALCD,32,10,,E,LB,,MALC-MALCD-32x10.step +MALCD32-10ELBU,MALCD,32,10,,E,LB,U,MALC-MALCD-32x10.step +MALCD32-10ELBCM,MALCD,32,10,,E,LB,CM,MALC-MALCD-32x10.step +MALCD32-10EFA,MALCD,32,10,,E,FA,,MALC-MALCD-32x10.step +MALCD32-10EFAU,MALCD,32,10,,E,FA,U,MALC-MALCD-32x10.step +MALCD32-10EFACM,MALCD,32,10,,E,FA,CM,MALC-MALCD-32x10.step +MALCD32-10EFB,MALCD,32,10,,E,FB,,MALC-MALCD-32x10.step +MALCD32-10EFBU,MALCD,32,10,,E,FB,U,MALC-MALCD-32x10.step +MALCD32-10EFBCM,MALCD,32,10,,E,FB,CM,MALC-MALCD-32x10.step +MALCD32-10ESDB,MALCD,32,10,,E,SDB,,MALC-MALCD-32x10.step +MALCD32-10ESDBU,MALCD,32,10,,E,SDB,U,MALC-MALCD-32x10.step +MALCD32-10ESDBCM,MALCD,32,10,,E,SDB,CM,MALC-MALCD-32x10.step +MALCD32-10,MALCD,32,10,,,,,MALC-MALCD-32x10.step +MALCD32-10U,MALCD,32,10,,,,U,MALC-MALCD-32x10.step +MALCD32-10CM,MALCD,32,10,,,,CM,MALC-MALCD-32x10.step +MALCD32-10LB,MALCD,32,10,,,LB,,MALC-MALCD-32x10.step +MALCD32-10LBU,MALCD,32,10,,,LB,U,MALC-MALCD-32x10.step +MALCD32-10LBCM,MALCD,32,10,,,LB,CM,MALC-MALCD-32x10.step +MALCD32-10FA,MALCD,32,10,,,FA,,MALC-MALCD-32x10.step +MALCD32-10FAU,MALCD,32,10,,,FA,U,MALC-MALCD-32x10.step +MALCD32-10FACM,MALCD,32,10,,,FA,CM,MALC-MALCD-32x10.step +MALCD32-10FB,MALCD,32,10,,,FB,,MALC-MALCD-32x10.step +MALCD32-10FBU,MALCD,32,10,,,FB,U,MALC-MALCD-32x10.step +MALCD32-10FBCM,MALCD,32,10,,,FB,CM,MALC-MALCD-32x10.step +MALCD32-10SDB,MALCD,32,10,,,SDB,,MALC-MALCD-32x10.step +MALCD32-10SDBU,MALCD,32,10,,,SDB,U,MALC-MALCD-32x10.step +MALCD32-10SDBCM,MALCD,32,10,,,SDB,CM,MALC-MALCD-32x10.step +MALCD32-10ME,MALCD,32,10,M,E,,,MALC-MALCD-32x10.step +MALCD32-10MEU,MALCD,32,10,M,E,,U,MALC-MALCD-32x10.step +MALCD32-10MECM,MALCD,32,10,M,E,,CM,MALC-MALCD-32x10.step +MALCD32-10MELB,MALCD,32,10,M,E,LB,,MALC-MALCD-32x10.step +MALCD32-10MELBU,MALCD,32,10,M,E,LB,U,MALC-MALCD-32x10.step +MALCD32-10MELBCM,MALCD,32,10,M,E,LB,CM,MALC-MALCD-32x10.step +MALCD32-10MEFA,MALCD,32,10,M,E,FA,,MALC-MALCD-32x10.step +MALCD32-10MEFAU,MALCD,32,10,M,E,FA,U,MALC-MALCD-32x10.step +MALCD32-10MEFACM,MALCD,32,10,M,E,FA,CM,MALC-MALCD-32x10.step +MALCD32-10MEFB,MALCD,32,10,M,E,FB,,MALC-MALCD-32x10.step +MALCD32-10MEFBU,MALCD,32,10,M,E,FB,U,MALC-MALCD-32x10.step +MALCD32-10MEFBCM,MALCD,32,10,M,E,FB,CM,MALC-MALCD-32x10.step +MALCD32-10MESDB,MALCD,32,10,M,E,SDB,,MALC-MALCD-32x10.step +MALCD32-10MESDBU,MALCD,32,10,M,E,SDB,U,MALC-MALCD-32x10.step +MALCD32-10MESDBCM,MALCD,32,10,M,E,SDB,CM,MALC-MALCD-32x10.step +MALCD32-10M,MALCD,32,10,M,,,,MALC-MALCD-32x10.step +MALCD32-10MU,MALCD,32,10,M,,,U,MALC-MALCD-32x10.step +MALCD32-10MCM,MALCD,32,10,M,,,CM,MALC-MALCD-32x10.step +MALCD32-10MLB,MALCD,32,10,M,,LB,,MALC-MALCD-32x10.step +MALCD32-10MLBU,MALCD,32,10,M,,LB,U,MALC-MALCD-32x10.step +MALCD32-10MLBCM,MALCD,32,10,M,,LB,CM,MALC-MALCD-32x10.step +MALCD32-10MFA,MALCD,32,10,M,,FA,,MALC-MALCD-32x10.step +MALCD32-10MFAU,MALCD,32,10,M,,FA,U,MALC-MALCD-32x10.step +MALCD32-10MFACM,MALCD,32,10,M,,FA,CM,MALC-MALCD-32x10.step +MALCD32-10MFB,MALCD,32,10,M,,FB,,MALC-MALCD-32x10.step +MALCD32-10MFBU,MALCD,32,10,M,,FB,U,MALC-MALCD-32x10.step +MALCD32-10MFBCM,MALCD,32,10,M,,FB,CM,MALC-MALCD-32x10.step +MALCD32-10MSDB,MALCD,32,10,M,,SDB,,MALC-MALCD-32x10.step +MALCD32-10MSDBU,MALCD,32,10,M,,SDB,U,MALC-MALCD-32x10.step +MALCD32-10MSDBCM,MALCD,32,10,M,,SDB,CM,MALC-MALCD-32x10.step +MALCD32-20E,MALCD,32,20,,E,,,MALC-MALCD-32x20.step +MALCD32-20EU,MALCD,32,20,,E,,U,MALC-MALCD-32x20.step +MALCD32-20ECM,MALCD,32,20,,E,,CM,MALC-MALCD-32x20.step +MALCD32-20ELB,MALCD,32,20,,E,LB,,MALC-MALCD-32x20.step +MALCD32-20ELBU,MALCD,32,20,,E,LB,U,MALC-MALCD-32x20.step +MALCD32-20ELBCM,MALCD,32,20,,E,LB,CM,MALC-MALCD-32x20.step +MALCD32-20EFA,MALCD,32,20,,E,FA,,MALC-MALCD-32x20.step +MALCD32-20EFAU,MALCD,32,20,,E,FA,U,MALC-MALCD-32x20.step +MALCD32-20EFACM,MALCD,32,20,,E,FA,CM,MALC-MALCD-32x20.step +MALCD32-20EFB,MALCD,32,20,,E,FB,,MALC-MALCD-32x20.step +MALCD32-20EFBU,MALCD,32,20,,E,FB,U,MALC-MALCD-32x20.step +MALCD32-20EFBCM,MALCD,32,20,,E,FB,CM,MALC-MALCD-32x20.step +MALCD32-20ESDB,MALCD,32,20,,E,SDB,,MALC-MALCD-32x20.step +MALCD32-20ESDBU,MALCD,32,20,,E,SDB,U,MALC-MALCD-32x20.step +MALCD32-20ESDBCM,MALCD,32,20,,E,SDB,CM,MALC-MALCD-32x20.step +MALCD32-20,MALCD,32,20,,,,,MALC-MALCD-32x20.step +MALCD32-20U,MALCD,32,20,,,,U,MALC-MALCD-32x20.step +MALCD32-20CM,MALCD,32,20,,,,CM,MALC-MALCD-32x20.step +MALCD32-20LB,MALCD,32,20,,,LB,,MALC-MALCD-32x20.step +MALCD32-20LBU,MALCD,32,20,,,LB,U,MALC-MALCD-32x20.step +MALCD32-20LBCM,MALCD,32,20,,,LB,CM,MALC-MALCD-32x20.step +MALCD32-20FA,MALCD,32,20,,,FA,,MALC-MALCD-32x20.step +MALCD32-20FAU,MALCD,32,20,,,FA,U,MALC-MALCD-32x20.step +MALCD32-20FACM,MALCD,32,20,,,FA,CM,MALC-MALCD-32x20.step +MALCD32-20FB,MALCD,32,20,,,FB,,MALC-MALCD-32x20.step +MALCD32-20FBU,MALCD,32,20,,,FB,U,MALC-MALCD-32x20.step +MALCD32-20FBCM,MALCD,32,20,,,FB,CM,MALC-MALCD-32x20.step +MALCD32-20SDB,MALCD,32,20,,,SDB,,MALC-MALCD-32x20.step +MALCD32-20SDBU,MALCD,32,20,,,SDB,U,MALC-MALCD-32x20.step +MALCD32-20SDBCM,MALCD,32,20,,,SDB,CM,MALC-MALCD-32x20.step +MALCD32-20ME,MALCD,32,20,M,E,,,MALC-MALCD-32x20.step +MALCD32-20MEU,MALCD,32,20,M,E,,U,MALC-MALCD-32x20.step +MALCD32-20MECM,MALCD,32,20,M,E,,CM,MALC-MALCD-32x20.step +MALCD32-20MELB,MALCD,32,20,M,E,LB,,MALC-MALCD-32x20.step +MALCD32-20MELBU,MALCD,32,20,M,E,LB,U,MALC-MALCD-32x20.step +MALCD32-20MELBCM,MALCD,32,20,M,E,LB,CM,MALC-MALCD-32x20.step +MALCD32-20MEFA,MALCD,32,20,M,E,FA,,MALC-MALCD-32x20.step +MALCD32-20MEFAU,MALCD,32,20,M,E,FA,U,MALC-MALCD-32x20.step +MALCD32-20MEFACM,MALCD,32,20,M,E,FA,CM,MALC-MALCD-32x20.step +MALCD32-20MEFB,MALCD,32,20,M,E,FB,,MALC-MALCD-32x20.step +MALCD32-20MEFBU,MALCD,32,20,M,E,FB,U,MALC-MALCD-32x20.step +MALCD32-20MEFBCM,MALCD,32,20,M,E,FB,CM,MALC-MALCD-32x20.step +MALCD32-20MESDB,MALCD,32,20,M,E,SDB,,MALC-MALCD-32x20.step +MALCD32-20MESDBU,MALCD,32,20,M,E,SDB,U,MALC-MALCD-32x20.step +MALCD32-20MESDBCM,MALCD,32,20,M,E,SDB,CM,MALC-MALCD-32x20.step +MALCD32-20M,MALCD,32,20,M,,,,MALC-MALCD-32x20.step +MALCD32-20MU,MALCD,32,20,M,,,U,MALC-MALCD-32x20.step +MALCD32-20MCM,MALCD,32,20,M,,,CM,MALC-MALCD-32x20.step +MALCD32-20MLB,MALCD,32,20,M,,LB,,MALC-MALCD-32x20.step +MALCD32-20MLBU,MALCD,32,20,M,,LB,U,MALC-MALCD-32x20.step +MALCD32-20MLBCM,MALCD,32,20,M,,LB,CM,MALC-MALCD-32x20.step +MALCD32-20MFA,MALCD,32,20,M,,FA,,MALC-MALCD-32x20.step +MALCD32-20MFAU,MALCD,32,20,M,,FA,U,MALC-MALCD-32x20.step +MALCD32-20MFACM,MALCD,32,20,M,,FA,CM,MALC-MALCD-32x20.step +MALCD32-20MFB,MALCD,32,20,M,,FB,,MALC-MALCD-32x20.step +MALCD32-20MFBU,MALCD,32,20,M,,FB,U,MALC-MALCD-32x20.step +MALCD32-20MFBCM,MALCD,32,20,M,,FB,CM,MALC-MALCD-32x20.step +MALCD32-20MSDB,MALCD,32,20,M,,SDB,,MALC-MALCD-32x20.step +MALCD32-20MSDBU,MALCD,32,20,M,,SDB,U,MALC-MALCD-32x20.step +MALCD32-20MSDBCM,MALCD,32,20,M,,SDB,CM,MALC-MALCD-32x20.step +MALCD32-30E,MALCD,32,30,,E,,,MALC-MALCD-32x30.step +MALCD32-30EU,MALCD,32,30,,E,,U,MALC-MALCD-32x30.step +MALCD32-30ECM,MALCD,32,30,,E,,CM,MALC-MALCD-32x30.step +MALCD32-30ELB,MALCD,32,30,,E,LB,,MALC-MALCD-32x30.step +MALCD32-30ELBU,MALCD,32,30,,E,LB,U,MALC-MALCD-32x30.step +MALCD32-30ELBCM,MALCD,32,30,,E,LB,CM,MALC-MALCD-32x30.step +MALCD32-30EFA,MALCD,32,30,,E,FA,,MALC-MALCD-32x30.step +MALCD32-30EFAU,MALCD,32,30,,E,FA,U,MALC-MALCD-32x30.step +MALCD32-30EFACM,MALCD,32,30,,E,FA,CM,MALC-MALCD-32x30.step +MALCD32-30EFB,MALCD,32,30,,E,FB,,MALC-MALCD-32x30.step +MALCD32-30EFBU,MALCD,32,30,,E,FB,U,MALC-MALCD-32x30.step +MALCD32-30EFBCM,MALCD,32,30,,E,FB,CM,MALC-MALCD-32x30.step +MALCD32-30ESDB,MALCD,32,30,,E,SDB,,MALC-MALCD-32x30.step +MALCD32-30ESDBU,MALCD,32,30,,E,SDB,U,MALC-MALCD-32x30.step +MALCD32-30ESDBCM,MALCD,32,30,,E,SDB,CM,MALC-MALCD-32x30.step +MALCD32-30,MALCD,32,30,,,,,MALC-MALCD-32x30.step +MALCD32-30U,MALCD,32,30,,,,U,MALC-MALCD-32x30.step +MALCD32-30CM,MALCD,32,30,,,,CM,MALC-MALCD-32x30.step +MALCD32-30LB,MALCD,32,30,,,LB,,MALC-MALCD-32x30.step +MALCD32-30LBU,MALCD,32,30,,,LB,U,MALC-MALCD-32x30.step +MALCD32-30LBCM,MALCD,32,30,,,LB,CM,MALC-MALCD-32x30.step +MALCD32-30FA,MALCD,32,30,,,FA,,MALC-MALCD-32x30.step +MALCD32-30FAU,MALCD,32,30,,,FA,U,MALC-MALCD-32x30.step +MALCD32-30FACM,MALCD,32,30,,,FA,CM,MALC-MALCD-32x30.step +MALCD32-30FB,MALCD,32,30,,,FB,,MALC-MALCD-32x30.step +MALCD32-30FBU,MALCD,32,30,,,FB,U,MALC-MALCD-32x30.step +MALCD32-30FBCM,MALCD,32,30,,,FB,CM,MALC-MALCD-32x30.step +MALCD32-30SDB,MALCD,32,30,,,SDB,,MALC-MALCD-32x30.step +MALCD32-30SDBU,MALCD,32,30,,,SDB,U,MALC-MALCD-32x30.step +MALCD32-30SDBCM,MALCD,32,30,,,SDB,CM,MALC-MALCD-32x30.step +MALCD32-30ME,MALCD,32,30,M,E,,,MALC-MALCD-32x30.step +MALCD32-30MEU,MALCD,32,30,M,E,,U,MALC-MALCD-32x30.step +MALCD32-30MECM,MALCD,32,30,M,E,,CM,MALC-MALCD-32x30.step +MALCD32-30MELB,MALCD,32,30,M,E,LB,,MALC-MALCD-32x30.step +MALCD32-30MELBU,MALCD,32,30,M,E,LB,U,MALC-MALCD-32x30.step +MALCD32-30MELBCM,MALCD,32,30,M,E,LB,CM,MALC-MALCD-32x30.step +MALCD32-30MEFA,MALCD,32,30,M,E,FA,,MALC-MALCD-32x30.step +MALCD32-30MEFAU,MALCD,32,30,M,E,FA,U,MALC-MALCD-32x30.step +MALCD32-30MEFACM,MALCD,32,30,M,E,FA,CM,MALC-MALCD-32x30.step +MALCD32-30MEFB,MALCD,32,30,M,E,FB,,MALC-MALCD-32x30.step +MALCD32-30MEFBU,MALCD,32,30,M,E,FB,U,MALC-MALCD-32x30.step +MALCD32-30MEFBCM,MALCD,32,30,M,E,FB,CM,MALC-MALCD-32x30.step +MALCD32-30MESDB,MALCD,32,30,M,E,SDB,,MALC-MALCD-32x30.step +MALCD32-30MESDBU,MALCD,32,30,M,E,SDB,U,MALC-MALCD-32x30.step +MALCD32-30MESDBCM,MALCD,32,30,M,E,SDB,CM,MALC-MALCD-32x30.step +MALCD32-30M,MALCD,32,30,M,,,,MALC-MALCD-32x30.step +MALCD32-30MU,MALCD,32,30,M,,,U,MALC-MALCD-32x30.step +MALCD32-30MCM,MALCD,32,30,M,,,CM,MALC-MALCD-32x30.step +MALCD32-30MLB,MALCD,32,30,M,,LB,,MALC-MALCD-32x30.step +MALCD32-30MLBU,MALCD,32,30,M,,LB,U,MALC-MALCD-32x30.step +MALCD32-30MLBCM,MALCD,32,30,M,,LB,CM,MALC-MALCD-32x30.step +MALCD32-30MFA,MALCD,32,30,M,,FA,,MALC-MALCD-32x30.step +MALCD32-30MFAU,MALCD,32,30,M,,FA,U,MALC-MALCD-32x30.step +MALCD32-30MFACM,MALCD,32,30,M,,FA,CM,MALC-MALCD-32x30.step +MALCD32-30MFB,MALCD,32,30,M,,FB,,MALC-MALCD-32x30.step +MALCD32-30MFBU,MALCD,32,30,M,,FB,U,MALC-MALCD-32x30.step +MALCD32-30MFBCM,MALCD,32,30,M,,FB,CM,MALC-MALCD-32x30.step +MALCD32-30MSDB,MALCD,32,30,M,,SDB,,MALC-MALCD-32x30.step +MALCD32-30MSDBU,MALCD,32,30,M,,SDB,U,MALC-MALCD-32x30.step +MALCD32-30MSDBCM,MALCD,32,30,M,,SDB,CM,MALC-MALCD-32x30.step +MALCD32-50E,MALCD,32,50,,E,,,MALC-MALCD-32x50.step +MALCD32-50EU,MALCD,32,50,,E,,U,MALC-MALCD-32x50.step +MALCD32-50ECM,MALCD,32,50,,E,,CM,MALC-MALCD-32x50.step +MALCD32-50ELB,MALCD,32,50,,E,LB,,MALC-MALCD-32x50.step +MALCD32-50ELBU,MALCD,32,50,,E,LB,U,MALC-MALCD-32x50.step +MALCD32-50ELBCM,MALCD,32,50,,E,LB,CM,MALC-MALCD-32x50.step +MALCD32-50EFA,MALCD,32,50,,E,FA,,MALC-MALCD-32x50.step +MALCD32-50EFAU,MALCD,32,50,,E,FA,U,MALC-MALCD-32x50.step +MALCD32-50EFACM,MALCD,32,50,,E,FA,CM,MALC-MALCD-32x50.step +MALCD32-50EFB,MALCD,32,50,,E,FB,,MALC-MALCD-32x50.step +MALCD32-50EFBU,MALCD,32,50,,E,FB,U,MALC-MALCD-32x50.step +MALCD32-50EFBCM,MALCD,32,50,,E,FB,CM,MALC-MALCD-32x50.step +MALCD32-50ESDB,MALCD,32,50,,E,SDB,,MALC-MALCD-32x50.step +MALCD32-50ESDBU,MALCD,32,50,,E,SDB,U,MALC-MALCD-32x50.step +MALCD32-50ESDBCM,MALCD,32,50,,E,SDB,CM,MALC-MALCD-32x50.step +MALCD32-50,MALCD,32,50,,,,,MALC-MALCD-32x50.step +MALCD32-50U,MALCD,32,50,,,,U,MALC-MALCD-32x50.step +MALCD32-50CM,MALCD,32,50,,,,CM,MALC-MALCD-32x50.step +MALCD32-50LB,MALCD,32,50,,,LB,,MALC-MALCD-32x50.step +MALCD32-50LBU,MALCD,32,50,,,LB,U,MALC-MALCD-32x50.step +MALCD32-50LBCM,MALCD,32,50,,,LB,CM,MALC-MALCD-32x50.step +MALCD32-50FA,MALCD,32,50,,,FA,,MALC-MALCD-32x50.step +MALCD32-50FAU,MALCD,32,50,,,FA,U,MALC-MALCD-32x50.step +MALCD32-50FACM,MALCD,32,50,,,FA,CM,MALC-MALCD-32x50.step +MALCD32-50FB,MALCD,32,50,,,FB,,MALC-MALCD-32x50.step +MALCD32-50FBU,MALCD,32,50,,,FB,U,MALC-MALCD-32x50.step +MALCD32-50FBCM,MALCD,32,50,,,FB,CM,MALC-MALCD-32x50.step +MALCD32-50SDB,MALCD,32,50,,,SDB,,MALC-MALCD-32x50.step +MALCD32-50SDBU,MALCD,32,50,,,SDB,U,MALC-MALCD-32x50.step +MALCD32-50SDBCM,MALCD,32,50,,,SDB,CM,MALC-MALCD-32x50.step +MALCD32-50ME,MALCD,32,50,M,E,,,MALC-MALCD-32x50.step +MALCD32-50MEU,MALCD,32,50,M,E,,U,MALC-MALCD-32x50.step +MALCD32-50MECM,MALCD,32,50,M,E,,CM,MALC-MALCD-32x50.step +MALCD32-50MELB,MALCD,32,50,M,E,LB,,MALC-MALCD-32x50.step +MALCD32-50MELBU,MALCD,32,50,M,E,LB,U,MALC-MALCD-32x50.step +MALCD32-50MELBCM,MALCD,32,50,M,E,LB,CM,MALC-MALCD-32x50.step +MALCD32-50MEFA,MALCD,32,50,M,E,FA,,MALC-MALCD-32x50.step +MALCD32-50MEFAU,MALCD,32,50,M,E,FA,U,MALC-MALCD-32x50.step +MALCD32-50MEFACM,MALCD,32,50,M,E,FA,CM,MALC-MALCD-32x50.step +MALCD32-50MEFB,MALCD,32,50,M,E,FB,,MALC-MALCD-32x50.step +MALCD32-50MEFBU,MALCD,32,50,M,E,FB,U,MALC-MALCD-32x50.step +MALCD32-50MEFBCM,MALCD,32,50,M,E,FB,CM,MALC-MALCD-32x50.step +MALCD32-50MESDB,MALCD,32,50,M,E,SDB,,MALC-MALCD-32x50.step +MALCD32-50MESDBU,MALCD,32,50,M,E,SDB,U,MALC-MALCD-32x50.step +MALCD32-50MESDBCM,MALCD,32,50,M,E,SDB,CM,MALC-MALCD-32x50.step +MALCD32-50M,MALCD,32,50,M,,,,MALC-MALCD-32x50.step +MALCD32-50MU,MALCD,32,50,M,,,U,MALC-MALCD-32x50.step +MALCD32-50MCM,MALCD,32,50,M,,,CM,MALC-MALCD-32x50.step +MALCD32-50MLB,MALCD,32,50,M,,LB,,MALC-MALCD-32x50.step +MALCD32-50MLBU,MALCD,32,50,M,,LB,U,MALC-MALCD-32x50.step +MALCD32-50MLBCM,MALCD,32,50,M,,LB,CM,MALC-MALCD-32x50.step +MALCD32-50MFA,MALCD,32,50,M,,FA,,MALC-MALCD-32x50.step +MALCD32-50MFAU,MALCD,32,50,M,,FA,U,MALC-MALCD-32x50.step +MALCD32-50MFACM,MALCD,32,50,M,,FA,CM,MALC-MALCD-32x50.step +MALCD32-50MFB,MALCD,32,50,M,,FB,,MALC-MALCD-32x50.step +MALCD32-50MFBU,MALCD,32,50,M,,FB,U,MALC-MALCD-32x50.step +MALCD32-50MFBCM,MALCD,32,50,M,,FB,CM,MALC-MALCD-32x50.step +MALCD32-50MSDB,MALCD,32,50,M,,SDB,,MALC-MALCD-32x50.step +MALCD32-50MSDBU,MALCD,32,50,M,,SDB,U,MALC-MALCD-32x50.step +MALCD32-50MSDBCM,MALCD,32,50,M,,SDB,CM,MALC-MALCD-32x50.step +MALCD32-75E,MALCD,32,75,,E,,,MALC-MALCD-32x75.step +MALCD32-75EU,MALCD,32,75,,E,,U,MALC-MALCD-32x75.step +MALCD32-75ECM,MALCD,32,75,,E,,CM,MALC-MALCD-32x75.step +MALCD32-75ELB,MALCD,32,75,,E,LB,,MALC-MALCD-32x75.step +MALCD32-75ELBU,MALCD,32,75,,E,LB,U,MALC-MALCD-32x75.step +MALCD32-75ELBCM,MALCD,32,75,,E,LB,CM,MALC-MALCD-32x75.step +MALCD32-75EFA,MALCD,32,75,,E,FA,,MALC-MALCD-32x75.step +MALCD32-75EFAU,MALCD,32,75,,E,FA,U,MALC-MALCD-32x75.step +MALCD32-75EFACM,MALCD,32,75,,E,FA,CM,MALC-MALCD-32x75.step +MALCD32-75EFB,MALCD,32,75,,E,FB,,MALC-MALCD-32x75.step +MALCD32-75EFBU,MALCD,32,75,,E,FB,U,MALC-MALCD-32x75.step +MALCD32-75EFBCM,MALCD,32,75,,E,FB,CM,MALC-MALCD-32x75.step +MALCD32-75ESDB,MALCD,32,75,,E,SDB,,MALC-MALCD-32x75.step +MALCD32-75ESDBU,MALCD,32,75,,E,SDB,U,MALC-MALCD-32x75.step +MALCD32-75ESDBCM,MALCD,32,75,,E,SDB,CM,MALC-MALCD-32x75.step +MALCD32-75,MALCD,32,75,,,,,MALC-MALCD-32x75.step +MALCD32-75U,MALCD,32,75,,,,U,MALC-MALCD-32x75.step +MALCD32-75CM,MALCD,32,75,,,,CM,MALC-MALCD-32x75.step +MALCD32-75LB,MALCD,32,75,,,LB,,MALC-MALCD-32x75.step +MALCD32-75LBU,MALCD,32,75,,,LB,U,MALC-MALCD-32x75.step +MALCD32-75LBCM,MALCD,32,75,,,LB,CM,MALC-MALCD-32x75.step +MALCD32-75FA,MALCD,32,75,,,FA,,MALC-MALCD-32x75.step +MALCD32-75FAU,MALCD,32,75,,,FA,U,MALC-MALCD-32x75.step +MALCD32-75FACM,MALCD,32,75,,,FA,CM,MALC-MALCD-32x75.step +MALCD32-75FB,MALCD,32,75,,,FB,,MALC-MALCD-32x75.step +MALCD32-75FBU,MALCD,32,75,,,FB,U,MALC-MALCD-32x75.step +MALCD32-75FBCM,MALCD,32,75,,,FB,CM,MALC-MALCD-32x75.step +MALCD32-75SDB,MALCD,32,75,,,SDB,,MALC-MALCD-32x75.step +MALCD32-75SDBU,MALCD,32,75,,,SDB,U,MALC-MALCD-32x75.step +MALCD32-75SDBCM,MALCD,32,75,,,SDB,CM,MALC-MALCD-32x75.step +MALCD32-75ME,MALCD,32,75,M,E,,,MALC-MALCD-32x75.step +MALCD32-75MEU,MALCD,32,75,M,E,,U,MALC-MALCD-32x75.step +MALCD32-75MECM,MALCD,32,75,M,E,,CM,MALC-MALCD-32x75.step +MALCD32-75MELB,MALCD,32,75,M,E,LB,,MALC-MALCD-32x75.step +MALCD32-75MELBU,MALCD,32,75,M,E,LB,U,MALC-MALCD-32x75.step +MALCD32-75MELBCM,MALCD,32,75,M,E,LB,CM,MALC-MALCD-32x75.step +MALCD32-75MEFA,MALCD,32,75,M,E,FA,,MALC-MALCD-32x75.step +MALCD32-75MEFAU,MALCD,32,75,M,E,FA,U,MALC-MALCD-32x75.step +MALCD32-75MEFACM,MALCD,32,75,M,E,FA,CM,MALC-MALCD-32x75.step +MALCD32-75MEFB,MALCD,32,75,M,E,FB,,MALC-MALCD-32x75.step +MALCD32-75MEFBU,MALCD,32,75,M,E,FB,U,MALC-MALCD-32x75.step +MALCD32-75MEFBCM,MALCD,32,75,M,E,FB,CM,MALC-MALCD-32x75.step +MALCD32-75MESDB,MALCD,32,75,M,E,SDB,,MALC-MALCD-32x75.step +MALCD32-75MESDBU,MALCD,32,75,M,E,SDB,U,MALC-MALCD-32x75.step +MALCD32-75MESDBCM,MALCD,32,75,M,E,SDB,CM,MALC-MALCD-32x75.step +MALCD32-75M,MALCD,32,75,M,,,,MALC-MALCD-32x75.step +MALCD32-75MU,MALCD,32,75,M,,,U,MALC-MALCD-32x75.step +MALCD32-75MCM,MALCD,32,75,M,,,CM,MALC-MALCD-32x75.step +MALCD32-75MLB,MALCD,32,75,M,,LB,,MALC-MALCD-32x75.step +MALCD32-75MLBU,MALCD,32,75,M,,LB,U,MALC-MALCD-32x75.step +MALCD32-75MLBCM,MALCD,32,75,M,,LB,CM,MALC-MALCD-32x75.step +MALCD32-75MFA,MALCD,32,75,M,,FA,,MALC-MALCD-32x75.step +MALCD32-75MFAU,MALCD,32,75,M,,FA,U,MALC-MALCD-32x75.step +MALCD32-75MFACM,MALCD,32,75,M,,FA,CM,MALC-MALCD-32x75.step +MALCD32-75MFB,MALCD,32,75,M,,FB,,MALC-MALCD-32x75.step +MALCD32-75MFBU,MALCD,32,75,M,,FB,U,MALC-MALCD-32x75.step +MALCD32-75MFBCM,MALCD,32,75,M,,FB,CM,MALC-MALCD-32x75.step +MALCD32-75MSDB,MALCD,32,75,M,,SDB,,MALC-MALCD-32x75.step +MALCD32-75MSDBU,MALCD,32,75,M,,SDB,U,MALC-MALCD-32x75.step +MALCD32-75MSDBCM,MALCD,32,75,M,,SDB,CM,MALC-MALCD-32x75.step +MALCD32-100E,MALCD,32,100,,E,,,MALC-MALCD-32x100.step +MALCD32-100EU,MALCD,32,100,,E,,U,MALC-MALCD-32x100.step +MALCD32-100ECM,MALCD,32,100,,E,,CM,MALC-MALCD-32x100.step +MALCD32-100ELB,MALCD,32,100,,E,LB,,MALC-MALCD-32x100.step +MALCD32-100ELBU,MALCD,32,100,,E,LB,U,MALC-MALCD-32x100.step +MALCD32-100ELBCM,MALCD,32,100,,E,LB,CM,MALC-MALCD-32x100.step +MALCD32-100EFA,MALCD,32,100,,E,FA,,MALC-MALCD-32x100.step +MALCD32-100EFAU,MALCD,32,100,,E,FA,U,MALC-MALCD-32x100.step +MALCD32-100EFACM,MALCD,32,100,,E,FA,CM,MALC-MALCD-32x100.step +MALCD32-100EFB,MALCD,32,100,,E,FB,,MALC-MALCD-32x100.step +MALCD32-100EFBU,MALCD,32,100,,E,FB,U,MALC-MALCD-32x100.step +MALCD32-100EFBCM,MALCD,32,100,,E,FB,CM,MALC-MALCD-32x100.step +MALCD32-100ESDB,MALCD,32,100,,E,SDB,,MALC-MALCD-32x100.step +MALCD32-100ESDBU,MALCD,32,100,,E,SDB,U,MALC-MALCD-32x100.step +MALCD32-100ESDBCM,MALCD,32,100,,E,SDB,CM,MALC-MALCD-32x100.step +MALCD32-100,MALCD,32,100,,,,,MALC-MALCD-32x100.step +MALCD32-100U,MALCD,32,100,,,,U,MALC-MALCD-32x100.step +MALCD32-100CM,MALCD,32,100,,,,CM,MALC-MALCD-32x100.step +MALCD32-100LB,MALCD,32,100,,,LB,,MALC-MALCD-32x100.step +MALCD32-100LBU,MALCD,32,100,,,LB,U,MALC-MALCD-32x100.step +MALCD32-100LBCM,MALCD,32,100,,,LB,CM,MALC-MALCD-32x100.step +MALCD32-100FA,MALCD,32,100,,,FA,,MALC-MALCD-32x100.step +MALCD32-100FAU,MALCD,32,100,,,FA,U,MALC-MALCD-32x100.step +MALCD32-100FACM,MALCD,32,100,,,FA,CM,MALC-MALCD-32x100.step +MALCD32-100FB,MALCD,32,100,,,FB,,MALC-MALCD-32x100.step +MALCD32-100FBU,MALCD,32,100,,,FB,U,MALC-MALCD-32x100.step +MALCD32-100FBCM,MALCD,32,100,,,FB,CM,MALC-MALCD-32x100.step +MALCD32-100SDB,MALCD,32,100,,,SDB,,MALC-MALCD-32x100.step +MALCD32-100SDBU,MALCD,32,100,,,SDB,U,MALC-MALCD-32x100.step +MALCD32-100SDBCM,MALCD,32,100,,,SDB,CM,MALC-MALCD-32x100.step +MALCD32-100ME,MALCD,32,100,M,E,,,MALC-MALCD-32x100.step +MALCD32-100MEU,MALCD,32,100,M,E,,U,MALC-MALCD-32x100.step +MALCD32-100MECM,MALCD,32,100,M,E,,CM,MALC-MALCD-32x100.step +MALCD32-100MELB,MALCD,32,100,M,E,LB,,MALC-MALCD-32x100.step +MALCD32-100MELBU,MALCD,32,100,M,E,LB,U,MALC-MALCD-32x100.step +MALCD32-100MELBCM,MALCD,32,100,M,E,LB,CM,MALC-MALCD-32x100.step +MALCD32-100MEFA,MALCD,32,100,M,E,FA,,MALC-MALCD-32x100.step +MALCD32-100MEFAU,MALCD,32,100,M,E,FA,U,MALC-MALCD-32x100.step +MALCD32-100MEFACM,MALCD,32,100,M,E,FA,CM,MALC-MALCD-32x100.step +MALCD32-100MEFB,MALCD,32,100,M,E,FB,,MALC-MALCD-32x100.step +MALCD32-100MEFBU,MALCD,32,100,M,E,FB,U,MALC-MALCD-32x100.step +MALCD32-100MEFBCM,MALCD,32,100,M,E,FB,CM,MALC-MALCD-32x100.step +MALCD32-100MESDB,MALCD,32,100,M,E,SDB,,MALC-MALCD-32x100.step +MALCD32-100MESDBU,MALCD,32,100,M,E,SDB,U,MALC-MALCD-32x100.step +MALCD32-100MESDBCM,MALCD,32,100,M,E,SDB,CM,MALC-MALCD-32x100.step +MALCD32-100M,MALCD,32,100,M,,,,MALC-MALCD-32x100.step +MALCD32-100MU,MALCD,32,100,M,,,U,MALC-MALCD-32x100.step +MALCD32-100MCM,MALCD,32,100,M,,,CM,MALC-MALCD-32x100.step +MALCD32-100MLB,MALCD,32,100,M,,LB,,MALC-MALCD-32x100.step +MALCD32-100MLBU,MALCD,32,100,M,,LB,U,MALC-MALCD-32x100.step +MALCD32-100MLBCM,MALCD,32,100,M,,LB,CM,MALC-MALCD-32x100.step +MALCD32-100MFA,MALCD,32,100,M,,FA,,MALC-MALCD-32x100.step +MALCD32-100MFAU,MALCD,32,100,M,,FA,U,MALC-MALCD-32x100.step +MALCD32-100MFACM,MALCD,32,100,M,,FA,CM,MALC-MALCD-32x100.step +MALCD32-100MFB,MALCD,32,100,M,,FB,,MALC-MALCD-32x100.step +MALCD32-100MFBU,MALCD,32,100,M,,FB,U,MALC-MALCD-32x100.step +MALCD32-100MFBCM,MALCD,32,100,M,,FB,CM,MALC-MALCD-32x100.step +MALCD32-100MSDB,MALCD,32,100,M,,SDB,,MALC-MALCD-32x100.step +MALCD32-100MSDBU,MALCD,32,100,M,,SDB,U,MALC-MALCD-32x100.step +MALCD32-100MSDBCM,MALCD,32,100,M,,SDB,CM,MALC-MALCD-32x100.step +MALCD40-10E,MALCD,40,10,,E,,,MALC-MALCD-40x10.step +MALCD40-10EU,MALCD,40,10,,E,,U,MALC-MALCD-40x10.step +MALCD40-10ECM,MALCD,40,10,,E,,CM,MALC-MALCD-40x10.step +MALCD40-10ELB,MALCD,40,10,,E,LB,,MALC-MALCD-40x10.step +MALCD40-10ELBU,MALCD,40,10,,E,LB,U,MALC-MALCD-40x10.step +MALCD40-10ELBCM,MALCD,40,10,,E,LB,CM,MALC-MALCD-40x10.step +MALCD40-10EFA,MALCD,40,10,,E,FA,,MALC-MALCD-40x10.step +MALCD40-10EFAU,MALCD,40,10,,E,FA,U,MALC-MALCD-40x10.step +MALCD40-10EFACM,MALCD,40,10,,E,FA,CM,MALC-MALCD-40x10.step +MALCD40-10EFB,MALCD,40,10,,E,FB,,MALC-MALCD-40x10.step +MALCD40-10EFBU,MALCD,40,10,,E,FB,U,MALC-MALCD-40x10.step +MALCD40-10EFBCM,MALCD,40,10,,E,FB,CM,MALC-MALCD-40x10.step +MALCD40-10ESDB,MALCD,40,10,,E,SDB,,MALC-MALCD-40x10.step +MALCD40-10ESDBU,MALCD,40,10,,E,SDB,U,MALC-MALCD-40x10.step +MALCD40-10ESDBCM,MALCD,40,10,,E,SDB,CM,MALC-MALCD-40x10.step +MALCD40-10,MALCD,40,10,,,,,MALC-MALCD-40x10.step +MALCD40-10U,MALCD,40,10,,,,U,MALC-MALCD-40x10.step +MALCD40-10CM,MALCD,40,10,,,,CM,MALC-MALCD-40x10.step +MALCD40-10LB,MALCD,40,10,,,LB,,MALC-MALCD-40x10.step +MALCD40-10LBU,MALCD,40,10,,,LB,U,MALC-MALCD-40x10.step +MALCD40-10LBCM,MALCD,40,10,,,LB,CM,MALC-MALCD-40x10.step +MALCD40-10FA,MALCD,40,10,,,FA,,MALC-MALCD-40x10.step +MALCD40-10FAU,MALCD,40,10,,,FA,U,MALC-MALCD-40x10.step +MALCD40-10FACM,MALCD,40,10,,,FA,CM,MALC-MALCD-40x10.step +MALCD40-10FB,MALCD,40,10,,,FB,,MALC-MALCD-40x10.step +MALCD40-10FBU,MALCD,40,10,,,FB,U,MALC-MALCD-40x10.step +MALCD40-10FBCM,MALCD,40,10,,,FB,CM,MALC-MALCD-40x10.step +MALCD40-10SDB,MALCD,40,10,,,SDB,,MALC-MALCD-40x10.step +MALCD40-10SDBU,MALCD,40,10,,,SDB,U,MALC-MALCD-40x10.step +MALCD40-10SDBCM,MALCD,40,10,,,SDB,CM,MALC-MALCD-40x10.step +MALCD40-10ME,MALCD,40,10,M,E,,,MALC-MALCD-40x10.step +MALCD40-10MEU,MALCD,40,10,M,E,,U,MALC-MALCD-40x10.step +MALCD40-10MECM,MALCD,40,10,M,E,,CM,MALC-MALCD-40x10.step +MALCD40-10MELB,MALCD,40,10,M,E,LB,,MALC-MALCD-40x10.step +MALCD40-10MELBU,MALCD,40,10,M,E,LB,U,MALC-MALCD-40x10.step +MALCD40-10MELBCM,MALCD,40,10,M,E,LB,CM,MALC-MALCD-40x10.step +MALCD40-10MEFA,MALCD,40,10,M,E,FA,,MALC-MALCD-40x10.step +MALCD40-10MEFAU,MALCD,40,10,M,E,FA,U,MALC-MALCD-40x10.step +MALCD40-10MEFACM,MALCD,40,10,M,E,FA,CM,MALC-MALCD-40x10.step +MALCD40-10MEFB,MALCD,40,10,M,E,FB,,MALC-MALCD-40x10.step +MALCD40-10MEFBU,MALCD,40,10,M,E,FB,U,MALC-MALCD-40x10.step +MALCD40-10MEFBCM,MALCD,40,10,M,E,FB,CM,MALC-MALCD-40x10.step +MALCD40-10MESDB,MALCD,40,10,M,E,SDB,,MALC-MALCD-40x10.step +MALCD40-10MESDBU,MALCD,40,10,M,E,SDB,U,MALC-MALCD-40x10.step +MALCD40-10MESDBCM,MALCD,40,10,M,E,SDB,CM,MALC-MALCD-40x10.step +MALCD40-10M,MALCD,40,10,M,,,,MALC-MALCD-40x10.step +MALCD40-10MU,MALCD,40,10,M,,,U,MALC-MALCD-40x10.step +MALCD40-10MCM,MALCD,40,10,M,,,CM,MALC-MALCD-40x10.step +MALCD40-10MLB,MALCD,40,10,M,,LB,,MALC-MALCD-40x10.step +MALCD40-10MLBU,MALCD,40,10,M,,LB,U,MALC-MALCD-40x10.step +MALCD40-10MLBCM,MALCD,40,10,M,,LB,CM,MALC-MALCD-40x10.step +MALCD40-10MFA,MALCD,40,10,M,,FA,,MALC-MALCD-40x10.step +MALCD40-10MFAU,MALCD,40,10,M,,FA,U,MALC-MALCD-40x10.step +MALCD40-10MFACM,MALCD,40,10,M,,FA,CM,MALC-MALCD-40x10.step +MALCD40-10MFB,MALCD,40,10,M,,FB,,MALC-MALCD-40x10.step +MALCD40-10MFBU,MALCD,40,10,M,,FB,U,MALC-MALCD-40x10.step +MALCD40-10MFBCM,MALCD,40,10,M,,FB,CM,MALC-MALCD-40x10.step +MALCD40-10MSDB,MALCD,40,10,M,,SDB,,MALC-MALCD-40x10.step +MALCD40-10MSDBU,MALCD,40,10,M,,SDB,U,MALC-MALCD-40x10.step +MALCD40-10MSDBCM,MALCD,40,10,M,,SDB,CM,MALC-MALCD-40x10.step +MALCD40-20E,MALCD,40,20,,E,,,MALC-MALCD-40x20.step +MALCD40-20EU,MALCD,40,20,,E,,U,MALC-MALCD-40x20.step +MALCD40-20ECM,MALCD,40,20,,E,,CM,MALC-MALCD-40x20.step +MALCD40-20ELB,MALCD,40,20,,E,LB,,MALC-MALCD-40x20.step +MALCD40-20ELBU,MALCD,40,20,,E,LB,U,MALC-MALCD-40x20.step +MALCD40-20ELBCM,MALCD,40,20,,E,LB,CM,MALC-MALCD-40x20.step +MALCD40-20EFA,MALCD,40,20,,E,FA,,MALC-MALCD-40x20.step +MALCD40-20EFAU,MALCD,40,20,,E,FA,U,MALC-MALCD-40x20.step +MALCD40-20EFACM,MALCD,40,20,,E,FA,CM,MALC-MALCD-40x20.step +MALCD40-20EFB,MALCD,40,20,,E,FB,,MALC-MALCD-40x20.step +MALCD40-20EFBU,MALCD,40,20,,E,FB,U,MALC-MALCD-40x20.step +MALCD40-20EFBCM,MALCD,40,20,,E,FB,CM,MALC-MALCD-40x20.step +MALCD40-20ESDB,MALCD,40,20,,E,SDB,,MALC-MALCD-40x20.step +MALCD40-20ESDBU,MALCD,40,20,,E,SDB,U,MALC-MALCD-40x20.step +MALCD40-20ESDBCM,MALCD,40,20,,E,SDB,CM,MALC-MALCD-40x20.step +MALCD40-20,MALCD,40,20,,,,,MALC-MALCD-40x20.step +MALCD40-20U,MALCD,40,20,,,,U,MALC-MALCD-40x20.step +MALCD40-20CM,MALCD,40,20,,,,CM,MALC-MALCD-40x20.step +MALCD40-20LB,MALCD,40,20,,,LB,,MALC-MALCD-40x20.step +MALCD40-20LBU,MALCD,40,20,,,LB,U,MALC-MALCD-40x20.step +MALCD40-20LBCM,MALCD,40,20,,,LB,CM,MALC-MALCD-40x20.step +MALCD40-20FA,MALCD,40,20,,,FA,,MALC-MALCD-40x20.step +MALCD40-20FAU,MALCD,40,20,,,FA,U,MALC-MALCD-40x20.step +MALCD40-20FACM,MALCD,40,20,,,FA,CM,MALC-MALCD-40x20.step +MALCD40-20FB,MALCD,40,20,,,FB,,MALC-MALCD-40x20.step +MALCD40-20FBU,MALCD,40,20,,,FB,U,MALC-MALCD-40x20.step +MALCD40-20FBCM,MALCD,40,20,,,FB,CM,MALC-MALCD-40x20.step +MALCD40-20SDB,MALCD,40,20,,,SDB,,MALC-MALCD-40x20.step +MALCD40-20SDBU,MALCD,40,20,,,SDB,U,MALC-MALCD-40x20.step +MALCD40-20SDBCM,MALCD,40,20,,,SDB,CM,MALC-MALCD-40x20.step +MALCD40-20ME,MALCD,40,20,M,E,,,MALC-MALCD-40x20.step +MALCD40-20MEU,MALCD,40,20,M,E,,U,MALC-MALCD-40x20.step +MALCD40-20MECM,MALCD,40,20,M,E,,CM,MALC-MALCD-40x20.step +MALCD40-20MELB,MALCD,40,20,M,E,LB,,MALC-MALCD-40x20.step +MALCD40-20MELBU,MALCD,40,20,M,E,LB,U,MALC-MALCD-40x20.step +MALCD40-20MELBCM,MALCD,40,20,M,E,LB,CM,MALC-MALCD-40x20.step +MALCD40-20MEFA,MALCD,40,20,M,E,FA,,MALC-MALCD-40x20.step +MALCD40-20MEFAU,MALCD,40,20,M,E,FA,U,MALC-MALCD-40x20.step +MALCD40-20MEFACM,MALCD,40,20,M,E,FA,CM,MALC-MALCD-40x20.step +MALCD40-20MEFB,MALCD,40,20,M,E,FB,,MALC-MALCD-40x20.step +MALCD40-20MEFBU,MALCD,40,20,M,E,FB,U,MALC-MALCD-40x20.step +MALCD40-20MEFBCM,MALCD,40,20,M,E,FB,CM,MALC-MALCD-40x20.step +MALCD40-20MESDB,MALCD,40,20,M,E,SDB,,MALC-MALCD-40x20.step +MALCD40-20MESDBU,MALCD,40,20,M,E,SDB,U,MALC-MALCD-40x20.step +MALCD40-20MESDBCM,MALCD,40,20,M,E,SDB,CM,MALC-MALCD-40x20.step +MALCD40-20M,MALCD,40,20,M,,,,MALC-MALCD-40x20.step +MALCD40-20MU,MALCD,40,20,M,,,U,MALC-MALCD-40x20.step +MALCD40-20MCM,MALCD,40,20,M,,,CM,MALC-MALCD-40x20.step +MALCD40-20MLB,MALCD,40,20,M,,LB,,MALC-MALCD-40x20.step +MALCD40-20MLBU,MALCD,40,20,M,,LB,U,MALC-MALCD-40x20.step +MALCD40-20MLBCM,MALCD,40,20,M,,LB,CM,MALC-MALCD-40x20.step +MALCD40-20MFA,MALCD,40,20,M,,FA,,MALC-MALCD-40x20.step +MALCD40-20MFAU,MALCD,40,20,M,,FA,U,MALC-MALCD-40x20.step +MALCD40-20MFACM,MALCD,40,20,M,,FA,CM,MALC-MALCD-40x20.step +MALCD40-20MFB,MALCD,40,20,M,,FB,,MALC-MALCD-40x20.step +MALCD40-20MFBU,MALCD,40,20,M,,FB,U,MALC-MALCD-40x20.step +MALCD40-20MFBCM,MALCD,40,20,M,,FB,CM,MALC-MALCD-40x20.step +MALCD40-20MSDB,MALCD,40,20,M,,SDB,,MALC-MALCD-40x20.step +MALCD40-20MSDBU,MALCD,40,20,M,,SDB,U,MALC-MALCD-40x20.step +MALCD40-20MSDBCM,MALCD,40,20,M,,SDB,CM,MALC-MALCD-40x20.step +MALCD40-30E,MALCD,40,30,,E,,,MALC-MALCD-40x30.step +MALCD40-30EU,MALCD,40,30,,E,,U,MALC-MALCD-40x30.step +MALCD40-30ECM,MALCD,40,30,,E,,CM,MALC-MALCD-40x30.step +MALCD40-30ELB,MALCD,40,30,,E,LB,,MALC-MALCD-40x30.step +MALCD40-30ELBU,MALCD,40,30,,E,LB,U,MALC-MALCD-40x30.step +MALCD40-30ELBCM,MALCD,40,30,,E,LB,CM,MALC-MALCD-40x30.step +MALCD40-30EFA,MALCD,40,30,,E,FA,,MALC-MALCD-40x30.step +MALCD40-30EFAU,MALCD,40,30,,E,FA,U,MALC-MALCD-40x30.step +MALCD40-30EFACM,MALCD,40,30,,E,FA,CM,MALC-MALCD-40x30.step +MALCD40-30EFB,MALCD,40,30,,E,FB,,MALC-MALCD-40x30.step +MALCD40-30EFBU,MALCD,40,30,,E,FB,U,MALC-MALCD-40x30.step +MALCD40-30EFBCM,MALCD,40,30,,E,FB,CM,MALC-MALCD-40x30.step +MALCD40-30ESDB,MALCD,40,30,,E,SDB,,MALC-MALCD-40x30.step +MALCD40-30ESDBU,MALCD,40,30,,E,SDB,U,MALC-MALCD-40x30.step +MALCD40-30ESDBCM,MALCD,40,30,,E,SDB,CM,MALC-MALCD-40x30.step +MALCD40-30,MALCD,40,30,,,,,MALC-MALCD-40x30.step +MALCD40-30U,MALCD,40,30,,,,U,MALC-MALCD-40x30.step +MALCD40-30CM,MALCD,40,30,,,,CM,MALC-MALCD-40x30.step +MALCD40-30LB,MALCD,40,30,,,LB,,MALC-MALCD-40x30.step +MALCD40-30LBU,MALCD,40,30,,,LB,U,MALC-MALCD-40x30.step +MALCD40-30LBCM,MALCD,40,30,,,LB,CM,MALC-MALCD-40x30.step +MALCD40-30FA,MALCD,40,30,,,FA,,MALC-MALCD-40x30.step +MALCD40-30FAU,MALCD,40,30,,,FA,U,MALC-MALCD-40x30.step +MALCD40-30FACM,MALCD,40,30,,,FA,CM,MALC-MALCD-40x30.step +MALCD40-30FB,MALCD,40,30,,,FB,,MALC-MALCD-40x30.step +MALCD40-30FBU,MALCD,40,30,,,FB,U,MALC-MALCD-40x30.step +MALCD40-30FBCM,MALCD,40,30,,,FB,CM,MALC-MALCD-40x30.step +MALCD40-30SDB,MALCD,40,30,,,SDB,,MALC-MALCD-40x30.step +MALCD40-30SDBU,MALCD,40,30,,,SDB,U,MALC-MALCD-40x30.step +MALCD40-30SDBCM,MALCD,40,30,,,SDB,CM,MALC-MALCD-40x30.step +MALCD40-30ME,MALCD,40,30,M,E,,,MALC-MALCD-40x30.step +MALCD40-30MEU,MALCD,40,30,M,E,,U,MALC-MALCD-40x30.step +MALCD40-30MECM,MALCD,40,30,M,E,,CM,MALC-MALCD-40x30.step +MALCD40-30MELB,MALCD,40,30,M,E,LB,,MALC-MALCD-40x30.step +MALCD40-30MELBU,MALCD,40,30,M,E,LB,U,MALC-MALCD-40x30.step +MALCD40-30MELBCM,MALCD,40,30,M,E,LB,CM,MALC-MALCD-40x30.step +MALCD40-30MEFA,MALCD,40,30,M,E,FA,,MALC-MALCD-40x30.step +MALCD40-30MEFAU,MALCD,40,30,M,E,FA,U,MALC-MALCD-40x30.step +MALCD40-30MEFACM,MALCD,40,30,M,E,FA,CM,MALC-MALCD-40x30.step +MALCD40-30MEFB,MALCD,40,30,M,E,FB,,MALC-MALCD-40x30.step +MALCD40-30MEFBU,MALCD,40,30,M,E,FB,U,MALC-MALCD-40x30.step +MALCD40-30MEFBCM,MALCD,40,30,M,E,FB,CM,MALC-MALCD-40x30.step +MALCD40-30MESDB,MALCD,40,30,M,E,SDB,,MALC-MALCD-40x30.step +MALCD40-30MESDBU,MALCD,40,30,M,E,SDB,U,MALC-MALCD-40x30.step +MALCD40-30MESDBCM,MALCD,40,30,M,E,SDB,CM,MALC-MALCD-40x30.step +MALCD40-30M,MALCD,40,30,M,,,,MALC-MALCD-40x30.step +MALCD40-30MU,MALCD,40,30,M,,,U,MALC-MALCD-40x30.step +MALCD40-30MCM,MALCD,40,30,M,,,CM,MALC-MALCD-40x30.step +MALCD40-30MLB,MALCD,40,30,M,,LB,,MALC-MALCD-40x30.step +MALCD40-30MLBU,MALCD,40,30,M,,LB,U,MALC-MALCD-40x30.step +MALCD40-30MLBCM,MALCD,40,30,M,,LB,CM,MALC-MALCD-40x30.step +MALCD40-30MFA,MALCD,40,30,M,,FA,,MALC-MALCD-40x30.step +MALCD40-30MFAU,MALCD,40,30,M,,FA,U,MALC-MALCD-40x30.step +MALCD40-30MFACM,MALCD,40,30,M,,FA,CM,MALC-MALCD-40x30.step +MALCD40-30MFB,MALCD,40,30,M,,FB,,MALC-MALCD-40x30.step +MALCD40-30MFBU,MALCD,40,30,M,,FB,U,MALC-MALCD-40x30.step +MALCD40-30MFBCM,MALCD,40,30,M,,FB,CM,MALC-MALCD-40x30.step +MALCD40-30MSDB,MALCD,40,30,M,,SDB,,MALC-MALCD-40x30.step +MALCD40-30MSDBU,MALCD,40,30,M,,SDB,U,MALC-MALCD-40x30.step +MALCD40-30MSDBCM,MALCD,40,30,M,,SDB,CM,MALC-MALCD-40x30.step +MALCD40-50E,MALCD,40,50,,E,,,MALC-MALCD-40x50.step +MALCD40-50EU,MALCD,40,50,,E,,U,MALC-MALCD-40x50.step +MALCD40-50ECM,MALCD,40,50,,E,,CM,MALC-MALCD-40x50.step +MALCD40-50ELB,MALCD,40,50,,E,LB,,MALC-MALCD-40x50.step +MALCD40-50ELBU,MALCD,40,50,,E,LB,U,MALC-MALCD-40x50.step +MALCD40-50ELBCM,MALCD,40,50,,E,LB,CM,MALC-MALCD-40x50.step +MALCD40-50EFA,MALCD,40,50,,E,FA,,MALC-MALCD-40x50.step +MALCD40-50EFAU,MALCD,40,50,,E,FA,U,MALC-MALCD-40x50.step +MALCD40-50EFACM,MALCD,40,50,,E,FA,CM,MALC-MALCD-40x50.step +MALCD40-50EFB,MALCD,40,50,,E,FB,,MALC-MALCD-40x50.step +MALCD40-50EFBU,MALCD,40,50,,E,FB,U,MALC-MALCD-40x50.step +MALCD40-50EFBCM,MALCD,40,50,,E,FB,CM,MALC-MALCD-40x50.step +MALCD40-50ESDB,MALCD,40,50,,E,SDB,,MALC-MALCD-40x50.step +MALCD40-50ESDBU,MALCD,40,50,,E,SDB,U,MALC-MALCD-40x50.step +MALCD40-50ESDBCM,MALCD,40,50,,E,SDB,CM,MALC-MALCD-40x50.step +MALCD40-50,MALCD,40,50,,,,,MALC-MALCD-40x50.step +MALCD40-50U,MALCD,40,50,,,,U,MALC-MALCD-40x50.step +MALCD40-50CM,MALCD,40,50,,,,CM,MALC-MALCD-40x50.step +MALCD40-50LB,MALCD,40,50,,,LB,,MALC-MALCD-40x50.step +MALCD40-50LBU,MALCD,40,50,,,LB,U,MALC-MALCD-40x50.step +MALCD40-50LBCM,MALCD,40,50,,,LB,CM,MALC-MALCD-40x50.step +MALCD40-50FA,MALCD,40,50,,,FA,,MALC-MALCD-40x50.step +MALCD40-50FAU,MALCD,40,50,,,FA,U,MALC-MALCD-40x50.step +MALCD40-50FACM,MALCD,40,50,,,FA,CM,MALC-MALCD-40x50.step +MALCD40-50FB,MALCD,40,50,,,FB,,MALC-MALCD-40x50.step +MALCD40-50FBU,MALCD,40,50,,,FB,U,MALC-MALCD-40x50.step +MALCD40-50FBCM,MALCD,40,50,,,FB,CM,MALC-MALCD-40x50.step +MALCD40-50SDB,MALCD,40,50,,,SDB,,MALC-MALCD-40x50.step +MALCD40-50SDBU,MALCD,40,50,,,SDB,U,MALC-MALCD-40x50.step +MALCD40-50SDBCM,MALCD,40,50,,,SDB,CM,MALC-MALCD-40x50.step +MALCD40-50ME,MALCD,40,50,M,E,,,MALC-MALCD-40x50.step +MALCD40-50MEU,MALCD,40,50,M,E,,U,MALC-MALCD-40x50.step +MALCD40-50MECM,MALCD,40,50,M,E,,CM,MALC-MALCD-40x50.step +MALCD40-50MELB,MALCD,40,50,M,E,LB,,MALC-MALCD-40x50.step +MALCD40-50MELBU,MALCD,40,50,M,E,LB,U,MALC-MALCD-40x50.step +MALCD40-50MELBCM,MALCD,40,50,M,E,LB,CM,MALC-MALCD-40x50.step +MALCD40-50MEFA,MALCD,40,50,M,E,FA,,MALC-MALCD-40x50.step +MALCD40-50MEFAU,MALCD,40,50,M,E,FA,U,MALC-MALCD-40x50.step +MALCD40-50MEFACM,MALCD,40,50,M,E,FA,CM,MALC-MALCD-40x50.step +MALCD40-50MEFB,MALCD,40,50,M,E,FB,,MALC-MALCD-40x50.step +MALCD40-50MEFBU,MALCD,40,50,M,E,FB,U,MALC-MALCD-40x50.step +MALCD40-50MEFBCM,MALCD,40,50,M,E,FB,CM,MALC-MALCD-40x50.step +MALCD40-50MESDB,MALCD,40,50,M,E,SDB,,MALC-MALCD-40x50.step +MALCD40-50MESDBU,MALCD,40,50,M,E,SDB,U,MALC-MALCD-40x50.step +MALCD40-50MESDBCM,MALCD,40,50,M,E,SDB,CM,MALC-MALCD-40x50.step +MALCD40-50M,MALCD,40,50,M,,,,MALC-MALCD-40x50.step +MALCD40-50MU,MALCD,40,50,M,,,U,MALC-MALCD-40x50.step +MALCD40-50MCM,MALCD,40,50,M,,,CM,MALC-MALCD-40x50.step +MALCD40-50MLB,MALCD,40,50,M,,LB,,MALC-MALCD-40x50.step +MALCD40-50MLBU,MALCD,40,50,M,,LB,U,MALC-MALCD-40x50.step +MALCD40-50MLBCM,MALCD,40,50,M,,LB,CM,MALC-MALCD-40x50.step +MALCD40-50MFA,MALCD,40,50,M,,FA,,MALC-MALCD-40x50.step +MALCD40-50MFAU,MALCD,40,50,M,,FA,U,MALC-MALCD-40x50.step +MALCD40-50MFACM,MALCD,40,50,M,,FA,CM,MALC-MALCD-40x50.step +MALCD40-50MFB,MALCD,40,50,M,,FB,,MALC-MALCD-40x50.step +MALCD40-50MFBU,MALCD,40,50,M,,FB,U,MALC-MALCD-40x50.step +MALCD40-50MFBCM,MALCD,40,50,M,,FB,CM,MALC-MALCD-40x50.step +MALCD40-50MSDB,MALCD,40,50,M,,SDB,,MALC-MALCD-40x50.step +MALCD40-50MSDBU,MALCD,40,50,M,,SDB,U,MALC-MALCD-40x50.step +MALCD40-50MSDBCM,MALCD,40,50,M,,SDB,CM,MALC-MALCD-40x50.step +MALCD40-75E,MALCD,40,75,,E,,,MALC-MALCD-40x75.step +MALCD40-75EU,MALCD,40,75,,E,,U,MALC-MALCD-40x75.step +MALCD40-75ECM,MALCD,40,75,,E,,CM,MALC-MALCD-40x75.step +MALCD40-75ELB,MALCD,40,75,,E,LB,,MALC-MALCD-40x75.step +MALCD40-75ELBU,MALCD,40,75,,E,LB,U,MALC-MALCD-40x75.step +MALCD40-75ELBCM,MALCD,40,75,,E,LB,CM,MALC-MALCD-40x75.step +MALCD40-75EFA,MALCD,40,75,,E,FA,,MALC-MALCD-40x75.step +MALCD40-75EFAU,MALCD,40,75,,E,FA,U,MALC-MALCD-40x75.step +MALCD40-75EFACM,MALCD,40,75,,E,FA,CM,MALC-MALCD-40x75.step +MALCD40-75EFB,MALCD,40,75,,E,FB,,MALC-MALCD-40x75.step +MALCD40-75EFBU,MALCD,40,75,,E,FB,U,MALC-MALCD-40x75.step +MALCD40-75EFBCM,MALCD,40,75,,E,FB,CM,MALC-MALCD-40x75.step +MALCD40-75ESDB,MALCD,40,75,,E,SDB,,MALC-MALCD-40x75.step +MALCD40-75ESDBU,MALCD,40,75,,E,SDB,U,MALC-MALCD-40x75.step +MALCD40-75ESDBCM,MALCD,40,75,,E,SDB,CM,MALC-MALCD-40x75.step +MALCD40-75,MALCD,40,75,,,,,MALC-MALCD-40x75.step +MALCD40-75U,MALCD,40,75,,,,U,MALC-MALCD-40x75.step +MALCD40-75CM,MALCD,40,75,,,,CM,MALC-MALCD-40x75.step +MALCD40-75LB,MALCD,40,75,,,LB,,MALC-MALCD-40x75.step +MALCD40-75LBU,MALCD,40,75,,,LB,U,MALC-MALCD-40x75.step +MALCD40-75LBCM,MALCD,40,75,,,LB,CM,MALC-MALCD-40x75.step +MALCD40-75FA,MALCD,40,75,,,FA,,MALC-MALCD-40x75.step +MALCD40-75FAU,MALCD,40,75,,,FA,U,MALC-MALCD-40x75.step +MALCD40-75FACM,MALCD,40,75,,,FA,CM,MALC-MALCD-40x75.step +MALCD40-75FB,MALCD,40,75,,,FB,,MALC-MALCD-40x75.step +MALCD40-75FBU,MALCD,40,75,,,FB,U,MALC-MALCD-40x75.step +MALCD40-75FBCM,MALCD,40,75,,,FB,CM,MALC-MALCD-40x75.step +MALCD40-75SDB,MALCD,40,75,,,SDB,,MALC-MALCD-40x75.step +MALCD40-75SDBU,MALCD,40,75,,,SDB,U,MALC-MALCD-40x75.step +MALCD40-75SDBCM,MALCD,40,75,,,SDB,CM,MALC-MALCD-40x75.step +MALCD40-75ME,MALCD,40,75,M,E,,,MALC-MALCD-40x75.step +MALCD40-75MEU,MALCD,40,75,M,E,,U,MALC-MALCD-40x75.step +MALCD40-75MECM,MALCD,40,75,M,E,,CM,MALC-MALCD-40x75.step +MALCD40-75MELB,MALCD,40,75,M,E,LB,,MALC-MALCD-40x75.step +MALCD40-75MELBU,MALCD,40,75,M,E,LB,U,MALC-MALCD-40x75.step +MALCD40-75MELBCM,MALCD,40,75,M,E,LB,CM,MALC-MALCD-40x75.step +MALCD40-75MEFA,MALCD,40,75,M,E,FA,,MALC-MALCD-40x75.step +MALCD40-75MEFAU,MALCD,40,75,M,E,FA,U,MALC-MALCD-40x75.step +MALCD40-75MEFACM,MALCD,40,75,M,E,FA,CM,MALC-MALCD-40x75.step +MALCD40-75MEFB,MALCD,40,75,M,E,FB,,MALC-MALCD-40x75.step +MALCD40-75MEFBU,MALCD,40,75,M,E,FB,U,MALC-MALCD-40x75.step +MALCD40-75MEFBCM,MALCD,40,75,M,E,FB,CM,MALC-MALCD-40x75.step +MALCD40-75MESDB,MALCD,40,75,M,E,SDB,,MALC-MALCD-40x75.step +MALCD40-75MESDBU,MALCD,40,75,M,E,SDB,U,MALC-MALCD-40x75.step +MALCD40-75MESDBCM,MALCD,40,75,M,E,SDB,CM,MALC-MALCD-40x75.step +MALCD40-75M,MALCD,40,75,M,,,,MALC-MALCD-40x75.step +MALCD40-75MU,MALCD,40,75,M,,,U,MALC-MALCD-40x75.step +MALCD40-75MCM,MALCD,40,75,M,,,CM,MALC-MALCD-40x75.step +MALCD40-75MLB,MALCD,40,75,M,,LB,,MALC-MALCD-40x75.step +MALCD40-75MLBU,MALCD,40,75,M,,LB,U,MALC-MALCD-40x75.step +MALCD40-75MLBCM,MALCD,40,75,M,,LB,CM,MALC-MALCD-40x75.step +MALCD40-75MFA,MALCD,40,75,M,,FA,,MALC-MALCD-40x75.step +MALCD40-75MFAU,MALCD,40,75,M,,FA,U,MALC-MALCD-40x75.step +MALCD40-75MFACM,MALCD,40,75,M,,FA,CM,MALC-MALCD-40x75.step +MALCD40-75MFB,MALCD,40,75,M,,FB,,MALC-MALCD-40x75.step +MALCD40-75MFBU,MALCD,40,75,M,,FB,U,MALC-MALCD-40x75.step +MALCD40-75MFBCM,MALCD,40,75,M,,FB,CM,MALC-MALCD-40x75.step +MALCD40-75MSDB,MALCD,40,75,M,,SDB,,MALC-MALCD-40x75.step +MALCD40-75MSDBU,MALCD,40,75,M,,SDB,U,MALC-MALCD-40x75.step +MALCD40-75MSDBCM,MALCD,40,75,M,,SDB,CM,MALC-MALCD-40x75.step +MALCD40-100E,MALCD,40,100,,E,,,MALC-MALCD-40x100.step +MALCD40-100EU,MALCD,40,100,,E,,U,MALC-MALCD-40x100.step +MALCD40-100ECM,MALCD,40,100,,E,,CM,MALC-MALCD-40x100.step +MALCD40-100ELB,MALCD,40,100,,E,LB,,MALC-MALCD-40x100.step +MALCD40-100ELBU,MALCD,40,100,,E,LB,U,MALC-MALCD-40x100.step +MALCD40-100ELBCM,MALCD,40,100,,E,LB,CM,MALC-MALCD-40x100.step +MALCD40-100EFA,MALCD,40,100,,E,FA,,MALC-MALCD-40x100.step +MALCD40-100EFAU,MALCD,40,100,,E,FA,U,MALC-MALCD-40x100.step +MALCD40-100EFACM,MALCD,40,100,,E,FA,CM,MALC-MALCD-40x100.step +MALCD40-100EFB,MALCD,40,100,,E,FB,,MALC-MALCD-40x100.step +MALCD40-100EFBU,MALCD,40,100,,E,FB,U,MALC-MALCD-40x100.step +MALCD40-100EFBCM,MALCD,40,100,,E,FB,CM,MALC-MALCD-40x100.step +MALCD40-100ESDB,MALCD,40,100,,E,SDB,,MALC-MALCD-40x100.step +MALCD40-100ESDBU,MALCD,40,100,,E,SDB,U,MALC-MALCD-40x100.step +MALCD40-100ESDBCM,MALCD,40,100,,E,SDB,CM,MALC-MALCD-40x100.step +MALCD40-100,MALCD,40,100,,,,,MALC-MALCD-40x100.step +MALCD40-100U,MALCD,40,100,,,,U,MALC-MALCD-40x100.step +MALCD40-100CM,MALCD,40,100,,,,CM,MALC-MALCD-40x100.step +MALCD40-100LB,MALCD,40,100,,,LB,,MALC-MALCD-40x100.step +MALCD40-100LBU,MALCD,40,100,,,LB,U,MALC-MALCD-40x100.step +MALCD40-100LBCM,MALCD,40,100,,,LB,CM,MALC-MALCD-40x100.step +MALCD40-100FA,MALCD,40,100,,,FA,,MALC-MALCD-40x100.step +MALCD40-100FAU,MALCD,40,100,,,FA,U,MALC-MALCD-40x100.step +MALCD40-100FACM,MALCD,40,100,,,FA,CM,MALC-MALCD-40x100.step +MALCD40-100FB,MALCD,40,100,,,FB,,MALC-MALCD-40x100.step +MALCD40-100FBU,MALCD,40,100,,,FB,U,MALC-MALCD-40x100.step +MALCD40-100FBCM,MALCD,40,100,,,FB,CM,MALC-MALCD-40x100.step +MALCD40-100SDB,MALCD,40,100,,,SDB,,MALC-MALCD-40x100.step +MALCD40-100SDBU,MALCD,40,100,,,SDB,U,MALC-MALCD-40x100.step +MALCD40-100SDBCM,MALCD,40,100,,,SDB,CM,MALC-MALCD-40x100.step +MALCD40-100ME,MALCD,40,100,M,E,,,MALC-MALCD-40x100.step +MALCD40-100MEU,MALCD,40,100,M,E,,U,MALC-MALCD-40x100.step +MALCD40-100MECM,MALCD,40,100,M,E,,CM,MALC-MALCD-40x100.step +MALCD40-100MELB,MALCD,40,100,M,E,LB,,MALC-MALCD-40x100.step +MALCD40-100MELBU,MALCD,40,100,M,E,LB,U,MALC-MALCD-40x100.step +MALCD40-100MELBCM,MALCD,40,100,M,E,LB,CM,MALC-MALCD-40x100.step +MALCD40-100MEFA,MALCD,40,100,M,E,FA,,MALC-MALCD-40x100.step +MALCD40-100MEFAU,MALCD,40,100,M,E,FA,U,MALC-MALCD-40x100.step +MALCD40-100MEFACM,MALCD,40,100,M,E,FA,CM,MALC-MALCD-40x100.step +MALCD40-100MEFB,MALCD,40,100,M,E,FB,,MALC-MALCD-40x100.step +MALCD40-100MEFBU,MALCD,40,100,M,E,FB,U,MALC-MALCD-40x100.step +MALCD40-100MEFBCM,MALCD,40,100,M,E,FB,CM,MALC-MALCD-40x100.step +MALCD40-100MESDB,MALCD,40,100,M,E,SDB,,MALC-MALCD-40x100.step +MALCD40-100MESDBU,MALCD,40,100,M,E,SDB,U,MALC-MALCD-40x100.step +MALCD40-100MESDBCM,MALCD,40,100,M,E,SDB,CM,MALC-MALCD-40x100.step +MALCD40-100M,MALCD,40,100,M,,,,MALC-MALCD-40x100.step +MALCD40-100MU,MALCD,40,100,M,,,U,MALC-MALCD-40x100.step +MALCD40-100MCM,MALCD,40,100,M,,,CM,MALC-MALCD-40x100.step +MALCD40-100MLB,MALCD,40,100,M,,LB,,MALC-MALCD-40x100.step +MALCD40-100MLBU,MALCD,40,100,M,,LB,U,MALC-MALCD-40x100.step +MALCD40-100MLBCM,MALCD,40,100,M,,LB,CM,MALC-MALCD-40x100.step +MALCD40-100MFA,MALCD,40,100,M,,FA,,MALC-MALCD-40x100.step +MALCD40-100MFAU,MALCD,40,100,M,,FA,U,MALC-MALCD-40x100.step +MALCD40-100MFACM,MALCD,40,100,M,,FA,CM,MALC-MALCD-40x100.step +MALCD40-100MFB,MALCD,40,100,M,,FB,,MALC-MALCD-40x100.step +MALCD40-100MFBU,MALCD,40,100,M,,FB,U,MALC-MALCD-40x100.step +MALCD40-100MFBCM,MALCD,40,100,M,,FB,CM,MALC-MALCD-40x100.step +MALCD40-100MSDB,MALCD,40,100,M,,SDB,,MALC-MALCD-40x100.step +MALCD40-100MSDBU,MALCD,40,100,M,,SDB,U,MALC-MALCD-40x100.step +MALCD40-100MSDBCM,MALCD,40,100,M,,SDB,CM,MALC-MALCD-40x100.step +MALCJ16-10E,MALCJ,16,10,,E,,,MALC-MALCJ-16x10.step +MALCJ16-10EU,MALCJ,16,10,,E,,U,MALC-MALCJ-16x10.step +MALCJ16-10ECM,MALCJ,16,10,,E,,CM,MALC-MALCJ-16x10.step +MALCJ16-10ELB,MALCJ,16,10,,E,LB,,MALC-MALCJ-16x10.step +MALCJ16-10ELBU,MALCJ,16,10,,E,LB,U,MALC-MALCJ-16x10.step +MALCJ16-10ELBCM,MALCJ,16,10,,E,LB,CM,MALC-MALCJ-16x10.step +MALCJ16-10EFA,MALCJ,16,10,,E,FA,,MALC-MALCJ-16x10.step +MALCJ16-10EFAU,MALCJ,16,10,,E,FA,U,MALC-MALCJ-16x10.step +MALCJ16-10EFACM,MALCJ,16,10,,E,FA,CM,MALC-MALCJ-16x10.step +MALCJ16-10EFB,MALCJ,16,10,,E,FB,,MALC-MALCJ-16x10.step +MALCJ16-10EFBU,MALCJ,16,10,,E,FB,U,MALC-MALCJ-16x10.step +MALCJ16-10EFBCM,MALCJ,16,10,,E,FB,CM,MALC-MALCJ-16x10.step +MALCJ16-10ESDB,MALCJ,16,10,,E,SDB,,MALC-MALCJ-16x10.step +MALCJ16-10ESDBU,MALCJ,16,10,,E,SDB,U,MALC-MALCJ-16x10.step +MALCJ16-10ESDBCM,MALCJ,16,10,,E,SDB,CM,MALC-MALCJ-16x10.step +MALCJ16-10,MALCJ,16,10,,,,,MALC-MALCJ-16x10.step +MALCJ16-10U,MALCJ,16,10,,,,U,MALC-MALCJ-16x10.step +MALCJ16-10CM,MALCJ,16,10,,,,CM,MALC-MALCJ-16x10.step +MALCJ16-10LB,MALCJ,16,10,,,LB,,MALC-MALCJ-16x10.step +MALCJ16-10LBU,MALCJ,16,10,,,LB,U,MALC-MALCJ-16x10.step +MALCJ16-10LBCM,MALCJ,16,10,,,LB,CM,MALC-MALCJ-16x10.step +MALCJ16-10FA,MALCJ,16,10,,,FA,,MALC-MALCJ-16x10.step +MALCJ16-10FAU,MALCJ,16,10,,,FA,U,MALC-MALCJ-16x10.step +MALCJ16-10FACM,MALCJ,16,10,,,FA,CM,MALC-MALCJ-16x10.step +MALCJ16-10FB,MALCJ,16,10,,,FB,,MALC-MALCJ-16x10.step +MALCJ16-10FBU,MALCJ,16,10,,,FB,U,MALC-MALCJ-16x10.step +MALCJ16-10FBCM,MALCJ,16,10,,,FB,CM,MALC-MALCJ-16x10.step +MALCJ16-10SDB,MALCJ,16,10,,,SDB,,MALC-MALCJ-16x10.step +MALCJ16-10SDBU,MALCJ,16,10,,,SDB,U,MALC-MALCJ-16x10.step +MALCJ16-10SDBCM,MALCJ,16,10,,,SDB,CM,MALC-MALCJ-16x10.step +MALCJ16-10ME,MALCJ,16,10,M,E,,,MALC-MALCJ-16x10.step +MALCJ16-10MEU,MALCJ,16,10,M,E,,U,MALC-MALCJ-16x10.step +MALCJ16-10MECM,MALCJ,16,10,M,E,,CM,MALC-MALCJ-16x10.step +MALCJ16-10MELB,MALCJ,16,10,M,E,LB,,MALC-MALCJ-16x10.step +MALCJ16-10MELBU,MALCJ,16,10,M,E,LB,U,MALC-MALCJ-16x10.step +MALCJ16-10MELBCM,MALCJ,16,10,M,E,LB,CM,MALC-MALCJ-16x10.step +MALCJ16-10MEFA,MALCJ,16,10,M,E,FA,,MALC-MALCJ-16x10.step +MALCJ16-10MEFAU,MALCJ,16,10,M,E,FA,U,MALC-MALCJ-16x10.step +MALCJ16-10MEFACM,MALCJ,16,10,M,E,FA,CM,MALC-MALCJ-16x10.step +MALCJ16-10MEFB,MALCJ,16,10,M,E,FB,,MALC-MALCJ-16x10.step +MALCJ16-10MEFBU,MALCJ,16,10,M,E,FB,U,MALC-MALCJ-16x10.step +MALCJ16-10MEFBCM,MALCJ,16,10,M,E,FB,CM,MALC-MALCJ-16x10.step +MALCJ16-10MESDB,MALCJ,16,10,M,E,SDB,,MALC-MALCJ-16x10.step +MALCJ16-10MESDBU,MALCJ,16,10,M,E,SDB,U,MALC-MALCJ-16x10.step +MALCJ16-10MESDBCM,MALCJ,16,10,M,E,SDB,CM,MALC-MALCJ-16x10.step +MALCJ16-10M,MALCJ,16,10,M,,,,MALC-MALCJ-16x10.step +MALCJ16-10MU,MALCJ,16,10,M,,,U,MALC-MALCJ-16x10.step +MALCJ16-10MCM,MALCJ,16,10,M,,,CM,MALC-MALCJ-16x10.step +MALCJ16-10MLB,MALCJ,16,10,M,,LB,,MALC-MALCJ-16x10.step +MALCJ16-10MLBU,MALCJ,16,10,M,,LB,U,MALC-MALCJ-16x10.step +MALCJ16-10MLBCM,MALCJ,16,10,M,,LB,CM,MALC-MALCJ-16x10.step +MALCJ16-10MFA,MALCJ,16,10,M,,FA,,MALC-MALCJ-16x10.step +MALCJ16-10MFAU,MALCJ,16,10,M,,FA,U,MALC-MALCJ-16x10.step +MALCJ16-10MFACM,MALCJ,16,10,M,,FA,CM,MALC-MALCJ-16x10.step +MALCJ16-10MFB,MALCJ,16,10,M,,FB,,MALC-MALCJ-16x10.step +MALCJ16-10MFBU,MALCJ,16,10,M,,FB,U,MALC-MALCJ-16x10.step +MALCJ16-10MFBCM,MALCJ,16,10,M,,FB,CM,MALC-MALCJ-16x10.step +MALCJ16-10MSDB,MALCJ,16,10,M,,SDB,,MALC-MALCJ-16x10.step +MALCJ16-10MSDBU,MALCJ,16,10,M,,SDB,U,MALC-MALCJ-16x10.step +MALCJ16-10MSDBCM,MALCJ,16,10,M,,SDB,CM,MALC-MALCJ-16x10.step +MALCJ16-20E,MALCJ,16,20,,E,,,MALC-MALCJ-16x20.step +MALCJ16-20EU,MALCJ,16,20,,E,,U,MALC-MALCJ-16x20.step +MALCJ16-20ECM,MALCJ,16,20,,E,,CM,MALC-MALCJ-16x20.step +MALCJ16-20ELB,MALCJ,16,20,,E,LB,,MALC-MALCJ-16x20.step +MALCJ16-20ELBU,MALCJ,16,20,,E,LB,U,MALC-MALCJ-16x20.step +MALCJ16-20ELBCM,MALCJ,16,20,,E,LB,CM,MALC-MALCJ-16x20.step +MALCJ16-20EFA,MALCJ,16,20,,E,FA,,MALC-MALCJ-16x20.step +MALCJ16-20EFAU,MALCJ,16,20,,E,FA,U,MALC-MALCJ-16x20.step +MALCJ16-20EFACM,MALCJ,16,20,,E,FA,CM,MALC-MALCJ-16x20.step +MALCJ16-20EFB,MALCJ,16,20,,E,FB,,MALC-MALCJ-16x20.step +MALCJ16-20EFBU,MALCJ,16,20,,E,FB,U,MALC-MALCJ-16x20.step +MALCJ16-20EFBCM,MALCJ,16,20,,E,FB,CM,MALC-MALCJ-16x20.step +MALCJ16-20ESDB,MALCJ,16,20,,E,SDB,,MALC-MALCJ-16x20.step +MALCJ16-20ESDBU,MALCJ,16,20,,E,SDB,U,MALC-MALCJ-16x20.step +MALCJ16-20ESDBCM,MALCJ,16,20,,E,SDB,CM,MALC-MALCJ-16x20.step +MALCJ16-20,MALCJ,16,20,,,,,MALC-MALCJ-16x20.step +MALCJ16-20U,MALCJ,16,20,,,,U,MALC-MALCJ-16x20.step +MALCJ16-20CM,MALCJ,16,20,,,,CM,MALC-MALCJ-16x20.step +MALCJ16-20LB,MALCJ,16,20,,,LB,,MALC-MALCJ-16x20.step +MALCJ16-20LBU,MALCJ,16,20,,,LB,U,MALC-MALCJ-16x20.step +MALCJ16-20LBCM,MALCJ,16,20,,,LB,CM,MALC-MALCJ-16x20.step +MALCJ16-20FA,MALCJ,16,20,,,FA,,MALC-MALCJ-16x20.step +MALCJ16-20FAU,MALCJ,16,20,,,FA,U,MALC-MALCJ-16x20.step +MALCJ16-20FACM,MALCJ,16,20,,,FA,CM,MALC-MALCJ-16x20.step +MALCJ16-20FB,MALCJ,16,20,,,FB,,MALC-MALCJ-16x20.step +MALCJ16-20FBU,MALCJ,16,20,,,FB,U,MALC-MALCJ-16x20.step +MALCJ16-20FBCM,MALCJ,16,20,,,FB,CM,MALC-MALCJ-16x20.step +MALCJ16-20SDB,MALCJ,16,20,,,SDB,,MALC-MALCJ-16x20.step +MALCJ16-20SDBU,MALCJ,16,20,,,SDB,U,MALC-MALCJ-16x20.step +MALCJ16-20SDBCM,MALCJ,16,20,,,SDB,CM,MALC-MALCJ-16x20.step +MALCJ16-20ME,MALCJ,16,20,M,E,,,MALC-MALCJ-16x20.step +MALCJ16-20MEU,MALCJ,16,20,M,E,,U,MALC-MALCJ-16x20.step +MALCJ16-20MECM,MALCJ,16,20,M,E,,CM,MALC-MALCJ-16x20.step +MALCJ16-20MELB,MALCJ,16,20,M,E,LB,,MALC-MALCJ-16x20.step +MALCJ16-20MELBU,MALCJ,16,20,M,E,LB,U,MALC-MALCJ-16x20.step +MALCJ16-20MELBCM,MALCJ,16,20,M,E,LB,CM,MALC-MALCJ-16x20.step +MALCJ16-20MEFA,MALCJ,16,20,M,E,FA,,MALC-MALCJ-16x20.step +MALCJ16-20MEFAU,MALCJ,16,20,M,E,FA,U,MALC-MALCJ-16x20.step +MALCJ16-20MEFACM,MALCJ,16,20,M,E,FA,CM,MALC-MALCJ-16x20.step +MALCJ16-20MEFB,MALCJ,16,20,M,E,FB,,MALC-MALCJ-16x20.step +MALCJ16-20MEFBU,MALCJ,16,20,M,E,FB,U,MALC-MALCJ-16x20.step +MALCJ16-20MEFBCM,MALCJ,16,20,M,E,FB,CM,MALC-MALCJ-16x20.step +MALCJ16-20MESDB,MALCJ,16,20,M,E,SDB,,MALC-MALCJ-16x20.step +MALCJ16-20MESDBU,MALCJ,16,20,M,E,SDB,U,MALC-MALCJ-16x20.step +MALCJ16-20MESDBCM,MALCJ,16,20,M,E,SDB,CM,MALC-MALCJ-16x20.step +MALCJ16-20M,MALCJ,16,20,M,,,,MALC-MALCJ-16x20.step +MALCJ16-20MU,MALCJ,16,20,M,,,U,MALC-MALCJ-16x20.step +MALCJ16-20MCM,MALCJ,16,20,M,,,CM,MALC-MALCJ-16x20.step +MALCJ16-20MLB,MALCJ,16,20,M,,LB,,MALC-MALCJ-16x20.step +MALCJ16-20MLBU,MALCJ,16,20,M,,LB,U,MALC-MALCJ-16x20.step +MALCJ16-20MLBCM,MALCJ,16,20,M,,LB,CM,MALC-MALCJ-16x20.step +MALCJ16-20MFA,MALCJ,16,20,M,,FA,,MALC-MALCJ-16x20.step +MALCJ16-20MFAU,MALCJ,16,20,M,,FA,U,MALC-MALCJ-16x20.step +MALCJ16-20MFACM,MALCJ,16,20,M,,FA,CM,MALC-MALCJ-16x20.step +MALCJ16-20MFB,MALCJ,16,20,M,,FB,,MALC-MALCJ-16x20.step +MALCJ16-20MFBU,MALCJ,16,20,M,,FB,U,MALC-MALCJ-16x20.step +MALCJ16-20MFBCM,MALCJ,16,20,M,,FB,CM,MALC-MALCJ-16x20.step +MALCJ16-20MSDB,MALCJ,16,20,M,,SDB,,MALC-MALCJ-16x20.step +MALCJ16-20MSDBU,MALCJ,16,20,M,,SDB,U,MALC-MALCJ-16x20.step +MALCJ16-20MSDBCM,MALCJ,16,20,M,,SDB,CM,MALC-MALCJ-16x20.step +MALCJ16-30E,MALCJ,16,30,,E,,,MALC-MALCJ-16x30.step +MALCJ16-30EU,MALCJ,16,30,,E,,U,MALC-MALCJ-16x30.step +MALCJ16-30ECM,MALCJ,16,30,,E,,CM,MALC-MALCJ-16x30.step +MALCJ16-30ELB,MALCJ,16,30,,E,LB,,MALC-MALCJ-16x30.step +MALCJ16-30ELBU,MALCJ,16,30,,E,LB,U,MALC-MALCJ-16x30.step +MALCJ16-30ELBCM,MALCJ,16,30,,E,LB,CM,MALC-MALCJ-16x30.step +MALCJ16-30EFA,MALCJ,16,30,,E,FA,,MALC-MALCJ-16x30.step +MALCJ16-30EFAU,MALCJ,16,30,,E,FA,U,MALC-MALCJ-16x30.step +MALCJ16-30EFACM,MALCJ,16,30,,E,FA,CM,MALC-MALCJ-16x30.step +MALCJ16-30EFB,MALCJ,16,30,,E,FB,,MALC-MALCJ-16x30.step +MALCJ16-30EFBU,MALCJ,16,30,,E,FB,U,MALC-MALCJ-16x30.step +MALCJ16-30EFBCM,MALCJ,16,30,,E,FB,CM,MALC-MALCJ-16x30.step +MALCJ16-30ESDB,MALCJ,16,30,,E,SDB,,MALC-MALCJ-16x30.step +MALCJ16-30ESDBU,MALCJ,16,30,,E,SDB,U,MALC-MALCJ-16x30.step +MALCJ16-30ESDBCM,MALCJ,16,30,,E,SDB,CM,MALC-MALCJ-16x30.step +MALCJ16-30,MALCJ,16,30,,,,,MALC-MALCJ-16x30.step +MALCJ16-30U,MALCJ,16,30,,,,U,MALC-MALCJ-16x30.step +MALCJ16-30CM,MALCJ,16,30,,,,CM,MALC-MALCJ-16x30.step +MALCJ16-30LB,MALCJ,16,30,,,LB,,MALC-MALCJ-16x30.step +MALCJ16-30LBU,MALCJ,16,30,,,LB,U,MALC-MALCJ-16x30.step +MALCJ16-30LBCM,MALCJ,16,30,,,LB,CM,MALC-MALCJ-16x30.step +MALCJ16-30FA,MALCJ,16,30,,,FA,,MALC-MALCJ-16x30.step +MALCJ16-30FAU,MALCJ,16,30,,,FA,U,MALC-MALCJ-16x30.step +MALCJ16-30FACM,MALCJ,16,30,,,FA,CM,MALC-MALCJ-16x30.step +MALCJ16-30FB,MALCJ,16,30,,,FB,,MALC-MALCJ-16x30.step +MALCJ16-30FBU,MALCJ,16,30,,,FB,U,MALC-MALCJ-16x30.step +MALCJ16-30FBCM,MALCJ,16,30,,,FB,CM,MALC-MALCJ-16x30.step +MALCJ16-30SDB,MALCJ,16,30,,,SDB,,MALC-MALCJ-16x30.step +MALCJ16-30SDBU,MALCJ,16,30,,,SDB,U,MALC-MALCJ-16x30.step +MALCJ16-30SDBCM,MALCJ,16,30,,,SDB,CM,MALC-MALCJ-16x30.step +MALCJ16-30ME,MALCJ,16,30,M,E,,,MALC-MALCJ-16x30.step +MALCJ16-30MEU,MALCJ,16,30,M,E,,U,MALC-MALCJ-16x30.step +MALCJ16-30MECM,MALCJ,16,30,M,E,,CM,MALC-MALCJ-16x30.step +MALCJ16-30MELB,MALCJ,16,30,M,E,LB,,MALC-MALCJ-16x30.step +MALCJ16-30MELBU,MALCJ,16,30,M,E,LB,U,MALC-MALCJ-16x30.step +MALCJ16-30MELBCM,MALCJ,16,30,M,E,LB,CM,MALC-MALCJ-16x30.step +MALCJ16-30MEFA,MALCJ,16,30,M,E,FA,,MALC-MALCJ-16x30.step +MALCJ16-30MEFAU,MALCJ,16,30,M,E,FA,U,MALC-MALCJ-16x30.step +MALCJ16-30MEFACM,MALCJ,16,30,M,E,FA,CM,MALC-MALCJ-16x30.step +MALCJ16-30MEFB,MALCJ,16,30,M,E,FB,,MALC-MALCJ-16x30.step +MALCJ16-30MEFBU,MALCJ,16,30,M,E,FB,U,MALC-MALCJ-16x30.step +MALCJ16-30MEFBCM,MALCJ,16,30,M,E,FB,CM,MALC-MALCJ-16x30.step +MALCJ16-30MESDB,MALCJ,16,30,M,E,SDB,,MALC-MALCJ-16x30.step +MALCJ16-30MESDBU,MALCJ,16,30,M,E,SDB,U,MALC-MALCJ-16x30.step +MALCJ16-30MESDBCM,MALCJ,16,30,M,E,SDB,CM,MALC-MALCJ-16x30.step +MALCJ16-30M,MALCJ,16,30,M,,,,MALC-MALCJ-16x30.step +MALCJ16-30MU,MALCJ,16,30,M,,,U,MALC-MALCJ-16x30.step +MALCJ16-30MCM,MALCJ,16,30,M,,,CM,MALC-MALCJ-16x30.step +MALCJ16-30MLB,MALCJ,16,30,M,,LB,,MALC-MALCJ-16x30.step +MALCJ16-30MLBU,MALCJ,16,30,M,,LB,U,MALC-MALCJ-16x30.step +MALCJ16-30MLBCM,MALCJ,16,30,M,,LB,CM,MALC-MALCJ-16x30.step +MALCJ16-30MFA,MALCJ,16,30,M,,FA,,MALC-MALCJ-16x30.step +MALCJ16-30MFAU,MALCJ,16,30,M,,FA,U,MALC-MALCJ-16x30.step +MALCJ16-30MFACM,MALCJ,16,30,M,,FA,CM,MALC-MALCJ-16x30.step +MALCJ16-30MFB,MALCJ,16,30,M,,FB,,MALC-MALCJ-16x30.step +MALCJ16-30MFBU,MALCJ,16,30,M,,FB,U,MALC-MALCJ-16x30.step +MALCJ16-30MFBCM,MALCJ,16,30,M,,FB,CM,MALC-MALCJ-16x30.step +MALCJ16-30MSDB,MALCJ,16,30,M,,SDB,,MALC-MALCJ-16x30.step +MALCJ16-30MSDBU,MALCJ,16,30,M,,SDB,U,MALC-MALCJ-16x30.step +MALCJ16-30MSDBCM,MALCJ,16,30,M,,SDB,CM,MALC-MALCJ-16x30.step +MALCJ16-50E,MALCJ,16,50,,E,,,MALC-MALCJ-16x50.step +MALCJ16-50EU,MALCJ,16,50,,E,,U,MALC-MALCJ-16x50.step +MALCJ16-50ECM,MALCJ,16,50,,E,,CM,MALC-MALCJ-16x50.step +MALCJ16-50ELB,MALCJ,16,50,,E,LB,,MALC-MALCJ-16x50.step +MALCJ16-50ELBU,MALCJ,16,50,,E,LB,U,MALC-MALCJ-16x50.step +MALCJ16-50ELBCM,MALCJ,16,50,,E,LB,CM,MALC-MALCJ-16x50.step +MALCJ16-50EFA,MALCJ,16,50,,E,FA,,MALC-MALCJ-16x50.step +MALCJ16-50EFAU,MALCJ,16,50,,E,FA,U,MALC-MALCJ-16x50.step +MALCJ16-50EFACM,MALCJ,16,50,,E,FA,CM,MALC-MALCJ-16x50.step +MALCJ16-50EFB,MALCJ,16,50,,E,FB,,MALC-MALCJ-16x50.step +MALCJ16-50EFBU,MALCJ,16,50,,E,FB,U,MALC-MALCJ-16x50.step +MALCJ16-50EFBCM,MALCJ,16,50,,E,FB,CM,MALC-MALCJ-16x50.step +MALCJ16-50ESDB,MALCJ,16,50,,E,SDB,,MALC-MALCJ-16x50.step +MALCJ16-50ESDBU,MALCJ,16,50,,E,SDB,U,MALC-MALCJ-16x50.step +MALCJ16-50ESDBCM,MALCJ,16,50,,E,SDB,CM,MALC-MALCJ-16x50.step +MALCJ16-50,MALCJ,16,50,,,,,MALC-MALCJ-16x50.step +MALCJ16-50U,MALCJ,16,50,,,,U,MALC-MALCJ-16x50.step +MALCJ16-50CM,MALCJ,16,50,,,,CM,MALC-MALCJ-16x50.step +MALCJ16-50LB,MALCJ,16,50,,,LB,,MALC-MALCJ-16x50.step +MALCJ16-50LBU,MALCJ,16,50,,,LB,U,MALC-MALCJ-16x50.step +MALCJ16-50LBCM,MALCJ,16,50,,,LB,CM,MALC-MALCJ-16x50.step +MALCJ16-50FA,MALCJ,16,50,,,FA,,MALC-MALCJ-16x50.step +MALCJ16-50FAU,MALCJ,16,50,,,FA,U,MALC-MALCJ-16x50.step +MALCJ16-50FACM,MALCJ,16,50,,,FA,CM,MALC-MALCJ-16x50.step +MALCJ16-50FB,MALCJ,16,50,,,FB,,MALC-MALCJ-16x50.step +MALCJ16-50FBU,MALCJ,16,50,,,FB,U,MALC-MALCJ-16x50.step +MALCJ16-50FBCM,MALCJ,16,50,,,FB,CM,MALC-MALCJ-16x50.step +MALCJ16-50SDB,MALCJ,16,50,,,SDB,,MALC-MALCJ-16x50.step +MALCJ16-50SDBU,MALCJ,16,50,,,SDB,U,MALC-MALCJ-16x50.step +MALCJ16-50SDBCM,MALCJ,16,50,,,SDB,CM,MALC-MALCJ-16x50.step +MALCJ16-50ME,MALCJ,16,50,M,E,,,MALC-MALCJ-16x50.step +MALCJ16-50MEU,MALCJ,16,50,M,E,,U,MALC-MALCJ-16x50.step +MALCJ16-50MECM,MALCJ,16,50,M,E,,CM,MALC-MALCJ-16x50.step +MALCJ16-50MELB,MALCJ,16,50,M,E,LB,,MALC-MALCJ-16x50.step +MALCJ16-50MELBU,MALCJ,16,50,M,E,LB,U,MALC-MALCJ-16x50.step +MALCJ16-50MELBCM,MALCJ,16,50,M,E,LB,CM,MALC-MALCJ-16x50.step +MALCJ16-50MEFA,MALCJ,16,50,M,E,FA,,MALC-MALCJ-16x50.step +MALCJ16-50MEFAU,MALCJ,16,50,M,E,FA,U,MALC-MALCJ-16x50.step +MALCJ16-50MEFACM,MALCJ,16,50,M,E,FA,CM,MALC-MALCJ-16x50.step +MALCJ16-50MEFB,MALCJ,16,50,M,E,FB,,MALC-MALCJ-16x50.step +MALCJ16-50MEFBU,MALCJ,16,50,M,E,FB,U,MALC-MALCJ-16x50.step +MALCJ16-50MEFBCM,MALCJ,16,50,M,E,FB,CM,MALC-MALCJ-16x50.step +MALCJ16-50MESDB,MALCJ,16,50,M,E,SDB,,MALC-MALCJ-16x50.step +MALCJ16-50MESDBU,MALCJ,16,50,M,E,SDB,U,MALC-MALCJ-16x50.step +MALCJ16-50MESDBCM,MALCJ,16,50,M,E,SDB,CM,MALC-MALCJ-16x50.step +MALCJ16-50M,MALCJ,16,50,M,,,,MALC-MALCJ-16x50.step +MALCJ16-50MU,MALCJ,16,50,M,,,U,MALC-MALCJ-16x50.step +MALCJ16-50MCM,MALCJ,16,50,M,,,CM,MALC-MALCJ-16x50.step +MALCJ16-50MLB,MALCJ,16,50,M,,LB,,MALC-MALCJ-16x50.step +MALCJ16-50MLBU,MALCJ,16,50,M,,LB,U,MALC-MALCJ-16x50.step +MALCJ16-50MLBCM,MALCJ,16,50,M,,LB,CM,MALC-MALCJ-16x50.step +MALCJ16-50MFA,MALCJ,16,50,M,,FA,,MALC-MALCJ-16x50.step +MALCJ16-50MFAU,MALCJ,16,50,M,,FA,U,MALC-MALCJ-16x50.step +MALCJ16-50MFACM,MALCJ,16,50,M,,FA,CM,MALC-MALCJ-16x50.step +MALCJ16-50MFB,MALCJ,16,50,M,,FB,,MALC-MALCJ-16x50.step +MALCJ16-50MFBU,MALCJ,16,50,M,,FB,U,MALC-MALCJ-16x50.step +MALCJ16-50MFBCM,MALCJ,16,50,M,,FB,CM,MALC-MALCJ-16x50.step +MALCJ16-50MSDB,MALCJ,16,50,M,,SDB,,MALC-MALCJ-16x50.step +MALCJ16-50MSDBU,MALCJ,16,50,M,,SDB,U,MALC-MALCJ-16x50.step +MALCJ16-50MSDBCM,MALCJ,16,50,M,,SDB,CM,MALC-MALCJ-16x50.step +MALCJ16-75E,MALCJ,16,75,,E,,,MALC-MALCJ-16x75.step +MALCJ16-75EU,MALCJ,16,75,,E,,U,MALC-MALCJ-16x75.step +MALCJ16-75ECM,MALCJ,16,75,,E,,CM,MALC-MALCJ-16x75.step +MALCJ16-75ELB,MALCJ,16,75,,E,LB,,MALC-MALCJ-16x75.step +MALCJ16-75ELBU,MALCJ,16,75,,E,LB,U,MALC-MALCJ-16x75.step +MALCJ16-75ELBCM,MALCJ,16,75,,E,LB,CM,MALC-MALCJ-16x75.step +MALCJ16-75EFA,MALCJ,16,75,,E,FA,,MALC-MALCJ-16x75.step +MALCJ16-75EFAU,MALCJ,16,75,,E,FA,U,MALC-MALCJ-16x75.step +MALCJ16-75EFACM,MALCJ,16,75,,E,FA,CM,MALC-MALCJ-16x75.step +MALCJ16-75EFB,MALCJ,16,75,,E,FB,,MALC-MALCJ-16x75.step +MALCJ16-75EFBU,MALCJ,16,75,,E,FB,U,MALC-MALCJ-16x75.step +MALCJ16-75EFBCM,MALCJ,16,75,,E,FB,CM,MALC-MALCJ-16x75.step +MALCJ16-75ESDB,MALCJ,16,75,,E,SDB,,MALC-MALCJ-16x75.step +MALCJ16-75ESDBU,MALCJ,16,75,,E,SDB,U,MALC-MALCJ-16x75.step +MALCJ16-75ESDBCM,MALCJ,16,75,,E,SDB,CM,MALC-MALCJ-16x75.step +MALCJ16-75,MALCJ,16,75,,,,,MALC-MALCJ-16x75.step +MALCJ16-75U,MALCJ,16,75,,,,U,MALC-MALCJ-16x75.step +MALCJ16-75CM,MALCJ,16,75,,,,CM,MALC-MALCJ-16x75.step +MALCJ16-75LB,MALCJ,16,75,,,LB,,MALC-MALCJ-16x75.step +MALCJ16-75LBU,MALCJ,16,75,,,LB,U,MALC-MALCJ-16x75.step +MALCJ16-75LBCM,MALCJ,16,75,,,LB,CM,MALC-MALCJ-16x75.step +MALCJ16-75FA,MALCJ,16,75,,,FA,,MALC-MALCJ-16x75.step +MALCJ16-75FAU,MALCJ,16,75,,,FA,U,MALC-MALCJ-16x75.step +MALCJ16-75FACM,MALCJ,16,75,,,FA,CM,MALC-MALCJ-16x75.step +MALCJ16-75FB,MALCJ,16,75,,,FB,,MALC-MALCJ-16x75.step +MALCJ16-75FBU,MALCJ,16,75,,,FB,U,MALC-MALCJ-16x75.step +MALCJ16-75FBCM,MALCJ,16,75,,,FB,CM,MALC-MALCJ-16x75.step +MALCJ16-75SDB,MALCJ,16,75,,,SDB,,MALC-MALCJ-16x75.step +MALCJ16-75SDBU,MALCJ,16,75,,,SDB,U,MALC-MALCJ-16x75.step +MALCJ16-75SDBCM,MALCJ,16,75,,,SDB,CM,MALC-MALCJ-16x75.step +MALCJ16-75ME,MALCJ,16,75,M,E,,,MALC-MALCJ-16x75.step +MALCJ16-75MEU,MALCJ,16,75,M,E,,U,MALC-MALCJ-16x75.step +MALCJ16-75MECM,MALCJ,16,75,M,E,,CM,MALC-MALCJ-16x75.step +MALCJ16-75MELB,MALCJ,16,75,M,E,LB,,MALC-MALCJ-16x75.step +MALCJ16-75MELBU,MALCJ,16,75,M,E,LB,U,MALC-MALCJ-16x75.step +MALCJ16-75MELBCM,MALCJ,16,75,M,E,LB,CM,MALC-MALCJ-16x75.step +MALCJ16-75MEFA,MALCJ,16,75,M,E,FA,,MALC-MALCJ-16x75.step +MALCJ16-75MEFAU,MALCJ,16,75,M,E,FA,U,MALC-MALCJ-16x75.step +MALCJ16-75MEFACM,MALCJ,16,75,M,E,FA,CM,MALC-MALCJ-16x75.step +MALCJ16-75MEFB,MALCJ,16,75,M,E,FB,,MALC-MALCJ-16x75.step +MALCJ16-75MEFBU,MALCJ,16,75,M,E,FB,U,MALC-MALCJ-16x75.step +MALCJ16-75MEFBCM,MALCJ,16,75,M,E,FB,CM,MALC-MALCJ-16x75.step +MALCJ16-75MESDB,MALCJ,16,75,M,E,SDB,,MALC-MALCJ-16x75.step +MALCJ16-75MESDBU,MALCJ,16,75,M,E,SDB,U,MALC-MALCJ-16x75.step +MALCJ16-75MESDBCM,MALCJ,16,75,M,E,SDB,CM,MALC-MALCJ-16x75.step +MALCJ16-75M,MALCJ,16,75,M,,,,MALC-MALCJ-16x75.step +MALCJ16-75MU,MALCJ,16,75,M,,,U,MALC-MALCJ-16x75.step +MALCJ16-75MCM,MALCJ,16,75,M,,,CM,MALC-MALCJ-16x75.step +MALCJ16-75MLB,MALCJ,16,75,M,,LB,,MALC-MALCJ-16x75.step +MALCJ16-75MLBU,MALCJ,16,75,M,,LB,U,MALC-MALCJ-16x75.step +MALCJ16-75MLBCM,MALCJ,16,75,M,,LB,CM,MALC-MALCJ-16x75.step +MALCJ16-75MFA,MALCJ,16,75,M,,FA,,MALC-MALCJ-16x75.step +MALCJ16-75MFAU,MALCJ,16,75,M,,FA,U,MALC-MALCJ-16x75.step +MALCJ16-75MFACM,MALCJ,16,75,M,,FA,CM,MALC-MALCJ-16x75.step +MALCJ16-75MFB,MALCJ,16,75,M,,FB,,MALC-MALCJ-16x75.step +MALCJ16-75MFBU,MALCJ,16,75,M,,FB,U,MALC-MALCJ-16x75.step +MALCJ16-75MFBCM,MALCJ,16,75,M,,FB,CM,MALC-MALCJ-16x75.step +MALCJ16-75MSDB,MALCJ,16,75,M,,SDB,,MALC-MALCJ-16x75.step +MALCJ16-75MSDBU,MALCJ,16,75,M,,SDB,U,MALC-MALCJ-16x75.step +MALCJ16-75MSDBCM,MALCJ,16,75,M,,SDB,CM,MALC-MALCJ-16x75.step +MALCJ16-100E,MALCJ,16,100,,E,,,MALC-MALCJ-16x100.step +MALCJ16-100EU,MALCJ,16,100,,E,,U,MALC-MALCJ-16x100.step +MALCJ16-100ECM,MALCJ,16,100,,E,,CM,MALC-MALCJ-16x100.step +MALCJ16-100ELB,MALCJ,16,100,,E,LB,,MALC-MALCJ-16x100.step +MALCJ16-100ELBU,MALCJ,16,100,,E,LB,U,MALC-MALCJ-16x100.step +MALCJ16-100ELBCM,MALCJ,16,100,,E,LB,CM,MALC-MALCJ-16x100.step +MALCJ16-100EFA,MALCJ,16,100,,E,FA,,MALC-MALCJ-16x100.step +MALCJ16-100EFAU,MALCJ,16,100,,E,FA,U,MALC-MALCJ-16x100.step +MALCJ16-100EFACM,MALCJ,16,100,,E,FA,CM,MALC-MALCJ-16x100.step +MALCJ16-100EFB,MALCJ,16,100,,E,FB,,MALC-MALCJ-16x100.step +MALCJ16-100EFBU,MALCJ,16,100,,E,FB,U,MALC-MALCJ-16x100.step +MALCJ16-100EFBCM,MALCJ,16,100,,E,FB,CM,MALC-MALCJ-16x100.step +MALCJ16-100ESDB,MALCJ,16,100,,E,SDB,,MALC-MALCJ-16x100.step +MALCJ16-100ESDBU,MALCJ,16,100,,E,SDB,U,MALC-MALCJ-16x100.step +MALCJ16-100ESDBCM,MALCJ,16,100,,E,SDB,CM,MALC-MALCJ-16x100.step +MALCJ16-100,MALCJ,16,100,,,,,MALC-MALCJ-16x100.step +MALCJ16-100U,MALCJ,16,100,,,,U,MALC-MALCJ-16x100.step +MALCJ16-100CM,MALCJ,16,100,,,,CM,MALC-MALCJ-16x100.step +MALCJ16-100LB,MALCJ,16,100,,,LB,,MALC-MALCJ-16x100.step +MALCJ16-100LBU,MALCJ,16,100,,,LB,U,MALC-MALCJ-16x100.step +MALCJ16-100LBCM,MALCJ,16,100,,,LB,CM,MALC-MALCJ-16x100.step +MALCJ16-100FA,MALCJ,16,100,,,FA,,MALC-MALCJ-16x100.step +MALCJ16-100FAU,MALCJ,16,100,,,FA,U,MALC-MALCJ-16x100.step +MALCJ16-100FACM,MALCJ,16,100,,,FA,CM,MALC-MALCJ-16x100.step +MALCJ16-100FB,MALCJ,16,100,,,FB,,MALC-MALCJ-16x100.step +MALCJ16-100FBU,MALCJ,16,100,,,FB,U,MALC-MALCJ-16x100.step +MALCJ16-100FBCM,MALCJ,16,100,,,FB,CM,MALC-MALCJ-16x100.step +MALCJ16-100SDB,MALCJ,16,100,,,SDB,,MALC-MALCJ-16x100.step +MALCJ16-100SDBU,MALCJ,16,100,,,SDB,U,MALC-MALCJ-16x100.step +MALCJ16-100SDBCM,MALCJ,16,100,,,SDB,CM,MALC-MALCJ-16x100.step +MALCJ16-100ME,MALCJ,16,100,M,E,,,MALC-MALCJ-16x100.step +MALCJ16-100MEU,MALCJ,16,100,M,E,,U,MALC-MALCJ-16x100.step +MALCJ16-100MECM,MALCJ,16,100,M,E,,CM,MALC-MALCJ-16x100.step +MALCJ16-100MELB,MALCJ,16,100,M,E,LB,,MALC-MALCJ-16x100.step +MALCJ16-100MELBU,MALCJ,16,100,M,E,LB,U,MALC-MALCJ-16x100.step +MALCJ16-100MELBCM,MALCJ,16,100,M,E,LB,CM,MALC-MALCJ-16x100.step +MALCJ16-100MEFA,MALCJ,16,100,M,E,FA,,MALC-MALCJ-16x100.step +MALCJ16-100MEFAU,MALCJ,16,100,M,E,FA,U,MALC-MALCJ-16x100.step +MALCJ16-100MEFACM,MALCJ,16,100,M,E,FA,CM,MALC-MALCJ-16x100.step +MALCJ16-100MEFB,MALCJ,16,100,M,E,FB,,MALC-MALCJ-16x100.step +MALCJ16-100MEFBU,MALCJ,16,100,M,E,FB,U,MALC-MALCJ-16x100.step +MALCJ16-100MEFBCM,MALCJ,16,100,M,E,FB,CM,MALC-MALCJ-16x100.step +MALCJ16-100MESDB,MALCJ,16,100,M,E,SDB,,MALC-MALCJ-16x100.step +MALCJ16-100MESDBU,MALCJ,16,100,M,E,SDB,U,MALC-MALCJ-16x100.step +MALCJ16-100MESDBCM,MALCJ,16,100,M,E,SDB,CM,MALC-MALCJ-16x100.step +MALCJ16-100M,MALCJ,16,100,M,,,,MALC-MALCJ-16x100.step +MALCJ16-100MU,MALCJ,16,100,M,,,U,MALC-MALCJ-16x100.step +MALCJ16-100MCM,MALCJ,16,100,M,,,CM,MALC-MALCJ-16x100.step +MALCJ16-100MLB,MALCJ,16,100,M,,LB,,MALC-MALCJ-16x100.step +MALCJ16-100MLBU,MALCJ,16,100,M,,LB,U,MALC-MALCJ-16x100.step +MALCJ16-100MLBCM,MALCJ,16,100,M,,LB,CM,MALC-MALCJ-16x100.step +MALCJ16-100MFA,MALCJ,16,100,M,,FA,,MALC-MALCJ-16x100.step +MALCJ16-100MFAU,MALCJ,16,100,M,,FA,U,MALC-MALCJ-16x100.step +MALCJ16-100MFACM,MALCJ,16,100,M,,FA,CM,MALC-MALCJ-16x100.step +MALCJ16-100MFB,MALCJ,16,100,M,,FB,,MALC-MALCJ-16x100.step +MALCJ16-100MFBU,MALCJ,16,100,M,,FB,U,MALC-MALCJ-16x100.step +MALCJ16-100MFBCM,MALCJ,16,100,M,,FB,CM,MALC-MALCJ-16x100.step +MALCJ16-100MSDB,MALCJ,16,100,M,,SDB,,MALC-MALCJ-16x100.step +MALCJ16-100MSDBU,MALCJ,16,100,M,,SDB,U,MALC-MALCJ-16x100.step +MALCJ16-100MSDBCM,MALCJ,16,100,M,,SDB,CM,MALC-MALCJ-16x100.step +MALCJ20-10E,MALCJ,20,10,,E,,,MALC-MALCJ-20x10.step +MALCJ20-10EU,MALCJ,20,10,,E,,U,MALC-MALCJ-20x10.step +MALCJ20-10ECM,MALCJ,20,10,,E,,CM,MALC-MALCJ-20x10.step +MALCJ20-10ELB,MALCJ,20,10,,E,LB,,MALC-MALCJ-20x10.step +MALCJ20-10ELBU,MALCJ,20,10,,E,LB,U,MALC-MALCJ-20x10.step +MALCJ20-10ELBCM,MALCJ,20,10,,E,LB,CM,MALC-MALCJ-20x10.step +MALCJ20-10EFA,MALCJ,20,10,,E,FA,,MALC-MALCJ-20x10.step +MALCJ20-10EFAU,MALCJ,20,10,,E,FA,U,MALC-MALCJ-20x10.step +MALCJ20-10EFACM,MALCJ,20,10,,E,FA,CM,MALC-MALCJ-20x10.step +MALCJ20-10EFB,MALCJ,20,10,,E,FB,,MALC-MALCJ-20x10.step +MALCJ20-10EFBU,MALCJ,20,10,,E,FB,U,MALC-MALCJ-20x10.step +MALCJ20-10EFBCM,MALCJ,20,10,,E,FB,CM,MALC-MALCJ-20x10.step +MALCJ20-10ESDB,MALCJ,20,10,,E,SDB,,MALC-MALCJ-20x10.step +MALCJ20-10ESDBU,MALCJ,20,10,,E,SDB,U,MALC-MALCJ-20x10.step +MALCJ20-10ESDBCM,MALCJ,20,10,,E,SDB,CM,MALC-MALCJ-20x10.step +MALCJ20-10,MALCJ,20,10,,,,,MALC-MALCJ-20x10.step +MALCJ20-10U,MALCJ,20,10,,,,U,MALC-MALCJ-20x10.step +MALCJ20-10CM,MALCJ,20,10,,,,CM,MALC-MALCJ-20x10.step +MALCJ20-10LB,MALCJ,20,10,,,LB,,MALC-MALCJ-20x10.step +MALCJ20-10LBU,MALCJ,20,10,,,LB,U,MALC-MALCJ-20x10.step +MALCJ20-10LBCM,MALCJ,20,10,,,LB,CM,MALC-MALCJ-20x10.step +MALCJ20-10FA,MALCJ,20,10,,,FA,,MALC-MALCJ-20x10.step +MALCJ20-10FAU,MALCJ,20,10,,,FA,U,MALC-MALCJ-20x10.step +MALCJ20-10FACM,MALCJ,20,10,,,FA,CM,MALC-MALCJ-20x10.step +MALCJ20-10FB,MALCJ,20,10,,,FB,,MALC-MALCJ-20x10.step +MALCJ20-10FBU,MALCJ,20,10,,,FB,U,MALC-MALCJ-20x10.step +MALCJ20-10FBCM,MALCJ,20,10,,,FB,CM,MALC-MALCJ-20x10.step +MALCJ20-10SDB,MALCJ,20,10,,,SDB,,MALC-MALCJ-20x10.step +MALCJ20-10SDBU,MALCJ,20,10,,,SDB,U,MALC-MALCJ-20x10.step +MALCJ20-10SDBCM,MALCJ,20,10,,,SDB,CM,MALC-MALCJ-20x10.step +MALCJ20-10ME,MALCJ,20,10,M,E,,,MALC-MALCJ-20x10.step +MALCJ20-10MEU,MALCJ,20,10,M,E,,U,MALC-MALCJ-20x10.step +MALCJ20-10MECM,MALCJ,20,10,M,E,,CM,MALC-MALCJ-20x10.step +MALCJ20-10MELB,MALCJ,20,10,M,E,LB,,MALC-MALCJ-20x10.step +MALCJ20-10MELBU,MALCJ,20,10,M,E,LB,U,MALC-MALCJ-20x10.step +MALCJ20-10MELBCM,MALCJ,20,10,M,E,LB,CM,MALC-MALCJ-20x10.step +MALCJ20-10MEFA,MALCJ,20,10,M,E,FA,,MALC-MALCJ-20x10.step +MALCJ20-10MEFAU,MALCJ,20,10,M,E,FA,U,MALC-MALCJ-20x10.step +MALCJ20-10MEFACM,MALCJ,20,10,M,E,FA,CM,MALC-MALCJ-20x10.step +MALCJ20-10MEFB,MALCJ,20,10,M,E,FB,,MALC-MALCJ-20x10.step +MALCJ20-10MEFBU,MALCJ,20,10,M,E,FB,U,MALC-MALCJ-20x10.step +MALCJ20-10MEFBCM,MALCJ,20,10,M,E,FB,CM,MALC-MALCJ-20x10.step +MALCJ20-10MESDB,MALCJ,20,10,M,E,SDB,,MALC-MALCJ-20x10.step +MALCJ20-10MESDBU,MALCJ,20,10,M,E,SDB,U,MALC-MALCJ-20x10.step +MALCJ20-10MESDBCM,MALCJ,20,10,M,E,SDB,CM,MALC-MALCJ-20x10.step +MALCJ20-10M,MALCJ,20,10,M,,,,MALC-MALCJ-20x10.step +MALCJ20-10MU,MALCJ,20,10,M,,,U,MALC-MALCJ-20x10.step +MALCJ20-10MCM,MALCJ,20,10,M,,,CM,MALC-MALCJ-20x10.step +MALCJ20-10MLB,MALCJ,20,10,M,,LB,,MALC-MALCJ-20x10.step +MALCJ20-10MLBU,MALCJ,20,10,M,,LB,U,MALC-MALCJ-20x10.step +MALCJ20-10MLBCM,MALCJ,20,10,M,,LB,CM,MALC-MALCJ-20x10.step +MALCJ20-10MFA,MALCJ,20,10,M,,FA,,MALC-MALCJ-20x10.step +MALCJ20-10MFAU,MALCJ,20,10,M,,FA,U,MALC-MALCJ-20x10.step +MALCJ20-10MFACM,MALCJ,20,10,M,,FA,CM,MALC-MALCJ-20x10.step +MALCJ20-10MFB,MALCJ,20,10,M,,FB,,MALC-MALCJ-20x10.step +MALCJ20-10MFBU,MALCJ,20,10,M,,FB,U,MALC-MALCJ-20x10.step +MALCJ20-10MFBCM,MALCJ,20,10,M,,FB,CM,MALC-MALCJ-20x10.step +MALCJ20-10MSDB,MALCJ,20,10,M,,SDB,,MALC-MALCJ-20x10.step +MALCJ20-10MSDBU,MALCJ,20,10,M,,SDB,U,MALC-MALCJ-20x10.step +MALCJ20-10MSDBCM,MALCJ,20,10,M,,SDB,CM,MALC-MALCJ-20x10.step +MALCJ20-20E,MALCJ,20,20,,E,,,MALC-MALCJ-20x20.step +MALCJ20-20EU,MALCJ,20,20,,E,,U,MALC-MALCJ-20x20.step +MALCJ20-20ECM,MALCJ,20,20,,E,,CM,MALC-MALCJ-20x20.step +MALCJ20-20ELB,MALCJ,20,20,,E,LB,,MALC-MALCJ-20x20.step +MALCJ20-20ELBU,MALCJ,20,20,,E,LB,U,MALC-MALCJ-20x20.step +MALCJ20-20ELBCM,MALCJ,20,20,,E,LB,CM,MALC-MALCJ-20x20.step +MALCJ20-20EFA,MALCJ,20,20,,E,FA,,MALC-MALCJ-20x20.step +MALCJ20-20EFAU,MALCJ,20,20,,E,FA,U,MALC-MALCJ-20x20.step +MALCJ20-20EFACM,MALCJ,20,20,,E,FA,CM,MALC-MALCJ-20x20.step +MALCJ20-20EFB,MALCJ,20,20,,E,FB,,MALC-MALCJ-20x20.step +MALCJ20-20EFBU,MALCJ,20,20,,E,FB,U,MALC-MALCJ-20x20.step +MALCJ20-20EFBCM,MALCJ,20,20,,E,FB,CM,MALC-MALCJ-20x20.step +MALCJ20-20ESDB,MALCJ,20,20,,E,SDB,,MALC-MALCJ-20x20.step +MALCJ20-20ESDBU,MALCJ,20,20,,E,SDB,U,MALC-MALCJ-20x20.step +MALCJ20-20ESDBCM,MALCJ,20,20,,E,SDB,CM,MALC-MALCJ-20x20.step +MALCJ20-20,MALCJ,20,20,,,,,MALC-MALCJ-20x20.step +MALCJ20-20U,MALCJ,20,20,,,,U,MALC-MALCJ-20x20.step +MALCJ20-20CM,MALCJ,20,20,,,,CM,MALC-MALCJ-20x20.step +MALCJ20-20LB,MALCJ,20,20,,,LB,,MALC-MALCJ-20x20.step +MALCJ20-20LBU,MALCJ,20,20,,,LB,U,MALC-MALCJ-20x20.step +MALCJ20-20LBCM,MALCJ,20,20,,,LB,CM,MALC-MALCJ-20x20.step +MALCJ20-20FA,MALCJ,20,20,,,FA,,MALC-MALCJ-20x20.step +MALCJ20-20FAU,MALCJ,20,20,,,FA,U,MALC-MALCJ-20x20.step +MALCJ20-20FACM,MALCJ,20,20,,,FA,CM,MALC-MALCJ-20x20.step +MALCJ20-20FB,MALCJ,20,20,,,FB,,MALC-MALCJ-20x20.step +MALCJ20-20FBU,MALCJ,20,20,,,FB,U,MALC-MALCJ-20x20.step +MALCJ20-20FBCM,MALCJ,20,20,,,FB,CM,MALC-MALCJ-20x20.step +MALCJ20-20SDB,MALCJ,20,20,,,SDB,,MALC-MALCJ-20x20.step +MALCJ20-20SDBU,MALCJ,20,20,,,SDB,U,MALC-MALCJ-20x20.step +MALCJ20-20SDBCM,MALCJ,20,20,,,SDB,CM,MALC-MALCJ-20x20.step +MALCJ20-20ME,MALCJ,20,20,M,E,,,MALC-MALCJ-20x20.step +MALCJ20-20MEU,MALCJ,20,20,M,E,,U,MALC-MALCJ-20x20.step +MALCJ20-20MECM,MALCJ,20,20,M,E,,CM,MALC-MALCJ-20x20.step +MALCJ20-20MELB,MALCJ,20,20,M,E,LB,,MALC-MALCJ-20x20.step +MALCJ20-20MELBU,MALCJ,20,20,M,E,LB,U,MALC-MALCJ-20x20.step +MALCJ20-20MELBCM,MALCJ,20,20,M,E,LB,CM,MALC-MALCJ-20x20.step +MALCJ20-20MEFA,MALCJ,20,20,M,E,FA,,MALC-MALCJ-20x20.step +MALCJ20-20MEFAU,MALCJ,20,20,M,E,FA,U,MALC-MALCJ-20x20.step +MALCJ20-20MEFACM,MALCJ,20,20,M,E,FA,CM,MALC-MALCJ-20x20.step +MALCJ20-20MEFB,MALCJ,20,20,M,E,FB,,MALC-MALCJ-20x20.step +MALCJ20-20MEFBU,MALCJ,20,20,M,E,FB,U,MALC-MALCJ-20x20.step +MALCJ20-20MEFBCM,MALCJ,20,20,M,E,FB,CM,MALC-MALCJ-20x20.step +MALCJ20-20MESDB,MALCJ,20,20,M,E,SDB,,MALC-MALCJ-20x20.step +MALCJ20-20MESDBU,MALCJ,20,20,M,E,SDB,U,MALC-MALCJ-20x20.step +MALCJ20-20MESDBCM,MALCJ,20,20,M,E,SDB,CM,MALC-MALCJ-20x20.step +MALCJ20-20M,MALCJ,20,20,M,,,,MALC-MALCJ-20x20.step +MALCJ20-20MU,MALCJ,20,20,M,,,U,MALC-MALCJ-20x20.step +MALCJ20-20MCM,MALCJ,20,20,M,,,CM,MALC-MALCJ-20x20.step +MALCJ20-20MLB,MALCJ,20,20,M,,LB,,MALC-MALCJ-20x20.step +MALCJ20-20MLBU,MALCJ,20,20,M,,LB,U,MALC-MALCJ-20x20.step +MALCJ20-20MLBCM,MALCJ,20,20,M,,LB,CM,MALC-MALCJ-20x20.step +MALCJ20-20MFA,MALCJ,20,20,M,,FA,,MALC-MALCJ-20x20.step +MALCJ20-20MFAU,MALCJ,20,20,M,,FA,U,MALC-MALCJ-20x20.step +MALCJ20-20MFACM,MALCJ,20,20,M,,FA,CM,MALC-MALCJ-20x20.step +MALCJ20-20MFB,MALCJ,20,20,M,,FB,,MALC-MALCJ-20x20.step +MALCJ20-20MFBU,MALCJ,20,20,M,,FB,U,MALC-MALCJ-20x20.step +MALCJ20-20MFBCM,MALCJ,20,20,M,,FB,CM,MALC-MALCJ-20x20.step +MALCJ20-20MSDB,MALCJ,20,20,M,,SDB,,MALC-MALCJ-20x20.step +MALCJ20-20MSDBU,MALCJ,20,20,M,,SDB,U,MALC-MALCJ-20x20.step +MALCJ20-20MSDBCM,MALCJ,20,20,M,,SDB,CM,MALC-MALCJ-20x20.step +MALCJ20-30E,MALCJ,20,30,,E,,,MALC-MALCJ-20x30.step +MALCJ20-30EU,MALCJ,20,30,,E,,U,MALC-MALCJ-20x30.step +MALCJ20-30ECM,MALCJ,20,30,,E,,CM,MALC-MALCJ-20x30.step +MALCJ20-30ELB,MALCJ,20,30,,E,LB,,MALC-MALCJ-20x30.step +MALCJ20-30ELBU,MALCJ,20,30,,E,LB,U,MALC-MALCJ-20x30.step +MALCJ20-30ELBCM,MALCJ,20,30,,E,LB,CM,MALC-MALCJ-20x30.step +MALCJ20-30EFA,MALCJ,20,30,,E,FA,,MALC-MALCJ-20x30.step +MALCJ20-30EFAU,MALCJ,20,30,,E,FA,U,MALC-MALCJ-20x30.step +MALCJ20-30EFACM,MALCJ,20,30,,E,FA,CM,MALC-MALCJ-20x30.step +MALCJ20-30EFB,MALCJ,20,30,,E,FB,,MALC-MALCJ-20x30.step +MALCJ20-30EFBU,MALCJ,20,30,,E,FB,U,MALC-MALCJ-20x30.step +MALCJ20-30EFBCM,MALCJ,20,30,,E,FB,CM,MALC-MALCJ-20x30.step +MALCJ20-30ESDB,MALCJ,20,30,,E,SDB,,MALC-MALCJ-20x30.step +MALCJ20-30ESDBU,MALCJ,20,30,,E,SDB,U,MALC-MALCJ-20x30.step +MALCJ20-30ESDBCM,MALCJ,20,30,,E,SDB,CM,MALC-MALCJ-20x30.step +MALCJ20-30,MALCJ,20,30,,,,,MALC-MALCJ-20x30.step +MALCJ20-30U,MALCJ,20,30,,,,U,MALC-MALCJ-20x30.step +MALCJ20-30CM,MALCJ,20,30,,,,CM,MALC-MALCJ-20x30.step +MALCJ20-30LB,MALCJ,20,30,,,LB,,MALC-MALCJ-20x30.step +MALCJ20-30LBU,MALCJ,20,30,,,LB,U,MALC-MALCJ-20x30.step +MALCJ20-30LBCM,MALCJ,20,30,,,LB,CM,MALC-MALCJ-20x30.step +MALCJ20-30FA,MALCJ,20,30,,,FA,,MALC-MALCJ-20x30.step +MALCJ20-30FAU,MALCJ,20,30,,,FA,U,MALC-MALCJ-20x30.step +MALCJ20-30FACM,MALCJ,20,30,,,FA,CM,MALC-MALCJ-20x30.step +MALCJ20-30FB,MALCJ,20,30,,,FB,,MALC-MALCJ-20x30.step +MALCJ20-30FBU,MALCJ,20,30,,,FB,U,MALC-MALCJ-20x30.step +MALCJ20-30FBCM,MALCJ,20,30,,,FB,CM,MALC-MALCJ-20x30.step +MALCJ20-30SDB,MALCJ,20,30,,,SDB,,MALC-MALCJ-20x30.step +MALCJ20-30SDBU,MALCJ,20,30,,,SDB,U,MALC-MALCJ-20x30.step +MALCJ20-30SDBCM,MALCJ,20,30,,,SDB,CM,MALC-MALCJ-20x30.step +MALCJ20-30ME,MALCJ,20,30,M,E,,,MALC-MALCJ-20x30.step +MALCJ20-30MEU,MALCJ,20,30,M,E,,U,MALC-MALCJ-20x30.step +MALCJ20-30MECM,MALCJ,20,30,M,E,,CM,MALC-MALCJ-20x30.step +MALCJ20-30MELB,MALCJ,20,30,M,E,LB,,MALC-MALCJ-20x30.step +MALCJ20-30MELBU,MALCJ,20,30,M,E,LB,U,MALC-MALCJ-20x30.step +MALCJ20-30MELBCM,MALCJ,20,30,M,E,LB,CM,MALC-MALCJ-20x30.step +MALCJ20-30MEFA,MALCJ,20,30,M,E,FA,,MALC-MALCJ-20x30.step +MALCJ20-30MEFAU,MALCJ,20,30,M,E,FA,U,MALC-MALCJ-20x30.step +MALCJ20-30MEFACM,MALCJ,20,30,M,E,FA,CM,MALC-MALCJ-20x30.step +MALCJ20-30MEFB,MALCJ,20,30,M,E,FB,,MALC-MALCJ-20x30.step +MALCJ20-30MEFBU,MALCJ,20,30,M,E,FB,U,MALC-MALCJ-20x30.step +MALCJ20-30MEFBCM,MALCJ,20,30,M,E,FB,CM,MALC-MALCJ-20x30.step +MALCJ20-30MESDB,MALCJ,20,30,M,E,SDB,,MALC-MALCJ-20x30.step +MALCJ20-30MESDBU,MALCJ,20,30,M,E,SDB,U,MALC-MALCJ-20x30.step +MALCJ20-30MESDBCM,MALCJ,20,30,M,E,SDB,CM,MALC-MALCJ-20x30.step +MALCJ20-30M,MALCJ,20,30,M,,,,MALC-MALCJ-20x30.step +MALCJ20-30MU,MALCJ,20,30,M,,,U,MALC-MALCJ-20x30.step +MALCJ20-30MCM,MALCJ,20,30,M,,,CM,MALC-MALCJ-20x30.step +MALCJ20-30MLB,MALCJ,20,30,M,,LB,,MALC-MALCJ-20x30.step +MALCJ20-30MLBU,MALCJ,20,30,M,,LB,U,MALC-MALCJ-20x30.step +MALCJ20-30MLBCM,MALCJ,20,30,M,,LB,CM,MALC-MALCJ-20x30.step +MALCJ20-30MFA,MALCJ,20,30,M,,FA,,MALC-MALCJ-20x30.step +MALCJ20-30MFAU,MALCJ,20,30,M,,FA,U,MALC-MALCJ-20x30.step +MALCJ20-30MFACM,MALCJ,20,30,M,,FA,CM,MALC-MALCJ-20x30.step +MALCJ20-30MFB,MALCJ,20,30,M,,FB,,MALC-MALCJ-20x30.step +MALCJ20-30MFBU,MALCJ,20,30,M,,FB,U,MALC-MALCJ-20x30.step +MALCJ20-30MFBCM,MALCJ,20,30,M,,FB,CM,MALC-MALCJ-20x30.step +MALCJ20-30MSDB,MALCJ,20,30,M,,SDB,,MALC-MALCJ-20x30.step +MALCJ20-30MSDBU,MALCJ,20,30,M,,SDB,U,MALC-MALCJ-20x30.step +MALCJ20-30MSDBCM,MALCJ,20,30,M,,SDB,CM,MALC-MALCJ-20x30.step +MALCJ20-50E,MALCJ,20,50,,E,,,MALC-MALCJ-20x50.step +MALCJ20-50EU,MALCJ,20,50,,E,,U,MALC-MALCJ-20x50.step +MALCJ20-50ECM,MALCJ,20,50,,E,,CM,MALC-MALCJ-20x50.step +MALCJ20-50ELB,MALCJ,20,50,,E,LB,,MALC-MALCJ-20x50.step +MALCJ20-50ELBU,MALCJ,20,50,,E,LB,U,MALC-MALCJ-20x50.step +MALCJ20-50ELBCM,MALCJ,20,50,,E,LB,CM,MALC-MALCJ-20x50.step +MALCJ20-50EFA,MALCJ,20,50,,E,FA,,MALC-MALCJ-20x50.step +MALCJ20-50EFAU,MALCJ,20,50,,E,FA,U,MALC-MALCJ-20x50.step +MALCJ20-50EFACM,MALCJ,20,50,,E,FA,CM,MALC-MALCJ-20x50.step +MALCJ20-50EFB,MALCJ,20,50,,E,FB,,MALC-MALCJ-20x50.step +MALCJ20-50EFBU,MALCJ,20,50,,E,FB,U,MALC-MALCJ-20x50.step +MALCJ20-50EFBCM,MALCJ,20,50,,E,FB,CM,MALC-MALCJ-20x50.step +MALCJ20-50ESDB,MALCJ,20,50,,E,SDB,,MALC-MALCJ-20x50.step +MALCJ20-50ESDBU,MALCJ,20,50,,E,SDB,U,MALC-MALCJ-20x50.step +MALCJ20-50ESDBCM,MALCJ,20,50,,E,SDB,CM,MALC-MALCJ-20x50.step +MALCJ20-50,MALCJ,20,50,,,,,MALC-MALCJ-20x50.step +MALCJ20-50U,MALCJ,20,50,,,,U,MALC-MALCJ-20x50.step +MALCJ20-50CM,MALCJ,20,50,,,,CM,MALC-MALCJ-20x50.step +MALCJ20-50LB,MALCJ,20,50,,,LB,,MALC-MALCJ-20x50.step +MALCJ20-50LBU,MALCJ,20,50,,,LB,U,MALC-MALCJ-20x50.step +MALCJ20-50LBCM,MALCJ,20,50,,,LB,CM,MALC-MALCJ-20x50.step +MALCJ20-50FA,MALCJ,20,50,,,FA,,MALC-MALCJ-20x50.step +MALCJ20-50FAU,MALCJ,20,50,,,FA,U,MALC-MALCJ-20x50.step +MALCJ20-50FACM,MALCJ,20,50,,,FA,CM,MALC-MALCJ-20x50.step +MALCJ20-50FB,MALCJ,20,50,,,FB,,MALC-MALCJ-20x50.step +MALCJ20-50FBU,MALCJ,20,50,,,FB,U,MALC-MALCJ-20x50.step +MALCJ20-50FBCM,MALCJ,20,50,,,FB,CM,MALC-MALCJ-20x50.step +MALCJ20-50SDB,MALCJ,20,50,,,SDB,,MALC-MALCJ-20x50.step +MALCJ20-50SDBU,MALCJ,20,50,,,SDB,U,MALC-MALCJ-20x50.step +MALCJ20-50SDBCM,MALCJ,20,50,,,SDB,CM,MALC-MALCJ-20x50.step +MALCJ20-50ME,MALCJ,20,50,M,E,,,MALC-MALCJ-20x50.step +MALCJ20-50MEU,MALCJ,20,50,M,E,,U,MALC-MALCJ-20x50.step +MALCJ20-50MECM,MALCJ,20,50,M,E,,CM,MALC-MALCJ-20x50.step +MALCJ20-50MELB,MALCJ,20,50,M,E,LB,,MALC-MALCJ-20x50.step +MALCJ20-50MELBU,MALCJ,20,50,M,E,LB,U,MALC-MALCJ-20x50.step +MALCJ20-50MELBCM,MALCJ,20,50,M,E,LB,CM,MALC-MALCJ-20x50.step +MALCJ20-50MEFA,MALCJ,20,50,M,E,FA,,MALC-MALCJ-20x50.step +MALCJ20-50MEFAU,MALCJ,20,50,M,E,FA,U,MALC-MALCJ-20x50.step +MALCJ20-50MEFACM,MALCJ,20,50,M,E,FA,CM,MALC-MALCJ-20x50.step +MALCJ20-50MEFB,MALCJ,20,50,M,E,FB,,MALC-MALCJ-20x50.step +MALCJ20-50MEFBU,MALCJ,20,50,M,E,FB,U,MALC-MALCJ-20x50.step +MALCJ20-50MEFBCM,MALCJ,20,50,M,E,FB,CM,MALC-MALCJ-20x50.step +MALCJ20-50MESDB,MALCJ,20,50,M,E,SDB,,MALC-MALCJ-20x50.step +MALCJ20-50MESDBU,MALCJ,20,50,M,E,SDB,U,MALC-MALCJ-20x50.step +MALCJ20-50MESDBCM,MALCJ,20,50,M,E,SDB,CM,MALC-MALCJ-20x50.step +MALCJ20-50M,MALCJ,20,50,M,,,,MALC-MALCJ-20x50.step +MALCJ20-50MU,MALCJ,20,50,M,,,U,MALC-MALCJ-20x50.step +MALCJ20-50MCM,MALCJ,20,50,M,,,CM,MALC-MALCJ-20x50.step +MALCJ20-50MLB,MALCJ,20,50,M,,LB,,MALC-MALCJ-20x50.step +MALCJ20-50MLBU,MALCJ,20,50,M,,LB,U,MALC-MALCJ-20x50.step +MALCJ20-50MLBCM,MALCJ,20,50,M,,LB,CM,MALC-MALCJ-20x50.step +MALCJ20-50MFA,MALCJ,20,50,M,,FA,,MALC-MALCJ-20x50.step +MALCJ20-50MFAU,MALCJ,20,50,M,,FA,U,MALC-MALCJ-20x50.step +MALCJ20-50MFACM,MALCJ,20,50,M,,FA,CM,MALC-MALCJ-20x50.step +MALCJ20-50MFB,MALCJ,20,50,M,,FB,,MALC-MALCJ-20x50.step +MALCJ20-50MFBU,MALCJ,20,50,M,,FB,U,MALC-MALCJ-20x50.step +MALCJ20-50MFBCM,MALCJ,20,50,M,,FB,CM,MALC-MALCJ-20x50.step +MALCJ20-50MSDB,MALCJ,20,50,M,,SDB,,MALC-MALCJ-20x50.step +MALCJ20-50MSDBU,MALCJ,20,50,M,,SDB,U,MALC-MALCJ-20x50.step +MALCJ20-50MSDBCM,MALCJ,20,50,M,,SDB,CM,MALC-MALCJ-20x50.step +MALCJ20-75E,MALCJ,20,75,,E,,,MALC-MALCJ-20x75.step +MALCJ20-75EU,MALCJ,20,75,,E,,U,MALC-MALCJ-20x75.step +MALCJ20-75ECM,MALCJ,20,75,,E,,CM,MALC-MALCJ-20x75.step +MALCJ20-75ELB,MALCJ,20,75,,E,LB,,MALC-MALCJ-20x75.step +MALCJ20-75ELBU,MALCJ,20,75,,E,LB,U,MALC-MALCJ-20x75.step +MALCJ20-75ELBCM,MALCJ,20,75,,E,LB,CM,MALC-MALCJ-20x75.step +MALCJ20-75EFA,MALCJ,20,75,,E,FA,,MALC-MALCJ-20x75.step +MALCJ20-75EFAU,MALCJ,20,75,,E,FA,U,MALC-MALCJ-20x75.step +MALCJ20-75EFACM,MALCJ,20,75,,E,FA,CM,MALC-MALCJ-20x75.step +MALCJ20-75EFB,MALCJ,20,75,,E,FB,,MALC-MALCJ-20x75.step +MALCJ20-75EFBU,MALCJ,20,75,,E,FB,U,MALC-MALCJ-20x75.step +MALCJ20-75EFBCM,MALCJ,20,75,,E,FB,CM,MALC-MALCJ-20x75.step +MALCJ20-75ESDB,MALCJ,20,75,,E,SDB,,MALC-MALCJ-20x75.step +MALCJ20-75ESDBU,MALCJ,20,75,,E,SDB,U,MALC-MALCJ-20x75.step +MALCJ20-75ESDBCM,MALCJ,20,75,,E,SDB,CM,MALC-MALCJ-20x75.step +MALCJ20-75,MALCJ,20,75,,,,,MALC-MALCJ-20x75.step +MALCJ20-75U,MALCJ,20,75,,,,U,MALC-MALCJ-20x75.step +MALCJ20-75CM,MALCJ,20,75,,,,CM,MALC-MALCJ-20x75.step +MALCJ20-75LB,MALCJ,20,75,,,LB,,MALC-MALCJ-20x75.step +MALCJ20-75LBU,MALCJ,20,75,,,LB,U,MALC-MALCJ-20x75.step +MALCJ20-75LBCM,MALCJ,20,75,,,LB,CM,MALC-MALCJ-20x75.step +MALCJ20-75FA,MALCJ,20,75,,,FA,,MALC-MALCJ-20x75.step +MALCJ20-75FAU,MALCJ,20,75,,,FA,U,MALC-MALCJ-20x75.step +MALCJ20-75FACM,MALCJ,20,75,,,FA,CM,MALC-MALCJ-20x75.step +MALCJ20-75FB,MALCJ,20,75,,,FB,,MALC-MALCJ-20x75.step +MALCJ20-75FBU,MALCJ,20,75,,,FB,U,MALC-MALCJ-20x75.step +MALCJ20-75FBCM,MALCJ,20,75,,,FB,CM,MALC-MALCJ-20x75.step +MALCJ20-75SDB,MALCJ,20,75,,,SDB,,MALC-MALCJ-20x75.step +MALCJ20-75SDBU,MALCJ,20,75,,,SDB,U,MALC-MALCJ-20x75.step +MALCJ20-75SDBCM,MALCJ,20,75,,,SDB,CM,MALC-MALCJ-20x75.step +MALCJ20-75ME,MALCJ,20,75,M,E,,,MALC-MALCJ-20x75.step +MALCJ20-75MEU,MALCJ,20,75,M,E,,U,MALC-MALCJ-20x75.step +MALCJ20-75MECM,MALCJ,20,75,M,E,,CM,MALC-MALCJ-20x75.step +MALCJ20-75MELB,MALCJ,20,75,M,E,LB,,MALC-MALCJ-20x75.step +MALCJ20-75MELBU,MALCJ,20,75,M,E,LB,U,MALC-MALCJ-20x75.step +MALCJ20-75MELBCM,MALCJ,20,75,M,E,LB,CM,MALC-MALCJ-20x75.step +MALCJ20-75MEFA,MALCJ,20,75,M,E,FA,,MALC-MALCJ-20x75.step +MALCJ20-75MEFAU,MALCJ,20,75,M,E,FA,U,MALC-MALCJ-20x75.step +MALCJ20-75MEFACM,MALCJ,20,75,M,E,FA,CM,MALC-MALCJ-20x75.step +MALCJ20-75MEFB,MALCJ,20,75,M,E,FB,,MALC-MALCJ-20x75.step +MALCJ20-75MEFBU,MALCJ,20,75,M,E,FB,U,MALC-MALCJ-20x75.step +MALCJ20-75MEFBCM,MALCJ,20,75,M,E,FB,CM,MALC-MALCJ-20x75.step +MALCJ20-75MESDB,MALCJ,20,75,M,E,SDB,,MALC-MALCJ-20x75.step +MALCJ20-75MESDBU,MALCJ,20,75,M,E,SDB,U,MALC-MALCJ-20x75.step +MALCJ20-75MESDBCM,MALCJ,20,75,M,E,SDB,CM,MALC-MALCJ-20x75.step +MALCJ20-75M,MALCJ,20,75,M,,,,MALC-MALCJ-20x75.step +MALCJ20-75MU,MALCJ,20,75,M,,,U,MALC-MALCJ-20x75.step +MALCJ20-75MCM,MALCJ,20,75,M,,,CM,MALC-MALCJ-20x75.step +MALCJ20-75MLB,MALCJ,20,75,M,,LB,,MALC-MALCJ-20x75.step +MALCJ20-75MLBU,MALCJ,20,75,M,,LB,U,MALC-MALCJ-20x75.step +MALCJ20-75MLBCM,MALCJ,20,75,M,,LB,CM,MALC-MALCJ-20x75.step +MALCJ20-75MFA,MALCJ,20,75,M,,FA,,MALC-MALCJ-20x75.step +MALCJ20-75MFAU,MALCJ,20,75,M,,FA,U,MALC-MALCJ-20x75.step +MALCJ20-75MFACM,MALCJ,20,75,M,,FA,CM,MALC-MALCJ-20x75.step +MALCJ20-75MFB,MALCJ,20,75,M,,FB,,MALC-MALCJ-20x75.step +MALCJ20-75MFBU,MALCJ,20,75,M,,FB,U,MALC-MALCJ-20x75.step +MALCJ20-75MFBCM,MALCJ,20,75,M,,FB,CM,MALC-MALCJ-20x75.step +MALCJ20-75MSDB,MALCJ,20,75,M,,SDB,,MALC-MALCJ-20x75.step +MALCJ20-75MSDBU,MALCJ,20,75,M,,SDB,U,MALC-MALCJ-20x75.step +MALCJ20-75MSDBCM,MALCJ,20,75,M,,SDB,CM,MALC-MALCJ-20x75.step +MALCJ20-100E,MALCJ,20,100,,E,,,MALC-MALCJ-20x100.step +MALCJ20-100EU,MALCJ,20,100,,E,,U,MALC-MALCJ-20x100.step +MALCJ20-100ECM,MALCJ,20,100,,E,,CM,MALC-MALCJ-20x100.step +MALCJ20-100ELB,MALCJ,20,100,,E,LB,,MALC-MALCJ-20x100.step +MALCJ20-100ELBU,MALCJ,20,100,,E,LB,U,MALC-MALCJ-20x100.step +MALCJ20-100ELBCM,MALCJ,20,100,,E,LB,CM,MALC-MALCJ-20x100.step +MALCJ20-100EFA,MALCJ,20,100,,E,FA,,MALC-MALCJ-20x100.step +MALCJ20-100EFAU,MALCJ,20,100,,E,FA,U,MALC-MALCJ-20x100.step +MALCJ20-100EFACM,MALCJ,20,100,,E,FA,CM,MALC-MALCJ-20x100.step +MALCJ20-100EFB,MALCJ,20,100,,E,FB,,MALC-MALCJ-20x100.step +MALCJ20-100EFBU,MALCJ,20,100,,E,FB,U,MALC-MALCJ-20x100.step +MALCJ20-100EFBCM,MALCJ,20,100,,E,FB,CM,MALC-MALCJ-20x100.step +MALCJ20-100ESDB,MALCJ,20,100,,E,SDB,,MALC-MALCJ-20x100.step +MALCJ20-100ESDBU,MALCJ,20,100,,E,SDB,U,MALC-MALCJ-20x100.step +MALCJ20-100ESDBCM,MALCJ,20,100,,E,SDB,CM,MALC-MALCJ-20x100.step +MALCJ20-100,MALCJ,20,100,,,,,MALC-MALCJ-20x100.step +MALCJ20-100U,MALCJ,20,100,,,,U,MALC-MALCJ-20x100.step +MALCJ20-100CM,MALCJ,20,100,,,,CM,MALC-MALCJ-20x100.step +MALCJ20-100LB,MALCJ,20,100,,,LB,,MALC-MALCJ-20x100.step +MALCJ20-100LBU,MALCJ,20,100,,,LB,U,MALC-MALCJ-20x100.step +MALCJ20-100LBCM,MALCJ,20,100,,,LB,CM,MALC-MALCJ-20x100.step +MALCJ20-100FA,MALCJ,20,100,,,FA,,MALC-MALCJ-20x100.step +MALCJ20-100FAU,MALCJ,20,100,,,FA,U,MALC-MALCJ-20x100.step +MALCJ20-100FACM,MALCJ,20,100,,,FA,CM,MALC-MALCJ-20x100.step +MALCJ20-100FB,MALCJ,20,100,,,FB,,MALC-MALCJ-20x100.step +MALCJ20-100FBU,MALCJ,20,100,,,FB,U,MALC-MALCJ-20x100.step +MALCJ20-100FBCM,MALCJ,20,100,,,FB,CM,MALC-MALCJ-20x100.step +MALCJ20-100SDB,MALCJ,20,100,,,SDB,,MALC-MALCJ-20x100.step +MALCJ20-100SDBU,MALCJ,20,100,,,SDB,U,MALC-MALCJ-20x100.step +MALCJ20-100SDBCM,MALCJ,20,100,,,SDB,CM,MALC-MALCJ-20x100.step +MALCJ20-100ME,MALCJ,20,100,M,E,,,MALC-MALCJ-20x100.step +MALCJ20-100MEU,MALCJ,20,100,M,E,,U,MALC-MALCJ-20x100.step +MALCJ20-100MECM,MALCJ,20,100,M,E,,CM,MALC-MALCJ-20x100.step +MALCJ20-100MELB,MALCJ,20,100,M,E,LB,,MALC-MALCJ-20x100.step +MALCJ20-100MELBU,MALCJ,20,100,M,E,LB,U,MALC-MALCJ-20x100.step +MALCJ20-100MELBCM,MALCJ,20,100,M,E,LB,CM,MALC-MALCJ-20x100.step +MALCJ20-100MEFA,MALCJ,20,100,M,E,FA,,MALC-MALCJ-20x100.step +MALCJ20-100MEFAU,MALCJ,20,100,M,E,FA,U,MALC-MALCJ-20x100.step +MALCJ20-100MEFACM,MALCJ,20,100,M,E,FA,CM,MALC-MALCJ-20x100.step +MALCJ20-100MEFB,MALCJ,20,100,M,E,FB,,MALC-MALCJ-20x100.step +MALCJ20-100MEFBU,MALCJ,20,100,M,E,FB,U,MALC-MALCJ-20x100.step +MALCJ20-100MEFBCM,MALCJ,20,100,M,E,FB,CM,MALC-MALCJ-20x100.step +MALCJ20-100MESDB,MALCJ,20,100,M,E,SDB,,MALC-MALCJ-20x100.step +MALCJ20-100MESDBU,MALCJ,20,100,M,E,SDB,U,MALC-MALCJ-20x100.step +MALCJ20-100MESDBCM,MALCJ,20,100,M,E,SDB,CM,MALC-MALCJ-20x100.step +MALCJ20-100M,MALCJ,20,100,M,,,,MALC-MALCJ-20x100.step +MALCJ20-100MU,MALCJ,20,100,M,,,U,MALC-MALCJ-20x100.step +MALCJ20-100MCM,MALCJ,20,100,M,,,CM,MALC-MALCJ-20x100.step +MALCJ20-100MLB,MALCJ,20,100,M,,LB,,MALC-MALCJ-20x100.step +MALCJ20-100MLBU,MALCJ,20,100,M,,LB,U,MALC-MALCJ-20x100.step +MALCJ20-100MLBCM,MALCJ,20,100,M,,LB,CM,MALC-MALCJ-20x100.step +MALCJ20-100MFA,MALCJ,20,100,M,,FA,,MALC-MALCJ-20x100.step +MALCJ20-100MFAU,MALCJ,20,100,M,,FA,U,MALC-MALCJ-20x100.step +MALCJ20-100MFACM,MALCJ,20,100,M,,FA,CM,MALC-MALCJ-20x100.step +MALCJ20-100MFB,MALCJ,20,100,M,,FB,,MALC-MALCJ-20x100.step +MALCJ20-100MFBU,MALCJ,20,100,M,,FB,U,MALC-MALCJ-20x100.step +MALCJ20-100MFBCM,MALCJ,20,100,M,,FB,CM,MALC-MALCJ-20x100.step +MALCJ20-100MSDB,MALCJ,20,100,M,,SDB,,MALC-MALCJ-20x100.step +MALCJ20-100MSDBU,MALCJ,20,100,M,,SDB,U,MALC-MALCJ-20x100.step +MALCJ20-100MSDBCM,MALCJ,20,100,M,,SDB,CM,MALC-MALCJ-20x100.step +MALCJ25-10E,MALCJ,25,10,,E,,,MALC-MALCJ-25x10.step +MALCJ25-10EU,MALCJ,25,10,,E,,U,MALC-MALCJ-25x10.step +MALCJ25-10ECM,MALCJ,25,10,,E,,CM,MALC-MALCJ-25x10.step +MALCJ25-10ELB,MALCJ,25,10,,E,LB,,MALC-MALCJ-25x10.step +MALCJ25-10ELBU,MALCJ,25,10,,E,LB,U,MALC-MALCJ-25x10.step +MALCJ25-10ELBCM,MALCJ,25,10,,E,LB,CM,MALC-MALCJ-25x10.step +MALCJ25-10EFA,MALCJ,25,10,,E,FA,,MALC-MALCJ-25x10.step +MALCJ25-10EFAU,MALCJ,25,10,,E,FA,U,MALC-MALCJ-25x10.step +MALCJ25-10EFACM,MALCJ,25,10,,E,FA,CM,MALC-MALCJ-25x10.step +MALCJ25-10EFB,MALCJ,25,10,,E,FB,,MALC-MALCJ-25x10.step +MALCJ25-10EFBU,MALCJ,25,10,,E,FB,U,MALC-MALCJ-25x10.step +MALCJ25-10EFBCM,MALCJ,25,10,,E,FB,CM,MALC-MALCJ-25x10.step +MALCJ25-10ESDB,MALCJ,25,10,,E,SDB,,MALC-MALCJ-25x10.step +MALCJ25-10ESDBU,MALCJ,25,10,,E,SDB,U,MALC-MALCJ-25x10.step +MALCJ25-10ESDBCM,MALCJ,25,10,,E,SDB,CM,MALC-MALCJ-25x10.step +MALCJ25-10,MALCJ,25,10,,,,,MALC-MALCJ-25x10.step +MALCJ25-10U,MALCJ,25,10,,,,U,MALC-MALCJ-25x10.step +MALCJ25-10CM,MALCJ,25,10,,,,CM,MALC-MALCJ-25x10.step +MALCJ25-10LB,MALCJ,25,10,,,LB,,MALC-MALCJ-25x10.step +MALCJ25-10LBU,MALCJ,25,10,,,LB,U,MALC-MALCJ-25x10.step +MALCJ25-10LBCM,MALCJ,25,10,,,LB,CM,MALC-MALCJ-25x10.step +MALCJ25-10FA,MALCJ,25,10,,,FA,,MALC-MALCJ-25x10.step +MALCJ25-10FAU,MALCJ,25,10,,,FA,U,MALC-MALCJ-25x10.step +MALCJ25-10FACM,MALCJ,25,10,,,FA,CM,MALC-MALCJ-25x10.step +MALCJ25-10FB,MALCJ,25,10,,,FB,,MALC-MALCJ-25x10.step +MALCJ25-10FBU,MALCJ,25,10,,,FB,U,MALC-MALCJ-25x10.step +MALCJ25-10FBCM,MALCJ,25,10,,,FB,CM,MALC-MALCJ-25x10.step +MALCJ25-10SDB,MALCJ,25,10,,,SDB,,MALC-MALCJ-25x10.step +MALCJ25-10SDBU,MALCJ,25,10,,,SDB,U,MALC-MALCJ-25x10.step +MALCJ25-10SDBCM,MALCJ,25,10,,,SDB,CM,MALC-MALCJ-25x10.step +MALCJ25-10ME,MALCJ,25,10,M,E,,,MALC-MALCJ-25x10.step +MALCJ25-10MEU,MALCJ,25,10,M,E,,U,MALC-MALCJ-25x10.step +MALCJ25-10MECM,MALCJ,25,10,M,E,,CM,MALC-MALCJ-25x10.step +MALCJ25-10MELB,MALCJ,25,10,M,E,LB,,MALC-MALCJ-25x10.step +MALCJ25-10MELBU,MALCJ,25,10,M,E,LB,U,MALC-MALCJ-25x10.step +MALCJ25-10MELBCM,MALCJ,25,10,M,E,LB,CM,MALC-MALCJ-25x10.step +MALCJ25-10MEFA,MALCJ,25,10,M,E,FA,,MALC-MALCJ-25x10.step +MALCJ25-10MEFAU,MALCJ,25,10,M,E,FA,U,MALC-MALCJ-25x10.step +MALCJ25-10MEFACM,MALCJ,25,10,M,E,FA,CM,MALC-MALCJ-25x10.step +MALCJ25-10MEFB,MALCJ,25,10,M,E,FB,,MALC-MALCJ-25x10.step +MALCJ25-10MEFBU,MALCJ,25,10,M,E,FB,U,MALC-MALCJ-25x10.step +MALCJ25-10MEFBCM,MALCJ,25,10,M,E,FB,CM,MALC-MALCJ-25x10.step +MALCJ25-10MESDB,MALCJ,25,10,M,E,SDB,,MALC-MALCJ-25x10.step +MALCJ25-10MESDBU,MALCJ,25,10,M,E,SDB,U,MALC-MALCJ-25x10.step +MALCJ25-10MESDBCM,MALCJ,25,10,M,E,SDB,CM,MALC-MALCJ-25x10.step +MALCJ25-10M,MALCJ,25,10,M,,,,MALC-MALCJ-25x10.step +MALCJ25-10MU,MALCJ,25,10,M,,,U,MALC-MALCJ-25x10.step +MALCJ25-10MCM,MALCJ,25,10,M,,,CM,MALC-MALCJ-25x10.step +MALCJ25-10MLB,MALCJ,25,10,M,,LB,,MALC-MALCJ-25x10.step +MALCJ25-10MLBU,MALCJ,25,10,M,,LB,U,MALC-MALCJ-25x10.step +MALCJ25-10MLBCM,MALCJ,25,10,M,,LB,CM,MALC-MALCJ-25x10.step +MALCJ25-10MFA,MALCJ,25,10,M,,FA,,MALC-MALCJ-25x10.step +MALCJ25-10MFAU,MALCJ,25,10,M,,FA,U,MALC-MALCJ-25x10.step +MALCJ25-10MFACM,MALCJ,25,10,M,,FA,CM,MALC-MALCJ-25x10.step +MALCJ25-10MFB,MALCJ,25,10,M,,FB,,MALC-MALCJ-25x10.step +MALCJ25-10MFBU,MALCJ,25,10,M,,FB,U,MALC-MALCJ-25x10.step +MALCJ25-10MFBCM,MALCJ,25,10,M,,FB,CM,MALC-MALCJ-25x10.step +MALCJ25-10MSDB,MALCJ,25,10,M,,SDB,,MALC-MALCJ-25x10.step +MALCJ25-10MSDBU,MALCJ,25,10,M,,SDB,U,MALC-MALCJ-25x10.step +MALCJ25-10MSDBCM,MALCJ,25,10,M,,SDB,CM,MALC-MALCJ-25x10.step +MALCJ25-20E,MALCJ,25,20,,E,,,MALC-MALCJ-25x20.step +MALCJ25-20EU,MALCJ,25,20,,E,,U,MALC-MALCJ-25x20.step +MALCJ25-20ECM,MALCJ,25,20,,E,,CM,MALC-MALCJ-25x20.step +MALCJ25-20ELB,MALCJ,25,20,,E,LB,,MALC-MALCJ-25x20.step +MALCJ25-20ELBU,MALCJ,25,20,,E,LB,U,MALC-MALCJ-25x20.step +MALCJ25-20ELBCM,MALCJ,25,20,,E,LB,CM,MALC-MALCJ-25x20.step +MALCJ25-20EFA,MALCJ,25,20,,E,FA,,MALC-MALCJ-25x20.step +MALCJ25-20EFAU,MALCJ,25,20,,E,FA,U,MALC-MALCJ-25x20.step +MALCJ25-20EFACM,MALCJ,25,20,,E,FA,CM,MALC-MALCJ-25x20.step +MALCJ25-20EFB,MALCJ,25,20,,E,FB,,MALC-MALCJ-25x20.step +MALCJ25-20EFBU,MALCJ,25,20,,E,FB,U,MALC-MALCJ-25x20.step +MALCJ25-20EFBCM,MALCJ,25,20,,E,FB,CM,MALC-MALCJ-25x20.step +MALCJ25-20ESDB,MALCJ,25,20,,E,SDB,,MALC-MALCJ-25x20.step +MALCJ25-20ESDBU,MALCJ,25,20,,E,SDB,U,MALC-MALCJ-25x20.step +MALCJ25-20ESDBCM,MALCJ,25,20,,E,SDB,CM,MALC-MALCJ-25x20.step +MALCJ25-20,MALCJ,25,20,,,,,MALC-MALCJ-25x20.step +MALCJ25-20U,MALCJ,25,20,,,,U,MALC-MALCJ-25x20.step +MALCJ25-20CM,MALCJ,25,20,,,,CM,MALC-MALCJ-25x20.step +MALCJ25-20LB,MALCJ,25,20,,,LB,,MALC-MALCJ-25x20.step +MALCJ25-20LBU,MALCJ,25,20,,,LB,U,MALC-MALCJ-25x20.step +MALCJ25-20LBCM,MALCJ,25,20,,,LB,CM,MALC-MALCJ-25x20.step +MALCJ25-20FA,MALCJ,25,20,,,FA,,MALC-MALCJ-25x20.step +MALCJ25-20FAU,MALCJ,25,20,,,FA,U,MALC-MALCJ-25x20.step +MALCJ25-20FACM,MALCJ,25,20,,,FA,CM,MALC-MALCJ-25x20.step +MALCJ25-20FB,MALCJ,25,20,,,FB,,MALC-MALCJ-25x20.step +MALCJ25-20FBU,MALCJ,25,20,,,FB,U,MALC-MALCJ-25x20.step +MALCJ25-20FBCM,MALCJ,25,20,,,FB,CM,MALC-MALCJ-25x20.step +MALCJ25-20SDB,MALCJ,25,20,,,SDB,,MALC-MALCJ-25x20.step +MALCJ25-20SDBU,MALCJ,25,20,,,SDB,U,MALC-MALCJ-25x20.step +MALCJ25-20SDBCM,MALCJ,25,20,,,SDB,CM,MALC-MALCJ-25x20.step +MALCJ25-20ME,MALCJ,25,20,M,E,,,MALC-MALCJ-25x20.step +MALCJ25-20MEU,MALCJ,25,20,M,E,,U,MALC-MALCJ-25x20.step +MALCJ25-20MECM,MALCJ,25,20,M,E,,CM,MALC-MALCJ-25x20.step +MALCJ25-20MELB,MALCJ,25,20,M,E,LB,,MALC-MALCJ-25x20.step +MALCJ25-20MELBU,MALCJ,25,20,M,E,LB,U,MALC-MALCJ-25x20.step +MALCJ25-20MELBCM,MALCJ,25,20,M,E,LB,CM,MALC-MALCJ-25x20.step +MALCJ25-20MEFA,MALCJ,25,20,M,E,FA,,MALC-MALCJ-25x20.step +MALCJ25-20MEFAU,MALCJ,25,20,M,E,FA,U,MALC-MALCJ-25x20.step +MALCJ25-20MEFACM,MALCJ,25,20,M,E,FA,CM,MALC-MALCJ-25x20.step +MALCJ25-20MEFB,MALCJ,25,20,M,E,FB,,MALC-MALCJ-25x20.step +MALCJ25-20MEFBU,MALCJ,25,20,M,E,FB,U,MALC-MALCJ-25x20.step +MALCJ25-20MEFBCM,MALCJ,25,20,M,E,FB,CM,MALC-MALCJ-25x20.step +MALCJ25-20MESDB,MALCJ,25,20,M,E,SDB,,MALC-MALCJ-25x20.step +MALCJ25-20MESDBU,MALCJ,25,20,M,E,SDB,U,MALC-MALCJ-25x20.step +MALCJ25-20MESDBCM,MALCJ,25,20,M,E,SDB,CM,MALC-MALCJ-25x20.step +MALCJ25-20M,MALCJ,25,20,M,,,,MALC-MALCJ-25x20.step +MALCJ25-20MU,MALCJ,25,20,M,,,U,MALC-MALCJ-25x20.step +MALCJ25-20MCM,MALCJ,25,20,M,,,CM,MALC-MALCJ-25x20.step +MALCJ25-20MLB,MALCJ,25,20,M,,LB,,MALC-MALCJ-25x20.step +MALCJ25-20MLBU,MALCJ,25,20,M,,LB,U,MALC-MALCJ-25x20.step +MALCJ25-20MLBCM,MALCJ,25,20,M,,LB,CM,MALC-MALCJ-25x20.step +MALCJ25-20MFA,MALCJ,25,20,M,,FA,,MALC-MALCJ-25x20.step +MALCJ25-20MFAU,MALCJ,25,20,M,,FA,U,MALC-MALCJ-25x20.step +MALCJ25-20MFACM,MALCJ,25,20,M,,FA,CM,MALC-MALCJ-25x20.step +MALCJ25-20MFB,MALCJ,25,20,M,,FB,,MALC-MALCJ-25x20.step +MALCJ25-20MFBU,MALCJ,25,20,M,,FB,U,MALC-MALCJ-25x20.step +MALCJ25-20MFBCM,MALCJ,25,20,M,,FB,CM,MALC-MALCJ-25x20.step +MALCJ25-20MSDB,MALCJ,25,20,M,,SDB,,MALC-MALCJ-25x20.step +MALCJ25-20MSDBU,MALCJ,25,20,M,,SDB,U,MALC-MALCJ-25x20.step +MALCJ25-20MSDBCM,MALCJ,25,20,M,,SDB,CM,MALC-MALCJ-25x20.step +MALCJ25-30E,MALCJ,25,30,,E,,,MALC-MALCJ-25x30.step +MALCJ25-30EU,MALCJ,25,30,,E,,U,MALC-MALCJ-25x30.step +MALCJ25-30ECM,MALCJ,25,30,,E,,CM,MALC-MALCJ-25x30.step +MALCJ25-30ELB,MALCJ,25,30,,E,LB,,MALC-MALCJ-25x30.step +MALCJ25-30ELBU,MALCJ,25,30,,E,LB,U,MALC-MALCJ-25x30.step +MALCJ25-30ELBCM,MALCJ,25,30,,E,LB,CM,MALC-MALCJ-25x30.step +MALCJ25-30EFA,MALCJ,25,30,,E,FA,,MALC-MALCJ-25x30.step +MALCJ25-30EFAU,MALCJ,25,30,,E,FA,U,MALC-MALCJ-25x30.step +MALCJ25-30EFACM,MALCJ,25,30,,E,FA,CM,MALC-MALCJ-25x30.step +MALCJ25-30EFB,MALCJ,25,30,,E,FB,,MALC-MALCJ-25x30.step +MALCJ25-30EFBU,MALCJ,25,30,,E,FB,U,MALC-MALCJ-25x30.step +MALCJ25-30EFBCM,MALCJ,25,30,,E,FB,CM,MALC-MALCJ-25x30.step +MALCJ25-30ESDB,MALCJ,25,30,,E,SDB,,MALC-MALCJ-25x30.step +MALCJ25-30ESDBU,MALCJ,25,30,,E,SDB,U,MALC-MALCJ-25x30.step +MALCJ25-30ESDBCM,MALCJ,25,30,,E,SDB,CM,MALC-MALCJ-25x30.step +MALCJ25-30,MALCJ,25,30,,,,,MALC-MALCJ-25x30.step +MALCJ25-30U,MALCJ,25,30,,,,U,MALC-MALCJ-25x30.step +MALCJ25-30CM,MALCJ,25,30,,,,CM,MALC-MALCJ-25x30.step +MALCJ25-30LB,MALCJ,25,30,,,LB,,MALC-MALCJ-25x30.step +MALCJ25-30LBU,MALCJ,25,30,,,LB,U,MALC-MALCJ-25x30.step +MALCJ25-30LBCM,MALCJ,25,30,,,LB,CM,MALC-MALCJ-25x30.step +MALCJ25-30FA,MALCJ,25,30,,,FA,,MALC-MALCJ-25x30.step +MALCJ25-30FAU,MALCJ,25,30,,,FA,U,MALC-MALCJ-25x30.step +MALCJ25-30FACM,MALCJ,25,30,,,FA,CM,MALC-MALCJ-25x30.step +MALCJ25-30FB,MALCJ,25,30,,,FB,,MALC-MALCJ-25x30.step +MALCJ25-30FBU,MALCJ,25,30,,,FB,U,MALC-MALCJ-25x30.step +MALCJ25-30FBCM,MALCJ,25,30,,,FB,CM,MALC-MALCJ-25x30.step +MALCJ25-30SDB,MALCJ,25,30,,,SDB,,MALC-MALCJ-25x30.step +MALCJ25-30SDBU,MALCJ,25,30,,,SDB,U,MALC-MALCJ-25x30.step +MALCJ25-30SDBCM,MALCJ,25,30,,,SDB,CM,MALC-MALCJ-25x30.step +MALCJ25-30ME,MALCJ,25,30,M,E,,,MALC-MALCJ-25x30.step +MALCJ25-30MEU,MALCJ,25,30,M,E,,U,MALC-MALCJ-25x30.step +MALCJ25-30MECM,MALCJ,25,30,M,E,,CM,MALC-MALCJ-25x30.step +MALCJ25-30MELB,MALCJ,25,30,M,E,LB,,MALC-MALCJ-25x30.step +MALCJ25-30MELBU,MALCJ,25,30,M,E,LB,U,MALC-MALCJ-25x30.step +MALCJ25-30MELBCM,MALCJ,25,30,M,E,LB,CM,MALC-MALCJ-25x30.step +MALCJ25-30MEFA,MALCJ,25,30,M,E,FA,,MALC-MALCJ-25x30.step +MALCJ25-30MEFAU,MALCJ,25,30,M,E,FA,U,MALC-MALCJ-25x30.step +MALCJ25-30MEFACM,MALCJ,25,30,M,E,FA,CM,MALC-MALCJ-25x30.step +MALCJ25-30MEFB,MALCJ,25,30,M,E,FB,,MALC-MALCJ-25x30.step +MALCJ25-30MEFBU,MALCJ,25,30,M,E,FB,U,MALC-MALCJ-25x30.step +MALCJ25-30MEFBCM,MALCJ,25,30,M,E,FB,CM,MALC-MALCJ-25x30.step +MALCJ25-30MESDB,MALCJ,25,30,M,E,SDB,,MALC-MALCJ-25x30.step +MALCJ25-30MESDBU,MALCJ,25,30,M,E,SDB,U,MALC-MALCJ-25x30.step +MALCJ25-30MESDBCM,MALCJ,25,30,M,E,SDB,CM,MALC-MALCJ-25x30.step +MALCJ25-30M,MALCJ,25,30,M,,,,MALC-MALCJ-25x30.step +MALCJ25-30MU,MALCJ,25,30,M,,,U,MALC-MALCJ-25x30.step +MALCJ25-30MCM,MALCJ,25,30,M,,,CM,MALC-MALCJ-25x30.step +MALCJ25-30MLB,MALCJ,25,30,M,,LB,,MALC-MALCJ-25x30.step +MALCJ25-30MLBU,MALCJ,25,30,M,,LB,U,MALC-MALCJ-25x30.step +MALCJ25-30MLBCM,MALCJ,25,30,M,,LB,CM,MALC-MALCJ-25x30.step +MALCJ25-30MFA,MALCJ,25,30,M,,FA,,MALC-MALCJ-25x30.step +MALCJ25-30MFAU,MALCJ,25,30,M,,FA,U,MALC-MALCJ-25x30.step +MALCJ25-30MFACM,MALCJ,25,30,M,,FA,CM,MALC-MALCJ-25x30.step +MALCJ25-30MFB,MALCJ,25,30,M,,FB,,MALC-MALCJ-25x30.step +MALCJ25-30MFBU,MALCJ,25,30,M,,FB,U,MALC-MALCJ-25x30.step +MALCJ25-30MFBCM,MALCJ,25,30,M,,FB,CM,MALC-MALCJ-25x30.step +MALCJ25-30MSDB,MALCJ,25,30,M,,SDB,,MALC-MALCJ-25x30.step +MALCJ25-30MSDBU,MALCJ,25,30,M,,SDB,U,MALC-MALCJ-25x30.step +MALCJ25-30MSDBCM,MALCJ,25,30,M,,SDB,CM,MALC-MALCJ-25x30.step +MALCJ25-50E,MALCJ,25,50,,E,,,MALC-MALCJ-25x50.step +MALCJ25-50EU,MALCJ,25,50,,E,,U,MALC-MALCJ-25x50.step +MALCJ25-50ECM,MALCJ,25,50,,E,,CM,MALC-MALCJ-25x50.step +MALCJ25-50ELB,MALCJ,25,50,,E,LB,,MALC-MALCJ-25x50.step +MALCJ25-50ELBU,MALCJ,25,50,,E,LB,U,MALC-MALCJ-25x50.step +MALCJ25-50ELBCM,MALCJ,25,50,,E,LB,CM,MALC-MALCJ-25x50.step +MALCJ25-50EFA,MALCJ,25,50,,E,FA,,MALC-MALCJ-25x50.step +MALCJ25-50EFAU,MALCJ,25,50,,E,FA,U,MALC-MALCJ-25x50.step +MALCJ25-50EFACM,MALCJ,25,50,,E,FA,CM,MALC-MALCJ-25x50.step +MALCJ25-50EFB,MALCJ,25,50,,E,FB,,MALC-MALCJ-25x50.step +MALCJ25-50EFBU,MALCJ,25,50,,E,FB,U,MALC-MALCJ-25x50.step +MALCJ25-50EFBCM,MALCJ,25,50,,E,FB,CM,MALC-MALCJ-25x50.step +MALCJ25-50ESDB,MALCJ,25,50,,E,SDB,,MALC-MALCJ-25x50.step +MALCJ25-50ESDBU,MALCJ,25,50,,E,SDB,U,MALC-MALCJ-25x50.step +MALCJ25-50ESDBCM,MALCJ,25,50,,E,SDB,CM,MALC-MALCJ-25x50.step +MALCJ25-50,MALCJ,25,50,,,,,MALC-MALCJ-25x50.step +MALCJ25-50U,MALCJ,25,50,,,,U,MALC-MALCJ-25x50.step +MALCJ25-50CM,MALCJ,25,50,,,,CM,MALC-MALCJ-25x50.step +MALCJ25-50LB,MALCJ,25,50,,,LB,,MALC-MALCJ-25x50.step +MALCJ25-50LBU,MALCJ,25,50,,,LB,U,MALC-MALCJ-25x50.step +MALCJ25-50LBCM,MALCJ,25,50,,,LB,CM,MALC-MALCJ-25x50.step +MALCJ25-50FA,MALCJ,25,50,,,FA,,MALC-MALCJ-25x50.step +MALCJ25-50FAU,MALCJ,25,50,,,FA,U,MALC-MALCJ-25x50.step +MALCJ25-50FACM,MALCJ,25,50,,,FA,CM,MALC-MALCJ-25x50.step +MALCJ25-50FB,MALCJ,25,50,,,FB,,MALC-MALCJ-25x50.step +MALCJ25-50FBU,MALCJ,25,50,,,FB,U,MALC-MALCJ-25x50.step +MALCJ25-50FBCM,MALCJ,25,50,,,FB,CM,MALC-MALCJ-25x50.step +MALCJ25-50SDB,MALCJ,25,50,,,SDB,,MALC-MALCJ-25x50.step +MALCJ25-50SDBU,MALCJ,25,50,,,SDB,U,MALC-MALCJ-25x50.step +MALCJ25-50SDBCM,MALCJ,25,50,,,SDB,CM,MALC-MALCJ-25x50.step +MALCJ25-50ME,MALCJ,25,50,M,E,,,MALC-MALCJ-25x50.step +MALCJ25-50MEU,MALCJ,25,50,M,E,,U,MALC-MALCJ-25x50.step +MALCJ25-50MECM,MALCJ,25,50,M,E,,CM,MALC-MALCJ-25x50.step +MALCJ25-50MELB,MALCJ,25,50,M,E,LB,,MALC-MALCJ-25x50.step +MALCJ25-50MELBU,MALCJ,25,50,M,E,LB,U,MALC-MALCJ-25x50.step +MALCJ25-50MELBCM,MALCJ,25,50,M,E,LB,CM,MALC-MALCJ-25x50.step +MALCJ25-50MEFA,MALCJ,25,50,M,E,FA,,MALC-MALCJ-25x50.step +MALCJ25-50MEFAU,MALCJ,25,50,M,E,FA,U,MALC-MALCJ-25x50.step +MALCJ25-50MEFACM,MALCJ,25,50,M,E,FA,CM,MALC-MALCJ-25x50.step +MALCJ25-50MEFB,MALCJ,25,50,M,E,FB,,MALC-MALCJ-25x50.step +MALCJ25-50MEFBU,MALCJ,25,50,M,E,FB,U,MALC-MALCJ-25x50.step +MALCJ25-50MEFBCM,MALCJ,25,50,M,E,FB,CM,MALC-MALCJ-25x50.step +MALCJ25-50MESDB,MALCJ,25,50,M,E,SDB,,MALC-MALCJ-25x50.step +MALCJ25-50MESDBU,MALCJ,25,50,M,E,SDB,U,MALC-MALCJ-25x50.step +MALCJ25-50MESDBCM,MALCJ,25,50,M,E,SDB,CM,MALC-MALCJ-25x50.step +MALCJ25-50M,MALCJ,25,50,M,,,,MALC-MALCJ-25x50.step +MALCJ25-50MU,MALCJ,25,50,M,,,U,MALC-MALCJ-25x50.step +MALCJ25-50MCM,MALCJ,25,50,M,,,CM,MALC-MALCJ-25x50.step +MALCJ25-50MLB,MALCJ,25,50,M,,LB,,MALC-MALCJ-25x50.step +MALCJ25-50MLBU,MALCJ,25,50,M,,LB,U,MALC-MALCJ-25x50.step +MALCJ25-50MLBCM,MALCJ,25,50,M,,LB,CM,MALC-MALCJ-25x50.step +MALCJ25-50MFA,MALCJ,25,50,M,,FA,,MALC-MALCJ-25x50.step +MALCJ25-50MFAU,MALCJ,25,50,M,,FA,U,MALC-MALCJ-25x50.step +MALCJ25-50MFACM,MALCJ,25,50,M,,FA,CM,MALC-MALCJ-25x50.step +MALCJ25-50MFB,MALCJ,25,50,M,,FB,,MALC-MALCJ-25x50.step +MALCJ25-50MFBU,MALCJ,25,50,M,,FB,U,MALC-MALCJ-25x50.step +MALCJ25-50MFBCM,MALCJ,25,50,M,,FB,CM,MALC-MALCJ-25x50.step +MALCJ25-50MSDB,MALCJ,25,50,M,,SDB,,MALC-MALCJ-25x50.step +MALCJ25-50MSDBU,MALCJ,25,50,M,,SDB,U,MALC-MALCJ-25x50.step +MALCJ25-50MSDBCM,MALCJ,25,50,M,,SDB,CM,MALC-MALCJ-25x50.step +MALCJ25-75E,MALCJ,25,75,,E,,,MALC-MALCJ-25x75.step +MALCJ25-75EU,MALCJ,25,75,,E,,U,MALC-MALCJ-25x75.step +MALCJ25-75ECM,MALCJ,25,75,,E,,CM,MALC-MALCJ-25x75.step +MALCJ25-75ELB,MALCJ,25,75,,E,LB,,MALC-MALCJ-25x75.step +MALCJ25-75ELBU,MALCJ,25,75,,E,LB,U,MALC-MALCJ-25x75.step +MALCJ25-75ELBCM,MALCJ,25,75,,E,LB,CM,MALC-MALCJ-25x75.step +MALCJ25-75EFA,MALCJ,25,75,,E,FA,,MALC-MALCJ-25x75.step +MALCJ25-75EFAU,MALCJ,25,75,,E,FA,U,MALC-MALCJ-25x75.step +MALCJ25-75EFACM,MALCJ,25,75,,E,FA,CM,MALC-MALCJ-25x75.step +MALCJ25-75EFB,MALCJ,25,75,,E,FB,,MALC-MALCJ-25x75.step +MALCJ25-75EFBU,MALCJ,25,75,,E,FB,U,MALC-MALCJ-25x75.step +MALCJ25-75EFBCM,MALCJ,25,75,,E,FB,CM,MALC-MALCJ-25x75.step +MALCJ25-75ESDB,MALCJ,25,75,,E,SDB,,MALC-MALCJ-25x75.step +MALCJ25-75ESDBU,MALCJ,25,75,,E,SDB,U,MALC-MALCJ-25x75.step +MALCJ25-75ESDBCM,MALCJ,25,75,,E,SDB,CM,MALC-MALCJ-25x75.step +MALCJ25-75,MALCJ,25,75,,,,,MALC-MALCJ-25x75.step +MALCJ25-75U,MALCJ,25,75,,,,U,MALC-MALCJ-25x75.step +MALCJ25-75CM,MALCJ,25,75,,,,CM,MALC-MALCJ-25x75.step +MALCJ25-75LB,MALCJ,25,75,,,LB,,MALC-MALCJ-25x75.step +MALCJ25-75LBU,MALCJ,25,75,,,LB,U,MALC-MALCJ-25x75.step +MALCJ25-75LBCM,MALCJ,25,75,,,LB,CM,MALC-MALCJ-25x75.step +MALCJ25-75FA,MALCJ,25,75,,,FA,,MALC-MALCJ-25x75.step +MALCJ25-75FAU,MALCJ,25,75,,,FA,U,MALC-MALCJ-25x75.step +MALCJ25-75FACM,MALCJ,25,75,,,FA,CM,MALC-MALCJ-25x75.step +MALCJ25-75FB,MALCJ,25,75,,,FB,,MALC-MALCJ-25x75.step +MALCJ25-75FBU,MALCJ,25,75,,,FB,U,MALC-MALCJ-25x75.step +MALCJ25-75FBCM,MALCJ,25,75,,,FB,CM,MALC-MALCJ-25x75.step +MALCJ25-75SDB,MALCJ,25,75,,,SDB,,MALC-MALCJ-25x75.step +MALCJ25-75SDBU,MALCJ,25,75,,,SDB,U,MALC-MALCJ-25x75.step +MALCJ25-75SDBCM,MALCJ,25,75,,,SDB,CM,MALC-MALCJ-25x75.step +MALCJ25-75ME,MALCJ,25,75,M,E,,,MALC-MALCJ-25x75.step +MALCJ25-75MEU,MALCJ,25,75,M,E,,U,MALC-MALCJ-25x75.step +MALCJ25-75MECM,MALCJ,25,75,M,E,,CM,MALC-MALCJ-25x75.step +MALCJ25-75MELB,MALCJ,25,75,M,E,LB,,MALC-MALCJ-25x75.step +MALCJ25-75MELBU,MALCJ,25,75,M,E,LB,U,MALC-MALCJ-25x75.step +MALCJ25-75MELBCM,MALCJ,25,75,M,E,LB,CM,MALC-MALCJ-25x75.step +MALCJ25-75MEFA,MALCJ,25,75,M,E,FA,,MALC-MALCJ-25x75.step +MALCJ25-75MEFAU,MALCJ,25,75,M,E,FA,U,MALC-MALCJ-25x75.step +MALCJ25-75MEFACM,MALCJ,25,75,M,E,FA,CM,MALC-MALCJ-25x75.step +MALCJ25-75MEFB,MALCJ,25,75,M,E,FB,,MALC-MALCJ-25x75.step +MALCJ25-75MEFBU,MALCJ,25,75,M,E,FB,U,MALC-MALCJ-25x75.step +MALCJ25-75MEFBCM,MALCJ,25,75,M,E,FB,CM,MALC-MALCJ-25x75.step +MALCJ25-75MESDB,MALCJ,25,75,M,E,SDB,,MALC-MALCJ-25x75.step +MALCJ25-75MESDBU,MALCJ,25,75,M,E,SDB,U,MALC-MALCJ-25x75.step +MALCJ25-75MESDBCM,MALCJ,25,75,M,E,SDB,CM,MALC-MALCJ-25x75.step +MALCJ25-75M,MALCJ,25,75,M,,,,MALC-MALCJ-25x75.step +MALCJ25-75MU,MALCJ,25,75,M,,,U,MALC-MALCJ-25x75.step +MALCJ25-75MCM,MALCJ,25,75,M,,,CM,MALC-MALCJ-25x75.step +MALCJ25-75MLB,MALCJ,25,75,M,,LB,,MALC-MALCJ-25x75.step +MALCJ25-75MLBU,MALCJ,25,75,M,,LB,U,MALC-MALCJ-25x75.step +MALCJ25-75MLBCM,MALCJ,25,75,M,,LB,CM,MALC-MALCJ-25x75.step +MALCJ25-75MFA,MALCJ,25,75,M,,FA,,MALC-MALCJ-25x75.step +MALCJ25-75MFAU,MALCJ,25,75,M,,FA,U,MALC-MALCJ-25x75.step +MALCJ25-75MFACM,MALCJ,25,75,M,,FA,CM,MALC-MALCJ-25x75.step +MALCJ25-75MFB,MALCJ,25,75,M,,FB,,MALC-MALCJ-25x75.step +MALCJ25-75MFBU,MALCJ,25,75,M,,FB,U,MALC-MALCJ-25x75.step +MALCJ25-75MFBCM,MALCJ,25,75,M,,FB,CM,MALC-MALCJ-25x75.step +MALCJ25-75MSDB,MALCJ,25,75,M,,SDB,,MALC-MALCJ-25x75.step +MALCJ25-75MSDBU,MALCJ,25,75,M,,SDB,U,MALC-MALCJ-25x75.step +MALCJ25-75MSDBCM,MALCJ,25,75,M,,SDB,CM,MALC-MALCJ-25x75.step +MALCJ25-100E,MALCJ,25,100,,E,,,MALC-MALCJ-25x100.step +MALCJ25-100EU,MALCJ,25,100,,E,,U,MALC-MALCJ-25x100.step +MALCJ25-100ECM,MALCJ,25,100,,E,,CM,MALC-MALCJ-25x100.step +MALCJ25-100ELB,MALCJ,25,100,,E,LB,,MALC-MALCJ-25x100.step +MALCJ25-100ELBU,MALCJ,25,100,,E,LB,U,MALC-MALCJ-25x100.step +MALCJ25-100ELBCM,MALCJ,25,100,,E,LB,CM,MALC-MALCJ-25x100.step +MALCJ25-100EFA,MALCJ,25,100,,E,FA,,MALC-MALCJ-25x100.step +MALCJ25-100EFAU,MALCJ,25,100,,E,FA,U,MALC-MALCJ-25x100.step +MALCJ25-100EFACM,MALCJ,25,100,,E,FA,CM,MALC-MALCJ-25x100.step +MALCJ25-100EFB,MALCJ,25,100,,E,FB,,MALC-MALCJ-25x100.step +MALCJ25-100EFBU,MALCJ,25,100,,E,FB,U,MALC-MALCJ-25x100.step +MALCJ25-100EFBCM,MALCJ,25,100,,E,FB,CM,MALC-MALCJ-25x100.step +MALCJ25-100ESDB,MALCJ,25,100,,E,SDB,,MALC-MALCJ-25x100.step +MALCJ25-100ESDBU,MALCJ,25,100,,E,SDB,U,MALC-MALCJ-25x100.step +MALCJ25-100ESDBCM,MALCJ,25,100,,E,SDB,CM,MALC-MALCJ-25x100.step +MALCJ25-100,MALCJ,25,100,,,,,MALC-MALCJ-25x100.step +MALCJ25-100U,MALCJ,25,100,,,,U,MALC-MALCJ-25x100.step +MALCJ25-100CM,MALCJ,25,100,,,,CM,MALC-MALCJ-25x100.step +MALCJ25-100LB,MALCJ,25,100,,,LB,,MALC-MALCJ-25x100.step +MALCJ25-100LBU,MALCJ,25,100,,,LB,U,MALC-MALCJ-25x100.step +MALCJ25-100LBCM,MALCJ,25,100,,,LB,CM,MALC-MALCJ-25x100.step +MALCJ25-100FA,MALCJ,25,100,,,FA,,MALC-MALCJ-25x100.step +MALCJ25-100FAU,MALCJ,25,100,,,FA,U,MALC-MALCJ-25x100.step +MALCJ25-100FACM,MALCJ,25,100,,,FA,CM,MALC-MALCJ-25x100.step +MALCJ25-100FB,MALCJ,25,100,,,FB,,MALC-MALCJ-25x100.step +MALCJ25-100FBU,MALCJ,25,100,,,FB,U,MALC-MALCJ-25x100.step +MALCJ25-100FBCM,MALCJ,25,100,,,FB,CM,MALC-MALCJ-25x100.step +MALCJ25-100SDB,MALCJ,25,100,,,SDB,,MALC-MALCJ-25x100.step +MALCJ25-100SDBU,MALCJ,25,100,,,SDB,U,MALC-MALCJ-25x100.step +MALCJ25-100SDBCM,MALCJ,25,100,,,SDB,CM,MALC-MALCJ-25x100.step +MALCJ25-100ME,MALCJ,25,100,M,E,,,MALC-MALCJ-25x100.step +MALCJ25-100MEU,MALCJ,25,100,M,E,,U,MALC-MALCJ-25x100.step +MALCJ25-100MECM,MALCJ,25,100,M,E,,CM,MALC-MALCJ-25x100.step +MALCJ25-100MELB,MALCJ,25,100,M,E,LB,,MALC-MALCJ-25x100.step +MALCJ25-100MELBU,MALCJ,25,100,M,E,LB,U,MALC-MALCJ-25x100.step +MALCJ25-100MELBCM,MALCJ,25,100,M,E,LB,CM,MALC-MALCJ-25x100.step +MALCJ25-100MEFA,MALCJ,25,100,M,E,FA,,MALC-MALCJ-25x100.step +MALCJ25-100MEFAU,MALCJ,25,100,M,E,FA,U,MALC-MALCJ-25x100.step +MALCJ25-100MEFACM,MALCJ,25,100,M,E,FA,CM,MALC-MALCJ-25x100.step +MALCJ25-100MEFB,MALCJ,25,100,M,E,FB,,MALC-MALCJ-25x100.step +MALCJ25-100MEFBU,MALCJ,25,100,M,E,FB,U,MALC-MALCJ-25x100.step +MALCJ25-100MEFBCM,MALCJ,25,100,M,E,FB,CM,MALC-MALCJ-25x100.step +MALCJ25-100MESDB,MALCJ,25,100,M,E,SDB,,MALC-MALCJ-25x100.step +MALCJ25-100MESDBU,MALCJ,25,100,M,E,SDB,U,MALC-MALCJ-25x100.step +MALCJ25-100MESDBCM,MALCJ,25,100,M,E,SDB,CM,MALC-MALCJ-25x100.step +MALCJ25-100M,MALCJ,25,100,M,,,,MALC-MALCJ-25x100.step +MALCJ25-100MU,MALCJ,25,100,M,,,U,MALC-MALCJ-25x100.step +MALCJ25-100MCM,MALCJ,25,100,M,,,CM,MALC-MALCJ-25x100.step +MALCJ25-100MLB,MALCJ,25,100,M,,LB,,MALC-MALCJ-25x100.step +MALCJ25-100MLBU,MALCJ,25,100,M,,LB,U,MALC-MALCJ-25x100.step +MALCJ25-100MLBCM,MALCJ,25,100,M,,LB,CM,MALC-MALCJ-25x100.step +MALCJ25-100MFA,MALCJ,25,100,M,,FA,,MALC-MALCJ-25x100.step +MALCJ25-100MFAU,MALCJ,25,100,M,,FA,U,MALC-MALCJ-25x100.step +MALCJ25-100MFACM,MALCJ,25,100,M,,FA,CM,MALC-MALCJ-25x100.step +MALCJ25-100MFB,MALCJ,25,100,M,,FB,,MALC-MALCJ-25x100.step +MALCJ25-100MFBU,MALCJ,25,100,M,,FB,U,MALC-MALCJ-25x100.step +MALCJ25-100MFBCM,MALCJ,25,100,M,,FB,CM,MALC-MALCJ-25x100.step +MALCJ25-100MSDB,MALCJ,25,100,M,,SDB,,MALC-MALCJ-25x100.step +MALCJ25-100MSDBU,MALCJ,25,100,M,,SDB,U,MALC-MALCJ-25x100.step +MALCJ25-100MSDBCM,MALCJ,25,100,M,,SDB,CM,MALC-MALCJ-25x100.step +MALCJ32-10E,MALCJ,32,10,,E,,,MALC-MALCJ-32x10.step +MALCJ32-10EU,MALCJ,32,10,,E,,U,MALC-MALCJ-32x10.step +MALCJ32-10ECM,MALCJ,32,10,,E,,CM,MALC-MALCJ-32x10.step +MALCJ32-10ELB,MALCJ,32,10,,E,LB,,MALC-MALCJ-32x10.step +MALCJ32-10ELBU,MALCJ,32,10,,E,LB,U,MALC-MALCJ-32x10.step +MALCJ32-10ELBCM,MALCJ,32,10,,E,LB,CM,MALC-MALCJ-32x10.step +MALCJ32-10EFA,MALCJ,32,10,,E,FA,,MALC-MALCJ-32x10.step +MALCJ32-10EFAU,MALCJ,32,10,,E,FA,U,MALC-MALCJ-32x10.step +MALCJ32-10EFACM,MALCJ,32,10,,E,FA,CM,MALC-MALCJ-32x10.step +MALCJ32-10EFB,MALCJ,32,10,,E,FB,,MALC-MALCJ-32x10.step +MALCJ32-10EFBU,MALCJ,32,10,,E,FB,U,MALC-MALCJ-32x10.step +MALCJ32-10EFBCM,MALCJ,32,10,,E,FB,CM,MALC-MALCJ-32x10.step +MALCJ32-10ESDB,MALCJ,32,10,,E,SDB,,MALC-MALCJ-32x10.step +MALCJ32-10ESDBU,MALCJ,32,10,,E,SDB,U,MALC-MALCJ-32x10.step +MALCJ32-10ESDBCM,MALCJ,32,10,,E,SDB,CM,MALC-MALCJ-32x10.step +MALCJ32-10,MALCJ,32,10,,,,,MALC-MALCJ-32x10.step +MALCJ32-10U,MALCJ,32,10,,,,U,MALC-MALCJ-32x10.step +MALCJ32-10CM,MALCJ,32,10,,,,CM,MALC-MALCJ-32x10.step +MALCJ32-10LB,MALCJ,32,10,,,LB,,MALC-MALCJ-32x10.step +MALCJ32-10LBU,MALCJ,32,10,,,LB,U,MALC-MALCJ-32x10.step +MALCJ32-10LBCM,MALCJ,32,10,,,LB,CM,MALC-MALCJ-32x10.step +MALCJ32-10FA,MALCJ,32,10,,,FA,,MALC-MALCJ-32x10.step +MALCJ32-10FAU,MALCJ,32,10,,,FA,U,MALC-MALCJ-32x10.step +MALCJ32-10FACM,MALCJ,32,10,,,FA,CM,MALC-MALCJ-32x10.step +MALCJ32-10FB,MALCJ,32,10,,,FB,,MALC-MALCJ-32x10.step +MALCJ32-10FBU,MALCJ,32,10,,,FB,U,MALC-MALCJ-32x10.step +MALCJ32-10FBCM,MALCJ,32,10,,,FB,CM,MALC-MALCJ-32x10.step +MALCJ32-10SDB,MALCJ,32,10,,,SDB,,MALC-MALCJ-32x10.step +MALCJ32-10SDBU,MALCJ,32,10,,,SDB,U,MALC-MALCJ-32x10.step +MALCJ32-10SDBCM,MALCJ,32,10,,,SDB,CM,MALC-MALCJ-32x10.step +MALCJ32-10ME,MALCJ,32,10,M,E,,,MALC-MALCJ-32x10.step +MALCJ32-10MEU,MALCJ,32,10,M,E,,U,MALC-MALCJ-32x10.step +MALCJ32-10MECM,MALCJ,32,10,M,E,,CM,MALC-MALCJ-32x10.step +MALCJ32-10MELB,MALCJ,32,10,M,E,LB,,MALC-MALCJ-32x10.step +MALCJ32-10MELBU,MALCJ,32,10,M,E,LB,U,MALC-MALCJ-32x10.step +MALCJ32-10MELBCM,MALCJ,32,10,M,E,LB,CM,MALC-MALCJ-32x10.step +MALCJ32-10MEFA,MALCJ,32,10,M,E,FA,,MALC-MALCJ-32x10.step +MALCJ32-10MEFAU,MALCJ,32,10,M,E,FA,U,MALC-MALCJ-32x10.step +MALCJ32-10MEFACM,MALCJ,32,10,M,E,FA,CM,MALC-MALCJ-32x10.step +MALCJ32-10MEFB,MALCJ,32,10,M,E,FB,,MALC-MALCJ-32x10.step +MALCJ32-10MEFBU,MALCJ,32,10,M,E,FB,U,MALC-MALCJ-32x10.step +MALCJ32-10MEFBCM,MALCJ,32,10,M,E,FB,CM,MALC-MALCJ-32x10.step +MALCJ32-10MESDB,MALCJ,32,10,M,E,SDB,,MALC-MALCJ-32x10.step +MALCJ32-10MESDBU,MALCJ,32,10,M,E,SDB,U,MALC-MALCJ-32x10.step +MALCJ32-10MESDBCM,MALCJ,32,10,M,E,SDB,CM,MALC-MALCJ-32x10.step +MALCJ32-10M,MALCJ,32,10,M,,,,MALC-MALCJ-32x10.step +MALCJ32-10MU,MALCJ,32,10,M,,,U,MALC-MALCJ-32x10.step +MALCJ32-10MCM,MALCJ,32,10,M,,,CM,MALC-MALCJ-32x10.step +MALCJ32-10MLB,MALCJ,32,10,M,,LB,,MALC-MALCJ-32x10.step +MALCJ32-10MLBU,MALCJ,32,10,M,,LB,U,MALC-MALCJ-32x10.step +MALCJ32-10MLBCM,MALCJ,32,10,M,,LB,CM,MALC-MALCJ-32x10.step +MALCJ32-10MFA,MALCJ,32,10,M,,FA,,MALC-MALCJ-32x10.step +MALCJ32-10MFAU,MALCJ,32,10,M,,FA,U,MALC-MALCJ-32x10.step +MALCJ32-10MFACM,MALCJ,32,10,M,,FA,CM,MALC-MALCJ-32x10.step +MALCJ32-10MFB,MALCJ,32,10,M,,FB,,MALC-MALCJ-32x10.step +MALCJ32-10MFBU,MALCJ,32,10,M,,FB,U,MALC-MALCJ-32x10.step +MALCJ32-10MFBCM,MALCJ,32,10,M,,FB,CM,MALC-MALCJ-32x10.step +MALCJ32-10MSDB,MALCJ,32,10,M,,SDB,,MALC-MALCJ-32x10.step +MALCJ32-10MSDBU,MALCJ,32,10,M,,SDB,U,MALC-MALCJ-32x10.step +MALCJ32-10MSDBCM,MALCJ,32,10,M,,SDB,CM,MALC-MALCJ-32x10.step +MALCJ32-20E,MALCJ,32,20,,E,,,MALC-MALCJ-32x20.step +MALCJ32-20EU,MALCJ,32,20,,E,,U,MALC-MALCJ-32x20.step +MALCJ32-20ECM,MALCJ,32,20,,E,,CM,MALC-MALCJ-32x20.step +MALCJ32-20ELB,MALCJ,32,20,,E,LB,,MALC-MALCJ-32x20.step +MALCJ32-20ELBU,MALCJ,32,20,,E,LB,U,MALC-MALCJ-32x20.step +MALCJ32-20ELBCM,MALCJ,32,20,,E,LB,CM,MALC-MALCJ-32x20.step +MALCJ32-20EFA,MALCJ,32,20,,E,FA,,MALC-MALCJ-32x20.step +MALCJ32-20EFAU,MALCJ,32,20,,E,FA,U,MALC-MALCJ-32x20.step +MALCJ32-20EFACM,MALCJ,32,20,,E,FA,CM,MALC-MALCJ-32x20.step +MALCJ32-20EFB,MALCJ,32,20,,E,FB,,MALC-MALCJ-32x20.step +MALCJ32-20EFBU,MALCJ,32,20,,E,FB,U,MALC-MALCJ-32x20.step +MALCJ32-20EFBCM,MALCJ,32,20,,E,FB,CM,MALC-MALCJ-32x20.step +MALCJ32-20ESDB,MALCJ,32,20,,E,SDB,,MALC-MALCJ-32x20.step +MALCJ32-20ESDBU,MALCJ,32,20,,E,SDB,U,MALC-MALCJ-32x20.step +MALCJ32-20ESDBCM,MALCJ,32,20,,E,SDB,CM,MALC-MALCJ-32x20.step +MALCJ32-20,MALCJ,32,20,,,,,MALC-MALCJ-32x20.step +MALCJ32-20U,MALCJ,32,20,,,,U,MALC-MALCJ-32x20.step +MALCJ32-20CM,MALCJ,32,20,,,,CM,MALC-MALCJ-32x20.step +MALCJ32-20LB,MALCJ,32,20,,,LB,,MALC-MALCJ-32x20.step +MALCJ32-20LBU,MALCJ,32,20,,,LB,U,MALC-MALCJ-32x20.step +MALCJ32-20LBCM,MALCJ,32,20,,,LB,CM,MALC-MALCJ-32x20.step +MALCJ32-20FA,MALCJ,32,20,,,FA,,MALC-MALCJ-32x20.step +MALCJ32-20FAU,MALCJ,32,20,,,FA,U,MALC-MALCJ-32x20.step +MALCJ32-20FACM,MALCJ,32,20,,,FA,CM,MALC-MALCJ-32x20.step +MALCJ32-20FB,MALCJ,32,20,,,FB,,MALC-MALCJ-32x20.step +MALCJ32-20FBU,MALCJ,32,20,,,FB,U,MALC-MALCJ-32x20.step +MALCJ32-20FBCM,MALCJ,32,20,,,FB,CM,MALC-MALCJ-32x20.step +MALCJ32-20SDB,MALCJ,32,20,,,SDB,,MALC-MALCJ-32x20.step +MALCJ32-20SDBU,MALCJ,32,20,,,SDB,U,MALC-MALCJ-32x20.step +MALCJ32-20SDBCM,MALCJ,32,20,,,SDB,CM,MALC-MALCJ-32x20.step +MALCJ32-20ME,MALCJ,32,20,M,E,,,MALC-MALCJ-32x20.step +MALCJ32-20MEU,MALCJ,32,20,M,E,,U,MALC-MALCJ-32x20.step +MALCJ32-20MECM,MALCJ,32,20,M,E,,CM,MALC-MALCJ-32x20.step +MALCJ32-20MELB,MALCJ,32,20,M,E,LB,,MALC-MALCJ-32x20.step +MALCJ32-20MELBU,MALCJ,32,20,M,E,LB,U,MALC-MALCJ-32x20.step +MALCJ32-20MELBCM,MALCJ,32,20,M,E,LB,CM,MALC-MALCJ-32x20.step +MALCJ32-20MEFA,MALCJ,32,20,M,E,FA,,MALC-MALCJ-32x20.step +MALCJ32-20MEFAU,MALCJ,32,20,M,E,FA,U,MALC-MALCJ-32x20.step +MALCJ32-20MEFACM,MALCJ,32,20,M,E,FA,CM,MALC-MALCJ-32x20.step +MALCJ32-20MEFB,MALCJ,32,20,M,E,FB,,MALC-MALCJ-32x20.step +MALCJ32-20MEFBU,MALCJ,32,20,M,E,FB,U,MALC-MALCJ-32x20.step +MALCJ32-20MEFBCM,MALCJ,32,20,M,E,FB,CM,MALC-MALCJ-32x20.step +MALCJ32-20MESDB,MALCJ,32,20,M,E,SDB,,MALC-MALCJ-32x20.step +MALCJ32-20MESDBU,MALCJ,32,20,M,E,SDB,U,MALC-MALCJ-32x20.step +MALCJ32-20MESDBCM,MALCJ,32,20,M,E,SDB,CM,MALC-MALCJ-32x20.step +MALCJ32-20M,MALCJ,32,20,M,,,,MALC-MALCJ-32x20.step +MALCJ32-20MU,MALCJ,32,20,M,,,U,MALC-MALCJ-32x20.step +MALCJ32-20MCM,MALCJ,32,20,M,,,CM,MALC-MALCJ-32x20.step +MALCJ32-20MLB,MALCJ,32,20,M,,LB,,MALC-MALCJ-32x20.step +MALCJ32-20MLBU,MALCJ,32,20,M,,LB,U,MALC-MALCJ-32x20.step +MALCJ32-20MLBCM,MALCJ,32,20,M,,LB,CM,MALC-MALCJ-32x20.step +MALCJ32-20MFA,MALCJ,32,20,M,,FA,,MALC-MALCJ-32x20.step +MALCJ32-20MFAU,MALCJ,32,20,M,,FA,U,MALC-MALCJ-32x20.step +MALCJ32-20MFACM,MALCJ,32,20,M,,FA,CM,MALC-MALCJ-32x20.step +MALCJ32-20MFB,MALCJ,32,20,M,,FB,,MALC-MALCJ-32x20.step +MALCJ32-20MFBU,MALCJ,32,20,M,,FB,U,MALC-MALCJ-32x20.step +MALCJ32-20MFBCM,MALCJ,32,20,M,,FB,CM,MALC-MALCJ-32x20.step +MALCJ32-20MSDB,MALCJ,32,20,M,,SDB,,MALC-MALCJ-32x20.step +MALCJ32-20MSDBU,MALCJ,32,20,M,,SDB,U,MALC-MALCJ-32x20.step +MALCJ32-20MSDBCM,MALCJ,32,20,M,,SDB,CM,MALC-MALCJ-32x20.step +MALCJ32-30E,MALCJ,32,30,,E,,,MALC-MALCJ-32x30.step +MALCJ32-30EU,MALCJ,32,30,,E,,U,MALC-MALCJ-32x30.step +MALCJ32-30ECM,MALCJ,32,30,,E,,CM,MALC-MALCJ-32x30.step +MALCJ32-30ELB,MALCJ,32,30,,E,LB,,MALC-MALCJ-32x30.step +MALCJ32-30ELBU,MALCJ,32,30,,E,LB,U,MALC-MALCJ-32x30.step +MALCJ32-30ELBCM,MALCJ,32,30,,E,LB,CM,MALC-MALCJ-32x30.step +MALCJ32-30EFA,MALCJ,32,30,,E,FA,,MALC-MALCJ-32x30.step +MALCJ32-30EFAU,MALCJ,32,30,,E,FA,U,MALC-MALCJ-32x30.step +MALCJ32-30EFACM,MALCJ,32,30,,E,FA,CM,MALC-MALCJ-32x30.step +MALCJ32-30EFB,MALCJ,32,30,,E,FB,,MALC-MALCJ-32x30.step +MALCJ32-30EFBU,MALCJ,32,30,,E,FB,U,MALC-MALCJ-32x30.step +MALCJ32-30EFBCM,MALCJ,32,30,,E,FB,CM,MALC-MALCJ-32x30.step +MALCJ32-30ESDB,MALCJ,32,30,,E,SDB,,MALC-MALCJ-32x30.step +MALCJ32-30ESDBU,MALCJ,32,30,,E,SDB,U,MALC-MALCJ-32x30.step +MALCJ32-30ESDBCM,MALCJ,32,30,,E,SDB,CM,MALC-MALCJ-32x30.step +MALCJ32-30,MALCJ,32,30,,,,,MALC-MALCJ-32x30.step +MALCJ32-30U,MALCJ,32,30,,,,U,MALC-MALCJ-32x30.step +MALCJ32-30CM,MALCJ,32,30,,,,CM,MALC-MALCJ-32x30.step +MALCJ32-30LB,MALCJ,32,30,,,LB,,MALC-MALCJ-32x30.step +MALCJ32-30LBU,MALCJ,32,30,,,LB,U,MALC-MALCJ-32x30.step +MALCJ32-30LBCM,MALCJ,32,30,,,LB,CM,MALC-MALCJ-32x30.step +MALCJ32-30FA,MALCJ,32,30,,,FA,,MALC-MALCJ-32x30.step +MALCJ32-30FAU,MALCJ,32,30,,,FA,U,MALC-MALCJ-32x30.step +MALCJ32-30FACM,MALCJ,32,30,,,FA,CM,MALC-MALCJ-32x30.step +MALCJ32-30FB,MALCJ,32,30,,,FB,,MALC-MALCJ-32x30.step +MALCJ32-30FBU,MALCJ,32,30,,,FB,U,MALC-MALCJ-32x30.step +MALCJ32-30FBCM,MALCJ,32,30,,,FB,CM,MALC-MALCJ-32x30.step +MALCJ32-30SDB,MALCJ,32,30,,,SDB,,MALC-MALCJ-32x30.step +MALCJ32-30SDBU,MALCJ,32,30,,,SDB,U,MALC-MALCJ-32x30.step +MALCJ32-30SDBCM,MALCJ,32,30,,,SDB,CM,MALC-MALCJ-32x30.step +MALCJ32-30ME,MALCJ,32,30,M,E,,,MALC-MALCJ-32x30.step +MALCJ32-30MEU,MALCJ,32,30,M,E,,U,MALC-MALCJ-32x30.step +MALCJ32-30MECM,MALCJ,32,30,M,E,,CM,MALC-MALCJ-32x30.step +MALCJ32-30MELB,MALCJ,32,30,M,E,LB,,MALC-MALCJ-32x30.step +MALCJ32-30MELBU,MALCJ,32,30,M,E,LB,U,MALC-MALCJ-32x30.step +MALCJ32-30MELBCM,MALCJ,32,30,M,E,LB,CM,MALC-MALCJ-32x30.step +MALCJ32-30MEFA,MALCJ,32,30,M,E,FA,,MALC-MALCJ-32x30.step +MALCJ32-30MEFAU,MALCJ,32,30,M,E,FA,U,MALC-MALCJ-32x30.step +MALCJ32-30MEFACM,MALCJ,32,30,M,E,FA,CM,MALC-MALCJ-32x30.step +MALCJ32-30MEFB,MALCJ,32,30,M,E,FB,,MALC-MALCJ-32x30.step +MALCJ32-30MEFBU,MALCJ,32,30,M,E,FB,U,MALC-MALCJ-32x30.step +MALCJ32-30MEFBCM,MALCJ,32,30,M,E,FB,CM,MALC-MALCJ-32x30.step +MALCJ32-30MESDB,MALCJ,32,30,M,E,SDB,,MALC-MALCJ-32x30.step +MALCJ32-30MESDBU,MALCJ,32,30,M,E,SDB,U,MALC-MALCJ-32x30.step +MALCJ32-30MESDBCM,MALCJ,32,30,M,E,SDB,CM,MALC-MALCJ-32x30.step +MALCJ32-30M,MALCJ,32,30,M,,,,MALC-MALCJ-32x30.step +MALCJ32-30MU,MALCJ,32,30,M,,,U,MALC-MALCJ-32x30.step +MALCJ32-30MCM,MALCJ,32,30,M,,,CM,MALC-MALCJ-32x30.step +MALCJ32-30MLB,MALCJ,32,30,M,,LB,,MALC-MALCJ-32x30.step +MALCJ32-30MLBU,MALCJ,32,30,M,,LB,U,MALC-MALCJ-32x30.step +MALCJ32-30MLBCM,MALCJ,32,30,M,,LB,CM,MALC-MALCJ-32x30.step +MALCJ32-30MFA,MALCJ,32,30,M,,FA,,MALC-MALCJ-32x30.step +MALCJ32-30MFAU,MALCJ,32,30,M,,FA,U,MALC-MALCJ-32x30.step +MALCJ32-30MFACM,MALCJ,32,30,M,,FA,CM,MALC-MALCJ-32x30.step +MALCJ32-30MFB,MALCJ,32,30,M,,FB,,MALC-MALCJ-32x30.step +MALCJ32-30MFBU,MALCJ,32,30,M,,FB,U,MALC-MALCJ-32x30.step +MALCJ32-30MFBCM,MALCJ,32,30,M,,FB,CM,MALC-MALCJ-32x30.step +MALCJ32-30MSDB,MALCJ,32,30,M,,SDB,,MALC-MALCJ-32x30.step +MALCJ32-30MSDBU,MALCJ,32,30,M,,SDB,U,MALC-MALCJ-32x30.step +MALCJ32-30MSDBCM,MALCJ,32,30,M,,SDB,CM,MALC-MALCJ-32x30.step +MALCJ32-50E,MALCJ,32,50,,E,,,MALC-MALCJ-32x50.step +MALCJ32-50EU,MALCJ,32,50,,E,,U,MALC-MALCJ-32x50.step +MALCJ32-50ECM,MALCJ,32,50,,E,,CM,MALC-MALCJ-32x50.step +MALCJ32-50ELB,MALCJ,32,50,,E,LB,,MALC-MALCJ-32x50.step +MALCJ32-50ELBU,MALCJ,32,50,,E,LB,U,MALC-MALCJ-32x50.step +MALCJ32-50ELBCM,MALCJ,32,50,,E,LB,CM,MALC-MALCJ-32x50.step +MALCJ32-50EFA,MALCJ,32,50,,E,FA,,MALC-MALCJ-32x50.step +MALCJ32-50EFAU,MALCJ,32,50,,E,FA,U,MALC-MALCJ-32x50.step +MALCJ32-50EFACM,MALCJ,32,50,,E,FA,CM,MALC-MALCJ-32x50.step +MALCJ32-50EFB,MALCJ,32,50,,E,FB,,MALC-MALCJ-32x50.step +MALCJ32-50EFBU,MALCJ,32,50,,E,FB,U,MALC-MALCJ-32x50.step +MALCJ32-50EFBCM,MALCJ,32,50,,E,FB,CM,MALC-MALCJ-32x50.step +MALCJ32-50ESDB,MALCJ,32,50,,E,SDB,,MALC-MALCJ-32x50.step +MALCJ32-50ESDBU,MALCJ,32,50,,E,SDB,U,MALC-MALCJ-32x50.step +MALCJ32-50ESDBCM,MALCJ,32,50,,E,SDB,CM,MALC-MALCJ-32x50.step +MALCJ32-50,MALCJ,32,50,,,,,MALC-MALCJ-32x50.step +MALCJ32-50U,MALCJ,32,50,,,,U,MALC-MALCJ-32x50.step +MALCJ32-50CM,MALCJ,32,50,,,,CM,MALC-MALCJ-32x50.step +MALCJ32-50LB,MALCJ,32,50,,,LB,,MALC-MALCJ-32x50.step +MALCJ32-50LBU,MALCJ,32,50,,,LB,U,MALC-MALCJ-32x50.step +MALCJ32-50LBCM,MALCJ,32,50,,,LB,CM,MALC-MALCJ-32x50.step +MALCJ32-50FA,MALCJ,32,50,,,FA,,MALC-MALCJ-32x50.step +MALCJ32-50FAU,MALCJ,32,50,,,FA,U,MALC-MALCJ-32x50.step +MALCJ32-50FACM,MALCJ,32,50,,,FA,CM,MALC-MALCJ-32x50.step +MALCJ32-50FB,MALCJ,32,50,,,FB,,MALC-MALCJ-32x50.step +MALCJ32-50FBU,MALCJ,32,50,,,FB,U,MALC-MALCJ-32x50.step +MALCJ32-50FBCM,MALCJ,32,50,,,FB,CM,MALC-MALCJ-32x50.step +MALCJ32-50SDB,MALCJ,32,50,,,SDB,,MALC-MALCJ-32x50.step +MALCJ32-50SDBU,MALCJ,32,50,,,SDB,U,MALC-MALCJ-32x50.step +MALCJ32-50SDBCM,MALCJ,32,50,,,SDB,CM,MALC-MALCJ-32x50.step +MALCJ32-50ME,MALCJ,32,50,M,E,,,MALC-MALCJ-32x50.step +MALCJ32-50MEU,MALCJ,32,50,M,E,,U,MALC-MALCJ-32x50.step +MALCJ32-50MECM,MALCJ,32,50,M,E,,CM,MALC-MALCJ-32x50.step +MALCJ32-50MELB,MALCJ,32,50,M,E,LB,,MALC-MALCJ-32x50.step +MALCJ32-50MELBU,MALCJ,32,50,M,E,LB,U,MALC-MALCJ-32x50.step +MALCJ32-50MELBCM,MALCJ,32,50,M,E,LB,CM,MALC-MALCJ-32x50.step +MALCJ32-50MEFA,MALCJ,32,50,M,E,FA,,MALC-MALCJ-32x50.step +MALCJ32-50MEFAU,MALCJ,32,50,M,E,FA,U,MALC-MALCJ-32x50.step +MALCJ32-50MEFACM,MALCJ,32,50,M,E,FA,CM,MALC-MALCJ-32x50.step +MALCJ32-50MEFB,MALCJ,32,50,M,E,FB,,MALC-MALCJ-32x50.step +MALCJ32-50MEFBU,MALCJ,32,50,M,E,FB,U,MALC-MALCJ-32x50.step +MALCJ32-50MEFBCM,MALCJ,32,50,M,E,FB,CM,MALC-MALCJ-32x50.step +MALCJ32-50MESDB,MALCJ,32,50,M,E,SDB,,MALC-MALCJ-32x50.step +MALCJ32-50MESDBU,MALCJ,32,50,M,E,SDB,U,MALC-MALCJ-32x50.step +MALCJ32-50MESDBCM,MALCJ,32,50,M,E,SDB,CM,MALC-MALCJ-32x50.step +MALCJ32-50M,MALCJ,32,50,M,,,,MALC-MALCJ-32x50.step +MALCJ32-50MU,MALCJ,32,50,M,,,U,MALC-MALCJ-32x50.step +MALCJ32-50MCM,MALCJ,32,50,M,,,CM,MALC-MALCJ-32x50.step +MALCJ32-50MLB,MALCJ,32,50,M,,LB,,MALC-MALCJ-32x50.step +MALCJ32-50MLBU,MALCJ,32,50,M,,LB,U,MALC-MALCJ-32x50.step +MALCJ32-50MLBCM,MALCJ,32,50,M,,LB,CM,MALC-MALCJ-32x50.step +MALCJ32-50MFA,MALCJ,32,50,M,,FA,,MALC-MALCJ-32x50.step +MALCJ32-50MFAU,MALCJ,32,50,M,,FA,U,MALC-MALCJ-32x50.step +MALCJ32-50MFACM,MALCJ,32,50,M,,FA,CM,MALC-MALCJ-32x50.step +MALCJ32-50MFB,MALCJ,32,50,M,,FB,,MALC-MALCJ-32x50.step +MALCJ32-50MFBU,MALCJ,32,50,M,,FB,U,MALC-MALCJ-32x50.step +MALCJ32-50MFBCM,MALCJ,32,50,M,,FB,CM,MALC-MALCJ-32x50.step +MALCJ32-50MSDB,MALCJ,32,50,M,,SDB,,MALC-MALCJ-32x50.step +MALCJ32-50MSDBU,MALCJ,32,50,M,,SDB,U,MALC-MALCJ-32x50.step +MALCJ32-50MSDBCM,MALCJ,32,50,M,,SDB,CM,MALC-MALCJ-32x50.step +MALCJ32-75E,MALCJ,32,75,,E,,,MALC-MALCJ-32x75.step +MALCJ32-75EU,MALCJ,32,75,,E,,U,MALC-MALCJ-32x75.step +MALCJ32-75ECM,MALCJ,32,75,,E,,CM,MALC-MALCJ-32x75.step +MALCJ32-75ELB,MALCJ,32,75,,E,LB,,MALC-MALCJ-32x75.step +MALCJ32-75ELBU,MALCJ,32,75,,E,LB,U,MALC-MALCJ-32x75.step +MALCJ32-75ELBCM,MALCJ,32,75,,E,LB,CM,MALC-MALCJ-32x75.step +MALCJ32-75EFA,MALCJ,32,75,,E,FA,,MALC-MALCJ-32x75.step +MALCJ32-75EFAU,MALCJ,32,75,,E,FA,U,MALC-MALCJ-32x75.step +MALCJ32-75EFACM,MALCJ,32,75,,E,FA,CM,MALC-MALCJ-32x75.step +MALCJ32-75EFB,MALCJ,32,75,,E,FB,,MALC-MALCJ-32x75.step +MALCJ32-75EFBU,MALCJ,32,75,,E,FB,U,MALC-MALCJ-32x75.step +MALCJ32-75EFBCM,MALCJ,32,75,,E,FB,CM,MALC-MALCJ-32x75.step +MALCJ32-75ESDB,MALCJ,32,75,,E,SDB,,MALC-MALCJ-32x75.step +MALCJ32-75ESDBU,MALCJ,32,75,,E,SDB,U,MALC-MALCJ-32x75.step +MALCJ32-75ESDBCM,MALCJ,32,75,,E,SDB,CM,MALC-MALCJ-32x75.step +MALCJ32-75,MALCJ,32,75,,,,,MALC-MALCJ-32x75.step +MALCJ32-75U,MALCJ,32,75,,,,U,MALC-MALCJ-32x75.step +MALCJ32-75CM,MALCJ,32,75,,,,CM,MALC-MALCJ-32x75.step +MALCJ32-75LB,MALCJ,32,75,,,LB,,MALC-MALCJ-32x75.step +MALCJ32-75LBU,MALCJ,32,75,,,LB,U,MALC-MALCJ-32x75.step +MALCJ32-75LBCM,MALCJ,32,75,,,LB,CM,MALC-MALCJ-32x75.step +MALCJ32-75FA,MALCJ,32,75,,,FA,,MALC-MALCJ-32x75.step +MALCJ32-75FAU,MALCJ,32,75,,,FA,U,MALC-MALCJ-32x75.step +MALCJ32-75FACM,MALCJ,32,75,,,FA,CM,MALC-MALCJ-32x75.step +MALCJ32-75FB,MALCJ,32,75,,,FB,,MALC-MALCJ-32x75.step +MALCJ32-75FBU,MALCJ,32,75,,,FB,U,MALC-MALCJ-32x75.step +MALCJ32-75FBCM,MALCJ,32,75,,,FB,CM,MALC-MALCJ-32x75.step +MALCJ32-75SDB,MALCJ,32,75,,,SDB,,MALC-MALCJ-32x75.step +MALCJ32-75SDBU,MALCJ,32,75,,,SDB,U,MALC-MALCJ-32x75.step +MALCJ32-75SDBCM,MALCJ,32,75,,,SDB,CM,MALC-MALCJ-32x75.step +MALCJ32-75ME,MALCJ,32,75,M,E,,,MALC-MALCJ-32x75.step +MALCJ32-75MEU,MALCJ,32,75,M,E,,U,MALC-MALCJ-32x75.step +MALCJ32-75MECM,MALCJ,32,75,M,E,,CM,MALC-MALCJ-32x75.step +MALCJ32-75MELB,MALCJ,32,75,M,E,LB,,MALC-MALCJ-32x75.step +MALCJ32-75MELBU,MALCJ,32,75,M,E,LB,U,MALC-MALCJ-32x75.step +MALCJ32-75MELBCM,MALCJ,32,75,M,E,LB,CM,MALC-MALCJ-32x75.step +MALCJ32-75MEFA,MALCJ,32,75,M,E,FA,,MALC-MALCJ-32x75.step +MALCJ32-75MEFAU,MALCJ,32,75,M,E,FA,U,MALC-MALCJ-32x75.step +MALCJ32-75MEFACM,MALCJ,32,75,M,E,FA,CM,MALC-MALCJ-32x75.step +MALCJ32-75MEFB,MALCJ,32,75,M,E,FB,,MALC-MALCJ-32x75.step +MALCJ32-75MEFBU,MALCJ,32,75,M,E,FB,U,MALC-MALCJ-32x75.step +MALCJ32-75MEFBCM,MALCJ,32,75,M,E,FB,CM,MALC-MALCJ-32x75.step +MALCJ32-75MESDB,MALCJ,32,75,M,E,SDB,,MALC-MALCJ-32x75.step +MALCJ32-75MESDBU,MALCJ,32,75,M,E,SDB,U,MALC-MALCJ-32x75.step +MALCJ32-75MESDBCM,MALCJ,32,75,M,E,SDB,CM,MALC-MALCJ-32x75.step +MALCJ32-75M,MALCJ,32,75,M,,,,MALC-MALCJ-32x75.step +MALCJ32-75MU,MALCJ,32,75,M,,,U,MALC-MALCJ-32x75.step +MALCJ32-75MCM,MALCJ,32,75,M,,,CM,MALC-MALCJ-32x75.step +MALCJ32-75MLB,MALCJ,32,75,M,,LB,,MALC-MALCJ-32x75.step +MALCJ32-75MLBU,MALCJ,32,75,M,,LB,U,MALC-MALCJ-32x75.step +MALCJ32-75MLBCM,MALCJ,32,75,M,,LB,CM,MALC-MALCJ-32x75.step +MALCJ32-75MFA,MALCJ,32,75,M,,FA,,MALC-MALCJ-32x75.step +MALCJ32-75MFAU,MALCJ,32,75,M,,FA,U,MALC-MALCJ-32x75.step +MALCJ32-75MFACM,MALCJ,32,75,M,,FA,CM,MALC-MALCJ-32x75.step +MALCJ32-75MFB,MALCJ,32,75,M,,FB,,MALC-MALCJ-32x75.step +MALCJ32-75MFBU,MALCJ,32,75,M,,FB,U,MALC-MALCJ-32x75.step +MALCJ32-75MFBCM,MALCJ,32,75,M,,FB,CM,MALC-MALCJ-32x75.step +MALCJ32-75MSDB,MALCJ,32,75,M,,SDB,,MALC-MALCJ-32x75.step +MALCJ32-75MSDBU,MALCJ,32,75,M,,SDB,U,MALC-MALCJ-32x75.step +MALCJ32-75MSDBCM,MALCJ,32,75,M,,SDB,CM,MALC-MALCJ-32x75.step +MALCJ32-100E,MALCJ,32,100,,E,,,MALC-MALCJ-32x100.step +MALCJ32-100EU,MALCJ,32,100,,E,,U,MALC-MALCJ-32x100.step +MALCJ32-100ECM,MALCJ,32,100,,E,,CM,MALC-MALCJ-32x100.step +MALCJ32-100ELB,MALCJ,32,100,,E,LB,,MALC-MALCJ-32x100.step +MALCJ32-100ELBU,MALCJ,32,100,,E,LB,U,MALC-MALCJ-32x100.step +MALCJ32-100ELBCM,MALCJ,32,100,,E,LB,CM,MALC-MALCJ-32x100.step +MALCJ32-100EFA,MALCJ,32,100,,E,FA,,MALC-MALCJ-32x100.step +MALCJ32-100EFAU,MALCJ,32,100,,E,FA,U,MALC-MALCJ-32x100.step +MALCJ32-100EFACM,MALCJ,32,100,,E,FA,CM,MALC-MALCJ-32x100.step +MALCJ32-100EFB,MALCJ,32,100,,E,FB,,MALC-MALCJ-32x100.step +MALCJ32-100EFBU,MALCJ,32,100,,E,FB,U,MALC-MALCJ-32x100.step +MALCJ32-100EFBCM,MALCJ,32,100,,E,FB,CM,MALC-MALCJ-32x100.step +MALCJ32-100ESDB,MALCJ,32,100,,E,SDB,,MALC-MALCJ-32x100.step +MALCJ32-100ESDBU,MALCJ,32,100,,E,SDB,U,MALC-MALCJ-32x100.step +MALCJ32-100ESDBCM,MALCJ,32,100,,E,SDB,CM,MALC-MALCJ-32x100.step +MALCJ32-100,MALCJ,32,100,,,,,MALC-MALCJ-32x100.step +MALCJ32-100U,MALCJ,32,100,,,,U,MALC-MALCJ-32x100.step +MALCJ32-100CM,MALCJ,32,100,,,,CM,MALC-MALCJ-32x100.step +MALCJ32-100LB,MALCJ,32,100,,,LB,,MALC-MALCJ-32x100.step +MALCJ32-100LBU,MALCJ,32,100,,,LB,U,MALC-MALCJ-32x100.step +MALCJ32-100LBCM,MALCJ,32,100,,,LB,CM,MALC-MALCJ-32x100.step +MALCJ32-100FA,MALCJ,32,100,,,FA,,MALC-MALCJ-32x100.step +MALCJ32-100FAU,MALCJ,32,100,,,FA,U,MALC-MALCJ-32x100.step +MALCJ32-100FACM,MALCJ,32,100,,,FA,CM,MALC-MALCJ-32x100.step +MALCJ32-100FB,MALCJ,32,100,,,FB,,MALC-MALCJ-32x100.step +MALCJ32-100FBU,MALCJ,32,100,,,FB,U,MALC-MALCJ-32x100.step +MALCJ32-100FBCM,MALCJ,32,100,,,FB,CM,MALC-MALCJ-32x100.step +MALCJ32-100SDB,MALCJ,32,100,,,SDB,,MALC-MALCJ-32x100.step +MALCJ32-100SDBU,MALCJ,32,100,,,SDB,U,MALC-MALCJ-32x100.step +MALCJ32-100SDBCM,MALCJ,32,100,,,SDB,CM,MALC-MALCJ-32x100.step +MALCJ32-100ME,MALCJ,32,100,M,E,,,MALC-MALCJ-32x100.step +MALCJ32-100MEU,MALCJ,32,100,M,E,,U,MALC-MALCJ-32x100.step +MALCJ32-100MECM,MALCJ,32,100,M,E,,CM,MALC-MALCJ-32x100.step +MALCJ32-100MELB,MALCJ,32,100,M,E,LB,,MALC-MALCJ-32x100.step +MALCJ32-100MELBU,MALCJ,32,100,M,E,LB,U,MALC-MALCJ-32x100.step +MALCJ32-100MELBCM,MALCJ,32,100,M,E,LB,CM,MALC-MALCJ-32x100.step +MALCJ32-100MEFA,MALCJ,32,100,M,E,FA,,MALC-MALCJ-32x100.step +MALCJ32-100MEFAU,MALCJ,32,100,M,E,FA,U,MALC-MALCJ-32x100.step +MALCJ32-100MEFACM,MALCJ,32,100,M,E,FA,CM,MALC-MALCJ-32x100.step +MALCJ32-100MEFB,MALCJ,32,100,M,E,FB,,MALC-MALCJ-32x100.step +MALCJ32-100MEFBU,MALCJ,32,100,M,E,FB,U,MALC-MALCJ-32x100.step +MALCJ32-100MEFBCM,MALCJ,32,100,M,E,FB,CM,MALC-MALCJ-32x100.step +MALCJ32-100MESDB,MALCJ,32,100,M,E,SDB,,MALC-MALCJ-32x100.step +MALCJ32-100MESDBU,MALCJ,32,100,M,E,SDB,U,MALC-MALCJ-32x100.step +MALCJ32-100MESDBCM,MALCJ,32,100,M,E,SDB,CM,MALC-MALCJ-32x100.step +MALCJ32-100M,MALCJ,32,100,M,,,,MALC-MALCJ-32x100.step +MALCJ32-100MU,MALCJ,32,100,M,,,U,MALC-MALCJ-32x100.step +MALCJ32-100MCM,MALCJ,32,100,M,,,CM,MALC-MALCJ-32x100.step +MALCJ32-100MLB,MALCJ,32,100,M,,LB,,MALC-MALCJ-32x100.step +MALCJ32-100MLBU,MALCJ,32,100,M,,LB,U,MALC-MALCJ-32x100.step +MALCJ32-100MLBCM,MALCJ,32,100,M,,LB,CM,MALC-MALCJ-32x100.step +MALCJ32-100MFA,MALCJ,32,100,M,,FA,,MALC-MALCJ-32x100.step +MALCJ32-100MFAU,MALCJ,32,100,M,,FA,U,MALC-MALCJ-32x100.step +MALCJ32-100MFACM,MALCJ,32,100,M,,FA,CM,MALC-MALCJ-32x100.step +MALCJ32-100MFB,MALCJ,32,100,M,,FB,,MALC-MALCJ-32x100.step +MALCJ32-100MFBU,MALCJ,32,100,M,,FB,U,MALC-MALCJ-32x100.step +MALCJ32-100MFBCM,MALCJ,32,100,M,,FB,CM,MALC-MALCJ-32x100.step +MALCJ32-100MSDB,MALCJ,32,100,M,,SDB,,MALC-MALCJ-32x100.step +MALCJ32-100MSDBU,MALCJ,32,100,M,,SDB,U,MALC-MALCJ-32x100.step +MALCJ32-100MSDBCM,MALCJ,32,100,M,,SDB,CM,MALC-MALCJ-32x100.step +MALCJ40-10E,MALCJ,40,10,,E,,,MALC-MALCJ-40x10.step +MALCJ40-10EU,MALCJ,40,10,,E,,U,MALC-MALCJ-40x10.step +MALCJ40-10ECM,MALCJ,40,10,,E,,CM,MALC-MALCJ-40x10.step +MALCJ40-10ELB,MALCJ,40,10,,E,LB,,MALC-MALCJ-40x10.step +MALCJ40-10ELBU,MALCJ,40,10,,E,LB,U,MALC-MALCJ-40x10.step +MALCJ40-10ELBCM,MALCJ,40,10,,E,LB,CM,MALC-MALCJ-40x10.step +MALCJ40-10EFA,MALCJ,40,10,,E,FA,,MALC-MALCJ-40x10.step +MALCJ40-10EFAU,MALCJ,40,10,,E,FA,U,MALC-MALCJ-40x10.step +MALCJ40-10EFACM,MALCJ,40,10,,E,FA,CM,MALC-MALCJ-40x10.step +MALCJ40-10EFB,MALCJ,40,10,,E,FB,,MALC-MALCJ-40x10.step +MALCJ40-10EFBU,MALCJ,40,10,,E,FB,U,MALC-MALCJ-40x10.step +MALCJ40-10EFBCM,MALCJ,40,10,,E,FB,CM,MALC-MALCJ-40x10.step +MALCJ40-10ESDB,MALCJ,40,10,,E,SDB,,MALC-MALCJ-40x10.step +MALCJ40-10ESDBU,MALCJ,40,10,,E,SDB,U,MALC-MALCJ-40x10.step +MALCJ40-10ESDBCM,MALCJ,40,10,,E,SDB,CM,MALC-MALCJ-40x10.step +MALCJ40-10,MALCJ,40,10,,,,,MALC-MALCJ-40x10.step +MALCJ40-10U,MALCJ,40,10,,,,U,MALC-MALCJ-40x10.step +MALCJ40-10CM,MALCJ,40,10,,,,CM,MALC-MALCJ-40x10.step +MALCJ40-10LB,MALCJ,40,10,,,LB,,MALC-MALCJ-40x10.step +MALCJ40-10LBU,MALCJ,40,10,,,LB,U,MALC-MALCJ-40x10.step +MALCJ40-10LBCM,MALCJ,40,10,,,LB,CM,MALC-MALCJ-40x10.step +MALCJ40-10FA,MALCJ,40,10,,,FA,,MALC-MALCJ-40x10.step +MALCJ40-10FAU,MALCJ,40,10,,,FA,U,MALC-MALCJ-40x10.step +MALCJ40-10FACM,MALCJ,40,10,,,FA,CM,MALC-MALCJ-40x10.step +MALCJ40-10FB,MALCJ,40,10,,,FB,,MALC-MALCJ-40x10.step +MALCJ40-10FBU,MALCJ,40,10,,,FB,U,MALC-MALCJ-40x10.step +MALCJ40-10FBCM,MALCJ,40,10,,,FB,CM,MALC-MALCJ-40x10.step +MALCJ40-10SDB,MALCJ,40,10,,,SDB,,MALC-MALCJ-40x10.step +MALCJ40-10SDBU,MALCJ,40,10,,,SDB,U,MALC-MALCJ-40x10.step +MALCJ40-10SDBCM,MALCJ,40,10,,,SDB,CM,MALC-MALCJ-40x10.step +MALCJ40-10ME,MALCJ,40,10,M,E,,,MALC-MALCJ-40x10.step +MALCJ40-10MEU,MALCJ,40,10,M,E,,U,MALC-MALCJ-40x10.step +MALCJ40-10MECM,MALCJ,40,10,M,E,,CM,MALC-MALCJ-40x10.step +MALCJ40-10MELB,MALCJ,40,10,M,E,LB,,MALC-MALCJ-40x10.step +MALCJ40-10MELBU,MALCJ,40,10,M,E,LB,U,MALC-MALCJ-40x10.step +MALCJ40-10MELBCM,MALCJ,40,10,M,E,LB,CM,MALC-MALCJ-40x10.step +MALCJ40-10MEFA,MALCJ,40,10,M,E,FA,,MALC-MALCJ-40x10.step +MALCJ40-10MEFAU,MALCJ,40,10,M,E,FA,U,MALC-MALCJ-40x10.step +MALCJ40-10MEFACM,MALCJ,40,10,M,E,FA,CM,MALC-MALCJ-40x10.step +MALCJ40-10MEFB,MALCJ,40,10,M,E,FB,,MALC-MALCJ-40x10.step +MALCJ40-10MEFBU,MALCJ,40,10,M,E,FB,U,MALC-MALCJ-40x10.step +MALCJ40-10MEFBCM,MALCJ,40,10,M,E,FB,CM,MALC-MALCJ-40x10.step +MALCJ40-10MESDB,MALCJ,40,10,M,E,SDB,,MALC-MALCJ-40x10.step +MALCJ40-10MESDBU,MALCJ,40,10,M,E,SDB,U,MALC-MALCJ-40x10.step +MALCJ40-10MESDBCM,MALCJ,40,10,M,E,SDB,CM,MALC-MALCJ-40x10.step +MALCJ40-10M,MALCJ,40,10,M,,,,MALC-MALCJ-40x10.step +MALCJ40-10MU,MALCJ,40,10,M,,,U,MALC-MALCJ-40x10.step +MALCJ40-10MCM,MALCJ,40,10,M,,,CM,MALC-MALCJ-40x10.step +MALCJ40-10MLB,MALCJ,40,10,M,,LB,,MALC-MALCJ-40x10.step +MALCJ40-10MLBU,MALCJ,40,10,M,,LB,U,MALC-MALCJ-40x10.step +MALCJ40-10MLBCM,MALCJ,40,10,M,,LB,CM,MALC-MALCJ-40x10.step +MALCJ40-10MFA,MALCJ,40,10,M,,FA,,MALC-MALCJ-40x10.step +MALCJ40-10MFAU,MALCJ,40,10,M,,FA,U,MALC-MALCJ-40x10.step +MALCJ40-10MFACM,MALCJ,40,10,M,,FA,CM,MALC-MALCJ-40x10.step +MALCJ40-10MFB,MALCJ,40,10,M,,FB,,MALC-MALCJ-40x10.step +MALCJ40-10MFBU,MALCJ,40,10,M,,FB,U,MALC-MALCJ-40x10.step +MALCJ40-10MFBCM,MALCJ,40,10,M,,FB,CM,MALC-MALCJ-40x10.step +MALCJ40-10MSDB,MALCJ,40,10,M,,SDB,,MALC-MALCJ-40x10.step +MALCJ40-10MSDBU,MALCJ,40,10,M,,SDB,U,MALC-MALCJ-40x10.step +MALCJ40-10MSDBCM,MALCJ,40,10,M,,SDB,CM,MALC-MALCJ-40x10.step +MALCJ40-20E,MALCJ,40,20,,E,,,MALC-MALCJ-40x20.step +MALCJ40-20EU,MALCJ,40,20,,E,,U,MALC-MALCJ-40x20.step +MALCJ40-20ECM,MALCJ,40,20,,E,,CM,MALC-MALCJ-40x20.step +MALCJ40-20ELB,MALCJ,40,20,,E,LB,,MALC-MALCJ-40x20.step +MALCJ40-20ELBU,MALCJ,40,20,,E,LB,U,MALC-MALCJ-40x20.step +MALCJ40-20ELBCM,MALCJ,40,20,,E,LB,CM,MALC-MALCJ-40x20.step +MALCJ40-20EFA,MALCJ,40,20,,E,FA,,MALC-MALCJ-40x20.step +MALCJ40-20EFAU,MALCJ,40,20,,E,FA,U,MALC-MALCJ-40x20.step +MALCJ40-20EFACM,MALCJ,40,20,,E,FA,CM,MALC-MALCJ-40x20.step +MALCJ40-20EFB,MALCJ,40,20,,E,FB,,MALC-MALCJ-40x20.step +MALCJ40-20EFBU,MALCJ,40,20,,E,FB,U,MALC-MALCJ-40x20.step +MALCJ40-20EFBCM,MALCJ,40,20,,E,FB,CM,MALC-MALCJ-40x20.step +MALCJ40-20ESDB,MALCJ,40,20,,E,SDB,,MALC-MALCJ-40x20.step +MALCJ40-20ESDBU,MALCJ,40,20,,E,SDB,U,MALC-MALCJ-40x20.step +MALCJ40-20ESDBCM,MALCJ,40,20,,E,SDB,CM,MALC-MALCJ-40x20.step +MALCJ40-20,MALCJ,40,20,,,,,MALC-MALCJ-40x20.step +MALCJ40-20U,MALCJ,40,20,,,,U,MALC-MALCJ-40x20.step +MALCJ40-20CM,MALCJ,40,20,,,,CM,MALC-MALCJ-40x20.step +MALCJ40-20LB,MALCJ,40,20,,,LB,,MALC-MALCJ-40x20.step +MALCJ40-20LBU,MALCJ,40,20,,,LB,U,MALC-MALCJ-40x20.step +MALCJ40-20LBCM,MALCJ,40,20,,,LB,CM,MALC-MALCJ-40x20.step +MALCJ40-20FA,MALCJ,40,20,,,FA,,MALC-MALCJ-40x20.step +MALCJ40-20FAU,MALCJ,40,20,,,FA,U,MALC-MALCJ-40x20.step +MALCJ40-20FACM,MALCJ,40,20,,,FA,CM,MALC-MALCJ-40x20.step +MALCJ40-20FB,MALCJ,40,20,,,FB,,MALC-MALCJ-40x20.step +MALCJ40-20FBU,MALCJ,40,20,,,FB,U,MALC-MALCJ-40x20.step +MALCJ40-20FBCM,MALCJ,40,20,,,FB,CM,MALC-MALCJ-40x20.step +MALCJ40-20SDB,MALCJ,40,20,,,SDB,,MALC-MALCJ-40x20.step +MALCJ40-20SDBU,MALCJ,40,20,,,SDB,U,MALC-MALCJ-40x20.step +MALCJ40-20SDBCM,MALCJ,40,20,,,SDB,CM,MALC-MALCJ-40x20.step +MALCJ40-20ME,MALCJ,40,20,M,E,,,MALC-MALCJ-40x20.step +MALCJ40-20MEU,MALCJ,40,20,M,E,,U,MALC-MALCJ-40x20.step +MALCJ40-20MECM,MALCJ,40,20,M,E,,CM,MALC-MALCJ-40x20.step +MALCJ40-20MELB,MALCJ,40,20,M,E,LB,,MALC-MALCJ-40x20.step +MALCJ40-20MELBU,MALCJ,40,20,M,E,LB,U,MALC-MALCJ-40x20.step +MALCJ40-20MELBCM,MALCJ,40,20,M,E,LB,CM,MALC-MALCJ-40x20.step +MALCJ40-20MEFA,MALCJ,40,20,M,E,FA,,MALC-MALCJ-40x20.step +MALCJ40-20MEFAU,MALCJ,40,20,M,E,FA,U,MALC-MALCJ-40x20.step +MALCJ40-20MEFACM,MALCJ,40,20,M,E,FA,CM,MALC-MALCJ-40x20.step +MALCJ40-20MEFB,MALCJ,40,20,M,E,FB,,MALC-MALCJ-40x20.step +MALCJ40-20MEFBU,MALCJ,40,20,M,E,FB,U,MALC-MALCJ-40x20.step +MALCJ40-20MEFBCM,MALCJ,40,20,M,E,FB,CM,MALC-MALCJ-40x20.step +MALCJ40-20MESDB,MALCJ,40,20,M,E,SDB,,MALC-MALCJ-40x20.step +MALCJ40-20MESDBU,MALCJ,40,20,M,E,SDB,U,MALC-MALCJ-40x20.step +MALCJ40-20MESDBCM,MALCJ,40,20,M,E,SDB,CM,MALC-MALCJ-40x20.step +MALCJ40-20M,MALCJ,40,20,M,,,,MALC-MALCJ-40x20.step +MALCJ40-20MU,MALCJ,40,20,M,,,U,MALC-MALCJ-40x20.step +MALCJ40-20MCM,MALCJ,40,20,M,,,CM,MALC-MALCJ-40x20.step +MALCJ40-20MLB,MALCJ,40,20,M,,LB,,MALC-MALCJ-40x20.step +MALCJ40-20MLBU,MALCJ,40,20,M,,LB,U,MALC-MALCJ-40x20.step +MALCJ40-20MLBCM,MALCJ,40,20,M,,LB,CM,MALC-MALCJ-40x20.step +MALCJ40-20MFA,MALCJ,40,20,M,,FA,,MALC-MALCJ-40x20.step +MALCJ40-20MFAU,MALCJ,40,20,M,,FA,U,MALC-MALCJ-40x20.step +MALCJ40-20MFACM,MALCJ,40,20,M,,FA,CM,MALC-MALCJ-40x20.step +MALCJ40-20MFB,MALCJ,40,20,M,,FB,,MALC-MALCJ-40x20.step +MALCJ40-20MFBU,MALCJ,40,20,M,,FB,U,MALC-MALCJ-40x20.step +MALCJ40-20MFBCM,MALCJ,40,20,M,,FB,CM,MALC-MALCJ-40x20.step +MALCJ40-20MSDB,MALCJ,40,20,M,,SDB,,MALC-MALCJ-40x20.step +MALCJ40-20MSDBU,MALCJ,40,20,M,,SDB,U,MALC-MALCJ-40x20.step +MALCJ40-20MSDBCM,MALCJ,40,20,M,,SDB,CM,MALC-MALCJ-40x20.step +MALCJ40-30E,MALCJ,40,30,,E,,,MALC-MALCJ-40x30.step +MALCJ40-30EU,MALCJ,40,30,,E,,U,MALC-MALCJ-40x30.step +MALCJ40-30ECM,MALCJ,40,30,,E,,CM,MALC-MALCJ-40x30.step +MALCJ40-30ELB,MALCJ,40,30,,E,LB,,MALC-MALCJ-40x30.step +MALCJ40-30ELBU,MALCJ,40,30,,E,LB,U,MALC-MALCJ-40x30.step +MALCJ40-30ELBCM,MALCJ,40,30,,E,LB,CM,MALC-MALCJ-40x30.step +MALCJ40-30EFA,MALCJ,40,30,,E,FA,,MALC-MALCJ-40x30.step +MALCJ40-30EFAU,MALCJ,40,30,,E,FA,U,MALC-MALCJ-40x30.step +MALCJ40-30EFACM,MALCJ,40,30,,E,FA,CM,MALC-MALCJ-40x30.step +MALCJ40-30EFB,MALCJ,40,30,,E,FB,,MALC-MALCJ-40x30.step +MALCJ40-30EFBU,MALCJ,40,30,,E,FB,U,MALC-MALCJ-40x30.step +MALCJ40-30EFBCM,MALCJ,40,30,,E,FB,CM,MALC-MALCJ-40x30.step +MALCJ40-30ESDB,MALCJ,40,30,,E,SDB,,MALC-MALCJ-40x30.step +MALCJ40-30ESDBU,MALCJ,40,30,,E,SDB,U,MALC-MALCJ-40x30.step +MALCJ40-30ESDBCM,MALCJ,40,30,,E,SDB,CM,MALC-MALCJ-40x30.step +MALCJ40-30,MALCJ,40,30,,,,,MALC-MALCJ-40x30.step +MALCJ40-30U,MALCJ,40,30,,,,U,MALC-MALCJ-40x30.step +MALCJ40-30CM,MALCJ,40,30,,,,CM,MALC-MALCJ-40x30.step +MALCJ40-30LB,MALCJ,40,30,,,LB,,MALC-MALCJ-40x30.step +MALCJ40-30LBU,MALCJ,40,30,,,LB,U,MALC-MALCJ-40x30.step +MALCJ40-30LBCM,MALCJ,40,30,,,LB,CM,MALC-MALCJ-40x30.step +MALCJ40-30FA,MALCJ,40,30,,,FA,,MALC-MALCJ-40x30.step +MALCJ40-30FAU,MALCJ,40,30,,,FA,U,MALC-MALCJ-40x30.step +MALCJ40-30FACM,MALCJ,40,30,,,FA,CM,MALC-MALCJ-40x30.step +MALCJ40-30FB,MALCJ,40,30,,,FB,,MALC-MALCJ-40x30.step +MALCJ40-30FBU,MALCJ,40,30,,,FB,U,MALC-MALCJ-40x30.step +MALCJ40-30FBCM,MALCJ,40,30,,,FB,CM,MALC-MALCJ-40x30.step +MALCJ40-30SDB,MALCJ,40,30,,,SDB,,MALC-MALCJ-40x30.step +MALCJ40-30SDBU,MALCJ,40,30,,,SDB,U,MALC-MALCJ-40x30.step +MALCJ40-30SDBCM,MALCJ,40,30,,,SDB,CM,MALC-MALCJ-40x30.step +MALCJ40-30ME,MALCJ,40,30,M,E,,,MALC-MALCJ-40x30.step +MALCJ40-30MEU,MALCJ,40,30,M,E,,U,MALC-MALCJ-40x30.step +MALCJ40-30MECM,MALCJ,40,30,M,E,,CM,MALC-MALCJ-40x30.step +MALCJ40-30MELB,MALCJ,40,30,M,E,LB,,MALC-MALCJ-40x30.step +MALCJ40-30MELBU,MALCJ,40,30,M,E,LB,U,MALC-MALCJ-40x30.step +MALCJ40-30MELBCM,MALCJ,40,30,M,E,LB,CM,MALC-MALCJ-40x30.step +MALCJ40-30MEFA,MALCJ,40,30,M,E,FA,,MALC-MALCJ-40x30.step +MALCJ40-30MEFAU,MALCJ,40,30,M,E,FA,U,MALC-MALCJ-40x30.step +MALCJ40-30MEFACM,MALCJ,40,30,M,E,FA,CM,MALC-MALCJ-40x30.step +MALCJ40-30MEFB,MALCJ,40,30,M,E,FB,,MALC-MALCJ-40x30.step +MALCJ40-30MEFBU,MALCJ,40,30,M,E,FB,U,MALC-MALCJ-40x30.step +MALCJ40-30MEFBCM,MALCJ,40,30,M,E,FB,CM,MALC-MALCJ-40x30.step +MALCJ40-30MESDB,MALCJ,40,30,M,E,SDB,,MALC-MALCJ-40x30.step +MALCJ40-30MESDBU,MALCJ,40,30,M,E,SDB,U,MALC-MALCJ-40x30.step +MALCJ40-30MESDBCM,MALCJ,40,30,M,E,SDB,CM,MALC-MALCJ-40x30.step +MALCJ40-30M,MALCJ,40,30,M,,,,MALC-MALCJ-40x30.step +MALCJ40-30MU,MALCJ,40,30,M,,,U,MALC-MALCJ-40x30.step +MALCJ40-30MCM,MALCJ,40,30,M,,,CM,MALC-MALCJ-40x30.step +MALCJ40-30MLB,MALCJ,40,30,M,,LB,,MALC-MALCJ-40x30.step +MALCJ40-30MLBU,MALCJ,40,30,M,,LB,U,MALC-MALCJ-40x30.step +MALCJ40-30MLBCM,MALCJ,40,30,M,,LB,CM,MALC-MALCJ-40x30.step +MALCJ40-30MFA,MALCJ,40,30,M,,FA,,MALC-MALCJ-40x30.step +MALCJ40-30MFAU,MALCJ,40,30,M,,FA,U,MALC-MALCJ-40x30.step +MALCJ40-30MFACM,MALCJ,40,30,M,,FA,CM,MALC-MALCJ-40x30.step +MALCJ40-30MFB,MALCJ,40,30,M,,FB,,MALC-MALCJ-40x30.step +MALCJ40-30MFBU,MALCJ,40,30,M,,FB,U,MALC-MALCJ-40x30.step +MALCJ40-30MFBCM,MALCJ,40,30,M,,FB,CM,MALC-MALCJ-40x30.step +MALCJ40-30MSDB,MALCJ,40,30,M,,SDB,,MALC-MALCJ-40x30.step +MALCJ40-30MSDBU,MALCJ,40,30,M,,SDB,U,MALC-MALCJ-40x30.step +MALCJ40-30MSDBCM,MALCJ,40,30,M,,SDB,CM,MALC-MALCJ-40x30.step +MALCJ40-50E,MALCJ,40,50,,E,,,MALC-MALCJ-40x50.step +MALCJ40-50EU,MALCJ,40,50,,E,,U,MALC-MALCJ-40x50.step +MALCJ40-50ECM,MALCJ,40,50,,E,,CM,MALC-MALCJ-40x50.step +MALCJ40-50ELB,MALCJ,40,50,,E,LB,,MALC-MALCJ-40x50.step +MALCJ40-50ELBU,MALCJ,40,50,,E,LB,U,MALC-MALCJ-40x50.step +MALCJ40-50ELBCM,MALCJ,40,50,,E,LB,CM,MALC-MALCJ-40x50.step +MALCJ40-50EFA,MALCJ,40,50,,E,FA,,MALC-MALCJ-40x50.step +MALCJ40-50EFAU,MALCJ,40,50,,E,FA,U,MALC-MALCJ-40x50.step +MALCJ40-50EFACM,MALCJ,40,50,,E,FA,CM,MALC-MALCJ-40x50.step +MALCJ40-50EFB,MALCJ,40,50,,E,FB,,MALC-MALCJ-40x50.step +MALCJ40-50EFBU,MALCJ,40,50,,E,FB,U,MALC-MALCJ-40x50.step +MALCJ40-50EFBCM,MALCJ,40,50,,E,FB,CM,MALC-MALCJ-40x50.step +MALCJ40-50ESDB,MALCJ,40,50,,E,SDB,,MALC-MALCJ-40x50.step +MALCJ40-50ESDBU,MALCJ,40,50,,E,SDB,U,MALC-MALCJ-40x50.step +MALCJ40-50ESDBCM,MALCJ,40,50,,E,SDB,CM,MALC-MALCJ-40x50.step +MALCJ40-50,MALCJ,40,50,,,,,MALC-MALCJ-40x50.step +MALCJ40-50U,MALCJ,40,50,,,,U,MALC-MALCJ-40x50.step +MALCJ40-50CM,MALCJ,40,50,,,,CM,MALC-MALCJ-40x50.step +MALCJ40-50LB,MALCJ,40,50,,,LB,,MALC-MALCJ-40x50.step +MALCJ40-50LBU,MALCJ,40,50,,,LB,U,MALC-MALCJ-40x50.step +MALCJ40-50LBCM,MALCJ,40,50,,,LB,CM,MALC-MALCJ-40x50.step +MALCJ40-50FA,MALCJ,40,50,,,FA,,MALC-MALCJ-40x50.step +MALCJ40-50FAU,MALCJ,40,50,,,FA,U,MALC-MALCJ-40x50.step +MALCJ40-50FACM,MALCJ,40,50,,,FA,CM,MALC-MALCJ-40x50.step +MALCJ40-50FB,MALCJ,40,50,,,FB,,MALC-MALCJ-40x50.step +MALCJ40-50FBU,MALCJ,40,50,,,FB,U,MALC-MALCJ-40x50.step +MALCJ40-50FBCM,MALCJ,40,50,,,FB,CM,MALC-MALCJ-40x50.step +MALCJ40-50SDB,MALCJ,40,50,,,SDB,,MALC-MALCJ-40x50.step +MALCJ40-50SDBU,MALCJ,40,50,,,SDB,U,MALC-MALCJ-40x50.step +MALCJ40-50SDBCM,MALCJ,40,50,,,SDB,CM,MALC-MALCJ-40x50.step +MALCJ40-50ME,MALCJ,40,50,M,E,,,MALC-MALCJ-40x50.step +MALCJ40-50MEU,MALCJ,40,50,M,E,,U,MALC-MALCJ-40x50.step +MALCJ40-50MECM,MALCJ,40,50,M,E,,CM,MALC-MALCJ-40x50.step +MALCJ40-50MELB,MALCJ,40,50,M,E,LB,,MALC-MALCJ-40x50.step +MALCJ40-50MELBU,MALCJ,40,50,M,E,LB,U,MALC-MALCJ-40x50.step +MALCJ40-50MELBCM,MALCJ,40,50,M,E,LB,CM,MALC-MALCJ-40x50.step +MALCJ40-50MEFA,MALCJ,40,50,M,E,FA,,MALC-MALCJ-40x50.step +MALCJ40-50MEFAU,MALCJ,40,50,M,E,FA,U,MALC-MALCJ-40x50.step +MALCJ40-50MEFACM,MALCJ,40,50,M,E,FA,CM,MALC-MALCJ-40x50.step +MALCJ40-50MEFB,MALCJ,40,50,M,E,FB,,MALC-MALCJ-40x50.step +MALCJ40-50MEFBU,MALCJ,40,50,M,E,FB,U,MALC-MALCJ-40x50.step +MALCJ40-50MEFBCM,MALCJ,40,50,M,E,FB,CM,MALC-MALCJ-40x50.step +MALCJ40-50MESDB,MALCJ,40,50,M,E,SDB,,MALC-MALCJ-40x50.step +MALCJ40-50MESDBU,MALCJ,40,50,M,E,SDB,U,MALC-MALCJ-40x50.step +MALCJ40-50MESDBCM,MALCJ,40,50,M,E,SDB,CM,MALC-MALCJ-40x50.step +MALCJ40-50M,MALCJ,40,50,M,,,,MALC-MALCJ-40x50.step +MALCJ40-50MU,MALCJ,40,50,M,,,U,MALC-MALCJ-40x50.step +MALCJ40-50MCM,MALCJ,40,50,M,,,CM,MALC-MALCJ-40x50.step +MALCJ40-50MLB,MALCJ,40,50,M,,LB,,MALC-MALCJ-40x50.step +MALCJ40-50MLBU,MALCJ,40,50,M,,LB,U,MALC-MALCJ-40x50.step +MALCJ40-50MLBCM,MALCJ,40,50,M,,LB,CM,MALC-MALCJ-40x50.step +MALCJ40-50MFA,MALCJ,40,50,M,,FA,,MALC-MALCJ-40x50.step +MALCJ40-50MFAU,MALCJ,40,50,M,,FA,U,MALC-MALCJ-40x50.step +MALCJ40-50MFACM,MALCJ,40,50,M,,FA,CM,MALC-MALCJ-40x50.step +MALCJ40-50MFB,MALCJ,40,50,M,,FB,,MALC-MALCJ-40x50.step +MALCJ40-50MFBU,MALCJ,40,50,M,,FB,U,MALC-MALCJ-40x50.step +MALCJ40-50MFBCM,MALCJ,40,50,M,,FB,CM,MALC-MALCJ-40x50.step +MALCJ40-50MSDB,MALCJ,40,50,M,,SDB,,MALC-MALCJ-40x50.step +MALCJ40-50MSDBU,MALCJ,40,50,M,,SDB,U,MALC-MALCJ-40x50.step +MALCJ40-50MSDBCM,MALCJ,40,50,M,,SDB,CM,MALC-MALCJ-40x50.step +MALCJ40-75E,MALCJ,40,75,,E,,,MALC-MALCJ-40x75.step +MALCJ40-75EU,MALCJ,40,75,,E,,U,MALC-MALCJ-40x75.step +MALCJ40-75ECM,MALCJ,40,75,,E,,CM,MALC-MALCJ-40x75.step +MALCJ40-75ELB,MALCJ,40,75,,E,LB,,MALC-MALCJ-40x75.step +MALCJ40-75ELBU,MALCJ,40,75,,E,LB,U,MALC-MALCJ-40x75.step +MALCJ40-75ELBCM,MALCJ,40,75,,E,LB,CM,MALC-MALCJ-40x75.step +MALCJ40-75EFA,MALCJ,40,75,,E,FA,,MALC-MALCJ-40x75.step +MALCJ40-75EFAU,MALCJ,40,75,,E,FA,U,MALC-MALCJ-40x75.step +MALCJ40-75EFACM,MALCJ,40,75,,E,FA,CM,MALC-MALCJ-40x75.step +MALCJ40-75EFB,MALCJ,40,75,,E,FB,,MALC-MALCJ-40x75.step +MALCJ40-75EFBU,MALCJ,40,75,,E,FB,U,MALC-MALCJ-40x75.step +MALCJ40-75EFBCM,MALCJ,40,75,,E,FB,CM,MALC-MALCJ-40x75.step +MALCJ40-75ESDB,MALCJ,40,75,,E,SDB,,MALC-MALCJ-40x75.step +MALCJ40-75ESDBU,MALCJ,40,75,,E,SDB,U,MALC-MALCJ-40x75.step +MALCJ40-75ESDBCM,MALCJ,40,75,,E,SDB,CM,MALC-MALCJ-40x75.step +MALCJ40-75,MALCJ,40,75,,,,,MALC-MALCJ-40x75.step +MALCJ40-75U,MALCJ,40,75,,,,U,MALC-MALCJ-40x75.step +MALCJ40-75CM,MALCJ,40,75,,,,CM,MALC-MALCJ-40x75.step +MALCJ40-75LB,MALCJ,40,75,,,LB,,MALC-MALCJ-40x75.step +MALCJ40-75LBU,MALCJ,40,75,,,LB,U,MALC-MALCJ-40x75.step +MALCJ40-75LBCM,MALCJ,40,75,,,LB,CM,MALC-MALCJ-40x75.step +MALCJ40-75FA,MALCJ,40,75,,,FA,,MALC-MALCJ-40x75.step +MALCJ40-75FAU,MALCJ,40,75,,,FA,U,MALC-MALCJ-40x75.step +MALCJ40-75FACM,MALCJ,40,75,,,FA,CM,MALC-MALCJ-40x75.step +MALCJ40-75FB,MALCJ,40,75,,,FB,,MALC-MALCJ-40x75.step +MALCJ40-75FBU,MALCJ,40,75,,,FB,U,MALC-MALCJ-40x75.step +MALCJ40-75FBCM,MALCJ,40,75,,,FB,CM,MALC-MALCJ-40x75.step +MALCJ40-75SDB,MALCJ,40,75,,,SDB,,MALC-MALCJ-40x75.step +MALCJ40-75SDBU,MALCJ,40,75,,,SDB,U,MALC-MALCJ-40x75.step +MALCJ40-75SDBCM,MALCJ,40,75,,,SDB,CM,MALC-MALCJ-40x75.step +MALCJ40-75ME,MALCJ,40,75,M,E,,,MALC-MALCJ-40x75.step +MALCJ40-75MEU,MALCJ,40,75,M,E,,U,MALC-MALCJ-40x75.step +MALCJ40-75MECM,MALCJ,40,75,M,E,,CM,MALC-MALCJ-40x75.step +MALCJ40-75MELB,MALCJ,40,75,M,E,LB,,MALC-MALCJ-40x75.step +MALCJ40-75MELBU,MALCJ,40,75,M,E,LB,U,MALC-MALCJ-40x75.step +MALCJ40-75MELBCM,MALCJ,40,75,M,E,LB,CM,MALC-MALCJ-40x75.step +MALCJ40-75MEFA,MALCJ,40,75,M,E,FA,,MALC-MALCJ-40x75.step +MALCJ40-75MEFAU,MALCJ,40,75,M,E,FA,U,MALC-MALCJ-40x75.step +MALCJ40-75MEFACM,MALCJ,40,75,M,E,FA,CM,MALC-MALCJ-40x75.step +MALCJ40-75MEFB,MALCJ,40,75,M,E,FB,,MALC-MALCJ-40x75.step +MALCJ40-75MEFBU,MALCJ,40,75,M,E,FB,U,MALC-MALCJ-40x75.step +MALCJ40-75MEFBCM,MALCJ,40,75,M,E,FB,CM,MALC-MALCJ-40x75.step +MALCJ40-75MESDB,MALCJ,40,75,M,E,SDB,,MALC-MALCJ-40x75.step +MALCJ40-75MESDBU,MALCJ,40,75,M,E,SDB,U,MALC-MALCJ-40x75.step +MALCJ40-75MESDBCM,MALCJ,40,75,M,E,SDB,CM,MALC-MALCJ-40x75.step +MALCJ40-75M,MALCJ,40,75,M,,,,MALC-MALCJ-40x75.step +MALCJ40-75MU,MALCJ,40,75,M,,,U,MALC-MALCJ-40x75.step +MALCJ40-75MCM,MALCJ,40,75,M,,,CM,MALC-MALCJ-40x75.step +MALCJ40-75MLB,MALCJ,40,75,M,,LB,,MALC-MALCJ-40x75.step +MALCJ40-75MLBU,MALCJ,40,75,M,,LB,U,MALC-MALCJ-40x75.step +MALCJ40-75MLBCM,MALCJ,40,75,M,,LB,CM,MALC-MALCJ-40x75.step +MALCJ40-75MFA,MALCJ,40,75,M,,FA,,MALC-MALCJ-40x75.step +MALCJ40-75MFAU,MALCJ,40,75,M,,FA,U,MALC-MALCJ-40x75.step +MALCJ40-75MFACM,MALCJ,40,75,M,,FA,CM,MALC-MALCJ-40x75.step +MALCJ40-75MFB,MALCJ,40,75,M,,FB,,MALC-MALCJ-40x75.step +MALCJ40-75MFBU,MALCJ,40,75,M,,FB,U,MALC-MALCJ-40x75.step +MALCJ40-75MFBCM,MALCJ,40,75,M,,FB,CM,MALC-MALCJ-40x75.step +MALCJ40-75MSDB,MALCJ,40,75,M,,SDB,,MALC-MALCJ-40x75.step +MALCJ40-75MSDBU,MALCJ,40,75,M,,SDB,U,MALC-MALCJ-40x75.step +MALCJ40-75MSDBCM,MALCJ,40,75,M,,SDB,CM,MALC-MALCJ-40x75.step +MALCJ40-100E,MALCJ,40,100,,E,,,MALC-MALCJ-40x100.step +MALCJ40-100EU,MALCJ,40,100,,E,,U,MALC-MALCJ-40x100.step +MALCJ40-100ECM,MALCJ,40,100,,E,,CM,MALC-MALCJ-40x100.step +MALCJ40-100ELB,MALCJ,40,100,,E,LB,,MALC-MALCJ-40x100.step +MALCJ40-100ELBU,MALCJ,40,100,,E,LB,U,MALC-MALCJ-40x100.step +MALCJ40-100ELBCM,MALCJ,40,100,,E,LB,CM,MALC-MALCJ-40x100.step +MALCJ40-100EFA,MALCJ,40,100,,E,FA,,MALC-MALCJ-40x100.step +MALCJ40-100EFAU,MALCJ,40,100,,E,FA,U,MALC-MALCJ-40x100.step +MALCJ40-100EFACM,MALCJ,40,100,,E,FA,CM,MALC-MALCJ-40x100.step +MALCJ40-100EFB,MALCJ,40,100,,E,FB,,MALC-MALCJ-40x100.step +MALCJ40-100EFBU,MALCJ,40,100,,E,FB,U,MALC-MALCJ-40x100.step +MALCJ40-100EFBCM,MALCJ,40,100,,E,FB,CM,MALC-MALCJ-40x100.step +MALCJ40-100ESDB,MALCJ,40,100,,E,SDB,,MALC-MALCJ-40x100.step +MALCJ40-100ESDBU,MALCJ,40,100,,E,SDB,U,MALC-MALCJ-40x100.step +MALCJ40-100ESDBCM,MALCJ,40,100,,E,SDB,CM,MALC-MALCJ-40x100.step +MALCJ40-100,MALCJ,40,100,,,,,MALC-MALCJ-40x100.step +MALCJ40-100U,MALCJ,40,100,,,,U,MALC-MALCJ-40x100.step +MALCJ40-100CM,MALCJ,40,100,,,,CM,MALC-MALCJ-40x100.step +MALCJ40-100LB,MALCJ,40,100,,,LB,,MALC-MALCJ-40x100.step +MALCJ40-100LBU,MALCJ,40,100,,,LB,U,MALC-MALCJ-40x100.step +MALCJ40-100LBCM,MALCJ,40,100,,,LB,CM,MALC-MALCJ-40x100.step +MALCJ40-100FA,MALCJ,40,100,,,FA,,MALC-MALCJ-40x100.step +MALCJ40-100FAU,MALCJ,40,100,,,FA,U,MALC-MALCJ-40x100.step +MALCJ40-100FACM,MALCJ,40,100,,,FA,CM,MALC-MALCJ-40x100.step +MALCJ40-100FB,MALCJ,40,100,,,FB,,MALC-MALCJ-40x100.step +MALCJ40-100FBU,MALCJ,40,100,,,FB,U,MALC-MALCJ-40x100.step +MALCJ40-100FBCM,MALCJ,40,100,,,FB,CM,MALC-MALCJ-40x100.step +MALCJ40-100SDB,MALCJ,40,100,,,SDB,,MALC-MALCJ-40x100.step +MALCJ40-100SDBU,MALCJ,40,100,,,SDB,U,MALC-MALCJ-40x100.step +MALCJ40-100SDBCM,MALCJ,40,100,,,SDB,CM,MALC-MALCJ-40x100.step +MALCJ40-100ME,MALCJ,40,100,M,E,,,MALC-MALCJ-40x100.step +MALCJ40-100MEU,MALCJ,40,100,M,E,,U,MALC-MALCJ-40x100.step +MALCJ40-100MECM,MALCJ,40,100,M,E,,CM,MALC-MALCJ-40x100.step +MALCJ40-100MELB,MALCJ,40,100,M,E,LB,,MALC-MALCJ-40x100.step +MALCJ40-100MELBU,MALCJ,40,100,M,E,LB,U,MALC-MALCJ-40x100.step +MALCJ40-100MELBCM,MALCJ,40,100,M,E,LB,CM,MALC-MALCJ-40x100.step +MALCJ40-100MEFA,MALCJ,40,100,M,E,FA,,MALC-MALCJ-40x100.step +MALCJ40-100MEFAU,MALCJ,40,100,M,E,FA,U,MALC-MALCJ-40x100.step +MALCJ40-100MEFACM,MALCJ,40,100,M,E,FA,CM,MALC-MALCJ-40x100.step +MALCJ40-100MEFB,MALCJ,40,100,M,E,FB,,MALC-MALCJ-40x100.step +MALCJ40-100MEFBU,MALCJ,40,100,M,E,FB,U,MALC-MALCJ-40x100.step +MALCJ40-100MEFBCM,MALCJ,40,100,M,E,FB,CM,MALC-MALCJ-40x100.step +MALCJ40-100MESDB,MALCJ,40,100,M,E,SDB,,MALC-MALCJ-40x100.step +MALCJ40-100MESDBU,MALCJ,40,100,M,E,SDB,U,MALC-MALCJ-40x100.step +MALCJ40-100MESDBCM,MALCJ,40,100,M,E,SDB,CM,MALC-MALCJ-40x100.step +MALCJ40-100M,MALCJ,40,100,M,,,,MALC-MALCJ-40x100.step +MALCJ40-100MU,MALCJ,40,100,M,,,U,MALC-MALCJ-40x100.step +MALCJ40-100MCM,MALCJ,40,100,M,,,CM,MALC-MALCJ-40x100.step +MALCJ40-100MLB,MALCJ,40,100,M,,LB,,MALC-MALCJ-40x100.step +MALCJ40-100MLBU,MALCJ,40,100,M,,LB,U,MALC-MALCJ-40x100.step +MALCJ40-100MLBCM,MALCJ,40,100,M,,LB,CM,MALC-MALCJ-40x100.step +MALCJ40-100MFA,MALCJ,40,100,M,,FA,,MALC-MALCJ-40x100.step +MALCJ40-100MFAU,MALCJ,40,100,M,,FA,U,MALC-MALCJ-40x100.step +MALCJ40-100MFACM,MALCJ,40,100,M,,FA,CM,MALC-MALCJ-40x100.step +MALCJ40-100MFB,MALCJ,40,100,M,,FB,,MALC-MALCJ-40x100.step +MALCJ40-100MFBU,MALCJ,40,100,M,,FB,U,MALC-MALCJ-40x100.step +MALCJ40-100MFBCM,MALCJ,40,100,M,,FB,CM,MALC-MALCJ-40x100.step +MALCJ40-100MSDB,MALCJ,40,100,M,,SDB,,MALC-MALCJ-40x100.step +MALCJ40-100MSDBU,MALCJ,40,100,M,,SDB,U,MALC-MALCJ-40x100.step +MALCJ40-100MSDBCM,MALCJ,40,100,M,,SDB,CM,MALC-MALCJ-40x100.step diff --git a/onebot-data/catalog/csv/MS.csv b/onebot-data/catalog/csv/MS.csv new file mode 100644 index 0000000..275e120 --- /dev/null +++ b/onebot-data/catalog/csv/MS.csv @@ -0,0 +1,5401 @@ +model_code,action,bore,stroke,magnet,rod,mount,cap,step_file +N16-10E,N,16,10,,E,,,MS-N-16x10.step +N16-10EU,N,16,10,,E,,U,MS-N-16x10.step +N16-10ECM,N,16,10,,E,,CM,MS-N-16x10.step +N16-10ELB,N,16,10,,E,LB,,MS-N-16x10.step +N16-10ELBU,N,16,10,,E,LB,U,MS-N-16x10.step +N16-10ELBCM,N,16,10,,E,LB,CM,MS-N-16x10.step +N16-10EFA,N,16,10,,E,FA,,MS-N-16x10.step +N16-10EFAU,N,16,10,,E,FA,U,MS-N-16x10.step +N16-10EFACM,N,16,10,,E,FA,CM,MS-N-16x10.step +N16-10EFB,N,16,10,,E,FB,,MS-N-16x10.step +N16-10EFBU,N,16,10,,E,FB,U,MS-N-16x10.step +N16-10EFBCM,N,16,10,,E,FB,CM,MS-N-16x10.step +N16-10ESDB,N,16,10,,E,SDB,,MS-N-16x10.step +N16-10ESDBU,N,16,10,,E,SDB,U,MS-N-16x10.step +N16-10ESDBCM,N,16,10,,E,SDB,CM,MS-N-16x10.step +N16-10,N,16,10,,,,,MS-N-16x10.step +N16-10U,N,16,10,,,,U,MS-N-16x10.step +N16-10CM,N,16,10,,,,CM,MS-N-16x10.step +N16-10LB,N,16,10,,,LB,,MS-N-16x10.step +N16-10LBU,N,16,10,,,LB,U,MS-N-16x10.step +N16-10LBCM,N,16,10,,,LB,CM,MS-N-16x10.step +N16-10FA,N,16,10,,,FA,,MS-N-16x10.step +N16-10FAU,N,16,10,,,FA,U,MS-N-16x10.step +N16-10FACM,N,16,10,,,FA,CM,MS-N-16x10.step +N16-10FB,N,16,10,,,FB,,MS-N-16x10.step +N16-10FBU,N,16,10,,,FB,U,MS-N-16x10.step +N16-10FBCM,N,16,10,,,FB,CM,MS-N-16x10.step +N16-10SDB,N,16,10,,,SDB,,MS-N-16x10.step +N16-10SDBU,N,16,10,,,SDB,U,MS-N-16x10.step +N16-10SDBCM,N,16,10,,,SDB,CM,MS-N-16x10.step +N16-10ME,N,16,10,M,E,,,MS-N-16x10.step +N16-10MEU,N,16,10,M,E,,U,MS-N-16x10.step +N16-10MECM,N,16,10,M,E,,CM,MS-N-16x10.step +N16-10MELB,N,16,10,M,E,LB,,MS-N-16x10.step +N16-10MELBU,N,16,10,M,E,LB,U,MS-N-16x10.step +N16-10MELBCM,N,16,10,M,E,LB,CM,MS-N-16x10.step +N16-10MEFA,N,16,10,M,E,FA,,MS-N-16x10.step +N16-10MEFAU,N,16,10,M,E,FA,U,MS-N-16x10.step +N16-10MEFACM,N,16,10,M,E,FA,CM,MS-N-16x10.step +N16-10MEFB,N,16,10,M,E,FB,,MS-N-16x10.step +N16-10MEFBU,N,16,10,M,E,FB,U,MS-N-16x10.step +N16-10MEFBCM,N,16,10,M,E,FB,CM,MS-N-16x10.step +N16-10MESDB,N,16,10,M,E,SDB,,MS-N-16x10.step +N16-10MESDBU,N,16,10,M,E,SDB,U,MS-N-16x10.step +N16-10MESDBCM,N,16,10,M,E,SDB,CM,MS-N-16x10.step +N16-10M,N,16,10,M,,,,MS-N-16x10.step +N16-10MU,N,16,10,M,,,U,MS-N-16x10.step +N16-10MCM,N,16,10,M,,,CM,MS-N-16x10.step +N16-10MLB,N,16,10,M,,LB,,MS-N-16x10.step +N16-10MLBU,N,16,10,M,,LB,U,MS-N-16x10.step +N16-10MLBCM,N,16,10,M,,LB,CM,MS-N-16x10.step +N16-10MFA,N,16,10,M,,FA,,MS-N-16x10.step +N16-10MFAU,N,16,10,M,,FA,U,MS-N-16x10.step +N16-10MFACM,N,16,10,M,,FA,CM,MS-N-16x10.step +N16-10MFB,N,16,10,M,,FB,,MS-N-16x10.step +N16-10MFBU,N,16,10,M,,FB,U,MS-N-16x10.step +N16-10MFBCM,N,16,10,M,,FB,CM,MS-N-16x10.step +N16-10MSDB,N,16,10,M,,SDB,,MS-N-16x10.step +N16-10MSDBU,N,16,10,M,,SDB,U,MS-N-16x10.step +N16-10MSDBCM,N,16,10,M,,SDB,CM,MS-N-16x10.step +N16-20E,N,16,20,,E,,,MS-N-16x20.step +N16-20EU,N,16,20,,E,,U,MS-N-16x20.step +N16-20ECM,N,16,20,,E,,CM,MS-N-16x20.step +N16-20ELB,N,16,20,,E,LB,,MS-N-16x20.step +N16-20ELBU,N,16,20,,E,LB,U,MS-N-16x20.step +N16-20ELBCM,N,16,20,,E,LB,CM,MS-N-16x20.step +N16-20EFA,N,16,20,,E,FA,,MS-N-16x20.step +N16-20EFAU,N,16,20,,E,FA,U,MS-N-16x20.step +N16-20EFACM,N,16,20,,E,FA,CM,MS-N-16x20.step +N16-20EFB,N,16,20,,E,FB,,MS-N-16x20.step +N16-20EFBU,N,16,20,,E,FB,U,MS-N-16x20.step +N16-20EFBCM,N,16,20,,E,FB,CM,MS-N-16x20.step +N16-20ESDB,N,16,20,,E,SDB,,MS-N-16x20.step +N16-20ESDBU,N,16,20,,E,SDB,U,MS-N-16x20.step +N16-20ESDBCM,N,16,20,,E,SDB,CM,MS-N-16x20.step +N16-20,N,16,20,,,,,MS-N-16x20.step +N16-20U,N,16,20,,,,U,MS-N-16x20.step +N16-20CM,N,16,20,,,,CM,MS-N-16x20.step +N16-20LB,N,16,20,,,LB,,MS-N-16x20.step +N16-20LBU,N,16,20,,,LB,U,MS-N-16x20.step +N16-20LBCM,N,16,20,,,LB,CM,MS-N-16x20.step +N16-20FA,N,16,20,,,FA,,MS-N-16x20.step +N16-20FAU,N,16,20,,,FA,U,MS-N-16x20.step +N16-20FACM,N,16,20,,,FA,CM,MS-N-16x20.step +N16-20FB,N,16,20,,,FB,,MS-N-16x20.step +N16-20FBU,N,16,20,,,FB,U,MS-N-16x20.step +N16-20FBCM,N,16,20,,,FB,CM,MS-N-16x20.step +N16-20SDB,N,16,20,,,SDB,,MS-N-16x20.step +N16-20SDBU,N,16,20,,,SDB,U,MS-N-16x20.step +N16-20SDBCM,N,16,20,,,SDB,CM,MS-N-16x20.step +N16-20ME,N,16,20,M,E,,,MS-N-16x20.step +N16-20MEU,N,16,20,M,E,,U,MS-N-16x20.step +N16-20MECM,N,16,20,M,E,,CM,MS-N-16x20.step +N16-20MELB,N,16,20,M,E,LB,,MS-N-16x20.step +N16-20MELBU,N,16,20,M,E,LB,U,MS-N-16x20.step +N16-20MELBCM,N,16,20,M,E,LB,CM,MS-N-16x20.step +N16-20MEFA,N,16,20,M,E,FA,,MS-N-16x20.step +N16-20MEFAU,N,16,20,M,E,FA,U,MS-N-16x20.step +N16-20MEFACM,N,16,20,M,E,FA,CM,MS-N-16x20.step +N16-20MEFB,N,16,20,M,E,FB,,MS-N-16x20.step +N16-20MEFBU,N,16,20,M,E,FB,U,MS-N-16x20.step +N16-20MEFBCM,N,16,20,M,E,FB,CM,MS-N-16x20.step +N16-20MESDB,N,16,20,M,E,SDB,,MS-N-16x20.step +N16-20MESDBU,N,16,20,M,E,SDB,U,MS-N-16x20.step +N16-20MESDBCM,N,16,20,M,E,SDB,CM,MS-N-16x20.step +N16-20M,N,16,20,M,,,,MS-N-16x20.step +N16-20MU,N,16,20,M,,,U,MS-N-16x20.step +N16-20MCM,N,16,20,M,,,CM,MS-N-16x20.step +N16-20MLB,N,16,20,M,,LB,,MS-N-16x20.step +N16-20MLBU,N,16,20,M,,LB,U,MS-N-16x20.step +N16-20MLBCM,N,16,20,M,,LB,CM,MS-N-16x20.step +N16-20MFA,N,16,20,M,,FA,,MS-N-16x20.step +N16-20MFAU,N,16,20,M,,FA,U,MS-N-16x20.step +N16-20MFACM,N,16,20,M,,FA,CM,MS-N-16x20.step +N16-20MFB,N,16,20,M,,FB,,MS-N-16x20.step +N16-20MFBU,N,16,20,M,,FB,U,MS-N-16x20.step +N16-20MFBCM,N,16,20,M,,FB,CM,MS-N-16x20.step +N16-20MSDB,N,16,20,M,,SDB,,MS-N-16x20.step +N16-20MSDBU,N,16,20,M,,SDB,U,MS-N-16x20.step +N16-20MSDBCM,N,16,20,M,,SDB,CM,MS-N-16x20.step +N16-30E,N,16,30,,E,,,MS-N-16x30.step +N16-30EU,N,16,30,,E,,U,MS-N-16x30.step +N16-30ECM,N,16,30,,E,,CM,MS-N-16x30.step +N16-30ELB,N,16,30,,E,LB,,MS-N-16x30.step +N16-30ELBU,N,16,30,,E,LB,U,MS-N-16x30.step +N16-30ELBCM,N,16,30,,E,LB,CM,MS-N-16x30.step +N16-30EFA,N,16,30,,E,FA,,MS-N-16x30.step +N16-30EFAU,N,16,30,,E,FA,U,MS-N-16x30.step +N16-30EFACM,N,16,30,,E,FA,CM,MS-N-16x30.step +N16-30EFB,N,16,30,,E,FB,,MS-N-16x30.step +N16-30EFBU,N,16,30,,E,FB,U,MS-N-16x30.step +N16-30EFBCM,N,16,30,,E,FB,CM,MS-N-16x30.step +N16-30ESDB,N,16,30,,E,SDB,,MS-N-16x30.step +N16-30ESDBU,N,16,30,,E,SDB,U,MS-N-16x30.step +N16-30ESDBCM,N,16,30,,E,SDB,CM,MS-N-16x30.step +N16-30,N,16,30,,,,,MS-N-16x30.step +N16-30U,N,16,30,,,,U,MS-N-16x30.step +N16-30CM,N,16,30,,,,CM,MS-N-16x30.step +N16-30LB,N,16,30,,,LB,,MS-N-16x30.step +N16-30LBU,N,16,30,,,LB,U,MS-N-16x30.step +N16-30LBCM,N,16,30,,,LB,CM,MS-N-16x30.step +N16-30FA,N,16,30,,,FA,,MS-N-16x30.step +N16-30FAU,N,16,30,,,FA,U,MS-N-16x30.step +N16-30FACM,N,16,30,,,FA,CM,MS-N-16x30.step +N16-30FB,N,16,30,,,FB,,MS-N-16x30.step +N16-30FBU,N,16,30,,,FB,U,MS-N-16x30.step +N16-30FBCM,N,16,30,,,FB,CM,MS-N-16x30.step +N16-30SDB,N,16,30,,,SDB,,MS-N-16x30.step +N16-30SDBU,N,16,30,,,SDB,U,MS-N-16x30.step +N16-30SDBCM,N,16,30,,,SDB,CM,MS-N-16x30.step +N16-30ME,N,16,30,M,E,,,MS-N-16x30.step +N16-30MEU,N,16,30,M,E,,U,MS-N-16x30.step +N16-30MECM,N,16,30,M,E,,CM,MS-N-16x30.step +N16-30MELB,N,16,30,M,E,LB,,MS-N-16x30.step +N16-30MELBU,N,16,30,M,E,LB,U,MS-N-16x30.step +N16-30MELBCM,N,16,30,M,E,LB,CM,MS-N-16x30.step +N16-30MEFA,N,16,30,M,E,FA,,MS-N-16x30.step +N16-30MEFAU,N,16,30,M,E,FA,U,MS-N-16x30.step +N16-30MEFACM,N,16,30,M,E,FA,CM,MS-N-16x30.step +N16-30MEFB,N,16,30,M,E,FB,,MS-N-16x30.step +N16-30MEFBU,N,16,30,M,E,FB,U,MS-N-16x30.step +N16-30MEFBCM,N,16,30,M,E,FB,CM,MS-N-16x30.step +N16-30MESDB,N,16,30,M,E,SDB,,MS-N-16x30.step +N16-30MESDBU,N,16,30,M,E,SDB,U,MS-N-16x30.step +N16-30MESDBCM,N,16,30,M,E,SDB,CM,MS-N-16x30.step +N16-30M,N,16,30,M,,,,MS-N-16x30.step +N16-30MU,N,16,30,M,,,U,MS-N-16x30.step +N16-30MCM,N,16,30,M,,,CM,MS-N-16x30.step +N16-30MLB,N,16,30,M,,LB,,MS-N-16x30.step +N16-30MLBU,N,16,30,M,,LB,U,MS-N-16x30.step +N16-30MLBCM,N,16,30,M,,LB,CM,MS-N-16x30.step +N16-30MFA,N,16,30,M,,FA,,MS-N-16x30.step +N16-30MFAU,N,16,30,M,,FA,U,MS-N-16x30.step +N16-30MFACM,N,16,30,M,,FA,CM,MS-N-16x30.step +N16-30MFB,N,16,30,M,,FB,,MS-N-16x30.step +N16-30MFBU,N,16,30,M,,FB,U,MS-N-16x30.step +N16-30MFBCM,N,16,30,M,,FB,CM,MS-N-16x30.step +N16-30MSDB,N,16,30,M,,SDB,,MS-N-16x30.step +N16-30MSDBU,N,16,30,M,,SDB,U,MS-N-16x30.step +N16-30MSDBCM,N,16,30,M,,SDB,CM,MS-N-16x30.step +N16-50E,N,16,50,,E,,,MS-N-16x50.step +N16-50EU,N,16,50,,E,,U,MS-N-16x50.step +N16-50ECM,N,16,50,,E,,CM,MS-N-16x50.step +N16-50ELB,N,16,50,,E,LB,,MS-N-16x50.step +N16-50ELBU,N,16,50,,E,LB,U,MS-N-16x50.step +N16-50ELBCM,N,16,50,,E,LB,CM,MS-N-16x50.step +N16-50EFA,N,16,50,,E,FA,,MS-N-16x50.step +N16-50EFAU,N,16,50,,E,FA,U,MS-N-16x50.step +N16-50EFACM,N,16,50,,E,FA,CM,MS-N-16x50.step +N16-50EFB,N,16,50,,E,FB,,MS-N-16x50.step +N16-50EFBU,N,16,50,,E,FB,U,MS-N-16x50.step +N16-50EFBCM,N,16,50,,E,FB,CM,MS-N-16x50.step +N16-50ESDB,N,16,50,,E,SDB,,MS-N-16x50.step +N16-50ESDBU,N,16,50,,E,SDB,U,MS-N-16x50.step +N16-50ESDBCM,N,16,50,,E,SDB,CM,MS-N-16x50.step +N16-50,N,16,50,,,,,MS-N-16x50.step +N16-50U,N,16,50,,,,U,MS-N-16x50.step +N16-50CM,N,16,50,,,,CM,MS-N-16x50.step +N16-50LB,N,16,50,,,LB,,MS-N-16x50.step +N16-50LBU,N,16,50,,,LB,U,MS-N-16x50.step +N16-50LBCM,N,16,50,,,LB,CM,MS-N-16x50.step +N16-50FA,N,16,50,,,FA,,MS-N-16x50.step +N16-50FAU,N,16,50,,,FA,U,MS-N-16x50.step +N16-50FACM,N,16,50,,,FA,CM,MS-N-16x50.step +N16-50FB,N,16,50,,,FB,,MS-N-16x50.step +N16-50FBU,N,16,50,,,FB,U,MS-N-16x50.step +N16-50FBCM,N,16,50,,,FB,CM,MS-N-16x50.step +N16-50SDB,N,16,50,,,SDB,,MS-N-16x50.step +N16-50SDBU,N,16,50,,,SDB,U,MS-N-16x50.step +N16-50SDBCM,N,16,50,,,SDB,CM,MS-N-16x50.step +N16-50ME,N,16,50,M,E,,,MS-N-16x50.step +N16-50MEU,N,16,50,M,E,,U,MS-N-16x50.step +N16-50MECM,N,16,50,M,E,,CM,MS-N-16x50.step +N16-50MELB,N,16,50,M,E,LB,,MS-N-16x50.step +N16-50MELBU,N,16,50,M,E,LB,U,MS-N-16x50.step +N16-50MELBCM,N,16,50,M,E,LB,CM,MS-N-16x50.step +N16-50MEFA,N,16,50,M,E,FA,,MS-N-16x50.step +N16-50MEFAU,N,16,50,M,E,FA,U,MS-N-16x50.step +N16-50MEFACM,N,16,50,M,E,FA,CM,MS-N-16x50.step +N16-50MEFB,N,16,50,M,E,FB,,MS-N-16x50.step +N16-50MEFBU,N,16,50,M,E,FB,U,MS-N-16x50.step +N16-50MEFBCM,N,16,50,M,E,FB,CM,MS-N-16x50.step +N16-50MESDB,N,16,50,M,E,SDB,,MS-N-16x50.step +N16-50MESDBU,N,16,50,M,E,SDB,U,MS-N-16x50.step +N16-50MESDBCM,N,16,50,M,E,SDB,CM,MS-N-16x50.step +N16-50M,N,16,50,M,,,,MS-N-16x50.step +N16-50MU,N,16,50,M,,,U,MS-N-16x50.step +N16-50MCM,N,16,50,M,,,CM,MS-N-16x50.step +N16-50MLB,N,16,50,M,,LB,,MS-N-16x50.step +N16-50MLBU,N,16,50,M,,LB,U,MS-N-16x50.step +N16-50MLBCM,N,16,50,M,,LB,CM,MS-N-16x50.step +N16-50MFA,N,16,50,M,,FA,,MS-N-16x50.step +N16-50MFAU,N,16,50,M,,FA,U,MS-N-16x50.step +N16-50MFACM,N,16,50,M,,FA,CM,MS-N-16x50.step +N16-50MFB,N,16,50,M,,FB,,MS-N-16x50.step +N16-50MFBU,N,16,50,M,,FB,U,MS-N-16x50.step +N16-50MFBCM,N,16,50,M,,FB,CM,MS-N-16x50.step +N16-50MSDB,N,16,50,M,,SDB,,MS-N-16x50.step +N16-50MSDBU,N,16,50,M,,SDB,U,MS-N-16x50.step +N16-50MSDBCM,N,16,50,M,,SDB,CM,MS-N-16x50.step +N16-75E,N,16,75,,E,,,MS-N-16x75.step +N16-75EU,N,16,75,,E,,U,MS-N-16x75.step +N16-75ECM,N,16,75,,E,,CM,MS-N-16x75.step +N16-75ELB,N,16,75,,E,LB,,MS-N-16x75.step +N16-75ELBU,N,16,75,,E,LB,U,MS-N-16x75.step +N16-75ELBCM,N,16,75,,E,LB,CM,MS-N-16x75.step +N16-75EFA,N,16,75,,E,FA,,MS-N-16x75.step +N16-75EFAU,N,16,75,,E,FA,U,MS-N-16x75.step +N16-75EFACM,N,16,75,,E,FA,CM,MS-N-16x75.step +N16-75EFB,N,16,75,,E,FB,,MS-N-16x75.step +N16-75EFBU,N,16,75,,E,FB,U,MS-N-16x75.step +N16-75EFBCM,N,16,75,,E,FB,CM,MS-N-16x75.step +N16-75ESDB,N,16,75,,E,SDB,,MS-N-16x75.step +N16-75ESDBU,N,16,75,,E,SDB,U,MS-N-16x75.step +N16-75ESDBCM,N,16,75,,E,SDB,CM,MS-N-16x75.step +N16-75,N,16,75,,,,,MS-N-16x75.step +N16-75U,N,16,75,,,,U,MS-N-16x75.step +N16-75CM,N,16,75,,,,CM,MS-N-16x75.step +N16-75LB,N,16,75,,,LB,,MS-N-16x75.step +N16-75LBU,N,16,75,,,LB,U,MS-N-16x75.step +N16-75LBCM,N,16,75,,,LB,CM,MS-N-16x75.step +N16-75FA,N,16,75,,,FA,,MS-N-16x75.step +N16-75FAU,N,16,75,,,FA,U,MS-N-16x75.step +N16-75FACM,N,16,75,,,FA,CM,MS-N-16x75.step +N16-75FB,N,16,75,,,FB,,MS-N-16x75.step +N16-75FBU,N,16,75,,,FB,U,MS-N-16x75.step +N16-75FBCM,N,16,75,,,FB,CM,MS-N-16x75.step +N16-75SDB,N,16,75,,,SDB,,MS-N-16x75.step +N16-75SDBU,N,16,75,,,SDB,U,MS-N-16x75.step +N16-75SDBCM,N,16,75,,,SDB,CM,MS-N-16x75.step +N16-75ME,N,16,75,M,E,,,MS-N-16x75.step +N16-75MEU,N,16,75,M,E,,U,MS-N-16x75.step +N16-75MECM,N,16,75,M,E,,CM,MS-N-16x75.step +N16-75MELB,N,16,75,M,E,LB,,MS-N-16x75.step +N16-75MELBU,N,16,75,M,E,LB,U,MS-N-16x75.step +N16-75MELBCM,N,16,75,M,E,LB,CM,MS-N-16x75.step +N16-75MEFA,N,16,75,M,E,FA,,MS-N-16x75.step +N16-75MEFAU,N,16,75,M,E,FA,U,MS-N-16x75.step +N16-75MEFACM,N,16,75,M,E,FA,CM,MS-N-16x75.step +N16-75MEFB,N,16,75,M,E,FB,,MS-N-16x75.step +N16-75MEFBU,N,16,75,M,E,FB,U,MS-N-16x75.step +N16-75MEFBCM,N,16,75,M,E,FB,CM,MS-N-16x75.step +N16-75MESDB,N,16,75,M,E,SDB,,MS-N-16x75.step +N16-75MESDBU,N,16,75,M,E,SDB,U,MS-N-16x75.step +N16-75MESDBCM,N,16,75,M,E,SDB,CM,MS-N-16x75.step +N16-75M,N,16,75,M,,,,MS-N-16x75.step +N16-75MU,N,16,75,M,,,U,MS-N-16x75.step +N16-75MCM,N,16,75,M,,,CM,MS-N-16x75.step +N16-75MLB,N,16,75,M,,LB,,MS-N-16x75.step +N16-75MLBU,N,16,75,M,,LB,U,MS-N-16x75.step +N16-75MLBCM,N,16,75,M,,LB,CM,MS-N-16x75.step +N16-75MFA,N,16,75,M,,FA,,MS-N-16x75.step +N16-75MFAU,N,16,75,M,,FA,U,MS-N-16x75.step +N16-75MFACM,N,16,75,M,,FA,CM,MS-N-16x75.step +N16-75MFB,N,16,75,M,,FB,,MS-N-16x75.step +N16-75MFBU,N,16,75,M,,FB,U,MS-N-16x75.step +N16-75MFBCM,N,16,75,M,,FB,CM,MS-N-16x75.step +N16-75MSDB,N,16,75,M,,SDB,,MS-N-16x75.step +N16-75MSDBU,N,16,75,M,,SDB,U,MS-N-16x75.step +N16-75MSDBCM,N,16,75,M,,SDB,CM,MS-N-16x75.step +N16-100E,N,16,100,,E,,,MS-N-16x100.step +N16-100EU,N,16,100,,E,,U,MS-N-16x100.step +N16-100ECM,N,16,100,,E,,CM,MS-N-16x100.step +N16-100ELB,N,16,100,,E,LB,,MS-N-16x100.step +N16-100ELBU,N,16,100,,E,LB,U,MS-N-16x100.step +N16-100ELBCM,N,16,100,,E,LB,CM,MS-N-16x100.step +N16-100EFA,N,16,100,,E,FA,,MS-N-16x100.step +N16-100EFAU,N,16,100,,E,FA,U,MS-N-16x100.step +N16-100EFACM,N,16,100,,E,FA,CM,MS-N-16x100.step +N16-100EFB,N,16,100,,E,FB,,MS-N-16x100.step +N16-100EFBU,N,16,100,,E,FB,U,MS-N-16x100.step +N16-100EFBCM,N,16,100,,E,FB,CM,MS-N-16x100.step +N16-100ESDB,N,16,100,,E,SDB,,MS-N-16x100.step +N16-100ESDBU,N,16,100,,E,SDB,U,MS-N-16x100.step +N16-100ESDBCM,N,16,100,,E,SDB,CM,MS-N-16x100.step +N16-100,N,16,100,,,,,MS-N-16x100.step +N16-100U,N,16,100,,,,U,MS-N-16x100.step +N16-100CM,N,16,100,,,,CM,MS-N-16x100.step +N16-100LB,N,16,100,,,LB,,MS-N-16x100.step +N16-100LBU,N,16,100,,,LB,U,MS-N-16x100.step +N16-100LBCM,N,16,100,,,LB,CM,MS-N-16x100.step +N16-100FA,N,16,100,,,FA,,MS-N-16x100.step +N16-100FAU,N,16,100,,,FA,U,MS-N-16x100.step +N16-100FACM,N,16,100,,,FA,CM,MS-N-16x100.step +N16-100FB,N,16,100,,,FB,,MS-N-16x100.step +N16-100FBU,N,16,100,,,FB,U,MS-N-16x100.step +N16-100FBCM,N,16,100,,,FB,CM,MS-N-16x100.step +N16-100SDB,N,16,100,,,SDB,,MS-N-16x100.step +N16-100SDBU,N,16,100,,,SDB,U,MS-N-16x100.step +N16-100SDBCM,N,16,100,,,SDB,CM,MS-N-16x100.step +N16-100ME,N,16,100,M,E,,,MS-N-16x100.step +N16-100MEU,N,16,100,M,E,,U,MS-N-16x100.step +N16-100MECM,N,16,100,M,E,,CM,MS-N-16x100.step +N16-100MELB,N,16,100,M,E,LB,,MS-N-16x100.step +N16-100MELBU,N,16,100,M,E,LB,U,MS-N-16x100.step +N16-100MELBCM,N,16,100,M,E,LB,CM,MS-N-16x100.step +N16-100MEFA,N,16,100,M,E,FA,,MS-N-16x100.step +N16-100MEFAU,N,16,100,M,E,FA,U,MS-N-16x100.step +N16-100MEFACM,N,16,100,M,E,FA,CM,MS-N-16x100.step +N16-100MEFB,N,16,100,M,E,FB,,MS-N-16x100.step +N16-100MEFBU,N,16,100,M,E,FB,U,MS-N-16x100.step +N16-100MEFBCM,N,16,100,M,E,FB,CM,MS-N-16x100.step +N16-100MESDB,N,16,100,M,E,SDB,,MS-N-16x100.step +N16-100MESDBU,N,16,100,M,E,SDB,U,MS-N-16x100.step +N16-100MESDBCM,N,16,100,M,E,SDB,CM,MS-N-16x100.step +N16-100M,N,16,100,M,,,,MS-N-16x100.step +N16-100MU,N,16,100,M,,,U,MS-N-16x100.step +N16-100MCM,N,16,100,M,,,CM,MS-N-16x100.step +N16-100MLB,N,16,100,M,,LB,,MS-N-16x100.step +N16-100MLBU,N,16,100,M,,LB,U,MS-N-16x100.step +N16-100MLBCM,N,16,100,M,,LB,CM,MS-N-16x100.step +N16-100MFA,N,16,100,M,,FA,,MS-N-16x100.step +N16-100MFAU,N,16,100,M,,FA,U,MS-N-16x100.step +N16-100MFACM,N,16,100,M,,FA,CM,MS-N-16x100.step +N16-100MFB,N,16,100,M,,FB,,MS-N-16x100.step +N16-100MFBU,N,16,100,M,,FB,U,MS-N-16x100.step +N16-100MFBCM,N,16,100,M,,FB,CM,MS-N-16x100.step +N16-100MSDB,N,16,100,M,,SDB,,MS-N-16x100.step +N16-100MSDBU,N,16,100,M,,SDB,U,MS-N-16x100.step +N16-100MSDBCM,N,16,100,M,,SDB,CM,MS-N-16x100.step +N20-10E,N,20,10,,E,,,MS-N-20x10.step +N20-10EU,N,20,10,,E,,U,MS-N-20x10.step +N20-10ECM,N,20,10,,E,,CM,MS-N-20x10.step +N20-10ELB,N,20,10,,E,LB,,MS-N-20x10.step +N20-10ELBU,N,20,10,,E,LB,U,MS-N-20x10.step +N20-10ELBCM,N,20,10,,E,LB,CM,MS-N-20x10.step +N20-10EFA,N,20,10,,E,FA,,MS-N-20x10.step +N20-10EFAU,N,20,10,,E,FA,U,MS-N-20x10.step +N20-10EFACM,N,20,10,,E,FA,CM,MS-N-20x10.step +N20-10EFB,N,20,10,,E,FB,,MS-N-20x10.step +N20-10EFBU,N,20,10,,E,FB,U,MS-N-20x10.step +N20-10EFBCM,N,20,10,,E,FB,CM,MS-N-20x10.step +N20-10ESDB,N,20,10,,E,SDB,,MS-N-20x10.step +N20-10ESDBU,N,20,10,,E,SDB,U,MS-N-20x10.step +N20-10ESDBCM,N,20,10,,E,SDB,CM,MS-N-20x10.step +N20-10,N,20,10,,,,,MS-N-20x10.step +N20-10U,N,20,10,,,,U,MS-N-20x10.step +N20-10CM,N,20,10,,,,CM,MS-N-20x10.step +N20-10LB,N,20,10,,,LB,,MS-N-20x10.step +N20-10LBU,N,20,10,,,LB,U,MS-N-20x10.step +N20-10LBCM,N,20,10,,,LB,CM,MS-N-20x10.step +N20-10FA,N,20,10,,,FA,,MS-N-20x10.step +N20-10FAU,N,20,10,,,FA,U,MS-N-20x10.step +N20-10FACM,N,20,10,,,FA,CM,MS-N-20x10.step +N20-10FB,N,20,10,,,FB,,MS-N-20x10.step +N20-10FBU,N,20,10,,,FB,U,MS-N-20x10.step +N20-10FBCM,N,20,10,,,FB,CM,MS-N-20x10.step +N20-10SDB,N,20,10,,,SDB,,MS-N-20x10.step +N20-10SDBU,N,20,10,,,SDB,U,MS-N-20x10.step +N20-10SDBCM,N,20,10,,,SDB,CM,MS-N-20x10.step +N20-10ME,N,20,10,M,E,,,MS-N-20x10.step +N20-10MEU,N,20,10,M,E,,U,MS-N-20x10.step +N20-10MECM,N,20,10,M,E,,CM,MS-N-20x10.step +N20-10MELB,N,20,10,M,E,LB,,MS-N-20x10.step +N20-10MELBU,N,20,10,M,E,LB,U,MS-N-20x10.step +N20-10MELBCM,N,20,10,M,E,LB,CM,MS-N-20x10.step +N20-10MEFA,N,20,10,M,E,FA,,MS-N-20x10.step +N20-10MEFAU,N,20,10,M,E,FA,U,MS-N-20x10.step +N20-10MEFACM,N,20,10,M,E,FA,CM,MS-N-20x10.step +N20-10MEFB,N,20,10,M,E,FB,,MS-N-20x10.step +N20-10MEFBU,N,20,10,M,E,FB,U,MS-N-20x10.step +N20-10MEFBCM,N,20,10,M,E,FB,CM,MS-N-20x10.step +N20-10MESDB,N,20,10,M,E,SDB,,MS-N-20x10.step +N20-10MESDBU,N,20,10,M,E,SDB,U,MS-N-20x10.step +N20-10MESDBCM,N,20,10,M,E,SDB,CM,MS-N-20x10.step +N20-10M,N,20,10,M,,,,MS-N-20x10.step +N20-10MU,N,20,10,M,,,U,MS-N-20x10.step +N20-10MCM,N,20,10,M,,,CM,MS-N-20x10.step +N20-10MLB,N,20,10,M,,LB,,MS-N-20x10.step +N20-10MLBU,N,20,10,M,,LB,U,MS-N-20x10.step +N20-10MLBCM,N,20,10,M,,LB,CM,MS-N-20x10.step +N20-10MFA,N,20,10,M,,FA,,MS-N-20x10.step +N20-10MFAU,N,20,10,M,,FA,U,MS-N-20x10.step +N20-10MFACM,N,20,10,M,,FA,CM,MS-N-20x10.step +N20-10MFB,N,20,10,M,,FB,,MS-N-20x10.step +N20-10MFBU,N,20,10,M,,FB,U,MS-N-20x10.step +N20-10MFBCM,N,20,10,M,,FB,CM,MS-N-20x10.step +N20-10MSDB,N,20,10,M,,SDB,,MS-N-20x10.step +N20-10MSDBU,N,20,10,M,,SDB,U,MS-N-20x10.step +N20-10MSDBCM,N,20,10,M,,SDB,CM,MS-N-20x10.step +N20-20E,N,20,20,,E,,,MS-N-20x20.step +N20-20EU,N,20,20,,E,,U,MS-N-20x20.step +N20-20ECM,N,20,20,,E,,CM,MS-N-20x20.step +N20-20ELB,N,20,20,,E,LB,,MS-N-20x20.step +N20-20ELBU,N,20,20,,E,LB,U,MS-N-20x20.step +N20-20ELBCM,N,20,20,,E,LB,CM,MS-N-20x20.step +N20-20EFA,N,20,20,,E,FA,,MS-N-20x20.step +N20-20EFAU,N,20,20,,E,FA,U,MS-N-20x20.step +N20-20EFACM,N,20,20,,E,FA,CM,MS-N-20x20.step +N20-20EFB,N,20,20,,E,FB,,MS-N-20x20.step +N20-20EFBU,N,20,20,,E,FB,U,MS-N-20x20.step +N20-20EFBCM,N,20,20,,E,FB,CM,MS-N-20x20.step +N20-20ESDB,N,20,20,,E,SDB,,MS-N-20x20.step +N20-20ESDBU,N,20,20,,E,SDB,U,MS-N-20x20.step +N20-20ESDBCM,N,20,20,,E,SDB,CM,MS-N-20x20.step +N20-20,N,20,20,,,,,MS-N-20x20.step +N20-20U,N,20,20,,,,U,MS-N-20x20.step +N20-20CM,N,20,20,,,,CM,MS-N-20x20.step +N20-20LB,N,20,20,,,LB,,MS-N-20x20.step +N20-20LBU,N,20,20,,,LB,U,MS-N-20x20.step +N20-20LBCM,N,20,20,,,LB,CM,MS-N-20x20.step +N20-20FA,N,20,20,,,FA,,MS-N-20x20.step +N20-20FAU,N,20,20,,,FA,U,MS-N-20x20.step +N20-20FACM,N,20,20,,,FA,CM,MS-N-20x20.step +N20-20FB,N,20,20,,,FB,,MS-N-20x20.step +N20-20FBU,N,20,20,,,FB,U,MS-N-20x20.step +N20-20FBCM,N,20,20,,,FB,CM,MS-N-20x20.step +N20-20SDB,N,20,20,,,SDB,,MS-N-20x20.step +N20-20SDBU,N,20,20,,,SDB,U,MS-N-20x20.step +N20-20SDBCM,N,20,20,,,SDB,CM,MS-N-20x20.step +N20-20ME,N,20,20,M,E,,,MS-N-20x20.step +N20-20MEU,N,20,20,M,E,,U,MS-N-20x20.step +N20-20MECM,N,20,20,M,E,,CM,MS-N-20x20.step +N20-20MELB,N,20,20,M,E,LB,,MS-N-20x20.step +N20-20MELBU,N,20,20,M,E,LB,U,MS-N-20x20.step +N20-20MELBCM,N,20,20,M,E,LB,CM,MS-N-20x20.step +N20-20MEFA,N,20,20,M,E,FA,,MS-N-20x20.step +N20-20MEFAU,N,20,20,M,E,FA,U,MS-N-20x20.step +N20-20MEFACM,N,20,20,M,E,FA,CM,MS-N-20x20.step +N20-20MEFB,N,20,20,M,E,FB,,MS-N-20x20.step +N20-20MEFBU,N,20,20,M,E,FB,U,MS-N-20x20.step +N20-20MEFBCM,N,20,20,M,E,FB,CM,MS-N-20x20.step +N20-20MESDB,N,20,20,M,E,SDB,,MS-N-20x20.step +N20-20MESDBU,N,20,20,M,E,SDB,U,MS-N-20x20.step +N20-20MESDBCM,N,20,20,M,E,SDB,CM,MS-N-20x20.step +N20-20M,N,20,20,M,,,,MS-N-20x20.step +N20-20MU,N,20,20,M,,,U,MS-N-20x20.step +N20-20MCM,N,20,20,M,,,CM,MS-N-20x20.step +N20-20MLB,N,20,20,M,,LB,,MS-N-20x20.step +N20-20MLBU,N,20,20,M,,LB,U,MS-N-20x20.step +N20-20MLBCM,N,20,20,M,,LB,CM,MS-N-20x20.step +N20-20MFA,N,20,20,M,,FA,,MS-N-20x20.step +N20-20MFAU,N,20,20,M,,FA,U,MS-N-20x20.step +N20-20MFACM,N,20,20,M,,FA,CM,MS-N-20x20.step +N20-20MFB,N,20,20,M,,FB,,MS-N-20x20.step +N20-20MFBU,N,20,20,M,,FB,U,MS-N-20x20.step +N20-20MFBCM,N,20,20,M,,FB,CM,MS-N-20x20.step +N20-20MSDB,N,20,20,M,,SDB,,MS-N-20x20.step +N20-20MSDBU,N,20,20,M,,SDB,U,MS-N-20x20.step +N20-20MSDBCM,N,20,20,M,,SDB,CM,MS-N-20x20.step +N20-30E,N,20,30,,E,,,MS-N-20x30.step +N20-30EU,N,20,30,,E,,U,MS-N-20x30.step +N20-30ECM,N,20,30,,E,,CM,MS-N-20x30.step +N20-30ELB,N,20,30,,E,LB,,MS-N-20x30.step +N20-30ELBU,N,20,30,,E,LB,U,MS-N-20x30.step +N20-30ELBCM,N,20,30,,E,LB,CM,MS-N-20x30.step +N20-30EFA,N,20,30,,E,FA,,MS-N-20x30.step +N20-30EFAU,N,20,30,,E,FA,U,MS-N-20x30.step +N20-30EFACM,N,20,30,,E,FA,CM,MS-N-20x30.step +N20-30EFB,N,20,30,,E,FB,,MS-N-20x30.step +N20-30EFBU,N,20,30,,E,FB,U,MS-N-20x30.step +N20-30EFBCM,N,20,30,,E,FB,CM,MS-N-20x30.step +N20-30ESDB,N,20,30,,E,SDB,,MS-N-20x30.step +N20-30ESDBU,N,20,30,,E,SDB,U,MS-N-20x30.step +N20-30ESDBCM,N,20,30,,E,SDB,CM,MS-N-20x30.step +N20-30,N,20,30,,,,,MS-N-20x30.step +N20-30U,N,20,30,,,,U,MS-N-20x30.step +N20-30CM,N,20,30,,,,CM,MS-N-20x30.step +N20-30LB,N,20,30,,,LB,,MS-N-20x30.step +N20-30LBU,N,20,30,,,LB,U,MS-N-20x30.step +N20-30LBCM,N,20,30,,,LB,CM,MS-N-20x30.step +N20-30FA,N,20,30,,,FA,,MS-N-20x30.step +N20-30FAU,N,20,30,,,FA,U,MS-N-20x30.step +N20-30FACM,N,20,30,,,FA,CM,MS-N-20x30.step +N20-30FB,N,20,30,,,FB,,MS-N-20x30.step +N20-30FBU,N,20,30,,,FB,U,MS-N-20x30.step +N20-30FBCM,N,20,30,,,FB,CM,MS-N-20x30.step +N20-30SDB,N,20,30,,,SDB,,MS-N-20x30.step +N20-30SDBU,N,20,30,,,SDB,U,MS-N-20x30.step +N20-30SDBCM,N,20,30,,,SDB,CM,MS-N-20x30.step +N20-30ME,N,20,30,M,E,,,MS-N-20x30.step +N20-30MEU,N,20,30,M,E,,U,MS-N-20x30.step +N20-30MECM,N,20,30,M,E,,CM,MS-N-20x30.step +N20-30MELB,N,20,30,M,E,LB,,MS-N-20x30.step +N20-30MELBU,N,20,30,M,E,LB,U,MS-N-20x30.step +N20-30MELBCM,N,20,30,M,E,LB,CM,MS-N-20x30.step +N20-30MEFA,N,20,30,M,E,FA,,MS-N-20x30.step +N20-30MEFAU,N,20,30,M,E,FA,U,MS-N-20x30.step +N20-30MEFACM,N,20,30,M,E,FA,CM,MS-N-20x30.step +N20-30MEFB,N,20,30,M,E,FB,,MS-N-20x30.step +N20-30MEFBU,N,20,30,M,E,FB,U,MS-N-20x30.step +N20-30MEFBCM,N,20,30,M,E,FB,CM,MS-N-20x30.step +N20-30MESDB,N,20,30,M,E,SDB,,MS-N-20x30.step +N20-30MESDBU,N,20,30,M,E,SDB,U,MS-N-20x30.step +N20-30MESDBCM,N,20,30,M,E,SDB,CM,MS-N-20x30.step +N20-30M,N,20,30,M,,,,MS-N-20x30.step +N20-30MU,N,20,30,M,,,U,MS-N-20x30.step +N20-30MCM,N,20,30,M,,,CM,MS-N-20x30.step +N20-30MLB,N,20,30,M,,LB,,MS-N-20x30.step +N20-30MLBU,N,20,30,M,,LB,U,MS-N-20x30.step +N20-30MLBCM,N,20,30,M,,LB,CM,MS-N-20x30.step +N20-30MFA,N,20,30,M,,FA,,MS-N-20x30.step +N20-30MFAU,N,20,30,M,,FA,U,MS-N-20x30.step +N20-30MFACM,N,20,30,M,,FA,CM,MS-N-20x30.step +N20-30MFB,N,20,30,M,,FB,,MS-N-20x30.step +N20-30MFBU,N,20,30,M,,FB,U,MS-N-20x30.step +N20-30MFBCM,N,20,30,M,,FB,CM,MS-N-20x30.step +N20-30MSDB,N,20,30,M,,SDB,,MS-N-20x30.step +N20-30MSDBU,N,20,30,M,,SDB,U,MS-N-20x30.step +N20-30MSDBCM,N,20,30,M,,SDB,CM,MS-N-20x30.step +N20-50E,N,20,50,,E,,,MS-N-20x50.step +N20-50EU,N,20,50,,E,,U,MS-N-20x50.step +N20-50ECM,N,20,50,,E,,CM,MS-N-20x50.step +N20-50ELB,N,20,50,,E,LB,,MS-N-20x50.step +N20-50ELBU,N,20,50,,E,LB,U,MS-N-20x50.step +N20-50ELBCM,N,20,50,,E,LB,CM,MS-N-20x50.step +N20-50EFA,N,20,50,,E,FA,,MS-N-20x50.step +N20-50EFAU,N,20,50,,E,FA,U,MS-N-20x50.step +N20-50EFACM,N,20,50,,E,FA,CM,MS-N-20x50.step +N20-50EFB,N,20,50,,E,FB,,MS-N-20x50.step +N20-50EFBU,N,20,50,,E,FB,U,MS-N-20x50.step +N20-50EFBCM,N,20,50,,E,FB,CM,MS-N-20x50.step +N20-50ESDB,N,20,50,,E,SDB,,MS-N-20x50.step +N20-50ESDBU,N,20,50,,E,SDB,U,MS-N-20x50.step +N20-50ESDBCM,N,20,50,,E,SDB,CM,MS-N-20x50.step +N20-50,N,20,50,,,,,MS-N-20x50.step +N20-50U,N,20,50,,,,U,MS-N-20x50.step +N20-50CM,N,20,50,,,,CM,MS-N-20x50.step +N20-50LB,N,20,50,,,LB,,MS-N-20x50.step +N20-50LBU,N,20,50,,,LB,U,MS-N-20x50.step +N20-50LBCM,N,20,50,,,LB,CM,MS-N-20x50.step +N20-50FA,N,20,50,,,FA,,MS-N-20x50.step +N20-50FAU,N,20,50,,,FA,U,MS-N-20x50.step +N20-50FACM,N,20,50,,,FA,CM,MS-N-20x50.step +N20-50FB,N,20,50,,,FB,,MS-N-20x50.step +N20-50FBU,N,20,50,,,FB,U,MS-N-20x50.step +N20-50FBCM,N,20,50,,,FB,CM,MS-N-20x50.step +N20-50SDB,N,20,50,,,SDB,,MS-N-20x50.step +N20-50SDBU,N,20,50,,,SDB,U,MS-N-20x50.step +N20-50SDBCM,N,20,50,,,SDB,CM,MS-N-20x50.step +N20-50ME,N,20,50,M,E,,,MS-N-20x50.step +N20-50MEU,N,20,50,M,E,,U,MS-N-20x50.step +N20-50MECM,N,20,50,M,E,,CM,MS-N-20x50.step +N20-50MELB,N,20,50,M,E,LB,,MS-N-20x50.step +N20-50MELBU,N,20,50,M,E,LB,U,MS-N-20x50.step +N20-50MELBCM,N,20,50,M,E,LB,CM,MS-N-20x50.step +N20-50MEFA,N,20,50,M,E,FA,,MS-N-20x50.step +N20-50MEFAU,N,20,50,M,E,FA,U,MS-N-20x50.step +N20-50MEFACM,N,20,50,M,E,FA,CM,MS-N-20x50.step +N20-50MEFB,N,20,50,M,E,FB,,MS-N-20x50.step +N20-50MEFBU,N,20,50,M,E,FB,U,MS-N-20x50.step +N20-50MEFBCM,N,20,50,M,E,FB,CM,MS-N-20x50.step +N20-50MESDB,N,20,50,M,E,SDB,,MS-N-20x50.step +N20-50MESDBU,N,20,50,M,E,SDB,U,MS-N-20x50.step +N20-50MESDBCM,N,20,50,M,E,SDB,CM,MS-N-20x50.step +N20-50M,N,20,50,M,,,,MS-N-20x50.step +N20-50MU,N,20,50,M,,,U,MS-N-20x50.step +N20-50MCM,N,20,50,M,,,CM,MS-N-20x50.step +N20-50MLB,N,20,50,M,,LB,,MS-N-20x50.step +N20-50MLBU,N,20,50,M,,LB,U,MS-N-20x50.step +N20-50MLBCM,N,20,50,M,,LB,CM,MS-N-20x50.step +N20-50MFA,N,20,50,M,,FA,,MS-N-20x50.step +N20-50MFAU,N,20,50,M,,FA,U,MS-N-20x50.step +N20-50MFACM,N,20,50,M,,FA,CM,MS-N-20x50.step +N20-50MFB,N,20,50,M,,FB,,MS-N-20x50.step +N20-50MFBU,N,20,50,M,,FB,U,MS-N-20x50.step +N20-50MFBCM,N,20,50,M,,FB,CM,MS-N-20x50.step +N20-50MSDB,N,20,50,M,,SDB,,MS-N-20x50.step +N20-50MSDBU,N,20,50,M,,SDB,U,MS-N-20x50.step +N20-50MSDBCM,N,20,50,M,,SDB,CM,MS-N-20x50.step +N20-75E,N,20,75,,E,,,MS-N-20x75.step +N20-75EU,N,20,75,,E,,U,MS-N-20x75.step +N20-75ECM,N,20,75,,E,,CM,MS-N-20x75.step +N20-75ELB,N,20,75,,E,LB,,MS-N-20x75.step +N20-75ELBU,N,20,75,,E,LB,U,MS-N-20x75.step +N20-75ELBCM,N,20,75,,E,LB,CM,MS-N-20x75.step +N20-75EFA,N,20,75,,E,FA,,MS-N-20x75.step +N20-75EFAU,N,20,75,,E,FA,U,MS-N-20x75.step +N20-75EFACM,N,20,75,,E,FA,CM,MS-N-20x75.step +N20-75EFB,N,20,75,,E,FB,,MS-N-20x75.step +N20-75EFBU,N,20,75,,E,FB,U,MS-N-20x75.step +N20-75EFBCM,N,20,75,,E,FB,CM,MS-N-20x75.step +N20-75ESDB,N,20,75,,E,SDB,,MS-N-20x75.step +N20-75ESDBU,N,20,75,,E,SDB,U,MS-N-20x75.step +N20-75ESDBCM,N,20,75,,E,SDB,CM,MS-N-20x75.step +N20-75,N,20,75,,,,,MS-N-20x75.step +N20-75U,N,20,75,,,,U,MS-N-20x75.step +N20-75CM,N,20,75,,,,CM,MS-N-20x75.step +N20-75LB,N,20,75,,,LB,,MS-N-20x75.step +N20-75LBU,N,20,75,,,LB,U,MS-N-20x75.step +N20-75LBCM,N,20,75,,,LB,CM,MS-N-20x75.step +N20-75FA,N,20,75,,,FA,,MS-N-20x75.step +N20-75FAU,N,20,75,,,FA,U,MS-N-20x75.step +N20-75FACM,N,20,75,,,FA,CM,MS-N-20x75.step +N20-75FB,N,20,75,,,FB,,MS-N-20x75.step +N20-75FBU,N,20,75,,,FB,U,MS-N-20x75.step +N20-75FBCM,N,20,75,,,FB,CM,MS-N-20x75.step +N20-75SDB,N,20,75,,,SDB,,MS-N-20x75.step +N20-75SDBU,N,20,75,,,SDB,U,MS-N-20x75.step +N20-75SDBCM,N,20,75,,,SDB,CM,MS-N-20x75.step +N20-75ME,N,20,75,M,E,,,MS-N-20x75.step +N20-75MEU,N,20,75,M,E,,U,MS-N-20x75.step +N20-75MECM,N,20,75,M,E,,CM,MS-N-20x75.step +N20-75MELB,N,20,75,M,E,LB,,MS-N-20x75.step +N20-75MELBU,N,20,75,M,E,LB,U,MS-N-20x75.step +N20-75MELBCM,N,20,75,M,E,LB,CM,MS-N-20x75.step +N20-75MEFA,N,20,75,M,E,FA,,MS-N-20x75.step +N20-75MEFAU,N,20,75,M,E,FA,U,MS-N-20x75.step +N20-75MEFACM,N,20,75,M,E,FA,CM,MS-N-20x75.step +N20-75MEFB,N,20,75,M,E,FB,,MS-N-20x75.step +N20-75MEFBU,N,20,75,M,E,FB,U,MS-N-20x75.step +N20-75MEFBCM,N,20,75,M,E,FB,CM,MS-N-20x75.step +N20-75MESDB,N,20,75,M,E,SDB,,MS-N-20x75.step +N20-75MESDBU,N,20,75,M,E,SDB,U,MS-N-20x75.step +N20-75MESDBCM,N,20,75,M,E,SDB,CM,MS-N-20x75.step +N20-75M,N,20,75,M,,,,MS-N-20x75.step +N20-75MU,N,20,75,M,,,U,MS-N-20x75.step +N20-75MCM,N,20,75,M,,,CM,MS-N-20x75.step +N20-75MLB,N,20,75,M,,LB,,MS-N-20x75.step +N20-75MLBU,N,20,75,M,,LB,U,MS-N-20x75.step +N20-75MLBCM,N,20,75,M,,LB,CM,MS-N-20x75.step +N20-75MFA,N,20,75,M,,FA,,MS-N-20x75.step +N20-75MFAU,N,20,75,M,,FA,U,MS-N-20x75.step +N20-75MFACM,N,20,75,M,,FA,CM,MS-N-20x75.step +N20-75MFB,N,20,75,M,,FB,,MS-N-20x75.step +N20-75MFBU,N,20,75,M,,FB,U,MS-N-20x75.step +N20-75MFBCM,N,20,75,M,,FB,CM,MS-N-20x75.step +N20-75MSDB,N,20,75,M,,SDB,,MS-N-20x75.step +N20-75MSDBU,N,20,75,M,,SDB,U,MS-N-20x75.step +N20-75MSDBCM,N,20,75,M,,SDB,CM,MS-N-20x75.step +N20-100E,N,20,100,,E,,,MS-N-20x100.step +N20-100EU,N,20,100,,E,,U,MS-N-20x100.step +N20-100ECM,N,20,100,,E,,CM,MS-N-20x100.step +N20-100ELB,N,20,100,,E,LB,,MS-N-20x100.step +N20-100ELBU,N,20,100,,E,LB,U,MS-N-20x100.step +N20-100ELBCM,N,20,100,,E,LB,CM,MS-N-20x100.step +N20-100EFA,N,20,100,,E,FA,,MS-N-20x100.step +N20-100EFAU,N,20,100,,E,FA,U,MS-N-20x100.step +N20-100EFACM,N,20,100,,E,FA,CM,MS-N-20x100.step +N20-100EFB,N,20,100,,E,FB,,MS-N-20x100.step +N20-100EFBU,N,20,100,,E,FB,U,MS-N-20x100.step +N20-100EFBCM,N,20,100,,E,FB,CM,MS-N-20x100.step +N20-100ESDB,N,20,100,,E,SDB,,MS-N-20x100.step +N20-100ESDBU,N,20,100,,E,SDB,U,MS-N-20x100.step +N20-100ESDBCM,N,20,100,,E,SDB,CM,MS-N-20x100.step +N20-100,N,20,100,,,,,MS-N-20x100.step +N20-100U,N,20,100,,,,U,MS-N-20x100.step +N20-100CM,N,20,100,,,,CM,MS-N-20x100.step +N20-100LB,N,20,100,,,LB,,MS-N-20x100.step +N20-100LBU,N,20,100,,,LB,U,MS-N-20x100.step +N20-100LBCM,N,20,100,,,LB,CM,MS-N-20x100.step +N20-100FA,N,20,100,,,FA,,MS-N-20x100.step +N20-100FAU,N,20,100,,,FA,U,MS-N-20x100.step +N20-100FACM,N,20,100,,,FA,CM,MS-N-20x100.step +N20-100FB,N,20,100,,,FB,,MS-N-20x100.step +N20-100FBU,N,20,100,,,FB,U,MS-N-20x100.step +N20-100FBCM,N,20,100,,,FB,CM,MS-N-20x100.step +N20-100SDB,N,20,100,,,SDB,,MS-N-20x100.step +N20-100SDBU,N,20,100,,,SDB,U,MS-N-20x100.step +N20-100SDBCM,N,20,100,,,SDB,CM,MS-N-20x100.step +N20-100ME,N,20,100,M,E,,,MS-N-20x100.step +N20-100MEU,N,20,100,M,E,,U,MS-N-20x100.step +N20-100MECM,N,20,100,M,E,,CM,MS-N-20x100.step +N20-100MELB,N,20,100,M,E,LB,,MS-N-20x100.step +N20-100MELBU,N,20,100,M,E,LB,U,MS-N-20x100.step +N20-100MELBCM,N,20,100,M,E,LB,CM,MS-N-20x100.step +N20-100MEFA,N,20,100,M,E,FA,,MS-N-20x100.step +N20-100MEFAU,N,20,100,M,E,FA,U,MS-N-20x100.step +N20-100MEFACM,N,20,100,M,E,FA,CM,MS-N-20x100.step +N20-100MEFB,N,20,100,M,E,FB,,MS-N-20x100.step +N20-100MEFBU,N,20,100,M,E,FB,U,MS-N-20x100.step +N20-100MEFBCM,N,20,100,M,E,FB,CM,MS-N-20x100.step +N20-100MESDB,N,20,100,M,E,SDB,,MS-N-20x100.step +N20-100MESDBU,N,20,100,M,E,SDB,U,MS-N-20x100.step +N20-100MESDBCM,N,20,100,M,E,SDB,CM,MS-N-20x100.step +N20-100M,N,20,100,M,,,,MS-N-20x100.step +N20-100MU,N,20,100,M,,,U,MS-N-20x100.step +N20-100MCM,N,20,100,M,,,CM,MS-N-20x100.step +N20-100MLB,N,20,100,M,,LB,,MS-N-20x100.step +N20-100MLBU,N,20,100,M,,LB,U,MS-N-20x100.step +N20-100MLBCM,N,20,100,M,,LB,CM,MS-N-20x100.step +N20-100MFA,N,20,100,M,,FA,,MS-N-20x100.step +N20-100MFAU,N,20,100,M,,FA,U,MS-N-20x100.step +N20-100MFACM,N,20,100,M,,FA,CM,MS-N-20x100.step +N20-100MFB,N,20,100,M,,FB,,MS-N-20x100.step +N20-100MFBU,N,20,100,M,,FB,U,MS-N-20x100.step +N20-100MFBCM,N,20,100,M,,FB,CM,MS-N-20x100.step +N20-100MSDB,N,20,100,M,,SDB,,MS-N-20x100.step +N20-100MSDBU,N,20,100,M,,SDB,U,MS-N-20x100.step +N20-100MSDBCM,N,20,100,M,,SDB,CM,MS-N-20x100.step +N25-10E,N,25,10,,E,,,MS-N-25x10.step +N25-10EU,N,25,10,,E,,U,MS-N-25x10.step +N25-10ECM,N,25,10,,E,,CM,MS-N-25x10.step +N25-10ELB,N,25,10,,E,LB,,MS-N-25x10.step +N25-10ELBU,N,25,10,,E,LB,U,MS-N-25x10.step +N25-10ELBCM,N,25,10,,E,LB,CM,MS-N-25x10.step +N25-10EFA,N,25,10,,E,FA,,MS-N-25x10.step +N25-10EFAU,N,25,10,,E,FA,U,MS-N-25x10.step +N25-10EFACM,N,25,10,,E,FA,CM,MS-N-25x10.step +N25-10EFB,N,25,10,,E,FB,,MS-N-25x10.step +N25-10EFBU,N,25,10,,E,FB,U,MS-N-25x10.step +N25-10EFBCM,N,25,10,,E,FB,CM,MS-N-25x10.step +N25-10ESDB,N,25,10,,E,SDB,,MS-N-25x10.step +N25-10ESDBU,N,25,10,,E,SDB,U,MS-N-25x10.step +N25-10ESDBCM,N,25,10,,E,SDB,CM,MS-N-25x10.step +N25-10,N,25,10,,,,,MS-N-25x10.step +N25-10U,N,25,10,,,,U,MS-N-25x10.step +N25-10CM,N,25,10,,,,CM,MS-N-25x10.step +N25-10LB,N,25,10,,,LB,,MS-N-25x10.step +N25-10LBU,N,25,10,,,LB,U,MS-N-25x10.step +N25-10LBCM,N,25,10,,,LB,CM,MS-N-25x10.step +N25-10FA,N,25,10,,,FA,,MS-N-25x10.step +N25-10FAU,N,25,10,,,FA,U,MS-N-25x10.step +N25-10FACM,N,25,10,,,FA,CM,MS-N-25x10.step +N25-10FB,N,25,10,,,FB,,MS-N-25x10.step +N25-10FBU,N,25,10,,,FB,U,MS-N-25x10.step +N25-10FBCM,N,25,10,,,FB,CM,MS-N-25x10.step +N25-10SDB,N,25,10,,,SDB,,MS-N-25x10.step +N25-10SDBU,N,25,10,,,SDB,U,MS-N-25x10.step +N25-10SDBCM,N,25,10,,,SDB,CM,MS-N-25x10.step +N25-10ME,N,25,10,M,E,,,MS-N-25x10.step +N25-10MEU,N,25,10,M,E,,U,MS-N-25x10.step +N25-10MECM,N,25,10,M,E,,CM,MS-N-25x10.step +N25-10MELB,N,25,10,M,E,LB,,MS-N-25x10.step +N25-10MELBU,N,25,10,M,E,LB,U,MS-N-25x10.step +N25-10MELBCM,N,25,10,M,E,LB,CM,MS-N-25x10.step +N25-10MEFA,N,25,10,M,E,FA,,MS-N-25x10.step +N25-10MEFAU,N,25,10,M,E,FA,U,MS-N-25x10.step +N25-10MEFACM,N,25,10,M,E,FA,CM,MS-N-25x10.step +N25-10MEFB,N,25,10,M,E,FB,,MS-N-25x10.step +N25-10MEFBU,N,25,10,M,E,FB,U,MS-N-25x10.step +N25-10MEFBCM,N,25,10,M,E,FB,CM,MS-N-25x10.step +N25-10MESDB,N,25,10,M,E,SDB,,MS-N-25x10.step +N25-10MESDBU,N,25,10,M,E,SDB,U,MS-N-25x10.step +N25-10MESDBCM,N,25,10,M,E,SDB,CM,MS-N-25x10.step +N25-10M,N,25,10,M,,,,MS-N-25x10.step +N25-10MU,N,25,10,M,,,U,MS-N-25x10.step +N25-10MCM,N,25,10,M,,,CM,MS-N-25x10.step +N25-10MLB,N,25,10,M,,LB,,MS-N-25x10.step +N25-10MLBU,N,25,10,M,,LB,U,MS-N-25x10.step +N25-10MLBCM,N,25,10,M,,LB,CM,MS-N-25x10.step +N25-10MFA,N,25,10,M,,FA,,MS-N-25x10.step +N25-10MFAU,N,25,10,M,,FA,U,MS-N-25x10.step +N25-10MFACM,N,25,10,M,,FA,CM,MS-N-25x10.step +N25-10MFB,N,25,10,M,,FB,,MS-N-25x10.step +N25-10MFBU,N,25,10,M,,FB,U,MS-N-25x10.step +N25-10MFBCM,N,25,10,M,,FB,CM,MS-N-25x10.step +N25-10MSDB,N,25,10,M,,SDB,,MS-N-25x10.step +N25-10MSDBU,N,25,10,M,,SDB,U,MS-N-25x10.step +N25-10MSDBCM,N,25,10,M,,SDB,CM,MS-N-25x10.step +N25-20E,N,25,20,,E,,,MS-N-25x20.step +N25-20EU,N,25,20,,E,,U,MS-N-25x20.step +N25-20ECM,N,25,20,,E,,CM,MS-N-25x20.step +N25-20ELB,N,25,20,,E,LB,,MS-N-25x20.step +N25-20ELBU,N,25,20,,E,LB,U,MS-N-25x20.step +N25-20ELBCM,N,25,20,,E,LB,CM,MS-N-25x20.step +N25-20EFA,N,25,20,,E,FA,,MS-N-25x20.step +N25-20EFAU,N,25,20,,E,FA,U,MS-N-25x20.step +N25-20EFACM,N,25,20,,E,FA,CM,MS-N-25x20.step +N25-20EFB,N,25,20,,E,FB,,MS-N-25x20.step +N25-20EFBU,N,25,20,,E,FB,U,MS-N-25x20.step +N25-20EFBCM,N,25,20,,E,FB,CM,MS-N-25x20.step +N25-20ESDB,N,25,20,,E,SDB,,MS-N-25x20.step +N25-20ESDBU,N,25,20,,E,SDB,U,MS-N-25x20.step +N25-20ESDBCM,N,25,20,,E,SDB,CM,MS-N-25x20.step +N25-20,N,25,20,,,,,MS-N-25x20.step +N25-20U,N,25,20,,,,U,MS-N-25x20.step +N25-20CM,N,25,20,,,,CM,MS-N-25x20.step +N25-20LB,N,25,20,,,LB,,MS-N-25x20.step +N25-20LBU,N,25,20,,,LB,U,MS-N-25x20.step +N25-20LBCM,N,25,20,,,LB,CM,MS-N-25x20.step +N25-20FA,N,25,20,,,FA,,MS-N-25x20.step +N25-20FAU,N,25,20,,,FA,U,MS-N-25x20.step +N25-20FACM,N,25,20,,,FA,CM,MS-N-25x20.step +N25-20FB,N,25,20,,,FB,,MS-N-25x20.step +N25-20FBU,N,25,20,,,FB,U,MS-N-25x20.step +N25-20FBCM,N,25,20,,,FB,CM,MS-N-25x20.step +N25-20SDB,N,25,20,,,SDB,,MS-N-25x20.step +N25-20SDBU,N,25,20,,,SDB,U,MS-N-25x20.step +N25-20SDBCM,N,25,20,,,SDB,CM,MS-N-25x20.step +N25-20ME,N,25,20,M,E,,,MS-N-25x20.step +N25-20MEU,N,25,20,M,E,,U,MS-N-25x20.step +N25-20MECM,N,25,20,M,E,,CM,MS-N-25x20.step +N25-20MELB,N,25,20,M,E,LB,,MS-N-25x20.step +N25-20MELBU,N,25,20,M,E,LB,U,MS-N-25x20.step +N25-20MELBCM,N,25,20,M,E,LB,CM,MS-N-25x20.step +N25-20MEFA,N,25,20,M,E,FA,,MS-N-25x20.step +N25-20MEFAU,N,25,20,M,E,FA,U,MS-N-25x20.step +N25-20MEFACM,N,25,20,M,E,FA,CM,MS-N-25x20.step +N25-20MEFB,N,25,20,M,E,FB,,MS-N-25x20.step +N25-20MEFBU,N,25,20,M,E,FB,U,MS-N-25x20.step +N25-20MEFBCM,N,25,20,M,E,FB,CM,MS-N-25x20.step +N25-20MESDB,N,25,20,M,E,SDB,,MS-N-25x20.step +N25-20MESDBU,N,25,20,M,E,SDB,U,MS-N-25x20.step +N25-20MESDBCM,N,25,20,M,E,SDB,CM,MS-N-25x20.step +N25-20M,N,25,20,M,,,,MS-N-25x20.step +N25-20MU,N,25,20,M,,,U,MS-N-25x20.step +N25-20MCM,N,25,20,M,,,CM,MS-N-25x20.step +N25-20MLB,N,25,20,M,,LB,,MS-N-25x20.step +N25-20MLBU,N,25,20,M,,LB,U,MS-N-25x20.step +N25-20MLBCM,N,25,20,M,,LB,CM,MS-N-25x20.step +N25-20MFA,N,25,20,M,,FA,,MS-N-25x20.step +N25-20MFAU,N,25,20,M,,FA,U,MS-N-25x20.step +N25-20MFACM,N,25,20,M,,FA,CM,MS-N-25x20.step +N25-20MFB,N,25,20,M,,FB,,MS-N-25x20.step +N25-20MFBU,N,25,20,M,,FB,U,MS-N-25x20.step +N25-20MFBCM,N,25,20,M,,FB,CM,MS-N-25x20.step +N25-20MSDB,N,25,20,M,,SDB,,MS-N-25x20.step +N25-20MSDBU,N,25,20,M,,SDB,U,MS-N-25x20.step +N25-20MSDBCM,N,25,20,M,,SDB,CM,MS-N-25x20.step +N25-30E,N,25,30,,E,,,MS-N-25x30.step +N25-30EU,N,25,30,,E,,U,MS-N-25x30.step +N25-30ECM,N,25,30,,E,,CM,MS-N-25x30.step +N25-30ELB,N,25,30,,E,LB,,MS-N-25x30.step +N25-30ELBU,N,25,30,,E,LB,U,MS-N-25x30.step +N25-30ELBCM,N,25,30,,E,LB,CM,MS-N-25x30.step +N25-30EFA,N,25,30,,E,FA,,MS-N-25x30.step +N25-30EFAU,N,25,30,,E,FA,U,MS-N-25x30.step +N25-30EFACM,N,25,30,,E,FA,CM,MS-N-25x30.step +N25-30EFB,N,25,30,,E,FB,,MS-N-25x30.step +N25-30EFBU,N,25,30,,E,FB,U,MS-N-25x30.step +N25-30EFBCM,N,25,30,,E,FB,CM,MS-N-25x30.step +N25-30ESDB,N,25,30,,E,SDB,,MS-N-25x30.step +N25-30ESDBU,N,25,30,,E,SDB,U,MS-N-25x30.step +N25-30ESDBCM,N,25,30,,E,SDB,CM,MS-N-25x30.step +N25-30,N,25,30,,,,,MS-N-25x30.step +N25-30U,N,25,30,,,,U,MS-N-25x30.step +N25-30CM,N,25,30,,,,CM,MS-N-25x30.step +N25-30LB,N,25,30,,,LB,,MS-N-25x30.step +N25-30LBU,N,25,30,,,LB,U,MS-N-25x30.step +N25-30LBCM,N,25,30,,,LB,CM,MS-N-25x30.step +N25-30FA,N,25,30,,,FA,,MS-N-25x30.step +N25-30FAU,N,25,30,,,FA,U,MS-N-25x30.step +N25-30FACM,N,25,30,,,FA,CM,MS-N-25x30.step +N25-30FB,N,25,30,,,FB,,MS-N-25x30.step +N25-30FBU,N,25,30,,,FB,U,MS-N-25x30.step +N25-30FBCM,N,25,30,,,FB,CM,MS-N-25x30.step +N25-30SDB,N,25,30,,,SDB,,MS-N-25x30.step +N25-30SDBU,N,25,30,,,SDB,U,MS-N-25x30.step +N25-30SDBCM,N,25,30,,,SDB,CM,MS-N-25x30.step +N25-30ME,N,25,30,M,E,,,MS-N-25x30.step +N25-30MEU,N,25,30,M,E,,U,MS-N-25x30.step +N25-30MECM,N,25,30,M,E,,CM,MS-N-25x30.step +N25-30MELB,N,25,30,M,E,LB,,MS-N-25x30.step +N25-30MELBU,N,25,30,M,E,LB,U,MS-N-25x30.step +N25-30MELBCM,N,25,30,M,E,LB,CM,MS-N-25x30.step +N25-30MEFA,N,25,30,M,E,FA,,MS-N-25x30.step +N25-30MEFAU,N,25,30,M,E,FA,U,MS-N-25x30.step +N25-30MEFACM,N,25,30,M,E,FA,CM,MS-N-25x30.step +N25-30MEFB,N,25,30,M,E,FB,,MS-N-25x30.step +N25-30MEFBU,N,25,30,M,E,FB,U,MS-N-25x30.step +N25-30MEFBCM,N,25,30,M,E,FB,CM,MS-N-25x30.step +N25-30MESDB,N,25,30,M,E,SDB,,MS-N-25x30.step +N25-30MESDBU,N,25,30,M,E,SDB,U,MS-N-25x30.step +N25-30MESDBCM,N,25,30,M,E,SDB,CM,MS-N-25x30.step +N25-30M,N,25,30,M,,,,MS-N-25x30.step +N25-30MU,N,25,30,M,,,U,MS-N-25x30.step +N25-30MCM,N,25,30,M,,,CM,MS-N-25x30.step +N25-30MLB,N,25,30,M,,LB,,MS-N-25x30.step +N25-30MLBU,N,25,30,M,,LB,U,MS-N-25x30.step +N25-30MLBCM,N,25,30,M,,LB,CM,MS-N-25x30.step +N25-30MFA,N,25,30,M,,FA,,MS-N-25x30.step +N25-30MFAU,N,25,30,M,,FA,U,MS-N-25x30.step +N25-30MFACM,N,25,30,M,,FA,CM,MS-N-25x30.step +N25-30MFB,N,25,30,M,,FB,,MS-N-25x30.step +N25-30MFBU,N,25,30,M,,FB,U,MS-N-25x30.step +N25-30MFBCM,N,25,30,M,,FB,CM,MS-N-25x30.step +N25-30MSDB,N,25,30,M,,SDB,,MS-N-25x30.step +N25-30MSDBU,N,25,30,M,,SDB,U,MS-N-25x30.step +N25-30MSDBCM,N,25,30,M,,SDB,CM,MS-N-25x30.step +N25-50E,N,25,50,,E,,,MS-N-25x50.step +N25-50EU,N,25,50,,E,,U,MS-N-25x50.step +N25-50ECM,N,25,50,,E,,CM,MS-N-25x50.step +N25-50ELB,N,25,50,,E,LB,,MS-N-25x50.step +N25-50ELBU,N,25,50,,E,LB,U,MS-N-25x50.step +N25-50ELBCM,N,25,50,,E,LB,CM,MS-N-25x50.step +N25-50EFA,N,25,50,,E,FA,,MS-N-25x50.step +N25-50EFAU,N,25,50,,E,FA,U,MS-N-25x50.step +N25-50EFACM,N,25,50,,E,FA,CM,MS-N-25x50.step +N25-50EFB,N,25,50,,E,FB,,MS-N-25x50.step +N25-50EFBU,N,25,50,,E,FB,U,MS-N-25x50.step +N25-50EFBCM,N,25,50,,E,FB,CM,MS-N-25x50.step +N25-50ESDB,N,25,50,,E,SDB,,MS-N-25x50.step +N25-50ESDBU,N,25,50,,E,SDB,U,MS-N-25x50.step +N25-50ESDBCM,N,25,50,,E,SDB,CM,MS-N-25x50.step +N25-50,N,25,50,,,,,MS-N-25x50.step +N25-50U,N,25,50,,,,U,MS-N-25x50.step +N25-50CM,N,25,50,,,,CM,MS-N-25x50.step +N25-50LB,N,25,50,,,LB,,MS-N-25x50.step +N25-50LBU,N,25,50,,,LB,U,MS-N-25x50.step +N25-50LBCM,N,25,50,,,LB,CM,MS-N-25x50.step +N25-50FA,N,25,50,,,FA,,MS-N-25x50.step +N25-50FAU,N,25,50,,,FA,U,MS-N-25x50.step +N25-50FACM,N,25,50,,,FA,CM,MS-N-25x50.step +N25-50FB,N,25,50,,,FB,,MS-N-25x50.step +N25-50FBU,N,25,50,,,FB,U,MS-N-25x50.step +N25-50FBCM,N,25,50,,,FB,CM,MS-N-25x50.step +N25-50SDB,N,25,50,,,SDB,,MS-N-25x50.step +N25-50SDBU,N,25,50,,,SDB,U,MS-N-25x50.step +N25-50SDBCM,N,25,50,,,SDB,CM,MS-N-25x50.step +N25-50ME,N,25,50,M,E,,,MS-N-25x50.step +N25-50MEU,N,25,50,M,E,,U,MS-N-25x50.step +N25-50MECM,N,25,50,M,E,,CM,MS-N-25x50.step +N25-50MELB,N,25,50,M,E,LB,,MS-N-25x50.step +N25-50MELBU,N,25,50,M,E,LB,U,MS-N-25x50.step +N25-50MELBCM,N,25,50,M,E,LB,CM,MS-N-25x50.step +N25-50MEFA,N,25,50,M,E,FA,,MS-N-25x50.step +N25-50MEFAU,N,25,50,M,E,FA,U,MS-N-25x50.step +N25-50MEFACM,N,25,50,M,E,FA,CM,MS-N-25x50.step +N25-50MEFB,N,25,50,M,E,FB,,MS-N-25x50.step +N25-50MEFBU,N,25,50,M,E,FB,U,MS-N-25x50.step +N25-50MEFBCM,N,25,50,M,E,FB,CM,MS-N-25x50.step +N25-50MESDB,N,25,50,M,E,SDB,,MS-N-25x50.step +N25-50MESDBU,N,25,50,M,E,SDB,U,MS-N-25x50.step +N25-50MESDBCM,N,25,50,M,E,SDB,CM,MS-N-25x50.step +N25-50M,N,25,50,M,,,,MS-N-25x50.step +N25-50MU,N,25,50,M,,,U,MS-N-25x50.step +N25-50MCM,N,25,50,M,,,CM,MS-N-25x50.step +N25-50MLB,N,25,50,M,,LB,,MS-N-25x50.step +N25-50MLBU,N,25,50,M,,LB,U,MS-N-25x50.step +N25-50MLBCM,N,25,50,M,,LB,CM,MS-N-25x50.step +N25-50MFA,N,25,50,M,,FA,,MS-N-25x50.step +N25-50MFAU,N,25,50,M,,FA,U,MS-N-25x50.step +N25-50MFACM,N,25,50,M,,FA,CM,MS-N-25x50.step +N25-50MFB,N,25,50,M,,FB,,MS-N-25x50.step +N25-50MFBU,N,25,50,M,,FB,U,MS-N-25x50.step +N25-50MFBCM,N,25,50,M,,FB,CM,MS-N-25x50.step +N25-50MSDB,N,25,50,M,,SDB,,MS-N-25x50.step +N25-50MSDBU,N,25,50,M,,SDB,U,MS-N-25x50.step +N25-50MSDBCM,N,25,50,M,,SDB,CM,MS-N-25x50.step +N25-75E,N,25,75,,E,,,MS-N-25x75.step +N25-75EU,N,25,75,,E,,U,MS-N-25x75.step +N25-75ECM,N,25,75,,E,,CM,MS-N-25x75.step +N25-75ELB,N,25,75,,E,LB,,MS-N-25x75.step +N25-75ELBU,N,25,75,,E,LB,U,MS-N-25x75.step +N25-75ELBCM,N,25,75,,E,LB,CM,MS-N-25x75.step +N25-75EFA,N,25,75,,E,FA,,MS-N-25x75.step +N25-75EFAU,N,25,75,,E,FA,U,MS-N-25x75.step +N25-75EFACM,N,25,75,,E,FA,CM,MS-N-25x75.step +N25-75EFB,N,25,75,,E,FB,,MS-N-25x75.step +N25-75EFBU,N,25,75,,E,FB,U,MS-N-25x75.step +N25-75EFBCM,N,25,75,,E,FB,CM,MS-N-25x75.step +N25-75ESDB,N,25,75,,E,SDB,,MS-N-25x75.step +N25-75ESDBU,N,25,75,,E,SDB,U,MS-N-25x75.step +N25-75ESDBCM,N,25,75,,E,SDB,CM,MS-N-25x75.step +N25-75,N,25,75,,,,,MS-N-25x75.step +N25-75U,N,25,75,,,,U,MS-N-25x75.step +N25-75CM,N,25,75,,,,CM,MS-N-25x75.step +N25-75LB,N,25,75,,,LB,,MS-N-25x75.step +N25-75LBU,N,25,75,,,LB,U,MS-N-25x75.step +N25-75LBCM,N,25,75,,,LB,CM,MS-N-25x75.step +N25-75FA,N,25,75,,,FA,,MS-N-25x75.step +N25-75FAU,N,25,75,,,FA,U,MS-N-25x75.step +N25-75FACM,N,25,75,,,FA,CM,MS-N-25x75.step +N25-75FB,N,25,75,,,FB,,MS-N-25x75.step +N25-75FBU,N,25,75,,,FB,U,MS-N-25x75.step +N25-75FBCM,N,25,75,,,FB,CM,MS-N-25x75.step +N25-75SDB,N,25,75,,,SDB,,MS-N-25x75.step +N25-75SDBU,N,25,75,,,SDB,U,MS-N-25x75.step +N25-75SDBCM,N,25,75,,,SDB,CM,MS-N-25x75.step +N25-75ME,N,25,75,M,E,,,MS-N-25x75.step +N25-75MEU,N,25,75,M,E,,U,MS-N-25x75.step +N25-75MECM,N,25,75,M,E,,CM,MS-N-25x75.step +N25-75MELB,N,25,75,M,E,LB,,MS-N-25x75.step +N25-75MELBU,N,25,75,M,E,LB,U,MS-N-25x75.step +N25-75MELBCM,N,25,75,M,E,LB,CM,MS-N-25x75.step +N25-75MEFA,N,25,75,M,E,FA,,MS-N-25x75.step +N25-75MEFAU,N,25,75,M,E,FA,U,MS-N-25x75.step +N25-75MEFACM,N,25,75,M,E,FA,CM,MS-N-25x75.step +N25-75MEFB,N,25,75,M,E,FB,,MS-N-25x75.step +N25-75MEFBU,N,25,75,M,E,FB,U,MS-N-25x75.step +N25-75MEFBCM,N,25,75,M,E,FB,CM,MS-N-25x75.step +N25-75MESDB,N,25,75,M,E,SDB,,MS-N-25x75.step +N25-75MESDBU,N,25,75,M,E,SDB,U,MS-N-25x75.step +N25-75MESDBCM,N,25,75,M,E,SDB,CM,MS-N-25x75.step +N25-75M,N,25,75,M,,,,MS-N-25x75.step +N25-75MU,N,25,75,M,,,U,MS-N-25x75.step +N25-75MCM,N,25,75,M,,,CM,MS-N-25x75.step +N25-75MLB,N,25,75,M,,LB,,MS-N-25x75.step +N25-75MLBU,N,25,75,M,,LB,U,MS-N-25x75.step +N25-75MLBCM,N,25,75,M,,LB,CM,MS-N-25x75.step +N25-75MFA,N,25,75,M,,FA,,MS-N-25x75.step +N25-75MFAU,N,25,75,M,,FA,U,MS-N-25x75.step +N25-75MFACM,N,25,75,M,,FA,CM,MS-N-25x75.step +N25-75MFB,N,25,75,M,,FB,,MS-N-25x75.step +N25-75MFBU,N,25,75,M,,FB,U,MS-N-25x75.step +N25-75MFBCM,N,25,75,M,,FB,CM,MS-N-25x75.step +N25-75MSDB,N,25,75,M,,SDB,,MS-N-25x75.step +N25-75MSDBU,N,25,75,M,,SDB,U,MS-N-25x75.step +N25-75MSDBCM,N,25,75,M,,SDB,CM,MS-N-25x75.step +N25-100E,N,25,100,,E,,,MS-N-25x100.step +N25-100EU,N,25,100,,E,,U,MS-N-25x100.step +N25-100ECM,N,25,100,,E,,CM,MS-N-25x100.step +N25-100ELB,N,25,100,,E,LB,,MS-N-25x100.step +N25-100ELBU,N,25,100,,E,LB,U,MS-N-25x100.step +N25-100ELBCM,N,25,100,,E,LB,CM,MS-N-25x100.step +N25-100EFA,N,25,100,,E,FA,,MS-N-25x100.step +N25-100EFAU,N,25,100,,E,FA,U,MS-N-25x100.step +N25-100EFACM,N,25,100,,E,FA,CM,MS-N-25x100.step +N25-100EFB,N,25,100,,E,FB,,MS-N-25x100.step +N25-100EFBU,N,25,100,,E,FB,U,MS-N-25x100.step +N25-100EFBCM,N,25,100,,E,FB,CM,MS-N-25x100.step +N25-100ESDB,N,25,100,,E,SDB,,MS-N-25x100.step +N25-100ESDBU,N,25,100,,E,SDB,U,MS-N-25x100.step +N25-100ESDBCM,N,25,100,,E,SDB,CM,MS-N-25x100.step +N25-100,N,25,100,,,,,MS-N-25x100.step +N25-100U,N,25,100,,,,U,MS-N-25x100.step +N25-100CM,N,25,100,,,,CM,MS-N-25x100.step +N25-100LB,N,25,100,,,LB,,MS-N-25x100.step +N25-100LBU,N,25,100,,,LB,U,MS-N-25x100.step +N25-100LBCM,N,25,100,,,LB,CM,MS-N-25x100.step +N25-100FA,N,25,100,,,FA,,MS-N-25x100.step +N25-100FAU,N,25,100,,,FA,U,MS-N-25x100.step +N25-100FACM,N,25,100,,,FA,CM,MS-N-25x100.step +N25-100FB,N,25,100,,,FB,,MS-N-25x100.step +N25-100FBU,N,25,100,,,FB,U,MS-N-25x100.step +N25-100FBCM,N,25,100,,,FB,CM,MS-N-25x100.step +N25-100SDB,N,25,100,,,SDB,,MS-N-25x100.step +N25-100SDBU,N,25,100,,,SDB,U,MS-N-25x100.step +N25-100SDBCM,N,25,100,,,SDB,CM,MS-N-25x100.step +N25-100ME,N,25,100,M,E,,,MS-N-25x100.step +N25-100MEU,N,25,100,M,E,,U,MS-N-25x100.step +N25-100MECM,N,25,100,M,E,,CM,MS-N-25x100.step +N25-100MELB,N,25,100,M,E,LB,,MS-N-25x100.step +N25-100MELBU,N,25,100,M,E,LB,U,MS-N-25x100.step +N25-100MELBCM,N,25,100,M,E,LB,CM,MS-N-25x100.step +N25-100MEFA,N,25,100,M,E,FA,,MS-N-25x100.step +N25-100MEFAU,N,25,100,M,E,FA,U,MS-N-25x100.step +N25-100MEFACM,N,25,100,M,E,FA,CM,MS-N-25x100.step +N25-100MEFB,N,25,100,M,E,FB,,MS-N-25x100.step +N25-100MEFBU,N,25,100,M,E,FB,U,MS-N-25x100.step +N25-100MEFBCM,N,25,100,M,E,FB,CM,MS-N-25x100.step +N25-100MESDB,N,25,100,M,E,SDB,,MS-N-25x100.step +N25-100MESDBU,N,25,100,M,E,SDB,U,MS-N-25x100.step +N25-100MESDBCM,N,25,100,M,E,SDB,CM,MS-N-25x100.step +N25-100M,N,25,100,M,,,,MS-N-25x100.step +N25-100MU,N,25,100,M,,,U,MS-N-25x100.step +N25-100MCM,N,25,100,M,,,CM,MS-N-25x100.step +N25-100MLB,N,25,100,M,,LB,,MS-N-25x100.step +N25-100MLBU,N,25,100,M,,LB,U,MS-N-25x100.step +N25-100MLBCM,N,25,100,M,,LB,CM,MS-N-25x100.step +N25-100MFA,N,25,100,M,,FA,,MS-N-25x100.step +N25-100MFAU,N,25,100,M,,FA,U,MS-N-25x100.step +N25-100MFACM,N,25,100,M,,FA,CM,MS-N-25x100.step +N25-100MFB,N,25,100,M,,FB,,MS-N-25x100.step +N25-100MFBU,N,25,100,M,,FB,U,MS-N-25x100.step +N25-100MFBCM,N,25,100,M,,FB,CM,MS-N-25x100.step +N25-100MSDB,N,25,100,M,,SDB,,MS-N-25x100.step +N25-100MSDBU,N,25,100,M,,SDB,U,MS-N-25x100.step +N25-100MSDBCM,N,25,100,M,,SDB,CM,MS-N-25x100.step +N32-10E,N,32,10,,E,,,MS-N-32x10.step +N32-10EU,N,32,10,,E,,U,MS-N-32x10.step +N32-10ECM,N,32,10,,E,,CM,MS-N-32x10.step +N32-10ELB,N,32,10,,E,LB,,MS-N-32x10.step +N32-10ELBU,N,32,10,,E,LB,U,MS-N-32x10.step +N32-10ELBCM,N,32,10,,E,LB,CM,MS-N-32x10.step +N32-10EFA,N,32,10,,E,FA,,MS-N-32x10.step +N32-10EFAU,N,32,10,,E,FA,U,MS-N-32x10.step +N32-10EFACM,N,32,10,,E,FA,CM,MS-N-32x10.step +N32-10EFB,N,32,10,,E,FB,,MS-N-32x10.step +N32-10EFBU,N,32,10,,E,FB,U,MS-N-32x10.step +N32-10EFBCM,N,32,10,,E,FB,CM,MS-N-32x10.step +N32-10ESDB,N,32,10,,E,SDB,,MS-N-32x10.step +N32-10ESDBU,N,32,10,,E,SDB,U,MS-N-32x10.step +N32-10ESDBCM,N,32,10,,E,SDB,CM,MS-N-32x10.step +N32-10,N,32,10,,,,,MS-N-32x10.step +N32-10U,N,32,10,,,,U,MS-N-32x10.step +N32-10CM,N,32,10,,,,CM,MS-N-32x10.step +N32-10LB,N,32,10,,,LB,,MS-N-32x10.step +N32-10LBU,N,32,10,,,LB,U,MS-N-32x10.step +N32-10LBCM,N,32,10,,,LB,CM,MS-N-32x10.step +N32-10FA,N,32,10,,,FA,,MS-N-32x10.step +N32-10FAU,N,32,10,,,FA,U,MS-N-32x10.step +N32-10FACM,N,32,10,,,FA,CM,MS-N-32x10.step +N32-10FB,N,32,10,,,FB,,MS-N-32x10.step +N32-10FBU,N,32,10,,,FB,U,MS-N-32x10.step +N32-10FBCM,N,32,10,,,FB,CM,MS-N-32x10.step +N32-10SDB,N,32,10,,,SDB,,MS-N-32x10.step +N32-10SDBU,N,32,10,,,SDB,U,MS-N-32x10.step +N32-10SDBCM,N,32,10,,,SDB,CM,MS-N-32x10.step +N32-10ME,N,32,10,M,E,,,MS-N-32x10.step +N32-10MEU,N,32,10,M,E,,U,MS-N-32x10.step +N32-10MECM,N,32,10,M,E,,CM,MS-N-32x10.step +N32-10MELB,N,32,10,M,E,LB,,MS-N-32x10.step +N32-10MELBU,N,32,10,M,E,LB,U,MS-N-32x10.step +N32-10MELBCM,N,32,10,M,E,LB,CM,MS-N-32x10.step +N32-10MEFA,N,32,10,M,E,FA,,MS-N-32x10.step +N32-10MEFAU,N,32,10,M,E,FA,U,MS-N-32x10.step +N32-10MEFACM,N,32,10,M,E,FA,CM,MS-N-32x10.step +N32-10MEFB,N,32,10,M,E,FB,,MS-N-32x10.step +N32-10MEFBU,N,32,10,M,E,FB,U,MS-N-32x10.step +N32-10MEFBCM,N,32,10,M,E,FB,CM,MS-N-32x10.step +N32-10MESDB,N,32,10,M,E,SDB,,MS-N-32x10.step +N32-10MESDBU,N,32,10,M,E,SDB,U,MS-N-32x10.step +N32-10MESDBCM,N,32,10,M,E,SDB,CM,MS-N-32x10.step +N32-10M,N,32,10,M,,,,MS-N-32x10.step +N32-10MU,N,32,10,M,,,U,MS-N-32x10.step +N32-10MCM,N,32,10,M,,,CM,MS-N-32x10.step +N32-10MLB,N,32,10,M,,LB,,MS-N-32x10.step +N32-10MLBU,N,32,10,M,,LB,U,MS-N-32x10.step +N32-10MLBCM,N,32,10,M,,LB,CM,MS-N-32x10.step +N32-10MFA,N,32,10,M,,FA,,MS-N-32x10.step +N32-10MFAU,N,32,10,M,,FA,U,MS-N-32x10.step +N32-10MFACM,N,32,10,M,,FA,CM,MS-N-32x10.step +N32-10MFB,N,32,10,M,,FB,,MS-N-32x10.step +N32-10MFBU,N,32,10,M,,FB,U,MS-N-32x10.step +N32-10MFBCM,N,32,10,M,,FB,CM,MS-N-32x10.step +N32-10MSDB,N,32,10,M,,SDB,,MS-N-32x10.step +N32-10MSDBU,N,32,10,M,,SDB,U,MS-N-32x10.step +N32-10MSDBCM,N,32,10,M,,SDB,CM,MS-N-32x10.step +N32-20E,N,32,20,,E,,,MS-N-32x20.step +N32-20EU,N,32,20,,E,,U,MS-N-32x20.step +N32-20ECM,N,32,20,,E,,CM,MS-N-32x20.step +N32-20ELB,N,32,20,,E,LB,,MS-N-32x20.step +N32-20ELBU,N,32,20,,E,LB,U,MS-N-32x20.step +N32-20ELBCM,N,32,20,,E,LB,CM,MS-N-32x20.step +N32-20EFA,N,32,20,,E,FA,,MS-N-32x20.step +N32-20EFAU,N,32,20,,E,FA,U,MS-N-32x20.step +N32-20EFACM,N,32,20,,E,FA,CM,MS-N-32x20.step +N32-20EFB,N,32,20,,E,FB,,MS-N-32x20.step +N32-20EFBU,N,32,20,,E,FB,U,MS-N-32x20.step +N32-20EFBCM,N,32,20,,E,FB,CM,MS-N-32x20.step +N32-20ESDB,N,32,20,,E,SDB,,MS-N-32x20.step +N32-20ESDBU,N,32,20,,E,SDB,U,MS-N-32x20.step +N32-20ESDBCM,N,32,20,,E,SDB,CM,MS-N-32x20.step +N32-20,N,32,20,,,,,MS-N-32x20.step +N32-20U,N,32,20,,,,U,MS-N-32x20.step +N32-20CM,N,32,20,,,,CM,MS-N-32x20.step +N32-20LB,N,32,20,,,LB,,MS-N-32x20.step +N32-20LBU,N,32,20,,,LB,U,MS-N-32x20.step +N32-20LBCM,N,32,20,,,LB,CM,MS-N-32x20.step +N32-20FA,N,32,20,,,FA,,MS-N-32x20.step +N32-20FAU,N,32,20,,,FA,U,MS-N-32x20.step +N32-20FACM,N,32,20,,,FA,CM,MS-N-32x20.step +N32-20FB,N,32,20,,,FB,,MS-N-32x20.step +N32-20FBU,N,32,20,,,FB,U,MS-N-32x20.step +N32-20FBCM,N,32,20,,,FB,CM,MS-N-32x20.step +N32-20SDB,N,32,20,,,SDB,,MS-N-32x20.step +N32-20SDBU,N,32,20,,,SDB,U,MS-N-32x20.step +N32-20SDBCM,N,32,20,,,SDB,CM,MS-N-32x20.step +N32-20ME,N,32,20,M,E,,,MS-N-32x20.step +N32-20MEU,N,32,20,M,E,,U,MS-N-32x20.step +N32-20MECM,N,32,20,M,E,,CM,MS-N-32x20.step +N32-20MELB,N,32,20,M,E,LB,,MS-N-32x20.step +N32-20MELBU,N,32,20,M,E,LB,U,MS-N-32x20.step +N32-20MELBCM,N,32,20,M,E,LB,CM,MS-N-32x20.step +N32-20MEFA,N,32,20,M,E,FA,,MS-N-32x20.step +N32-20MEFAU,N,32,20,M,E,FA,U,MS-N-32x20.step +N32-20MEFACM,N,32,20,M,E,FA,CM,MS-N-32x20.step +N32-20MEFB,N,32,20,M,E,FB,,MS-N-32x20.step +N32-20MEFBU,N,32,20,M,E,FB,U,MS-N-32x20.step +N32-20MEFBCM,N,32,20,M,E,FB,CM,MS-N-32x20.step +N32-20MESDB,N,32,20,M,E,SDB,,MS-N-32x20.step +N32-20MESDBU,N,32,20,M,E,SDB,U,MS-N-32x20.step +N32-20MESDBCM,N,32,20,M,E,SDB,CM,MS-N-32x20.step +N32-20M,N,32,20,M,,,,MS-N-32x20.step +N32-20MU,N,32,20,M,,,U,MS-N-32x20.step +N32-20MCM,N,32,20,M,,,CM,MS-N-32x20.step +N32-20MLB,N,32,20,M,,LB,,MS-N-32x20.step +N32-20MLBU,N,32,20,M,,LB,U,MS-N-32x20.step +N32-20MLBCM,N,32,20,M,,LB,CM,MS-N-32x20.step +N32-20MFA,N,32,20,M,,FA,,MS-N-32x20.step +N32-20MFAU,N,32,20,M,,FA,U,MS-N-32x20.step +N32-20MFACM,N,32,20,M,,FA,CM,MS-N-32x20.step +N32-20MFB,N,32,20,M,,FB,,MS-N-32x20.step +N32-20MFBU,N,32,20,M,,FB,U,MS-N-32x20.step +N32-20MFBCM,N,32,20,M,,FB,CM,MS-N-32x20.step +N32-20MSDB,N,32,20,M,,SDB,,MS-N-32x20.step +N32-20MSDBU,N,32,20,M,,SDB,U,MS-N-32x20.step +N32-20MSDBCM,N,32,20,M,,SDB,CM,MS-N-32x20.step +N32-30E,N,32,30,,E,,,MS-N-32x30.step +N32-30EU,N,32,30,,E,,U,MS-N-32x30.step +N32-30ECM,N,32,30,,E,,CM,MS-N-32x30.step +N32-30ELB,N,32,30,,E,LB,,MS-N-32x30.step +N32-30ELBU,N,32,30,,E,LB,U,MS-N-32x30.step +N32-30ELBCM,N,32,30,,E,LB,CM,MS-N-32x30.step +N32-30EFA,N,32,30,,E,FA,,MS-N-32x30.step +N32-30EFAU,N,32,30,,E,FA,U,MS-N-32x30.step +N32-30EFACM,N,32,30,,E,FA,CM,MS-N-32x30.step +N32-30EFB,N,32,30,,E,FB,,MS-N-32x30.step +N32-30EFBU,N,32,30,,E,FB,U,MS-N-32x30.step +N32-30EFBCM,N,32,30,,E,FB,CM,MS-N-32x30.step +N32-30ESDB,N,32,30,,E,SDB,,MS-N-32x30.step +N32-30ESDBU,N,32,30,,E,SDB,U,MS-N-32x30.step +N32-30ESDBCM,N,32,30,,E,SDB,CM,MS-N-32x30.step +N32-30,N,32,30,,,,,MS-N-32x30.step +N32-30U,N,32,30,,,,U,MS-N-32x30.step +N32-30CM,N,32,30,,,,CM,MS-N-32x30.step +N32-30LB,N,32,30,,,LB,,MS-N-32x30.step +N32-30LBU,N,32,30,,,LB,U,MS-N-32x30.step +N32-30LBCM,N,32,30,,,LB,CM,MS-N-32x30.step +N32-30FA,N,32,30,,,FA,,MS-N-32x30.step +N32-30FAU,N,32,30,,,FA,U,MS-N-32x30.step +N32-30FACM,N,32,30,,,FA,CM,MS-N-32x30.step +N32-30FB,N,32,30,,,FB,,MS-N-32x30.step +N32-30FBU,N,32,30,,,FB,U,MS-N-32x30.step +N32-30FBCM,N,32,30,,,FB,CM,MS-N-32x30.step +N32-30SDB,N,32,30,,,SDB,,MS-N-32x30.step +N32-30SDBU,N,32,30,,,SDB,U,MS-N-32x30.step +N32-30SDBCM,N,32,30,,,SDB,CM,MS-N-32x30.step +N32-30ME,N,32,30,M,E,,,MS-N-32x30.step +N32-30MEU,N,32,30,M,E,,U,MS-N-32x30.step +N32-30MECM,N,32,30,M,E,,CM,MS-N-32x30.step +N32-30MELB,N,32,30,M,E,LB,,MS-N-32x30.step +N32-30MELBU,N,32,30,M,E,LB,U,MS-N-32x30.step +N32-30MELBCM,N,32,30,M,E,LB,CM,MS-N-32x30.step +N32-30MEFA,N,32,30,M,E,FA,,MS-N-32x30.step +N32-30MEFAU,N,32,30,M,E,FA,U,MS-N-32x30.step +N32-30MEFACM,N,32,30,M,E,FA,CM,MS-N-32x30.step +N32-30MEFB,N,32,30,M,E,FB,,MS-N-32x30.step +N32-30MEFBU,N,32,30,M,E,FB,U,MS-N-32x30.step +N32-30MEFBCM,N,32,30,M,E,FB,CM,MS-N-32x30.step +N32-30MESDB,N,32,30,M,E,SDB,,MS-N-32x30.step +N32-30MESDBU,N,32,30,M,E,SDB,U,MS-N-32x30.step +N32-30MESDBCM,N,32,30,M,E,SDB,CM,MS-N-32x30.step +N32-30M,N,32,30,M,,,,MS-N-32x30.step +N32-30MU,N,32,30,M,,,U,MS-N-32x30.step +N32-30MCM,N,32,30,M,,,CM,MS-N-32x30.step +N32-30MLB,N,32,30,M,,LB,,MS-N-32x30.step +N32-30MLBU,N,32,30,M,,LB,U,MS-N-32x30.step +N32-30MLBCM,N,32,30,M,,LB,CM,MS-N-32x30.step +N32-30MFA,N,32,30,M,,FA,,MS-N-32x30.step +N32-30MFAU,N,32,30,M,,FA,U,MS-N-32x30.step +N32-30MFACM,N,32,30,M,,FA,CM,MS-N-32x30.step +N32-30MFB,N,32,30,M,,FB,,MS-N-32x30.step +N32-30MFBU,N,32,30,M,,FB,U,MS-N-32x30.step +N32-30MFBCM,N,32,30,M,,FB,CM,MS-N-32x30.step +N32-30MSDB,N,32,30,M,,SDB,,MS-N-32x30.step +N32-30MSDBU,N,32,30,M,,SDB,U,MS-N-32x30.step +N32-30MSDBCM,N,32,30,M,,SDB,CM,MS-N-32x30.step +N32-50E,N,32,50,,E,,,MS-N-32x50.step +N32-50EU,N,32,50,,E,,U,MS-N-32x50.step +N32-50ECM,N,32,50,,E,,CM,MS-N-32x50.step +N32-50ELB,N,32,50,,E,LB,,MS-N-32x50.step +N32-50ELBU,N,32,50,,E,LB,U,MS-N-32x50.step +N32-50ELBCM,N,32,50,,E,LB,CM,MS-N-32x50.step +N32-50EFA,N,32,50,,E,FA,,MS-N-32x50.step +N32-50EFAU,N,32,50,,E,FA,U,MS-N-32x50.step +N32-50EFACM,N,32,50,,E,FA,CM,MS-N-32x50.step +N32-50EFB,N,32,50,,E,FB,,MS-N-32x50.step +N32-50EFBU,N,32,50,,E,FB,U,MS-N-32x50.step +N32-50EFBCM,N,32,50,,E,FB,CM,MS-N-32x50.step +N32-50ESDB,N,32,50,,E,SDB,,MS-N-32x50.step +N32-50ESDBU,N,32,50,,E,SDB,U,MS-N-32x50.step +N32-50ESDBCM,N,32,50,,E,SDB,CM,MS-N-32x50.step +N32-50,N,32,50,,,,,MS-N-32x50.step +N32-50U,N,32,50,,,,U,MS-N-32x50.step +N32-50CM,N,32,50,,,,CM,MS-N-32x50.step +N32-50LB,N,32,50,,,LB,,MS-N-32x50.step +N32-50LBU,N,32,50,,,LB,U,MS-N-32x50.step +N32-50LBCM,N,32,50,,,LB,CM,MS-N-32x50.step +N32-50FA,N,32,50,,,FA,,MS-N-32x50.step +N32-50FAU,N,32,50,,,FA,U,MS-N-32x50.step +N32-50FACM,N,32,50,,,FA,CM,MS-N-32x50.step +N32-50FB,N,32,50,,,FB,,MS-N-32x50.step +N32-50FBU,N,32,50,,,FB,U,MS-N-32x50.step +N32-50FBCM,N,32,50,,,FB,CM,MS-N-32x50.step +N32-50SDB,N,32,50,,,SDB,,MS-N-32x50.step +N32-50SDBU,N,32,50,,,SDB,U,MS-N-32x50.step +N32-50SDBCM,N,32,50,,,SDB,CM,MS-N-32x50.step +N32-50ME,N,32,50,M,E,,,MS-N-32x50.step +N32-50MEU,N,32,50,M,E,,U,MS-N-32x50.step +N32-50MECM,N,32,50,M,E,,CM,MS-N-32x50.step +N32-50MELB,N,32,50,M,E,LB,,MS-N-32x50.step +N32-50MELBU,N,32,50,M,E,LB,U,MS-N-32x50.step +N32-50MELBCM,N,32,50,M,E,LB,CM,MS-N-32x50.step +N32-50MEFA,N,32,50,M,E,FA,,MS-N-32x50.step +N32-50MEFAU,N,32,50,M,E,FA,U,MS-N-32x50.step +N32-50MEFACM,N,32,50,M,E,FA,CM,MS-N-32x50.step +N32-50MEFB,N,32,50,M,E,FB,,MS-N-32x50.step +N32-50MEFBU,N,32,50,M,E,FB,U,MS-N-32x50.step +N32-50MEFBCM,N,32,50,M,E,FB,CM,MS-N-32x50.step +N32-50MESDB,N,32,50,M,E,SDB,,MS-N-32x50.step +N32-50MESDBU,N,32,50,M,E,SDB,U,MS-N-32x50.step +N32-50MESDBCM,N,32,50,M,E,SDB,CM,MS-N-32x50.step +N32-50M,N,32,50,M,,,,MS-N-32x50.step +N32-50MU,N,32,50,M,,,U,MS-N-32x50.step +N32-50MCM,N,32,50,M,,,CM,MS-N-32x50.step +N32-50MLB,N,32,50,M,,LB,,MS-N-32x50.step +N32-50MLBU,N,32,50,M,,LB,U,MS-N-32x50.step +N32-50MLBCM,N,32,50,M,,LB,CM,MS-N-32x50.step +N32-50MFA,N,32,50,M,,FA,,MS-N-32x50.step +N32-50MFAU,N,32,50,M,,FA,U,MS-N-32x50.step +N32-50MFACM,N,32,50,M,,FA,CM,MS-N-32x50.step +N32-50MFB,N,32,50,M,,FB,,MS-N-32x50.step +N32-50MFBU,N,32,50,M,,FB,U,MS-N-32x50.step +N32-50MFBCM,N,32,50,M,,FB,CM,MS-N-32x50.step +N32-50MSDB,N,32,50,M,,SDB,,MS-N-32x50.step +N32-50MSDBU,N,32,50,M,,SDB,U,MS-N-32x50.step +N32-50MSDBCM,N,32,50,M,,SDB,CM,MS-N-32x50.step +N32-75E,N,32,75,,E,,,MS-N-32x75.step +N32-75EU,N,32,75,,E,,U,MS-N-32x75.step +N32-75ECM,N,32,75,,E,,CM,MS-N-32x75.step +N32-75ELB,N,32,75,,E,LB,,MS-N-32x75.step +N32-75ELBU,N,32,75,,E,LB,U,MS-N-32x75.step +N32-75ELBCM,N,32,75,,E,LB,CM,MS-N-32x75.step +N32-75EFA,N,32,75,,E,FA,,MS-N-32x75.step +N32-75EFAU,N,32,75,,E,FA,U,MS-N-32x75.step +N32-75EFACM,N,32,75,,E,FA,CM,MS-N-32x75.step +N32-75EFB,N,32,75,,E,FB,,MS-N-32x75.step +N32-75EFBU,N,32,75,,E,FB,U,MS-N-32x75.step +N32-75EFBCM,N,32,75,,E,FB,CM,MS-N-32x75.step +N32-75ESDB,N,32,75,,E,SDB,,MS-N-32x75.step +N32-75ESDBU,N,32,75,,E,SDB,U,MS-N-32x75.step +N32-75ESDBCM,N,32,75,,E,SDB,CM,MS-N-32x75.step +N32-75,N,32,75,,,,,MS-N-32x75.step +N32-75U,N,32,75,,,,U,MS-N-32x75.step +N32-75CM,N,32,75,,,,CM,MS-N-32x75.step +N32-75LB,N,32,75,,,LB,,MS-N-32x75.step +N32-75LBU,N,32,75,,,LB,U,MS-N-32x75.step +N32-75LBCM,N,32,75,,,LB,CM,MS-N-32x75.step +N32-75FA,N,32,75,,,FA,,MS-N-32x75.step +N32-75FAU,N,32,75,,,FA,U,MS-N-32x75.step +N32-75FACM,N,32,75,,,FA,CM,MS-N-32x75.step +N32-75FB,N,32,75,,,FB,,MS-N-32x75.step +N32-75FBU,N,32,75,,,FB,U,MS-N-32x75.step +N32-75FBCM,N,32,75,,,FB,CM,MS-N-32x75.step +N32-75SDB,N,32,75,,,SDB,,MS-N-32x75.step +N32-75SDBU,N,32,75,,,SDB,U,MS-N-32x75.step +N32-75SDBCM,N,32,75,,,SDB,CM,MS-N-32x75.step +N32-75ME,N,32,75,M,E,,,MS-N-32x75.step +N32-75MEU,N,32,75,M,E,,U,MS-N-32x75.step +N32-75MECM,N,32,75,M,E,,CM,MS-N-32x75.step +N32-75MELB,N,32,75,M,E,LB,,MS-N-32x75.step +N32-75MELBU,N,32,75,M,E,LB,U,MS-N-32x75.step +N32-75MELBCM,N,32,75,M,E,LB,CM,MS-N-32x75.step +N32-75MEFA,N,32,75,M,E,FA,,MS-N-32x75.step +N32-75MEFAU,N,32,75,M,E,FA,U,MS-N-32x75.step +N32-75MEFACM,N,32,75,M,E,FA,CM,MS-N-32x75.step +N32-75MEFB,N,32,75,M,E,FB,,MS-N-32x75.step +N32-75MEFBU,N,32,75,M,E,FB,U,MS-N-32x75.step +N32-75MEFBCM,N,32,75,M,E,FB,CM,MS-N-32x75.step +N32-75MESDB,N,32,75,M,E,SDB,,MS-N-32x75.step +N32-75MESDBU,N,32,75,M,E,SDB,U,MS-N-32x75.step +N32-75MESDBCM,N,32,75,M,E,SDB,CM,MS-N-32x75.step +N32-75M,N,32,75,M,,,,MS-N-32x75.step +N32-75MU,N,32,75,M,,,U,MS-N-32x75.step +N32-75MCM,N,32,75,M,,,CM,MS-N-32x75.step +N32-75MLB,N,32,75,M,,LB,,MS-N-32x75.step +N32-75MLBU,N,32,75,M,,LB,U,MS-N-32x75.step +N32-75MLBCM,N,32,75,M,,LB,CM,MS-N-32x75.step +N32-75MFA,N,32,75,M,,FA,,MS-N-32x75.step +N32-75MFAU,N,32,75,M,,FA,U,MS-N-32x75.step +N32-75MFACM,N,32,75,M,,FA,CM,MS-N-32x75.step +N32-75MFB,N,32,75,M,,FB,,MS-N-32x75.step +N32-75MFBU,N,32,75,M,,FB,U,MS-N-32x75.step +N32-75MFBCM,N,32,75,M,,FB,CM,MS-N-32x75.step +N32-75MSDB,N,32,75,M,,SDB,,MS-N-32x75.step +N32-75MSDBU,N,32,75,M,,SDB,U,MS-N-32x75.step +N32-75MSDBCM,N,32,75,M,,SDB,CM,MS-N-32x75.step +N32-100E,N,32,100,,E,,,MS-N-32x100.step +N32-100EU,N,32,100,,E,,U,MS-N-32x100.step +N32-100ECM,N,32,100,,E,,CM,MS-N-32x100.step +N32-100ELB,N,32,100,,E,LB,,MS-N-32x100.step +N32-100ELBU,N,32,100,,E,LB,U,MS-N-32x100.step +N32-100ELBCM,N,32,100,,E,LB,CM,MS-N-32x100.step +N32-100EFA,N,32,100,,E,FA,,MS-N-32x100.step +N32-100EFAU,N,32,100,,E,FA,U,MS-N-32x100.step +N32-100EFACM,N,32,100,,E,FA,CM,MS-N-32x100.step +N32-100EFB,N,32,100,,E,FB,,MS-N-32x100.step +N32-100EFBU,N,32,100,,E,FB,U,MS-N-32x100.step +N32-100EFBCM,N,32,100,,E,FB,CM,MS-N-32x100.step +N32-100ESDB,N,32,100,,E,SDB,,MS-N-32x100.step +N32-100ESDBU,N,32,100,,E,SDB,U,MS-N-32x100.step +N32-100ESDBCM,N,32,100,,E,SDB,CM,MS-N-32x100.step +N32-100,N,32,100,,,,,MS-N-32x100.step +N32-100U,N,32,100,,,,U,MS-N-32x100.step +N32-100CM,N,32,100,,,,CM,MS-N-32x100.step +N32-100LB,N,32,100,,,LB,,MS-N-32x100.step +N32-100LBU,N,32,100,,,LB,U,MS-N-32x100.step +N32-100LBCM,N,32,100,,,LB,CM,MS-N-32x100.step +N32-100FA,N,32,100,,,FA,,MS-N-32x100.step +N32-100FAU,N,32,100,,,FA,U,MS-N-32x100.step +N32-100FACM,N,32,100,,,FA,CM,MS-N-32x100.step +N32-100FB,N,32,100,,,FB,,MS-N-32x100.step +N32-100FBU,N,32,100,,,FB,U,MS-N-32x100.step +N32-100FBCM,N,32,100,,,FB,CM,MS-N-32x100.step +N32-100SDB,N,32,100,,,SDB,,MS-N-32x100.step +N32-100SDBU,N,32,100,,,SDB,U,MS-N-32x100.step +N32-100SDBCM,N,32,100,,,SDB,CM,MS-N-32x100.step +N32-100ME,N,32,100,M,E,,,MS-N-32x100.step +N32-100MEU,N,32,100,M,E,,U,MS-N-32x100.step +N32-100MECM,N,32,100,M,E,,CM,MS-N-32x100.step +N32-100MELB,N,32,100,M,E,LB,,MS-N-32x100.step +N32-100MELBU,N,32,100,M,E,LB,U,MS-N-32x100.step +N32-100MELBCM,N,32,100,M,E,LB,CM,MS-N-32x100.step +N32-100MEFA,N,32,100,M,E,FA,,MS-N-32x100.step +N32-100MEFAU,N,32,100,M,E,FA,U,MS-N-32x100.step +N32-100MEFACM,N,32,100,M,E,FA,CM,MS-N-32x100.step +N32-100MEFB,N,32,100,M,E,FB,,MS-N-32x100.step +N32-100MEFBU,N,32,100,M,E,FB,U,MS-N-32x100.step +N32-100MEFBCM,N,32,100,M,E,FB,CM,MS-N-32x100.step +N32-100MESDB,N,32,100,M,E,SDB,,MS-N-32x100.step +N32-100MESDBU,N,32,100,M,E,SDB,U,MS-N-32x100.step +N32-100MESDBCM,N,32,100,M,E,SDB,CM,MS-N-32x100.step +N32-100M,N,32,100,M,,,,MS-N-32x100.step +N32-100MU,N,32,100,M,,,U,MS-N-32x100.step +N32-100MCM,N,32,100,M,,,CM,MS-N-32x100.step +N32-100MLB,N,32,100,M,,LB,,MS-N-32x100.step +N32-100MLBU,N,32,100,M,,LB,U,MS-N-32x100.step +N32-100MLBCM,N,32,100,M,,LB,CM,MS-N-32x100.step +N32-100MFA,N,32,100,M,,FA,,MS-N-32x100.step +N32-100MFAU,N,32,100,M,,FA,U,MS-N-32x100.step +N32-100MFACM,N,32,100,M,,FA,CM,MS-N-32x100.step +N32-100MFB,N,32,100,M,,FB,,MS-N-32x100.step +N32-100MFBU,N,32,100,M,,FB,U,MS-N-32x100.step +N32-100MFBCM,N,32,100,M,,FB,CM,MS-N-32x100.step +N32-100MSDB,N,32,100,M,,SDB,,MS-N-32x100.step +N32-100MSDBU,N,32,100,M,,SDB,U,MS-N-32x100.step +N32-100MSDBCM,N,32,100,M,,SDB,CM,MS-N-32x100.step +N40-10E,N,40,10,,E,,,MS-N-40x10.step +N40-10EU,N,40,10,,E,,U,MS-N-40x10.step +N40-10ECM,N,40,10,,E,,CM,MS-N-40x10.step +N40-10ELB,N,40,10,,E,LB,,MS-N-40x10.step +N40-10ELBU,N,40,10,,E,LB,U,MS-N-40x10.step +N40-10ELBCM,N,40,10,,E,LB,CM,MS-N-40x10.step +N40-10EFA,N,40,10,,E,FA,,MS-N-40x10.step +N40-10EFAU,N,40,10,,E,FA,U,MS-N-40x10.step +N40-10EFACM,N,40,10,,E,FA,CM,MS-N-40x10.step +N40-10EFB,N,40,10,,E,FB,,MS-N-40x10.step +N40-10EFBU,N,40,10,,E,FB,U,MS-N-40x10.step +N40-10EFBCM,N,40,10,,E,FB,CM,MS-N-40x10.step +N40-10ESDB,N,40,10,,E,SDB,,MS-N-40x10.step +N40-10ESDBU,N,40,10,,E,SDB,U,MS-N-40x10.step +N40-10ESDBCM,N,40,10,,E,SDB,CM,MS-N-40x10.step +N40-10,N,40,10,,,,,MS-N-40x10.step +N40-10U,N,40,10,,,,U,MS-N-40x10.step +N40-10CM,N,40,10,,,,CM,MS-N-40x10.step +N40-10LB,N,40,10,,,LB,,MS-N-40x10.step +N40-10LBU,N,40,10,,,LB,U,MS-N-40x10.step +N40-10LBCM,N,40,10,,,LB,CM,MS-N-40x10.step +N40-10FA,N,40,10,,,FA,,MS-N-40x10.step +N40-10FAU,N,40,10,,,FA,U,MS-N-40x10.step +N40-10FACM,N,40,10,,,FA,CM,MS-N-40x10.step +N40-10FB,N,40,10,,,FB,,MS-N-40x10.step +N40-10FBU,N,40,10,,,FB,U,MS-N-40x10.step +N40-10FBCM,N,40,10,,,FB,CM,MS-N-40x10.step +N40-10SDB,N,40,10,,,SDB,,MS-N-40x10.step +N40-10SDBU,N,40,10,,,SDB,U,MS-N-40x10.step +N40-10SDBCM,N,40,10,,,SDB,CM,MS-N-40x10.step +N40-10ME,N,40,10,M,E,,,MS-N-40x10.step +N40-10MEU,N,40,10,M,E,,U,MS-N-40x10.step +N40-10MECM,N,40,10,M,E,,CM,MS-N-40x10.step +N40-10MELB,N,40,10,M,E,LB,,MS-N-40x10.step +N40-10MELBU,N,40,10,M,E,LB,U,MS-N-40x10.step +N40-10MELBCM,N,40,10,M,E,LB,CM,MS-N-40x10.step +N40-10MEFA,N,40,10,M,E,FA,,MS-N-40x10.step +N40-10MEFAU,N,40,10,M,E,FA,U,MS-N-40x10.step +N40-10MEFACM,N,40,10,M,E,FA,CM,MS-N-40x10.step +N40-10MEFB,N,40,10,M,E,FB,,MS-N-40x10.step +N40-10MEFBU,N,40,10,M,E,FB,U,MS-N-40x10.step +N40-10MEFBCM,N,40,10,M,E,FB,CM,MS-N-40x10.step +N40-10MESDB,N,40,10,M,E,SDB,,MS-N-40x10.step +N40-10MESDBU,N,40,10,M,E,SDB,U,MS-N-40x10.step +N40-10MESDBCM,N,40,10,M,E,SDB,CM,MS-N-40x10.step +N40-10M,N,40,10,M,,,,MS-N-40x10.step +N40-10MU,N,40,10,M,,,U,MS-N-40x10.step +N40-10MCM,N,40,10,M,,,CM,MS-N-40x10.step +N40-10MLB,N,40,10,M,,LB,,MS-N-40x10.step +N40-10MLBU,N,40,10,M,,LB,U,MS-N-40x10.step +N40-10MLBCM,N,40,10,M,,LB,CM,MS-N-40x10.step +N40-10MFA,N,40,10,M,,FA,,MS-N-40x10.step +N40-10MFAU,N,40,10,M,,FA,U,MS-N-40x10.step +N40-10MFACM,N,40,10,M,,FA,CM,MS-N-40x10.step +N40-10MFB,N,40,10,M,,FB,,MS-N-40x10.step +N40-10MFBU,N,40,10,M,,FB,U,MS-N-40x10.step +N40-10MFBCM,N,40,10,M,,FB,CM,MS-N-40x10.step +N40-10MSDB,N,40,10,M,,SDB,,MS-N-40x10.step +N40-10MSDBU,N,40,10,M,,SDB,U,MS-N-40x10.step +N40-10MSDBCM,N,40,10,M,,SDB,CM,MS-N-40x10.step +N40-20E,N,40,20,,E,,,MS-N-40x20.step +N40-20EU,N,40,20,,E,,U,MS-N-40x20.step +N40-20ECM,N,40,20,,E,,CM,MS-N-40x20.step +N40-20ELB,N,40,20,,E,LB,,MS-N-40x20.step +N40-20ELBU,N,40,20,,E,LB,U,MS-N-40x20.step +N40-20ELBCM,N,40,20,,E,LB,CM,MS-N-40x20.step +N40-20EFA,N,40,20,,E,FA,,MS-N-40x20.step +N40-20EFAU,N,40,20,,E,FA,U,MS-N-40x20.step +N40-20EFACM,N,40,20,,E,FA,CM,MS-N-40x20.step +N40-20EFB,N,40,20,,E,FB,,MS-N-40x20.step +N40-20EFBU,N,40,20,,E,FB,U,MS-N-40x20.step +N40-20EFBCM,N,40,20,,E,FB,CM,MS-N-40x20.step +N40-20ESDB,N,40,20,,E,SDB,,MS-N-40x20.step +N40-20ESDBU,N,40,20,,E,SDB,U,MS-N-40x20.step +N40-20ESDBCM,N,40,20,,E,SDB,CM,MS-N-40x20.step +N40-20,N,40,20,,,,,MS-N-40x20.step +N40-20U,N,40,20,,,,U,MS-N-40x20.step +N40-20CM,N,40,20,,,,CM,MS-N-40x20.step +N40-20LB,N,40,20,,,LB,,MS-N-40x20.step +N40-20LBU,N,40,20,,,LB,U,MS-N-40x20.step +N40-20LBCM,N,40,20,,,LB,CM,MS-N-40x20.step +N40-20FA,N,40,20,,,FA,,MS-N-40x20.step +N40-20FAU,N,40,20,,,FA,U,MS-N-40x20.step +N40-20FACM,N,40,20,,,FA,CM,MS-N-40x20.step +N40-20FB,N,40,20,,,FB,,MS-N-40x20.step +N40-20FBU,N,40,20,,,FB,U,MS-N-40x20.step +N40-20FBCM,N,40,20,,,FB,CM,MS-N-40x20.step +N40-20SDB,N,40,20,,,SDB,,MS-N-40x20.step +N40-20SDBU,N,40,20,,,SDB,U,MS-N-40x20.step +N40-20SDBCM,N,40,20,,,SDB,CM,MS-N-40x20.step +N40-20ME,N,40,20,M,E,,,MS-N-40x20.step +N40-20MEU,N,40,20,M,E,,U,MS-N-40x20.step +N40-20MECM,N,40,20,M,E,,CM,MS-N-40x20.step +N40-20MELB,N,40,20,M,E,LB,,MS-N-40x20.step +N40-20MELBU,N,40,20,M,E,LB,U,MS-N-40x20.step +N40-20MELBCM,N,40,20,M,E,LB,CM,MS-N-40x20.step +N40-20MEFA,N,40,20,M,E,FA,,MS-N-40x20.step +N40-20MEFAU,N,40,20,M,E,FA,U,MS-N-40x20.step +N40-20MEFACM,N,40,20,M,E,FA,CM,MS-N-40x20.step +N40-20MEFB,N,40,20,M,E,FB,,MS-N-40x20.step +N40-20MEFBU,N,40,20,M,E,FB,U,MS-N-40x20.step +N40-20MEFBCM,N,40,20,M,E,FB,CM,MS-N-40x20.step +N40-20MESDB,N,40,20,M,E,SDB,,MS-N-40x20.step +N40-20MESDBU,N,40,20,M,E,SDB,U,MS-N-40x20.step +N40-20MESDBCM,N,40,20,M,E,SDB,CM,MS-N-40x20.step +N40-20M,N,40,20,M,,,,MS-N-40x20.step +N40-20MU,N,40,20,M,,,U,MS-N-40x20.step +N40-20MCM,N,40,20,M,,,CM,MS-N-40x20.step +N40-20MLB,N,40,20,M,,LB,,MS-N-40x20.step +N40-20MLBU,N,40,20,M,,LB,U,MS-N-40x20.step +N40-20MLBCM,N,40,20,M,,LB,CM,MS-N-40x20.step +N40-20MFA,N,40,20,M,,FA,,MS-N-40x20.step +N40-20MFAU,N,40,20,M,,FA,U,MS-N-40x20.step +N40-20MFACM,N,40,20,M,,FA,CM,MS-N-40x20.step +N40-20MFB,N,40,20,M,,FB,,MS-N-40x20.step +N40-20MFBU,N,40,20,M,,FB,U,MS-N-40x20.step +N40-20MFBCM,N,40,20,M,,FB,CM,MS-N-40x20.step +N40-20MSDB,N,40,20,M,,SDB,,MS-N-40x20.step +N40-20MSDBU,N,40,20,M,,SDB,U,MS-N-40x20.step +N40-20MSDBCM,N,40,20,M,,SDB,CM,MS-N-40x20.step +N40-30E,N,40,30,,E,,,MS-N-40x30.step +N40-30EU,N,40,30,,E,,U,MS-N-40x30.step +N40-30ECM,N,40,30,,E,,CM,MS-N-40x30.step +N40-30ELB,N,40,30,,E,LB,,MS-N-40x30.step +N40-30ELBU,N,40,30,,E,LB,U,MS-N-40x30.step +N40-30ELBCM,N,40,30,,E,LB,CM,MS-N-40x30.step +N40-30EFA,N,40,30,,E,FA,,MS-N-40x30.step +N40-30EFAU,N,40,30,,E,FA,U,MS-N-40x30.step +N40-30EFACM,N,40,30,,E,FA,CM,MS-N-40x30.step +N40-30EFB,N,40,30,,E,FB,,MS-N-40x30.step +N40-30EFBU,N,40,30,,E,FB,U,MS-N-40x30.step +N40-30EFBCM,N,40,30,,E,FB,CM,MS-N-40x30.step +N40-30ESDB,N,40,30,,E,SDB,,MS-N-40x30.step +N40-30ESDBU,N,40,30,,E,SDB,U,MS-N-40x30.step +N40-30ESDBCM,N,40,30,,E,SDB,CM,MS-N-40x30.step +N40-30,N,40,30,,,,,MS-N-40x30.step +N40-30U,N,40,30,,,,U,MS-N-40x30.step +N40-30CM,N,40,30,,,,CM,MS-N-40x30.step +N40-30LB,N,40,30,,,LB,,MS-N-40x30.step +N40-30LBU,N,40,30,,,LB,U,MS-N-40x30.step +N40-30LBCM,N,40,30,,,LB,CM,MS-N-40x30.step +N40-30FA,N,40,30,,,FA,,MS-N-40x30.step +N40-30FAU,N,40,30,,,FA,U,MS-N-40x30.step +N40-30FACM,N,40,30,,,FA,CM,MS-N-40x30.step +N40-30FB,N,40,30,,,FB,,MS-N-40x30.step +N40-30FBU,N,40,30,,,FB,U,MS-N-40x30.step +N40-30FBCM,N,40,30,,,FB,CM,MS-N-40x30.step +N40-30SDB,N,40,30,,,SDB,,MS-N-40x30.step +N40-30SDBU,N,40,30,,,SDB,U,MS-N-40x30.step +N40-30SDBCM,N,40,30,,,SDB,CM,MS-N-40x30.step +N40-30ME,N,40,30,M,E,,,MS-N-40x30.step +N40-30MEU,N,40,30,M,E,,U,MS-N-40x30.step +N40-30MECM,N,40,30,M,E,,CM,MS-N-40x30.step +N40-30MELB,N,40,30,M,E,LB,,MS-N-40x30.step +N40-30MELBU,N,40,30,M,E,LB,U,MS-N-40x30.step +N40-30MELBCM,N,40,30,M,E,LB,CM,MS-N-40x30.step +N40-30MEFA,N,40,30,M,E,FA,,MS-N-40x30.step +N40-30MEFAU,N,40,30,M,E,FA,U,MS-N-40x30.step +N40-30MEFACM,N,40,30,M,E,FA,CM,MS-N-40x30.step +N40-30MEFB,N,40,30,M,E,FB,,MS-N-40x30.step +N40-30MEFBU,N,40,30,M,E,FB,U,MS-N-40x30.step +N40-30MEFBCM,N,40,30,M,E,FB,CM,MS-N-40x30.step +N40-30MESDB,N,40,30,M,E,SDB,,MS-N-40x30.step +N40-30MESDBU,N,40,30,M,E,SDB,U,MS-N-40x30.step +N40-30MESDBCM,N,40,30,M,E,SDB,CM,MS-N-40x30.step +N40-30M,N,40,30,M,,,,MS-N-40x30.step +N40-30MU,N,40,30,M,,,U,MS-N-40x30.step +N40-30MCM,N,40,30,M,,,CM,MS-N-40x30.step +N40-30MLB,N,40,30,M,,LB,,MS-N-40x30.step +N40-30MLBU,N,40,30,M,,LB,U,MS-N-40x30.step +N40-30MLBCM,N,40,30,M,,LB,CM,MS-N-40x30.step +N40-30MFA,N,40,30,M,,FA,,MS-N-40x30.step +N40-30MFAU,N,40,30,M,,FA,U,MS-N-40x30.step +N40-30MFACM,N,40,30,M,,FA,CM,MS-N-40x30.step +N40-30MFB,N,40,30,M,,FB,,MS-N-40x30.step +N40-30MFBU,N,40,30,M,,FB,U,MS-N-40x30.step +N40-30MFBCM,N,40,30,M,,FB,CM,MS-N-40x30.step +N40-30MSDB,N,40,30,M,,SDB,,MS-N-40x30.step +N40-30MSDBU,N,40,30,M,,SDB,U,MS-N-40x30.step +N40-30MSDBCM,N,40,30,M,,SDB,CM,MS-N-40x30.step +N40-50E,N,40,50,,E,,,MS-N-40x50.step +N40-50EU,N,40,50,,E,,U,MS-N-40x50.step +N40-50ECM,N,40,50,,E,,CM,MS-N-40x50.step +N40-50ELB,N,40,50,,E,LB,,MS-N-40x50.step +N40-50ELBU,N,40,50,,E,LB,U,MS-N-40x50.step +N40-50ELBCM,N,40,50,,E,LB,CM,MS-N-40x50.step +N40-50EFA,N,40,50,,E,FA,,MS-N-40x50.step +N40-50EFAU,N,40,50,,E,FA,U,MS-N-40x50.step +N40-50EFACM,N,40,50,,E,FA,CM,MS-N-40x50.step +N40-50EFB,N,40,50,,E,FB,,MS-N-40x50.step +N40-50EFBU,N,40,50,,E,FB,U,MS-N-40x50.step +N40-50EFBCM,N,40,50,,E,FB,CM,MS-N-40x50.step +N40-50ESDB,N,40,50,,E,SDB,,MS-N-40x50.step +N40-50ESDBU,N,40,50,,E,SDB,U,MS-N-40x50.step +N40-50ESDBCM,N,40,50,,E,SDB,CM,MS-N-40x50.step +N40-50,N,40,50,,,,,MS-N-40x50.step +N40-50U,N,40,50,,,,U,MS-N-40x50.step +N40-50CM,N,40,50,,,,CM,MS-N-40x50.step +N40-50LB,N,40,50,,,LB,,MS-N-40x50.step +N40-50LBU,N,40,50,,,LB,U,MS-N-40x50.step +N40-50LBCM,N,40,50,,,LB,CM,MS-N-40x50.step +N40-50FA,N,40,50,,,FA,,MS-N-40x50.step +N40-50FAU,N,40,50,,,FA,U,MS-N-40x50.step +N40-50FACM,N,40,50,,,FA,CM,MS-N-40x50.step +N40-50FB,N,40,50,,,FB,,MS-N-40x50.step +N40-50FBU,N,40,50,,,FB,U,MS-N-40x50.step +N40-50FBCM,N,40,50,,,FB,CM,MS-N-40x50.step +N40-50SDB,N,40,50,,,SDB,,MS-N-40x50.step +N40-50SDBU,N,40,50,,,SDB,U,MS-N-40x50.step +N40-50SDBCM,N,40,50,,,SDB,CM,MS-N-40x50.step +N40-50ME,N,40,50,M,E,,,MS-N-40x50.step +N40-50MEU,N,40,50,M,E,,U,MS-N-40x50.step +N40-50MECM,N,40,50,M,E,,CM,MS-N-40x50.step +N40-50MELB,N,40,50,M,E,LB,,MS-N-40x50.step +N40-50MELBU,N,40,50,M,E,LB,U,MS-N-40x50.step +N40-50MELBCM,N,40,50,M,E,LB,CM,MS-N-40x50.step +N40-50MEFA,N,40,50,M,E,FA,,MS-N-40x50.step +N40-50MEFAU,N,40,50,M,E,FA,U,MS-N-40x50.step +N40-50MEFACM,N,40,50,M,E,FA,CM,MS-N-40x50.step +N40-50MEFB,N,40,50,M,E,FB,,MS-N-40x50.step +N40-50MEFBU,N,40,50,M,E,FB,U,MS-N-40x50.step +N40-50MEFBCM,N,40,50,M,E,FB,CM,MS-N-40x50.step +N40-50MESDB,N,40,50,M,E,SDB,,MS-N-40x50.step +N40-50MESDBU,N,40,50,M,E,SDB,U,MS-N-40x50.step +N40-50MESDBCM,N,40,50,M,E,SDB,CM,MS-N-40x50.step +N40-50M,N,40,50,M,,,,MS-N-40x50.step +N40-50MU,N,40,50,M,,,U,MS-N-40x50.step +N40-50MCM,N,40,50,M,,,CM,MS-N-40x50.step +N40-50MLB,N,40,50,M,,LB,,MS-N-40x50.step +N40-50MLBU,N,40,50,M,,LB,U,MS-N-40x50.step +N40-50MLBCM,N,40,50,M,,LB,CM,MS-N-40x50.step +N40-50MFA,N,40,50,M,,FA,,MS-N-40x50.step +N40-50MFAU,N,40,50,M,,FA,U,MS-N-40x50.step +N40-50MFACM,N,40,50,M,,FA,CM,MS-N-40x50.step +N40-50MFB,N,40,50,M,,FB,,MS-N-40x50.step +N40-50MFBU,N,40,50,M,,FB,U,MS-N-40x50.step +N40-50MFBCM,N,40,50,M,,FB,CM,MS-N-40x50.step +N40-50MSDB,N,40,50,M,,SDB,,MS-N-40x50.step +N40-50MSDBU,N,40,50,M,,SDB,U,MS-N-40x50.step +N40-50MSDBCM,N,40,50,M,,SDB,CM,MS-N-40x50.step +N40-75E,N,40,75,,E,,,MS-N-40x75.step +N40-75EU,N,40,75,,E,,U,MS-N-40x75.step +N40-75ECM,N,40,75,,E,,CM,MS-N-40x75.step +N40-75ELB,N,40,75,,E,LB,,MS-N-40x75.step +N40-75ELBU,N,40,75,,E,LB,U,MS-N-40x75.step +N40-75ELBCM,N,40,75,,E,LB,CM,MS-N-40x75.step +N40-75EFA,N,40,75,,E,FA,,MS-N-40x75.step +N40-75EFAU,N,40,75,,E,FA,U,MS-N-40x75.step +N40-75EFACM,N,40,75,,E,FA,CM,MS-N-40x75.step +N40-75EFB,N,40,75,,E,FB,,MS-N-40x75.step +N40-75EFBU,N,40,75,,E,FB,U,MS-N-40x75.step +N40-75EFBCM,N,40,75,,E,FB,CM,MS-N-40x75.step +N40-75ESDB,N,40,75,,E,SDB,,MS-N-40x75.step +N40-75ESDBU,N,40,75,,E,SDB,U,MS-N-40x75.step +N40-75ESDBCM,N,40,75,,E,SDB,CM,MS-N-40x75.step +N40-75,N,40,75,,,,,MS-N-40x75.step +N40-75U,N,40,75,,,,U,MS-N-40x75.step +N40-75CM,N,40,75,,,,CM,MS-N-40x75.step +N40-75LB,N,40,75,,,LB,,MS-N-40x75.step +N40-75LBU,N,40,75,,,LB,U,MS-N-40x75.step +N40-75LBCM,N,40,75,,,LB,CM,MS-N-40x75.step +N40-75FA,N,40,75,,,FA,,MS-N-40x75.step +N40-75FAU,N,40,75,,,FA,U,MS-N-40x75.step +N40-75FACM,N,40,75,,,FA,CM,MS-N-40x75.step +N40-75FB,N,40,75,,,FB,,MS-N-40x75.step +N40-75FBU,N,40,75,,,FB,U,MS-N-40x75.step +N40-75FBCM,N,40,75,,,FB,CM,MS-N-40x75.step +N40-75SDB,N,40,75,,,SDB,,MS-N-40x75.step +N40-75SDBU,N,40,75,,,SDB,U,MS-N-40x75.step +N40-75SDBCM,N,40,75,,,SDB,CM,MS-N-40x75.step +N40-75ME,N,40,75,M,E,,,MS-N-40x75.step +N40-75MEU,N,40,75,M,E,,U,MS-N-40x75.step +N40-75MECM,N,40,75,M,E,,CM,MS-N-40x75.step +N40-75MELB,N,40,75,M,E,LB,,MS-N-40x75.step +N40-75MELBU,N,40,75,M,E,LB,U,MS-N-40x75.step +N40-75MELBCM,N,40,75,M,E,LB,CM,MS-N-40x75.step +N40-75MEFA,N,40,75,M,E,FA,,MS-N-40x75.step +N40-75MEFAU,N,40,75,M,E,FA,U,MS-N-40x75.step +N40-75MEFACM,N,40,75,M,E,FA,CM,MS-N-40x75.step +N40-75MEFB,N,40,75,M,E,FB,,MS-N-40x75.step +N40-75MEFBU,N,40,75,M,E,FB,U,MS-N-40x75.step +N40-75MEFBCM,N,40,75,M,E,FB,CM,MS-N-40x75.step +N40-75MESDB,N,40,75,M,E,SDB,,MS-N-40x75.step +N40-75MESDBU,N,40,75,M,E,SDB,U,MS-N-40x75.step +N40-75MESDBCM,N,40,75,M,E,SDB,CM,MS-N-40x75.step +N40-75M,N,40,75,M,,,,MS-N-40x75.step +N40-75MU,N,40,75,M,,,U,MS-N-40x75.step +N40-75MCM,N,40,75,M,,,CM,MS-N-40x75.step +N40-75MLB,N,40,75,M,,LB,,MS-N-40x75.step +N40-75MLBU,N,40,75,M,,LB,U,MS-N-40x75.step +N40-75MLBCM,N,40,75,M,,LB,CM,MS-N-40x75.step +N40-75MFA,N,40,75,M,,FA,,MS-N-40x75.step +N40-75MFAU,N,40,75,M,,FA,U,MS-N-40x75.step +N40-75MFACM,N,40,75,M,,FA,CM,MS-N-40x75.step +N40-75MFB,N,40,75,M,,FB,,MS-N-40x75.step +N40-75MFBU,N,40,75,M,,FB,U,MS-N-40x75.step +N40-75MFBCM,N,40,75,M,,FB,CM,MS-N-40x75.step +N40-75MSDB,N,40,75,M,,SDB,,MS-N-40x75.step +N40-75MSDBU,N,40,75,M,,SDB,U,MS-N-40x75.step +N40-75MSDBCM,N,40,75,M,,SDB,CM,MS-N-40x75.step +N40-100E,N,40,100,,E,,,MS-N-40x100.step +N40-100EU,N,40,100,,E,,U,MS-N-40x100.step +N40-100ECM,N,40,100,,E,,CM,MS-N-40x100.step +N40-100ELB,N,40,100,,E,LB,,MS-N-40x100.step +N40-100ELBU,N,40,100,,E,LB,U,MS-N-40x100.step +N40-100ELBCM,N,40,100,,E,LB,CM,MS-N-40x100.step +N40-100EFA,N,40,100,,E,FA,,MS-N-40x100.step +N40-100EFAU,N,40,100,,E,FA,U,MS-N-40x100.step +N40-100EFACM,N,40,100,,E,FA,CM,MS-N-40x100.step +N40-100EFB,N,40,100,,E,FB,,MS-N-40x100.step +N40-100EFBU,N,40,100,,E,FB,U,MS-N-40x100.step +N40-100EFBCM,N,40,100,,E,FB,CM,MS-N-40x100.step +N40-100ESDB,N,40,100,,E,SDB,,MS-N-40x100.step +N40-100ESDBU,N,40,100,,E,SDB,U,MS-N-40x100.step +N40-100ESDBCM,N,40,100,,E,SDB,CM,MS-N-40x100.step +N40-100,N,40,100,,,,,MS-N-40x100.step +N40-100U,N,40,100,,,,U,MS-N-40x100.step +N40-100CM,N,40,100,,,,CM,MS-N-40x100.step +N40-100LB,N,40,100,,,LB,,MS-N-40x100.step +N40-100LBU,N,40,100,,,LB,U,MS-N-40x100.step +N40-100LBCM,N,40,100,,,LB,CM,MS-N-40x100.step +N40-100FA,N,40,100,,,FA,,MS-N-40x100.step +N40-100FAU,N,40,100,,,FA,U,MS-N-40x100.step +N40-100FACM,N,40,100,,,FA,CM,MS-N-40x100.step +N40-100FB,N,40,100,,,FB,,MS-N-40x100.step +N40-100FBU,N,40,100,,,FB,U,MS-N-40x100.step +N40-100FBCM,N,40,100,,,FB,CM,MS-N-40x100.step +N40-100SDB,N,40,100,,,SDB,,MS-N-40x100.step +N40-100SDBU,N,40,100,,,SDB,U,MS-N-40x100.step +N40-100SDBCM,N,40,100,,,SDB,CM,MS-N-40x100.step +N40-100ME,N,40,100,M,E,,,MS-N-40x100.step +N40-100MEU,N,40,100,M,E,,U,MS-N-40x100.step +N40-100MECM,N,40,100,M,E,,CM,MS-N-40x100.step +N40-100MELB,N,40,100,M,E,LB,,MS-N-40x100.step +N40-100MELBU,N,40,100,M,E,LB,U,MS-N-40x100.step +N40-100MELBCM,N,40,100,M,E,LB,CM,MS-N-40x100.step +N40-100MEFA,N,40,100,M,E,FA,,MS-N-40x100.step +N40-100MEFAU,N,40,100,M,E,FA,U,MS-N-40x100.step +N40-100MEFACM,N,40,100,M,E,FA,CM,MS-N-40x100.step +N40-100MEFB,N,40,100,M,E,FB,,MS-N-40x100.step +N40-100MEFBU,N,40,100,M,E,FB,U,MS-N-40x100.step +N40-100MEFBCM,N,40,100,M,E,FB,CM,MS-N-40x100.step +N40-100MESDB,N,40,100,M,E,SDB,,MS-N-40x100.step +N40-100MESDBU,N,40,100,M,E,SDB,U,MS-N-40x100.step +N40-100MESDBCM,N,40,100,M,E,SDB,CM,MS-N-40x100.step +N40-100M,N,40,100,M,,,,MS-N-40x100.step +N40-100MU,N,40,100,M,,,U,MS-N-40x100.step +N40-100MCM,N,40,100,M,,,CM,MS-N-40x100.step +N40-100MLB,N,40,100,M,,LB,,MS-N-40x100.step +N40-100MLBU,N,40,100,M,,LB,U,MS-N-40x100.step +N40-100MLBCM,N,40,100,M,,LB,CM,MS-N-40x100.step +N40-100MFA,N,40,100,M,,FA,,MS-N-40x100.step +N40-100MFAU,N,40,100,M,,FA,U,MS-N-40x100.step +N40-100MFACM,N,40,100,M,,FA,CM,MS-N-40x100.step +N40-100MFB,N,40,100,M,,FB,,MS-N-40x100.step +N40-100MFBU,N,40,100,M,,FB,U,MS-N-40x100.step +N40-100MFBCM,N,40,100,M,,FB,CM,MS-N-40x100.step +N40-100MSDB,N,40,100,M,,SDB,,MS-N-40x100.step +N40-100MSDBU,N,40,100,M,,SDB,U,MS-N-40x100.step +N40-100MSDBCM,N,40,100,M,,SDB,CM,MS-N-40x100.step +D16-10E,D,16,10,,E,,,MS-D-16x10.step +D16-10EU,D,16,10,,E,,U,MS-D-16x10.step +D16-10ECM,D,16,10,,E,,CM,MS-D-16x10.step +D16-10ELB,D,16,10,,E,LB,,MS-D-16x10.step +D16-10ELBU,D,16,10,,E,LB,U,MS-D-16x10.step +D16-10ELBCM,D,16,10,,E,LB,CM,MS-D-16x10.step +D16-10EFA,D,16,10,,E,FA,,MS-D-16x10.step +D16-10EFAU,D,16,10,,E,FA,U,MS-D-16x10.step +D16-10EFACM,D,16,10,,E,FA,CM,MS-D-16x10.step +D16-10EFB,D,16,10,,E,FB,,MS-D-16x10.step +D16-10EFBU,D,16,10,,E,FB,U,MS-D-16x10.step +D16-10EFBCM,D,16,10,,E,FB,CM,MS-D-16x10.step +D16-10ESDB,D,16,10,,E,SDB,,MS-D-16x10.step +D16-10ESDBU,D,16,10,,E,SDB,U,MS-D-16x10.step +D16-10ESDBCM,D,16,10,,E,SDB,CM,MS-D-16x10.step +D16-10,D,16,10,,,,,MS-D-16x10.step +D16-10U,D,16,10,,,,U,MS-D-16x10.step +D16-10CM,D,16,10,,,,CM,MS-D-16x10.step +D16-10LB,D,16,10,,,LB,,MS-D-16x10.step +D16-10LBU,D,16,10,,,LB,U,MS-D-16x10.step +D16-10LBCM,D,16,10,,,LB,CM,MS-D-16x10.step +D16-10FA,D,16,10,,,FA,,MS-D-16x10.step +D16-10FAU,D,16,10,,,FA,U,MS-D-16x10.step +D16-10FACM,D,16,10,,,FA,CM,MS-D-16x10.step +D16-10FB,D,16,10,,,FB,,MS-D-16x10.step +D16-10FBU,D,16,10,,,FB,U,MS-D-16x10.step +D16-10FBCM,D,16,10,,,FB,CM,MS-D-16x10.step +D16-10SDB,D,16,10,,,SDB,,MS-D-16x10.step +D16-10SDBU,D,16,10,,,SDB,U,MS-D-16x10.step +D16-10SDBCM,D,16,10,,,SDB,CM,MS-D-16x10.step +D16-10ME,D,16,10,M,E,,,MS-D-16x10.step +D16-10MEU,D,16,10,M,E,,U,MS-D-16x10.step +D16-10MECM,D,16,10,M,E,,CM,MS-D-16x10.step +D16-10MELB,D,16,10,M,E,LB,,MS-D-16x10.step +D16-10MELBU,D,16,10,M,E,LB,U,MS-D-16x10.step +D16-10MELBCM,D,16,10,M,E,LB,CM,MS-D-16x10.step +D16-10MEFA,D,16,10,M,E,FA,,MS-D-16x10.step +D16-10MEFAU,D,16,10,M,E,FA,U,MS-D-16x10.step +D16-10MEFACM,D,16,10,M,E,FA,CM,MS-D-16x10.step +D16-10MEFB,D,16,10,M,E,FB,,MS-D-16x10.step +D16-10MEFBU,D,16,10,M,E,FB,U,MS-D-16x10.step +D16-10MEFBCM,D,16,10,M,E,FB,CM,MS-D-16x10.step +D16-10MESDB,D,16,10,M,E,SDB,,MS-D-16x10.step +D16-10MESDBU,D,16,10,M,E,SDB,U,MS-D-16x10.step +D16-10MESDBCM,D,16,10,M,E,SDB,CM,MS-D-16x10.step +D16-10M,D,16,10,M,,,,MS-D-16x10.step +D16-10MU,D,16,10,M,,,U,MS-D-16x10.step +D16-10MCM,D,16,10,M,,,CM,MS-D-16x10.step +D16-10MLB,D,16,10,M,,LB,,MS-D-16x10.step +D16-10MLBU,D,16,10,M,,LB,U,MS-D-16x10.step +D16-10MLBCM,D,16,10,M,,LB,CM,MS-D-16x10.step +D16-10MFA,D,16,10,M,,FA,,MS-D-16x10.step +D16-10MFAU,D,16,10,M,,FA,U,MS-D-16x10.step +D16-10MFACM,D,16,10,M,,FA,CM,MS-D-16x10.step +D16-10MFB,D,16,10,M,,FB,,MS-D-16x10.step +D16-10MFBU,D,16,10,M,,FB,U,MS-D-16x10.step +D16-10MFBCM,D,16,10,M,,FB,CM,MS-D-16x10.step +D16-10MSDB,D,16,10,M,,SDB,,MS-D-16x10.step +D16-10MSDBU,D,16,10,M,,SDB,U,MS-D-16x10.step +D16-10MSDBCM,D,16,10,M,,SDB,CM,MS-D-16x10.step +D16-20E,D,16,20,,E,,,MS-D-16x20.step +D16-20EU,D,16,20,,E,,U,MS-D-16x20.step +D16-20ECM,D,16,20,,E,,CM,MS-D-16x20.step +D16-20ELB,D,16,20,,E,LB,,MS-D-16x20.step +D16-20ELBU,D,16,20,,E,LB,U,MS-D-16x20.step +D16-20ELBCM,D,16,20,,E,LB,CM,MS-D-16x20.step +D16-20EFA,D,16,20,,E,FA,,MS-D-16x20.step +D16-20EFAU,D,16,20,,E,FA,U,MS-D-16x20.step +D16-20EFACM,D,16,20,,E,FA,CM,MS-D-16x20.step +D16-20EFB,D,16,20,,E,FB,,MS-D-16x20.step +D16-20EFBU,D,16,20,,E,FB,U,MS-D-16x20.step +D16-20EFBCM,D,16,20,,E,FB,CM,MS-D-16x20.step +D16-20ESDB,D,16,20,,E,SDB,,MS-D-16x20.step +D16-20ESDBU,D,16,20,,E,SDB,U,MS-D-16x20.step +D16-20ESDBCM,D,16,20,,E,SDB,CM,MS-D-16x20.step +D16-20,D,16,20,,,,,MS-D-16x20.step +D16-20U,D,16,20,,,,U,MS-D-16x20.step +D16-20CM,D,16,20,,,,CM,MS-D-16x20.step +D16-20LB,D,16,20,,,LB,,MS-D-16x20.step +D16-20LBU,D,16,20,,,LB,U,MS-D-16x20.step +D16-20LBCM,D,16,20,,,LB,CM,MS-D-16x20.step +D16-20FA,D,16,20,,,FA,,MS-D-16x20.step +D16-20FAU,D,16,20,,,FA,U,MS-D-16x20.step +D16-20FACM,D,16,20,,,FA,CM,MS-D-16x20.step +D16-20FB,D,16,20,,,FB,,MS-D-16x20.step +D16-20FBU,D,16,20,,,FB,U,MS-D-16x20.step +D16-20FBCM,D,16,20,,,FB,CM,MS-D-16x20.step +D16-20SDB,D,16,20,,,SDB,,MS-D-16x20.step +D16-20SDBU,D,16,20,,,SDB,U,MS-D-16x20.step +D16-20SDBCM,D,16,20,,,SDB,CM,MS-D-16x20.step +D16-20ME,D,16,20,M,E,,,MS-D-16x20.step +D16-20MEU,D,16,20,M,E,,U,MS-D-16x20.step +D16-20MECM,D,16,20,M,E,,CM,MS-D-16x20.step +D16-20MELB,D,16,20,M,E,LB,,MS-D-16x20.step +D16-20MELBU,D,16,20,M,E,LB,U,MS-D-16x20.step +D16-20MELBCM,D,16,20,M,E,LB,CM,MS-D-16x20.step +D16-20MEFA,D,16,20,M,E,FA,,MS-D-16x20.step +D16-20MEFAU,D,16,20,M,E,FA,U,MS-D-16x20.step +D16-20MEFACM,D,16,20,M,E,FA,CM,MS-D-16x20.step +D16-20MEFB,D,16,20,M,E,FB,,MS-D-16x20.step +D16-20MEFBU,D,16,20,M,E,FB,U,MS-D-16x20.step +D16-20MEFBCM,D,16,20,M,E,FB,CM,MS-D-16x20.step +D16-20MESDB,D,16,20,M,E,SDB,,MS-D-16x20.step +D16-20MESDBU,D,16,20,M,E,SDB,U,MS-D-16x20.step +D16-20MESDBCM,D,16,20,M,E,SDB,CM,MS-D-16x20.step +D16-20M,D,16,20,M,,,,MS-D-16x20.step +D16-20MU,D,16,20,M,,,U,MS-D-16x20.step +D16-20MCM,D,16,20,M,,,CM,MS-D-16x20.step +D16-20MLB,D,16,20,M,,LB,,MS-D-16x20.step +D16-20MLBU,D,16,20,M,,LB,U,MS-D-16x20.step +D16-20MLBCM,D,16,20,M,,LB,CM,MS-D-16x20.step +D16-20MFA,D,16,20,M,,FA,,MS-D-16x20.step +D16-20MFAU,D,16,20,M,,FA,U,MS-D-16x20.step +D16-20MFACM,D,16,20,M,,FA,CM,MS-D-16x20.step +D16-20MFB,D,16,20,M,,FB,,MS-D-16x20.step +D16-20MFBU,D,16,20,M,,FB,U,MS-D-16x20.step +D16-20MFBCM,D,16,20,M,,FB,CM,MS-D-16x20.step +D16-20MSDB,D,16,20,M,,SDB,,MS-D-16x20.step +D16-20MSDBU,D,16,20,M,,SDB,U,MS-D-16x20.step +D16-20MSDBCM,D,16,20,M,,SDB,CM,MS-D-16x20.step +D16-30E,D,16,30,,E,,,MS-D-16x30.step +D16-30EU,D,16,30,,E,,U,MS-D-16x30.step +D16-30ECM,D,16,30,,E,,CM,MS-D-16x30.step +D16-30ELB,D,16,30,,E,LB,,MS-D-16x30.step +D16-30ELBU,D,16,30,,E,LB,U,MS-D-16x30.step +D16-30ELBCM,D,16,30,,E,LB,CM,MS-D-16x30.step +D16-30EFA,D,16,30,,E,FA,,MS-D-16x30.step +D16-30EFAU,D,16,30,,E,FA,U,MS-D-16x30.step +D16-30EFACM,D,16,30,,E,FA,CM,MS-D-16x30.step +D16-30EFB,D,16,30,,E,FB,,MS-D-16x30.step +D16-30EFBU,D,16,30,,E,FB,U,MS-D-16x30.step +D16-30EFBCM,D,16,30,,E,FB,CM,MS-D-16x30.step +D16-30ESDB,D,16,30,,E,SDB,,MS-D-16x30.step +D16-30ESDBU,D,16,30,,E,SDB,U,MS-D-16x30.step +D16-30ESDBCM,D,16,30,,E,SDB,CM,MS-D-16x30.step +D16-30,D,16,30,,,,,MS-D-16x30.step +D16-30U,D,16,30,,,,U,MS-D-16x30.step +D16-30CM,D,16,30,,,,CM,MS-D-16x30.step +D16-30LB,D,16,30,,,LB,,MS-D-16x30.step +D16-30LBU,D,16,30,,,LB,U,MS-D-16x30.step +D16-30LBCM,D,16,30,,,LB,CM,MS-D-16x30.step +D16-30FA,D,16,30,,,FA,,MS-D-16x30.step +D16-30FAU,D,16,30,,,FA,U,MS-D-16x30.step +D16-30FACM,D,16,30,,,FA,CM,MS-D-16x30.step +D16-30FB,D,16,30,,,FB,,MS-D-16x30.step +D16-30FBU,D,16,30,,,FB,U,MS-D-16x30.step +D16-30FBCM,D,16,30,,,FB,CM,MS-D-16x30.step +D16-30SDB,D,16,30,,,SDB,,MS-D-16x30.step +D16-30SDBU,D,16,30,,,SDB,U,MS-D-16x30.step +D16-30SDBCM,D,16,30,,,SDB,CM,MS-D-16x30.step +D16-30ME,D,16,30,M,E,,,MS-D-16x30.step +D16-30MEU,D,16,30,M,E,,U,MS-D-16x30.step +D16-30MECM,D,16,30,M,E,,CM,MS-D-16x30.step +D16-30MELB,D,16,30,M,E,LB,,MS-D-16x30.step +D16-30MELBU,D,16,30,M,E,LB,U,MS-D-16x30.step +D16-30MELBCM,D,16,30,M,E,LB,CM,MS-D-16x30.step +D16-30MEFA,D,16,30,M,E,FA,,MS-D-16x30.step +D16-30MEFAU,D,16,30,M,E,FA,U,MS-D-16x30.step +D16-30MEFACM,D,16,30,M,E,FA,CM,MS-D-16x30.step +D16-30MEFB,D,16,30,M,E,FB,,MS-D-16x30.step +D16-30MEFBU,D,16,30,M,E,FB,U,MS-D-16x30.step +D16-30MEFBCM,D,16,30,M,E,FB,CM,MS-D-16x30.step +D16-30MESDB,D,16,30,M,E,SDB,,MS-D-16x30.step +D16-30MESDBU,D,16,30,M,E,SDB,U,MS-D-16x30.step +D16-30MESDBCM,D,16,30,M,E,SDB,CM,MS-D-16x30.step +D16-30M,D,16,30,M,,,,MS-D-16x30.step +D16-30MU,D,16,30,M,,,U,MS-D-16x30.step +D16-30MCM,D,16,30,M,,,CM,MS-D-16x30.step +D16-30MLB,D,16,30,M,,LB,,MS-D-16x30.step +D16-30MLBU,D,16,30,M,,LB,U,MS-D-16x30.step +D16-30MLBCM,D,16,30,M,,LB,CM,MS-D-16x30.step +D16-30MFA,D,16,30,M,,FA,,MS-D-16x30.step +D16-30MFAU,D,16,30,M,,FA,U,MS-D-16x30.step +D16-30MFACM,D,16,30,M,,FA,CM,MS-D-16x30.step +D16-30MFB,D,16,30,M,,FB,,MS-D-16x30.step +D16-30MFBU,D,16,30,M,,FB,U,MS-D-16x30.step +D16-30MFBCM,D,16,30,M,,FB,CM,MS-D-16x30.step +D16-30MSDB,D,16,30,M,,SDB,,MS-D-16x30.step +D16-30MSDBU,D,16,30,M,,SDB,U,MS-D-16x30.step +D16-30MSDBCM,D,16,30,M,,SDB,CM,MS-D-16x30.step +D16-50E,D,16,50,,E,,,MS-D-16x50.step +D16-50EU,D,16,50,,E,,U,MS-D-16x50.step +D16-50ECM,D,16,50,,E,,CM,MS-D-16x50.step +D16-50ELB,D,16,50,,E,LB,,MS-D-16x50.step +D16-50ELBU,D,16,50,,E,LB,U,MS-D-16x50.step +D16-50ELBCM,D,16,50,,E,LB,CM,MS-D-16x50.step +D16-50EFA,D,16,50,,E,FA,,MS-D-16x50.step +D16-50EFAU,D,16,50,,E,FA,U,MS-D-16x50.step +D16-50EFACM,D,16,50,,E,FA,CM,MS-D-16x50.step +D16-50EFB,D,16,50,,E,FB,,MS-D-16x50.step +D16-50EFBU,D,16,50,,E,FB,U,MS-D-16x50.step +D16-50EFBCM,D,16,50,,E,FB,CM,MS-D-16x50.step +D16-50ESDB,D,16,50,,E,SDB,,MS-D-16x50.step +D16-50ESDBU,D,16,50,,E,SDB,U,MS-D-16x50.step +D16-50ESDBCM,D,16,50,,E,SDB,CM,MS-D-16x50.step +D16-50,D,16,50,,,,,MS-D-16x50.step +D16-50U,D,16,50,,,,U,MS-D-16x50.step +D16-50CM,D,16,50,,,,CM,MS-D-16x50.step +D16-50LB,D,16,50,,,LB,,MS-D-16x50.step +D16-50LBU,D,16,50,,,LB,U,MS-D-16x50.step +D16-50LBCM,D,16,50,,,LB,CM,MS-D-16x50.step +D16-50FA,D,16,50,,,FA,,MS-D-16x50.step +D16-50FAU,D,16,50,,,FA,U,MS-D-16x50.step +D16-50FACM,D,16,50,,,FA,CM,MS-D-16x50.step +D16-50FB,D,16,50,,,FB,,MS-D-16x50.step +D16-50FBU,D,16,50,,,FB,U,MS-D-16x50.step +D16-50FBCM,D,16,50,,,FB,CM,MS-D-16x50.step +D16-50SDB,D,16,50,,,SDB,,MS-D-16x50.step +D16-50SDBU,D,16,50,,,SDB,U,MS-D-16x50.step +D16-50SDBCM,D,16,50,,,SDB,CM,MS-D-16x50.step +D16-50ME,D,16,50,M,E,,,MS-D-16x50.step +D16-50MEU,D,16,50,M,E,,U,MS-D-16x50.step +D16-50MECM,D,16,50,M,E,,CM,MS-D-16x50.step +D16-50MELB,D,16,50,M,E,LB,,MS-D-16x50.step +D16-50MELBU,D,16,50,M,E,LB,U,MS-D-16x50.step +D16-50MELBCM,D,16,50,M,E,LB,CM,MS-D-16x50.step +D16-50MEFA,D,16,50,M,E,FA,,MS-D-16x50.step +D16-50MEFAU,D,16,50,M,E,FA,U,MS-D-16x50.step +D16-50MEFACM,D,16,50,M,E,FA,CM,MS-D-16x50.step +D16-50MEFB,D,16,50,M,E,FB,,MS-D-16x50.step +D16-50MEFBU,D,16,50,M,E,FB,U,MS-D-16x50.step +D16-50MEFBCM,D,16,50,M,E,FB,CM,MS-D-16x50.step +D16-50MESDB,D,16,50,M,E,SDB,,MS-D-16x50.step +D16-50MESDBU,D,16,50,M,E,SDB,U,MS-D-16x50.step +D16-50MESDBCM,D,16,50,M,E,SDB,CM,MS-D-16x50.step +D16-50M,D,16,50,M,,,,MS-D-16x50.step +D16-50MU,D,16,50,M,,,U,MS-D-16x50.step +D16-50MCM,D,16,50,M,,,CM,MS-D-16x50.step +D16-50MLB,D,16,50,M,,LB,,MS-D-16x50.step +D16-50MLBU,D,16,50,M,,LB,U,MS-D-16x50.step +D16-50MLBCM,D,16,50,M,,LB,CM,MS-D-16x50.step +D16-50MFA,D,16,50,M,,FA,,MS-D-16x50.step +D16-50MFAU,D,16,50,M,,FA,U,MS-D-16x50.step +D16-50MFACM,D,16,50,M,,FA,CM,MS-D-16x50.step +D16-50MFB,D,16,50,M,,FB,,MS-D-16x50.step +D16-50MFBU,D,16,50,M,,FB,U,MS-D-16x50.step +D16-50MFBCM,D,16,50,M,,FB,CM,MS-D-16x50.step +D16-50MSDB,D,16,50,M,,SDB,,MS-D-16x50.step +D16-50MSDBU,D,16,50,M,,SDB,U,MS-D-16x50.step +D16-50MSDBCM,D,16,50,M,,SDB,CM,MS-D-16x50.step +D16-75E,D,16,75,,E,,,MS-D-16x75.step +D16-75EU,D,16,75,,E,,U,MS-D-16x75.step +D16-75ECM,D,16,75,,E,,CM,MS-D-16x75.step +D16-75ELB,D,16,75,,E,LB,,MS-D-16x75.step +D16-75ELBU,D,16,75,,E,LB,U,MS-D-16x75.step +D16-75ELBCM,D,16,75,,E,LB,CM,MS-D-16x75.step +D16-75EFA,D,16,75,,E,FA,,MS-D-16x75.step +D16-75EFAU,D,16,75,,E,FA,U,MS-D-16x75.step +D16-75EFACM,D,16,75,,E,FA,CM,MS-D-16x75.step +D16-75EFB,D,16,75,,E,FB,,MS-D-16x75.step +D16-75EFBU,D,16,75,,E,FB,U,MS-D-16x75.step +D16-75EFBCM,D,16,75,,E,FB,CM,MS-D-16x75.step +D16-75ESDB,D,16,75,,E,SDB,,MS-D-16x75.step +D16-75ESDBU,D,16,75,,E,SDB,U,MS-D-16x75.step +D16-75ESDBCM,D,16,75,,E,SDB,CM,MS-D-16x75.step +D16-75,D,16,75,,,,,MS-D-16x75.step +D16-75U,D,16,75,,,,U,MS-D-16x75.step +D16-75CM,D,16,75,,,,CM,MS-D-16x75.step +D16-75LB,D,16,75,,,LB,,MS-D-16x75.step +D16-75LBU,D,16,75,,,LB,U,MS-D-16x75.step +D16-75LBCM,D,16,75,,,LB,CM,MS-D-16x75.step +D16-75FA,D,16,75,,,FA,,MS-D-16x75.step +D16-75FAU,D,16,75,,,FA,U,MS-D-16x75.step +D16-75FACM,D,16,75,,,FA,CM,MS-D-16x75.step +D16-75FB,D,16,75,,,FB,,MS-D-16x75.step +D16-75FBU,D,16,75,,,FB,U,MS-D-16x75.step +D16-75FBCM,D,16,75,,,FB,CM,MS-D-16x75.step +D16-75SDB,D,16,75,,,SDB,,MS-D-16x75.step +D16-75SDBU,D,16,75,,,SDB,U,MS-D-16x75.step +D16-75SDBCM,D,16,75,,,SDB,CM,MS-D-16x75.step +D16-75ME,D,16,75,M,E,,,MS-D-16x75.step +D16-75MEU,D,16,75,M,E,,U,MS-D-16x75.step +D16-75MECM,D,16,75,M,E,,CM,MS-D-16x75.step +D16-75MELB,D,16,75,M,E,LB,,MS-D-16x75.step +D16-75MELBU,D,16,75,M,E,LB,U,MS-D-16x75.step +D16-75MELBCM,D,16,75,M,E,LB,CM,MS-D-16x75.step +D16-75MEFA,D,16,75,M,E,FA,,MS-D-16x75.step +D16-75MEFAU,D,16,75,M,E,FA,U,MS-D-16x75.step +D16-75MEFACM,D,16,75,M,E,FA,CM,MS-D-16x75.step +D16-75MEFB,D,16,75,M,E,FB,,MS-D-16x75.step +D16-75MEFBU,D,16,75,M,E,FB,U,MS-D-16x75.step +D16-75MEFBCM,D,16,75,M,E,FB,CM,MS-D-16x75.step +D16-75MESDB,D,16,75,M,E,SDB,,MS-D-16x75.step +D16-75MESDBU,D,16,75,M,E,SDB,U,MS-D-16x75.step +D16-75MESDBCM,D,16,75,M,E,SDB,CM,MS-D-16x75.step +D16-75M,D,16,75,M,,,,MS-D-16x75.step +D16-75MU,D,16,75,M,,,U,MS-D-16x75.step +D16-75MCM,D,16,75,M,,,CM,MS-D-16x75.step +D16-75MLB,D,16,75,M,,LB,,MS-D-16x75.step +D16-75MLBU,D,16,75,M,,LB,U,MS-D-16x75.step +D16-75MLBCM,D,16,75,M,,LB,CM,MS-D-16x75.step +D16-75MFA,D,16,75,M,,FA,,MS-D-16x75.step +D16-75MFAU,D,16,75,M,,FA,U,MS-D-16x75.step +D16-75MFACM,D,16,75,M,,FA,CM,MS-D-16x75.step +D16-75MFB,D,16,75,M,,FB,,MS-D-16x75.step +D16-75MFBU,D,16,75,M,,FB,U,MS-D-16x75.step +D16-75MFBCM,D,16,75,M,,FB,CM,MS-D-16x75.step +D16-75MSDB,D,16,75,M,,SDB,,MS-D-16x75.step +D16-75MSDBU,D,16,75,M,,SDB,U,MS-D-16x75.step +D16-75MSDBCM,D,16,75,M,,SDB,CM,MS-D-16x75.step +D16-100E,D,16,100,,E,,,MS-D-16x100.step +D16-100EU,D,16,100,,E,,U,MS-D-16x100.step +D16-100ECM,D,16,100,,E,,CM,MS-D-16x100.step +D16-100ELB,D,16,100,,E,LB,,MS-D-16x100.step +D16-100ELBU,D,16,100,,E,LB,U,MS-D-16x100.step +D16-100ELBCM,D,16,100,,E,LB,CM,MS-D-16x100.step +D16-100EFA,D,16,100,,E,FA,,MS-D-16x100.step +D16-100EFAU,D,16,100,,E,FA,U,MS-D-16x100.step +D16-100EFACM,D,16,100,,E,FA,CM,MS-D-16x100.step +D16-100EFB,D,16,100,,E,FB,,MS-D-16x100.step +D16-100EFBU,D,16,100,,E,FB,U,MS-D-16x100.step +D16-100EFBCM,D,16,100,,E,FB,CM,MS-D-16x100.step +D16-100ESDB,D,16,100,,E,SDB,,MS-D-16x100.step +D16-100ESDBU,D,16,100,,E,SDB,U,MS-D-16x100.step +D16-100ESDBCM,D,16,100,,E,SDB,CM,MS-D-16x100.step +D16-100,D,16,100,,,,,MS-D-16x100.step +D16-100U,D,16,100,,,,U,MS-D-16x100.step +D16-100CM,D,16,100,,,,CM,MS-D-16x100.step +D16-100LB,D,16,100,,,LB,,MS-D-16x100.step +D16-100LBU,D,16,100,,,LB,U,MS-D-16x100.step +D16-100LBCM,D,16,100,,,LB,CM,MS-D-16x100.step +D16-100FA,D,16,100,,,FA,,MS-D-16x100.step +D16-100FAU,D,16,100,,,FA,U,MS-D-16x100.step +D16-100FACM,D,16,100,,,FA,CM,MS-D-16x100.step +D16-100FB,D,16,100,,,FB,,MS-D-16x100.step +D16-100FBU,D,16,100,,,FB,U,MS-D-16x100.step +D16-100FBCM,D,16,100,,,FB,CM,MS-D-16x100.step +D16-100SDB,D,16,100,,,SDB,,MS-D-16x100.step +D16-100SDBU,D,16,100,,,SDB,U,MS-D-16x100.step +D16-100SDBCM,D,16,100,,,SDB,CM,MS-D-16x100.step +D16-100ME,D,16,100,M,E,,,MS-D-16x100.step +D16-100MEU,D,16,100,M,E,,U,MS-D-16x100.step +D16-100MECM,D,16,100,M,E,,CM,MS-D-16x100.step +D16-100MELB,D,16,100,M,E,LB,,MS-D-16x100.step +D16-100MELBU,D,16,100,M,E,LB,U,MS-D-16x100.step +D16-100MELBCM,D,16,100,M,E,LB,CM,MS-D-16x100.step +D16-100MEFA,D,16,100,M,E,FA,,MS-D-16x100.step +D16-100MEFAU,D,16,100,M,E,FA,U,MS-D-16x100.step +D16-100MEFACM,D,16,100,M,E,FA,CM,MS-D-16x100.step +D16-100MEFB,D,16,100,M,E,FB,,MS-D-16x100.step +D16-100MEFBU,D,16,100,M,E,FB,U,MS-D-16x100.step +D16-100MEFBCM,D,16,100,M,E,FB,CM,MS-D-16x100.step +D16-100MESDB,D,16,100,M,E,SDB,,MS-D-16x100.step +D16-100MESDBU,D,16,100,M,E,SDB,U,MS-D-16x100.step +D16-100MESDBCM,D,16,100,M,E,SDB,CM,MS-D-16x100.step +D16-100M,D,16,100,M,,,,MS-D-16x100.step +D16-100MU,D,16,100,M,,,U,MS-D-16x100.step +D16-100MCM,D,16,100,M,,,CM,MS-D-16x100.step +D16-100MLB,D,16,100,M,,LB,,MS-D-16x100.step +D16-100MLBU,D,16,100,M,,LB,U,MS-D-16x100.step +D16-100MLBCM,D,16,100,M,,LB,CM,MS-D-16x100.step +D16-100MFA,D,16,100,M,,FA,,MS-D-16x100.step +D16-100MFAU,D,16,100,M,,FA,U,MS-D-16x100.step +D16-100MFACM,D,16,100,M,,FA,CM,MS-D-16x100.step +D16-100MFB,D,16,100,M,,FB,,MS-D-16x100.step +D16-100MFBU,D,16,100,M,,FB,U,MS-D-16x100.step +D16-100MFBCM,D,16,100,M,,FB,CM,MS-D-16x100.step +D16-100MSDB,D,16,100,M,,SDB,,MS-D-16x100.step +D16-100MSDBU,D,16,100,M,,SDB,U,MS-D-16x100.step +D16-100MSDBCM,D,16,100,M,,SDB,CM,MS-D-16x100.step +D20-10E,D,20,10,,E,,,MS-D-20x10.step +D20-10EU,D,20,10,,E,,U,MS-D-20x10.step +D20-10ECM,D,20,10,,E,,CM,MS-D-20x10.step +D20-10ELB,D,20,10,,E,LB,,MS-D-20x10.step +D20-10ELBU,D,20,10,,E,LB,U,MS-D-20x10.step +D20-10ELBCM,D,20,10,,E,LB,CM,MS-D-20x10.step +D20-10EFA,D,20,10,,E,FA,,MS-D-20x10.step +D20-10EFAU,D,20,10,,E,FA,U,MS-D-20x10.step +D20-10EFACM,D,20,10,,E,FA,CM,MS-D-20x10.step +D20-10EFB,D,20,10,,E,FB,,MS-D-20x10.step +D20-10EFBU,D,20,10,,E,FB,U,MS-D-20x10.step +D20-10EFBCM,D,20,10,,E,FB,CM,MS-D-20x10.step +D20-10ESDB,D,20,10,,E,SDB,,MS-D-20x10.step +D20-10ESDBU,D,20,10,,E,SDB,U,MS-D-20x10.step +D20-10ESDBCM,D,20,10,,E,SDB,CM,MS-D-20x10.step +D20-10,D,20,10,,,,,MS-D-20x10.step +D20-10U,D,20,10,,,,U,MS-D-20x10.step +D20-10CM,D,20,10,,,,CM,MS-D-20x10.step +D20-10LB,D,20,10,,,LB,,MS-D-20x10.step +D20-10LBU,D,20,10,,,LB,U,MS-D-20x10.step +D20-10LBCM,D,20,10,,,LB,CM,MS-D-20x10.step +D20-10FA,D,20,10,,,FA,,MS-D-20x10.step +D20-10FAU,D,20,10,,,FA,U,MS-D-20x10.step +D20-10FACM,D,20,10,,,FA,CM,MS-D-20x10.step +D20-10FB,D,20,10,,,FB,,MS-D-20x10.step +D20-10FBU,D,20,10,,,FB,U,MS-D-20x10.step +D20-10FBCM,D,20,10,,,FB,CM,MS-D-20x10.step +D20-10SDB,D,20,10,,,SDB,,MS-D-20x10.step +D20-10SDBU,D,20,10,,,SDB,U,MS-D-20x10.step +D20-10SDBCM,D,20,10,,,SDB,CM,MS-D-20x10.step +D20-10ME,D,20,10,M,E,,,MS-D-20x10.step +D20-10MEU,D,20,10,M,E,,U,MS-D-20x10.step +D20-10MECM,D,20,10,M,E,,CM,MS-D-20x10.step +D20-10MELB,D,20,10,M,E,LB,,MS-D-20x10.step +D20-10MELBU,D,20,10,M,E,LB,U,MS-D-20x10.step +D20-10MELBCM,D,20,10,M,E,LB,CM,MS-D-20x10.step +D20-10MEFA,D,20,10,M,E,FA,,MS-D-20x10.step +D20-10MEFAU,D,20,10,M,E,FA,U,MS-D-20x10.step +D20-10MEFACM,D,20,10,M,E,FA,CM,MS-D-20x10.step +D20-10MEFB,D,20,10,M,E,FB,,MS-D-20x10.step +D20-10MEFBU,D,20,10,M,E,FB,U,MS-D-20x10.step +D20-10MEFBCM,D,20,10,M,E,FB,CM,MS-D-20x10.step +D20-10MESDB,D,20,10,M,E,SDB,,MS-D-20x10.step +D20-10MESDBU,D,20,10,M,E,SDB,U,MS-D-20x10.step +D20-10MESDBCM,D,20,10,M,E,SDB,CM,MS-D-20x10.step +D20-10M,D,20,10,M,,,,MS-D-20x10.step +D20-10MU,D,20,10,M,,,U,MS-D-20x10.step +D20-10MCM,D,20,10,M,,,CM,MS-D-20x10.step +D20-10MLB,D,20,10,M,,LB,,MS-D-20x10.step +D20-10MLBU,D,20,10,M,,LB,U,MS-D-20x10.step +D20-10MLBCM,D,20,10,M,,LB,CM,MS-D-20x10.step +D20-10MFA,D,20,10,M,,FA,,MS-D-20x10.step +D20-10MFAU,D,20,10,M,,FA,U,MS-D-20x10.step +D20-10MFACM,D,20,10,M,,FA,CM,MS-D-20x10.step +D20-10MFB,D,20,10,M,,FB,,MS-D-20x10.step +D20-10MFBU,D,20,10,M,,FB,U,MS-D-20x10.step +D20-10MFBCM,D,20,10,M,,FB,CM,MS-D-20x10.step +D20-10MSDB,D,20,10,M,,SDB,,MS-D-20x10.step +D20-10MSDBU,D,20,10,M,,SDB,U,MS-D-20x10.step +D20-10MSDBCM,D,20,10,M,,SDB,CM,MS-D-20x10.step +D20-20E,D,20,20,,E,,,MS-D-20x20.step +D20-20EU,D,20,20,,E,,U,MS-D-20x20.step +D20-20ECM,D,20,20,,E,,CM,MS-D-20x20.step +D20-20ELB,D,20,20,,E,LB,,MS-D-20x20.step +D20-20ELBU,D,20,20,,E,LB,U,MS-D-20x20.step +D20-20ELBCM,D,20,20,,E,LB,CM,MS-D-20x20.step +D20-20EFA,D,20,20,,E,FA,,MS-D-20x20.step +D20-20EFAU,D,20,20,,E,FA,U,MS-D-20x20.step +D20-20EFACM,D,20,20,,E,FA,CM,MS-D-20x20.step +D20-20EFB,D,20,20,,E,FB,,MS-D-20x20.step +D20-20EFBU,D,20,20,,E,FB,U,MS-D-20x20.step +D20-20EFBCM,D,20,20,,E,FB,CM,MS-D-20x20.step +D20-20ESDB,D,20,20,,E,SDB,,MS-D-20x20.step +D20-20ESDBU,D,20,20,,E,SDB,U,MS-D-20x20.step +D20-20ESDBCM,D,20,20,,E,SDB,CM,MS-D-20x20.step +D20-20,D,20,20,,,,,MS-D-20x20.step +D20-20U,D,20,20,,,,U,MS-D-20x20.step +D20-20CM,D,20,20,,,,CM,MS-D-20x20.step +D20-20LB,D,20,20,,,LB,,MS-D-20x20.step +D20-20LBU,D,20,20,,,LB,U,MS-D-20x20.step +D20-20LBCM,D,20,20,,,LB,CM,MS-D-20x20.step +D20-20FA,D,20,20,,,FA,,MS-D-20x20.step +D20-20FAU,D,20,20,,,FA,U,MS-D-20x20.step +D20-20FACM,D,20,20,,,FA,CM,MS-D-20x20.step +D20-20FB,D,20,20,,,FB,,MS-D-20x20.step +D20-20FBU,D,20,20,,,FB,U,MS-D-20x20.step +D20-20FBCM,D,20,20,,,FB,CM,MS-D-20x20.step +D20-20SDB,D,20,20,,,SDB,,MS-D-20x20.step +D20-20SDBU,D,20,20,,,SDB,U,MS-D-20x20.step +D20-20SDBCM,D,20,20,,,SDB,CM,MS-D-20x20.step +D20-20ME,D,20,20,M,E,,,MS-D-20x20.step +D20-20MEU,D,20,20,M,E,,U,MS-D-20x20.step +D20-20MECM,D,20,20,M,E,,CM,MS-D-20x20.step +D20-20MELB,D,20,20,M,E,LB,,MS-D-20x20.step +D20-20MELBU,D,20,20,M,E,LB,U,MS-D-20x20.step +D20-20MELBCM,D,20,20,M,E,LB,CM,MS-D-20x20.step +D20-20MEFA,D,20,20,M,E,FA,,MS-D-20x20.step +D20-20MEFAU,D,20,20,M,E,FA,U,MS-D-20x20.step +D20-20MEFACM,D,20,20,M,E,FA,CM,MS-D-20x20.step +D20-20MEFB,D,20,20,M,E,FB,,MS-D-20x20.step +D20-20MEFBU,D,20,20,M,E,FB,U,MS-D-20x20.step +D20-20MEFBCM,D,20,20,M,E,FB,CM,MS-D-20x20.step +D20-20MESDB,D,20,20,M,E,SDB,,MS-D-20x20.step +D20-20MESDBU,D,20,20,M,E,SDB,U,MS-D-20x20.step +D20-20MESDBCM,D,20,20,M,E,SDB,CM,MS-D-20x20.step +D20-20M,D,20,20,M,,,,MS-D-20x20.step +D20-20MU,D,20,20,M,,,U,MS-D-20x20.step +D20-20MCM,D,20,20,M,,,CM,MS-D-20x20.step +D20-20MLB,D,20,20,M,,LB,,MS-D-20x20.step +D20-20MLBU,D,20,20,M,,LB,U,MS-D-20x20.step +D20-20MLBCM,D,20,20,M,,LB,CM,MS-D-20x20.step +D20-20MFA,D,20,20,M,,FA,,MS-D-20x20.step +D20-20MFAU,D,20,20,M,,FA,U,MS-D-20x20.step +D20-20MFACM,D,20,20,M,,FA,CM,MS-D-20x20.step +D20-20MFB,D,20,20,M,,FB,,MS-D-20x20.step +D20-20MFBU,D,20,20,M,,FB,U,MS-D-20x20.step +D20-20MFBCM,D,20,20,M,,FB,CM,MS-D-20x20.step +D20-20MSDB,D,20,20,M,,SDB,,MS-D-20x20.step +D20-20MSDBU,D,20,20,M,,SDB,U,MS-D-20x20.step +D20-20MSDBCM,D,20,20,M,,SDB,CM,MS-D-20x20.step +D20-30E,D,20,30,,E,,,MS-D-20x30.step +D20-30EU,D,20,30,,E,,U,MS-D-20x30.step +D20-30ECM,D,20,30,,E,,CM,MS-D-20x30.step +D20-30ELB,D,20,30,,E,LB,,MS-D-20x30.step +D20-30ELBU,D,20,30,,E,LB,U,MS-D-20x30.step +D20-30ELBCM,D,20,30,,E,LB,CM,MS-D-20x30.step +D20-30EFA,D,20,30,,E,FA,,MS-D-20x30.step +D20-30EFAU,D,20,30,,E,FA,U,MS-D-20x30.step +D20-30EFACM,D,20,30,,E,FA,CM,MS-D-20x30.step +D20-30EFB,D,20,30,,E,FB,,MS-D-20x30.step +D20-30EFBU,D,20,30,,E,FB,U,MS-D-20x30.step +D20-30EFBCM,D,20,30,,E,FB,CM,MS-D-20x30.step +D20-30ESDB,D,20,30,,E,SDB,,MS-D-20x30.step +D20-30ESDBU,D,20,30,,E,SDB,U,MS-D-20x30.step +D20-30ESDBCM,D,20,30,,E,SDB,CM,MS-D-20x30.step +D20-30,D,20,30,,,,,MS-D-20x30.step +D20-30U,D,20,30,,,,U,MS-D-20x30.step +D20-30CM,D,20,30,,,,CM,MS-D-20x30.step +D20-30LB,D,20,30,,,LB,,MS-D-20x30.step +D20-30LBU,D,20,30,,,LB,U,MS-D-20x30.step +D20-30LBCM,D,20,30,,,LB,CM,MS-D-20x30.step +D20-30FA,D,20,30,,,FA,,MS-D-20x30.step +D20-30FAU,D,20,30,,,FA,U,MS-D-20x30.step +D20-30FACM,D,20,30,,,FA,CM,MS-D-20x30.step +D20-30FB,D,20,30,,,FB,,MS-D-20x30.step +D20-30FBU,D,20,30,,,FB,U,MS-D-20x30.step +D20-30FBCM,D,20,30,,,FB,CM,MS-D-20x30.step +D20-30SDB,D,20,30,,,SDB,,MS-D-20x30.step +D20-30SDBU,D,20,30,,,SDB,U,MS-D-20x30.step +D20-30SDBCM,D,20,30,,,SDB,CM,MS-D-20x30.step +D20-30ME,D,20,30,M,E,,,MS-D-20x30.step +D20-30MEU,D,20,30,M,E,,U,MS-D-20x30.step +D20-30MECM,D,20,30,M,E,,CM,MS-D-20x30.step +D20-30MELB,D,20,30,M,E,LB,,MS-D-20x30.step +D20-30MELBU,D,20,30,M,E,LB,U,MS-D-20x30.step +D20-30MELBCM,D,20,30,M,E,LB,CM,MS-D-20x30.step +D20-30MEFA,D,20,30,M,E,FA,,MS-D-20x30.step +D20-30MEFAU,D,20,30,M,E,FA,U,MS-D-20x30.step +D20-30MEFACM,D,20,30,M,E,FA,CM,MS-D-20x30.step +D20-30MEFB,D,20,30,M,E,FB,,MS-D-20x30.step +D20-30MEFBU,D,20,30,M,E,FB,U,MS-D-20x30.step +D20-30MEFBCM,D,20,30,M,E,FB,CM,MS-D-20x30.step +D20-30MESDB,D,20,30,M,E,SDB,,MS-D-20x30.step +D20-30MESDBU,D,20,30,M,E,SDB,U,MS-D-20x30.step +D20-30MESDBCM,D,20,30,M,E,SDB,CM,MS-D-20x30.step +D20-30M,D,20,30,M,,,,MS-D-20x30.step +D20-30MU,D,20,30,M,,,U,MS-D-20x30.step +D20-30MCM,D,20,30,M,,,CM,MS-D-20x30.step +D20-30MLB,D,20,30,M,,LB,,MS-D-20x30.step +D20-30MLBU,D,20,30,M,,LB,U,MS-D-20x30.step +D20-30MLBCM,D,20,30,M,,LB,CM,MS-D-20x30.step +D20-30MFA,D,20,30,M,,FA,,MS-D-20x30.step +D20-30MFAU,D,20,30,M,,FA,U,MS-D-20x30.step +D20-30MFACM,D,20,30,M,,FA,CM,MS-D-20x30.step +D20-30MFB,D,20,30,M,,FB,,MS-D-20x30.step +D20-30MFBU,D,20,30,M,,FB,U,MS-D-20x30.step +D20-30MFBCM,D,20,30,M,,FB,CM,MS-D-20x30.step +D20-30MSDB,D,20,30,M,,SDB,,MS-D-20x30.step +D20-30MSDBU,D,20,30,M,,SDB,U,MS-D-20x30.step +D20-30MSDBCM,D,20,30,M,,SDB,CM,MS-D-20x30.step +D20-50E,D,20,50,,E,,,MS-D-20x50.step +D20-50EU,D,20,50,,E,,U,MS-D-20x50.step +D20-50ECM,D,20,50,,E,,CM,MS-D-20x50.step +D20-50ELB,D,20,50,,E,LB,,MS-D-20x50.step +D20-50ELBU,D,20,50,,E,LB,U,MS-D-20x50.step +D20-50ELBCM,D,20,50,,E,LB,CM,MS-D-20x50.step +D20-50EFA,D,20,50,,E,FA,,MS-D-20x50.step +D20-50EFAU,D,20,50,,E,FA,U,MS-D-20x50.step +D20-50EFACM,D,20,50,,E,FA,CM,MS-D-20x50.step +D20-50EFB,D,20,50,,E,FB,,MS-D-20x50.step +D20-50EFBU,D,20,50,,E,FB,U,MS-D-20x50.step +D20-50EFBCM,D,20,50,,E,FB,CM,MS-D-20x50.step +D20-50ESDB,D,20,50,,E,SDB,,MS-D-20x50.step +D20-50ESDBU,D,20,50,,E,SDB,U,MS-D-20x50.step +D20-50ESDBCM,D,20,50,,E,SDB,CM,MS-D-20x50.step +D20-50,D,20,50,,,,,MS-D-20x50.step +D20-50U,D,20,50,,,,U,MS-D-20x50.step +D20-50CM,D,20,50,,,,CM,MS-D-20x50.step +D20-50LB,D,20,50,,,LB,,MS-D-20x50.step +D20-50LBU,D,20,50,,,LB,U,MS-D-20x50.step +D20-50LBCM,D,20,50,,,LB,CM,MS-D-20x50.step +D20-50FA,D,20,50,,,FA,,MS-D-20x50.step +D20-50FAU,D,20,50,,,FA,U,MS-D-20x50.step +D20-50FACM,D,20,50,,,FA,CM,MS-D-20x50.step +D20-50FB,D,20,50,,,FB,,MS-D-20x50.step +D20-50FBU,D,20,50,,,FB,U,MS-D-20x50.step +D20-50FBCM,D,20,50,,,FB,CM,MS-D-20x50.step +D20-50SDB,D,20,50,,,SDB,,MS-D-20x50.step +D20-50SDBU,D,20,50,,,SDB,U,MS-D-20x50.step +D20-50SDBCM,D,20,50,,,SDB,CM,MS-D-20x50.step +D20-50ME,D,20,50,M,E,,,MS-D-20x50.step +D20-50MEU,D,20,50,M,E,,U,MS-D-20x50.step +D20-50MECM,D,20,50,M,E,,CM,MS-D-20x50.step +D20-50MELB,D,20,50,M,E,LB,,MS-D-20x50.step +D20-50MELBU,D,20,50,M,E,LB,U,MS-D-20x50.step +D20-50MELBCM,D,20,50,M,E,LB,CM,MS-D-20x50.step +D20-50MEFA,D,20,50,M,E,FA,,MS-D-20x50.step +D20-50MEFAU,D,20,50,M,E,FA,U,MS-D-20x50.step +D20-50MEFACM,D,20,50,M,E,FA,CM,MS-D-20x50.step +D20-50MEFB,D,20,50,M,E,FB,,MS-D-20x50.step +D20-50MEFBU,D,20,50,M,E,FB,U,MS-D-20x50.step +D20-50MEFBCM,D,20,50,M,E,FB,CM,MS-D-20x50.step +D20-50MESDB,D,20,50,M,E,SDB,,MS-D-20x50.step +D20-50MESDBU,D,20,50,M,E,SDB,U,MS-D-20x50.step +D20-50MESDBCM,D,20,50,M,E,SDB,CM,MS-D-20x50.step +D20-50M,D,20,50,M,,,,MS-D-20x50.step +D20-50MU,D,20,50,M,,,U,MS-D-20x50.step +D20-50MCM,D,20,50,M,,,CM,MS-D-20x50.step +D20-50MLB,D,20,50,M,,LB,,MS-D-20x50.step +D20-50MLBU,D,20,50,M,,LB,U,MS-D-20x50.step +D20-50MLBCM,D,20,50,M,,LB,CM,MS-D-20x50.step +D20-50MFA,D,20,50,M,,FA,,MS-D-20x50.step +D20-50MFAU,D,20,50,M,,FA,U,MS-D-20x50.step +D20-50MFACM,D,20,50,M,,FA,CM,MS-D-20x50.step +D20-50MFB,D,20,50,M,,FB,,MS-D-20x50.step +D20-50MFBU,D,20,50,M,,FB,U,MS-D-20x50.step +D20-50MFBCM,D,20,50,M,,FB,CM,MS-D-20x50.step +D20-50MSDB,D,20,50,M,,SDB,,MS-D-20x50.step +D20-50MSDBU,D,20,50,M,,SDB,U,MS-D-20x50.step +D20-50MSDBCM,D,20,50,M,,SDB,CM,MS-D-20x50.step +D20-75E,D,20,75,,E,,,MS-D-20x75.step +D20-75EU,D,20,75,,E,,U,MS-D-20x75.step +D20-75ECM,D,20,75,,E,,CM,MS-D-20x75.step +D20-75ELB,D,20,75,,E,LB,,MS-D-20x75.step +D20-75ELBU,D,20,75,,E,LB,U,MS-D-20x75.step +D20-75ELBCM,D,20,75,,E,LB,CM,MS-D-20x75.step +D20-75EFA,D,20,75,,E,FA,,MS-D-20x75.step +D20-75EFAU,D,20,75,,E,FA,U,MS-D-20x75.step +D20-75EFACM,D,20,75,,E,FA,CM,MS-D-20x75.step +D20-75EFB,D,20,75,,E,FB,,MS-D-20x75.step +D20-75EFBU,D,20,75,,E,FB,U,MS-D-20x75.step +D20-75EFBCM,D,20,75,,E,FB,CM,MS-D-20x75.step +D20-75ESDB,D,20,75,,E,SDB,,MS-D-20x75.step +D20-75ESDBU,D,20,75,,E,SDB,U,MS-D-20x75.step +D20-75ESDBCM,D,20,75,,E,SDB,CM,MS-D-20x75.step +D20-75,D,20,75,,,,,MS-D-20x75.step +D20-75U,D,20,75,,,,U,MS-D-20x75.step +D20-75CM,D,20,75,,,,CM,MS-D-20x75.step +D20-75LB,D,20,75,,,LB,,MS-D-20x75.step +D20-75LBU,D,20,75,,,LB,U,MS-D-20x75.step +D20-75LBCM,D,20,75,,,LB,CM,MS-D-20x75.step +D20-75FA,D,20,75,,,FA,,MS-D-20x75.step +D20-75FAU,D,20,75,,,FA,U,MS-D-20x75.step +D20-75FACM,D,20,75,,,FA,CM,MS-D-20x75.step +D20-75FB,D,20,75,,,FB,,MS-D-20x75.step +D20-75FBU,D,20,75,,,FB,U,MS-D-20x75.step +D20-75FBCM,D,20,75,,,FB,CM,MS-D-20x75.step +D20-75SDB,D,20,75,,,SDB,,MS-D-20x75.step +D20-75SDBU,D,20,75,,,SDB,U,MS-D-20x75.step +D20-75SDBCM,D,20,75,,,SDB,CM,MS-D-20x75.step +D20-75ME,D,20,75,M,E,,,MS-D-20x75.step +D20-75MEU,D,20,75,M,E,,U,MS-D-20x75.step +D20-75MECM,D,20,75,M,E,,CM,MS-D-20x75.step +D20-75MELB,D,20,75,M,E,LB,,MS-D-20x75.step +D20-75MELBU,D,20,75,M,E,LB,U,MS-D-20x75.step +D20-75MELBCM,D,20,75,M,E,LB,CM,MS-D-20x75.step +D20-75MEFA,D,20,75,M,E,FA,,MS-D-20x75.step +D20-75MEFAU,D,20,75,M,E,FA,U,MS-D-20x75.step +D20-75MEFACM,D,20,75,M,E,FA,CM,MS-D-20x75.step +D20-75MEFB,D,20,75,M,E,FB,,MS-D-20x75.step +D20-75MEFBU,D,20,75,M,E,FB,U,MS-D-20x75.step +D20-75MEFBCM,D,20,75,M,E,FB,CM,MS-D-20x75.step +D20-75MESDB,D,20,75,M,E,SDB,,MS-D-20x75.step +D20-75MESDBU,D,20,75,M,E,SDB,U,MS-D-20x75.step +D20-75MESDBCM,D,20,75,M,E,SDB,CM,MS-D-20x75.step +D20-75M,D,20,75,M,,,,MS-D-20x75.step +D20-75MU,D,20,75,M,,,U,MS-D-20x75.step +D20-75MCM,D,20,75,M,,,CM,MS-D-20x75.step +D20-75MLB,D,20,75,M,,LB,,MS-D-20x75.step +D20-75MLBU,D,20,75,M,,LB,U,MS-D-20x75.step +D20-75MLBCM,D,20,75,M,,LB,CM,MS-D-20x75.step +D20-75MFA,D,20,75,M,,FA,,MS-D-20x75.step +D20-75MFAU,D,20,75,M,,FA,U,MS-D-20x75.step +D20-75MFACM,D,20,75,M,,FA,CM,MS-D-20x75.step +D20-75MFB,D,20,75,M,,FB,,MS-D-20x75.step +D20-75MFBU,D,20,75,M,,FB,U,MS-D-20x75.step +D20-75MFBCM,D,20,75,M,,FB,CM,MS-D-20x75.step +D20-75MSDB,D,20,75,M,,SDB,,MS-D-20x75.step +D20-75MSDBU,D,20,75,M,,SDB,U,MS-D-20x75.step +D20-75MSDBCM,D,20,75,M,,SDB,CM,MS-D-20x75.step +D20-100E,D,20,100,,E,,,MS-D-20x100.step +D20-100EU,D,20,100,,E,,U,MS-D-20x100.step +D20-100ECM,D,20,100,,E,,CM,MS-D-20x100.step +D20-100ELB,D,20,100,,E,LB,,MS-D-20x100.step +D20-100ELBU,D,20,100,,E,LB,U,MS-D-20x100.step +D20-100ELBCM,D,20,100,,E,LB,CM,MS-D-20x100.step +D20-100EFA,D,20,100,,E,FA,,MS-D-20x100.step +D20-100EFAU,D,20,100,,E,FA,U,MS-D-20x100.step +D20-100EFACM,D,20,100,,E,FA,CM,MS-D-20x100.step +D20-100EFB,D,20,100,,E,FB,,MS-D-20x100.step +D20-100EFBU,D,20,100,,E,FB,U,MS-D-20x100.step +D20-100EFBCM,D,20,100,,E,FB,CM,MS-D-20x100.step +D20-100ESDB,D,20,100,,E,SDB,,MS-D-20x100.step +D20-100ESDBU,D,20,100,,E,SDB,U,MS-D-20x100.step +D20-100ESDBCM,D,20,100,,E,SDB,CM,MS-D-20x100.step +D20-100,D,20,100,,,,,MS-D-20x100.step +D20-100U,D,20,100,,,,U,MS-D-20x100.step +D20-100CM,D,20,100,,,,CM,MS-D-20x100.step +D20-100LB,D,20,100,,,LB,,MS-D-20x100.step +D20-100LBU,D,20,100,,,LB,U,MS-D-20x100.step +D20-100LBCM,D,20,100,,,LB,CM,MS-D-20x100.step +D20-100FA,D,20,100,,,FA,,MS-D-20x100.step +D20-100FAU,D,20,100,,,FA,U,MS-D-20x100.step +D20-100FACM,D,20,100,,,FA,CM,MS-D-20x100.step +D20-100FB,D,20,100,,,FB,,MS-D-20x100.step +D20-100FBU,D,20,100,,,FB,U,MS-D-20x100.step +D20-100FBCM,D,20,100,,,FB,CM,MS-D-20x100.step +D20-100SDB,D,20,100,,,SDB,,MS-D-20x100.step +D20-100SDBU,D,20,100,,,SDB,U,MS-D-20x100.step +D20-100SDBCM,D,20,100,,,SDB,CM,MS-D-20x100.step +D20-100ME,D,20,100,M,E,,,MS-D-20x100.step +D20-100MEU,D,20,100,M,E,,U,MS-D-20x100.step +D20-100MECM,D,20,100,M,E,,CM,MS-D-20x100.step +D20-100MELB,D,20,100,M,E,LB,,MS-D-20x100.step +D20-100MELBU,D,20,100,M,E,LB,U,MS-D-20x100.step +D20-100MELBCM,D,20,100,M,E,LB,CM,MS-D-20x100.step +D20-100MEFA,D,20,100,M,E,FA,,MS-D-20x100.step +D20-100MEFAU,D,20,100,M,E,FA,U,MS-D-20x100.step +D20-100MEFACM,D,20,100,M,E,FA,CM,MS-D-20x100.step +D20-100MEFB,D,20,100,M,E,FB,,MS-D-20x100.step +D20-100MEFBU,D,20,100,M,E,FB,U,MS-D-20x100.step +D20-100MEFBCM,D,20,100,M,E,FB,CM,MS-D-20x100.step +D20-100MESDB,D,20,100,M,E,SDB,,MS-D-20x100.step +D20-100MESDBU,D,20,100,M,E,SDB,U,MS-D-20x100.step +D20-100MESDBCM,D,20,100,M,E,SDB,CM,MS-D-20x100.step +D20-100M,D,20,100,M,,,,MS-D-20x100.step +D20-100MU,D,20,100,M,,,U,MS-D-20x100.step +D20-100MCM,D,20,100,M,,,CM,MS-D-20x100.step +D20-100MLB,D,20,100,M,,LB,,MS-D-20x100.step +D20-100MLBU,D,20,100,M,,LB,U,MS-D-20x100.step +D20-100MLBCM,D,20,100,M,,LB,CM,MS-D-20x100.step +D20-100MFA,D,20,100,M,,FA,,MS-D-20x100.step +D20-100MFAU,D,20,100,M,,FA,U,MS-D-20x100.step +D20-100MFACM,D,20,100,M,,FA,CM,MS-D-20x100.step +D20-100MFB,D,20,100,M,,FB,,MS-D-20x100.step +D20-100MFBU,D,20,100,M,,FB,U,MS-D-20x100.step +D20-100MFBCM,D,20,100,M,,FB,CM,MS-D-20x100.step +D20-100MSDB,D,20,100,M,,SDB,,MS-D-20x100.step +D20-100MSDBU,D,20,100,M,,SDB,U,MS-D-20x100.step +D20-100MSDBCM,D,20,100,M,,SDB,CM,MS-D-20x100.step +D25-10E,D,25,10,,E,,,MS-D-25x10.step +D25-10EU,D,25,10,,E,,U,MS-D-25x10.step +D25-10ECM,D,25,10,,E,,CM,MS-D-25x10.step +D25-10ELB,D,25,10,,E,LB,,MS-D-25x10.step +D25-10ELBU,D,25,10,,E,LB,U,MS-D-25x10.step +D25-10ELBCM,D,25,10,,E,LB,CM,MS-D-25x10.step +D25-10EFA,D,25,10,,E,FA,,MS-D-25x10.step +D25-10EFAU,D,25,10,,E,FA,U,MS-D-25x10.step +D25-10EFACM,D,25,10,,E,FA,CM,MS-D-25x10.step +D25-10EFB,D,25,10,,E,FB,,MS-D-25x10.step +D25-10EFBU,D,25,10,,E,FB,U,MS-D-25x10.step +D25-10EFBCM,D,25,10,,E,FB,CM,MS-D-25x10.step +D25-10ESDB,D,25,10,,E,SDB,,MS-D-25x10.step +D25-10ESDBU,D,25,10,,E,SDB,U,MS-D-25x10.step +D25-10ESDBCM,D,25,10,,E,SDB,CM,MS-D-25x10.step +D25-10,D,25,10,,,,,MS-D-25x10.step +D25-10U,D,25,10,,,,U,MS-D-25x10.step +D25-10CM,D,25,10,,,,CM,MS-D-25x10.step +D25-10LB,D,25,10,,,LB,,MS-D-25x10.step +D25-10LBU,D,25,10,,,LB,U,MS-D-25x10.step +D25-10LBCM,D,25,10,,,LB,CM,MS-D-25x10.step +D25-10FA,D,25,10,,,FA,,MS-D-25x10.step +D25-10FAU,D,25,10,,,FA,U,MS-D-25x10.step +D25-10FACM,D,25,10,,,FA,CM,MS-D-25x10.step +D25-10FB,D,25,10,,,FB,,MS-D-25x10.step +D25-10FBU,D,25,10,,,FB,U,MS-D-25x10.step +D25-10FBCM,D,25,10,,,FB,CM,MS-D-25x10.step +D25-10SDB,D,25,10,,,SDB,,MS-D-25x10.step +D25-10SDBU,D,25,10,,,SDB,U,MS-D-25x10.step +D25-10SDBCM,D,25,10,,,SDB,CM,MS-D-25x10.step +D25-10ME,D,25,10,M,E,,,MS-D-25x10.step +D25-10MEU,D,25,10,M,E,,U,MS-D-25x10.step +D25-10MECM,D,25,10,M,E,,CM,MS-D-25x10.step +D25-10MELB,D,25,10,M,E,LB,,MS-D-25x10.step +D25-10MELBU,D,25,10,M,E,LB,U,MS-D-25x10.step +D25-10MELBCM,D,25,10,M,E,LB,CM,MS-D-25x10.step +D25-10MEFA,D,25,10,M,E,FA,,MS-D-25x10.step +D25-10MEFAU,D,25,10,M,E,FA,U,MS-D-25x10.step +D25-10MEFACM,D,25,10,M,E,FA,CM,MS-D-25x10.step +D25-10MEFB,D,25,10,M,E,FB,,MS-D-25x10.step +D25-10MEFBU,D,25,10,M,E,FB,U,MS-D-25x10.step +D25-10MEFBCM,D,25,10,M,E,FB,CM,MS-D-25x10.step +D25-10MESDB,D,25,10,M,E,SDB,,MS-D-25x10.step +D25-10MESDBU,D,25,10,M,E,SDB,U,MS-D-25x10.step +D25-10MESDBCM,D,25,10,M,E,SDB,CM,MS-D-25x10.step +D25-10M,D,25,10,M,,,,MS-D-25x10.step +D25-10MU,D,25,10,M,,,U,MS-D-25x10.step +D25-10MCM,D,25,10,M,,,CM,MS-D-25x10.step +D25-10MLB,D,25,10,M,,LB,,MS-D-25x10.step +D25-10MLBU,D,25,10,M,,LB,U,MS-D-25x10.step +D25-10MLBCM,D,25,10,M,,LB,CM,MS-D-25x10.step +D25-10MFA,D,25,10,M,,FA,,MS-D-25x10.step +D25-10MFAU,D,25,10,M,,FA,U,MS-D-25x10.step +D25-10MFACM,D,25,10,M,,FA,CM,MS-D-25x10.step +D25-10MFB,D,25,10,M,,FB,,MS-D-25x10.step +D25-10MFBU,D,25,10,M,,FB,U,MS-D-25x10.step +D25-10MFBCM,D,25,10,M,,FB,CM,MS-D-25x10.step +D25-10MSDB,D,25,10,M,,SDB,,MS-D-25x10.step +D25-10MSDBU,D,25,10,M,,SDB,U,MS-D-25x10.step +D25-10MSDBCM,D,25,10,M,,SDB,CM,MS-D-25x10.step +D25-20E,D,25,20,,E,,,MS-D-25x20.step +D25-20EU,D,25,20,,E,,U,MS-D-25x20.step +D25-20ECM,D,25,20,,E,,CM,MS-D-25x20.step +D25-20ELB,D,25,20,,E,LB,,MS-D-25x20.step +D25-20ELBU,D,25,20,,E,LB,U,MS-D-25x20.step +D25-20ELBCM,D,25,20,,E,LB,CM,MS-D-25x20.step +D25-20EFA,D,25,20,,E,FA,,MS-D-25x20.step +D25-20EFAU,D,25,20,,E,FA,U,MS-D-25x20.step +D25-20EFACM,D,25,20,,E,FA,CM,MS-D-25x20.step +D25-20EFB,D,25,20,,E,FB,,MS-D-25x20.step +D25-20EFBU,D,25,20,,E,FB,U,MS-D-25x20.step +D25-20EFBCM,D,25,20,,E,FB,CM,MS-D-25x20.step +D25-20ESDB,D,25,20,,E,SDB,,MS-D-25x20.step +D25-20ESDBU,D,25,20,,E,SDB,U,MS-D-25x20.step +D25-20ESDBCM,D,25,20,,E,SDB,CM,MS-D-25x20.step +D25-20,D,25,20,,,,,MS-D-25x20.step +D25-20U,D,25,20,,,,U,MS-D-25x20.step +D25-20CM,D,25,20,,,,CM,MS-D-25x20.step +D25-20LB,D,25,20,,,LB,,MS-D-25x20.step +D25-20LBU,D,25,20,,,LB,U,MS-D-25x20.step +D25-20LBCM,D,25,20,,,LB,CM,MS-D-25x20.step +D25-20FA,D,25,20,,,FA,,MS-D-25x20.step +D25-20FAU,D,25,20,,,FA,U,MS-D-25x20.step +D25-20FACM,D,25,20,,,FA,CM,MS-D-25x20.step +D25-20FB,D,25,20,,,FB,,MS-D-25x20.step +D25-20FBU,D,25,20,,,FB,U,MS-D-25x20.step +D25-20FBCM,D,25,20,,,FB,CM,MS-D-25x20.step +D25-20SDB,D,25,20,,,SDB,,MS-D-25x20.step +D25-20SDBU,D,25,20,,,SDB,U,MS-D-25x20.step +D25-20SDBCM,D,25,20,,,SDB,CM,MS-D-25x20.step +D25-20ME,D,25,20,M,E,,,MS-D-25x20.step +D25-20MEU,D,25,20,M,E,,U,MS-D-25x20.step +D25-20MECM,D,25,20,M,E,,CM,MS-D-25x20.step +D25-20MELB,D,25,20,M,E,LB,,MS-D-25x20.step +D25-20MELBU,D,25,20,M,E,LB,U,MS-D-25x20.step +D25-20MELBCM,D,25,20,M,E,LB,CM,MS-D-25x20.step +D25-20MEFA,D,25,20,M,E,FA,,MS-D-25x20.step +D25-20MEFAU,D,25,20,M,E,FA,U,MS-D-25x20.step +D25-20MEFACM,D,25,20,M,E,FA,CM,MS-D-25x20.step +D25-20MEFB,D,25,20,M,E,FB,,MS-D-25x20.step +D25-20MEFBU,D,25,20,M,E,FB,U,MS-D-25x20.step +D25-20MEFBCM,D,25,20,M,E,FB,CM,MS-D-25x20.step +D25-20MESDB,D,25,20,M,E,SDB,,MS-D-25x20.step +D25-20MESDBU,D,25,20,M,E,SDB,U,MS-D-25x20.step +D25-20MESDBCM,D,25,20,M,E,SDB,CM,MS-D-25x20.step +D25-20M,D,25,20,M,,,,MS-D-25x20.step +D25-20MU,D,25,20,M,,,U,MS-D-25x20.step +D25-20MCM,D,25,20,M,,,CM,MS-D-25x20.step +D25-20MLB,D,25,20,M,,LB,,MS-D-25x20.step +D25-20MLBU,D,25,20,M,,LB,U,MS-D-25x20.step +D25-20MLBCM,D,25,20,M,,LB,CM,MS-D-25x20.step +D25-20MFA,D,25,20,M,,FA,,MS-D-25x20.step +D25-20MFAU,D,25,20,M,,FA,U,MS-D-25x20.step +D25-20MFACM,D,25,20,M,,FA,CM,MS-D-25x20.step +D25-20MFB,D,25,20,M,,FB,,MS-D-25x20.step +D25-20MFBU,D,25,20,M,,FB,U,MS-D-25x20.step +D25-20MFBCM,D,25,20,M,,FB,CM,MS-D-25x20.step +D25-20MSDB,D,25,20,M,,SDB,,MS-D-25x20.step +D25-20MSDBU,D,25,20,M,,SDB,U,MS-D-25x20.step +D25-20MSDBCM,D,25,20,M,,SDB,CM,MS-D-25x20.step +D25-30E,D,25,30,,E,,,MS-D-25x30.step +D25-30EU,D,25,30,,E,,U,MS-D-25x30.step +D25-30ECM,D,25,30,,E,,CM,MS-D-25x30.step +D25-30ELB,D,25,30,,E,LB,,MS-D-25x30.step +D25-30ELBU,D,25,30,,E,LB,U,MS-D-25x30.step +D25-30ELBCM,D,25,30,,E,LB,CM,MS-D-25x30.step +D25-30EFA,D,25,30,,E,FA,,MS-D-25x30.step +D25-30EFAU,D,25,30,,E,FA,U,MS-D-25x30.step +D25-30EFACM,D,25,30,,E,FA,CM,MS-D-25x30.step +D25-30EFB,D,25,30,,E,FB,,MS-D-25x30.step +D25-30EFBU,D,25,30,,E,FB,U,MS-D-25x30.step +D25-30EFBCM,D,25,30,,E,FB,CM,MS-D-25x30.step +D25-30ESDB,D,25,30,,E,SDB,,MS-D-25x30.step +D25-30ESDBU,D,25,30,,E,SDB,U,MS-D-25x30.step +D25-30ESDBCM,D,25,30,,E,SDB,CM,MS-D-25x30.step +D25-30,D,25,30,,,,,MS-D-25x30.step +D25-30U,D,25,30,,,,U,MS-D-25x30.step +D25-30CM,D,25,30,,,,CM,MS-D-25x30.step +D25-30LB,D,25,30,,,LB,,MS-D-25x30.step +D25-30LBU,D,25,30,,,LB,U,MS-D-25x30.step +D25-30LBCM,D,25,30,,,LB,CM,MS-D-25x30.step +D25-30FA,D,25,30,,,FA,,MS-D-25x30.step +D25-30FAU,D,25,30,,,FA,U,MS-D-25x30.step +D25-30FACM,D,25,30,,,FA,CM,MS-D-25x30.step +D25-30FB,D,25,30,,,FB,,MS-D-25x30.step +D25-30FBU,D,25,30,,,FB,U,MS-D-25x30.step +D25-30FBCM,D,25,30,,,FB,CM,MS-D-25x30.step +D25-30SDB,D,25,30,,,SDB,,MS-D-25x30.step +D25-30SDBU,D,25,30,,,SDB,U,MS-D-25x30.step +D25-30SDBCM,D,25,30,,,SDB,CM,MS-D-25x30.step +D25-30ME,D,25,30,M,E,,,MS-D-25x30.step +D25-30MEU,D,25,30,M,E,,U,MS-D-25x30.step +D25-30MECM,D,25,30,M,E,,CM,MS-D-25x30.step +D25-30MELB,D,25,30,M,E,LB,,MS-D-25x30.step +D25-30MELBU,D,25,30,M,E,LB,U,MS-D-25x30.step +D25-30MELBCM,D,25,30,M,E,LB,CM,MS-D-25x30.step +D25-30MEFA,D,25,30,M,E,FA,,MS-D-25x30.step +D25-30MEFAU,D,25,30,M,E,FA,U,MS-D-25x30.step +D25-30MEFACM,D,25,30,M,E,FA,CM,MS-D-25x30.step +D25-30MEFB,D,25,30,M,E,FB,,MS-D-25x30.step +D25-30MEFBU,D,25,30,M,E,FB,U,MS-D-25x30.step +D25-30MEFBCM,D,25,30,M,E,FB,CM,MS-D-25x30.step +D25-30MESDB,D,25,30,M,E,SDB,,MS-D-25x30.step +D25-30MESDBU,D,25,30,M,E,SDB,U,MS-D-25x30.step +D25-30MESDBCM,D,25,30,M,E,SDB,CM,MS-D-25x30.step +D25-30M,D,25,30,M,,,,MS-D-25x30.step +D25-30MU,D,25,30,M,,,U,MS-D-25x30.step +D25-30MCM,D,25,30,M,,,CM,MS-D-25x30.step +D25-30MLB,D,25,30,M,,LB,,MS-D-25x30.step +D25-30MLBU,D,25,30,M,,LB,U,MS-D-25x30.step +D25-30MLBCM,D,25,30,M,,LB,CM,MS-D-25x30.step +D25-30MFA,D,25,30,M,,FA,,MS-D-25x30.step +D25-30MFAU,D,25,30,M,,FA,U,MS-D-25x30.step +D25-30MFACM,D,25,30,M,,FA,CM,MS-D-25x30.step +D25-30MFB,D,25,30,M,,FB,,MS-D-25x30.step +D25-30MFBU,D,25,30,M,,FB,U,MS-D-25x30.step +D25-30MFBCM,D,25,30,M,,FB,CM,MS-D-25x30.step +D25-30MSDB,D,25,30,M,,SDB,,MS-D-25x30.step +D25-30MSDBU,D,25,30,M,,SDB,U,MS-D-25x30.step +D25-30MSDBCM,D,25,30,M,,SDB,CM,MS-D-25x30.step +D25-50E,D,25,50,,E,,,MS-D-25x50.step +D25-50EU,D,25,50,,E,,U,MS-D-25x50.step +D25-50ECM,D,25,50,,E,,CM,MS-D-25x50.step +D25-50ELB,D,25,50,,E,LB,,MS-D-25x50.step +D25-50ELBU,D,25,50,,E,LB,U,MS-D-25x50.step +D25-50ELBCM,D,25,50,,E,LB,CM,MS-D-25x50.step +D25-50EFA,D,25,50,,E,FA,,MS-D-25x50.step +D25-50EFAU,D,25,50,,E,FA,U,MS-D-25x50.step +D25-50EFACM,D,25,50,,E,FA,CM,MS-D-25x50.step +D25-50EFB,D,25,50,,E,FB,,MS-D-25x50.step +D25-50EFBU,D,25,50,,E,FB,U,MS-D-25x50.step +D25-50EFBCM,D,25,50,,E,FB,CM,MS-D-25x50.step +D25-50ESDB,D,25,50,,E,SDB,,MS-D-25x50.step +D25-50ESDBU,D,25,50,,E,SDB,U,MS-D-25x50.step +D25-50ESDBCM,D,25,50,,E,SDB,CM,MS-D-25x50.step +D25-50,D,25,50,,,,,MS-D-25x50.step +D25-50U,D,25,50,,,,U,MS-D-25x50.step +D25-50CM,D,25,50,,,,CM,MS-D-25x50.step +D25-50LB,D,25,50,,,LB,,MS-D-25x50.step +D25-50LBU,D,25,50,,,LB,U,MS-D-25x50.step +D25-50LBCM,D,25,50,,,LB,CM,MS-D-25x50.step +D25-50FA,D,25,50,,,FA,,MS-D-25x50.step +D25-50FAU,D,25,50,,,FA,U,MS-D-25x50.step +D25-50FACM,D,25,50,,,FA,CM,MS-D-25x50.step +D25-50FB,D,25,50,,,FB,,MS-D-25x50.step +D25-50FBU,D,25,50,,,FB,U,MS-D-25x50.step +D25-50FBCM,D,25,50,,,FB,CM,MS-D-25x50.step +D25-50SDB,D,25,50,,,SDB,,MS-D-25x50.step +D25-50SDBU,D,25,50,,,SDB,U,MS-D-25x50.step +D25-50SDBCM,D,25,50,,,SDB,CM,MS-D-25x50.step +D25-50ME,D,25,50,M,E,,,MS-D-25x50.step +D25-50MEU,D,25,50,M,E,,U,MS-D-25x50.step +D25-50MECM,D,25,50,M,E,,CM,MS-D-25x50.step +D25-50MELB,D,25,50,M,E,LB,,MS-D-25x50.step +D25-50MELBU,D,25,50,M,E,LB,U,MS-D-25x50.step +D25-50MELBCM,D,25,50,M,E,LB,CM,MS-D-25x50.step +D25-50MEFA,D,25,50,M,E,FA,,MS-D-25x50.step +D25-50MEFAU,D,25,50,M,E,FA,U,MS-D-25x50.step +D25-50MEFACM,D,25,50,M,E,FA,CM,MS-D-25x50.step +D25-50MEFB,D,25,50,M,E,FB,,MS-D-25x50.step +D25-50MEFBU,D,25,50,M,E,FB,U,MS-D-25x50.step +D25-50MEFBCM,D,25,50,M,E,FB,CM,MS-D-25x50.step +D25-50MESDB,D,25,50,M,E,SDB,,MS-D-25x50.step +D25-50MESDBU,D,25,50,M,E,SDB,U,MS-D-25x50.step +D25-50MESDBCM,D,25,50,M,E,SDB,CM,MS-D-25x50.step +D25-50M,D,25,50,M,,,,MS-D-25x50.step +D25-50MU,D,25,50,M,,,U,MS-D-25x50.step +D25-50MCM,D,25,50,M,,,CM,MS-D-25x50.step +D25-50MLB,D,25,50,M,,LB,,MS-D-25x50.step +D25-50MLBU,D,25,50,M,,LB,U,MS-D-25x50.step +D25-50MLBCM,D,25,50,M,,LB,CM,MS-D-25x50.step +D25-50MFA,D,25,50,M,,FA,,MS-D-25x50.step +D25-50MFAU,D,25,50,M,,FA,U,MS-D-25x50.step +D25-50MFACM,D,25,50,M,,FA,CM,MS-D-25x50.step +D25-50MFB,D,25,50,M,,FB,,MS-D-25x50.step +D25-50MFBU,D,25,50,M,,FB,U,MS-D-25x50.step +D25-50MFBCM,D,25,50,M,,FB,CM,MS-D-25x50.step +D25-50MSDB,D,25,50,M,,SDB,,MS-D-25x50.step +D25-50MSDBU,D,25,50,M,,SDB,U,MS-D-25x50.step +D25-50MSDBCM,D,25,50,M,,SDB,CM,MS-D-25x50.step +D25-75E,D,25,75,,E,,,MS-D-25x75.step +D25-75EU,D,25,75,,E,,U,MS-D-25x75.step +D25-75ECM,D,25,75,,E,,CM,MS-D-25x75.step +D25-75ELB,D,25,75,,E,LB,,MS-D-25x75.step +D25-75ELBU,D,25,75,,E,LB,U,MS-D-25x75.step +D25-75ELBCM,D,25,75,,E,LB,CM,MS-D-25x75.step +D25-75EFA,D,25,75,,E,FA,,MS-D-25x75.step +D25-75EFAU,D,25,75,,E,FA,U,MS-D-25x75.step +D25-75EFACM,D,25,75,,E,FA,CM,MS-D-25x75.step +D25-75EFB,D,25,75,,E,FB,,MS-D-25x75.step +D25-75EFBU,D,25,75,,E,FB,U,MS-D-25x75.step +D25-75EFBCM,D,25,75,,E,FB,CM,MS-D-25x75.step +D25-75ESDB,D,25,75,,E,SDB,,MS-D-25x75.step +D25-75ESDBU,D,25,75,,E,SDB,U,MS-D-25x75.step +D25-75ESDBCM,D,25,75,,E,SDB,CM,MS-D-25x75.step +D25-75,D,25,75,,,,,MS-D-25x75.step +D25-75U,D,25,75,,,,U,MS-D-25x75.step +D25-75CM,D,25,75,,,,CM,MS-D-25x75.step +D25-75LB,D,25,75,,,LB,,MS-D-25x75.step +D25-75LBU,D,25,75,,,LB,U,MS-D-25x75.step +D25-75LBCM,D,25,75,,,LB,CM,MS-D-25x75.step +D25-75FA,D,25,75,,,FA,,MS-D-25x75.step +D25-75FAU,D,25,75,,,FA,U,MS-D-25x75.step +D25-75FACM,D,25,75,,,FA,CM,MS-D-25x75.step +D25-75FB,D,25,75,,,FB,,MS-D-25x75.step +D25-75FBU,D,25,75,,,FB,U,MS-D-25x75.step +D25-75FBCM,D,25,75,,,FB,CM,MS-D-25x75.step +D25-75SDB,D,25,75,,,SDB,,MS-D-25x75.step +D25-75SDBU,D,25,75,,,SDB,U,MS-D-25x75.step +D25-75SDBCM,D,25,75,,,SDB,CM,MS-D-25x75.step +D25-75ME,D,25,75,M,E,,,MS-D-25x75.step +D25-75MEU,D,25,75,M,E,,U,MS-D-25x75.step +D25-75MECM,D,25,75,M,E,,CM,MS-D-25x75.step +D25-75MELB,D,25,75,M,E,LB,,MS-D-25x75.step +D25-75MELBU,D,25,75,M,E,LB,U,MS-D-25x75.step +D25-75MELBCM,D,25,75,M,E,LB,CM,MS-D-25x75.step +D25-75MEFA,D,25,75,M,E,FA,,MS-D-25x75.step +D25-75MEFAU,D,25,75,M,E,FA,U,MS-D-25x75.step +D25-75MEFACM,D,25,75,M,E,FA,CM,MS-D-25x75.step +D25-75MEFB,D,25,75,M,E,FB,,MS-D-25x75.step +D25-75MEFBU,D,25,75,M,E,FB,U,MS-D-25x75.step +D25-75MEFBCM,D,25,75,M,E,FB,CM,MS-D-25x75.step +D25-75MESDB,D,25,75,M,E,SDB,,MS-D-25x75.step +D25-75MESDBU,D,25,75,M,E,SDB,U,MS-D-25x75.step +D25-75MESDBCM,D,25,75,M,E,SDB,CM,MS-D-25x75.step +D25-75M,D,25,75,M,,,,MS-D-25x75.step +D25-75MU,D,25,75,M,,,U,MS-D-25x75.step +D25-75MCM,D,25,75,M,,,CM,MS-D-25x75.step +D25-75MLB,D,25,75,M,,LB,,MS-D-25x75.step +D25-75MLBU,D,25,75,M,,LB,U,MS-D-25x75.step +D25-75MLBCM,D,25,75,M,,LB,CM,MS-D-25x75.step +D25-75MFA,D,25,75,M,,FA,,MS-D-25x75.step +D25-75MFAU,D,25,75,M,,FA,U,MS-D-25x75.step +D25-75MFACM,D,25,75,M,,FA,CM,MS-D-25x75.step +D25-75MFB,D,25,75,M,,FB,,MS-D-25x75.step +D25-75MFBU,D,25,75,M,,FB,U,MS-D-25x75.step +D25-75MFBCM,D,25,75,M,,FB,CM,MS-D-25x75.step +D25-75MSDB,D,25,75,M,,SDB,,MS-D-25x75.step +D25-75MSDBU,D,25,75,M,,SDB,U,MS-D-25x75.step +D25-75MSDBCM,D,25,75,M,,SDB,CM,MS-D-25x75.step +D25-100E,D,25,100,,E,,,MS-D-25x100.step +D25-100EU,D,25,100,,E,,U,MS-D-25x100.step +D25-100ECM,D,25,100,,E,,CM,MS-D-25x100.step +D25-100ELB,D,25,100,,E,LB,,MS-D-25x100.step +D25-100ELBU,D,25,100,,E,LB,U,MS-D-25x100.step +D25-100ELBCM,D,25,100,,E,LB,CM,MS-D-25x100.step +D25-100EFA,D,25,100,,E,FA,,MS-D-25x100.step +D25-100EFAU,D,25,100,,E,FA,U,MS-D-25x100.step +D25-100EFACM,D,25,100,,E,FA,CM,MS-D-25x100.step +D25-100EFB,D,25,100,,E,FB,,MS-D-25x100.step +D25-100EFBU,D,25,100,,E,FB,U,MS-D-25x100.step +D25-100EFBCM,D,25,100,,E,FB,CM,MS-D-25x100.step +D25-100ESDB,D,25,100,,E,SDB,,MS-D-25x100.step +D25-100ESDBU,D,25,100,,E,SDB,U,MS-D-25x100.step +D25-100ESDBCM,D,25,100,,E,SDB,CM,MS-D-25x100.step +D25-100,D,25,100,,,,,MS-D-25x100.step +D25-100U,D,25,100,,,,U,MS-D-25x100.step +D25-100CM,D,25,100,,,,CM,MS-D-25x100.step +D25-100LB,D,25,100,,,LB,,MS-D-25x100.step +D25-100LBU,D,25,100,,,LB,U,MS-D-25x100.step +D25-100LBCM,D,25,100,,,LB,CM,MS-D-25x100.step +D25-100FA,D,25,100,,,FA,,MS-D-25x100.step +D25-100FAU,D,25,100,,,FA,U,MS-D-25x100.step +D25-100FACM,D,25,100,,,FA,CM,MS-D-25x100.step +D25-100FB,D,25,100,,,FB,,MS-D-25x100.step +D25-100FBU,D,25,100,,,FB,U,MS-D-25x100.step +D25-100FBCM,D,25,100,,,FB,CM,MS-D-25x100.step +D25-100SDB,D,25,100,,,SDB,,MS-D-25x100.step +D25-100SDBU,D,25,100,,,SDB,U,MS-D-25x100.step +D25-100SDBCM,D,25,100,,,SDB,CM,MS-D-25x100.step +D25-100ME,D,25,100,M,E,,,MS-D-25x100.step +D25-100MEU,D,25,100,M,E,,U,MS-D-25x100.step +D25-100MECM,D,25,100,M,E,,CM,MS-D-25x100.step +D25-100MELB,D,25,100,M,E,LB,,MS-D-25x100.step +D25-100MELBU,D,25,100,M,E,LB,U,MS-D-25x100.step +D25-100MELBCM,D,25,100,M,E,LB,CM,MS-D-25x100.step +D25-100MEFA,D,25,100,M,E,FA,,MS-D-25x100.step +D25-100MEFAU,D,25,100,M,E,FA,U,MS-D-25x100.step +D25-100MEFACM,D,25,100,M,E,FA,CM,MS-D-25x100.step +D25-100MEFB,D,25,100,M,E,FB,,MS-D-25x100.step +D25-100MEFBU,D,25,100,M,E,FB,U,MS-D-25x100.step +D25-100MEFBCM,D,25,100,M,E,FB,CM,MS-D-25x100.step +D25-100MESDB,D,25,100,M,E,SDB,,MS-D-25x100.step +D25-100MESDBU,D,25,100,M,E,SDB,U,MS-D-25x100.step +D25-100MESDBCM,D,25,100,M,E,SDB,CM,MS-D-25x100.step +D25-100M,D,25,100,M,,,,MS-D-25x100.step +D25-100MU,D,25,100,M,,,U,MS-D-25x100.step +D25-100MCM,D,25,100,M,,,CM,MS-D-25x100.step +D25-100MLB,D,25,100,M,,LB,,MS-D-25x100.step +D25-100MLBU,D,25,100,M,,LB,U,MS-D-25x100.step +D25-100MLBCM,D,25,100,M,,LB,CM,MS-D-25x100.step +D25-100MFA,D,25,100,M,,FA,,MS-D-25x100.step +D25-100MFAU,D,25,100,M,,FA,U,MS-D-25x100.step +D25-100MFACM,D,25,100,M,,FA,CM,MS-D-25x100.step +D25-100MFB,D,25,100,M,,FB,,MS-D-25x100.step +D25-100MFBU,D,25,100,M,,FB,U,MS-D-25x100.step +D25-100MFBCM,D,25,100,M,,FB,CM,MS-D-25x100.step +D25-100MSDB,D,25,100,M,,SDB,,MS-D-25x100.step +D25-100MSDBU,D,25,100,M,,SDB,U,MS-D-25x100.step +D25-100MSDBCM,D,25,100,M,,SDB,CM,MS-D-25x100.step +D32-10E,D,32,10,,E,,,MS-D-32x10.step +D32-10EU,D,32,10,,E,,U,MS-D-32x10.step +D32-10ECM,D,32,10,,E,,CM,MS-D-32x10.step +D32-10ELB,D,32,10,,E,LB,,MS-D-32x10.step +D32-10ELBU,D,32,10,,E,LB,U,MS-D-32x10.step +D32-10ELBCM,D,32,10,,E,LB,CM,MS-D-32x10.step +D32-10EFA,D,32,10,,E,FA,,MS-D-32x10.step +D32-10EFAU,D,32,10,,E,FA,U,MS-D-32x10.step +D32-10EFACM,D,32,10,,E,FA,CM,MS-D-32x10.step +D32-10EFB,D,32,10,,E,FB,,MS-D-32x10.step +D32-10EFBU,D,32,10,,E,FB,U,MS-D-32x10.step +D32-10EFBCM,D,32,10,,E,FB,CM,MS-D-32x10.step +D32-10ESDB,D,32,10,,E,SDB,,MS-D-32x10.step +D32-10ESDBU,D,32,10,,E,SDB,U,MS-D-32x10.step +D32-10ESDBCM,D,32,10,,E,SDB,CM,MS-D-32x10.step +D32-10,D,32,10,,,,,MS-D-32x10.step +D32-10U,D,32,10,,,,U,MS-D-32x10.step +D32-10CM,D,32,10,,,,CM,MS-D-32x10.step +D32-10LB,D,32,10,,,LB,,MS-D-32x10.step +D32-10LBU,D,32,10,,,LB,U,MS-D-32x10.step +D32-10LBCM,D,32,10,,,LB,CM,MS-D-32x10.step +D32-10FA,D,32,10,,,FA,,MS-D-32x10.step +D32-10FAU,D,32,10,,,FA,U,MS-D-32x10.step +D32-10FACM,D,32,10,,,FA,CM,MS-D-32x10.step +D32-10FB,D,32,10,,,FB,,MS-D-32x10.step +D32-10FBU,D,32,10,,,FB,U,MS-D-32x10.step +D32-10FBCM,D,32,10,,,FB,CM,MS-D-32x10.step +D32-10SDB,D,32,10,,,SDB,,MS-D-32x10.step +D32-10SDBU,D,32,10,,,SDB,U,MS-D-32x10.step +D32-10SDBCM,D,32,10,,,SDB,CM,MS-D-32x10.step +D32-10ME,D,32,10,M,E,,,MS-D-32x10.step +D32-10MEU,D,32,10,M,E,,U,MS-D-32x10.step +D32-10MECM,D,32,10,M,E,,CM,MS-D-32x10.step +D32-10MELB,D,32,10,M,E,LB,,MS-D-32x10.step +D32-10MELBU,D,32,10,M,E,LB,U,MS-D-32x10.step +D32-10MELBCM,D,32,10,M,E,LB,CM,MS-D-32x10.step +D32-10MEFA,D,32,10,M,E,FA,,MS-D-32x10.step +D32-10MEFAU,D,32,10,M,E,FA,U,MS-D-32x10.step +D32-10MEFACM,D,32,10,M,E,FA,CM,MS-D-32x10.step +D32-10MEFB,D,32,10,M,E,FB,,MS-D-32x10.step +D32-10MEFBU,D,32,10,M,E,FB,U,MS-D-32x10.step +D32-10MEFBCM,D,32,10,M,E,FB,CM,MS-D-32x10.step +D32-10MESDB,D,32,10,M,E,SDB,,MS-D-32x10.step +D32-10MESDBU,D,32,10,M,E,SDB,U,MS-D-32x10.step +D32-10MESDBCM,D,32,10,M,E,SDB,CM,MS-D-32x10.step +D32-10M,D,32,10,M,,,,MS-D-32x10.step +D32-10MU,D,32,10,M,,,U,MS-D-32x10.step +D32-10MCM,D,32,10,M,,,CM,MS-D-32x10.step +D32-10MLB,D,32,10,M,,LB,,MS-D-32x10.step +D32-10MLBU,D,32,10,M,,LB,U,MS-D-32x10.step +D32-10MLBCM,D,32,10,M,,LB,CM,MS-D-32x10.step +D32-10MFA,D,32,10,M,,FA,,MS-D-32x10.step +D32-10MFAU,D,32,10,M,,FA,U,MS-D-32x10.step +D32-10MFACM,D,32,10,M,,FA,CM,MS-D-32x10.step +D32-10MFB,D,32,10,M,,FB,,MS-D-32x10.step +D32-10MFBU,D,32,10,M,,FB,U,MS-D-32x10.step +D32-10MFBCM,D,32,10,M,,FB,CM,MS-D-32x10.step +D32-10MSDB,D,32,10,M,,SDB,,MS-D-32x10.step +D32-10MSDBU,D,32,10,M,,SDB,U,MS-D-32x10.step +D32-10MSDBCM,D,32,10,M,,SDB,CM,MS-D-32x10.step +D32-20E,D,32,20,,E,,,MS-D-32x20.step +D32-20EU,D,32,20,,E,,U,MS-D-32x20.step +D32-20ECM,D,32,20,,E,,CM,MS-D-32x20.step +D32-20ELB,D,32,20,,E,LB,,MS-D-32x20.step +D32-20ELBU,D,32,20,,E,LB,U,MS-D-32x20.step +D32-20ELBCM,D,32,20,,E,LB,CM,MS-D-32x20.step +D32-20EFA,D,32,20,,E,FA,,MS-D-32x20.step +D32-20EFAU,D,32,20,,E,FA,U,MS-D-32x20.step +D32-20EFACM,D,32,20,,E,FA,CM,MS-D-32x20.step +D32-20EFB,D,32,20,,E,FB,,MS-D-32x20.step +D32-20EFBU,D,32,20,,E,FB,U,MS-D-32x20.step +D32-20EFBCM,D,32,20,,E,FB,CM,MS-D-32x20.step +D32-20ESDB,D,32,20,,E,SDB,,MS-D-32x20.step +D32-20ESDBU,D,32,20,,E,SDB,U,MS-D-32x20.step +D32-20ESDBCM,D,32,20,,E,SDB,CM,MS-D-32x20.step +D32-20,D,32,20,,,,,MS-D-32x20.step +D32-20U,D,32,20,,,,U,MS-D-32x20.step +D32-20CM,D,32,20,,,,CM,MS-D-32x20.step +D32-20LB,D,32,20,,,LB,,MS-D-32x20.step +D32-20LBU,D,32,20,,,LB,U,MS-D-32x20.step +D32-20LBCM,D,32,20,,,LB,CM,MS-D-32x20.step +D32-20FA,D,32,20,,,FA,,MS-D-32x20.step +D32-20FAU,D,32,20,,,FA,U,MS-D-32x20.step +D32-20FACM,D,32,20,,,FA,CM,MS-D-32x20.step +D32-20FB,D,32,20,,,FB,,MS-D-32x20.step +D32-20FBU,D,32,20,,,FB,U,MS-D-32x20.step +D32-20FBCM,D,32,20,,,FB,CM,MS-D-32x20.step +D32-20SDB,D,32,20,,,SDB,,MS-D-32x20.step +D32-20SDBU,D,32,20,,,SDB,U,MS-D-32x20.step +D32-20SDBCM,D,32,20,,,SDB,CM,MS-D-32x20.step +D32-20ME,D,32,20,M,E,,,MS-D-32x20.step +D32-20MEU,D,32,20,M,E,,U,MS-D-32x20.step +D32-20MECM,D,32,20,M,E,,CM,MS-D-32x20.step +D32-20MELB,D,32,20,M,E,LB,,MS-D-32x20.step +D32-20MELBU,D,32,20,M,E,LB,U,MS-D-32x20.step +D32-20MELBCM,D,32,20,M,E,LB,CM,MS-D-32x20.step +D32-20MEFA,D,32,20,M,E,FA,,MS-D-32x20.step +D32-20MEFAU,D,32,20,M,E,FA,U,MS-D-32x20.step +D32-20MEFACM,D,32,20,M,E,FA,CM,MS-D-32x20.step +D32-20MEFB,D,32,20,M,E,FB,,MS-D-32x20.step +D32-20MEFBU,D,32,20,M,E,FB,U,MS-D-32x20.step +D32-20MEFBCM,D,32,20,M,E,FB,CM,MS-D-32x20.step +D32-20MESDB,D,32,20,M,E,SDB,,MS-D-32x20.step +D32-20MESDBU,D,32,20,M,E,SDB,U,MS-D-32x20.step +D32-20MESDBCM,D,32,20,M,E,SDB,CM,MS-D-32x20.step +D32-20M,D,32,20,M,,,,MS-D-32x20.step +D32-20MU,D,32,20,M,,,U,MS-D-32x20.step +D32-20MCM,D,32,20,M,,,CM,MS-D-32x20.step +D32-20MLB,D,32,20,M,,LB,,MS-D-32x20.step +D32-20MLBU,D,32,20,M,,LB,U,MS-D-32x20.step +D32-20MLBCM,D,32,20,M,,LB,CM,MS-D-32x20.step +D32-20MFA,D,32,20,M,,FA,,MS-D-32x20.step +D32-20MFAU,D,32,20,M,,FA,U,MS-D-32x20.step +D32-20MFACM,D,32,20,M,,FA,CM,MS-D-32x20.step +D32-20MFB,D,32,20,M,,FB,,MS-D-32x20.step +D32-20MFBU,D,32,20,M,,FB,U,MS-D-32x20.step +D32-20MFBCM,D,32,20,M,,FB,CM,MS-D-32x20.step +D32-20MSDB,D,32,20,M,,SDB,,MS-D-32x20.step +D32-20MSDBU,D,32,20,M,,SDB,U,MS-D-32x20.step +D32-20MSDBCM,D,32,20,M,,SDB,CM,MS-D-32x20.step +D32-30E,D,32,30,,E,,,MS-D-32x30.step +D32-30EU,D,32,30,,E,,U,MS-D-32x30.step +D32-30ECM,D,32,30,,E,,CM,MS-D-32x30.step +D32-30ELB,D,32,30,,E,LB,,MS-D-32x30.step +D32-30ELBU,D,32,30,,E,LB,U,MS-D-32x30.step +D32-30ELBCM,D,32,30,,E,LB,CM,MS-D-32x30.step +D32-30EFA,D,32,30,,E,FA,,MS-D-32x30.step +D32-30EFAU,D,32,30,,E,FA,U,MS-D-32x30.step +D32-30EFACM,D,32,30,,E,FA,CM,MS-D-32x30.step +D32-30EFB,D,32,30,,E,FB,,MS-D-32x30.step +D32-30EFBU,D,32,30,,E,FB,U,MS-D-32x30.step +D32-30EFBCM,D,32,30,,E,FB,CM,MS-D-32x30.step +D32-30ESDB,D,32,30,,E,SDB,,MS-D-32x30.step +D32-30ESDBU,D,32,30,,E,SDB,U,MS-D-32x30.step +D32-30ESDBCM,D,32,30,,E,SDB,CM,MS-D-32x30.step +D32-30,D,32,30,,,,,MS-D-32x30.step +D32-30U,D,32,30,,,,U,MS-D-32x30.step +D32-30CM,D,32,30,,,,CM,MS-D-32x30.step +D32-30LB,D,32,30,,,LB,,MS-D-32x30.step +D32-30LBU,D,32,30,,,LB,U,MS-D-32x30.step +D32-30LBCM,D,32,30,,,LB,CM,MS-D-32x30.step +D32-30FA,D,32,30,,,FA,,MS-D-32x30.step +D32-30FAU,D,32,30,,,FA,U,MS-D-32x30.step +D32-30FACM,D,32,30,,,FA,CM,MS-D-32x30.step +D32-30FB,D,32,30,,,FB,,MS-D-32x30.step +D32-30FBU,D,32,30,,,FB,U,MS-D-32x30.step +D32-30FBCM,D,32,30,,,FB,CM,MS-D-32x30.step +D32-30SDB,D,32,30,,,SDB,,MS-D-32x30.step +D32-30SDBU,D,32,30,,,SDB,U,MS-D-32x30.step +D32-30SDBCM,D,32,30,,,SDB,CM,MS-D-32x30.step +D32-30ME,D,32,30,M,E,,,MS-D-32x30.step +D32-30MEU,D,32,30,M,E,,U,MS-D-32x30.step +D32-30MECM,D,32,30,M,E,,CM,MS-D-32x30.step +D32-30MELB,D,32,30,M,E,LB,,MS-D-32x30.step +D32-30MELBU,D,32,30,M,E,LB,U,MS-D-32x30.step +D32-30MELBCM,D,32,30,M,E,LB,CM,MS-D-32x30.step +D32-30MEFA,D,32,30,M,E,FA,,MS-D-32x30.step +D32-30MEFAU,D,32,30,M,E,FA,U,MS-D-32x30.step +D32-30MEFACM,D,32,30,M,E,FA,CM,MS-D-32x30.step +D32-30MEFB,D,32,30,M,E,FB,,MS-D-32x30.step +D32-30MEFBU,D,32,30,M,E,FB,U,MS-D-32x30.step +D32-30MEFBCM,D,32,30,M,E,FB,CM,MS-D-32x30.step +D32-30MESDB,D,32,30,M,E,SDB,,MS-D-32x30.step +D32-30MESDBU,D,32,30,M,E,SDB,U,MS-D-32x30.step +D32-30MESDBCM,D,32,30,M,E,SDB,CM,MS-D-32x30.step +D32-30M,D,32,30,M,,,,MS-D-32x30.step +D32-30MU,D,32,30,M,,,U,MS-D-32x30.step +D32-30MCM,D,32,30,M,,,CM,MS-D-32x30.step +D32-30MLB,D,32,30,M,,LB,,MS-D-32x30.step +D32-30MLBU,D,32,30,M,,LB,U,MS-D-32x30.step +D32-30MLBCM,D,32,30,M,,LB,CM,MS-D-32x30.step +D32-30MFA,D,32,30,M,,FA,,MS-D-32x30.step +D32-30MFAU,D,32,30,M,,FA,U,MS-D-32x30.step +D32-30MFACM,D,32,30,M,,FA,CM,MS-D-32x30.step +D32-30MFB,D,32,30,M,,FB,,MS-D-32x30.step +D32-30MFBU,D,32,30,M,,FB,U,MS-D-32x30.step +D32-30MFBCM,D,32,30,M,,FB,CM,MS-D-32x30.step +D32-30MSDB,D,32,30,M,,SDB,,MS-D-32x30.step +D32-30MSDBU,D,32,30,M,,SDB,U,MS-D-32x30.step +D32-30MSDBCM,D,32,30,M,,SDB,CM,MS-D-32x30.step +D32-50E,D,32,50,,E,,,MS-D-32x50.step +D32-50EU,D,32,50,,E,,U,MS-D-32x50.step +D32-50ECM,D,32,50,,E,,CM,MS-D-32x50.step +D32-50ELB,D,32,50,,E,LB,,MS-D-32x50.step +D32-50ELBU,D,32,50,,E,LB,U,MS-D-32x50.step +D32-50ELBCM,D,32,50,,E,LB,CM,MS-D-32x50.step +D32-50EFA,D,32,50,,E,FA,,MS-D-32x50.step +D32-50EFAU,D,32,50,,E,FA,U,MS-D-32x50.step +D32-50EFACM,D,32,50,,E,FA,CM,MS-D-32x50.step +D32-50EFB,D,32,50,,E,FB,,MS-D-32x50.step +D32-50EFBU,D,32,50,,E,FB,U,MS-D-32x50.step +D32-50EFBCM,D,32,50,,E,FB,CM,MS-D-32x50.step +D32-50ESDB,D,32,50,,E,SDB,,MS-D-32x50.step +D32-50ESDBU,D,32,50,,E,SDB,U,MS-D-32x50.step +D32-50ESDBCM,D,32,50,,E,SDB,CM,MS-D-32x50.step +D32-50,D,32,50,,,,,MS-D-32x50.step +D32-50U,D,32,50,,,,U,MS-D-32x50.step +D32-50CM,D,32,50,,,,CM,MS-D-32x50.step +D32-50LB,D,32,50,,,LB,,MS-D-32x50.step +D32-50LBU,D,32,50,,,LB,U,MS-D-32x50.step +D32-50LBCM,D,32,50,,,LB,CM,MS-D-32x50.step +D32-50FA,D,32,50,,,FA,,MS-D-32x50.step +D32-50FAU,D,32,50,,,FA,U,MS-D-32x50.step +D32-50FACM,D,32,50,,,FA,CM,MS-D-32x50.step +D32-50FB,D,32,50,,,FB,,MS-D-32x50.step +D32-50FBU,D,32,50,,,FB,U,MS-D-32x50.step +D32-50FBCM,D,32,50,,,FB,CM,MS-D-32x50.step +D32-50SDB,D,32,50,,,SDB,,MS-D-32x50.step +D32-50SDBU,D,32,50,,,SDB,U,MS-D-32x50.step +D32-50SDBCM,D,32,50,,,SDB,CM,MS-D-32x50.step +D32-50ME,D,32,50,M,E,,,MS-D-32x50.step +D32-50MEU,D,32,50,M,E,,U,MS-D-32x50.step +D32-50MECM,D,32,50,M,E,,CM,MS-D-32x50.step +D32-50MELB,D,32,50,M,E,LB,,MS-D-32x50.step +D32-50MELBU,D,32,50,M,E,LB,U,MS-D-32x50.step +D32-50MELBCM,D,32,50,M,E,LB,CM,MS-D-32x50.step +D32-50MEFA,D,32,50,M,E,FA,,MS-D-32x50.step +D32-50MEFAU,D,32,50,M,E,FA,U,MS-D-32x50.step +D32-50MEFACM,D,32,50,M,E,FA,CM,MS-D-32x50.step +D32-50MEFB,D,32,50,M,E,FB,,MS-D-32x50.step +D32-50MEFBU,D,32,50,M,E,FB,U,MS-D-32x50.step +D32-50MEFBCM,D,32,50,M,E,FB,CM,MS-D-32x50.step +D32-50MESDB,D,32,50,M,E,SDB,,MS-D-32x50.step +D32-50MESDBU,D,32,50,M,E,SDB,U,MS-D-32x50.step +D32-50MESDBCM,D,32,50,M,E,SDB,CM,MS-D-32x50.step +D32-50M,D,32,50,M,,,,MS-D-32x50.step +D32-50MU,D,32,50,M,,,U,MS-D-32x50.step +D32-50MCM,D,32,50,M,,,CM,MS-D-32x50.step +D32-50MLB,D,32,50,M,,LB,,MS-D-32x50.step +D32-50MLBU,D,32,50,M,,LB,U,MS-D-32x50.step +D32-50MLBCM,D,32,50,M,,LB,CM,MS-D-32x50.step +D32-50MFA,D,32,50,M,,FA,,MS-D-32x50.step +D32-50MFAU,D,32,50,M,,FA,U,MS-D-32x50.step +D32-50MFACM,D,32,50,M,,FA,CM,MS-D-32x50.step +D32-50MFB,D,32,50,M,,FB,,MS-D-32x50.step +D32-50MFBU,D,32,50,M,,FB,U,MS-D-32x50.step +D32-50MFBCM,D,32,50,M,,FB,CM,MS-D-32x50.step +D32-50MSDB,D,32,50,M,,SDB,,MS-D-32x50.step +D32-50MSDBU,D,32,50,M,,SDB,U,MS-D-32x50.step +D32-50MSDBCM,D,32,50,M,,SDB,CM,MS-D-32x50.step +D32-75E,D,32,75,,E,,,MS-D-32x75.step +D32-75EU,D,32,75,,E,,U,MS-D-32x75.step +D32-75ECM,D,32,75,,E,,CM,MS-D-32x75.step +D32-75ELB,D,32,75,,E,LB,,MS-D-32x75.step +D32-75ELBU,D,32,75,,E,LB,U,MS-D-32x75.step +D32-75ELBCM,D,32,75,,E,LB,CM,MS-D-32x75.step +D32-75EFA,D,32,75,,E,FA,,MS-D-32x75.step +D32-75EFAU,D,32,75,,E,FA,U,MS-D-32x75.step +D32-75EFACM,D,32,75,,E,FA,CM,MS-D-32x75.step +D32-75EFB,D,32,75,,E,FB,,MS-D-32x75.step +D32-75EFBU,D,32,75,,E,FB,U,MS-D-32x75.step +D32-75EFBCM,D,32,75,,E,FB,CM,MS-D-32x75.step +D32-75ESDB,D,32,75,,E,SDB,,MS-D-32x75.step +D32-75ESDBU,D,32,75,,E,SDB,U,MS-D-32x75.step +D32-75ESDBCM,D,32,75,,E,SDB,CM,MS-D-32x75.step +D32-75,D,32,75,,,,,MS-D-32x75.step +D32-75U,D,32,75,,,,U,MS-D-32x75.step +D32-75CM,D,32,75,,,,CM,MS-D-32x75.step +D32-75LB,D,32,75,,,LB,,MS-D-32x75.step +D32-75LBU,D,32,75,,,LB,U,MS-D-32x75.step +D32-75LBCM,D,32,75,,,LB,CM,MS-D-32x75.step +D32-75FA,D,32,75,,,FA,,MS-D-32x75.step +D32-75FAU,D,32,75,,,FA,U,MS-D-32x75.step +D32-75FACM,D,32,75,,,FA,CM,MS-D-32x75.step +D32-75FB,D,32,75,,,FB,,MS-D-32x75.step +D32-75FBU,D,32,75,,,FB,U,MS-D-32x75.step +D32-75FBCM,D,32,75,,,FB,CM,MS-D-32x75.step +D32-75SDB,D,32,75,,,SDB,,MS-D-32x75.step +D32-75SDBU,D,32,75,,,SDB,U,MS-D-32x75.step +D32-75SDBCM,D,32,75,,,SDB,CM,MS-D-32x75.step +D32-75ME,D,32,75,M,E,,,MS-D-32x75.step +D32-75MEU,D,32,75,M,E,,U,MS-D-32x75.step +D32-75MECM,D,32,75,M,E,,CM,MS-D-32x75.step +D32-75MELB,D,32,75,M,E,LB,,MS-D-32x75.step +D32-75MELBU,D,32,75,M,E,LB,U,MS-D-32x75.step +D32-75MELBCM,D,32,75,M,E,LB,CM,MS-D-32x75.step +D32-75MEFA,D,32,75,M,E,FA,,MS-D-32x75.step +D32-75MEFAU,D,32,75,M,E,FA,U,MS-D-32x75.step +D32-75MEFACM,D,32,75,M,E,FA,CM,MS-D-32x75.step +D32-75MEFB,D,32,75,M,E,FB,,MS-D-32x75.step +D32-75MEFBU,D,32,75,M,E,FB,U,MS-D-32x75.step +D32-75MEFBCM,D,32,75,M,E,FB,CM,MS-D-32x75.step +D32-75MESDB,D,32,75,M,E,SDB,,MS-D-32x75.step +D32-75MESDBU,D,32,75,M,E,SDB,U,MS-D-32x75.step +D32-75MESDBCM,D,32,75,M,E,SDB,CM,MS-D-32x75.step +D32-75M,D,32,75,M,,,,MS-D-32x75.step +D32-75MU,D,32,75,M,,,U,MS-D-32x75.step +D32-75MCM,D,32,75,M,,,CM,MS-D-32x75.step +D32-75MLB,D,32,75,M,,LB,,MS-D-32x75.step +D32-75MLBU,D,32,75,M,,LB,U,MS-D-32x75.step +D32-75MLBCM,D,32,75,M,,LB,CM,MS-D-32x75.step +D32-75MFA,D,32,75,M,,FA,,MS-D-32x75.step +D32-75MFAU,D,32,75,M,,FA,U,MS-D-32x75.step +D32-75MFACM,D,32,75,M,,FA,CM,MS-D-32x75.step +D32-75MFB,D,32,75,M,,FB,,MS-D-32x75.step +D32-75MFBU,D,32,75,M,,FB,U,MS-D-32x75.step +D32-75MFBCM,D,32,75,M,,FB,CM,MS-D-32x75.step +D32-75MSDB,D,32,75,M,,SDB,,MS-D-32x75.step +D32-75MSDBU,D,32,75,M,,SDB,U,MS-D-32x75.step +D32-75MSDBCM,D,32,75,M,,SDB,CM,MS-D-32x75.step +D32-100E,D,32,100,,E,,,MS-D-32x100.step +D32-100EU,D,32,100,,E,,U,MS-D-32x100.step +D32-100ECM,D,32,100,,E,,CM,MS-D-32x100.step +D32-100ELB,D,32,100,,E,LB,,MS-D-32x100.step +D32-100ELBU,D,32,100,,E,LB,U,MS-D-32x100.step +D32-100ELBCM,D,32,100,,E,LB,CM,MS-D-32x100.step +D32-100EFA,D,32,100,,E,FA,,MS-D-32x100.step +D32-100EFAU,D,32,100,,E,FA,U,MS-D-32x100.step +D32-100EFACM,D,32,100,,E,FA,CM,MS-D-32x100.step +D32-100EFB,D,32,100,,E,FB,,MS-D-32x100.step +D32-100EFBU,D,32,100,,E,FB,U,MS-D-32x100.step +D32-100EFBCM,D,32,100,,E,FB,CM,MS-D-32x100.step +D32-100ESDB,D,32,100,,E,SDB,,MS-D-32x100.step +D32-100ESDBU,D,32,100,,E,SDB,U,MS-D-32x100.step +D32-100ESDBCM,D,32,100,,E,SDB,CM,MS-D-32x100.step +D32-100,D,32,100,,,,,MS-D-32x100.step +D32-100U,D,32,100,,,,U,MS-D-32x100.step +D32-100CM,D,32,100,,,,CM,MS-D-32x100.step +D32-100LB,D,32,100,,,LB,,MS-D-32x100.step +D32-100LBU,D,32,100,,,LB,U,MS-D-32x100.step +D32-100LBCM,D,32,100,,,LB,CM,MS-D-32x100.step +D32-100FA,D,32,100,,,FA,,MS-D-32x100.step +D32-100FAU,D,32,100,,,FA,U,MS-D-32x100.step +D32-100FACM,D,32,100,,,FA,CM,MS-D-32x100.step +D32-100FB,D,32,100,,,FB,,MS-D-32x100.step +D32-100FBU,D,32,100,,,FB,U,MS-D-32x100.step +D32-100FBCM,D,32,100,,,FB,CM,MS-D-32x100.step +D32-100SDB,D,32,100,,,SDB,,MS-D-32x100.step +D32-100SDBU,D,32,100,,,SDB,U,MS-D-32x100.step +D32-100SDBCM,D,32,100,,,SDB,CM,MS-D-32x100.step +D32-100ME,D,32,100,M,E,,,MS-D-32x100.step +D32-100MEU,D,32,100,M,E,,U,MS-D-32x100.step +D32-100MECM,D,32,100,M,E,,CM,MS-D-32x100.step +D32-100MELB,D,32,100,M,E,LB,,MS-D-32x100.step +D32-100MELBU,D,32,100,M,E,LB,U,MS-D-32x100.step +D32-100MELBCM,D,32,100,M,E,LB,CM,MS-D-32x100.step +D32-100MEFA,D,32,100,M,E,FA,,MS-D-32x100.step +D32-100MEFAU,D,32,100,M,E,FA,U,MS-D-32x100.step +D32-100MEFACM,D,32,100,M,E,FA,CM,MS-D-32x100.step +D32-100MEFB,D,32,100,M,E,FB,,MS-D-32x100.step +D32-100MEFBU,D,32,100,M,E,FB,U,MS-D-32x100.step +D32-100MEFBCM,D,32,100,M,E,FB,CM,MS-D-32x100.step +D32-100MESDB,D,32,100,M,E,SDB,,MS-D-32x100.step +D32-100MESDBU,D,32,100,M,E,SDB,U,MS-D-32x100.step +D32-100MESDBCM,D,32,100,M,E,SDB,CM,MS-D-32x100.step +D32-100M,D,32,100,M,,,,MS-D-32x100.step +D32-100MU,D,32,100,M,,,U,MS-D-32x100.step +D32-100MCM,D,32,100,M,,,CM,MS-D-32x100.step +D32-100MLB,D,32,100,M,,LB,,MS-D-32x100.step +D32-100MLBU,D,32,100,M,,LB,U,MS-D-32x100.step +D32-100MLBCM,D,32,100,M,,LB,CM,MS-D-32x100.step +D32-100MFA,D,32,100,M,,FA,,MS-D-32x100.step +D32-100MFAU,D,32,100,M,,FA,U,MS-D-32x100.step +D32-100MFACM,D,32,100,M,,FA,CM,MS-D-32x100.step +D32-100MFB,D,32,100,M,,FB,,MS-D-32x100.step +D32-100MFBU,D,32,100,M,,FB,U,MS-D-32x100.step +D32-100MFBCM,D,32,100,M,,FB,CM,MS-D-32x100.step +D32-100MSDB,D,32,100,M,,SDB,,MS-D-32x100.step +D32-100MSDBU,D,32,100,M,,SDB,U,MS-D-32x100.step +D32-100MSDBCM,D,32,100,M,,SDB,CM,MS-D-32x100.step +D40-10E,D,40,10,,E,,,MS-D-40x10.step +D40-10EU,D,40,10,,E,,U,MS-D-40x10.step +D40-10ECM,D,40,10,,E,,CM,MS-D-40x10.step +D40-10ELB,D,40,10,,E,LB,,MS-D-40x10.step +D40-10ELBU,D,40,10,,E,LB,U,MS-D-40x10.step +D40-10ELBCM,D,40,10,,E,LB,CM,MS-D-40x10.step +D40-10EFA,D,40,10,,E,FA,,MS-D-40x10.step +D40-10EFAU,D,40,10,,E,FA,U,MS-D-40x10.step +D40-10EFACM,D,40,10,,E,FA,CM,MS-D-40x10.step +D40-10EFB,D,40,10,,E,FB,,MS-D-40x10.step +D40-10EFBU,D,40,10,,E,FB,U,MS-D-40x10.step +D40-10EFBCM,D,40,10,,E,FB,CM,MS-D-40x10.step +D40-10ESDB,D,40,10,,E,SDB,,MS-D-40x10.step +D40-10ESDBU,D,40,10,,E,SDB,U,MS-D-40x10.step +D40-10ESDBCM,D,40,10,,E,SDB,CM,MS-D-40x10.step +D40-10,D,40,10,,,,,MS-D-40x10.step +D40-10U,D,40,10,,,,U,MS-D-40x10.step +D40-10CM,D,40,10,,,,CM,MS-D-40x10.step +D40-10LB,D,40,10,,,LB,,MS-D-40x10.step +D40-10LBU,D,40,10,,,LB,U,MS-D-40x10.step +D40-10LBCM,D,40,10,,,LB,CM,MS-D-40x10.step +D40-10FA,D,40,10,,,FA,,MS-D-40x10.step +D40-10FAU,D,40,10,,,FA,U,MS-D-40x10.step +D40-10FACM,D,40,10,,,FA,CM,MS-D-40x10.step +D40-10FB,D,40,10,,,FB,,MS-D-40x10.step +D40-10FBU,D,40,10,,,FB,U,MS-D-40x10.step +D40-10FBCM,D,40,10,,,FB,CM,MS-D-40x10.step +D40-10SDB,D,40,10,,,SDB,,MS-D-40x10.step +D40-10SDBU,D,40,10,,,SDB,U,MS-D-40x10.step +D40-10SDBCM,D,40,10,,,SDB,CM,MS-D-40x10.step +D40-10ME,D,40,10,M,E,,,MS-D-40x10.step +D40-10MEU,D,40,10,M,E,,U,MS-D-40x10.step +D40-10MECM,D,40,10,M,E,,CM,MS-D-40x10.step +D40-10MELB,D,40,10,M,E,LB,,MS-D-40x10.step +D40-10MELBU,D,40,10,M,E,LB,U,MS-D-40x10.step +D40-10MELBCM,D,40,10,M,E,LB,CM,MS-D-40x10.step +D40-10MEFA,D,40,10,M,E,FA,,MS-D-40x10.step +D40-10MEFAU,D,40,10,M,E,FA,U,MS-D-40x10.step +D40-10MEFACM,D,40,10,M,E,FA,CM,MS-D-40x10.step +D40-10MEFB,D,40,10,M,E,FB,,MS-D-40x10.step +D40-10MEFBU,D,40,10,M,E,FB,U,MS-D-40x10.step +D40-10MEFBCM,D,40,10,M,E,FB,CM,MS-D-40x10.step +D40-10MESDB,D,40,10,M,E,SDB,,MS-D-40x10.step +D40-10MESDBU,D,40,10,M,E,SDB,U,MS-D-40x10.step +D40-10MESDBCM,D,40,10,M,E,SDB,CM,MS-D-40x10.step +D40-10M,D,40,10,M,,,,MS-D-40x10.step +D40-10MU,D,40,10,M,,,U,MS-D-40x10.step +D40-10MCM,D,40,10,M,,,CM,MS-D-40x10.step +D40-10MLB,D,40,10,M,,LB,,MS-D-40x10.step +D40-10MLBU,D,40,10,M,,LB,U,MS-D-40x10.step +D40-10MLBCM,D,40,10,M,,LB,CM,MS-D-40x10.step +D40-10MFA,D,40,10,M,,FA,,MS-D-40x10.step +D40-10MFAU,D,40,10,M,,FA,U,MS-D-40x10.step +D40-10MFACM,D,40,10,M,,FA,CM,MS-D-40x10.step +D40-10MFB,D,40,10,M,,FB,,MS-D-40x10.step +D40-10MFBU,D,40,10,M,,FB,U,MS-D-40x10.step +D40-10MFBCM,D,40,10,M,,FB,CM,MS-D-40x10.step +D40-10MSDB,D,40,10,M,,SDB,,MS-D-40x10.step +D40-10MSDBU,D,40,10,M,,SDB,U,MS-D-40x10.step +D40-10MSDBCM,D,40,10,M,,SDB,CM,MS-D-40x10.step +D40-20E,D,40,20,,E,,,MS-D-40x20.step +D40-20EU,D,40,20,,E,,U,MS-D-40x20.step +D40-20ECM,D,40,20,,E,,CM,MS-D-40x20.step +D40-20ELB,D,40,20,,E,LB,,MS-D-40x20.step +D40-20ELBU,D,40,20,,E,LB,U,MS-D-40x20.step +D40-20ELBCM,D,40,20,,E,LB,CM,MS-D-40x20.step +D40-20EFA,D,40,20,,E,FA,,MS-D-40x20.step +D40-20EFAU,D,40,20,,E,FA,U,MS-D-40x20.step +D40-20EFACM,D,40,20,,E,FA,CM,MS-D-40x20.step +D40-20EFB,D,40,20,,E,FB,,MS-D-40x20.step +D40-20EFBU,D,40,20,,E,FB,U,MS-D-40x20.step +D40-20EFBCM,D,40,20,,E,FB,CM,MS-D-40x20.step +D40-20ESDB,D,40,20,,E,SDB,,MS-D-40x20.step +D40-20ESDBU,D,40,20,,E,SDB,U,MS-D-40x20.step +D40-20ESDBCM,D,40,20,,E,SDB,CM,MS-D-40x20.step +D40-20,D,40,20,,,,,MS-D-40x20.step +D40-20U,D,40,20,,,,U,MS-D-40x20.step +D40-20CM,D,40,20,,,,CM,MS-D-40x20.step +D40-20LB,D,40,20,,,LB,,MS-D-40x20.step +D40-20LBU,D,40,20,,,LB,U,MS-D-40x20.step +D40-20LBCM,D,40,20,,,LB,CM,MS-D-40x20.step +D40-20FA,D,40,20,,,FA,,MS-D-40x20.step +D40-20FAU,D,40,20,,,FA,U,MS-D-40x20.step +D40-20FACM,D,40,20,,,FA,CM,MS-D-40x20.step +D40-20FB,D,40,20,,,FB,,MS-D-40x20.step +D40-20FBU,D,40,20,,,FB,U,MS-D-40x20.step +D40-20FBCM,D,40,20,,,FB,CM,MS-D-40x20.step +D40-20SDB,D,40,20,,,SDB,,MS-D-40x20.step +D40-20SDBU,D,40,20,,,SDB,U,MS-D-40x20.step +D40-20SDBCM,D,40,20,,,SDB,CM,MS-D-40x20.step +D40-20ME,D,40,20,M,E,,,MS-D-40x20.step +D40-20MEU,D,40,20,M,E,,U,MS-D-40x20.step +D40-20MECM,D,40,20,M,E,,CM,MS-D-40x20.step +D40-20MELB,D,40,20,M,E,LB,,MS-D-40x20.step +D40-20MELBU,D,40,20,M,E,LB,U,MS-D-40x20.step +D40-20MELBCM,D,40,20,M,E,LB,CM,MS-D-40x20.step +D40-20MEFA,D,40,20,M,E,FA,,MS-D-40x20.step +D40-20MEFAU,D,40,20,M,E,FA,U,MS-D-40x20.step +D40-20MEFACM,D,40,20,M,E,FA,CM,MS-D-40x20.step +D40-20MEFB,D,40,20,M,E,FB,,MS-D-40x20.step +D40-20MEFBU,D,40,20,M,E,FB,U,MS-D-40x20.step +D40-20MEFBCM,D,40,20,M,E,FB,CM,MS-D-40x20.step +D40-20MESDB,D,40,20,M,E,SDB,,MS-D-40x20.step +D40-20MESDBU,D,40,20,M,E,SDB,U,MS-D-40x20.step +D40-20MESDBCM,D,40,20,M,E,SDB,CM,MS-D-40x20.step +D40-20M,D,40,20,M,,,,MS-D-40x20.step +D40-20MU,D,40,20,M,,,U,MS-D-40x20.step +D40-20MCM,D,40,20,M,,,CM,MS-D-40x20.step +D40-20MLB,D,40,20,M,,LB,,MS-D-40x20.step +D40-20MLBU,D,40,20,M,,LB,U,MS-D-40x20.step +D40-20MLBCM,D,40,20,M,,LB,CM,MS-D-40x20.step +D40-20MFA,D,40,20,M,,FA,,MS-D-40x20.step +D40-20MFAU,D,40,20,M,,FA,U,MS-D-40x20.step +D40-20MFACM,D,40,20,M,,FA,CM,MS-D-40x20.step +D40-20MFB,D,40,20,M,,FB,,MS-D-40x20.step +D40-20MFBU,D,40,20,M,,FB,U,MS-D-40x20.step +D40-20MFBCM,D,40,20,M,,FB,CM,MS-D-40x20.step +D40-20MSDB,D,40,20,M,,SDB,,MS-D-40x20.step +D40-20MSDBU,D,40,20,M,,SDB,U,MS-D-40x20.step +D40-20MSDBCM,D,40,20,M,,SDB,CM,MS-D-40x20.step +D40-30E,D,40,30,,E,,,MS-D-40x30.step +D40-30EU,D,40,30,,E,,U,MS-D-40x30.step +D40-30ECM,D,40,30,,E,,CM,MS-D-40x30.step +D40-30ELB,D,40,30,,E,LB,,MS-D-40x30.step +D40-30ELBU,D,40,30,,E,LB,U,MS-D-40x30.step +D40-30ELBCM,D,40,30,,E,LB,CM,MS-D-40x30.step +D40-30EFA,D,40,30,,E,FA,,MS-D-40x30.step +D40-30EFAU,D,40,30,,E,FA,U,MS-D-40x30.step +D40-30EFACM,D,40,30,,E,FA,CM,MS-D-40x30.step +D40-30EFB,D,40,30,,E,FB,,MS-D-40x30.step +D40-30EFBU,D,40,30,,E,FB,U,MS-D-40x30.step +D40-30EFBCM,D,40,30,,E,FB,CM,MS-D-40x30.step +D40-30ESDB,D,40,30,,E,SDB,,MS-D-40x30.step +D40-30ESDBU,D,40,30,,E,SDB,U,MS-D-40x30.step +D40-30ESDBCM,D,40,30,,E,SDB,CM,MS-D-40x30.step +D40-30,D,40,30,,,,,MS-D-40x30.step +D40-30U,D,40,30,,,,U,MS-D-40x30.step +D40-30CM,D,40,30,,,,CM,MS-D-40x30.step +D40-30LB,D,40,30,,,LB,,MS-D-40x30.step +D40-30LBU,D,40,30,,,LB,U,MS-D-40x30.step +D40-30LBCM,D,40,30,,,LB,CM,MS-D-40x30.step +D40-30FA,D,40,30,,,FA,,MS-D-40x30.step +D40-30FAU,D,40,30,,,FA,U,MS-D-40x30.step +D40-30FACM,D,40,30,,,FA,CM,MS-D-40x30.step +D40-30FB,D,40,30,,,FB,,MS-D-40x30.step +D40-30FBU,D,40,30,,,FB,U,MS-D-40x30.step +D40-30FBCM,D,40,30,,,FB,CM,MS-D-40x30.step +D40-30SDB,D,40,30,,,SDB,,MS-D-40x30.step +D40-30SDBU,D,40,30,,,SDB,U,MS-D-40x30.step +D40-30SDBCM,D,40,30,,,SDB,CM,MS-D-40x30.step +D40-30ME,D,40,30,M,E,,,MS-D-40x30.step +D40-30MEU,D,40,30,M,E,,U,MS-D-40x30.step +D40-30MECM,D,40,30,M,E,,CM,MS-D-40x30.step +D40-30MELB,D,40,30,M,E,LB,,MS-D-40x30.step +D40-30MELBU,D,40,30,M,E,LB,U,MS-D-40x30.step +D40-30MELBCM,D,40,30,M,E,LB,CM,MS-D-40x30.step +D40-30MEFA,D,40,30,M,E,FA,,MS-D-40x30.step +D40-30MEFAU,D,40,30,M,E,FA,U,MS-D-40x30.step +D40-30MEFACM,D,40,30,M,E,FA,CM,MS-D-40x30.step +D40-30MEFB,D,40,30,M,E,FB,,MS-D-40x30.step +D40-30MEFBU,D,40,30,M,E,FB,U,MS-D-40x30.step +D40-30MEFBCM,D,40,30,M,E,FB,CM,MS-D-40x30.step +D40-30MESDB,D,40,30,M,E,SDB,,MS-D-40x30.step +D40-30MESDBU,D,40,30,M,E,SDB,U,MS-D-40x30.step +D40-30MESDBCM,D,40,30,M,E,SDB,CM,MS-D-40x30.step +D40-30M,D,40,30,M,,,,MS-D-40x30.step +D40-30MU,D,40,30,M,,,U,MS-D-40x30.step +D40-30MCM,D,40,30,M,,,CM,MS-D-40x30.step +D40-30MLB,D,40,30,M,,LB,,MS-D-40x30.step +D40-30MLBU,D,40,30,M,,LB,U,MS-D-40x30.step +D40-30MLBCM,D,40,30,M,,LB,CM,MS-D-40x30.step +D40-30MFA,D,40,30,M,,FA,,MS-D-40x30.step +D40-30MFAU,D,40,30,M,,FA,U,MS-D-40x30.step +D40-30MFACM,D,40,30,M,,FA,CM,MS-D-40x30.step +D40-30MFB,D,40,30,M,,FB,,MS-D-40x30.step +D40-30MFBU,D,40,30,M,,FB,U,MS-D-40x30.step +D40-30MFBCM,D,40,30,M,,FB,CM,MS-D-40x30.step +D40-30MSDB,D,40,30,M,,SDB,,MS-D-40x30.step +D40-30MSDBU,D,40,30,M,,SDB,U,MS-D-40x30.step +D40-30MSDBCM,D,40,30,M,,SDB,CM,MS-D-40x30.step +D40-50E,D,40,50,,E,,,MS-D-40x50.step +D40-50EU,D,40,50,,E,,U,MS-D-40x50.step +D40-50ECM,D,40,50,,E,,CM,MS-D-40x50.step +D40-50ELB,D,40,50,,E,LB,,MS-D-40x50.step +D40-50ELBU,D,40,50,,E,LB,U,MS-D-40x50.step +D40-50ELBCM,D,40,50,,E,LB,CM,MS-D-40x50.step +D40-50EFA,D,40,50,,E,FA,,MS-D-40x50.step +D40-50EFAU,D,40,50,,E,FA,U,MS-D-40x50.step +D40-50EFACM,D,40,50,,E,FA,CM,MS-D-40x50.step +D40-50EFB,D,40,50,,E,FB,,MS-D-40x50.step +D40-50EFBU,D,40,50,,E,FB,U,MS-D-40x50.step +D40-50EFBCM,D,40,50,,E,FB,CM,MS-D-40x50.step +D40-50ESDB,D,40,50,,E,SDB,,MS-D-40x50.step +D40-50ESDBU,D,40,50,,E,SDB,U,MS-D-40x50.step +D40-50ESDBCM,D,40,50,,E,SDB,CM,MS-D-40x50.step +D40-50,D,40,50,,,,,MS-D-40x50.step +D40-50U,D,40,50,,,,U,MS-D-40x50.step +D40-50CM,D,40,50,,,,CM,MS-D-40x50.step +D40-50LB,D,40,50,,,LB,,MS-D-40x50.step +D40-50LBU,D,40,50,,,LB,U,MS-D-40x50.step +D40-50LBCM,D,40,50,,,LB,CM,MS-D-40x50.step +D40-50FA,D,40,50,,,FA,,MS-D-40x50.step +D40-50FAU,D,40,50,,,FA,U,MS-D-40x50.step +D40-50FACM,D,40,50,,,FA,CM,MS-D-40x50.step +D40-50FB,D,40,50,,,FB,,MS-D-40x50.step +D40-50FBU,D,40,50,,,FB,U,MS-D-40x50.step +D40-50FBCM,D,40,50,,,FB,CM,MS-D-40x50.step +D40-50SDB,D,40,50,,,SDB,,MS-D-40x50.step +D40-50SDBU,D,40,50,,,SDB,U,MS-D-40x50.step +D40-50SDBCM,D,40,50,,,SDB,CM,MS-D-40x50.step +D40-50ME,D,40,50,M,E,,,MS-D-40x50.step +D40-50MEU,D,40,50,M,E,,U,MS-D-40x50.step +D40-50MECM,D,40,50,M,E,,CM,MS-D-40x50.step +D40-50MELB,D,40,50,M,E,LB,,MS-D-40x50.step +D40-50MELBU,D,40,50,M,E,LB,U,MS-D-40x50.step +D40-50MELBCM,D,40,50,M,E,LB,CM,MS-D-40x50.step +D40-50MEFA,D,40,50,M,E,FA,,MS-D-40x50.step +D40-50MEFAU,D,40,50,M,E,FA,U,MS-D-40x50.step +D40-50MEFACM,D,40,50,M,E,FA,CM,MS-D-40x50.step +D40-50MEFB,D,40,50,M,E,FB,,MS-D-40x50.step +D40-50MEFBU,D,40,50,M,E,FB,U,MS-D-40x50.step +D40-50MEFBCM,D,40,50,M,E,FB,CM,MS-D-40x50.step +D40-50MESDB,D,40,50,M,E,SDB,,MS-D-40x50.step +D40-50MESDBU,D,40,50,M,E,SDB,U,MS-D-40x50.step +D40-50MESDBCM,D,40,50,M,E,SDB,CM,MS-D-40x50.step +D40-50M,D,40,50,M,,,,MS-D-40x50.step +D40-50MU,D,40,50,M,,,U,MS-D-40x50.step +D40-50MCM,D,40,50,M,,,CM,MS-D-40x50.step +D40-50MLB,D,40,50,M,,LB,,MS-D-40x50.step +D40-50MLBU,D,40,50,M,,LB,U,MS-D-40x50.step +D40-50MLBCM,D,40,50,M,,LB,CM,MS-D-40x50.step +D40-50MFA,D,40,50,M,,FA,,MS-D-40x50.step +D40-50MFAU,D,40,50,M,,FA,U,MS-D-40x50.step +D40-50MFACM,D,40,50,M,,FA,CM,MS-D-40x50.step +D40-50MFB,D,40,50,M,,FB,,MS-D-40x50.step +D40-50MFBU,D,40,50,M,,FB,U,MS-D-40x50.step +D40-50MFBCM,D,40,50,M,,FB,CM,MS-D-40x50.step +D40-50MSDB,D,40,50,M,,SDB,,MS-D-40x50.step +D40-50MSDBU,D,40,50,M,,SDB,U,MS-D-40x50.step +D40-50MSDBCM,D,40,50,M,,SDB,CM,MS-D-40x50.step +D40-75E,D,40,75,,E,,,MS-D-40x75.step +D40-75EU,D,40,75,,E,,U,MS-D-40x75.step +D40-75ECM,D,40,75,,E,,CM,MS-D-40x75.step +D40-75ELB,D,40,75,,E,LB,,MS-D-40x75.step +D40-75ELBU,D,40,75,,E,LB,U,MS-D-40x75.step +D40-75ELBCM,D,40,75,,E,LB,CM,MS-D-40x75.step +D40-75EFA,D,40,75,,E,FA,,MS-D-40x75.step +D40-75EFAU,D,40,75,,E,FA,U,MS-D-40x75.step +D40-75EFACM,D,40,75,,E,FA,CM,MS-D-40x75.step +D40-75EFB,D,40,75,,E,FB,,MS-D-40x75.step +D40-75EFBU,D,40,75,,E,FB,U,MS-D-40x75.step +D40-75EFBCM,D,40,75,,E,FB,CM,MS-D-40x75.step +D40-75ESDB,D,40,75,,E,SDB,,MS-D-40x75.step +D40-75ESDBU,D,40,75,,E,SDB,U,MS-D-40x75.step +D40-75ESDBCM,D,40,75,,E,SDB,CM,MS-D-40x75.step +D40-75,D,40,75,,,,,MS-D-40x75.step +D40-75U,D,40,75,,,,U,MS-D-40x75.step +D40-75CM,D,40,75,,,,CM,MS-D-40x75.step +D40-75LB,D,40,75,,,LB,,MS-D-40x75.step +D40-75LBU,D,40,75,,,LB,U,MS-D-40x75.step +D40-75LBCM,D,40,75,,,LB,CM,MS-D-40x75.step +D40-75FA,D,40,75,,,FA,,MS-D-40x75.step +D40-75FAU,D,40,75,,,FA,U,MS-D-40x75.step +D40-75FACM,D,40,75,,,FA,CM,MS-D-40x75.step +D40-75FB,D,40,75,,,FB,,MS-D-40x75.step +D40-75FBU,D,40,75,,,FB,U,MS-D-40x75.step +D40-75FBCM,D,40,75,,,FB,CM,MS-D-40x75.step +D40-75SDB,D,40,75,,,SDB,,MS-D-40x75.step +D40-75SDBU,D,40,75,,,SDB,U,MS-D-40x75.step +D40-75SDBCM,D,40,75,,,SDB,CM,MS-D-40x75.step +D40-75ME,D,40,75,M,E,,,MS-D-40x75.step +D40-75MEU,D,40,75,M,E,,U,MS-D-40x75.step +D40-75MECM,D,40,75,M,E,,CM,MS-D-40x75.step +D40-75MELB,D,40,75,M,E,LB,,MS-D-40x75.step +D40-75MELBU,D,40,75,M,E,LB,U,MS-D-40x75.step +D40-75MELBCM,D,40,75,M,E,LB,CM,MS-D-40x75.step +D40-75MEFA,D,40,75,M,E,FA,,MS-D-40x75.step +D40-75MEFAU,D,40,75,M,E,FA,U,MS-D-40x75.step +D40-75MEFACM,D,40,75,M,E,FA,CM,MS-D-40x75.step +D40-75MEFB,D,40,75,M,E,FB,,MS-D-40x75.step +D40-75MEFBU,D,40,75,M,E,FB,U,MS-D-40x75.step +D40-75MEFBCM,D,40,75,M,E,FB,CM,MS-D-40x75.step +D40-75MESDB,D,40,75,M,E,SDB,,MS-D-40x75.step +D40-75MESDBU,D,40,75,M,E,SDB,U,MS-D-40x75.step +D40-75MESDBCM,D,40,75,M,E,SDB,CM,MS-D-40x75.step +D40-75M,D,40,75,M,,,,MS-D-40x75.step +D40-75MU,D,40,75,M,,,U,MS-D-40x75.step +D40-75MCM,D,40,75,M,,,CM,MS-D-40x75.step +D40-75MLB,D,40,75,M,,LB,,MS-D-40x75.step +D40-75MLBU,D,40,75,M,,LB,U,MS-D-40x75.step +D40-75MLBCM,D,40,75,M,,LB,CM,MS-D-40x75.step +D40-75MFA,D,40,75,M,,FA,,MS-D-40x75.step +D40-75MFAU,D,40,75,M,,FA,U,MS-D-40x75.step +D40-75MFACM,D,40,75,M,,FA,CM,MS-D-40x75.step +D40-75MFB,D,40,75,M,,FB,,MS-D-40x75.step +D40-75MFBU,D,40,75,M,,FB,U,MS-D-40x75.step +D40-75MFBCM,D,40,75,M,,FB,CM,MS-D-40x75.step +D40-75MSDB,D,40,75,M,,SDB,,MS-D-40x75.step +D40-75MSDBU,D,40,75,M,,SDB,U,MS-D-40x75.step +D40-75MSDBCM,D,40,75,M,,SDB,CM,MS-D-40x75.step +D40-100E,D,40,100,,E,,,MS-D-40x100.step +D40-100EU,D,40,100,,E,,U,MS-D-40x100.step +D40-100ECM,D,40,100,,E,,CM,MS-D-40x100.step +D40-100ELB,D,40,100,,E,LB,,MS-D-40x100.step +D40-100ELBU,D,40,100,,E,LB,U,MS-D-40x100.step +D40-100ELBCM,D,40,100,,E,LB,CM,MS-D-40x100.step +D40-100EFA,D,40,100,,E,FA,,MS-D-40x100.step +D40-100EFAU,D,40,100,,E,FA,U,MS-D-40x100.step +D40-100EFACM,D,40,100,,E,FA,CM,MS-D-40x100.step +D40-100EFB,D,40,100,,E,FB,,MS-D-40x100.step +D40-100EFBU,D,40,100,,E,FB,U,MS-D-40x100.step +D40-100EFBCM,D,40,100,,E,FB,CM,MS-D-40x100.step +D40-100ESDB,D,40,100,,E,SDB,,MS-D-40x100.step +D40-100ESDBU,D,40,100,,E,SDB,U,MS-D-40x100.step +D40-100ESDBCM,D,40,100,,E,SDB,CM,MS-D-40x100.step +D40-100,D,40,100,,,,,MS-D-40x100.step +D40-100U,D,40,100,,,,U,MS-D-40x100.step +D40-100CM,D,40,100,,,,CM,MS-D-40x100.step +D40-100LB,D,40,100,,,LB,,MS-D-40x100.step +D40-100LBU,D,40,100,,,LB,U,MS-D-40x100.step +D40-100LBCM,D,40,100,,,LB,CM,MS-D-40x100.step +D40-100FA,D,40,100,,,FA,,MS-D-40x100.step +D40-100FAU,D,40,100,,,FA,U,MS-D-40x100.step +D40-100FACM,D,40,100,,,FA,CM,MS-D-40x100.step +D40-100FB,D,40,100,,,FB,,MS-D-40x100.step +D40-100FBU,D,40,100,,,FB,U,MS-D-40x100.step +D40-100FBCM,D,40,100,,,FB,CM,MS-D-40x100.step +D40-100SDB,D,40,100,,,SDB,,MS-D-40x100.step +D40-100SDBU,D,40,100,,,SDB,U,MS-D-40x100.step +D40-100SDBCM,D,40,100,,,SDB,CM,MS-D-40x100.step +D40-100ME,D,40,100,M,E,,,MS-D-40x100.step +D40-100MEU,D,40,100,M,E,,U,MS-D-40x100.step +D40-100MECM,D,40,100,M,E,,CM,MS-D-40x100.step +D40-100MELB,D,40,100,M,E,LB,,MS-D-40x100.step +D40-100MELBU,D,40,100,M,E,LB,U,MS-D-40x100.step +D40-100MELBCM,D,40,100,M,E,LB,CM,MS-D-40x100.step +D40-100MEFA,D,40,100,M,E,FA,,MS-D-40x100.step +D40-100MEFAU,D,40,100,M,E,FA,U,MS-D-40x100.step +D40-100MEFACM,D,40,100,M,E,FA,CM,MS-D-40x100.step +D40-100MEFB,D,40,100,M,E,FB,,MS-D-40x100.step +D40-100MEFBU,D,40,100,M,E,FB,U,MS-D-40x100.step +D40-100MEFBCM,D,40,100,M,E,FB,CM,MS-D-40x100.step +D40-100MESDB,D,40,100,M,E,SDB,,MS-D-40x100.step +D40-100MESDBU,D,40,100,M,E,SDB,U,MS-D-40x100.step +D40-100MESDBCM,D,40,100,M,E,SDB,CM,MS-D-40x100.step +D40-100M,D,40,100,M,,,,MS-D-40x100.step +D40-100MU,D,40,100,M,,,U,MS-D-40x100.step +D40-100MCM,D,40,100,M,,,CM,MS-D-40x100.step +D40-100MLB,D,40,100,M,,LB,,MS-D-40x100.step +D40-100MLBU,D,40,100,M,,LB,U,MS-D-40x100.step +D40-100MLBCM,D,40,100,M,,LB,CM,MS-D-40x100.step +D40-100MFA,D,40,100,M,,FA,,MS-D-40x100.step +D40-100MFAU,D,40,100,M,,FA,U,MS-D-40x100.step +D40-100MFACM,D,40,100,M,,FA,CM,MS-D-40x100.step +D40-100MFB,D,40,100,M,,FB,,MS-D-40x100.step +D40-100MFBU,D,40,100,M,,FB,U,MS-D-40x100.step +D40-100MFBCM,D,40,100,M,,FB,CM,MS-D-40x100.step +D40-100MSDB,D,40,100,M,,SDB,,MS-D-40x100.step +D40-100MSDBU,D,40,100,M,,SDB,U,MS-D-40x100.step +D40-100MSDBCM,D,40,100,M,,SDB,CM,MS-D-40x100.step +J16-10E,J,16,10,,E,,,MS-J-16x10.step +J16-10EU,J,16,10,,E,,U,MS-J-16x10.step +J16-10ECM,J,16,10,,E,,CM,MS-J-16x10.step +J16-10ELB,J,16,10,,E,LB,,MS-J-16x10.step +J16-10ELBU,J,16,10,,E,LB,U,MS-J-16x10.step +J16-10ELBCM,J,16,10,,E,LB,CM,MS-J-16x10.step +J16-10EFA,J,16,10,,E,FA,,MS-J-16x10.step +J16-10EFAU,J,16,10,,E,FA,U,MS-J-16x10.step +J16-10EFACM,J,16,10,,E,FA,CM,MS-J-16x10.step +J16-10EFB,J,16,10,,E,FB,,MS-J-16x10.step +J16-10EFBU,J,16,10,,E,FB,U,MS-J-16x10.step +J16-10EFBCM,J,16,10,,E,FB,CM,MS-J-16x10.step +J16-10ESDB,J,16,10,,E,SDB,,MS-J-16x10.step +J16-10ESDBU,J,16,10,,E,SDB,U,MS-J-16x10.step +J16-10ESDBCM,J,16,10,,E,SDB,CM,MS-J-16x10.step +J16-10,J,16,10,,,,,MS-J-16x10.step +J16-10U,J,16,10,,,,U,MS-J-16x10.step +J16-10CM,J,16,10,,,,CM,MS-J-16x10.step +J16-10LB,J,16,10,,,LB,,MS-J-16x10.step +J16-10LBU,J,16,10,,,LB,U,MS-J-16x10.step +J16-10LBCM,J,16,10,,,LB,CM,MS-J-16x10.step +J16-10FA,J,16,10,,,FA,,MS-J-16x10.step +J16-10FAU,J,16,10,,,FA,U,MS-J-16x10.step +J16-10FACM,J,16,10,,,FA,CM,MS-J-16x10.step +J16-10FB,J,16,10,,,FB,,MS-J-16x10.step +J16-10FBU,J,16,10,,,FB,U,MS-J-16x10.step +J16-10FBCM,J,16,10,,,FB,CM,MS-J-16x10.step +J16-10SDB,J,16,10,,,SDB,,MS-J-16x10.step +J16-10SDBU,J,16,10,,,SDB,U,MS-J-16x10.step +J16-10SDBCM,J,16,10,,,SDB,CM,MS-J-16x10.step +J16-10ME,J,16,10,M,E,,,MS-J-16x10.step +J16-10MEU,J,16,10,M,E,,U,MS-J-16x10.step +J16-10MECM,J,16,10,M,E,,CM,MS-J-16x10.step +J16-10MELB,J,16,10,M,E,LB,,MS-J-16x10.step +J16-10MELBU,J,16,10,M,E,LB,U,MS-J-16x10.step +J16-10MELBCM,J,16,10,M,E,LB,CM,MS-J-16x10.step +J16-10MEFA,J,16,10,M,E,FA,,MS-J-16x10.step +J16-10MEFAU,J,16,10,M,E,FA,U,MS-J-16x10.step +J16-10MEFACM,J,16,10,M,E,FA,CM,MS-J-16x10.step +J16-10MEFB,J,16,10,M,E,FB,,MS-J-16x10.step +J16-10MEFBU,J,16,10,M,E,FB,U,MS-J-16x10.step +J16-10MEFBCM,J,16,10,M,E,FB,CM,MS-J-16x10.step +J16-10MESDB,J,16,10,M,E,SDB,,MS-J-16x10.step +J16-10MESDBU,J,16,10,M,E,SDB,U,MS-J-16x10.step +J16-10MESDBCM,J,16,10,M,E,SDB,CM,MS-J-16x10.step +J16-10M,J,16,10,M,,,,MS-J-16x10.step +J16-10MU,J,16,10,M,,,U,MS-J-16x10.step +J16-10MCM,J,16,10,M,,,CM,MS-J-16x10.step +J16-10MLB,J,16,10,M,,LB,,MS-J-16x10.step +J16-10MLBU,J,16,10,M,,LB,U,MS-J-16x10.step +J16-10MLBCM,J,16,10,M,,LB,CM,MS-J-16x10.step +J16-10MFA,J,16,10,M,,FA,,MS-J-16x10.step +J16-10MFAU,J,16,10,M,,FA,U,MS-J-16x10.step +J16-10MFACM,J,16,10,M,,FA,CM,MS-J-16x10.step +J16-10MFB,J,16,10,M,,FB,,MS-J-16x10.step +J16-10MFBU,J,16,10,M,,FB,U,MS-J-16x10.step +J16-10MFBCM,J,16,10,M,,FB,CM,MS-J-16x10.step +J16-10MSDB,J,16,10,M,,SDB,,MS-J-16x10.step +J16-10MSDBU,J,16,10,M,,SDB,U,MS-J-16x10.step +J16-10MSDBCM,J,16,10,M,,SDB,CM,MS-J-16x10.step +J16-20E,J,16,20,,E,,,MS-J-16x20.step +J16-20EU,J,16,20,,E,,U,MS-J-16x20.step +J16-20ECM,J,16,20,,E,,CM,MS-J-16x20.step +J16-20ELB,J,16,20,,E,LB,,MS-J-16x20.step +J16-20ELBU,J,16,20,,E,LB,U,MS-J-16x20.step +J16-20ELBCM,J,16,20,,E,LB,CM,MS-J-16x20.step +J16-20EFA,J,16,20,,E,FA,,MS-J-16x20.step +J16-20EFAU,J,16,20,,E,FA,U,MS-J-16x20.step +J16-20EFACM,J,16,20,,E,FA,CM,MS-J-16x20.step +J16-20EFB,J,16,20,,E,FB,,MS-J-16x20.step +J16-20EFBU,J,16,20,,E,FB,U,MS-J-16x20.step +J16-20EFBCM,J,16,20,,E,FB,CM,MS-J-16x20.step +J16-20ESDB,J,16,20,,E,SDB,,MS-J-16x20.step +J16-20ESDBU,J,16,20,,E,SDB,U,MS-J-16x20.step +J16-20ESDBCM,J,16,20,,E,SDB,CM,MS-J-16x20.step +J16-20,J,16,20,,,,,MS-J-16x20.step +J16-20U,J,16,20,,,,U,MS-J-16x20.step +J16-20CM,J,16,20,,,,CM,MS-J-16x20.step +J16-20LB,J,16,20,,,LB,,MS-J-16x20.step +J16-20LBU,J,16,20,,,LB,U,MS-J-16x20.step +J16-20LBCM,J,16,20,,,LB,CM,MS-J-16x20.step +J16-20FA,J,16,20,,,FA,,MS-J-16x20.step +J16-20FAU,J,16,20,,,FA,U,MS-J-16x20.step +J16-20FACM,J,16,20,,,FA,CM,MS-J-16x20.step +J16-20FB,J,16,20,,,FB,,MS-J-16x20.step +J16-20FBU,J,16,20,,,FB,U,MS-J-16x20.step +J16-20FBCM,J,16,20,,,FB,CM,MS-J-16x20.step +J16-20SDB,J,16,20,,,SDB,,MS-J-16x20.step +J16-20SDBU,J,16,20,,,SDB,U,MS-J-16x20.step +J16-20SDBCM,J,16,20,,,SDB,CM,MS-J-16x20.step +J16-20ME,J,16,20,M,E,,,MS-J-16x20.step +J16-20MEU,J,16,20,M,E,,U,MS-J-16x20.step +J16-20MECM,J,16,20,M,E,,CM,MS-J-16x20.step +J16-20MELB,J,16,20,M,E,LB,,MS-J-16x20.step +J16-20MELBU,J,16,20,M,E,LB,U,MS-J-16x20.step +J16-20MELBCM,J,16,20,M,E,LB,CM,MS-J-16x20.step +J16-20MEFA,J,16,20,M,E,FA,,MS-J-16x20.step +J16-20MEFAU,J,16,20,M,E,FA,U,MS-J-16x20.step +J16-20MEFACM,J,16,20,M,E,FA,CM,MS-J-16x20.step +J16-20MEFB,J,16,20,M,E,FB,,MS-J-16x20.step +J16-20MEFBU,J,16,20,M,E,FB,U,MS-J-16x20.step +J16-20MEFBCM,J,16,20,M,E,FB,CM,MS-J-16x20.step +J16-20MESDB,J,16,20,M,E,SDB,,MS-J-16x20.step +J16-20MESDBU,J,16,20,M,E,SDB,U,MS-J-16x20.step +J16-20MESDBCM,J,16,20,M,E,SDB,CM,MS-J-16x20.step +J16-20M,J,16,20,M,,,,MS-J-16x20.step +J16-20MU,J,16,20,M,,,U,MS-J-16x20.step +J16-20MCM,J,16,20,M,,,CM,MS-J-16x20.step +J16-20MLB,J,16,20,M,,LB,,MS-J-16x20.step +J16-20MLBU,J,16,20,M,,LB,U,MS-J-16x20.step +J16-20MLBCM,J,16,20,M,,LB,CM,MS-J-16x20.step +J16-20MFA,J,16,20,M,,FA,,MS-J-16x20.step +J16-20MFAU,J,16,20,M,,FA,U,MS-J-16x20.step +J16-20MFACM,J,16,20,M,,FA,CM,MS-J-16x20.step +J16-20MFB,J,16,20,M,,FB,,MS-J-16x20.step +J16-20MFBU,J,16,20,M,,FB,U,MS-J-16x20.step +J16-20MFBCM,J,16,20,M,,FB,CM,MS-J-16x20.step +J16-20MSDB,J,16,20,M,,SDB,,MS-J-16x20.step +J16-20MSDBU,J,16,20,M,,SDB,U,MS-J-16x20.step +J16-20MSDBCM,J,16,20,M,,SDB,CM,MS-J-16x20.step +J16-30E,J,16,30,,E,,,MS-J-16x30.step +J16-30EU,J,16,30,,E,,U,MS-J-16x30.step +J16-30ECM,J,16,30,,E,,CM,MS-J-16x30.step +J16-30ELB,J,16,30,,E,LB,,MS-J-16x30.step +J16-30ELBU,J,16,30,,E,LB,U,MS-J-16x30.step +J16-30ELBCM,J,16,30,,E,LB,CM,MS-J-16x30.step +J16-30EFA,J,16,30,,E,FA,,MS-J-16x30.step +J16-30EFAU,J,16,30,,E,FA,U,MS-J-16x30.step +J16-30EFACM,J,16,30,,E,FA,CM,MS-J-16x30.step +J16-30EFB,J,16,30,,E,FB,,MS-J-16x30.step +J16-30EFBU,J,16,30,,E,FB,U,MS-J-16x30.step +J16-30EFBCM,J,16,30,,E,FB,CM,MS-J-16x30.step +J16-30ESDB,J,16,30,,E,SDB,,MS-J-16x30.step +J16-30ESDBU,J,16,30,,E,SDB,U,MS-J-16x30.step +J16-30ESDBCM,J,16,30,,E,SDB,CM,MS-J-16x30.step +J16-30,J,16,30,,,,,MS-J-16x30.step +J16-30U,J,16,30,,,,U,MS-J-16x30.step +J16-30CM,J,16,30,,,,CM,MS-J-16x30.step +J16-30LB,J,16,30,,,LB,,MS-J-16x30.step +J16-30LBU,J,16,30,,,LB,U,MS-J-16x30.step +J16-30LBCM,J,16,30,,,LB,CM,MS-J-16x30.step +J16-30FA,J,16,30,,,FA,,MS-J-16x30.step +J16-30FAU,J,16,30,,,FA,U,MS-J-16x30.step +J16-30FACM,J,16,30,,,FA,CM,MS-J-16x30.step +J16-30FB,J,16,30,,,FB,,MS-J-16x30.step +J16-30FBU,J,16,30,,,FB,U,MS-J-16x30.step +J16-30FBCM,J,16,30,,,FB,CM,MS-J-16x30.step +J16-30SDB,J,16,30,,,SDB,,MS-J-16x30.step +J16-30SDBU,J,16,30,,,SDB,U,MS-J-16x30.step +J16-30SDBCM,J,16,30,,,SDB,CM,MS-J-16x30.step +J16-30ME,J,16,30,M,E,,,MS-J-16x30.step +J16-30MEU,J,16,30,M,E,,U,MS-J-16x30.step +J16-30MECM,J,16,30,M,E,,CM,MS-J-16x30.step +J16-30MELB,J,16,30,M,E,LB,,MS-J-16x30.step +J16-30MELBU,J,16,30,M,E,LB,U,MS-J-16x30.step +J16-30MELBCM,J,16,30,M,E,LB,CM,MS-J-16x30.step +J16-30MEFA,J,16,30,M,E,FA,,MS-J-16x30.step +J16-30MEFAU,J,16,30,M,E,FA,U,MS-J-16x30.step +J16-30MEFACM,J,16,30,M,E,FA,CM,MS-J-16x30.step +J16-30MEFB,J,16,30,M,E,FB,,MS-J-16x30.step +J16-30MEFBU,J,16,30,M,E,FB,U,MS-J-16x30.step +J16-30MEFBCM,J,16,30,M,E,FB,CM,MS-J-16x30.step +J16-30MESDB,J,16,30,M,E,SDB,,MS-J-16x30.step +J16-30MESDBU,J,16,30,M,E,SDB,U,MS-J-16x30.step +J16-30MESDBCM,J,16,30,M,E,SDB,CM,MS-J-16x30.step +J16-30M,J,16,30,M,,,,MS-J-16x30.step +J16-30MU,J,16,30,M,,,U,MS-J-16x30.step +J16-30MCM,J,16,30,M,,,CM,MS-J-16x30.step +J16-30MLB,J,16,30,M,,LB,,MS-J-16x30.step +J16-30MLBU,J,16,30,M,,LB,U,MS-J-16x30.step +J16-30MLBCM,J,16,30,M,,LB,CM,MS-J-16x30.step +J16-30MFA,J,16,30,M,,FA,,MS-J-16x30.step +J16-30MFAU,J,16,30,M,,FA,U,MS-J-16x30.step +J16-30MFACM,J,16,30,M,,FA,CM,MS-J-16x30.step +J16-30MFB,J,16,30,M,,FB,,MS-J-16x30.step +J16-30MFBU,J,16,30,M,,FB,U,MS-J-16x30.step +J16-30MFBCM,J,16,30,M,,FB,CM,MS-J-16x30.step +J16-30MSDB,J,16,30,M,,SDB,,MS-J-16x30.step +J16-30MSDBU,J,16,30,M,,SDB,U,MS-J-16x30.step +J16-30MSDBCM,J,16,30,M,,SDB,CM,MS-J-16x30.step +J16-50E,J,16,50,,E,,,MS-J-16x50.step +J16-50EU,J,16,50,,E,,U,MS-J-16x50.step +J16-50ECM,J,16,50,,E,,CM,MS-J-16x50.step +J16-50ELB,J,16,50,,E,LB,,MS-J-16x50.step +J16-50ELBU,J,16,50,,E,LB,U,MS-J-16x50.step +J16-50ELBCM,J,16,50,,E,LB,CM,MS-J-16x50.step +J16-50EFA,J,16,50,,E,FA,,MS-J-16x50.step +J16-50EFAU,J,16,50,,E,FA,U,MS-J-16x50.step +J16-50EFACM,J,16,50,,E,FA,CM,MS-J-16x50.step +J16-50EFB,J,16,50,,E,FB,,MS-J-16x50.step +J16-50EFBU,J,16,50,,E,FB,U,MS-J-16x50.step +J16-50EFBCM,J,16,50,,E,FB,CM,MS-J-16x50.step +J16-50ESDB,J,16,50,,E,SDB,,MS-J-16x50.step +J16-50ESDBU,J,16,50,,E,SDB,U,MS-J-16x50.step +J16-50ESDBCM,J,16,50,,E,SDB,CM,MS-J-16x50.step +J16-50,J,16,50,,,,,MS-J-16x50.step +J16-50U,J,16,50,,,,U,MS-J-16x50.step +J16-50CM,J,16,50,,,,CM,MS-J-16x50.step +J16-50LB,J,16,50,,,LB,,MS-J-16x50.step +J16-50LBU,J,16,50,,,LB,U,MS-J-16x50.step +J16-50LBCM,J,16,50,,,LB,CM,MS-J-16x50.step +J16-50FA,J,16,50,,,FA,,MS-J-16x50.step +J16-50FAU,J,16,50,,,FA,U,MS-J-16x50.step +J16-50FACM,J,16,50,,,FA,CM,MS-J-16x50.step +J16-50FB,J,16,50,,,FB,,MS-J-16x50.step +J16-50FBU,J,16,50,,,FB,U,MS-J-16x50.step +J16-50FBCM,J,16,50,,,FB,CM,MS-J-16x50.step +J16-50SDB,J,16,50,,,SDB,,MS-J-16x50.step +J16-50SDBU,J,16,50,,,SDB,U,MS-J-16x50.step +J16-50SDBCM,J,16,50,,,SDB,CM,MS-J-16x50.step +J16-50ME,J,16,50,M,E,,,MS-J-16x50.step +J16-50MEU,J,16,50,M,E,,U,MS-J-16x50.step +J16-50MECM,J,16,50,M,E,,CM,MS-J-16x50.step +J16-50MELB,J,16,50,M,E,LB,,MS-J-16x50.step +J16-50MELBU,J,16,50,M,E,LB,U,MS-J-16x50.step +J16-50MELBCM,J,16,50,M,E,LB,CM,MS-J-16x50.step +J16-50MEFA,J,16,50,M,E,FA,,MS-J-16x50.step +J16-50MEFAU,J,16,50,M,E,FA,U,MS-J-16x50.step +J16-50MEFACM,J,16,50,M,E,FA,CM,MS-J-16x50.step +J16-50MEFB,J,16,50,M,E,FB,,MS-J-16x50.step +J16-50MEFBU,J,16,50,M,E,FB,U,MS-J-16x50.step +J16-50MEFBCM,J,16,50,M,E,FB,CM,MS-J-16x50.step +J16-50MESDB,J,16,50,M,E,SDB,,MS-J-16x50.step +J16-50MESDBU,J,16,50,M,E,SDB,U,MS-J-16x50.step +J16-50MESDBCM,J,16,50,M,E,SDB,CM,MS-J-16x50.step +J16-50M,J,16,50,M,,,,MS-J-16x50.step +J16-50MU,J,16,50,M,,,U,MS-J-16x50.step +J16-50MCM,J,16,50,M,,,CM,MS-J-16x50.step +J16-50MLB,J,16,50,M,,LB,,MS-J-16x50.step +J16-50MLBU,J,16,50,M,,LB,U,MS-J-16x50.step +J16-50MLBCM,J,16,50,M,,LB,CM,MS-J-16x50.step +J16-50MFA,J,16,50,M,,FA,,MS-J-16x50.step +J16-50MFAU,J,16,50,M,,FA,U,MS-J-16x50.step +J16-50MFACM,J,16,50,M,,FA,CM,MS-J-16x50.step +J16-50MFB,J,16,50,M,,FB,,MS-J-16x50.step +J16-50MFBU,J,16,50,M,,FB,U,MS-J-16x50.step +J16-50MFBCM,J,16,50,M,,FB,CM,MS-J-16x50.step +J16-50MSDB,J,16,50,M,,SDB,,MS-J-16x50.step +J16-50MSDBU,J,16,50,M,,SDB,U,MS-J-16x50.step +J16-50MSDBCM,J,16,50,M,,SDB,CM,MS-J-16x50.step +J16-75E,J,16,75,,E,,,MS-J-16x75.step +J16-75EU,J,16,75,,E,,U,MS-J-16x75.step +J16-75ECM,J,16,75,,E,,CM,MS-J-16x75.step +J16-75ELB,J,16,75,,E,LB,,MS-J-16x75.step +J16-75ELBU,J,16,75,,E,LB,U,MS-J-16x75.step +J16-75ELBCM,J,16,75,,E,LB,CM,MS-J-16x75.step +J16-75EFA,J,16,75,,E,FA,,MS-J-16x75.step +J16-75EFAU,J,16,75,,E,FA,U,MS-J-16x75.step +J16-75EFACM,J,16,75,,E,FA,CM,MS-J-16x75.step +J16-75EFB,J,16,75,,E,FB,,MS-J-16x75.step +J16-75EFBU,J,16,75,,E,FB,U,MS-J-16x75.step +J16-75EFBCM,J,16,75,,E,FB,CM,MS-J-16x75.step +J16-75ESDB,J,16,75,,E,SDB,,MS-J-16x75.step +J16-75ESDBU,J,16,75,,E,SDB,U,MS-J-16x75.step +J16-75ESDBCM,J,16,75,,E,SDB,CM,MS-J-16x75.step +J16-75,J,16,75,,,,,MS-J-16x75.step +J16-75U,J,16,75,,,,U,MS-J-16x75.step +J16-75CM,J,16,75,,,,CM,MS-J-16x75.step +J16-75LB,J,16,75,,,LB,,MS-J-16x75.step +J16-75LBU,J,16,75,,,LB,U,MS-J-16x75.step +J16-75LBCM,J,16,75,,,LB,CM,MS-J-16x75.step +J16-75FA,J,16,75,,,FA,,MS-J-16x75.step +J16-75FAU,J,16,75,,,FA,U,MS-J-16x75.step +J16-75FACM,J,16,75,,,FA,CM,MS-J-16x75.step +J16-75FB,J,16,75,,,FB,,MS-J-16x75.step +J16-75FBU,J,16,75,,,FB,U,MS-J-16x75.step +J16-75FBCM,J,16,75,,,FB,CM,MS-J-16x75.step +J16-75SDB,J,16,75,,,SDB,,MS-J-16x75.step +J16-75SDBU,J,16,75,,,SDB,U,MS-J-16x75.step +J16-75SDBCM,J,16,75,,,SDB,CM,MS-J-16x75.step +J16-75ME,J,16,75,M,E,,,MS-J-16x75.step +J16-75MEU,J,16,75,M,E,,U,MS-J-16x75.step +J16-75MECM,J,16,75,M,E,,CM,MS-J-16x75.step +J16-75MELB,J,16,75,M,E,LB,,MS-J-16x75.step +J16-75MELBU,J,16,75,M,E,LB,U,MS-J-16x75.step +J16-75MELBCM,J,16,75,M,E,LB,CM,MS-J-16x75.step +J16-75MEFA,J,16,75,M,E,FA,,MS-J-16x75.step +J16-75MEFAU,J,16,75,M,E,FA,U,MS-J-16x75.step +J16-75MEFACM,J,16,75,M,E,FA,CM,MS-J-16x75.step +J16-75MEFB,J,16,75,M,E,FB,,MS-J-16x75.step +J16-75MEFBU,J,16,75,M,E,FB,U,MS-J-16x75.step +J16-75MEFBCM,J,16,75,M,E,FB,CM,MS-J-16x75.step +J16-75MESDB,J,16,75,M,E,SDB,,MS-J-16x75.step +J16-75MESDBU,J,16,75,M,E,SDB,U,MS-J-16x75.step +J16-75MESDBCM,J,16,75,M,E,SDB,CM,MS-J-16x75.step +J16-75M,J,16,75,M,,,,MS-J-16x75.step +J16-75MU,J,16,75,M,,,U,MS-J-16x75.step +J16-75MCM,J,16,75,M,,,CM,MS-J-16x75.step +J16-75MLB,J,16,75,M,,LB,,MS-J-16x75.step +J16-75MLBU,J,16,75,M,,LB,U,MS-J-16x75.step +J16-75MLBCM,J,16,75,M,,LB,CM,MS-J-16x75.step +J16-75MFA,J,16,75,M,,FA,,MS-J-16x75.step +J16-75MFAU,J,16,75,M,,FA,U,MS-J-16x75.step +J16-75MFACM,J,16,75,M,,FA,CM,MS-J-16x75.step +J16-75MFB,J,16,75,M,,FB,,MS-J-16x75.step +J16-75MFBU,J,16,75,M,,FB,U,MS-J-16x75.step +J16-75MFBCM,J,16,75,M,,FB,CM,MS-J-16x75.step +J16-75MSDB,J,16,75,M,,SDB,,MS-J-16x75.step +J16-75MSDBU,J,16,75,M,,SDB,U,MS-J-16x75.step +J16-75MSDBCM,J,16,75,M,,SDB,CM,MS-J-16x75.step +J16-100E,J,16,100,,E,,,MS-J-16x100.step +J16-100EU,J,16,100,,E,,U,MS-J-16x100.step +J16-100ECM,J,16,100,,E,,CM,MS-J-16x100.step +J16-100ELB,J,16,100,,E,LB,,MS-J-16x100.step +J16-100ELBU,J,16,100,,E,LB,U,MS-J-16x100.step +J16-100ELBCM,J,16,100,,E,LB,CM,MS-J-16x100.step +J16-100EFA,J,16,100,,E,FA,,MS-J-16x100.step +J16-100EFAU,J,16,100,,E,FA,U,MS-J-16x100.step +J16-100EFACM,J,16,100,,E,FA,CM,MS-J-16x100.step +J16-100EFB,J,16,100,,E,FB,,MS-J-16x100.step +J16-100EFBU,J,16,100,,E,FB,U,MS-J-16x100.step +J16-100EFBCM,J,16,100,,E,FB,CM,MS-J-16x100.step +J16-100ESDB,J,16,100,,E,SDB,,MS-J-16x100.step +J16-100ESDBU,J,16,100,,E,SDB,U,MS-J-16x100.step +J16-100ESDBCM,J,16,100,,E,SDB,CM,MS-J-16x100.step +J16-100,J,16,100,,,,,MS-J-16x100.step +J16-100U,J,16,100,,,,U,MS-J-16x100.step +J16-100CM,J,16,100,,,,CM,MS-J-16x100.step +J16-100LB,J,16,100,,,LB,,MS-J-16x100.step +J16-100LBU,J,16,100,,,LB,U,MS-J-16x100.step +J16-100LBCM,J,16,100,,,LB,CM,MS-J-16x100.step +J16-100FA,J,16,100,,,FA,,MS-J-16x100.step +J16-100FAU,J,16,100,,,FA,U,MS-J-16x100.step +J16-100FACM,J,16,100,,,FA,CM,MS-J-16x100.step +J16-100FB,J,16,100,,,FB,,MS-J-16x100.step +J16-100FBU,J,16,100,,,FB,U,MS-J-16x100.step +J16-100FBCM,J,16,100,,,FB,CM,MS-J-16x100.step +J16-100SDB,J,16,100,,,SDB,,MS-J-16x100.step +J16-100SDBU,J,16,100,,,SDB,U,MS-J-16x100.step +J16-100SDBCM,J,16,100,,,SDB,CM,MS-J-16x100.step +J16-100ME,J,16,100,M,E,,,MS-J-16x100.step +J16-100MEU,J,16,100,M,E,,U,MS-J-16x100.step +J16-100MECM,J,16,100,M,E,,CM,MS-J-16x100.step +J16-100MELB,J,16,100,M,E,LB,,MS-J-16x100.step +J16-100MELBU,J,16,100,M,E,LB,U,MS-J-16x100.step +J16-100MELBCM,J,16,100,M,E,LB,CM,MS-J-16x100.step +J16-100MEFA,J,16,100,M,E,FA,,MS-J-16x100.step +J16-100MEFAU,J,16,100,M,E,FA,U,MS-J-16x100.step +J16-100MEFACM,J,16,100,M,E,FA,CM,MS-J-16x100.step +J16-100MEFB,J,16,100,M,E,FB,,MS-J-16x100.step +J16-100MEFBU,J,16,100,M,E,FB,U,MS-J-16x100.step +J16-100MEFBCM,J,16,100,M,E,FB,CM,MS-J-16x100.step +J16-100MESDB,J,16,100,M,E,SDB,,MS-J-16x100.step +J16-100MESDBU,J,16,100,M,E,SDB,U,MS-J-16x100.step +J16-100MESDBCM,J,16,100,M,E,SDB,CM,MS-J-16x100.step +J16-100M,J,16,100,M,,,,MS-J-16x100.step +J16-100MU,J,16,100,M,,,U,MS-J-16x100.step +J16-100MCM,J,16,100,M,,,CM,MS-J-16x100.step +J16-100MLB,J,16,100,M,,LB,,MS-J-16x100.step +J16-100MLBU,J,16,100,M,,LB,U,MS-J-16x100.step +J16-100MLBCM,J,16,100,M,,LB,CM,MS-J-16x100.step +J16-100MFA,J,16,100,M,,FA,,MS-J-16x100.step +J16-100MFAU,J,16,100,M,,FA,U,MS-J-16x100.step +J16-100MFACM,J,16,100,M,,FA,CM,MS-J-16x100.step +J16-100MFB,J,16,100,M,,FB,,MS-J-16x100.step +J16-100MFBU,J,16,100,M,,FB,U,MS-J-16x100.step +J16-100MFBCM,J,16,100,M,,FB,CM,MS-J-16x100.step +J16-100MSDB,J,16,100,M,,SDB,,MS-J-16x100.step +J16-100MSDBU,J,16,100,M,,SDB,U,MS-J-16x100.step +J16-100MSDBCM,J,16,100,M,,SDB,CM,MS-J-16x100.step +J20-10E,J,20,10,,E,,,MS-J-20x10.step +J20-10EU,J,20,10,,E,,U,MS-J-20x10.step +J20-10ECM,J,20,10,,E,,CM,MS-J-20x10.step +J20-10ELB,J,20,10,,E,LB,,MS-J-20x10.step +J20-10ELBU,J,20,10,,E,LB,U,MS-J-20x10.step +J20-10ELBCM,J,20,10,,E,LB,CM,MS-J-20x10.step +J20-10EFA,J,20,10,,E,FA,,MS-J-20x10.step +J20-10EFAU,J,20,10,,E,FA,U,MS-J-20x10.step +J20-10EFACM,J,20,10,,E,FA,CM,MS-J-20x10.step +J20-10EFB,J,20,10,,E,FB,,MS-J-20x10.step +J20-10EFBU,J,20,10,,E,FB,U,MS-J-20x10.step +J20-10EFBCM,J,20,10,,E,FB,CM,MS-J-20x10.step +J20-10ESDB,J,20,10,,E,SDB,,MS-J-20x10.step +J20-10ESDBU,J,20,10,,E,SDB,U,MS-J-20x10.step +J20-10ESDBCM,J,20,10,,E,SDB,CM,MS-J-20x10.step +J20-10,J,20,10,,,,,MS-J-20x10.step +J20-10U,J,20,10,,,,U,MS-J-20x10.step +J20-10CM,J,20,10,,,,CM,MS-J-20x10.step +J20-10LB,J,20,10,,,LB,,MS-J-20x10.step +J20-10LBU,J,20,10,,,LB,U,MS-J-20x10.step +J20-10LBCM,J,20,10,,,LB,CM,MS-J-20x10.step +J20-10FA,J,20,10,,,FA,,MS-J-20x10.step +J20-10FAU,J,20,10,,,FA,U,MS-J-20x10.step +J20-10FACM,J,20,10,,,FA,CM,MS-J-20x10.step +J20-10FB,J,20,10,,,FB,,MS-J-20x10.step +J20-10FBU,J,20,10,,,FB,U,MS-J-20x10.step +J20-10FBCM,J,20,10,,,FB,CM,MS-J-20x10.step +J20-10SDB,J,20,10,,,SDB,,MS-J-20x10.step +J20-10SDBU,J,20,10,,,SDB,U,MS-J-20x10.step +J20-10SDBCM,J,20,10,,,SDB,CM,MS-J-20x10.step +J20-10ME,J,20,10,M,E,,,MS-J-20x10.step +J20-10MEU,J,20,10,M,E,,U,MS-J-20x10.step +J20-10MECM,J,20,10,M,E,,CM,MS-J-20x10.step +J20-10MELB,J,20,10,M,E,LB,,MS-J-20x10.step +J20-10MELBU,J,20,10,M,E,LB,U,MS-J-20x10.step +J20-10MELBCM,J,20,10,M,E,LB,CM,MS-J-20x10.step +J20-10MEFA,J,20,10,M,E,FA,,MS-J-20x10.step +J20-10MEFAU,J,20,10,M,E,FA,U,MS-J-20x10.step +J20-10MEFACM,J,20,10,M,E,FA,CM,MS-J-20x10.step +J20-10MEFB,J,20,10,M,E,FB,,MS-J-20x10.step +J20-10MEFBU,J,20,10,M,E,FB,U,MS-J-20x10.step +J20-10MEFBCM,J,20,10,M,E,FB,CM,MS-J-20x10.step +J20-10MESDB,J,20,10,M,E,SDB,,MS-J-20x10.step +J20-10MESDBU,J,20,10,M,E,SDB,U,MS-J-20x10.step +J20-10MESDBCM,J,20,10,M,E,SDB,CM,MS-J-20x10.step +J20-10M,J,20,10,M,,,,MS-J-20x10.step +J20-10MU,J,20,10,M,,,U,MS-J-20x10.step +J20-10MCM,J,20,10,M,,,CM,MS-J-20x10.step +J20-10MLB,J,20,10,M,,LB,,MS-J-20x10.step +J20-10MLBU,J,20,10,M,,LB,U,MS-J-20x10.step +J20-10MLBCM,J,20,10,M,,LB,CM,MS-J-20x10.step +J20-10MFA,J,20,10,M,,FA,,MS-J-20x10.step +J20-10MFAU,J,20,10,M,,FA,U,MS-J-20x10.step +J20-10MFACM,J,20,10,M,,FA,CM,MS-J-20x10.step +J20-10MFB,J,20,10,M,,FB,,MS-J-20x10.step +J20-10MFBU,J,20,10,M,,FB,U,MS-J-20x10.step +J20-10MFBCM,J,20,10,M,,FB,CM,MS-J-20x10.step +J20-10MSDB,J,20,10,M,,SDB,,MS-J-20x10.step +J20-10MSDBU,J,20,10,M,,SDB,U,MS-J-20x10.step +J20-10MSDBCM,J,20,10,M,,SDB,CM,MS-J-20x10.step +J20-20E,J,20,20,,E,,,MS-J-20x20.step +J20-20EU,J,20,20,,E,,U,MS-J-20x20.step +J20-20ECM,J,20,20,,E,,CM,MS-J-20x20.step +J20-20ELB,J,20,20,,E,LB,,MS-J-20x20.step +J20-20ELBU,J,20,20,,E,LB,U,MS-J-20x20.step +J20-20ELBCM,J,20,20,,E,LB,CM,MS-J-20x20.step +J20-20EFA,J,20,20,,E,FA,,MS-J-20x20.step +J20-20EFAU,J,20,20,,E,FA,U,MS-J-20x20.step +J20-20EFACM,J,20,20,,E,FA,CM,MS-J-20x20.step +J20-20EFB,J,20,20,,E,FB,,MS-J-20x20.step +J20-20EFBU,J,20,20,,E,FB,U,MS-J-20x20.step +J20-20EFBCM,J,20,20,,E,FB,CM,MS-J-20x20.step +J20-20ESDB,J,20,20,,E,SDB,,MS-J-20x20.step +J20-20ESDBU,J,20,20,,E,SDB,U,MS-J-20x20.step +J20-20ESDBCM,J,20,20,,E,SDB,CM,MS-J-20x20.step +J20-20,J,20,20,,,,,MS-J-20x20.step +J20-20U,J,20,20,,,,U,MS-J-20x20.step +J20-20CM,J,20,20,,,,CM,MS-J-20x20.step +J20-20LB,J,20,20,,,LB,,MS-J-20x20.step +J20-20LBU,J,20,20,,,LB,U,MS-J-20x20.step +J20-20LBCM,J,20,20,,,LB,CM,MS-J-20x20.step +J20-20FA,J,20,20,,,FA,,MS-J-20x20.step +J20-20FAU,J,20,20,,,FA,U,MS-J-20x20.step +J20-20FACM,J,20,20,,,FA,CM,MS-J-20x20.step +J20-20FB,J,20,20,,,FB,,MS-J-20x20.step +J20-20FBU,J,20,20,,,FB,U,MS-J-20x20.step +J20-20FBCM,J,20,20,,,FB,CM,MS-J-20x20.step +J20-20SDB,J,20,20,,,SDB,,MS-J-20x20.step +J20-20SDBU,J,20,20,,,SDB,U,MS-J-20x20.step +J20-20SDBCM,J,20,20,,,SDB,CM,MS-J-20x20.step +J20-20ME,J,20,20,M,E,,,MS-J-20x20.step +J20-20MEU,J,20,20,M,E,,U,MS-J-20x20.step +J20-20MECM,J,20,20,M,E,,CM,MS-J-20x20.step +J20-20MELB,J,20,20,M,E,LB,,MS-J-20x20.step +J20-20MELBU,J,20,20,M,E,LB,U,MS-J-20x20.step +J20-20MELBCM,J,20,20,M,E,LB,CM,MS-J-20x20.step +J20-20MEFA,J,20,20,M,E,FA,,MS-J-20x20.step +J20-20MEFAU,J,20,20,M,E,FA,U,MS-J-20x20.step +J20-20MEFACM,J,20,20,M,E,FA,CM,MS-J-20x20.step +J20-20MEFB,J,20,20,M,E,FB,,MS-J-20x20.step +J20-20MEFBU,J,20,20,M,E,FB,U,MS-J-20x20.step +J20-20MEFBCM,J,20,20,M,E,FB,CM,MS-J-20x20.step +J20-20MESDB,J,20,20,M,E,SDB,,MS-J-20x20.step +J20-20MESDBU,J,20,20,M,E,SDB,U,MS-J-20x20.step +J20-20MESDBCM,J,20,20,M,E,SDB,CM,MS-J-20x20.step +J20-20M,J,20,20,M,,,,MS-J-20x20.step +J20-20MU,J,20,20,M,,,U,MS-J-20x20.step +J20-20MCM,J,20,20,M,,,CM,MS-J-20x20.step +J20-20MLB,J,20,20,M,,LB,,MS-J-20x20.step +J20-20MLBU,J,20,20,M,,LB,U,MS-J-20x20.step +J20-20MLBCM,J,20,20,M,,LB,CM,MS-J-20x20.step +J20-20MFA,J,20,20,M,,FA,,MS-J-20x20.step +J20-20MFAU,J,20,20,M,,FA,U,MS-J-20x20.step +J20-20MFACM,J,20,20,M,,FA,CM,MS-J-20x20.step +J20-20MFB,J,20,20,M,,FB,,MS-J-20x20.step +J20-20MFBU,J,20,20,M,,FB,U,MS-J-20x20.step +J20-20MFBCM,J,20,20,M,,FB,CM,MS-J-20x20.step +J20-20MSDB,J,20,20,M,,SDB,,MS-J-20x20.step +J20-20MSDBU,J,20,20,M,,SDB,U,MS-J-20x20.step +J20-20MSDBCM,J,20,20,M,,SDB,CM,MS-J-20x20.step +J20-30E,J,20,30,,E,,,MS-J-20x30.step +J20-30EU,J,20,30,,E,,U,MS-J-20x30.step +J20-30ECM,J,20,30,,E,,CM,MS-J-20x30.step +J20-30ELB,J,20,30,,E,LB,,MS-J-20x30.step +J20-30ELBU,J,20,30,,E,LB,U,MS-J-20x30.step +J20-30ELBCM,J,20,30,,E,LB,CM,MS-J-20x30.step +J20-30EFA,J,20,30,,E,FA,,MS-J-20x30.step +J20-30EFAU,J,20,30,,E,FA,U,MS-J-20x30.step +J20-30EFACM,J,20,30,,E,FA,CM,MS-J-20x30.step +J20-30EFB,J,20,30,,E,FB,,MS-J-20x30.step +J20-30EFBU,J,20,30,,E,FB,U,MS-J-20x30.step +J20-30EFBCM,J,20,30,,E,FB,CM,MS-J-20x30.step +J20-30ESDB,J,20,30,,E,SDB,,MS-J-20x30.step +J20-30ESDBU,J,20,30,,E,SDB,U,MS-J-20x30.step +J20-30ESDBCM,J,20,30,,E,SDB,CM,MS-J-20x30.step +J20-30,J,20,30,,,,,MS-J-20x30.step +J20-30U,J,20,30,,,,U,MS-J-20x30.step +J20-30CM,J,20,30,,,,CM,MS-J-20x30.step +J20-30LB,J,20,30,,,LB,,MS-J-20x30.step +J20-30LBU,J,20,30,,,LB,U,MS-J-20x30.step +J20-30LBCM,J,20,30,,,LB,CM,MS-J-20x30.step +J20-30FA,J,20,30,,,FA,,MS-J-20x30.step +J20-30FAU,J,20,30,,,FA,U,MS-J-20x30.step +J20-30FACM,J,20,30,,,FA,CM,MS-J-20x30.step +J20-30FB,J,20,30,,,FB,,MS-J-20x30.step +J20-30FBU,J,20,30,,,FB,U,MS-J-20x30.step +J20-30FBCM,J,20,30,,,FB,CM,MS-J-20x30.step +J20-30SDB,J,20,30,,,SDB,,MS-J-20x30.step +J20-30SDBU,J,20,30,,,SDB,U,MS-J-20x30.step +J20-30SDBCM,J,20,30,,,SDB,CM,MS-J-20x30.step +J20-30ME,J,20,30,M,E,,,MS-J-20x30.step +J20-30MEU,J,20,30,M,E,,U,MS-J-20x30.step +J20-30MECM,J,20,30,M,E,,CM,MS-J-20x30.step +J20-30MELB,J,20,30,M,E,LB,,MS-J-20x30.step +J20-30MELBU,J,20,30,M,E,LB,U,MS-J-20x30.step +J20-30MELBCM,J,20,30,M,E,LB,CM,MS-J-20x30.step +J20-30MEFA,J,20,30,M,E,FA,,MS-J-20x30.step +J20-30MEFAU,J,20,30,M,E,FA,U,MS-J-20x30.step +J20-30MEFACM,J,20,30,M,E,FA,CM,MS-J-20x30.step +J20-30MEFB,J,20,30,M,E,FB,,MS-J-20x30.step +J20-30MEFBU,J,20,30,M,E,FB,U,MS-J-20x30.step +J20-30MEFBCM,J,20,30,M,E,FB,CM,MS-J-20x30.step +J20-30MESDB,J,20,30,M,E,SDB,,MS-J-20x30.step +J20-30MESDBU,J,20,30,M,E,SDB,U,MS-J-20x30.step +J20-30MESDBCM,J,20,30,M,E,SDB,CM,MS-J-20x30.step +J20-30M,J,20,30,M,,,,MS-J-20x30.step +J20-30MU,J,20,30,M,,,U,MS-J-20x30.step +J20-30MCM,J,20,30,M,,,CM,MS-J-20x30.step +J20-30MLB,J,20,30,M,,LB,,MS-J-20x30.step +J20-30MLBU,J,20,30,M,,LB,U,MS-J-20x30.step +J20-30MLBCM,J,20,30,M,,LB,CM,MS-J-20x30.step +J20-30MFA,J,20,30,M,,FA,,MS-J-20x30.step +J20-30MFAU,J,20,30,M,,FA,U,MS-J-20x30.step +J20-30MFACM,J,20,30,M,,FA,CM,MS-J-20x30.step +J20-30MFB,J,20,30,M,,FB,,MS-J-20x30.step +J20-30MFBU,J,20,30,M,,FB,U,MS-J-20x30.step +J20-30MFBCM,J,20,30,M,,FB,CM,MS-J-20x30.step +J20-30MSDB,J,20,30,M,,SDB,,MS-J-20x30.step +J20-30MSDBU,J,20,30,M,,SDB,U,MS-J-20x30.step +J20-30MSDBCM,J,20,30,M,,SDB,CM,MS-J-20x30.step +J20-50E,J,20,50,,E,,,MS-J-20x50.step +J20-50EU,J,20,50,,E,,U,MS-J-20x50.step +J20-50ECM,J,20,50,,E,,CM,MS-J-20x50.step +J20-50ELB,J,20,50,,E,LB,,MS-J-20x50.step +J20-50ELBU,J,20,50,,E,LB,U,MS-J-20x50.step +J20-50ELBCM,J,20,50,,E,LB,CM,MS-J-20x50.step +J20-50EFA,J,20,50,,E,FA,,MS-J-20x50.step +J20-50EFAU,J,20,50,,E,FA,U,MS-J-20x50.step +J20-50EFACM,J,20,50,,E,FA,CM,MS-J-20x50.step +J20-50EFB,J,20,50,,E,FB,,MS-J-20x50.step +J20-50EFBU,J,20,50,,E,FB,U,MS-J-20x50.step +J20-50EFBCM,J,20,50,,E,FB,CM,MS-J-20x50.step +J20-50ESDB,J,20,50,,E,SDB,,MS-J-20x50.step +J20-50ESDBU,J,20,50,,E,SDB,U,MS-J-20x50.step +J20-50ESDBCM,J,20,50,,E,SDB,CM,MS-J-20x50.step +J20-50,J,20,50,,,,,MS-J-20x50.step +J20-50U,J,20,50,,,,U,MS-J-20x50.step +J20-50CM,J,20,50,,,,CM,MS-J-20x50.step +J20-50LB,J,20,50,,,LB,,MS-J-20x50.step +J20-50LBU,J,20,50,,,LB,U,MS-J-20x50.step +J20-50LBCM,J,20,50,,,LB,CM,MS-J-20x50.step +J20-50FA,J,20,50,,,FA,,MS-J-20x50.step +J20-50FAU,J,20,50,,,FA,U,MS-J-20x50.step +J20-50FACM,J,20,50,,,FA,CM,MS-J-20x50.step +J20-50FB,J,20,50,,,FB,,MS-J-20x50.step +J20-50FBU,J,20,50,,,FB,U,MS-J-20x50.step +J20-50FBCM,J,20,50,,,FB,CM,MS-J-20x50.step +J20-50SDB,J,20,50,,,SDB,,MS-J-20x50.step +J20-50SDBU,J,20,50,,,SDB,U,MS-J-20x50.step +J20-50SDBCM,J,20,50,,,SDB,CM,MS-J-20x50.step +J20-50ME,J,20,50,M,E,,,MS-J-20x50.step +J20-50MEU,J,20,50,M,E,,U,MS-J-20x50.step +J20-50MECM,J,20,50,M,E,,CM,MS-J-20x50.step +J20-50MELB,J,20,50,M,E,LB,,MS-J-20x50.step +J20-50MELBU,J,20,50,M,E,LB,U,MS-J-20x50.step +J20-50MELBCM,J,20,50,M,E,LB,CM,MS-J-20x50.step +J20-50MEFA,J,20,50,M,E,FA,,MS-J-20x50.step +J20-50MEFAU,J,20,50,M,E,FA,U,MS-J-20x50.step +J20-50MEFACM,J,20,50,M,E,FA,CM,MS-J-20x50.step +J20-50MEFB,J,20,50,M,E,FB,,MS-J-20x50.step +J20-50MEFBU,J,20,50,M,E,FB,U,MS-J-20x50.step +J20-50MEFBCM,J,20,50,M,E,FB,CM,MS-J-20x50.step +J20-50MESDB,J,20,50,M,E,SDB,,MS-J-20x50.step +J20-50MESDBU,J,20,50,M,E,SDB,U,MS-J-20x50.step +J20-50MESDBCM,J,20,50,M,E,SDB,CM,MS-J-20x50.step +J20-50M,J,20,50,M,,,,MS-J-20x50.step +J20-50MU,J,20,50,M,,,U,MS-J-20x50.step +J20-50MCM,J,20,50,M,,,CM,MS-J-20x50.step +J20-50MLB,J,20,50,M,,LB,,MS-J-20x50.step +J20-50MLBU,J,20,50,M,,LB,U,MS-J-20x50.step +J20-50MLBCM,J,20,50,M,,LB,CM,MS-J-20x50.step +J20-50MFA,J,20,50,M,,FA,,MS-J-20x50.step +J20-50MFAU,J,20,50,M,,FA,U,MS-J-20x50.step +J20-50MFACM,J,20,50,M,,FA,CM,MS-J-20x50.step +J20-50MFB,J,20,50,M,,FB,,MS-J-20x50.step +J20-50MFBU,J,20,50,M,,FB,U,MS-J-20x50.step +J20-50MFBCM,J,20,50,M,,FB,CM,MS-J-20x50.step +J20-50MSDB,J,20,50,M,,SDB,,MS-J-20x50.step +J20-50MSDBU,J,20,50,M,,SDB,U,MS-J-20x50.step +J20-50MSDBCM,J,20,50,M,,SDB,CM,MS-J-20x50.step +J20-75E,J,20,75,,E,,,MS-J-20x75.step +J20-75EU,J,20,75,,E,,U,MS-J-20x75.step +J20-75ECM,J,20,75,,E,,CM,MS-J-20x75.step +J20-75ELB,J,20,75,,E,LB,,MS-J-20x75.step +J20-75ELBU,J,20,75,,E,LB,U,MS-J-20x75.step +J20-75ELBCM,J,20,75,,E,LB,CM,MS-J-20x75.step +J20-75EFA,J,20,75,,E,FA,,MS-J-20x75.step +J20-75EFAU,J,20,75,,E,FA,U,MS-J-20x75.step +J20-75EFACM,J,20,75,,E,FA,CM,MS-J-20x75.step +J20-75EFB,J,20,75,,E,FB,,MS-J-20x75.step +J20-75EFBU,J,20,75,,E,FB,U,MS-J-20x75.step +J20-75EFBCM,J,20,75,,E,FB,CM,MS-J-20x75.step +J20-75ESDB,J,20,75,,E,SDB,,MS-J-20x75.step +J20-75ESDBU,J,20,75,,E,SDB,U,MS-J-20x75.step +J20-75ESDBCM,J,20,75,,E,SDB,CM,MS-J-20x75.step +J20-75,J,20,75,,,,,MS-J-20x75.step +J20-75U,J,20,75,,,,U,MS-J-20x75.step +J20-75CM,J,20,75,,,,CM,MS-J-20x75.step +J20-75LB,J,20,75,,,LB,,MS-J-20x75.step +J20-75LBU,J,20,75,,,LB,U,MS-J-20x75.step +J20-75LBCM,J,20,75,,,LB,CM,MS-J-20x75.step +J20-75FA,J,20,75,,,FA,,MS-J-20x75.step +J20-75FAU,J,20,75,,,FA,U,MS-J-20x75.step +J20-75FACM,J,20,75,,,FA,CM,MS-J-20x75.step +J20-75FB,J,20,75,,,FB,,MS-J-20x75.step +J20-75FBU,J,20,75,,,FB,U,MS-J-20x75.step +J20-75FBCM,J,20,75,,,FB,CM,MS-J-20x75.step +J20-75SDB,J,20,75,,,SDB,,MS-J-20x75.step +J20-75SDBU,J,20,75,,,SDB,U,MS-J-20x75.step +J20-75SDBCM,J,20,75,,,SDB,CM,MS-J-20x75.step +J20-75ME,J,20,75,M,E,,,MS-J-20x75.step +J20-75MEU,J,20,75,M,E,,U,MS-J-20x75.step +J20-75MECM,J,20,75,M,E,,CM,MS-J-20x75.step +J20-75MELB,J,20,75,M,E,LB,,MS-J-20x75.step +J20-75MELBU,J,20,75,M,E,LB,U,MS-J-20x75.step +J20-75MELBCM,J,20,75,M,E,LB,CM,MS-J-20x75.step +J20-75MEFA,J,20,75,M,E,FA,,MS-J-20x75.step +J20-75MEFAU,J,20,75,M,E,FA,U,MS-J-20x75.step +J20-75MEFACM,J,20,75,M,E,FA,CM,MS-J-20x75.step +J20-75MEFB,J,20,75,M,E,FB,,MS-J-20x75.step +J20-75MEFBU,J,20,75,M,E,FB,U,MS-J-20x75.step +J20-75MEFBCM,J,20,75,M,E,FB,CM,MS-J-20x75.step +J20-75MESDB,J,20,75,M,E,SDB,,MS-J-20x75.step +J20-75MESDBU,J,20,75,M,E,SDB,U,MS-J-20x75.step +J20-75MESDBCM,J,20,75,M,E,SDB,CM,MS-J-20x75.step +J20-75M,J,20,75,M,,,,MS-J-20x75.step +J20-75MU,J,20,75,M,,,U,MS-J-20x75.step +J20-75MCM,J,20,75,M,,,CM,MS-J-20x75.step +J20-75MLB,J,20,75,M,,LB,,MS-J-20x75.step +J20-75MLBU,J,20,75,M,,LB,U,MS-J-20x75.step +J20-75MLBCM,J,20,75,M,,LB,CM,MS-J-20x75.step +J20-75MFA,J,20,75,M,,FA,,MS-J-20x75.step +J20-75MFAU,J,20,75,M,,FA,U,MS-J-20x75.step +J20-75MFACM,J,20,75,M,,FA,CM,MS-J-20x75.step +J20-75MFB,J,20,75,M,,FB,,MS-J-20x75.step +J20-75MFBU,J,20,75,M,,FB,U,MS-J-20x75.step +J20-75MFBCM,J,20,75,M,,FB,CM,MS-J-20x75.step +J20-75MSDB,J,20,75,M,,SDB,,MS-J-20x75.step +J20-75MSDBU,J,20,75,M,,SDB,U,MS-J-20x75.step +J20-75MSDBCM,J,20,75,M,,SDB,CM,MS-J-20x75.step +J20-100E,J,20,100,,E,,,MS-J-20x100.step +J20-100EU,J,20,100,,E,,U,MS-J-20x100.step +J20-100ECM,J,20,100,,E,,CM,MS-J-20x100.step +J20-100ELB,J,20,100,,E,LB,,MS-J-20x100.step +J20-100ELBU,J,20,100,,E,LB,U,MS-J-20x100.step +J20-100ELBCM,J,20,100,,E,LB,CM,MS-J-20x100.step +J20-100EFA,J,20,100,,E,FA,,MS-J-20x100.step +J20-100EFAU,J,20,100,,E,FA,U,MS-J-20x100.step +J20-100EFACM,J,20,100,,E,FA,CM,MS-J-20x100.step +J20-100EFB,J,20,100,,E,FB,,MS-J-20x100.step +J20-100EFBU,J,20,100,,E,FB,U,MS-J-20x100.step +J20-100EFBCM,J,20,100,,E,FB,CM,MS-J-20x100.step +J20-100ESDB,J,20,100,,E,SDB,,MS-J-20x100.step +J20-100ESDBU,J,20,100,,E,SDB,U,MS-J-20x100.step +J20-100ESDBCM,J,20,100,,E,SDB,CM,MS-J-20x100.step +J20-100,J,20,100,,,,,MS-J-20x100.step +J20-100U,J,20,100,,,,U,MS-J-20x100.step +J20-100CM,J,20,100,,,,CM,MS-J-20x100.step +J20-100LB,J,20,100,,,LB,,MS-J-20x100.step +J20-100LBU,J,20,100,,,LB,U,MS-J-20x100.step +J20-100LBCM,J,20,100,,,LB,CM,MS-J-20x100.step +J20-100FA,J,20,100,,,FA,,MS-J-20x100.step +J20-100FAU,J,20,100,,,FA,U,MS-J-20x100.step +J20-100FACM,J,20,100,,,FA,CM,MS-J-20x100.step +J20-100FB,J,20,100,,,FB,,MS-J-20x100.step +J20-100FBU,J,20,100,,,FB,U,MS-J-20x100.step +J20-100FBCM,J,20,100,,,FB,CM,MS-J-20x100.step +J20-100SDB,J,20,100,,,SDB,,MS-J-20x100.step +J20-100SDBU,J,20,100,,,SDB,U,MS-J-20x100.step +J20-100SDBCM,J,20,100,,,SDB,CM,MS-J-20x100.step +J20-100ME,J,20,100,M,E,,,MS-J-20x100.step +J20-100MEU,J,20,100,M,E,,U,MS-J-20x100.step +J20-100MECM,J,20,100,M,E,,CM,MS-J-20x100.step +J20-100MELB,J,20,100,M,E,LB,,MS-J-20x100.step +J20-100MELBU,J,20,100,M,E,LB,U,MS-J-20x100.step +J20-100MELBCM,J,20,100,M,E,LB,CM,MS-J-20x100.step +J20-100MEFA,J,20,100,M,E,FA,,MS-J-20x100.step +J20-100MEFAU,J,20,100,M,E,FA,U,MS-J-20x100.step +J20-100MEFACM,J,20,100,M,E,FA,CM,MS-J-20x100.step +J20-100MEFB,J,20,100,M,E,FB,,MS-J-20x100.step +J20-100MEFBU,J,20,100,M,E,FB,U,MS-J-20x100.step +J20-100MEFBCM,J,20,100,M,E,FB,CM,MS-J-20x100.step +J20-100MESDB,J,20,100,M,E,SDB,,MS-J-20x100.step +J20-100MESDBU,J,20,100,M,E,SDB,U,MS-J-20x100.step +J20-100MESDBCM,J,20,100,M,E,SDB,CM,MS-J-20x100.step +J20-100M,J,20,100,M,,,,MS-J-20x100.step +J20-100MU,J,20,100,M,,,U,MS-J-20x100.step +J20-100MCM,J,20,100,M,,,CM,MS-J-20x100.step +J20-100MLB,J,20,100,M,,LB,,MS-J-20x100.step +J20-100MLBU,J,20,100,M,,LB,U,MS-J-20x100.step +J20-100MLBCM,J,20,100,M,,LB,CM,MS-J-20x100.step +J20-100MFA,J,20,100,M,,FA,,MS-J-20x100.step +J20-100MFAU,J,20,100,M,,FA,U,MS-J-20x100.step +J20-100MFACM,J,20,100,M,,FA,CM,MS-J-20x100.step +J20-100MFB,J,20,100,M,,FB,,MS-J-20x100.step +J20-100MFBU,J,20,100,M,,FB,U,MS-J-20x100.step +J20-100MFBCM,J,20,100,M,,FB,CM,MS-J-20x100.step +J20-100MSDB,J,20,100,M,,SDB,,MS-J-20x100.step +J20-100MSDBU,J,20,100,M,,SDB,U,MS-J-20x100.step +J20-100MSDBCM,J,20,100,M,,SDB,CM,MS-J-20x100.step +J25-10E,J,25,10,,E,,,MS-J-25x10.step +J25-10EU,J,25,10,,E,,U,MS-J-25x10.step +J25-10ECM,J,25,10,,E,,CM,MS-J-25x10.step +J25-10ELB,J,25,10,,E,LB,,MS-J-25x10.step +J25-10ELBU,J,25,10,,E,LB,U,MS-J-25x10.step +J25-10ELBCM,J,25,10,,E,LB,CM,MS-J-25x10.step +J25-10EFA,J,25,10,,E,FA,,MS-J-25x10.step +J25-10EFAU,J,25,10,,E,FA,U,MS-J-25x10.step +J25-10EFACM,J,25,10,,E,FA,CM,MS-J-25x10.step +J25-10EFB,J,25,10,,E,FB,,MS-J-25x10.step +J25-10EFBU,J,25,10,,E,FB,U,MS-J-25x10.step +J25-10EFBCM,J,25,10,,E,FB,CM,MS-J-25x10.step +J25-10ESDB,J,25,10,,E,SDB,,MS-J-25x10.step +J25-10ESDBU,J,25,10,,E,SDB,U,MS-J-25x10.step +J25-10ESDBCM,J,25,10,,E,SDB,CM,MS-J-25x10.step +J25-10,J,25,10,,,,,MS-J-25x10.step +J25-10U,J,25,10,,,,U,MS-J-25x10.step +J25-10CM,J,25,10,,,,CM,MS-J-25x10.step +J25-10LB,J,25,10,,,LB,,MS-J-25x10.step +J25-10LBU,J,25,10,,,LB,U,MS-J-25x10.step +J25-10LBCM,J,25,10,,,LB,CM,MS-J-25x10.step +J25-10FA,J,25,10,,,FA,,MS-J-25x10.step +J25-10FAU,J,25,10,,,FA,U,MS-J-25x10.step +J25-10FACM,J,25,10,,,FA,CM,MS-J-25x10.step +J25-10FB,J,25,10,,,FB,,MS-J-25x10.step +J25-10FBU,J,25,10,,,FB,U,MS-J-25x10.step +J25-10FBCM,J,25,10,,,FB,CM,MS-J-25x10.step +J25-10SDB,J,25,10,,,SDB,,MS-J-25x10.step +J25-10SDBU,J,25,10,,,SDB,U,MS-J-25x10.step +J25-10SDBCM,J,25,10,,,SDB,CM,MS-J-25x10.step +J25-10ME,J,25,10,M,E,,,MS-J-25x10.step +J25-10MEU,J,25,10,M,E,,U,MS-J-25x10.step +J25-10MECM,J,25,10,M,E,,CM,MS-J-25x10.step +J25-10MELB,J,25,10,M,E,LB,,MS-J-25x10.step +J25-10MELBU,J,25,10,M,E,LB,U,MS-J-25x10.step +J25-10MELBCM,J,25,10,M,E,LB,CM,MS-J-25x10.step +J25-10MEFA,J,25,10,M,E,FA,,MS-J-25x10.step +J25-10MEFAU,J,25,10,M,E,FA,U,MS-J-25x10.step +J25-10MEFACM,J,25,10,M,E,FA,CM,MS-J-25x10.step +J25-10MEFB,J,25,10,M,E,FB,,MS-J-25x10.step +J25-10MEFBU,J,25,10,M,E,FB,U,MS-J-25x10.step +J25-10MEFBCM,J,25,10,M,E,FB,CM,MS-J-25x10.step +J25-10MESDB,J,25,10,M,E,SDB,,MS-J-25x10.step +J25-10MESDBU,J,25,10,M,E,SDB,U,MS-J-25x10.step +J25-10MESDBCM,J,25,10,M,E,SDB,CM,MS-J-25x10.step +J25-10M,J,25,10,M,,,,MS-J-25x10.step +J25-10MU,J,25,10,M,,,U,MS-J-25x10.step +J25-10MCM,J,25,10,M,,,CM,MS-J-25x10.step +J25-10MLB,J,25,10,M,,LB,,MS-J-25x10.step +J25-10MLBU,J,25,10,M,,LB,U,MS-J-25x10.step +J25-10MLBCM,J,25,10,M,,LB,CM,MS-J-25x10.step +J25-10MFA,J,25,10,M,,FA,,MS-J-25x10.step +J25-10MFAU,J,25,10,M,,FA,U,MS-J-25x10.step +J25-10MFACM,J,25,10,M,,FA,CM,MS-J-25x10.step +J25-10MFB,J,25,10,M,,FB,,MS-J-25x10.step +J25-10MFBU,J,25,10,M,,FB,U,MS-J-25x10.step +J25-10MFBCM,J,25,10,M,,FB,CM,MS-J-25x10.step +J25-10MSDB,J,25,10,M,,SDB,,MS-J-25x10.step +J25-10MSDBU,J,25,10,M,,SDB,U,MS-J-25x10.step +J25-10MSDBCM,J,25,10,M,,SDB,CM,MS-J-25x10.step +J25-20E,J,25,20,,E,,,MS-J-25x20.step +J25-20EU,J,25,20,,E,,U,MS-J-25x20.step +J25-20ECM,J,25,20,,E,,CM,MS-J-25x20.step +J25-20ELB,J,25,20,,E,LB,,MS-J-25x20.step +J25-20ELBU,J,25,20,,E,LB,U,MS-J-25x20.step +J25-20ELBCM,J,25,20,,E,LB,CM,MS-J-25x20.step +J25-20EFA,J,25,20,,E,FA,,MS-J-25x20.step +J25-20EFAU,J,25,20,,E,FA,U,MS-J-25x20.step +J25-20EFACM,J,25,20,,E,FA,CM,MS-J-25x20.step +J25-20EFB,J,25,20,,E,FB,,MS-J-25x20.step +J25-20EFBU,J,25,20,,E,FB,U,MS-J-25x20.step +J25-20EFBCM,J,25,20,,E,FB,CM,MS-J-25x20.step +J25-20ESDB,J,25,20,,E,SDB,,MS-J-25x20.step +J25-20ESDBU,J,25,20,,E,SDB,U,MS-J-25x20.step +J25-20ESDBCM,J,25,20,,E,SDB,CM,MS-J-25x20.step +J25-20,J,25,20,,,,,MS-J-25x20.step +J25-20U,J,25,20,,,,U,MS-J-25x20.step +J25-20CM,J,25,20,,,,CM,MS-J-25x20.step +J25-20LB,J,25,20,,,LB,,MS-J-25x20.step +J25-20LBU,J,25,20,,,LB,U,MS-J-25x20.step +J25-20LBCM,J,25,20,,,LB,CM,MS-J-25x20.step +J25-20FA,J,25,20,,,FA,,MS-J-25x20.step +J25-20FAU,J,25,20,,,FA,U,MS-J-25x20.step +J25-20FACM,J,25,20,,,FA,CM,MS-J-25x20.step +J25-20FB,J,25,20,,,FB,,MS-J-25x20.step +J25-20FBU,J,25,20,,,FB,U,MS-J-25x20.step +J25-20FBCM,J,25,20,,,FB,CM,MS-J-25x20.step +J25-20SDB,J,25,20,,,SDB,,MS-J-25x20.step +J25-20SDBU,J,25,20,,,SDB,U,MS-J-25x20.step +J25-20SDBCM,J,25,20,,,SDB,CM,MS-J-25x20.step +J25-20ME,J,25,20,M,E,,,MS-J-25x20.step +J25-20MEU,J,25,20,M,E,,U,MS-J-25x20.step +J25-20MECM,J,25,20,M,E,,CM,MS-J-25x20.step +J25-20MELB,J,25,20,M,E,LB,,MS-J-25x20.step +J25-20MELBU,J,25,20,M,E,LB,U,MS-J-25x20.step +J25-20MELBCM,J,25,20,M,E,LB,CM,MS-J-25x20.step +J25-20MEFA,J,25,20,M,E,FA,,MS-J-25x20.step +J25-20MEFAU,J,25,20,M,E,FA,U,MS-J-25x20.step +J25-20MEFACM,J,25,20,M,E,FA,CM,MS-J-25x20.step +J25-20MEFB,J,25,20,M,E,FB,,MS-J-25x20.step +J25-20MEFBU,J,25,20,M,E,FB,U,MS-J-25x20.step +J25-20MEFBCM,J,25,20,M,E,FB,CM,MS-J-25x20.step +J25-20MESDB,J,25,20,M,E,SDB,,MS-J-25x20.step +J25-20MESDBU,J,25,20,M,E,SDB,U,MS-J-25x20.step +J25-20MESDBCM,J,25,20,M,E,SDB,CM,MS-J-25x20.step +J25-20M,J,25,20,M,,,,MS-J-25x20.step +J25-20MU,J,25,20,M,,,U,MS-J-25x20.step +J25-20MCM,J,25,20,M,,,CM,MS-J-25x20.step +J25-20MLB,J,25,20,M,,LB,,MS-J-25x20.step +J25-20MLBU,J,25,20,M,,LB,U,MS-J-25x20.step +J25-20MLBCM,J,25,20,M,,LB,CM,MS-J-25x20.step +J25-20MFA,J,25,20,M,,FA,,MS-J-25x20.step +J25-20MFAU,J,25,20,M,,FA,U,MS-J-25x20.step +J25-20MFACM,J,25,20,M,,FA,CM,MS-J-25x20.step +J25-20MFB,J,25,20,M,,FB,,MS-J-25x20.step +J25-20MFBU,J,25,20,M,,FB,U,MS-J-25x20.step +J25-20MFBCM,J,25,20,M,,FB,CM,MS-J-25x20.step +J25-20MSDB,J,25,20,M,,SDB,,MS-J-25x20.step +J25-20MSDBU,J,25,20,M,,SDB,U,MS-J-25x20.step +J25-20MSDBCM,J,25,20,M,,SDB,CM,MS-J-25x20.step +J25-30E,J,25,30,,E,,,MS-J-25x30.step +J25-30EU,J,25,30,,E,,U,MS-J-25x30.step +J25-30ECM,J,25,30,,E,,CM,MS-J-25x30.step +J25-30ELB,J,25,30,,E,LB,,MS-J-25x30.step +J25-30ELBU,J,25,30,,E,LB,U,MS-J-25x30.step +J25-30ELBCM,J,25,30,,E,LB,CM,MS-J-25x30.step +J25-30EFA,J,25,30,,E,FA,,MS-J-25x30.step +J25-30EFAU,J,25,30,,E,FA,U,MS-J-25x30.step +J25-30EFACM,J,25,30,,E,FA,CM,MS-J-25x30.step +J25-30EFB,J,25,30,,E,FB,,MS-J-25x30.step +J25-30EFBU,J,25,30,,E,FB,U,MS-J-25x30.step +J25-30EFBCM,J,25,30,,E,FB,CM,MS-J-25x30.step +J25-30ESDB,J,25,30,,E,SDB,,MS-J-25x30.step +J25-30ESDBU,J,25,30,,E,SDB,U,MS-J-25x30.step +J25-30ESDBCM,J,25,30,,E,SDB,CM,MS-J-25x30.step +J25-30,J,25,30,,,,,MS-J-25x30.step +J25-30U,J,25,30,,,,U,MS-J-25x30.step +J25-30CM,J,25,30,,,,CM,MS-J-25x30.step +J25-30LB,J,25,30,,,LB,,MS-J-25x30.step +J25-30LBU,J,25,30,,,LB,U,MS-J-25x30.step +J25-30LBCM,J,25,30,,,LB,CM,MS-J-25x30.step +J25-30FA,J,25,30,,,FA,,MS-J-25x30.step +J25-30FAU,J,25,30,,,FA,U,MS-J-25x30.step +J25-30FACM,J,25,30,,,FA,CM,MS-J-25x30.step +J25-30FB,J,25,30,,,FB,,MS-J-25x30.step +J25-30FBU,J,25,30,,,FB,U,MS-J-25x30.step +J25-30FBCM,J,25,30,,,FB,CM,MS-J-25x30.step +J25-30SDB,J,25,30,,,SDB,,MS-J-25x30.step +J25-30SDBU,J,25,30,,,SDB,U,MS-J-25x30.step +J25-30SDBCM,J,25,30,,,SDB,CM,MS-J-25x30.step +J25-30ME,J,25,30,M,E,,,MS-J-25x30.step +J25-30MEU,J,25,30,M,E,,U,MS-J-25x30.step +J25-30MECM,J,25,30,M,E,,CM,MS-J-25x30.step +J25-30MELB,J,25,30,M,E,LB,,MS-J-25x30.step +J25-30MELBU,J,25,30,M,E,LB,U,MS-J-25x30.step +J25-30MELBCM,J,25,30,M,E,LB,CM,MS-J-25x30.step +J25-30MEFA,J,25,30,M,E,FA,,MS-J-25x30.step +J25-30MEFAU,J,25,30,M,E,FA,U,MS-J-25x30.step +J25-30MEFACM,J,25,30,M,E,FA,CM,MS-J-25x30.step +J25-30MEFB,J,25,30,M,E,FB,,MS-J-25x30.step +J25-30MEFBU,J,25,30,M,E,FB,U,MS-J-25x30.step +J25-30MEFBCM,J,25,30,M,E,FB,CM,MS-J-25x30.step +J25-30MESDB,J,25,30,M,E,SDB,,MS-J-25x30.step +J25-30MESDBU,J,25,30,M,E,SDB,U,MS-J-25x30.step +J25-30MESDBCM,J,25,30,M,E,SDB,CM,MS-J-25x30.step +J25-30M,J,25,30,M,,,,MS-J-25x30.step +J25-30MU,J,25,30,M,,,U,MS-J-25x30.step +J25-30MCM,J,25,30,M,,,CM,MS-J-25x30.step +J25-30MLB,J,25,30,M,,LB,,MS-J-25x30.step +J25-30MLBU,J,25,30,M,,LB,U,MS-J-25x30.step +J25-30MLBCM,J,25,30,M,,LB,CM,MS-J-25x30.step +J25-30MFA,J,25,30,M,,FA,,MS-J-25x30.step +J25-30MFAU,J,25,30,M,,FA,U,MS-J-25x30.step +J25-30MFACM,J,25,30,M,,FA,CM,MS-J-25x30.step +J25-30MFB,J,25,30,M,,FB,,MS-J-25x30.step +J25-30MFBU,J,25,30,M,,FB,U,MS-J-25x30.step +J25-30MFBCM,J,25,30,M,,FB,CM,MS-J-25x30.step +J25-30MSDB,J,25,30,M,,SDB,,MS-J-25x30.step +J25-30MSDBU,J,25,30,M,,SDB,U,MS-J-25x30.step +J25-30MSDBCM,J,25,30,M,,SDB,CM,MS-J-25x30.step +J25-50E,J,25,50,,E,,,MS-J-25x50.step +J25-50EU,J,25,50,,E,,U,MS-J-25x50.step +J25-50ECM,J,25,50,,E,,CM,MS-J-25x50.step +J25-50ELB,J,25,50,,E,LB,,MS-J-25x50.step +J25-50ELBU,J,25,50,,E,LB,U,MS-J-25x50.step +J25-50ELBCM,J,25,50,,E,LB,CM,MS-J-25x50.step +J25-50EFA,J,25,50,,E,FA,,MS-J-25x50.step +J25-50EFAU,J,25,50,,E,FA,U,MS-J-25x50.step +J25-50EFACM,J,25,50,,E,FA,CM,MS-J-25x50.step +J25-50EFB,J,25,50,,E,FB,,MS-J-25x50.step +J25-50EFBU,J,25,50,,E,FB,U,MS-J-25x50.step +J25-50EFBCM,J,25,50,,E,FB,CM,MS-J-25x50.step +J25-50ESDB,J,25,50,,E,SDB,,MS-J-25x50.step +J25-50ESDBU,J,25,50,,E,SDB,U,MS-J-25x50.step +J25-50ESDBCM,J,25,50,,E,SDB,CM,MS-J-25x50.step +J25-50,J,25,50,,,,,MS-J-25x50.step +J25-50U,J,25,50,,,,U,MS-J-25x50.step +J25-50CM,J,25,50,,,,CM,MS-J-25x50.step +J25-50LB,J,25,50,,,LB,,MS-J-25x50.step +J25-50LBU,J,25,50,,,LB,U,MS-J-25x50.step +J25-50LBCM,J,25,50,,,LB,CM,MS-J-25x50.step +J25-50FA,J,25,50,,,FA,,MS-J-25x50.step +J25-50FAU,J,25,50,,,FA,U,MS-J-25x50.step +J25-50FACM,J,25,50,,,FA,CM,MS-J-25x50.step +J25-50FB,J,25,50,,,FB,,MS-J-25x50.step +J25-50FBU,J,25,50,,,FB,U,MS-J-25x50.step +J25-50FBCM,J,25,50,,,FB,CM,MS-J-25x50.step +J25-50SDB,J,25,50,,,SDB,,MS-J-25x50.step +J25-50SDBU,J,25,50,,,SDB,U,MS-J-25x50.step +J25-50SDBCM,J,25,50,,,SDB,CM,MS-J-25x50.step +J25-50ME,J,25,50,M,E,,,MS-J-25x50.step +J25-50MEU,J,25,50,M,E,,U,MS-J-25x50.step +J25-50MECM,J,25,50,M,E,,CM,MS-J-25x50.step +J25-50MELB,J,25,50,M,E,LB,,MS-J-25x50.step +J25-50MELBU,J,25,50,M,E,LB,U,MS-J-25x50.step +J25-50MELBCM,J,25,50,M,E,LB,CM,MS-J-25x50.step +J25-50MEFA,J,25,50,M,E,FA,,MS-J-25x50.step +J25-50MEFAU,J,25,50,M,E,FA,U,MS-J-25x50.step +J25-50MEFACM,J,25,50,M,E,FA,CM,MS-J-25x50.step +J25-50MEFB,J,25,50,M,E,FB,,MS-J-25x50.step +J25-50MEFBU,J,25,50,M,E,FB,U,MS-J-25x50.step +J25-50MEFBCM,J,25,50,M,E,FB,CM,MS-J-25x50.step +J25-50MESDB,J,25,50,M,E,SDB,,MS-J-25x50.step +J25-50MESDBU,J,25,50,M,E,SDB,U,MS-J-25x50.step +J25-50MESDBCM,J,25,50,M,E,SDB,CM,MS-J-25x50.step +J25-50M,J,25,50,M,,,,MS-J-25x50.step +J25-50MU,J,25,50,M,,,U,MS-J-25x50.step +J25-50MCM,J,25,50,M,,,CM,MS-J-25x50.step +J25-50MLB,J,25,50,M,,LB,,MS-J-25x50.step +J25-50MLBU,J,25,50,M,,LB,U,MS-J-25x50.step +J25-50MLBCM,J,25,50,M,,LB,CM,MS-J-25x50.step +J25-50MFA,J,25,50,M,,FA,,MS-J-25x50.step +J25-50MFAU,J,25,50,M,,FA,U,MS-J-25x50.step +J25-50MFACM,J,25,50,M,,FA,CM,MS-J-25x50.step +J25-50MFB,J,25,50,M,,FB,,MS-J-25x50.step +J25-50MFBU,J,25,50,M,,FB,U,MS-J-25x50.step +J25-50MFBCM,J,25,50,M,,FB,CM,MS-J-25x50.step +J25-50MSDB,J,25,50,M,,SDB,,MS-J-25x50.step +J25-50MSDBU,J,25,50,M,,SDB,U,MS-J-25x50.step +J25-50MSDBCM,J,25,50,M,,SDB,CM,MS-J-25x50.step +J25-75E,J,25,75,,E,,,MS-J-25x75.step +J25-75EU,J,25,75,,E,,U,MS-J-25x75.step +J25-75ECM,J,25,75,,E,,CM,MS-J-25x75.step +J25-75ELB,J,25,75,,E,LB,,MS-J-25x75.step +J25-75ELBU,J,25,75,,E,LB,U,MS-J-25x75.step +J25-75ELBCM,J,25,75,,E,LB,CM,MS-J-25x75.step +J25-75EFA,J,25,75,,E,FA,,MS-J-25x75.step +J25-75EFAU,J,25,75,,E,FA,U,MS-J-25x75.step +J25-75EFACM,J,25,75,,E,FA,CM,MS-J-25x75.step +J25-75EFB,J,25,75,,E,FB,,MS-J-25x75.step +J25-75EFBU,J,25,75,,E,FB,U,MS-J-25x75.step +J25-75EFBCM,J,25,75,,E,FB,CM,MS-J-25x75.step +J25-75ESDB,J,25,75,,E,SDB,,MS-J-25x75.step +J25-75ESDBU,J,25,75,,E,SDB,U,MS-J-25x75.step +J25-75ESDBCM,J,25,75,,E,SDB,CM,MS-J-25x75.step +J25-75,J,25,75,,,,,MS-J-25x75.step +J25-75U,J,25,75,,,,U,MS-J-25x75.step +J25-75CM,J,25,75,,,,CM,MS-J-25x75.step +J25-75LB,J,25,75,,,LB,,MS-J-25x75.step +J25-75LBU,J,25,75,,,LB,U,MS-J-25x75.step +J25-75LBCM,J,25,75,,,LB,CM,MS-J-25x75.step +J25-75FA,J,25,75,,,FA,,MS-J-25x75.step +J25-75FAU,J,25,75,,,FA,U,MS-J-25x75.step +J25-75FACM,J,25,75,,,FA,CM,MS-J-25x75.step +J25-75FB,J,25,75,,,FB,,MS-J-25x75.step +J25-75FBU,J,25,75,,,FB,U,MS-J-25x75.step +J25-75FBCM,J,25,75,,,FB,CM,MS-J-25x75.step +J25-75SDB,J,25,75,,,SDB,,MS-J-25x75.step +J25-75SDBU,J,25,75,,,SDB,U,MS-J-25x75.step +J25-75SDBCM,J,25,75,,,SDB,CM,MS-J-25x75.step +J25-75ME,J,25,75,M,E,,,MS-J-25x75.step +J25-75MEU,J,25,75,M,E,,U,MS-J-25x75.step +J25-75MECM,J,25,75,M,E,,CM,MS-J-25x75.step +J25-75MELB,J,25,75,M,E,LB,,MS-J-25x75.step +J25-75MELBU,J,25,75,M,E,LB,U,MS-J-25x75.step +J25-75MELBCM,J,25,75,M,E,LB,CM,MS-J-25x75.step +J25-75MEFA,J,25,75,M,E,FA,,MS-J-25x75.step +J25-75MEFAU,J,25,75,M,E,FA,U,MS-J-25x75.step +J25-75MEFACM,J,25,75,M,E,FA,CM,MS-J-25x75.step +J25-75MEFB,J,25,75,M,E,FB,,MS-J-25x75.step +J25-75MEFBU,J,25,75,M,E,FB,U,MS-J-25x75.step +J25-75MEFBCM,J,25,75,M,E,FB,CM,MS-J-25x75.step +J25-75MESDB,J,25,75,M,E,SDB,,MS-J-25x75.step +J25-75MESDBU,J,25,75,M,E,SDB,U,MS-J-25x75.step +J25-75MESDBCM,J,25,75,M,E,SDB,CM,MS-J-25x75.step +J25-75M,J,25,75,M,,,,MS-J-25x75.step +J25-75MU,J,25,75,M,,,U,MS-J-25x75.step +J25-75MCM,J,25,75,M,,,CM,MS-J-25x75.step +J25-75MLB,J,25,75,M,,LB,,MS-J-25x75.step +J25-75MLBU,J,25,75,M,,LB,U,MS-J-25x75.step +J25-75MLBCM,J,25,75,M,,LB,CM,MS-J-25x75.step +J25-75MFA,J,25,75,M,,FA,,MS-J-25x75.step +J25-75MFAU,J,25,75,M,,FA,U,MS-J-25x75.step +J25-75MFACM,J,25,75,M,,FA,CM,MS-J-25x75.step +J25-75MFB,J,25,75,M,,FB,,MS-J-25x75.step +J25-75MFBU,J,25,75,M,,FB,U,MS-J-25x75.step +J25-75MFBCM,J,25,75,M,,FB,CM,MS-J-25x75.step +J25-75MSDB,J,25,75,M,,SDB,,MS-J-25x75.step +J25-75MSDBU,J,25,75,M,,SDB,U,MS-J-25x75.step +J25-75MSDBCM,J,25,75,M,,SDB,CM,MS-J-25x75.step +J25-100E,J,25,100,,E,,,MS-J-25x100.step +J25-100EU,J,25,100,,E,,U,MS-J-25x100.step +J25-100ECM,J,25,100,,E,,CM,MS-J-25x100.step +J25-100ELB,J,25,100,,E,LB,,MS-J-25x100.step +J25-100ELBU,J,25,100,,E,LB,U,MS-J-25x100.step +J25-100ELBCM,J,25,100,,E,LB,CM,MS-J-25x100.step +J25-100EFA,J,25,100,,E,FA,,MS-J-25x100.step +J25-100EFAU,J,25,100,,E,FA,U,MS-J-25x100.step +J25-100EFACM,J,25,100,,E,FA,CM,MS-J-25x100.step +J25-100EFB,J,25,100,,E,FB,,MS-J-25x100.step +J25-100EFBU,J,25,100,,E,FB,U,MS-J-25x100.step +J25-100EFBCM,J,25,100,,E,FB,CM,MS-J-25x100.step +J25-100ESDB,J,25,100,,E,SDB,,MS-J-25x100.step +J25-100ESDBU,J,25,100,,E,SDB,U,MS-J-25x100.step +J25-100ESDBCM,J,25,100,,E,SDB,CM,MS-J-25x100.step +J25-100,J,25,100,,,,,MS-J-25x100.step +J25-100U,J,25,100,,,,U,MS-J-25x100.step +J25-100CM,J,25,100,,,,CM,MS-J-25x100.step +J25-100LB,J,25,100,,,LB,,MS-J-25x100.step +J25-100LBU,J,25,100,,,LB,U,MS-J-25x100.step +J25-100LBCM,J,25,100,,,LB,CM,MS-J-25x100.step +J25-100FA,J,25,100,,,FA,,MS-J-25x100.step +J25-100FAU,J,25,100,,,FA,U,MS-J-25x100.step +J25-100FACM,J,25,100,,,FA,CM,MS-J-25x100.step +J25-100FB,J,25,100,,,FB,,MS-J-25x100.step +J25-100FBU,J,25,100,,,FB,U,MS-J-25x100.step +J25-100FBCM,J,25,100,,,FB,CM,MS-J-25x100.step +J25-100SDB,J,25,100,,,SDB,,MS-J-25x100.step +J25-100SDBU,J,25,100,,,SDB,U,MS-J-25x100.step +J25-100SDBCM,J,25,100,,,SDB,CM,MS-J-25x100.step +J25-100ME,J,25,100,M,E,,,MS-J-25x100.step +J25-100MEU,J,25,100,M,E,,U,MS-J-25x100.step +J25-100MECM,J,25,100,M,E,,CM,MS-J-25x100.step +J25-100MELB,J,25,100,M,E,LB,,MS-J-25x100.step +J25-100MELBU,J,25,100,M,E,LB,U,MS-J-25x100.step +J25-100MELBCM,J,25,100,M,E,LB,CM,MS-J-25x100.step +J25-100MEFA,J,25,100,M,E,FA,,MS-J-25x100.step +J25-100MEFAU,J,25,100,M,E,FA,U,MS-J-25x100.step +J25-100MEFACM,J,25,100,M,E,FA,CM,MS-J-25x100.step +J25-100MEFB,J,25,100,M,E,FB,,MS-J-25x100.step +J25-100MEFBU,J,25,100,M,E,FB,U,MS-J-25x100.step +J25-100MEFBCM,J,25,100,M,E,FB,CM,MS-J-25x100.step +J25-100MESDB,J,25,100,M,E,SDB,,MS-J-25x100.step +J25-100MESDBU,J,25,100,M,E,SDB,U,MS-J-25x100.step +J25-100MESDBCM,J,25,100,M,E,SDB,CM,MS-J-25x100.step +J25-100M,J,25,100,M,,,,MS-J-25x100.step +J25-100MU,J,25,100,M,,,U,MS-J-25x100.step +J25-100MCM,J,25,100,M,,,CM,MS-J-25x100.step +J25-100MLB,J,25,100,M,,LB,,MS-J-25x100.step +J25-100MLBU,J,25,100,M,,LB,U,MS-J-25x100.step +J25-100MLBCM,J,25,100,M,,LB,CM,MS-J-25x100.step +J25-100MFA,J,25,100,M,,FA,,MS-J-25x100.step +J25-100MFAU,J,25,100,M,,FA,U,MS-J-25x100.step +J25-100MFACM,J,25,100,M,,FA,CM,MS-J-25x100.step +J25-100MFB,J,25,100,M,,FB,,MS-J-25x100.step +J25-100MFBU,J,25,100,M,,FB,U,MS-J-25x100.step +J25-100MFBCM,J,25,100,M,,FB,CM,MS-J-25x100.step +J25-100MSDB,J,25,100,M,,SDB,,MS-J-25x100.step +J25-100MSDBU,J,25,100,M,,SDB,U,MS-J-25x100.step +J25-100MSDBCM,J,25,100,M,,SDB,CM,MS-J-25x100.step +J32-10E,J,32,10,,E,,,MS-J-32x10.step +J32-10EU,J,32,10,,E,,U,MS-J-32x10.step +J32-10ECM,J,32,10,,E,,CM,MS-J-32x10.step +J32-10ELB,J,32,10,,E,LB,,MS-J-32x10.step +J32-10ELBU,J,32,10,,E,LB,U,MS-J-32x10.step +J32-10ELBCM,J,32,10,,E,LB,CM,MS-J-32x10.step +J32-10EFA,J,32,10,,E,FA,,MS-J-32x10.step +J32-10EFAU,J,32,10,,E,FA,U,MS-J-32x10.step +J32-10EFACM,J,32,10,,E,FA,CM,MS-J-32x10.step +J32-10EFB,J,32,10,,E,FB,,MS-J-32x10.step +J32-10EFBU,J,32,10,,E,FB,U,MS-J-32x10.step +J32-10EFBCM,J,32,10,,E,FB,CM,MS-J-32x10.step +J32-10ESDB,J,32,10,,E,SDB,,MS-J-32x10.step +J32-10ESDBU,J,32,10,,E,SDB,U,MS-J-32x10.step +J32-10ESDBCM,J,32,10,,E,SDB,CM,MS-J-32x10.step +J32-10,J,32,10,,,,,MS-J-32x10.step +J32-10U,J,32,10,,,,U,MS-J-32x10.step +J32-10CM,J,32,10,,,,CM,MS-J-32x10.step +J32-10LB,J,32,10,,,LB,,MS-J-32x10.step +J32-10LBU,J,32,10,,,LB,U,MS-J-32x10.step +J32-10LBCM,J,32,10,,,LB,CM,MS-J-32x10.step +J32-10FA,J,32,10,,,FA,,MS-J-32x10.step +J32-10FAU,J,32,10,,,FA,U,MS-J-32x10.step +J32-10FACM,J,32,10,,,FA,CM,MS-J-32x10.step +J32-10FB,J,32,10,,,FB,,MS-J-32x10.step +J32-10FBU,J,32,10,,,FB,U,MS-J-32x10.step +J32-10FBCM,J,32,10,,,FB,CM,MS-J-32x10.step +J32-10SDB,J,32,10,,,SDB,,MS-J-32x10.step +J32-10SDBU,J,32,10,,,SDB,U,MS-J-32x10.step +J32-10SDBCM,J,32,10,,,SDB,CM,MS-J-32x10.step +J32-10ME,J,32,10,M,E,,,MS-J-32x10.step +J32-10MEU,J,32,10,M,E,,U,MS-J-32x10.step +J32-10MECM,J,32,10,M,E,,CM,MS-J-32x10.step +J32-10MELB,J,32,10,M,E,LB,,MS-J-32x10.step +J32-10MELBU,J,32,10,M,E,LB,U,MS-J-32x10.step +J32-10MELBCM,J,32,10,M,E,LB,CM,MS-J-32x10.step +J32-10MEFA,J,32,10,M,E,FA,,MS-J-32x10.step +J32-10MEFAU,J,32,10,M,E,FA,U,MS-J-32x10.step +J32-10MEFACM,J,32,10,M,E,FA,CM,MS-J-32x10.step +J32-10MEFB,J,32,10,M,E,FB,,MS-J-32x10.step +J32-10MEFBU,J,32,10,M,E,FB,U,MS-J-32x10.step +J32-10MEFBCM,J,32,10,M,E,FB,CM,MS-J-32x10.step +J32-10MESDB,J,32,10,M,E,SDB,,MS-J-32x10.step +J32-10MESDBU,J,32,10,M,E,SDB,U,MS-J-32x10.step +J32-10MESDBCM,J,32,10,M,E,SDB,CM,MS-J-32x10.step +J32-10M,J,32,10,M,,,,MS-J-32x10.step +J32-10MU,J,32,10,M,,,U,MS-J-32x10.step +J32-10MCM,J,32,10,M,,,CM,MS-J-32x10.step +J32-10MLB,J,32,10,M,,LB,,MS-J-32x10.step +J32-10MLBU,J,32,10,M,,LB,U,MS-J-32x10.step +J32-10MLBCM,J,32,10,M,,LB,CM,MS-J-32x10.step +J32-10MFA,J,32,10,M,,FA,,MS-J-32x10.step +J32-10MFAU,J,32,10,M,,FA,U,MS-J-32x10.step +J32-10MFACM,J,32,10,M,,FA,CM,MS-J-32x10.step +J32-10MFB,J,32,10,M,,FB,,MS-J-32x10.step +J32-10MFBU,J,32,10,M,,FB,U,MS-J-32x10.step +J32-10MFBCM,J,32,10,M,,FB,CM,MS-J-32x10.step +J32-10MSDB,J,32,10,M,,SDB,,MS-J-32x10.step +J32-10MSDBU,J,32,10,M,,SDB,U,MS-J-32x10.step +J32-10MSDBCM,J,32,10,M,,SDB,CM,MS-J-32x10.step +J32-20E,J,32,20,,E,,,MS-J-32x20.step +J32-20EU,J,32,20,,E,,U,MS-J-32x20.step +J32-20ECM,J,32,20,,E,,CM,MS-J-32x20.step +J32-20ELB,J,32,20,,E,LB,,MS-J-32x20.step +J32-20ELBU,J,32,20,,E,LB,U,MS-J-32x20.step +J32-20ELBCM,J,32,20,,E,LB,CM,MS-J-32x20.step +J32-20EFA,J,32,20,,E,FA,,MS-J-32x20.step +J32-20EFAU,J,32,20,,E,FA,U,MS-J-32x20.step +J32-20EFACM,J,32,20,,E,FA,CM,MS-J-32x20.step +J32-20EFB,J,32,20,,E,FB,,MS-J-32x20.step +J32-20EFBU,J,32,20,,E,FB,U,MS-J-32x20.step +J32-20EFBCM,J,32,20,,E,FB,CM,MS-J-32x20.step +J32-20ESDB,J,32,20,,E,SDB,,MS-J-32x20.step +J32-20ESDBU,J,32,20,,E,SDB,U,MS-J-32x20.step +J32-20ESDBCM,J,32,20,,E,SDB,CM,MS-J-32x20.step +J32-20,J,32,20,,,,,MS-J-32x20.step +J32-20U,J,32,20,,,,U,MS-J-32x20.step +J32-20CM,J,32,20,,,,CM,MS-J-32x20.step +J32-20LB,J,32,20,,,LB,,MS-J-32x20.step +J32-20LBU,J,32,20,,,LB,U,MS-J-32x20.step +J32-20LBCM,J,32,20,,,LB,CM,MS-J-32x20.step +J32-20FA,J,32,20,,,FA,,MS-J-32x20.step +J32-20FAU,J,32,20,,,FA,U,MS-J-32x20.step +J32-20FACM,J,32,20,,,FA,CM,MS-J-32x20.step +J32-20FB,J,32,20,,,FB,,MS-J-32x20.step +J32-20FBU,J,32,20,,,FB,U,MS-J-32x20.step +J32-20FBCM,J,32,20,,,FB,CM,MS-J-32x20.step +J32-20SDB,J,32,20,,,SDB,,MS-J-32x20.step +J32-20SDBU,J,32,20,,,SDB,U,MS-J-32x20.step +J32-20SDBCM,J,32,20,,,SDB,CM,MS-J-32x20.step +J32-20ME,J,32,20,M,E,,,MS-J-32x20.step +J32-20MEU,J,32,20,M,E,,U,MS-J-32x20.step +J32-20MECM,J,32,20,M,E,,CM,MS-J-32x20.step +J32-20MELB,J,32,20,M,E,LB,,MS-J-32x20.step +J32-20MELBU,J,32,20,M,E,LB,U,MS-J-32x20.step +J32-20MELBCM,J,32,20,M,E,LB,CM,MS-J-32x20.step +J32-20MEFA,J,32,20,M,E,FA,,MS-J-32x20.step +J32-20MEFAU,J,32,20,M,E,FA,U,MS-J-32x20.step +J32-20MEFACM,J,32,20,M,E,FA,CM,MS-J-32x20.step +J32-20MEFB,J,32,20,M,E,FB,,MS-J-32x20.step +J32-20MEFBU,J,32,20,M,E,FB,U,MS-J-32x20.step +J32-20MEFBCM,J,32,20,M,E,FB,CM,MS-J-32x20.step +J32-20MESDB,J,32,20,M,E,SDB,,MS-J-32x20.step +J32-20MESDBU,J,32,20,M,E,SDB,U,MS-J-32x20.step +J32-20MESDBCM,J,32,20,M,E,SDB,CM,MS-J-32x20.step +J32-20M,J,32,20,M,,,,MS-J-32x20.step +J32-20MU,J,32,20,M,,,U,MS-J-32x20.step +J32-20MCM,J,32,20,M,,,CM,MS-J-32x20.step +J32-20MLB,J,32,20,M,,LB,,MS-J-32x20.step +J32-20MLBU,J,32,20,M,,LB,U,MS-J-32x20.step +J32-20MLBCM,J,32,20,M,,LB,CM,MS-J-32x20.step +J32-20MFA,J,32,20,M,,FA,,MS-J-32x20.step +J32-20MFAU,J,32,20,M,,FA,U,MS-J-32x20.step +J32-20MFACM,J,32,20,M,,FA,CM,MS-J-32x20.step +J32-20MFB,J,32,20,M,,FB,,MS-J-32x20.step +J32-20MFBU,J,32,20,M,,FB,U,MS-J-32x20.step +J32-20MFBCM,J,32,20,M,,FB,CM,MS-J-32x20.step +J32-20MSDB,J,32,20,M,,SDB,,MS-J-32x20.step +J32-20MSDBU,J,32,20,M,,SDB,U,MS-J-32x20.step +J32-20MSDBCM,J,32,20,M,,SDB,CM,MS-J-32x20.step +J32-30E,J,32,30,,E,,,MS-J-32x30.step +J32-30EU,J,32,30,,E,,U,MS-J-32x30.step +J32-30ECM,J,32,30,,E,,CM,MS-J-32x30.step +J32-30ELB,J,32,30,,E,LB,,MS-J-32x30.step +J32-30ELBU,J,32,30,,E,LB,U,MS-J-32x30.step +J32-30ELBCM,J,32,30,,E,LB,CM,MS-J-32x30.step +J32-30EFA,J,32,30,,E,FA,,MS-J-32x30.step +J32-30EFAU,J,32,30,,E,FA,U,MS-J-32x30.step +J32-30EFACM,J,32,30,,E,FA,CM,MS-J-32x30.step +J32-30EFB,J,32,30,,E,FB,,MS-J-32x30.step +J32-30EFBU,J,32,30,,E,FB,U,MS-J-32x30.step +J32-30EFBCM,J,32,30,,E,FB,CM,MS-J-32x30.step +J32-30ESDB,J,32,30,,E,SDB,,MS-J-32x30.step +J32-30ESDBU,J,32,30,,E,SDB,U,MS-J-32x30.step +J32-30ESDBCM,J,32,30,,E,SDB,CM,MS-J-32x30.step +J32-30,J,32,30,,,,,MS-J-32x30.step +J32-30U,J,32,30,,,,U,MS-J-32x30.step +J32-30CM,J,32,30,,,,CM,MS-J-32x30.step +J32-30LB,J,32,30,,,LB,,MS-J-32x30.step +J32-30LBU,J,32,30,,,LB,U,MS-J-32x30.step +J32-30LBCM,J,32,30,,,LB,CM,MS-J-32x30.step +J32-30FA,J,32,30,,,FA,,MS-J-32x30.step +J32-30FAU,J,32,30,,,FA,U,MS-J-32x30.step +J32-30FACM,J,32,30,,,FA,CM,MS-J-32x30.step +J32-30FB,J,32,30,,,FB,,MS-J-32x30.step +J32-30FBU,J,32,30,,,FB,U,MS-J-32x30.step +J32-30FBCM,J,32,30,,,FB,CM,MS-J-32x30.step +J32-30SDB,J,32,30,,,SDB,,MS-J-32x30.step +J32-30SDBU,J,32,30,,,SDB,U,MS-J-32x30.step +J32-30SDBCM,J,32,30,,,SDB,CM,MS-J-32x30.step +J32-30ME,J,32,30,M,E,,,MS-J-32x30.step +J32-30MEU,J,32,30,M,E,,U,MS-J-32x30.step +J32-30MECM,J,32,30,M,E,,CM,MS-J-32x30.step +J32-30MELB,J,32,30,M,E,LB,,MS-J-32x30.step +J32-30MELBU,J,32,30,M,E,LB,U,MS-J-32x30.step +J32-30MELBCM,J,32,30,M,E,LB,CM,MS-J-32x30.step +J32-30MEFA,J,32,30,M,E,FA,,MS-J-32x30.step +J32-30MEFAU,J,32,30,M,E,FA,U,MS-J-32x30.step +J32-30MEFACM,J,32,30,M,E,FA,CM,MS-J-32x30.step +J32-30MEFB,J,32,30,M,E,FB,,MS-J-32x30.step +J32-30MEFBU,J,32,30,M,E,FB,U,MS-J-32x30.step +J32-30MEFBCM,J,32,30,M,E,FB,CM,MS-J-32x30.step +J32-30MESDB,J,32,30,M,E,SDB,,MS-J-32x30.step +J32-30MESDBU,J,32,30,M,E,SDB,U,MS-J-32x30.step +J32-30MESDBCM,J,32,30,M,E,SDB,CM,MS-J-32x30.step +J32-30M,J,32,30,M,,,,MS-J-32x30.step +J32-30MU,J,32,30,M,,,U,MS-J-32x30.step +J32-30MCM,J,32,30,M,,,CM,MS-J-32x30.step +J32-30MLB,J,32,30,M,,LB,,MS-J-32x30.step +J32-30MLBU,J,32,30,M,,LB,U,MS-J-32x30.step +J32-30MLBCM,J,32,30,M,,LB,CM,MS-J-32x30.step +J32-30MFA,J,32,30,M,,FA,,MS-J-32x30.step +J32-30MFAU,J,32,30,M,,FA,U,MS-J-32x30.step +J32-30MFACM,J,32,30,M,,FA,CM,MS-J-32x30.step +J32-30MFB,J,32,30,M,,FB,,MS-J-32x30.step +J32-30MFBU,J,32,30,M,,FB,U,MS-J-32x30.step +J32-30MFBCM,J,32,30,M,,FB,CM,MS-J-32x30.step +J32-30MSDB,J,32,30,M,,SDB,,MS-J-32x30.step +J32-30MSDBU,J,32,30,M,,SDB,U,MS-J-32x30.step +J32-30MSDBCM,J,32,30,M,,SDB,CM,MS-J-32x30.step +J32-50E,J,32,50,,E,,,MS-J-32x50.step +J32-50EU,J,32,50,,E,,U,MS-J-32x50.step +J32-50ECM,J,32,50,,E,,CM,MS-J-32x50.step +J32-50ELB,J,32,50,,E,LB,,MS-J-32x50.step +J32-50ELBU,J,32,50,,E,LB,U,MS-J-32x50.step +J32-50ELBCM,J,32,50,,E,LB,CM,MS-J-32x50.step +J32-50EFA,J,32,50,,E,FA,,MS-J-32x50.step +J32-50EFAU,J,32,50,,E,FA,U,MS-J-32x50.step +J32-50EFACM,J,32,50,,E,FA,CM,MS-J-32x50.step +J32-50EFB,J,32,50,,E,FB,,MS-J-32x50.step +J32-50EFBU,J,32,50,,E,FB,U,MS-J-32x50.step +J32-50EFBCM,J,32,50,,E,FB,CM,MS-J-32x50.step +J32-50ESDB,J,32,50,,E,SDB,,MS-J-32x50.step +J32-50ESDBU,J,32,50,,E,SDB,U,MS-J-32x50.step +J32-50ESDBCM,J,32,50,,E,SDB,CM,MS-J-32x50.step +J32-50,J,32,50,,,,,MS-J-32x50.step +J32-50U,J,32,50,,,,U,MS-J-32x50.step +J32-50CM,J,32,50,,,,CM,MS-J-32x50.step +J32-50LB,J,32,50,,,LB,,MS-J-32x50.step +J32-50LBU,J,32,50,,,LB,U,MS-J-32x50.step +J32-50LBCM,J,32,50,,,LB,CM,MS-J-32x50.step +J32-50FA,J,32,50,,,FA,,MS-J-32x50.step +J32-50FAU,J,32,50,,,FA,U,MS-J-32x50.step +J32-50FACM,J,32,50,,,FA,CM,MS-J-32x50.step +J32-50FB,J,32,50,,,FB,,MS-J-32x50.step +J32-50FBU,J,32,50,,,FB,U,MS-J-32x50.step +J32-50FBCM,J,32,50,,,FB,CM,MS-J-32x50.step +J32-50SDB,J,32,50,,,SDB,,MS-J-32x50.step +J32-50SDBU,J,32,50,,,SDB,U,MS-J-32x50.step +J32-50SDBCM,J,32,50,,,SDB,CM,MS-J-32x50.step +J32-50ME,J,32,50,M,E,,,MS-J-32x50.step +J32-50MEU,J,32,50,M,E,,U,MS-J-32x50.step +J32-50MECM,J,32,50,M,E,,CM,MS-J-32x50.step +J32-50MELB,J,32,50,M,E,LB,,MS-J-32x50.step +J32-50MELBU,J,32,50,M,E,LB,U,MS-J-32x50.step +J32-50MELBCM,J,32,50,M,E,LB,CM,MS-J-32x50.step +J32-50MEFA,J,32,50,M,E,FA,,MS-J-32x50.step +J32-50MEFAU,J,32,50,M,E,FA,U,MS-J-32x50.step +J32-50MEFACM,J,32,50,M,E,FA,CM,MS-J-32x50.step +J32-50MEFB,J,32,50,M,E,FB,,MS-J-32x50.step +J32-50MEFBU,J,32,50,M,E,FB,U,MS-J-32x50.step +J32-50MEFBCM,J,32,50,M,E,FB,CM,MS-J-32x50.step +J32-50MESDB,J,32,50,M,E,SDB,,MS-J-32x50.step +J32-50MESDBU,J,32,50,M,E,SDB,U,MS-J-32x50.step +J32-50MESDBCM,J,32,50,M,E,SDB,CM,MS-J-32x50.step +J32-50M,J,32,50,M,,,,MS-J-32x50.step +J32-50MU,J,32,50,M,,,U,MS-J-32x50.step +J32-50MCM,J,32,50,M,,,CM,MS-J-32x50.step +J32-50MLB,J,32,50,M,,LB,,MS-J-32x50.step +J32-50MLBU,J,32,50,M,,LB,U,MS-J-32x50.step +J32-50MLBCM,J,32,50,M,,LB,CM,MS-J-32x50.step +J32-50MFA,J,32,50,M,,FA,,MS-J-32x50.step +J32-50MFAU,J,32,50,M,,FA,U,MS-J-32x50.step +J32-50MFACM,J,32,50,M,,FA,CM,MS-J-32x50.step +J32-50MFB,J,32,50,M,,FB,,MS-J-32x50.step +J32-50MFBU,J,32,50,M,,FB,U,MS-J-32x50.step +J32-50MFBCM,J,32,50,M,,FB,CM,MS-J-32x50.step +J32-50MSDB,J,32,50,M,,SDB,,MS-J-32x50.step +J32-50MSDBU,J,32,50,M,,SDB,U,MS-J-32x50.step +J32-50MSDBCM,J,32,50,M,,SDB,CM,MS-J-32x50.step +J32-75E,J,32,75,,E,,,MS-J-32x75.step +J32-75EU,J,32,75,,E,,U,MS-J-32x75.step +J32-75ECM,J,32,75,,E,,CM,MS-J-32x75.step +J32-75ELB,J,32,75,,E,LB,,MS-J-32x75.step +J32-75ELBU,J,32,75,,E,LB,U,MS-J-32x75.step +J32-75ELBCM,J,32,75,,E,LB,CM,MS-J-32x75.step +J32-75EFA,J,32,75,,E,FA,,MS-J-32x75.step +J32-75EFAU,J,32,75,,E,FA,U,MS-J-32x75.step +J32-75EFACM,J,32,75,,E,FA,CM,MS-J-32x75.step +J32-75EFB,J,32,75,,E,FB,,MS-J-32x75.step +J32-75EFBU,J,32,75,,E,FB,U,MS-J-32x75.step +J32-75EFBCM,J,32,75,,E,FB,CM,MS-J-32x75.step +J32-75ESDB,J,32,75,,E,SDB,,MS-J-32x75.step +J32-75ESDBU,J,32,75,,E,SDB,U,MS-J-32x75.step +J32-75ESDBCM,J,32,75,,E,SDB,CM,MS-J-32x75.step +J32-75,J,32,75,,,,,MS-J-32x75.step +J32-75U,J,32,75,,,,U,MS-J-32x75.step +J32-75CM,J,32,75,,,,CM,MS-J-32x75.step +J32-75LB,J,32,75,,,LB,,MS-J-32x75.step +J32-75LBU,J,32,75,,,LB,U,MS-J-32x75.step +J32-75LBCM,J,32,75,,,LB,CM,MS-J-32x75.step +J32-75FA,J,32,75,,,FA,,MS-J-32x75.step +J32-75FAU,J,32,75,,,FA,U,MS-J-32x75.step +J32-75FACM,J,32,75,,,FA,CM,MS-J-32x75.step +J32-75FB,J,32,75,,,FB,,MS-J-32x75.step +J32-75FBU,J,32,75,,,FB,U,MS-J-32x75.step +J32-75FBCM,J,32,75,,,FB,CM,MS-J-32x75.step +J32-75SDB,J,32,75,,,SDB,,MS-J-32x75.step +J32-75SDBU,J,32,75,,,SDB,U,MS-J-32x75.step +J32-75SDBCM,J,32,75,,,SDB,CM,MS-J-32x75.step +J32-75ME,J,32,75,M,E,,,MS-J-32x75.step +J32-75MEU,J,32,75,M,E,,U,MS-J-32x75.step +J32-75MECM,J,32,75,M,E,,CM,MS-J-32x75.step +J32-75MELB,J,32,75,M,E,LB,,MS-J-32x75.step +J32-75MELBU,J,32,75,M,E,LB,U,MS-J-32x75.step +J32-75MELBCM,J,32,75,M,E,LB,CM,MS-J-32x75.step +J32-75MEFA,J,32,75,M,E,FA,,MS-J-32x75.step +J32-75MEFAU,J,32,75,M,E,FA,U,MS-J-32x75.step +J32-75MEFACM,J,32,75,M,E,FA,CM,MS-J-32x75.step +J32-75MEFB,J,32,75,M,E,FB,,MS-J-32x75.step +J32-75MEFBU,J,32,75,M,E,FB,U,MS-J-32x75.step +J32-75MEFBCM,J,32,75,M,E,FB,CM,MS-J-32x75.step +J32-75MESDB,J,32,75,M,E,SDB,,MS-J-32x75.step +J32-75MESDBU,J,32,75,M,E,SDB,U,MS-J-32x75.step +J32-75MESDBCM,J,32,75,M,E,SDB,CM,MS-J-32x75.step +J32-75M,J,32,75,M,,,,MS-J-32x75.step +J32-75MU,J,32,75,M,,,U,MS-J-32x75.step +J32-75MCM,J,32,75,M,,,CM,MS-J-32x75.step +J32-75MLB,J,32,75,M,,LB,,MS-J-32x75.step +J32-75MLBU,J,32,75,M,,LB,U,MS-J-32x75.step +J32-75MLBCM,J,32,75,M,,LB,CM,MS-J-32x75.step +J32-75MFA,J,32,75,M,,FA,,MS-J-32x75.step +J32-75MFAU,J,32,75,M,,FA,U,MS-J-32x75.step +J32-75MFACM,J,32,75,M,,FA,CM,MS-J-32x75.step +J32-75MFB,J,32,75,M,,FB,,MS-J-32x75.step +J32-75MFBU,J,32,75,M,,FB,U,MS-J-32x75.step +J32-75MFBCM,J,32,75,M,,FB,CM,MS-J-32x75.step +J32-75MSDB,J,32,75,M,,SDB,,MS-J-32x75.step +J32-75MSDBU,J,32,75,M,,SDB,U,MS-J-32x75.step +J32-75MSDBCM,J,32,75,M,,SDB,CM,MS-J-32x75.step +J32-100E,J,32,100,,E,,,MS-J-32x100.step +J32-100EU,J,32,100,,E,,U,MS-J-32x100.step +J32-100ECM,J,32,100,,E,,CM,MS-J-32x100.step +J32-100ELB,J,32,100,,E,LB,,MS-J-32x100.step +J32-100ELBU,J,32,100,,E,LB,U,MS-J-32x100.step +J32-100ELBCM,J,32,100,,E,LB,CM,MS-J-32x100.step +J32-100EFA,J,32,100,,E,FA,,MS-J-32x100.step +J32-100EFAU,J,32,100,,E,FA,U,MS-J-32x100.step +J32-100EFACM,J,32,100,,E,FA,CM,MS-J-32x100.step +J32-100EFB,J,32,100,,E,FB,,MS-J-32x100.step +J32-100EFBU,J,32,100,,E,FB,U,MS-J-32x100.step +J32-100EFBCM,J,32,100,,E,FB,CM,MS-J-32x100.step +J32-100ESDB,J,32,100,,E,SDB,,MS-J-32x100.step +J32-100ESDBU,J,32,100,,E,SDB,U,MS-J-32x100.step +J32-100ESDBCM,J,32,100,,E,SDB,CM,MS-J-32x100.step +J32-100,J,32,100,,,,,MS-J-32x100.step +J32-100U,J,32,100,,,,U,MS-J-32x100.step +J32-100CM,J,32,100,,,,CM,MS-J-32x100.step +J32-100LB,J,32,100,,,LB,,MS-J-32x100.step +J32-100LBU,J,32,100,,,LB,U,MS-J-32x100.step +J32-100LBCM,J,32,100,,,LB,CM,MS-J-32x100.step +J32-100FA,J,32,100,,,FA,,MS-J-32x100.step +J32-100FAU,J,32,100,,,FA,U,MS-J-32x100.step +J32-100FACM,J,32,100,,,FA,CM,MS-J-32x100.step +J32-100FB,J,32,100,,,FB,,MS-J-32x100.step +J32-100FBU,J,32,100,,,FB,U,MS-J-32x100.step +J32-100FBCM,J,32,100,,,FB,CM,MS-J-32x100.step +J32-100SDB,J,32,100,,,SDB,,MS-J-32x100.step +J32-100SDBU,J,32,100,,,SDB,U,MS-J-32x100.step +J32-100SDBCM,J,32,100,,,SDB,CM,MS-J-32x100.step +J32-100ME,J,32,100,M,E,,,MS-J-32x100.step +J32-100MEU,J,32,100,M,E,,U,MS-J-32x100.step +J32-100MECM,J,32,100,M,E,,CM,MS-J-32x100.step +J32-100MELB,J,32,100,M,E,LB,,MS-J-32x100.step +J32-100MELBU,J,32,100,M,E,LB,U,MS-J-32x100.step +J32-100MELBCM,J,32,100,M,E,LB,CM,MS-J-32x100.step +J32-100MEFA,J,32,100,M,E,FA,,MS-J-32x100.step +J32-100MEFAU,J,32,100,M,E,FA,U,MS-J-32x100.step +J32-100MEFACM,J,32,100,M,E,FA,CM,MS-J-32x100.step +J32-100MEFB,J,32,100,M,E,FB,,MS-J-32x100.step +J32-100MEFBU,J,32,100,M,E,FB,U,MS-J-32x100.step +J32-100MEFBCM,J,32,100,M,E,FB,CM,MS-J-32x100.step +J32-100MESDB,J,32,100,M,E,SDB,,MS-J-32x100.step +J32-100MESDBU,J,32,100,M,E,SDB,U,MS-J-32x100.step +J32-100MESDBCM,J,32,100,M,E,SDB,CM,MS-J-32x100.step +J32-100M,J,32,100,M,,,,MS-J-32x100.step +J32-100MU,J,32,100,M,,,U,MS-J-32x100.step +J32-100MCM,J,32,100,M,,,CM,MS-J-32x100.step +J32-100MLB,J,32,100,M,,LB,,MS-J-32x100.step +J32-100MLBU,J,32,100,M,,LB,U,MS-J-32x100.step +J32-100MLBCM,J,32,100,M,,LB,CM,MS-J-32x100.step +J32-100MFA,J,32,100,M,,FA,,MS-J-32x100.step +J32-100MFAU,J,32,100,M,,FA,U,MS-J-32x100.step +J32-100MFACM,J,32,100,M,,FA,CM,MS-J-32x100.step +J32-100MFB,J,32,100,M,,FB,,MS-J-32x100.step +J32-100MFBU,J,32,100,M,,FB,U,MS-J-32x100.step +J32-100MFBCM,J,32,100,M,,FB,CM,MS-J-32x100.step +J32-100MSDB,J,32,100,M,,SDB,,MS-J-32x100.step +J32-100MSDBU,J,32,100,M,,SDB,U,MS-J-32x100.step +J32-100MSDBCM,J,32,100,M,,SDB,CM,MS-J-32x100.step +J40-10E,J,40,10,,E,,,MS-J-40x10.step +J40-10EU,J,40,10,,E,,U,MS-J-40x10.step +J40-10ECM,J,40,10,,E,,CM,MS-J-40x10.step +J40-10ELB,J,40,10,,E,LB,,MS-J-40x10.step +J40-10ELBU,J,40,10,,E,LB,U,MS-J-40x10.step +J40-10ELBCM,J,40,10,,E,LB,CM,MS-J-40x10.step +J40-10EFA,J,40,10,,E,FA,,MS-J-40x10.step +J40-10EFAU,J,40,10,,E,FA,U,MS-J-40x10.step +J40-10EFACM,J,40,10,,E,FA,CM,MS-J-40x10.step +J40-10EFB,J,40,10,,E,FB,,MS-J-40x10.step +J40-10EFBU,J,40,10,,E,FB,U,MS-J-40x10.step +J40-10EFBCM,J,40,10,,E,FB,CM,MS-J-40x10.step +J40-10ESDB,J,40,10,,E,SDB,,MS-J-40x10.step +J40-10ESDBU,J,40,10,,E,SDB,U,MS-J-40x10.step +J40-10ESDBCM,J,40,10,,E,SDB,CM,MS-J-40x10.step +J40-10,J,40,10,,,,,MS-J-40x10.step +J40-10U,J,40,10,,,,U,MS-J-40x10.step +J40-10CM,J,40,10,,,,CM,MS-J-40x10.step +J40-10LB,J,40,10,,,LB,,MS-J-40x10.step +J40-10LBU,J,40,10,,,LB,U,MS-J-40x10.step +J40-10LBCM,J,40,10,,,LB,CM,MS-J-40x10.step +J40-10FA,J,40,10,,,FA,,MS-J-40x10.step +J40-10FAU,J,40,10,,,FA,U,MS-J-40x10.step +J40-10FACM,J,40,10,,,FA,CM,MS-J-40x10.step +J40-10FB,J,40,10,,,FB,,MS-J-40x10.step +J40-10FBU,J,40,10,,,FB,U,MS-J-40x10.step +J40-10FBCM,J,40,10,,,FB,CM,MS-J-40x10.step +J40-10SDB,J,40,10,,,SDB,,MS-J-40x10.step +J40-10SDBU,J,40,10,,,SDB,U,MS-J-40x10.step +J40-10SDBCM,J,40,10,,,SDB,CM,MS-J-40x10.step +J40-10ME,J,40,10,M,E,,,MS-J-40x10.step +J40-10MEU,J,40,10,M,E,,U,MS-J-40x10.step +J40-10MECM,J,40,10,M,E,,CM,MS-J-40x10.step +J40-10MELB,J,40,10,M,E,LB,,MS-J-40x10.step +J40-10MELBU,J,40,10,M,E,LB,U,MS-J-40x10.step +J40-10MELBCM,J,40,10,M,E,LB,CM,MS-J-40x10.step +J40-10MEFA,J,40,10,M,E,FA,,MS-J-40x10.step +J40-10MEFAU,J,40,10,M,E,FA,U,MS-J-40x10.step +J40-10MEFACM,J,40,10,M,E,FA,CM,MS-J-40x10.step +J40-10MEFB,J,40,10,M,E,FB,,MS-J-40x10.step +J40-10MEFBU,J,40,10,M,E,FB,U,MS-J-40x10.step +J40-10MEFBCM,J,40,10,M,E,FB,CM,MS-J-40x10.step +J40-10MESDB,J,40,10,M,E,SDB,,MS-J-40x10.step +J40-10MESDBU,J,40,10,M,E,SDB,U,MS-J-40x10.step +J40-10MESDBCM,J,40,10,M,E,SDB,CM,MS-J-40x10.step +J40-10M,J,40,10,M,,,,MS-J-40x10.step +J40-10MU,J,40,10,M,,,U,MS-J-40x10.step +J40-10MCM,J,40,10,M,,,CM,MS-J-40x10.step +J40-10MLB,J,40,10,M,,LB,,MS-J-40x10.step +J40-10MLBU,J,40,10,M,,LB,U,MS-J-40x10.step +J40-10MLBCM,J,40,10,M,,LB,CM,MS-J-40x10.step +J40-10MFA,J,40,10,M,,FA,,MS-J-40x10.step +J40-10MFAU,J,40,10,M,,FA,U,MS-J-40x10.step +J40-10MFACM,J,40,10,M,,FA,CM,MS-J-40x10.step +J40-10MFB,J,40,10,M,,FB,,MS-J-40x10.step +J40-10MFBU,J,40,10,M,,FB,U,MS-J-40x10.step +J40-10MFBCM,J,40,10,M,,FB,CM,MS-J-40x10.step +J40-10MSDB,J,40,10,M,,SDB,,MS-J-40x10.step +J40-10MSDBU,J,40,10,M,,SDB,U,MS-J-40x10.step +J40-10MSDBCM,J,40,10,M,,SDB,CM,MS-J-40x10.step +J40-20E,J,40,20,,E,,,MS-J-40x20.step +J40-20EU,J,40,20,,E,,U,MS-J-40x20.step +J40-20ECM,J,40,20,,E,,CM,MS-J-40x20.step +J40-20ELB,J,40,20,,E,LB,,MS-J-40x20.step +J40-20ELBU,J,40,20,,E,LB,U,MS-J-40x20.step +J40-20ELBCM,J,40,20,,E,LB,CM,MS-J-40x20.step +J40-20EFA,J,40,20,,E,FA,,MS-J-40x20.step +J40-20EFAU,J,40,20,,E,FA,U,MS-J-40x20.step +J40-20EFACM,J,40,20,,E,FA,CM,MS-J-40x20.step +J40-20EFB,J,40,20,,E,FB,,MS-J-40x20.step +J40-20EFBU,J,40,20,,E,FB,U,MS-J-40x20.step +J40-20EFBCM,J,40,20,,E,FB,CM,MS-J-40x20.step +J40-20ESDB,J,40,20,,E,SDB,,MS-J-40x20.step +J40-20ESDBU,J,40,20,,E,SDB,U,MS-J-40x20.step +J40-20ESDBCM,J,40,20,,E,SDB,CM,MS-J-40x20.step +J40-20,J,40,20,,,,,MS-J-40x20.step +J40-20U,J,40,20,,,,U,MS-J-40x20.step +J40-20CM,J,40,20,,,,CM,MS-J-40x20.step +J40-20LB,J,40,20,,,LB,,MS-J-40x20.step +J40-20LBU,J,40,20,,,LB,U,MS-J-40x20.step +J40-20LBCM,J,40,20,,,LB,CM,MS-J-40x20.step +J40-20FA,J,40,20,,,FA,,MS-J-40x20.step +J40-20FAU,J,40,20,,,FA,U,MS-J-40x20.step +J40-20FACM,J,40,20,,,FA,CM,MS-J-40x20.step +J40-20FB,J,40,20,,,FB,,MS-J-40x20.step +J40-20FBU,J,40,20,,,FB,U,MS-J-40x20.step +J40-20FBCM,J,40,20,,,FB,CM,MS-J-40x20.step +J40-20SDB,J,40,20,,,SDB,,MS-J-40x20.step +J40-20SDBU,J,40,20,,,SDB,U,MS-J-40x20.step +J40-20SDBCM,J,40,20,,,SDB,CM,MS-J-40x20.step +J40-20ME,J,40,20,M,E,,,MS-J-40x20.step +J40-20MEU,J,40,20,M,E,,U,MS-J-40x20.step +J40-20MECM,J,40,20,M,E,,CM,MS-J-40x20.step +J40-20MELB,J,40,20,M,E,LB,,MS-J-40x20.step +J40-20MELBU,J,40,20,M,E,LB,U,MS-J-40x20.step +J40-20MELBCM,J,40,20,M,E,LB,CM,MS-J-40x20.step +J40-20MEFA,J,40,20,M,E,FA,,MS-J-40x20.step +J40-20MEFAU,J,40,20,M,E,FA,U,MS-J-40x20.step +J40-20MEFACM,J,40,20,M,E,FA,CM,MS-J-40x20.step +J40-20MEFB,J,40,20,M,E,FB,,MS-J-40x20.step +J40-20MEFBU,J,40,20,M,E,FB,U,MS-J-40x20.step +J40-20MEFBCM,J,40,20,M,E,FB,CM,MS-J-40x20.step +J40-20MESDB,J,40,20,M,E,SDB,,MS-J-40x20.step +J40-20MESDBU,J,40,20,M,E,SDB,U,MS-J-40x20.step +J40-20MESDBCM,J,40,20,M,E,SDB,CM,MS-J-40x20.step +J40-20M,J,40,20,M,,,,MS-J-40x20.step +J40-20MU,J,40,20,M,,,U,MS-J-40x20.step +J40-20MCM,J,40,20,M,,,CM,MS-J-40x20.step +J40-20MLB,J,40,20,M,,LB,,MS-J-40x20.step +J40-20MLBU,J,40,20,M,,LB,U,MS-J-40x20.step +J40-20MLBCM,J,40,20,M,,LB,CM,MS-J-40x20.step +J40-20MFA,J,40,20,M,,FA,,MS-J-40x20.step +J40-20MFAU,J,40,20,M,,FA,U,MS-J-40x20.step +J40-20MFACM,J,40,20,M,,FA,CM,MS-J-40x20.step +J40-20MFB,J,40,20,M,,FB,,MS-J-40x20.step +J40-20MFBU,J,40,20,M,,FB,U,MS-J-40x20.step +J40-20MFBCM,J,40,20,M,,FB,CM,MS-J-40x20.step +J40-20MSDB,J,40,20,M,,SDB,,MS-J-40x20.step +J40-20MSDBU,J,40,20,M,,SDB,U,MS-J-40x20.step +J40-20MSDBCM,J,40,20,M,,SDB,CM,MS-J-40x20.step +J40-30E,J,40,30,,E,,,MS-J-40x30.step +J40-30EU,J,40,30,,E,,U,MS-J-40x30.step +J40-30ECM,J,40,30,,E,,CM,MS-J-40x30.step +J40-30ELB,J,40,30,,E,LB,,MS-J-40x30.step +J40-30ELBU,J,40,30,,E,LB,U,MS-J-40x30.step +J40-30ELBCM,J,40,30,,E,LB,CM,MS-J-40x30.step +J40-30EFA,J,40,30,,E,FA,,MS-J-40x30.step +J40-30EFAU,J,40,30,,E,FA,U,MS-J-40x30.step +J40-30EFACM,J,40,30,,E,FA,CM,MS-J-40x30.step +J40-30EFB,J,40,30,,E,FB,,MS-J-40x30.step +J40-30EFBU,J,40,30,,E,FB,U,MS-J-40x30.step +J40-30EFBCM,J,40,30,,E,FB,CM,MS-J-40x30.step +J40-30ESDB,J,40,30,,E,SDB,,MS-J-40x30.step +J40-30ESDBU,J,40,30,,E,SDB,U,MS-J-40x30.step +J40-30ESDBCM,J,40,30,,E,SDB,CM,MS-J-40x30.step +J40-30,J,40,30,,,,,MS-J-40x30.step +J40-30U,J,40,30,,,,U,MS-J-40x30.step +J40-30CM,J,40,30,,,,CM,MS-J-40x30.step +J40-30LB,J,40,30,,,LB,,MS-J-40x30.step +J40-30LBU,J,40,30,,,LB,U,MS-J-40x30.step +J40-30LBCM,J,40,30,,,LB,CM,MS-J-40x30.step +J40-30FA,J,40,30,,,FA,,MS-J-40x30.step +J40-30FAU,J,40,30,,,FA,U,MS-J-40x30.step +J40-30FACM,J,40,30,,,FA,CM,MS-J-40x30.step +J40-30FB,J,40,30,,,FB,,MS-J-40x30.step +J40-30FBU,J,40,30,,,FB,U,MS-J-40x30.step +J40-30FBCM,J,40,30,,,FB,CM,MS-J-40x30.step +J40-30SDB,J,40,30,,,SDB,,MS-J-40x30.step +J40-30SDBU,J,40,30,,,SDB,U,MS-J-40x30.step +J40-30SDBCM,J,40,30,,,SDB,CM,MS-J-40x30.step +J40-30ME,J,40,30,M,E,,,MS-J-40x30.step +J40-30MEU,J,40,30,M,E,,U,MS-J-40x30.step +J40-30MECM,J,40,30,M,E,,CM,MS-J-40x30.step +J40-30MELB,J,40,30,M,E,LB,,MS-J-40x30.step +J40-30MELBU,J,40,30,M,E,LB,U,MS-J-40x30.step +J40-30MELBCM,J,40,30,M,E,LB,CM,MS-J-40x30.step +J40-30MEFA,J,40,30,M,E,FA,,MS-J-40x30.step +J40-30MEFAU,J,40,30,M,E,FA,U,MS-J-40x30.step +J40-30MEFACM,J,40,30,M,E,FA,CM,MS-J-40x30.step +J40-30MEFB,J,40,30,M,E,FB,,MS-J-40x30.step +J40-30MEFBU,J,40,30,M,E,FB,U,MS-J-40x30.step +J40-30MEFBCM,J,40,30,M,E,FB,CM,MS-J-40x30.step +J40-30MESDB,J,40,30,M,E,SDB,,MS-J-40x30.step +J40-30MESDBU,J,40,30,M,E,SDB,U,MS-J-40x30.step +J40-30MESDBCM,J,40,30,M,E,SDB,CM,MS-J-40x30.step +J40-30M,J,40,30,M,,,,MS-J-40x30.step +J40-30MU,J,40,30,M,,,U,MS-J-40x30.step +J40-30MCM,J,40,30,M,,,CM,MS-J-40x30.step +J40-30MLB,J,40,30,M,,LB,,MS-J-40x30.step +J40-30MLBU,J,40,30,M,,LB,U,MS-J-40x30.step +J40-30MLBCM,J,40,30,M,,LB,CM,MS-J-40x30.step +J40-30MFA,J,40,30,M,,FA,,MS-J-40x30.step +J40-30MFAU,J,40,30,M,,FA,U,MS-J-40x30.step +J40-30MFACM,J,40,30,M,,FA,CM,MS-J-40x30.step +J40-30MFB,J,40,30,M,,FB,,MS-J-40x30.step +J40-30MFBU,J,40,30,M,,FB,U,MS-J-40x30.step +J40-30MFBCM,J,40,30,M,,FB,CM,MS-J-40x30.step +J40-30MSDB,J,40,30,M,,SDB,,MS-J-40x30.step +J40-30MSDBU,J,40,30,M,,SDB,U,MS-J-40x30.step +J40-30MSDBCM,J,40,30,M,,SDB,CM,MS-J-40x30.step +J40-50E,J,40,50,,E,,,MS-J-40x50.step +J40-50EU,J,40,50,,E,,U,MS-J-40x50.step +J40-50ECM,J,40,50,,E,,CM,MS-J-40x50.step +J40-50ELB,J,40,50,,E,LB,,MS-J-40x50.step +J40-50ELBU,J,40,50,,E,LB,U,MS-J-40x50.step +J40-50ELBCM,J,40,50,,E,LB,CM,MS-J-40x50.step +J40-50EFA,J,40,50,,E,FA,,MS-J-40x50.step +J40-50EFAU,J,40,50,,E,FA,U,MS-J-40x50.step +J40-50EFACM,J,40,50,,E,FA,CM,MS-J-40x50.step +J40-50EFB,J,40,50,,E,FB,,MS-J-40x50.step +J40-50EFBU,J,40,50,,E,FB,U,MS-J-40x50.step +J40-50EFBCM,J,40,50,,E,FB,CM,MS-J-40x50.step +J40-50ESDB,J,40,50,,E,SDB,,MS-J-40x50.step +J40-50ESDBU,J,40,50,,E,SDB,U,MS-J-40x50.step +J40-50ESDBCM,J,40,50,,E,SDB,CM,MS-J-40x50.step +J40-50,J,40,50,,,,,MS-J-40x50.step +J40-50U,J,40,50,,,,U,MS-J-40x50.step +J40-50CM,J,40,50,,,,CM,MS-J-40x50.step +J40-50LB,J,40,50,,,LB,,MS-J-40x50.step +J40-50LBU,J,40,50,,,LB,U,MS-J-40x50.step +J40-50LBCM,J,40,50,,,LB,CM,MS-J-40x50.step +J40-50FA,J,40,50,,,FA,,MS-J-40x50.step +J40-50FAU,J,40,50,,,FA,U,MS-J-40x50.step +J40-50FACM,J,40,50,,,FA,CM,MS-J-40x50.step +J40-50FB,J,40,50,,,FB,,MS-J-40x50.step +J40-50FBU,J,40,50,,,FB,U,MS-J-40x50.step +J40-50FBCM,J,40,50,,,FB,CM,MS-J-40x50.step +J40-50SDB,J,40,50,,,SDB,,MS-J-40x50.step +J40-50SDBU,J,40,50,,,SDB,U,MS-J-40x50.step +J40-50SDBCM,J,40,50,,,SDB,CM,MS-J-40x50.step +J40-50ME,J,40,50,M,E,,,MS-J-40x50.step +J40-50MEU,J,40,50,M,E,,U,MS-J-40x50.step +J40-50MECM,J,40,50,M,E,,CM,MS-J-40x50.step +J40-50MELB,J,40,50,M,E,LB,,MS-J-40x50.step +J40-50MELBU,J,40,50,M,E,LB,U,MS-J-40x50.step +J40-50MELBCM,J,40,50,M,E,LB,CM,MS-J-40x50.step +J40-50MEFA,J,40,50,M,E,FA,,MS-J-40x50.step +J40-50MEFAU,J,40,50,M,E,FA,U,MS-J-40x50.step +J40-50MEFACM,J,40,50,M,E,FA,CM,MS-J-40x50.step +J40-50MEFB,J,40,50,M,E,FB,,MS-J-40x50.step +J40-50MEFBU,J,40,50,M,E,FB,U,MS-J-40x50.step +J40-50MEFBCM,J,40,50,M,E,FB,CM,MS-J-40x50.step +J40-50MESDB,J,40,50,M,E,SDB,,MS-J-40x50.step +J40-50MESDBU,J,40,50,M,E,SDB,U,MS-J-40x50.step +J40-50MESDBCM,J,40,50,M,E,SDB,CM,MS-J-40x50.step +J40-50M,J,40,50,M,,,,MS-J-40x50.step +J40-50MU,J,40,50,M,,,U,MS-J-40x50.step +J40-50MCM,J,40,50,M,,,CM,MS-J-40x50.step +J40-50MLB,J,40,50,M,,LB,,MS-J-40x50.step +J40-50MLBU,J,40,50,M,,LB,U,MS-J-40x50.step +J40-50MLBCM,J,40,50,M,,LB,CM,MS-J-40x50.step +J40-50MFA,J,40,50,M,,FA,,MS-J-40x50.step +J40-50MFAU,J,40,50,M,,FA,U,MS-J-40x50.step +J40-50MFACM,J,40,50,M,,FA,CM,MS-J-40x50.step +J40-50MFB,J,40,50,M,,FB,,MS-J-40x50.step +J40-50MFBU,J,40,50,M,,FB,U,MS-J-40x50.step +J40-50MFBCM,J,40,50,M,,FB,CM,MS-J-40x50.step +J40-50MSDB,J,40,50,M,,SDB,,MS-J-40x50.step +J40-50MSDBU,J,40,50,M,,SDB,U,MS-J-40x50.step +J40-50MSDBCM,J,40,50,M,,SDB,CM,MS-J-40x50.step +J40-75E,J,40,75,,E,,,MS-J-40x75.step +J40-75EU,J,40,75,,E,,U,MS-J-40x75.step +J40-75ECM,J,40,75,,E,,CM,MS-J-40x75.step +J40-75ELB,J,40,75,,E,LB,,MS-J-40x75.step +J40-75ELBU,J,40,75,,E,LB,U,MS-J-40x75.step +J40-75ELBCM,J,40,75,,E,LB,CM,MS-J-40x75.step +J40-75EFA,J,40,75,,E,FA,,MS-J-40x75.step +J40-75EFAU,J,40,75,,E,FA,U,MS-J-40x75.step +J40-75EFACM,J,40,75,,E,FA,CM,MS-J-40x75.step +J40-75EFB,J,40,75,,E,FB,,MS-J-40x75.step +J40-75EFBU,J,40,75,,E,FB,U,MS-J-40x75.step +J40-75EFBCM,J,40,75,,E,FB,CM,MS-J-40x75.step +J40-75ESDB,J,40,75,,E,SDB,,MS-J-40x75.step +J40-75ESDBU,J,40,75,,E,SDB,U,MS-J-40x75.step +J40-75ESDBCM,J,40,75,,E,SDB,CM,MS-J-40x75.step +J40-75,J,40,75,,,,,MS-J-40x75.step +J40-75U,J,40,75,,,,U,MS-J-40x75.step +J40-75CM,J,40,75,,,,CM,MS-J-40x75.step +J40-75LB,J,40,75,,,LB,,MS-J-40x75.step +J40-75LBU,J,40,75,,,LB,U,MS-J-40x75.step +J40-75LBCM,J,40,75,,,LB,CM,MS-J-40x75.step +J40-75FA,J,40,75,,,FA,,MS-J-40x75.step +J40-75FAU,J,40,75,,,FA,U,MS-J-40x75.step +J40-75FACM,J,40,75,,,FA,CM,MS-J-40x75.step +J40-75FB,J,40,75,,,FB,,MS-J-40x75.step +J40-75FBU,J,40,75,,,FB,U,MS-J-40x75.step +J40-75FBCM,J,40,75,,,FB,CM,MS-J-40x75.step +J40-75SDB,J,40,75,,,SDB,,MS-J-40x75.step +J40-75SDBU,J,40,75,,,SDB,U,MS-J-40x75.step +J40-75SDBCM,J,40,75,,,SDB,CM,MS-J-40x75.step +J40-75ME,J,40,75,M,E,,,MS-J-40x75.step +J40-75MEU,J,40,75,M,E,,U,MS-J-40x75.step +J40-75MECM,J,40,75,M,E,,CM,MS-J-40x75.step +J40-75MELB,J,40,75,M,E,LB,,MS-J-40x75.step +J40-75MELBU,J,40,75,M,E,LB,U,MS-J-40x75.step +J40-75MELBCM,J,40,75,M,E,LB,CM,MS-J-40x75.step +J40-75MEFA,J,40,75,M,E,FA,,MS-J-40x75.step +J40-75MEFAU,J,40,75,M,E,FA,U,MS-J-40x75.step +J40-75MEFACM,J,40,75,M,E,FA,CM,MS-J-40x75.step +J40-75MEFB,J,40,75,M,E,FB,,MS-J-40x75.step +J40-75MEFBU,J,40,75,M,E,FB,U,MS-J-40x75.step +J40-75MEFBCM,J,40,75,M,E,FB,CM,MS-J-40x75.step +J40-75MESDB,J,40,75,M,E,SDB,,MS-J-40x75.step +J40-75MESDBU,J,40,75,M,E,SDB,U,MS-J-40x75.step +J40-75MESDBCM,J,40,75,M,E,SDB,CM,MS-J-40x75.step +J40-75M,J,40,75,M,,,,MS-J-40x75.step +J40-75MU,J,40,75,M,,,U,MS-J-40x75.step +J40-75MCM,J,40,75,M,,,CM,MS-J-40x75.step +J40-75MLB,J,40,75,M,,LB,,MS-J-40x75.step +J40-75MLBU,J,40,75,M,,LB,U,MS-J-40x75.step +J40-75MLBCM,J,40,75,M,,LB,CM,MS-J-40x75.step +J40-75MFA,J,40,75,M,,FA,,MS-J-40x75.step +J40-75MFAU,J,40,75,M,,FA,U,MS-J-40x75.step +J40-75MFACM,J,40,75,M,,FA,CM,MS-J-40x75.step +J40-75MFB,J,40,75,M,,FB,,MS-J-40x75.step +J40-75MFBU,J,40,75,M,,FB,U,MS-J-40x75.step +J40-75MFBCM,J,40,75,M,,FB,CM,MS-J-40x75.step +J40-75MSDB,J,40,75,M,,SDB,,MS-J-40x75.step +J40-75MSDBU,J,40,75,M,,SDB,U,MS-J-40x75.step +J40-75MSDBCM,J,40,75,M,,SDB,CM,MS-J-40x75.step +J40-100E,J,40,100,,E,,,MS-J-40x100.step +J40-100EU,J,40,100,,E,,U,MS-J-40x100.step +J40-100ECM,J,40,100,,E,,CM,MS-J-40x100.step +J40-100ELB,J,40,100,,E,LB,,MS-J-40x100.step +J40-100ELBU,J,40,100,,E,LB,U,MS-J-40x100.step +J40-100ELBCM,J,40,100,,E,LB,CM,MS-J-40x100.step +J40-100EFA,J,40,100,,E,FA,,MS-J-40x100.step +J40-100EFAU,J,40,100,,E,FA,U,MS-J-40x100.step +J40-100EFACM,J,40,100,,E,FA,CM,MS-J-40x100.step +J40-100EFB,J,40,100,,E,FB,,MS-J-40x100.step +J40-100EFBU,J,40,100,,E,FB,U,MS-J-40x100.step +J40-100EFBCM,J,40,100,,E,FB,CM,MS-J-40x100.step +J40-100ESDB,J,40,100,,E,SDB,,MS-J-40x100.step +J40-100ESDBU,J,40,100,,E,SDB,U,MS-J-40x100.step +J40-100ESDBCM,J,40,100,,E,SDB,CM,MS-J-40x100.step +J40-100,J,40,100,,,,,MS-J-40x100.step +J40-100U,J,40,100,,,,U,MS-J-40x100.step +J40-100CM,J,40,100,,,,CM,MS-J-40x100.step +J40-100LB,J,40,100,,,LB,,MS-J-40x100.step +J40-100LBU,J,40,100,,,LB,U,MS-J-40x100.step +J40-100LBCM,J,40,100,,,LB,CM,MS-J-40x100.step +J40-100FA,J,40,100,,,FA,,MS-J-40x100.step +J40-100FAU,J,40,100,,,FA,U,MS-J-40x100.step +J40-100FACM,J,40,100,,,FA,CM,MS-J-40x100.step +J40-100FB,J,40,100,,,FB,,MS-J-40x100.step +J40-100FBU,J,40,100,,,FB,U,MS-J-40x100.step +J40-100FBCM,J,40,100,,,FB,CM,MS-J-40x100.step +J40-100SDB,J,40,100,,,SDB,,MS-J-40x100.step +J40-100SDBU,J,40,100,,,SDB,U,MS-J-40x100.step +J40-100SDBCM,J,40,100,,,SDB,CM,MS-J-40x100.step +J40-100ME,J,40,100,M,E,,,MS-J-40x100.step +J40-100MEU,J,40,100,M,E,,U,MS-J-40x100.step +J40-100MECM,J,40,100,M,E,,CM,MS-J-40x100.step +J40-100MELB,J,40,100,M,E,LB,,MS-J-40x100.step +J40-100MELBU,J,40,100,M,E,LB,U,MS-J-40x100.step +J40-100MELBCM,J,40,100,M,E,LB,CM,MS-J-40x100.step +J40-100MEFA,J,40,100,M,E,FA,,MS-J-40x100.step +J40-100MEFAU,J,40,100,M,E,FA,U,MS-J-40x100.step +J40-100MEFACM,J,40,100,M,E,FA,CM,MS-J-40x100.step +J40-100MEFB,J,40,100,M,E,FB,,MS-J-40x100.step +J40-100MEFBU,J,40,100,M,E,FB,U,MS-J-40x100.step +J40-100MEFBCM,J,40,100,M,E,FB,CM,MS-J-40x100.step +J40-100MESDB,J,40,100,M,E,SDB,,MS-J-40x100.step +J40-100MESDBU,J,40,100,M,E,SDB,U,MS-J-40x100.step +J40-100MESDBCM,J,40,100,M,E,SDB,CM,MS-J-40x100.step +J40-100M,J,40,100,M,,,,MS-J-40x100.step +J40-100MU,J,40,100,M,,,U,MS-J-40x100.step +J40-100MCM,J,40,100,M,,,CM,MS-J-40x100.step +J40-100MLB,J,40,100,M,,LB,,MS-J-40x100.step +J40-100MLBU,J,40,100,M,,LB,U,MS-J-40x100.step +J40-100MLBCM,J,40,100,M,,LB,CM,MS-J-40x100.step +J40-100MFA,J,40,100,M,,FA,,MS-J-40x100.step +J40-100MFAU,J,40,100,M,,FA,U,MS-J-40x100.step +J40-100MFACM,J,40,100,M,,FA,CM,MS-J-40x100.step +J40-100MFB,J,40,100,M,,FB,,MS-J-40x100.step +J40-100MFBU,J,40,100,M,,FB,U,MS-J-40x100.step +J40-100MFBCM,J,40,100,M,,FB,CM,MS-J-40x100.step +J40-100MSDB,J,40,100,M,,SDB,,MS-J-40x100.step +J40-100MSDBU,J,40,100,M,,SDB,U,MS-J-40x100.step +J40-100MSDBCM,J,40,100,M,,SDB,CM,MS-J-40x100.step diff --git a/onebot-data/catalog/csv/MSC.csv b/onebot-data/catalog/csv/MSC.csv new file mode 100644 index 0000000..af1a1a5 --- /dev/null +++ b/onebot-data/catalog/csv/MSC.csv @@ -0,0 +1,5401 @@ +model_code,action,bore,stroke,magnet,rod,mount,cap,step_file +C16-10E,C,16,10,,E,,,MSC-C-16x10.step +C16-10EU,C,16,10,,E,,U,MSC-C-16x10.step +C16-10ECM,C,16,10,,E,,CM,MSC-C-16x10.step +C16-10ELB,C,16,10,,E,LB,,MSC-C-16x10.step +C16-10ELBU,C,16,10,,E,LB,U,MSC-C-16x10.step +C16-10ELBCM,C,16,10,,E,LB,CM,MSC-C-16x10.step +C16-10EFA,C,16,10,,E,FA,,MSC-C-16x10.step +C16-10EFAU,C,16,10,,E,FA,U,MSC-C-16x10.step +C16-10EFACM,C,16,10,,E,FA,CM,MSC-C-16x10.step +C16-10EFB,C,16,10,,E,FB,,MSC-C-16x10.step +C16-10EFBU,C,16,10,,E,FB,U,MSC-C-16x10.step +C16-10EFBCM,C,16,10,,E,FB,CM,MSC-C-16x10.step +C16-10ESDB,C,16,10,,E,SDB,,MSC-C-16x10.step +C16-10ESDBU,C,16,10,,E,SDB,U,MSC-C-16x10.step +C16-10ESDBCM,C,16,10,,E,SDB,CM,MSC-C-16x10.step +C16-10,C,16,10,,,,,MSC-C-16x10.step +C16-10U,C,16,10,,,,U,MSC-C-16x10.step +C16-10CM,C,16,10,,,,CM,MSC-C-16x10.step +C16-10LB,C,16,10,,,LB,,MSC-C-16x10.step +C16-10LBU,C,16,10,,,LB,U,MSC-C-16x10.step +C16-10LBCM,C,16,10,,,LB,CM,MSC-C-16x10.step +C16-10FA,C,16,10,,,FA,,MSC-C-16x10.step +C16-10FAU,C,16,10,,,FA,U,MSC-C-16x10.step +C16-10FACM,C,16,10,,,FA,CM,MSC-C-16x10.step +C16-10FB,C,16,10,,,FB,,MSC-C-16x10.step +C16-10FBU,C,16,10,,,FB,U,MSC-C-16x10.step +C16-10FBCM,C,16,10,,,FB,CM,MSC-C-16x10.step +C16-10SDB,C,16,10,,,SDB,,MSC-C-16x10.step +C16-10SDBU,C,16,10,,,SDB,U,MSC-C-16x10.step +C16-10SDBCM,C,16,10,,,SDB,CM,MSC-C-16x10.step +C16-10ME,C,16,10,M,E,,,MSC-C-16x10.step +C16-10MEU,C,16,10,M,E,,U,MSC-C-16x10.step +C16-10MECM,C,16,10,M,E,,CM,MSC-C-16x10.step +C16-10MELB,C,16,10,M,E,LB,,MSC-C-16x10.step +C16-10MELBU,C,16,10,M,E,LB,U,MSC-C-16x10.step +C16-10MELBCM,C,16,10,M,E,LB,CM,MSC-C-16x10.step +C16-10MEFA,C,16,10,M,E,FA,,MSC-C-16x10.step +C16-10MEFAU,C,16,10,M,E,FA,U,MSC-C-16x10.step +C16-10MEFACM,C,16,10,M,E,FA,CM,MSC-C-16x10.step +C16-10MEFB,C,16,10,M,E,FB,,MSC-C-16x10.step +C16-10MEFBU,C,16,10,M,E,FB,U,MSC-C-16x10.step +C16-10MEFBCM,C,16,10,M,E,FB,CM,MSC-C-16x10.step +C16-10MESDB,C,16,10,M,E,SDB,,MSC-C-16x10.step +C16-10MESDBU,C,16,10,M,E,SDB,U,MSC-C-16x10.step +C16-10MESDBCM,C,16,10,M,E,SDB,CM,MSC-C-16x10.step +C16-10M,C,16,10,M,,,,MSC-C-16x10.step +C16-10MU,C,16,10,M,,,U,MSC-C-16x10.step +C16-10MCM,C,16,10,M,,,CM,MSC-C-16x10.step +C16-10MLB,C,16,10,M,,LB,,MSC-C-16x10.step +C16-10MLBU,C,16,10,M,,LB,U,MSC-C-16x10.step +C16-10MLBCM,C,16,10,M,,LB,CM,MSC-C-16x10.step +C16-10MFA,C,16,10,M,,FA,,MSC-C-16x10.step +C16-10MFAU,C,16,10,M,,FA,U,MSC-C-16x10.step +C16-10MFACM,C,16,10,M,,FA,CM,MSC-C-16x10.step +C16-10MFB,C,16,10,M,,FB,,MSC-C-16x10.step +C16-10MFBU,C,16,10,M,,FB,U,MSC-C-16x10.step +C16-10MFBCM,C,16,10,M,,FB,CM,MSC-C-16x10.step +C16-10MSDB,C,16,10,M,,SDB,,MSC-C-16x10.step +C16-10MSDBU,C,16,10,M,,SDB,U,MSC-C-16x10.step +C16-10MSDBCM,C,16,10,M,,SDB,CM,MSC-C-16x10.step +C16-20E,C,16,20,,E,,,MSC-C-16x20.step +C16-20EU,C,16,20,,E,,U,MSC-C-16x20.step +C16-20ECM,C,16,20,,E,,CM,MSC-C-16x20.step +C16-20ELB,C,16,20,,E,LB,,MSC-C-16x20.step +C16-20ELBU,C,16,20,,E,LB,U,MSC-C-16x20.step +C16-20ELBCM,C,16,20,,E,LB,CM,MSC-C-16x20.step +C16-20EFA,C,16,20,,E,FA,,MSC-C-16x20.step +C16-20EFAU,C,16,20,,E,FA,U,MSC-C-16x20.step +C16-20EFACM,C,16,20,,E,FA,CM,MSC-C-16x20.step +C16-20EFB,C,16,20,,E,FB,,MSC-C-16x20.step +C16-20EFBU,C,16,20,,E,FB,U,MSC-C-16x20.step +C16-20EFBCM,C,16,20,,E,FB,CM,MSC-C-16x20.step +C16-20ESDB,C,16,20,,E,SDB,,MSC-C-16x20.step +C16-20ESDBU,C,16,20,,E,SDB,U,MSC-C-16x20.step +C16-20ESDBCM,C,16,20,,E,SDB,CM,MSC-C-16x20.step +C16-20,C,16,20,,,,,MSC-C-16x20.step +C16-20U,C,16,20,,,,U,MSC-C-16x20.step +C16-20CM,C,16,20,,,,CM,MSC-C-16x20.step +C16-20LB,C,16,20,,,LB,,MSC-C-16x20.step +C16-20LBU,C,16,20,,,LB,U,MSC-C-16x20.step +C16-20LBCM,C,16,20,,,LB,CM,MSC-C-16x20.step +C16-20FA,C,16,20,,,FA,,MSC-C-16x20.step +C16-20FAU,C,16,20,,,FA,U,MSC-C-16x20.step +C16-20FACM,C,16,20,,,FA,CM,MSC-C-16x20.step +C16-20FB,C,16,20,,,FB,,MSC-C-16x20.step +C16-20FBU,C,16,20,,,FB,U,MSC-C-16x20.step +C16-20FBCM,C,16,20,,,FB,CM,MSC-C-16x20.step +C16-20SDB,C,16,20,,,SDB,,MSC-C-16x20.step +C16-20SDBU,C,16,20,,,SDB,U,MSC-C-16x20.step +C16-20SDBCM,C,16,20,,,SDB,CM,MSC-C-16x20.step +C16-20ME,C,16,20,M,E,,,MSC-C-16x20.step +C16-20MEU,C,16,20,M,E,,U,MSC-C-16x20.step +C16-20MECM,C,16,20,M,E,,CM,MSC-C-16x20.step +C16-20MELB,C,16,20,M,E,LB,,MSC-C-16x20.step +C16-20MELBU,C,16,20,M,E,LB,U,MSC-C-16x20.step +C16-20MELBCM,C,16,20,M,E,LB,CM,MSC-C-16x20.step +C16-20MEFA,C,16,20,M,E,FA,,MSC-C-16x20.step +C16-20MEFAU,C,16,20,M,E,FA,U,MSC-C-16x20.step +C16-20MEFACM,C,16,20,M,E,FA,CM,MSC-C-16x20.step +C16-20MEFB,C,16,20,M,E,FB,,MSC-C-16x20.step +C16-20MEFBU,C,16,20,M,E,FB,U,MSC-C-16x20.step +C16-20MEFBCM,C,16,20,M,E,FB,CM,MSC-C-16x20.step +C16-20MESDB,C,16,20,M,E,SDB,,MSC-C-16x20.step +C16-20MESDBU,C,16,20,M,E,SDB,U,MSC-C-16x20.step +C16-20MESDBCM,C,16,20,M,E,SDB,CM,MSC-C-16x20.step +C16-20M,C,16,20,M,,,,MSC-C-16x20.step +C16-20MU,C,16,20,M,,,U,MSC-C-16x20.step +C16-20MCM,C,16,20,M,,,CM,MSC-C-16x20.step +C16-20MLB,C,16,20,M,,LB,,MSC-C-16x20.step +C16-20MLBU,C,16,20,M,,LB,U,MSC-C-16x20.step +C16-20MLBCM,C,16,20,M,,LB,CM,MSC-C-16x20.step +C16-20MFA,C,16,20,M,,FA,,MSC-C-16x20.step +C16-20MFAU,C,16,20,M,,FA,U,MSC-C-16x20.step +C16-20MFACM,C,16,20,M,,FA,CM,MSC-C-16x20.step +C16-20MFB,C,16,20,M,,FB,,MSC-C-16x20.step +C16-20MFBU,C,16,20,M,,FB,U,MSC-C-16x20.step +C16-20MFBCM,C,16,20,M,,FB,CM,MSC-C-16x20.step +C16-20MSDB,C,16,20,M,,SDB,,MSC-C-16x20.step +C16-20MSDBU,C,16,20,M,,SDB,U,MSC-C-16x20.step +C16-20MSDBCM,C,16,20,M,,SDB,CM,MSC-C-16x20.step +C16-30E,C,16,30,,E,,,MSC-C-16x30.step +C16-30EU,C,16,30,,E,,U,MSC-C-16x30.step +C16-30ECM,C,16,30,,E,,CM,MSC-C-16x30.step +C16-30ELB,C,16,30,,E,LB,,MSC-C-16x30.step +C16-30ELBU,C,16,30,,E,LB,U,MSC-C-16x30.step +C16-30ELBCM,C,16,30,,E,LB,CM,MSC-C-16x30.step +C16-30EFA,C,16,30,,E,FA,,MSC-C-16x30.step +C16-30EFAU,C,16,30,,E,FA,U,MSC-C-16x30.step +C16-30EFACM,C,16,30,,E,FA,CM,MSC-C-16x30.step +C16-30EFB,C,16,30,,E,FB,,MSC-C-16x30.step +C16-30EFBU,C,16,30,,E,FB,U,MSC-C-16x30.step +C16-30EFBCM,C,16,30,,E,FB,CM,MSC-C-16x30.step +C16-30ESDB,C,16,30,,E,SDB,,MSC-C-16x30.step +C16-30ESDBU,C,16,30,,E,SDB,U,MSC-C-16x30.step +C16-30ESDBCM,C,16,30,,E,SDB,CM,MSC-C-16x30.step +C16-30,C,16,30,,,,,MSC-C-16x30.step +C16-30U,C,16,30,,,,U,MSC-C-16x30.step +C16-30CM,C,16,30,,,,CM,MSC-C-16x30.step +C16-30LB,C,16,30,,,LB,,MSC-C-16x30.step +C16-30LBU,C,16,30,,,LB,U,MSC-C-16x30.step +C16-30LBCM,C,16,30,,,LB,CM,MSC-C-16x30.step +C16-30FA,C,16,30,,,FA,,MSC-C-16x30.step +C16-30FAU,C,16,30,,,FA,U,MSC-C-16x30.step +C16-30FACM,C,16,30,,,FA,CM,MSC-C-16x30.step +C16-30FB,C,16,30,,,FB,,MSC-C-16x30.step +C16-30FBU,C,16,30,,,FB,U,MSC-C-16x30.step +C16-30FBCM,C,16,30,,,FB,CM,MSC-C-16x30.step +C16-30SDB,C,16,30,,,SDB,,MSC-C-16x30.step +C16-30SDBU,C,16,30,,,SDB,U,MSC-C-16x30.step +C16-30SDBCM,C,16,30,,,SDB,CM,MSC-C-16x30.step +C16-30ME,C,16,30,M,E,,,MSC-C-16x30.step +C16-30MEU,C,16,30,M,E,,U,MSC-C-16x30.step +C16-30MECM,C,16,30,M,E,,CM,MSC-C-16x30.step +C16-30MELB,C,16,30,M,E,LB,,MSC-C-16x30.step +C16-30MELBU,C,16,30,M,E,LB,U,MSC-C-16x30.step +C16-30MELBCM,C,16,30,M,E,LB,CM,MSC-C-16x30.step +C16-30MEFA,C,16,30,M,E,FA,,MSC-C-16x30.step +C16-30MEFAU,C,16,30,M,E,FA,U,MSC-C-16x30.step +C16-30MEFACM,C,16,30,M,E,FA,CM,MSC-C-16x30.step +C16-30MEFB,C,16,30,M,E,FB,,MSC-C-16x30.step +C16-30MEFBU,C,16,30,M,E,FB,U,MSC-C-16x30.step +C16-30MEFBCM,C,16,30,M,E,FB,CM,MSC-C-16x30.step +C16-30MESDB,C,16,30,M,E,SDB,,MSC-C-16x30.step +C16-30MESDBU,C,16,30,M,E,SDB,U,MSC-C-16x30.step +C16-30MESDBCM,C,16,30,M,E,SDB,CM,MSC-C-16x30.step +C16-30M,C,16,30,M,,,,MSC-C-16x30.step +C16-30MU,C,16,30,M,,,U,MSC-C-16x30.step +C16-30MCM,C,16,30,M,,,CM,MSC-C-16x30.step +C16-30MLB,C,16,30,M,,LB,,MSC-C-16x30.step +C16-30MLBU,C,16,30,M,,LB,U,MSC-C-16x30.step +C16-30MLBCM,C,16,30,M,,LB,CM,MSC-C-16x30.step +C16-30MFA,C,16,30,M,,FA,,MSC-C-16x30.step +C16-30MFAU,C,16,30,M,,FA,U,MSC-C-16x30.step +C16-30MFACM,C,16,30,M,,FA,CM,MSC-C-16x30.step +C16-30MFB,C,16,30,M,,FB,,MSC-C-16x30.step +C16-30MFBU,C,16,30,M,,FB,U,MSC-C-16x30.step +C16-30MFBCM,C,16,30,M,,FB,CM,MSC-C-16x30.step +C16-30MSDB,C,16,30,M,,SDB,,MSC-C-16x30.step +C16-30MSDBU,C,16,30,M,,SDB,U,MSC-C-16x30.step +C16-30MSDBCM,C,16,30,M,,SDB,CM,MSC-C-16x30.step +C16-50E,C,16,50,,E,,,MSC-C-16x50.step +C16-50EU,C,16,50,,E,,U,MSC-C-16x50.step +C16-50ECM,C,16,50,,E,,CM,MSC-C-16x50.step +C16-50ELB,C,16,50,,E,LB,,MSC-C-16x50.step +C16-50ELBU,C,16,50,,E,LB,U,MSC-C-16x50.step +C16-50ELBCM,C,16,50,,E,LB,CM,MSC-C-16x50.step +C16-50EFA,C,16,50,,E,FA,,MSC-C-16x50.step +C16-50EFAU,C,16,50,,E,FA,U,MSC-C-16x50.step +C16-50EFACM,C,16,50,,E,FA,CM,MSC-C-16x50.step +C16-50EFB,C,16,50,,E,FB,,MSC-C-16x50.step +C16-50EFBU,C,16,50,,E,FB,U,MSC-C-16x50.step +C16-50EFBCM,C,16,50,,E,FB,CM,MSC-C-16x50.step +C16-50ESDB,C,16,50,,E,SDB,,MSC-C-16x50.step +C16-50ESDBU,C,16,50,,E,SDB,U,MSC-C-16x50.step +C16-50ESDBCM,C,16,50,,E,SDB,CM,MSC-C-16x50.step +C16-50,C,16,50,,,,,MSC-C-16x50.step +C16-50U,C,16,50,,,,U,MSC-C-16x50.step +C16-50CM,C,16,50,,,,CM,MSC-C-16x50.step +C16-50LB,C,16,50,,,LB,,MSC-C-16x50.step +C16-50LBU,C,16,50,,,LB,U,MSC-C-16x50.step +C16-50LBCM,C,16,50,,,LB,CM,MSC-C-16x50.step +C16-50FA,C,16,50,,,FA,,MSC-C-16x50.step +C16-50FAU,C,16,50,,,FA,U,MSC-C-16x50.step +C16-50FACM,C,16,50,,,FA,CM,MSC-C-16x50.step +C16-50FB,C,16,50,,,FB,,MSC-C-16x50.step +C16-50FBU,C,16,50,,,FB,U,MSC-C-16x50.step +C16-50FBCM,C,16,50,,,FB,CM,MSC-C-16x50.step +C16-50SDB,C,16,50,,,SDB,,MSC-C-16x50.step +C16-50SDBU,C,16,50,,,SDB,U,MSC-C-16x50.step +C16-50SDBCM,C,16,50,,,SDB,CM,MSC-C-16x50.step +C16-50ME,C,16,50,M,E,,,MSC-C-16x50.step +C16-50MEU,C,16,50,M,E,,U,MSC-C-16x50.step +C16-50MECM,C,16,50,M,E,,CM,MSC-C-16x50.step +C16-50MELB,C,16,50,M,E,LB,,MSC-C-16x50.step +C16-50MELBU,C,16,50,M,E,LB,U,MSC-C-16x50.step +C16-50MELBCM,C,16,50,M,E,LB,CM,MSC-C-16x50.step +C16-50MEFA,C,16,50,M,E,FA,,MSC-C-16x50.step +C16-50MEFAU,C,16,50,M,E,FA,U,MSC-C-16x50.step +C16-50MEFACM,C,16,50,M,E,FA,CM,MSC-C-16x50.step +C16-50MEFB,C,16,50,M,E,FB,,MSC-C-16x50.step +C16-50MEFBU,C,16,50,M,E,FB,U,MSC-C-16x50.step +C16-50MEFBCM,C,16,50,M,E,FB,CM,MSC-C-16x50.step +C16-50MESDB,C,16,50,M,E,SDB,,MSC-C-16x50.step +C16-50MESDBU,C,16,50,M,E,SDB,U,MSC-C-16x50.step +C16-50MESDBCM,C,16,50,M,E,SDB,CM,MSC-C-16x50.step +C16-50M,C,16,50,M,,,,MSC-C-16x50.step +C16-50MU,C,16,50,M,,,U,MSC-C-16x50.step +C16-50MCM,C,16,50,M,,,CM,MSC-C-16x50.step +C16-50MLB,C,16,50,M,,LB,,MSC-C-16x50.step +C16-50MLBU,C,16,50,M,,LB,U,MSC-C-16x50.step +C16-50MLBCM,C,16,50,M,,LB,CM,MSC-C-16x50.step +C16-50MFA,C,16,50,M,,FA,,MSC-C-16x50.step +C16-50MFAU,C,16,50,M,,FA,U,MSC-C-16x50.step +C16-50MFACM,C,16,50,M,,FA,CM,MSC-C-16x50.step +C16-50MFB,C,16,50,M,,FB,,MSC-C-16x50.step +C16-50MFBU,C,16,50,M,,FB,U,MSC-C-16x50.step +C16-50MFBCM,C,16,50,M,,FB,CM,MSC-C-16x50.step +C16-50MSDB,C,16,50,M,,SDB,,MSC-C-16x50.step +C16-50MSDBU,C,16,50,M,,SDB,U,MSC-C-16x50.step +C16-50MSDBCM,C,16,50,M,,SDB,CM,MSC-C-16x50.step +C16-75E,C,16,75,,E,,,MSC-C-16x75.step +C16-75EU,C,16,75,,E,,U,MSC-C-16x75.step +C16-75ECM,C,16,75,,E,,CM,MSC-C-16x75.step +C16-75ELB,C,16,75,,E,LB,,MSC-C-16x75.step +C16-75ELBU,C,16,75,,E,LB,U,MSC-C-16x75.step +C16-75ELBCM,C,16,75,,E,LB,CM,MSC-C-16x75.step +C16-75EFA,C,16,75,,E,FA,,MSC-C-16x75.step +C16-75EFAU,C,16,75,,E,FA,U,MSC-C-16x75.step +C16-75EFACM,C,16,75,,E,FA,CM,MSC-C-16x75.step +C16-75EFB,C,16,75,,E,FB,,MSC-C-16x75.step +C16-75EFBU,C,16,75,,E,FB,U,MSC-C-16x75.step +C16-75EFBCM,C,16,75,,E,FB,CM,MSC-C-16x75.step +C16-75ESDB,C,16,75,,E,SDB,,MSC-C-16x75.step +C16-75ESDBU,C,16,75,,E,SDB,U,MSC-C-16x75.step +C16-75ESDBCM,C,16,75,,E,SDB,CM,MSC-C-16x75.step +C16-75,C,16,75,,,,,MSC-C-16x75.step +C16-75U,C,16,75,,,,U,MSC-C-16x75.step +C16-75CM,C,16,75,,,,CM,MSC-C-16x75.step +C16-75LB,C,16,75,,,LB,,MSC-C-16x75.step +C16-75LBU,C,16,75,,,LB,U,MSC-C-16x75.step +C16-75LBCM,C,16,75,,,LB,CM,MSC-C-16x75.step +C16-75FA,C,16,75,,,FA,,MSC-C-16x75.step +C16-75FAU,C,16,75,,,FA,U,MSC-C-16x75.step +C16-75FACM,C,16,75,,,FA,CM,MSC-C-16x75.step +C16-75FB,C,16,75,,,FB,,MSC-C-16x75.step +C16-75FBU,C,16,75,,,FB,U,MSC-C-16x75.step +C16-75FBCM,C,16,75,,,FB,CM,MSC-C-16x75.step +C16-75SDB,C,16,75,,,SDB,,MSC-C-16x75.step +C16-75SDBU,C,16,75,,,SDB,U,MSC-C-16x75.step +C16-75SDBCM,C,16,75,,,SDB,CM,MSC-C-16x75.step +C16-75ME,C,16,75,M,E,,,MSC-C-16x75.step +C16-75MEU,C,16,75,M,E,,U,MSC-C-16x75.step +C16-75MECM,C,16,75,M,E,,CM,MSC-C-16x75.step +C16-75MELB,C,16,75,M,E,LB,,MSC-C-16x75.step +C16-75MELBU,C,16,75,M,E,LB,U,MSC-C-16x75.step +C16-75MELBCM,C,16,75,M,E,LB,CM,MSC-C-16x75.step +C16-75MEFA,C,16,75,M,E,FA,,MSC-C-16x75.step +C16-75MEFAU,C,16,75,M,E,FA,U,MSC-C-16x75.step +C16-75MEFACM,C,16,75,M,E,FA,CM,MSC-C-16x75.step +C16-75MEFB,C,16,75,M,E,FB,,MSC-C-16x75.step +C16-75MEFBU,C,16,75,M,E,FB,U,MSC-C-16x75.step +C16-75MEFBCM,C,16,75,M,E,FB,CM,MSC-C-16x75.step +C16-75MESDB,C,16,75,M,E,SDB,,MSC-C-16x75.step +C16-75MESDBU,C,16,75,M,E,SDB,U,MSC-C-16x75.step +C16-75MESDBCM,C,16,75,M,E,SDB,CM,MSC-C-16x75.step +C16-75M,C,16,75,M,,,,MSC-C-16x75.step +C16-75MU,C,16,75,M,,,U,MSC-C-16x75.step +C16-75MCM,C,16,75,M,,,CM,MSC-C-16x75.step +C16-75MLB,C,16,75,M,,LB,,MSC-C-16x75.step +C16-75MLBU,C,16,75,M,,LB,U,MSC-C-16x75.step +C16-75MLBCM,C,16,75,M,,LB,CM,MSC-C-16x75.step +C16-75MFA,C,16,75,M,,FA,,MSC-C-16x75.step +C16-75MFAU,C,16,75,M,,FA,U,MSC-C-16x75.step +C16-75MFACM,C,16,75,M,,FA,CM,MSC-C-16x75.step +C16-75MFB,C,16,75,M,,FB,,MSC-C-16x75.step +C16-75MFBU,C,16,75,M,,FB,U,MSC-C-16x75.step +C16-75MFBCM,C,16,75,M,,FB,CM,MSC-C-16x75.step +C16-75MSDB,C,16,75,M,,SDB,,MSC-C-16x75.step +C16-75MSDBU,C,16,75,M,,SDB,U,MSC-C-16x75.step +C16-75MSDBCM,C,16,75,M,,SDB,CM,MSC-C-16x75.step +C16-100E,C,16,100,,E,,,MSC-C-16x100.step +C16-100EU,C,16,100,,E,,U,MSC-C-16x100.step +C16-100ECM,C,16,100,,E,,CM,MSC-C-16x100.step +C16-100ELB,C,16,100,,E,LB,,MSC-C-16x100.step +C16-100ELBU,C,16,100,,E,LB,U,MSC-C-16x100.step +C16-100ELBCM,C,16,100,,E,LB,CM,MSC-C-16x100.step +C16-100EFA,C,16,100,,E,FA,,MSC-C-16x100.step +C16-100EFAU,C,16,100,,E,FA,U,MSC-C-16x100.step +C16-100EFACM,C,16,100,,E,FA,CM,MSC-C-16x100.step +C16-100EFB,C,16,100,,E,FB,,MSC-C-16x100.step +C16-100EFBU,C,16,100,,E,FB,U,MSC-C-16x100.step +C16-100EFBCM,C,16,100,,E,FB,CM,MSC-C-16x100.step +C16-100ESDB,C,16,100,,E,SDB,,MSC-C-16x100.step +C16-100ESDBU,C,16,100,,E,SDB,U,MSC-C-16x100.step +C16-100ESDBCM,C,16,100,,E,SDB,CM,MSC-C-16x100.step +C16-100,C,16,100,,,,,MSC-C-16x100.step +C16-100U,C,16,100,,,,U,MSC-C-16x100.step +C16-100CM,C,16,100,,,,CM,MSC-C-16x100.step +C16-100LB,C,16,100,,,LB,,MSC-C-16x100.step +C16-100LBU,C,16,100,,,LB,U,MSC-C-16x100.step +C16-100LBCM,C,16,100,,,LB,CM,MSC-C-16x100.step +C16-100FA,C,16,100,,,FA,,MSC-C-16x100.step +C16-100FAU,C,16,100,,,FA,U,MSC-C-16x100.step +C16-100FACM,C,16,100,,,FA,CM,MSC-C-16x100.step +C16-100FB,C,16,100,,,FB,,MSC-C-16x100.step +C16-100FBU,C,16,100,,,FB,U,MSC-C-16x100.step +C16-100FBCM,C,16,100,,,FB,CM,MSC-C-16x100.step +C16-100SDB,C,16,100,,,SDB,,MSC-C-16x100.step +C16-100SDBU,C,16,100,,,SDB,U,MSC-C-16x100.step +C16-100SDBCM,C,16,100,,,SDB,CM,MSC-C-16x100.step +C16-100ME,C,16,100,M,E,,,MSC-C-16x100.step +C16-100MEU,C,16,100,M,E,,U,MSC-C-16x100.step +C16-100MECM,C,16,100,M,E,,CM,MSC-C-16x100.step +C16-100MELB,C,16,100,M,E,LB,,MSC-C-16x100.step +C16-100MELBU,C,16,100,M,E,LB,U,MSC-C-16x100.step +C16-100MELBCM,C,16,100,M,E,LB,CM,MSC-C-16x100.step +C16-100MEFA,C,16,100,M,E,FA,,MSC-C-16x100.step +C16-100MEFAU,C,16,100,M,E,FA,U,MSC-C-16x100.step +C16-100MEFACM,C,16,100,M,E,FA,CM,MSC-C-16x100.step +C16-100MEFB,C,16,100,M,E,FB,,MSC-C-16x100.step +C16-100MEFBU,C,16,100,M,E,FB,U,MSC-C-16x100.step +C16-100MEFBCM,C,16,100,M,E,FB,CM,MSC-C-16x100.step +C16-100MESDB,C,16,100,M,E,SDB,,MSC-C-16x100.step +C16-100MESDBU,C,16,100,M,E,SDB,U,MSC-C-16x100.step +C16-100MESDBCM,C,16,100,M,E,SDB,CM,MSC-C-16x100.step +C16-100M,C,16,100,M,,,,MSC-C-16x100.step +C16-100MU,C,16,100,M,,,U,MSC-C-16x100.step +C16-100MCM,C,16,100,M,,,CM,MSC-C-16x100.step +C16-100MLB,C,16,100,M,,LB,,MSC-C-16x100.step +C16-100MLBU,C,16,100,M,,LB,U,MSC-C-16x100.step +C16-100MLBCM,C,16,100,M,,LB,CM,MSC-C-16x100.step +C16-100MFA,C,16,100,M,,FA,,MSC-C-16x100.step +C16-100MFAU,C,16,100,M,,FA,U,MSC-C-16x100.step +C16-100MFACM,C,16,100,M,,FA,CM,MSC-C-16x100.step +C16-100MFB,C,16,100,M,,FB,,MSC-C-16x100.step +C16-100MFBU,C,16,100,M,,FB,U,MSC-C-16x100.step +C16-100MFBCM,C,16,100,M,,FB,CM,MSC-C-16x100.step +C16-100MSDB,C,16,100,M,,SDB,,MSC-C-16x100.step +C16-100MSDBU,C,16,100,M,,SDB,U,MSC-C-16x100.step +C16-100MSDBCM,C,16,100,M,,SDB,CM,MSC-C-16x100.step +C20-10E,C,20,10,,E,,,MSC-C-20x10.step +C20-10EU,C,20,10,,E,,U,MSC-C-20x10.step +C20-10ECM,C,20,10,,E,,CM,MSC-C-20x10.step +C20-10ELB,C,20,10,,E,LB,,MSC-C-20x10.step +C20-10ELBU,C,20,10,,E,LB,U,MSC-C-20x10.step +C20-10ELBCM,C,20,10,,E,LB,CM,MSC-C-20x10.step +C20-10EFA,C,20,10,,E,FA,,MSC-C-20x10.step +C20-10EFAU,C,20,10,,E,FA,U,MSC-C-20x10.step +C20-10EFACM,C,20,10,,E,FA,CM,MSC-C-20x10.step +C20-10EFB,C,20,10,,E,FB,,MSC-C-20x10.step +C20-10EFBU,C,20,10,,E,FB,U,MSC-C-20x10.step +C20-10EFBCM,C,20,10,,E,FB,CM,MSC-C-20x10.step +C20-10ESDB,C,20,10,,E,SDB,,MSC-C-20x10.step +C20-10ESDBU,C,20,10,,E,SDB,U,MSC-C-20x10.step +C20-10ESDBCM,C,20,10,,E,SDB,CM,MSC-C-20x10.step +C20-10,C,20,10,,,,,MSC-C-20x10.step +C20-10U,C,20,10,,,,U,MSC-C-20x10.step +C20-10CM,C,20,10,,,,CM,MSC-C-20x10.step +C20-10LB,C,20,10,,,LB,,MSC-C-20x10.step +C20-10LBU,C,20,10,,,LB,U,MSC-C-20x10.step +C20-10LBCM,C,20,10,,,LB,CM,MSC-C-20x10.step +C20-10FA,C,20,10,,,FA,,MSC-C-20x10.step +C20-10FAU,C,20,10,,,FA,U,MSC-C-20x10.step +C20-10FACM,C,20,10,,,FA,CM,MSC-C-20x10.step +C20-10FB,C,20,10,,,FB,,MSC-C-20x10.step +C20-10FBU,C,20,10,,,FB,U,MSC-C-20x10.step +C20-10FBCM,C,20,10,,,FB,CM,MSC-C-20x10.step +C20-10SDB,C,20,10,,,SDB,,MSC-C-20x10.step +C20-10SDBU,C,20,10,,,SDB,U,MSC-C-20x10.step +C20-10SDBCM,C,20,10,,,SDB,CM,MSC-C-20x10.step +C20-10ME,C,20,10,M,E,,,MSC-C-20x10.step +C20-10MEU,C,20,10,M,E,,U,MSC-C-20x10.step +C20-10MECM,C,20,10,M,E,,CM,MSC-C-20x10.step +C20-10MELB,C,20,10,M,E,LB,,MSC-C-20x10.step +C20-10MELBU,C,20,10,M,E,LB,U,MSC-C-20x10.step +C20-10MELBCM,C,20,10,M,E,LB,CM,MSC-C-20x10.step +C20-10MEFA,C,20,10,M,E,FA,,MSC-C-20x10.step +C20-10MEFAU,C,20,10,M,E,FA,U,MSC-C-20x10.step +C20-10MEFACM,C,20,10,M,E,FA,CM,MSC-C-20x10.step +C20-10MEFB,C,20,10,M,E,FB,,MSC-C-20x10.step +C20-10MEFBU,C,20,10,M,E,FB,U,MSC-C-20x10.step +C20-10MEFBCM,C,20,10,M,E,FB,CM,MSC-C-20x10.step +C20-10MESDB,C,20,10,M,E,SDB,,MSC-C-20x10.step +C20-10MESDBU,C,20,10,M,E,SDB,U,MSC-C-20x10.step +C20-10MESDBCM,C,20,10,M,E,SDB,CM,MSC-C-20x10.step +C20-10M,C,20,10,M,,,,MSC-C-20x10.step +C20-10MU,C,20,10,M,,,U,MSC-C-20x10.step +C20-10MCM,C,20,10,M,,,CM,MSC-C-20x10.step +C20-10MLB,C,20,10,M,,LB,,MSC-C-20x10.step +C20-10MLBU,C,20,10,M,,LB,U,MSC-C-20x10.step +C20-10MLBCM,C,20,10,M,,LB,CM,MSC-C-20x10.step +C20-10MFA,C,20,10,M,,FA,,MSC-C-20x10.step +C20-10MFAU,C,20,10,M,,FA,U,MSC-C-20x10.step +C20-10MFACM,C,20,10,M,,FA,CM,MSC-C-20x10.step +C20-10MFB,C,20,10,M,,FB,,MSC-C-20x10.step +C20-10MFBU,C,20,10,M,,FB,U,MSC-C-20x10.step +C20-10MFBCM,C,20,10,M,,FB,CM,MSC-C-20x10.step +C20-10MSDB,C,20,10,M,,SDB,,MSC-C-20x10.step +C20-10MSDBU,C,20,10,M,,SDB,U,MSC-C-20x10.step +C20-10MSDBCM,C,20,10,M,,SDB,CM,MSC-C-20x10.step +C20-20E,C,20,20,,E,,,MSC-C-20x20.step +C20-20EU,C,20,20,,E,,U,MSC-C-20x20.step +C20-20ECM,C,20,20,,E,,CM,MSC-C-20x20.step +C20-20ELB,C,20,20,,E,LB,,MSC-C-20x20.step +C20-20ELBU,C,20,20,,E,LB,U,MSC-C-20x20.step +C20-20ELBCM,C,20,20,,E,LB,CM,MSC-C-20x20.step +C20-20EFA,C,20,20,,E,FA,,MSC-C-20x20.step +C20-20EFAU,C,20,20,,E,FA,U,MSC-C-20x20.step +C20-20EFACM,C,20,20,,E,FA,CM,MSC-C-20x20.step +C20-20EFB,C,20,20,,E,FB,,MSC-C-20x20.step +C20-20EFBU,C,20,20,,E,FB,U,MSC-C-20x20.step +C20-20EFBCM,C,20,20,,E,FB,CM,MSC-C-20x20.step +C20-20ESDB,C,20,20,,E,SDB,,MSC-C-20x20.step +C20-20ESDBU,C,20,20,,E,SDB,U,MSC-C-20x20.step +C20-20ESDBCM,C,20,20,,E,SDB,CM,MSC-C-20x20.step +C20-20,C,20,20,,,,,MSC-C-20x20.step +C20-20U,C,20,20,,,,U,MSC-C-20x20.step +C20-20CM,C,20,20,,,,CM,MSC-C-20x20.step +C20-20LB,C,20,20,,,LB,,MSC-C-20x20.step +C20-20LBU,C,20,20,,,LB,U,MSC-C-20x20.step +C20-20LBCM,C,20,20,,,LB,CM,MSC-C-20x20.step +C20-20FA,C,20,20,,,FA,,MSC-C-20x20.step +C20-20FAU,C,20,20,,,FA,U,MSC-C-20x20.step +C20-20FACM,C,20,20,,,FA,CM,MSC-C-20x20.step +C20-20FB,C,20,20,,,FB,,MSC-C-20x20.step +C20-20FBU,C,20,20,,,FB,U,MSC-C-20x20.step +C20-20FBCM,C,20,20,,,FB,CM,MSC-C-20x20.step +C20-20SDB,C,20,20,,,SDB,,MSC-C-20x20.step +C20-20SDBU,C,20,20,,,SDB,U,MSC-C-20x20.step +C20-20SDBCM,C,20,20,,,SDB,CM,MSC-C-20x20.step +C20-20ME,C,20,20,M,E,,,MSC-C-20x20.step +C20-20MEU,C,20,20,M,E,,U,MSC-C-20x20.step +C20-20MECM,C,20,20,M,E,,CM,MSC-C-20x20.step +C20-20MELB,C,20,20,M,E,LB,,MSC-C-20x20.step +C20-20MELBU,C,20,20,M,E,LB,U,MSC-C-20x20.step +C20-20MELBCM,C,20,20,M,E,LB,CM,MSC-C-20x20.step +C20-20MEFA,C,20,20,M,E,FA,,MSC-C-20x20.step +C20-20MEFAU,C,20,20,M,E,FA,U,MSC-C-20x20.step +C20-20MEFACM,C,20,20,M,E,FA,CM,MSC-C-20x20.step +C20-20MEFB,C,20,20,M,E,FB,,MSC-C-20x20.step +C20-20MEFBU,C,20,20,M,E,FB,U,MSC-C-20x20.step +C20-20MEFBCM,C,20,20,M,E,FB,CM,MSC-C-20x20.step +C20-20MESDB,C,20,20,M,E,SDB,,MSC-C-20x20.step +C20-20MESDBU,C,20,20,M,E,SDB,U,MSC-C-20x20.step +C20-20MESDBCM,C,20,20,M,E,SDB,CM,MSC-C-20x20.step +C20-20M,C,20,20,M,,,,MSC-C-20x20.step +C20-20MU,C,20,20,M,,,U,MSC-C-20x20.step +C20-20MCM,C,20,20,M,,,CM,MSC-C-20x20.step +C20-20MLB,C,20,20,M,,LB,,MSC-C-20x20.step +C20-20MLBU,C,20,20,M,,LB,U,MSC-C-20x20.step +C20-20MLBCM,C,20,20,M,,LB,CM,MSC-C-20x20.step +C20-20MFA,C,20,20,M,,FA,,MSC-C-20x20.step +C20-20MFAU,C,20,20,M,,FA,U,MSC-C-20x20.step +C20-20MFACM,C,20,20,M,,FA,CM,MSC-C-20x20.step +C20-20MFB,C,20,20,M,,FB,,MSC-C-20x20.step +C20-20MFBU,C,20,20,M,,FB,U,MSC-C-20x20.step +C20-20MFBCM,C,20,20,M,,FB,CM,MSC-C-20x20.step +C20-20MSDB,C,20,20,M,,SDB,,MSC-C-20x20.step +C20-20MSDBU,C,20,20,M,,SDB,U,MSC-C-20x20.step +C20-20MSDBCM,C,20,20,M,,SDB,CM,MSC-C-20x20.step +C20-30E,C,20,30,,E,,,MSC-C-20x30.step +C20-30EU,C,20,30,,E,,U,MSC-C-20x30.step +C20-30ECM,C,20,30,,E,,CM,MSC-C-20x30.step +C20-30ELB,C,20,30,,E,LB,,MSC-C-20x30.step +C20-30ELBU,C,20,30,,E,LB,U,MSC-C-20x30.step +C20-30ELBCM,C,20,30,,E,LB,CM,MSC-C-20x30.step +C20-30EFA,C,20,30,,E,FA,,MSC-C-20x30.step +C20-30EFAU,C,20,30,,E,FA,U,MSC-C-20x30.step +C20-30EFACM,C,20,30,,E,FA,CM,MSC-C-20x30.step +C20-30EFB,C,20,30,,E,FB,,MSC-C-20x30.step +C20-30EFBU,C,20,30,,E,FB,U,MSC-C-20x30.step +C20-30EFBCM,C,20,30,,E,FB,CM,MSC-C-20x30.step +C20-30ESDB,C,20,30,,E,SDB,,MSC-C-20x30.step +C20-30ESDBU,C,20,30,,E,SDB,U,MSC-C-20x30.step +C20-30ESDBCM,C,20,30,,E,SDB,CM,MSC-C-20x30.step +C20-30,C,20,30,,,,,MSC-C-20x30.step +C20-30U,C,20,30,,,,U,MSC-C-20x30.step +C20-30CM,C,20,30,,,,CM,MSC-C-20x30.step +C20-30LB,C,20,30,,,LB,,MSC-C-20x30.step +C20-30LBU,C,20,30,,,LB,U,MSC-C-20x30.step +C20-30LBCM,C,20,30,,,LB,CM,MSC-C-20x30.step +C20-30FA,C,20,30,,,FA,,MSC-C-20x30.step +C20-30FAU,C,20,30,,,FA,U,MSC-C-20x30.step +C20-30FACM,C,20,30,,,FA,CM,MSC-C-20x30.step +C20-30FB,C,20,30,,,FB,,MSC-C-20x30.step +C20-30FBU,C,20,30,,,FB,U,MSC-C-20x30.step +C20-30FBCM,C,20,30,,,FB,CM,MSC-C-20x30.step +C20-30SDB,C,20,30,,,SDB,,MSC-C-20x30.step +C20-30SDBU,C,20,30,,,SDB,U,MSC-C-20x30.step +C20-30SDBCM,C,20,30,,,SDB,CM,MSC-C-20x30.step +C20-30ME,C,20,30,M,E,,,MSC-C-20x30.step +C20-30MEU,C,20,30,M,E,,U,MSC-C-20x30.step +C20-30MECM,C,20,30,M,E,,CM,MSC-C-20x30.step +C20-30MELB,C,20,30,M,E,LB,,MSC-C-20x30.step +C20-30MELBU,C,20,30,M,E,LB,U,MSC-C-20x30.step +C20-30MELBCM,C,20,30,M,E,LB,CM,MSC-C-20x30.step +C20-30MEFA,C,20,30,M,E,FA,,MSC-C-20x30.step +C20-30MEFAU,C,20,30,M,E,FA,U,MSC-C-20x30.step +C20-30MEFACM,C,20,30,M,E,FA,CM,MSC-C-20x30.step +C20-30MEFB,C,20,30,M,E,FB,,MSC-C-20x30.step +C20-30MEFBU,C,20,30,M,E,FB,U,MSC-C-20x30.step +C20-30MEFBCM,C,20,30,M,E,FB,CM,MSC-C-20x30.step +C20-30MESDB,C,20,30,M,E,SDB,,MSC-C-20x30.step +C20-30MESDBU,C,20,30,M,E,SDB,U,MSC-C-20x30.step +C20-30MESDBCM,C,20,30,M,E,SDB,CM,MSC-C-20x30.step +C20-30M,C,20,30,M,,,,MSC-C-20x30.step +C20-30MU,C,20,30,M,,,U,MSC-C-20x30.step +C20-30MCM,C,20,30,M,,,CM,MSC-C-20x30.step +C20-30MLB,C,20,30,M,,LB,,MSC-C-20x30.step +C20-30MLBU,C,20,30,M,,LB,U,MSC-C-20x30.step +C20-30MLBCM,C,20,30,M,,LB,CM,MSC-C-20x30.step +C20-30MFA,C,20,30,M,,FA,,MSC-C-20x30.step +C20-30MFAU,C,20,30,M,,FA,U,MSC-C-20x30.step +C20-30MFACM,C,20,30,M,,FA,CM,MSC-C-20x30.step +C20-30MFB,C,20,30,M,,FB,,MSC-C-20x30.step +C20-30MFBU,C,20,30,M,,FB,U,MSC-C-20x30.step +C20-30MFBCM,C,20,30,M,,FB,CM,MSC-C-20x30.step +C20-30MSDB,C,20,30,M,,SDB,,MSC-C-20x30.step +C20-30MSDBU,C,20,30,M,,SDB,U,MSC-C-20x30.step +C20-30MSDBCM,C,20,30,M,,SDB,CM,MSC-C-20x30.step +C20-50E,C,20,50,,E,,,MSC-C-20x50.step +C20-50EU,C,20,50,,E,,U,MSC-C-20x50.step +C20-50ECM,C,20,50,,E,,CM,MSC-C-20x50.step +C20-50ELB,C,20,50,,E,LB,,MSC-C-20x50.step +C20-50ELBU,C,20,50,,E,LB,U,MSC-C-20x50.step +C20-50ELBCM,C,20,50,,E,LB,CM,MSC-C-20x50.step +C20-50EFA,C,20,50,,E,FA,,MSC-C-20x50.step +C20-50EFAU,C,20,50,,E,FA,U,MSC-C-20x50.step +C20-50EFACM,C,20,50,,E,FA,CM,MSC-C-20x50.step +C20-50EFB,C,20,50,,E,FB,,MSC-C-20x50.step +C20-50EFBU,C,20,50,,E,FB,U,MSC-C-20x50.step +C20-50EFBCM,C,20,50,,E,FB,CM,MSC-C-20x50.step +C20-50ESDB,C,20,50,,E,SDB,,MSC-C-20x50.step +C20-50ESDBU,C,20,50,,E,SDB,U,MSC-C-20x50.step +C20-50ESDBCM,C,20,50,,E,SDB,CM,MSC-C-20x50.step +C20-50,C,20,50,,,,,MSC-C-20x50.step +C20-50U,C,20,50,,,,U,MSC-C-20x50.step +C20-50CM,C,20,50,,,,CM,MSC-C-20x50.step +C20-50LB,C,20,50,,,LB,,MSC-C-20x50.step +C20-50LBU,C,20,50,,,LB,U,MSC-C-20x50.step +C20-50LBCM,C,20,50,,,LB,CM,MSC-C-20x50.step +C20-50FA,C,20,50,,,FA,,MSC-C-20x50.step +C20-50FAU,C,20,50,,,FA,U,MSC-C-20x50.step +C20-50FACM,C,20,50,,,FA,CM,MSC-C-20x50.step +C20-50FB,C,20,50,,,FB,,MSC-C-20x50.step +C20-50FBU,C,20,50,,,FB,U,MSC-C-20x50.step +C20-50FBCM,C,20,50,,,FB,CM,MSC-C-20x50.step +C20-50SDB,C,20,50,,,SDB,,MSC-C-20x50.step +C20-50SDBU,C,20,50,,,SDB,U,MSC-C-20x50.step +C20-50SDBCM,C,20,50,,,SDB,CM,MSC-C-20x50.step +C20-50ME,C,20,50,M,E,,,MSC-C-20x50.step +C20-50MEU,C,20,50,M,E,,U,MSC-C-20x50.step +C20-50MECM,C,20,50,M,E,,CM,MSC-C-20x50.step +C20-50MELB,C,20,50,M,E,LB,,MSC-C-20x50.step +C20-50MELBU,C,20,50,M,E,LB,U,MSC-C-20x50.step +C20-50MELBCM,C,20,50,M,E,LB,CM,MSC-C-20x50.step +C20-50MEFA,C,20,50,M,E,FA,,MSC-C-20x50.step +C20-50MEFAU,C,20,50,M,E,FA,U,MSC-C-20x50.step +C20-50MEFACM,C,20,50,M,E,FA,CM,MSC-C-20x50.step +C20-50MEFB,C,20,50,M,E,FB,,MSC-C-20x50.step +C20-50MEFBU,C,20,50,M,E,FB,U,MSC-C-20x50.step +C20-50MEFBCM,C,20,50,M,E,FB,CM,MSC-C-20x50.step +C20-50MESDB,C,20,50,M,E,SDB,,MSC-C-20x50.step +C20-50MESDBU,C,20,50,M,E,SDB,U,MSC-C-20x50.step +C20-50MESDBCM,C,20,50,M,E,SDB,CM,MSC-C-20x50.step +C20-50M,C,20,50,M,,,,MSC-C-20x50.step +C20-50MU,C,20,50,M,,,U,MSC-C-20x50.step +C20-50MCM,C,20,50,M,,,CM,MSC-C-20x50.step +C20-50MLB,C,20,50,M,,LB,,MSC-C-20x50.step +C20-50MLBU,C,20,50,M,,LB,U,MSC-C-20x50.step +C20-50MLBCM,C,20,50,M,,LB,CM,MSC-C-20x50.step +C20-50MFA,C,20,50,M,,FA,,MSC-C-20x50.step +C20-50MFAU,C,20,50,M,,FA,U,MSC-C-20x50.step +C20-50MFACM,C,20,50,M,,FA,CM,MSC-C-20x50.step +C20-50MFB,C,20,50,M,,FB,,MSC-C-20x50.step +C20-50MFBU,C,20,50,M,,FB,U,MSC-C-20x50.step +C20-50MFBCM,C,20,50,M,,FB,CM,MSC-C-20x50.step +C20-50MSDB,C,20,50,M,,SDB,,MSC-C-20x50.step +C20-50MSDBU,C,20,50,M,,SDB,U,MSC-C-20x50.step +C20-50MSDBCM,C,20,50,M,,SDB,CM,MSC-C-20x50.step +C20-75E,C,20,75,,E,,,MSC-C-20x75.step +C20-75EU,C,20,75,,E,,U,MSC-C-20x75.step +C20-75ECM,C,20,75,,E,,CM,MSC-C-20x75.step +C20-75ELB,C,20,75,,E,LB,,MSC-C-20x75.step +C20-75ELBU,C,20,75,,E,LB,U,MSC-C-20x75.step +C20-75ELBCM,C,20,75,,E,LB,CM,MSC-C-20x75.step +C20-75EFA,C,20,75,,E,FA,,MSC-C-20x75.step +C20-75EFAU,C,20,75,,E,FA,U,MSC-C-20x75.step +C20-75EFACM,C,20,75,,E,FA,CM,MSC-C-20x75.step +C20-75EFB,C,20,75,,E,FB,,MSC-C-20x75.step +C20-75EFBU,C,20,75,,E,FB,U,MSC-C-20x75.step +C20-75EFBCM,C,20,75,,E,FB,CM,MSC-C-20x75.step +C20-75ESDB,C,20,75,,E,SDB,,MSC-C-20x75.step +C20-75ESDBU,C,20,75,,E,SDB,U,MSC-C-20x75.step +C20-75ESDBCM,C,20,75,,E,SDB,CM,MSC-C-20x75.step +C20-75,C,20,75,,,,,MSC-C-20x75.step +C20-75U,C,20,75,,,,U,MSC-C-20x75.step +C20-75CM,C,20,75,,,,CM,MSC-C-20x75.step +C20-75LB,C,20,75,,,LB,,MSC-C-20x75.step +C20-75LBU,C,20,75,,,LB,U,MSC-C-20x75.step +C20-75LBCM,C,20,75,,,LB,CM,MSC-C-20x75.step +C20-75FA,C,20,75,,,FA,,MSC-C-20x75.step +C20-75FAU,C,20,75,,,FA,U,MSC-C-20x75.step +C20-75FACM,C,20,75,,,FA,CM,MSC-C-20x75.step +C20-75FB,C,20,75,,,FB,,MSC-C-20x75.step +C20-75FBU,C,20,75,,,FB,U,MSC-C-20x75.step +C20-75FBCM,C,20,75,,,FB,CM,MSC-C-20x75.step +C20-75SDB,C,20,75,,,SDB,,MSC-C-20x75.step +C20-75SDBU,C,20,75,,,SDB,U,MSC-C-20x75.step +C20-75SDBCM,C,20,75,,,SDB,CM,MSC-C-20x75.step +C20-75ME,C,20,75,M,E,,,MSC-C-20x75.step +C20-75MEU,C,20,75,M,E,,U,MSC-C-20x75.step +C20-75MECM,C,20,75,M,E,,CM,MSC-C-20x75.step +C20-75MELB,C,20,75,M,E,LB,,MSC-C-20x75.step +C20-75MELBU,C,20,75,M,E,LB,U,MSC-C-20x75.step +C20-75MELBCM,C,20,75,M,E,LB,CM,MSC-C-20x75.step +C20-75MEFA,C,20,75,M,E,FA,,MSC-C-20x75.step +C20-75MEFAU,C,20,75,M,E,FA,U,MSC-C-20x75.step +C20-75MEFACM,C,20,75,M,E,FA,CM,MSC-C-20x75.step +C20-75MEFB,C,20,75,M,E,FB,,MSC-C-20x75.step +C20-75MEFBU,C,20,75,M,E,FB,U,MSC-C-20x75.step +C20-75MEFBCM,C,20,75,M,E,FB,CM,MSC-C-20x75.step +C20-75MESDB,C,20,75,M,E,SDB,,MSC-C-20x75.step +C20-75MESDBU,C,20,75,M,E,SDB,U,MSC-C-20x75.step +C20-75MESDBCM,C,20,75,M,E,SDB,CM,MSC-C-20x75.step +C20-75M,C,20,75,M,,,,MSC-C-20x75.step +C20-75MU,C,20,75,M,,,U,MSC-C-20x75.step +C20-75MCM,C,20,75,M,,,CM,MSC-C-20x75.step +C20-75MLB,C,20,75,M,,LB,,MSC-C-20x75.step +C20-75MLBU,C,20,75,M,,LB,U,MSC-C-20x75.step +C20-75MLBCM,C,20,75,M,,LB,CM,MSC-C-20x75.step +C20-75MFA,C,20,75,M,,FA,,MSC-C-20x75.step +C20-75MFAU,C,20,75,M,,FA,U,MSC-C-20x75.step +C20-75MFACM,C,20,75,M,,FA,CM,MSC-C-20x75.step +C20-75MFB,C,20,75,M,,FB,,MSC-C-20x75.step +C20-75MFBU,C,20,75,M,,FB,U,MSC-C-20x75.step +C20-75MFBCM,C,20,75,M,,FB,CM,MSC-C-20x75.step +C20-75MSDB,C,20,75,M,,SDB,,MSC-C-20x75.step +C20-75MSDBU,C,20,75,M,,SDB,U,MSC-C-20x75.step +C20-75MSDBCM,C,20,75,M,,SDB,CM,MSC-C-20x75.step +C20-100E,C,20,100,,E,,,MSC-C-20x100.step +C20-100EU,C,20,100,,E,,U,MSC-C-20x100.step +C20-100ECM,C,20,100,,E,,CM,MSC-C-20x100.step +C20-100ELB,C,20,100,,E,LB,,MSC-C-20x100.step +C20-100ELBU,C,20,100,,E,LB,U,MSC-C-20x100.step +C20-100ELBCM,C,20,100,,E,LB,CM,MSC-C-20x100.step +C20-100EFA,C,20,100,,E,FA,,MSC-C-20x100.step +C20-100EFAU,C,20,100,,E,FA,U,MSC-C-20x100.step +C20-100EFACM,C,20,100,,E,FA,CM,MSC-C-20x100.step +C20-100EFB,C,20,100,,E,FB,,MSC-C-20x100.step +C20-100EFBU,C,20,100,,E,FB,U,MSC-C-20x100.step +C20-100EFBCM,C,20,100,,E,FB,CM,MSC-C-20x100.step +C20-100ESDB,C,20,100,,E,SDB,,MSC-C-20x100.step +C20-100ESDBU,C,20,100,,E,SDB,U,MSC-C-20x100.step +C20-100ESDBCM,C,20,100,,E,SDB,CM,MSC-C-20x100.step +C20-100,C,20,100,,,,,MSC-C-20x100.step +C20-100U,C,20,100,,,,U,MSC-C-20x100.step +C20-100CM,C,20,100,,,,CM,MSC-C-20x100.step +C20-100LB,C,20,100,,,LB,,MSC-C-20x100.step +C20-100LBU,C,20,100,,,LB,U,MSC-C-20x100.step +C20-100LBCM,C,20,100,,,LB,CM,MSC-C-20x100.step +C20-100FA,C,20,100,,,FA,,MSC-C-20x100.step +C20-100FAU,C,20,100,,,FA,U,MSC-C-20x100.step +C20-100FACM,C,20,100,,,FA,CM,MSC-C-20x100.step +C20-100FB,C,20,100,,,FB,,MSC-C-20x100.step +C20-100FBU,C,20,100,,,FB,U,MSC-C-20x100.step +C20-100FBCM,C,20,100,,,FB,CM,MSC-C-20x100.step +C20-100SDB,C,20,100,,,SDB,,MSC-C-20x100.step +C20-100SDBU,C,20,100,,,SDB,U,MSC-C-20x100.step +C20-100SDBCM,C,20,100,,,SDB,CM,MSC-C-20x100.step +C20-100ME,C,20,100,M,E,,,MSC-C-20x100.step +C20-100MEU,C,20,100,M,E,,U,MSC-C-20x100.step +C20-100MECM,C,20,100,M,E,,CM,MSC-C-20x100.step +C20-100MELB,C,20,100,M,E,LB,,MSC-C-20x100.step +C20-100MELBU,C,20,100,M,E,LB,U,MSC-C-20x100.step +C20-100MELBCM,C,20,100,M,E,LB,CM,MSC-C-20x100.step +C20-100MEFA,C,20,100,M,E,FA,,MSC-C-20x100.step +C20-100MEFAU,C,20,100,M,E,FA,U,MSC-C-20x100.step +C20-100MEFACM,C,20,100,M,E,FA,CM,MSC-C-20x100.step +C20-100MEFB,C,20,100,M,E,FB,,MSC-C-20x100.step +C20-100MEFBU,C,20,100,M,E,FB,U,MSC-C-20x100.step +C20-100MEFBCM,C,20,100,M,E,FB,CM,MSC-C-20x100.step +C20-100MESDB,C,20,100,M,E,SDB,,MSC-C-20x100.step +C20-100MESDBU,C,20,100,M,E,SDB,U,MSC-C-20x100.step +C20-100MESDBCM,C,20,100,M,E,SDB,CM,MSC-C-20x100.step +C20-100M,C,20,100,M,,,,MSC-C-20x100.step +C20-100MU,C,20,100,M,,,U,MSC-C-20x100.step +C20-100MCM,C,20,100,M,,,CM,MSC-C-20x100.step +C20-100MLB,C,20,100,M,,LB,,MSC-C-20x100.step +C20-100MLBU,C,20,100,M,,LB,U,MSC-C-20x100.step +C20-100MLBCM,C,20,100,M,,LB,CM,MSC-C-20x100.step +C20-100MFA,C,20,100,M,,FA,,MSC-C-20x100.step +C20-100MFAU,C,20,100,M,,FA,U,MSC-C-20x100.step +C20-100MFACM,C,20,100,M,,FA,CM,MSC-C-20x100.step +C20-100MFB,C,20,100,M,,FB,,MSC-C-20x100.step +C20-100MFBU,C,20,100,M,,FB,U,MSC-C-20x100.step +C20-100MFBCM,C,20,100,M,,FB,CM,MSC-C-20x100.step +C20-100MSDB,C,20,100,M,,SDB,,MSC-C-20x100.step +C20-100MSDBU,C,20,100,M,,SDB,U,MSC-C-20x100.step +C20-100MSDBCM,C,20,100,M,,SDB,CM,MSC-C-20x100.step +C25-10E,C,25,10,,E,,,MSC-C-25x10.step +C25-10EU,C,25,10,,E,,U,MSC-C-25x10.step +C25-10ECM,C,25,10,,E,,CM,MSC-C-25x10.step +C25-10ELB,C,25,10,,E,LB,,MSC-C-25x10.step +C25-10ELBU,C,25,10,,E,LB,U,MSC-C-25x10.step +C25-10ELBCM,C,25,10,,E,LB,CM,MSC-C-25x10.step +C25-10EFA,C,25,10,,E,FA,,MSC-C-25x10.step +C25-10EFAU,C,25,10,,E,FA,U,MSC-C-25x10.step +C25-10EFACM,C,25,10,,E,FA,CM,MSC-C-25x10.step +C25-10EFB,C,25,10,,E,FB,,MSC-C-25x10.step +C25-10EFBU,C,25,10,,E,FB,U,MSC-C-25x10.step +C25-10EFBCM,C,25,10,,E,FB,CM,MSC-C-25x10.step +C25-10ESDB,C,25,10,,E,SDB,,MSC-C-25x10.step +C25-10ESDBU,C,25,10,,E,SDB,U,MSC-C-25x10.step +C25-10ESDBCM,C,25,10,,E,SDB,CM,MSC-C-25x10.step +C25-10,C,25,10,,,,,MSC-C-25x10.step +C25-10U,C,25,10,,,,U,MSC-C-25x10.step +C25-10CM,C,25,10,,,,CM,MSC-C-25x10.step +C25-10LB,C,25,10,,,LB,,MSC-C-25x10.step +C25-10LBU,C,25,10,,,LB,U,MSC-C-25x10.step +C25-10LBCM,C,25,10,,,LB,CM,MSC-C-25x10.step +C25-10FA,C,25,10,,,FA,,MSC-C-25x10.step +C25-10FAU,C,25,10,,,FA,U,MSC-C-25x10.step +C25-10FACM,C,25,10,,,FA,CM,MSC-C-25x10.step +C25-10FB,C,25,10,,,FB,,MSC-C-25x10.step +C25-10FBU,C,25,10,,,FB,U,MSC-C-25x10.step +C25-10FBCM,C,25,10,,,FB,CM,MSC-C-25x10.step +C25-10SDB,C,25,10,,,SDB,,MSC-C-25x10.step +C25-10SDBU,C,25,10,,,SDB,U,MSC-C-25x10.step +C25-10SDBCM,C,25,10,,,SDB,CM,MSC-C-25x10.step +C25-10ME,C,25,10,M,E,,,MSC-C-25x10.step +C25-10MEU,C,25,10,M,E,,U,MSC-C-25x10.step +C25-10MECM,C,25,10,M,E,,CM,MSC-C-25x10.step +C25-10MELB,C,25,10,M,E,LB,,MSC-C-25x10.step +C25-10MELBU,C,25,10,M,E,LB,U,MSC-C-25x10.step +C25-10MELBCM,C,25,10,M,E,LB,CM,MSC-C-25x10.step +C25-10MEFA,C,25,10,M,E,FA,,MSC-C-25x10.step +C25-10MEFAU,C,25,10,M,E,FA,U,MSC-C-25x10.step +C25-10MEFACM,C,25,10,M,E,FA,CM,MSC-C-25x10.step +C25-10MEFB,C,25,10,M,E,FB,,MSC-C-25x10.step +C25-10MEFBU,C,25,10,M,E,FB,U,MSC-C-25x10.step +C25-10MEFBCM,C,25,10,M,E,FB,CM,MSC-C-25x10.step +C25-10MESDB,C,25,10,M,E,SDB,,MSC-C-25x10.step +C25-10MESDBU,C,25,10,M,E,SDB,U,MSC-C-25x10.step +C25-10MESDBCM,C,25,10,M,E,SDB,CM,MSC-C-25x10.step +C25-10M,C,25,10,M,,,,MSC-C-25x10.step +C25-10MU,C,25,10,M,,,U,MSC-C-25x10.step +C25-10MCM,C,25,10,M,,,CM,MSC-C-25x10.step +C25-10MLB,C,25,10,M,,LB,,MSC-C-25x10.step +C25-10MLBU,C,25,10,M,,LB,U,MSC-C-25x10.step +C25-10MLBCM,C,25,10,M,,LB,CM,MSC-C-25x10.step +C25-10MFA,C,25,10,M,,FA,,MSC-C-25x10.step +C25-10MFAU,C,25,10,M,,FA,U,MSC-C-25x10.step +C25-10MFACM,C,25,10,M,,FA,CM,MSC-C-25x10.step +C25-10MFB,C,25,10,M,,FB,,MSC-C-25x10.step +C25-10MFBU,C,25,10,M,,FB,U,MSC-C-25x10.step +C25-10MFBCM,C,25,10,M,,FB,CM,MSC-C-25x10.step +C25-10MSDB,C,25,10,M,,SDB,,MSC-C-25x10.step +C25-10MSDBU,C,25,10,M,,SDB,U,MSC-C-25x10.step +C25-10MSDBCM,C,25,10,M,,SDB,CM,MSC-C-25x10.step +C25-20E,C,25,20,,E,,,MSC-C-25x20.step +C25-20EU,C,25,20,,E,,U,MSC-C-25x20.step +C25-20ECM,C,25,20,,E,,CM,MSC-C-25x20.step +C25-20ELB,C,25,20,,E,LB,,MSC-C-25x20.step +C25-20ELBU,C,25,20,,E,LB,U,MSC-C-25x20.step +C25-20ELBCM,C,25,20,,E,LB,CM,MSC-C-25x20.step +C25-20EFA,C,25,20,,E,FA,,MSC-C-25x20.step +C25-20EFAU,C,25,20,,E,FA,U,MSC-C-25x20.step +C25-20EFACM,C,25,20,,E,FA,CM,MSC-C-25x20.step +C25-20EFB,C,25,20,,E,FB,,MSC-C-25x20.step +C25-20EFBU,C,25,20,,E,FB,U,MSC-C-25x20.step +C25-20EFBCM,C,25,20,,E,FB,CM,MSC-C-25x20.step +C25-20ESDB,C,25,20,,E,SDB,,MSC-C-25x20.step +C25-20ESDBU,C,25,20,,E,SDB,U,MSC-C-25x20.step +C25-20ESDBCM,C,25,20,,E,SDB,CM,MSC-C-25x20.step +C25-20,C,25,20,,,,,MSC-C-25x20.step +C25-20U,C,25,20,,,,U,MSC-C-25x20.step +C25-20CM,C,25,20,,,,CM,MSC-C-25x20.step +C25-20LB,C,25,20,,,LB,,MSC-C-25x20.step +C25-20LBU,C,25,20,,,LB,U,MSC-C-25x20.step +C25-20LBCM,C,25,20,,,LB,CM,MSC-C-25x20.step +C25-20FA,C,25,20,,,FA,,MSC-C-25x20.step +C25-20FAU,C,25,20,,,FA,U,MSC-C-25x20.step +C25-20FACM,C,25,20,,,FA,CM,MSC-C-25x20.step +C25-20FB,C,25,20,,,FB,,MSC-C-25x20.step +C25-20FBU,C,25,20,,,FB,U,MSC-C-25x20.step +C25-20FBCM,C,25,20,,,FB,CM,MSC-C-25x20.step +C25-20SDB,C,25,20,,,SDB,,MSC-C-25x20.step +C25-20SDBU,C,25,20,,,SDB,U,MSC-C-25x20.step +C25-20SDBCM,C,25,20,,,SDB,CM,MSC-C-25x20.step +C25-20ME,C,25,20,M,E,,,MSC-C-25x20.step +C25-20MEU,C,25,20,M,E,,U,MSC-C-25x20.step +C25-20MECM,C,25,20,M,E,,CM,MSC-C-25x20.step +C25-20MELB,C,25,20,M,E,LB,,MSC-C-25x20.step +C25-20MELBU,C,25,20,M,E,LB,U,MSC-C-25x20.step +C25-20MELBCM,C,25,20,M,E,LB,CM,MSC-C-25x20.step +C25-20MEFA,C,25,20,M,E,FA,,MSC-C-25x20.step +C25-20MEFAU,C,25,20,M,E,FA,U,MSC-C-25x20.step +C25-20MEFACM,C,25,20,M,E,FA,CM,MSC-C-25x20.step +C25-20MEFB,C,25,20,M,E,FB,,MSC-C-25x20.step +C25-20MEFBU,C,25,20,M,E,FB,U,MSC-C-25x20.step +C25-20MEFBCM,C,25,20,M,E,FB,CM,MSC-C-25x20.step +C25-20MESDB,C,25,20,M,E,SDB,,MSC-C-25x20.step +C25-20MESDBU,C,25,20,M,E,SDB,U,MSC-C-25x20.step +C25-20MESDBCM,C,25,20,M,E,SDB,CM,MSC-C-25x20.step +C25-20M,C,25,20,M,,,,MSC-C-25x20.step +C25-20MU,C,25,20,M,,,U,MSC-C-25x20.step +C25-20MCM,C,25,20,M,,,CM,MSC-C-25x20.step +C25-20MLB,C,25,20,M,,LB,,MSC-C-25x20.step +C25-20MLBU,C,25,20,M,,LB,U,MSC-C-25x20.step +C25-20MLBCM,C,25,20,M,,LB,CM,MSC-C-25x20.step +C25-20MFA,C,25,20,M,,FA,,MSC-C-25x20.step +C25-20MFAU,C,25,20,M,,FA,U,MSC-C-25x20.step +C25-20MFACM,C,25,20,M,,FA,CM,MSC-C-25x20.step +C25-20MFB,C,25,20,M,,FB,,MSC-C-25x20.step +C25-20MFBU,C,25,20,M,,FB,U,MSC-C-25x20.step +C25-20MFBCM,C,25,20,M,,FB,CM,MSC-C-25x20.step +C25-20MSDB,C,25,20,M,,SDB,,MSC-C-25x20.step +C25-20MSDBU,C,25,20,M,,SDB,U,MSC-C-25x20.step +C25-20MSDBCM,C,25,20,M,,SDB,CM,MSC-C-25x20.step +C25-30E,C,25,30,,E,,,MSC-C-25x30.step +C25-30EU,C,25,30,,E,,U,MSC-C-25x30.step +C25-30ECM,C,25,30,,E,,CM,MSC-C-25x30.step +C25-30ELB,C,25,30,,E,LB,,MSC-C-25x30.step +C25-30ELBU,C,25,30,,E,LB,U,MSC-C-25x30.step +C25-30ELBCM,C,25,30,,E,LB,CM,MSC-C-25x30.step +C25-30EFA,C,25,30,,E,FA,,MSC-C-25x30.step +C25-30EFAU,C,25,30,,E,FA,U,MSC-C-25x30.step +C25-30EFACM,C,25,30,,E,FA,CM,MSC-C-25x30.step +C25-30EFB,C,25,30,,E,FB,,MSC-C-25x30.step +C25-30EFBU,C,25,30,,E,FB,U,MSC-C-25x30.step +C25-30EFBCM,C,25,30,,E,FB,CM,MSC-C-25x30.step +C25-30ESDB,C,25,30,,E,SDB,,MSC-C-25x30.step +C25-30ESDBU,C,25,30,,E,SDB,U,MSC-C-25x30.step +C25-30ESDBCM,C,25,30,,E,SDB,CM,MSC-C-25x30.step +C25-30,C,25,30,,,,,MSC-C-25x30.step +C25-30U,C,25,30,,,,U,MSC-C-25x30.step +C25-30CM,C,25,30,,,,CM,MSC-C-25x30.step +C25-30LB,C,25,30,,,LB,,MSC-C-25x30.step +C25-30LBU,C,25,30,,,LB,U,MSC-C-25x30.step +C25-30LBCM,C,25,30,,,LB,CM,MSC-C-25x30.step +C25-30FA,C,25,30,,,FA,,MSC-C-25x30.step +C25-30FAU,C,25,30,,,FA,U,MSC-C-25x30.step +C25-30FACM,C,25,30,,,FA,CM,MSC-C-25x30.step +C25-30FB,C,25,30,,,FB,,MSC-C-25x30.step +C25-30FBU,C,25,30,,,FB,U,MSC-C-25x30.step +C25-30FBCM,C,25,30,,,FB,CM,MSC-C-25x30.step +C25-30SDB,C,25,30,,,SDB,,MSC-C-25x30.step +C25-30SDBU,C,25,30,,,SDB,U,MSC-C-25x30.step +C25-30SDBCM,C,25,30,,,SDB,CM,MSC-C-25x30.step +C25-30ME,C,25,30,M,E,,,MSC-C-25x30.step +C25-30MEU,C,25,30,M,E,,U,MSC-C-25x30.step +C25-30MECM,C,25,30,M,E,,CM,MSC-C-25x30.step +C25-30MELB,C,25,30,M,E,LB,,MSC-C-25x30.step +C25-30MELBU,C,25,30,M,E,LB,U,MSC-C-25x30.step +C25-30MELBCM,C,25,30,M,E,LB,CM,MSC-C-25x30.step +C25-30MEFA,C,25,30,M,E,FA,,MSC-C-25x30.step +C25-30MEFAU,C,25,30,M,E,FA,U,MSC-C-25x30.step +C25-30MEFACM,C,25,30,M,E,FA,CM,MSC-C-25x30.step +C25-30MEFB,C,25,30,M,E,FB,,MSC-C-25x30.step +C25-30MEFBU,C,25,30,M,E,FB,U,MSC-C-25x30.step +C25-30MEFBCM,C,25,30,M,E,FB,CM,MSC-C-25x30.step +C25-30MESDB,C,25,30,M,E,SDB,,MSC-C-25x30.step +C25-30MESDBU,C,25,30,M,E,SDB,U,MSC-C-25x30.step +C25-30MESDBCM,C,25,30,M,E,SDB,CM,MSC-C-25x30.step +C25-30M,C,25,30,M,,,,MSC-C-25x30.step +C25-30MU,C,25,30,M,,,U,MSC-C-25x30.step +C25-30MCM,C,25,30,M,,,CM,MSC-C-25x30.step +C25-30MLB,C,25,30,M,,LB,,MSC-C-25x30.step +C25-30MLBU,C,25,30,M,,LB,U,MSC-C-25x30.step +C25-30MLBCM,C,25,30,M,,LB,CM,MSC-C-25x30.step +C25-30MFA,C,25,30,M,,FA,,MSC-C-25x30.step +C25-30MFAU,C,25,30,M,,FA,U,MSC-C-25x30.step +C25-30MFACM,C,25,30,M,,FA,CM,MSC-C-25x30.step +C25-30MFB,C,25,30,M,,FB,,MSC-C-25x30.step +C25-30MFBU,C,25,30,M,,FB,U,MSC-C-25x30.step +C25-30MFBCM,C,25,30,M,,FB,CM,MSC-C-25x30.step +C25-30MSDB,C,25,30,M,,SDB,,MSC-C-25x30.step +C25-30MSDBU,C,25,30,M,,SDB,U,MSC-C-25x30.step +C25-30MSDBCM,C,25,30,M,,SDB,CM,MSC-C-25x30.step +C25-50E,C,25,50,,E,,,MSC-C-25x50.step +C25-50EU,C,25,50,,E,,U,MSC-C-25x50.step +C25-50ECM,C,25,50,,E,,CM,MSC-C-25x50.step +C25-50ELB,C,25,50,,E,LB,,MSC-C-25x50.step +C25-50ELBU,C,25,50,,E,LB,U,MSC-C-25x50.step +C25-50ELBCM,C,25,50,,E,LB,CM,MSC-C-25x50.step +C25-50EFA,C,25,50,,E,FA,,MSC-C-25x50.step +C25-50EFAU,C,25,50,,E,FA,U,MSC-C-25x50.step +C25-50EFACM,C,25,50,,E,FA,CM,MSC-C-25x50.step +C25-50EFB,C,25,50,,E,FB,,MSC-C-25x50.step +C25-50EFBU,C,25,50,,E,FB,U,MSC-C-25x50.step +C25-50EFBCM,C,25,50,,E,FB,CM,MSC-C-25x50.step +C25-50ESDB,C,25,50,,E,SDB,,MSC-C-25x50.step +C25-50ESDBU,C,25,50,,E,SDB,U,MSC-C-25x50.step +C25-50ESDBCM,C,25,50,,E,SDB,CM,MSC-C-25x50.step +C25-50,C,25,50,,,,,MSC-C-25x50.step +C25-50U,C,25,50,,,,U,MSC-C-25x50.step +C25-50CM,C,25,50,,,,CM,MSC-C-25x50.step +C25-50LB,C,25,50,,,LB,,MSC-C-25x50.step +C25-50LBU,C,25,50,,,LB,U,MSC-C-25x50.step +C25-50LBCM,C,25,50,,,LB,CM,MSC-C-25x50.step +C25-50FA,C,25,50,,,FA,,MSC-C-25x50.step +C25-50FAU,C,25,50,,,FA,U,MSC-C-25x50.step +C25-50FACM,C,25,50,,,FA,CM,MSC-C-25x50.step +C25-50FB,C,25,50,,,FB,,MSC-C-25x50.step +C25-50FBU,C,25,50,,,FB,U,MSC-C-25x50.step +C25-50FBCM,C,25,50,,,FB,CM,MSC-C-25x50.step +C25-50SDB,C,25,50,,,SDB,,MSC-C-25x50.step +C25-50SDBU,C,25,50,,,SDB,U,MSC-C-25x50.step +C25-50SDBCM,C,25,50,,,SDB,CM,MSC-C-25x50.step +C25-50ME,C,25,50,M,E,,,MSC-C-25x50.step +C25-50MEU,C,25,50,M,E,,U,MSC-C-25x50.step +C25-50MECM,C,25,50,M,E,,CM,MSC-C-25x50.step +C25-50MELB,C,25,50,M,E,LB,,MSC-C-25x50.step +C25-50MELBU,C,25,50,M,E,LB,U,MSC-C-25x50.step +C25-50MELBCM,C,25,50,M,E,LB,CM,MSC-C-25x50.step +C25-50MEFA,C,25,50,M,E,FA,,MSC-C-25x50.step +C25-50MEFAU,C,25,50,M,E,FA,U,MSC-C-25x50.step +C25-50MEFACM,C,25,50,M,E,FA,CM,MSC-C-25x50.step +C25-50MEFB,C,25,50,M,E,FB,,MSC-C-25x50.step +C25-50MEFBU,C,25,50,M,E,FB,U,MSC-C-25x50.step +C25-50MEFBCM,C,25,50,M,E,FB,CM,MSC-C-25x50.step +C25-50MESDB,C,25,50,M,E,SDB,,MSC-C-25x50.step +C25-50MESDBU,C,25,50,M,E,SDB,U,MSC-C-25x50.step +C25-50MESDBCM,C,25,50,M,E,SDB,CM,MSC-C-25x50.step +C25-50M,C,25,50,M,,,,MSC-C-25x50.step +C25-50MU,C,25,50,M,,,U,MSC-C-25x50.step +C25-50MCM,C,25,50,M,,,CM,MSC-C-25x50.step +C25-50MLB,C,25,50,M,,LB,,MSC-C-25x50.step +C25-50MLBU,C,25,50,M,,LB,U,MSC-C-25x50.step +C25-50MLBCM,C,25,50,M,,LB,CM,MSC-C-25x50.step +C25-50MFA,C,25,50,M,,FA,,MSC-C-25x50.step +C25-50MFAU,C,25,50,M,,FA,U,MSC-C-25x50.step +C25-50MFACM,C,25,50,M,,FA,CM,MSC-C-25x50.step +C25-50MFB,C,25,50,M,,FB,,MSC-C-25x50.step +C25-50MFBU,C,25,50,M,,FB,U,MSC-C-25x50.step +C25-50MFBCM,C,25,50,M,,FB,CM,MSC-C-25x50.step +C25-50MSDB,C,25,50,M,,SDB,,MSC-C-25x50.step +C25-50MSDBU,C,25,50,M,,SDB,U,MSC-C-25x50.step +C25-50MSDBCM,C,25,50,M,,SDB,CM,MSC-C-25x50.step +C25-75E,C,25,75,,E,,,MSC-C-25x75.step +C25-75EU,C,25,75,,E,,U,MSC-C-25x75.step +C25-75ECM,C,25,75,,E,,CM,MSC-C-25x75.step +C25-75ELB,C,25,75,,E,LB,,MSC-C-25x75.step +C25-75ELBU,C,25,75,,E,LB,U,MSC-C-25x75.step +C25-75ELBCM,C,25,75,,E,LB,CM,MSC-C-25x75.step +C25-75EFA,C,25,75,,E,FA,,MSC-C-25x75.step +C25-75EFAU,C,25,75,,E,FA,U,MSC-C-25x75.step +C25-75EFACM,C,25,75,,E,FA,CM,MSC-C-25x75.step +C25-75EFB,C,25,75,,E,FB,,MSC-C-25x75.step +C25-75EFBU,C,25,75,,E,FB,U,MSC-C-25x75.step +C25-75EFBCM,C,25,75,,E,FB,CM,MSC-C-25x75.step +C25-75ESDB,C,25,75,,E,SDB,,MSC-C-25x75.step +C25-75ESDBU,C,25,75,,E,SDB,U,MSC-C-25x75.step +C25-75ESDBCM,C,25,75,,E,SDB,CM,MSC-C-25x75.step +C25-75,C,25,75,,,,,MSC-C-25x75.step +C25-75U,C,25,75,,,,U,MSC-C-25x75.step +C25-75CM,C,25,75,,,,CM,MSC-C-25x75.step +C25-75LB,C,25,75,,,LB,,MSC-C-25x75.step +C25-75LBU,C,25,75,,,LB,U,MSC-C-25x75.step +C25-75LBCM,C,25,75,,,LB,CM,MSC-C-25x75.step +C25-75FA,C,25,75,,,FA,,MSC-C-25x75.step +C25-75FAU,C,25,75,,,FA,U,MSC-C-25x75.step +C25-75FACM,C,25,75,,,FA,CM,MSC-C-25x75.step +C25-75FB,C,25,75,,,FB,,MSC-C-25x75.step +C25-75FBU,C,25,75,,,FB,U,MSC-C-25x75.step +C25-75FBCM,C,25,75,,,FB,CM,MSC-C-25x75.step +C25-75SDB,C,25,75,,,SDB,,MSC-C-25x75.step +C25-75SDBU,C,25,75,,,SDB,U,MSC-C-25x75.step +C25-75SDBCM,C,25,75,,,SDB,CM,MSC-C-25x75.step +C25-75ME,C,25,75,M,E,,,MSC-C-25x75.step +C25-75MEU,C,25,75,M,E,,U,MSC-C-25x75.step +C25-75MECM,C,25,75,M,E,,CM,MSC-C-25x75.step +C25-75MELB,C,25,75,M,E,LB,,MSC-C-25x75.step +C25-75MELBU,C,25,75,M,E,LB,U,MSC-C-25x75.step +C25-75MELBCM,C,25,75,M,E,LB,CM,MSC-C-25x75.step +C25-75MEFA,C,25,75,M,E,FA,,MSC-C-25x75.step +C25-75MEFAU,C,25,75,M,E,FA,U,MSC-C-25x75.step +C25-75MEFACM,C,25,75,M,E,FA,CM,MSC-C-25x75.step +C25-75MEFB,C,25,75,M,E,FB,,MSC-C-25x75.step +C25-75MEFBU,C,25,75,M,E,FB,U,MSC-C-25x75.step +C25-75MEFBCM,C,25,75,M,E,FB,CM,MSC-C-25x75.step +C25-75MESDB,C,25,75,M,E,SDB,,MSC-C-25x75.step +C25-75MESDBU,C,25,75,M,E,SDB,U,MSC-C-25x75.step +C25-75MESDBCM,C,25,75,M,E,SDB,CM,MSC-C-25x75.step +C25-75M,C,25,75,M,,,,MSC-C-25x75.step +C25-75MU,C,25,75,M,,,U,MSC-C-25x75.step +C25-75MCM,C,25,75,M,,,CM,MSC-C-25x75.step +C25-75MLB,C,25,75,M,,LB,,MSC-C-25x75.step +C25-75MLBU,C,25,75,M,,LB,U,MSC-C-25x75.step +C25-75MLBCM,C,25,75,M,,LB,CM,MSC-C-25x75.step +C25-75MFA,C,25,75,M,,FA,,MSC-C-25x75.step +C25-75MFAU,C,25,75,M,,FA,U,MSC-C-25x75.step +C25-75MFACM,C,25,75,M,,FA,CM,MSC-C-25x75.step +C25-75MFB,C,25,75,M,,FB,,MSC-C-25x75.step +C25-75MFBU,C,25,75,M,,FB,U,MSC-C-25x75.step +C25-75MFBCM,C,25,75,M,,FB,CM,MSC-C-25x75.step +C25-75MSDB,C,25,75,M,,SDB,,MSC-C-25x75.step +C25-75MSDBU,C,25,75,M,,SDB,U,MSC-C-25x75.step +C25-75MSDBCM,C,25,75,M,,SDB,CM,MSC-C-25x75.step +C25-100E,C,25,100,,E,,,MSC-C-25x100.step +C25-100EU,C,25,100,,E,,U,MSC-C-25x100.step +C25-100ECM,C,25,100,,E,,CM,MSC-C-25x100.step +C25-100ELB,C,25,100,,E,LB,,MSC-C-25x100.step +C25-100ELBU,C,25,100,,E,LB,U,MSC-C-25x100.step +C25-100ELBCM,C,25,100,,E,LB,CM,MSC-C-25x100.step +C25-100EFA,C,25,100,,E,FA,,MSC-C-25x100.step +C25-100EFAU,C,25,100,,E,FA,U,MSC-C-25x100.step +C25-100EFACM,C,25,100,,E,FA,CM,MSC-C-25x100.step +C25-100EFB,C,25,100,,E,FB,,MSC-C-25x100.step +C25-100EFBU,C,25,100,,E,FB,U,MSC-C-25x100.step +C25-100EFBCM,C,25,100,,E,FB,CM,MSC-C-25x100.step +C25-100ESDB,C,25,100,,E,SDB,,MSC-C-25x100.step +C25-100ESDBU,C,25,100,,E,SDB,U,MSC-C-25x100.step +C25-100ESDBCM,C,25,100,,E,SDB,CM,MSC-C-25x100.step +C25-100,C,25,100,,,,,MSC-C-25x100.step +C25-100U,C,25,100,,,,U,MSC-C-25x100.step +C25-100CM,C,25,100,,,,CM,MSC-C-25x100.step +C25-100LB,C,25,100,,,LB,,MSC-C-25x100.step +C25-100LBU,C,25,100,,,LB,U,MSC-C-25x100.step +C25-100LBCM,C,25,100,,,LB,CM,MSC-C-25x100.step +C25-100FA,C,25,100,,,FA,,MSC-C-25x100.step +C25-100FAU,C,25,100,,,FA,U,MSC-C-25x100.step +C25-100FACM,C,25,100,,,FA,CM,MSC-C-25x100.step +C25-100FB,C,25,100,,,FB,,MSC-C-25x100.step +C25-100FBU,C,25,100,,,FB,U,MSC-C-25x100.step +C25-100FBCM,C,25,100,,,FB,CM,MSC-C-25x100.step +C25-100SDB,C,25,100,,,SDB,,MSC-C-25x100.step +C25-100SDBU,C,25,100,,,SDB,U,MSC-C-25x100.step +C25-100SDBCM,C,25,100,,,SDB,CM,MSC-C-25x100.step +C25-100ME,C,25,100,M,E,,,MSC-C-25x100.step +C25-100MEU,C,25,100,M,E,,U,MSC-C-25x100.step +C25-100MECM,C,25,100,M,E,,CM,MSC-C-25x100.step +C25-100MELB,C,25,100,M,E,LB,,MSC-C-25x100.step +C25-100MELBU,C,25,100,M,E,LB,U,MSC-C-25x100.step +C25-100MELBCM,C,25,100,M,E,LB,CM,MSC-C-25x100.step +C25-100MEFA,C,25,100,M,E,FA,,MSC-C-25x100.step +C25-100MEFAU,C,25,100,M,E,FA,U,MSC-C-25x100.step +C25-100MEFACM,C,25,100,M,E,FA,CM,MSC-C-25x100.step +C25-100MEFB,C,25,100,M,E,FB,,MSC-C-25x100.step +C25-100MEFBU,C,25,100,M,E,FB,U,MSC-C-25x100.step +C25-100MEFBCM,C,25,100,M,E,FB,CM,MSC-C-25x100.step +C25-100MESDB,C,25,100,M,E,SDB,,MSC-C-25x100.step +C25-100MESDBU,C,25,100,M,E,SDB,U,MSC-C-25x100.step +C25-100MESDBCM,C,25,100,M,E,SDB,CM,MSC-C-25x100.step +C25-100M,C,25,100,M,,,,MSC-C-25x100.step +C25-100MU,C,25,100,M,,,U,MSC-C-25x100.step +C25-100MCM,C,25,100,M,,,CM,MSC-C-25x100.step +C25-100MLB,C,25,100,M,,LB,,MSC-C-25x100.step +C25-100MLBU,C,25,100,M,,LB,U,MSC-C-25x100.step +C25-100MLBCM,C,25,100,M,,LB,CM,MSC-C-25x100.step +C25-100MFA,C,25,100,M,,FA,,MSC-C-25x100.step +C25-100MFAU,C,25,100,M,,FA,U,MSC-C-25x100.step +C25-100MFACM,C,25,100,M,,FA,CM,MSC-C-25x100.step +C25-100MFB,C,25,100,M,,FB,,MSC-C-25x100.step +C25-100MFBU,C,25,100,M,,FB,U,MSC-C-25x100.step +C25-100MFBCM,C,25,100,M,,FB,CM,MSC-C-25x100.step +C25-100MSDB,C,25,100,M,,SDB,,MSC-C-25x100.step +C25-100MSDBU,C,25,100,M,,SDB,U,MSC-C-25x100.step +C25-100MSDBCM,C,25,100,M,,SDB,CM,MSC-C-25x100.step +C32-10E,C,32,10,,E,,,MSC-C-32x10.step +C32-10EU,C,32,10,,E,,U,MSC-C-32x10.step +C32-10ECM,C,32,10,,E,,CM,MSC-C-32x10.step +C32-10ELB,C,32,10,,E,LB,,MSC-C-32x10.step +C32-10ELBU,C,32,10,,E,LB,U,MSC-C-32x10.step +C32-10ELBCM,C,32,10,,E,LB,CM,MSC-C-32x10.step +C32-10EFA,C,32,10,,E,FA,,MSC-C-32x10.step +C32-10EFAU,C,32,10,,E,FA,U,MSC-C-32x10.step +C32-10EFACM,C,32,10,,E,FA,CM,MSC-C-32x10.step +C32-10EFB,C,32,10,,E,FB,,MSC-C-32x10.step +C32-10EFBU,C,32,10,,E,FB,U,MSC-C-32x10.step +C32-10EFBCM,C,32,10,,E,FB,CM,MSC-C-32x10.step +C32-10ESDB,C,32,10,,E,SDB,,MSC-C-32x10.step +C32-10ESDBU,C,32,10,,E,SDB,U,MSC-C-32x10.step +C32-10ESDBCM,C,32,10,,E,SDB,CM,MSC-C-32x10.step +C32-10,C,32,10,,,,,MSC-C-32x10.step +C32-10U,C,32,10,,,,U,MSC-C-32x10.step +C32-10CM,C,32,10,,,,CM,MSC-C-32x10.step +C32-10LB,C,32,10,,,LB,,MSC-C-32x10.step +C32-10LBU,C,32,10,,,LB,U,MSC-C-32x10.step +C32-10LBCM,C,32,10,,,LB,CM,MSC-C-32x10.step +C32-10FA,C,32,10,,,FA,,MSC-C-32x10.step +C32-10FAU,C,32,10,,,FA,U,MSC-C-32x10.step +C32-10FACM,C,32,10,,,FA,CM,MSC-C-32x10.step +C32-10FB,C,32,10,,,FB,,MSC-C-32x10.step +C32-10FBU,C,32,10,,,FB,U,MSC-C-32x10.step +C32-10FBCM,C,32,10,,,FB,CM,MSC-C-32x10.step +C32-10SDB,C,32,10,,,SDB,,MSC-C-32x10.step +C32-10SDBU,C,32,10,,,SDB,U,MSC-C-32x10.step +C32-10SDBCM,C,32,10,,,SDB,CM,MSC-C-32x10.step +C32-10ME,C,32,10,M,E,,,MSC-C-32x10.step +C32-10MEU,C,32,10,M,E,,U,MSC-C-32x10.step +C32-10MECM,C,32,10,M,E,,CM,MSC-C-32x10.step +C32-10MELB,C,32,10,M,E,LB,,MSC-C-32x10.step +C32-10MELBU,C,32,10,M,E,LB,U,MSC-C-32x10.step +C32-10MELBCM,C,32,10,M,E,LB,CM,MSC-C-32x10.step +C32-10MEFA,C,32,10,M,E,FA,,MSC-C-32x10.step +C32-10MEFAU,C,32,10,M,E,FA,U,MSC-C-32x10.step +C32-10MEFACM,C,32,10,M,E,FA,CM,MSC-C-32x10.step +C32-10MEFB,C,32,10,M,E,FB,,MSC-C-32x10.step +C32-10MEFBU,C,32,10,M,E,FB,U,MSC-C-32x10.step +C32-10MEFBCM,C,32,10,M,E,FB,CM,MSC-C-32x10.step +C32-10MESDB,C,32,10,M,E,SDB,,MSC-C-32x10.step +C32-10MESDBU,C,32,10,M,E,SDB,U,MSC-C-32x10.step +C32-10MESDBCM,C,32,10,M,E,SDB,CM,MSC-C-32x10.step +C32-10M,C,32,10,M,,,,MSC-C-32x10.step +C32-10MU,C,32,10,M,,,U,MSC-C-32x10.step +C32-10MCM,C,32,10,M,,,CM,MSC-C-32x10.step +C32-10MLB,C,32,10,M,,LB,,MSC-C-32x10.step +C32-10MLBU,C,32,10,M,,LB,U,MSC-C-32x10.step +C32-10MLBCM,C,32,10,M,,LB,CM,MSC-C-32x10.step +C32-10MFA,C,32,10,M,,FA,,MSC-C-32x10.step +C32-10MFAU,C,32,10,M,,FA,U,MSC-C-32x10.step +C32-10MFACM,C,32,10,M,,FA,CM,MSC-C-32x10.step +C32-10MFB,C,32,10,M,,FB,,MSC-C-32x10.step +C32-10MFBU,C,32,10,M,,FB,U,MSC-C-32x10.step +C32-10MFBCM,C,32,10,M,,FB,CM,MSC-C-32x10.step +C32-10MSDB,C,32,10,M,,SDB,,MSC-C-32x10.step +C32-10MSDBU,C,32,10,M,,SDB,U,MSC-C-32x10.step +C32-10MSDBCM,C,32,10,M,,SDB,CM,MSC-C-32x10.step +C32-20E,C,32,20,,E,,,MSC-C-32x20.step +C32-20EU,C,32,20,,E,,U,MSC-C-32x20.step +C32-20ECM,C,32,20,,E,,CM,MSC-C-32x20.step +C32-20ELB,C,32,20,,E,LB,,MSC-C-32x20.step +C32-20ELBU,C,32,20,,E,LB,U,MSC-C-32x20.step +C32-20ELBCM,C,32,20,,E,LB,CM,MSC-C-32x20.step +C32-20EFA,C,32,20,,E,FA,,MSC-C-32x20.step +C32-20EFAU,C,32,20,,E,FA,U,MSC-C-32x20.step +C32-20EFACM,C,32,20,,E,FA,CM,MSC-C-32x20.step +C32-20EFB,C,32,20,,E,FB,,MSC-C-32x20.step +C32-20EFBU,C,32,20,,E,FB,U,MSC-C-32x20.step +C32-20EFBCM,C,32,20,,E,FB,CM,MSC-C-32x20.step +C32-20ESDB,C,32,20,,E,SDB,,MSC-C-32x20.step +C32-20ESDBU,C,32,20,,E,SDB,U,MSC-C-32x20.step +C32-20ESDBCM,C,32,20,,E,SDB,CM,MSC-C-32x20.step +C32-20,C,32,20,,,,,MSC-C-32x20.step +C32-20U,C,32,20,,,,U,MSC-C-32x20.step +C32-20CM,C,32,20,,,,CM,MSC-C-32x20.step +C32-20LB,C,32,20,,,LB,,MSC-C-32x20.step +C32-20LBU,C,32,20,,,LB,U,MSC-C-32x20.step +C32-20LBCM,C,32,20,,,LB,CM,MSC-C-32x20.step +C32-20FA,C,32,20,,,FA,,MSC-C-32x20.step +C32-20FAU,C,32,20,,,FA,U,MSC-C-32x20.step +C32-20FACM,C,32,20,,,FA,CM,MSC-C-32x20.step +C32-20FB,C,32,20,,,FB,,MSC-C-32x20.step +C32-20FBU,C,32,20,,,FB,U,MSC-C-32x20.step +C32-20FBCM,C,32,20,,,FB,CM,MSC-C-32x20.step +C32-20SDB,C,32,20,,,SDB,,MSC-C-32x20.step +C32-20SDBU,C,32,20,,,SDB,U,MSC-C-32x20.step +C32-20SDBCM,C,32,20,,,SDB,CM,MSC-C-32x20.step +C32-20ME,C,32,20,M,E,,,MSC-C-32x20.step +C32-20MEU,C,32,20,M,E,,U,MSC-C-32x20.step +C32-20MECM,C,32,20,M,E,,CM,MSC-C-32x20.step +C32-20MELB,C,32,20,M,E,LB,,MSC-C-32x20.step +C32-20MELBU,C,32,20,M,E,LB,U,MSC-C-32x20.step +C32-20MELBCM,C,32,20,M,E,LB,CM,MSC-C-32x20.step +C32-20MEFA,C,32,20,M,E,FA,,MSC-C-32x20.step +C32-20MEFAU,C,32,20,M,E,FA,U,MSC-C-32x20.step +C32-20MEFACM,C,32,20,M,E,FA,CM,MSC-C-32x20.step +C32-20MEFB,C,32,20,M,E,FB,,MSC-C-32x20.step +C32-20MEFBU,C,32,20,M,E,FB,U,MSC-C-32x20.step +C32-20MEFBCM,C,32,20,M,E,FB,CM,MSC-C-32x20.step +C32-20MESDB,C,32,20,M,E,SDB,,MSC-C-32x20.step +C32-20MESDBU,C,32,20,M,E,SDB,U,MSC-C-32x20.step +C32-20MESDBCM,C,32,20,M,E,SDB,CM,MSC-C-32x20.step +C32-20M,C,32,20,M,,,,MSC-C-32x20.step +C32-20MU,C,32,20,M,,,U,MSC-C-32x20.step +C32-20MCM,C,32,20,M,,,CM,MSC-C-32x20.step +C32-20MLB,C,32,20,M,,LB,,MSC-C-32x20.step +C32-20MLBU,C,32,20,M,,LB,U,MSC-C-32x20.step +C32-20MLBCM,C,32,20,M,,LB,CM,MSC-C-32x20.step +C32-20MFA,C,32,20,M,,FA,,MSC-C-32x20.step +C32-20MFAU,C,32,20,M,,FA,U,MSC-C-32x20.step +C32-20MFACM,C,32,20,M,,FA,CM,MSC-C-32x20.step +C32-20MFB,C,32,20,M,,FB,,MSC-C-32x20.step +C32-20MFBU,C,32,20,M,,FB,U,MSC-C-32x20.step +C32-20MFBCM,C,32,20,M,,FB,CM,MSC-C-32x20.step +C32-20MSDB,C,32,20,M,,SDB,,MSC-C-32x20.step +C32-20MSDBU,C,32,20,M,,SDB,U,MSC-C-32x20.step +C32-20MSDBCM,C,32,20,M,,SDB,CM,MSC-C-32x20.step +C32-30E,C,32,30,,E,,,MSC-C-32x30.step +C32-30EU,C,32,30,,E,,U,MSC-C-32x30.step +C32-30ECM,C,32,30,,E,,CM,MSC-C-32x30.step +C32-30ELB,C,32,30,,E,LB,,MSC-C-32x30.step +C32-30ELBU,C,32,30,,E,LB,U,MSC-C-32x30.step +C32-30ELBCM,C,32,30,,E,LB,CM,MSC-C-32x30.step +C32-30EFA,C,32,30,,E,FA,,MSC-C-32x30.step +C32-30EFAU,C,32,30,,E,FA,U,MSC-C-32x30.step +C32-30EFACM,C,32,30,,E,FA,CM,MSC-C-32x30.step +C32-30EFB,C,32,30,,E,FB,,MSC-C-32x30.step +C32-30EFBU,C,32,30,,E,FB,U,MSC-C-32x30.step +C32-30EFBCM,C,32,30,,E,FB,CM,MSC-C-32x30.step +C32-30ESDB,C,32,30,,E,SDB,,MSC-C-32x30.step +C32-30ESDBU,C,32,30,,E,SDB,U,MSC-C-32x30.step +C32-30ESDBCM,C,32,30,,E,SDB,CM,MSC-C-32x30.step +C32-30,C,32,30,,,,,MSC-C-32x30.step +C32-30U,C,32,30,,,,U,MSC-C-32x30.step +C32-30CM,C,32,30,,,,CM,MSC-C-32x30.step +C32-30LB,C,32,30,,,LB,,MSC-C-32x30.step +C32-30LBU,C,32,30,,,LB,U,MSC-C-32x30.step +C32-30LBCM,C,32,30,,,LB,CM,MSC-C-32x30.step +C32-30FA,C,32,30,,,FA,,MSC-C-32x30.step +C32-30FAU,C,32,30,,,FA,U,MSC-C-32x30.step +C32-30FACM,C,32,30,,,FA,CM,MSC-C-32x30.step +C32-30FB,C,32,30,,,FB,,MSC-C-32x30.step +C32-30FBU,C,32,30,,,FB,U,MSC-C-32x30.step +C32-30FBCM,C,32,30,,,FB,CM,MSC-C-32x30.step +C32-30SDB,C,32,30,,,SDB,,MSC-C-32x30.step +C32-30SDBU,C,32,30,,,SDB,U,MSC-C-32x30.step +C32-30SDBCM,C,32,30,,,SDB,CM,MSC-C-32x30.step +C32-30ME,C,32,30,M,E,,,MSC-C-32x30.step +C32-30MEU,C,32,30,M,E,,U,MSC-C-32x30.step +C32-30MECM,C,32,30,M,E,,CM,MSC-C-32x30.step +C32-30MELB,C,32,30,M,E,LB,,MSC-C-32x30.step +C32-30MELBU,C,32,30,M,E,LB,U,MSC-C-32x30.step +C32-30MELBCM,C,32,30,M,E,LB,CM,MSC-C-32x30.step +C32-30MEFA,C,32,30,M,E,FA,,MSC-C-32x30.step +C32-30MEFAU,C,32,30,M,E,FA,U,MSC-C-32x30.step +C32-30MEFACM,C,32,30,M,E,FA,CM,MSC-C-32x30.step +C32-30MEFB,C,32,30,M,E,FB,,MSC-C-32x30.step +C32-30MEFBU,C,32,30,M,E,FB,U,MSC-C-32x30.step +C32-30MEFBCM,C,32,30,M,E,FB,CM,MSC-C-32x30.step +C32-30MESDB,C,32,30,M,E,SDB,,MSC-C-32x30.step +C32-30MESDBU,C,32,30,M,E,SDB,U,MSC-C-32x30.step +C32-30MESDBCM,C,32,30,M,E,SDB,CM,MSC-C-32x30.step +C32-30M,C,32,30,M,,,,MSC-C-32x30.step +C32-30MU,C,32,30,M,,,U,MSC-C-32x30.step +C32-30MCM,C,32,30,M,,,CM,MSC-C-32x30.step +C32-30MLB,C,32,30,M,,LB,,MSC-C-32x30.step +C32-30MLBU,C,32,30,M,,LB,U,MSC-C-32x30.step +C32-30MLBCM,C,32,30,M,,LB,CM,MSC-C-32x30.step +C32-30MFA,C,32,30,M,,FA,,MSC-C-32x30.step +C32-30MFAU,C,32,30,M,,FA,U,MSC-C-32x30.step +C32-30MFACM,C,32,30,M,,FA,CM,MSC-C-32x30.step +C32-30MFB,C,32,30,M,,FB,,MSC-C-32x30.step +C32-30MFBU,C,32,30,M,,FB,U,MSC-C-32x30.step +C32-30MFBCM,C,32,30,M,,FB,CM,MSC-C-32x30.step +C32-30MSDB,C,32,30,M,,SDB,,MSC-C-32x30.step +C32-30MSDBU,C,32,30,M,,SDB,U,MSC-C-32x30.step +C32-30MSDBCM,C,32,30,M,,SDB,CM,MSC-C-32x30.step +C32-50E,C,32,50,,E,,,MSC-C-32x50.step +C32-50EU,C,32,50,,E,,U,MSC-C-32x50.step +C32-50ECM,C,32,50,,E,,CM,MSC-C-32x50.step +C32-50ELB,C,32,50,,E,LB,,MSC-C-32x50.step +C32-50ELBU,C,32,50,,E,LB,U,MSC-C-32x50.step +C32-50ELBCM,C,32,50,,E,LB,CM,MSC-C-32x50.step +C32-50EFA,C,32,50,,E,FA,,MSC-C-32x50.step +C32-50EFAU,C,32,50,,E,FA,U,MSC-C-32x50.step +C32-50EFACM,C,32,50,,E,FA,CM,MSC-C-32x50.step +C32-50EFB,C,32,50,,E,FB,,MSC-C-32x50.step +C32-50EFBU,C,32,50,,E,FB,U,MSC-C-32x50.step +C32-50EFBCM,C,32,50,,E,FB,CM,MSC-C-32x50.step +C32-50ESDB,C,32,50,,E,SDB,,MSC-C-32x50.step +C32-50ESDBU,C,32,50,,E,SDB,U,MSC-C-32x50.step +C32-50ESDBCM,C,32,50,,E,SDB,CM,MSC-C-32x50.step +C32-50,C,32,50,,,,,MSC-C-32x50.step +C32-50U,C,32,50,,,,U,MSC-C-32x50.step +C32-50CM,C,32,50,,,,CM,MSC-C-32x50.step +C32-50LB,C,32,50,,,LB,,MSC-C-32x50.step +C32-50LBU,C,32,50,,,LB,U,MSC-C-32x50.step +C32-50LBCM,C,32,50,,,LB,CM,MSC-C-32x50.step +C32-50FA,C,32,50,,,FA,,MSC-C-32x50.step +C32-50FAU,C,32,50,,,FA,U,MSC-C-32x50.step +C32-50FACM,C,32,50,,,FA,CM,MSC-C-32x50.step +C32-50FB,C,32,50,,,FB,,MSC-C-32x50.step +C32-50FBU,C,32,50,,,FB,U,MSC-C-32x50.step +C32-50FBCM,C,32,50,,,FB,CM,MSC-C-32x50.step +C32-50SDB,C,32,50,,,SDB,,MSC-C-32x50.step +C32-50SDBU,C,32,50,,,SDB,U,MSC-C-32x50.step +C32-50SDBCM,C,32,50,,,SDB,CM,MSC-C-32x50.step +C32-50ME,C,32,50,M,E,,,MSC-C-32x50.step +C32-50MEU,C,32,50,M,E,,U,MSC-C-32x50.step +C32-50MECM,C,32,50,M,E,,CM,MSC-C-32x50.step +C32-50MELB,C,32,50,M,E,LB,,MSC-C-32x50.step +C32-50MELBU,C,32,50,M,E,LB,U,MSC-C-32x50.step +C32-50MELBCM,C,32,50,M,E,LB,CM,MSC-C-32x50.step +C32-50MEFA,C,32,50,M,E,FA,,MSC-C-32x50.step +C32-50MEFAU,C,32,50,M,E,FA,U,MSC-C-32x50.step +C32-50MEFACM,C,32,50,M,E,FA,CM,MSC-C-32x50.step +C32-50MEFB,C,32,50,M,E,FB,,MSC-C-32x50.step +C32-50MEFBU,C,32,50,M,E,FB,U,MSC-C-32x50.step +C32-50MEFBCM,C,32,50,M,E,FB,CM,MSC-C-32x50.step +C32-50MESDB,C,32,50,M,E,SDB,,MSC-C-32x50.step +C32-50MESDBU,C,32,50,M,E,SDB,U,MSC-C-32x50.step +C32-50MESDBCM,C,32,50,M,E,SDB,CM,MSC-C-32x50.step +C32-50M,C,32,50,M,,,,MSC-C-32x50.step +C32-50MU,C,32,50,M,,,U,MSC-C-32x50.step +C32-50MCM,C,32,50,M,,,CM,MSC-C-32x50.step +C32-50MLB,C,32,50,M,,LB,,MSC-C-32x50.step +C32-50MLBU,C,32,50,M,,LB,U,MSC-C-32x50.step +C32-50MLBCM,C,32,50,M,,LB,CM,MSC-C-32x50.step +C32-50MFA,C,32,50,M,,FA,,MSC-C-32x50.step +C32-50MFAU,C,32,50,M,,FA,U,MSC-C-32x50.step +C32-50MFACM,C,32,50,M,,FA,CM,MSC-C-32x50.step +C32-50MFB,C,32,50,M,,FB,,MSC-C-32x50.step +C32-50MFBU,C,32,50,M,,FB,U,MSC-C-32x50.step +C32-50MFBCM,C,32,50,M,,FB,CM,MSC-C-32x50.step +C32-50MSDB,C,32,50,M,,SDB,,MSC-C-32x50.step +C32-50MSDBU,C,32,50,M,,SDB,U,MSC-C-32x50.step +C32-50MSDBCM,C,32,50,M,,SDB,CM,MSC-C-32x50.step +C32-75E,C,32,75,,E,,,MSC-C-32x75.step +C32-75EU,C,32,75,,E,,U,MSC-C-32x75.step +C32-75ECM,C,32,75,,E,,CM,MSC-C-32x75.step +C32-75ELB,C,32,75,,E,LB,,MSC-C-32x75.step +C32-75ELBU,C,32,75,,E,LB,U,MSC-C-32x75.step +C32-75ELBCM,C,32,75,,E,LB,CM,MSC-C-32x75.step +C32-75EFA,C,32,75,,E,FA,,MSC-C-32x75.step +C32-75EFAU,C,32,75,,E,FA,U,MSC-C-32x75.step +C32-75EFACM,C,32,75,,E,FA,CM,MSC-C-32x75.step +C32-75EFB,C,32,75,,E,FB,,MSC-C-32x75.step +C32-75EFBU,C,32,75,,E,FB,U,MSC-C-32x75.step +C32-75EFBCM,C,32,75,,E,FB,CM,MSC-C-32x75.step +C32-75ESDB,C,32,75,,E,SDB,,MSC-C-32x75.step +C32-75ESDBU,C,32,75,,E,SDB,U,MSC-C-32x75.step +C32-75ESDBCM,C,32,75,,E,SDB,CM,MSC-C-32x75.step +C32-75,C,32,75,,,,,MSC-C-32x75.step +C32-75U,C,32,75,,,,U,MSC-C-32x75.step +C32-75CM,C,32,75,,,,CM,MSC-C-32x75.step +C32-75LB,C,32,75,,,LB,,MSC-C-32x75.step +C32-75LBU,C,32,75,,,LB,U,MSC-C-32x75.step +C32-75LBCM,C,32,75,,,LB,CM,MSC-C-32x75.step +C32-75FA,C,32,75,,,FA,,MSC-C-32x75.step +C32-75FAU,C,32,75,,,FA,U,MSC-C-32x75.step +C32-75FACM,C,32,75,,,FA,CM,MSC-C-32x75.step +C32-75FB,C,32,75,,,FB,,MSC-C-32x75.step +C32-75FBU,C,32,75,,,FB,U,MSC-C-32x75.step +C32-75FBCM,C,32,75,,,FB,CM,MSC-C-32x75.step +C32-75SDB,C,32,75,,,SDB,,MSC-C-32x75.step +C32-75SDBU,C,32,75,,,SDB,U,MSC-C-32x75.step +C32-75SDBCM,C,32,75,,,SDB,CM,MSC-C-32x75.step +C32-75ME,C,32,75,M,E,,,MSC-C-32x75.step +C32-75MEU,C,32,75,M,E,,U,MSC-C-32x75.step +C32-75MECM,C,32,75,M,E,,CM,MSC-C-32x75.step +C32-75MELB,C,32,75,M,E,LB,,MSC-C-32x75.step +C32-75MELBU,C,32,75,M,E,LB,U,MSC-C-32x75.step +C32-75MELBCM,C,32,75,M,E,LB,CM,MSC-C-32x75.step +C32-75MEFA,C,32,75,M,E,FA,,MSC-C-32x75.step +C32-75MEFAU,C,32,75,M,E,FA,U,MSC-C-32x75.step +C32-75MEFACM,C,32,75,M,E,FA,CM,MSC-C-32x75.step +C32-75MEFB,C,32,75,M,E,FB,,MSC-C-32x75.step +C32-75MEFBU,C,32,75,M,E,FB,U,MSC-C-32x75.step +C32-75MEFBCM,C,32,75,M,E,FB,CM,MSC-C-32x75.step +C32-75MESDB,C,32,75,M,E,SDB,,MSC-C-32x75.step +C32-75MESDBU,C,32,75,M,E,SDB,U,MSC-C-32x75.step +C32-75MESDBCM,C,32,75,M,E,SDB,CM,MSC-C-32x75.step +C32-75M,C,32,75,M,,,,MSC-C-32x75.step +C32-75MU,C,32,75,M,,,U,MSC-C-32x75.step +C32-75MCM,C,32,75,M,,,CM,MSC-C-32x75.step +C32-75MLB,C,32,75,M,,LB,,MSC-C-32x75.step +C32-75MLBU,C,32,75,M,,LB,U,MSC-C-32x75.step +C32-75MLBCM,C,32,75,M,,LB,CM,MSC-C-32x75.step +C32-75MFA,C,32,75,M,,FA,,MSC-C-32x75.step +C32-75MFAU,C,32,75,M,,FA,U,MSC-C-32x75.step +C32-75MFACM,C,32,75,M,,FA,CM,MSC-C-32x75.step +C32-75MFB,C,32,75,M,,FB,,MSC-C-32x75.step +C32-75MFBU,C,32,75,M,,FB,U,MSC-C-32x75.step +C32-75MFBCM,C,32,75,M,,FB,CM,MSC-C-32x75.step +C32-75MSDB,C,32,75,M,,SDB,,MSC-C-32x75.step +C32-75MSDBU,C,32,75,M,,SDB,U,MSC-C-32x75.step +C32-75MSDBCM,C,32,75,M,,SDB,CM,MSC-C-32x75.step +C32-100E,C,32,100,,E,,,MSC-C-32x100.step +C32-100EU,C,32,100,,E,,U,MSC-C-32x100.step +C32-100ECM,C,32,100,,E,,CM,MSC-C-32x100.step +C32-100ELB,C,32,100,,E,LB,,MSC-C-32x100.step +C32-100ELBU,C,32,100,,E,LB,U,MSC-C-32x100.step +C32-100ELBCM,C,32,100,,E,LB,CM,MSC-C-32x100.step +C32-100EFA,C,32,100,,E,FA,,MSC-C-32x100.step +C32-100EFAU,C,32,100,,E,FA,U,MSC-C-32x100.step +C32-100EFACM,C,32,100,,E,FA,CM,MSC-C-32x100.step +C32-100EFB,C,32,100,,E,FB,,MSC-C-32x100.step +C32-100EFBU,C,32,100,,E,FB,U,MSC-C-32x100.step +C32-100EFBCM,C,32,100,,E,FB,CM,MSC-C-32x100.step +C32-100ESDB,C,32,100,,E,SDB,,MSC-C-32x100.step +C32-100ESDBU,C,32,100,,E,SDB,U,MSC-C-32x100.step +C32-100ESDBCM,C,32,100,,E,SDB,CM,MSC-C-32x100.step +C32-100,C,32,100,,,,,MSC-C-32x100.step +C32-100U,C,32,100,,,,U,MSC-C-32x100.step +C32-100CM,C,32,100,,,,CM,MSC-C-32x100.step +C32-100LB,C,32,100,,,LB,,MSC-C-32x100.step +C32-100LBU,C,32,100,,,LB,U,MSC-C-32x100.step +C32-100LBCM,C,32,100,,,LB,CM,MSC-C-32x100.step +C32-100FA,C,32,100,,,FA,,MSC-C-32x100.step +C32-100FAU,C,32,100,,,FA,U,MSC-C-32x100.step +C32-100FACM,C,32,100,,,FA,CM,MSC-C-32x100.step +C32-100FB,C,32,100,,,FB,,MSC-C-32x100.step +C32-100FBU,C,32,100,,,FB,U,MSC-C-32x100.step +C32-100FBCM,C,32,100,,,FB,CM,MSC-C-32x100.step +C32-100SDB,C,32,100,,,SDB,,MSC-C-32x100.step +C32-100SDBU,C,32,100,,,SDB,U,MSC-C-32x100.step +C32-100SDBCM,C,32,100,,,SDB,CM,MSC-C-32x100.step +C32-100ME,C,32,100,M,E,,,MSC-C-32x100.step +C32-100MEU,C,32,100,M,E,,U,MSC-C-32x100.step +C32-100MECM,C,32,100,M,E,,CM,MSC-C-32x100.step +C32-100MELB,C,32,100,M,E,LB,,MSC-C-32x100.step +C32-100MELBU,C,32,100,M,E,LB,U,MSC-C-32x100.step +C32-100MELBCM,C,32,100,M,E,LB,CM,MSC-C-32x100.step +C32-100MEFA,C,32,100,M,E,FA,,MSC-C-32x100.step +C32-100MEFAU,C,32,100,M,E,FA,U,MSC-C-32x100.step +C32-100MEFACM,C,32,100,M,E,FA,CM,MSC-C-32x100.step +C32-100MEFB,C,32,100,M,E,FB,,MSC-C-32x100.step +C32-100MEFBU,C,32,100,M,E,FB,U,MSC-C-32x100.step +C32-100MEFBCM,C,32,100,M,E,FB,CM,MSC-C-32x100.step +C32-100MESDB,C,32,100,M,E,SDB,,MSC-C-32x100.step +C32-100MESDBU,C,32,100,M,E,SDB,U,MSC-C-32x100.step +C32-100MESDBCM,C,32,100,M,E,SDB,CM,MSC-C-32x100.step +C32-100M,C,32,100,M,,,,MSC-C-32x100.step +C32-100MU,C,32,100,M,,,U,MSC-C-32x100.step +C32-100MCM,C,32,100,M,,,CM,MSC-C-32x100.step +C32-100MLB,C,32,100,M,,LB,,MSC-C-32x100.step +C32-100MLBU,C,32,100,M,,LB,U,MSC-C-32x100.step +C32-100MLBCM,C,32,100,M,,LB,CM,MSC-C-32x100.step +C32-100MFA,C,32,100,M,,FA,,MSC-C-32x100.step +C32-100MFAU,C,32,100,M,,FA,U,MSC-C-32x100.step +C32-100MFACM,C,32,100,M,,FA,CM,MSC-C-32x100.step +C32-100MFB,C,32,100,M,,FB,,MSC-C-32x100.step +C32-100MFBU,C,32,100,M,,FB,U,MSC-C-32x100.step +C32-100MFBCM,C,32,100,M,,FB,CM,MSC-C-32x100.step +C32-100MSDB,C,32,100,M,,SDB,,MSC-C-32x100.step +C32-100MSDBU,C,32,100,M,,SDB,U,MSC-C-32x100.step +C32-100MSDBCM,C,32,100,M,,SDB,CM,MSC-C-32x100.step +C40-10E,C,40,10,,E,,,MSC-C-40x10.step +C40-10EU,C,40,10,,E,,U,MSC-C-40x10.step +C40-10ECM,C,40,10,,E,,CM,MSC-C-40x10.step +C40-10ELB,C,40,10,,E,LB,,MSC-C-40x10.step +C40-10ELBU,C,40,10,,E,LB,U,MSC-C-40x10.step +C40-10ELBCM,C,40,10,,E,LB,CM,MSC-C-40x10.step +C40-10EFA,C,40,10,,E,FA,,MSC-C-40x10.step +C40-10EFAU,C,40,10,,E,FA,U,MSC-C-40x10.step +C40-10EFACM,C,40,10,,E,FA,CM,MSC-C-40x10.step +C40-10EFB,C,40,10,,E,FB,,MSC-C-40x10.step +C40-10EFBU,C,40,10,,E,FB,U,MSC-C-40x10.step +C40-10EFBCM,C,40,10,,E,FB,CM,MSC-C-40x10.step +C40-10ESDB,C,40,10,,E,SDB,,MSC-C-40x10.step +C40-10ESDBU,C,40,10,,E,SDB,U,MSC-C-40x10.step +C40-10ESDBCM,C,40,10,,E,SDB,CM,MSC-C-40x10.step +C40-10,C,40,10,,,,,MSC-C-40x10.step +C40-10U,C,40,10,,,,U,MSC-C-40x10.step +C40-10CM,C,40,10,,,,CM,MSC-C-40x10.step +C40-10LB,C,40,10,,,LB,,MSC-C-40x10.step +C40-10LBU,C,40,10,,,LB,U,MSC-C-40x10.step +C40-10LBCM,C,40,10,,,LB,CM,MSC-C-40x10.step +C40-10FA,C,40,10,,,FA,,MSC-C-40x10.step +C40-10FAU,C,40,10,,,FA,U,MSC-C-40x10.step +C40-10FACM,C,40,10,,,FA,CM,MSC-C-40x10.step +C40-10FB,C,40,10,,,FB,,MSC-C-40x10.step +C40-10FBU,C,40,10,,,FB,U,MSC-C-40x10.step +C40-10FBCM,C,40,10,,,FB,CM,MSC-C-40x10.step +C40-10SDB,C,40,10,,,SDB,,MSC-C-40x10.step +C40-10SDBU,C,40,10,,,SDB,U,MSC-C-40x10.step +C40-10SDBCM,C,40,10,,,SDB,CM,MSC-C-40x10.step +C40-10ME,C,40,10,M,E,,,MSC-C-40x10.step +C40-10MEU,C,40,10,M,E,,U,MSC-C-40x10.step +C40-10MECM,C,40,10,M,E,,CM,MSC-C-40x10.step +C40-10MELB,C,40,10,M,E,LB,,MSC-C-40x10.step +C40-10MELBU,C,40,10,M,E,LB,U,MSC-C-40x10.step +C40-10MELBCM,C,40,10,M,E,LB,CM,MSC-C-40x10.step +C40-10MEFA,C,40,10,M,E,FA,,MSC-C-40x10.step +C40-10MEFAU,C,40,10,M,E,FA,U,MSC-C-40x10.step +C40-10MEFACM,C,40,10,M,E,FA,CM,MSC-C-40x10.step +C40-10MEFB,C,40,10,M,E,FB,,MSC-C-40x10.step +C40-10MEFBU,C,40,10,M,E,FB,U,MSC-C-40x10.step +C40-10MEFBCM,C,40,10,M,E,FB,CM,MSC-C-40x10.step +C40-10MESDB,C,40,10,M,E,SDB,,MSC-C-40x10.step +C40-10MESDBU,C,40,10,M,E,SDB,U,MSC-C-40x10.step +C40-10MESDBCM,C,40,10,M,E,SDB,CM,MSC-C-40x10.step +C40-10M,C,40,10,M,,,,MSC-C-40x10.step +C40-10MU,C,40,10,M,,,U,MSC-C-40x10.step +C40-10MCM,C,40,10,M,,,CM,MSC-C-40x10.step +C40-10MLB,C,40,10,M,,LB,,MSC-C-40x10.step +C40-10MLBU,C,40,10,M,,LB,U,MSC-C-40x10.step +C40-10MLBCM,C,40,10,M,,LB,CM,MSC-C-40x10.step +C40-10MFA,C,40,10,M,,FA,,MSC-C-40x10.step +C40-10MFAU,C,40,10,M,,FA,U,MSC-C-40x10.step +C40-10MFACM,C,40,10,M,,FA,CM,MSC-C-40x10.step +C40-10MFB,C,40,10,M,,FB,,MSC-C-40x10.step +C40-10MFBU,C,40,10,M,,FB,U,MSC-C-40x10.step +C40-10MFBCM,C,40,10,M,,FB,CM,MSC-C-40x10.step +C40-10MSDB,C,40,10,M,,SDB,,MSC-C-40x10.step +C40-10MSDBU,C,40,10,M,,SDB,U,MSC-C-40x10.step +C40-10MSDBCM,C,40,10,M,,SDB,CM,MSC-C-40x10.step +C40-20E,C,40,20,,E,,,MSC-C-40x20.step +C40-20EU,C,40,20,,E,,U,MSC-C-40x20.step +C40-20ECM,C,40,20,,E,,CM,MSC-C-40x20.step +C40-20ELB,C,40,20,,E,LB,,MSC-C-40x20.step +C40-20ELBU,C,40,20,,E,LB,U,MSC-C-40x20.step +C40-20ELBCM,C,40,20,,E,LB,CM,MSC-C-40x20.step +C40-20EFA,C,40,20,,E,FA,,MSC-C-40x20.step +C40-20EFAU,C,40,20,,E,FA,U,MSC-C-40x20.step +C40-20EFACM,C,40,20,,E,FA,CM,MSC-C-40x20.step +C40-20EFB,C,40,20,,E,FB,,MSC-C-40x20.step +C40-20EFBU,C,40,20,,E,FB,U,MSC-C-40x20.step +C40-20EFBCM,C,40,20,,E,FB,CM,MSC-C-40x20.step +C40-20ESDB,C,40,20,,E,SDB,,MSC-C-40x20.step +C40-20ESDBU,C,40,20,,E,SDB,U,MSC-C-40x20.step +C40-20ESDBCM,C,40,20,,E,SDB,CM,MSC-C-40x20.step +C40-20,C,40,20,,,,,MSC-C-40x20.step +C40-20U,C,40,20,,,,U,MSC-C-40x20.step +C40-20CM,C,40,20,,,,CM,MSC-C-40x20.step +C40-20LB,C,40,20,,,LB,,MSC-C-40x20.step +C40-20LBU,C,40,20,,,LB,U,MSC-C-40x20.step +C40-20LBCM,C,40,20,,,LB,CM,MSC-C-40x20.step +C40-20FA,C,40,20,,,FA,,MSC-C-40x20.step +C40-20FAU,C,40,20,,,FA,U,MSC-C-40x20.step +C40-20FACM,C,40,20,,,FA,CM,MSC-C-40x20.step +C40-20FB,C,40,20,,,FB,,MSC-C-40x20.step +C40-20FBU,C,40,20,,,FB,U,MSC-C-40x20.step +C40-20FBCM,C,40,20,,,FB,CM,MSC-C-40x20.step +C40-20SDB,C,40,20,,,SDB,,MSC-C-40x20.step +C40-20SDBU,C,40,20,,,SDB,U,MSC-C-40x20.step +C40-20SDBCM,C,40,20,,,SDB,CM,MSC-C-40x20.step +C40-20ME,C,40,20,M,E,,,MSC-C-40x20.step +C40-20MEU,C,40,20,M,E,,U,MSC-C-40x20.step +C40-20MECM,C,40,20,M,E,,CM,MSC-C-40x20.step +C40-20MELB,C,40,20,M,E,LB,,MSC-C-40x20.step +C40-20MELBU,C,40,20,M,E,LB,U,MSC-C-40x20.step +C40-20MELBCM,C,40,20,M,E,LB,CM,MSC-C-40x20.step +C40-20MEFA,C,40,20,M,E,FA,,MSC-C-40x20.step +C40-20MEFAU,C,40,20,M,E,FA,U,MSC-C-40x20.step +C40-20MEFACM,C,40,20,M,E,FA,CM,MSC-C-40x20.step +C40-20MEFB,C,40,20,M,E,FB,,MSC-C-40x20.step +C40-20MEFBU,C,40,20,M,E,FB,U,MSC-C-40x20.step +C40-20MEFBCM,C,40,20,M,E,FB,CM,MSC-C-40x20.step +C40-20MESDB,C,40,20,M,E,SDB,,MSC-C-40x20.step +C40-20MESDBU,C,40,20,M,E,SDB,U,MSC-C-40x20.step +C40-20MESDBCM,C,40,20,M,E,SDB,CM,MSC-C-40x20.step +C40-20M,C,40,20,M,,,,MSC-C-40x20.step +C40-20MU,C,40,20,M,,,U,MSC-C-40x20.step +C40-20MCM,C,40,20,M,,,CM,MSC-C-40x20.step +C40-20MLB,C,40,20,M,,LB,,MSC-C-40x20.step +C40-20MLBU,C,40,20,M,,LB,U,MSC-C-40x20.step +C40-20MLBCM,C,40,20,M,,LB,CM,MSC-C-40x20.step +C40-20MFA,C,40,20,M,,FA,,MSC-C-40x20.step +C40-20MFAU,C,40,20,M,,FA,U,MSC-C-40x20.step +C40-20MFACM,C,40,20,M,,FA,CM,MSC-C-40x20.step +C40-20MFB,C,40,20,M,,FB,,MSC-C-40x20.step +C40-20MFBU,C,40,20,M,,FB,U,MSC-C-40x20.step +C40-20MFBCM,C,40,20,M,,FB,CM,MSC-C-40x20.step +C40-20MSDB,C,40,20,M,,SDB,,MSC-C-40x20.step +C40-20MSDBU,C,40,20,M,,SDB,U,MSC-C-40x20.step +C40-20MSDBCM,C,40,20,M,,SDB,CM,MSC-C-40x20.step +C40-30E,C,40,30,,E,,,MSC-C-40x30.step +C40-30EU,C,40,30,,E,,U,MSC-C-40x30.step +C40-30ECM,C,40,30,,E,,CM,MSC-C-40x30.step +C40-30ELB,C,40,30,,E,LB,,MSC-C-40x30.step +C40-30ELBU,C,40,30,,E,LB,U,MSC-C-40x30.step +C40-30ELBCM,C,40,30,,E,LB,CM,MSC-C-40x30.step +C40-30EFA,C,40,30,,E,FA,,MSC-C-40x30.step +C40-30EFAU,C,40,30,,E,FA,U,MSC-C-40x30.step +C40-30EFACM,C,40,30,,E,FA,CM,MSC-C-40x30.step +C40-30EFB,C,40,30,,E,FB,,MSC-C-40x30.step +C40-30EFBU,C,40,30,,E,FB,U,MSC-C-40x30.step +C40-30EFBCM,C,40,30,,E,FB,CM,MSC-C-40x30.step +C40-30ESDB,C,40,30,,E,SDB,,MSC-C-40x30.step +C40-30ESDBU,C,40,30,,E,SDB,U,MSC-C-40x30.step +C40-30ESDBCM,C,40,30,,E,SDB,CM,MSC-C-40x30.step +C40-30,C,40,30,,,,,MSC-C-40x30.step +C40-30U,C,40,30,,,,U,MSC-C-40x30.step +C40-30CM,C,40,30,,,,CM,MSC-C-40x30.step +C40-30LB,C,40,30,,,LB,,MSC-C-40x30.step +C40-30LBU,C,40,30,,,LB,U,MSC-C-40x30.step +C40-30LBCM,C,40,30,,,LB,CM,MSC-C-40x30.step +C40-30FA,C,40,30,,,FA,,MSC-C-40x30.step +C40-30FAU,C,40,30,,,FA,U,MSC-C-40x30.step +C40-30FACM,C,40,30,,,FA,CM,MSC-C-40x30.step +C40-30FB,C,40,30,,,FB,,MSC-C-40x30.step +C40-30FBU,C,40,30,,,FB,U,MSC-C-40x30.step +C40-30FBCM,C,40,30,,,FB,CM,MSC-C-40x30.step +C40-30SDB,C,40,30,,,SDB,,MSC-C-40x30.step +C40-30SDBU,C,40,30,,,SDB,U,MSC-C-40x30.step +C40-30SDBCM,C,40,30,,,SDB,CM,MSC-C-40x30.step +C40-30ME,C,40,30,M,E,,,MSC-C-40x30.step +C40-30MEU,C,40,30,M,E,,U,MSC-C-40x30.step +C40-30MECM,C,40,30,M,E,,CM,MSC-C-40x30.step +C40-30MELB,C,40,30,M,E,LB,,MSC-C-40x30.step +C40-30MELBU,C,40,30,M,E,LB,U,MSC-C-40x30.step +C40-30MELBCM,C,40,30,M,E,LB,CM,MSC-C-40x30.step +C40-30MEFA,C,40,30,M,E,FA,,MSC-C-40x30.step +C40-30MEFAU,C,40,30,M,E,FA,U,MSC-C-40x30.step +C40-30MEFACM,C,40,30,M,E,FA,CM,MSC-C-40x30.step +C40-30MEFB,C,40,30,M,E,FB,,MSC-C-40x30.step +C40-30MEFBU,C,40,30,M,E,FB,U,MSC-C-40x30.step +C40-30MEFBCM,C,40,30,M,E,FB,CM,MSC-C-40x30.step +C40-30MESDB,C,40,30,M,E,SDB,,MSC-C-40x30.step +C40-30MESDBU,C,40,30,M,E,SDB,U,MSC-C-40x30.step +C40-30MESDBCM,C,40,30,M,E,SDB,CM,MSC-C-40x30.step +C40-30M,C,40,30,M,,,,MSC-C-40x30.step +C40-30MU,C,40,30,M,,,U,MSC-C-40x30.step +C40-30MCM,C,40,30,M,,,CM,MSC-C-40x30.step +C40-30MLB,C,40,30,M,,LB,,MSC-C-40x30.step +C40-30MLBU,C,40,30,M,,LB,U,MSC-C-40x30.step +C40-30MLBCM,C,40,30,M,,LB,CM,MSC-C-40x30.step +C40-30MFA,C,40,30,M,,FA,,MSC-C-40x30.step +C40-30MFAU,C,40,30,M,,FA,U,MSC-C-40x30.step +C40-30MFACM,C,40,30,M,,FA,CM,MSC-C-40x30.step +C40-30MFB,C,40,30,M,,FB,,MSC-C-40x30.step +C40-30MFBU,C,40,30,M,,FB,U,MSC-C-40x30.step +C40-30MFBCM,C,40,30,M,,FB,CM,MSC-C-40x30.step +C40-30MSDB,C,40,30,M,,SDB,,MSC-C-40x30.step +C40-30MSDBU,C,40,30,M,,SDB,U,MSC-C-40x30.step +C40-30MSDBCM,C,40,30,M,,SDB,CM,MSC-C-40x30.step +C40-50E,C,40,50,,E,,,MSC-C-40x50.step +C40-50EU,C,40,50,,E,,U,MSC-C-40x50.step +C40-50ECM,C,40,50,,E,,CM,MSC-C-40x50.step +C40-50ELB,C,40,50,,E,LB,,MSC-C-40x50.step +C40-50ELBU,C,40,50,,E,LB,U,MSC-C-40x50.step +C40-50ELBCM,C,40,50,,E,LB,CM,MSC-C-40x50.step +C40-50EFA,C,40,50,,E,FA,,MSC-C-40x50.step +C40-50EFAU,C,40,50,,E,FA,U,MSC-C-40x50.step +C40-50EFACM,C,40,50,,E,FA,CM,MSC-C-40x50.step +C40-50EFB,C,40,50,,E,FB,,MSC-C-40x50.step +C40-50EFBU,C,40,50,,E,FB,U,MSC-C-40x50.step +C40-50EFBCM,C,40,50,,E,FB,CM,MSC-C-40x50.step +C40-50ESDB,C,40,50,,E,SDB,,MSC-C-40x50.step +C40-50ESDBU,C,40,50,,E,SDB,U,MSC-C-40x50.step +C40-50ESDBCM,C,40,50,,E,SDB,CM,MSC-C-40x50.step +C40-50,C,40,50,,,,,MSC-C-40x50.step +C40-50U,C,40,50,,,,U,MSC-C-40x50.step +C40-50CM,C,40,50,,,,CM,MSC-C-40x50.step +C40-50LB,C,40,50,,,LB,,MSC-C-40x50.step +C40-50LBU,C,40,50,,,LB,U,MSC-C-40x50.step +C40-50LBCM,C,40,50,,,LB,CM,MSC-C-40x50.step +C40-50FA,C,40,50,,,FA,,MSC-C-40x50.step +C40-50FAU,C,40,50,,,FA,U,MSC-C-40x50.step +C40-50FACM,C,40,50,,,FA,CM,MSC-C-40x50.step +C40-50FB,C,40,50,,,FB,,MSC-C-40x50.step +C40-50FBU,C,40,50,,,FB,U,MSC-C-40x50.step +C40-50FBCM,C,40,50,,,FB,CM,MSC-C-40x50.step +C40-50SDB,C,40,50,,,SDB,,MSC-C-40x50.step +C40-50SDBU,C,40,50,,,SDB,U,MSC-C-40x50.step +C40-50SDBCM,C,40,50,,,SDB,CM,MSC-C-40x50.step +C40-50ME,C,40,50,M,E,,,MSC-C-40x50.step +C40-50MEU,C,40,50,M,E,,U,MSC-C-40x50.step +C40-50MECM,C,40,50,M,E,,CM,MSC-C-40x50.step +C40-50MELB,C,40,50,M,E,LB,,MSC-C-40x50.step +C40-50MELBU,C,40,50,M,E,LB,U,MSC-C-40x50.step +C40-50MELBCM,C,40,50,M,E,LB,CM,MSC-C-40x50.step +C40-50MEFA,C,40,50,M,E,FA,,MSC-C-40x50.step +C40-50MEFAU,C,40,50,M,E,FA,U,MSC-C-40x50.step +C40-50MEFACM,C,40,50,M,E,FA,CM,MSC-C-40x50.step +C40-50MEFB,C,40,50,M,E,FB,,MSC-C-40x50.step +C40-50MEFBU,C,40,50,M,E,FB,U,MSC-C-40x50.step +C40-50MEFBCM,C,40,50,M,E,FB,CM,MSC-C-40x50.step +C40-50MESDB,C,40,50,M,E,SDB,,MSC-C-40x50.step +C40-50MESDBU,C,40,50,M,E,SDB,U,MSC-C-40x50.step +C40-50MESDBCM,C,40,50,M,E,SDB,CM,MSC-C-40x50.step +C40-50M,C,40,50,M,,,,MSC-C-40x50.step +C40-50MU,C,40,50,M,,,U,MSC-C-40x50.step +C40-50MCM,C,40,50,M,,,CM,MSC-C-40x50.step +C40-50MLB,C,40,50,M,,LB,,MSC-C-40x50.step +C40-50MLBU,C,40,50,M,,LB,U,MSC-C-40x50.step +C40-50MLBCM,C,40,50,M,,LB,CM,MSC-C-40x50.step +C40-50MFA,C,40,50,M,,FA,,MSC-C-40x50.step +C40-50MFAU,C,40,50,M,,FA,U,MSC-C-40x50.step +C40-50MFACM,C,40,50,M,,FA,CM,MSC-C-40x50.step +C40-50MFB,C,40,50,M,,FB,,MSC-C-40x50.step +C40-50MFBU,C,40,50,M,,FB,U,MSC-C-40x50.step +C40-50MFBCM,C,40,50,M,,FB,CM,MSC-C-40x50.step +C40-50MSDB,C,40,50,M,,SDB,,MSC-C-40x50.step +C40-50MSDBU,C,40,50,M,,SDB,U,MSC-C-40x50.step +C40-50MSDBCM,C,40,50,M,,SDB,CM,MSC-C-40x50.step +C40-75E,C,40,75,,E,,,MSC-C-40x75.step +C40-75EU,C,40,75,,E,,U,MSC-C-40x75.step +C40-75ECM,C,40,75,,E,,CM,MSC-C-40x75.step +C40-75ELB,C,40,75,,E,LB,,MSC-C-40x75.step +C40-75ELBU,C,40,75,,E,LB,U,MSC-C-40x75.step +C40-75ELBCM,C,40,75,,E,LB,CM,MSC-C-40x75.step +C40-75EFA,C,40,75,,E,FA,,MSC-C-40x75.step +C40-75EFAU,C,40,75,,E,FA,U,MSC-C-40x75.step +C40-75EFACM,C,40,75,,E,FA,CM,MSC-C-40x75.step +C40-75EFB,C,40,75,,E,FB,,MSC-C-40x75.step +C40-75EFBU,C,40,75,,E,FB,U,MSC-C-40x75.step +C40-75EFBCM,C,40,75,,E,FB,CM,MSC-C-40x75.step +C40-75ESDB,C,40,75,,E,SDB,,MSC-C-40x75.step +C40-75ESDBU,C,40,75,,E,SDB,U,MSC-C-40x75.step +C40-75ESDBCM,C,40,75,,E,SDB,CM,MSC-C-40x75.step +C40-75,C,40,75,,,,,MSC-C-40x75.step +C40-75U,C,40,75,,,,U,MSC-C-40x75.step +C40-75CM,C,40,75,,,,CM,MSC-C-40x75.step +C40-75LB,C,40,75,,,LB,,MSC-C-40x75.step +C40-75LBU,C,40,75,,,LB,U,MSC-C-40x75.step +C40-75LBCM,C,40,75,,,LB,CM,MSC-C-40x75.step +C40-75FA,C,40,75,,,FA,,MSC-C-40x75.step +C40-75FAU,C,40,75,,,FA,U,MSC-C-40x75.step +C40-75FACM,C,40,75,,,FA,CM,MSC-C-40x75.step +C40-75FB,C,40,75,,,FB,,MSC-C-40x75.step +C40-75FBU,C,40,75,,,FB,U,MSC-C-40x75.step +C40-75FBCM,C,40,75,,,FB,CM,MSC-C-40x75.step +C40-75SDB,C,40,75,,,SDB,,MSC-C-40x75.step +C40-75SDBU,C,40,75,,,SDB,U,MSC-C-40x75.step +C40-75SDBCM,C,40,75,,,SDB,CM,MSC-C-40x75.step +C40-75ME,C,40,75,M,E,,,MSC-C-40x75.step +C40-75MEU,C,40,75,M,E,,U,MSC-C-40x75.step +C40-75MECM,C,40,75,M,E,,CM,MSC-C-40x75.step +C40-75MELB,C,40,75,M,E,LB,,MSC-C-40x75.step +C40-75MELBU,C,40,75,M,E,LB,U,MSC-C-40x75.step +C40-75MELBCM,C,40,75,M,E,LB,CM,MSC-C-40x75.step +C40-75MEFA,C,40,75,M,E,FA,,MSC-C-40x75.step +C40-75MEFAU,C,40,75,M,E,FA,U,MSC-C-40x75.step +C40-75MEFACM,C,40,75,M,E,FA,CM,MSC-C-40x75.step +C40-75MEFB,C,40,75,M,E,FB,,MSC-C-40x75.step +C40-75MEFBU,C,40,75,M,E,FB,U,MSC-C-40x75.step +C40-75MEFBCM,C,40,75,M,E,FB,CM,MSC-C-40x75.step +C40-75MESDB,C,40,75,M,E,SDB,,MSC-C-40x75.step +C40-75MESDBU,C,40,75,M,E,SDB,U,MSC-C-40x75.step +C40-75MESDBCM,C,40,75,M,E,SDB,CM,MSC-C-40x75.step +C40-75M,C,40,75,M,,,,MSC-C-40x75.step +C40-75MU,C,40,75,M,,,U,MSC-C-40x75.step +C40-75MCM,C,40,75,M,,,CM,MSC-C-40x75.step +C40-75MLB,C,40,75,M,,LB,,MSC-C-40x75.step +C40-75MLBU,C,40,75,M,,LB,U,MSC-C-40x75.step +C40-75MLBCM,C,40,75,M,,LB,CM,MSC-C-40x75.step +C40-75MFA,C,40,75,M,,FA,,MSC-C-40x75.step +C40-75MFAU,C,40,75,M,,FA,U,MSC-C-40x75.step +C40-75MFACM,C,40,75,M,,FA,CM,MSC-C-40x75.step +C40-75MFB,C,40,75,M,,FB,,MSC-C-40x75.step +C40-75MFBU,C,40,75,M,,FB,U,MSC-C-40x75.step +C40-75MFBCM,C,40,75,M,,FB,CM,MSC-C-40x75.step +C40-75MSDB,C,40,75,M,,SDB,,MSC-C-40x75.step +C40-75MSDBU,C,40,75,M,,SDB,U,MSC-C-40x75.step +C40-75MSDBCM,C,40,75,M,,SDB,CM,MSC-C-40x75.step +C40-100E,C,40,100,,E,,,MSC-C-40x100.step +C40-100EU,C,40,100,,E,,U,MSC-C-40x100.step +C40-100ECM,C,40,100,,E,,CM,MSC-C-40x100.step +C40-100ELB,C,40,100,,E,LB,,MSC-C-40x100.step +C40-100ELBU,C,40,100,,E,LB,U,MSC-C-40x100.step +C40-100ELBCM,C,40,100,,E,LB,CM,MSC-C-40x100.step +C40-100EFA,C,40,100,,E,FA,,MSC-C-40x100.step +C40-100EFAU,C,40,100,,E,FA,U,MSC-C-40x100.step +C40-100EFACM,C,40,100,,E,FA,CM,MSC-C-40x100.step +C40-100EFB,C,40,100,,E,FB,,MSC-C-40x100.step +C40-100EFBU,C,40,100,,E,FB,U,MSC-C-40x100.step +C40-100EFBCM,C,40,100,,E,FB,CM,MSC-C-40x100.step +C40-100ESDB,C,40,100,,E,SDB,,MSC-C-40x100.step +C40-100ESDBU,C,40,100,,E,SDB,U,MSC-C-40x100.step +C40-100ESDBCM,C,40,100,,E,SDB,CM,MSC-C-40x100.step +C40-100,C,40,100,,,,,MSC-C-40x100.step +C40-100U,C,40,100,,,,U,MSC-C-40x100.step +C40-100CM,C,40,100,,,,CM,MSC-C-40x100.step +C40-100LB,C,40,100,,,LB,,MSC-C-40x100.step +C40-100LBU,C,40,100,,,LB,U,MSC-C-40x100.step +C40-100LBCM,C,40,100,,,LB,CM,MSC-C-40x100.step +C40-100FA,C,40,100,,,FA,,MSC-C-40x100.step +C40-100FAU,C,40,100,,,FA,U,MSC-C-40x100.step +C40-100FACM,C,40,100,,,FA,CM,MSC-C-40x100.step +C40-100FB,C,40,100,,,FB,,MSC-C-40x100.step +C40-100FBU,C,40,100,,,FB,U,MSC-C-40x100.step +C40-100FBCM,C,40,100,,,FB,CM,MSC-C-40x100.step +C40-100SDB,C,40,100,,,SDB,,MSC-C-40x100.step +C40-100SDBU,C,40,100,,,SDB,U,MSC-C-40x100.step +C40-100SDBCM,C,40,100,,,SDB,CM,MSC-C-40x100.step +C40-100ME,C,40,100,M,E,,,MSC-C-40x100.step +C40-100MEU,C,40,100,M,E,,U,MSC-C-40x100.step +C40-100MECM,C,40,100,M,E,,CM,MSC-C-40x100.step +C40-100MELB,C,40,100,M,E,LB,,MSC-C-40x100.step +C40-100MELBU,C,40,100,M,E,LB,U,MSC-C-40x100.step +C40-100MELBCM,C,40,100,M,E,LB,CM,MSC-C-40x100.step +C40-100MEFA,C,40,100,M,E,FA,,MSC-C-40x100.step +C40-100MEFAU,C,40,100,M,E,FA,U,MSC-C-40x100.step +C40-100MEFACM,C,40,100,M,E,FA,CM,MSC-C-40x100.step +C40-100MEFB,C,40,100,M,E,FB,,MSC-C-40x100.step +C40-100MEFBU,C,40,100,M,E,FB,U,MSC-C-40x100.step +C40-100MEFBCM,C,40,100,M,E,FB,CM,MSC-C-40x100.step +C40-100MESDB,C,40,100,M,E,SDB,,MSC-C-40x100.step +C40-100MESDBU,C,40,100,M,E,SDB,U,MSC-C-40x100.step +C40-100MESDBCM,C,40,100,M,E,SDB,CM,MSC-C-40x100.step +C40-100M,C,40,100,M,,,,MSC-C-40x100.step +C40-100MU,C,40,100,M,,,U,MSC-C-40x100.step +C40-100MCM,C,40,100,M,,,CM,MSC-C-40x100.step +C40-100MLB,C,40,100,M,,LB,,MSC-C-40x100.step +C40-100MLBU,C,40,100,M,,LB,U,MSC-C-40x100.step +C40-100MLBCM,C,40,100,M,,LB,CM,MSC-C-40x100.step +C40-100MFA,C,40,100,M,,FA,,MSC-C-40x100.step +C40-100MFAU,C,40,100,M,,FA,U,MSC-C-40x100.step +C40-100MFACM,C,40,100,M,,FA,CM,MSC-C-40x100.step +C40-100MFB,C,40,100,M,,FB,,MSC-C-40x100.step +C40-100MFBU,C,40,100,M,,FB,U,MSC-C-40x100.step +C40-100MFBCM,C,40,100,M,,FB,CM,MSC-C-40x100.step +C40-100MSDB,C,40,100,M,,SDB,,MSC-C-40x100.step +C40-100MSDBU,C,40,100,M,,SDB,U,MSC-C-40x100.step +C40-100MSDBCM,C,40,100,M,,SDB,CM,MSC-C-40x100.step +D16-10E,D,16,10,,E,,,MSC-D-16x10.step +D16-10EU,D,16,10,,E,,U,MSC-D-16x10.step +D16-10ECM,D,16,10,,E,,CM,MSC-D-16x10.step +D16-10ELB,D,16,10,,E,LB,,MSC-D-16x10.step +D16-10ELBU,D,16,10,,E,LB,U,MSC-D-16x10.step +D16-10ELBCM,D,16,10,,E,LB,CM,MSC-D-16x10.step +D16-10EFA,D,16,10,,E,FA,,MSC-D-16x10.step +D16-10EFAU,D,16,10,,E,FA,U,MSC-D-16x10.step +D16-10EFACM,D,16,10,,E,FA,CM,MSC-D-16x10.step +D16-10EFB,D,16,10,,E,FB,,MSC-D-16x10.step +D16-10EFBU,D,16,10,,E,FB,U,MSC-D-16x10.step +D16-10EFBCM,D,16,10,,E,FB,CM,MSC-D-16x10.step +D16-10ESDB,D,16,10,,E,SDB,,MSC-D-16x10.step +D16-10ESDBU,D,16,10,,E,SDB,U,MSC-D-16x10.step +D16-10ESDBCM,D,16,10,,E,SDB,CM,MSC-D-16x10.step +D16-10,D,16,10,,,,,MSC-D-16x10.step +D16-10U,D,16,10,,,,U,MSC-D-16x10.step +D16-10CM,D,16,10,,,,CM,MSC-D-16x10.step +D16-10LB,D,16,10,,,LB,,MSC-D-16x10.step +D16-10LBU,D,16,10,,,LB,U,MSC-D-16x10.step +D16-10LBCM,D,16,10,,,LB,CM,MSC-D-16x10.step +D16-10FA,D,16,10,,,FA,,MSC-D-16x10.step +D16-10FAU,D,16,10,,,FA,U,MSC-D-16x10.step +D16-10FACM,D,16,10,,,FA,CM,MSC-D-16x10.step +D16-10FB,D,16,10,,,FB,,MSC-D-16x10.step +D16-10FBU,D,16,10,,,FB,U,MSC-D-16x10.step +D16-10FBCM,D,16,10,,,FB,CM,MSC-D-16x10.step +D16-10SDB,D,16,10,,,SDB,,MSC-D-16x10.step +D16-10SDBU,D,16,10,,,SDB,U,MSC-D-16x10.step +D16-10SDBCM,D,16,10,,,SDB,CM,MSC-D-16x10.step +D16-10ME,D,16,10,M,E,,,MSC-D-16x10.step +D16-10MEU,D,16,10,M,E,,U,MSC-D-16x10.step +D16-10MECM,D,16,10,M,E,,CM,MSC-D-16x10.step +D16-10MELB,D,16,10,M,E,LB,,MSC-D-16x10.step +D16-10MELBU,D,16,10,M,E,LB,U,MSC-D-16x10.step +D16-10MELBCM,D,16,10,M,E,LB,CM,MSC-D-16x10.step +D16-10MEFA,D,16,10,M,E,FA,,MSC-D-16x10.step +D16-10MEFAU,D,16,10,M,E,FA,U,MSC-D-16x10.step +D16-10MEFACM,D,16,10,M,E,FA,CM,MSC-D-16x10.step +D16-10MEFB,D,16,10,M,E,FB,,MSC-D-16x10.step +D16-10MEFBU,D,16,10,M,E,FB,U,MSC-D-16x10.step +D16-10MEFBCM,D,16,10,M,E,FB,CM,MSC-D-16x10.step +D16-10MESDB,D,16,10,M,E,SDB,,MSC-D-16x10.step +D16-10MESDBU,D,16,10,M,E,SDB,U,MSC-D-16x10.step +D16-10MESDBCM,D,16,10,M,E,SDB,CM,MSC-D-16x10.step +D16-10M,D,16,10,M,,,,MSC-D-16x10.step +D16-10MU,D,16,10,M,,,U,MSC-D-16x10.step +D16-10MCM,D,16,10,M,,,CM,MSC-D-16x10.step +D16-10MLB,D,16,10,M,,LB,,MSC-D-16x10.step +D16-10MLBU,D,16,10,M,,LB,U,MSC-D-16x10.step +D16-10MLBCM,D,16,10,M,,LB,CM,MSC-D-16x10.step +D16-10MFA,D,16,10,M,,FA,,MSC-D-16x10.step +D16-10MFAU,D,16,10,M,,FA,U,MSC-D-16x10.step +D16-10MFACM,D,16,10,M,,FA,CM,MSC-D-16x10.step +D16-10MFB,D,16,10,M,,FB,,MSC-D-16x10.step +D16-10MFBU,D,16,10,M,,FB,U,MSC-D-16x10.step +D16-10MFBCM,D,16,10,M,,FB,CM,MSC-D-16x10.step +D16-10MSDB,D,16,10,M,,SDB,,MSC-D-16x10.step +D16-10MSDBU,D,16,10,M,,SDB,U,MSC-D-16x10.step +D16-10MSDBCM,D,16,10,M,,SDB,CM,MSC-D-16x10.step +D16-20E,D,16,20,,E,,,MSC-D-16x20.step +D16-20EU,D,16,20,,E,,U,MSC-D-16x20.step +D16-20ECM,D,16,20,,E,,CM,MSC-D-16x20.step +D16-20ELB,D,16,20,,E,LB,,MSC-D-16x20.step +D16-20ELBU,D,16,20,,E,LB,U,MSC-D-16x20.step +D16-20ELBCM,D,16,20,,E,LB,CM,MSC-D-16x20.step +D16-20EFA,D,16,20,,E,FA,,MSC-D-16x20.step +D16-20EFAU,D,16,20,,E,FA,U,MSC-D-16x20.step +D16-20EFACM,D,16,20,,E,FA,CM,MSC-D-16x20.step +D16-20EFB,D,16,20,,E,FB,,MSC-D-16x20.step +D16-20EFBU,D,16,20,,E,FB,U,MSC-D-16x20.step +D16-20EFBCM,D,16,20,,E,FB,CM,MSC-D-16x20.step +D16-20ESDB,D,16,20,,E,SDB,,MSC-D-16x20.step +D16-20ESDBU,D,16,20,,E,SDB,U,MSC-D-16x20.step +D16-20ESDBCM,D,16,20,,E,SDB,CM,MSC-D-16x20.step +D16-20,D,16,20,,,,,MSC-D-16x20.step +D16-20U,D,16,20,,,,U,MSC-D-16x20.step +D16-20CM,D,16,20,,,,CM,MSC-D-16x20.step +D16-20LB,D,16,20,,,LB,,MSC-D-16x20.step +D16-20LBU,D,16,20,,,LB,U,MSC-D-16x20.step +D16-20LBCM,D,16,20,,,LB,CM,MSC-D-16x20.step +D16-20FA,D,16,20,,,FA,,MSC-D-16x20.step +D16-20FAU,D,16,20,,,FA,U,MSC-D-16x20.step +D16-20FACM,D,16,20,,,FA,CM,MSC-D-16x20.step +D16-20FB,D,16,20,,,FB,,MSC-D-16x20.step +D16-20FBU,D,16,20,,,FB,U,MSC-D-16x20.step +D16-20FBCM,D,16,20,,,FB,CM,MSC-D-16x20.step +D16-20SDB,D,16,20,,,SDB,,MSC-D-16x20.step +D16-20SDBU,D,16,20,,,SDB,U,MSC-D-16x20.step +D16-20SDBCM,D,16,20,,,SDB,CM,MSC-D-16x20.step +D16-20ME,D,16,20,M,E,,,MSC-D-16x20.step +D16-20MEU,D,16,20,M,E,,U,MSC-D-16x20.step +D16-20MECM,D,16,20,M,E,,CM,MSC-D-16x20.step +D16-20MELB,D,16,20,M,E,LB,,MSC-D-16x20.step +D16-20MELBU,D,16,20,M,E,LB,U,MSC-D-16x20.step +D16-20MELBCM,D,16,20,M,E,LB,CM,MSC-D-16x20.step +D16-20MEFA,D,16,20,M,E,FA,,MSC-D-16x20.step +D16-20MEFAU,D,16,20,M,E,FA,U,MSC-D-16x20.step +D16-20MEFACM,D,16,20,M,E,FA,CM,MSC-D-16x20.step +D16-20MEFB,D,16,20,M,E,FB,,MSC-D-16x20.step +D16-20MEFBU,D,16,20,M,E,FB,U,MSC-D-16x20.step +D16-20MEFBCM,D,16,20,M,E,FB,CM,MSC-D-16x20.step +D16-20MESDB,D,16,20,M,E,SDB,,MSC-D-16x20.step +D16-20MESDBU,D,16,20,M,E,SDB,U,MSC-D-16x20.step +D16-20MESDBCM,D,16,20,M,E,SDB,CM,MSC-D-16x20.step +D16-20M,D,16,20,M,,,,MSC-D-16x20.step +D16-20MU,D,16,20,M,,,U,MSC-D-16x20.step +D16-20MCM,D,16,20,M,,,CM,MSC-D-16x20.step +D16-20MLB,D,16,20,M,,LB,,MSC-D-16x20.step +D16-20MLBU,D,16,20,M,,LB,U,MSC-D-16x20.step +D16-20MLBCM,D,16,20,M,,LB,CM,MSC-D-16x20.step +D16-20MFA,D,16,20,M,,FA,,MSC-D-16x20.step +D16-20MFAU,D,16,20,M,,FA,U,MSC-D-16x20.step +D16-20MFACM,D,16,20,M,,FA,CM,MSC-D-16x20.step +D16-20MFB,D,16,20,M,,FB,,MSC-D-16x20.step +D16-20MFBU,D,16,20,M,,FB,U,MSC-D-16x20.step +D16-20MFBCM,D,16,20,M,,FB,CM,MSC-D-16x20.step +D16-20MSDB,D,16,20,M,,SDB,,MSC-D-16x20.step +D16-20MSDBU,D,16,20,M,,SDB,U,MSC-D-16x20.step +D16-20MSDBCM,D,16,20,M,,SDB,CM,MSC-D-16x20.step +D16-30E,D,16,30,,E,,,MSC-D-16x30.step +D16-30EU,D,16,30,,E,,U,MSC-D-16x30.step +D16-30ECM,D,16,30,,E,,CM,MSC-D-16x30.step +D16-30ELB,D,16,30,,E,LB,,MSC-D-16x30.step +D16-30ELBU,D,16,30,,E,LB,U,MSC-D-16x30.step +D16-30ELBCM,D,16,30,,E,LB,CM,MSC-D-16x30.step +D16-30EFA,D,16,30,,E,FA,,MSC-D-16x30.step +D16-30EFAU,D,16,30,,E,FA,U,MSC-D-16x30.step +D16-30EFACM,D,16,30,,E,FA,CM,MSC-D-16x30.step +D16-30EFB,D,16,30,,E,FB,,MSC-D-16x30.step +D16-30EFBU,D,16,30,,E,FB,U,MSC-D-16x30.step +D16-30EFBCM,D,16,30,,E,FB,CM,MSC-D-16x30.step +D16-30ESDB,D,16,30,,E,SDB,,MSC-D-16x30.step +D16-30ESDBU,D,16,30,,E,SDB,U,MSC-D-16x30.step +D16-30ESDBCM,D,16,30,,E,SDB,CM,MSC-D-16x30.step +D16-30,D,16,30,,,,,MSC-D-16x30.step +D16-30U,D,16,30,,,,U,MSC-D-16x30.step +D16-30CM,D,16,30,,,,CM,MSC-D-16x30.step +D16-30LB,D,16,30,,,LB,,MSC-D-16x30.step +D16-30LBU,D,16,30,,,LB,U,MSC-D-16x30.step +D16-30LBCM,D,16,30,,,LB,CM,MSC-D-16x30.step +D16-30FA,D,16,30,,,FA,,MSC-D-16x30.step +D16-30FAU,D,16,30,,,FA,U,MSC-D-16x30.step +D16-30FACM,D,16,30,,,FA,CM,MSC-D-16x30.step +D16-30FB,D,16,30,,,FB,,MSC-D-16x30.step +D16-30FBU,D,16,30,,,FB,U,MSC-D-16x30.step +D16-30FBCM,D,16,30,,,FB,CM,MSC-D-16x30.step +D16-30SDB,D,16,30,,,SDB,,MSC-D-16x30.step +D16-30SDBU,D,16,30,,,SDB,U,MSC-D-16x30.step +D16-30SDBCM,D,16,30,,,SDB,CM,MSC-D-16x30.step +D16-30ME,D,16,30,M,E,,,MSC-D-16x30.step +D16-30MEU,D,16,30,M,E,,U,MSC-D-16x30.step +D16-30MECM,D,16,30,M,E,,CM,MSC-D-16x30.step +D16-30MELB,D,16,30,M,E,LB,,MSC-D-16x30.step +D16-30MELBU,D,16,30,M,E,LB,U,MSC-D-16x30.step +D16-30MELBCM,D,16,30,M,E,LB,CM,MSC-D-16x30.step +D16-30MEFA,D,16,30,M,E,FA,,MSC-D-16x30.step +D16-30MEFAU,D,16,30,M,E,FA,U,MSC-D-16x30.step +D16-30MEFACM,D,16,30,M,E,FA,CM,MSC-D-16x30.step +D16-30MEFB,D,16,30,M,E,FB,,MSC-D-16x30.step +D16-30MEFBU,D,16,30,M,E,FB,U,MSC-D-16x30.step +D16-30MEFBCM,D,16,30,M,E,FB,CM,MSC-D-16x30.step +D16-30MESDB,D,16,30,M,E,SDB,,MSC-D-16x30.step +D16-30MESDBU,D,16,30,M,E,SDB,U,MSC-D-16x30.step +D16-30MESDBCM,D,16,30,M,E,SDB,CM,MSC-D-16x30.step +D16-30M,D,16,30,M,,,,MSC-D-16x30.step +D16-30MU,D,16,30,M,,,U,MSC-D-16x30.step +D16-30MCM,D,16,30,M,,,CM,MSC-D-16x30.step +D16-30MLB,D,16,30,M,,LB,,MSC-D-16x30.step +D16-30MLBU,D,16,30,M,,LB,U,MSC-D-16x30.step +D16-30MLBCM,D,16,30,M,,LB,CM,MSC-D-16x30.step +D16-30MFA,D,16,30,M,,FA,,MSC-D-16x30.step +D16-30MFAU,D,16,30,M,,FA,U,MSC-D-16x30.step +D16-30MFACM,D,16,30,M,,FA,CM,MSC-D-16x30.step +D16-30MFB,D,16,30,M,,FB,,MSC-D-16x30.step +D16-30MFBU,D,16,30,M,,FB,U,MSC-D-16x30.step +D16-30MFBCM,D,16,30,M,,FB,CM,MSC-D-16x30.step +D16-30MSDB,D,16,30,M,,SDB,,MSC-D-16x30.step +D16-30MSDBU,D,16,30,M,,SDB,U,MSC-D-16x30.step +D16-30MSDBCM,D,16,30,M,,SDB,CM,MSC-D-16x30.step +D16-50E,D,16,50,,E,,,MSC-D-16x50.step +D16-50EU,D,16,50,,E,,U,MSC-D-16x50.step +D16-50ECM,D,16,50,,E,,CM,MSC-D-16x50.step +D16-50ELB,D,16,50,,E,LB,,MSC-D-16x50.step +D16-50ELBU,D,16,50,,E,LB,U,MSC-D-16x50.step +D16-50ELBCM,D,16,50,,E,LB,CM,MSC-D-16x50.step +D16-50EFA,D,16,50,,E,FA,,MSC-D-16x50.step +D16-50EFAU,D,16,50,,E,FA,U,MSC-D-16x50.step +D16-50EFACM,D,16,50,,E,FA,CM,MSC-D-16x50.step +D16-50EFB,D,16,50,,E,FB,,MSC-D-16x50.step +D16-50EFBU,D,16,50,,E,FB,U,MSC-D-16x50.step +D16-50EFBCM,D,16,50,,E,FB,CM,MSC-D-16x50.step +D16-50ESDB,D,16,50,,E,SDB,,MSC-D-16x50.step +D16-50ESDBU,D,16,50,,E,SDB,U,MSC-D-16x50.step +D16-50ESDBCM,D,16,50,,E,SDB,CM,MSC-D-16x50.step +D16-50,D,16,50,,,,,MSC-D-16x50.step +D16-50U,D,16,50,,,,U,MSC-D-16x50.step +D16-50CM,D,16,50,,,,CM,MSC-D-16x50.step +D16-50LB,D,16,50,,,LB,,MSC-D-16x50.step +D16-50LBU,D,16,50,,,LB,U,MSC-D-16x50.step +D16-50LBCM,D,16,50,,,LB,CM,MSC-D-16x50.step +D16-50FA,D,16,50,,,FA,,MSC-D-16x50.step +D16-50FAU,D,16,50,,,FA,U,MSC-D-16x50.step +D16-50FACM,D,16,50,,,FA,CM,MSC-D-16x50.step +D16-50FB,D,16,50,,,FB,,MSC-D-16x50.step +D16-50FBU,D,16,50,,,FB,U,MSC-D-16x50.step +D16-50FBCM,D,16,50,,,FB,CM,MSC-D-16x50.step +D16-50SDB,D,16,50,,,SDB,,MSC-D-16x50.step +D16-50SDBU,D,16,50,,,SDB,U,MSC-D-16x50.step +D16-50SDBCM,D,16,50,,,SDB,CM,MSC-D-16x50.step +D16-50ME,D,16,50,M,E,,,MSC-D-16x50.step +D16-50MEU,D,16,50,M,E,,U,MSC-D-16x50.step +D16-50MECM,D,16,50,M,E,,CM,MSC-D-16x50.step +D16-50MELB,D,16,50,M,E,LB,,MSC-D-16x50.step +D16-50MELBU,D,16,50,M,E,LB,U,MSC-D-16x50.step +D16-50MELBCM,D,16,50,M,E,LB,CM,MSC-D-16x50.step +D16-50MEFA,D,16,50,M,E,FA,,MSC-D-16x50.step +D16-50MEFAU,D,16,50,M,E,FA,U,MSC-D-16x50.step +D16-50MEFACM,D,16,50,M,E,FA,CM,MSC-D-16x50.step +D16-50MEFB,D,16,50,M,E,FB,,MSC-D-16x50.step +D16-50MEFBU,D,16,50,M,E,FB,U,MSC-D-16x50.step +D16-50MEFBCM,D,16,50,M,E,FB,CM,MSC-D-16x50.step +D16-50MESDB,D,16,50,M,E,SDB,,MSC-D-16x50.step +D16-50MESDBU,D,16,50,M,E,SDB,U,MSC-D-16x50.step +D16-50MESDBCM,D,16,50,M,E,SDB,CM,MSC-D-16x50.step +D16-50M,D,16,50,M,,,,MSC-D-16x50.step +D16-50MU,D,16,50,M,,,U,MSC-D-16x50.step +D16-50MCM,D,16,50,M,,,CM,MSC-D-16x50.step +D16-50MLB,D,16,50,M,,LB,,MSC-D-16x50.step +D16-50MLBU,D,16,50,M,,LB,U,MSC-D-16x50.step +D16-50MLBCM,D,16,50,M,,LB,CM,MSC-D-16x50.step +D16-50MFA,D,16,50,M,,FA,,MSC-D-16x50.step +D16-50MFAU,D,16,50,M,,FA,U,MSC-D-16x50.step +D16-50MFACM,D,16,50,M,,FA,CM,MSC-D-16x50.step +D16-50MFB,D,16,50,M,,FB,,MSC-D-16x50.step +D16-50MFBU,D,16,50,M,,FB,U,MSC-D-16x50.step +D16-50MFBCM,D,16,50,M,,FB,CM,MSC-D-16x50.step +D16-50MSDB,D,16,50,M,,SDB,,MSC-D-16x50.step +D16-50MSDBU,D,16,50,M,,SDB,U,MSC-D-16x50.step +D16-50MSDBCM,D,16,50,M,,SDB,CM,MSC-D-16x50.step +D16-75E,D,16,75,,E,,,MSC-D-16x75.step +D16-75EU,D,16,75,,E,,U,MSC-D-16x75.step +D16-75ECM,D,16,75,,E,,CM,MSC-D-16x75.step +D16-75ELB,D,16,75,,E,LB,,MSC-D-16x75.step +D16-75ELBU,D,16,75,,E,LB,U,MSC-D-16x75.step +D16-75ELBCM,D,16,75,,E,LB,CM,MSC-D-16x75.step +D16-75EFA,D,16,75,,E,FA,,MSC-D-16x75.step +D16-75EFAU,D,16,75,,E,FA,U,MSC-D-16x75.step +D16-75EFACM,D,16,75,,E,FA,CM,MSC-D-16x75.step +D16-75EFB,D,16,75,,E,FB,,MSC-D-16x75.step +D16-75EFBU,D,16,75,,E,FB,U,MSC-D-16x75.step +D16-75EFBCM,D,16,75,,E,FB,CM,MSC-D-16x75.step +D16-75ESDB,D,16,75,,E,SDB,,MSC-D-16x75.step +D16-75ESDBU,D,16,75,,E,SDB,U,MSC-D-16x75.step +D16-75ESDBCM,D,16,75,,E,SDB,CM,MSC-D-16x75.step +D16-75,D,16,75,,,,,MSC-D-16x75.step +D16-75U,D,16,75,,,,U,MSC-D-16x75.step +D16-75CM,D,16,75,,,,CM,MSC-D-16x75.step +D16-75LB,D,16,75,,,LB,,MSC-D-16x75.step +D16-75LBU,D,16,75,,,LB,U,MSC-D-16x75.step +D16-75LBCM,D,16,75,,,LB,CM,MSC-D-16x75.step +D16-75FA,D,16,75,,,FA,,MSC-D-16x75.step +D16-75FAU,D,16,75,,,FA,U,MSC-D-16x75.step +D16-75FACM,D,16,75,,,FA,CM,MSC-D-16x75.step +D16-75FB,D,16,75,,,FB,,MSC-D-16x75.step +D16-75FBU,D,16,75,,,FB,U,MSC-D-16x75.step +D16-75FBCM,D,16,75,,,FB,CM,MSC-D-16x75.step +D16-75SDB,D,16,75,,,SDB,,MSC-D-16x75.step +D16-75SDBU,D,16,75,,,SDB,U,MSC-D-16x75.step +D16-75SDBCM,D,16,75,,,SDB,CM,MSC-D-16x75.step +D16-75ME,D,16,75,M,E,,,MSC-D-16x75.step +D16-75MEU,D,16,75,M,E,,U,MSC-D-16x75.step +D16-75MECM,D,16,75,M,E,,CM,MSC-D-16x75.step +D16-75MELB,D,16,75,M,E,LB,,MSC-D-16x75.step +D16-75MELBU,D,16,75,M,E,LB,U,MSC-D-16x75.step +D16-75MELBCM,D,16,75,M,E,LB,CM,MSC-D-16x75.step +D16-75MEFA,D,16,75,M,E,FA,,MSC-D-16x75.step +D16-75MEFAU,D,16,75,M,E,FA,U,MSC-D-16x75.step +D16-75MEFACM,D,16,75,M,E,FA,CM,MSC-D-16x75.step +D16-75MEFB,D,16,75,M,E,FB,,MSC-D-16x75.step +D16-75MEFBU,D,16,75,M,E,FB,U,MSC-D-16x75.step +D16-75MEFBCM,D,16,75,M,E,FB,CM,MSC-D-16x75.step +D16-75MESDB,D,16,75,M,E,SDB,,MSC-D-16x75.step +D16-75MESDBU,D,16,75,M,E,SDB,U,MSC-D-16x75.step +D16-75MESDBCM,D,16,75,M,E,SDB,CM,MSC-D-16x75.step +D16-75M,D,16,75,M,,,,MSC-D-16x75.step +D16-75MU,D,16,75,M,,,U,MSC-D-16x75.step +D16-75MCM,D,16,75,M,,,CM,MSC-D-16x75.step +D16-75MLB,D,16,75,M,,LB,,MSC-D-16x75.step +D16-75MLBU,D,16,75,M,,LB,U,MSC-D-16x75.step +D16-75MLBCM,D,16,75,M,,LB,CM,MSC-D-16x75.step +D16-75MFA,D,16,75,M,,FA,,MSC-D-16x75.step +D16-75MFAU,D,16,75,M,,FA,U,MSC-D-16x75.step +D16-75MFACM,D,16,75,M,,FA,CM,MSC-D-16x75.step +D16-75MFB,D,16,75,M,,FB,,MSC-D-16x75.step +D16-75MFBU,D,16,75,M,,FB,U,MSC-D-16x75.step +D16-75MFBCM,D,16,75,M,,FB,CM,MSC-D-16x75.step +D16-75MSDB,D,16,75,M,,SDB,,MSC-D-16x75.step +D16-75MSDBU,D,16,75,M,,SDB,U,MSC-D-16x75.step +D16-75MSDBCM,D,16,75,M,,SDB,CM,MSC-D-16x75.step +D16-100E,D,16,100,,E,,,MSC-D-16x100.step +D16-100EU,D,16,100,,E,,U,MSC-D-16x100.step +D16-100ECM,D,16,100,,E,,CM,MSC-D-16x100.step +D16-100ELB,D,16,100,,E,LB,,MSC-D-16x100.step +D16-100ELBU,D,16,100,,E,LB,U,MSC-D-16x100.step +D16-100ELBCM,D,16,100,,E,LB,CM,MSC-D-16x100.step +D16-100EFA,D,16,100,,E,FA,,MSC-D-16x100.step +D16-100EFAU,D,16,100,,E,FA,U,MSC-D-16x100.step +D16-100EFACM,D,16,100,,E,FA,CM,MSC-D-16x100.step +D16-100EFB,D,16,100,,E,FB,,MSC-D-16x100.step +D16-100EFBU,D,16,100,,E,FB,U,MSC-D-16x100.step +D16-100EFBCM,D,16,100,,E,FB,CM,MSC-D-16x100.step +D16-100ESDB,D,16,100,,E,SDB,,MSC-D-16x100.step +D16-100ESDBU,D,16,100,,E,SDB,U,MSC-D-16x100.step +D16-100ESDBCM,D,16,100,,E,SDB,CM,MSC-D-16x100.step +D16-100,D,16,100,,,,,MSC-D-16x100.step +D16-100U,D,16,100,,,,U,MSC-D-16x100.step +D16-100CM,D,16,100,,,,CM,MSC-D-16x100.step +D16-100LB,D,16,100,,,LB,,MSC-D-16x100.step +D16-100LBU,D,16,100,,,LB,U,MSC-D-16x100.step +D16-100LBCM,D,16,100,,,LB,CM,MSC-D-16x100.step +D16-100FA,D,16,100,,,FA,,MSC-D-16x100.step +D16-100FAU,D,16,100,,,FA,U,MSC-D-16x100.step +D16-100FACM,D,16,100,,,FA,CM,MSC-D-16x100.step +D16-100FB,D,16,100,,,FB,,MSC-D-16x100.step +D16-100FBU,D,16,100,,,FB,U,MSC-D-16x100.step +D16-100FBCM,D,16,100,,,FB,CM,MSC-D-16x100.step +D16-100SDB,D,16,100,,,SDB,,MSC-D-16x100.step +D16-100SDBU,D,16,100,,,SDB,U,MSC-D-16x100.step +D16-100SDBCM,D,16,100,,,SDB,CM,MSC-D-16x100.step +D16-100ME,D,16,100,M,E,,,MSC-D-16x100.step +D16-100MEU,D,16,100,M,E,,U,MSC-D-16x100.step +D16-100MECM,D,16,100,M,E,,CM,MSC-D-16x100.step +D16-100MELB,D,16,100,M,E,LB,,MSC-D-16x100.step +D16-100MELBU,D,16,100,M,E,LB,U,MSC-D-16x100.step +D16-100MELBCM,D,16,100,M,E,LB,CM,MSC-D-16x100.step +D16-100MEFA,D,16,100,M,E,FA,,MSC-D-16x100.step +D16-100MEFAU,D,16,100,M,E,FA,U,MSC-D-16x100.step +D16-100MEFACM,D,16,100,M,E,FA,CM,MSC-D-16x100.step +D16-100MEFB,D,16,100,M,E,FB,,MSC-D-16x100.step +D16-100MEFBU,D,16,100,M,E,FB,U,MSC-D-16x100.step +D16-100MEFBCM,D,16,100,M,E,FB,CM,MSC-D-16x100.step +D16-100MESDB,D,16,100,M,E,SDB,,MSC-D-16x100.step +D16-100MESDBU,D,16,100,M,E,SDB,U,MSC-D-16x100.step +D16-100MESDBCM,D,16,100,M,E,SDB,CM,MSC-D-16x100.step +D16-100M,D,16,100,M,,,,MSC-D-16x100.step +D16-100MU,D,16,100,M,,,U,MSC-D-16x100.step +D16-100MCM,D,16,100,M,,,CM,MSC-D-16x100.step +D16-100MLB,D,16,100,M,,LB,,MSC-D-16x100.step +D16-100MLBU,D,16,100,M,,LB,U,MSC-D-16x100.step +D16-100MLBCM,D,16,100,M,,LB,CM,MSC-D-16x100.step +D16-100MFA,D,16,100,M,,FA,,MSC-D-16x100.step +D16-100MFAU,D,16,100,M,,FA,U,MSC-D-16x100.step +D16-100MFACM,D,16,100,M,,FA,CM,MSC-D-16x100.step +D16-100MFB,D,16,100,M,,FB,,MSC-D-16x100.step +D16-100MFBU,D,16,100,M,,FB,U,MSC-D-16x100.step +D16-100MFBCM,D,16,100,M,,FB,CM,MSC-D-16x100.step +D16-100MSDB,D,16,100,M,,SDB,,MSC-D-16x100.step +D16-100MSDBU,D,16,100,M,,SDB,U,MSC-D-16x100.step +D16-100MSDBCM,D,16,100,M,,SDB,CM,MSC-D-16x100.step +D20-10E,D,20,10,,E,,,MSC-D-20x10.step +D20-10EU,D,20,10,,E,,U,MSC-D-20x10.step +D20-10ECM,D,20,10,,E,,CM,MSC-D-20x10.step +D20-10ELB,D,20,10,,E,LB,,MSC-D-20x10.step +D20-10ELBU,D,20,10,,E,LB,U,MSC-D-20x10.step +D20-10ELBCM,D,20,10,,E,LB,CM,MSC-D-20x10.step +D20-10EFA,D,20,10,,E,FA,,MSC-D-20x10.step +D20-10EFAU,D,20,10,,E,FA,U,MSC-D-20x10.step +D20-10EFACM,D,20,10,,E,FA,CM,MSC-D-20x10.step +D20-10EFB,D,20,10,,E,FB,,MSC-D-20x10.step +D20-10EFBU,D,20,10,,E,FB,U,MSC-D-20x10.step +D20-10EFBCM,D,20,10,,E,FB,CM,MSC-D-20x10.step +D20-10ESDB,D,20,10,,E,SDB,,MSC-D-20x10.step +D20-10ESDBU,D,20,10,,E,SDB,U,MSC-D-20x10.step +D20-10ESDBCM,D,20,10,,E,SDB,CM,MSC-D-20x10.step +D20-10,D,20,10,,,,,MSC-D-20x10.step +D20-10U,D,20,10,,,,U,MSC-D-20x10.step +D20-10CM,D,20,10,,,,CM,MSC-D-20x10.step +D20-10LB,D,20,10,,,LB,,MSC-D-20x10.step +D20-10LBU,D,20,10,,,LB,U,MSC-D-20x10.step +D20-10LBCM,D,20,10,,,LB,CM,MSC-D-20x10.step +D20-10FA,D,20,10,,,FA,,MSC-D-20x10.step +D20-10FAU,D,20,10,,,FA,U,MSC-D-20x10.step +D20-10FACM,D,20,10,,,FA,CM,MSC-D-20x10.step +D20-10FB,D,20,10,,,FB,,MSC-D-20x10.step +D20-10FBU,D,20,10,,,FB,U,MSC-D-20x10.step +D20-10FBCM,D,20,10,,,FB,CM,MSC-D-20x10.step +D20-10SDB,D,20,10,,,SDB,,MSC-D-20x10.step +D20-10SDBU,D,20,10,,,SDB,U,MSC-D-20x10.step +D20-10SDBCM,D,20,10,,,SDB,CM,MSC-D-20x10.step +D20-10ME,D,20,10,M,E,,,MSC-D-20x10.step +D20-10MEU,D,20,10,M,E,,U,MSC-D-20x10.step +D20-10MECM,D,20,10,M,E,,CM,MSC-D-20x10.step +D20-10MELB,D,20,10,M,E,LB,,MSC-D-20x10.step +D20-10MELBU,D,20,10,M,E,LB,U,MSC-D-20x10.step +D20-10MELBCM,D,20,10,M,E,LB,CM,MSC-D-20x10.step +D20-10MEFA,D,20,10,M,E,FA,,MSC-D-20x10.step +D20-10MEFAU,D,20,10,M,E,FA,U,MSC-D-20x10.step +D20-10MEFACM,D,20,10,M,E,FA,CM,MSC-D-20x10.step +D20-10MEFB,D,20,10,M,E,FB,,MSC-D-20x10.step +D20-10MEFBU,D,20,10,M,E,FB,U,MSC-D-20x10.step +D20-10MEFBCM,D,20,10,M,E,FB,CM,MSC-D-20x10.step +D20-10MESDB,D,20,10,M,E,SDB,,MSC-D-20x10.step +D20-10MESDBU,D,20,10,M,E,SDB,U,MSC-D-20x10.step +D20-10MESDBCM,D,20,10,M,E,SDB,CM,MSC-D-20x10.step +D20-10M,D,20,10,M,,,,MSC-D-20x10.step +D20-10MU,D,20,10,M,,,U,MSC-D-20x10.step +D20-10MCM,D,20,10,M,,,CM,MSC-D-20x10.step +D20-10MLB,D,20,10,M,,LB,,MSC-D-20x10.step +D20-10MLBU,D,20,10,M,,LB,U,MSC-D-20x10.step +D20-10MLBCM,D,20,10,M,,LB,CM,MSC-D-20x10.step +D20-10MFA,D,20,10,M,,FA,,MSC-D-20x10.step +D20-10MFAU,D,20,10,M,,FA,U,MSC-D-20x10.step +D20-10MFACM,D,20,10,M,,FA,CM,MSC-D-20x10.step +D20-10MFB,D,20,10,M,,FB,,MSC-D-20x10.step +D20-10MFBU,D,20,10,M,,FB,U,MSC-D-20x10.step +D20-10MFBCM,D,20,10,M,,FB,CM,MSC-D-20x10.step +D20-10MSDB,D,20,10,M,,SDB,,MSC-D-20x10.step +D20-10MSDBU,D,20,10,M,,SDB,U,MSC-D-20x10.step +D20-10MSDBCM,D,20,10,M,,SDB,CM,MSC-D-20x10.step +D20-20E,D,20,20,,E,,,MSC-D-20x20.step +D20-20EU,D,20,20,,E,,U,MSC-D-20x20.step +D20-20ECM,D,20,20,,E,,CM,MSC-D-20x20.step +D20-20ELB,D,20,20,,E,LB,,MSC-D-20x20.step +D20-20ELBU,D,20,20,,E,LB,U,MSC-D-20x20.step +D20-20ELBCM,D,20,20,,E,LB,CM,MSC-D-20x20.step +D20-20EFA,D,20,20,,E,FA,,MSC-D-20x20.step +D20-20EFAU,D,20,20,,E,FA,U,MSC-D-20x20.step +D20-20EFACM,D,20,20,,E,FA,CM,MSC-D-20x20.step +D20-20EFB,D,20,20,,E,FB,,MSC-D-20x20.step +D20-20EFBU,D,20,20,,E,FB,U,MSC-D-20x20.step +D20-20EFBCM,D,20,20,,E,FB,CM,MSC-D-20x20.step +D20-20ESDB,D,20,20,,E,SDB,,MSC-D-20x20.step +D20-20ESDBU,D,20,20,,E,SDB,U,MSC-D-20x20.step +D20-20ESDBCM,D,20,20,,E,SDB,CM,MSC-D-20x20.step +D20-20,D,20,20,,,,,MSC-D-20x20.step +D20-20U,D,20,20,,,,U,MSC-D-20x20.step +D20-20CM,D,20,20,,,,CM,MSC-D-20x20.step +D20-20LB,D,20,20,,,LB,,MSC-D-20x20.step +D20-20LBU,D,20,20,,,LB,U,MSC-D-20x20.step +D20-20LBCM,D,20,20,,,LB,CM,MSC-D-20x20.step +D20-20FA,D,20,20,,,FA,,MSC-D-20x20.step +D20-20FAU,D,20,20,,,FA,U,MSC-D-20x20.step +D20-20FACM,D,20,20,,,FA,CM,MSC-D-20x20.step +D20-20FB,D,20,20,,,FB,,MSC-D-20x20.step +D20-20FBU,D,20,20,,,FB,U,MSC-D-20x20.step +D20-20FBCM,D,20,20,,,FB,CM,MSC-D-20x20.step +D20-20SDB,D,20,20,,,SDB,,MSC-D-20x20.step +D20-20SDBU,D,20,20,,,SDB,U,MSC-D-20x20.step +D20-20SDBCM,D,20,20,,,SDB,CM,MSC-D-20x20.step +D20-20ME,D,20,20,M,E,,,MSC-D-20x20.step +D20-20MEU,D,20,20,M,E,,U,MSC-D-20x20.step +D20-20MECM,D,20,20,M,E,,CM,MSC-D-20x20.step +D20-20MELB,D,20,20,M,E,LB,,MSC-D-20x20.step +D20-20MELBU,D,20,20,M,E,LB,U,MSC-D-20x20.step +D20-20MELBCM,D,20,20,M,E,LB,CM,MSC-D-20x20.step +D20-20MEFA,D,20,20,M,E,FA,,MSC-D-20x20.step +D20-20MEFAU,D,20,20,M,E,FA,U,MSC-D-20x20.step +D20-20MEFACM,D,20,20,M,E,FA,CM,MSC-D-20x20.step +D20-20MEFB,D,20,20,M,E,FB,,MSC-D-20x20.step +D20-20MEFBU,D,20,20,M,E,FB,U,MSC-D-20x20.step +D20-20MEFBCM,D,20,20,M,E,FB,CM,MSC-D-20x20.step +D20-20MESDB,D,20,20,M,E,SDB,,MSC-D-20x20.step +D20-20MESDBU,D,20,20,M,E,SDB,U,MSC-D-20x20.step +D20-20MESDBCM,D,20,20,M,E,SDB,CM,MSC-D-20x20.step +D20-20M,D,20,20,M,,,,MSC-D-20x20.step +D20-20MU,D,20,20,M,,,U,MSC-D-20x20.step +D20-20MCM,D,20,20,M,,,CM,MSC-D-20x20.step +D20-20MLB,D,20,20,M,,LB,,MSC-D-20x20.step +D20-20MLBU,D,20,20,M,,LB,U,MSC-D-20x20.step +D20-20MLBCM,D,20,20,M,,LB,CM,MSC-D-20x20.step +D20-20MFA,D,20,20,M,,FA,,MSC-D-20x20.step +D20-20MFAU,D,20,20,M,,FA,U,MSC-D-20x20.step +D20-20MFACM,D,20,20,M,,FA,CM,MSC-D-20x20.step +D20-20MFB,D,20,20,M,,FB,,MSC-D-20x20.step +D20-20MFBU,D,20,20,M,,FB,U,MSC-D-20x20.step +D20-20MFBCM,D,20,20,M,,FB,CM,MSC-D-20x20.step +D20-20MSDB,D,20,20,M,,SDB,,MSC-D-20x20.step +D20-20MSDBU,D,20,20,M,,SDB,U,MSC-D-20x20.step +D20-20MSDBCM,D,20,20,M,,SDB,CM,MSC-D-20x20.step +D20-30E,D,20,30,,E,,,MSC-D-20x30.step +D20-30EU,D,20,30,,E,,U,MSC-D-20x30.step +D20-30ECM,D,20,30,,E,,CM,MSC-D-20x30.step +D20-30ELB,D,20,30,,E,LB,,MSC-D-20x30.step +D20-30ELBU,D,20,30,,E,LB,U,MSC-D-20x30.step +D20-30ELBCM,D,20,30,,E,LB,CM,MSC-D-20x30.step +D20-30EFA,D,20,30,,E,FA,,MSC-D-20x30.step +D20-30EFAU,D,20,30,,E,FA,U,MSC-D-20x30.step +D20-30EFACM,D,20,30,,E,FA,CM,MSC-D-20x30.step +D20-30EFB,D,20,30,,E,FB,,MSC-D-20x30.step +D20-30EFBU,D,20,30,,E,FB,U,MSC-D-20x30.step +D20-30EFBCM,D,20,30,,E,FB,CM,MSC-D-20x30.step +D20-30ESDB,D,20,30,,E,SDB,,MSC-D-20x30.step +D20-30ESDBU,D,20,30,,E,SDB,U,MSC-D-20x30.step +D20-30ESDBCM,D,20,30,,E,SDB,CM,MSC-D-20x30.step +D20-30,D,20,30,,,,,MSC-D-20x30.step +D20-30U,D,20,30,,,,U,MSC-D-20x30.step +D20-30CM,D,20,30,,,,CM,MSC-D-20x30.step +D20-30LB,D,20,30,,,LB,,MSC-D-20x30.step +D20-30LBU,D,20,30,,,LB,U,MSC-D-20x30.step +D20-30LBCM,D,20,30,,,LB,CM,MSC-D-20x30.step +D20-30FA,D,20,30,,,FA,,MSC-D-20x30.step +D20-30FAU,D,20,30,,,FA,U,MSC-D-20x30.step +D20-30FACM,D,20,30,,,FA,CM,MSC-D-20x30.step +D20-30FB,D,20,30,,,FB,,MSC-D-20x30.step +D20-30FBU,D,20,30,,,FB,U,MSC-D-20x30.step +D20-30FBCM,D,20,30,,,FB,CM,MSC-D-20x30.step +D20-30SDB,D,20,30,,,SDB,,MSC-D-20x30.step +D20-30SDBU,D,20,30,,,SDB,U,MSC-D-20x30.step +D20-30SDBCM,D,20,30,,,SDB,CM,MSC-D-20x30.step +D20-30ME,D,20,30,M,E,,,MSC-D-20x30.step +D20-30MEU,D,20,30,M,E,,U,MSC-D-20x30.step +D20-30MECM,D,20,30,M,E,,CM,MSC-D-20x30.step +D20-30MELB,D,20,30,M,E,LB,,MSC-D-20x30.step +D20-30MELBU,D,20,30,M,E,LB,U,MSC-D-20x30.step +D20-30MELBCM,D,20,30,M,E,LB,CM,MSC-D-20x30.step +D20-30MEFA,D,20,30,M,E,FA,,MSC-D-20x30.step +D20-30MEFAU,D,20,30,M,E,FA,U,MSC-D-20x30.step +D20-30MEFACM,D,20,30,M,E,FA,CM,MSC-D-20x30.step +D20-30MEFB,D,20,30,M,E,FB,,MSC-D-20x30.step +D20-30MEFBU,D,20,30,M,E,FB,U,MSC-D-20x30.step +D20-30MEFBCM,D,20,30,M,E,FB,CM,MSC-D-20x30.step +D20-30MESDB,D,20,30,M,E,SDB,,MSC-D-20x30.step +D20-30MESDBU,D,20,30,M,E,SDB,U,MSC-D-20x30.step +D20-30MESDBCM,D,20,30,M,E,SDB,CM,MSC-D-20x30.step +D20-30M,D,20,30,M,,,,MSC-D-20x30.step +D20-30MU,D,20,30,M,,,U,MSC-D-20x30.step +D20-30MCM,D,20,30,M,,,CM,MSC-D-20x30.step +D20-30MLB,D,20,30,M,,LB,,MSC-D-20x30.step +D20-30MLBU,D,20,30,M,,LB,U,MSC-D-20x30.step +D20-30MLBCM,D,20,30,M,,LB,CM,MSC-D-20x30.step +D20-30MFA,D,20,30,M,,FA,,MSC-D-20x30.step +D20-30MFAU,D,20,30,M,,FA,U,MSC-D-20x30.step +D20-30MFACM,D,20,30,M,,FA,CM,MSC-D-20x30.step +D20-30MFB,D,20,30,M,,FB,,MSC-D-20x30.step +D20-30MFBU,D,20,30,M,,FB,U,MSC-D-20x30.step +D20-30MFBCM,D,20,30,M,,FB,CM,MSC-D-20x30.step +D20-30MSDB,D,20,30,M,,SDB,,MSC-D-20x30.step +D20-30MSDBU,D,20,30,M,,SDB,U,MSC-D-20x30.step +D20-30MSDBCM,D,20,30,M,,SDB,CM,MSC-D-20x30.step +D20-50E,D,20,50,,E,,,MSC-D-20x50.step +D20-50EU,D,20,50,,E,,U,MSC-D-20x50.step +D20-50ECM,D,20,50,,E,,CM,MSC-D-20x50.step +D20-50ELB,D,20,50,,E,LB,,MSC-D-20x50.step +D20-50ELBU,D,20,50,,E,LB,U,MSC-D-20x50.step +D20-50ELBCM,D,20,50,,E,LB,CM,MSC-D-20x50.step +D20-50EFA,D,20,50,,E,FA,,MSC-D-20x50.step +D20-50EFAU,D,20,50,,E,FA,U,MSC-D-20x50.step +D20-50EFACM,D,20,50,,E,FA,CM,MSC-D-20x50.step +D20-50EFB,D,20,50,,E,FB,,MSC-D-20x50.step +D20-50EFBU,D,20,50,,E,FB,U,MSC-D-20x50.step +D20-50EFBCM,D,20,50,,E,FB,CM,MSC-D-20x50.step +D20-50ESDB,D,20,50,,E,SDB,,MSC-D-20x50.step +D20-50ESDBU,D,20,50,,E,SDB,U,MSC-D-20x50.step +D20-50ESDBCM,D,20,50,,E,SDB,CM,MSC-D-20x50.step +D20-50,D,20,50,,,,,MSC-D-20x50.step +D20-50U,D,20,50,,,,U,MSC-D-20x50.step +D20-50CM,D,20,50,,,,CM,MSC-D-20x50.step +D20-50LB,D,20,50,,,LB,,MSC-D-20x50.step +D20-50LBU,D,20,50,,,LB,U,MSC-D-20x50.step +D20-50LBCM,D,20,50,,,LB,CM,MSC-D-20x50.step +D20-50FA,D,20,50,,,FA,,MSC-D-20x50.step +D20-50FAU,D,20,50,,,FA,U,MSC-D-20x50.step +D20-50FACM,D,20,50,,,FA,CM,MSC-D-20x50.step +D20-50FB,D,20,50,,,FB,,MSC-D-20x50.step +D20-50FBU,D,20,50,,,FB,U,MSC-D-20x50.step +D20-50FBCM,D,20,50,,,FB,CM,MSC-D-20x50.step +D20-50SDB,D,20,50,,,SDB,,MSC-D-20x50.step +D20-50SDBU,D,20,50,,,SDB,U,MSC-D-20x50.step +D20-50SDBCM,D,20,50,,,SDB,CM,MSC-D-20x50.step +D20-50ME,D,20,50,M,E,,,MSC-D-20x50.step +D20-50MEU,D,20,50,M,E,,U,MSC-D-20x50.step +D20-50MECM,D,20,50,M,E,,CM,MSC-D-20x50.step +D20-50MELB,D,20,50,M,E,LB,,MSC-D-20x50.step +D20-50MELBU,D,20,50,M,E,LB,U,MSC-D-20x50.step +D20-50MELBCM,D,20,50,M,E,LB,CM,MSC-D-20x50.step +D20-50MEFA,D,20,50,M,E,FA,,MSC-D-20x50.step +D20-50MEFAU,D,20,50,M,E,FA,U,MSC-D-20x50.step +D20-50MEFACM,D,20,50,M,E,FA,CM,MSC-D-20x50.step +D20-50MEFB,D,20,50,M,E,FB,,MSC-D-20x50.step +D20-50MEFBU,D,20,50,M,E,FB,U,MSC-D-20x50.step +D20-50MEFBCM,D,20,50,M,E,FB,CM,MSC-D-20x50.step +D20-50MESDB,D,20,50,M,E,SDB,,MSC-D-20x50.step +D20-50MESDBU,D,20,50,M,E,SDB,U,MSC-D-20x50.step +D20-50MESDBCM,D,20,50,M,E,SDB,CM,MSC-D-20x50.step +D20-50M,D,20,50,M,,,,MSC-D-20x50.step +D20-50MU,D,20,50,M,,,U,MSC-D-20x50.step +D20-50MCM,D,20,50,M,,,CM,MSC-D-20x50.step +D20-50MLB,D,20,50,M,,LB,,MSC-D-20x50.step +D20-50MLBU,D,20,50,M,,LB,U,MSC-D-20x50.step +D20-50MLBCM,D,20,50,M,,LB,CM,MSC-D-20x50.step +D20-50MFA,D,20,50,M,,FA,,MSC-D-20x50.step +D20-50MFAU,D,20,50,M,,FA,U,MSC-D-20x50.step +D20-50MFACM,D,20,50,M,,FA,CM,MSC-D-20x50.step +D20-50MFB,D,20,50,M,,FB,,MSC-D-20x50.step +D20-50MFBU,D,20,50,M,,FB,U,MSC-D-20x50.step +D20-50MFBCM,D,20,50,M,,FB,CM,MSC-D-20x50.step +D20-50MSDB,D,20,50,M,,SDB,,MSC-D-20x50.step +D20-50MSDBU,D,20,50,M,,SDB,U,MSC-D-20x50.step +D20-50MSDBCM,D,20,50,M,,SDB,CM,MSC-D-20x50.step +D20-75E,D,20,75,,E,,,MSC-D-20x75.step +D20-75EU,D,20,75,,E,,U,MSC-D-20x75.step +D20-75ECM,D,20,75,,E,,CM,MSC-D-20x75.step +D20-75ELB,D,20,75,,E,LB,,MSC-D-20x75.step +D20-75ELBU,D,20,75,,E,LB,U,MSC-D-20x75.step +D20-75ELBCM,D,20,75,,E,LB,CM,MSC-D-20x75.step +D20-75EFA,D,20,75,,E,FA,,MSC-D-20x75.step +D20-75EFAU,D,20,75,,E,FA,U,MSC-D-20x75.step +D20-75EFACM,D,20,75,,E,FA,CM,MSC-D-20x75.step +D20-75EFB,D,20,75,,E,FB,,MSC-D-20x75.step +D20-75EFBU,D,20,75,,E,FB,U,MSC-D-20x75.step +D20-75EFBCM,D,20,75,,E,FB,CM,MSC-D-20x75.step +D20-75ESDB,D,20,75,,E,SDB,,MSC-D-20x75.step +D20-75ESDBU,D,20,75,,E,SDB,U,MSC-D-20x75.step +D20-75ESDBCM,D,20,75,,E,SDB,CM,MSC-D-20x75.step +D20-75,D,20,75,,,,,MSC-D-20x75.step +D20-75U,D,20,75,,,,U,MSC-D-20x75.step +D20-75CM,D,20,75,,,,CM,MSC-D-20x75.step +D20-75LB,D,20,75,,,LB,,MSC-D-20x75.step +D20-75LBU,D,20,75,,,LB,U,MSC-D-20x75.step +D20-75LBCM,D,20,75,,,LB,CM,MSC-D-20x75.step +D20-75FA,D,20,75,,,FA,,MSC-D-20x75.step +D20-75FAU,D,20,75,,,FA,U,MSC-D-20x75.step +D20-75FACM,D,20,75,,,FA,CM,MSC-D-20x75.step +D20-75FB,D,20,75,,,FB,,MSC-D-20x75.step +D20-75FBU,D,20,75,,,FB,U,MSC-D-20x75.step +D20-75FBCM,D,20,75,,,FB,CM,MSC-D-20x75.step +D20-75SDB,D,20,75,,,SDB,,MSC-D-20x75.step +D20-75SDBU,D,20,75,,,SDB,U,MSC-D-20x75.step +D20-75SDBCM,D,20,75,,,SDB,CM,MSC-D-20x75.step +D20-75ME,D,20,75,M,E,,,MSC-D-20x75.step +D20-75MEU,D,20,75,M,E,,U,MSC-D-20x75.step +D20-75MECM,D,20,75,M,E,,CM,MSC-D-20x75.step +D20-75MELB,D,20,75,M,E,LB,,MSC-D-20x75.step +D20-75MELBU,D,20,75,M,E,LB,U,MSC-D-20x75.step +D20-75MELBCM,D,20,75,M,E,LB,CM,MSC-D-20x75.step +D20-75MEFA,D,20,75,M,E,FA,,MSC-D-20x75.step +D20-75MEFAU,D,20,75,M,E,FA,U,MSC-D-20x75.step +D20-75MEFACM,D,20,75,M,E,FA,CM,MSC-D-20x75.step +D20-75MEFB,D,20,75,M,E,FB,,MSC-D-20x75.step +D20-75MEFBU,D,20,75,M,E,FB,U,MSC-D-20x75.step +D20-75MEFBCM,D,20,75,M,E,FB,CM,MSC-D-20x75.step +D20-75MESDB,D,20,75,M,E,SDB,,MSC-D-20x75.step +D20-75MESDBU,D,20,75,M,E,SDB,U,MSC-D-20x75.step +D20-75MESDBCM,D,20,75,M,E,SDB,CM,MSC-D-20x75.step +D20-75M,D,20,75,M,,,,MSC-D-20x75.step +D20-75MU,D,20,75,M,,,U,MSC-D-20x75.step +D20-75MCM,D,20,75,M,,,CM,MSC-D-20x75.step +D20-75MLB,D,20,75,M,,LB,,MSC-D-20x75.step +D20-75MLBU,D,20,75,M,,LB,U,MSC-D-20x75.step +D20-75MLBCM,D,20,75,M,,LB,CM,MSC-D-20x75.step +D20-75MFA,D,20,75,M,,FA,,MSC-D-20x75.step +D20-75MFAU,D,20,75,M,,FA,U,MSC-D-20x75.step +D20-75MFACM,D,20,75,M,,FA,CM,MSC-D-20x75.step +D20-75MFB,D,20,75,M,,FB,,MSC-D-20x75.step +D20-75MFBU,D,20,75,M,,FB,U,MSC-D-20x75.step +D20-75MFBCM,D,20,75,M,,FB,CM,MSC-D-20x75.step +D20-75MSDB,D,20,75,M,,SDB,,MSC-D-20x75.step +D20-75MSDBU,D,20,75,M,,SDB,U,MSC-D-20x75.step +D20-75MSDBCM,D,20,75,M,,SDB,CM,MSC-D-20x75.step +D20-100E,D,20,100,,E,,,MSC-D-20x100.step +D20-100EU,D,20,100,,E,,U,MSC-D-20x100.step +D20-100ECM,D,20,100,,E,,CM,MSC-D-20x100.step +D20-100ELB,D,20,100,,E,LB,,MSC-D-20x100.step +D20-100ELBU,D,20,100,,E,LB,U,MSC-D-20x100.step +D20-100ELBCM,D,20,100,,E,LB,CM,MSC-D-20x100.step +D20-100EFA,D,20,100,,E,FA,,MSC-D-20x100.step +D20-100EFAU,D,20,100,,E,FA,U,MSC-D-20x100.step +D20-100EFACM,D,20,100,,E,FA,CM,MSC-D-20x100.step +D20-100EFB,D,20,100,,E,FB,,MSC-D-20x100.step +D20-100EFBU,D,20,100,,E,FB,U,MSC-D-20x100.step +D20-100EFBCM,D,20,100,,E,FB,CM,MSC-D-20x100.step +D20-100ESDB,D,20,100,,E,SDB,,MSC-D-20x100.step +D20-100ESDBU,D,20,100,,E,SDB,U,MSC-D-20x100.step +D20-100ESDBCM,D,20,100,,E,SDB,CM,MSC-D-20x100.step +D20-100,D,20,100,,,,,MSC-D-20x100.step +D20-100U,D,20,100,,,,U,MSC-D-20x100.step +D20-100CM,D,20,100,,,,CM,MSC-D-20x100.step +D20-100LB,D,20,100,,,LB,,MSC-D-20x100.step +D20-100LBU,D,20,100,,,LB,U,MSC-D-20x100.step +D20-100LBCM,D,20,100,,,LB,CM,MSC-D-20x100.step +D20-100FA,D,20,100,,,FA,,MSC-D-20x100.step +D20-100FAU,D,20,100,,,FA,U,MSC-D-20x100.step +D20-100FACM,D,20,100,,,FA,CM,MSC-D-20x100.step +D20-100FB,D,20,100,,,FB,,MSC-D-20x100.step +D20-100FBU,D,20,100,,,FB,U,MSC-D-20x100.step +D20-100FBCM,D,20,100,,,FB,CM,MSC-D-20x100.step +D20-100SDB,D,20,100,,,SDB,,MSC-D-20x100.step +D20-100SDBU,D,20,100,,,SDB,U,MSC-D-20x100.step +D20-100SDBCM,D,20,100,,,SDB,CM,MSC-D-20x100.step +D20-100ME,D,20,100,M,E,,,MSC-D-20x100.step +D20-100MEU,D,20,100,M,E,,U,MSC-D-20x100.step +D20-100MECM,D,20,100,M,E,,CM,MSC-D-20x100.step +D20-100MELB,D,20,100,M,E,LB,,MSC-D-20x100.step +D20-100MELBU,D,20,100,M,E,LB,U,MSC-D-20x100.step +D20-100MELBCM,D,20,100,M,E,LB,CM,MSC-D-20x100.step +D20-100MEFA,D,20,100,M,E,FA,,MSC-D-20x100.step +D20-100MEFAU,D,20,100,M,E,FA,U,MSC-D-20x100.step +D20-100MEFACM,D,20,100,M,E,FA,CM,MSC-D-20x100.step +D20-100MEFB,D,20,100,M,E,FB,,MSC-D-20x100.step +D20-100MEFBU,D,20,100,M,E,FB,U,MSC-D-20x100.step +D20-100MEFBCM,D,20,100,M,E,FB,CM,MSC-D-20x100.step +D20-100MESDB,D,20,100,M,E,SDB,,MSC-D-20x100.step +D20-100MESDBU,D,20,100,M,E,SDB,U,MSC-D-20x100.step +D20-100MESDBCM,D,20,100,M,E,SDB,CM,MSC-D-20x100.step +D20-100M,D,20,100,M,,,,MSC-D-20x100.step +D20-100MU,D,20,100,M,,,U,MSC-D-20x100.step +D20-100MCM,D,20,100,M,,,CM,MSC-D-20x100.step +D20-100MLB,D,20,100,M,,LB,,MSC-D-20x100.step +D20-100MLBU,D,20,100,M,,LB,U,MSC-D-20x100.step +D20-100MLBCM,D,20,100,M,,LB,CM,MSC-D-20x100.step +D20-100MFA,D,20,100,M,,FA,,MSC-D-20x100.step +D20-100MFAU,D,20,100,M,,FA,U,MSC-D-20x100.step +D20-100MFACM,D,20,100,M,,FA,CM,MSC-D-20x100.step +D20-100MFB,D,20,100,M,,FB,,MSC-D-20x100.step +D20-100MFBU,D,20,100,M,,FB,U,MSC-D-20x100.step +D20-100MFBCM,D,20,100,M,,FB,CM,MSC-D-20x100.step +D20-100MSDB,D,20,100,M,,SDB,,MSC-D-20x100.step +D20-100MSDBU,D,20,100,M,,SDB,U,MSC-D-20x100.step +D20-100MSDBCM,D,20,100,M,,SDB,CM,MSC-D-20x100.step +D25-10E,D,25,10,,E,,,MSC-D-25x10.step +D25-10EU,D,25,10,,E,,U,MSC-D-25x10.step +D25-10ECM,D,25,10,,E,,CM,MSC-D-25x10.step +D25-10ELB,D,25,10,,E,LB,,MSC-D-25x10.step +D25-10ELBU,D,25,10,,E,LB,U,MSC-D-25x10.step +D25-10ELBCM,D,25,10,,E,LB,CM,MSC-D-25x10.step +D25-10EFA,D,25,10,,E,FA,,MSC-D-25x10.step +D25-10EFAU,D,25,10,,E,FA,U,MSC-D-25x10.step +D25-10EFACM,D,25,10,,E,FA,CM,MSC-D-25x10.step +D25-10EFB,D,25,10,,E,FB,,MSC-D-25x10.step +D25-10EFBU,D,25,10,,E,FB,U,MSC-D-25x10.step +D25-10EFBCM,D,25,10,,E,FB,CM,MSC-D-25x10.step +D25-10ESDB,D,25,10,,E,SDB,,MSC-D-25x10.step +D25-10ESDBU,D,25,10,,E,SDB,U,MSC-D-25x10.step +D25-10ESDBCM,D,25,10,,E,SDB,CM,MSC-D-25x10.step +D25-10,D,25,10,,,,,MSC-D-25x10.step +D25-10U,D,25,10,,,,U,MSC-D-25x10.step +D25-10CM,D,25,10,,,,CM,MSC-D-25x10.step +D25-10LB,D,25,10,,,LB,,MSC-D-25x10.step +D25-10LBU,D,25,10,,,LB,U,MSC-D-25x10.step +D25-10LBCM,D,25,10,,,LB,CM,MSC-D-25x10.step +D25-10FA,D,25,10,,,FA,,MSC-D-25x10.step +D25-10FAU,D,25,10,,,FA,U,MSC-D-25x10.step +D25-10FACM,D,25,10,,,FA,CM,MSC-D-25x10.step +D25-10FB,D,25,10,,,FB,,MSC-D-25x10.step +D25-10FBU,D,25,10,,,FB,U,MSC-D-25x10.step +D25-10FBCM,D,25,10,,,FB,CM,MSC-D-25x10.step +D25-10SDB,D,25,10,,,SDB,,MSC-D-25x10.step +D25-10SDBU,D,25,10,,,SDB,U,MSC-D-25x10.step +D25-10SDBCM,D,25,10,,,SDB,CM,MSC-D-25x10.step +D25-10ME,D,25,10,M,E,,,MSC-D-25x10.step +D25-10MEU,D,25,10,M,E,,U,MSC-D-25x10.step +D25-10MECM,D,25,10,M,E,,CM,MSC-D-25x10.step +D25-10MELB,D,25,10,M,E,LB,,MSC-D-25x10.step +D25-10MELBU,D,25,10,M,E,LB,U,MSC-D-25x10.step +D25-10MELBCM,D,25,10,M,E,LB,CM,MSC-D-25x10.step +D25-10MEFA,D,25,10,M,E,FA,,MSC-D-25x10.step +D25-10MEFAU,D,25,10,M,E,FA,U,MSC-D-25x10.step +D25-10MEFACM,D,25,10,M,E,FA,CM,MSC-D-25x10.step +D25-10MEFB,D,25,10,M,E,FB,,MSC-D-25x10.step +D25-10MEFBU,D,25,10,M,E,FB,U,MSC-D-25x10.step +D25-10MEFBCM,D,25,10,M,E,FB,CM,MSC-D-25x10.step +D25-10MESDB,D,25,10,M,E,SDB,,MSC-D-25x10.step +D25-10MESDBU,D,25,10,M,E,SDB,U,MSC-D-25x10.step +D25-10MESDBCM,D,25,10,M,E,SDB,CM,MSC-D-25x10.step +D25-10M,D,25,10,M,,,,MSC-D-25x10.step +D25-10MU,D,25,10,M,,,U,MSC-D-25x10.step +D25-10MCM,D,25,10,M,,,CM,MSC-D-25x10.step +D25-10MLB,D,25,10,M,,LB,,MSC-D-25x10.step +D25-10MLBU,D,25,10,M,,LB,U,MSC-D-25x10.step +D25-10MLBCM,D,25,10,M,,LB,CM,MSC-D-25x10.step +D25-10MFA,D,25,10,M,,FA,,MSC-D-25x10.step +D25-10MFAU,D,25,10,M,,FA,U,MSC-D-25x10.step +D25-10MFACM,D,25,10,M,,FA,CM,MSC-D-25x10.step +D25-10MFB,D,25,10,M,,FB,,MSC-D-25x10.step +D25-10MFBU,D,25,10,M,,FB,U,MSC-D-25x10.step +D25-10MFBCM,D,25,10,M,,FB,CM,MSC-D-25x10.step +D25-10MSDB,D,25,10,M,,SDB,,MSC-D-25x10.step +D25-10MSDBU,D,25,10,M,,SDB,U,MSC-D-25x10.step +D25-10MSDBCM,D,25,10,M,,SDB,CM,MSC-D-25x10.step +D25-20E,D,25,20,,E,,,MSC-D-25x20.step +D25-20EU,D,25,20,,E,,U,MSC-D-25x20.step +D25-20ECM,D,25,20,,E,,CM,MSC-D-25x20.step +D25-20ELB,D,25,20,,E,LB,,MSC-D-25x20.step +D25-20ELBU,D,25,20,,E,LB,U,MSC-D-25x20.step +D25-20ELBCM,D,25,20,,E,LB,CM,MSC-D-25x20.step +D25-20EFA,D,25,20,,E,FA,,MSC-D-25x20.step +D25-20EFAU,D,25,20,,E,FA,U,MSC-D-25x20.step +D25-20EFACM,D,25,20,,E,FA,CM,MSC-D-25x20.step +D25-20EFB,D,25,20,,E,FB,,MSC-D-25x20.step +D25-20EFBU,D,25,20,,E,FB,U,MSC-D-25x20.step +D25-20EFBCM,D,25,20,,E,FB,CM,MSC-D-25x20.step +D25-20ESDB,D,25,20,,E,SDB,,MSC-D-25x20.step +D25-20ESDBU,D,25,20,,E,SDB,U,MSC-D-25x20.step +D25-20ESDBCM,D,25,20,,E,SDB,CM,MSC-D-25x20.step +D25-20,D,25,20,,,,,MSC-D-25x20.step +D25-20U,D,25,20,,,,U,MSC-D-25x20.step +D25-20CM,D,25,20,,,,CM,MSC-D-25x20.step +D25-20LB,D,25,20,,,LB,,MSC-D-25x20.step +D25-20LBU,D,25,20,,,LB,U,MSC-D-25x20.step +D25-20LBCM,D,25,20,,,LB,CM,MSC-D-25x20.step +D25-20FA,D,25,20,,,FA,,MSC-D-25x20.step +D25-20FAU,D,25,20,,,FA,U,MSC-D-25x20.step +D25-20FACM,D,25,20,,,FA,CM,MSC-D-25x20.step +D25-20FB,D,25,20,,,FB,,MSC-D-25x20.step +D25-20FBU,D,25,20,,,FB,U,MSC-D-25x20.step +D25-20FBCM,D,25,20,,,FB,CM,MSC-D-25x20.step +D25-20SDB,D,25,20,,,SDB,,MSC-D-25x20.step +D25-20SDBU,D,25,20,,,SDB,U,MSC-D-25x20.step +D25-20SDBCM,D,25,20,,,SDB,CM,MSC-D-25x20.step +D25-20ME,D,25,20,M,E,,,MSC-D-25x20.step +D25-20MEU,D,25,20,M,E,,U,MSC-D-25x20.step +D25-20MECM,D,25,20,M,E,,CM,MSC-D-25x20.step +D25-20MELB,D,25,20,M,E,LB,,MSC-D-25x20.step +D25-20MELBU,D,25,20,M,E,LB,U,MSC-D-25x20.step +D25-20MELBCM,D,25,20,M,E,LB,CM,MSC-D-25x20.step +D25-20MEFA,D,25,20,M,E,FA,,MSC-D-25x20.step +D25-20MEFAU,D,25,20,M,E,FA,U,MSC-D-25x20.step +D25-20MEFACM,D,25,20,M,E,FA,CM,MSC-D-25x20.step +D25-20MEFB,D,25,20,M,E,FB,,MSC-D-25x20.step +D25-20MEFBU,D,25,20,M,E,FB,U,MSC-D-25x20.step +D25-20MEFBCM,D,25,20,M,E,FB,CM,MSC-D-25x20.step +D25-20MESDB,D,25,20,M,E,SDB,,MSC-D-25x20.step +D25-20MESDBU,D,25,20,M,E,SDB,U,MSC-D-25x20.step +D25-20MESDBCM,D,25,20,M,E,SDB,CM,MSC-D-25x20.step +D25-20M,D,25,20,M,,,,MSC-D-25x20.step +D25-20MU,D,25,20,M,,,U,MSC-D-25x20.step +D25-20MCM,D,25,20,M,,,CM,MSC-D-25x20.step +D25-20MLB,D,25,20,M,,LB,,MSC-D-25x20.step +D25-20MLBU,D,25,20,M,,LB,U,MSC-D-25x20.step +D25-20MLBCM,D,25,20,M,,LB,CM,MSC-D-25x20.step +D25-20MFA,D,25,20,M,,FA,,MSC-D-25x20.step +D25-20MFAU,D,25,20,M,,FA,U,MSC-D-25x20.step +D25-20MFACM,D,25,20,M,,FA,CM,MSC-D-25x20.step +D25-20MFB,D,25,20,M,,FB,,MSC-D-25x20.step +D25-20MFBU,D,25,20,M,,FB,U,MSC-D-25x20.step +D25-20MFBCM,D,25,20,M,,FB,CM,MSC-D-25x20.step +D25-20MSDB,D,25,20,M,,SDB,,MSC-D-25x20.step +D25-20MSDBU,D,25,20,M,,SDB,U,MSC-D-25x20.step +D25-20MSDBCM,D,25,20,M,,SDB,CM,MSC-D-25x20.step +D25-30E,D,25,30,,E,,,MSC-D-25x30.step +D25-30EU,D,25,30,,E,,U,MSC-D-25x30.step +D25-30ECM,D,25,30,,E,,CM,MSC-D-25x30.step +D25-30ELB,D,25,30,,E,LB,,MSC-D-25x30.step +D25-30ELBU,D,25,30,,E,LB,U,MSC-D-25x30.step +D25-30ELBCM,D,25,30,,E,LB,CM,MSC-D-25x30.step +D25-30EFA,D,25,30,,E,FA,,MSC-D-25x30.step +D25-30EFAU,D,25,30,,E,FA,U,MSC-D-25x30.step +D25-30EFACM,D,25,30,,E,FA,CM,MSC-D-25x30.step +D25-30EFB,D,25,30,,E,FB,,MSC-D-25x30.step +D25-30EFBU,D,25,30,,E,FB,U,MSC-D-25x30.step +D25-30EFBCM,D,25,30,,E,FB,CM,MSC-D-25x30.step +D25-30ESDB,D,25,30,,E,SDB,,MSC-D-25x30.step +D25-30ESDBU,D,25,30,,E,SDB,U,MSC-D-25x30.step +D25-30ESDBCM,D,25,30,,E,SDB,CM,MSC-D-25x30.step +D25-30,D,25,30,,,,,MSC-D-25x30.step +D25-30U,D,25,30,,,,U,MSC-D-25x30.step +D25-30CM,D,25,30,,,,CM,MSC-D-25x30.step +D25-30LB,D,25,30,,,LB,,MSC-D-25x30.step +D25-30LBU,D,25,30,,,LB,U,MSC-D-25x30.step +D25-30LBCM,D,25,30,,,LB,CM,MSC-D-25x30.step +D25-30FA,D,25,30,,,FA,,MSC-D-25x30.step +D25-30FAU,D,25,30,,,FA,U,MSC-D-25x30.step +D25-30FACM,D,25,30,,,FA,CM,MSC-D-25x30.step +D25-30FB,D,25,30,,,FB,,MSC-D-25x30.step +D25-30FBU,D,25,30,,,FB,U,MSC-D-25x30.step +D25-30FBCM,D,25,30,,,FB,CM,MSC-D-25x30.step +D25-30SDB,D,25,30,,,SDB,,MSC-D-25x30.step +D25-30SDBU,D,25,30,,,SDB,U,MSC-D-25x30.step +D25-30SDBCM,D,25,30,,,SDB,CM,MSC-D-25x30.step +D25-30ME,D,25,30,M,E,,,MSC-D-25x30.step +D25-30MEU,D,25,30,M,E,,U,MSC-D-25x30.step +D25-30MECM,D,25,30,M,E,,CM,MSC-D-25x30.step +D25-30MELB,D,25,30,M,E,LB,,MSC-D-25x30.step +D25-30MELBU,D,25,30,M,E,LB,U,MSC-D-25x30.step +D25-30MELBCM,D,25,30,M,E,LB,CM,MSC-D-25x30.step +D25-30MEFA,D,25,30,M,E,FA,,MSC-D-25x30.step +D25-30MEFAU,D,25,30,M,E,FA,U,MSC-D-25x30.step +D25-30MEFACM,D,25,30,M,E,FA,CM,MSC-D-25x30.step +D25-30MEFB,D,25,30,M,E,FB,,MSC-D-25x30.step +D25-30MEFBU,D,25,30,M,E,FB,U,MSC-D-25x30.step +D25-30MEFBCM,D,25,30,M,E,FB,CM,MSC-D-25x30.step +D25-30MESDB,D,25,30,M,E,SDB,,MSC-D-25x30.step +D25-30MESDBU,D,25,30,M,E,SDB,U,MSC-D-25x30.step +D25-30MESDBCM,D,25,30,M,E,SDB,CM,MSC-D-25x30.step +D25-30M,D,25,30,M,,,,MSC-D-25x30.step +D25-30MU,D,25,30,M,,,U,MSC-D-25x30.step +D25-30MCM,D,25,30,M,,,CM,MSC-D-25x30.step +D25-30MLB,D,25,30,M,,LB,,MSC-D-25x30.step +D25-30MLBU,D,25,30,M,,LB,U,MSC-D-25x30.step +D25-30MLBCM,D,25,30,M,,LB,CM,MSC-D-25x30.step +D25-30MFA,D,25,30,M,,FA,,MSC-D-25x30.step +D25-30MFAU,D,25,30,M,,FA,U,MSC-D-25x30.step +D25-30MFACM,D,25,30,M,,FA,CM,MSC-D-25x30.step +D25-30MFB,D,25,30,M,,FB,,MSC-D-25x30.step +D25-30MFBU,D,25,30,M,,FB,U,MSC-D-25x30.step +D25-30MFBCM,D,25,30,M,,FB,CM,MSC-D-25x30.step +D25-30MSDB,D,25,30,M,,SDB,,MSC-D-25x30.step +D25-30MSDBU,D,25,30,M,,SDB,U,MSC-D-25x30.step +D25-30MSDBCM,D,25,30,M,,SDB,CM,MSC-D-25x30.step +D25-50E,D,25,50,,E,,,MSC-D-25x50.step +D25-50EU,D,25,50,,E,,U,MSC-D-25x50.step +D25-50ECM,D,25,50,,E,,CM,MSC-D-25x50.step +D25-50ELB,D,25,50,,E,LB,,MSC-D-25x50.step +D25-50ELBU,D,25,50,,E,LB,U,MSC-D-25x50.step +D25-50ELBCM,D,25,50,,E,LB,CM,MSC-D-25x50.step +D25-50EFA,D,25,50,,E,FA,,MSC-D-25x50.step +D25-50EFAU,D,25,50,,E,FA,U,MSC-D-25x50.step +D25-50EFACM,D,25,50,,E,FA,CM,MSC-D-25x50.step +D25-50EFB,D,25,50,,E,FB,,MSC-D-25x50.step +D25-50EFBU,D,25,50,,E,FB,U,MSC-D-25x50.step +D25-50EFBCM,D,25,50,,E,FB,CM,MSC-D-25x50.step +D25-50ESDB,D,25,50,,E,SDB,,MSC-D-25x50.step +D25-50ESDBU,D,25,50,,E,SDB,U,MSC-D-25x50.step +D25-50ESDBCM,D,25,50,,E,SDB,CM,MSC-D-25x50.step +D25-50,D,25,50,,,,,MSC-D-25x50.step +D25-50U,D,25,50,,,,U,MSC-D-25x50.step +D25-50CM,D,25,50,,,,CM,MSC-D-25x50.step +D25-50LB,D,25,50,,,LB,,MSC-D-25x50.step +D25-50LBU,D,25,50,,,LB,U,MSC-D-25x50.step +D25-50LBCM,D,25,50,,,LB,CM,MSC-D-25x50.step +D25-50FA,D,25,50,,,FA,,MSC-D-25x50.step +D25-50FAU,D,25,50,,,FA,U,MSC-D-25x50.step +D25-50FACM,D,25,50,,,FA,CM,MSC-D-25x50.step +D25-50FB,D,25,50,,,FB,,MSC-D-25x50.step +D25-50FBU,D,25,50,,,FB,U,MSC-D-25x50.step +D25-50FBCM,D,25,50,,,FB,CM,MSC-D-25x50.step +D25-50SDB,D,25,50,,,SDB,,MSC-D-25x50.step +D25-50SDBU,D,25,50,,,SDB,U,MSC-D-25x50.step +D25-50SDBCM,D,25,50,,,SDB,CM,MSC-D-25x50.step +D25-50ME,D,25,50,M,E,,,MSC-D-25x50.step +D25-50MEU,D,25,50,M,E,,U,MSC-D-25x50.step +D25-50MECM,D,25,50,M,E,,CM,MSC-D-25x50.step +D25-50MELB,D,25,50,M,E,LB,,MSC-D-25x50.step +D25-50MELBU,D,25,50,M,E,LB,U,MSC-D-25x50.step +D25-50MELBCM,D,25,50,M,E,LB,CM,MSC-D-25x50.step +D25-50MEFA,D,25,50,M,E,FA,,MSC-D-25x50.step +D25-50MEFAU,D,25,50,M,E,FA,U,MSC-D-25x50.step +D25-50MEFACM,D,25,50,M,E,FA,CM,MSC-D-25x50.step +D25-50MEFB,D,25,50,M,E,FB,,MSC-D-25x50.step +D25-50MEFBU,D,25,50,M,E,FB,U,MSC-D-25x50.step +D25-50MEFBCM,D,25,50,M,E,FB,CM,MSC-D-25x50.step +D25-50MESDB,D,25,50,M,E,SDB,,MSC-D-25x50.step +D25-50MESDBU,D,25,50,M,E,SDB,U,MSC-D-25x50.step +D25-50MESDBCM,D,25,50,M,E,SDB,CM,MSC-D-25x50.step +D25-50M,D,25,50,M,,,,MSC-D-25x50.step +D25-50MU,D,25,50,M,,,U,MSC-D-25x50.step +D25-50MCM,D,25,50,M,,,CM,MSC-D-25x50.step +D25-50MLB,D,25,50,M,,LB,,MSC-D-25x50.step +D25-50MLBU,D,25,50,M,,LB,U,MSC-D-25x50.step +D25-50MLBCM,D,25,50,M,,LB,CM,MSC-D-25x50.step +D25-50MFA,D,25,50,M,,FA,,MSC-D-25x50.step +D25-50MFAU,D,25,50,M,,FA,U,MSC-D-25x50.step +D25-50MFACM,D,25,50,M,,FA,CM,MSC-D-25x50.step +D25-50MFB,D,25,50,M,,FB,,MSC-D-25x50.step +D25-50MFBU,D,25,50,M,,FB,U,MSC-D-25x50.step +D25-50MFBCM,D,25,50,M,,FB,CM,MSC-D-25x50.step +D25-50MSDB,D,25,50,M,,SDB,,MSC-D-25x50.step +D25-50MSDBU,D,25,50,M,,SDB,U,MSC-D-25x50.step +D25-50MSDBCM,D,25,50,M,,SDB,CM,MSC-D-25x50.step +D25-75E,D,25,75,,E,,,MSC-D-25x75.step +D25-75EU,D,25,75,,E,,U,MSC-D-25x75.step +D25-75ECM,D,25,75,,E,,CM,MSC-D-25x75.step +D25-75ELB,D,25,75,,E,LB,,MSC-D-25x75.step +D25-75ELBU,D,25,75,,E,LB,U,MSC-D-25x75.step +D25-75ELBCM,D,25,75,,E,LB,CM,MSC-D-25x75.step +D25-75EFA,D,25,75,,E,FA,,MSC-D-25x75.step +D25-75EFAU,D,25,75,,E,FA,U,MSC-D-25x75.step +D25-75EFACM,D,25,75,,E,FA,CM,MSC-D-25x75.step +D25-75EFB,D,25,75,,E,FB,,MSC-D-25x75.step +D25-75EFBU,D,25,75,,E,FB,U,MSC-D-25x75.step +D25-75EFBCM,D,25,75,,E,FB,CM,MSC-D-25x75.step +D25-75ESDB,D,25,75,,E,SDB,,MSC-D-25x75.step +D25-75ESDBU,D,25,75,,E,SDB,U,MSC-D-25x75.step +D25-75ESDBCM,D,25,75,,E,SDB,CM,MSC-D-25x75.step +D25-75,D,25,75,,,,,MSC-D-25x75.step +D25-75U,D,25,75,,,,U,MSC-D-25x75.step +D25-75CM,D,25,75,,,,CM,MSC-D-25x75.step +D25-75LB,D,25,75,,,LB,,MSC-D-25x75.step +D25-75LBU,D,25,75,,,LB,U,MSC-D-25x75.step +D25-75LBCM,D,25,75,,,LB,CM,MSC-D-25x75.step +D25-75FA,D,25,75,,,FA,,MSC-D-25x75.step +D25-75FAU,D,25,75,,,FA,U,MSC-D-25x75.step +D25-75FACM,D,25,75,,,FA,CM,MSC-D-25x75.step +D25-75FB,D,25,75,,,FB,,MSC-D-25x75.step +D25-75FBU,D,25,75,,,FB,U,MSC-D-25x75.step +D25-75FBCM,D,25,75,,,FB,CM,MSC-D-25x75.step +D25-75SDB,D,25,75,,,SDB,,MSC-D-25x75.step +D25-75SDBU,D,25,75,,,SDB,U,MSC-D-25x75.step +D25-75SDBCM,D,25,75,,,SDB,CM,MSC-D-25x75.step +D25-75ME,D,25,75,M,E,,,MSC-D-25x75.step +D25-75MEU,D,25,75,M,E,,U,MSC-D-25x75.step +D25-75MECM,D,25,75,M,E,,CM,MSC-D-25x75.step +D25-75MELB,D,25,75,M,E,LB,,MSC-D-25x75.step +D25-75MELBU,D,25,75,M,E,LB,U,MSC-D-25x75.step +D25-75MELBCM,D,25,75,M,E,LB,CM,MSC-D-25x75.step +D25-75MEFA,D,25,75,M,E,FA,,MSC-D-25x75.step +D25-75MEFAU,D,25,75,M,E,FA,U,MSC-D-25x75.step +D25-75MEFACM,D,25,75,M,E,FA,CM,MSC-D-25x75.step +D25-75MEFB,D,25,75,M,E,FB,,MSC-D-25x75.step +D25-75MEFBU,D,25,75,M,E,FB,U,MSC-D-25x75.step +D25-75MEFBCM,D,25,75,M,E,FB,CM,MSC-D-25x75.step +D25-75MESDB,D,25,75,M,E,SDB,,MSC-D-25x75.step +D25-75MESDBU,D,25,75,M,E,SDB,U,MSC-D-25x75.step +D25-75MESDBCM,D,25,75,M,E,SDB,CM,MSC-D-25x75.step +D25-75M,D,25,75,M,,,,MSC-D-25x75.step +D25-75MU,D,25,75,M,,,U,MSC-D-25x75.step +D25-75MCM,D,25,75,M,,,CM,MSC-D-25x75.step +D25-75MLB,D,25,75,M,,LB,,MSC-D-25x75.step +D25-75MLBU,D,25,75,M,,LB,U,MSC-D-25x75.step +D25-75MLBCM,D,25,75,M,,LB,CM,MSC-D-25x75.step +D25-75MFA,D,25,75,M,,FA,,MSC-D-25x75.step +D25-75MFAU,D,25,75,M,,FA,U,MSC-D-25x75.step +D25-75MFACM,D,25,75,M,,FA,CM,MSC-D-25x75.step +D25-75MFB,D,25,75,M,,FB,,MSC-D-25x75.step +D25-75MFBU,D,25,75,M,,FB,U,MSC-D-25x75.step +D25-75MFBCM,D,25,75,M,,FB,CM,MSC-D-25x75.step +D25-75MSDB,D,25,75,M,,SDB,,MSC-D-25x75.step +D25-75MSDBU,D,25,75,M,,SDB,U,MSC-D-25x75.step +D25-75MSDBCM,D,25,75,M,,SDB,CM,MSC-D-25x75.step +D25-100E,D,25,100,,E,,,MSC-D-25x100.step +D25-100EU,D,25,100,,E,,U,MSC-D-25x100.step +D25-100ECM,D,25,100,,E,,CM,MSC-D-25x100.step +D25-100ELB,D,25,100,,E,LB,,MSC-D-25x100.step +D25-100ELBU,D,25,100,,E,LB,U,MSC-D-25x100.step +D25-100ELBCM,D,25,100,,E,LB,CM,MSC-D-25x100.step +D25-100EFA,D,25,100,,E,FA,,MSC-D-25x100.step +D25-100EFAU,D,25,100,,E,FA,U,MSC-D-25x100.step +D25-100EFACM,D,25,100,,E,FA,CM,MSC-D-25x100.step +D25-100EFB,D,25,100,,E,FB,,MSC-D-25x100.step +D25-100EFBU,D,25,100,,E,FB,U,MSC-D-25x100.step +D25-100EFBCM,D,25,100,,E,FB,CM,MSC-D-25x100.step +D25-100ESDB,D,25,100,,E,SDB,,MSC-D-25x100.step +D25-100ESDBU,D,25,100,,E,SDB,U,MSC-D-25x100.step +D25-100ESDBCM,D,25,100,,E,SDB,CM,MSC-D-25x100.step +D25-100,D,25,100,,,,,MSC-D-25x100.step +D25-100U,D,25,100,,,,U,MSC-D-25x100.step +D25-100CM,D,25,100,,,,CM,MSC-D-25x100.step +D25-100LB,D,25,100,,,LB,,MSC-D-25x100.step +D25-100LBU,D,25,100,,,LB,U,MSC-D-25x100.step +D25-100LBCM,D,25,100,,,LB,CM,MSC-D-25x100.step +D25-100FA,D,25,100,,,FA,,MSC-D-25x100.step +D25-100FAU,D,25,100,,,FA,U,MSC-D-25x100.step +D25-100FACM,D,25,100,,,FA,CM,MSC-D-25x100.step +D25-100FB,D,25,100,,,FB,,MSC-D-25x100.step +D25-100FBU,D,25,100,,,FB,U,MSC-D-25x100.step +D25-100FBCM,D,25,100,,,FB,CM,MSC-D-25x100.step +D25-100SDB,D,25,100,,,SDB,,MSC-D-25x100.step +D25-100SDBU,D,25,100,,,SDB,U,MSC-D-25x100.step +D25-100SDBCM,D,25,100,,,SDB,CM,MSC-D-25x100.step +D25-100ME,D,25,100,M,E,,,MSC-D-25x100.step +D25-100MEU,D,25,100,M,E,,U,MSC-D-25x100.step +D25-100MECM,D,25,100,M,E,,CM,MSC-D-25x100.step +D25-100MELB,D,25,100,M,E,LB,,MSC-D-25x100.step +D25-100MELBU,D,25,100,M,E,LB,U,MSC-D-25x100.step +D25-100MELBCM,D,25,100,M,E,LB,CM,MSC-D-25x100.step +D25-100MEFA,D,25,100,M,E,FA,,MSC-D-25x100.step +D25-100MEFAU,D,25,100,M,E,FA,U,MSC-D-25x100.step +D25-100MEFACM,D,25,100,M,E,FA,CM,MSC-D-25x100.step +D25-100MEFB,D,25,100,M,E,FB,,MSC-D-25x100.step +D25-100MEFBU,D,25,100,M,E,FB,U,MSC-D-25x100.step +D25-100MEFBCM,D,25,100,M,E,FB,CM,MSC-D-25x100.step +D25-100MESDB,D,25,100,M,E,SDB,,MSC-D-25x100.step +D25-100MESDBU,D,25,100,M,E,SDB,U,MSC-D-25x100.step +D25-100MESDBCM,D,25,100,M,E,SDB,CM,MSC-D-25x100.step +D25-100M,D,25,100,M,,,,MSC-D-25x100.step +D25-100MU,D,25,100,M,,,U,MSC-D-25x100.step +D25-100MCM,D,25,100,M,,,CM,MSC-D-25x100.step +D25-100MLB,D,25,100,M,,LB,,MSC-D-25x100.step +D25-100MLBU,D,25,100,M,,LB,U,MSC-D-25x100.step +D25-100MLBCM,D,25,100,M,,LB,CM,MSC-D-25x100.step +D25-100MFA,D,25,100,M,,FA,,MSC-D-25x100.step +D25-100MFAU,D,25,100,M,,FA,U,MSC-D-25x100.step +D25-100MFACM,D,25,100,M,,FA,CM,MSC-D-25x100.step +D25-100MFB,D,25,100,M,,FB,,MSC-D-25x100.step +D25-100MFBU,D,25,100,M,,FB,U,MSC-D-25x100.step +D25-100MFBCM,D,25,100,M,,FB,CM,MSC-D-25x100.step +D25-100MSDB,D,25,100,M,,SDB,,MSC-D-25x100.step +D25-100MSDBU,D,25,100,M,,SDB,U,MSC-D-25x100.step +D25-100MSDBCM,D,25,100,M,,SDB,CM,MSC-D-25x100.step +D32-10E,D,32,10,,E,,,MSC-D-32x10.step +D32-10EU,D,32,10,,E,,U,MSC-D-32x10.step +D32-10ECM,D,32,10,,E,,CM,MSC-D-32x10.step +D32-10ELB,D,32,10,,E,LB,,MSC-D-32x10.step +D32-10ELBU,D,32,10,,E,LB,U,MSC-D-32x10.step +D32-10ELBCM,D,32,10,,E,LB,CM,MSC-D-32x10.step +D32-10EFA,D,32,10,,E,FA,,MSC-D-32x10.step +D32-10EFAU,D,32,10,,E,FA,U,MSC-D-32x10.step +D32-10EFACM,D,32,10,,E,FA,CM,MSC-D-32x10.step +D32-10EFB,D,32,10,,E,FB,,MSC-D-32x10.step +D32-10EFBU,D,32,10,,E,FB,U,MSC-D-32x10.step +D32-10EFBCM,D,32,10,,E,FB,CM,MSC-D-32x10.step +D32-10ESDB,D,32,10,,E,SDB,,MSC-D-32x10.step +D32-10ESDBU,D,32,10,,E,SDB,U,MSC-D-32x10.step +D32-10ESDBCM,D,32,10,,E,SDB,CM,MSC-D-32x10.step +D32-10,D,32,10,,,,,MSC-D-32x10.step +D32-10U,D,32,10,,,,U,MSC-D-32x10.step +D32-10CM,D,32,10,,,,CM,MSC-D-32x10.step +D32-10LB,D,32,10,,,LB,,MSC-D-32x10.step +D32-10LBU,D,32,10,,,LB,U,MSC-D-32x10.step +D32-10LBCM,D,32,10,,,LB,CM,MSC-D-32x10.step +D32-10FA,D,32,10,,,FA,,MSC-D-32x10.step +D32-10FAU,D,32,10,,,FA,U,MSC-D-32x10.step +D32-10FACM,D,32,10,,,FA,CM,MSC-D-32x10.step +D32-10FB,D,32,10,,,FB,,MSC-D-32x10.step +D32-10FBU,D,32,10,,,FB,U,MSC-D-32x10.step +D32-10FBCM,D,32,10,,,FB,CM,MSC-D-32x10.step +D32-10SDB,D,32,10,,,SDB,,MSC-D-32x10.step +D32-10SDBU,D,32,10,,,SDB,U,MSC-D-32x10.step +D32-10SDBCM,D,32,10,,,SDB,CM,MSC-D-32x10.step +D32-10ME,D,32,10,M,E,,,MSC-D-32x10.step +D32-10MEU,D,32,10,M,E,,U,MSC-D-32x10.step +D32-10MECM,D,32,10,M,E,,CM,MSC-D-32x10.step +D32-10MELB,D,32,10,M,E,LB,,MSC-D-32x10.step +D32-10MELBU,D,32,10,M,E,LB,U,MSC-D-32x10.step +D32-10MELBCM,D,32,10,M,E,LB,CM,MSC-D-32x10.step +D32-10MEFA,D,32,10,M,E,FA,,MSC-D-32x10.step +D32-10MEFAU,D,32,10,M,E,FA,U,MSC-D-32x10.step +D32-10MEFACM,D,32,10,M,E,FA,CM,MSC-D-32x10.step +D32-10MEFB,D,32,10,M,E,FB,,MSC-D-32x10.step +D32-10MEFBU,D,32,10,M,E,FB,U,MSC-D-32x10.step +D32-10MEFBCM,D,32,10,M,E,FB,CM,MSC-D-32x10.step +D32-10MESDB,D,32,10,M,E,SDB,,MSC-D-32x10.step +D32-10MESDBU,D,32,10,M,E,SDB,U,MSC-D-32x10.step +D32-10MESDBCM,D,32,10,M,E,SDB,CM,MSC-D-32x10.step +D32-10M,D,32,10,M,,,,MSC-D-32x10.step +D32-10MU,D,32,10,M,,,U,MSC-D-32x10.step +D32-10MCM,D,32,10,M,,,CM,MSC-D-32x10.step +D32-10MLB,D,32,10,M,,LB,,MSC-D-32x10.step +D32-10MLBU,D,32,10,M,,LB,U,MSC-D-32x10.step +D32-10MLBCM,D,32,10,M,,LB,CM,MSC-D-32x10.step +D32-10MFA,D,32,10,M,,FA,,MSC-D-32x10.step +D32-10MFAU,D,32,10,M,,FA,U,MSC-D-32x10.step +D32-10MFACM,D,32,10,M,,FA,CM,MSC-D-32x10.step +D32-10MFB,D,32,10,M,,FB,,MSC-D-32x10.step +D32-10MFBU,D,32,10,M,,FB,U,MSC-D-32x10.step +D32-10MFBCM,D,32,10,M,,FB,CM,MSC-D-32x10.step +D32-10MSDB,D,32,10,M,,SDB,,MSC-D-32x10.step +D32-10MSDBU,D,32,10,M,,SDB,U,MSC-D-32x10.step +D32-10MSDBCM,D,32,10,M,,SDB,CM,MSC-D-32x10.step +D32-20E,D,32,20,,E,,,MSC-D-32x20.step +D32-20EU,D,32,20,,E,,U,MSC-D-32x20.step +D32-20ECM,D,32,20,,E,,CM,MSC-D-32x20.step +D32-20ELB,D,32,20,,E,LB,,MSC-D-32x20.step +D32-20ELBU,D,32,20,,E,LB,U,MSC-D-32x20.step +D32-20ELBCM,D,32,20,,E,LB,CM,MSC-D-32x20.step +D32-20EFA,D,32,20,,E,FA,,MSC-D-32x20.step +D32-20EFAU,D,32,20,,E,FA,U,MSC-D-32x20.step +D32-20EFACM,D,32,20,,E,FA,CM,MSC-D-32x20.step +D32-20EFB,D,32,20,,E,FB,,MSC-D-32x20.step +D32-20EFBU,D,32,20,,E,FB,U,MSC-D-32x20.step +D32-20EFBCM,D,32,20,,E,FB,CM,MSC-D-32x20.step +D32-20ESDB,D,32,20,,E,SDB,,MSC-D-32x20.step +D32-20ESDBU,D,32,20,,E,SDB,U,MSC-D-32x20.step +D32-20ESDBCM,D,32,20,,E,SDB,CM,MSC-D-32x20.step +D32-20,D,32,20,,,,,MSC-D-32x20.step +D32-20U,D,32,20,,,,U,MSC-D-32x20.step +D32-20CM,D,32,20,,,,CM,MSC-D-32x20.step +D32-20LB,D,32,20,,,LB,,MSC-D-32x20.step +D32-20LBU,D,32,20,,,LB,U,MSC-D-32x20.step +D32-20LBCM,D,32,20,,,LB,CM,MSC-D-32x20.step +D32-20FA,D,32,20,,,FA,,MSC-D-32x20.step +D32-20FAU,D,32,20,,,FA,U,MSC-D-32x20.step +D32-20FACM,D,32,20,,,FA,CM,MSC-D-32x20.step +D32-20FB,D,32,20,,,FB,,MSC-D-32x20.step +D32-20FBU,D,32,20,,,FB,U,MSC-D-32x20.step +D32-20FBCM,D,32,20,,,FB,CM,MSC-D-32x20.step +D32-20SDB,D,32,20,,,SDB,,MSC-D-32x20.step +D32-20SDBU,D,32,20,,,SDB,U,MSC-D-32x20.step +D32-20SDBCM,D,32,20,,,SDB,CM,MSC-D-32x20.step +D32-20ME,D,32,20,M,E,,,MSC-D-32x20.step +D32-20MEU,D,32,20,M,E,,U,MSC-D-32x20.step +D32-20MECM,D,32,20,M,E,,CM,MSC-D-32x20.step +D32-20MELB,D,32,20,M,E,LB,,MSC-D-32x20.step +D32-20MELBU,D,32,20,M,E,LB,U,MSC-D-32x20.step +D32-20MELBCM,D,32,20,M,E,LB,CM,MSC-D-32x20.step +D32-20MEFA,D,32,20,M,E,FA,,MSC-D-32x20.step +D32-20MEFAU,D,32,20,M,E,FA,U,MSC-D-32x20.step +D32-20MEFACM,D,32,20,M,E,FA,CM,MSC-D-32x20.step +D32-20MEFB,D,32,20,M,E,FB,,MSC-D-32x20.step +D32-20MEFBU,D,32,20,M,E,FB,U,MSC-D-32x20.step +D32-20MEFBCM,D,32,20,M,E,FB,CM,MSC-D-32x20.step +D32-20MESDB,D,32,20,M,E,SDB,,MSC-D-32x20.step +D32-20MESDBU,D,32,20,M,E,SDB,U,MSC-D-32x20.step +D32-20MESDBCM,D,32,20,M,E,SDB,CM,MSC-D-32x20.step +D32-20M,D,32,20,M,,,,MSC-D-32x20.step +D32-20MU,D,32,20,M,,,U,MSC-D-32x20.step +D32-20MCM,D,32,20,M,,,CM,MSC-D-32x20.step +D32-20MLB,D,32,20,M,,LB,,MSC-D-32x20.step +D32-20MLBU,D,32,20,M,,LB,U,MSC-D-32x20.step +D32-20MLBCM,D,32,20,M,,LB,CM,MSC-D-32x20.step +D32-20MFA,D,32,20,M,,FA,,MSC-D-32x20.step +D32-20MFAU,D,32,20,M,,FA,U,MSC-D-32x20.step +D32-20MFACM,D,32,20,M,,FA,CM,MSC-D-32x20.step +D32-20MFB,D,32,20,M,,FB,,MSC-D-32x20.step +D32-20MFBU,D,32,20,M,,FB,U,MSC-D-32x20.step +D32-20MFBCM,D,32,20,M,,FB,CM,MSC-D-32x20.step +D32-20MSDB,D,32,20,M,,SDB,,MSC-D-32x20.step +D32-20MSDBU,D,32,20,M,,SDB,U,MSC-D-32x20.step +D32-20MSDBCM,D,32,20,M,,SDB,CM,MSC-D-32x20.step +D32-30E,D,32,30,,E,,,MSC-D-32x30.step +D32-30EU,D,32,30,,E,,U,MSC-D-32x30.step +D32-30ECM,D,32,30,,E,,CM,MSC-D-32x30.step +D32-30ELB,D,32,30,,E,LB,,MSC-D-32x30.step +D32-30ELBU,D,32,30,,E,LB,U,MSC-D-32x30.step +D32-30ELBCM,D,32,30,,E,LB,CM,MSC-D-32x30.step +D32-30EFA,D,32,30,,E,FA,,MSC-D-32x30.step +D32-30EFAU,D,32,30,,E,FA,U,MSC-D-32x30.step +D32-30EFACM,D,32,30,,E,FA,CM,MSC-D-32x30.step +D32-30EFB,D,32,30,,E,FB,,MSC-D-32x30.step +D32-30EFBU,D,32,30,,E,FB,U,MSC-D-32x30.step +D32-30EFBCM,D,32,30,,E,FB,CM,MSC-D-32x30.step +D32-30ESDB,D,32,30,,E,SDB,,MSC-D-32x30.step +D32-30ESDBU,D,32,30,,E,SDB,U,MSC-D-32x30.step +D32-30ESDBCM,D,32,30,,E,SDB,CM,MSC-D-32x30.step +D32-30,D,32,30,,,,,MSC-D-32x30.step +D32-30U,D,32,30,,,,U,MSC-D-32x30.step +D32-30CM,D,32,30,,,,CM,MSC-D-32x30.step +D32-30LB,D,32,30,,,LB,,MSC-D-32x30.step +D32-30LBU,D,32,30,,,LB,U,MSC-D-32x30.step +D32-30LBCM,D,32,30,,,LB,CM,MSC-D-32x30.step +D32-30FA,D,32,30,,,FA,,MSC-D-32x30.step +D32-30FAU,D,32,30,,,FA,U,MSC-D-32x30.step +D32-30FACM,D,32,30,,,FA,CM,MSC-D-32x30.step +D32-30FB,D,32,30,,,FB,,MSC-D-32x30.step +D32-30FBU,D,32,30,,,FB,U,MSC-D-32x30.step +D32-30FBCM,D,32,30,,,FB,CM,MSC-D-32x30.step +D32-30SDB,D,32,30,,,SDB,,MSC-D-32x30.step +D32-30SDBU,D,32,30,,,SDB,U,MSC-D-32x30.step +D32-30SDBCM,D,32,30,,,SDB,CM,MSC-D-32x30.step +D32-30ME,D,32,30,M,E,,,MSC-D-32x30.step +D32-30MEU,D,32,30,M,E,,U,MSC-D-32x30.step +D32-30MECM,D,32,30,M,E,,CM,MSC-D-32x30.step +D32-30MELB,D,32,30,M,E,LB,,MSC-D-32x30.step +D32-30MELBU,D,32,30,M,E,LB,U,MSC-D-32x30.step +D32-30MELBCM,D,32,30,M,E,LB,CM,MSC-D-32x30.step +D32-30MEFA,D,32,30,M,E,FA,,MSC-D-32x30.step +D32-30MEFAU,D,32,30,M,E,FA,U,MSC-D-32x30.step +D32-30MEFACM,D,32,30,M,E,FA,CM,MSC-D-32x30.step +D32-30MEFB,D,32,30,M,E,FB,,MSC-D-32x30.step +D32-30MEFBU,D,32,30,M,E,FB,U,MSC-D-32x30.step +D32-30MEFBCM,D,32,30,M,E,FB,CM,MSC-D-32x30.step +D32-30MESDB,D,32,30,M,E,SDB,,MSC-D-32x30.step +D32-30MESDBU,D,32,30,M,E,SDB,U,MSC-D-32x30.step +D32-30MESDBCM,D,32,30,M,E,SDB,CM,MSC-D-32x30.step +D32-30M,D,32,30,M,,,,MSC-D-32x30.step +D32-30MU,D,32,30,M,,,U,MSC-D-32x30.step +D32-30MCM,D,32,30,M,,,CM,MSC-D-32x30.step +D32-30MLB,D,32,30,M,,LB,,MSC-D-32x30.step +D32-30MLBU,D,32,30,M,,LB,U,MSC-D-32x30.step +D32-30MLBCM,D,32,30,M,,LB,CM,MSC-D-32x30.step +D32-30MFA,D,32,30,M,,FA,,MSC-D-32x30.step +D32-30MFAU,D,32,30,M,,FA,U,MSC-D-32x30.step +D32-30MFACM,D,32,30,M,,FA,CM,MSC-D-32x30.step +D32-30MFB,D,32,30,M,,FB,,MSC-D-32x30.step +D32-30MFBU,D,32,30,M,,FB,U,MSC-D-32x30.step +D32-30MFBCM,D,32,30,M,,FB,CM,MSC-D-32x30.step +D32-30MSDB,D,32,30,M,,SDB,,MSC-D-32x30.step +D32-30MSDBU,D,32,30,M,,SDB,U,MSC-D-32x30.step +D32-30MSDBCM,D,32,30,M,,SDB,CM,MSC-D-32x30.step +D32-50E,D,32,50,,E,,,MSC-D-32x50.step +D32-50EU,D,32,50,,E,,U,MSC-D-32x50.step +D32-50ECM,D,32,50,,E,,CM,MSC-D-32x50.step +D32-50ELB,D,32,50,,E,LB,,MSC-D-32x50.step +D32-50ELBU,D,32,50,,E,LB,U,MSC-D-32x50.step +D32-50ELBCM,D,32,50,,E,LB,CM,MSC-D-32x50.step +D32-50EFA,D,32,50,,E,FA,,MSC-D-32x50.step +D32-50EFAU,D,32,50,,E,FA,U,MSC-D-32x50.step +D32-50EFACM,D,32,50,,E,FA,CM,MSC-D-32x50.step +D32-50EFB,D,32,50,,E,FB,,MSC-D-32x50.step +D32-50EFBU,D,32,50,,E,FB,U,MSC-D-32x50.step +D32-50EFBCM,D,32,50,,E,FB,CM,MSC-D-32x50.step +D32-50ESDB,D,32,50,,E,SDB,,MSC-D-32x50.step +D32-50ESDBU,D,32,50,,E,SDB,U,MSC-D-32x50.step +D32-50ESDBCM,D,32,50,,E,SDB,CM,MSC-D-32x50.step +D32-50,D,32,50,,,,,MSC-D-32x50.step +D32-50U,D,32,50,,,,U,MSC-D-32x50.step +D32-50CM,D,32,50,,,,CM,MSC-D-32x50.step +D32-50LB,D,32,50,,,LB,,MSC-D-32x50.step +D32-50LBU,D,32,50,,,LB,U,MSC-D-32x50.step +D32-50LBCM,D,32,50,,,LB,CM,MSC-D-32x50.step +D32-50FA,D,32,50,,,FA,,MSC-D-32x50.step +D32-50FAU,D,32,50,,,FA,U,MSC-D-32x50.step +D32-50FACM,D,32,50,,,FA,CM,MSC-D-32x50.step +D32-50FB,D,32,50,,,FB,,MSC-D-32x50.step +D32-50FBU,D,32,50,,,FB,U,MSC-D-32x50.step +D32-50FBCM,D,32,50,,,FB,CM,MSC-D-32x50.step +D32-50SDB,D,32,50,,,SDB,,MSC-D-32x50.step +D32-50SDBU,D,32,50,,,SDB,U,MSC-D-32x50.step +D32-50SDBCM,D,32,50,,,SDB,CM,MSC-D-32x50.step +D32-50ME,D,32,50,M,E,,,MSC-D-32x50.step +D32-50MEU,D,32,50,M,E,,U,MSC-D-32x50.step +D32-50MECM,D,32,50,M,E,,CM,MSC-D-32x50.step +D32-50MELB,D,32,50,M,E,LB,,MSC-D-32x50.step +D32-50MELBU,D,32,50,M,E,LB,U,MSC-D-32x50.step +D32-50MELBCM,D,32,50,M,E,LB,CM,MSC-D-32x50.step +D32-50MEFA,D,32,50,M,E,FA,,MSC-D-32x50.step +D32-50MEFAU,D,32,50,M,E,FA,U,MSC-D-32x50.step +D32-50MEFACM,D,32,50,M,E,FA,CM,MSC-D-32x50.step +D32-50MEFB,D,32,50,M,E,FB,,MSC-D-32x50.step +D32-50MEFBU,D,32,50,M,E,FB,U,MSC-D-32x50.step +D32-50MEFBCM,D,32,50,M,E,FB,CM,MSC-D-32x50.step +D32-50MESDB,D,32,50,M,E,SDB,,MSC-D-32x50.step +D32-50MESDBU,D,32,50,M,E,SDB,U,MSC-D-32x50.step +D32-50MESDBCM,D,32,50,M,E,SDB,CM,MSC-D-32x50.step +D32-50M,D,32,50,M,,,,MSC-D-32x50.step +D32-50MU,D,32,50,M,,,U,MSC-D-32x50.step +D32-50MCM,D,32,50,M,,,CM,MSC-D-32x50.step +D32-50MLB,D,32,50,M,,LB,,MSC-D-32x50.step +D32-50MLBU,D,32,50,M,,LB,U,MSC-D-32x50.step +D32-50MLBCM,D,32,50,M,,LB,CM,MSC-D-32x50.step +D32-50MFA,D,32,50,M,,FA,,MSC-D-32x50.step +D32-50MFAU,D,32,50,M,,FA,U,MSC-D-32x50.step +D32-50MFACM,D,32,50,M,,FA,CM,MSC-D-32x50.step +D32-50MFB,D,32,50,M,,FB,,MSC-D-32x50.step +D32-50MFBU,D,32,50,M,,FB,U,MSC-D-32x50.step +D32-50MFBCM,D,32,50,M,,FB,CM,MSC-D-32x50.step +D32-50MSDB,D,32,50,M,,SDB,,MSC-D-32x50.step +D32-50MSDBU,D,32,50,M,,SDB,U,MSC-D-32x50.step +D32-50MSDBCM,D,32,50,M,,SDB,CM,MSC-D-32x50.step +D32-75E,D,32,75,,E,,,MSC-D-32x75.step +D32-75EU,D,32,75,,E,,U,MSC-D-32x75.step +D32-75ECM,D,32,75,,E,,CM,MSC-D-32x75.step +D32-75ELB,D,32,75,,E,LB,,MSC-D-32x75.step +D32-75ELBU,D,32,75,,E,LB,U,MSC-D-32x75.step +D32-75ELBCM,D,32,75,,E,LB,CM,MSC-D-32x75.step +D32-75EFA,D,32,75,,E,FA,,MSC-D-32x75.step +D32-75EFAU,D,32,75,,E,FA,U,MSC-D-32x75.step +D32-75EFACM,D,32,75,,E,FA,CM,MSC-D-32x75.step +D32-75EFB,D,32,75,,E,FB,,MSC-D-32x75.step +D32-75EFBU,D,32,75,,E,FB,U,MSC-D-32x75.step +D32-75EFBCM,D,32,75,,E,FB,CM,MSC-D-32x75.step +D32-75ESDB,D,32,75,,E,SDB,,MSC-D-32x75.step +D32-75ESDBU,D,32,75,,E,SDB,U,MSC-D-32x75.step +D32-75ESDBCM,D,32,75,,E,SDB,CM,MSC-D-32x75.step +D32-75,D,32,75,,,,,MSC-D-32x75.step +D32-75U,D,32,75,,,,U,MSC-D-32x75.step +D32-75CM,D,32,75,,,,CM,MSC-D-32x75.step +D32-75LB,D,32,75,,,LB,,MSC-D-32x75.step +D32-75LBU,D,32,75,,,LB,U,MSC-D-32x75.step +D32-75LBCM,D,32,75,,,LB,CM,MSC-D-32x75.step +D32-75FA,D,32,75,,,FA,,MSC-D-32x75.step +D32-75FAU,D,32,75,,,FA,U,MSC-D-32x75.step +D32-75FACM,D,32,75,,,FA,CM,MSC-D-32x75.step +D32-75FB,D,32,75,,,FB,,MSC-D-32x75.step +D32-75FBU,D,32,75,,,FB,U,MSC-D-32x75.step +D32-75FBCM,D,32,75,,,FB,CM,MSC-D-32x75.step +D32-75SDB,D,32,75,,,SDB,,MSC-D-32x75.step +D32-75SDBU,D,32,75,,,SDB,U,MSC-D-32x75.step +D32-75SDBCM,D,32,75,,,SDB,CM,MSC-D-32x75.step +D32-75ME,D,32,75,M,E,,,MSC-D-32x75.step +D32-75MEU,D,32,75,M,E,,U,MSC-D-32x75.step +D32-75MECM,D,32,75,M,E,,CM,MSC-D-32x75.step +D32-75MELB,D,32,75,M,E,LB,,MSC-D-32x75.step +D32-75MELBU,D,32,75,M,E,LB,U,MSC-D-32x75.step +D32-75MELBCM,D,32,75,M,E,LB,CM,MSC-D-32x75.step +D32-75MEFA,D,32,75,M,E,FA,,MSC-D-32x75.step +D32-75MEFAU,D,32,75,M,E,FA,U,MSC-D-32x75.step +D32-75MEFACM,D,32,75,M,E,FA,CM,MSC-D-32x75.step +D32-75MEFB,D,32,75,M,E,FB,,MSC-D-32x75.step +D32-75MEFBU,D,32,75,M,E,FB,U,MSC-D-32x75.step +D32-75MEFBCM,D,32,75,M,E,FB,CM,MSC-D-32x75.step +D32-75MESDB,D,32,75,M,E,SDB,,MSC-D-32x75.step +D32-75MESDBU,D,32,75,M,E,SDB,U,MSC-D-32x75.step +D32-75MESDBCM,D,32,75,M,E,SDB,CM,MSC-D-32x75.step +D32-75M,D,32,75,M,,,,MSC-D-32x75.step +D32-75MU,D,32,75,M,,,U,MSC-D-32x75.step +D32-75MCM,D,32,75,M,,,CM,MSC-D-32x75.step +D32-75MLB,D,32,75,M,,LB,,MSC-D-32x75.step +D32-75MLBU,D,32,75,M,,LB,U,MSC-D-32x75.step +D32-75MLBCM,D,32,75,M,,LB,CM,MSC-D-32x75.step +D32-75MFA,D,32,75,M,,FA,,MSC-D-32x75.step +D32-75MFAU,D,32,75,M,,FA,U,MSC-D-32x75.step +D32-75MFACM,D,32,75,M,,FA,CM,MSC-D-32x75.step +D32-75MFB,D,32,75,M,,FB,,MSC-D-32x75.step +D32-75MFBU,D,32,75,M,,FB,U,MSC-D-32x75.step +D32-75MFBCM,D,32,75,M,,FB,CM,MSC-D-32x75.step +D32-75MSDB,D,32,75,M,,SDB,,MSC-D-32x75.step +D32-75MSDBU,D,32,75,M,,SDB,U,MSC-D-32x75.step +D32-75MSDBCM,D,32,75,M,,SDB,CM,MSC-D-32x75.step +D32-100E,D,32,100,,E,,,MSC-D-32x100.step +D32-100EU,D,32,100,,E,,U,MSC-D-32x100.step +D32-100ECM,D,32,100,,E,,CM,MSC-D-32x100.step +D32-100ELB,D,32,100,,E,LB,,MSC-D-32x100.step +D32-100ELBU,D,32,100,,E,LB,U,MSC-D-32x100.step +D32-100ELBCM,D,32,100,,E,LB,CM,MSC-D-32x100.step +D32-100EFA,D,32,100,,E,FA,,MSC-D-32x100.step +D32-100EFAU,D,32,100,,E,FA,U,MSC-D-32x100.step +D32-100EFACM,D,32,100,,E,FA,CM,MSC-D-32x100.step +D32-100EFB,D,32,100,,E,FB,,MSC-D-32x100.step +D32-100EFBU,D,32,100,,E,FB,U,MSC-D-32x100.step +D32-100EFBCM,D,32,100,,E,FB,CM,MSC-D-32x100.step +D32-100ESDB,D,32,100,,E,SDB,,MSC-D-32x100.step +D32-100ESDBU,D,32,100,,E,SDB,U,MSC-D-32x100.step +D32-100ESDBCM,D,32,100,,E,SDB,CM,MSC-D-32x100.step +D32-100,D,32,100,,,,,MSC-D-32x100.step +D32-100U,D,32,100,,,,U,MSC-D-32x100.step +D32-100CM,D,32,100,,,,CM,MSC-D-32x100.step +D32-100LB,D,32,100,,,LB,,MSC-D-32x100.step +D32-100LBU,D,32,100,,,LB,U,MSC-D-32x100.step +D32-100LBCM,D,32,100,,,LB,CM,MSC-D-32x100.step +D32-100FA,D,32,100,,,FA,,MSC-D-32x100.step +D32-100FAU,D,32,100,,,FA,U,MSC-D-32x100.step +D32-100FACM,D,32,100,,,FA,CM,MSC-D-32x100.step +D32-100FB,D,32,100,,,FB,,MSC-D-32x100.step +D32-100FBU,D,32,100,,,FB,U,MSC-D-32x100.step +D32-100FBCM,D,32,100,,,FB,CM,MSC-D-32x100.step +D32-100SDB,D,32,100,,,SDB,,MSC-D-32x100.step +D32-100SDBU,D,32,100,,,SDB,U,MSC-D-32x100.step +D32-100SDBCM,D,32,100,,,SDB,CM,MSC-D-32x100.step +D32-100ME,D,32,100,M,E,,,MSC-D-32x100.step +D32-100MEU,D,32,100,M,E,,U,MSC-D-32x100.step +D32-100MECM,D,32,100,M,E,,CM,MSC-D-32x100.step +D32-100MELB,D,32,100,M,E,LB,,MSC-D-32x100.step +D32-100MELBU,D,32,100,M,E,LB,U,MSC-D-32x100.step +D32-100MELBCM,D,32,100,M,E,LB,CM,MSC-D-32x100.step +D32-100MEFA,D,32,100,M,E,FA,,MSC-D-32x100.step +D32-100MEFAU,D,32,100,M,E,FA,U,MSC-D-32x100.step +D32-100MEFACM,D,32,100,M,E,FA,CM,MSC-D-32x100.step +D32-100MEFB,D,32,100,M,E,FB,,MSC-D-32x100.step +D32-100MEFBU,D,32,100,M,E,FB,U,MSC-D-32x100.step +D32-100MEFBCM,D,32,100,M,E,FB,CM,MSC-D-32x100.step +D32-100MESDB,D,32,100,M,E,SDB,,MSC-D-32x100.step +D32-100MESDBU,D,32,100,M,E,SDB,U,MSC-D-32x100.step +D32-100MESDBCM,D,32,100,M,E,SDB,CM,MSC-D-32x100.step +D32-100M,D,32,100,M,,,,MSC-D-32x100.step +D32-100MU,D,32,100,M,,,U,MSC-D-32x100.step +D32-100MCM,D,32,100,M,,,CM,MSC-D-32x100.step +D32-100MLB,D,32,100,M,,LB,,MSC-D-32x100.step +D32-100MLBU,D,32,100,M,,LB,U,MSC-D-32x100.step +D32-100MLBCM,D,32,100,M,,LB,CM,MSC-D-32x100.step +D32-100MFA,D,32,100,M,,FA,,MSC-D-32x100.step +D32-100MFAU,D,32,100,M,,FA,U,MSC-D-32x100.step +D32-100MFACM,D,32,100,M,,FA,CM,MSC-D-32x100.step +D32-100MFB,D,32,100,M,,FB,,MSC-D-32x100.step +D32-100MFBU,D,32,100,M,,FB,U,MSC-D-32x100.step +D32-100MFBCM,D,32,100,M,,FB,CM,MSC-D-32x100.step +D32-100MSDB,D,32,100,M,,SDB,,MSC-D-32x100.step +D32-100MSDBU,D,32,100,M,,SDB,U,MSC-D-32x100.step +D32-100MSDBCM,D,32,100,M,,SDB,CM,MSC-D-32x100.step +D40-10E,D,40,10,,E,,,MSC-D-40x10.step +D40-10EU,D,40,10,,E,,U,MSC-D-40x10.step +D40-10ECM,D,40,10,,E,,CM,MSC-D-40x10.step +D40-10ELB,D,40,10,,E,LB,,MSC-D-40x10.step +D40-10ELBU,D,40,10,,E,LB,U,MSC-D-40x10.step +D40-10ELBCM,D,40,10,,E,LB,CM,MSC-D-40x10.step +D40-10EFA,D,40,10,,E,FA,,MSC-D-40x10.step +D40-10EFAU,D,40,10,,E,FA,U,MSC-D-40x10.step +D40-10EFACM,D,40,10,,E,FA,CM,MSC-D-40x10.step +D40-10EFB,D,40,10,,E,FB,,MSC-D-40x10.step +D40-10EFBU,D,40,10,,E,FB,U,MSC-D-40x10.step +D40-10EFBCM,D,40,10,,E,FB,CM,MSC-D-40x10.step +D40-10ESDB,D,40,10,,E,SDB,,MSC-D-40x10.step +D40-10ESDBU,D,40,10,,E,SDB,U,MSC-D-40x10.step +D40-10ESDBCM,D,40,10,,E,SDB,CM,MSC-D-40x10.step +D40-10,D,40,10,,,,,MSC-D-40x10.step +D40-10U,D,40,10,,,,U,MSC-D-40x10.step +D40-10CM,D,40,10,,,,CM,MSC-D-40x10.step +D40-10LB,D,40,10,,,LB,,MSC-D-40x10.step +D40-10LBU,D,40,10,,,LB,U,MSC-D-40x10.step +D40-10LBCM,D,40,10,,,LB,CM,MSC-D-40x10.step +D40-10FA,D,40,10,,,FA,,MSC-D-40x10.step +D40-10FAU,D,40,10,,,FA,U,MSC-D-40x10.step +D40-10FACM,D,40,10,,,FA,CM,MSC-D-40x10.step +D40-10FB,D,40,10,,,FB,,MSC-D-40x10.step +D40-10FBU,D,40,10,,,FB,U,MSC-D-40x10.step +D40-10FBCM,D,40,10,,,FB,CM,MSC-D-40x10.step +D40-10SDB,D,40,10,,,SDB,,MSC-D-40x10.step +D40-10SDBU,D,40,10,,,SDB,U,MSC-D-40x10.step +D40-10SDBCM,D,40,10,,,SDB,CM,MSC-D-40x10.step +D40-10ME,D,40,10,M,E,,,MSC-D-40x10.step +D40-10MEU,D,40,10,M,E,,U,MSC-D-40x10.step +D40-10MECM,D,40,10,M,E,,CM,MSC-D-40x10.step +D40-10MELB,D,40,10,M,E,LB,,MSC-D-40x10.step +D40-10MELBU,D,40,10,M,E,LB,U,MSC-D-40x10.step +D40-10MELBCM,D,40,10,M,E,LB,CM,MSC-D-40x10.step +D40-10MEFA,D,40,10,M,E,FA,,MSC-D-40x10.step +D40-10MEFAU,D,40,10,M,E,FA,U,MSC-D-40x10.step +D40-10MEFACM,D,40,10,M,E,FA,CM,MSC-D-40x10.step +D40-10MEFB,D,40,10,M,E,FB,,MSC-D-40x10.step +D40-10MEFBU,D,40,10,M,E,FB,U,MSC-D-40x10.step +D40-10MEFBCM,D,40,10,M,E,FB,CM,MSC-D-40x10.step +D40-10MESDB,D,40,10,M,E,SDB,,MSC-D-40x10.step +D40-10MESDBU,D,40,10,M,E,SDB,U,MSC-D-40x10.step +D40-10MESDBCM,D,40,10,M,E,SDB,CM,MSC-D-40x10.step +D40-10M,D,40,10,M,,,,MSC-D-40x10.step +D40-10MU,D,40,10,M,,,U,MSC-D-40x10.step +D40-10MCM,D,40,10,M,,,CM,MSC-D-40x10.step +D40-10MLB,D,40,10,M,,LB,,MSC-D-40x10.step +D40-10MLBU,D,40,10,M,,LB,U,MSC-D-40x10.step +D40-10MLBCM,D,40,10,M,,LB,CM,MSC-D-40x10.step +D40-10MFA,D,40,10,M,,FA,,MSC-D-40x10.step +D40-10MFAU,D,40,10,M,,FA,U,MSC-D-40x10.step +D40-10MFACM,D,40,10,M,,FA,CM,MSC-D-40x10.step +D40-10MFB,D,40,10,M,,FB,,MSC-D-40x10.step +D40-10MFBU,D,40,10,M,,FB,U,MSC-D-40x10.step +D40-10MFBCM,D,40,10,M,,FB,CM,MSC-D-40x10.step +D40-10MSDB,D,40,10,M,,SDB,,MSC-D-40x10.step +D40-10MSDBU,D,40,10,M,,SDB,U,MSC-D-40x10.step +D40-10MSDBCM,D,40,10,M,,SDB,CM,MSC-D-40x10.step +D40-20E,D,40,20,,E,,,MSC-D-40x20.step +D40-20EU,D,40,20,,E,,U,MSC-D-40x20.step +D40-20ECM,D,40,20,,E,,CM,MSC-D-40x20.step +D40-20ELB,D,40,20,,E,LB,,MSC-D-40x20.step +D40-20ELBU,D,40,20,,E,LB,U,MSC-D-40x20.step +D40-20ELBCM,D,40,20,,E,LB,CM,MSC-D-40x20.step +D40-20EFA,D,40,20,,E,FA,,MSC-D-40x20.step +D40-20EFAU,D,40,20,,E,FA,U,MSC-D-40x20.step +D40-20EFACM,D,40,20,,E,FA,CM,MSC-D-40x20.step +D40-20EFB,D,40,20,,E,FB,,MSC-D-40x20.step +D40-20EFBU,D,40,20,,E,FB,U,MSC-D-40x20.step +D40-20EFBCM,D,40,20,,E,FB,CM,MSC-D-40x20.step +D40-20ESDB,D,40,20,,E,SDB,,MSC-D-40x20.step +D40-20ESDBU,D,40,20,,E,SDB,U,MSC-D-40x20.step +D40-20ESDBCM,D,40,20,,E,SDB,CM,MSC-D-40x20.step +D40-20,D,40,20,,,,,MSC-D-40x20.step +D40-20U,D,40,20,,,,U,MSC-D-40x20.step +D40-20CM,D,40,20,,,,CM,MSC-D-40x20.step +D40-20LB,D,40,20,,,LB,,MSC-D-40x20.step +D40-20LBU,D,40,20,,,LB,U,MSC-D-40x20.step +D40-20LBCM,D,40,20,,,LB,CM,MSC-D-40x20.step +D40-20FA,D,40,20,,,FA,,MSC-D-40x20.step +D40-20FAU,D,40,20,,,FA,U,MSC-D-40x20.step +D40-20FACM,D,40,20,,,FA,CM,MSC-D-40x20.step +D40-20FB,D,40,20,,,FB,,MSC-D-40x20.step +D40-20FBU,D,40,20,,,FB,U,MSC-D-40x20.step +D40-20FBCM,D,40,20,,,FB,CM,MSC-D-40x20.step +D40-20SDB,D,40,20,,,SDB,,MSC-D-40x20.step +D40-20SDBU,D,40,20,,,SDB,U,MSC-D-40x20.step +D40-20SDBCM,D,40,20,,,SDB,CM,MSC-D-40x20.step +D40-20ME,D,40,20,M,E,,,MSC-D-40x20.step +D40-20MEU,D,40,20,M,E,,U,MSC-D-40x20.step +D40-20MECM,D,40,20,M,E,,CM,MSC-D-40x20.step +D40-20MELB,D,40,20,M,E,LB,,MSC-D-40x20.step +D40-20MELBU,D,40,20,M,E,LB,U,MSC-D-40x20.step +D40-20MELBCM,D,40,20,M,E,LB,CM,MSC-D-40x20.step +D40-20MEFA,D,40,20,M,E,FA,,MSC-D-40x20.step +D40-20MEFAU,D,40,20,M,E,FA,U,MSC-D-40x20.step +D40-20MEFACM,D,40,20,M,E,FA,CM,MSC-D-40x20.step +D40-20MEFB,D,40,20,M,E,FB,,MSC-D-40x20.step +D40-20MEFBU,D,40,20,M,E,FB,U,MSC-D-40x20.step +D40-20MEFBCM,D,40,20,M,E,FB,CM,MSC-D-40x20.step +D40-20MESDB,D,40,20,M,E,SDB,,MSC-D-40x20.step +D40-20MESDBU,D,40,20,M,E,SDB,U,MSC-D-40x20.step +D40-20MESDBCM,D,40,20,M,E,SDB,CM,MSC-D-40x20.step +D40-20M,D,40,20,M,,,,MSC-D-40x20.step +D40-20MU,D,40,20,M,,,U,MSC-D-40x20.step +D40-20MCM,D,40,20,M,,,CM,MSC-D-40x20.step +D40-20MLB,D,40,20,M,,LB,,MSC-D-40x20.step +D40-20MLBU,D,40,20,M,,LB,U,MSC-D-40x20.step +D40-20MLBCM,D,40,20,M,,LB,CM,MSC-D-40x20.step +D40-20MFA,D,40,20,M,,FA,,MSC-D-40x20.step +D40-20MFAU,D,40,20,M,,FA,U,MSC-D-40x20.step +D40-20MFACM,D,40,20,M,,FA,CM,MSC-D-40x20.step +D40-20MFB,D,40,20,M,,FB,,MSC-D-40x20.step +D40-20MFBU,D,40,20,M,,FB,U,MSC-D-40x20.step +D40-20MFBCM,D,40,20,M,,FB,CM,MSC-D-40x20.step +D40-20MSDB,D,40,20,M,,SDB,,MSC-D-40x20.step +D40-20MSDBU,D,40,20,M,,SDB,U,MSC-D-40x20.step +D40-20MSDBCM,D,40,20,M,,SDB,CM,MSC-D-40x20.step +D40-30E,D,40,30,,E,,,MSC-D-40x30.step +D40-30EU,D,40,30,,E,,U,MSC-D-40x30.step +D40-30ECM,D,40,30,,E,,CM,MSC-D-40x30.step +D40-30ELB,D,40,30,,E,LB,,MSC-D-40x30.step +D40-30ELBU,D,40,30,,E,LB,U,MSC-D-40x30.step +D40-30ELBCM,D,40,30,,E,LB,CM,MSC-D-40x30.step +D40-30EFA,D,40,30,,E,FA,,MSC-D-40x30.step +D40-30EFAU,D,40,30,,E,FA,U,MSC-D-40x30.step +D40-30EFACM,D,40,30,,E,FA,CM,MSC-D-40x30.step +D40-30EFB,D,40,30,,E,FB,,MSC-D-40x30.step +D40-30EFBU,D,40,30,,E,FB,U,MSC-D-40x30.step +D40-30EFBCM,D,40,30,,E,FB,CM,MSC-D-40x30.step +D40-30ESDB,D,40,30,,E,SDB,,MSC-D-40x30.step +D40-30ESDBU,D,40,30,,E,SDB,U,MSC-D-40x30.step +D40-30ESDBCM,D,40,30,,E,SDB,CM,MSC-D-40x30.step +D40-30,D,40,30,,,,,MSC-D-40x30.step +D40-30U,D,40,30,,,,U,MSC-D-40x30.step +D40-30CM,D,40,30,,,,CM,MSC-D-40x30.step +D40-30LB,D,40,30,,,LB,,MSC-D-40x30.step +D40-30LBU,D,40,30,,,LB,U,MSC-D-40x30.step +D40-30LBCM,D,40,30,,,LB,CM,MSC-D-40x30.step +D40-30FA,D,40,30,,,FA,,MSC-D-40x30.step +D40-30FAU,D,40,30,,,FA,U,MSC-D-40x30.step +D40-30FACM,D,40,30,,,FA,CM,MSC-D-40x30.step +D40-30FB,D,40,30,,,FB,,MSC-D-40x30.step +D40-30FBU,D,40,30,,,FB,U,MSC-D-40x30.step +D40-30FBCM,D,40,30,,,FB,CM,MSC-D-40x30.step +D40-30SDB,D,40,30,,,SDB,,MSC-D-40x30.step +D40-30SDBU,D,40,30,,,SDB,U,MSC-D-40x30.step +D40-30SDBCM,D,40,30,,,SDB,CM,MSC-D-40x30.step +D40-30ME,D,40,30,M,E,,,MSC-D-40x30.step +D40-30MEU,D,40,30,M,E,,U,MSC-D-40x30.step +D40-30MECM,D,40,30,M,E,,CM,MSC-D-40x30.step +D40-30MELB,D,40,30,M,E,LB,,MSC-D-40x30.step +D40-30MELBU,D,40,30,M,E,LB,U,MSC-D-40x30.step +D40-30MELBCM,D,40,30,M,E,LB,CM,MSC-D-40x30.step +D40-30MEFA,D,40,30,M,E,FA,,MSC-D-40x30.step +D40-30MEFAU,D,40,30,M,E,FA,U,MSC-D-40x30.step +D40-30MEFACM,D,40,30,M,E,FA,CM,MSC-D-40x30.step +D40-30MEFB,D,40,30,M,E,FB,,MSC-D-40x30.step +D40-30MEFBU,D,40,30,M,E,FB,U,MSC-D-40x30.step +D40-30MEFBCM,D,40,30,M,E,FB,CM,MSC-D-40x30.step +D40-30MESDB,D,40,30,M,E,SDB,,MSC-D-40x30.step +D40-30MESDBU,D,40,30,M,E,SDB,U,MSC-D-40x30.step +D40-30MESDBCM,D,40,30,M,E,SDB,CM,MSC-D-40x30.step +D40-30M,D,40,30,M,,,,MSC-D-40x30.step +D40-30MU,D,40,30,M,,,U,MSC-D-40x30.step +D40-30MCM,D,40,30,M,,,CM,MSC-D-40x30.step +D40-30MLB,D,40,30,M,,LB,,MSC-D-40x30.step +D40-30MLBU,D,40,30,M,,LB,U,MSC-D-40x30.step +D40-30MLBCM,D,40,30,M,,LB,CM,MSC-D-40x30.step +D40-30MFA,D,40,30,M,,FA,,MSC-D-40x30.step +D40-30MFAU,D,40,30,M,,FA,U,MSC-D-40x30.step +D40-30MFACM,D,40,30,M,,FA,CM,MSC-D-40x30.step +D40-30MFB,D,40,30,M,,FB,,MSC-D-40x30.step +D40-30MFBU,D,40,30,M,,FB,U,MSC-D-40x30.step +D40-30MFBCM,D,40,30,M,,FB,CM,MSC-D-40x30.step +D40-30MSDB,D,40,30,M,,SDB,,MSC-D-40x30.step +D40-30MSDBU,D,40,30,M,,SDB,U,MSC-D-40x30.step +D40-30MSDBCM,D,40,30,M,,SDB,CM,MSC-D-40x30.step +D40-50E,D,40,50,,E,,,MSC-D-40x50.step +D40-50EU,D,40,50,,E,,U,MSC-D-40x50.step +D40-50ECM,D,40,50,,E,,CM,MSC-D-40x50.step +D40-50ELB,D,40,50,,E,LB,,MSC-D-40x50.step +D40-50ELBU,D,40,50,,E,LB,U,MSC-D-40x50.step +D40-50ELBCM,D,40,50,,E,LB,CM,MSC-D-40x50.step +D40-50EFA,D,40,50,,E,FA,,MSC-D-40x50.step +D40-50EFAU,D,40,50,,E,FA,U,MSC-D-40x50.step +D40-50EFACM,D,40,50,,E,FA,CM,MSC-D-40x50.step +D40-50EFB,D,40,50,,E,FB,,MSC-D-40x50.step +D40-50EFBU,D,40,50,,E,FB,U,MSC-D-40x50.step +D40-50EFBCM,D,40,50,,E,FB,CM,MSC-D-40x50.step +D40-50ESDB,D,40,50,,E,SDB,,MSC-D-40x50.step +D40-50ESDBU,D,40,50,,E,SDB,U,MSC-D-40x50.step +D40-50ESDBCM,D,40,50,,E,SDB,CM,MSC-D-40x50.step +D40-50,D,40,50,,,,,MSC-D-40x50.step +D40-50U,D,40,50,,,,U,MSC-D-40x50.step +D40-50CM,D,40,50,,,,CM,MSC-D-40x50.step +D40-50LB,D,40,50,,,LB,,MSC-D-40x50.step +D40-50LBU,D,40,50,,,LB,U,MSC-D-40x50.step +D40-50LBCM,D,40,50,,,LB,CM,MSC-D-40x50.step +D40-50FA,D,40,50,,,FA,,MSC-D-40x50.step +D40-50FAU,D,40,50,,,FA,U,MSC-D-40x50.step +D40-50FACM,D,40,50,,,FA,CM,MSC-D-40x50.step +D40-50FB,D,40,50,,,FB,,MSC-D-40x50.step +D40-50FBU,D,40,50,,,FB,U,MSC-D-40x50.step +D40-50FBCM,D,40,50,,,FB,CM,MSC-D-40x50.step +D40-50SDB,D,40,50,,,SDB,,MSC-D-40x50.step +D40-50SDBU,D,40,50,,,SDB,U,MSC-D-40x50.step +D40-50SDBCM,D,40,50,,,SDB,CM,MSC-D-40x50.step +D40-50ME,D,40,50,M,E,,,MSC-D-40x50.step +D40-50MEU,D,40,50,M,E,,U,MSC-D-40x50.step +D40-50MECM,D,40,50,M,E,,CM,MSC-D-40x50.step +D40-50MELB,D,40,50,M,E,LB,,MSC-D-40x50.step +D40-50MELBU,D,40,50,M,E,LB,U,MSC-D-40x50.step +D40-50MELBCM,D,40,50,M,E,LB,CM,MSC-D-40x50.step +D40-50MEFA,D,40,50,M,E,FA,,MSC-D-40x50.step +D40-50MEFAU,D,40,50,M,E,FA,U,MSC-D-40x50.step +D40-50MEFACM,D,40,50,M,E,FA,CM,MSC-D-40x50.step +D40-50MEFB,D,40,50,M,E,FB,,MSC-D-40x50.step +D40-50MEFBU,D,40,50,M,E,FB,U,MSC-D-40x50.step +D40-50MEFBCM,D,40,50,M,E,FB,CM,MSC-D-40x50.step +D40-50MESDB,D,40,50,M,E,SDB,,MSC-D-40x50.step +D40-50MESDBU,D,40,50,M,E,SDB,U,MSC-D-40x50.step +D40-50MESDBCM,D,40,50,M,E,SDB,CM,MSC-D-40x50.step +D40-50M,D,40,50,M,,,,MSC-D-40x50.step +D40-50MU,D,40,50,M,,,U,MSC-D-40x50.step +D40-50MCM,D,40,50,M,,,CM,MSC-D-40x50.step +D40-50MLB,D,40,50,M,,LB,,MSC-D-40x50.step +D40-50MLBU,D,40,50,M,,LB,U,MSC-D-40x50.step +D40-50MLBCM,D,40,50,M,,LB,CM,MSC-D-40x50.step +D40-50MFA,D,40,50,M,,FA,,MSC-D-40x50.step +D40-50MFAU,D,40,50,M,,FA,U,MSC-D-40x50.step +D40-50MFACM,D,40,50,M,,FA,CM,MSC-D-40x50.step +D40-50MFB,D,40,50,M,,FB,,MSC-D-40x50.step +D40-50MFBU,D,40,50,M,,FB,U,MSC-D-40x50.step +D40-50MFBCM,D,40,50,M,,FB,CM,MSC-D-40x50.step +D40-50MSDB,D,40,50,M,,SDB,,MSC-D-40x50.step +D40-50MSDBU,D,40,50,M,,SDB,U,MSC-D-40x50.step +D40-50MSDBCM,D,40,50,M,,SDB,CM,MSC-D-40x50.step +D40-75E,D,40,75,,E,,,MSC-D-40x75.step +D40-75EU,D,40,75,,E,,U,MSC-D-40x75.step +D40-75ECM,D,40,75,,E,,CM,MSC-D-40x75.step +D40-75ELB,D,40,75,,E,LB,,MSC-D-40x75.step +D40-75ELBU,D,40,75,,E,LB,U,MSC-D-40x75.step +D40-75ELBCM,D,40,75,,E,LB,CM,MSC-D-40x75.step +D40-75EFA,D,40,75,,E,FA,,MSC-D-40x75.step +D40-75EFAU,D,40,75,,E,FA,U,MSC-D-40x75.step +D40-75EFACM,D,40,75,,E,FA,CM,MSC-D-40x75.step +D40-75EFB,D,40,75,,E,FB,,MSC-D-40x75.step +D40-75EFBU,D,40,75,,E,FB,U,MSC-D-40x75.step +D40-75EFBCM,D,40,75,,E,FB,CM,MSC-D-40x75.step +D40-75ESDB,D,40,75,,E,SDB,,MSC-D-40x75.step +D40-75ESDBU,D,40,75,,E,SDB,U,MSC-D-40x75.step +D40-75ESDBCM,D,40,75,,E,SDB,CM,MSC-D-40x75.step +D40-75,D,40,75,,,,,MSC-D-40x75.step +D40-75U,D,40,75,,,,U,MSC-D-40x75.step +D40-75CM,D,40,75,,,,CM,MSC-D-40x75.step +D40-75LB,D,40,75,,,LB,,MSC-D-40x75.step +D40-75LBU,D,40,75,,,LB,U,MSC-D-40x75.step +D40-75LBCM,D,40,75,,,LB,CM,MSC-D-40x75.step +D40-75FA,D,40,75,,,FA,,MSC-D-40x75.step +D40-75FAU,D,40,75,,,FA,U,MSC-D-40x75.step +D40-75FACM,D,40,75,,,FA,CM,MSC-D-40x75.step +D40-75FB,D,40,75,,,FB,,MSC-D-40x75.step +D40-75FBU,D,40,75,,,FB,U,MSC-D-40x75.step +D40-75FBCM,D,40,75,,,FB,CM,MSC-D-40x75.step +D40-75SDB,D,40,75,,,SDB,,MSC-D-40x75.step +D40-75SDBU,D,40,75,,,SDB,U,MSC-D-40x75.step +D40-75SDBCM,D,40,75,,,SDB,CM,MSC-D-40x75.step +D40-75ME,D,40,75,M,E,,,MSC-D-40x75.step +D40-75MEU,D,40,75,M,E,,U,MSC-D-40x75.step +D40-75MECM,D,40,75,M,E,,CM,MSC-D-40x75.step +D40-75MELB,D,40,75,M,E,LB,,MSC-D-40x75.step +D40-75MELBU,D,40,75,M,E,LB,U,MSC-D-40x75.step +D40-75MELBCM,D,40,75,M,E,LB,CM,MSC-D-40x75.step +D40-75MEFA,D,40,75,M,E,FA,,MSC-D-40x75.step +D40-75MEFAU,D,40,75,M,E,FA,U,MSC-D-40x75.step +D40-75MEFACM,D,40,75,M,E,FA,CM,MSC-D-40x75.step +D40-75MEFB,D,40,75,M,E,FB,,MSC-D-40x75.step +D40-75MEFBU,D,40,75,M,E,FB,U,MSC-D-40x75.step +D40-75MEFBCM,D,40,75,M,E,FB,CM,MSC-D-40x75.step +D40-75MESDB,D,40,75,M,E,SDB,,MSC-D-40x75.step +D40-75MESDBU,D,40,75,M,E,SDB,U,MSC-D-40x75.step +D40-75MESDBCM,D,40,75,M,E,SDB,CM,MSC-D-40x75.step +D40-75M,D,40,75,M,,,,MSC-D-40x75.step +D40-75MU,D,40,75,M,,,U,MSC-D-40x75.step +D40-75MCM,D,40,75,M,,,CM,MSC-D-40x75.step +D40-75MLB,D,40,75,M,,LB,,MSC-D-40x75.step +D40-75MLBU,D,40,75,M,,LB,U,MSC-D-40x75.step +D40-75MLBCM,D,40,75,M,,LB,CM,MSC-D-40x75.step +D40-75MFA,D,40,75,M,,FA,,MSC-D-40x75.step +D40-75MFAU,D,40,75,M,,FA,U,MSC-D-40x75.step +D40-75MFACM,D,40,75,M,,FA,CM,MSC-D-40x75.step +D40-75MFB,D,40,75,M,,FB,,MSC-D-40x75.step +D40-75MFBU,D,40,75,M,,FB,U,MSC-D-40x75.step +D40-75MFBCM,D,40,75,M,,FB,CM,MSC-D-40x75.step +D40-75MSDB,D,40,75,M,,SDB,,MSC-D-40x75.step +D40-75MSDBU,D,40,75,M,,SDB,U,MSC-D-40x75.step +D40-75MSDBCM,D,40,75,M,,SDB,CM,MSC-D-40x75.step +D40-100E,D,40,100,,E,,,MSC-D-40x100.step +D40-100EU,D,40,100,,E,,U,MSC-D-40x100.step +D40-100ECM,D,40,100,,E,,CM,MSC-D-40x100.step +D40-100ELB,D,40,100,,E,LB,,MSC-D-40x100.step +D40-100ELBU,D,40,100,,E,LB,U,MSC-D-40x100.step +D40-100ELBCM,D,40,100,,E,LB,CM,MSC-D-40x100.step +D40-100EFA,D,40,100,,E,FA,,MSC-D-40x100.step +D40-100EFAU,D,40,100,,E,FA,U,MSC-D-40x100.step +D40-100EFACM,D,40,100,,E,FA,CM,MSC-D-40x100.step +D40-100EFB,D,40,100,,E,FB,,MSC-D-40x100.step +D40-100EFBU,D,40,100,,E,FB,U,MSC-D-40x100.step +D40-100EFBCM,D,40,100,,E,FB,CM,MSC-D-40x100.step +D40-100ESDB,D,40,100,,E,SDB,,MSC-D-40x100.step +D40-100ESDBU,D,40,100,,E,SDB,U,MSC-D-40x100.step +D40-100ESDBCM,D,40,100,,E,SDB,CM,MSC-D-40x100.step +D40-100,D,40,100,,,,,MSC-D-40x100.step +D40-100U,D,40,100,,,,U,MSC-D-40x100.step +D40-100CM,D,40,100,,,,CM,MSC-D-40x100.step +D40-100LB,D,40,100,,,LB,,MSC-D-40x100.step +D40-100LBU,D,40,100,,,LB,U,MSC-D-40x100.step +D40-100LBCM,D,40,100,,,LB,CM,MSC-D-40x100.step +D40-100FA,D,40,100,,,FA,,MSC-D-40x100.step +D40-100FAU,D,40,100,,,FA,U,MSC-D-40x100.step +D40-100FACM,D,40,100,,,FA,CM,MSC-D-40x100.step +D40-100FB,D,40,100,,,FB,,MSC-D-40x100.step +D40-100FBU,D,40,100,,,FB,U,MSC-D-40x100.step +D40-100FBCM,D,40,100,,,FB,CM,MSC-D-40x100.step +D40-100SDB,D,40,100,,,SDB,,MSC-D-40x100.step +D40-100SDBU,D,40,100,,,SDB,U,MSC-D-40x100.step +D40-100SDBCM,D,40,100,,,SDB,CM,MSC-D-40x100.step +D40-100ME,D,40,100,M,E,,,MSC-D-40x100.step +D40-100MEU,D,40,100,M,E,,U,MSC-D-40x100.step +D40-100MECM,D,40,100,M,E,,CM,MSC-D-40x100.step +D40-100MELB,D,40,100,M,E,LB,,MSC-D-40x100.step +D40-100MELBU,D,40,100,M,E,LB,U,MSC-D-40x100.step +D40-100MELBCM,D,40,100,M,E,LB,CM,MSC-D-40x100.step +D40-100MEFA,D,40,100,M,E,FA,,MSC-D-40x100.step +D40-100MEFAU,D,40,100,M,E,FA,U,MSC-D-40x100.step +D40-100MEFACM,D,40,100,M,E,FA,CM,MSC-D-40x100.step +D40-100MEFB,D,40,100,M,E,FB,,MSC-D-40x100.step +D40-100MEFBU,D,40,100,M,E,FB,U,MSC-D-40x100.step +D40-100MEFBCM,D,40,100,M,E,FB,CM,MSC-D-40x100.step +D40-100MESDB,D,40,100,M,E,SDB,,MSC-D-40x100.step +D40-100MESDBU,D,40,100,M,E,SDB,U,MSC-D-40x100.step +D40-100MESDBCM,D,40,100,M,E,SDB,CM,MSC-D-40x100.step +D40-100M,D,40,100,M,,,,MSC-D-40x100.step +D40-100MU,D,40,100,M,,,U,MSC-D-40x100.step +D40-100MCM,D,40,100,M,,,CM,MSC-D-40x100.step +D40-100MLB,D,40,100,M,,LB,,MSC-D-40x100.step +D40-100MLBU,D,40,100,M,,LB,U,MSC-D-40x100.step +D40-100MLBCM,D,40,100,M,,LB,CM,MSC-D-40x100.step +D40-100MFA,D,40,100,M,,FA,,MSC-D-40x100.step +D40-100MFAU,D,40,100,M,,FA,U,MSC-D-40x100.step +D40-100MFACM,D,40,100,M,,FA,CM,MSC-D-40x100.step +D40-100MFB,D,40,100,M,,FB,,MSC-D-40x100.step +D40-100MFBU,D,40,100,M,,FB,U,MSC-D-40x100.step +D40-100MFBCM,D,40,100,M,,FB,CM,MSC-D-40x100.step +D40-100MSDB,D,40,100,M,,SDB,,MSC-D-40x100.step +D40-100MSDBU,D,40,100,M,,SDB,U,MSC-D-40x100.step +D40-100MSDBCM,D,40,100,M,,SDB,CM,MSC-D-40x100.step +J16-10E,J,16,10,,E,,,MSC-J-16x10.step +J16-10EU,J,16,10,,E,,U,MSC-J-16x10.step +J16-10ECM,J,16,10,,E,,CM,MSC-J-16x10.step +J16-10ELB,J,16,10,,E,LB,,MSC-J-16x10.step +J16-10ELBU,J,16,10,,E,LB,U,MSC-J-16x10.step +J16-10ELBCM,J,16,10,,E,LB,CM,MSC-J-16x10.step +J16-10EFA,J,16,10,,E,FA,,MSC-J-16x10.step +J16-10EFAU,J,16,10,,E,FA,U,MSC-J-16x10.step +J16-10EFACM,J,16,10,,E,FA,CM,MSC-J-16x10.step +J16-10EFB,J,16,10,,E,FB,,MSC-J-16x10.step +J16-10EFBU,J,16,10,,E,FB,U,MSC-J-16x10.step +J16-10EFBCM,J,16,10,,E,FB,CM,MSC-J-16x10.step +J16-10ESDB,J,16,10,,E,SDB,,MSC-J-16x10.step +J16-10ESDBU,J,16,10,,E,SDB,U,MSC-J-16x10.step +J16-10ESDBCM,J,16,10,,E,SDB,CM,MSC-J-16x10.step +J16-10,J,16,10,,,,,MSC-J-16x10.step +J16-10U,J,16,10,,,,U,MSC-J-16x10.step +J16-10CM,J,16,10,,,,CM,MSC-J-16x10.step +J16-10LB,J,16,10,,,LB,,MSC-J-16x10.step +J16-10LBU,J,16,10,,,LB,U,MSC-J-16x10.step +J16-10LBCM,J,16,10,,,LB,CM,MSC-J-16x10.step +J16-10FA,J,16,10,,,FA,,MSC-J-16x10.step +J16-10FAU,J,16,10,,,FA,U,MSC-J-16x10.step +J16-10FACM,J,16,10,,,FA,CM,MSC-J-16x10.step +J16-10FB,J,16,10,,,FB,,MSC-J-16x10.step +J16-10FBU,J,16,10,,,FB,U,MSC-J-16x10.step +J16-10FBCM,J,16,10,,,FB,CM,MSC-J-16x10.step +J16-10SDB,J,16,10,,,SDB,,MSC-J-16x10.step +J16-10SDBU,J,16,10,,,SDB,U,MSC-J-16x10.step +J16-10SDBCM,J,16,10,,,SDB,CM,MSC-J-16x10.step +J16-10ME,J,16,10,M,E,,,MSC-J-16x10.step +J16-10MEU,J,16,10,M,E,,U,MSC-J-16x10.step +J16-10MECM,J,16,10,M,E,,CM,MSC-J-16x10.step +J16-10MELB,J,16,10,M,E,LB,,MSC-J-16x10.step +J16-10MELBU,J,16,10,M,E,LB,U,MSC-J-16x10.step +J16-10MELBCM,J,16,10,M,E,LB,CM,MSC-J-16x10.step +J16-10MEFA,J,16,10,M,E,FA,,MSC-J-16x10.step +J16-10MEFAU,J,16,10,M,E,FA,U,MSC-J-16x10.step +J16-10MEFACM,J,16,10,M,E,FA,CM,MSC-J-16x10.step +J16-10MEFB,J,16,10,M,E,FB,,MSC-J-16x10.step +J16-10MEFBU,J,16,10,M,E,FB,U,MSC-J-16x10.step +J16-10MEFBCM,J,16,10,M,E,FB,CM,MSC-J-16x10.step +J16-10MESDB,J,16,10,M,E,SDB,,MSC-J-16x10.step +J16-10MESDBU,J,16,10,M,E,SDB,U,MSC-J-16x10.step +J16-10MESDBCM,J,16,10,M,E,SDB,CM,MSC-J-16x10.step +J16-10M,J,16,10,M,,,,MSC-J-16x10.step +J16-10MU,J,16,10,M,,,U,MSC-J-16x10.step +J16-10MCM,J,16,10,M,,,CM,MSC-J-16x10.step +J16-10MLB,J,16,10,M,,LB,,MSC-J-16x10.step +J16-10MLBU,J,16,10,M,,LB,U,MSC-J-16x10.step +J16-10MLBCM,J,16,10,M,,LB,CM,MSC-J-16x10.step +J16-10MFA,J,16,10,M,,FA,,MSC-J-16x10.step +J16-10MFAU,J,16,10,M,,FA,U,MSC-J-16x10.step +J16-10MFACM,J,16,10,M,,FA,CM,MSC-J-16x10.step +J16-10MFB,J,16,10,M,,FB,,MSC-J-16x10.step +J16-10MFBU,J,16,10,M,,FB,U,MSC-J-16x10.step +J16-10MFBCM,J,16,10,M,,FB,CM,MSC-J-16x10.step +J16-10MSDB,J,16,10,M,,SDB,,MSC-J-16x10.step +J16-10MSDBU,J,16,10,M,,SDB,U,MSC-J-16x10.step +J16-10MSDBCM,J,16,10,M,,SDB,CM,MSC-J-16x10.step +J16-20E,J,16,20,,E,,,MSC-J-16x20.step +J16-20EU,J,16,20,,E,,U,MSC-J-16x20.step +J16-20ECM,J,16,20,,E,,CM,MSC-J-16x20.step +J16-20ELB,J,16,20,,E,LB,,MSC-J-16x20.step +J16-20ELBU,J,16,20,,E,LB,U,MSC-J-16x20.step +J16-20ELBCM,J,16,20,,E,LB,CM,MSC-J-16x20.step +J16-20EFA,J,16,20,,E,FA,,MSC-J-16x20.step +J16-20EFAU,J,16,20,,E,FA,U,MSC-J-16x20.step +J16-20EFACM,J,16,20,,E,FA,CM,MSC-J-16x20.step +J16-20EFB,J,16,20,,E,FB,,MSC-J-16x20.step +J16-20EFBU,J,16,20,,E,FB,U,MSC-J-16x20.step +J16-20EFBCM,J,16,20,,E,FB,CM,MSC-J-16x20.step +J16-20ESDB,J,16,20,,E,SDB,,MSC-J-16x20.step +J16-20ESDBU,J,16,20,,E,SDB,U,MSC-J-16x20.step +J16-20ESDBCM,J,16,20,,E,SDB,CM,MSC-J-16x20.step +J16-20,J,16,20,,,,,MSC-J-16x20.step +J16-20U,J,16,20,,,,U,MSC-J-16x20.step +J16-20CM,J,16,20,,,,CM,MSC-J-16x20.step +J16-20LB,J,16,20,,,LB,,MSC-J-16x20.step +J16-20LBU,J,16,20,,,LB,U,MSC-J-16x20.step +J16-20LBCM,J,16,20,,,LB,CM,MSC-J-16x20.step +J16-20FA,J,16,20,,,FA,,MSC-J-16x20.step +J16-20FAU,J,16,20,,,FA,U,MSC-J-16x20.step +J16-20FACM,J,16,20,,,FA,CM,MSC-J-16x20.step +J16-20FB,J,16,20,,,FB,,MSC-J-16x20.step +J16-20FBU,J,16,20,,,FB,U,MSC-J-16x20.step +J16-20FBCM,J,16,20,,,FB,CM,MSC-J-16x20.step +J16-20SDB,J,16,20,,,SDB,,MSC-J-16x20.step +J16-20SDBU,J,16,20,,,SDB,U,MSC-J-16x20.step +J16-20SDBCM,J,16,20,,,SDB,CM,MSC-J-16x20.step +J16-20ME,J,16,20,M,E,,,MSC-J-16x20.step +J16-20MEU,J,16,20,M,E,,U,MSC-J-16x20.step +J16-20MECM,J,16,20,M,E,,CM,MSC-J-16x20.step +J16-20MELB,J,16,20,M,E,LB,,MSC-J-16x20.step +J16-20MELBU,J,16,20,M,E,LB,U,MSC-J-16x20.step +J16-20MELBCM,J,16,20,M,E,LB,CM,MSC-J-16x20.step +J16-20MEFA,J,16,20,M,E,FA,,MSC-J-16x20.step +J16-20MEFAU,J,16,20,M,E,FA,U,MSC-J-16x20.step +J16-20MEFACM,J,16,20,M,E,FA,CM,MSC-J-16x20.step +J16-20MEFB,J,16,20,M,E,FB,,MSC-J-16x20.step +J16-20MEFBU,J,16,20,M,E,FB,U,MSC-J-16x20.step +J16-20MEFBCM,J,16,20,M,E,FB,CM,MSC-J-16x20.step +J16-20MESDB,J,16,20,M,E,SDB,,MSC-J-16x20.step +J16-20MESDBU,J,16,20,M,E,SDB,U,MSC-J-16x20.step +J16-20MESDBCM,J,16,20,M,E,SDB,CM,MSC-J-16x20.step +J16-20M,J,16,20,M,,,,MSC-J-16x20.step +J16-20MU,J,16,20,M,,,U,MSC-J-16x20.step +J16-20MCM,J,16,20,M,,,CM,MSC-J-16x20.step +J16-20MLB,J,16,20,M,,LB,,MSC-J-16x20.step +J16-20MLBU,J,16,20,M,,LB,U,MSC-J-16x20.step +J16-20MLBCM,J,16,20,M,,LB,CM,MSC-J-16x20.step +J16-20MFA,J,16,20,M,,FA,,MSC-J-16x20.step +J16-20MFAU,J,16,20,M,,FA,U,MSC-J-16x20.step +J16-20MFACM,J,16,20,M,,FA,CM,MSC-J-16x20.step +J16-20MFB,J,16,20,M,,FB,,MSC-J-16x20.step +J16-20MFBU,J,16,20,M,,FB,U,MSC-J-16x20.step +J16-20MFBCM,J,16,20,M,,FB,CM,MSC-J-16x20.step +J16-20MSDB,J,16,20,M,,SDB,,MSC-J-16x20.step +J16-20MSDBU,J,16,20,M,,SDB,U,MSC-J-16x20.step +J16-20MSDBCM,J,16,20,M,,SDB,CM,MSC-J-16x20.step +J16-30E,J,16,30,,E,,,MSC-J-16x30.step +J16-30EU,J,16,30,,E,,U,MSC-J-16x30.step +J16-30ECM,J,16,30,,E,,CM,MSC-J-16x30.step +J16-30ELB,J,16,30,,E,LB,,MSC-J-16x30.step +J16-30ELBU,J,16,30,,E,LB,U,MSC-J-16x30.step +J16-30ELBCM,J,16,30,,E,LB,CM,MSC-J-16x30.step +J16-30EFA,J,16,30,,E,FA,,MSC-J-16x30.step +J16-30EFAU,J,16,30,,E,FA,U,MSC-J-16x30.step +J16-30EFACM,J,16,30,,E,FA,CM,MSC-J-16x30.step +J16-30EFB,J,16,30,,E,FB,,MSC-J-16x30.step +J16-30EFBU,J,16,30,,E,FB,U,MSC-J-16x30.step +J16-30EFBCM,J,16,30,,E,FB,CM,MSC-J-16x30.step +J16-30ESDB,J,16,30,,E,SDB,,MSC-J-16x30.step +J16-30ESDBU,J,16,30,,E,SDB,U,MSC-J-16x30.step +J16-30ESDBCM,J,16,30,,E,SDB,CM,MSC-J-16x30.step +J16-30,J,16,30,,,,,MSC-J-16x30.step +J16-30U,J,16,30,,,,U,MSC-J-16x30.step +J16-30CM,J,16,30,,,,CM,MSC-J-16x30.step +J16-30LB,J,16,30,,,LB,,MSC-J-16x30.step +J16-30LBU,J,16,30,,,LB,U,MSC-J-16x30.step +J16-30LBCM,J,16,30,,,LB,CM,MSC-J-16x30.step +J16-30FA,J,16,30,,,FA,,MSC-J-16x30.step +J16-30FAU,J,16,30,,,FA,U,MSC-J-16x30.step +J16-30FACM,J,16,30,,,FA,CM,MSC-J-16x30.step +J16-30FB,J,16,30,,,FB,,MSC-J-16x30.step +J16-30FBU,J,16,30,,,FB,U,MSC-J-16x30.step +J16-30FBCM,J,16,30,,,FB,CM,MSC-J-16x30.step +J16-30SDB,J,16,30,,,SDB,,MSC-J-16x30.step +J16-30SDBU,J,16,30,,,SDB,U,MSC-J-16x30.step +J16-30SDBCM,J,16,30,,,SDB,CM,MSC-J-16x30.step +J16-30ME,J,16,30,M,E,,,MSC-J-16x30.step +J16-30MEU,J,16,30,M,E,,U,MSC-J-16x30.step +J16-30MECM,J,16,30,M,E,,CM,MSC-J-16x30.step +J16-30MELB,J,16,30,M,E,LB,,MSC-J-16x30.step +J16-30MELBU,J,16,30,M,E,LB,U,MSC-J-16x30.step +J16-30MELBCM,J,16,30,M,E,LB,CM,MSC-J-16x30.step +J16-30MEFA,J,16,30,M,E,FA,,MSC-J-16x30.step +J16-30MEFAU,J,16,30,M,E,FA,U,MSC-J-16x30.step +J16-30MEFACM,J,16,30,M,E,FA,CM,MSC-J-16x30.step +J16-30MEFB,J,16,30,M,E,FB,,MSC-J-16x30.step +J16-30MEFBU,J,16,30,M,E,FB,U,MSC-J-16x30.step +J16-30MEFBCM,J,16,30,M,E,FB,CM,MSC-J-16x30.step +J16-30MESDB,J,16,30,M,E,SDB,,MSC-J-16x30.step +J16-30MESDBU,J,16,30,M,E,SDB,U,MSC-J-16x30.step +J16-30MESDBCM,J,16,30,M,E,SDB,CM,MSC-J-16x30.step +J16-30M,J,16,30,M,,,,MSC-J-16x30.step +J16-30MU,J,16,30,M,,,U,MSC-J-16x30.step +J16-30MCM,J,16,30,M,,,CM,MSC-J-16x30.step +J16-30MLB,J,16,30,M,,LB,,MSC-J-16x30.step +J16-30MLBU,J,16,30,M,,LB,U,MSC-J-16x30.step +J16-30MLBCM,J,16,30,M,,LB,CM,MSC-J-16x30.step +J16-30MFA,J,16,30,M,,FA,,MSC-J-16x30.step +J16-30MFAU,J,16,30,M,,FA,U,MSC-J-16x30.step +J16-30MFACM,J,16,30,M,,FA,CM,MSC-J-16x30.step +J16-30MFB,J,16,30,M,,FB,,MSC-J-16x30.step +J16-30MFBU,J,16,30,M,,FB,U,MSC-J-16x30.step +J16-30MFBCM,J,16,30,M,,FB,CM,MSC-J-16x30.step +J16-30MSDB,J,16,30,M,,SDB,,MSC-J-16x30.step +J16-30MSDBU,J,16,30,M,,SDB,U,MSC-J-16x30.step +J16-30MSDBCM,J,16,30,M,,SDB,CM,MSC-J-16x30.step +J16-50E,J,16,50,,E,,,MSC-J-16x50.step +J16-50EU,J,16,50,,E,,U,MSC-J-16x50.step +J16-50ECM,J,16,50,,E,,CM,MSC-J-16x50.step +J16-50ELB,J,16,50,,E,LB,,MSC-J-16x50.step +J16-50ELBU,J,16,50,,E,LB,U,MSC-J-16x50.step +J16-50ELBCM,J,16,50,,E,LB,CM,MSC-J-16x50.step +J16-50EFA,J,16,50,,E,FA,,MSC-J-16x50.step +J16-50EFAU,J,16,50,,E,FA,U,MSC-J-16x50.step +J16-50EFACM,J,16,50,,E,FA,CM,MSC-J-16x50.step +J16-50EFB,J,16,50,,E,FB,,MSC-J-16x50.step +J16-50EFBU,J,16,50,,E,FB,U,MSC-J-16x50.step +J16-50EFBCM,J,16,50,,E,FB,CM,MSC-J-16x50.step +J16-50ESDB,J,16,50,,E,SDB,,MSC-J-16x50.step +J16-50ESDBU,J,16,50,,E,SDB,U,MSC-J-16x50.step +J16-50ESDBCM,J,16,50,,E,SDB,CM,MSC-J-16x50.step +J16-50,J,16,50,,,,,MSC-J-16x50.step +J16-50U,J,16,50,,,,U,MSC-J-16x50.step +J16-50CM,J,16,50,,,,CM,MSC-J-16x50.step +J16-50LB,J,16,50,,,LB,,MSC-J-16x50.step +J16-50LBU,J,16,50,,,LB,U,MSC-J-16x50.step +J16-50LBCM,J,16,50,,,LB,CM,MSC-J-16x50.step +J16-50FA,J,16,50,,,FA,,MSC-J-16x50.step +J16-50FAU,J,16,50,,,FA,U,MSC-J-16x50.step +J16-50FACM,J,16,50,,,FA,CM,MSC-J-16x50.step +J16-50FB,J,16,50,,,FB,,MSC-J-16x50.step +J16-50FBU,J,16,50,,,FB,U,MSC-J-16x50.step +J16-50FBCM,J,16,50,,,FB,CM,MSC-J-16x50.step +J16-50SDB,J,16,50,,,SDB,,MSC-J-16x50.step +J16-50SDBU,J,16,50,,,SDB,U,MSC-J-16x50.step +J16-50SDBCM,J,16,50,,,SDB,CM,MSC-J-16x50.step +J16-50ME,J,16,50,M,E,,,MSC-J-16x50.step +J16-50MEU,J,16,50,M,E,,U,MSC-J-16x50.step +J16-50MECM,J,16,50,M,E,,CM,MSC-J-16x50.step +J16-50MELB,J,16,50,M,E,LB,,MSC-J-16x50.step +J16-50MELBU,J,16,50,M,E,LB,U,MSC-J-16x50.step +J16-50MELBCM,J,16,50,M,E,LB,CM,MSC-J-16x50.step +J16-50MEFA,J,16,50,M,E,FA,,MSC-J-16x50.step +J16-50MEFAU,J,16,50,M,E,FA,U,MSC-J-16x50.step +J16-50MEFACM,J,16,50,M,E,FA,CM,MSC-J-16x50.step +J16-50MEFB,J,16,50,M,E,FB,,MSC-J-16x50.step +J16-50MEFBU,J,16,50,M,E,FB,U,MSC-J-16x50.step +J16-50MEFBCM,J,16,50,M,E,FB,CM,MSC-J-16x50.step +J16-50MESDB,J,16,50,M,E,SDB,,MSC-J-16x50.step +J16-50MESDBU,J,16,50,M,E,SDB,U,MSC-J-16x50.step +J16-50MESDBCM,J,16,50,M,E,SDB,CM,MSC-J-16x50.step +J16-50M,J,16,50,M,,,,MSC-J-16x50.step +J16-50MU,J,16,50,M,,,U,MSC-J-16x50.step +J16-50MCM,J,16,50,M,,,CM,MSC-J-16x50.step +J16-50MLB,J,16,50,M,,LB,,MSC-J-16x50.step +J16-50MLBU,J,16,50,M,,LB,U,MSC-J-16x50.step +J16-50MLBCM,J,16,50,M,,LB,CM,MSC-J-16x50.step +J16-50MFA,J,16,50,M,,FA,,MSC-J-16x50.step +J16-50MFAU,J,16,50,M,,FA,U,MSC-J-16x50.step +J16-50MFACM,J,16,50,M,,FA,CM,MSC-J-16x50.step +J16-50MFB,J,16,50,M,,FB,,MSC-J-16x50.step +J16-50MFBU,J,16,50,M,,FB,U,MSC-J-16x50.step +J16-50MFBCM,J,16,50,M,,FB,CM,MSC-J-16x50.step +J16-50MSDB,J,16,50,M,,SDB,,MSC-J-16x50.step +J16-50MSDBU,J,16,50,M,,SDB,U,MSC-J-16x50.step +J16-50MSDBCM,J,16,50,M,,SDB,CM,MSC-J-16x50.step +J16-75E,J,16,75,,E,,,MSC-J-16x75.step +J16-75EU,J,16,75,,E,,U,MSC-J-16x75.step +J16-75ECM,J,16,75,,E,,CM,MSC-J-16x75.step +J16-75ELB,J,16,75,,E,LB,,MSC-J-16x75.step +J16-75ELBU,J,16,75,,E,LB,U,MSC-J-16x75.step +J16-75ELBCM,J,16,75,,E,LB,CM,MSC-J-16x75.step +J16-75EFA,J,16,75,,E,FA,,MSC-J-16x75.step +J16-75EFAU,J,16,75,,E,FA,U,MSC-J-16x75.step +J16-75EFACM,J,16,75,,E,FA,CM,MSC-J-16x75.step +J16-75EFB,J,16,75,,E,FB,,MSC-J-16x75.step +J16-75EFBU,J,16,75,,E,FB,U,MSC-J-16x75.step +J16-75EFBCM,J,16,75,,E,FB,CM,MSC-J-16x75.step +J16-75ESDB,J,16,75,,E,SDB,,MSC-J-16x75.step +J16-75ESDBU,J,16,75,,E,SDB,U,MSC-J-16x75.step +J16-75ESDBCM,J,16,75,,E,SDB,CM,MSC-J-16x75.step +J16-75,J,16,75,,,,,MSC-J-16x75.step +J16-75U,J,16,75,,,,U,MSC-J-16x75.step +J16-75CM,J,16,75,,,,CM,MSC-J-16x75.step +J16-75LB,J,16,75,,,LB,,MSC-J-16x75.step +J16-75LBU,J,16,75,,,LB,U,MSC-J-16x75.step +J16-75LBCM,J,16,75,,,LB,CM,MSC-J-16x75.step +J16-75FA,J,16,75,,,FA,,MSC-J-16x75.step +J16-75FAU,J,16,75,,,FA,U,MSC-J-16x75.step +J16-75FACM,J,16,75,,,FA,CM,MSC-J-16x75.step +J16-75FB,J,16,75,,,FB,,MSC-J-16x75.step +J16-75FBU,J,16,75,,,FB,U,MSC-J-16x75.step +J16-75FBCM,J,16,75,,,FB,CM,MSC-J-16x75.step +J16-75SDB,J,16,75,,,SDB,,MSC-J-16x75.step +J16-75SDBU,J,16,75,,,SDB,U,MSC-J-16x75.step +J16-75SDBCM,J,16,75,,,SDB,CM,MSC-J-16x75.step +J16-75ME,J,16,75,M,E,,,MSC-J-16x75.step +J16-75MEU,J,16,75,M,E,,U,MSC-J-16x75.step +J16-75MECM,J,16,75,M,E,,CM,MSC-J-16x75.step +J16-75MELB,J,16,75,M,E,LB,,MSC-J-16x75.step +J16-75MELBU,J,16,75,M,E,LB,U,MSC-J-16x75.step +J16-75MELBCM,J,16,75,M,E,LB,CM,MSC-J-16x75.step +J16-75MEFA,J,16,75,M,E,FA,,MSC-J-16x75.step +J16-75MEFAU,J,16,75,M,E,FA,U,MSC-J-16x75.step +J16-75MEFACM,J,16,75,M,E,FA,CM,MSC-J-16x75.step +J16-75MEFB,J,16,75,M,E,FB,,MSC-J-16x75.step +J16-75MEFBU,J,16,75,M,E,FB,U,MSC-J-16x75.step +J16-75MEFBCM,J,16,75,M,E,FB,CM,MSC-J-16x75.step +J16-75MESDB,J,16,75,M,E,SDB,,MSC-J-16x75.step +J16-75MESDBU,J,16,75,M,E,SDB,U,MSC-J-16x75.step +J16-75MESDBCM,J,16,75,M,E,SDB,CM,MSC-J-16x75.step +J16-75M,J,16,75,M,,,,MSC-J-16x75.step +J16-75MU,J,16,75,M,,,U,MSC-J-16x75.step +J16-75MCM,J,16,75,M,,,CM,MSC-J-16x75.step +J16-75MLB,J,16,75,M,,LB,,MSC-J-16x75.step +J16-75MLBU,J,16,75,M,,LB,U,MSC-J-16x75.step +J16-75MLBCM,J,16,75,M,,LB,CM,MSC-J-16x75.step +J16-75MFA,J,16,75,M,,FA,,MSC-J-16x75.step +J16-75MFAU,J,16,75,M,,FA,U,MSC-J-16x75.step +J16-75MFACM,J,16,75,M,,FA,CM,MSC-J-16x75.step +J16-75MFB,J,16,75,M,,FB,,MSC-J-16x75.step +J16-75MFBU,J,16,75,M,,FB,U,MSC-J-16x75.step +J16-75MFBCM,J,16,75,M,,FB,CM,MSC-J-16x75.step +J16-75MSDB,J,16,75,M,,SDB,,MSC-J-16x75.step +J16-75MSDBU,J,16,75,M,,SDB,U,MSC-J-16x75.step +J16-75MSDBCM,J,16,75,M,,SDB,CM,MSC-J-16x75.step +J16-100E,J,16,100,,E,,,MSC-J-16x100.step +J16-100EU,J,16,100,,E,,U,MSC-J-16x100.step +J16-100ECM,J,16,100,,E,,CM,MSC-J-16x100.step +J16-100ELB,J,16,100,,E,LB,,MSC-J-16x100.step +J16-100ELBU,J,16,100,,E,LB,U,MSC-J-16x100.step +J16-100ELBCM,J,16,100,,E,LB,CM,MSC-J-16x100.step +J16-100EFA,J,16,100,,E,FA,,MSC-J-16x100.step +J16-100EFAU,J,16,100,,E,FA,U,MSC-J-16x100.step +J16-100EFACM,J,16,100,,E,FA,CM,MSC-J-16x100.step +J16-100EFB,J,16,100,,E,FB,,MSC-J-16x100.step +J16-100EFBU,J,16,100,,E,FB,U,MSC-J-16x100.step +J16-100EFBCM,J,16,100,,E,FB,CM,MSC-J-16x100.step +J16-100ESDB,J,16,100,,E,SDB,,MSC-J-16x100.step +J16-100ESDBU,J,16,100,,E,SDB,U,MSC-J-16x100.step +J16-100ESDBCM,J,16,100,,E,SDB,CM,MSC-J-16x100.step +J16-100,J,16,100,,,,,MSC-J-16x100.step +J16-100U,J,16,100,,,,U,MSC-J-16x100.step +J16-100CM,J,16,100,,,,CM,MSC-J-16x100.step +J16-100LB,J,16,100,,,LB,,MSC-J-16x100.step +J16-100LBU,J,16,100,,,LB,U,MSC-J-16x100.step +J16-100LBCM,J,16,100,,,LB,CM,MSC-J-16x100.step +J16-100FA,J,16,100,,,FA,,MSC-J-16x100.step +J16-100FAU,J,16,100,,,FA,U,MSC-J-16x100.step +J16-100FACM,J,16,100,,,FA,CM,MSC-J-16x100.step +J16-100FB,J,16,100,,,FB,,MSC-J-16x100.step +J16-100FBU,J,16,100,,,FB,U,MSC-J-16x100.step +J16-100FBCM,J,16,100,,,FB,CM,MSC-J-16x100.step +J16-100SDB,J,16,100,,,SDB,,MSC-J-16x100.step +J16-100SDBU,J,16,100,,,SDB,U,MSC-J-16x100.step +J16-100SDBCM,J,16,100,,,SDB,CM,MSC-J-16x100.step +J16-100ME,J,16,100,M,E,,,MSC-J-16x100.step +J16-100MEU,J,16,100,M,E,,U,MSC-J-16x100.step +J16-100MECM,J,16,100,M,E,,CM,MSC-J-16x100.step +J16-100MELB,J,16,100,M,E,LB,,MSC-J-16x100.step +J16-100MELBU,J,16,100,M,E,LB,U,MSC-J-16x100.step +J16-100MELBCM,J,16,100,M,E,LB,CM,MSC-J-16x100.step +J16-100MEFA,J,16,100,M,E,FA,,MSC-J-16x100.step +J16-100MEFAU,J,16,100,M,E,FA,U,MSC-J-16x100.step +J16-100MEFACM,J,16,100,M,E,FA,CM,MSC-J-16x100.step +J16-100MEFB,J,16,100,M,E,FB,,MSC-J-16x100.step +J16-100MEFBU,J,16,100,M,E,FB,U,MSC-J-16x100.step +J16-100MEFBCM,J,16,100,M,E,FB,CM,MSC-J-16x100.step +J16-100MESDB,J,16,100,M,E,SDB,,MSC-J-16x100.step +J16-100MESDBU,J,16,100,M,E,SDB,U,MSC-J-16x100.step +J16-100MESDBCM,J,16,100,M,E,SDB,CM,MSC-J-16x100.step +J16-100M,J,16,100,M,,,,MSC-J-16x100.step +J16-100MU,J,16,100,M,,,U,MSC-J-16x100.step +J16-100MCM,J,16,100,M,,,CM,MSC-J-16x100.step +J16-100MLB,J,16,100,M,,LB,,MSC-J-16x100.step +J16-100MLBU,J,16,100,M,,LB,U,MSC-J-16x100.step +J16-100MLBCM,J,16,100,M,,LB,CM,MSC-J-16x100.step +J16-100MFA,J,16,100,M,,FA,,MSC-J-16x100.step +J16-100MFAU,J,16,100,M,,FA,U,MSC-J-16x100.step +J16-100MFACM,J,16,100,M,,FA,CM,MSC-J-16x100.step +J16-100MFB,J,16,100,M,,FB,,MSC-J-16x100.step +J16-100MFBU,J,16,100,M,,FB,U,MSC-J-16x100.step +J16-100MFBCM,J,16,100,M,,FB,CM,MSC-J-16x100.step +J16-100MSDB,J,16,100,M,,SDB,,MSC-J-16x100.step +J16-100MSDBU,J,16,100,M,,SDB,U,MSC-J-16x100.step +J16-100MSDBCM,J,16,100,M,,SDB,CM,MSC-J-16x100.step +J20-10E,J,20,10,,E,,,MSC-J-20x10.step +J20-10EU,J,20,10,,E,,U,MSC-J-20x10.step +J20-10ECM,J,20,10,,E,,CM,MSC-J-20x10.step +J20-10ELB,J,20,10,,E,LB,,MSC-J-20x10.step +J20-10ELBU,J,20,10,,E,LB,U,MSC-J-20x10.step +J20-10ELBCM,J,20,10,,E,LB,CM,MSC-J-20x10.step +J20-10EFA,J,20,10,,E,FA,,MSC-J-20x10.step +J20-10EFAU,J,20,10,,E,FA,U,MSC-J-20x10.step +J20-10EFACM,J,20,10,,E,FA,CM,MSC-J-20x10.step +J20-10EFB,J,20,10,,E,FB,,MSC-J-20x10.step +J20-10EFBU,J,20,10,,E,FB,U,MSC-J-20x10.step +J20-10EFBCM,J,20,10,,E,FB,CM,MSC-J-20x10.step +J20-10ESDB,J,20,10,,E,SDB,,MSC-J-20x10.step +J20-10ESDBU,J,20,10,,E,SDB,U,MSC-J-20x10.step +J20-10ESDBCM,J,20,10,,E,SDB,CM,MSC-J-20x10.step +J20-10,J,20,10,,,,,MSC-J-20x10.step +J20-10U,J,20,10,,,,U,MSC-J-20x10.step +J20-10CM,J,20,10,,,,CM,MSC-J-20x10.step +J20-10LB,J,20,10,,,LB,,MSC-J-20x10.step +J20-10LBU,J,20,10,,,LB,U,MSC-J-20x10.step +J20-10LBCM,J,20,10,,,LB,CM,MSC-J-20x10.step +J20-10FA,J,20,10,,,FA,,MSC-J-20x10.step +J20-10FAU,J,20,10,,,FA,U,MSC-J-20x10.step +J20-10FACM,J,20,10,,,FA,CM,MSC-J-20x10.step +J20-10FB,J,20,10,,,FB,,MSC-J-20x10.step +J20-10FBU,J,20,10,,,FB,U,MSC-J-20x10.step +J20-10FBCM,J,20,10,,,FB,CM,MSC-J-20x10.step +J20-10SDB,J,20,10,,,SDB,,MSC-J-20x10.step +J20-10SDBU,J,20,10,,,SDB,U,MSC-J-20x10.step +J20-10SDBCM,J,20,10,,,SDB,CM,MSC-J-20x10.step +J20-10ME,J,20,10,M,E,,,MSC-J-20x10.step +J20-10MEU,J,20,10,M,E,,U,MSC-J-20x10.step +J20-10MECM,J,20,10,M,E,,CM,MSC-J-20x10.step +J20-10MELB,J,20,10,M,E,LB,,MSC-J-20x10.step +J20-10MELBU,J,20,10,M,E,LB,U,MSC-J-20x10.step +J20-10MELBCM,J,20,10,M,E,LB,CM,MSC-J-20x10.step +J20-10MEFA,J,20,10,M,E,FA,,MSC-J-20x10.step +J20-10MEFAU,J,20,10,M,E,FA,U,MSC-J-20x10.step +J20-10MEFACM,J,20,10,M,E,FA,CM,MSC-J-20x10.step +J20-10MEFB,J,20,10,M,E,FB,,MSC-J-20x10.step +J20-10MEFBU,J,20,10,M,E,FB,U,MSC-J-20x10.step +J20-10MEFBCM,J,20,10,M,E,FB,CM,MSC-J-20x10.step +J20-10MESDB,J,20,10,M,E,SDB,,MSC-J-20x10.step +J20-10MESDBU,J,20,10,M,E,SDB,U,MSC-J-20x10.step +J20-10MESDBCM,J,20,10,M,E,SDB,CM,MSC-J-20x10.step +J20-10M,J,20,10,M,,,,MSC-J-20x10.step +J20-10MU,J,20,10,M,,,U,MSC-J-20x10.step +J20-10MCM,J,20,10,M,,,CM,MSC-J-20x10.step +J20-10MLB,J,20,10,M,,LB,,MSC-J-20x10.step +J20-10MLBU,J,20,10,M,,LB,U,MSC-J-20x10.step +J20-10MLBCM,J,20,10,M,,LB,CM,MSC-J-20x10.step +J20-10MFA,J,20,10,M,,FA,,MSC-J-20x10.step +J20-10MFAU,J,20,10,M,,FA,U,MSC-J-20x10.step +J20-10MFACM,J,20,10,M,,FA,CM,MSC-J-20x10.step +J20-10MFB,J,20,10,M,,FB,,MSC-J-20x10.step +J20-10MFBU,J,20,10,M,,FB,U,MSC-J-20x10.step +J20-10MFBCM,J,20,10,M,,FB,CM,MSC-J-20x10.step +J20-10MSDB,J,20,10,M,,SDB,,MSC-J-20x10.step +J20-10MSDBU,J,20,10,M,,SDB,U,MSC-J-20x10.step +J20-10MSDBCM,J,20,10,M,,SDB,CM,MSC-J-20x10.step +J20-20E,J,20,20,,E,,,MSC-J-20x20.step +J20-20EU,J,20,20,,E,,U,MSC-J-20x20.step +J20-20ECM,J,20,20,,E,,CM,MSC-J-20x20.step +J20-20ELB,J,20,20,,E,LB,,MSC-J-20x20.step +J20-20ELBU,J,20,20,,E,LB,U,MSC-J-20x20.step +J20-20ELBCM,J,20,20,,E,LB,CM,MSC-J-20x20.step +J20-20EFA,J,20,20,,E,FA,,MSC-J-20x20.step +J20-20EFAU,J,20,20,,E,FA,U,MSC-J-20x20.step +J20-20EFACM,J,20,20,,E,FA,CM,MSC-J-20x20.step +J20-20EFB,J,20,20,,E,FB,,MSC-J-20x20.step +J20-20EFBU,J,20,20,,E,FB,U,MSC-J-20x20.step +J20-20EFBCM,J,20,20,,E,FB,CM,MSC-J-20x20.step +J20-20ESDB,J,20,20,,E,SDB,,MSC-J-20x20.step +J20-20ESDBU,J,20,20,,E,SDB,U,MSC-J-20x20.step +J20-20ESDBCM,J,20,20,,E,SDB,CM,MSC-J-20x20.step +J20-20,J,20,20,,,,,MSC-J-20x20.step +J20-20U,J,20,20,,,,U,MSC-J-20x20.step +J20-20CM,J,20,20,,,,CM,MSC-J-20x20.step +J20-20LB,J,20,20,,,LB,,MSC-J-20x20.step +J20-20LBU,J,20,20,,,LB,U,MSC-J-20x20.step +J20-20LBCM,J,20,20,,,LB,CM,MSC-J-20x20.step +J20-20FA,J,20,20,,,FA,,MSC-J-20x20.step +J20-20FAU,J,20,20,,,FA,U,MSC-J-20x20.step +J20-20FACM,J,20,20,,,FA,CM,MSC-J-20x20.step +J20-20FB,J,20,20,,,FB,,MSC-J-20x20.step +J20-20FBU,J,20,20,,,FB,U,MSC-J-20x20.step +J20-20FBCM,J,20,20,,,FB,CM,MSC-J-20x20.step +J20-20SDB,J,20,20,,,SDB,,MSC-J-20x20.step +J20-20SDBU,J,20,20,,,SDB,U,MSC-J-20x20.step +J20-20SDBCM,J,20,20,,,SDB,CM,MSC-J-20x20.step +J20-20ME,J,20,20,M,E,,,MSC-J-20x20.step +J20-20MEU,J,20,20,M,E,,U,MSC-J-20x20.step +J20-20MECM,J,20,20,M,E,,CM,MSC-J-20x20.step +J20-20MELB,J,20,20,M,E,LB,,MSC-J-20x20.step +J20-20MELBU,J,20,20,M,E,LB,U,MSC-J-20x20.step +J20-20MELBCM,J,20,20,M,E,LB,CM,MSC-J-20x20.step +J20-20MEFA,J,20,20,M,E,FA,,MSC-J-20x20.step +J20-20MEFAU,J,20,20,M,E,FA,U,MSC-J-20x20.step +J20-20MEFACM,J,20,20,M,E,FA,CM,MSC-J-20x20.step +J20-20MEFB,J,20,20,M,E,FB,,MSC-J-20x20.step +J20-20MEFBU,J,20,20,M,E,FB,U,MSC-J-20x20.step +J20-20MEFBCM,J,20,20,M,E,FB,CM,MSC-J-20x20.step +J20-20MESDB,J,20,20,M,E,SDB,,MSC-J-20x20.step +J20-20MESDBU,J,20,20,M,E,SDB,U,MSC-J-20x20.step +J20-20MESDBCM,J,20,20,M,E,SDB,CM,MSC-J-20x20.step +J20-20M,J,20,20,M,,,,MSC-J-20x20.step +J20-20MU,J,20,20,M,,,U,MSC-J-20x20.step +J20-20MCM,J,20,20,M,,,CM,MSC-J-20x20.step +J20-20MLB,J,20,20,M,,LB,,MSC-J-20x20.step +J20-20MLBU,J,20,20,M,,LB,U,MSC-J-20x20.step +J20-20MLBCM,J,20,20,M,,LB,CM,MSC-J-20x20.step +J20-20MFA,J,20,20,M,,FA,,MSC-J-20x20.step +J20-20MFAU,J,20,20,M,,FA,U,MSC-J-20x20.step +J20-20MFACM,J,20,20,M,,FA,CM,MSC-J-20x20.step +J20-20MFB,J,20,20,M,,FB,,MSC-J-20x20.step +J20-20MFBU,J,20,20,M,,FB,U,MSC-J-20x20.step +J20-20MFBCM,J,20,20,M,,FB,CM,MSC-J-20x20.step +J20-20MSDB,J,20,20,M,,SDB,,MSC-J-20x20.step +J20-20MSDBU,J,20,20,M,,SDB,U,MSC-J-20x20.step +J20-20MSDBCM,J,20,20,M,,SDB,CM,MSC-J-20x20.step +J20-30E,J,20,30,,E,,,MSC-J-20x30.step +J20-30EU,J,20,30,,E,,U,MSC-J-20x30.step +J20-30ECM,J,20,30,,E,,CM,MSC-J-20x30.step +J20-30ELB,J,20,30,,E,LB,,MSC-J-20x30.step +J20-30ELBU,J,20,30,,E,LB,U,MSC-J-20x30.step +J20-30ELBCM,J,20,30,,E,LB,CM,MSC-J-20x30.step +J20-30EFA,J,20,30,,E,FA,,MSC-J-20x30.step +J20-30EFAU,J,20,30,,E,FA,U,MSC-J-20x30.step +J20-30EFACM,J,20,30,,E,FA,CM,MSC-J-20x30.step +J20-30EFB,J,20,30,,E,FB,,MSC-J-20x30.step +J20-30EFBU,J,20,30,,E,FB,U,MSC-J-20x30.step +J20-30EFBCM,J,20,30,,E,FB,CM,MSC-J-20x30.step +J20-30ESDB,J,20,30,,E,SDB,,MSC-J-20x30.step +J20-30ESDBU,J,20,30,,E,SDB,U,MSC-J-20x30.step +J20-30ESDBCM,J,20,30,,E,SDB,CM,MSC-J-20x30.step +J20-30,J,20,30,,,,,MSC-J-20x30.step +J20-30U,J,20,30,,,,U,MSC-J-20x30.step +J20-30CM,J,20,30,,,,CM,MSC-J-20x30.step +J20-30LB,J,20,30,,,LB,,MSC-J-20x30.step +J20-30LBU,J,20,30,,,LB,U,MSC-J-20x30.step +J20-30LBCM,J,20,30,,,LB,CM,MSC-J-20x30.step +J20-30FA,J,20,30,,,FA,,MSC-J-20x30.step +J20-30FAU,J,20,30,,,FA,U,MSC-J-20x30.step +J20-30FACM,J,20,30,,,FA,CM,MSC-J-20x30.step +J20-30FB,J,20,30,,,FB,,MSC-J-20x30.step +J20-30FBU,J,20,30,,,FB,U,MSC-J-20x30.step +J20-30FBCM,J,20,30,,,FB,CM,MSC-J-20x30.step +J20-30SDB,J,20,30,,,SDB,,MSC-J-20x30.step +J20-30SDBU,J,20,30,,,SDB,U,MSC-J-20x30.step +J20-30SDBCM,J,20,30,,,SDB,CM,MSC-J-20x30.step +J20-30ME,J,20,30,M,E,,,MSC-J-20x30.step +J20-30MEU,J,20,30,M,E,,U,MSC-J-20x30.step +J20-30MECM,J,20,30,M,E,,CM,MSC-J-20x30.step +J20-30MELB,J,20,30,M,E,LB,,MSC-J-20x30.step +J20-30MELBU,J,20,30,M,E,LB,U,MSC-J-20x30.step +J20-30MELBCM,J,20,30,M,E,LB,CM,MSC-J-20x30.step +J20-30MEFA,J,20,30,M,E,FA,,MSC-J-20x30.step +J20-30MEFAU,J,20,30,M,E,FA,U,MSC-J-20x30.step +J20-30MEFACM,J,20,30,M,E,FA,CM,MSC-J-20x30.step +J20-30MEFB,J,20,30,M,E,FB,,MSC-J-20x30.step +J20-30MEFBU,J,20,30,M,E,FB,U,MSC-J-20x30.step +J20-30MEFBCM,J,20,30,M,E,FB,CM,MSC-J-20x30.step +J20-30MESDB,J,20,30,M,E,SDB,,MSC-J-20x30.step +J20-30MESDBU,J,20,30,M,E,SDB,U,MSC-J-20x30.step +J20-30MESDBCM,J,20,30,M,E,SDB,CM,MSC-J-20x30.step +J20-30M,J,20,30,M,,,,MSC-J-20x30.step +J20-30MU,J,20,30,M,,,U,MSC-J-20x30.step +J20-30MCM,J,20,30,M,,,CM,MSC-J-20x30.step +J20-30MLB,J,20,30,M,,LB,,MSC-J-20x30.step +J20-30MLBU,J,20,30,M,,LB,U,MSC-J-20x30.step +J20-30MLBCM,J,20,30,M,,LB,CM,MSC-J-20x30.step +J20-30MFA,J,20,30,M,,FA,,MSC-J-20x30.step +J20-30MFAU,J,20,30,M,,FA,U,MSC-J-20x30.step +J20-30MFACM,J,20,30,M,,FA,CM,MSC-J-20x30.step +J20-30MFB,J,20,30,M,,FB,,MSC-J-20x30.step +J20-30MFBU,J,20,30,M,,FB,U,MSC-J-20x30.step +J20-30MFBCM,J,20,30,M,,FB,CM,MSC-J-20x30.step +J20-30MSDB,J,20,30,M,,SDB,,MSC-J-20x30.step +J20-30MSDBU,J,20,30,M,,SDB,U,MSC-J-20x30.step +J20-30MSDBCM,J,20,30,M,,SDB,CM,MSC-J-20x30.step +J20-50E,J,20,50,,E,,,MSC-J-20x50.step +J20-50EU,J,20,50,,E,,U,MSC-J-20x50.step +J20-50ECM,J,20,50,,E,,CM,MSC-J-20x50.step +J20-50ELB,J,20,50,,E,LB,,MSC-J-20x50.step +J20-50ELBU,J,20,50,,E,LB,U,MSC-J-20x50.step +J20-50ELBCM,J,20,50,,E,LB,CM,MSC-J-20x50.step +J20-50EFA,J,20,50,,E,FA,,MSC-J-20x50.step +J20-50EFAU,J,20,50,,E,FA,U,MSC-J-20x50.step +J20-50EFACM,J,20,50,,E,FA,CM,MSC-J-20x50.step +J20-50EFB,J,20,50,,E,FB,,MSC-J-20x50.step +J20-50EFBU,J,20,50,,E,FB,U,MSC-J-20x50.step +J20-50EFBCM,J,20,50,,E,FB,CM,MSC-J-20x50.step +J20-50ESDB,J,20,50,,E,SDB,,MSC-J-20x50.step +J20-50ESDBU,J,20,50,,E,SDB,U,MSC-J-20x50.step +J20-50ESDBCM,J,20,50,,E,SDB,CM,MSC-J-20x50.step +J20-50,J,20,50,,,,,MSC-J-20x50.step +J20-50U,J,20,50,,,,U,MSC-J-20x50.step +J20-50CM,J,20,50,,,,CM,MSC-J-20x50.step +J20-50LB,J,20,50,,,LB,,MSC-J-20x50.step +J20-50LBU,J,20,50,,,LB,U,MSC-J-20x50.step +J20-50LBCM,J,20,50,,,LB,CM,MSC-J-20x50.step +J20-50FA,J,20,50,,,FA,,MSC-J-20x50.step +J20-50FAU,J,20,50,,,FA,U,MSC-J-20x50.step +J20-50FACM,J,20,50,,,FA,CM,MSC-J-20x50.step +J20-50FB,J,20,50,,,FB,,MSC-J-20x50.step +J20-50FBU,J,20,50,,,FB,U,MSC-J-20x50.step +J20-50FBCM,J,20,50,,,FB,CM,MSC-J-20x50.step +J20-50SDB,J,20,50,,,SDB,,MSC-J-20x50.step +J20-50SDBU,J,20,50,,,SDB,U,MSC-J-20x50.step +J20-50SDBCM,J,20,50,,,SDB,CM,MSC-J-20x50.step +J20-50ME,J,20,50,M,E,,,MSC-J-20x50.step +J20-50MEU,J,20,50,M,E,,U,MSC-J-20x50.step +J20-50MECM,J,20,50,M,E,,CM,MSC-J-20x50.step +J20-50MELB,J,20,50,M,E,LB,,MSC-J-20x50.step +J20-50MELBU,J,20,50,M,E,LB,U,MSC-J-20x50.step +J20-50MELBCM,J,20,50,M,E,LB,CM,MSC-J-20x50.step +J20-50MEFA,J,20,50,M,E,FA,,MSC-J-20x50.step +J20-50MEFAU,J,20,50,M,E,FA,U,MSC-J-20x50.step +J20-50MEFACM,J,20,50,M,E,FA,CM,MSC-J-20x50.step +J20-50MEFB,J,20,50,M,E,FB,,MSC-J-20x50.step +J20-50MEFBU,J,20,50,M,E,FB,U,MSC-J-20x50.step +J20-50MEFBCM,J,20,50,M,E,FB,CM,MSC-J-20x50.step +J20-50MESDB,J,20,50,M,E,SDB,,MSC-J-20x50.step +J20-50MESDBU,J,20,50,M,E,SDB,U,MSC-J-20x50.step +J20-50MESDBCM,J,20,50,M,E,SDB,CM,MSC-J-20x50.step +J20-50M,J,20,50,M,,,,MSC-J-20x50.step +J20-50MU,J,20,50,M,,,U,MSC-J-20x50.step +J20-50MCM,J,20,50,M,,,CM,MSC-J-20x50.step +J20-50MLB,J,20,50,M,,LB,,MSC-J-20x50.step +J20-50MLBU,J,20,50,M,,LB,U,MSC-J-20x50.step +J20-50MLBCM,J,20,50,M,,LB,CM,MSC-J-20x50.step +J20-50MFA,J,20,50,M,,FA,,MSC-J-20x50.step +J20-50MFAU,J,20,50,M,,FA,U,MSC-J-20x50.step +J20-50MFACM,J,20,50,M,,FA,CM,MSC-J-20x50.step +J20-50MFB,J,20,50,M,,FB,,MSC-J-20x50.step +J20-50MFBU,J,20,50,M,,FB,U,MSC-J-20x50.step +J20-50MFBCM,J,20,50,M,,FB,CM,MSC-J-20x50.step +J20-50MSDB,J,20,50,M,,SDB,,MSC-J-20x50.step +J20-50MSDBU,J,20,50,M,,SDB,U,MSC-J-20x50.step +J20-50MSDBCM,J,20,50,M,,SDB,CM,MSC-J-20x50.step +J20-75E,J,20,75,,E,,,MSC-J-20x75.step +J20-75EU,J,20,75,,E,,U,MSC-J-20x75.step +J20-75ECM,J,20,75,,E,,CM,MSC-J-20x75.step +J20-75ELB,J,20,75,,E,LB,,MSC-J-20x75.step +J20-75ELBU,J,20,75,,E,LB,U,MSC-J-20x75.step +J20-75ELBCM,J,20,75,,E,LB,CM,MSC-J-20x75.step +J20-75EFA,J,20,75,,E,FA,,MSC-J-20x75.step +J20-75EFAU,J,20,75,,E,FA,U,MSC-J-20x75.step +J20-75EFACM,J,20,75,,E,FA,CM,MSC-J-20x75.step +J20-75EFB,J,20,75,,E,FB,,MSC-J-20x75.step +J20-75EFBU,J,20,75,,E,FB,U,MSC-J-20x75.step +J20-75EFBCM,J,20,75,,E,FB,CM,MSC-J-20x75.step +J20-75ESDB,J,20,75,,E,SDB,,MSC-J-20x75.step +J20-75ESDBU,J,20,75,,E,SDB,U,MSC-J-20x75.step +J20-75ESDBCM,J,20,75,,E,SDB,CM,MSC-J-20x75.step +J20-75,J,20,75,,,,,MSC-J-20x75.step +J20-75U,J,20,75,,,,U,MSC-J-20x75.step +J20-75CM,J,20,75,,,,CM,MSC-J-20x75.step +J20-75LB,J,20,75,,,LB,,MSC-J-20x75.step +J20-75LBU,J,20,75,,,LB,U,MSC-J-20x75.step +J20-75LBCM,J,20,75,,,LB,CM,MSC-J-20x75.step +J20-75FA,J,20,75,,,FA,,MSC-J-20x75.step +J20-75FAU,J,20,75,,,FA,U,MSC-J-20x75.step +J20-75FACM,J,20,75,,,FA,CM,MSC-J-20x75.step +J20-75FB,J,20,75,,,FB,,MSC-J-20x75.step +J20-75FBU,J,20,75,,,FB,U,MSC-J-20x75.step +J20-75FBCM,J,20,75,,,FB,CM,MSC-J-20x75.step +J20-75SDB,J,20,75,,,SDB,,MSC-J-20x75.step +J20-75SDBU,J,20,75,,,SDB,U,MSC-J-20x75.step +J20-75SDBCM,J,20,75,,,SDB,CM,MSC-J-20x75.step +J20-75ME,J,20,75,M,E,,,MSC-J-20x75.step +J20-75MEU,J,20,75,M,E,,U,MSC-J-20x75.step +J20-75MECM,J,20,75,M,E,,CM,MSC-J-20x75.step +J20-75MELB,J,20,75,M,E,LB,,MSC-J-20x75.step +J20-75MELBU,J,20,75,M,E,LB,U,MSC-J-20x75.step +J20-75MELBCM,J,20,75,M,E,LB,CM,MSC-J-20x75.step +J20-75MEFA,J,20,75,M,E,FA,,MSC-J-20x75.step +J20-75MEFAU,J,20,75,M,E,FA,U,MSC-J-20x75.step +J20-75MEFACM,J,20,75,M,E,FA,CM,MSC-J-20x75.step +J20-75MEFB,J,20,75,M,E,FB,,MSC-J-20x75.step +J20-75MEFBU,J,20,75,M,E,FB,U,MSC-J-20x75.step +J20-75MEFBCM,J,20,75,M,E,FB,CM,MSC-J-20x75.step +J20-75MESDB,J,20,75,M,E,SDB,,MSC-J-20x75.step +J20-75MESDBU,J,20,75,M,E,SDB,U,MSC-J-20x75.step +J20-75MESDBCM,J,20,75,M,E,SDB,CM,MSC-J-20x75.step +J20-75M,J,20,75,M,,,,MSC-J-20x75.step +J20-75MU,J,20,75,M,,,U,MSC-J-20x75.step +J20-75MCM,J,20,75,M,,,CM,MSC-J-20x75.step +J20-75MLB,J,20,75,M,,LB,,MSC-J-20x75.step +J20-75MLBU,J,20,75,M,,LB,U,MSC-J-20x75.step +J20-75MLBCM,J,20,75,M,,LB,CM,MSC-J-20x75.step +J20-75MFA,J,20,75,M,,FA,,MSC-J-20x75.step +J20-75MFAU,J,20,75,M,,FA,U,MSC-J-20x75.step +J20-75MFACM,J,20,75,M,,FA,CM,MSC-J-20x75.step +J20-75MFB,J,20,75,M,,FB,,MSC-J-20x75.step +J20-75MFBU,J,20,75,M,,FB,U,MSC-J-20x75.step +J20-75MFBCM,J,20,75,M,,FB,CM,MSC-J-20x75.step +J20-75MSDB,J,20,75,M,,SDB,,MSC-J-20x75.step +J20-75MSDBU,J,20,75,M,,SDB,U,MSC-J-20x75.step +J20-75MSDBCM,J,20,75,M,,SDB,CM,MSC-J-20x75.step +J20-100E,J,20,100,,E,,,MSC-J-20x100.step +J20-100EU,J,20,100,,E,,U,MSC-J-20x100.step +J20-100ECM,J,20,100,,E,,CM,MSC-J-20x100.step +J20-100ELB,J,20,100,,E,LB,,MSC-J-20x100.step +J20-100ELBU,J,20,100,,E,LB,U,MSC-J-20x100.step +J20-100ELBCM,J,20,100,,E,LB,CM,MSC-J-20x100.step +J20-100EFA,J,20,100,,E,FA,,MSC-J-20x100.step +J20-100EFAU,J,20,100,,E,FA,U,MSC-J-20x100.step +J20-100EFACM,J,20,100,,E,FA,CM,MSC-J-20x100.step +J20-100EFB,J,20,100,,E,FB,,MSC-J-20x100.step +J20-100EFBU,J,20,100,,E,FB,U,MSC-J-20x100.step +J20-100EFBCM,J,20,100,,E,FB,CM,MSC-J-20x100.step +J20-100ESDB,J,20,100,,E,SDB,,MSC-J-20x100.step +J20-100ESDBU,J,20,100,,E,SDB,U,MSC-J-20x100.step +J20-100ESDBCM,J,20,100,,E,SDB,CM,MSC-J-20x100.step +J20-100,J,20,100,,,,,MSC-J-20x100.step +J20-100U,J,20,100,,,,U,MSC-J-20x100.step +J20-100CM,J,20,100,,,,CM,MSC-J-20x100.step +J20-100LB,J,20,100,,,LB,,MSC-J-20x100.step +J20-100LBU,J,20,100,,,LB,U,MSC-J-20x100.step +J20-100LBCM,J,20,100,,,LB,CM,MSC-J-20x100.step +J20-100FA,J,20,100,,,FA,,MSC-J-20x100.step +J20-100FAU,J,20,100,,,FA,U,MSC-J-20x100.step +J20-100FACM,J,20,100,,,FA,CM,MSC-J-20x100.step +J20-100FB,J,20,100,,,FB,,MSC-J-20x100.step +J20-100FBU,J,20,100,,,FB,U,MSC-J-20x100.step +J20-100FBCM,J,20,100,,,FB,CM,MSC-J-20x100.step +J20-100SDB,J,20,100,,,SDB,,MSC-J-20x100.step +J20-100SDBU,J,20,100,,,SDB,U,MSC-J-20x100.step +J20-100SDBCM,J,20,100,,,SDB,CM,MSC-J-20x100.step +J20-100ME,J,20,100,M,E,,,MSC-J-20x100.step +J20-100MEU,J,20,100,M,E,,U,MSC-J-20x100.step +J20-100MECM,J,20,100,M,E,,CM,MSC-J-20x100.step +J20-100MELB,J,20,100,M,E,LB,,MSC-J-20x100.step +J20-100MELBU,J,20,100,M,E,LB,U,MSC-J-20x100.step +J20-100MELBCM,J,20,100,M,E,LB,CM,MSC-J-20x100.step +J20-100MEFA,J,20,100,M,E,FA,,MSC-J-20x100.step +J20-100MEFAU,J,20,100,M,E,FA,U,MSC-J-20x100.step +J20-100MEFACM,J,20,100,M,E,FA,CM,MSC-J-20x100.step +J20-100MEFB,J,20,100,M,E,FB,,MSC-J-20x100.step +J20-100MEFBU,J,20,100,M,E,FB,U,MSC-J-20x100.step +J20-100MEFBCM,J,20,100,M,E,FB,CM,MSC-J-20x100.step +J20-100MESDB,J,20,100,M,E,SDB,,MSC-J-20x100.step +J20-100MESDBU,J,20,100,M,E,SDB,U,MSC-J-20x100.step +J20-100MESDBCM,J,20,100,M,E,SDB,CM,MSC-J-20x100.step +J20-100M,J,20,100,M,,,,MSC-J-20x100.step +J20-100MU,J,20,100,M,,,U,MSC-J-20x100.step +J20-100MCM,J,20,100,M,,,CM,MSC-J-20x100.step +J20-100MLB,J,20,100,M,,LB,,MSC-J-20x100.step +J20-100MLBU,J,20,100,M,,LB,U,MSC-J-20x100.step +J20-100MLBCM,J,20,100,M,,LB,CM,MSC-J-20x100.step +J20-100MFA,J,20,100,M,,FA,,MSC-J-20x100.step +J20-100MFAU,J,20,100,M,,FA,U,MSC-J-20x100.step +J20-100MFACM,J,20,100,M,,FA,CM,MSC-J-20x100.step +J20-100MFB,J,20,100,M,,FB,,MSC-J-20x100.step +J20-100MFBU,J,20,100,M,,FB,U,MSC-J-20x100.step +J20-100MFBCM,J,20,100,M,,FB,CM,MSC-J-20x100.step +J20-100MSDB,J,20,100,M,,SDB,,MSC-J-20x100.step +J20-100MSDBU,J,20,100,M,,SDB,U,MSC-J-20x100.step +J20-100MSDBCM,J,20,100,M,,SDB,CM,MSC-J-20x100.step +J25-10E,J,25,10,,E,,,MSC-J-25x10.step +J25-10EU,J,25,10,,E,,U,MSC-J-25x10.step +J25-10ECM,J,25,10,,E,,CM,MSC-J-25x10.step +J25-10ELB,J,25,10,,E,LB,,MSC-J-25x10.step +J25-10ELBU,J,25,10,,E,LB,U,MSC-J-25x10.step +J25-10ELBCM,J,25,10,,E,LB,CM,MSC-J-25x10.step +J25-10EFA,J,25,10,,E,FA,,MSC-J-25x10.step +J25-10EFAU,J,25,10,,E,FA,U,MSC-J-25x10.step +J25-10EFACM,J,25,10,,E,FA,CM,MSC-J-25x10.step +J25-10EFB,J,25,10,,E,FB,,MSC-J-25x10.step +J25-10EFBU,J,25,10,,E,FB,U,MSC-J-25x10.step +J25-10EFBCM,J,25,10,,E,FB,CM,MSC-J-25x10.step +J25-10ESDB,J,25,10,,E,SDB,,MSC-J-25x10.step +J25-10ESDBU,J,25,10,,E,SDB,U,MSC-J-25x10.step +J25-10ESDBCM,J,25,10,,E,SDB,CM,MSC-J-25x10.step +J25-10,J,25,10,,,,,MSC-J-25x10.step +J25-10U,J,25,10,,,,U,MSC-J-25x10.step +J25-10CM,J,25,10,,,,CM,MSC-J-25x10.step +J25-10LB,J,25,10,,,LB,,MSC-J-25x10.step +J25-10LBU,J,25,10,,,LB,U,MSC-J-25x10.step +J25-10LBCM,J,25,10,,,LB,CM,MSC-J-25x10.step +J25-10FA,J,25,10,,,FA,,MSC-J-25x10.step +J25-10FAU,J,25,10,,,FA,U,MSC-J-25x10.step +J25-10FACM,J,25,10,,,FA,CM,MSC-J-25x10.step +J25-10FB,J,25,10,,,FB,,MSC-J-25x10.step +J25-10FBU,J,25,10,,,FB,U,MSC-J-25x10.step +J25-10FBCM,J,25,10,,,FB,CM,MSC-J-25x10.step +J25-10SDB,J,25,10,,,SDB,,MSC-J-25x10.step +J25-10SDBU,J,25,10,,,SDB,U,MSC-J-25x10.step +J25-10SDBCM,J,25,10,,,SDB,CM,MSC-J-25x10.step +J25-10ME,J,25,10,M,E,,,MSC-J-25x10.step +J25-10MEU,J,25,10,M,E,,U,MSC-J-25x10.step +J25-10MECM,J,25,10,M,E,,CM,MSC-J-25x10.step +J25-10MELB,J,25,10,M,E,LB,,MSC-J-25x10.step +J25-10MELBU,J,25,10,M,E,LB,U,MSC-J-25x10.step +J25-10MELBCM,J,25,10,M,E,LB,CM,MSC-J-25x10.step +J25-10MEFA,J,25,10,M,E,FA,,MSC-J-25x10.step +J25-10MEFAU,J,25,10,M,E,FA,U,MSC-J-25x10.step +J25-10MEFACM,J,25,10,M,E,FA,CM,MSC-J-25x10.step +J25-10MEFB,J,25,10,M,E,FB,,MSC-J-25x10.step +J25-10MEFBU,J,25,10,M,E,FB,U,MSC-J-25x10.step +J25-10MEFBCM,J,25,10,M,E,FB,CM,MSC-J-25x10.step +J25-10MESDB,J,25,10,M,E,SDB,,MSC-J-25x10.step +J25-10MESDBU,J,25,10,M,E,SDB,U,MSC-J-25x10.step +J25-10MESDBCM,J,25,10,M,E,SDB,CM,MSC-J-25x10.step +J25-10M,J,25,10,M,,,,MSC-J-25x10.step +J25-10MU,J,25,10,M,,,U,MSC-J-25x10.step +J25-10MCM,J,25,10,M,,,CM,MSC-J-25x10.step +J25-10MLB,J,25,10,M,,LB,,MSC-J-25x10.step +J25-10MLBU,J,25,10,M,,LB,U,MSC-J-25x10.step +J25-10MLBCM,J,25,10,M,,LB,CM,MSC-J-25x10.step +J25-10MFA,J,25,10,M,,FA,,MSC-J-25x10.step +J25-10MFAU,J,25,10,M,,FA,U,MSC-J-25x10.step +J25-10MFACM,J,25,10,M,,FA,CM,MSC-J-25x10.step +J25-10MFB,J,25,10,M,,FB,,MSC-J-25x10.step +J25-10MFBU,J,25,10,M,,FB,U,MSC-J-25x10.step +J25-10MFBCM,J,25,10,M,,FB,CM,MSC-J-25x10.step +J25-10MSDB,J,25,10,M,,SDB,,MSC-J-25x10.step +J25-10MSDBU,J,25,10,M,,SDB,U,MSC-J-25x10.step +J25-10MSDBCM,J,25,10,M,,SDB,CM,MSC-J-25x10.step +J25-20E,J,25,20,,E,,,MSC-J-25x20.step +J25-20EU,J,25,20,,E,,U,MSC-J-25x20.step +J25-20ECM,J,25,20,,E,,CM,MSC-J-25x20.step +J25-20ELB,J,25,20,,E,LB,,MSC-J-25x20.step +J25-20ELBU,J,25,20,,E,LB,U,MSC-J-25x20.step +J25-20ELBCM,J,25,20,,E,LB,CM,MSC-J-25x20.step +J25-20EFA,J,25,20,,E,FA,,MSC-J-25x20.step +J25-20EFAU,J,25,20,,E,FA,U,MSC-J-25x20.step +J25-20EFACM,J,25,20,,E,FA,CM,MSC-J-25x20.step +J25-20EFB,J,25,20,,E,FB,,MSC-J-25x20.step +J25-20EFBU,J,25,20,,E,FB,U,MSC-J-25x20.step +J25-20EFBCM,J,25,20,,E,FB,CM,MSC-J-25x20.step +J25-20ESDB,J,25,20,,E,SDB,,MSC-J-25x20.step +J25-20ESDBU,J,25,20,,E,SDB,U,MSC-J-25x20.step +J25-20ESDBCM,J,25,20,,E,SDB,CM,MSC-J-25x20.step +J25-20,J,25,20,,,,,MSC-J-25x20.step +J25-20U,J,25,20,,,,U,MSC-J-25x20.step +J25-20CM,J,25,20,,,,CM,MSC-J-25x20.step +J25-20LB,J,25,20,,,LB,,MSC-J-25x20.step +J25-20LBU,J,25,20,,,LB,U,MSC-J-25x20.step +J25-20LBCM,J,25,20,,,LB,CM,MSC-J-25x20.step +J25-20FA,J,25,20,,,FA,,MSC-J-25x20.step +J25-20FAU,J,25,20,,,FA,U,MSC-J-25x20.step +J25-20FACM,J,25,20,,,FA,CM,MSC-J-25x20.step +J25-20FB,J,25,20,,,FB,,MSC-J-25x20.step +J25-20FBU,J,25,20,,,FB,U,MSC-J-25x20.step +J25-20FBCM,J,25,20,,,FB,CM,MSC-J-25x20.step +J25-20SDB,J,25,20,,,SDB,,MSC-J-25x20.step +J25-20SDBU,J,25,20,,,SDB,U,MSC-J-25x20.step +J25-20SDBCM,J,25,20,,,SDB,CM,MSC-J-25x20.step +J25-20ME,J,25,20,M,E,,,MSC-J-25x20.step +J25-20MEU,J,25,20,M,E,,U,MSC-J-25x20.step +J25-20MECM,J,25,20,M,E,,CM,MSC-J-25x20.step +J25-20MELB,J,25,20,M,E,LB,,MSC-J-25x20.step +J25-20MELBU,J,25,20,M,E,LB,U,MSC-J-25x20.step +J25-20MELBCM,J,25,20,M,E,LB,CM,MSC-J-25x20.step +J25-20MEFA,J,25,20,M,E,FA,,MSC-J-25x20.step +J25-20MEFAU,J,25,20,M,E,FA,U,MSC-J-25x20.step +J25-20MEFACM,J,25,20,M,E,FA,CM,MSC-J-25x20.step +J25-20MEFB,J,25,20,M,E,FB,,MSC-J-25x20.step +J25-20MEFBU,J,25,20,M,E,FB,U,MSC-J-25x20.step +J25-20MEFBCM,J,25,20,M,E,FB,CM,MSC-J-25x20.step +J25-20MESDB,J,25,20,M,E,SDB,,MSC-J-25x20.step +J25-20MESDBU,J,25,20,M,E,SDB,U,MSC-J-25x20.step +J25-20MESDBCM,J,25,20,M,E,SDB,CM,MSC-J-25x20.step +J25-20M,J,25,20,M,,,,MSC-J-25x20.step +J25-20MU,J,25,20,M,,,U,MSC-J-25x20.step +J25-20MCM,J,25,20,M,,,CM,MSC-J-25x20.step +J25-20MLB,J,25,20,M,,LB,,MSC-J-25x20.step +J25-20MLBU,J,25,20,M,,LB,U,MSC-J-25x20.step +J25-20MLBCM,J,25,20,M,,LB,CM,MSC-J-25x20.step +J25-20MFA,J,25,20,M,,FA,,MSC-J-25x20.step +J25-20MFAU,J,25,20,M,,FA,U,MSC-J-25x20.step +J25-20MFACM,J,25,20,M,,FA,CM,MSC-J-25x20.step +J25-20MFB,J,25,20,M,,FB,,MSC-J-25x20.step +J25-20MFBU,J,25,20,M,,FB,U,MSC-J-25x20.step +J25-20MFBCM,J,25,20,M,,FB,CM,MSC-J-25x20.step +J25-20MSDB,J,25,20,M,,SDB,,MSC-J-25x20.step +J25-20MSDBU,J,25,20,M,,SDB,U,MSC-J-25x20.step +J25-20MSDBCM,J,25,20,M,,SDB,CM,MSC-J-25x20.step +J25-30E,J,25,30,,E,,,MSC-J-25x30.step +J25-30EU,J,25,30,,E,,U,MSC-J-25x30.step +J25-30ECM,J,25,30,,E,,CM,MSC-J-25x30.step +J25-30ELB,J,25,30,,E,LB,,MSC-J-25x30.step +J25-30ELBU,J,25,30,,E,LB,U,MSC-J-25x30.step +J25-30ELBCM,J,25,30,,E,LB,CM,MSC-J-25x30.step +J25-30EFA,J,25,30,,E,FA,,MSC-J-25x30.step +J25-30EFAU,J,25,30,,E,FA,U,MSC-J-25x30.step +J25-30EFACM,J,25,30,,E,FA,CM,MSC-J-25x30.step +J25-30EFB,J,25,30,,E,FB,,MSC-J-25x30.step +J25-30EFBU,J,25,30,,E,FB,U,MSC-J-25x30.step +J25-30EFBCM,J,25,30,,E,FB,CM,MSC-J-25x30.step +J25-30ESDB,J,25,30,,E,SDB,,MSC-J-25x30.step +J25-30ESDBU,J,25,30,,E,SDB,U,MSC-J-25x30.step +J25-30ESDBCM,J,25,30,,E,SDB,CM,MSC-J-25x30.step +J25-30,J,25,30,,,,,MSC-J-25x30.step +J25-30U,J,25,30,,,,U,MSC-J-25x30.step +J25-30CM,J,25,30,,,,CM,MSC-J-25x30.step +J25-30LB,J,25,30,,,LB,,MSC-J-25x30.step +J25-30LBU,J,25,30,,,LB,U,MSC-J-25x30.step +J25-30LBCM,J,25,30,,,LB,CM,MSC-J-25x30.step +J25-30FA,J,25,30,,,FA,,MSC-J-25x30.step +J25-30FAU,J,25,30,,,FA,U,MSC-J-25x30.step +J25-30FACM,J,25,30,,,FA,CM,MSC-J-25x30.step +J25-30FB,J,25,30,,,FB,,MSC-J-25x30.step +J25-30FBU,J,25,30,,,FB,U,MSC-J-25x30.step +J25-30FBCM,J,25,30,,,FB,CM,MSC-J-25x30.step +J25-30SDB,J,25,30,,,SDB,,MSC-J-25x30.step +J25-30SDBU,J,25,30,,,SDB,U,MSC-J-25x30.step +J25-30SDBCM,J,25,30,,,SDB,CM,MSC-J-25x30.step +J25-30ME,J,25,30,M,E,,,MSC-J-25x30.step +J25-30MEU,J,25,30,M,E,,U,MSC-J-25x30.step +J25-30MECM,J,25,30,M,E,,CM,MSC-J-25x30.step +J25-30MELB,J,25,30,M,E,LB,,MSC-J-25x30.step +J25-30MELBU,J,25,30,M,E,LB,U,MSC-J-25x30.step +J25-30MELBCM,J,25,30,M,E,LB,CM,MSC-J-25x30.step +J25-30MEFA,J,25,30,M,E,FA,,MSC-J-25x30.step +J25-30MEFAU,J,25,30,M,E,FA,U,MSC-J-25x30.step +J25-30MEFACM,J,25,30,M,E,FA,CM,MSC-J-25x30.step +J25-30MEFB,J,25,30,M,E,FB,,MSC-J-25x30.step +J25-30MEFBU,J,25,30,M,E,FB,U,MSC-J-25x30.step +J25-30MEFBCM,J,25,30,M,E,FB,CM,MSC-J-25x30.step +J25-30MESDB,J,25,30,M,E,SDB,,MSC-J-25x30.step +J25-30MESDBU,J,25,30,M,E,SDB,U,MSC-J-25x30.step +J25-30MESDBCM,J,25,30,M,E,SDB,CM,MSC-J-25x30.step +J25-30M,J,25,30,M,,,,MSC-J-25x30.step +J25-30MU,J,25,30,M,,,U,MSC-J-25x30.step +J25-30MCM,J,25,30,M,,,CM,MSC-J-25x30.step +J25-30MLB,J,25,30,M,,LB,,MSC-J-25x30.step +J25-30MLBU,J,25,30,M,,LB,U,MSC-J-25x30.step +J25-30MLBCM,J,25,30,M,,LB,CM,MSC-J-25x30.step +J25-30MFA,J,25,30,M,,FA,,MSC-J-25x30.step +J25-30MFAU,J,25,30,M,,FA,U,MSC-J-25x30.step +J25-30MFACM,J,25,30,M,,FA,CM,MSC-J-25x30.step +J25-30MFB,J,25,30,M,,FB,,MSC-J-25x30.step +J25-30MFBU,J,25,30,M,,FB,U,MSC-J-25x30.step +J25-30MFBCM,J,25,30,M,,FB,CM,MSC-J-25x30.step +J25-30MSDB,J,25,30,M,,SDB,,MSC-J-25x30.step +J25-30MSDBU,J,25,30,M,,SDB,U,MSC-J-25x30.step +J25-30MSDBCM,J,25,30,M,,SDB,CM,MSC-J-25x30.step +J25-50E,J,25,50,,E,,,MSC-J-25x50.step +J25-50EU,J,25,50,,E,,U,MSC-J-25x50.step +J25-50ECM,J,25,50,,E,,CM,MSC-J-25x50.step +J25-50ELB,J,25,50,,E,LB,,MSC-J-25x50.step +J25-50ELBU,J,25,50,,E,LB,U,MSC-J-25x50.step +J25-50ELBCM,J,25,50,,E,LB,CM,MSC-J-25x50.step +J25-50EFA,J,25,50,,E,FA,,MSC-J-25x50.step +J25-50EFAU,J,25,50,,E,FA,U,MSC-J-25x50.step +J25-50EFACM,J,25,50,,E,FA,CM,MSC-J-25x50.step +J25-50EFB,J,25,50,,E,FB,,MSC-J-25x50.step +J25-50EFBU,J,25,50,,E,FB,U,MSC-J-25x50.step +J25-50EFBCM,J,25,50,,E,FB,CM,MSC-J-25x50.step +J25-50ESDB,J,25,50,,E,SDB,,MSC-J-25x50.step +J25-50ESDBU,J,25,50,,E,SDB,U,MSC-J-25x50.step +J25-50ESDBCM,J,25,50,,E,SDB,CM,MSC-J-25x50.step +J25-50,J,25,50,,,,,MSC-J-25x50.step +J25-50U,J,25,50,,,,U,MSC-J-25x50.step +J25-50CM,J,25,50,,,,CM,MSC-J-25x50.step +J25-50LB,J,25,50,,,LB,,MSC-J-25x50.step +J25-50LBU,J,25,50,,,LB,U,MSC-J-25x50.step +J25-50LBCM,J,25,50,,,LB,CM,MSC-J-25x50.step +J25-50FA,J,25,50,,,FA,,MSC-J-25x50.step +J25-50FAU,J,25,50,,,FA,U,MSC-J-25x50.step +J25-50FACM,J,25,50,,,FA,CM,MSC-J-25x50.step +J25-50FB,J,25,50,,,FB,,MSC-J-25x50.step +J25-50FBU,J,25,50,,,FB,U,MSC-J-25x50.step +J25-50FBCM,J,25,50,,,FB,CM,MSC-J-25x50.step +J25-50SDB,J,25,50,,,SDB,,MSC-J-25x50.step +J25-50SDBU,J,25,50,,,SDB,U,MSC-J-25x50.step +J25-50SDBCM,J,25,50,,,SDB,CM,MSC-J-25x50.step +J25-50ME,J,25,50,M,E,,,MSC-J-25x50.step +J25-50MEU,J,25,50,M,E,,U,MSC-J-25x50.step +J25-50MECM,J,25,50,M,E,,CM,MSC-J-25x50.step +J25-50MELB,J,25,50,M,E,LB,,MSC-J-25x50.step +J25-50MELBU,J,25,50,M,E,LB,U,MSC-J-25x50.step +J25-50MELBCM,J,25,50,M,E,LB,CM,MSC-J-25x50.step +J25-50MEFA,J,25,50,M,E,FA,,MSC-J-25x50.step +J25-50MEFAU,J,25,50,M,E,FA,U,MSC-J-25x50.step +J25-50MEFACM,J,25,50,M,E,FA,CM,MSC-J-25x50.step +J25-50MEFB,J,25,50,M,E,FB,,MSC-J-25x50.step +J25-50MEFBU,J,25,50,M,E,FB,U,MSC-J-25x50.step +J25-50MEFBCM,J,25,50,M,E,FB,CM,MSC-J-25x50.step +J25-50MESDB,J,25,50,M,E,SDB,,MSC-J-25x50.step +J25-50MESDBU,J,25,50,M,E,SDB,U,MSC-J-25x50.step +J25-50MESDBCM,J,25,50,M,E,SDB,CM,MSC-J-25x50.step +J25-50M,J,25,50,M,,,,MSC-J-25x50.step +J25-50MU,J,25,50,M,,,U,MSC-J-25x50.step +J25-50MCM,J,25,50,M,,,CM,MSC-J-25x50.step +J25-50MLB,J,25,50,M,,LB,,MSC-J-25x50.step +J25-50MLBU,J,25,50,M,,LB,U,MSC-J-25x50.step +J25-50MLBCM,J,25,50,M,,LB,CM,MSC-J-25x50.step +J25-50MFA,J,25,50,M,,FA,,MSC-J-25x50.step +J25-50MFAU,J,25,50,M,,FA,U,MSC-J-25x50.step +J25-50MFACM,J,25,50,M,,FA,CM,MSC-J-25x50.step +J25-50MFB,J,25,50,M,,FB,,MSC-J-25x50.step +J25-50MFBU,J,25,50,M,,FB,U,MSC-J-25x50.step +J25-50MFBCM,J,25,50,M,,FB,CM,MSC-J-25x50.step +J25-50MSDB,J,25,50,M,,SDB,,MSC-J-25x50.step +J25-50MSDBU,J,25,50,M,,SDB,U,MSC-J-25x50.step +J25-50MSDBCM,J,25,50,M,,SDB,CM,MSC-J-25x50.step +J25-75E,J,25,75,,E,,,MSC-J-25x75.step +J25-75EU,J,25,75,,E,,U,MSC-J-25x75.step +J25-75ECM,J,25,75,,E,,CM,MSC-J-25x75.step +J25-75ELB,J,25,75,,E,LB,,MSC-J-25x75.step +J25-75ELBU,J,25,75,,E,LB,U,MSC-J-25x75.step +J25-75ELBCM,J,25,75,,E,LB,CM,MSC-J-25x75.step +J25-75EFA,J,25,75,,E,FA,,MSC-J-25x75.step +J25-75EFAU,J,25,75,,E,FA,U,MSC-J-25x75.step +J25-75EFACM,J,25,75,,E,FA,CM,MSC-J-25x75.step +J25-75EFB,J,25,75,,E,FB,,MSC-J-25x75.step +J25-75EFBU,J,25,75,,E,FB,U,MSC-J-25x75.step +J25-75EFBCM,J,25,75,,E,FB,CM,MSC-J-25x75.step +J25-75ESDB,J,25,75,,E,SDB,,MSC-J-25x75.step +J25-75ESDBU,J,25,75,,E,SDB,U,MSC-J-25x75.step +J25-75ESDBCM,J,25,75,,E,SDB,CM,MSC-J-25x75.step +J25-75,J,25,75,,,,,MSC-J-25x75.step +J25-75U,J,25,75,,,,U,MSC-J-25x75.step +J25-75CM,J,25,75,,,,CM,MSC-J-25x75.step +J25-75LB,J,25,75,,,LB,,MSC-J-25x75.step +J25-75LBU,J,25,75,,,LB,U,MSC-J-25x75.step +J25-75LBCM,J,25,75,,,LB,CM,MSC-J-25x75.step +J25-75FA,J,25,75,,,FA,,MSC-J-25x75.step +J25-75FAU,J,25,75,,,FA,U,MSC-J-25x75.step +J25-75FACM,J,25,75,,,FA,CM,MSC-J-25x75.step +J25-75FB,J,25,75,,,FB,,MSC-J-25x75.step +J25-75FBU,J,25,75,,,FB,U,MSC-J-25x75.step +J25-75FBCM,J,25,75,,,FB,CM,MSC-J-25x75.step +J25-75SDB,J,25,75,,,SDB,,MSC-J-25x75.step +J25-75SDBU,J,25,75,,,SDB,U,MSC-J-25x75.step +J25-75SDBCM,J,25,75,,,SDB,CM,MSC-J-25x75.step +J25-75ME,J,25,75,M,E,,,MSC-J-25x75.step +J25-75MEU,J,25,75,M,E,,U,MSC-J-25x75.step +J25-75MECM,J,25,75,M,E,,CM,MSC-J-25x75.step +J25-75MELB,J,25,75,M,E,LB,,MSC-J-25x75.step +J25-75MELBU,J,25,75,M,E,LB,U,MSC-J-25x75.step +J25-75MELBCM,J,25,75,M,E,LB,CM,MSC-J-25x75.step +J25-75MEFA,J,25,75,M,E,FA,,MSC-J-25x75.step +J25-75MEFAU,J,25,75,M,E,FA,U,MSC-J-25x75.step +J25-75MEFACM,J,25,75,M,E,FA,CM,MSC-J-25x75.step +J25-75MEFB,J,25,75,M,E,FB,,MSC-J-25x75.step +J25-75MEFBU,J,25,75,M,E,FB,U,MSC-J-25x75.step +J25-75MEFBCM,J,25,75,M,E,FB,CM,MSC-J-25x75.step +J25-75MESDB,J,25,75,M,E,SDB,,MSC-J-25x75.step +J25-75MESDBU,J,25,75,M,E,SDB,U,MSC-J-25x75.step +J25-75MESDBCM,J,25,75,M,E,SDB,CM,MSC-J-25x75.step +J25-75M,J,25,75,M,,,,MSC-J-25x75.step +J25-75MU,J,25,75,M,,,U,MSC-J-25x75.step +J25-75MCM,J,25,75,M,,,CM,MSC-J-25x75.step +J25-75MLB,J,25,75,M,,LB,,MSC-J-25x75.step +J25-75MLBU,J,25,75,M,,LB,U,MSC-J-25x75.step +J25-75MLBCM,J,25,75,M,,LB,CM,MSC-J-25x75.step +J25-75MFA,J,25,75,M,,FA,,MSC-J-25x75.step +J25-75MFAU,J,25,75,M,,FA,U,MSC-J-25x75.step +J25-75MFACM,J,25,75,M,,FA,CM,MSC-J-25x75.step +J25-75MFB,J,25,75,M,,FB,,MSC-J-25x75.step +J25-75MFBU,J,25,75,M,,FB,U,MSC-J-25x75.step +J25-75MFBCM,J,25,75,M,,FB,CM,MSC-J-25x75.step +J25-75MSDB,J,25,75,M,,SDB,,MSC-J-25x75.step +J25-75MSDBU,J,25,75,M,,SDB,U,MSC-J-25x75.step +J25-75MSDBCM,J,25,75,M,,SDB,CM,MSC-J-25x75.step +J25-100E,J,25,100,,E,,,MSC-J-25x100.step +J25-100EU,J,25,100,,E,,U,MSC-J-25x100.step +J25-100ECM,J,25,100,,E,,CM,MSC-J-25x100.step +J25-100ELB,J,25,100,,E,LB,,MSC-J-25x100.step +J25-100ELBU,J,25,100,,E,LB,U,MSC-J-25x100.step +J25-100ELBCM,J,25,100,,E,LB,CM,MSC-J-25x100.step +J25-100EFA,J,25,100,,E,FA,,MSC-J-25x100.step +J25-100EFAU,J,25,100,,E,FA,U,MSC-J-25x100.step +J25-100EFACM,J,25,100,,E,FA,CM,MSC-J-25x100.step +J25-100EFB,J,25,100,,E,FB,,MSC-J-25x100.step +J25-100EFBU,J,25,100,,E,FB,U,MSC-J-25x100.step +J25-100EFBCM,J,25,100,,E,FB,CM,MSC-J-25x100.step +J25-100ESDB,J,25,100,,E,SDB,,MSC-J-25x100.step +J25-100ESDBU,J,25,100,,E,SDB,U,MSC-J-25x100.step +J25-100ESDBCM,J,25,100,,E,SDB,CM,MSC-J-25x100.step +J25-100,J,25,100,,,,,MSC-J-25x100.step +J25-100U,J,25,100,,,,U,MSC-J-25x100.step +J25-100CM,J,25,100,,,,CM,MSC-J-25x100.step +J25-100LB,J,25,100,,,LB,,MSC-J-25x100.step +J25-100LBU,J,25,100,,,LB,U,MSC-J-25x100.step +J25-100LBCM,J,25,100,,,LB,CM,MSC-J-25x100.step +J25-100FA,J,25,100,,,FA,,MSC-J-25x100.step +J25-100FAU,J,25,100,,,FA,U,MSC-J-25x100.step +J25-100FACM,J,25,100,,,FA,CM,MSC-J-25x100.step +J25-100FB,J,25,100,,,FB,,MSC-J-25x100.step +J25-100FBU,J,25,100,,,FB,U,MSC-J-25x100.step +J25-100FBCM,J,25,100,,,FB,CM,MSC-J-25x100.step +J25-100SDB,J,25,100,,,SDB,,MSC-J-25x100.step +J25-100SDBU,J,25,100,,,SDB,U,MSC-J-25x100.step +J25-100SDBCM,J,25,100,,,SDB,CM,MSC-J-25x100.step +J25-100ME,J,25,100,M,E,,,MSC-J-25x100.step +J25-100MEU,J,25,100,M,E,,U,MSC-J-25x100.step +J25-100MECM,J,25,100,M,E,,CM,MSC-J-25x100.step +J25-100MELB,J,25,100,M,E,LB,,MSC-J-25x100.step +J25-100MELBU,J,25,100,M,E,LB,U,MSC-J-25x100.step +J25-100MELBCM,J,25,100,M,E,LB,CM,MSC-J-25x100.step +J25-100MEFA,J,25,100,M,E,FA,,MSC-J-25x100.step +J25-100MEFAU,J,25,100,M,E,FA,U,MSC-J-25x100.step +J25-100MEFACM,J,25,100,M,E,FA,CM,MSC-J-25x100.step +J25-100MEFB,J,25,100,M,E,FB,,MSC-J-25x100.step +J25-100MEFBU,J,25,100,M,E,FB,U,MSC-J-25x100.step +J25-100MEFBCM,J,25,100,M,E,FB,CM,MSC-J-25x100.step +J25-100MESDB,J,25,100,M,E,SDB,,MSC-J-25x100.step +J25-100MESDBU,J,25,100,M,E,SDB,U,MSC-J-25x100.step +J25-100MESDBCM,J,25,100,M,E,SDB,CM,MSC-J-25x100.step +J25-100M,J,25,100,M,,,,MSC-J-25x100.step +J25-100MU,J,25,100,M,,,U,MSC-J-25x100.step +J25-100MCM,J,25,100,M,,,CM,MSC-J-25x100.step +J25-100MLB,J,25,100,M,,LB,,MSC-J-25x100.step +J25-100MLBU,J,25,100,M,,LB,U,MSC-J-25x100.step +J25-100MLBCM,J,25,100,M,,LB,CM,MSC-J-25x100.step +J25-100MFA,J,25,100,M,,FA,,MSC-J-25x100.step +J25-100MFAU,J,25,100,M,,FA,U,MSC-J-25x100.step +J25-100MFACM,J,25,100,M,,FA,CM,MSC-J-25x100.step +J25-100MFB,J,25,100,M,,FB,,MSC-J-25x100.step +J25-100MFBU,J,25,100,M,,FB,U,MSC-J-25x100.step +J25-100MFBCM,J,25,100,M,,FB,CM,MSC-J-25x100.step +J25-100MSDB,J,25,100,M,,SDB,,MSC-J-25x100.step +J25-100MSDBU,J,25,100,M,,SDB,U,MSC-J-25x100.step +J25-100MSDBCM,J,25,100,M,,SDB,CM,MSC-J-25x100.step +J32-10E,J,32,10,,E,,,MSC-J-32x10.step +J32-10EU,J,32,10,,E,,U,MSC-J-32x10.step +J32-10ECM,J,32,10,,E,,CM,MSC-J-32x10.step +J32-10ELB,J,32,10,,E,LB,,MSC-J-32x10.step +J32-10ELBU,J,32,10,,E,LB,U,MSC-J-32x10.step +J32-10ELBCM,J,32,10,,E,LB,CM,MSC-J-32x10.step +J32-10EFA,J,32,10,,E,FA,,MSC-J-32x10.step +J32-10EFAU,J,32,10,,E,FA,U,MSC-J-32x10.step +J32-10EFACM,J,32,10,,E,FA,CM,MSC-J-32x10.step +J32-10EFB,J,32,10,,E,FB,,MSC-J-32x10.step +J32-10EFBU,J,32,10,,E,FB,U,MSC-J-32x10.step +J32-10EFBCM,J,32,10,,E,FB,CM,MSC-J-32x10.step +J32-10ESDB,J,32,10,,E,SDB,,MSC-J-32x10.step +J32-10ESDBU,J,32,10,,E,SDB,U,MSC-J-32x10.step +J32-10ESDBCM,J,32,10,,E,SDB,CM,MSC-J-32x10.step +J32-10,J,32,10,,,,,MSC-J-32x10.step +J32-10U,J,32,10,,,,U,MSC-J-32x10.step +J32-10CM,J,32,10,,,,CM,MSC-J-32x10.step +J32-10LB,J,32,10,,,LB,,MSC-J-32x10.step +J32-10LBU,J,32,10,,,LB,U,MSC-J-32x10.step +J32-10LBCM,J,32,10,,,LB,CM,MSC-J-32x10.step +J32-10FA,J,32,10,,,FA,,MSC-J-32x10.step +J32-10FAU,J,32,10,,,FA,U,MSC-J-32x10.step +J32-10FACM,J,32,10,,,FA,CM,MSC-J-32x10.step +J32-10FB,J,32,10,,,FB,,MSC-J-32x10.step +J32-10FBU,J,32,10,,,FB,U,MSC-J-32x10.step +J32-10FBCM,J,32,10,,,FB,CM,MSC-J-32x10.step +J32-10SDB,J,32,10,,,SDB,,MSC-J-32x10.step +J32-10SDBU,J,32,10,,,SDB,U,MSC-J-32x10.step +J32-10SDBCM,J,32,10,,,SDB,CM,MSC-J-32x10.step +J32-10ME,J,32,10,M,E,,,MSC-J-32x10.step +J32-10MEU,J,32,10,M,E,,U,MSC-J-32x10.step +J32-10MECM,J,32,10,M,E,,CM,MSC-J-32x10.step +J32-10MELB,J,32,10,M,E,LB,,MSC-J-32x10.step +J32-10MELBU,J,32,10,M,E,LB,U,MSC-J-32x10.step +J32-10MELBCM,J,32,10,M,E,LB,CM,MSC-J-32x10.step +J32-10MEFA,J,32,10,M,E,FA,,MSC-J-32x10.step +J32-10MEFAU,J,32,10,M,E,FA,U,MSC-J-32x10.step +J32-10MEFACM,J,32,10,M,E,FA,CM,MSC-J-32x10.step +J32-10MEFB,J,32,10,M,E,FB,,MSC-J-32x10.step +J32-10MEFBU,J,32,10,M,E,FB,U,MSC-J-32x10.step +J32-10MEFBCM,J,32,10,M,E,FB,CM,MSC-J-32x10.step +J32-10MESDB,J,32,10,M,E,SDB,,MSC-J-32x10.step +J32-10MESDBU,J,32,10,M,E,SDB,U,MSC-J-32x10.step +J32-10MESDBCM,J,32,10,M,E,SDB,CM,MSC-J-32x10.step +J32-10M,J,32,10,M,,,,MSC-J-32x10.step +J32-10MU,J,32,10,M,,,U,MSC-J-32x10.step +J32-10MCM,J,32,10,M,,,CM,MSC-J-32x10.step +J32-10MLB,J,32,10,M,,LB,,MSC-J-32x10.step +J32-10MLBU,J,32,10,M,,LB,U,MSC-J-32x10.step +J32-10MLBCM,J,32,10,M,,LB,CM,MSC-J-32x10.step +J32-10MFA,J,32,10,M,,FA,,MSC-J-32x10.step +J32-10MFAU,J,32,10,M,,FA,U,MSC-J-32x10.step +J32-10MFACM,J,32,10,M,,FA,CM,MSC-J-32x10.step +J32-10MFB,J,32,10,M,,FB,,MSC-J-32x10.step +J32-10MFBU,J,32,10,M,,FB,U,MSC-J-32x10.step +J32-10MFBCM,J,32,10,M,,FB,CM,MSC-J-32x10.step +J32-10MSDB,J,32,10,M,,SDB,,MSC-J-32x10.step +J32-10MSDBU,J,32,10,M,,SDB,U,MSC-J-32x10.step +J32-10MSDBCM,J,32,10,M,,SDB,CM,MSC-J-32x10.step +J32-20E,J,32,20,,E,,,MSC-J-32x20.step +J32-20EU,J,32,20,,E,,U,MSC-J-32x20.step +J32-20ECM,J,32,20,,E,,CM,MSC-J-32x20.step +J32-20ELB,J,32,20,,E,LB,,MSC-J-32x20.step +J32-20ELBU,J,32,20,,E,LB,U,MSC-J-32x20.step +J32-20ELBCM,J,32,20,,E,LB,CM,MSC-J-32x20.step +J32-20EFA,J,32,20,,E,FA,,MSC-J-32x20.step +J32-20EFAU,J,32,20,,E,FA,U,MSC-J-32x20.step +J32-20EFACM,J,32,20,,E,FA,CM,MSC-J-32x20.step +J32-20EFB,J,32,20,,E,FB,,MSC-J-32x20.step +J32-20EFBU,J,32,20,,E,FB,U,MSC-J-32x20.step +J32-20EFBCM,J,32,20,,E,FB,CM,MSC-J-32x20.step +J32-20ESDB,J,32,20,,E,SDB,,MSC-J-32x20.step +J32-20ESDBU,J,32,20,,E,SDB,U,MSC-J-32x20.step +J32-20ESDBCM,J,32,20,,E,SDB,CM,MSC-J-32x20.step +J32-20,J,32,20,,,,,MSC-J-32x20.step +J32-20U,J,32,20,,,,U,MSC-J-32x20.step +J32-20CM,J,32,20,,,,CM,MSC-J-32x20.step +J32-20LB,J,32,20,,,LB,,MSC-J-32x20.step +J32-20LBU,J,32,20,,,LB,U,MSC-J-32x20.step +J32-20LBCM,J,32,20,,,LB,CM,MSC-J-32x20.step +J32-20FA,J,32,20,,,FA,,MSC-J-32x20.step +J32-20FAU,J,32,20,,,FA,U,MSC-J-32x20.step +J32-20FACM,J,32,20,,,FA,CM,MSC-J-32x20.step +J32-20FB,J,32,20,,,FB,,MSC-J-32x20.step +J32-20FBU,J,32,20,,,FB,U,MSC-J-32x20.step +J32-20FBCM,J,32,20,,,FB,CM,MSC-J-32x20.step +J32-20SDB,J,32,20,,,SDB,,MSC-J-32x20.step +J32-20SDBU,J,32,20,,,SDB,U,MSC-J-32x20.step +J32-20SDBCM,J,32,20,,,SDB,CM,MSC-J-32x20.step +J32-20ME,J,32,20,M,E,,,MSC-J-32x20.step +J32-20MEU,J,32,20,M,E,,U,MSC-J-32x20.step +J32-20MECM,J,32,20,M,E,,CM,MSC-J-32x20.step +J32-20MELB,J,32,20,M,E,LB,,MSC-J-32x20.step +J32-20MELBU,J,32,20,M,E,LB,U,MSC-J-32x20.step +J32-20MELBCM,J,32,20,M,E,LB,CM,MSC-J-32x20.step +J32-20MEFA,J,32,20,M,E,FA,,MSC-J-32x20.step +J32-20MEFAU,J,32,20,M,E,FA,U,MSC-J-32x20.step +J32-20MEFACM,J,32,20,M,E,FA,CM,MSC-J-32x20.step +J32-20MEFB,J,32,20,M,E,FB,,MSC-J-32x20.step +J32-20MEFBU,J,32,20,M,E,FB,U,MSC-J-32x20.step +J32-20MEFBCM,J,32,20,M,E,FB,CM,MSC-J-32x20.step +J32-20MESDB,J,32,20,M,E,SDB,,MSC-J-32x20.step +J32-20MESDBU,J,32,20,M,E,SDB,U,MSC-J-32x20.step +J32-20MESDBCM,J,32,20,M,E,SDB,CM,MSC-J-32x20.step +J32-20M,J,32,20,M,,,,MSC-J-32x20.step +J32-20MU,J,32,20,M,,,U,MSC-J-32x20.step +J32-20MCM,J,32,20,M,,,CM,MSC-J-32x20.step +J32-20MLB,J,32,20,M,,LB,,MSC-J-32x20.step +J32-20MLBU,J,32,20,M,,LB,U,MSC-J-32x20.step +J32-20MLBCM,J,32,20,M,,LB,CM,MSC-J-32x20.step +J32-20MFA,J,32,20,M,,FA,,MSC-J-32x20.step +J32-20MFAU,J,32,20,M,,FA,U,MSC-J-32x20.step +J32-20MFACM,J,32,20,M,,FA,CM,MSC-J-32x20.step +J32-20MFB,J,32,20,M,,FB,,MSC-J-32x20.step +J32-20MFBU,J,32,20,M,,FB,U,MSC-J-32x20.step +J32-20MFBCM,J,32,20,M,,FB,CM,MSC-J-32x20.step +J32-20MSDB,J,32,20,M,,SDB,,MSC-J-32x20.step +J32-20MSDBU,J,32,20,M,,SDB,U,MSC-J-32x20.step +J32-20MSDBCM,J,32,20,M,,SDB,CM,MSC-J-32x20.step +J32-30E,J,32,30,,E,,,MSC-J-32x30.step +J32-30EU,J,32,30,,E,,U,MSC-J-32x30.step +J32-30ECM,J,32,30,,E,,CM,MSC-J-32x30.step +J32-30ELB,J,32,30,,E,LB,,MSC-J-32x30.step +J32-30ELBU,J,32,30,,E,LB,U,MSC-J-32x30.step +J32-30ELBCM,J,32,30,,E,LB,CM,MSC-J-32x30.step +J32-30EFA,J,32,30,,E,FA,,MSC-J-32x30.step +J32-30EFAU,J,32,30,,E,FA,U,MSC-J-32x30.step +J32-30EFACM,J,32,30,,E,FA,CM,MSC-J-32x30.step +J32-30EFB,J,32,30,,E,FB,,MSC-J-32x30.step +J32-30EFBU,J,32,30,,E,FB,U,MSC-J-32x30.step +J32-30EFBCM,J,32,30,,E,FB,CM,MSC-J-32x30.step +J32-30ESDB,J,32,30,,E,SDB,,MSC-J-32x30.step +J32-30ESDBU,J,32,30,,E,SDB,U,MSC-J-32x30.step +J32-30ESDBCM,J,32,30,,E,SDB,CM,MSC-J-32x30.step +J32-30,J,32,30,,,,,MSC-J-32x30.step +J32-30U,J,32,30,,,,U,MSC-J-32x30.step +J32-30CM,J,32,30,,,,CM,MSC-J-32x30.step +J32-30LB,J,32,30,,,LB,,MSC-J-32x30.step +J32-30LBU,J,32,30,,,LB,U,MSC-J-32x30.step +J32-30LBCM,J,32,30,,,LB,CM,MSC-J-32x30.step +J32-30FA,J,32,30,,,FA,,MSC-J-32x30.step +J32-30FAU,J,32,30,,,FA,U,MSC-J-32x30.step +J32-30FACM,J,32,30,,,FA,CM,MSC-J-32x30.step +J32-30FB,J,32,30,,,FB,,MSC-J-32x30.step +J32-30FBU,J,32,30,,,FB,U,MSC-J-32x30.step +J32-30FBCM,J,32,30,,,FB,CM,MSC-J-32x30.step +J32-30SDB,J,32,30,,,SDB,,MSC-J-32x30.step +J32-30SDBU,J,32,30,,,SDB,U,MSC-J-32x30.step +J32-30SDBCM,J,32,30,,,SDB,CM,MSC-J-32x30.step +J32-30ME,J,32,30,M,E,,,MSC-J-32x30.step +J32-30MEU,J,32,30,M,E,,U,MSC-J-32x30.step +J32-30MECM,J,32,30,M,E,,CM,MSC-J-32x30.step +J32-30MELB,J,32,30,M,E,LB,,MSC-J-32x30.step +J32-30MELBU,J,32,30,M,E,LB,U,MSC-J-32x30.step +J32-30MELBCM,J,32,30,M,E,LB,CM,MSC-J-32x30.step +J32-30MEFA,J,32,30,M,E,FA,,MSC-J-32x30.step +J32-30MEFAU,J,32,30,M,E,FA,U,MSC-J-32x30.step +J32-30MEFACM,J,32,30,M,E,FA,CM,MSC-J-32x30.step +J32-30MEFB,J,32,30,M,E,FB,,MSC-J-32x30.step +J32-30MEFBU,J,32,30,M,E,FB,U,MSC-J-32x30.step +J32-30MEFBCM,J,32,30,M,E,FB,CM,MSC-J-32x30.step +J32-30MESDB,J,32,30,M,E,SDB,,MSC-J-32x30.step +J32-30MESDBU,J,32,30,M,E,SDB,U,MSC-J-32x30.step +J32-30MESDBCM,J,32,30,M,E,SDB,CM,MSC-J-32x30.step +J32-30M,J,32,30,M,,,,MSC-J-32x30.step +J32-30MU,J,32,30,M,,,U,MSC-J-32x30.step +J32-30MCM,J,32,30,M,,,CM,MSC-J-32x30.step +J32-30MLB,J,32,30,M,,LB,,MSC-J-32x30.step +J32-30MLBU,J,32,30,M,,LB,U,MSC-J-32x30.step +J32-30MLBCM,J,32,30,M,,LB,CM,MSC-J-32x30.step +J32-30MFA,J,32,30,M,,FA,,MSC-J-32x30.step +J32-30MFAU,J,32,30,M,,FA,U,MSC-J-32x30.step +J32-30MFACM,J,32,30,M,,FA,CM,MSC-J-32x30.step +J32-30MFB,J,32,30,M,,FB,,MSC-J-32x30.step +J32-30MFBU,J,32,30,M,,FB,U,MSC-J-32x30.step +J32-30MFBCM,J,32,30,M,,FB,CM,MSC-J-32x30.step +J32-30MSDB,J,32,30,M,,SDB,,MSC-J-32x30.step +J32-30MSDBU,J,32,30,M,,SDB,U,MSC-J-32x30.step +J32-30MSDBCM,J,32,30,M,,SDB,CM,MSC-J-32x30.step +J32-50E,J,32,50,,E,,,MSC-J-32x50.step +J32-50EU,J,32,50,,E,,U,MSC-J-32x50.step +J32-50ECM,J,32,50,,E,,CM,MSC-J-32x50.step +J32-50ELB,J,32,50,,E,LB,,MSC-J-32x50.step +J32-50ELBU,J,32,50,,E,LB,U,MSC-J-32x50.step +J32-50ELBCM,J,32,50,,E,LB,CM,MSC-J-32x50.step +J32-50EFA,J,32,50,,E,FA,,MSC-J-32x50.step +J32-50EFAU,J,32,50,,E,FA,U,MSC-J-32x50.step +J32-50EFACM,J,32,50,,E,FA,CM,MSC-J-32x50.step +J32-50EFB,J,32,50,,E,FB,,MSC-J-32x50.step +J32-50EFBU,J,32,50,,E,FB,U,MSC-J-32x50.step +J32-50EFBCM,J,32,50,,E,FB,CM,MSC-J-32x50.step +J32-50ESDB,J,32,50,,E,SDB,,MSC-J-32x50.step +J32-50ESDBU,J,32,50,,E,SDB,U,MSC-J-32x50.step +J32-50ESDBCM,J,32,50,,E,SDB,CM,MSC-J-32x50.step +J32-50,J,32,50,,,,,MSC-J-32x50.step +J32-50U,J,32,50,,,,U,MSC-J-32x50.step +J32-50CM,J,32,50,,,,CM,MSC-J-32x50.step +J32-50LB,J,32,50,,,LB,,MSC-J-32x50.step +J32-50LBU,J,32,50,,,LB,U,MSC-J-32x50.step +J32-50LBCM,J,32,50,,,LB,CM,MSC-J-32x50.step +J32-50FA,J,32,50,,,FA,,MSC-J-32x50.step +J32-50FAU,J,32,50,,,FA,U,MSC-J-32x50.step +J32-50FACM,J,32,50,,,FA,CM,MSC-J-32x50.step +J32-50FB,J,32,50,,,FB,,MSC-J-32x50.step +J32-50FBU,J,32,50,,,FB,U,MSC-J-32x50.step +J32-50FBCM,J,32,50,,,FB,CM,MSC-J-32x50.step +J32-50SDB,J,32,50,,,SDB,,MSC-J-32x50.step +J32-50SDBU,J,32,50,,,SDB,U,MSC-J-32x50.step +J32-50SDBCM,J,32,50,,,SDB,CM,MSC-J-32x50.step +J32-50ME,J,32,50,M,E,,,MSC-J-32x50.step +J32-50MEU,J,32,50,M,E,,U,MSC-J-32x50.step +J32-50MECM,J,32,50,M,E,,CM,MSC-J-32x50.step +J32-50MELB,J,32,50,M,E,LB,,MSC-J-32x50.step +J32-50MELBU,J,32,50,M,E,LB,U,MSC-J-32x50.step +J32-50MELBCM,J,32,50,M,E,LB,CM,MSC-J-32x50.step +J32-50MEFA,J,32,50,M,E,FA,,MSC-J-32x50.step +J32-50MEFAU,J,32,50,M,E,FA,U,MSC-J-32x50.step +J32-50MEFACM,J,32,50,M,E,FA,CM,MSC-J-32x50.step +J32-50MEFB,J,32,50,M,E,FB,,MSC-J-32x50.step +J32-50MEFBU,J,32,50,M,E,FB,U,MSC-J-32x50.step +J32-50MEFBCM,J,32,50,M,E,FB,CM,MSC-J-32x50.step +J32-50MESDB,J,32,50,M,E,SDB,,MSC-J-32x50.step +J32-50MESDBU,J,32,50,M,E,SDB,U,MSC-J-32x50.step +J32-50MESDBCM,J,32,50,M,E,SDB,CM,MSC-J-32x50.step +J32-50M,J,32,50,M,,,,MSC-J-32x50.step +J32-50MU,J,32,50,M,,,U,MSC-J-32x50.step +J32-50MCM,J,32,50,M,,,CM,MSC-J-32x50.step +J32-50MLB,J,32,50,M,,LB,,MSC-J-32x50.step +J32-50MLBU,J,32,50,M,,LB,U,MSC-J-32x50.step +J32-50MLBCM,J,32,50,M,,LB,CM,MSC-J-32x50.step +J32-50MFA,J,32,50,M,,FA,,MSC-J-32x50.step +J32-50MFAU,J,32,50,M,,FA,U,MSC-J-32x50.step +J32-50MFACM,J,32,50,M,,FA,CM,MSC-J-32x50.step +J32-50MFB,J,32,50,M,,FB,,MSC-J-32x50.step +J32-50MFBU,J,32,50,M,,FB,U,MSC-J-32x50.step +J32-50MFBCM,J,32,50,M,,FB,CM,MSC-J-32x50.step +J32-50MSDB,J,32,50,M,,SDB,,MSC-J-32x50.step +J32-50MSDBU,J,32,50,M,,SDB,U,MSC-J-32x50.step +J32-50MSDBCM,J,32,50,M,,SDB,CM,MSC-J-32x50.step +J32-75E,J,32,75,,E,,,MSC-J-32x75.step +J32-75EU,J,32,75,,E,,U,MSC-J-32x75.step +J32-75ECM,J,32,75,,E,,CM,MSC-J-32x75.step +J32-75ELB,J,32,75,,E,LB,,MSC-J-32x75.step +J32-75ELBU,J,32,75,,E,LB,U,MSC-J-32x75.step +J32-75ELBCM,J,32,75,,E,LB,CM,MSC-J-32x75.step +J32-75EFA,J,32,75,,E,FA,,MSC-J-32x75.step +J32-75EFAU,J,32,75,,E,FA,U,MSC-J-32x75.step +J32-75EFACM,J,32,75,,E,FA,CM,MSC-J-32x75.step +J32-75EFB,J,32,75,,E,FB,,MSC-J-32x75.step +J32-75EFBU,J,32,75,,E,FB,U,MSC-J-32x75.step +J32-75EFBCM,J,32,75,,E,FB,CM,MSC-J-32x75.step +J32-75ESDB,J,32,75,,E,SDB,,MSC-J-32x75.step +J32-75ESDBU,J,32,75,,E,SDB,U,MSC-J-32x75.step +J32-75ESDBCM,J,32,75,,E,SDB,CM,MSC-J-32x75.step +J32-75,J,32,75,,,,,MSC-J-32x75.step +J32-75U,J,32,75,,,,U,MSC-J-32x75.step +J32-75CM,J,32,75,,,,CM,MSC-J-32x75.step +J32-75LB,J,32,75,,,LB,,MSC-J-32x75.step +J32-75LBU,J,32,75,,,LB,U,MSC-J-32x75.step +J32-75LBCM,J,32,75,,,LB,CM,MSC-J-32x75.step +J32-75FA,J,32,75,,,FA,,MSC-J-32x75.step +J32-75FAU,J,32,75,,,FA,U,MSC-J-32x75.step +J32-75FACM,J,32,75,,,FA,CM,MSC-J-32x75.step +J32-75FB,J,32,75,,,FB,,MSC-J-32x75.step +J32-75FBU,J,32,75,,,FB,U,MSC-J-32x75.step +J32-75FBCM,J,32,75,,,FB,CM,MSC-J-32x75.step +J32-75SDB,J,32,75,,,SDB,,MSC-J-32x75.step +J32-75SDBU,J,32,75,,,SDB,U,MSC-J-32x75.step +J32-75SDBCM,J,32,75,,,SDB,CM,MSC-J-32x75.step +J32-75ME,J,32,75,M,E,,,MSC-J-32x75.step +J32-75MEU,J,32,75,M,E,,U,MSC-J-32x75.step +J32-75MECM,J,32,75,M,E,,CM,MSC-J-32x75.step +J32-75MELB,J,32,75,M,E,LB,,MSC-J-32x75.step +J32-75MELBU,J,32,75,M,E,LB,U,MSC-J-32x75.step +J32-75MELBCM,J,32,75,M,E,LB,CM,MSC-J-32x75.step +J32-75MEFA,J,32,75,M,E,FA,,MSC-J-32x75.step +J32-75MEFAU,J,32,75,M,E,FA,U,MSC-J-32x75.step +J32-75MEFACM,J,32,75,M,E,FA,CM,MSC-J-32x75.step +J32-75MEFB,J,32,75,M,E,FB,,MSC-J-32x75.step +J32-75MEFBU,J,32,75,M,E,FB,U,MSC-J-32x75.step +J32-75MEFBCM,J,32,75,M,E,FB,CM,MSC-J-32x75.step +J32-75MESDB,J,32,75,M,E,SDB,,MSC-J-32x75.step +J32-75MESDBU,J,32,75,M,E,SDB,U,MSC-J-32x75.step +J32-75MESDBCM,J,32,75,M,E,SDB,CM,MSC-J-32x75.step +J32-75M,J,32,75,M,,,,MSC-J-32x75.step +J32-75MU,J,32,75,M,,,U,MSC-J-32x75.step +J32-75MCM,J,32,75,M,,,CM,MSC-J-32x75.step +J32-75MLB,J,32,75,M,,LB,,MSC-J-32x75.step +J32-75MLBU,J,32,75,M,,LB,U,MSC-J-32x75.step +J32-75MLBCM,J,32,75,M,,LB,CM,MSC-J-32x75.step +J32-75MFA,J,32,75,M,,FA,,MSC-J-32x75.step +J32-75MFAU,J,32,75,M,,FA,U,MSC-J-32x75.step +J32-75MFACM,J,32,75,M,,FA,CM,MSC-J-32x75.step +J32-75MFB,J,32,75,M,,FB,,MSC-J-32x75.step +J32-75MFBU,J,32,75,M,,FB,U,MSC-J-32x75.step +J32-75MFBCM,J,32,75,M,,FB,CM,MSC-J-32x75.step +J32-75MSDB,J,32,75,M,,SDB,,MSC-J-32x75.step +J32-75MSDBU,J,32,75,M,,SDB,U,MSC-J-32x75.step +J32-75MSDBCM,J,32,75,M,,SDB,CM,MSC-J-32x75.step +J32-100E,J,32,100,,E,,,MSC-J-32x100.step +J32-100EU,J,32,100,,E,,U,MSC-J-32x100.step +J32-100ECM,J,32,100,,E,,CM,MSC-J-32x100.step +J32-100ELB,J,32,100,,E,LB,,MSC-J-32x100.step +J32-100ELBU,J,32,100,,E,LB,U,MSC-J-32x100.step +J32-100ELBCM,J,32,100,,E,LB,CM,MSC-J-32x100.step +J32-100EFA,J,32,100,,E,FA,,MSC-J-32x100.step +J32-100EFAU,J,32,100,,E,FA,U,MSC-J-32x100.step +J32-100EFACM,J,32,100,,E,FA,CM,MSC-J-32x100.step +J32-100EFB,J,32,100,,E,FB,,MSC-J-32x100.step +J32-100EFBU,J,32,100,,E,FB,U,MSC-J-32x100.step +J32-100EFBCM,J,32,100,,E,FB,CM,MSC-J-32x100.step +J32-100ESDB,J,32,100,,E,SDB,,MSC-J-32x100.step +J32-100ESDBU,J,32,100,,E,SDB,U,MSC-J-32x100.step +J32-100ESDBCM,J,32,100,,E,SDB,CM,MSC-J-32x100.step +J32-100,J,32,100,,,,,MSC-J-32x100.step +J32-100U,J,32,100,,,,U,MSC-J-32x100.step +J32-100CM,J,32,100,,,,CM,MSC-J-32x100.step +J32-100LB,J,32,100,,,LB,,MSC-J-32x100.step +J32-100LBU,J,32,100,,,LB,U,MSC-J-32x100.step +J32-100LBCM,J,32,100,,,LB,CM,MSC-J-32x100.step +J32-100FA,J,32,100,,,FA,,MSC-J-32x100.step +J32-100FAU,J,32,100,,,FA,U,MSC-J-32x100.step +J32-100FACM,J,32,100,,,FA,CM,MSC-J-32x100.step +J32-100FB,J,32,100,,,FB,,MSC-J-32x100.step +J32-100FBU,J,32,100,,,FB,U,MSC-J-32x100.step +J32-100FBCM,J,32,100,,,FB,CM,MSC-J-32x100.step +J32-100SDB,J,32,100,,,SDB,,MSC-J-32x100.step +J32-100SDBU,J,32,100,,,SDB,U,MSC-J-32x100.step +J32-100SDBCM,J,32,100,,,SDB,CM,MSC-J-32x100.step +J32-100ME,J,32,100,M,E,,,MSC-J-32x100.step +J32-100MEU,J,32,100,M,E,,U,MSC-J-32x100.step +J32-100MECM,J,32,100,M,E,,CM,MSC-J-32x100.step +J32-100MELB,J,32,100,M,E,LB,,MSC-J-32x100.step +J32-100MELBU,J,32,100,M,E,LB,U,MSC-J-32x100.step +J32-100MELBCM,J,32,100,M,E,LB,CM,MSC-J-32x100.step +J32-100MEFA,J,32,100,M,E,FA,,MSC-J-32x100.step +J32-100MEFAU,J,32,100,M,E,FA,U,MSC-J-32x100.step +J32-100MEFACM,J,32,100,M,E,FA,CM,MSC-J-32x100.step +J32-100MEFB,J,32,100,M,E,FB,,MSC-J-32x100.step +J32-100MEFBU,J,32,100,M,E,FB,U,MSC-J-32x100.step +J32-100MEFBCM,J,32,100,M,E,FB,CM,MSC-J-32x100.step +J32-100MESDB,J,32,100,M,E,SDB,,MSC-J-32x100.step +J32-100MESDBU,J,32,100,M,E,SDB,U,MSC-J-32x100.step +J32-100MESDBCM,J,32,100,M,E,SDB,CM,MSC-J-32x100.step +J32-100M,J,32,100,M,,,,MSC-J-32x100.step +J32-100MU,J,32,100,M,,,U,MSC-J-32x100.step +J32-100MCM,J,32,100,M,,,CM,MSC-J-32x100.step +J32-100MLB,J,32,100,M,,LB,,MSC-J-32x100.step +J32-100MLBU,J,32,100,M,,LB,U,MSC-J-32x100.step +J32-100MLBCM,J,32,100,M,,LB,CM,MSC-J-32x100.step +J32-100MFA,J,32,100,M,,FA,,MSC-J-32x100.step +J32-100MFAU,J,32,100,M,,FA,U,MSC-J-32x100.step +J32-100MFACM,J,32,100,M,,FA,CM,MSC-J-32x100.step +J32-100MFB,J,32,100,M,,FB,,MSC-J-32x100.step +J32-100MFBU,J,32,100,M,,FB,U,MSC-J-32x100.step +J32-100MFBCM,J,32,100,M,,FB,CM,MSC-J-32x100.step +J32-100MSDB,J,32,100,M,,SDB,,MSC-J-32x100.step +J32-100MSDBU,J,32,100,M,,SDB,U,MSC-J-32x100.step +J32-100MSDBCM,J,32,100,M,,SDB,CM,MSC-J-32x100.step +J40-10E,J,40,10,,E,,,MSC-J-40x10.step +J40-10EU,J,40,10,,E,,U,MSC-J-40x10.step +J40-10ECM,J,40,10,,E,,CM,MSC-J-40x10.step +J40-10ELB,J,40,10,,E,LB,,MSC-J-40x10.step +J40-10ELBU,J,40,10,,E,LB,U,MSC-J-40x10.step +J40-10ELBCM,J,40,10,,E,LB,CM,MSC-J-40x10.step +J40-10EFA,J,40,10,,E,FA,,MSC-J-40x10.step +J40-10EFAU,J,40,10,,E,FA,U,MSC-J-40x10.step +J40-10EFACM,J,40,10,,E,FA,CM,MSC-J-40x10.step +J40-10EFB,J,40,10,,E,FB,,MSC-J-40x10.step +J40-10EFBU,J,40,10,,E,FB,U,MSC-J-40x10.step +J40-10EFBCM,J,40,10,,E,FB,CM,MSC-J-40x10.step +J40-10ESDB,J,40,10,,E,SDB,,MSC-J-40x10.step +J40-10ESDBU,J,40,10,,E,SDB,U,MSC-J-40x10.step +J40-10ESDBCM,J,40,10,,E,SDB,CM,MSC-J-40x10.step +J40-10,J,40,10,,,,,MSC-J-40x10.step +J40-10U,J,40,10,,,,U,MSC-J-40x10.step +J40-10CM,J,40,10,,,,CM,MSC-J-40x10.step +J40-10LB,J,40,10,,,LB,,MSC-J-40x10.step +J40-10LBU,J,40,10,,,LB,U,MSC-J-40x10.step +J40-10LBCM,J,40,10,,,LB,CM,MSC-J-40x10.step +J40-10FA,J,40,10,,,FA,,MSC-J-40x10.step +J40-10FAU,J,40,10,,,FA,U,MSC-J-40x10.step +J40-10FACM,J,40,10,,,FA,CM,MSC-J-40x10.step +J40-10FB,J,40,10,,,FB,,MSC-J-40x10.step +J40-10FBU,J,40,10,,,FB,U,MSC-J-40x10.step +J40-10FBCM,J,40,10,,,FB,CM,MSC-J-40x10.step +J40-10SDB,J,40,10,,,SDB,,MSC-J-40x10.step +J40-10SDBU,J,40,10,,,SDB,U,MSC-J-40x10.step +J40-10SDBCM,J,40,10,,,SDB,CM,MSC-J-40x10.step +J40-10ME,J,40,10,M,E,,,MSC-J-40x10.step +J40-10MEU,J,40,10,M,E,,U,MSC-J-40x10.step +J40-10MECM,J,40,10,M,E,,CM,MSC-J-40x10.step +J40-10MELB,J,40,10,M,E,LB,,MSC-J-40x10.step +J40-10MELBU,J,40,10,M,E,LB,U,MSC-J-40x10.step +J40-10MELBCM,J,40,10,M,E,LB,CM,MSC-J-40x10.step +J40-10MEFA,J,40,10,M,E,FA,,MSC-J-40x10.step +J40-10MEFAU,J,40,10,M,E,FA,U,MSC-J-40x10.step +J40-10MEFACM,J,40,10,M,E,FA,CM,MSC-J-40x10.step +J40-10MEFB,J,40,10,M,E,FB,,MSC-J-40x10.step +J40-10MEFBU,J,40,10,M,E,FB,U,MSC-J-40x10.step +J40-10MEFBCM,J,40,10,M,E,FB,CM,MSC-J-40x10.step +J40-10MESDB,J,40,10,M,E,SDB,,MSC-J-40x10.step +J40-10MESDBU,J,40,10,M,E,SDB,U,MSC-J-40x10.step +J40-10MESDBCM,J,40,10,M,E,SDB,CM,MSC-J-40x10.step +J40-10M,J,40,10,M,,,,MSC-J-40x10.step +J40-10MU,J,40,10,M,,,U,MSC-J-40x10.step +J40-10MCM,J,40,10,M,,,CM,MSC-J-40x10.step +J40-10MLB,J,40,10,M,,LB,,MSC-J-40x10.step +J40-10MLBU,J,40,10,M,,LB,U,MSC-J-40x10.step +J40-10MLBCM,J,40,10,M,,LB,CM,MSC-J-40x10.step +J40-10MFA,J,40,10,M,,FA,,MSC-J-40x10.step +J40-10MFAU,J,40,10,M,,FA,U,MSC-J-40x10.step +J40-10MFACM,J,40,10,M,,FA,CM,MSC-J-40x10.step +J40-10MFB,J,40,10,M,,FB,,MSC-J-40x10.step +J40-10MFBU,J,40,10,M,,FB,U,MSC-J-40x10.step +J40-10MFBCM,J,40,10,M,,FB,CM,MSC-J-40x10.step +J40-10MSDB,J,40,10,M,,SDB,,MSC-J-40x10.step +J40-10MSDBU,J,40,10,M,,SDB,U,MSC-J-40x10.step +J40-10MSDBCM,J,40,10,M,,SDB,CM,MSC-J-40x10.step +J40-20E,J,40,20,,E,,,MSC-J-40x20.step +J40-20EU,J,40,20,,E,,U,MSC-J-40x20.step +J40-20ECM,J,40,20,,E,,CM,MSC-J-40x20.step +J40-20ELB,J,40,20,,E,LB,,MSC-J-40x20.step +J40-20ELBU,J,40,20,,E,LB,U,MSC-J-40x20.step +J40-20ELBCM,J,40,20,,E,LB,CM,MSC-J-40x20.step +J40-20EFA,J,40,20,,E,FA,,MSC-J-40x20.step +J40-20EFAU,J,40,20,,E,FA,U,MSC-J-40x20.step +J40-20EFACM,J,40,20,,E,FA,CM,MSC-J-40x20.step +J40-20EFB,J,40,20,,E,FB,,MSC-J-40x20.step +J40-20EFBU,J,40,20,,E,FB,U,MSC-J-40x20.step +J40-20EFBCM,J,40,20,,E,FB,CM,MSC-J-40x20.step +J40-20ESDB,J,40,20,,E,SDB,,MSC-J-40x20.step +J40-20ESDBU,J,40,20,,E,SDB,U,MSC-J-40x20.step +J40-20ESDBCM,J,40,20,,E,SDB,CM,MSC-J-40x20.step +J40-20,J,40,20,,,,,MSC-J-40x20.step +J40-20U,J,40,20,,,,U,MSC-J-40x20.step +J40-20CM,J,40,20,,,,CM,MSC-J-40x20.step +J40-20LB,J,40,20,,,LB,,MSC-J-40x20.step +J40-20LBU,J,40,20,,,LB,U,MSC-J-40x20.step +J40-20LBCM,J,40,20,,,LB,CM,MSC-J-40x20.step +J40-20FA,J,40,20,,,FA,,MSC-J-40x20.step +J40-20FAU,J,40,20,,,FA,U,MSC-J-40x20.step +J40-20FACM,J,40,20,,,FA,CM,MSC-J-40x20.step +J40-20FB,J,40,20,,,FB,,MSC-J-40x20.step +J40-20FBU,J,40,20,,,FB,U,MSC-J-40x20.step +J40-20FBCM,J,40,20,,,FB,CM,MSC-J-40x20.step +J40-20SDB,J,40,20,,,SDB,,MSC-J-40x20.step +J40-20SDBU,J,40,20,,,SDB,U,MSC-J-40x20.step +J40-20SDBCM,J,40,20,,,SDB,CM,MSC-J-40x20.step +J40-20ME,J,40,20,M,E,,,MSC-J-40x20.step +J40-20MEU,J,40,20,M,E,,U,MSC-J-40x20.step +J40-20MECM,J,40,20,M,E,,CM,MSC-J-40x20.step +J40-20MELB,J,40,20,M,E,LB,,MSC-J-40x20.step +J40-20MELBU,J,40,20,M,E,LB,U,MSC-J-40x20.step +J40-20MELBCM,J,40,20,M,E,LB,CM,MSC-J-40x20.step +J40-20MEFA,J,40,20,M,E,FA,,MSC-J-40x20.step +J40-20MEFAU,J,40,20,M,E,FA,U,MSC-J-40x20.step +J40-20MEFACM,J,40,20,M,E,FA,CM,MSC-J-40x20.step +J40-20MEFB,J,40,20,M,E,FB,,MSC-J-40x20.step +J40-20MEFBU,J,40,20,M,E,FB,U,MSC-J-40x20.step +J40-20MEFBCM,J,40,20,M,E,FB,CM,MSC-J-40x20.step +J40-20MESDB,J,40,20,M,E,SDB,,MSC-J-40x20.step +J40-20MESDBU,J,40,20,M,E,SDB,U,MSC-J-40x20.step +J40-20MESDBCM,J,40,20,M,E,SDB,CM,MSC-J-40x20.step +J40-20M,J,40,20,M,,,,MSC-J-40x20.step +J40-20MU,J,40,20,M,,,U,MSC-J-40x20.step +J40-20MCM,J,40,20,M,,,CM,MSC-J-40x20.step +J40-20MLB,J,40,20,M,,LB,,MSC-J-40x20.step +J40-20MLBU,J,40,20,M,,LB,U,MSC-J-40x20.step +J40-20MLBCM,J,40,20,M,,LB,CM,MSC-J-40x20.step +J40-20MFA,J,40,20,M,,FA,,MSC-J-40x20.step +J40-20MFAU,J,40,20,M,,FA,U,MSC-J-40x20.step +J40-20MFACM,J,40,20,M,,FA,CM,MSC-J-40x20.step +J40-20MFB,J,40,20,M,,FB,,MSC-J-40x20.step +J40-20MFBU,J,40,20,M,,FB,U,MSC-J-40x20.step +J40-20MFBCM,J,40,20,M,,FB,CM,MSC-J-40x20.step +J40-20MSDB,J,40,20,M,,SDB,,MSC-J-40x20.step +J40-20MSDBU,J,40,20,M,,SDB,U,MSC-J-40x20.step +J40-20MSDBCM,J,40,20,M,,SDB,CM,MSC-J-40x20.step +J40-30E,J,40,30,,E,,,MSC-J-40x30.step +J40-30EU,J,40,30,,E,,U,MSC-J-40x30.step +J40-30ECM,J,40,30,,E,,CM,MSC-J-40x30.step +J40-30ELB,J,40,30,,E,LB,,MSC-J-40x30.step +J40-30ELBU,J,40,30,,E,LB,U,MSC-J-40x30.step +J40-30ELBCM,J,40,30,,E,LB,CM,MSC-J-40x30.step +J40-30EFA,J,40,30,,E,FA,,MSC-J-40x30.step +J40-30EFAU,J,40,30,,E,FA,U,MSC-J-40x30.step +J40-30EFACM,J,40,30,,E,FA,CM,MSC-J-40x30.step +J40-30EFB,J,40,30,,E,FB,,MSC-J-40x30.step +J40-30EFBU,J,40,30,,E,FB,U,MSC-J-40x30.step +J40-30EFBCM,J,40,30,,E,FB,CM,MSC-J-40x30.step +J40-30ESDB,J,40,30,,E,SDB,,MSC-J-40x30.step +J40-30ESDBU,J,40,30,,E,SDB,U,MSC-J-40x30.step +J40-30ESDBCM,J,40,30,,E,SDB,CM,MSC-J-40x30.step +J40-30,J,40,30,,,,,MSC-J-40x30.step +J40-30U,J,40,30,,,,U,MSC-J-40x30.step +J40-30CM,J,40,30,,,,CM,MSC-J-40x30.step +J40-30LB,J,40,30,,,LB,,MSC-J-40x30.step +J40-30LBU,J,40,30,,,LB,U,MSC-J-40x30.step +J40-30LBCM,J,40,30,,,LB,CM,MSC-J-40x30.step +J40-30FA,J,40,30,,,FA,,MSC-J-40x30.step +J40-30FAU,J,40,30,,,FA,U,MSC-J-40x30.step +J40-30FACM,J,40,30,,,FA,CM,MSC-J-40x30.step +J40-30FB,J,40,30,,,FB,,MSC-J-40x30.step +J40-30FBU,J,40,30,,,FB,U,MSC-J-40x30.step +J40-30FBCM,J,40,30,,,FB,CM,MSC-J-40x30.step +J40-30SDB,J,40,30,,,SDB,,MSC-J-40x30.step +J40-30SDBU,J,40,30,,,SDB,U,MSC-J-40x30.step +J40-30SDBCM,J,40,30,,,SDB,CM,MSC-J-40x30.step +J40-30ME,J,40,30,M,E,,,MSC-J-40x30.step +J40-30MEU,J,40,30,M,E,,U,MSC-J-40x30.step +J40-30MECM,J,40,30,M,E,,CM,MSC-J-40x30.step +J40-30MELB,J,40,30,M,E,LB,,MSC-J-40x30.step +J40-30MELBU,J,40,30,M,E,LB,U,MSC-J-40x30.step +J40-30MELBCM,J,40,30,M,E,LB,CM,MSC-J-40x30.step +J40-30MEFA,J,40,30,M,E,FA,,MSC-J-40x30.step +J40-30MEFAU,J,40,30,M,E,FA,U,MSC-J-40x30.step +J40-30MEFACM,J,40,30,M,E,FA,CM,MSC-J-40x30.step +J40-30MEFB,J,40,30,M,E,FB,,MSC-J-40x30.step +J40-30MEFBU,J,40,30,M,E,FB,U,MSC-J-40x30.step +J40-30MEFBCM,J,40,30,M,E,FB,CM,MSC-J-40x30.step +J40-30MESDB,J,40,30,M,E,SDB,,MSC-J-40x30.step +J40-30MESDBU,J,40,30,M,E,SDB,U,MSC-J-40x30.step +J40-30MESDBCM,J,40,30,M,E,SDB,CM,MSC-J-40x30.step +J40-30M,J,40,30,M,,,,MSC-J-40x30.step +J40-30MU,J,40,30,M,,,U,MSC-J-40x30.step +J40-30MCM,J,40,30,M,,,CM,MSC-J-40x30.step +J40-30MLB,J,40,30,M,,LB,,MSC-J-40x30.step +J40-30MLBU,J,40,30,M,,LB,U,MSC-J-40x30.step +J40-30MLBCM,J,40,30,M,,LB,CM,MSC-J-40x30.step +J40-30MFA,J,40,30,M,,FA,,MSC-J-40x30.step +J40-30MFAU,J,40,30,M,,FA,U,MSC-J-40x30.step +J40-30MFACM,J,40,30,M,,FA,CM,MSC-J-40x30.step +J40-30MFB,J,40,30,M,,FB,,MSC-J-40x30.step +J40-30MFBU,J,40,30,M,,FB,U,MSC-J-40x30.step +J40-30MFBCM,J,40,30,M,,FB,CM,MSC-J-40x30.step +J40-30MSDB,J,40,30,M,,SDB,,MSC-J-40x30.step +J40-30MSDBU,J,40,30,M,,SDB,U,MSC-J-40x30.step +J40-30MSDBCM,J,40,30,M,,SDB,CM,MSC-J-40x30.step +J40-50E,J,40,50,,E,,,MSC-J-40x50.step +J40-50EU,J,40,50,,E,,U,MSC-J-40x50.step +J40-50ECM,J,40,50,,E,,CM,MSC-J-40x50.step +J40-50ELB,J,40,50,,E,LB,,MSC-J-40x50.step +J40-50ELBU,J,40,50,,E,LB,U,MSC-J-40x50.step +J40-50ELBCM,J,40,50,,E,LB,CM,MSC-J-40x50.step +J40-50EFA,J,40,50,,E,FA,,MSC-J-40x50.step +J40-50EFAU,J,40,50,,E,FA,U,MSC-J-40x50.step +J40-50EFACM,J,40,50,,E,FA,CM,MSC-J-40x50.step +J40-50EFB,J,40,50,,E,FB,,MSC-J-40x50.step +J40-50EFBU,J,40,50,,E,FB,U,MSC-J-40x50.step +J40-50EFBCM,J,40,50,,E,FB,CM,MSC-J-40x50.step +J40-50ESDB,J,40,50,,E,SDB,,MSC-J-40x50.step +J40-50ESDBU,J,40,50,,E,SDB,U,MSC-J-40x50.step +J40-50ESDBCM,J,40,50,,E,SDB,CM,MSC-J-40x50.step +J40-50,J,40,50,,,,,MSC-J-40x50.step +J40-50U,J,40,50,,,,U,MSC-J-40x50.step +J40-50CM,J,40,50,,,,CM,MSC-J-40x50.step +J40-50LB,J,40,50,,,LB,,MSC-J-40x50.step +J40-50LBU,J,40,50,,,LB,U,MSC-J-40x50.step +J40-50LBCM,J,40,50,,,LB,CM,MSC-J-40x50.step +J40-50FA,J,40,50,,,FA,,MSC-J-40x50.step +J40-50FAU,J,40,50,,,FA,U,MSC-J-40x50.step +J40-50FACM,J,40,50,,,FA,CM,MSC-J-40x50.step +J40-50FB,J,40,50,,,FB,,MSC-J-40x50.step +J40-50FBU,J,40,50,,,FB,U,MSC-J-40x50.step +J40-50FBCM,J,40,50,,,FB,CM,MSC-J-40x50.step +J40-50SDB,J,40,50,,,SDB,,MSC-J-40x50.step +J40-50SDBU,J,40,50,,,SDB,U,MSC-J-40x50.step +J40-50SDBCM,J,40,50,,,SDB,CM,MSC-J-40x50.step +J40-50ME,J,40,50,M,E,,,MSC-J-40x50.step +J40-50MEU,J,40,50,M,E,,U,MSC-J-40x50.step +J40-50MECM,J,40,50,M,E,,CM,MSC-J-40x50.step +J40-50MELB,J,40,50,M,E,LB,,MSC-J-40x50.step +J40-50MELBU,J,40,50,M,E,LB,U,MSC-J-40x50.step +J40-50MELBCM,J,40,50,M,E,LB,CM,MSC-J-40x50.step +J40-50MEFA,J,40,50,M,E,FA,,MSC-J-40x50.step +J40-50MEFAU,J,40,50,M,E,FA,U,MSC-J-40x50.step +J40-50MEFACM,J,40,50,M,E,FA,CM,MSC-J-40x50.step +J40-50MEFB,J,40,50,M,E,FB,,MSC-J-40x50.step +J40-50MEFBU,J,40,50,M,E,FB,U,MSC-J-40x50.step +J40-50MEFBCM,J,40,50,M,E,FB,CM,MSC-J-40x50.step +J40-50MESDB,J,40,50,M,E,SDB,,MSC-J-40x50.step +J40-50MESDBU,J,40,50,M,E,SDB,U,MSC-J-40x50.step +J40-50MESDBCM,J,40,50,M,E,SDB,CM,MSC-J-40x50.step +J40-50M,J,40,50,M,,,,MSC-J-40x50.step +J40-50MU,J,40,50,M,,,U,MSC-J-40x50.step +J40-50MCM,J,40,50,M,,,CM,MSC-J-40x50.step +J40-50MLB,J,40,50,M,,LB,,MSC-J-40x50.step +J40-50MLBU,J,40,50,M,,LB,U,MSC-J-40x50.step +J40-50MLBCM,J,40,50,M,,LB,CM,MSC-J-40x50.step +J40-50MFA,J,40,50,M,,FA,,MSC-J-40x50.step +J40-50MFAU,J,40,50,M,,FA,U,MSC-J-40x50.step +J40-50MFACM,J,40,50,M,,FA,CM,MSC-J-40x50.step +J40-50MFB,J,40,50,M,,FB,,MSC-J-40x50.step +J40-50MFBU,J,40,50,M,,FB,U,MSC-J-40x50.step +J40-50MFBCM,J,40,50,M,,FB,CM,MSC-J-40x50.step +J40-50MSDB,J,40,50,M,,SDB,,MSC-J-40x50.step +J40-50MSDBU,J,40,50,M,,SDB,U,MSC-J-40x50.step +J40-50MSDBCM,J,40,50,M,,SDB,CM,MSC-J-40x50.step +J40-75E,J,40,75,,E,,,MSC-J-40x75.step +J40-75EU,J,40,75,,E,,U,MSC-J-40x75.step +J40-75ECM,J,40,75,,E,,CM,MSC-J-40x75.step +J40-75ELB,J,40,75,,E,LB,,MSC-J-40x75.step +J40-75ELBU,J,40,75,,E,LB,U,MSC-J-40x75.step +J40-75ELBCM,J,40,75,,E,LB,CM,MSC-J-40x75.step +J40-75EFA,J,40,75,,E,FA,,MSC-J-40x75.step +J40-75EFAU,J,40,75,,E,FA,U,MSC-J-40x75.step +J40-75EFACM,J,40,75,,E,FA,CM,MSC-J-40x75.step +J40-75EFB,J,40,75,,E,FB,,MSC-J-40x75.step +J40-75EFBU,J,40,75,,E,FB,U,MSC-J-40x75.step +J40-75EFBCM,J,40,75,,E,FB,CM,MSC-J-40x75.step +J40-75ESDB,J,40,75,,E,SDB,,MSC-J-40x75.step +J40-75ESDBU,J,40,75,,E,SDB,U,MSC-J-40x75.step +J40-75ESDBCM,J,40,75,,E,SDB,CM,MSC-J-40x75.step +J40-75,J,40,75,,,,,MSC-J-40x75.step +J40-75U,J,40,75,,,,U,MSC-J-40x75.step +J40-75CM,J,40,75,,,,CM,MSC-J-40x75.step +J40-75LB,J,40,75,,,LB,,MSC-J-40x75.step +J40-75LBU,J,40,75,,,LB,U,MSC-J-40x75.step +J40-75LBCM,J,40,75,,,LB,CM,MSC-J-40x75.step +J40-75FA,J,40,75,,,FA,,MSC-J-40x75.step +J40-75FAU,J,40,75,,,FA,U,MSC-J-40x75.step +J40-75FACM,J,40,75,,,FA,CM,MSC-J-40x75.step +J40-75FB,J,40,75,,,FB,,MSC-J-40x75.step +J40-75FBU,J,40,75,,,FB,U,MSC-J-40x75.step +J40-75FBCM,J,40,75,,,FB,CM,MSC-J-40x75.step +J40-75SDB,J,40,75,,,SDB,,MSC-J-40x75.step +J40-75SDBU,J,40,75,,,SDB,U,MSC-J-40x75.step +J40-75SDBCM,J,40,75,,,SDB,CM,MSC-J-40x75.step +J40-75ME,J,40,75,M,E,,,MSC-J-40x75.step +J40-75MEU,J,40,75,M,E,,U,MSC-J-40x75.step +J40-75MECM,J,40,75,M,E,,CM,MSC-J-40x75.step +J40-75MELB,J,40,75,M,E,LB,,MSC-J-40x75.step +J40-75MELBU,J,40,75,M,E,LB,U,MSC-J-40x75.step +J40-75MELBCM,J,40,75,M,E,LB,CM,MSC-J-40x75.step +J40-75MEFA,J,40,75,M,E,FA,,MSC-J-40x75.step +J40-75MEFAU,J,40,75,M,E,FA,U,MSC-J-40x75.step +J40-75MEFACM,J,40,75,M,E,FA,CM,MSC-J-40x75.step +J40-75MEFB,J,40,75,M,E,FB,,MSC-J-40x75.step +J40-75MEFBU,J,40,75,M,E,FB,U,MSC-J-40x75.step +J40-75MEFBCM,J,40,75,M,E,FB,CM,MSC-J-40x75.step +J40-75MESDB,J,40,75,M,E,SDB,,MSC-J-40x75.step +J40-75MESDBU,J,40,75,M,E,SDB,U,MSC-J-40x75.step +J40-75MESDBCM,J,40,75,M,E,SDB,CM,MSC-J-40x75.step +J40-75M,J,40,75,M,,,,MSC-J-40x75.step +J40-75MU,J,40,75,M,,,U,MSC-J-40x75.step +J40-75MCM,J,40,75,M,,,CM,MSC-J-40x75.step +J40-75MLB,J,40,75,M,,LB,,MSC-J-40x75.step +J40-75MLBU,J,40,75,M,,LB,U,MSC-J-40x75.step +J40-75MLBCM,J,40,75,M,,LB,CM,MSC-J-40x75.step +J40-75MFA,J,40,75,M,,FA,,MSC-J-40x75.step +J40-75MFAU,J,40,75,M,,FA,U,MSC-J-40x75.step +J40-75MFACM,J,40,75,M,,FA,CM,MSC-J-40x75.step +J40-75MFB,J,40,75,M,,FB,,MSC-J-40x75.step +J40-75MFBU,J,40,75,M,,FB,U,MSC-J-40x75.step +J40-75MFBCM,J,40,75,M,,FB,CM,MSC-J-40x75.step +J40-75MSDB,J,40,75,M,,SDB,,MSC-J-40x75.step +J40-75MSDBU,J,40,75,M,,SDB,U,MSC-J-40x75.step +J40-75MSDBCM,J,40,75,M,,SDB,CM,MSC-J-40x75.step +J40-100E,J,40,100,,E,,,MSC-J-40x100.step +J40-100EU,J,40,100,,E,,U,MSC-J-40x100.step +J40-100ECM,J,40,100,,E,,CM,MSC-J-40x100.step +J40-100ELB,J,40,100,,E,LB,,MSC-J-40x100.step +J40-100ELBU,J,40,100,,E,LB,U,MSC-J-40x100.step +J40-100ELBCM,J,40,100,,E,LB,CM,MSC-J-40x100.step +J40-100EFA,J,40,100,,E,FA,,MSC-J-40x100.step +J40-100EFAU,J,40,100,,E,FA,U,MSC-J-40x100.step +J40-100EFACM,J,40,100,,E,FA,CM,MSC-J-40x100.step +J40-100EFB,J,40,100,,E,FB,,MSC-J-40x100.step +J40-100EFBU,J,40,100,,E,FB,U,MSC-J-40x100.step +J40-100EFBCM,J,40,100,,E,FB,CM,MSC-J-40x100.step +J40-100ESDB,J,40,100,,E,SDB,,MSC-J-40x100.step +J40-100ESDBU,J,40,100,,E,SDB,U,MSC-J-40x100.step +J40-100ESDBCM,J,40,100,,E,SDB,CM,MSC-J-40x100.step +J40-100,J,40,100,,,,,MSC-J-40x100.step +J40-100U,J,40,100,,,,U,MSC-J-40x100.step +J40-100CM,J,40,100,,,,CM,MSC-J-40x100.step +J40-100LB,J,40,100,,,LB,,MSC-J-40x100.step +J40-100LBU,J,40,100,,,LB,U,MSC-J-40x100.step +J40-100LBCM,J,40,100,,,LB,CM,MSC-J-40x100.step +J40-100FA,J,40,100,,,FA,,MSC-J-40x100.step +J40-100FAU,J,40,100,,,FA,U,MSC-J-40x100.step +J40-100FACM,J,40,100,,,FA,CM,MSC-J-40x100.step +J40-100FB,J,40,100,,,FB,,MSC-J-40x100.step +J40-100FBU,J,40,100,,,FB,U,MSC-J-40x100.step +J40-100FBCM,J,40,100,,,FB,CM,MSC-J-40x100.step +J40-100SDB,J,40,100,,,SDB,,MSC-J-40x100.step +J40-100SDBU,J,40,100,,,SDB,U,MSC-J-40x100.step +J40-100SDBCM,J,40,100,,,SDB,CM,MSC-J-40x100.step +J40-100ME,J,40,100,M,E,,,MSC-J-40x100.step +J40-100MEU,J,40,100,M,E,,U,MSC-J-40x100.step +J40-100MECM,J,40,100,M,E,,CM,MSC-J-40x100.step +J40-100MELB,J,40,100,M,E,LB,,MSC-J-40x100.step +J40-100MELBU,J,40,100,M,E,LB,U,MSC-J-40x100.step +J40-100MELBCM,J,40,100,M,E,LB,CM,MSC-J-40x100.step +J40-100MEFA,J,40,100,M,E,FA,,MSC-J-40x100.step +J40-100MEFAU,J,40,100,M,E,FA,U,MSC-J-40x100.step +J40-100MEFACM,J,40,100,M,E,FA,CM,MSC-J-40x100.step +J40-100MEFB,J,40,100,M,E,FB,,MSC-J-40x100.step +J40-100MEFBU,J,40,100,M,E,FB,U,MSC-J-40x100.step +J40-100MEFBCM,J,40,100,M,E,FB,CM,MSC-J-40x100.step +J40-100MESDB,J,40,100,M,E,SDB,,MSC-J-40x100.step +J40-100MESDBU,J,40,100,M,E,SDB,U,MSC-J-40x100.step +J40-100MESDBCM,J,40,100,M,E,SDB,CM,MSC-J-40x100.step +J40-100M,J,40,100,M,,,,MSC-J-40x100.step +J40-100MU,J,40,100,M,,,U,MSC-J-40x100.step +J40-100MCM,J,40,100,M,,,CM,MSC-J-40x100.step +J40-100MLB,J,40,100,M,,LB,,MSC-J-40x100.step +J40-100MLBU,J,40,100,M,,LB,U,MSC-J-40x100.step +J40-100MLBCM,J,40,100,M,,LB,CM,MSC-J-40x100.step +J40-100MFA,J,40,100,M,,FA,,MSC-J-40x100.step +J40-100MFAU,J,40,100,M,,FA,U,MSC-J-40x100.step +J40-100MFACM,J,40,100,M,,FA,CM,MSC-J-40x100.step +J40-100MFB,J,40,100,M,,FB,,MSC-J-40x100.step +J40-100MFBU,J,40,100,M,,FB,U,MSC-J-40x100.step +J40-100MFBCM,J,40,100,M,,FB,CM,MSC-J-40x100.step +J40-100MSDB,J,40,100,M,,SDB,,MSC-J-40x100.step +J40-100MSDBU,J,40,100,M,,SDB,U,MSC-J-40x100.step +J40-100MSDBCM,J,40,100,M,,SDB,CM,MSC-J-40x100.step diff --git a/onebot-data/catalog/csv/UAGP.csv b/onebot-data/catalog/csv/UAGP.csv new file mode 100644 index 0000000..05e8f25 --- /dev/null +++ b/onebot-data/catalog/csv/UAGP.csv @@ -0,0 +1,23 @@ +model_code,size,type,step_file +UAGP080_W,80,W,UAGP080_W.stp +UAGP080_B,80,B,UAGP080_B.stp +UAGP120_W,120,W,UAGP120_W.stp +UAGP120_B,120,B,UAGP120_B.stp +UAGP150_W,150,W,UAGP150_W.stp +UAGP150_B,150,B,UAGP150_B.stp +UAGP155_W,155,W,UAGP155_W.stp +UAGP155_B,155,B,UAGP155_B.stp +UAGP170_W,170,W,UAGP170_W.stp +UAGP170_B,170,B,UAGP170_B.stp +UAGP210_W,210,W,UAGP210_W.stp +UAGP210_B,210,B,UAGP210_B.stp +UAGP215_W,215,W,UAGP215_W.stp +UAGP215_B,215,B,UAGP215_B.stp +UAGP300_W,300,W,UAGP300_W.stp +UAGP300_B,300,B,UAGP300_B.stp +UAGP350_W,350,W,UAGP350_W.stp +UAGP350_B,350,B,UAGP350_B.stp +UAGP355_W,355,W,UAGP355_W.stp +UAGP355_B,355,B,UAGP355_B.stp +UAGP605_W,605,W,UAGP605_W.stp +UAGP605_B,605,B,UAGP605_B.stp diff --git a/onebot-data/catalog/csv/UCBM.csv b/onebot-data/catalog/csv/UCBM.csv new file mode 100644 index 0000000..6034429 --- /dev/null +++ b/onebot-data/catalog/csv/UCBM.csv @@ -0,0 +1,7 @@ +model_code,size,step_file +UCBM25,25,UCBM25.stp +UCBM32,32,UCBM32.stp +UCBM40,40,UCBM40.stp +UCBM50,50,UCBM50.stp +UCBM63,63,UCBM63.stp +UCBM80,80,UCBM80.stp diff --git a/onebot-data/catalog/csv/UGP.csv b/onebot-data/catalog/csv/UGP.csv new file mode 100644 index 0000000..3fcff72 --- /dev/null +++ b/onebot-data/catalog/csv/UGP.csv @@ -0,0 +1,3 @@ +model_code,size,type,step_file +UGP40,40,,UGP40.stp +UGPS32D,32,SD,UGPS32D.stp diff --git a/onebot-data/catalog/csv/ULP.csv b/onebot-data/catalog/csv/ULP.csv new file mode 100644 index 0000000..fbd0f17 --- /dev/null +++ b/onebot-data/catalog/csv/ULP.csv @@ -0,0 +1,4 @@ +model_code,size,step_file +ULP32,32,ULP32.stp +ULP50,50,ULP50.stp +ULP63,63,ULP63.stp diff --git a/onebot-data/catalog/csv/USP.csv b/onebot-data/catalog/csv/USP.csv new file mode 100644 index 0000000..a809819 --- /dev/null +++ b/onebot-data/catalog/csv/USP.csv @@ -0,0 +1,4 @@ +model_code,size,step_file +USP32,32,USP32.stp +USP50,50,USP50.stp +USP63,63,USP63.stp diff --git a/onebot-data/catalog/parametric-vectors.json b/onebot-data/catalog/parametric-vectors.json new file mode 100644 index 0000000..bccecb5 --- /dev/null +++ b/onebot-data/catalog/parametric-vectors.json @@ -0,0 +1,12 @@ +{ + "note": "参数化引擎双端对拍向量 (桌面 selftest 与网页无头 E2E 同源; 2026-08-25)。case 字段: series/params 必填; expectCode+expectStandard 或 expectError 二选一; expectNearest 可选。", + "cases": [ + {"series": "KC", "params": {"type": "00", "bore": 32, "stroke": 10, "magnet": "", "mount": ""}, "expectCode": "KC0032-10", "expectStandard": true}, + {"series": "KC", "params": {"type": "00", "bore": 32, "stroke": 10, "magnet": "M", "mount": "FA"}, "expectCode": "KC0032-10MFA", "expectStandard": true}, + {"series": "KC", "params": {"type": "02", "bore": 63, "stroke": 100, "magnet": "", "mount": "CB"}, "expectCode": "KC0263-100CB", "expectStandard": true}, + {"series": "KC", "params": {"type": "00", "bore": 32, "stroke": 87, "magnet": "", "mount": ""}, "expectCode": "KC0032-87", "expectStandard": false, "expectNearest": "KC0032-75"}, + {"series": "KC", "params": {"type": "00", "bore": 32, "stroke": 90, "magnet": "", "mount": ""}, "expectCode": "KC0032-90", "expectStandard": false, "expectNearest": "KC0032-100"}, + {"series": "KC", "params": {"type": "00", "bore": 160, "stroke": 50, "magnet": "", "mount": "YB"}, "expectError": "rule"}, + {"series": "KC", "params": {"type": "00", "bore": 32, "stroke": 999, "magnet": "", "mount": ""}, "expectError": "domain"} + ] +} diff --git a/onebot-data/catalog/series/KC.meta.json b/onebot-data/catalog/series/KC.meta.json new file mode 100644 index 0000000..8e14df3 --- /dev/null +++ b/onebot-data/catalog/series/KC.meta.json @@ -0,0 +1 @@ +{"series": {"code": "KC", "mode": "parametric", "modelCodeTemplate": "KC{type}{bore}-{stroke}{magnet}{mount}", "nameZh": "KC 系列标准气缸 (ISO15552)", "nameEn": "KC Series Standard Cylinder (ISO15552)", "keywords": "kc iso15552 biaozhun qigang", "parameters": [{"code": "type", "nameZh": "型号", "nameEn": "Type", "keywords": "type", "unit": "", "type": "enum", "values": ["00", "02", "03"], "display": {}}, {"code": "bore", "nameZh": "缸径", "nameEn": "Bore", "keywords": "bore", "unit": "mm", "type": "number", "values": [32, 40, 50, 63, 80, 100, 125, 160, 200, 250, 320], "display": {}}, {"code": "stroke", "nameZh": "行程", "nameEn": "Stroke", "keywords": "stroke", "unit": "mm", "type": "range", "values": [10, 20, 30, 50, 75, 100], "min": 10, "max": 200, "step": 1, "gridValues": [10, 20, 30, 50, 75, 100], "display": {}}, {"code": "magnet", "nameZh": "磁石", "nameEn": "Magnet", "keywords": "magnet", "unit": "", "type": "enum", "values": ["", "M"], "display": {"": "不附磁石", "M": "附磁石 M"}}, {"code": "mount", "nameZh": "固定形式", "nameEn": "Mounting", "keywords": "mount", "unit": "", "type": "enum", "values": ["", "FA", "FB", "CA", "CB", "LB", "YB"], "display": {"FA": "前盖固定型 FA", "YB": "后盖支座固定型 YB", "TC": "中间摇摆式 TC", "CA": "后盖单耳固定型 CA", "LB": "前后固定型 LB", "CB": "后盖双耳固定型 CB", "TC-M": "摇摆式附脚座 TC-M", "FB": "后盖固定型 FB", "SDB": "后盖摇摆式 SDB", "": "基本型"}}], "rules": [{"If": {"Param": "mount", "Op": "eq", "Value": "YB"}, "Then": {"Param": "bore", "Op": "in", "Value": [32, 40, 50, 63, 80, 100, 125]}}], "naming": {"stepNameTemplate": "{model}.step"}, "attachments": [], "variants": []}, "attachments": [{"kind": "manual", "lang": "", "source": "manual/KC/p02.png", "model": null}, {"kind": "manual", "lang": "", "source": "manual/KC/p03.png", "model": null}, {"kind": "manual", "lang": "", "source": "manual/KC/p04.png", "model": null}, {"kind": "manual", "lang": "", "source": "manual/KC/p05.png", "model": null}, {"kind": "manual", "lang": "", "source": "manual/KC/p06.png", "model": null}, {"kind": "manual", "lang": "", "source": "manual/KC/p11.png", "model": null}, {"kind": "manual", "lang": "", "source": "manual/KC/p12.png", "model": null}, {"kind": "datasheet", "lang": "", "source": "manual/KC/KC_manual.pdf", "model": null}]} \ No newline at end of file diff --git a/onebot-data/catalog/series/KCB.meta.json b/onebot-data/catalog/series/KCB.meta.json new file mode 100644 index 0000000..afd5886 --- /dev/null +++ b/onebot-data/catalog/series/KCB.meta.json @@ -0,0 +1 @@ +{"series": {"code": "KCB", "nameZh": "KCB 系列倍力气缸", "nameEn": "KCB Series Tandem Cylinder", "keywords": "kcb beili qigang tandem", "parameters": [{"code": "bore", "nameZh": "缸径", "nameEn": "Bore", "unit": "mm", "type": "number", "keywords": "bore", "values": [32, 40, 50, 63, 80, 100, 125]}, {"code": "stroke", "nameZh": "行程", "nameEn": "Stroke", "unit": "mm", "type": "number", "keywords": "stroke", "values": [10, 20, 30, 50, 75, 100]}, {"code": "magnet", "nameZh": "磁石", "nameEn": "Magnet", "unit": "", "type": "enum", "keywords": "magnet", "values": ["", "M"], "display": {"": "不附磁石", "M": "附磁石 M"}}, {"code": "mount", "nameZh": "固定形式", "nameEn": "Mounting", "unit": "", "type": "enum", "keywords": "mount", "values": ["", "FA", "FB", "CA", "CB", "LB", "YB"], "display": {"FA": "前盖固定型 FA", "YB": "后盖支座固定型 YB", "TC": "中间摇摆式 TC", "CA": "后盖单耳固定型 CA", "LB": "前后固定型 LB", "CB": "后盖双耳固定型 CB", "TC-M": "摇摆式附脚座 TC-M", "FB": "后盖固定型 FB", "SDB": "后盖摇摆式 SDB", "": "基本型"}}], "rules": [], "naming": {"stepNameTemplate": "{model}.step"}, "attachments": [], "variants": []}, "attachments": [{"kind": "manual", "lang": "", "source": "manual/KCB/p09.png", "model": null}, {"kind": "manual", "lang": "", "source": "manual/KCB/p10.png", "model": null}, {"kind": "datasheet", "lang": "", "source": "manual/KCB/KCB_manual.pdf", "model": null}]} \ No newline at end of file diff --git a/onebot-data/catalog/series/KCS.meta.json b/onebot-data/catalog/series/KCS.meta.json new file mode 100644 index 0000000..2bf9696 --- /dev/null +++ b/onebot-data/catalog/series/KCS.meta.json @@ -0,0 +1 @@ +{"series": {"code": "KCS", "nameZh": "KCS 系列超经济型标准气缸", "nameEn": "KCS Series Economy Standard Cylinder", "keywords": "kcs chaojingji economy", "parameters": [{"code": "type", "nameZh": "型号", "nameEn": "Type", "unit": "", "type": "enum", "keywords": "type", "values": ["00", "02", "03"]}, {"code": "bore", "nameZh": "缸径", "nameEn": "Bore", "unit": "mm", "type": "number", "keywords": "bore", "values": [32, 40, 50, 63, 80, 100]}, {"code": "stroke", "nameZh": "行程", "nameEn": "Stroke", "unit": "mm", "type": "number", "keywords": "stroke", "values": [10, 20, 30, 50, 75, 100]}, {"code": "magnet", "nameZh": "磁石", "nameEn": "Magnet", "unit": "", "type": "enum", "keywords": "magnet", "values": ["", "M"], "display": {"": "不附磁石", "M": "附磁石 M"}}, {"code": "mount", "nameZh": "固定形式", "nameEn": "Mounting", "unit": "", "type": "enum", "keywords": "mount", "values": ["", "FA", "FB", "CA", "CB", "LB", "YB"], "display": {"FA": "前盖固定型 FA", "YB": "后盖支座固定型 YB", "TC": "中间摇摆式 TC", "CA": "后盖单耳固定型 CA", "LB": "前后固定型 LB", "CB": "后盖双耳固定型 CB", "TC-M": "摇摆式附脚座 TC-M", "FB": "后盖固定型 FB", "SDB": "后盖摇摆式 SDB", "": "基本型"}}], "rules": [], "naming": {"stepNameTemplate": "{model}.step"}, "attachments": [], "variants": []}, "attachments": [{"kind": "manual", "lang": "", "source": "manual/KCS/p13.png", "model": null}, {"kind": "datasheet", "lang": "", "source": "manual/KCS/KCS_manual.pdf", "model": null}]} \ No newline at end of file diff --git a/onebot-data/catalog/series/KS.meta.json b/onebot-data/catalog/series/KS.meta.json new file mode 100644 index 0000000..a17f735 --- /dev/null +++ b/onebot-data/catalog/series/KS.meta.json @@ -0,0 +1 @@ +{"series": {"code": "KS", "nameZh": "KS 系列拉杆式标准气缸", "nameEn": "KS Series Tie-rod Standard Cylinder", "keywords": "ks lagan tie-rod", "parameters": [{"code": "type", "nameZh": "型号", "nameEn": "Type", "unit": "", "type": "enum", "keywords": "type", "values": ["00", "02", "03"]}, {"code": "bore", "nameZh": "缸径", "nameEn": "Bore", "unit": "mm", "type": "number", "keywords": "bore", "values": [32, 40, 50, 63, 80, 100, 125]}, {"code": "stroke", "nameZh": "行程", "nameEn": "Stroke", "unit": "mm", "type": "number", "keywords": "stroke", "values": [10, 20, 30, 50, 75, 100]}, {"code": "magnet", "nameZh": "磁石", "nameEn": "Magnet", "unit": "", "type": "enum", "keywords": "magnet", "values": ["", "M"], "display": {"": "不附磁石", "M": "附磁石 M"}}, {"code": "mount", "nameZh": "固定形式", "nameEn": "Mounting", "unit": "", "type": "enum", "keywords": "mount", "values": ["", "FA", "FB", "CA", "CB", "LB", "TC", "TC-M"], "display": {"FA": "前盖固定型 FA", "YB": "后盖支座固定型 YB", "TC": "中间摇摆式 TC", "CA": "后盖单耳固定型 CA", "LB": "前后固定型 LB", "CB": "后盖双耳固定型 CB", "TC-M": "摇摆式附脚座 TC-M", "FB": "后盖固定型 FB", "SDB": "后盖摇摆式 SDB", "": "基本型"}}], "rules": [{"If": {"Param": "type", "Op": "in", "Value": ["02", "03"]}, "Then": {"Param": "mount", "Op": "in", "Value": ["FA", "FB", "LB", "TC", "TC-M"]}}], "naming": {"stepNameTemplate": "{model}.step"}, "attachments": [], "variants": []}, "attachments": [{"kind": "manual", "lang": "", "source": "manual/KS/p14.png", "model": null}, {"kind": "manual", "lang": "", "source": "manual/KS/p15.png", "model": null}, {"kind": "datasheet", "lang": "", "source": "manual/KS/KS_manual.pdf", "model": null}]} \ No newline at end of file diff --git a/onebot-data/catalog/series/KSB.meta.json b/onebot-data/catalog/series/KSB.meta.json new file mode 100644 index 0000000..d1de6fe --- /dev/null +++ b/onebot-data/catalog/series/KSB.meta.json @@ -0,0 +1 @@ +{"series": {"code": "KSB", "nameZh": "KSB 系列多位置气缸", "nameEn": "KSB Series Multi-position Cylinder", "keywords": "ksb duoweizhi multi-position", "parameters": [{"code": "bore", "nameZh": "缸径", "nameEn": "Bore", "unit": "mm", "type": "number", "keywords": "bore", "values": [32, 40, 50, 63, 80, 100, 125]}, {"code": "stroke1", "nameZh": "行程1", "nameEn": "Stroke 1", "unit": "mm", "type": "number", "keywords": "stroke1", "values": [0, 10, 20, 30, 50, 75, 100]}, {"code": "stroke2", "nameZh": "行程2", "nameEn": "Stroke 2", "unit": "mm", "type": "number", "keywords": "stroke2", "values": [0, 10, 20, 30, 50, 75, 100]}, {"code": "magnet", "nameZh": "磁石", "nameEn": "Magnet", "unit": "", "type": "enum", "keywords": "magnet", "values": ["", "M"], "display": {"": "不附磁石", "M": "附磁石 M"}}, {"code": "mount", "nameZh": "固定形式", "nameEn": "Mounting", "unit": "", "type": "enum", "keywords": "mount", "values": ["", "FA", "FB", "CA", "CB", "LB", "YB"], "display": {"FA": "前盖固定型 FA", "YB": "后盖支座固定型 YB", "TC": "中间摇摆式 TC", "CA": "后盖单耳固定型 CA", "LB": "前后固定型 LB", "CB": "后盖双耳固定型 CB", "TC-M": "摇摆式附脚座 TC-M", "FB": "后盖固定型 FB", "SDB": "后盖摇摆式 SDB", "": "基本型"}}], "rules": [], "naming": {"stepNameTemplate": "{model}.step"}, "attachments": [], "variants": []}, "attachments": [{"kind": "manual", "lang": "", "source": "manual/KSB/p16.png", "model": null}, {"kind": "manual", "lang": "", "source": "manual/KSB/p17.png", "model": null}, {"kind": "datasheet", "lang": "", "source": "manual/KSB/KSB_manual.pdf", "model": null}]} \ No newline at end of file diff --git a/onebot-data/catalog/series/KSU.meta.json b/onebot-data/catalog/series/KSU.meta.json new file mode 100644 index 0000000..ba81202 --- /dev/null +++ b/onebot-data/catalog/series/KSU.meta.json @@ -0,0 +1 @@ +{"series": {"code": "KSU", "nameZh": "KSU 系列拉杆内藏式标准气缸", "nameEn": "KSU Series Concealed Tie-rod Cylinder", "keywords": "ksu lagan neicang concealed", "parameters": [{"code": "type", "nameZh": "型号", "nameEn": "Type", "unit": "", "type": "enum", "keywords": "type", "values": ["00", "02", "03"]}, {"code": "bore", "nameZh": "缸径", "nameEn": "Bore", "unit": "mm", "type": "number", "keywords": "bore", "values": [32, 40, 50, 63, 80, 100, 125]}, {"code": "stroke", "nameZh": "行程", "nameEn": "Stroke", "unit": "mm", "type": "number", "keywords": "stroke", "values": [10, 20, 30, 50, 75, 100]}, {"code": "magnet", "nameZh": "磁石", "nameEn": "Magnet", "unit": "", "type": "enum", "keywords": "magnet", "values": ["", "M"], "display": {"": "不附磁石", "M": "附磁石 M"}}, {"code": "mount", "nameZh": "固定形式", "nameEn": "Mounting", "unit": "", "type": "enum", "keywords": "mount", "values": ["", "FA", "FB", "CA", "CB", "LB", "TC", "TC-M"], "display": {"FA": "前盖固定型 FA", "YB": "后盖支座固定型 YB", "TC": "中间摇摆式 TC", "CA": "后盖单耳固定型 CA", "LB": "前后固定型 LB", "CB": "后盖双耳固定型 CB", "TC-M": "摇摆式附脚座 TC-M", "FB": "后盖固定型 FB", "SDB": "后盖摇摆式 SDB", "": "基本型"}}], "rules": [{"If": {"Param": "type", "Op": "in", "Value": ["02", "03"]}, "Then": {"Param": "mount", "Op": "in", "Value": ["FA", "FB", "LB", "TC", "TC-M"]}}], "naming": {"stepNameTemplate": "{model}.step"}, "attachments": [], "variants": []}, "attachments": [{"kind": "manual", "lang": "", "source": "manual/KSU/p14.png", "model": null}, {"kind": "manual", "lang": "", "source": "manual/KSU/p15.png", "model": null}, {"kind": "datasheet", "lang": "", "source": "manual/KSU/KSU_manual.pdf", "model": null}]} \ No newline at end of file diff --git a/onebot-data/catalog/series/LAE.meta.json b/onebot-data/catalog/series/LAE.meta.json new file mode 100644 index 0000000..f6a30cd --- /dev/null +++ b/onebot-data/catalog/series/LAE.meta.json @@ -0,0 +1 @@ +{"series": {"code": "LAE", "nameZh": "LAE 系列电动气缸", "nameEn": "LAE Series Electric Cylinder", "keywords": "lae diandong electric servo", "parameters": [{"code": "size", "nameZh": "规格", "nameEn": "Size", "keywords": "size guige", "unit": "", "type": "number", "values": [140, 225, 350], "display": {}}], "rules": [], "naming": {"stepNameTemplate": "{model}.step"}, "attachments": [], "variants": []}, "attachments": [{"kind": "manual", "lang": "", "source": "manual/LAE/p01.png", "model": null}, {"kind": "datasheet", "lang": "", "source": "manual/LAE/LAE_manual.pdf", "model": null}]} \ No newline at end of file diff --git a/onebot-data/catalog/series/M.meta.json b/onebot-data/catalog/series/M.meta.json new file mode 100644 index 0000000..f046187 --- /dev/null +++ b/onebot-data/catalog/series/M.meta.json @@ -0,0 +1 @@ +{"series": {"code": "M", "nameZh": "M 系列不锈钢迷你缸 (ISO6432)", "nameEn": "M Series Stainless Mini Cylinder (ISO6432)", "keywords": "m iso6432 minigang stainless mini", "parameters": [{"code": "action", "nameZh": "动作形式", "nameEn": "Action", "unit": "", "type": "enum", "keywords": "action", "values": ["N", "S", "T", "ND", "NJ"]}, {"code": "bore", "nameZh": "缸径", "nameEn": "Bore", "unit": "mm", "type": "number", "keywords": "bore", "values": [8, 10, 12, 16, 20, 25, 32, 40]}, {"code": "stroke", "nameZh": "行程", "nameEn": "Stroke", "unit": "mm", "type": "number", "keywords": "stroke", "values": [10, 20, 30, 50, 75, 100]}, {"code": "magnet", "nameZh": "磁石", "nameEn": "Magnet", "unit": "", "type": "enum", "keywords": "magnet", "values": ["", "M"], "display": {"": "不附磁石", "M": "附磁石 M"}}, {"code": "rod", "nameZh": "活塞杆材质", "nameEn": "Rod Material", "unit": "", "type": "enum", "keywords": "rod", "values": ["E", ""], "display": {"": "碳钢", "E": "不锈钢 E"}}, {"code": "mount", "nameZh": "固定形式", "nameEn": "Mounting", "unit": "", "type": "enum", "keywords": "mount", "values": ["", "LB", "FA", "FB", "SDB"], "display": {"FA": "前盖固定型 FA", "YB": "后盖支座固定型 YB", "TC": "中间摇摆式 TC", "CA": "后盖单耳固定型 CA", "LB": "前后固定型 LB", "CB": "后盖双耳固定型 CB", "TC-M": "摇摆式附脚座 TC-M", "FB": "后盖固定型 FB", "SDB": "后盖摇摆式 SDB", "": "基本型"}}, {"code": "cap", "nameZh": "后盖形式", "nameEn": "Cap Type", "unit": "", "type": "enum", "keywords": "cap", "values": ["", "U", "CM"], "display": {"": "标准摆尾型", "U": "标准平尾型 U", "CM": "标准圆尾型 CM"}}], "rules": [], "naming": {"stepNameTemplate": "{model}.step"}, "attachments": [], "variants": []}, "attachments": [{"kind": "manual", "lang": "", "source": "manual/M/p22.png", "model": null}, {"kind": "manual", "lang": "", "source": "manual/M/p23.png", "model": null}, {"kind": "manual", "lang": "", "source": "manual/M/p24.png", "model": null}, {"kind": "manual", "lang": "", "source": "manual/M/p25.png", "model": null}, {"kind": "manual", "lang": "", "source": "manual/M/p26.png", "model": null}, {"kind": "manual", "lang": "", "source": "manual/M/p27.png", "model": null}, {"kind": "datasheet", "lang": "", "source": "manual/M/M_manual.pdf", "model": null}]} \ No newline at end of file diff --git a/onebot-data/catalog/series/MAL.meta.json b/onebot-data/catalog/series/MAL.meta.json new file mode 100644 index 0000000..0eb77f0 --- /dev/null +++ b/onebot-data/catalog/series/MAL.meta.json @@ -0,0 +1 @@ +{"series": {"code": "MAL", "nameZh": "MAL 系列铝合金迷你缸", "nameEn": "MAL Series Aluminium Mini Cylinder", "keywords": "mal lvhejin minigang aluminium mini", "parameters": [{"code": "type", "nameZh": "型号", "nameEn": "Type", "unit": "", "type": "enum", "keywords": "type", "values": ["MAL", "MSAL", "MTAL", "MALD", "MALJ"]}, {"code": "bore", "nameZh": "缸径", "nameEn": "Bore", "unit": "mm", "type": "number", "keywords": "bore", "values": [16, 20, 25, 32, 40]}, {"code": "stroke", "nameZh": "行程", "nameEn": "Stroke", "unit": "mm", "type": "number", "keywords": "stroke", "values": [10, 20, 30, 50, 75, 100]}, {"code": "magnet", "nameZh": "磁石", "nameEn": "Magnet", "unit": "", "type": "enum", "keywords": "magnet", "values": ["", "M"], "display": {"": "不附磁石", "M": "附磁石 M"}}, {"code": "rod", "nameZh": "活塞杆材质", "nameEn": "Rod Material", "unit": "", "type": "enum", "keywords": "rod", "values": ["E", ""], "display": {"": "碳钢", "E": "不锈钢 E"}}, {"code": "mount", "nameZh": "固定形式", "nameEn": "Mounting", "unit": "", "type": "enum", "keywords": "mount", "values": ["", "LB", "FA", "FB", "SDB"], "display": {"FA": "前盖固定型 FA", "YB": "后盖支座固定型 YB", "TC": "中间摇摆式 TC", "CA": "后盖单耳固定型 CA", "LB": "前后固定型 LB", "CB": "后盖双耳固定型 CB", "TC-M": "摇摆式附脚座 TC-M", "FB": "后盖固定型 FB", "SDB": "后盖摇摆式 SDB", "": "基本型"}}, {"code": "cap", "nameZh": "后盖形式", "nameEn": "Cap Type", "unit": "", "type": "enum", "keywords": "cap", "values": ["", "U", "CM"], "display": {"": "标准摆尾型", "U": "标准平尾型 U", "CM": "标准圆尾型 CM"}}], "rules": [], "naming": {"stepNameTemplate": "{model}.step"}, "attachments": [], "variants": []}, "attachments": [{"kind": "manual", "lang": "", "source": "manual/MAL/p36.png", "model": null}, {"kind": "manual", "lang": "", "source": "manual/MAL/p37.png", "model": null}, {"kind": "manual", "lang": "", "source": "manual/MAL/p38.png", "model": null}, {"kind": "manual", "lang": "", "source": "manual/MAL/p39.png", "model": null}, {"kind": "manual", "lang": "", "source": "manual/MAL/p40.png", "model": null}, {"kind": "datasheet", "lang": "", "source": "manual/MAL/MAL_manual.pdf", "model": null}]} \ No newline at end of file diff --git a/onebot-data/catalog/series/MALC.meta.json b/onebot-data/catalog/series/MALC.meta.json new file mode 100644 index 0000000..55171df --- /dev/null +++ b/onebot-data/catalog/series/MALC.meta.json @@ -0,0 +1 @@ +{"series": {"code": "MALC", "nameZh": "MALC 系列铝合金迷你缸", "nameEn": "MALC Series Aluminium Mini Cylinder", "keywords": "malc lvhejin minigang aluminium mini", "parameters": [{"code": "type", "nameZh": "型号", "nameEn": "Type", "unit": "", "type": "enum", "keywords": "type", "values": ["MALC", "MALCD", "MALCJ"]}, {"code": "bore", "nameZh": "缸径", "nameEn": "Bore", "unit": "mm", "type": "number", "keywords": "bore", "values": [16, 20, 25, 32, 40]}, {"code": "stroke", "nameZh": "行程", "nameEn": "Stroke", "unit": "mm", "type": "number", "keywords": "stroke", "values": [10, 20, 30, 50, 75, 100]}, {"code": "magnet", "nameZh": "磁石", "nameEn": "Magnet", "unit": "", "type": "enum", "keywords": "magnet", "values": ["", "M"], "display": {"": "不附磁石", "M": "附磁石 M"}}, {"code": "rod", "nameZh": "活塞杆材质", "nameEn": "Rod Material", "unit": "", "type": "enum", "keywords": "rod", "values": ["E", ""], "display": {"": "碳钢", "E": "不锈钢 E"}}, {"code": "mount", "nameZh": "固定形式", "nameEn": "Mounting", "unit": "", "type": "enum", "keywords": "mount", "values": ["", "LB", "FA", "FB", "SDB"], "display": {"FA": "前盖固定型 FA", "YB": "后盖支座固定型 YB", "TC": "中间摇摆式 TC", "CA": "后盖单耳固定型 CA", "LB": "前后固定型 LB", "CB": "后盖双耳固定型 CB", "TC-M": "摇摆式附脚座 TC-M", "FB": "后盖固定型 FB", "SDB": "后盖摇摆式 SDB", "": "基本型"}}, {"code": "cap", "nameZh": "后盖形式", "nameEn": "Cap Type", "unit": "", "type": "enum", "keywords": "cap", "values": ["", "U", "CM"], "display": {"": "标准摆尾型", "U": "标准平尾型 U", "CM": "标准圆尾型 CM"}}], "rules": [], "naming": {"stepNameTemplate": "{model}.step"}, "attachments": [], "variants": []}, "attachments": [{"kind": "manual", "lang": "", "source": "manual/MALC/p41.png", "model": null}, {"kind": "manual", "lang": "", "source": "manual/MALC/p42.png", "model": null}, {"kind": "manual", "lang": "", "source": "manual/MALC/p43.png", "model": null}, {"kind": "datasheet", "lang": "", "source": "manual/MALC/MALC_manual.pdf", "model": null}]} \ No newline at end of file diff --git a/onebot-data/catalog/series/MS.meta.json b/onebot-data/catalog/series/MS.meta.json new file mode 100644 index 0000000..c716658 --- /dev/null +++ b/onebot-data/catalog/series/MS.meta.json @@ -0,0 +1 @@ +{"series": {"code": "MS", "nameZh": "MS 系列不锈钢迷你缸 (ISO6432)", "nameEn": "MS Series Stainless Mini Cylinder (ISO6432)", "keywords": "ms iso6432 minigang stainless mini", "parameters": [{"code": "action", "nameZh": "动作形式", "nameEn": "Action", "unit": "", "type": "enum", "keywords": "action", "values": ["N", "D", "J"]}, {"code": "bore", "nameZh": "缸径", "nameEn": "Bore", "unit": "mm", "type": "number", "keywords": "bore", "values": [16, 20, 25, 32, 40]}, {"code": "stroke", "nameZh": "行程", "nameEn": "Stroke", "unit": "mm", "type": "number", "keywords": "stroke", "values": [10, 20, 30, 50, 75, 100]}, {"code": "magnet", "nameZh": "磁石", "nameEn": "Magnet", "unit": "", "type": "enum", "keywords": "magnet", "values": ["", "M"], "display": {"": "不附磁石", "M": "附磁石 M"}}, {"code": "rod", "nameZh": "活塞杆材质", "nameEn": "Rod Material", "unit": "", "type": "enum", "keywords": "rod", "values": ["E", ""], "display": {"": "碳钢", "E": "不锈钢 E"}}, {"code": "mount", "nameZh": "固定形式", "nameEn": "Mounting", "unit": "", "type": "enum", "keywords": "mount", "values": ["", "LB", "FA", "FB", "SDB"], "display": {"FA": "前盖固定型 FA", "YB": "后盖支座固定型 YB", "TC": "中间摇摆式 TC", "CA": "后盖单耳固定型 CA", "LB": "前后固定型 LB", "CB": "后盖双耳固定型 CB", "TC-M": "摇摆式附脚座 TC-M", "FB": "后盖固定型 FB", "SDB": "后盖摇摆式 SDB", "": "基本型"}}, {"code": "cap", "nameZh": "后盖形式", "nameEn": "Cap Type", "unit": "", "type": "enum", "keywords": "cap", "values": ["", "U", "CM"], "display": {"": "标准摆尾型", "U": "标准平尾型 U", "CM": "标准圆尾型 CM"}}], "rules": [], "naming": {"stepNameTemplate": "{model}.step"}, "attachments": [], "variants": []}, "attachments": [{"kind": "manual", "lang": "", "source": "manual/MS/p28.png", "model": null}, {"kind": "manual", "lang": "", "source": "manual/MS/p29.png", "model": null}, {"kind": "manual", "lang": "", "source": "manual/MS/p30.png", "model": null}, {"kind": "manual", "lang": "", "source": "manual/MS/p31.png", "model": null}, {"kind": "manual", "lang": "", "source": "manual/MS/p32.png", "model": null}, {"kind": "datasheet", "lang": "", "source": "manual/MS/MS_manual.pdf", "model": null}]} \ No newline at end of file diff --git a/onebot-data/catalog/series/MSC.meta.json b/onebot-data/catalog/series/MSC.meta.json new file mode 100644 index 0000000..9dab3b6 --- /dev/null +++ b/onebot-data/catalog/series/MSC.meta.json @@ -0,0 +1 @@ +{"series": {"code": "MSC", "nameZh": "MSC 系列不锈钢迷你缸 (ISO6432)", "nameEn": "MSC Series Stainless Mini Cylinder (ISO6432)", "keywords": "msc iso6432 minigang stainless mini", "parameters": [{"code": "action", "nameZh": "动作形式", "nameEn": "Action", "unit": "", "type": "enum", "keywords": "action", "values": ["C", "D", "J"]}, {"code": "bore", "nameZh": "缸径", "nameEn": "Bore", "unit": "mm", "type": "number", "keywords": "bore", "values": [16, 20, 25, 32, 40]}, {"code": "stroke", "nameZh": "行程", "nameEn": "Stroke", "unit": "mm", "type": "number", "keywords": "stroke", "values": [10, 20, 30, 50, 75, 100]}, {"code": "magnet", "nameZh": "磁石", "nameEn": "Magnet", "unit": "", "type": "enum", "keywords": "magnet", "values": ["", "M"], "display": {"": "不附磁石", "M": "附磁石 M"}}, {"code": "rod", "nameZh": "活塞杆材质", "nameEn": "Rod Material", "unit": "", "type": "enum", "keywords": "rod", "values": ["E", ""], "display": {"": "碳钢", "E": "不锈钢 E"}}, {"code": "mount", "nameZh": "固定形式", "nameEn": "Mounting", "unit": "", "type": "enum", "keywords": "mount", "values": ["", "LB", "FA", "FB", "SDB"], "display": {"FA": "前盖固定型 FA", "YB": "后盖支座固定型 YB", "TC": "中间摇摆式 TC", "CA": "后盖单耳固定型 CA", "LB": "前后固定型 LB", "CB": "后盖双耳固定型 CB", "TC-M": "摇摆式附脚座 TC-M", "FB": "后盖固定型 FB", "SDB": "后盖摇摆式 SDB", "": "基本型"}}, {"code": "cap", "nameZh": "后盖形式", "nameEn": "Cap Type", "unit": "", "type": "enum", "keywords": "cap", "values": ["", "U", "CM"], "display": {"": "标准摆尾型", "U": "标准平尾型 U", "CM": "标准圆尾型 CM"}}], "rules": [], "naming": {"stepNameTemplate": "{model}.step"}, "attachments": [], "variants": []}, "attachments": [{"kind": "manual", "lang": "", "source": "manual/MSC/p33.png", "model": null}, {"kind": "manual", "lang": "", "source": "manual/MSC/p34.png", "model": null}, {"kind": "manual", "lang": "", "source": "manual/MSC/p35.png", "model": null}, {"kind": "datasheet", "lang": "", "source": "manual/MSC/MSC_manual.pdf", "model": null}]} \ No newline at end of file diff --git a/onebot-data/catalog/series/UAGP.meta.json b/onebot-data/catalog/series/UAGP.meta.json new file mode 100644 index 0000000..17955bb --- /dev/null +++ b/onebot-data/catalog/series/UAGP.meta.json @@ -0,0 +1 @@ +{"series": {"code": "UAGP", "nameZh": "UAGP 系列气动翻转缸", "nameEn": "UAGP Series Pneumatic Flip Cylinder", "keywords": "uagp fanzhuan flip rotary", "parameters": [{"code": "size", "nameZh": "规格", "nameEn": "Size", "keywords": "size guige", "unit": "", "type": "number", "values": [80, 120, 150, 155, 170, 210, 215, 300, 350, 355, 605], "display": {}}, {"code": "type", "nameZh": "型式", "nameEn": "Type", "keywords": "type xingshi", "unit": "", "type": "enum", "values": ["W", "B"], "display": {"W": "标准型", "B": "带制动"}}], "rules": [], "naming": {"stepNameTemplate": "{model}.step"}, "attachments": [], "variants": []}, "attachments": [{"kind": "manual", "lang": "", "source": "manual/UAGP/p01.png", "model": null}, {"kind": "datasheet", "lang": "", "source": "manual/UAGP/UAGP_manual.pdf", "model": null}]} \ No newline at end of file diff --git a/onebot-data/catalog/series/UCBM.meta.json b/onebot-data/catalog/series/UCBM.meta.json new file mode 100644 index 0000000..f2acbe1 --- /dev/null +++ b/onebot-data/catalog/series/UCBM.meta.json @@ -0,0 +1 @@ +{"series": {"code": "UCBM", "nameZh": "UCBM 系列气动夹紧缸", "nameEn": "UCBM Series Pneumatic Clamping Cylinder", "keywords": "ucbm jiajin jingang clamping", "parameters": [{"code": "size", "nameZh": "规格", "nameEn": "Size", "keywords": "size guige", "unit": "", "type": "number", "values": [25, 32, 40, 50, 63, 80], "display": {}}], "rules": [], "naming": {"stepNameTemplate": "{model}.step"}, "attachments": [], "variants": []}, "attachments": [{"kind": "manual", "lang": "", "source": "manual/UCBM/p01.png", "model": null}, {"kind": "datasheet", "lang": "", "source": "manual/UCBM/UCBM_manual.pdf", "model": null}]} \ No newline at end of file diff --git a/onebot-data/catalog/series/UGP.meta.json b/onebot-data/catalog/series/UGP.meta.json new file mode 100644 index 0000000..c015868 --- /dev/null +++ b/onebot-data/catalog/series/UGP.meta.json @@ -0,0 +1 @@ +{"series": {"code": "UGP", "nameZh": "UGP 系列气动夹爪缸", "nameEn": "UGP Series Pneumatic Gripper Cylinder", "keywords": "ugp jiazhua gripper", "parameters": [{"code": "size", "nameZh": "规格", "nameEn": "Size", "keywords": "size guige", "unit": "", "type": "number", "values": [40, 32], "display": {}}, {"code": "type", "nameZh": "型式", "nameEn": "Type", "keywords": "type xingshi", "unit": "", "type": "enum", "values": ["", "SD"], "display": {"": "标准型", "SD": "特殊型 SD"}}], "rules": [{"If": {"Param": "type", "Op": "eq", "Value": ""}, "Then": {"Param": "size", "Op": "in", "Value": [40]}}, {"If": {"Param": "type", "Op": "eq", "Value": "SD"}, "Then": {"Param": "size", "Op": "in", "Value": [32]}}], "naming": {"stepNameTemplate": "{model}.step"}, "attachments": [], "variants": []}, "attachments": [{"kind": "manual", "lang": "", "source": "manual/UGP/p01.png", "model": null}, {"kind": "datasheet", "lang": "", "source": "manual/UGP/UGP_manual.pdf", "model": null}]} \ No newline at end of file diff --git a/onebot-data/catalog/series/ULP.meta.json b/onebot-data/catalog/series/ULP.meta.json new file mode 100644 index 0000000..4c051c4 --- /dev/null +++ b/onebot-data/catalog/series/ULP.meta.json @@ -0,0 +1 @@ +{"series": {"code": "ULP", "nameZh": "ULP 系列气动可伸缩定位销", "nameEn": "ULP Series Pneumatic Retractable Locating Pin", "keywords": "ulp shensuo dingweixiao pin", "parameters": [{"code": "size", "nameZh": "规格", "nameEn": "Size", "keywords": "size guige", "unit": "", "type": "number", "values": [32, 50, 63], "display": {}}], "rules": [], "naming": {"stepNameTemplate": "{model}.step"}, "attachments": [], "variants": []}, "attachments": [{"kind": "manual", "lang": "", "source": "manual/ULP/p01.png", "model": null}, {"kind": "datasheet", "lang": "", "source": "manual/ULP/ULP_manual.pdf", "model": null}]} \ No newline at end of file diff --git a/onebot-data/catalog/series/USP.meta.json b/onebot-data/catalog/series/USP.meta.json new file mode 100644 index 0000000..c02f90d --- /dev/null +++ b/onebot-data/catalog/series/USP.meta.json @@ -0,0 +1 @@ +{"series": {"code": "USP", "nameZh": "USP 系列气动勾销缸", "nameEn": "USP Series Pneumatic Hook Pin Cylinder", "keywords": "usp gouxiao hook pin", "parameters": [{"code": "size", "nameZh": "规格", "nameEn": "Size", "keywords": "size guige", "unit": "", "type": "number", "values": [32, 50, 63], "display": {}}], "rules": [], "naming": {"stepNameTemplate": "{model}.step"}, "attachments": [], "variants": []}, "attachments": [{"kind": "manual", "lang": "", "source": "manual/USP/p01.png", "model": null}, {"kind": "datasheet", "lang": "", "source": "manual/USP/USP_manual.pdf", "model": null}]} \ No newline at end of file diff --git a/onebot-data/genserver-config.json b/onebot-data/genserver-config.json new file mode 100644 index 0000000..4a33211 --- /dev/null +++ b/onebot-data/genserver-config.json @@ -0,0 +1,16 @@ +{ + "note": "NX 按需生成服务配置 (A 版, 2026-08-25)。dataDir 指向目录数据源 (与唯一数据源同目录, 读取 series 规则与 csv 网格, 服务端二次校验用)。上线时把本文件 + masters.json + catalog-masters\\ 一并部署到服务器, apiKey 务必更换。", + "port": 8899, + "apiKey": "onebot-gen-local-dev", + "dataDir": "onebot-data\\catalog", + "mastersJson": "onebot-data\\masters.json", + "mastersDir": "catalog-masters", + "outputDir": "output", + "jobsDir": "jobs", + "workDir": "work", + "queueLimit": 200, + "batchLimit": 50, + "ratePerMin": 10, + "workTtlHours": 2, + "jobArchiveHours": 24 +} diff --git a/onebot-data/masters.json b/onebot-data/masters.json new file mode 100644 index 0000000..ada0978 --- /dev/null +++ b/onebot-data/masters.json @@ -0,0 +1,20 @@ +{ + "note": "NX 按需生成服务母模配置 (服务器侧, 不进客户包)。expressionMap: 目录参数代码 → NX 母模表达式名 (须与母模实际表达式一字不差, 由建模工程师确认)。switchRules: [参数代码, 参数值, NX表达式名, 表达式值] 枚举开关 (驱动按表达式抑制的特征, 同 nx-batch-export.vb 语义)。exports: 每个型号导出的格式 (step 固定导出, 其余 true 才导)。", + "KC": { + "masterPart": "KC_master.prt", + "expressionMap": { "bore": "bore", "stroke": "stroke" }, + "switchRules": [ + ["magnet", "", "magOn", "0"], + ["magnet", "M", "magOn", "1"], + ["mount", "", "mountIdx", "0"], + ["mount", "FA", "mountIdx", "1"], + ["mount", "FB", "mountIdx", "2"], + ["mount", "CA", "mountIdx", "3"], + ["mount", "CB", "mountIdx", "4"], + ["mount", "LB", "mountIdx", "5"], + ["mount", "YB", "mountIdx", "6"] + ], + "exports": { "step": "214", "iges": true, "prt": true }, + "timeoutSec": 300 + } +} diff --git a/onebot-data/tools/gen-manual-placeholders.py b/onebot-data/tools/gen-manual-placeholders.py new file mode 100644 index 0000000..6e644b4 --- /dev/null +++ b/onebot-data/tools/gen-manual-placeholders.py @@ -0,0 +1,132 @@ +# -*- coding: utf-8 -*- +""" +gen-manual-placeholders.py —— 为新系列生成手册占位文件夹与占位图片 (尺寸图窗口占位用) + +背景: 老 11 个系列有手册拆页 (catalog\\manual\\<系列>\\pXX.png), 新 6 个系列 +(UCBM/ULP/USP/UGP/UAGP/LAE) 暂无手册 → 尺寸图窗口空白。 +本脚本为每个新系列生成一张占位 PNG (A4 比例, 灰框+系列代码大字) 并写入 +series\\<系列>.meta.json 的 manual 附件引用。真实手册到货后用 +render-manual-pages.py 重新拆页覆盖 p01.png 即可。 + +纯标准库实现 (zlib+struct 写 PNG, 5x7 点阵字体), 无任何第三方依赖。 +用法: python gen-manual-placeholders.py +""" +import json +import os +import struct +import zlib + +BASE = os.path.dirname(os.path.dirname(os.path.abspath(__file__))) +MANUAL_DIR = os.path.join(BASE, 'catalog', 'manual') +SERIES_DIR = os.path.join(BASE, 'catalog', 'series') + +NEW_SERIES = ['UCBM', 'ULP', 'USP', 'UGP', 'UAGP', 'LAE'] + +# 5x7 点阵字体 (每字符 7 字节, 位=像素) +FONT = { + 'A': [0x0E, 0x11, 0x11, 0x1F, 0x11, 0x11, 0x11], 'B': [0x1E, 0x11, 0x11, 0x1E, 0x11, 0x11, 0x1E], + 'C': [0x0E, 0x11, 0x10, 0x10, 0x10, 0x11, 0x0E], 'D': [0x1C, 0x12, 0x11, 0x11, 0x11, 0x12, 0x1C], + 'E': [0x1F, 0x10, 0x10, 0x1E, 0x10, 0x10, 0x1F], 'F': [0x1F, 0x10, 0x10, 0x1E, 0x10, 0x10, 0x10], + 'G': [0x0E, 0x11, 0x10, 0x17, 0x11, 0x11, 0x0F], 'H': [0x11, 0x11, 0x11, 0x1F, 0x11, 0x11, 0x11], + 'I': [0x0E, 0x04, 0x04, 0x04, 0x04, 0x04, 0x0E], 'J': [0x07, 0x02, 0x02, 0x02, 0x12, 0x12, 0x0C], + 'K': [0x11, 0x12, 0x14, 0x18, 0x14, 0x12, 0x11], 'L': [0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x1F], + 'M': [0x11, 0x1B, 0x15, 0x15, 0x11, 0x11, 0x11], 'N': [0x11, 0x19, 0x15, 0x13, 0x11, 0x11, 0x11], + 'O': [0x0E, 0x11, 0x11, 0x11, 0x11, 0x11, 0x0E], 'P': [0x1E, 0x11, 0x11, 0x1E, 0x10, 0x10, 0x10], + 'Q': [0x0E, 0x11, 0x11, 0x11, 0x15, 0x12, 0x0D], 'R': [0x1E, 0x11, 0x11, 0x1E, 0x14, 0x12, 0x11], + 'S': [0x0F, 0x10, 0x10, 0x0E, 0x01, 0x01, 0x1E], 'T': [0x1F, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04], + 'U': [0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x0E], 'V': [0x11, 0x11, 0x11, 0x11, 0x11, 0x0A, 0x04], + 'W': [0x11, 0x11, 0x11, 0x15, 0x15, 0x1B, 0x11], 'X': [0x11, 0x11, 0x0A, 0x04, 0x0A, 0x11, 0x11], + 'Y': [0x11, 0x11, 0x0A, 0x04, 0x04, 0x04, 0x04], 'Z': [0x1F, 0x01, 0x02, 0x04, 0x08, 0x10, 0x1F], + '0': [0x0E, 0x11, 0x13, 0x15, 0x19, 0x11, 0x0E], '1': [0x04, 0x0C, 0x04, 0x04, 0x04, 0x04, 0x0E], + '2': [0x0E, 0x11, 0x01, 0x02, 0x04, 0x08, 0x1F], '3': [0x1F, 0x02, 0x04, 0x06, 0x01, 0x11, 0x0E], + '4': [0x02, 0x06, 0x0A, 0x12, 0x1F, 0x02, 0x02], '5': [0x1F, 0x10, 0x1E, 0x01, 0x01, 0x11, 0x0E], + '6': [0x06, 0x08, 0x10, 0x1E, 0x11, 0x11, 0x0E], '7': [0x1F, 0x01, 0x02, 0x04, 0x08, 0x08, 0x08], + '8': [0x0E, 0x11, 0x11, 0x0E, 0x11, 0x11, 0x0E], '9': [0x0E, 0x11, 0x11, 0x0F, 0x01, 0x02, 0x0C], + '/': [0x01, 0x01, 0x02, 0x04, 0x08, 0x10, 0x10], '-': [0x00, 0x00, 0x00, 0x1F, 0x00, 0x00, 0x00], + '.': [0x00, 0x00, 0x00, 0x00, 0x00, 0x0C, 0x0C], ':': [0x00, 0x0C, 0x0C, 0x00, 0x0C, 0x0C, 0x00], + ' ': [0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00], +} + +W, H = 794, 1123 # A4 @96dpi 近似 + + +def draw_text(buf, text, x0, y0, scale, color): + """把 text 按 5x7 点阵放大 scale 倍画进 buf (0xFFFFFF 背景)""" + for ch in text: + glyph = FONT.get(ch.upper(), FONT[' ']) + for row in range(7): + bits = glyph[row] + for col in range(5): + if bits & (0x10 >> col): + for dy in range(scale): + for dx in range(scale): + px = (x0 + col * scale + dx) * 3 + py = y0 + row * scale + dy + buf[py * W * 3 + px] = color[0] + buf[py * W * 3 + px + 1] = color[1] + buf[py * W * 3 + px + 2] = color[2] + x0 += 6 * scale + + +def make_png(path, series): + buf = bytearray([0xF5, 0xF6, 0xF8] * (W * H)) # 浅灰底 + gray = (0x9A, 0xA2, 0xAC) + dark = (0x3A, 0x45, 0x52) + # 图纸外框 + 四角标 + for x in range(40, W - 40): + for y in (38, 39, H - 40, H - 39): + i = (y * W + x) * 3 + buf[i], buf[i + 1], buf[i + 2] = gray + for y in range(38, H - 38): + for x in (40, 41, W - 42, W - 41): + i = (y * W + x) * 3 + buf[i], buf[i + 1], buf[i + 2] = gray + draw_text(buf, series, 60, 90, 10, dark) # 系列代码大字 + draw_text(buf, 'DRAWING PENDING', 60, 230, 3, gray) # 占位说明 + draw_text(buf, 'SERIES: ' + series, 60, 270, 2, gray) + draw_text(buf, 'REPLACE THIS PAGE', 60, 300, 2, gray) + draw_text(buf, 'WITH REAL MANUAL', 60, 324, 2, gray) + # 对角辅助线 (工程图纸感) + for t in range(0, 300): + for x in (t, t + 1): + i = ((90 + t) * W + 60 + x) * 3 + buf[i], buf[i + 1], buf[i + 2] = 0xE2, 0xE6, 0xEA + # 写 PNG (无压缩优化, 标准库) + def chunk(tag, data): + c = struct.pack('>I', len(data)) + tag + data + c += struct.pack('>I', zlib.crc32(tag + data) & 0xFFFFFFFF) + return c + raw = b''.join(b'\x00' + bytes(buf[y * W * 3:(y + 1) * W * 3]) for y in range(H)) + png = (b'\x89PNG\r\n\x1a\n' + + chunk(b'IHDR', struct.pack('>IIBBBBB', W, H, 8, 2, 0, 0, 0)) + + chunk(b'IDAT', zlib.compress(raw, 6)) + + chunk(b'IEND', b'')) + with open(path, 'wb') as f: + f.write(png) + + +def update_meta(series): + meta_path = os.path.join(SERIES_DIR, series + '.meta.json') + with open(meta_path, 'r', encoding='utf-8') as f: + obj = json.load(f) + obj['attachments'] = [{'kind': 'manual', 'lang': '', 'source': 'manual/%s/p01.png' % series, 'model': None}] + with open(meta_path, 'w', encoding='utf-8') as f: + json.dump(obj, f, ensure_ascii=False) + + +def main(): + made = 0 + for s in NEW_SERIES: + d = os.path.join(MANUAL_DIR, s) + if not os.path.isdir(d): + os.makedirs(d) + make_png(os.path.join(d, 'p01.png'), s) + update_meta(s) + made += 1 + print('OK %s: manual/%s/p01.png + meta 附件引用' % (s, s)) + print('完成 %d 个系列' % made) + print('提示: 真实手册到货后跑 render-manual-pages.py 覆盖, 或直接替换 p01.png 同名文件') + + +if __name__ == '__main__': + main() diff --git a/onebot-data/tools/gen-mesh-preview.py b/onebot-data/tools/gen-mesh-preview.py new file mode 100644 index 0000000..fef49c4 --- /dev/null +++ b/onebot-data/tools/gen-mesh-preview.py @@ -0,0 +1,85 @@ +# -*- coding: utf-8 -*- +""" +gen-mesh-preview.py —— 生成占位 STL 网格 (窗口内 3D 预览用, 开源 Helix Toolkit 渲染) + +用途: 真实数模导出前, 为每个型号生成一个简单圆柱占位网格, + 放在 onebot-data\\catalog\\mesh\\ 下 (与 step\\ 同名, .stl 后缀)。 + 桌面软件发现 mesh 侧车文件后, 直接在窗口内渲染, 不再弹浏览器。 + +真实网格来源: NX journal (nx-batch-export.vb) 导出 STEP 时同步导出 STL 到 mesh\\, + 本脚本只在"还没拿到真实网格"时充当占位。 + +用法: python gen-mesh-preview.py +""" +import os +import struct +import math + +MESH_DIR = os.path.join(os.path.dirname(os.path.dirname(os.path.abspath(__file__))), 'catalog', 'mesh') + +# 型号 → (半径 mm, 高度 mm): 按型号里的规格数字粗略缩放, 仅占位用 +MODELS = [ + ('UCBM25', 12.5, 60), ('UCBM32', 16, 75), ('UCBM40', 20, 90), + ('UCBM50', 25, 110), ('UCBM63', 31.5, 135), ('UCBM80', 40, 170), + ('ULP32', 16, 90), ('ULP50', 25, 120), ('ULP63', 31.5, 140), + ('USP32', 16, 90), ('USP50', 25, 120), ('USP63', 31.5, 140), + ('UGP40', 20, 100), ('UGPS32D', 16, 100), + ('LAE140', 30, 140), ('LAE225', 40, 225), ('LAE350', 55, 350), + ('UAGP080_W', 40, 80), ('UAGP080_B', 40, 80), ('UAGP120_W', 50, 120), + ('UAGP120_B', 50, 120), ('UAGP150_W', 50, 150), ('UAGP150_B', 50, 150), + ('UAGP155_W', 50, 155), ('UAGP155_B', 50, 155), ('UAGP170_W', 62.5, 170), + ('UAGP170_B', 62.5, 170), ('UAGP210_W', 62.5, 210), ('UAGP210_B', 62.5, 210), + ('UAGP215_W', 62.5, 215), ('UAGP215_B', 62.5, 215), ('UAGP300_W', 80, 300), + ('UAGP300_B', 80, 300), ('UAGP350_W', 80, 350), ('UAGP350_B', 80, 350), + ('UAGP355_W', 80, 355), ('UAGP355_B', 80, 355), ('UAGP605_W', 100, 600), + ('UAGP605_B', 100, 600), + ('KC-00-32x10', 16, 100), # KC 试点真实型号: 网格预览样例 +] + + +def cylinder_tris(r, h, n=24): + """圆柱体三角网格: (法线, 顶点) 三元组列表, 轴为 Z, 底面 z=0, 顶面 z=h""" + tris = [] + top, bot = [], [] + for i in range(n): + a0, a1 = 2 * math.pi * i / n, 2 * math.pi * (i + 1) / n + x0, y0 = r * math.cos(a0), r * math.sin(a0) + x1, y1 = r * math.cos(a1), r * math.sin(a1) + # 顶面 (z=h, 法线 +Z) + tris.append(((0, 0, 1), ((0, 0, h), (x0, y0, h), (x1, y1, h)))) + # 底面 (z=0, 法线 -Z) + tris.append(((0, 0, -1), ((0, 0, 0), (x1, y1, 0), (x0, y0, 0)))) + # 侧面 (两块三角, 法线径向) + nx0, ny0 = math.cos(a0), math.sin(a0) + nx1, ny1 = math.cos(a1), math.sin(a1) + tris.append(((nx0, ny0, 0), ((x0, y0, 0), (x0, y0, h), (x1, y1, h)))) + tris.append(((nx1, ny1, 0), ((x0, y0, 0), (x1, y1, h), (x1, y1, 0)))) + return tris + + +def write_stl(path, tris): + with open(path, 'wb') as f: + f.write(b'ONEBOT mesh preview'.ljust(80, b'\0')) + f.write(struct.pack('.opc +# 数据来源: 《ONEBOT - 直线气缸 - 中文.pdf》订购码与规格参数表 (2026-08 提取) +# 说明: +# - STEP 为简化圆柱组合占位模型 (尺寸随缸径/行程缩放), 待 NX 母模批量导出后替换同名文件即可 +# - 相同几何的型号组合共用同一 STEP (磁石/固定形式/杆材/后盖不改变简化几何) +# - 行程取标准档位 10/20/30/50/75/100; 手册标注"可调行程 25~1000mm"属参数化二期 +# - 本脚本只负责【生成/刷新源数据】(几何+CSV+系列定义); 目录打包/发布走 C# 统一路线 +# 用法: powershell -NoProfile -ExecutionPolicy Bypass -File onebot-data\tools\gen-onebot-source.ps1 +param( + [string]$OutDir = (Join-Path $PSScriptRoot '..\catalog') +) +$ProgressPreference = 'SilentlyContinue' +$inv = [System.Globalization.CultureInfo]::InvariantCulture + +$stepDir = Join-Path $OutDir 'step' +$csvDir = Join-Path $OutDir 'csv' +$seriesDir = Join-Path $OutDir 'series' +$manDir = Join-Path $OutDir 'manual' +New-Item -ItemType Directory -Force -Path $stepDir | Out-Null +New-Item -ItemType Directory -Force -Path $csvDir | Out-Null +New-Item -ItemType Directory -Force -Path $seriesDir | Out-Null + +# ==================== 系列与分类定义 ==================== +$SERIES = New-Object System.Collections.Generic.List[object] +$SERIES.Add(@{ code='KC'; cat='AUT'; zh='KC 系列标准气缸 (ISO15552)'; en='KC Series Standard Cylinder (ISO15552)'; kw='kc iso15552 biaozhun qigang' }) +$SERIES.Add(@{ code='KCB'; cat='AUT'; zh='KCB 系列倍力气缸'; en='KCB Series Tandem Cylinder'; kw='kcb beili qigang tandem' }) +$SERIES.Add(@{ code='KSB'; cat='AUT'; zh='KSB 系列多位置气缸'; en='KSB Series Multi-position Cylinder'; kw='ksb duoweizhi multi-position' }) +$SERIES.Add(@{ code='KCS'; cat='AUT'; zh='KCS 系列超经济型标准气缸'; en='KCS Series Economy Standard Cylinder'; kw='kcs chaojingji economy' }) +$SERIES.Add(@{ code='KS'; cat='AUT'; zh='KS 系列拉杆式标准气缸'; en='KS Series Tie-rod Standard Cylinder'; kw='ks lagan tie-rod' }) +$SERIES.Add(@{ code='KSU'; cat='AUT'; zh='KSU 系列拉杆内藏式标准气缸'; en='KSU Series Concealed Tie-rod Cylinder'; kw='ksu lagan neicang concealed' }) +$SERIES.Add(@{ code='M'; cat='MIN'; zh='M 系列不锈钢迷你缸 (ISO6432)'; en='M Series Stainless Mini Cylinder (ISO6432)'; kw='m iso6432 minigang stainless mini' }) +$SERIES.Add(@{ code='MS'; cat='MIN'; zh='MS 系列不锈钢迷你缸 (ISO6432)'; en='MS Series Stainless Mini Cylinder (ISO6432)'; kw='ms iso6432 minigang stainless mini' }) +$SERIES.Add(@{ code='MSC'; cat='MIN'; zh='MSC 系列不锈钢迷你缸 (ISO6432)'; en='MSC Series Stainless Mini Cylinder (ISO6432)'; kw='msc iso6432 minigang stainless mini' }) +$SERIES.Add(@{ code='MAL'; cat='ALU'; zh='MAL 系列铝合金迷你缸'; en='MAL Series Aluminium Mini Cylinder'; kw='mal lvhejin minigang aluminium mini' }) +$SERIES.Add(@{ code='MALC'; cat='ALU'; zh='MALC 系列铝合金迷你缸'; en='MALC Series Aluminium Mini Cylinder'; kw='malc lvhejin minigang aluminium mini' }) +$CATS = New-Object System.Collections.Generic.List[object] +$CATS.Add(@{ code='AUT'; zh='汽车行业气缸 Automotive'; en='Automotive Cylinders' }) +$CATS.Add(@{ code='MIN'; zh='不锈钢迷你缸 (ISO6432)'; en='Stainless Mini Cylinders (ISO6432)' }) +$CATS.Add(@{ code='ALU'; zh='铝合金迷你缸'; en='Aluminium Mini Cylinders' }) +$MOUNT_DISP = @{ ''='基本型'; FA='前盖固定型 FA'; FB='后盖固定型 FB'; CA='后盖单耳固定型 CA'; CB='后盖双耳固定型 CB'; LB='前后固定型 LB'; YB='后盖支座固定型 YB'; TC='中间摇摆式 TC'; 'TC-M'='摇摆式附脚座 TC-M'; SDB='后盖摇摆式 SDB' } +$MAGNET_DISP = @{ ''='不附磁石'; M='附磁石 M' } +$ROD_DISP = @{ ''='碳钢'; E='不锈钢 E' } +$CAP_DISP = @{ ''='标准摆尾型'; U='标准平尾型 U'; CM='标准圆尾型 CM' } +$STROKES = @(10, 20, 30, 50, 75, 100) +$STROKES_KSB = @(0, 10, 20, 30, 50, 75, 100) +$BORE_STD = @(32, 40, 50, 63, 80, 100, 125) +$BORE_KC = @(32, 40, 50, 63, 80, 100, 125, 160, 200, 250, 320) +$BORE_KCS = @(32, 40, 50, 63, 80, 100) +$BORE_M = @(8, 10, 12, 16, 20, 25, 32, 40) +$BORE_MINI = @(16, 20, 25, 32, 40) +$MOUNT_STD = @('', 'FA', 'FB', 'CA', 'CB', 'LB', 'YB') +$MOUNT_TIE = @('', 'FA', 'FB', 'CA', 'CB', 'LB', 'TC', 'TC-M') +$MOUNT_MINI = @('', 'LB', 'FA', 'FB', 'SDB') + +# 每系列: 参数定义 (code/zh/en/unit/type/values) + 变体组合规则 +function Get-SeriesSpec([string]$code) { + switch ($code) { + 'KC' { + $params = @( + @('type', '型号', 'Type', 'enum', @('00', '02', '03')), + @('bore', '缸径', 'Bore', 'number', $BORE_KC), + @('stroke', '行程', 'Stroke', 'number', $STROKES), + @('magnet', '磁石', 'Magnet', 'enum', @('', 'M')), + @('mount', '固定形式', 'Mounting', 'enum', $MOUNT_STD) + ) + $rules = @() + $rules += @{ if=@{param='mount'; op='eq'; value='YB'}; then=@{param='bore'; op='in'; values=@(32,40,50,63,80,100,125)} } + return @{ params=$params; rules=$rules; twin=$false } + } + 'KCB' { + $params = @( + @('bore', '缸径', 'Bore', 'number', $BORE_STD), + @('stroke', '行程', 'Stroke', 'number', $STROKES), + @('magnet', '磁石', 'Magnet', 'enum', @('', 'M')), + @('mount', '固定形式', 'Mounting', 'enum', $MOUNT_STD) + ) + return @{ params=$params; rules=@(); twin=$false } + } + 'KSB' { + $params = @( + @('bore', '缸径', 'Bore', 'number', $BORE_STD), + @('stroke1', '行程1', 'Stroke 1', 'number', $STROKES_KSB), + @('stroke2', '行程2', 'Stroke 2', 'number', $STROKES_KSB), + @('magnet', '磁石', 'Magnet', 'enum', @('', 'M')), + @('mount', '固定形式', 'Mounting', 'enum', $MOUNT_STD) + ) + return @{ params=$params; rules=@(); twin=$false } + } + 'KCS' { + $params = @( + @('type', '型号', 'Type', 'enum', @('00', '02', '03')), + @('bore', '缸径', 'Bore', 'number', $BORE_KCS), + @('stroke', '行程', 'Stroke', 'number', $STROKES), + @('magnet', '磁石', 'Magnet', 'enum', @('', 'M')), + @('mount', '固定形式', 'Mounting', 'enum', $MOUNT_STD) + ) + return @{ params=$params; rules=@(); twin=$false } + } + 'KS' { + $params = @( + @('type', '型号', 'Type', 'enum', @('00', '02', '03')), + @('bore', '缸径', 'Bore', 'number', $BORE_STD), + @('stroke', '行程', 'Stroke', 'number', $STROKES), + @('magnet', '磁石', 'Magnet', 'enum', @('', 'M')), + @('mount', '固定形式', 'Mounting', 'enum', $MOUNT_TIE) + ) + $rules = @() + $rules += @{ if=@{param='type'; op='in'; values=@('02','03')}; then=@{param='mount'; op='in'; values=@('FA','FB','LB','TC','TC-M')} } + return @{ params=$params; rules=$rules; twin=$false } + } + 'KSU' { + $params = @( + @('type', '型号', 'Type', 'enum', @('00', '02', '03')), + @('bore', '缸径', 'Bore', 'number', $BORE_STD), + @('stroke', '行程', 'Stroke', 'number', $STROKES), + @('magnet', '磁石', 'Magnet', 'enum', @('', 'M')), + @('mount', '固定形式', 'Mounting', 'enum', $MOUNT_TIE) + ) + $rules = @() + $rules += @{ if=@{param='type'; op='in'; values=@('02','03')}; then=@{param='mount'; op='in'; values=@('FA','FB','LB','TC','TC-M')} } + return @{ params=$params; rules=$rules; twin=$false } + } + 'M' { + $params = @( + @('action', '动作形式', 'Action', 'enum', @('N', 'S', 'T', 'ND', 'NJ')), + @('bore', '缸径', 'Bore', 'number', $BORE_M), + @('stroke', '行程', 'Stroke', 'number', $STROKES), + @('magnet', '磁石', 'Magnet', 'enum', @('', 'M')), + @('rod', '活塞杆材质', 'Rod Material', 'enum', @('E', '')), + @('mount', '固定形式', 'Mounting', 'enum', $MOUNT_MINI), + @('cap', '后盖形式', 'Cap Type', 'enum', @('', 'U', 'CM')) + ) + return @{ params=$params; rules=@(); twin=$false } + } + 'MS' { + $params = @( + @('action', '动作形式', 'Action', 'enum', @('N', 'D', 'J')), + @('bore', '缸径', 'Bore', 'number', $BORE_MINI), + @('stroke', '行程', 'Stroke', 'number', $STROKES), + @('magnet', '磁石', 'Magnet', 'enum', @('', 'M')), + @('rod', '活塞杆材质', 'Rod Material', 'enum', @('E', '')), + @('mount', '固定形式', 'Mounting', 'enum', $MOUNT_MINI), + @('cap', '后盖形式', 'Cap Type', 'enum', @('', 'U', 'CM')) + ) + return @{ params=$params; rules=@(); twin=$false } + } + 'MSC' { + $params = @( + @('action', '动作形式', 'Action', 'enum', @('C', 'D', 'J')), + @('bore', '缸径', 'Bore', 'number', $BORE_MINI), + @('stroke', '行程', 'Stroke', 'number', $STROKES), + @('magnet', '磁石', 'Magnet', 'enum', @('', 'M')), + @('rod', '活塞杆材质', 'Rod Material', 'enum', @('E', '')), + @('mount', '固定形式', 'Mounting', 'enum', $MOUNT_MINI), + @('cap', '后盖形式', 'Cap Type', 'enum', @('', 'U', 'CM')) + ) + return @{ params=$params; rules=@(); twin=$false } + } + 'MAL' { + $params = @( + @('type', '型号', 'Type', 'enum', @('MAL', 'MSAL', 'MTAL', 'MALD', 'MALJ')), + @('bore', '缸径', 'Bore', 'number', $BORE_MINI), + @('stroke', '行程', 'Stroke', 'number', $STROKES), + @('magnet', '磁石', 'Magnet', 'enum', @('', 'M')), + @('rod', '活塞杆材质', 'Rod Material', 'enum', @('E', '')), + @('mount', '固定形式', 'Mounting', 'enum', $MOUNT_MINI), + @('cap', '后盖形式', 'Cap Type', 'enum', @('', 'U', 'CM')) + ) + return @{ params=$params; rules=@(); twin=$false } + } + 'MALC' { + $params = @( + @('type', '型号', 'Type', 'enum', @('MALC', 'MALCD', 'MALCJ')), + @('bore', '缸径', 'Bore', 'number', $BORE_MINI), + @('stroke', '行程', 'Stroke', 'number', $STROKES), + @('magnet', '磁石', 'Magnet', 'enum', @('', 'M')), + @('rod', '活塞杆材质', 'Rod Material', 'enum', @('E', '')), + @('mount', '固定形式', 'Mounting', 'enum', $MOUNT_MINI), + @('cap', '后盖形式', 'Cap Type', 'enum', @('', 'U', 'CM')) + ) + return @{ params=$params; rules=@(); twin=$false } + } + default { return @{ params=@(); rules=@(); twin=$false } } + } +} + +# ==================== STEP 几何生成 (简化圆柱组合) ==================== +function Format-Num([double]$v) { return $v.ToString('0.###', $inv) } + +function New-CylinderEntities([int]$id, [double]$x, [double]$y, [double]$z, [double]$r, [double]$len) { + $X = Format-Num $x; $Y = Format-Num $y; $Z = Format-Num $z + $ZT = Format-Num ($z + $len); $R = Format-Num $r + $VY = Format-Num ($y + $r) + $e = @( + "#$($id)=DIRECTION('',(0.,0.,1.));", + "#$($id+1)=CARTESIAN_POINT('',($X,$Y,$Z));", + "#$($id+2)=CARTESIAN_POINT('',($X,$Y,$ZT));", + "#$($id+3)=DIRECTION('',(1.,0.,0.));", + "#$($id+4)=AXIS2_PLACEMENT_3D('',#$($id+1),#$($id),#$($id+3));", + "#$($id+5)=CARTESIAN_POINT('',($X,$VY,$Z));", + "#$($id+6)=CARTESIAN_POINT('',($X,$VY,$ZT));", + "#$($id+7)=VERTEX_POINT('',#$($id+5));", + "#$($id+8)=VERTEX_POINT('',#$($id+6));", + "#$($id+9)=CIRCLE('',#$($id+4),$R);", + "#$($id+10)=EDGE_CURVE('',#$($id+7),#$($id+7),#$($id+9),.T.);", + "#$($id+11)=CYLINDRICAL_SURFACE('',#$($id+4),$R);", + "#$($id+12)=PLANE('',#$($id+4));", + "#$($id+13)=DIRECTION('',(0.,0.,1.));", + "#$($id+14)=AXIS2_PLACEMENT_3D('',#$($id+2),#$($id+13),#$($id+3));", + "#$($id+15)=PLANE('',#$($id+14));", + "#$($id+16)=CIRCLE('',#$($id+14),$R);", + "#$($id+17)=EDGE_CURVE('',#$($id+8),#$($id+8),#$($id+16),.T.);", + "#$($id+18)=DIRECTION('',(0.,0.,1.));", + "#$($id+19)=VECTOR('',#$($id+18),1.);", + "#$($id+20)=LINE('',#$($id+5),#$($id+19));", + "#$($id+21)=EDGE_CURVE('',#$($id+7),#$($id+8),#$($id+20),.T.);", + "#$($id+22)=ORIENTED_EDGE('',*,*,#$($id+10),.T.);", + "#$($id+23)=ORIENTED_EDGE('',*,*,#$($id+17),.T.);", + "#$($id+24)=ORIENTED_EDGE('',*,*,#$($id+21),.T.);", + "#$($id+25)=ORIENTED_EDGE('',*,*,#$($id+17),.T.);", + "#$($id+26)=ORIENTED_EDGE('',*,*,#$($id+21),.F.);", + "#$($id+27)=ORIENTED_EDGE('',*,*,#$($id+10),.F.);", + "#$($id+28)=EDGE_LOOP('',(#$($id+22)));", + "#$($id+29)=EDGE_LOOP('',(#$($id+23)));", + "#$($id+30)=EDGE_LOOP('',(#$($id+24),#$($id+25),#$($id+26),#$($id+27)));", + "#$($id+31)=ADVANCED_FACE('',(#$($id+30)),#$($id+11),.T.);", + "#$($id+32)=ADVANCED_FACE('',(#$($id+28)),#$($id+12),.F.);", + "#$($id+33)=ADVANCED_FACE('',(#$($id+29)),#$($id+15),.T.);", + "#$($id+34)=CLOSED_SHELL('',(#$($id+31),#$($id+32),#$($id+33)));", + "#$($id+35)=MANIFOLD_SOLID_BREP('',#$($id+34));" + ) + return $e +} + +function Write-StepFile([string]$path, [double]$bore, [double]$stroke, [bool]$twin, [bool]$mini) { + # 尺寸 (占位近似, 真实尺寸待 NX 母模导出替换) + $wall = if ($mini) { 2.0 } else { 3.0 } + $bodyR = $bore / 2.0 + $wall + $capR = $bore / 2.0 + $(if ($mini) { 3.5 } else { 6.0 }) + $capLen = if ($mini) { 6.0 } else { 8.0 } + $fcapLen = if ($mini) { 8.0 } else { 10.0 } + $bodyLen = $stroke + $bore * 1.1 + $(if ($mini) { 20.0 } else { 30.0 }) + $rodR = [Math]::Max($bore / $(if ($mini) { 6.0 } else { 7.0 }), $(if ($mini) { 2.0 } else { 4.0 })) + $rodBot = $bodyLen - $(if ($mini) { 8.0 } else { 12.0 }) + $rodLen = $stroke + $(if ($mini) { 20.0 } else { 26.0 }) + $rodOff = if ($twin) { $rodR * 2.0 } else { 0.0 } + + $lines = New-Object System.Collections.Generic.List[string] + $lines.Add('ISO-10303-21;') + $lines.Add('HEADER;') + $lines.Add("FILE_DESCRIPTION(('ONEBOT simplified sample geometry'),'2;1');") + $lines.Add("FILE_NAME('$(Split-Path $path -Leaf)','2026-08-22T00:00:00',('ONEBOT'),('ONEBOT'),'','','');") + $lines.Add("FILE_SCHEMA(('CONFIG_CONTROL_DESIGN'));") + $lines.Add('ENDSEC;') + $lines.Add('DATA;') + + $ids = New-Object System.Collections.Generic.List[int] + $nextId = 1 + $cyls = New-Object System.Collections.Generic.List[object] + $cyls.Add(@{ x = 0.0; y = 0.0; z = -$capLen; r = $capR; len = $capLen }) + $cyls.Add(@{ x = 0.0; y = 0.0; z = 0.0; r = $bodyR; len = $bodyLen }) + $cyls.Add(@{ x = 0.0; y = 0.0; z = $bodyLen; r = $capR; len = $fcapLen }) + $cyls.Add(@{ x = -$rodOff; y = 0.0; z = $rodBot; r = $rodR; len = $rodLen }) + if ($twin) { $cyls.Add(@{ x = $rodOff; y = 0.0; z = $rodBot; r = $rodR; len = $rodLen }) } + foreach ($cyl in $cyls) { + [string[]]$entities = New-CylinderEntities -id $nextId -x $cyl['x'] -y $cyl['y'] -z $cyl['z'] -r $cyl['r'] -len $cyl['len'] + $lines.AddRange($entities) + $ids.Add($nextId + 35) + $nextId += 36 + } + # 尾部共享实体: 注入 STYLED_ITEM 颜色 (occt-import-js 对无颜色模型会崩) + $styledIds = New-Object System.Collections.Generic.List[string] + $c = $nextId + foreach ($s in $ids) { + $lines.Add("#$c=COLOUR_RGB('',0.65,0.72,0.85);") + $lines.Add("#$($c+1)=FILL_AREA_STYLE_COLOUR('',#$c);") + $lines.Add("#$($c+2)=SURFACE_STYLE_FILL_AREA(#$($c+1));") + $lines.Add("#$($c+3)=SURFACE_SIDE_STYLE('',(#$($c+2)));") + $lines.Add("#$($c+4)=SURFACE_STYLE_USAGE(.BOTH.,#$($c+3));") + $lines.Add("#$($c+5)=PRESENTATION_STYLE_ASSIGNMENT((#$($c+4)));") + $lines.Add("#$($c+6)=STYLED_ITEM('',(#$($c+5)),#$s);") + $styledIds.Add("#$($c+6)") + $c += 7 + } + $items = (($ids | ForEach-Object { "#$_" }) + $styledIds) -join ',' + $lines.Add("#$c=SHAPE_REPRESENTATION('',($items),#$($c+1));") + $lines.Add("#$($c+1)=(GEOMETRIC_REPRESENTATION_CONTEXT(3)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#$($c+2)))GLOBAL_UNIT_ASSIGNED_CONTEXT((#$($c+3),#$($c+4),#$($c+5)))REPRESENTATION_CONTEXT('',''));") + $lines.Add("#$($c+2)=UNCERTAINTY_MEASURE_WITH_UNIT(LENGTH_MEASURE(1.E-06),#$($c+3),'');") + $lines.Add("#$($c+3)=(LENGTH_UNIT()NAMED_UNIT(*)SI_UNIT(.MILLI.,.METRE.));") + $lines.Add("#$($c+4)=(NAMED_UNIT(*)PLANE_ANGLE_UNIT()SI_UNIT($,.RADIAN.));") + $lines.Add("#$($c+5)=(NAMED_UNIT(*)SI_UNIT($,.STERADIAN.)SOLID_ANGLE_UNIT());") + $lines.Add("#$($c+6)=PRODUCT('ONEBOT','ONEBOT','',(#$($c+7)));") + $lines.Add("#$($c+7)=PRODUCT_CONTEXT('',#$($c+8),'mechanical');") + $lines.Add("#$($c+8)=APPLICATION_CONTEXT('configuration controlled 3d designs of mechanical parts and assemblies');") + $lines.Add("#$($c+9)=PRODUCT_DEFINITION_FORMATION('','',#$($c+6));") + $lines.Add("#$($c+10)=PRODUCT_DEFINITION('design','',#$($c+9),#$($c+11));") + $lines.Add("#$($c+11)=PRODUCT_DEFINITION_CONTEXT('part definition',#$($c+8),'design');") + $lines.Add("#$($c+12)=PRODUCT_DEFINITION_SHAPE('','',#$($c+10));") + $lines.Add("#$($c+13)=SHAPE_DEFINITION_REPRESENTATION(#$($c+12),#$c);") + $lines.Add('ENDSEC;') + $lines.Add('END-ISO-10303-21;') + + $enc = New-Object System.Text.UTF8Encoding($false) + [System.IO.File]::WriteAllLines($path, $lines.ToArray(), $enc) +} + +# 双轴型号判定 (两根活塞杆) +function Is-TwinType([string]$code, [string]$type) { + if ($code -eq 'M') { return ($type -eq 'ND' -or $type -eq 'NJ') } + if ($code -eq 'MS') { return ($type -eq 'D' -or $type -eq 'J') } + if ($code -eq 'MSC') { return ($type -eq 'D' -or $type -eq 'J') } + if ($code -eq 'MAL') { return ($type -eq 'MALD' -or $type -eq 'MALJ') } + if ($code -eq 'MALC') { return ($type -eq 'MALCD' -or $type -eq 'MALCJ') } + return ($type -eq '02' -or $type -eq '03') +} + +# 规则求值 (与 C# Configurator 同语义: 违反规则的组合不生成) +function Cond-Matches($cond, $combo) { + if (-not $combo.ContainsKey($cond['param'])) { return $false } + $val = [string]$combo[$cond['param']] + switch ($cond['op']) { + 'eq' { return ([string]$val -eq [string]$cond['value']) } + 'ne' { return ([string]$val -ne [string]$cond['value']) } + 'in' { foreach ($v in $cond['values']) { if ([string]$val -eq [string]$v) { return $true } } return $false } + default { return $false } + } +} +function Rule-Violated($rules, $combo) { + foreach ($r in $rules) { + if ((Cond-Matches $r['if'] $combo) -and -not (Cond-Matches $r['then'] $combo)) { return $true } + } + return $false +} +function Cond-ToJson($c) { + if ($c['op'] -eq 'in') { + $vals = ($c['values'] | ForEach-Object { '"' + $_ + '"' }) -join ',' + return '{"Param":"' + $c['param'] + '","Op":"in","Value":[' + $vals + ']}' + } + return '{"Param":"' + $c['param'] + '","Op":"' + $c['op'] + '","Value":"' + $c['value'] + '"}' +} +function Rule-ToJson($r) { + return '{"If":' + (Cond-ToJson $r['if']) + ',"Then":' + (Cond-ToJson $r['then']) + '}' +} + +# ==================== 主流程 ==================== +$seriesJsonList = New-Object System.Collections.Generic.List[string] +$stepNames = New-Object System.Collections.Generic.HashSet[string] +$totalVariants = 0 +$totalSteps = 0 + +foreach ($s in $SERIES) { + $code = $s.code + $spec = Get-SeriesSpec $code + $mini = ($s.cat -eq 'MIN' -or $s.cat -eq 'ALU') + + # 变体组合: 参数值笛卡尔积 + $combos = New-Object System.Collections.Generic.List[object] + $combos.Add(@{}) + foreach ($p in $spec.params) { + $next = New-Object System.Collections.Generic.List[object] + foreach ($c in $combos) { + foreach ($v in $p[4]) { + $nc = @{} + foreach ($k in $c.Keys) { $nc[$k] = $c[$k] } + $nc[$p[0]] = $v + $next.Add($nc) + } + } + $combos = $next + } + + # CSV 行 + 变体 JSON + STEP (按 几何键: 系列+型号段+缸径+行程) + $csvLines = New-Object System.Collections.Generic.List[string] + $headerCols = @('model_code') + foreach ($p in $spec.params) { $headerCols += $p[0] } + $headerCols += 'step_file' + $csvLines.Add(($headerCols -join ',')) + $varJson = New-Object System.Collections.Generic.List[string] + $geoCodes = New-Object System.Collections.Generic.HashSet[string] + + foreach ($c in $combos) { + # 规则过滤: 违反手册约束的组合不生成 (如 大缸径+YB、双轴型+受限固定形式) + if (Rule-Violated $spec.rules $c) { continue } + $typeSeg = '' + if ($spec.params[0][0] -eq 'type' -or $spec.params[0][0] -eq 'action') { $typeSeg = [string]$c[$spec.params[0][0]] } + $bore = [double]$c['bore'] + $stroke = if ($c.ContainsKey('stroke')) { [double]$c['stroke'] } else { [double]$c['stroke1'] } + + # 型号编码 + $model = '' + if ($code -eq 'KSB') { + $model = "KSB$($c['bore'])-$($c['stroke1'])x$($c['stroke2'])$($c['magnet'])$($c['mount'])" + } elseif ($s.cat -eq 'MIN' -or $code -eq 'MAL' -or $code -eq 'MALC') { + $model = "$typeSeg$($c['bore'])-$($c['stroke'])$($c['magnet'])$($c['rod'])$($c['mount'])$($c['cap'])" + } else { + $model = "$code$typeSeg$($c['bore'])-$($c['stroke'])$($c['magnet'])$($c['mount'])" + } + + # 几何 STEP (共用) + $geoKey = "$code-$typeSeg-${bore}x$stroke" + $stepName = "$code-$typeSeg-${bore}x$stroke.step" + if (-not $geoCodes.Contains($geoKey)) { + [void]$geoCodes.Add($geoKey) + if (-not $stepNames.Contains($stepName)) { + Write-StepFile (Join-Path $stepDir $stepName) $bore $stroke (Is-TwinType $code $typeSeg) $mini + [void]$stepNames.Add($stepName) + $totalSteps++ + } + } + + # 变体 JSON 与 CSV + $paramsJson = New-Object System.Collections.Generic.List[string] + foreach ($p in $spec.params) { + $v = $c[$p[0]] + if ($p[3] -eq 'number') { $paramsJson.Add('"' + $p[0] + '":' + [string]$v) } + else { $paramsJson.Add('"' + $p[0] + '":"' + $v + '"') } + } + $varJson.Add('{"modelCode":"' + $model + '","params":{' + ($paramsJson -join ',') + '},"step":"step/' + $stepName + '"}') + $rowVals = @($model) + foreach ($p in $spec.params) { $rowVals += [string]$c[$p[0]] } + $rowVals += $stepName + $csvLines.Add(($rowVals -join ',')) + $totalVariants++ + } + + # 系列 meta JSON (series\.meta.json, 与向导保存配置同构; 变体不存, 构建时从 CSV 读) + $paramsJson = New-Object System.Collections.Generic.List[string] + foreach ($p in $spec.params) { + $display = '' + if ($p[0] -eq 'mount') { + $entries = New-Object System.Collections.Generic.List[string] + foreach ($k in $MOUNT_DISP.Keys) { $entries.Add('"' + $k + '":"' + $MOUNT_DISP[$k] + '"') } + $display = '"display":{' + ($entries -join ',') + '}' + } elseif ($p[0] -eq 'magnet') { + $display = '"display":{"":"不附磁石","M":"附磁石 M"}' + } elseif ($p[0] -eq 'rod') { + $display = '"display":{"":"碳钢","E":"不锈钢 E"}' + } elseif ($p[0] -eq 'cap') { + $display = '"display":{"":"标准摆尾型","U":"标准平尾型 U","CM":"标准圆尾型 CM"}' + } + $vals = New-Object System.Collections.Generic.List[string] + foreach ($v in $p[4]) { + if ($p[3] -eq 'number') { $vals.Add([string]$v) } + else { $vals.Add('"' + $v + '"') } + } + $paramsJson.Add('{"code":"' + $p[0] + '","nameZh":"' + $p[1] + '","nameEn":"' + $p[2] + '","unit":"' + $(if ($p[3] -eq 'number') { 'mm' } else { '' }) + '","type":"' + $p[3] + '","keywords":"' + $p[0] + '","values":[' + ($vals -join ',') + ']' + $(if ($display) { ',' + $display } else { '' }) + '}') + } + $rulesJson = (($spec.rules | ForEach-Object { Rule-ToJson $_ }) -join ',') + # 手册页附件 (尺寸图窗口对照用): catalog\manual\<系列>\pXX.png → source 相对路径 + $manAtt = New-Object System.Collections.Generic.List[string] + if (Test-Path (Join-Path $manDir $code)) { + foreach ($mf in (Get-ChildItem (Join-Path $manDir $code) -Filter '*.png' | Sort-Object Name)) { + $manAtt.Add('{"kind":"manual","lang":"","source":"manual/' + $code + '/' + $mf.Name + '","model":null}') + } + } + $sjson = '{"code":"' + $code + '","nameZh":"' + $s.zh + '","nameEn":"' + $s.en + '","keywords":"' + $s.kw + '",' + + '"parameters":[' + ($paramsJson -join ',') + '],' + + '"rules":[' + $rulesJson + '],' + + '"naming":{"stepNameTemplate":"{model}.step"},' + + '"attachments":[],"variants":[]}' + $metaJson = '{"series":' + $sjson + ',"attachments":[' + ($manAtt -join ',') + ']}' + [System.IO.File]::WriteAllText((Join-Path $seriesDir ($code + '.meta.json')), $metaJson, (New-Object System.Text.UTF8Encoding($false))) + + # 写 CSV + [System.IO.File]::WriteAllLines((Join-Path $csvDir ($code + '.csv')), $csvLines.ToArray(), (New-Object System.Text.UTF8Encoding($true))) + Write-Output ("系列 " + $code + ": " + $combos.Count + " 个变体, 几何 STEP " + $geoCodes.Count + " 个") +} + +# catalog.json (源目录: 目录级定义 + 分类系列列表; series 定义在 series\*.meta.json) +$catJson = New-Object System.Collections.Generic.List[string] +foreach ($c in $CATS) { + $codes = ($SERIES | Where-Object { $_.cat -eq $c.code } | ForEach-Object { '"' + $_.code + '"' }) -join ',' + $catJson.Add('{"code":"' + $c.code + '","nameZh":"' + $c.zh + '","nameEn":"' + $c.en + '","keywords":"","series":[' + $codes + ']}') +} +$catalogJson = '{"schemaVersion":"1.0","catalogName":"ONEBOT 气动元件目录","catalogNameEn":"ONEBOT Pneumatic Catalog",' + + '"catalogVersion":"2026.08","defaultLang":"zh","langs":["zh","en"],' + + '"categories":[' + ($catJson -join ',') + '],' + + '"series":[]}' +[System.IO.File]::WriteAllText((Join-Path $OutDir 'catalog.json'), $catalogJson, (New-Object System.Text.UTF8Encoding($false))) + +Write-Output "" +Write-Output ("完成: " + $SERIES.Count + " 个系列, " + $totalVariants + " 个变体, " + $totalSteps + " 个几何 STEP") +Write-Output ("源目录: " + $OutDir + " (catalog.json + series\*.meta.json + csv\ + step\)") +Write-Output ("下一步打包 (C# 统一内核): OnebotCatalog\bin\OnebotCatalog.exe --buildfull <源目录> <输出.opc>") diff --git a/onebot-data/tools/jelpc-crossref.py b/onebot-data/tools/jelpc-crossref.py new file mode 100644 index 0000000..5b08b29 --- /dev/null +++ b/onebot-data/tools/jelpc-crossref.py @@ -0,0 +1,90 @@ +# -*- coding: utf-8 -*- +# 从佳尔灵英文目录 PDF 生成平替对照表 (JELPC → 我方型号) +# 原理: 系列对照 (SQ↔KCS, SI↔KC, SIB↔KCB, SC/SU↔KS/KSU, SCT↔KSB, MAL/MALC 同名) +# + 抽取 PDF 中的 系列+缸径x行程 组合 → 构造我方基础型型号 → 必须存在于我方 CSV 才写入 +# 输出: OnebotCatalog\onebot-data\catalog\crossref.csv +# 用法: python tools\jelpc-crossref.py +import fitz, re, os, sys + +# 路径基于脚本自身位置 (OnebotCatalog\onebot-data\tools\ → 上溯两级到 OnebotCatalog) +ROOT = os.path.dirname(os.path.dirname(os.path.dirname(os.path.abspath(__file__)))) +PDF = os.path.join(ROOT, '4_JELPC_E-Catalog_EN.pdf') +CSV_DIR = os.path.join(ROOT, 'onebot-data', 'catalog', 'csv') +OUT = os.path.join(ROOT, 'onebot-data', 'catalog', 'crossref.csv') + +# 佳尔灵系列 → (我方系列, 我方基础型号段, 是否双轴字母映射) +# 我方型号构造规则 (与 build-onebot 一致): +# KC类: <我方系列><缸径>-<行程> type: 00 标准 / 02 双轴 / 03 双轴可调 +# MAL类: <缸径>-<行程> type段: MAL / MALC +SERIES_MAP = { + "SI": ("KC", "00"), + "SIB": ("KCB", ""), + "SQ": ("KCS", "00"), + "SC": ("KS", "00"), + "SU": ("KSU", "00"), + "SCT": ("KSB", ""), + "MAL": ("MAL", "MAL"), + "MALC": ("MALC", "MALC"), +} + +def main(): + # 1) 我方型号集合 (CSV 第 1 列) + ours = set() + for fn in os.listdir(CSV_DIR): + if not fn.endswith('.csv'): + continue + with open(os.path.join(CSV_DIR, fn), encoding='utf-8-sig') as f: + for line in f: + line = line.strip() + if not line or line.startswith('model_code'): + continue + code = line.split(',')[0].strip() + if code: + ours.add(code) + + # 2) 佳尔灵 PDF 全文本 + doc = fitz.open(PDF) + full = '\n'.join(doc[i].get_text() for i in range(doc.page_count)) + doc.close() + + # 3) 抽取 系列+型号段+缸径-行程 组合 + rows = [] # (jpc_code, our_code) + seen = set() + for jseries, (oseries, otype) in SERIES_MAP.items(): + # 型号段字母: 标准(无)/D(双轴)/J(双轴可调) 等 + pat = re.compile(r'\b' + jseries + r'([A-Z]?)(\d{1,3})-(\d{1,4})\b') + for m in pat.finditer(full): + seg = m.group(1) + bore = m.group(2) + stroke = m.group(3) + if len(stroke) > 3: # 过滤表格数字误匹配 (行程一般 1~3 位) + continue + jpc_code = m.group(0) + # 构造我方型号 + if oseries in ("MAL", "MALC"): + our = otype + bore + '-' + stroke + elif oseries == "KSB": + our = oseries + bore + '-0x' + stroke # 双行程: 行程1=0 行程2=stroke (占位) + else: + t = {"": "00", "D": "02", "J": "03"}.get(seg, "00") + our = oseries + t + bore + '-' + stroke + if our not in ours: + continue + key = (jpc_code, our) + if key in seen: + continue + seen.add(key) + rows.append((jpc_code, our)) + + rows.sort(key=lambda x: (x[1], x[0])) + print(f'生成对照 {len(rows)} 行 (我方型号已校验存在)') + + # 4) 写 crossref.csv (覆盖; 其余品牌行请自行追加) + with open(OUT, 'w', encoding='utf-8-sig', newline='') as f: + f.write('brand,foreign_model,our_model,note\n') + for jpc, our in rows: + f.write(f'JELPC,{jpc},{our},基础型平替(待核对)\n') + print('已写:', OUT) + +if __name__ == '__main__': + main() diff --git a/onebot-data/tools/manual-pages-to-pdf.py b/onebot-data/tools/manual-pages-to-pdf.py new file mode 100644 index 0000000..889b659 --- /dev/null +++ b/onebot-data/tools/manual-pages-to-pdf.py @@ -0,0 +1,176 @@ +# -*- coding: utf-8 -*- +""" +manual-pages-to-pdf.py —— 把各系列手册页 PNG 打包成 PDF (供"下载数据表 PDF"用) + +背景: 尺寸图窗口显示的手册页是 PNG (manual\\<系列>\\pXX.png)。客户还需要能 +下载 PDF 文档 → 本脚本把每个系列的手册页按序合成一个 PDF, 输出 +manual\\<系列>\\<系列>_manual.pdf, 并把 datasheet 附件写进 series\\<系列>.meta.json +(软件里【下载数据表 PDF】按钮直接可用, 网页/桌面两端一致)。 + +纯标准库实现 (zlib 解/压缩 PNG + 手写 PDF), 无任何第三方依赖。 +真实手册替换 pXX.png 后重跑本脚本即可更新 PDF。 + +用法: python manual-pages-to-pdf.py +""" +import json +import os +import struct +import zlib + +BASE = os.path.dirname(os.path.dirname(os.path.abspath(__file__))) +MANUAL_DIR = os.path.join(BASE, 'catalog', 'manual') +SERIES_DIR = os.path.join(BASE, 'catalog', 'series') + +# A4 页面 (pt) +PAGE_W, PAGE_H = 595.28, 841.89 + + +def parse_png(path): + """解析 PNG → (width, height, RGB 字节串)。支持 8bit 灰度/RGB/RGBA, 非隔行。""" + with open(path, 'rb') as f: + data = f.read() + assert data[:8] == b'\x89PNG\r\n\x1a\n', '非 PNG: %s' % path + pos, idat, w, h, bd, ct, interlace = 8, b'', 0, 0, 0, 0, 0 + while pos < len(data): + (length,) = struct.unpack('>I', data[pos:pos + 4]) + typ = data[pos + 4:pos + 8] + chunk = data[pos + 8:pos + 8 + length] + if typ == b'IHDR': + w, h, bd, ct, _, _, interlace = struct.unpack('>IIBBBBB', chunk) + elif typ == b'IDAT': + idat += chunk + elif typ == b'IEND': + break + pos += 12 + length + assert bd == 8 and interlace == 0, '仅支持 8bit 非隔行 PNG' + channels = {0: 1, 2: 3, 4: 2, 6: 4}.get(ct) + assert channels, '不支持的色彩类型 %d' % ct + raw = zlib.decompress(idat) + bpp = channels + stride = w * bpp + out = bytearray() + prev = bytearray(stride) + for y in range(h): + f = raw[y * (stride + 1)] + line = bytearray(raw[y * (stride + 1) + 1:(y + 1) * (stride + 1)]) + if f == 1: # Sub + for i in range(bpp, stride): + line[i] = (line[i] + line[i - bpp]) & 0xFF + elif f == 2: # Up + for i in range(stride): + line[i] = (line[i] + prev[i]) & 0xFF + elif f == 3: # Average + for i in range(stride): + a = line[i - bpp] if i >= bpp else 0 + line[i] = (line[i] + ((a + prev[i]) >> 1)) & 0xFF + elif f == 4: # Paeth + for i in range(stride): + a = line[i - bpp] if i >= bpp else 0 + b = prev[i] + c = prev[i - bpp] if i >= bpp else 0 + p = a + b - c + pa, pb, pc = abs(p - a), abs(p - b), abs(p - c) + pr = a if (pa <= pb and pa <= pc) else (b if pb <= pc else c) + line[i] = (line[i] + pr) & 0xFF + if channels == 4: # RGBA → RGB (白底合成) + rgb = bytearray(w * 3) + for i in range(w): + a4 = line[i * 4 + 3] + for k in range(3): + rgb[i * 3 + k] = (line[i * 4 + k] * a4 + 255 * (255 - a4)) // 255 + out += rgb + elif channels == 1: # 灰度 → RGB + rgb = bytearray(w * 3) + for i in range(w): + rgb[i * 3] = rgb[i * 3 + 1] = rgb[i * 3 + 2] = line[i] + out += rgb + else: + out += line + prev = line + return w, h, bytes(out) + + +def build_pdf(images): + """images: [(w, h, rgb_bytes)] → PDF 字节串 (每图一页 A4 等比铺满)""" + objs = [] # (num, bytes) + kids = [] + + def add(body): + objs.append((len(objs) + 1, body)) + return len(objs) + + for (w, h, rgb) in images: + # 等比缩放铺满 A4 + scale = min(PAGE_W / w, PAGE_H / h) + dw, dh = w * scale, h * scale + x0, y0 = (PAGE_W - dw) / 2.0, (PAGE_H - dh) / 2.0 + stream = b'q %f 0 0 %f %f %f cm /Im0 Do Q' % (dw, dh, x0, y0) + img_num = add(b'<< /Type /XObject /Subtype /Image /Width %d /Height %d ' + b'/ColorSpace /DeviceRGB /BitsPerComponent 8 /Filter /FlateDecode ' + b'/Length %d >>\nstream\n' % (w, h, len(zlib.compress(rgb, 6))) + + zlib.compress(rgb, 6) + b'\nendstream') + content_num = add(b'<< /Length %d >>\nstream\n' % len(stream) + stream + b'\nendstream') + page_num = add(b'<< /Type /Page /Parent %d 0 R /MediaBox [0 0 %f %f] ' + b'/Resources << /XObject << /Im0 %d 0 R >> >> /Contents %d 0 R >>\n' + % (0, PAGE_W, PAGE_H, img_num, content_num)) + kids.append(page_num) + + pages_num = len(objs) + 1 + kids_ref = b' '.join(b'%d 0 R' % k for k in kids) + pages_obj = (b'<< /Type /Pages /Kids [%s] /Count %d >>' % (kids_ref, len(kids))) + objs.append((pages_num, pages_obj)) + catalog_num = pages_num + 1 + objs.append((catalog_num, b'<< /Type /Catalog /Pages %d 0 R >>' % pages_num)) + # 修正 page 里的 Parent 引用 + for i, (n, body) in enumerate(objs): + if b'/Parent 0 0 R' in body: + objs[i] = (n, body.replace(b'/Parent 0 0 R', b'/Parent %d 0 R' % pages_num)) + + out = bytearray(b'%PDF-1.4\n%\xe2\xe3\xcf\xd3\n') + offsets = [] + for n, body in objs: + offsets.append(len(out)) + out += b'%d 0 obj\n' % n + body + b'\nendobj\n' + xref_pos = len(out) + out += b'xref\n0 %d\n' % (len(objs) + 1) + out += b'0000000000 65535 f \n' + for off in offsets: + out += b'%010d 00000 n \n' % off + out += b'trailer\n<< /Size %d /Root %d 0 R >>\nstartxref\n%d\n%%%%EOF\n' % (len(objs) + 1, catalog_num, xref_pos) + return bytes(out) + + +def update_meta(series, pdf_name): + meta_path = os.path.join(SERIES_DIR, series + '.meta.json') + with open(meta_path, 'r', encoding='utf-8') as f: + obj = json.load(f) + atts = list(obj.get('attachments', [])) + atts = [a for a in atts if a.get('kind') != 'datasheet'] + atts.append({'kind': 'datasheet', 'lang': '', 'source': 'manual/%s/%s' % (series, pdf_name), 'model': None}) + obj['attachments'] = atts + with open(meta_path, 'w', encoding='utf-8') as f: + json.dump(obj, f, ensure_ascii=False) + + +def main(): + made = 0 + for series in sorted(os.listdir(MANUAL_DIR)): + d = os.path.join(MANUAL_DIR, series) + if not os.path.isdir(d): + continue + pngs = sorted(f for f in os.listdir(d) if f.lower().endswith('.png')) + if not pngs: + continue + images = [parse_png(os.path.join(d, p)) for p in pngs] + pdf_name = series + '_manual.pdf' + with open(os.path.join(d, pdf_name), 'wb') as f: + f.write(build_pdf(images)) + update_meta(series, pdf_name) + made += 1 + print('OK %s: %d 页 → %s' % (series, len(images), pdf_name)) + print('完成 %d 个系列 PDF' % made) + print('提示: 替换手册页 PNG 后重跑本脚本更新 PDF, 再【重建全量目录】+ 发布') + + +if __name__ == '__main__': + main() diff --git a/onebot-data/tools/render-manual-pages.py b/onebot-data/tools/render-manual-pages.py new file mode 100644 index 0000000..286bb41 --- /dev/null +++ b/onebot-data/tools/render-manual-pages.py @@ -0,0 +1,50 @@ +# -*- coding: utf-8 -*- +# 把 ONEBOT 手册 PDF 的系列页拆出渲染成图片 (供目录软件"尺寸图"窗口对照查看) +# 用法: +# python tools\render-manual-pages.py # 渲染全部系列 +# python tools\render-manual-pages.py KC # 只渲染一个系列 +# 输出: OnebotCatalog\onebot-data\catalog\manual\<系列>\p<物理页码>.png (灰度 PNG 110dpi, 源目录布局) +import fitz, os, sys + +PDF = r"OnebotCatalog\ONEBOT - 直线气缸 - 中文.pdf" +OUT = r"OnebotCatalog\onebot-data\catalog\manual" +DPI = 110 + +# 系列 → 手册物理页码 (1-based, 含首尾); 依据: 手册印刷页码 = 物理页码 - 1 +SERIES_PAGES = { + "KC": [2, 3, 4, 5, 6, 11, 12], # KC 全缸径: 32~125 (p2-6) + 125~320 (p11-12) + "KCB": [9, 10], + "KSB": [16, 17], + "KCS": [13], + "KS": [14, 15], + "KSU": [14, 15], + "M": [22, 23, 24, 25, 26, 27], + "MS": [28, 29, 30, 31, 32], + "MSC": [33, 34, 35], + "MAL": [36, 37, 38, 39, 40], + "MALC": [41, 42, 43], +} + +def main(): + only = sys.argv[1] if len(sys.argv) > 1 else None + doc = fitz.open(PDF) + todo = {k: v for k, v in SERIES_PAGES.items()} if only is None else {only: SERIES_PAGES.get(only, [])} + total = 0 + for series, pages in todo.items(): + if not pages: + print(f"[warn] 未知系列: {only}") + continue + d = os.path.join(OUT, series) + os.makedirs(d, exist_ok=True) + for p in pages: + out = os.path.join(d, f"p{p:02d}.png") + pix = doc[p - 1].get_pixmap(dpi=DPI, colorspace=fitz.csGRAY) + pix.save(out) + kb = os.path.getsize(out) // 1024 + total += kb + print(f"{series} p{p:02d} -> {kb} KB") + doc.close() + print(f"完成, 共 {total // 1024} MB") + +if __name__ == "__main__": + main() diff --git a/onebot-data/tools/scan-manual-pages.py b/onebot-data/tools/scan-manual-pages.py new file mode 100644 index 0000000..621a2fa --- /dev/null +++ b/onebot-data/tools/scan-manual-pages.py @@ -0,0 +1,40 @@ +# -*- coding: utf-8 -*- +# 扫描 ONEBOT 手册 PDF: 定位每个系列的章节页范围 + 参数/尺寸关键词页 +# 用法: python tools\scan-manual-pages.py +import fitz, os, re, sys + +pdf = r"OnebotCatalog\ONEBOT - 直线气缸 - 中文.pdf" +doc = fitz.open(pdf) +DIGITS = {0xF6B1 + i: str(i) for i in range(10)} + +def dec(text): + return "".join(DIGITS.get(ord(ch), ch) for ch in text) + +# 系列代码 → 显示名 (来自 build-onebot-catalog.ps1) +SERIES = ["KC", "KCB", "KSB", "KCS", "KS", "KSU", "M", "MS", "MSC", "MAL", "MALC"] +KEYWORDS = ["订购", "规格", "参数", "外形尺寸", "符号", "特性", "理论出力", "重量", "结构"] + +print("总页数:", doc.page_count) +pages = [] +for i in range(doc.page_count): + t = dec(doc[i].get_text()) + pages.append(t) + +# 1) 每页出现的系列码标题 (页首大字号? 简化: 整页文本匹配) +hits = {} +for i, t in enumerate(pages): + found = set() + for s in SERIES: + # 系列标题一般单独成行, 如 "KC 系列" / "KC系列" + if re.search(r"(?m)^\s*" + s + r"\s*系列", t) or re.search(r"(?m)^\s*" + s + r"系列", t): + found.add(s) + if found: + hits[i + 1] = sorted(found) + kw = [k for k in KEYWORDS if k in t] + print(f"p{i+1:3d} 系列: {found} 关键词: {kw[:4]}") + +print("\n--- 每页系列线索 (含页码的系列码出现) ---") +for i, t in enumerate(pages): + for s in SERIES: + if re.search(r"(?m)^\s*" + s + r"\s*$", t): # 整页只有系列码的目录页可能 + print(f"p{i+1:3d} 独立行: {s}") diff --git a/onebot-data/tools/simplify-stl.py b/onebot-data/tools/simplify-stl.py new file mode 100644 index 0000000..d928b67 --- /dev/null +++ b/onebot-data/tools/simplify-stl.py @@ -0,0 +1,93 @@ +# -*- coding: utf-8 -*- +""" +simplify-stl.py —— 简化过大的 STL 网格 (窗口内 3D 预览用, 纯 numpy 顶点聚类, 零额外依赖) + +用途: 屏幕预览不需要几十 MB 的精细网格; 本脚本把 mesh\\ 里 > 阈值的 STL + 按网格边长 (GRID_MM) 做顶点聚类, 体积缩小 3~10 倍, 外形基本不变。 + +用法: python simplify-stl.py (处理 mesh\\ 下所有 > 5MB 的 .stl, 就地覆盖) +""" +import os +import re +import struct + +import numpy as np + +BASE = os.path.dirname(os.path.dirname(os.path.abspath(__file__))) +MESH_DIR = os.path.join(BASE, 'catalog', 'mesh') +SIZE_MIN = 2 * 1024 * 1024 # 只处理 2MB 以上的网格 (控制窗口内渲染内存) +GRID_MM = 0.75 # 聚类网格边长 (mm): 越大越简 (0.5~1.0 预览合适) + + +def read_stl(path): + """自动识别二进制/ASCII STL, 返回 (N,3,3) 三角顶点数组""" + with open(path, 'rb') as f: + head = f.read(5) + if head[:5] == b'solid': + # ASCII STL: 正则抽出所有 vertex 行 + with open(path, 'r', errors='ignore') as f: + txt = f.read() + arr = np.array(re.findall(r'vertex\s+([-\deE+.]+)\s+([-\deE+.]+)\s+([-\deE+.]+)', txt), + dtype=np.float32) + return arr.reshape(-1, 3, 3) + with open(path, 'rb') as f: + f.read(80) + (n,) = struct.unpack(' 1e-12 else np.array([0.0, 0.0, 1.0]) + f.write(struct.pack('<12f', nrm[0], nrm[1], nrm[2], + p0[0], p0[1], p0[2], p1[0], p1[1], p1[2], p2[0], p2[1], p2[2])) + f.write(struct.pack(' 20KB 的 .step/.stp, 占位几何 ~7KB 自动跳过) + 转成 catalog\\mesh\\ 下同名 .stl 网格。桌面 3D 标签页发现有网格就在窗口内直渲。 + +断点续跑: 同名 STL 已存在且不比 STEP 旧 → 跳过。 +以后新增真实 STEP 后重跑本脚本即可 (或用 NX journal 的 exportStl 自动导出)。 + +用法: python step-to-stl.py +""" +import os +import sys + +BASE = os.path.dirname(os.path.dirname(os.path.abspath(__file__))) +STEP_DIR = os.path.join(BASE, 'catalog', 'step') +MESH_DIR = os.path.join(BASE, 'catalog', 'mesh') +REAL_MIN_BYTES = 20 * 1024 # 20KB 以上算真实数模 (占位几何 ~7KB) +LIN_DEFLECTION = 1.5 # 网格线性偏差 (mm): 越小越精细、文件越大 (1.5mm 屏幕预览足够, 保证流畅旋转) + + +def convert(step_path, stl_path): + from cadquery.occ_impl.shapes import Shape + from OCP.STEPControl import STEPControl_Reader + from OCP.StlAPI import StlAPI_Writer + from OCP.BRepMesh import BRepMesh_IncrementalMesh + from OCP.IFSelect import IFSelect_RetDone + + reader = STEPControl_Reader() + if reader.ReadFile(str(step_path)) != IFSelect_RetDone: + raise RuntimeError('STEP 读取失败: %s' % step_path) + reader.TransferRoots() + shape = Shape(reader.OneShape()) + BRepMesh_IncrementalMesh(shape.wrapped, LIN_DEFLECTION, False, 0.5, True).Perform() + writer = StlAPI_Writer() + writer.SetASCIIMode(False) # 二进制 STL (比 ASCII 小 ~3 倍) + if not writer.Write(shape.wrapped, str(stl_path)): + raise RuntimeError('STL 写出失败: %s' % stl_path) + + +def main(): + if not os.path.isdir(MESH_DIR): + os.makedirs(MESH_DIR) + step_files = [f for f in os.listdir(STEP_DIR) + if f.lower().endswith(('.step', '.stp'))] + done = skip = 0 + errors = [] + for name in sorted(step_files): + step_path = os.path.join(STEP_DIR, name) + if os.path.getsize(step_path) < REAL_MIN_BYTES: + continue # 占位几何, 不转 + stl_path = os.path.join(MESH_DIR, os.path.splitext(name)[0] + '.stl') + # 跳过条件: STL 存在、比 STEP 新、且不是占位网格 (<50KB 视为占位, 强制重转) + if (os.path.exists(stl_path) and os.path.getsize(stl_path) > 50 * 1024 + and os.path.getmtime(stl_path) >= os.path.getmtime(step_path)): + skip += 1 + continue + try: + convert(step_path, stl_path) + done += 1 + print(' OK %-24s -> %s (%.1f KB)' % (name, os.path.basename(stl_path), + os.path.getsize(stl_path) / 1024.0)) + except Exception as e: + errors.append('%s: %s' % (name, e)) + print('FAIL %s: %s' % (name, e)) + print('完成: 转换 %d, 跳过 %d, 失败 %d → %s' % (done, skip, len(errors), MESH_DIR)) + if errors: + sys.exit(1) + + +if __name__ == '__main__': + main() diff --git a/onebot-data/数据维护说明书.md b/onebot-data/数据维护说明书.md new file mode 100644 index 0000000..66cc442 --- /dev/null +++ b/onebot-data/数据维护说明书.md @@ -0,0 +1,157 @@ +# 数据维护说明书(ONEBOT 目录) + +> 适用:欧霓博目录维护人员(不用写代码)。所有改动都在**唯一数据源** `OnebotCatalog\onebot-data\catalog\` 里做, +> 然后"重建 → 发布"两步生效。全流程图形界面操作。 + +## 一、进入维护界面 + +| 方式 | 操作 | +| -------- | -------------------------------------- | +| 快捷方式 | 工作区根目录双击`ONEBOT目录-维护版` | +| bat | 双击`OnebotCatalog\bin\维护入口.bat` | +| 密码 | `onebot888`(输错不会进) | + +输完密码,顶栏出现 **【维护入口】** 按钮 → 点它打开维护窗口。 + +## 二、维护界面两个窗口 + +**维护窗口**(数据包总览): + +- 系列清单表:当前包的系列/变体数/参数/规则/附件 +- 【校验】:检查 STEP 缺失、编码重复、规则冲突、附件缺失 +- 【加载数据包】:换用别的 .opc +- 【目录制作器】:进入编辑(下面所有场景都在这里做) + +**目录制作器**(编辑主战场): + +- 顶部【数据源目录】:默认已填 `onebot-data\catalog`,不用动 +- 顶部【系列下拉】:选要编辑的系列(KC/KCB/KSB/…) +- 5 个标签页:导入 / 参数 / 编码 / 规则 / 附件与生成 +- 【保存配置】:把修改写回 `series\<系列>.meta.json` +- 【重建全量目录】:把源目录打包成新的 .opc(**核心按钮**) + +## 三、日常维护场景(想做什么 → 怎么做) + +### 1. 改系列定义(参数名/取值/规则/显示名) + +``` +目录制作器 → 系列下拉选系列 → 改「参数」/「规则」表格 +→ 【保存配置】→ 【重建全量目录】 +``` + +- 显示名映射列格式:`值:显示,值:显示`(如 `:基本型,M:附磁石`) +- 规则示例:条件 `mount eq YB` → 约束 `bore in 32,40,50`(即 YB 固定形式只有这几个缸径) + +### 2. 改型号数据(增删型号/改编码/调参数值) + +``` +Excel 打开 OnebotCatalog\onebot-data\catalog\csv\<系列>.csv +→ 改完另存为 "CSV UTF-8(逗号分隔)" +→ 回到制作器 →【重建全量目录】 +``` + +- 第 1 列 `model_code` = 型号编码(必须唯一) +- 最后一列 `step_file` = 该型号用的 STEP 文件名(多个型号可指向同一文件) +- 数值列不带单位(如缸径写 32 不写 32mm) + +### 3. 换/补数模(STEP 文件) + +``` +NX 批量导出 (nx-batch-export.vb) 输出到 onebot-data\catalog\step\ + 或手动拷贝单个 STEP 进去 +→【重建全量目录】(已存在的文件自动跳过, 可断点续跑; 想重导先删该文件) +``` + +- **文件名(前缀)必须与 CSV 的 step_file 列一致**;后缀 `.step` 和 `.stp` 都行(NX 导出的 .stp 直接放,构建自动识别,无需改名) +- **新 6 个系列(UCBM/ULP/USP/UGP/UAGP/LAE)step_file 列已是 `.stp`**:NX 导出的 .stp 拷进 `step\` 同名覆盖占位即可;老 11 个系列列是 `.step`:换 .stp 时同前缀的 .step 占位优先被认,**需先删掉占位 .step 文件** +- 只换一部分也行:没换到的档位继续显示占位模型 +- **窗口内 3D 预览网格**:NX journal 导出 STEP 时同步导出同名 `.stl` 到 `catalog\mesh\`(exportStl 开关,默认开,公差 0.5mm)→ 发布时自动同步到软件旁的 mesh\ 目录 → 桌面 3D 标签页**窗口内直渲**(开源 Helix 渲染),无需浏览器;没有网格的型号自动回退浏览器预览 +- **已有真实 STEP 批量转网格**(不等 NX):`python onebot-data\tools\step-to-stl.py`(开源 OCP 内核,自动跳过占位、断点续跑)→ 网格 >5MB 会自动被 `simplify-stl.py` 压小(或手动跑:`python onebot-data\tools\simplify-stl.py`)→ 发布同步 + +### 4. 新增产品系列(以 ABC 为例,5 步) + +> 💡 **现成模板**:6 个新分类(夹紧缸/可伸缩定位销/勾销缸/夹爪缸/翻转缸/电动气缸)里各已放好一个**样板系列**(UCBM/ULP/USP/UGP/UAGP/LAE,型号取自官网),直接照它的 `csv\*.csv` + `series\*.meta.json` 格式加型号就行;占位 STEP 已按型号命名,NX 导出真实数模**同名替换**后重建即可,CSV 不用动。 + +1. **CSV**:新建 `catalog\csv\ABC.csv`(表头 `model_code,参数列...,step_file`) +2. **系列定义**:制作器 Step1【选择参数表 CSV】选它 → 顶部填系列代码 ABC、中英文名 → 补参数表 → 【保存配置】 +3. **挂分类**:编辑 `catalog\catalog.json`,把 `"ABC"` 加进对应分类的 series 数组(系列显示顺序 = 数组顺序) +4. **放 STEP**:文件放 `catalog\step\`,文件名与 CSV 一致 +5. **重建 + 发布**:制作器【重建全量目录】→ 校验通过 → publish + +### 5. 增删分类 + +编辑 `catalog\catalog.json` 的 `categories` 数组(code/nameZh/nameEn/series 列表),重建即可。 + +### 6. 加附件(尺寸图/数据表/手册页) + +- 尺寸图/数据表:制作器 Step5【+添加附件】选文件(Kind 选 dimDrawing/datasheet) +- 手册页:改 `sample-data\tools\render-manual-pages.py` 里 `SERIES_PAGES` 加新系列页码 → `python render-manual-pages.py ABC` → 重建 + +### 7. 改目录版本号/目录名 + +编辑 `catalog\catalog.json` 的 `catalogVersion` / `catalogName` → 重建 → 发布时用新版本号。 + +### 8. 平替对照表(竞品型号 → 我方型号) + +**数据表**:`catalog\crossref.csv`(不存在则无平替功能;4 列): + +```csv +brand,foreign_model,our_model,note +SMC,CDJ2B16-100,KC0032-100MLB,近似平替 +JELPC,SQ32-100,KCS0032-100,基础型平替(待核对) +``` + +- **brand** = 竞品品牌(SMC/亚德客/FESTO/JELPC/...) +- **foreign_model** = 竞品型号(客户搜这个) +- **our_model** = 我方型号(**必须存在于目录**,构建自动校验,写错会报错拒绝打包) +- **note** = 互换程度说明(完全互换/近似平替/需确认) +- 改完 Excel 另存 CSV UTF-8 → 【重建全量目录】→ 发布 +- 客户使用:搜索框直接输竞品型号(如 `SQ32-100`)→ 命中平替结果 → 双击跳转到我方型号;或打开「平替对照」标签页按品牌筛选浏览 +- 佳尔灵对照自动生成工具:`onebot-data\tools\jelpc-crossref.py`(从英文目录 PDF 抽取基础型对照并校验存在性;完整订购码(含磁石/固定形式)需按各系列订购码页逐页解析,后续可扩展) + +## 四、重建与校验 + +``` +制作器【重建全量目录】 = CLI: bin\OnebotCatalog.exe --buildfull onebot-data\catalog sample\OnebotCatalog_2026.08.opc +``` + +- 重建自动校验(缺 STEP/编码重复/参数不全会列出错误并拒绝打包) +- 结果看 `sample\build.log`;发布门禁自测 31 项看 `sample\selftest.log` + +## 五、发布三份产物 + +``` +1. 关闭正在运行的目录软件 exe 和本地预览服务器 (占用文件会导致失败) +2. powershell -NoProfile -File OnebotCatalog\tools\publish.ps1 +``` + +自动产出: + +| 产物 | 位置 | 给谁 | +| ---------- | -------------------------------------- | ------------------------------------ | +| 客户版目录 | `release\OnebotCatalog_2026.08\` | 压缩成 zip 发给客户(双击 exe 即用) | +| 增量更新包 | `release\update_2026.08\catalog.opc` | 老客户只发这一个文件替换 | +| 网页站 | `release\web_2026.08\` | 整目录上传到网站服务器 | + +## 六、客户怎么拿到更新 + +- **新客户**:发 `OnebotCatalog_2026.08_客户版.zip`(发布后重新压缩一次) +- **老客户**:发 `update_2026.08\catalog.opc` → 客户替换程序旁的 catalog.opc → 重启程序即升级 + +## 七、常见问题排查 + +| 现象 | 原因与处理 | +| -------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| 网页/桌面看不到新数模 | ① 文件放错目录(只认`onebot-data\catalog\step\`)② 扩展名 .stp≠.step ③ 文件名与 CSV 不一致 ④ 忘了重建/发布 ⑤ 浏览器缓存(刷新即可,页面自动带版本号)⑥ 预览服务器没开(网页打不开/3D 报 Failed to fetch 或 ERR_CONNECTION_REFUSED——别关 serve-web 窗口)⑦ 网页 3D 直接从站点 step\ 取文件(绝对路径),换数模后必须重建**并发布** | +| 打开系列失败"找不到 KC.meta.meta.json" | 程序旧版 bug,已修复;更新程序或重启 | +| 重建报错 | 看`sample\build.log`,逐条列出缺文件/重复编码 | +| 发布失败 | 先关预览服务器(serve-web)和目录软件 exe 再发布 | +| 下载 STEP 慢 | 本地预览服务器已 16 并发;生产环境上传后无此问题 | +| 桌面 3D 显示提示按钮 | 该型号是真实数模,点【在浏览器中打开 3D 预览】(本机运行不联网);窗口内直接渲染真实模型待 GLB 升级 | +| 忘记密码 | 改`src\App\App.cs` 里 `"onebot888"` → 重新编译(见维护手册 §6) | + +## 八、三条红线 + +1. **业务文件(报价单/合同)不要放进 OnebotCatalog 目录**——曾因此锁死文件夹、误删发布产物 +2. **发布前必须关程序**(运行中的 exe 和预览服务器) +3. **改完任何中文脚本/代码文件要先跑 `fix-bom.ps1`**(否则中文乱码) diff --git a/sample-data/README.md b/sample-data/README.md new file mode 100644 index 0000000..33110c0 --- /dev/null +++ b/sample-data/README.md @@ -0,0 +1,51 @@ +# 欧霓博目录软件 —— 示例数据包(自编,非真实产品数据) + +> 用途:供目录软件(OnebotCatalog)开发与测试。SC 系列为**虚构系列**,几何为简化模型。 + +## 目录结构 + +``` +sample-data/ +├── onb-sc/ # 示例系列主体 +│ ├── step/ # 72 个 STEP 变体文件(AP203 B-rep,4 圆柱组合) +│ ├── params.csv # 参数表(Excel 可直接打开;model_code/bore/stroke/magnet/mount/step_file) +│ ├── coding-rules.md # 型号编码规则 + 选型约束 R1~R3 + 几何约定 +│ └── docs/ +│ ├── dim-drawing/ # 2D 尺寸图 PNG(中英双语标注)×2 +│ └── datasheet/ # 数据表 PDF(中文/英文)×2 + 源 JPEG +└── tools/ # 生成脚本(全流程可复现) + ├── gen-step.ps1 # 生成 STEP 变体 + params.csv + ├── verify-step.ps1 # STEP 结构自检(引用/括号/ASCII/实体数) + ├── gen-images.ps1 # 生成尺寸图 PNG + 数据表 JPEG + ├── gen-pdf.ps1 # JPEG → 极简 PDF(含 xref 自检) + ├── fix-bom.ps1 # .ps1 加 UTF-8 BOM(PS 5.1 中文编码必需) + └── parse-check.ps1 # PowerShell 语法错误定位 +``` + +## 快速复现 + +```powershell +# 1. 生成 72 个 STEP + params.csv +powershell -NoProfile -ExecutionPolicy Bypass -File tools\gen-step.ps1 +powershell -NoProfile -ExecutionPolicy Bypass -File tools\verify-step.ps1 + +# 2. 生成尺寸图与数据表 +powershell -NoProfile -ExecutionPolicy Bypass -File tools\gen-images.ps1 +``` + +## 数据规模 + +| 项 | 值 | +|---|---| +| 系列 | SC 标准气缸(1 个系列) | +| 缸径 | 16 / 25 / 32 / 40 mm | +| 行程 | 25 / 50 / 75 / 100 mm(缸径 16 仅 25/50) | +| 磁石 / 安装 | 无,S × FA,LB,CB(受规则约束) | +| 合法变体 | 72 个 | +| STEP 格式 | ISO 10303-21 AP203 (CONFIG_CONTROL_DESIGN),毫米单位 | + +## 注意事项 + +- STEP 为手写极简 B-rep(每文件 126 实体),已通过结构自检;**几何有效性需在真实 CAD 中抽查**(SolidWorks/NX 打开 `step\SC32x50S-LB.step` 确认 4 个圆柱实体与尺寸) +- `params.csv` 为 UTF-8 带 BOM,Excel 直接打开不乱码 +- 修改型号/规则后重跑 `gen-step.ps1` 即可整体重新生成 diff --git a/sample-data/onb-sc/coding-rules.md b/sample-data/onb-sc/coding-rules.md new file mode 100644 index 0000000..b0c74b6 --- /dev/null +++ b/sample-data/onb-sc/coding-rules.md @@ -0,0 +1,48 @@ +# 欧霓博 SC 系列标准气缸 —— 型号编码规则(示例数据) + +> 本文件为**自编示例数据**(虚构系列),用于目录软件开发测试,非真实产品数据。 + +## 1. 型号编码格式 + +``` +SC{Bore}x{Stroke}{Magnet}-{Mount} +``` + +| 段 | 含义 | 取值 | 示例 | +|---|---|---|---| +| `SC` | 系列代码(标准气缸) | 固定 | SC | +| `{Bore}` | 缸径 (mm) | 16 / 25 / 32 / 40 | 32 | +| `x` | 分隔符 | 固定 | x | +| `{Stroke}` | 行程 (mm) | 25 / 50 / 75 / 100 | 50 | +| `{Magnet}` | 磁石 | 空 = 无磁石;`S` = 带磁石 | S | +| `-` | 分隔符 | 固定 | - | +| `{Mount}` | 安装方式 | `FA` = 前法兰 / `LB` = 脚座 / `CB` = 中摆 | LB | + +**完整示例:`SC32x50S-LB`** = SC 系列,缸径 Ø32,行程 50mm,带磁石,脚座安装。 + +## 2. 选型约束规则 + +| # | 规则 | 说明 | +|---|---|---| +| R1 | 缸径 16 → 行程仅 25 / 50 | 小缸径不支持长行程 | +| R2 | 磁石 `S` 要求缸径 ≥ 25 | 缸径 16 无磁石选项 | +| R3 | 中摆 `CB` 要求行程 ≤ 75 | 长行程不提供中摆安装 | + +对应 [../params.csv](../params.csv) 中 72 个合法型号组合。 + +## 3. STEP 文件命名 + +STEP 文件名 = 型号 + `.step`,如 `SC32x50S-LB.step`,与 `params.csv` 的 `step_file` 列一一对应。 + +## 4. 简化几何约定(示例用) + +模型为 4 个圆柱体组合(后盖 + 缸体 + 前盖 + 活塞杆),单位 mm,沿 Z 轴: + +| 零件 | 外径 | 长度/位置 | +|---|---|---| +| 缸体 | bore + 4 | 长 = stroke + 60,z: 0 ~ stroke+60 | +| 后盖 | bore + 10 | 厚 8,z: -8 ~ 0 | +| 前盖 | bore + 10 | 厚 10,z: stroke+60 ~ stroke+70 | +| 活塞杆 | max(bore/5, 3) × 2 | 自 z = stroke+46 伸出至前盖上方 stroke+10 | + +> 真实产品数据接入时,用 Builder 导入真实 STEP 模型替换即可,编码规则与参数表格式不变。 diff --git a/sample-data/onb-sc/params.csv b/sample-data/onb-sc/params.csv new file mode 100644 index 0000000..cd62f49 --- /dev/null +++ b/sample-data/onb-sc/params.csv @@ -0,0 +1,73 @@ +model_code,bore,stroke,magnet,mount,step_file +SC16x25-FA,16,25,,FA,SC16x25-FA.step +SC16x25-LB,16,25,,LB,SC16x25-LB.step +SC16x25-CB,16,25,,CB,SC16x25-CB.step +SC16x50-FA,16,50,,FA,SC16x50-FA.step +SC16x50-LB,16,50,,LB,SC16x50-LB.step +SC16x50-CB,16,50,,CB,SC16x50-CB.step +SC25x25-FA,25,25,,FA,SC25x25-FA.step +SC25x25-LB,25,25,,LB,SC25x25-LB.step +SC25x25-CB,25,25,,CB,SC25x25-CB.step +SC25x25S-FA,25,25,S,FA,SC25x25S-FA.step +SC25x25S-LB,25,25,S,LB,SC25x25S-LB.step +SC25x25S-CB,25,25,S,CB,SC25x25S-CB.step +SC25x50-FA,25,50,,FA,SC25x50-FA.step +SC25x50-LB,25,50,,LB,SC25x50-LB.step +SC25x50-CB,25,50,,CB,SC25x50-CB.step +SC25x50S-FA,25,50,S,FA,SC25x50S-FA.step +SC25x50S-LB,25,50,S,LB,SC25x50S-LB.step +SC25x50S-CB,25,50,S,CB,SC25x50S-CB.step +SC25x75-FA,25,75,,FA,SC25x75-FA.step +SC25x75-LB,25,75,,LB,SC25x75-LB.step +SC25x75-CB,25,75,,CB,SC25x75-CB.step +SC25x75S-FA,25,75,S,FA,SC25x75S-FA.step +SC25x75S-LB,25,75,S,LB,SC25x75S-LB.step +SC25x75S-CB,25,75,S,CB,SC25x75S-CB.step +SC25x100-FA,25,100,,FA,SC25x100-FA.step +SC25x100-LB,25,100,,LB,SC25x100-LB.step +SC25x100S-FA,25,100,S,FA,SC25x100S-FA.step +SC25x100S-LB,25,100,S,LB,SC25x100S-LB.step +SC32x25-FA,32,25,,FA,SC32x25-FA.step +SC32x25-LB,32,25,,LB,SC32x25-LB.step +SC32x25-CB,32,25,,CB,SC32x25-CB.step +SC32x25S-FA,32,25,S,FA,SC32x25S-FA.step +SC32x25S-LB,32,25,S,LB,SC32x25S-LB.step +SC32x25S-CB,32,25,S,CB,SC32x25S-CB.step +SC32x50-FA,32,50,,FA,SC32x50-FA.step +SC32x50-LB,32,50,,LB,SC32x50-LB.step +SC32x50-CB,32,50,,CB,SC32x50-CB.step +SC32x50S-FA,32,50,S,FA,SC32x50S-FA.step +SC32x50S-LB,32,50,S,LB,SC32x50S-LB.step +SC32x50S-CB,32,50,S,CB,SC32x50S-CB.step +SC32x75-FA,32,75,,FA,SC32x75-FA.step +SC32x75-LB,32,75,,LB,SC32x75-LB.step +SC32x75-CB,32,75,,CB,SC32x75-CB.step +SC32x75S-FA,32,75,S,FA,SC32x75S-FA.step +SC32x75S-LB,32,75,S,LB,SC32x75S-LB.step +SC32x75S-CB,32,75,S,CB,SC32x75S-CB.step +SC32x100-FA,32,100,,FA,SC32x100-FA.step +SC32x100-LB,32,100,,LB,SC32x100-LB.step +SC32x100S-FA,32,100,S,FA,SC32x100S-FA.step +SC32x100S-LB,32,100,S,LB,SC32x100S-LB.step +SC40x25-FA,40,25,,FA,SC40x25-FA.step +SC40x25-LB,40,25,,LB,SC40x25-LB.step +SC40x25-CB,40,25,,CB,SC40x25-CB.step +SC40x25S-FA,40,25,S,FA,SC40x25S-FA.step +SC40x25S-LB,40,25,S,LB,SC40x25S-LB.step +SC40x25S-CB,40,25,S,CB,SC40x25S-CB.step +SC40x50-FA,40,50,,FA,SC40x50-FA.step +SC40x50-LB,40,50,,LB,SC40x50-LB.step +SC40x50-CB,40,50,,CB,SC40x50-CB.step +SC40x50S-FA,40,50,S,FA,SC40x50S-FA.step +SC40x50S-LB,40,50,S,LB,SC40x50S-LB.step +SC40x50S-CB,40,50,S,CB,SC40x50S-CB.step +SC40x75-FA,40,75,,FA,SC40x75-FA.step +SC40x75-LB,40,75,,LB,SC40x75-LB.step +SC40x75-CB,40,75,,CB,SC40x75-CB.step +SC40x75S-FA,40,75,S,FA,SC40x75S-FA.step +SC40x75S-LB,40,75,S,LB,SC40x75S-LB.step +SC40x75S-CB,40,75,S,CB,SC40x75S-CB.step +SC40x100-FA,40,100,,FA,SC40x100-FA.step +SC40x100-LB,40,100,,LB,SC40x100-LB.step +SC40x100S-FA,40,100,S,FA,SC40x100S-FA.step +SC40x100S-LB,40,100,S,LB,SC40x100S-LB.step diff --git a/sample-data/onb-sc/params_maq.csv b/sample-data/onb-sc/params_maq.csv new file mode 100644 index 0000000..887d137 --- /dev/null +++ b/sample-data/onb-sc/params_maq.csv @@ -0,0 +1,37 @@ +model_code,bore,stroke,magnet,mount,step_file +MAQ6x10-FA,6,10,,FA,MAQ6x10-FA.step +MAQ6x10-LB,6,10,,LB,MAQ6x10-LB.step +MAQ6x20-FA,6,20,,FA,MAQ6x20-FA.step +MAQ6x20-LB,6,20,,LB,MAQ6x20-LB.step +MAQ10x10-FA,10,10,,FA,MAQ10x10-FA.step +MAQ10x10-LB,10,10,,LB,MAQ10x10-LB.step +MAQ10x10S-FA,10,10,S,FA,MAQ10x10S-FA.step +MAQ10x10S-LB,10,10,S,LB,MAQ10x10S-LB.step +MAQ10x20-FA,10,20,,FA,MAQ10x20-FA.step +MAQ10x20-LB,10,20,,LB,MAQ10x20-LB.step +MAQ10x20S-FA,10,20,S,FA,MAQ10x20S-FA.step +MAQ10x20S-LB,10,20,S,LB,MAQ10x20S-LB.step +MAQ10x30-FA,10,30,,FA,MAQ10x30-FA.step +MAQ10x30-LB,10,30,,LB,MAQ10x30-LB.step +MAQ10x30S-FA,10,30,S,FA,MAQ10x30S-FA.step +MAQ10x30S-LB,10,30,S,LB,MAQ10x30S-LB.step +MAQ10x40-FA,10,40,,FA,MAQ10x40-FA.step +MAQ10x40-LB,10,40,,LB,MAQ10x40-LB.step +MAQ10x40S-FA,10,40,S,FA,MAQ10x40S-FA.step +MAQ10x40S-LB,10,40,S,LB,MAQ10x40S-LB.step +MAQ16x10-FA,16,10,,FA,MAQ16x10-FA.step +MAQ16x10-LB,16,10,,LB,MAQ16x10-LB.step +MAQ16x10S-FA,16,10,S,FA,MAQ16x10S-FA.step +MAQ16x10S-LB,16,10,S,LB,MAQ16x10S-LB.step +MAQ16x20-FA,16,20,,FA,MAQ16x20-FA.step +MAQ16x20-LB,16,20,,LB,MAQ16x20-LB.step +MAQ16x20S-FA,16,20,S,FA,MAQ16x20S-FA.step +MAQ16x20S-LB,16,20,S,LB,MAQ16x20S-LB.step +MAQ16x30-FA,16,30,,FA,MAQ16x30-FA.step +MAQ16x30-LB,16,30,,LB,MAQ16x30-LB.step +MAQ16x30S-FA,16,30,S,FA,MAQ16x30S-FA.step +MAQ16x30S-LB,16,30,S,LB,MAQ16x30S-LB.step +MAQ16x40-FA,16,40,,FA,MAQ16x40-FA.step +MAQ16x40-LB,16,40,,LB,MAQ16x40-LB.step +MAQ16x40S-FA,16,40,S,FA,MAQ16x40S-FA.step +MAQ16x40S-LB,16,40,S,LB,MAQ16x40S-LB.step diff --git a/sample-data/tools/NX母模建模操作说明书.md b/sample-data/tools/NX母模建模操作说明书.md new file mode 100644 index 0000000..bab7d3e --- /dev/null +++ b/sample-data/tools/NX母模建模操作说明书.md @@ -0,0 +1,163 @@ +# NX 2506 参数化母模建模操作说明书 + +> 目的:为欧霓博目录软件建立"一个母模覆盖全系列所有型号组合"的参数化零件, +> 配套 `nx-batch-export.vb` 批量导出 STEP。 +> 读者:NX 建模工程师。**建模前先通读一遍,严格按命名规范执行。** + +--- + +## 0. 核心概念(先想清楚再动手) + +``` +CSV 参数表 (数值源头) ←── 列名必须与母模表达式名一致 ──→ NX 母模 (公式/特征) + ↓ ↓ + nx-batch-export.vb (翻译官) ── 改表达式 → 更新模型 ──→ 导出 STEP +``` + +- **表达式名 = CSV 列名**(一字不差,区分大小写):`bore`、`stroke`、`magnet`、`mount` +- 开关类表达式另起名字并在 journal CONFIG 区映射:`magOn`、`mountIdx` +- 所有"会变"的尺寸必须表达式化;所有"有无"的特征必须按表达式抑制 +- 建模完成后验收标准:**手动改 3 组不同参数组合,模型能正确重建且无错误** + +--- + +## 1. 建模前规划 + +### 1.1 确定本系列的几何键(决定哪些组合要分别导出) + +几何键 = 影响外形的一切参数组合。以 KC 系列为例: + +| 参数 | 是否影响外形 | 母模处理 | +|---|---|---| +| type 型号段 (00/02/03 单杆/双轴/双轴可调) | ✅ | 双轴 = 第二根活塞杆特征组按表达式抑制 | +| bore 缸径 | ✅ | 尺寸表达式 | +| stroke 行程 | ✅ | 尺寸表达式 | +| magnet 磁石 | ✅(磁石槽+开关导轨) | 特征组按表达式抑制 (magOn=0/1) | +| mount 固定形式 | ✅(端盖耳座/支座/法兰特征) | 特征组按表达式抑制 (mountIdx=0~6) | + +### 1.2 表达式命名清单(先建全,再开始画) + +在母模里**先建立全部表达式**(工具→表达式 Ctrl+E),带注释: + +| 名称 | 类型/初值 | 公式 | 注释 | +|---|---|---|---| +| bore | Number / 32 | 32 | 缸径 mm(基准值,journal 会覆盖) | +| stroke | Number / 50 | 50 | 行程 mm | +| rodLen | Number | stroke + 60 | 活塞杆长(联动示例,按实际结构改) | +| bodyLen | Number | stroke + 缸体常数 | 缸筒长(联动) | +| magOn | Number / 1 | 1 | 磁石开关:1=有磁石 0=无 | +| magPos | Number | stroke + 40 | 磁石中心位置(联动;若独立规格则写常数+journal 映射) | +| guideLen | Number | stroke + 30 | 开关导轨长(联动) | +| mountIdx | Number / 0 | 0 | 安装形式:0=基本 1=FA 2=FB 3=CA 4=CB 5=LB 6=YB | +| typeTwin | Number / 0 | 0 | 双轴开关:1=双轴(第二根杆特征组抑制式引用它) | + +> 命名建议:全小写、驼峰(bore/stroke/magOn),与 CSV 列名一致;开关类加 On/Idx 后缀。 + +--- + +## 2. 建模步骤(KC 母模示例) + +### 步骤 1:建缸体主体 + +1. 新建零件 → 存为 `KC_master.prt` +2. 草图:缸筒截面(**全约束**!)——外径引用 `bodyR = bore/2 + 壁厚` 等派生表达式,不要写死数 +3. 拉伸长度引用 `bodyLen` 表达式 + +### 步骤 2:端盖与活塞杆 + +- 前盖/后盖草图定位引用**基准坐标系或已有表达式**(严禁引用会被抑制的特征面) +- 活塞杆:圆柱特征,直径/长度引用表达式,定位在轴心 +- **双轴型号(02/03)**:把第二根活塞杆+对应孔做成**特征组**,按表达式抑制: + ``` + 右键特征 → 特征组 → 命名为 group_twin + 右键 group_twin → 抑制 → 按表达式抑制 + → 表达式列表里新建 twinOn = 1,抑制表达式写 if(twinOn==1)(1)else(0) + ``` + +### 步骤 3:磁石槽(有/无 切换) + +1. 在缸筒上画磁石槽:草图 → 拉伸求差(布尔 Subtract) +2. 槽位置引用 `magPos`(中心),长度引用 `guideLen` +3. 磁石槽+导轨特征全选 → 特征组 `group_magnet` +4. 按表达式抑制:`if(magOn==1)(1)else(0)` +5. 开关导轨(如有独立件外形)同样入组 + +> ⚠️ 若倒角/圆角引用磁石槽的边,把倒角也放进 group_magnet,否则抑制后更新报错。 + +### 步骤 4:安装形式特征组(7 种切换) + +1. 以"基本型"端盖为底 +2. 每种形式单独建模(FA 法兰、FB 后法兰、CA 单耳、CB 双耳、LB 脚架孔、YB 支座孔),每组做完立即: + - 全选该组特征 → 特征组 `group_mount_FA` 等 6 个组 + - 按表达式抑制,条件式:`if(mountIdx==1)(1)else(0)`(FA 对应 1,依此类推) +3. 建模次序建议:先建完**基本型全部结构**,再逐个叠加形式特征,最后统一分组抑制 + +> 特征跨实体布尔(求和/求差)时,目标体选基本体,别选会被抑制的特征体。 + +### 步骤 5:验证(必须做!) + +| 验证项 | 操作 | 通过标准 | +|---|---|---| +| 尺寸联动 | 改 bore=125 → Ctrl+F7 更新 | 无报错,模型整体放大 | +| 行程联动 | 改 stroke=1000 | 缸筒/活塞杆/导轨跟着变 | +| 磁石切换 | magOn=0/1 | 槽消失/出现,无悬空特征 | +| 形式切换 | mountIdx=0~6 逐个试 | 每值对应正确外形 | +| 双轴切换 | typeTwin=0/1 | 第二杆出现/消失 | +| 极限组合 | bore=320 + stroke=1000 + magOn=1 + mountIdx=6 | 极端组合不破面 | + +验收后再交给 journal 跑批量。 + +--- + +## 3. Journal 配置(nx-batch-export.vb) + +文件头有完整注释。**建模工程师只需改 CONFIG 区**: + +```vb +' ============================ CONFIG 区 ============================ +Dim csvPath As String = "D:\catalog\params.csv" ' ← 改成 catalog\csv\KC.csv +Dim outDir As String = "D:\catalog\step_out\" ' ← 改成 catalog\step\ + +' 1) 尺寸映射: NX 表达式名 → CSV 列名 +exprMap.Add("bore", "bore") +exprMap.Add("stroke", "stroke") +' 有独立表达式就加: exprMap.Add("magPos", "magpos") ← CSV 里也要有这一列 + +' 2) 枚举开关映射: {CSV列名, 列值, NX表达式名, 表达式值} +switchRules.Add({"magnet", "", "magOn", "0"}) ' 无磁石 +switchRules.Add({"magnet", "M", "magOn", "1"}) ' 有磁石 +switchRules.Add({"mount", "", "mountIdx", "0"}) ' 基本型 +switchRules.Add({"mount", "FA", "mountIdx", "1"}) ' 前盖固定 +...(按你们母模实际的表达式名和取值改) +' ================================================================ +``` + +**运行**:NX 里 工具 → 日记 → 播放 → 选 `nx-batch-export.vb`(不是 Ctrl+U,Ctrl+U 只认 .dll)。 + +--- + +## 4. 全流程走查(建模 → 目录上线) + +``` +1. NX 母模验收 (步骤 5 的验证表) +2. journal CONFIG 改好 → 播放 → 挂机批量导出 (已去重, 同文件只导一次) +3. STEP 落盘 catalog\step\ → 双击 OnebotCatalog\bin\维护入口.bat + → 目录制作器 → 【重建全量目录】 +4. 自测 (发布门禁自动跑 25 项, 缺文件会拦) +5. 停预览服务器 → publish.ps1 → 三份产物 +6. 网页 localhost:8080 验证 3D + 下载 +``` + +--- + +## 5. 常见问题排查 + +| 现象 | 原因 | 处理 | +|---|---|---| +| 导出后模型没变化 | journal 里表达式名与母模对不上 | 对照 Ctrl+E 列表逐名核对 | +| 更新报"更新失败/内部错误" | 被抑制特征被其它特征引用(边/面) | 把引用它的特征也入同一个抑制组 | +| 改 mountIdx 后外形不对 | 抑制条件式写错(== 写成 =) | 条件式格式: `if(mountIdx==1)(1)else(0)` | +| 抑制后草图悬空 | 草图定位引用了会被抑制的边 | 定位改引用基准轴/面 | +| journal 报"参数表缺少列" | CSV 表头与 exprMap/switchRules 不一致 | 表头名与 CONFIG 统一 | +| 导出的 STEP 在网页渲染异常 | 用了特殊特征(钣金/焊接件) | 导出前抽空合并实体,尽量常规特征 | +| 中文乱码 | 编辑 .vb 后没跑 fix-bom.ps1 | 每次改完 journal 跑一次 fix-bom | diff --git a/sample-data/tools/add-expressions.vb b/sample-data/tools/add-expressions.vb new file mode 100644 index 0000000..0981f23 --- /dev/null +++ b/sample-data/tools/add-expressions.vb @@ -0,0 +1,45 @@ +' 给现有部件注入参数化表达式 (真数模做母模的管线验证用; 不改几何, 只加 bore/stroke/magOn/mountIdx) +Option Strict Off +Imports System +Imports System.IO +Imports System.Text +Imports NXOpen +Imports NXOpen.UF + +Module AddExpressions + Sub Main() + Dim lw As ListingWindow = Session.GetSession().ListingWindow + lw.Open() + Dim outPath As String = Path.Combine(Directory.GetCurrentDirectory(), "KC_master.prt") + If Not File.Exists(outPath) Then + lw.WriteLine("部件缺失: " & outPath) + Return + End If + Dim partLoadStatus1 As NXOpen.PartLoadStatus = Nothing + Session.GetSession().Parts.OpenBaseDisplay(outPath, partLoadStatus1) + Dim w As Part = Session.GetSession().Parts.Work + If w Is Nothing Then + lw.WriteLine("打开失败") + Return + End If + Dim mm As NXOpen.Unit = w.UnitCollection.FindObject("MilliMeter") + Try + If mm IsNot Nothing Then + w.Expressions.CreateExpressionWithUnit("Number", "bore=32", mm) + w.Expressions.CreateExpressionWithUnit("Number", "stroke=10", mm) + Else + w.Expressions.CreateExpression("Number", "bore=32") + w.Expressions.CreateExpression("Number", "stroke=10") + End If + w.Expressions.CreateExpression("Number", "magOn=0") + w.Expressions.CreateExpression("Number", "mountIdx=0") + lw.WriteLine("表达式已注入") + Catch ex As Exception + lw.WriteLine("表达式注入失败: " & ex.Message) + Return + End Try + Dim pss As NXOpen.PartSaveStatus = w.Save(NXOpen.BasePart.SaveComponents.True, NXOpen.BasePart.CloseAfterSave.False) + If pss IsNot Nothing Then pss.Dispose() + lw.WriteLine("已保存: " & outPath) + End Sub +End Module diff --git a/sample-data/tools/check-master.vb b/sample-data/tools/check-master.vb new file mode 100644 index 0000000..5ce79eb --- /dev/null +++ b/sample-data/tools/check-master.vb @@ -0,0 +1,69 @@ +' 检查母模: 特征数 / 实体数 / 表达式值 +Option Strict Off +Imports System +Imports System.IO +Imports System.Text +Imports NXOpen +Imports NXOpen.UF + +Module CheckMaster + Sub Main() + Dim sb As New StringBuilder() + Dim outPath As String = Path.Combine(Directory.GetCurrentDirectory(), "KC_master.prt") + Dim partLoadStatus1 As NXOpen.PartLoadStatus = Nothing + Session.GetSession().Parts.OpenBaseDisplay(outPath, partLoadStatus1) + Dim w As Part = Session.GetSession().Parts.Work + If w Is Nothing Then + sb.AppendLine("Work=NULL") + Else + Dim featCount As Integer = 0 + Try + For Each f As NXOpen.Features.Feature In w.Features.GetFeatures() + featCount += 1 + Next + Catch + End Try + sb.AppendLine("特征数=" & featCount) + Dim bodyCount As Integer = 0 + Try + For Each b As NXOpen.Body In w.Bodies + bodyCount += 1 + Next + Catch + End Try + sb.AppendLine("实体数=" & bodyCount) + Dim bi As Integer = 0 + Try + For Each b As NXOpen.Body In w.Bodies + Dim fc As Integer = 0 + Try + For Each f As NXOpen.Face In b.GetFaces() + fc += 1 + Next + Catch + End Try + bi += 1 + Try + For Each f As NXOpen.Face In b.GetFaces() + fc += 1 + Next + Catch + End Try + sb.AppendLine("实体" & bi & " 面数=" & fc) + Next + Catch ex As Exception + sb.AppendLine("实体检查异常: " & ex.Message) + End Try + For Each nm As String In New String() {"bore", "stroke", "magOn", "mountIdx"} + Try + Dim e As NXOpen.Expression = w.Expressions.FindObject(nm) + sb.AppendLine("表达式 " & nm & "=" & (If(e Is Nothing, "(未找到)", e.Value))) + Catch ex As Exception + sb.AppendLine("表达式 " & nm & " 异常: " & ex.Message) + End Try + Next + sb.AppendLine("IsModified=" & w.IsModified) + End If + File.WriteAllText(Path.Combine(Directory.GetCurrentDirectory(), "check-master.txt"), sb.ToString(), Encoding.UTF8) + End Sub +End Module diff --git a/sample-data/tools/create-test-master.vb b/sample-data/tools/create-test-master.vb new file mode 100644 index 0000000..0738210 --- /dev/null +++ b/sample-data/tools/create-test-master.vb @@ -0,0 +1,100 @@ +' ============================================================================= +' NX Journal: 冒烟测试母模创建 (按需生成服务联调用, 2026-08-26; NX 2506 实测修正版) +' +' ▍干什么: 打开"当前工作目录\KC_master.prt"(启动前由脚本从 NX 模板复制) → +' 建 bore/stroke/magOn/mountIdx 四个表达式 (UF 底层 API, 跨版本稳定) → 建方块实体 → 保存 +' 用途: 验证 worker_journal.vb 全链路 (打开→设表达式→更新→导出 4 格式) 在无真实母模时跑通。 +' 真母模建好后同名替换 catalog-masters\KC\KC_master.prt, 本脚本可弃。 +' +' ▍运行 (run_journal 只接受一个参数, 用 WorkingDirectory 定位): +' WorkingDirectory = catalog-masters\KC +' run_journal.exe <本文件完整路径> +' ============================================================================= +Option Strict Off +Imports System +Imports System.IO +Imports NXOpen +Imports NXOpen.UF + +Module CreateTestMaster + + Sub Main() + Dim theSession As Session = Session.GetSession() + Dim lw As ListingWindow = theSession.ListingWindow + lw.Open() + + Dim outPath As String = Path.Combine(Directory.GetCurrentDirectory(), "KC_master.prt") + If Not File.Exists(outPath) Then + lw.WriteLine("部件文件缺失: " & outPath & " (请先从 NX 模板复制到当前目录)") + Return + End If + + ' 打开模板部件 (批处理必须用 OpenBaseDisplay 才能成为工作部件, OpenBase 打开后 Work=NULL) + Dim partLoadStatus1 As NXOpen.PartLoadStatus = Nothing + Dim basePart1 As NXOpen.BasePart = theSession.Parts.OpenBaseDisplay(outPath, partLoadStatus1) + If partLoadStatus1 IsNot Nothing Then partLoadStatus1.Dispose() + Dim part1 As Part = theSession.Parts.Work + If part1 Is Nothing Then + lw.WriteLine("打开失败: " & outPath) + Return + End If + lw.WriteLine("部件已打开: " & part1.FullPath) + + ' 表达式 (NX 2506: 用 ExpressionCollection.CreateExpression(值, 名) 创建无单位表达式; + ' 特征尺寸按部件单位解释; EditExp 只编辑已存在的表达式) + Dim mm As NXOpen.Unit = part1.UnitCollection.FindObject("MilliMeter") + If mm Is Nothing Then + lw.WriteLine("警告: 未找到 MilliMeter 单位对象, 尝试 Millimetre") + mm = part1.UnitCollection.FindObject("Millimetre") + End If + ' 缸径/行程带长度单位 (特征尺寸表达式需要); 开关无单位 + If mm IsNot Nothing Then + part1.Expressions.CreateExpressionWithUnit("Number", "bore=32", mm) + part1.Expressions.CreateExpressionWithUnit("Number", "stroke=10", mm) + Else + part1.Expressions.CreateExpression("Number", "bore=32") + part1.Expressions.CreateExpression("Number", "stroke=10") + End If + part1.Expressions.CreateExpression("Number", "magOn=0") + part1.Expressions.CreateExpression("Number", "mountIdx=0") + lw.WriteLine("表达式已建: bore=32 stroke=10 magOn=0 mountIdx=0") + + ' 仿真气缸母模 (测试级真实感): 缸筒 + 活塞杆, 尺寸全部由表达式驱动 + ' 缸筒: 外径 bore+8 (壁厚4), 长度 stroke; 活塞杆: 直径 bore*0.33, 长度 stroke+30 (前伸 30) + Dim ufs As UFSession = UFSession.GetUFSession() + Dim origin(2) As Double + Dim dir(2) As Double + dir(2) = 1.0 ' +Z 轴向 + ' NX 2506 签名: CreateCyl1(sign, origin, height, diam, direction, ByRef tag) + Dim tagTube As Tag + ufs.Modl.CreateCyl1(NXOpen.UF.FeatureSigns.Nullsign, origin, "stroke", "bore+8", dir, tagTube) + Dim tagRod As Tag + ufs.Modl.CreateCyl1(NXOpen.UF.FeatureSigns.Nullsign, origin, "stroke+30", "bore*0.33", dir, tagRod) + lw.WriteLine("仿真气缸已建: 缸筒(bore+8 x stroke) + 活塞杆(bore*0.33 x stroke+30), 表达式驱动") + + ' 更新模型 (特征刚建, 必须 Update 后才成为实体几何) + ufs.Modl.Update() + lw.WriteLine("模型已更新") + + ' 把实体加进 Model 引用集 (UF 建的实体默认不进引用集 → 导出器按引用集过滤会导出空几何) + Dim bodyList As New System.Collections.Generic.List(Of NXOpen.NXObject)() + For Each b As NXOpen.Body In part1.Bodies + bodyList.Add(b) + Next + If bodyList.Count > 0 Then + For Each rs As NXOpen.ReferenceSet In part1.GetAllReferenceSets() + If rs.Name.ToUpperInvariant().Contains("MODEL") Then + rs.AddObjectsToReferenceSet(bodyList.ToArray()) + lw.WriteLine("实体已加入引用集 " & rs.Name & " (" & bodyList.Count & " 个)") + Exit For + End If + Next + End If + + ' 保存 (NX 2506: Save 两参数, 返回 PartSaveStatus) + Dim pss As NXOpen.PartSaveStatus = part1.Save(NXOpen.BasePart.SaveComponents.True, NXOpen.BasePart.CloseAfterSave.False) + If pss IsNot Nothing Then pss.Dispose() + lw.WriteLine("已保存: " & outPath) + End Sub + +End Module diff --git a/sample-data/tools/debug-export-all.vb b/sample-data/tools/debug-export-all.vb new file mode 100644 index 0000000..3d89f92 --- /dev/null +++ b/sample-data/tools/debug-export-all.vb @@ -0,0 +1,91 @@ +' 调试: 四格式导出交叉测试 (STEP/Parasolid/IGES/STL) — 判断是几何问题还是翻译器配置问题 +Option Strict Off +Imports System +Imports System.IO +Imports System.Text +Imports NXOpen +Imports NXOpen.UF + +Module DebugExportAll + Sub Main() + Dim sb As New StringBuilder() + Dim cur As String = Directory.GetCurrentDirectory() + Dim masterPath As String = Path.Combine(cur, "KC_master.prt") + Dim partLoadStatus1 As NXOpen.PartLoadStatus = Nothing + Session.GetSession().Parts.OpenBaseDisplay(masterPath, partLoadStatus1) + Dim w As Part = Session.GetSession().Parts.Work + Dim outDir As String = Path.Combine(cur, "dbg_out") + Directory.CreateDirectory(outDir) + For Each f As String In Directory.GetFiles(outDir) + File.Delete(f) + Next + + ' 保存工作部件 (导出器可能读文件; 也验证 Save 后实体仍在) + Try + Dim pss As NXOpen.PartSaveStatus = w.Save(NXOpen.BasePart.SaveComponents.True, NXOpen.BasePart.CloseAfterSave.False) + If pss IsNot Nothing Then pss.Dispose() + sb.AppendLine("Save OK") + Catch ex As Exception + sb.AppendLine("Save 失败: " & ex.Message) + End Try + + ' 1) STL (显示几何三角化; 若此也不出网格 → 几何本身有问题) + Try + Dim stc As NXOpen.STLCreator = Session.GetSession().DexManager.CreateStlCreator() + stc.OutputType = NXOpen.STLCreator.OutputTypeEnum.Binary + stc.ChordalTol = 0.5 + stc.AdjacencyTol = 0.1 + stc.AutoNormalGen = True + stc.OutputFile = Path.Combine(outDir, "T.stl") + stc.Commit() + stc.Destroy() + sb.AppendLine("STL: " & (New FileInfo(Path.Combine(outDir, "T.stl"))).Length & " 字节") + Catch ex As Exception + sb.AppendLine("STL 失败: " & ex.Message) + End Try + + ' 2) Parasolid (文件方式) + Try + Dim pe As NXOpen.ParasolidExporter = Session.GetSession().DexManager.CreateParasolidExporter() + pe.ExportFrom = NXOpen.ParasolidExporter.ExportFromOption.DisplayedPart + pe.ParasolidVersion = NXOpen.ParasolidExporter.ParasolidVersionOption.Current + pe.OutputFile = Path.Combine(outDir, "T.x_t") + pe.Commit() + pe.Destroy() + sb.AppendLine("Parasolid: " & (New FileInfo(Path.Combine(outDir, "T.x_t"))).Length & " 字节") + Catch ex As Exception + sb.AppendLine("Parasolid 失败: " & ex.Message) + End Try + + ' 3) IGES (文件方式 ExistingPart) + Try + Dim ic As NXOpen.IgesCreator = Session.GetSession().DexManager.CreateIgesCreator() + ic.ExportFrom = NXOpen.IgesCreator.ExportFromOption.ExistingPart + ic.InputFile = masterPath + ic.ExportModelData = True + ic.OutputFile = Path.Combine(outDir, "T.igs") + ic.Commit() + ic.Destroy() + sb.AppendLine("IGES: " & (New FileInfo(Path.Combine(outDir, "T.igs"))).Length & " 字节") + Catch ex As Exception + sb.AppendLine("IGES 失败: " & ex.Message) + End Try + + ' 4) STEP (文件方式 ExistingPart) + Try + Dim sc As NXOpen.StepCreator = Session.GetSession().DexManager.CreateStepCreator() + sc.ExportFrom = NXOpen.StepCreator.ExportFromOption.ExistingPart + sc.InputFile = masterPath + sc.ExportAs = NXOpen.StepCreator.ExportAsOption.Ap214 + sc.OutputFile = Path.Combine(outDir, "T.stp") + sc.ColorAndLayers = True + sc.Commit() + sc.Destroy() + sb.AppendLine("STEP: " & (New FileInfo(Path.Combine(outDir, "T.stp"))).Length & " 字节") + Catch ex As Exception + sb.AppendLine("STEP 失败: " & ex.Message) + End Try + + File.WriteAllText(Path.Combine(cur, "debug-export-all.txt"), sb.ToString(), Encoding.UTF8) + End Sub +End Module diff --git a/sample-data/tools/debug-export.vb b/sample-data/tools/debug-export.vb new file mode 100644 index 0000000..6e3ffb9 --- /dev/null +++ b/sample-data/tools/debug-export.vb @@ -0,0 +1,69 @@ +' 调试: 单步 STEP 导出定位 "File already exists" 来源 +Option Strict Off +Imports System +Imports System.IO +Imports System.Text +Imports NXOpen +Imports NXOpen.UF + +Module DebugExport + Sub Main() + Dim sb As New StringBuilder() + Dim cur As String = Directory.GetCurrentDirectory() + Dim masterPath As String = Path.Combine(cur, "KC_master.prt") + sb.AppendLine("CWD=" & cur & " masterExists=" & File.Exists(masterPath)) + Dim partLoadStatus1 As NXOpen.PartLoadStatus = Nothing + Session.GetSession().Parts.OpenBaseDisplay(masterPath, partLoadStatus1) + Dim w As Part = Session.GetSession().Parts.Work + sb.AppendLine("Work=" & (If(w Is Nothing, "NULL", w.FullPath))) + If w IsNot Nothing Then + Dim ufs As UFSession = UFSession.GetUFSession() + Try + ufs.Modl.EditExp("stroke=87") + ufs.Modl.Update() + sb.AppendLine("EditExp+Update OK") + Catch ex As Exception + sb.AppendLine("EditExp/Update 失败: " & ex.Message) + End Try + ' 诊断: 实体数与引用集 + Dim bodyCount As Integer = 0 + Try + For Each b As NXOpen.Body In w.Bodies + bodyCount += 1 + Next + Catch + End Try + sb.AppendLine("实体数=" & bodyCount) + Try + For Each rs As NXOpen.ReferenceSet In w.GetAllReferenceSets() + sb.AppendLine("引用集: " & rs.Name) + Next + Catch ex As Exception + sb.AppendLine("引用集枚举失败: " & ex.Message) + End Try + Dim outDir As String = Path.Combine(cur, "dbg_out") + Directory.CreateDirectory(outDir) + Dim stpPath As String = Path.Combine(outDir, "DBG.stp") + If File.Exists(stpPath) Then File.Delete(stpPath) + Try + Dim sc As NXOpen.StepCreator = Session.GetSession().DexManager.CreateStepCreator() + sc.ExportFrom = NXOpen.StepCreator.ExportFromOption.ExistingPart ' 批处理无显示部件 → 直接处理部件文件 + sc.InputFile = masterPath + sc.ExportAs = NXOpen.StepCreator.ExportAsOption.Ap214 + sc.OutputFile = stpPath + sc.ColorAndLayers = True + sc.Commit() + sc.Destroy() + sb.AppendLine("STEP 导出成功: " & stpPath & " size=" & (New FileInfo(stpPath)).Length) + Catch ex As Exception + sb.AppendLine("STEP 导出失败: " & ex.GetType().Name & " / " & ex.Message) + Dim inner As Exception = ex.InnerException + While inner IsNot Nothing + sb.AppendLine(" inner: " & inner.Message) + inner = inner.InnerException + End While + End Try + End If + File.WriteAllText(Path.Combine(cur, "debug-export.txt"), sb.ToString(), Encoding.UTF8) + End Sub +End Module diff --git a/sample-data/tools/debug-save.vb b/sample-data/tools/debug-save.vb new file mode 100644 index 0000000..f6371aa --- /dev/null +++ b/sample-data/tools/debug-save.vb @@ -0,0 +1,46 @@ +' 诊断 2: 批处理下 Work=NULL — 验证 (a) BasePart 直接转 Part 操作 (b) SetDisplay 签名 +Option Strict Off +Imports System +Imports System.IO +Imports System.Text +Imports NXOpen +Imports NXOpen.UF + +Module DebugSave + Sub Main() + Dim lw As ListingWindow = Session.GetSession().ListingWindow + lw.Open() + Dim sb As New StringBuilder() + Dim outPath As String = Path.Combine(Directory.GetCurrentDirectory(), "KC_master.prt") + sb.AppendLine("CWD=" & Directory.GetCurrentDirectory()) + + ' (a) SetDisplay 签名反射 + Dim pc As NXOpen.PartCollection = Session.GetSession().Parts + For Each mi As System.Reflection.MethodInfo In pc.GetType().GetMethods() + If mi.Name = "SetDisplay" OrElse mi.Name = "Open" Then sb.AppendLine("SIG: " & mi.ToString()) + Next + + Dim partLoadStatus1 As NXOpen.PartLoadStatus = Nothing + Dim basePart1 As NXOpen.BasePart = Session.GetSession().Parts.OpenBaseDisplay(outPath, partLoadStatus1) + sb.AppendLine("basePart1=" & (If(basePart1 Is Nothing, "NULL", basePart1.FullPath))) + sb.AppendLine("Work=" & (If(Session.GetSession().Parts.Work Is Nothing, "NULL", "非空"))) + + ' (b) 直接转换 BasePart → Part 并操作 + Dim p1 As Part = CType(basePart1, Part) + sb.AppendLine("p1 cast ok, FullPath=" & p1.FullPath & " IsModified(before)=" & p1.IsModified) + Dim ufs As UFSession = UFSession.GetUFSession() + ufs.Modl.EditExp("bore=50") + ufs.Modl.Update() + sb.AppendLine("p1.IsModified(after EditExp+Update)=" & p1.IsModified) + ' 对比 Save 与 SaveAs 在批处理下的落盘行为 + Dim pss As NXOpen.PartSaveStatus = p1.Save(NXOpen.BasePart.SaveComponents.True, NXOpen.BasePart.CloseAfterSave.False) + If pss IsNot Nothing Then pss.Dispose() + sb.AppendLine("after Save: size=" & (New FileInfo(outPath)).Length & " mtime=" & File.GetLastWriteTime(outPath)) + Dim asPath As String = Path.Combine(Directory.GetCurrentDirectory(), "KC_master_as.prt") + Dim pss2 As NXOpen.PartSaveStatus = p1.SaveAs(asPath) + If pss2 IsNot Nothing Then pss2.Dispose() + sb.AppendLine("after SaveAs: exists=" & File.Exists(asPath) & " size=" & (If(File.Exists(asPath), (New FileInfo(asPath)).Length, 0))) + File.WriteAllText(Path.Combine(Directory.GetCurrentDirectory(), "debug-save.txt"), sb.ToString(), Encoding.UTF8) + lw.WriteLine(sb.ToString()) + End Sub +End Module diff --git a/sample-data/tools/fix-bom.ps1 b/sample-data/tools/fix-bom.ps1 new file mode 100644 index 0000000..c0f1100 --- /dev/null +++ b/sample-data/tools/fix-bom.ps1 @@ -0,0 +1,18 @@ +# Ensure each .ps1 has exactly ONE UTF-8 BOM so PowerShell 5.1 reads Chinese correctly. +# Idempotent: strips any leading BOMs first, then prepends a single one. +# (PS 5.1 treats BOM-less files as ANSI/GBK; this script is intentionally ASCII-only.) +param([string[]]$Files) +if (-not $Files) { + $Files = Get-ChildItem (Join-Path $PSScriptRoot '*.ps1') | ForEach-Object { $_.FullName } +} +foreach ($f in $Files) { + $bytes = [System.IO.File]::ReadAllBytes($f) + $i = 0 + while (($i + 2) -lt $bytes.Length -and $bytes[$i] -eq 0xEF -and $bytes[$i + 1] -eq 0xBB -and $bytes[$i + 2] -eq 0xBF) { $i += 3 } + if ($i -gt 0) { $bytes = $bytes[$i..($bytes.Length - 1)] } + $out = New-Object byte[] ($bytes.Length + 3) + $out[0] = 0xEF; $out[1] = 0xBB; $out[2] = 0xBF + [Array]::Copy($bytes, 0, $out, 3, $bytes.Length) + [System.IO.File]::WriteAllBytes($f, $out) + Write-Output ("BOM fixed: " + $f) +} diff --git a/sample-data/tools/gen-images.ps1 b/sample-data/tools/gen-images.ps1 new file mode 100644 index 0000000..1a2e0a6 --- /dev/null +++ b/sample-data/tools/gen-images.ps1 @@ -0,0 +1,235 @@ +# 生成示例 2D 尺寸图 PNG 与数据表 JPEG (中/英) +# 用法: powershell -NoProfile -ExecutionPolicy Bypass -File tools\gen-images.ps1 +# 依赖: 仅 Windows 自带 System.Drawing (PowerShell 5.1) +Add-Type -AssemblyName System.Drawing + +$docsDir = Join-Path (Join-Path $PSScriptRoot '..\onb-sc') 'docs' +$dimDir = Join-Path $docsDir 'dim-drawing' +$dsDir = Join-Path $docsDir 'datasheet' +New-Item -ItemType Directory -Force -Path $dimDir | Out-Null +New-Item -ItemType Directory -Force -Path $dsDir | Out-Null + +$fontTitle = New-Object System.Drawing.Font('Microsoft YaHei', 26, [System.Drawing.FontStyle]::Bold) +$fontH2 = New-Object System.Drawing.Font('Microsoft YaHei', 17, [System.Drawing.FontStyle]::Bold) +$fontText = New-Object System.Drawing.Font('Microsoft YaHei', 13) +$fontSmall = New-Object System.Drawing.Font('Microsoft YaHei', 11) +$penThin = New-Object System.Drawing.Pen([System.Drawing.Color]::Black, 1) +$penLine = New-Object System.Drawing.Pen([System.Drawing.Color]::Black, 2) +$penDash = New-Object System.Drawing.Pen([System.Drawing.Color]::Black, 1) +$penDash.DashStyle = [System.Drawing.Drawing2D.DashStyle]::Dash +$brush = [System.Drawing.Brushes]::Black +$fillGray = New-Object System.Drawing.SolidBrush([System.Drawing.Color]::FromArgb(235, 235, 235)) + +function New-Canvas([int]$w, [int]$h) { + $bmp = New-Object System.Drawing.Bitmap($w, $h) + $g = [System.Drawing.Graphics]::FromImage($bmp) + $g.SmoothingMode = [System.Drawing.Drawing2D.SmoothingMode]::AntiAlias + $g.TextRenderingHint = [System.Drawing.Text.TextRenderingHint]::AntiAlias + $g.Clear([System.Drawing.Color]::White) + return ,@($bmp, $g) +} + +# 尺寸线箭头 (dx,dy 为箭头指向) +function Draw-Arrow($g, [float]$x, [float]$y, [float]$dx, [float]$dy, [float]$size) { + $px = -$dy; $py = $dx + $p1 = New-Object System.Drawing.PointF(($x + $dx * $size), ($y + $dy * $size)) + $p2 = New-Object System.Drawing.PointF(($x + $px * $size * 0.45), ($y + $py * $size * 0.45)) + $p3 = New-Object System.Drawing.PointF(($x - $px * $size * 0.45), ($y - $py * $size * 0.45)) + $g.FillPolygon($brush, [System.Drawing.PointF[]]@($p1, $p2, $p3)) +} + +# 表格: rows 为 string[] 数组, cols 为每列宽度 +function Draw-Table($g, [float]$x, [float]$y, $rows, [float[]]$cols, [float]$rowH) { + $top = $y + foreach ($r in $rows) { + $xx = $x + for ($i = 0; $i -lt $cols.Count; $i++) { + $g.DrawRectangle($penThin, $xx, $top, $cols[$i], $rowH) + $g.DrawString($r[$i], $fontText, $brush, ($xx + 8), ($top + 10)) + $xx += $cols[$i] + } + $top += $rowH + } +} + +# ---- 2D 尺寸图 (中英双语标注) ---- +function Draw-DimDrawing([string]$outPath, [int]$bore, [int]$stroke, [string]$magnet, [string]$mount) { + $c = New-Canvas 1000 1500 + $bmp = $c[0]; $g = $c[1] + $s = 3.0 # px/mm + $cx = 500.0 + $yTop = 320.0 # 前盖顶边 + $capW = ($bore + 10) * $s + $bodyW = ($bore + 4) * $s + $rodD = [Math]::Max($bore / 5.0, 3.0) * 2 + $rodW = $rodD * $s + $yFrontCap = $yTop + 10 * $s + $yBody = $yFrontCap + ($stroke + 60) * $s + $yRearCap = $yBody + 8 * $s + $yRodTop = $yTop - ($stroke + 10) * $s + $yRodBot = $yTop + 14 * $s + $model = "SC$bore`x$stroke$magnet-$mount" + $total = 2 * $stroke + 88 + + $g.DrawString('欧霓博 OUNIBO · SC 系列标准气缸 尺寸图', $fontTitle, $brush, 80, 40) + $g.DrawString('SC Series Standard Cylinder · Dimension Drawing', $fontText, $brush, 82, 92) + $g.DrawString("型号 Model: $model", $fontH2, $brush, 82, 128) + + # 外形 (前盖/缸体/后盖/活塞杆) + $g.FillRectangle($fillGray, ($cx - $capW / 2), $yTop, $capW, (10 * $s)) + $g.DrawRectangle($penLine, ($cx - $capW / 2), $yTop, $capW, (10 * $s)) + $g.FillRectangle($fillGray, ($cx - $bodyW / 2), $yFrontCap, $bodyW, (($stroke + 60) * $s)) + $g.DrawRectangle($penLine, ($cx - $bodyW / 2), $yFrontCap, $bodyW, (($stroke + 60) * $s)) + $g.FillRectangle($fillGray, ($cx - $capW / 2), $yBody, $capW, (8 * $s)) + $g.DrawRectangle($penLine, ($cx - $capW / 2), $yBody, $capW, (8 * $s)) + $g.FillRectangle($fillGray, ($cx - $rodW / 2), $yRodTop, $rodW, ($yRodBot - $yRodTop)) + $g.DrawRectangle($penLine, ($cx - $rodW / 2), $yRodTop, $rodW, ($yRodBot - $yRodTop)) + + # 中心线 + $g.DrawLine($penDash, $cx, ($yRodTop - 20), $cx, ($yRearCap + 30)) + + # 缸径尺寸线 (跨前盖) + $dimY = $yFrontCap + 40 + $g.DrawLine($penDash, ($cx - $capW / 2), ($yTop + 4), ($cx - $capW / 2), $dimY) + $g.DrawLine($penDash, ($cx + $capW / 2), ($yTop + 4), ($cx + $capW / 2), $dimY) + $g.DrawLine($penThin, ($cx - $capW / 2), $dimY, ($cx + $capW / 2), $dimY) + Draw-Arrow $g ($cx - $capW / 2) $dimY -1 0 9 + Draw-Arrow $g ($cx + $capW / 2) $dimY 1 0 9 + $g.DrawString("Ø$bore mm (缸径 Bore)", $fontH2, $brush, ($cx - 70), ($dimY + 10)) + + # 行程尺寸线 (活塞杆伸出段, 右侧) + $dimX = $cx + $capW / 2 + 80 + $g.DrawLine($penDash, ($cx + $capW / 2 + 4), $yTop, $dimX, $yTop) + $g.DrawLine($penDash, ($cx + $rodW / 2 + 4), $yRodTop, $dimX, $yRodTop) + $g.DrawLine($penThin, $dimX, $yRodTop, $dimX, $yTop) + Draw-Arrow $g $dimX $yRodTop 0 1 9 + Draw-Arrow $g $dimX $yTop 0 -1 9 + $g.DrawString("$stroke mm (行程 Stroke)", $fontH2, $brush, ($dimX + 12), (($yTop + $yRodTop) / 2 - 8)) + + # 总长尺寸线 (左侧) + $dimX2 = $cx - $capW / 2 - 80 + $g.DrawLine($penDash, ($cx - $capW / 2 - 4), $yRodTop, $dimX2, $yRodTop) + $g.DrawLine($penDash, ($cx - $capW / 2 - 4), $yRearCap, $dimX2, $yRearCap) + $g.DrawLine($penThin, $dimX2, $yRodTop, $dimX2, $yRearCap) + Draw-Arrow $g $dimX2 $yRodTop 0 1 9 + Draw-Arrow $g $dimX2 $yRearCap 0 -1 9 + $g.DrawString("总长 Total: $total mm", $fontH2, $brush, ($dimX2 - 180), (($yRodTop + $yRearCap) / 2 - 8)) + + # 磁石标注 + if ($magnet -eq 'S') { + $g.DrawString('磁石 S / Magnet', $fontH2, $brush, ($cx + $bodyW / 2 + 20), ($yFrontCap + 60)) + $g.DrawLine($penThin, ($cx + $bodyW / 2 + 6), ($yFrontCap + 66), ($cx + $bodyW / 2 + 18), ($yFrontCap + 66)) + } + + # 信息表 + $mountDesc = 'FA=前法兰 Front flange / LB=脚座 Foot / CB=中摆 Clevis' + $tblRows = @() + $tblRows += ,@('项目 Item', '值 Value') + $tblRows += ,@('型号 Model', $model) + $tblRows += ,@('缸径 Bore', "Ø$bore mm") + $tblRows += ,@('行程 Stroke', "$stroke mm") + $tblRows += ,@('磁石 Magnet', $(if ($magnet -eq 'S') { 'S 带磁石' } else { '无 None' })) + $tblRows += ,@('安装 Mount', $mountDesc) + Draw-Table $g 150 1120 $tblRows @(200.0, 500.0) 40 + + $g.DrawString('示意图 · 自编示例数据,仅用于目录软件开发 / Sample drawing for development only', $fontSmall, $brush, 150, 1420) + + $bmp.Save($outPath, [System.Drawing.Imaging.ImageFormat]::Png) + $g.Dispose(); $bmp.Dispose() + Write-Output ("尺寸图: " + $outPath) +} + +# ---- 数据表 JPEG (zh/en) ---- +function Draw-Datasheet([string]$outPath, [string]$lang) { + $c = New-Canvas 1190 1684 + $bmp = $c[0]; $g = $c[1] + $zh = ($lang -eq 'zh') + + if ($zh) { + $g.DrawString('欧霓博 OUNIBO 气动元件', $fontTitle, $brush, 70, 50) + $g.DrawString('SC 系列标准气缸 · 数据表 Datasheet', $fontH2, $brush, 70, 100) + $g.DrawString('型号编码 Order Code: SC{Bore}x{Stroke}{Magnet}-{Mount}', $fontH2, $brush, 70, 150) + $encRows = @() + $encRows += ,@('段 Segment', '含义 Meaning', '取值 Values') + $encRows += ,@('SC', '系列 Series', '固定 Fixed') + $encRows += ,@('{Bore}', '缸径 Bore (mm)', '16 / 25 / 32 / 40') + $encRows += ,@('{Stroke}', '行程 Stroke (mm)', '25 / 50 / 75 / 100') + $encRows += ,@('{Magnet}', '磁石 Magnet', '空=无 None / S=带磁石') + $encRows += ,@('{Mount}', '安装 Mount', 'FA=前法兰 / LB=脚座 / CB=中摆') + Draw-Table $g 70 200 $encRows @(150.0, 240.0, 360.0) 44 + + $g.DrawString('规格 Specifications', $fontH2, $brush, 70, 500) + $specRows = @() + $specRows += ,@('参数 Parameter', '取值 Values') + $specRows += ,@('缸径 Bore (mm)', '16 / 25 / 32 / 40') + $specRows += ,@('行程 Stroke (mm)', '25 / 50 / 75 / 100') + $specRows += ,@('磁石 Magnet', '无 None / S') + $specRows += ,@('安装 Mount', 'FA / LB / CB') + Draw-Table $g 70 550 $specRows @(260.0, 400.0) 44 + + $g.DrawString('选型约束 Selection Rules', $fontH2, $brush, 70, 780) + $g.DrawString('R1 缸径 16 时,行程仅可选 25 / 50', $fontText, $brush, 90, 830) + $g.DrawString('R2 磁石 S 仅缸径 >= 25 可选', $fontText, $brush, 90, 870) + $g.DrawString('R3 中摆 CB 仅行程 <= 75 可选', $fontText, $brush, 90, 910) + + $g.DrawString('参考尺寸 Reference Dimensions', $fontH2, $brush, 70, 980) + $dimRows = @() + $dimRows += ,@('型号 Model', '缸径 Bore', '行程 Stroke', '总长 Overall (mm)', '缸体长 Body (mm)') + $dimRows += ,@('SC16x25-FA', '16', '25', '138', '85') + $dimRows += ,@('SC25x50S-FA', '25', '50', '188', '110') + $dimRows += ,@('SC32x50S-LB', '32', '50', '188', '110') + $dimRows += ,@('SC40x100S-LB', '40', '100', '288', '160') + Draw-Table $g 70 1030 $dimRows @(210.0, 120.0, 130.0, 200.0, 190.0) 44 + + $g.DrawString('注 Note: 本数据表为自编示例数据(虚构系列),仅用于目录软件开发测试,非真实产品数据。', $fontSmall, $brush, 70, 1290) + $g.DrawString('生成工具: sample-data/tools/gen-images.ps1', $fontSmall, $brush, 70, 1320) + } else { + $g.DrawString('OUNIBO Pneumatic Components', $fontTitle, $brush, 70, 50) + $g.DrawString('SC Series Standard Cylinder · Datasheet', $fontH2, $brush, 70, 100) + $g.DrawString('Order Code: SC{Bore}x{Stroke}{Magnet}-{Mount}', $fontH2, $brush, 70, 150) + $encRows = @() + $encRows += ,@('Segment', 'Meaning', 'Values') + $encRows += ,@('SC', 'Series', 'Fixed') + $encRows += ,@('{Bore}', 'Bore (mm)', '16 / 25 / 32 / 40') + $encRows += ,@('{Stroke}', 'Stroke (mm)', '25 / 50 / 75 / 100') + $encRows += ,@('{Magnet}', 'Magnet', 'blank=None / S=Magnet') + $encRows += ,@('{Mount}', 'Mounting', 'FA=Front flange / LB=Foot / CB=Clevis') + Draw-Table $g 70 200 $encRows @(150.0, 240.0, 360.0) 44 + + $g.DrawString('Specifications', $fontH2, $brush, 70, 500) + $specRows = @() + $specRows += ,@('Parameter', 'Values') + $specRows += ,@('Bore (mm)', '16 / 25 / 32 / 40') + $specRows += ,@('Stroke (mm)', '25 / 50 / 75 / 100') + $specRows += ,@('Magnet', 'None / S') + $specRows += ,@('Mounting', 'FA / LB / CB') + Draw-Table $g 70 550 $specRows @(260.0, 400.0) 44 + + $g.DrawString('Selection Rules', $fontH2, $brush, 70, 780) + $g.DrawString('R1 Bore 16: stroke limited to 25 / 50', $fontText, $brush, 90, 830) + $g.DrawString('R2 Magnet S requires bore >= 25', $fontText, $brush, 90, 870) + $g.DrawString('R3 Clevis CB requires stroke <= 75', $fontText, $brush, 90, 910) + + $g.DrawString('Reference Dimensions', $fontH2, $brush, 70, 980) + $dimRows = @() + $dimRows += ,@('Model', 'Bore', 'Stroke', 'Overall (mm)', 'Body (mm)') + $dimRows += ,@('SC16x25-FA', '16', '25', '138', '85') + $dimRows += ,@('SC25x50S-FA', '25', '50', '188', '110') + $dimRows += ,@('SC32x50S-LB', '32', '50', '188', '110') + $dimRows += ,@('SC40x100S-LB', '40', '100', '288', '160') + Draw-Table $g 70 1030 $dimRows @(210.0, 120.0, 130.0, 200.0, 190.0) 44 + + $g.DrawString('Note: This datasheet contains sample data (fictional series) for catalog software development only, not real product data.', $fontSmall, $brush, 70, 1290) + $g.DrawString('Generated by: sample-data/tools/gen-images.ps1', $fontSmall, $brush, 70, 1320) + } + + $bmp.Save($outPath, [System.Drawing.Imaging.ImageFormat]::Jpeg) + $g.Dispose(); $bmp.Dispose() + Write-Output ("数据表: " + $outPath) +} + +# ---- 生成 ---- +Draw-DimDrawing (Join-Path $dimDir 'SC32x50S-LB.png') 32 50 'S' 'LB' +Draw-DimDrawing (Join-Path $dimDir 'SC16x25-FA.png') 16 25 '' 'FA' +Draw-Datasheet (Join-Path $dsDir 'SC_datasheet_zh.jpg') 'zh' +Draw-Datasheet (Join-Path $dsDir 'SC_datasheet_en.jpg') 'en' diff --git a/sample-data/tools/gen-pdf.ps1 b/sample-data/tools/gen-pdf.ps1 new file mode 100644 index 0000000..ac9ae15 --- /dev/null +++ b/sample-data/tools/gen-pdf.ps1 @@ -0,0 +1,72 @@ +# 将数据表 JPEG 包装成极简单页 A4 PDF (DCTDecode 直嵌, 字节级 xref 偏移) +# 用法: powershell -NoProfile -ExecutionPolicy Bypass -File tools\gen-pdf.ps1 +# 说明: 中文内容以图片形式嵌入, 规避 PDF 中文字体嵌入问题; 结构最小化, 主流阅读器可打开。 +param( + [string]$Jpg, + [string]$Pdf +) + +Add-Type -AssemblyName System.Drawing +$img = [System.Drawing.Image]::FromFile($Jpg) +$w = $img.Width +$h = $img.Height +$img.Dispose() +$jpgBytes = [System.IO.File]::ReadAllBytes($Jpg) + +$chunks = New-Object System.Collections.Generic.List[byte[]] +$offsets = New-Object System.Collections.Generic.List[int] +$pos = 0 + +function Add-Ascii([string]$t) { + $b = [System.Text.Encoding]::ASCII.GetBytes($t) + $chunks.Add($b) + $script:pos += $b.Length +} +function Mark-Obj() { $offsets.Add($script:pos) } + +$imgLen = $jpgBytes.Length + 1 +$content = 'q 595.28 0 0 841.89 0 0 cm /Im0 Do Q' +$contentLen = $content.Length + 1 + +Add-Ascii "%PDF-1.4`n" +Mark-Obj; Add-Ascii "1 0 obj<< /Type /Catalog /Pages 2 0 R >>endobj`n" +Mark-Obj; Add-Ascii "2 0 obj<< /Type /Pages /Kids [3 0 R] /Count 1 >>endobj`n" +Mark-Obj; Add-Ascii "3 0 obj<< /Type /Page /Parent 2 0 R /MediaBox [0 0 595.28 841.89] /Resources << /XObject << /Im0 4 0 R >> >> /Contents 5 0 R >>endobj`n" +Mark-Obj; Add-Ascii "4 0 obj<< /Type /XObject /Subtype /Image /Width $w /Height $h /ColorSpace /DeviceRGB /BitsPerComponent 8 /Filter /DCTDecode /Length $imgLen >>stream`n" +$chunks.Add($jpgBytes); $pos += $jpgBytes.Length +Add-Ascii "`nendstream`nendobj`n" +Mark-Obj; Add-Ascii "5 0 obj<< /Length $contentLen >>stream`n" +Add-Ascii "$content`nendstream`nendobj`n" + +$xrefOffset = $pos +$sb = New-Object System.Text.StringBuilder +[void]$sb.Append("xref`n0 6`n0000000000 65535 f `n") +foreach ($off in $offsets) { + [void]$sb.Append(("{0:0000000000} {1:00000} n `n" -f $off, 0)) +} +Add-Ascii $sb.ToString() +Add-Ascii ("trailer`n<< /Size 6 /Root 1 0 R >>`nstartxref`n" + $xrefOffset + "`n%%EOF`n") + +$fs = [System.IO.File]::Create($Pdf) +foreach ($b in $chunks) { $fs.Write($b, 0, $b.Length) } +$fs.Close() + +# ---- 自检: startxref 指向 xref, 且每个对象偏移处是 "N 0 obj" ---- +$check = [System.IO.File]::ReadAllBytes($Pdf) +$text = [System.Text.Encoding]::ASCII.GetString($check) +$m = [regex]::Match($text, 'startxref\s+(\d+)') +if (-not $m.Success) { Write-Output ("FAIL: 无 startxref - " + $Pdf); return } +$xref = [int64]$m.Groups[1].Value +$ok = ($text.Substring($xref, 4) -eq 'xref') +$lines = $text.Substring($xref + 4).Split("`n") +# xref 段: 行0='xref', 行1='0 6', 行2=第0号自由条目, 行3..7=对象1..5 +for ($i = 3; $i -lt 8; $i++) { + $entry = $lines[$i] + $objNum = $i - 2 + if ($entry -match '^(\d{10}) 00000 n') { + $off2 = [int64]$entry.Substring(0, 10) + if ($text.Substring($off2, 10) -notmatch ('^' + $objNum + ' 0 obj')) { $ok = $false } + } else { $ok = $false } +} +if ($ok) { Write-Output ("OK: " + $Pdf + " (" + (($check.Length / 1KB).ToString('0') + " KB)")) } +else { Write-Output ("FAIL: xref 校验失败 - " + $Pdf) } diff --git a/sample-data/tools/gen-step.ps1 b/sample-data/tools/gen-step.ps1 new file mode 100644 index 0000000..d0a3e73 --- /dev/null +++ b/sample-data/tools/gen-step.ps1 @@ -0,0 +1,230 @@ +# 欧霓博 SC 系列示例数据生成器:STEP 变体文件 + params.csv +# 用法: powershell -NoProfile -ExecutionPolicy Bypass -File tools\gen-step.ps1 +# 说明: 以极简封闭 B-rep 圆柱(MANIFOLD_SOLID_BREP)组合出简化气缸模型 +# (后盖 + 缸体 + 前盖 + 活塞杆 4 个实体), 尺寸随缸径/行程参数变化。 + +param( + [string]$OutDir = (Join-Path $PSScriptRoot '..\onb-sc') +) + +$inv = [System.Globalization.CultureInfo]::InvariantCulture +$stepDir = Join-Path $OutDir 'step' +$csvPath = Join-Path $OutDir 'params.csv' +New-Item -ItemType Directory -Force -Path $stepDir | Out-Null + +function Format-Num([double]$v) { return $v.ToString('0.###', $inv) } + +# 单个圆柱实体的实体行 (OCCT 兼容拓扑: 顶点在圆周上+全圆闭边+接缝边, 共 36 个实体) +# 约定: 圆心点 = (x, 0, z) 是仅有的 y=0 点 (供解析器识别); 顶点 = (x, r, z) 在 +Y 方向 +function New-CylinderEntities([int]$id, [double]$x, [double]$y, [double]$z, [double]$r, [double]$len) { + $X = Format-Num $x + $Y = Format-Num $y + $Z = Format-Num $z + $ZT = Format-Num ($z + $len) + $R = Format-Num $r + $VY = Format-Num ($y + $r) # 顶点在圆周 +Y 处 (y=0 留给圆心供解析) + $e = @( + "#$($id)=DIRECTION('',(0.,0.,1.));", # 轴 + "#$($id+1)=CARTESIAN_POINT('',($X,$Y,$Z));", # 底圆心 + "#$($id+2)=CARTESIAN_POINT('',($X,$Y,$ZT));", # 顶圆心 + "#$($id+3)=DIRECTION('',(1.,0.,0.));", # 参考方向 + "#$($id+4)=AXIS2_PLACEMENT_3D('',#$($id+1),#$($id),#$($id+3));", # 底放置 + "#$($id+5)=CARTESIAN_POINT('',($X,$VY,$Z));", # 底顶点(圆周上) + "#$($id+6)=CARTESIAN_POINT('',($X,$VY,$ZT));", # 顶顶点(圆周上) + "#$($id+7)=VERTEX_POINT('',#$($id+5));", + "#$($id+8)=VERTEX_POINT('',#$($id+6));", + "#$($id+9)=CIRCLE('',#$($id+4),$R);", # 底圆 + "#$($id+10)=EDGE_CURVE('',#$($id+7),#$($id+7),#$($id+9),.T.);", # 底圆闭边 + "#$($id+11)=CYLINDRICAL_SURFACE('',#$($id+4),$R);", + "#$($id+12)=PLANE('',#$($id+4));", # 底面 + "#$($id+13)=DIRECTION('',(0.,0.,1.));", + "#$($id+14)=AXIS2_PLACEMENT_3D('',#$($id+2),#$($id+13),#$($id+3));", # 顶放置 + "#$($id+15)=PLANE('',#$($id+14));", # 顶面 + "#$($id+16)=CIRCLE('',#$($id+14),$R);", # 顶圆 + "#$($id+17)=EDGE_CURVE('',#$($id+8),#$($id+8),#$($id+16),.T.);", # 顶圆闭边 + "#$($id+18)=DIRECTION('',(0.,0.,1.));", + "#$($id+19)=VECTOR('',#$($id+18),1.);", + "#$($id+20)=LINE('',#$($id+5),#$($id+19));", # 接缝线 + "#$($id+21)=EDGE_CURVE('',#$($id+7),#$($id+8),#$($id+20),.T.);", # 接缝边 + "#$($id+22)=ORIENTED_EDGE('',*,*,#$($id+10),.T.);", # 底环 + "#$($id+23)=ORIENTED_EDGE('',*,*,#$($id+17),.T.);", # 顶环 + "#$($id+24)=ORIENTED_EDGE('',*,*,#$($id+21),.T.);", # 壁环: 缝上 + "#$($id+25)=ORIENTED_EDGE('',*,*,#$($id+17),.T.);", + "#$($id+26)=ORIENTED_EDGE('',*,*,#$($id+21),.F.);", # 缝下 + "#$($id+27)=ORIENTED_EDGE('',*,*,#$($id+10),.F.);", + "#$($id+28)=EDGE_LOOP('',(#$($id+22)));", + "#$($id+29)=EDGE_LOOP('',(#$($id+23)));", + "#$($id+30)=EDGE_LOOP('',(#$($id+24),#$($id+25),#$($id+26),#$($id+27)));", + "#$($id+31)=ADVANCED_FACE('',(#$($id+30)),#$($id+11),.T.);", # 柱壁 + "#$($id+32)=ADVANCED_FACE('',(#$($id+28)),#$($id+12),.F.);", # 底面(法线朝下) + "#$($id+33)=ADVANCED_FACE('',(#$($id+29)),#$($id+15),.T.);", # 顶面(法线朝上) + "#$($id+34)=CLOSED_SHELL('',(#$($id+31),#$($id+32),#$($id+33)));", + "#$($id+35)=MANIFOLD_SOLID_BREP('',#$($id+34));" + ) + return $e +} + +# 尾部共享实体: 每个实体注入 STYLED_ITEM 颜色 (occt-import-js 对无颜色模型会崩) +# 从 $id 开始: 每实体 7 个颜色实体 + 14 个尾部实体 +function New-TailEntities([int]$id, [int[]]$solidIds) { + $t = New-Object System.Collections.Generic.List[string] + $styled = New-Object System.Collections.Generic.List[string] + $c = $id + foreach ($s in $solidIds) { + $t.Add("#$c=COLOUR_RGB('',0.65,0.72,0.85);") + $t.Add("#$($c+1)=FILL_AREA_STYLE_COLOUR('',#$c);") + $t.Add("#$($c+2)=SURFACE_STYLE_FILL_AREA(#$($c+1));") + $t.Add("#$($c+3)=SURFACE_SIDE_STYLE('',(#$($c+2)));") + $t.Add("#$($c+4)=SURFACE_STYLE_USAGE(.BOTH.,#$($c+3));") + $t.Add("#$($c+5)=PRESENTATION_STYLE_ASSIGNMENT((#$($c+4)));") + $t.Add("#$($c+6)=STYLED_ITEM('',(#$($c+5)),#$s);") + $styled.Add("#$($c+6)") + $c += 7 + } + $items = (($solidIds | ForEach-Object { "#$_" }) + $styled) -join ',' + $t.Add("#$c=SHAPE_REPRESENTATION('',($items),#$($c+1));") + $t.Add("#$($c+1)=(GEOMETRIC_REPRESENTATION_CONTEXT(3)GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#$($c+2)))GLOBAL_UNIT_ASSIGNED_CONTEXT((#$($c+3),#$($c+4),#$($c+5)))REPRESENTATION_CONTEXT('',''));") + $t.Add("#$($c+2)=UNCERTAINTY_MEASURE_WITH_UNIT(LENGTH_MEASURE(1.E-06),#$($c+3),'');") + $t.Add("#$($c+3)=(LENGTH_UNIT()NAMED_UNIT(*)SI_UNIT(.MILLI.,.METRE.));") + $t.Add("#$($c+4)=(NAMED_UNIT(*)PLANE_ANGLE_UNIT()SI_UNIT($,.RADIAN.));") + $t.Add("#$($c+5)=(NAMED_UNIT(*)SI_UNIT($,.STERADIAN.)SOLID_ANGLE_UNIT());") + $t.Add("#$($c+6)=PRODUCT('OUNIBO_SC','OUNIBO_SC','',(#$($c+7)));") + $t.Add("#$($c+7)=PRODUCT_CONTEXT('',#$($c+8),'mechanical');") + $t.Add("#$($c+8)=APPLICATION_CONTEXT('configuration controlled 3d designs of mechanical parts and assemblies');") + $t.Add("#$($c+9)=PRODUCT_DEFINITION_FORMATION('','',#$($c+6));") + $t.Add("#$($c+10)=PRODUCT_DEFINITION('design','',#$($c+9),#$($c+11));") + $t.Add("#$($c+11)=PRODUCT_DEFINITION_CONTEXT('part definition',#$($c+8),'design');") + $t.Add("#$($c+12)=PRODUCT_DEFINITION_SHAPE('','',#$($c+10));") + $t.Add("#$($c+13)=SHAPE_DEFINITION_REPRESENTATION(#$($c+12),#$c);") + return $t +} + +# ---- 型号与规则定义 (见 coding-rules.md) ---- +# 缸径 16: 行程仅 25/50, 无磁石; 磁石 S 要求缸径>=25; 中摆 CB 要求行程<=75 +$bores = @(16, 25, 32, 40) +$strokesAll = @(25, 50, 75, 100) +$mountsAll = @('FA', 'LB', 'CB') + +$encNoBom = New-Object System.Text.UTF8Encoding($false) +$encBom = New-Object System.Text.UTF8Encoding($true) +$csvLines = New-Object System.Collections.Generic.List[string] +$csvLines.Add('model_code,bore,stroke,magnet,mount,step_file') + +$count = 0 +foreach ($bore in $bores) { + $strokes = if ($bore -eq 16) { @(25, 50) } else { $strokesAll } + $magnets = if ($bore -eq 16) { @('') } else { @('', 'S') } + foreach ($stroke in $strokes) { + $mounts = if ($stroke -gt 75) { @('FA', 'LB') } else { $mountsAll } + foreach ($magnet in $magnets) { + foreach ($mount in $mounts) { + $model = "SC$bore`x$stroke$magnet-$mount" + $stepFile = "$model.step" + + # ---- 简化气缸尺寸 (mm): 后盖 + 缸体 + 前盖 + 活塞杆, 沿 Z 轴 ---- + $bodyR = $bore / 2.0 + 2.0 # 缸体外径 + $bodyLen = $stroke + 60.0 # 缸体长度(随行程) + $capR = $bore / 2.0 + 5.0 # 端盖外径 + $capLen = 8.0 # 后盖厚度 + $fcapLen = 10.0 # 前盖厚度 + $rodR = [Math]::Max($bore / 5.0, 3.0) + $rodBot = $bodyLen - 14.0 # 活塞杆埋入缸体 + $rodLen = $stroke + 34.0 + + $lines = New-Object System.Collections.Generic.List[string] + $lines.Add('ISO-10303-21;') + $lines.Add('HEADER;') + $lines.Add("FILE_DESCRIPTION(('OUNIBO SC series sample part $model'),'2;1');") + $lines.Add("FILE_NAME('$stepFile','2026-06-02T00:00:00',('OUNIBO'),('OUNIBO'),'','','');") + $lines.Add("FILE_SCHEMA(('CONFIG_CONTROL_DESIGN'));") + $lines.Add('ENDSEC;') + $lines.Add('DATA;') + + $ids = New-Object System.Collections.Generic.List[int] + $nextId = 1 + $cyls = New-Object System.Collections.Generic.List[object] + $cyls.Add(@{ z = -$capLen; r = $capR; len = $capLen }) # 后盖 + $cyls.Add(@{ z = 0.0; r = $bodyR; len = $bodyLen }) # 缸体 + $cyls.Add(@{ z = $bodyLen; r = $capR; len = $fcapLen }) # 前盖 + $cyls.Add(@{ z = $rodBot; r = $rodR; len = $rodLen }) # 活塞杆 + foreach ($cyl in $cyls) { + [string[]]$entities = New-CylinderEntities -id $nextId -x 0 -y 0 -z $cyl['z'] -r $cyl['r'] -len $cyl['len'] + $lines.AddRange($entities) + $ids.Add($nextId + 35) # MANIFOLD_SOLID_BREP 实体号 + $nextId += 36 + } + [string[]]$tail = New-TailEntities -id $nextId -solidIds $ids.ToArray() + $lines.AddRange($tail) + $lines.Add('ENDSEC;') + $lines.Add('END-ISO-10303-21;') + + [System.IO.File]::WriteAllLines((Join-Path $stepDir $stepFile), $lines.ToArray(), $encNoBom) + $csvLines.Add("$model,$bore,$stroke,$magnet,$mount,$stepFile") + $count++ + } + } + } +} + +# ---- MAQ 迷你气缸系列 (多系列演示): 缸径 6/10/16, 行程 10/20/30/40 ---- +# 规则: 缸径 6 仅行程 10/20 且无磁石; 安装仅 FA/LB +$csvLinesM = New-Object System.Collections.Generic.List[string] +$csvLinesM.Add('model_code,bore,stroke,magnet,mount,step_file') +$countM = 0 +foreach ($bore in @(6, 10, 16)) { + $strokes = if ($bore -eq 6) { @(10, 20) } else { @(10, 20, 30, 40) } + $magnets = if ($bore -eq 6) { @('') } else { @('', 'S') } + foreach ($stroke in $strokes) { + foreach ($magnet in $magnets) { + foreach ($mount in @('FA', 'LB')) { + $model = "MAQ$bore`x$stroke$magnet-$mount" + $stepFile = "$model.step" + + $bodyR = $bore / 2.0 + 1.5 + $bodyLen = $stroke + 40.0 + $capR = $bore / 2.0 + 4.0 + $capLen = 6.0 + $fcapLen = 8.0 + $rodR = [Math]::Max($bore / 5.0, 2.0) + $rodBot = $bodyLen - 10.0 + $rodLen = $stroke + 24.0 + + $lines = New-Object System.Collections.Generic.List[string] + $lines.Add('ISO-10303-21;') + $lines.Add('HEADER;') + $lines.Add("FILE_DESCRIPTION(('OUNIBO MAQ series sample part $model'),'2;1');") + $lines.Add("FILE_NAME('$stepFile','2026-06-02T00:00:00',('OUNIBO'),('OUNIBO'),'','','');") + $lines.Add("FILE_SCHEMA(('CONFIG_CONTROL_DESIGN'));") + $lines.Add('ENDSEC;') + $lines.Add('DATA;') + + $ids = New-Object System.Collections.Generic.List[int] + $nextId = 1 + $cyls = New-Object System.Collections.Generic.List[object] + $cyls.Add(@{ z = -$capLen; r = $capR; len = $capLen }) + $cyls.Add(@{ z = 0.0; r = $bodyR; len = $bodyLen }) + $cyls.Add(@{ z = $bodyLen; r = $capR; len = $fcapLen }) + $cyls.Add(@{ z = $rodBot; r = $rodR; len = $rodLen }) + foreach ($cyl in $cyls) { + [string[]]$entities = New-CylinderEntities -id $nextId -x 0 -y 0 -z $cyl['z'] -r $cyl['r'] -len $cyl['len'] + $lines.AddRange($entities) + $ids.Add($nextId + 35) + $nextId += 36 + } + [string[]]$tail = New-TailEntities -id $nextId -solidIds $ids.ToArray() + $lines.AddRange($tail) + $lines.Add('ENDSEC;') + $lines.Add('END-ISO-10303-21;') + + [System.IO.File]::WriteAllLines((Join-Path $stepDir $stepFile), $lines.ToArray(), $encNoBom) + $csvLinesM.Add("$model,$bore,$stroke,$magnet,$mount,$stepFile") + $countM++ + } + } + } +} + +[System.IO.File]::WriteAllLines($csvPath, $csvLines.ToArray(), $encBom) +[System.IO.File]::WriteAllLines((Join-Path $OutDir 'params_maq.csv'), $csvLinesM.ToArray(), $encBom) +Write-Output "生成完成: SC $count 个 + MAQ $countM 个 STEP 文件 -> $stepDir" +Write-Output "参数表: $csvPath / params_maq.csv" diff --git a/sample-data/tools/gen-xlsx.ps1 b/sample-data/tools/gen-xlsx.ps1 new file mode 100644 index 0000000..5c4b483 --- /dev/null +++ b/sample-data/tools/gen-xlsx.ps1 @@ -0,0 +1,103 @@ +# 把 params.csv 生成一份真正的 .xlsx (最小 OOXML 结构, 免依赖 Excel) +# 用法: powershell -NoProfile -ExecutionPolicy Bypass -File tools\gen-xlsx.ps1 +# 说明: 仅供查看格式参考; Builder 导入用 CSV (Excel 里另存为 CSV 即可)。 +param( + [string]$Csv = (Join-Path $PSScriptRoot '..\onb-sc\params.csv'), + [string]$Out = (Join-Path $PSScriptRoot '..\onb-sc\params.xlsx') +) + +Add-Type -AssemblyName System.IO.Compression +Add-Type -AssemblyName System.IO.Compression.FileSystem + +function Xml-Esc([string]$s) { + return $s.Replace('&', '&').Replace('<', '<').Replace('>', '>').Replace('"', '"') +} + +# 列号 → 列字母 (A..Z, AA..) +function Col-Name([int]$i) { + $name = '' + $n = $i + 1 + while ($n -gt 0) { + $r = ($n - 1) % 26 + $name = [char](65 + $r) + $name + $n = [int](($n - 1) / 26) + } + return $name +} + +$rows = Get-Content $Csv | Where-Object { -not [string]::IsNullOrWhiteSpace($_) } +if ($rows.Count -lt 1) { Write-Output "CSV 为空"; exit 1 } + +# ---- sheet1.xml ---- +$sb = New-Object System.Text.StringBuilder +[void]$sb.Append('') +[void]$sb.Append('') +for ($r = 0; $r -lt $rows.Count; $r++) { + $cells = $rows[$r].Split(',') + [void]$sb.Append('') + for ($c = 0; $c -lt $cells.Count; $c++) { + $val = $cells[$c] + $ref = (Col-Name $c) + ($r + 1) + $num = 0.0 + if ($r -gt 0 -and [double]::TryParse($val, [System.Globalization.NumberStyles]::Float, [System.Globalization.CultureInfo]::InvariantCulture, [ref]$num)) { + [void]$sb.Append('' + $val + '') + } else { + [void]$sb.Append('' + (Xml-Esc $val) + '') + } + } + [void]$sb.Append('') +} +[void]$sb.Append('') +$sheetXml = $sb.ToString() + +# ---- 其余固定部件 ---- +$contentTypes = '' + + '' + + '' + + '' + + '' + + '' + + '' +$rels = '' + + '' + + '' + + '' +$workbook = '' + + '' + + '' +$workbookRels = '' + + '' + + '' + + '' + +$enc = New-Object System.Text.UTF8Encoding($false) + +# 手动 CreateEntry 控制条目名 (OOXML 规范要求正斜杠, CreateFromDirectory 会生成反斜杠) +if (Test-Path $Out) { Remove-Item $Out -Force } +$zip = [System.IO.Compression.ZipFile]::Open($Out, [System.IO.Compression.ZipArchiveMode]::Create) +function Add-Entry([string]$name, [string]$content) { + $e = $zip.CreateEntry($name) + $sw = New-Object System.IO.StreamWriter($e.Open(), $enc) + $sw.Write($content) + $sw.Close() +} +Add-Entry '[Content_Types].xml' $contentTypes +Add-Entry '_rels/.rels' $rels +Add-Entry 'xl/workbook.xml' $workbook +Add-Entry 'xl/_rels/workbook.xml.rels' $workbookRels +Add-Entry 'xl/worksheets/sheet1.xml' $sheetXml +$zip.Dispose() + +# ---- 自检: 重新打开并校验 XML 结构 ---- +$z = [System.IO.Compression.ZipFile]::OpenRead($Out) +$ok = $true +foreach ($part in @('[Content_Types].xml', '_rels/.rels', 'xl/workbook.xml', 'xl/_rels/workbook.xml.rels', 'xl/worksheets/sheet1.xml')) { + try { + $e = $z.GetEntry($part) + $sr = New-Object System.IO.StreamReader($e.Open()) + $null = [xml]$sr.ReadToEnd() + $sr.Close() + } catch { Write-Output ("XML 无效: " + $part); $ok = $false } +} +$z.Dispose() +if ($ok) { Write-Output ("xlsx 生成并通过自检: " + $Out + " (" + $rows.Count + " 行)") } diff --git a/sample-data/tools/import-master.vb b/sample-data/tools/import-master.vb new file mode 100644 index 0000000..7cc44f6 --- /dev/null +++ b/sample-data/tools/import-master.vb @@ -0,0 +1,58 @@ +' 母模构建 (管线验证版): 模板部件 + STEP 导入真实几何 + 注入参数化表达式 +' 用法: WorkingDirectory=母模目录, 目录内放 src.step (真实 STEP) 与 KC_master.prt (模板副本) +Option Strict Off +Imports System +Imports System.IO +Imports System.Text +Imports NXOpen +Imports NXOpen.UF + +Module ImportMaster + Sub Main() + Dim lw As ListingWindow = Session.GetSession().ListingWindow + lw.Open() + Dim cur As String = Directory.GetCurrentDirectory() + Dim outPath As String = Path.Combine(cur, "KC_master.prt") + Dim srcStep As String = Path.Combine(cur, "src.step") + If Not File.Exists(outPath) OrElse Not File.Exists(srcStep) Then + lw.WriteLine("缺文件: " & outPath & " / " & srcStep) + Return + End If + Dim partLoadStatus1 As NXOpen.PartLoadStatus = Nothing + Session.GetSession().Parts.OpenBaseDisplay(outPath, partLoadStatus1) + Dim w As Part = Session.GetSession().Parts.Work + If w Is Nothing Then + lw.WriteLine("打开失败") + Return + End If + + ' 导入真实 STEP 到当前工作部件 (WorkPart; 前提: 模板副本必须可写, FileOpenFlag 打开源文件) + Dim imp As NXOpen.Step214Importer = Session.GetSession().DexManager.CreateStep214Importer() + imp.InputFile = srcStep + imp.ImportTo = NXOpen.Step214Importer.ImportToOption.WorkPart + imp.FileOpenFlag = True + imp.Commit() + imp.Destroy() + lw.WriteLine("STEP 已导入到工作部件") + + Dim ufs As UFSession = UFSession.GetUFSession() + ufs.Modl.Update() + + ' 注入参数化表达式 + Dim mm As NXOpen.Unit = w.UnitCollection.FindObject("MilliMeter") + If mm IsNot Nothing Then + w.Expressions.CreateExpressionWithUnit("Number", "bore=32", mm) + w.Expressions.CreateExpressionWithUnit("Number", "stroke=10", mm) + Else + w.Expressions.CreateExpression("Number", "bore=32") + w.Expressions.CreateExpression("Number", "stroke=10") + End If + w.Expressions.CreateExpression("Number", "magOn=0") + w.Expressions.CreateExpression("Number", "mountIdx=0") + lw.WriteLine("表达式已注入") + + Dim pss As NXOpen.PartSaveStatus = w.Save(NXOpen.BasePart.SaveComponents.True, NXOpen.BasePart.CloseAfterSave.False) + If pss IsNot Nothing Then pss.Dispose() + lw.WriteLine("已保存: " & outPath) + End Sub +End Module diff --git a/sample-data/tools/inject-colors.ps1 b/sample-data/tools/inject-colors.ps1 new file mode 100644 index 0000000..ffd820a --- /dev/null +++ b/sample-data/tools/inject-colors.ps1 @@ -0,0 +1,38 @@ +# 实验: 给极简 STEP 注入 STYLED_ITEM 颜色实体 (测试 occt-import-js 对无颜色模型的兼容性) +# 用法: powershell -NoProfile -ExecutionPolicy Bypass -File tools\inject-colors.ps1 -In x.step -Out y.step +param([string]$In, [string]$Out) +$text = [System.IO.File]::ReadAllText($In) +$maxId = 0 +foreach ($m in [regex]::Matches($text, '#(\d+)\s*=')) { $id = [int]$m.Groups[1].Value; if ($id -gt $maxId) { $maxId = $id } } +$next = $maxId + 1 + +# 收集实体 (保持文件顺序: 插入到 ENDSEC 前) +$solids = @() +foreach ($m in [regex]::Matches($text, '#(\d+)=MANIFOLD_SOLID_BREP')) { $solids += [int]$m.Groups[1].Value } + +$newEntities = @() +$styledIds = @() +foreach ($s in $solids) { + $newEntities += "#$next=COLOUR_RGB('',0.65,0.72,0.85);" + $newEntities += "#$($next+1)=FILL_AREA_STYLE_COLOUR('',#$next);" + $newEntities += "#$($next+2)=SURFACE_STYLE_FILL_AREA(#$($next+1));" + $newEntities += "#$($next+3)=SURFACE_SIDE_STYLE('',(#$($next+2)));" + $newEntities += "#$($next+4)=SURFACE_STYLE_USAGE(.BOTH.,#$($next+3));" + $newEntities += "#$($next+5)=PRESENTATION_STYLE_ASSIGNMENT((#$($next+4)));" + $newEntities += "#$($next+6)=STYLED_ITEM('',(#$($next+5)),#$s);" + $styledIds += "#$($next+6)" + $next += 7 +} + +# 把 STYLED_ITEM 追加进 SHAPE_REPRESENTATION 的 items 列表 +$shapeRe = [regex]::Match($text, '#\d+=SHAPE_REPRESENTATION\('''',\(([^)]*)\),#\d+\);') +if (-not $shapeRe.Success) { Write-Output "未找到 SHAPE_REPRESENTATION"; exit 1 } +$oldItems = $shapeRe.Groups[2].Value +$newItems = $oldItems + ',' + ($styledIds -join ',') +$text = $text.Remove($shapeRe.Groups[2].Index, $shapeRe.Groups[2].Length).Insert($shapeRe.Groups[2].Index, $newItems) + +$insert = ($newEntities -join "`r`n") + "`r`n" +$ends = $text.IndexOf('ENDSEC;', $text.IndexOf('ENDSEC;') + 7) # 第二个 ENDSEC (DATA 结束) +$text = $text.Insert($ends, $insert) +[System.IO.File]::WriteAllText($Out, $text, (New-Object System.Text.UTF8Encoding($false))) +Write-Output ("已注入颜色: " + $solids.Count + " 个实体 → " + $Out) diff --git a/sample-data/tools/nx-batch-export-glb.vb b/sample-data/tools/nx-batch-export-glb.vb new file mode 100644 index 0000000..be3c0b5 --- /dev/null +++ b/sample-data/tools/nx-batch-export-glb.vb @@ -0,0 +1,122 @@ +' ============================================================================= +' NX Journal: 参数化母模 + 参数表 → 批量导出 GLB 轻量化网格 (供网页 3D 预览) +' +' 背景: 网页 3D 走"轻量网格"路线 (参照 CADENAS 服务器端轻量化思路, 但用 NX +' 离线预转换, 零服务器成本): 网页优先加载 GLB (快/稳/手机流畅), +' STEP 照旧提供下载。见 项目总览.md 待办 9。 +' +' 使用方法: +' 1) 与 nx-batch-export.vb 相同: 母模用表达式驱动, 表达式名与 CSV 列名一致 +' 2) 关键一步 (NX 2506): 菜单 工具→日记→录制 → 手动执行 +' 文件→导出→Extended Reality (导出类型选 GLB, 单个二进制文件) +' → 停止录制 → 把录出的代码替换下方 ExportGlb 函数体 +' (XR 导出的 API 与 DexBuilder 不同, 录出的代码就是你这台 NX 的真实接口, +' 这是 Siemens 官方推荐的获取方式; 不同小版本录出的代码可能不同, +' 所以模板不硬写该 API) +' 3) 工具→日记→播放 选本文件运行 +' +' 输出: 每个变体一个 .glb 文件, 放到网页站点的 mesh/ 目录, +' app.js 优先用 three.js GLTFLoader 加载, 失败回退 STEP 查看器/Canvas。 +' +' 注意: 中文注释需文件保存为 UTF-8 带 BOM (fix-bom.ps1 已处理)。 +' ============================================================================= +Option Strict Off +Imports System +Imports System.IO +Imports NXOpen +Imports NXOpen.UF + +Module BatchGlbExport + + Dim theSession As Session = Session.GetSession() + Dim workPart As Part = theSession.Parts.Work + Dim lw As ListingWindow = theSession.ListingWindow + + Sub Main() + + ' ============================ CONFIG 区 ============================ + Dim csvPath As String = "D:\catalog\params.csv" ' 参数表 (与 STEP 导出同一张表) + Dim outDir As String = "D:\catalog\glb_out\" ' GLB 输出目录 + ' 表达式名 → CSV 列名 映射 (母模表达式名 : 参数表列名) + Dim exprMap As New System.Collections.Generic.Dictionary(Of String, String)() + exprMap.Add("bore", "bore") + exprMap.Add("stroke", "stroke") + ' ================================================================ + + lw.Open() + lw.WriteLine("GLB 批量导出开始: " & csvPath) + Directory.CreateDirectory(outDir) + + Dim lines() As String = File.ReadAllLines(csvPath) + If lines.Length < 2 Then + lw.WriteLine("参数表为空!") + Return + End If + + Dim header() As String = lines(0).Split(","c) + Dim colStep As Integer = Array.IndexOf(header, "step_file") + If colStep < 0 Then + lw.WriteLine("参数表缺少 step_file 列 (用于推导 GLB 文件名)!") + Return + End If + ' 预解析列号 + Dim colOf As New System.Collections.Generic.Dictionary(Of String, Integer)() + For Each kv As KeyValuePair(Of String, String) In exprMap + colOf(kv.Key) = Array.IndexOf(header, kv.Value) + If colOf(kv.Key) < 0 Then + lw.WriteLine("参数表缺少列: " & kv.Value) + Return + End If + Next + + Dim okCount As Integer = 0 + Dim failCount As Integer = 0 + + For i As Integer = 1 To lines.Length - 1 + If lines(i).Trim().Length = 0 Then Continue For + Dim c() As String = lines(i).Split(","c) + Dim model As String = c(0).Trim() + ' GLB 文件名与 STEP 同名不同后缀 (网页端按型号拼 glb 路径) + Dim glbFile As String = Path.ChangeExtension(c(colStep).Trim(), ".glb") + lw.Write("[" & i & "/" & (lines.Length - 1) & "] " & model & " ... ") + + Try + ' ---- 1) 设置表达式 ---- + For Each kv As KeyValuePair(Of String, String) In exprMap + workPart.Expressions.Edit(kv.Key, c(colOf(kv.Key)).Trim()) + Next + + ' ---- 2) 更新模型 ---- + Dim update As NXOpen.Update = theSession.CreateUpdate() + Dim nErrs As Integer = 0 + update.InterpartDelay = False + update.ModelingInterpartUpdate = True + update.DoUpdate(nErrs) + update.Dispose() + If nErrs > 0 Then + lw.WriteLine("警告: 更新有 " & nErrs & " 个错误") + End If + + ' ---- 3) 导出 GLB (用录制日记替换此函数体) ---- + ExportGlb(Path.Combine(outDir, glbFile)) + okCount += 1 + lw.WriteLine("OK") + + Catch ex As Exception + failCount += 1 + lw.WriteLine("FAIL: " & ex.Message) + End Try + Next + + lw.WriteLine("") + lw.WriteLine("完成: " & okCount & " 成功, " & failCount & " 失败, 输出目录: " & outDir) + End Sub + + ' GLB 导出: 用【工具→日记→录制】录一次 文件→导出→Extended Reality 后, + ' 把录出的代码粘进这里, 并把其中写死的输出路径改成参数 fileName。 + Sub ExportGlb(fileName As String) + lw.WriteLine("ExportGlb 未实现: 请按文件头说明录制导出操作并替换本函数") + Throw New Exception("ExportGlb 未实现") + End Sub + +End Module diff --git a/sample-data/tools/nx-batch-export.vb b/sample-data/tools/nx-batch-export.vb new file mode 100644 index 0000000..aab30d5 --- /dev/null +++ b/sample-data/tools/nx-batch-export.vb @@ -0,0 +1,215 @@ +' ============================================================================= +' NX Journal: 参数化母模 + 参数表 → 批量导出 STEP (欧霓博目录软件专用) +' +' ▍这个脚本干什么 +' 逐行读取 CSV 参数表 (每行 = 一个型号: 型号编码 + bore/stroke/magnet/mount... + step_file), +' 对每个型号: 修改母模表达式 → 更新模型 → 导出 STEP214 文件。 +' ★ 已按 step_file 去重: 多个型号行共用同一文件时只导出一次 (52,154 行型号 +' 只会导出唯一几何文件, 例如 KC 系列 2,772 个)。断点续跑: 输出目录已存在的文件会跳过。 +' +' ▍使用前置 (母模要求, 详见《NX母模建模操作说明书.md》) +' 1) 母模中所有"会变"尺寸必须用表达式驱动, 表达式名与 CSV 列名一字不差 +' 2) 磁石槽/安装形式/双轴等"有无"特征 → 按表达式抑制 (Suppression by Expression) +' 3) 建模验收: 手动改 bore/stroke/magOn/mountIdx 各验证过重建无误 +' +' ▍运行方法 +' NX 打开母模 → 菜单 工具 → 日记 → 播放 → 选本文件 +' (注意: Ctrl+U 只认 .dll, 本 .vb 必须走"日记→播放") +' +' ▍CONFIG 区修改清单 (建模工程师每次只改这里) +' [1] csvPath / outDir 两个路径 +' [2] exprMap — 尺寸映射: NX 表达式名 → CSV 列名 (新增独立尺寸表达式就加一行) +' [3] switchRules — 枚举开关: {CSV列名, 列值, NX表达式名, 表达式值} +' 例: 磁石列 "M" → magOn=1; 固定形式 "FA" → mountIdx=1 (取值按母模约定) +' [4] exportStl / stlOutDir — 同步导出 STL 网格 (桌面目录软件窗口内 3D 预览用, 开源 Helix 渲染) +' STL 文件名与 STEP 同名 (.stl), 放在 catalog\mesh\ 目录; 不需要窗口内预览就 exportStl = False +' +' ▍注意 +' - DexBuilder 导出接口 NX 10 ~ NX 2506 兼容; 若你的 NX 版本 API 有差异, +' 用【工具→日记→录制】录一次 文件→导出→STEP214, 替换 ExportStep 函数体。 +' - 中文注释需 UTF-8 带 BOM (改完跑 fix-bom.ps1), 否则 NX 读乱。 +' - 导出失败的行不会中断整体, 最后汇总统计写进 NX 信息窗口 (ListingWindow)。 +' ============================================================================= +Option Strict Off +Imports System +Imports System.IO +Imports NXOpen +Imports NXOpen.UF + +Module BatchStepExport + + Dim theSession As Session = Session.GetSession() + Dim workPart As Part = theSession.Parts.Work + Dim lw As ListingWindow = theSession.ListingWindow + + Sub Main() + + ' ╔════════════════════════════ CONFIG 区 (只改这里) ═══════════════════════════════╗ + ' ║ [1] 两个路径 ║ + ' ╚═════════════════════════════════════════════════════════════════════════════════╝ + Dim csvPath As String = "D:\catalog\params.csv" ' 参数表路径 → 改为 catalog\csv\<系列>.csv + Dim outDir As String = "D:\catalog\step_out\" ' STEP 输出目录 → 改为 catalog\step\ + ' (目录不存在会自动创建) + + ' ╔═════════════════════════════════════════════════════════════════════════════════╗ + ' ║ [4] STL 网格同步导出 (窗口内 3D 预览用; 不开就设 False) ║ + ' ╚═════════════════════════════════════════════════════════════════════════════════╝ + Dim exportStl As Boolean = True ' True = STEP 导出时同步导出同名 STL + Dim stlOutDir As String = "D:\catalog\mesh\" ' STL 输出目录 → 改为 catalog\mesh\ + + ' ╔═════════════════════════════════════════════════════════════════════════════════╗ + ' ║ [2] 尺寸映射 exprMap: "NX母模表达式名" → "CSV列名" ║ + ' ║ 母模里每个独立尺寸表达式加一行; 联动尺寸(公式)不用写 ║ + ' ╚═════════════════════════════════════════════════════════════════════════════════╝ + Dim exprMap As New System.Collections.Generic.Dictionary(Of String, String)() + exprMap.Add("bore", "bore") ' 缸径: 母模表达式 "bore" ← CSV 列 "bore" + exprMap.Add("stroke", "stroke") ' 行程: 母模表达式 "stroke" ← CSV 列 "stroke" + ' 示例(按需取消注释): + ' exprMap.Add("magPos", "magpos") ' 磁石位置是独立规格时: CSV 要有 magpos 列 + + ' ╔═════════════════════════════════════════════════════════════════════════════════╗ + ' ║ [3] 枚举开关映射 switchRules: 每行 = {CSV列名, 列值, NX表达式名, 表达式值} ║ + ' ║ 作用: 该型号在这一列的值 = 列值 时, 把 NX 表达式设为 表达式值 ║ + ' ║ (驱动母模里"按表达式抑制"的开关, 空串列值写作 "") ║ + ' ╚═════════════════════════════════════════════════════════════════════════════════╝ + Dim switchRules As New System.Collections.Generic.List(Of String())() + switchRules.Add({"magnet", "", "magOn", "0"}) + switchRules.Add({"magnet", "M", "magOn", "1"}) + switchRules.Add({"mount", "", "mountIdx", "0"}) + switchRules.Add({"mount", "FA", "mountIdx", "1"}) + switchRules.Add({"mount", "FB", "mountIdx", "2"}) + switchRules.Add({"mount", "CA", "mountIdx", "3"}) + switchRules.Add({"mount", "CB", "mountIdx", "4"}) + switchRules.Add({"mount", "LB", "mountIdx", "5"}) + switchRules.Add({"mount", "YB", "mountIdx", "6"}) + ' ================================================================ + + lw.Open() + lw.WriteLine("批量导出开始: " & csvPath) + Directory.CreateDirectory(outDir) + If exportStl Then + Directory.CreateDirectory(stlOutDir) + lw.WriteLine("同步导出 STL 网格: " & stlOutDir) + End If + + Dim lines() As String = File.ReadAllLines(csvPath) + If lines.Length < 2 Then + lw.WriteLine("参数表为空!") + Return + End If + + Dim header() As String = lines(0).Split(","c) + Dim colStep As Integer = Array.IndexOf(header, "step_file") + If colStep < 0 Then + lw.WriteLine("参数表缺少 step_file 列!") + Return + End If + ' 预解析列号 + Dim colOf As New System.Collections.Generic.Dictionary(Of String, Integer)() + For Each kv As KeyValuePair(Of String, String) In exprMap + colOf(kv.Key) = Array.IndexOf(header, kv.Value) + If colOf(kv.Key) < 0 Then + lw.WriteLine("参数表缺少列: " & kv.Value) + Return + End If + Next + + Dim okCount As Integer = 0 + Dim failCount As Integer = 0 + Dim skipCount As Integer = 0 + ' 去重: 多个型号行共用同一 step_file, 每个文件只导出一次 (本批内) + Dim exported As New System.Collections.Generic.HashSet(Of String)() + + For i As Integer = 1 To lines.Length - 1 + If lines(i).Trim().Length = 0 Then Continue For + Dim c() As String = lines(i).Split(","c) + Dim model As String = c(0).Trim() + Dim stepFile As String = c(colStep).Trim() + If exported.Contains(stepFile) Then + skipCount += 1 + Continue For + End If + ' 断点续跑: 输出目录已存在同名文件 → 跳过 (想强制重导, 先删该文件再跑) + If File.Exists(Path.Combine(outDir, stepFile)) Then + exported.Add(stepFile) + skipCount += 1 + Continue For + End If + lw.Write("[" & i & "/" & (lines.Length - 1) & "] " & stepFile & " ... ") + + Try + ' ---- 1) 设置表达式 (尺寸) ---- + For Each kv As KeyValuePair(Of String, String) In exprMap + workPart.Expressions.Edit(kv.Key, c(colOf(kv.Key)).Trim()) + Next + + ' ---- 1.5) 设置枚举开关 (抑制/特征组切换) ---- + For Each rule As String() In switchRules + Dim colIdx As Integer = Array.IndexOf(header, rule(0)) + If colIdx >= 0 AndAlso c(colIdx).Trim() = rule(1) Then + workPart.Expressions.Edit(rule(2), rule(3)) + End If + Next + + ' ---- 2) 更新模型 ---- + Dim update As NXOpen.Update = theSession.CreateUpdate() + Dim nErrs As Integer = 0 + update.InterpartDelay = False + update.ModelingInterpartUpdate = True + update.DoUpdate(nErrs) + update.Dispose() + If nErrs > 0 Then + lw.WriteLine("警告: 更新有 " & nErrs & " 个错误") + End If + + ' ---- 3) 导出 STEP ---- + ExportStep(Path.Combine(outDir, stepFile)) + + ' ---- 3.5) 同步导出 STL 网格 (窗口内 3D 预览; 同名 .stl) ---- + If exportStl Then + Dim stlFile As String = Path.ChangeExtension(stepFile, ".stl") + If Not File.Exists(Path.Combine(stlOutDir, stlFile)) Then + ExportStl(Path.Combine(stlOutDir, stlFile)) + End If + End If + + exported.Add(stepFile) + okCount += 1 + lw.WriteLine("OK") + + Catch ex As Exception + failCount += 1 + lw.WriteLine("FAIL: " & ex.Message) + End Try + Next + + lw.WriteLine("") + lw.WriteLine("完成: " & okCount & " 个文件导出成功, " & failCount & " 失败, " & skipCount & " 行共用文件已跳过 (共扫描 " & (lines.Length - 1) & " 行型号), 输出目录: " & outDir) + End Sub + + ' STEP214 导出 (NX 10+ DexBuilder; 旧版本请用录制日记替换此函数) + Sub ExportStep(fileName As String) + Dim dexBuilder As NXOpen.DexBuilder = workPart.DexManager.CreateBuilder() + dexBuilder.PartType = NXOpen.DexBuilder.PartTypeOption.Part + dexBuilder.OutputFile = fileName + dexBuilder.Translator = NXOpen.DexBuilder.TranslatorType.Step214 + dexBuilder.ColorAndLayers = True + dexBuilder.Commit() + dexBuilder.Destroy() + End Sub + + ' STL 网格导出 (窗口内 3D 预览用, 二进制格式体积小; 若 NX 版本 API 有差异, + ' 用【工具→日记→录制】录一次 文件→导出→STL 替换本函数体) + Sub ExportStl(fileName As String) + Dim stlBuilder As NXOpen.StlBuilder = workPart.StlManager.CreateStlBuilder() + stlBuilder.OutputFile = fileName + stlBuilder.BinaryFormat = True ' 二进制 STL + stlBuilder.TriangleTolerance = 0.5 ' 三角网格公差 (mm), 越小越精细文件越大 (0.5 屏幕预览足够) + stlBuilder.AdjacentTolerance = 0.1 + stlBuilder.AutoNormalGen = True + stlBuilder.NormalDirection = 1 ' 1 = 朝外 + stlBuilder.Commit() + stlBuilder.Destroy() + End Sub + +End Module diff --git a/sample-data/tools/parse-check.ps1 b/sample-data/tools/parse-check.ps1 new file mode 100644 index 0000000..4e4396c --- /dev/null +++ b/sample-data/tools/parse-check.ps1 @@ -0,0 +1,20 @@ +# 用真实解析器定位 .ps1 语法错误, 并打印出错行上下文 +param([string]$File = (Join-Path $PSScriptRoot 'gen-step.ps1')) +$tokens = $null +$errors = $null +[System.Management.Automation.Language.Parser]::ParseFile($File, [ref]$tokens, [ref]$errors) | Out-Null +$lines = [System.IO.File]::ReadAllLines($File) +Write-Output ("总行数: " + $lines.Count) +if ($errors.Count -eq 0) { + Write-Output "语法 OK" +} else { + foreach ($e in $errors) { + $ln = $e.Extent.StartLineNumber + Write-Output ("--- 错误 行{0} 列{1}: {2}" -f $ln, $e.Extent.StartColumnNumber, $e.Message) + for ($i = $ln - 3; $i -le ($ln + 1); $i++) { + if ($i -ge 1 -and $i -le $lines.Count) { + Write-Output ("{0,4} | {1}" -f $i, $lines[$i - 1]) + } + } + } +} diff --git a/sample-data/tools/probe-api.vb b/sample-data/tools/probe-api.vb new file mode 100644 index 0000000..874c3b5 --- /dev/null +++ b/sample-data/tools/probe-api.vb @@ -0,0 +1,52 @@ +' ============================================================================= +' NX Journal: NX 2506 API 反射探针 (一次性诊断, 结果写当前工作目录 probe.txt) +' 摸清: Dex/Stl/Update/Translator 相关类型与成员、CloseAll 签名、Save 签名 +' ============================================================================= +Option Strict Off +Imports System +Imports System.IO +Imports System.Text +Imports NXOpen +Imports NXOpen.UF + +Module ProbeApi + Sub Main() + Dim out As New StringBuilder() + Dim asm As System.Reflection.Assembly = GetType(Session).Assembly + out.AppendLine("=== 类型 (Dex/Stl/Update/Translator/Step/Iges) ===") + For Each t As System.Type In asm.GetTypes() + Dim n As String = t.FullName + If n.IndexOf("Dex", StringComparison.OrdinalIgnoreCase) >= 0 OrElse + n.IndexOf("Stl", StringComparison.OrdinalIgnoreCase) >= 0 OrElse + n.IndexOf("Update", StringComparison.OrdinalIgnoreCase) >= 0 OrElse + n.IndexOf("Translator", StringComparison.OrdinalIgnoreCase) >= 0 Then + out.AppendLine("T: " & n) + End If + Next + out.AppendLine("=== Session 成员 (Dex/Update/Export/Create) ===") + For Each mi As System.Reflection.MemberInfo In GetType(Session).GetMembers() + If mi.Name.IndexOf("Dex", StringComparison.OrdinalIgnoreCase) >= 0 OrElse + mi.Name.IndexOf("Update", StringComparison.OrdinalIgnoreCase) >= 0 OrElse + mi.Name.IndexOf("Export", StringComparison.OrdinalIgnoreCase) >= 0 Then + out.AppendLine("S: " & mi.MemberType & " " & mi.Name) + End If + Next + out.AppendLine("=== Part 成员 (Dex/Stl/Export) ===") + For Each mi As System.Reflection.MemberInfo In GetType(Part).GetMembers() + If mi.Name.IndexOf("Dex", StringComparison.OrdinalIgnoreCase) >= 0 OrElse + mi.Name.IndexOf("Stl", StringComparison.OrdinalIgnoreCase) >= 0 OrElse + mi.Name.IndexOf("Export", StringComparison.OrdinalIgnoreCase) >= 0 Then + out.AppendLine("P: " & mi.MemberType & " " & mi.Name) + End If + Next + out.AppendLine("=== PartCollection.CloseAll 重载 ===") + For Each mi As System.Reflection.MethodInfo In GetType(PartCollection).GetMethods() + If mi.Name = "CloseAll" Then out.AppendLine("CA: " & mi.ToString()) + Next + out.AppendLine("=== Part.Save 重载 ===") + For Each mi As System.Reflection.MethodInfo In GetType(Part).GetMethods() + If mi.Name = "Save" OrElse mi.Name = "SaveAs" Then out.AppendLine("SV: " & mi.ToString()) + Next + File.WriteAllText(Path.Combine(Directory.GetCurrentDirectory(), "probe.txt"), out.ToString(), Encoding.UTF8) + End Sub +End Module diff --git a/sample-data/tools/probe-api2.vb b/sample-data/tools/probe-api2.vb new file mode 100644 index 0000000..d33d03b --- /dev/null +++ b/sample-data/tools/probe-api2.vb @@ -0,0 +1,59 @@ +' NX 2506 API 反射探针 2 (稳健版): 跨全部已加载程序集查找类型成员与枚举 +Option Strict Off +Imports System +Imports System.IO +Imports System.Text +Imports NXOpen +Imports NXOpen.UF + +Module ProbeApi2 + + Function FindType(n As String) As System.Type + ' 探针1已验证: NXOpen 类型都在 GetType(Session).Assembly 里 (运行时程序集名不含 NXOpen) + Dim t As System.Type = GetType(Session).Assembly.GetType(n, False) + If t IsNot Nothing Then Return t + For Each a As System.Reflection.Assembly In AppDomain.CurrentDomain.GetAssemblies() + t = a.GetType(n, False) + If t IsNot Nothing Then Return t + Next + Return Nothing + End Function + + Sub Dump(out As StringBuilder, prefix As String, typeName As String) + Dim t As System.Type = FindType(typeName) + If t Is Nothing Then + out.AppendLine(prefix & " [类型未找到: " & typeName & "]") + Return + End If + out.AppendLine("=== " & typeName & " 成员 ===") + For Each mi As System.Reflection.MemberInfo In t.GetMembers() + If mi.MemberType = System.Reflection.MemberTypes.Method OrElse + mi.MemberType = System.Reflection.MemberTypes.Property Then + out.AppendLine(prefix & ": " & mi.Name) + End If + Next + For Each nt As System.Type In t.GetNestedTypes() + out.AppendLine(prefix & " NESTED: " & nt.Name) + For Each f As System.Reflection.FieldInfo In nt.GetFields() + If f.IsStatic Then out.AppendLine(prefix & " = " & f.Name) + Next + Next + End Sub + + Sub Main() + Dim out As New StringBuilder() + Dump(out, "DM", "NXOpen.DexManager") + Dump(out, "DB", "NXOpen.DexBuilder") + Dump(out, "ST", "NXOpen.STLCreator") + Dump(out, "PS", "NXOpen.ParasolidExporter") + Dump(out, "UM", "NXOpen.UpdateManager") + Dump(out, "UP", "NXOpen.Update") + out.AppendLine("=== 全部已加载程序集 ===") + For Each a As System.Reflection.Assembly In AppDomain.CurrentDomain.GetAssemblies() + out.AppendLine("ASM: " & a.FullName) + Next + out.AppendLine("=== Session 所在程序集 ===") + out.AppendLine("SES: " & GetType(Session).Assembly.FullName) + File.WriteAllText(Path.Combine(Directory.GetCurrentDirectory(), "probe2.txt"), out.ToString(), Encoding.UTF8) + End Sub +End Module diff --git a/sample-data/tools/probe-api3.vb b/sample-data/tools/probe-api3.vb new file mode 100644 index 0000000..75dc985 --- /dev/null +++ b/sample-data/tools/probe-api3.vb @@ -0,0 +1,70 @@ +' NX 2506 API 反射探针 3: StepCreator / IgesCreator / Part.CreateUpdate 成员 +Option Strict Off +Imports System +Imports System.IO +Imports System.Text +Imports NXOpen +Imports NXOpen.UF + +Module ProbeApi3 + + Function FindType(n As String) As System.Type + Dim t As System.Type = GetType(Session).Assembly.GetType(n, False) + If t IsNot Nothing Then Return t + For Each a As System.Reflection.Assembly In AppDomain.CurrentDomain.GetAssemblies() + t = a.GetType(n, False) + If t IsNot Nothing Then Return t + Next + Return Nothing + End Function + + Sub Dump(out As StringBuilder, prefix As String, typeName As String) + Dim t As System.Type = FindType(typeName) + If t Is Nothing Then + out.AppendLine(prefix & " [类型未找到: " & typeName & "]") + Return + End If + out.AppendLine("=== " & typeName & " ===") + For Each mi As System.Reflection.MemberInfo In t.GetMembers() + If mi.MemberType = System.Reflection.MemberTypes.Method OrElse + mi.MemberType = System.Reflection.MemberTypes.Property Then + out.AppendLine(prefix & ": " & mi.Name) + End If + Next + For Each nt As System.Type In t.GetNestedTypes() + out.AppendLine(prefix & " NESTED: " & nt.Name) + For Each f As System.Reflection.FieldInfo In nt.GetFields() + If f.IsStatic Then out.AppendLine(prefix & " = " & f.Name) + Next + Next + End Sub + + Sub Main() + Dim out As New StringBuilder() + Dump(out, "SC", "NXOpen.StepCreator") + Dump(out, "IC", "NXOpen.IgesCreator") + Dump(out, "EX", "NXOpen.UpdateSession") + out.AppendLine("=== Part 成员 (Update/Create) ===") + For Each mi As System.Reflection.MemberInfo In GetType(Part).GetMembers() + If mi.Name.IndexOf("Update", StringComparison.OrdinalIgnoreCase) >= 0 OrElse + mi.Name.IndexOf("Create", StringComparison.OrdinalIgnoreCase) >= 0 Then + out.AppendLine("PT: " & mi.MemberType & " " & mi.Name) + End If + Next + out.AppendLine("=== PartCollection 成员 (Update/Create/New) ===") + For Each mi As System.Reflection.MemberInfo In GetType(PartCollection).GetMembers() + If mi.Name.IndexOf("Update", StringComparison.OrdinalIgnoreCase) >= 0 OrElse + mi.Name.IndexOf("New", StringComparison.OrdinalIgnoreCase) >= 0 Then + out.AppendLine("PC: " & mi.MemberType & " " & mi.Name) + End If + Next + out.AppendLine("=== UFModl 成员 (Update/Cyl) ===") + For Each mi As System.Reflection.MemberInfo In GetType(UFModl).GetMembers() + If mi.Name.IndexOf("Update", StringComparison.OrdinalIgnoreCase) >= 0 OrElse + mi.Name.IndexOf("Cyl", StringComparison.OrdinalIgnoreCase) >= 0 Then + out.AppendLine("UF: " & mi.MemberType & " " & mi.Name) + End If + Next + File.WriteAllText(Path.Combine(Directory.GetCurrentDirectory(), "probe3.txt"), out.ToString(), Encoding.UTF8) + End Sub +End Module diff --git a/sample-data/tools/probe-api4.vb b/sample-data/tools/probe-api4.vb new file mode 100644 index 0000000..7ee04a0 --- /dev/null +++ b/sample-data/tools/probe-api4.vb @@ -0,0 +1,35 @@ +' 探针 4: ExpressionCollection 创建/编辑方法签名 +Option Strict Off +Imports System +Imports System.IO +Imports System.Text +Imports NXOpen +Imports NXOpen.UF + +Module ProbeApi4 + Sub Main() + Dim sb As New StringBuilder() + Dim outPath As String = Path.Combine(Directory.GetCurrentDirectory(), "KC_master.prt") + Dim partLoadStatus1 As NXOpen.PartLoadStatus = Nothing + Session.GetSession().Parts.OpenBaseDisplay(outPath, partLoadStatus1) + Dim w As Part = Session.GetSession().Parts.Work + sb.AppendLine("Work=" & (If(w Is Nothing, "NULL", w.FullPath))) + If w IsNot Nothing Then + Dim ec As System.Type = w.Expressions.GetType() + sb.AppendLine("ExpressionCollection type: " & ec.FullName) + For Each mi As System.Reflection.MethodInfo In ec.GetMethods() + If mi.Name.IndexOf("Create", StringComparison.OrdinalIgnoreCase) >= 0 OrElse + mi.Name.IndexOf("Edit", StringComparison.OrdinalIgnoreCase) >= 0 Then + sb.AppendLine("EC: " & mi.ToString()) + End If + Next + Dim uc As System.Type = w.UnitCollection.GetType() + For Each mi As System.Reflection.MethodInfo In uc.GetMethods() + If mi.Name.IndexOf("Find", StringComparison.OrdinalIgnoreCase) >= 0 Then + sb.AppendLine("UC: " & mi.ToString()) + End If + Next + End If + File.WriteAllText(Path.Combine(Directory.GetCurrentDirectory(), "probe4.txt"), sb.ToString(), Encoding.UTF8) + End Sub +End Module diff --git a/sample-data/tools/probe-api5.vb b/sample-data/tools/probe-api5.vb new file mode 100644 index 0000000..46c144b --- /dev/null +++ b/sample-data/tools/probe-api5.vb @@ -0,0 +1,51 @@ +' 探针 5: ReferenceSet 相关类型/成员 +Option Strict Off +Imports System +Imports System.IO +Imports System.Text +Imports NXOpen +Imports NXOpen.UF + +Module ProbeApi5 + Function FindType(n As String) As System.Type + Dim t As System.Type = GetType(Session).Assembly.GetType(n, False) + If t IsNot Nothing Then Return t + For Each a As System.Reflection.Assembly In AppDomain.CurrentDomain.GetAssemblies() + t = a.GetType(n, False) + If t IsNot Nothing Then Return t + Next + Return Nothing + End Function + + Sub Main() + Dim sb As New StringBuilder() + Dim asm As System.Reflection.Assembly = GetType(Session).Assembly + sb.AppendLine("=== 含 ReferenceSet 的类型 ===") + For Each t As System.Type In asm.GetTypes() + If t.FullName.IndexOf("ReferenceSet", StringComparison.OrdinalIgnoreCase) >= 0 Then sb.AppendLine("T: " & t.FullName) + Next + sb.AppendLine("=== Part 成员 (Reference) ===") + For Each mi As System.Reflection.MemberInfo In GetType(Part).GetMembers() + If mi.Name.IndexOf("Reference", StringComparison.OrdinalIgnoreCase) >= 0 Then sb.AppendLine("P: " & mi.MemberType & " " & mi.Name) + Next + sb.AppendLine("=== BasePart 成员 (Reference) ===") + For Each mi As System.Reflection.MemberInfo In GetType(BasePart).GetMembers() + If mi.Name.IndexOf("Reference", StringComparison.OrdinalIgnoreCase) >= 0 Then sb.AppendLine("B: " & mi.MemberType & " " & mi.Name) + Next + Dim rsT As System.Type = FindType("NXOpen.ReferenceSet") + If rsT IsNot Nothing Then + sb.AppendLine("=== NXOpen.ReferenceSet 方法 ===") + For Each mi As System.Reflection.MethodInfo In rsT.GetMethods() + If mi.DeclaringType Is rsT Then sb.AppendLine("RS: " & mi.Name) + Next + End If + Dim rscT As System.Type = FindType("NXOpen.Assemblies.ReferenceSetCollection") + If rscT IsNot Nothing Then + sb.AppendLine("=== Assemblies.ReferenceSetCollection 方法 ===") + For Each mi As System.Reflection.MethodInfo In rscT.GetMethods() + If mi.DeclaringType Is rscT Then sb.AppendLine("RSC: " & mi.Name) + Next + End If + File.WriteAllText(Path.Combine(Directory.GetCurrentDirectory(), "probe5.txt"), sb.ToString(), Encoding.UTF8) + End Sub +End Module diff --git a/sample-data/tools/probe-api6.vb b/sample-data/tools/probe-api6.vb new file mode 100644 index 0000000..86366a5 --- /dev/null +++ b/sample-data/tools/probe-api6.vb @@ -0,0 +1,33 @@ +' 探针 6: Step214Importer 成员 +Option Strict Off +Imports System +Imports System.IO +Imports System.Text +Imports NXOpen +Imports NXOpen.UF + +Module ProbeApi6 + Sub Main() + Dim sb As New StringBuilder() + Dim t As System.Type = GetType(Session).Assembly.GetType("NXOpen.Step214Importer", False) + If t Is Nothing Then + sb.AppendLine("Step214Importer 未找到; 列出 Step 相关类型:") + For Each tt As System.Type In GetType(Session).Assembly.GetTypes() + If tt.FullName.IndexOf("Step", StringComparison.OrdinalIgnoreCase) >= 0 Then sb.AppendLine("T: " & tt.FullName) + Next + Else + For Each mi As System.Reflection.MemberInfo In t.GetMembers() + If mi.MemberType = System.Reflection.MemberTypes.Method OrElse mi.MemberType = System.Reflection.MemberTypes.Property Then + sb.AppendLine("SI: " & mi.MemberType & " " & mi.Name) + End If + Next + For Each nt As System.Type In t.GetNestedTypes() + sb.AppendLine("SI NESTED: " & nt.Name) + For Each f As System.Reflection.FieldInfo In nt.GetFields() + If f.IsStatic Then sb.AppendLine(" = " & f.Name) + Next + Next + End If + File.WriteAllText(Path.Combine(Directory.GetCurrentDirectory(), "probe6.txt"), sb.ToString(), Encoding.UTF8) + End Sub +End Module diff --git a/sample-data/tools/probe-display-api.vb b/sample-data/tools/probe-display-api.vb new file mode 100644 index 0000000..514f5a7 --- /dev/null +++ b/sample-data/tools/probe-display-api.vb @@ -0,0 +1,72 @@ +' ============================================================================= +' NX Journal: probe how to SET the display part + locate DexManager (NX 2506) +' +' Last test failed: Parts.Display is ReadOnly. Need to find the correct API to +' set the display part (so the STEP translator's DisplayPart mode can see the +' solids in batch mode). Also re-confirm where DexManager lives (Session vs +' Part vs BasePart) to know which export API to use. +' +' Dumps (reflection only, no risky calls): +' Session members containing "Display" / "Dex" +' PartCollection members containing "Display" / "Set" / "Work" +' Part members containing "Display" / "Dex" +' BasePart members containing "Display" / "Dex" +' +' Run: WorkingDirectory = catalog-masters\KC; run_journal.exe +' Result: \probe-display-api.txt +' +' Note: English comments only (avoids GBK/BOM mojibake on no-BOM .vb files). +' ============================================================================= +Option Strict Off +Imports System +Imports System.IO +Imports System.Text +Imports NXOpen +Imports NXOpen.UF + +Module ProbeDisplayApi + + Sub DumpMembers(sb As StringBuilder, prefix As String, t As System.Type, filter As String) + For Each mi As System.Reflection.MemberInfo In t.GetMembers() + If filter.Length = 0 OrElse mi.Name.IndexOf(filter, StringComparison.OrdinalIgnoreCase) >= 0 Then + If mi.MemberType = System.Reflection.MemberTypes.Method OrElse + mi.MemberType = System.Reflection.MemberTypes.Property Then + sb.AppendLine(prefix & ": " & mi.MemberType & " " & mi.Name) + End If + End If + Next + End Sub + + Sub Main() + Dim sb As New StringBuilder() + + sb.AppendLine("=== Session members (Display) ===") + DumpMembers(sb, "S", GetType(Session), "Display") + sb.AppendLine("=== Session members (Dex) ===") + DumpMembers(sb, "S", GetType(Session), "Dex") + + sb.AppendLine("=== PartCollection members (Display) ===") + DumpMembers(sb, "PC", GetType(PartCollection), "Display") + sb.AppendLine("=== PartCollection members (Set) ===") + DumpMembers(sb, "PC", GetType(PartCollection), "Set") + sb.AppendLine("=== PartCollection members (Work) ===") + DumpMembers(sb, "PC", GetType(PartCollection), "Work") + + sb.AppendLine("=== Part members (Display) ===") + DumpMembers(sb, "P", GetType(Part), "Display") + sb.AppendLine("=== Part members (Dex) ===") + DumpMembers(sb, "P", GetType(Part), "Dex") + + sb.AppendLine("=== BasePart members (Display) ===") + DumpMembers(sb, "B", GetType(BasePart), "Display") + sb.AppendLine("=== BasePart members (Dex) ===") + DumpMembers(sb, "B", GetType(BasePart), "Dex") + + ' Also: does BasePart have a SetDisplay-style method? + sb.AppendLine("=== BasePart members (Set) ===") + DumpMembers(sb, "B", GetType(BasePart), "Set") + + File.WriteAllText(Path.Combine(Directory.GetCurrentDirectory(), "probe-display-api.txt"), sb.ToString(), New UTF8Encoding(True)) + End Sub + +End Module diff --git a/sample-data/tools/probe-selection.vb b/sample-data/tools/probe-selection.vb new file mode 100644 index 0000000..9fe0c1d --- /dev/null +++ b/sample-data/tools/probe-selection.vb @@ -0,0 +1,84 @@ +' ============================================================================= +' NX Journal: probe SelectionBlock / ScCollector API (NX 2506) +' +' Purpose: StepCreator has an ExportSelectionBlock property. If batch mode has +' no "DisplayPart", we may be able to export by EXPLICITLY selecting the +' bodies into the ExportSelectionBlock. This probe dumps the exact API so the +' next script can use it correctly (compile-safe). +' +' Dumps: +' 1. Type of StepCreator.ExportSelectionBlock +' 2. Members of that type +' 3. Members of NXOpen.SelectionBlock, NXOpen.ScCollector (if found) +' 4. All types whose name contains "Selection" or "Collector" +' +' Run: WorkingDirectory = catalog-masters\KC; run_journal.exe +' Result: \probe-selection.txt +' +' Note: English comments only (avoids GBK/BOM mojibake on no-BOM .vb files). +' ============================================================================= +Option Strict Off +Imports System +Imports System.IO +Imports System.Text +Imports NXOpen +Imports NXOpen.UF + +Module ProbeSelection + + Function FindType(n As String) As System.Type + Dim t As System.Type = GetType(Session).Assembly.GetType(n, False) + If t IsNot Nothing Then Return t + For Each a As System.Reflection.Assembly In AppDomain.CurrentDomain.GetAssemblies() + t = a.GetType(n, False) + If t IsNot Nothing Then Return t + Next + Return Nothing + End Function + + Sub DumpMembers(sb As StringBuilder, prefix As String, t As System.Type) + If t Is Nothing Then + sb.AppendLine(prefix & " [NULL]") + Return + End If + sb.AppendLine("=== " & t.FullName & " ===") + For Each mi As System.Reflection.MemberInfo In t.GetMembers() + If mi.MemberType = System.Reflection.MemberTypes.Method OrElse + mi.MemberType = System.Reflection.MemberTypes.Property Then + sb.AppendLine(prefix & ": " & mi.MemberType & " " & mi.Name) + End If + Next + End Sub + + Sub Main() + Dim sb As New StringBuilder() + + ' 1. Type of StepCreator.ExportSelectionBlock + Dim scT As System.Type = GetType(NXOpen.StepCreator) + Dim esb As System.Reflection.PropertyInfo = scT.GetProperty("ExportSelectionBlock") + If esb IsNot Nothing Then + sb.AppendLine("StepCreator.ExportSelectionBlock type = " & esb.PropertyType.FullName) + DumpMembers(sb, "ESB", esb.PropertyType) + Else + sb.AppendLine("StepCreator.ExportSelectionBlock NOT FOUND") + End If + + ' 2. SelectionBlock / ScCollector + DumpMembers(sb, "SELB", FindType("NXOpen.SelectionBlock")) + DumpMembers(sb, "SCCO", FindType("NXOpen.ScCollector")) + DumpMembers(sb, "SEL", FindType("NXOpen.Selection")) + + ' 3. All types containing Selection / Collector + sb.AppendLine("=== types containing Selection/Collector ===") + For Each t As System.Type In GetType(Session).Assembly.GetTypes() + Dim n As String = t.FullName + If n.IndexOf("Selection", StringComparison.OrdinalIgnoreCase) >= 0 OrElse + n.IndexOf("Collector", StringComparison.OrdinalIgnoreCase) >= 0 Then + sb.AppendLine("T: " & n) + End If + Next + + File.WriteAllText(Path.Combine(Directory.GetCurrentDirectory(), "probe-selection.txt"), sb.ToString(), New UTF8Encoding(True)) + End Sub + +End Module diff --git a/sample-data/tools/rebuild-verify-master.vb b/sample-data/tools/rebuild-verify-master.vb new file mode 100644 index 0000000..a7ea2b5 --- /dev/null +++ b/sample-data/tools/rebuild-verify-master.vb @@ -0,0 +1,276 @@ +' ============================================================================= +' NX Journal: rebuild test master + diagnose why translator sees 0 solids (NX 2506) +' +' Hypothesis to test: UF CreateCyl1 built bodies that Part.Bodies counts (=2) +' but the STEP translator reports "0 solids". Suspect: unitless expressions +' ("bore=32" with no mm unit) produce degenerate/empty-shell bodies. +' +' This script: +' Phase 1 (single session, no reopen): +' OpenBaseDisplay -> ensure expressions WITH units (bore/stroke = mm) -> +' CreateCyl1 -> Update -> report body count AND face count per body -> +' add to MODEL refset -> export STEP (DisplayPart) -> Save -> +' export STEP again via ExistingPart (reads the saved file from disk). +' The face count tells us if bodies are real solids (cylinder ~3 faces) +' or empty shells (0 faces). The ExistingPart export tells us if the solids +' actually persisted to the .prt on disk. +' +' Run (run_journal takes one arg; use WorkingDirectory): +' WorkingDirectory = catalog-masters\KC (the .bat does "cd /d %~dp0") +' run_journal.exe +' Result log: \rebuild-verify-master.txt Products: \dbg_out\ +' +' Note: English comments only (avoids GBK/BOM mojibake on no-BOM .vb files). +' ============================================================================= +Option Strict Off +Imports System +Imports System.IO +Imports System.Text +Imports NXOpen +Imports NXOpen.UF + +Module RebuildVerifyMaster + + Dim theSession As Session = Session.GetSession() + Dim sb As New StringBuilder() + + Sub Log(s As String) + sb.AppendLine(s) + End Sub + + Sub Main() + Try + Run() + Catch ex As Exception + Log("[FATAL] " & ex.GetType().Name & " / " & ex.Message) + End Try + File.WriteAllText(Path.Combine(Directory.GetCurrentDirectory(), "rebuild-verify-master.txt"), sb.ToString(), New UTF8Encoding(True)) + End Sub + + Sub Run() + Dim cur As String = Directory.GetCurrentDirectory() + Dim masterPath As String = Path.Combine(cur, "KC_master.prt") + Log("CWD=" & cur) + Log("masterExists=" & File.Exists(masterPath)) + If Not File.Exists(masterPath) Then + Log("[FAIL] master file missing: " & masterPath) + Return + End If + Try + File.SetAttributes(masterPath, File.GetAttributes(masterPath) And Not FileAttributes.ReadOnly) + Catch ex As Exception + Log("clear readonly: " & ex.Message) + End Try + + Dim outDir As String = Path.Combine(cur, "dbg_out") + Directory.CreateDirectory(outDir) + + Dim pls As NXOpen.PartLoadStatus = Nothing + Dim bp As NXOpen.BasePart = theSession.Parts.OpenBaseDisplay(masterPath, pls) + If pls IsNot Nothing Then pls.Dispose() + Dim w As Part = theSession.Parts.Work + If w Is Nothing Then + Log("[FAIL] OpenBaseDisplay -> Work=NULL") + Return + End If + Log("Work=" & w.FullPath) + Log("bodiesBefore=" & CountBodies(w)) + + ' mm unit object (for length-typed expressions). Fall back to no unit. + Dim mm As NXOpen.Unit = w.UnitCollection.FindObject("MilliMeter") + If mm Is Nothing Then mm = w.UnitCollection.FindObject("Millimetre") + Log("unit mm=" & (If(mm Is Nothing, "NULL", mm.ToString()))) + + EnsureExprWithUnit(w, "bore", "32", mm) + EnsureExprWithUnit(w, "stroke", "10", mm) + EnsureExprNoUnit(w, "magOn", "0") + EnsureExprNoUnit(w, "mountIdx", "0") + Log("expr bore=" & ExprVal(w, "bore") & " stroke=" & ExprVal(w, "stroke") & " magOn=" & ExprVal(w, "magOn") & " mountIdx=" & ExprVal(w, "mountIdx")) + + If CountBodies(w) = 0 Then + Dim ufs As UFSession = UFSession.GetUFSession() + Dim origin(2) As Double + Dim dir(2) As Double + dir(2) = 1.0 + Dim t1 As Tag + Dim t2 As Tag + ufs.Modl.CreateCyl1(NXOpen.UF.FeatureSigns.Nullsign, origin, "stroke", "bore+8", dir, t1) + ufs.Modl.CreateCyl1(NXOpen.UF.FeatureSigns.Nullsign, origin, "stroke+30", "bore*0.33", dir, t2) + Log("created 2 cylinders (tags " & t1.ToString() & ", " & t2.ToString() & ")") + Else + Log("solids already exist, skip creation") + End If + + Dim u2 As UFSession = UFSession.GetUFSession() + u2.Modl.Update() + Log("afterUpdate bodies=" & CountBodies(w)) + DumpBodyFaces(w) + AddToModelRefset(w) + Log("afterRefset bodies=" & CountBodies(w)) + + ' ---- TEST A: DisplayPart export of in-memory bodies ---- + ExportStep(Path.Combine(outDir, "A_display.stp")) + Log("A_display.stp size=" & FileSize(Path.Combine(outDir, "A_display.stp"))) + + ' ---- Save so the bodies (hopefully) persist to the .prt ---- + Try + Dim pss As NXOpen.PartSaveStatus = w.Save(NXOpen.BasePart.SaveComponents.True, NXOpen.BasePart.CloseAfterSave.False) + If pss IsNot Nothing Then pss.Dispose() + Log("save OK") + Catch ex As Exception + Log("save FAIL: " & ex.Message) + End Try + + ' ---- TEST B: ExistingPart export reads the SAVED file from disk ---- + ExportStepExisting(masterPath, Path.Combine(outDir, "B_existing.stp")) + Log("B_existing.stp size=" & FileSize(Path.Combine(outDir, "B_existing.stp"))) + + Log("DONE") + End Sub + + ' ---- helpers ---- + Function CountBodies(w As Part) As Integer + Dim n As Integer = 0 + Try + For Each b As NXOpen.Body In w.Bodies + n += 1 + Next + Catch + End Try + Return n + End Function + + ' Count faces per body. A real cylinder ~3 faces; 0 faces = empty shell. + Sub DumpBodyFaces(w As Part) + Dim i As Integer = 0 + Try + For Each b As NXOpen.Body In w.Bodies + i += 1 + Dim fc As Integer = 0 + Try + For Each f As NXOpen.Face In b.GetFaces() + fc += 1 + Next + Catch + End Try + Log("body" & i & " faces=" & fc) + Next + Catch ex As Exception + Log("DumpBodyFaces FAIL: " & ex.Message) + End Try + End Sub + + Sub EnsureExprWithUnit(w As Part, name As String, val As String, mm As NXOpen.Unit) + Try + If w.Expressions.FindObject(name) IsNot Nothing Then Return + Catch + End Try + Try + If mm IsNot Nothing Then + w.Expressions.CreateExpressionWithUnit("Number", name & "=" & val, mm) + Else + w.Expressions.CreateExpression("Number", name & "=" & val) + End If + Catch ex As Exception + Log("EnsureExprWithUnit " & name & ": " & ex.Message) + End Try + End Sub + + Sub EnsureExprNoUnit(w As Part, name As String, val As String) + Try + If w.Expressions.FindObject(name) IsNot Nothing Then Return + Catch + End Try + Try + w.Expressions.CreateExpression("Number", name & "=" & val) + Catch ex As Exception + Log("EnsureExprNoUnit " & name & ": " & ex.Message) + End Try + End Sub + + Function ExprVal(w As Part, name As String) As String + Try + Dim e As NXOpen.Expression = w.Expressions.FindObject(name) + If e IsNot Nothing Then Return e.Value + Catch + End Try + Return "(missing)" + End Function + + Sub AddToModelRefset(w As Part) + Try + Dim bodyList As New System.Collections.Generic.List(Of NXOpen.NXObject)() + For Each b As NXOpen.Body In w.Bodies + bodyList.Add(b) + Next + If bodyList.Count = 0 Then + Log("AddToModelRefset: no bodies") + Return + End If + Dim added As Boolean = False + For Each rs As NXOpen.ReferenceSet In w.GetAllReferenceSets() + If rs.Name.ToUpperInvariant().Contains("MODEL") Then + rs.AddObjectsToReferenceSet(bodyList.ToArray()) + Log("added " & bodyList.Count & " bodies to refset '" & rs.Name & "'") + added = True + Exit For + End If + Next + If Not added Then + Log("AddToModelRefset: no MODEL refset (refsets: " & RefsetNames(w) & ")") + End If + Catch ex As Exception + Log("AddToModelRefset FAIL: " & ex.Message) + End Try + End Sub + + Function RefsetNames(w As Part) As String + Dim s As String = "" + Try + For Each rs As NXOpen.ReferenceSet In w.GetAllReferenceSets() + If s.Length > 0 Then s &= ", " + s &= rs.Name + Next + Catch + End Try + Return s + End Function + + Function FileSize(p As String) As String + If Not File.Exists(p) Then Return "MISSING" + Return (New FileInfo(p)).Length & " bytes" + End Function + + ' ---- export functions ---- + Sub ExportStep(fileName As String) + If File.Exists(fileName) Then File.Delete(fileName) + Try + Dim sc As NXOpen.StepCreator = theSession.DexManager.CreateStepCreator() + sc.ExportFrom = NXOpen.StepCreator.ExportFromOption.DisplayPart + sc.ExportAs = NXOpen.StepCreator.ExportAsOption.Ap214 + sc.OutputFile = fileName + sc.ColorAndLayers = True + sc.Commit() + sc.Destroy() + Catch ex As Exception + Log("ExportStep FAIL: " & ex.Message) + End Try + End Sub + + Sub ExportStepExisting(inputFile As String, fileName As String) + If File.Exists(fileName) Then File.Delete(fileName) + Try + Dim sc As NXOpen.StepCreator = theSession.DexManager.CreateStepCreator() + sc.ExportFrom = NXOpen.StepCreator.ExportFromOption.ExistingPart + sc.InputFile = inputFile + sc.ExportAs = NXOpen.StepCreator.ExportAsOption.Ap214 + sc.OutputFile = fileName + sc.ColorAndLayers = True + sc.Commit() + sc.Destroy() + Catch ex As Exception + Log("ExportStepExisting FAIL: " & ex.Message) + End Try + End Sub + +End Module diff --git a/sample-data/tools/reorder-colors.ps1 b/sample-data/tools/reorder-colors.ps1 new file mode 100644 index 0000000..b6f20a0 --- /dev/null +++ b/sample-data/tools/reorder-colors.ps1 @@ -0,0 +1,40 @@ +# 实验: 把颜色实体块移到 DATA 段末尾 (复刻 inject-colors 的成功布局), 并全量重编号 +# 用法: powershell -NoProfile -ExecutionPolicy Bypass -File tools\reorder-colors.ps1 -In a.step -Out b.step +param([string]$In, [string]$Out) +$lines = Get-Content $In + +# 切分: 头部(至 DATA;) / 实体区 / 尾部(ENDSEC; 起) +$dataIdx = 0 +for ($i = 0; $i -lt $lines.Count; $i++) { if ($lines[$i] -eq 'DATA;') { $dataIdx = $i; break } } +$endIdx = $lines.Count - 1 +for ($i = $dataIdx; $i -lt $lines.Count; $i++) { if ($lines[$i] -eq 'ENDSEC;') { $endIdx = $i; break } } +$head = $lines[0..$dataIdx] +$ents = $lines[($dataIdx + 1)..($endIdx - 1)] +$foot = $lines[$endIdx..($lines.Count - 1)] + +# 实体区再分: 几何区 / 颜色区 / 尾部区 +$colorStart = -1; $tailStart = -1 +for ($i = 0; $i -lt $ents.Count; $i++) { + if ($colorStart -lt 0 -and $ents[$i] -match '=COLOUR_RGB\(') { $colorStart = $i } + if ($tailStart -lt 0 -and $ents[$i] -match '=SHAPE_REPRESENTATION\(') { $tailStart = $i } +} +if ($colorStart -lt 0 -or $tailStart -lt 0) { Write-Output "结构不识别"; exit 1 } +$geo = $ents[0..($colorStart - 1)] +$colors = $ents[$colorStart..($tailStart - 1)] +$tail = $ents[$tailStart..($ents.Count - 1)] +$newEnts = @($geo) + @($tail) + @($colors) # 新顺序: 几何 → 尾部 → 颜色 + +# 全量重编号 +$map = @{} +$next = 1 +foreach ($l in $newEnts) { + $m = [regex]::Match($l, '^#(\d+)=') + if ($m.Success) { $map[$m.Groups[1].Value] = $next; $next++ } +} +$renum = $newEnts | ForEach-Object { + [regex]::Replace($_, '#\d+', { param($mm) $id = $mm.Value.Substring(1); if ($map.ContainsKey($id)) { return '#' + $map[$id] } else { return $mm.Value } }) +} + +$content = @($head) + @($renum) + @($foot) +[System.IO.File]::WriteAllLines($Out, [string[]]$content, (New-Object System.Text.UTF8Encoding($false))) +Write-Output ("重排完成: 几何 " + $geo.Count + " 行 + 尾部 " + $tail.Count + " 行 + 颜色 " + $colors.Count + " 行 → " + $Out) diff --git a/sample-data/tools/run-rebuild-verify.ps1 b/sample-data/tools/run-rebuild-verify.ps1 new file mode 100644 index 0000000..ebec44c --- /dev/null +++ b/sample-data/tools/run-rebuild-verify.ps1 @@ -0,0 +1,34 @@ +# 运行 rebuild-verify-master.vb (NX 2506 批处理): 重建含实体母模 + 验证导出 +# 用法: powershell -NoProfile -ExecutionPolicy Bypass -File run-rebuild-verify.ps1 +$ErrorActionPreference = 'Continue' + +$nx = 'C:\Program Files\Siemens\NX2506\NXBIN\run_journal.exe' +$journal = 'd:\开发\OnebotCatalog\sample-data\tools\rebuild-verify-master.vb' +$workDir = 'd:\开发\OnebotCatalog\catalog-masters\KC' + +if (-not (Test-Path $nx)) { Write-Output "[FAIL] NX run_journal 不存在: $nx"; exit 1 } +if (-not (Test-Path $journal)) { Write-Output "[FAIL] journal 不存在: $journal"; exit 1 } +if (-not (Test-Path $workDir)) { Write-Output "[FAIL] 工作目录不存在: $workDir"; exit 1 } + +# 清理旧结果 +Remove-Item (Join-Path $workDir 'rebuild-verify-master.txt') -ErrorAction SilentlyContinue +Remove-Item (Join-Path $workDir 'dbg_out\*') -ErrorAction SilentlyContinue + +Write-Output "[RUN] run_journal 启动 (预计 30-90 秒, NX 会话冷启动)..." +$sw = [System.Diagnostics.Stopwatch]::StartNew() +$p = Start-Process -FilePath $nx -ArgumentList $journal -WorkingDirectory $workDir -PassThru -Wait +$sw.Stop() + +Write-Output "[RUN] run_journal 退出, 用时 $([int]$sw.Elapsed.TotalSeconds) 秒" + +$log = Join-Path $workDir 'rebuild-verify-master.txt' +if (Test-Path $log) { + Write-Output "========== rebuild-verify-master.txt ==========" + Get-Content $log -Encoding UTF8 + Write-Output "===============================================" +} else { + Write-Output "[FAIL] 未生成结果日志: $log (NX 可能启动失败或被 license 占用)" +} + +Write-Output "========== dbg_out 产物 ==========" +Get-ChildItem (Join-Path $workDir 'dbg_out') -ErrorAction SilentlyContinue | Select-Object Name, Length | Format-Table -AutoSize diff --git a/sample-data/tools/test-display-part.vb b/sample-data/tools/test-display-part.vb new file mode 100644 index 0000000..3ef8752 --- /dev/null +++ b/sample-data/tools/test-display-part.vb @@ -0,0 +1,139 @@ +' ============================================================================= +' NX Journal: test whether batch-mode DisplayPart is empty (NX 2506) +' +' Hypothesis: ExportFrom=DisplayPart exports Session.Parts.Display, but in +' batch (run_journal) OpenBaseDisplay sets Work part WITHOUT setting the +' Display part -> Display is null -> translator sees 0 solids. +' +' This script: +' 1. OpenBaseDisplay -> print Work AND Display state +' 2. Try setting Display = workPart +' 3. Update + add to MODEL refset +' 4. DisplayPart STEP export (should now produce a real solid) +' +' Run: WorkingDirectory = catalog-masters\KC; run_journal.exe +' Result: \test-display-part.txt Products: \dbg_out\ +' +' Note: English comments only (avoids GBK/BOM mojibake on no-BOM .vb files). +' ============================================================================= +Option Strict Off +Imports System +Imports System.IO +Imports System.Text +Imports NXOpen +Imports NXOpen.UF + +Module TestDisplayPart + + Dim theSession As Session = Session.GetSession() + Dim sb As New StringBuilder() + + Sub Log(s As String) + sb.AppendLine(s) + End Sub + + Sub Main() + Try + Run() + Catch ex As Exception + Log("[FATAL] " & ex.GetType().Name & " / " & ex.Message) + End Try + File.WriteAllText(Path.Combine(Directory.GetCurrentDirectory(), "test-display-part.txt"), sb.ToString(), New UTF8Encoding(True)) + End Sub + + Function CountBodies(w As Part) As Integer + Dim n As Integer = 0 + Try + For Each b As NXOpen.Body In w.Bodies + n += 1 + Next + Catch + End Try + Return n + End Function + + Function FileSize(p As String) As String + If Not File.Exists(p) Then Return "MISSING" + Return (New FileInfo(p)).Length & " bytes" + End Function + + Sub Run() + Dim cur As String = Directory.GetCurrentDirectory() + Dim masterPath As String = Path.Combine(cur, "KC_master.prt") + Log("masterExists=" & File.Exists(masterPath)) + If Not File.Exists(masterPath) Then Return + + Dim pls As NXOpen.PartLoadStatus = Nothing + theSession.Parts.OpenBaseDisplay(masterPath, pls) + If pls IsNot Nothing Then pls.Dispose() + Dim w As Part = theSession.Parts.Work + If w Is Nothing Then + Log("[FAIL] Work=NULL") + Return + End If + Log("Work=" & w.FullPath) + + ' ---- KEY: state of the DISPLAY part ---- + Try + Dim disp As BasePart = theSession.Parts.Display + Log("Display=" & (If(disp Is Nothing, "NULL", disp.FullPath))) + Catch ex As Exception + Log("Parts.Display get throws: " & ex.Message) + End Try + + ' ---- try to SET Display = work part ---- + Try + theSession.Parts.Display = w + Log("set Display=work OK") + Catch ex As Exception + Log("set Display=work FAIL: " & ex.Message) + End Try + + Try + Dim disp2 As BasePart = theSession.Parts.Display + Log("Display(after set)=" & (If(disp2 Is Nothing, "NULL", disp2.FullPath))) + Catch ex As Exception + Log("Parts.Display get2 throws: " & ex.Message) + End Try + + ' ---- Update + refset (align with the flow that produced a file) ---- + Dim ufs As UFSession = UFSession.GetUFSession() + ufs.Modl.Update() + Log("afterUpdate bodies=" & CountBodies(w)) + Try + Dim bodyList As New System.Collections.Generic.List(Of NXOpen.NXObject)() + For Each b As NXOpen.Body In w.Bodies + bodyList.Add(b) + Next + For Each rs As NXOpen.ReferenceSet In w.GetAllReferenceSets() + If rs.Name.ToUpperInvariant().Contains("MODEL") Then + rs.AddObjectsToReferenceSet(bodyList.ToArray()) + Exit For + End If + Next + Log("refset bodies added") + Catch ex As Exception + Log("refset add FAIL: " & ex.Message) + End Try + + ' ---- DisplayPart STEP export ---- + Dim f As String = Path.Combine(cur, "dbg_out", "D_display.stp") + Directory.CreateDirectory(Path.Combine(cur, "dbg_out")) + If File.Exists(f) Then File.Delete(f) + Try + Dim sc As NXOpen.StepCreator = theSession.DexManager.CreateStepCreator() + sc.ExportFrom = NXOpen.StepCreator.ExportFromOption.DisplayPart + sc.ExportAs = NXOpen.StepCreator.ExportAsOption.Ap214 + sc.OutputFile = f + sc.ColorAndLayers = True + sc.Commit() + sc.Destroy() + Log("D_display.stp size=" & FileSize(f)) + Catch ex As Exception + Log("D_display FAIL: " & ex.Message) + End Try + + Log("DONE") + End Sub + +End Module diff --git a/sample-data/tools/test-display-state.vb b/sample-data/tools/test-display-state.vb new file mode 100644 index 0000000..a43352f --- /dev/null +++ b/sample-data/tools/test-display-state.vb @@ -0,0 +1,134 @@ +' ============================================================================= +' NX Journal: inspect Display vs Work state in batch mode (NX 2506) +' +' Last attempt failed to compile: Parts.Display is ReadOnly. This version only +' READS and prints state (no assignment), so it compiles and tells us whether +' the batch-mode Display part is NULL / same as Work / different. +' +' Prints: +' Work.FullPath, Work bodies +' Display (NULL or FullPath), Display bodies +' Display Is Work? +' then a DisplayPart STEP export to see solids count. +' +' Run: WorkingDirectory = catalog-masters\KC; run_journal.exe +' Result: \test-display-state.txt +' +' Note: English comments only (avoids GBK/BOM mojibake on no-BOM .vb files). +' ============================================================================= +Option Strict Off +Imports System +Imports System.IO +Imports System.Text +Imports NXOpen +Imports NXOpen.UF + +Module TestDisplayState + + Dim theSession As Session = Session.GetSession() + Dim sb As New StringBuilder() + + Sub Log(s As String) + sb.AppendLine(s) + End Sub + + Sub Main() + Try + Run() + Catch ex As Exception + Log("[FATAL] " & ex.GetType().Name & " / " & ex.Message) + End Try + File.WriteAllText(Path.Combine(Directory.GetCurrentDirectory(), "test-display-state.txt"), sb.ToString(), New UTF8Encoding(True)) + End Sub + + Function CountBodies(p As BasePart) As Integer + Dim n As Integer = 0 + Try + Dim pp As Part = CType(p, Part) + If pp IsNot Nothing Then + For Each b As NXOpen.Body In pp.Bodies + n += 1 + Next + End If + Catch + End Try + Return n + End Function + + Function FileSize(p As String) As String + If Not File.Exists(p) Then Return "MISSING" + Return (New FileInfo(p)).Length & " bytes" + End Function + + Sub Run() + Dim cur As String = Directory.GetCurrentDirectory() + Dim masterPath As String = Path.Combine(cur, "KC_master.prt") + Log("masterExists=" & File.Exists(masterPath)) + If Not File.Exists(masterPath) Then Return + + Dim pls As NXOpen.PartLoadStatus = Nothing + theSession.Parts.OpenBaseDisplay(masterPath, pls) + If pls IsNot Nothing Then pls.Dispose() + Dim w As Part = theSession.Parts.Work + If w Is Nothing Then + Log("[FAIL] Work=NULL") + Return + End If + Log("Work=" & w.FullPath) + Log("Work.bodies=" & CountBodies(w)) + + ' ---- READ Display state (no assignment) ---- + Dim disp As BasePart = Nothing + Try + disp = theSession.Parts.Display + Catch ex As Exception + Log("Parts.Display get throws: " & ex.Message) + End Try + If disp Is Nothing Then + Log("Display=NULL") + Else + Log("Display=" & disp.FullPath) + Log("Display.bodies=" & CountBodies(disp)) + Log("Display Is Work? " & (disp Is w)) + End If + + ' ---- Update work + add bodies to MODEL refset (so the file is exportable) ---- + Try + Dim ufs As UFSession = UFSession.GetUFSession() + ufs.Modl.Update() + Dim bodyList As New System.Collections.Generic.List(Of NXOpen.NXObject)() + For Each b As NXOpen.Body In w.Bodies + bodyList.Add(b) + Next + For Each rs As NXOpen.ReferenceSet In w.GetAllReferenceSets() + If rs.Name.ToUpperInvariant().Contains("MODEL") Then + rs.AddObjectsToReferenceSet(bodyList.ToArray()) + Exit For + End If + Next + Log("refset added") + Catch ex As Exception + Log("refset FAIL: " & ex.Message) + End Try + + ' ---- DisplayPart export ---- + Dim f As String = Path.Combine(cur, "dbg_out", "S_display.stp") + Directory.CreateDirectory(Path.Combine(cur, "dbg_out")) + If File.Exists(f) Then File.Delete(f) + Try + Dim sc As NXOpen.StepCreator = theSession.DexManager.CreateStepCreator() + sc.ExportFrom = NXOpen.StepCreator.ExportFromOption.DisplayPart + sc.ExportAs = NXOpen.StepCreator.ExportAsOption.Ap214 + sc.OutputFile = f + sc.ColorAndLayers = True + sc.Commit() + sc.Destroy() + Log("S_display.stp size=" & FileSize(f)) + Catch ex As Exception + Log("S_display FAIL: " & ex.Message) + End Try + + Log("DONE") + End Sub + +End Module diff --git a/sample-data/tools/test-existingpart.vb b/sample-data/tools/test-existingpart.vb new file mode 100644 index 0000000..a54b98f --- /dev/null +++ b/sample-data/tools/test-existingpart.vb @@ -0,0 +1,102 @@ +' ============================================================================= +' NX Journal: test ExistingPart (read-from-disk) STEP export, no open part. +' +' The last test proved the master is healthy (2 bodies, faces=3) but: +' - DisplayPart export -> "0 solids" (batch has no display part) +' - ExistingPart export -> MISSING (because KC_master.prt was locked by the +' open Work part when we tried to read it) +' +' Hypothesis: In batch (run_journal), the ONLY reliable way to export is +' ExistingPart + InputFile reading the SAVED .prt file, with NO part open. +' +' This script does NOT call OpenBaseDisplay. It only: +' 1. ExistingPart STEP export -> E1_existing.stp +' 2. ExistingPart IGES export -> E1_existing.igs +' +' Run (run_journal takes one arg; use WorkingDirectory): +' WorkingDirectory = catalog-masters\KC +' run_journal.exe +' Result log: \test-existingpart.txt +' +' Note: English comments only (avoids GBK/BOM mojibake on no-BOM .vb files). +' ============================================================================= +Option Strict Off +Imports System +Imports System.IO +Imports System.Text +Imports NXOpen +Imports NXOpen.UF + +Module TestExistingPart + + Dim theSession As Session = Session.GetSession() + Dim sb As New StringBuilder() + + Sub Log(s As String) + sb.AppendLine(s) + End Sub + + Sub Main() + Try + Run() + Catch ex As Exception + Log("[FATAL] " & ex.GetType().Name & " / " & ex.Message) + End Try + File.WriteAllText(Path.Combine(Directory.GetCurrentDirectory(), "test-existingpart.txt"), sb.ToString(), New UTF8Encoding(True)) + End Sub + + Sub Run() + Dim cur As String = Directory.GetCurrentDirectory() + Dim masterPath As String = Path.Combine(cur, "KC_master.prt") + Log("CWD=" & cur) + Log("masterExists=" & File.Exists(masterPath)) + If Not File.Exists(masterPath) Then + Log("[FAIL] master missing: " & masterPath) + Return + End If + + Dim outDir As String = Path.Combine(cur, "dbg_out") + Directory.CreateDirectory(outDir) + + ' 1) STEP via ExistingPart (reads saved file from disk, no open part) + Dim stp As String = Path.Combine(outDir, "E1_existing.stp") + If File.Exists(stp) Then File.Delete(stp) + Try + Dim sc As NXOpen.StepCreator = theSession.DexManager.CreateStepCreator() + sc.ExportFrom = NXOpen.StepCreator.ExportFromOption.ExistingPart + sc.InputFile = masterPath + sc.ExportAs = NXOpen.StepCreator.ExportAsOption.Ap214 + sc.OutputFile = stp + sc.ColorAndLayers = True + sc.Commit() + sc.Destroy() + Log("E1_existing.stp size=" & FileSize(stp)) + Catch ex As Exception + Log("STEP ExistingPart FAIL: " & ex.Message) + End Try + + ' 2) IGES via ExistingPart + Dim igs As String = Path.Combine(outDir, "E1_existing.igs") + If File.Exists(igs) Then File.Delete(igs) + Try + Dim ic As NXOpen.IgesCreator = theSession.DexManager.CreateIgesCreator() + ic.ExportFrom = NXOpen.IgesCreator.ExportFromOption.ExistingPart + ic.InputFile = masterPath + ic.ExportModelData = True + ic.OutputFile = igs + ic.Commit() + ic.Destroy() + Log("E1_existing.igs size=" & FileSize(igs)) + Catch ex As Exception + Log("IGES ExistingPart FAIL: " & ex.Message) + End Try + + Log("DONE") + End Sub + + Function FileSize(p As String) As String + If Not File.Exists(p) Then Return "MISSING" + Return (New FileInfo(p)).Length & " bytes" + End Function + +End Module diff --git a/sample-data/tools/test-fix-flags.vb b/sample-data/tools/test-fix-flags.vb new file mode 100644 index 0000000..248f5e4 --- /dev/null +++ b/sample-data/tools/test-fix-flags.vb @@ -0,0 +1,130 @@ +' ============================================================================= +' NX Journal: test StepCreator flags that likely cause "0 solids" in batch +' +' The master is healthy (2 bodies, faces=3) but DisplayPart export gives 0 +' solids. Prime suspects are StepCreator properties whose batch-mode defaults +' differ from interactive mode: +' +' 1. ExportSolidsAndSurfacesAs (Precise vs Tessellated) <-- TOP suspect +' Tessellated needs display facets; batch has no rendering -> 0 solids. +' 2. ProcessHoldFlag (if True, translator may hold and not produce) +' 3. FileSaveFlag +' +' This script dumps the defaults of these properties, then tries exporting with +' ExportSolidsAndSurfacesAs = Precise (and, for contrast, Tessellated). +' +' Run: WorkingDirectory = catalog-masters\KC; run_journal.exe +' Result: \test-fix-flags.txt Products: \dbg_out\ +' +' Note: English comments only (avoids GBK/BOM mojibake on no-BOM .vb files). +' ============================================================================= +Option Strict Off +Imports System +Imports System.IO +Imports System.Text +Imports NXOpen +Imports NXOpen.UF + +Module TestFixFlags + + Dim theSession As Session = Session.GetSession() + Dim sb As New StringBuilder() + + Sub Log(s As String) + sb.AppendLine(s) + End Sub + + Sub Main() + Try + Run() + Catch ex As Exception + Log("[FATAL] " & ex.GetType().Name & " / " & ex.Message) + End Try + File.WriteAllText(Path.Combine(Directory.GetCurrentDirectory(), "test-fix-flags.txt"), sb.ToString(), New UTF8Encoding(True)) + End Sub + + Function CountBodies(w As Part) As Integer + Dim n As Integer = 0 + Try + For Each b As NXOpen.Body In w.Bodies + n += 1 + Next + Catch + End Try + Return n + End Function + + Function FileSize(p As String) As String + If Not File.Exists(p) Then Return "MISSING" + Return (New FileInfo(p)).Length & " bytes" + End Function + + Sub Run() + Dim cur As String = Directory.GetCurrentDirectory() + Dim masterPath As String = Path.Combine(cur, "KC_master.prt") + Log("masterExists=" & File.Exists(masterPath)) + If Not File.Exists(masterPath) Then Return + + Dim pls As NXOpen.PartLoadStatus = Nothing + theSession.Parts.OpenBaseDisplay(masterPath, pls) + If pls IsNot Nothing Then pls.Dispose() + Dim w As Part = theSession.Parts.Work + If w Is Nothing Then + Log("[FAIL] Work=NULL") + Return + End If + Log("bodies=" & CountBodies(w)) + + Dim outDir As String = Path.Combine(cur, "dbg_out") + Directory.CreateDirectory(outDir) + + ' ---- dump defaults of suspect properties ---- + Dim sc0 As NXOpen.StepCreator = theSession.DexManager.CreateStepCreator() + Log("--- StepCreator defaults ---") + Try : Log("ProcessHoldFlag=" & sc0.ProcessHoldFlag) : Catch ex As Exception : Log("ProcessHoldFlag throws: " & ex.Message) : End Try + Try : Log("FileSaveFlag=" & sc0.FileSaveFlag) : Catch ex As Exception : Log("FileSaveFlag throws: " & ex.Message) : End Try + Try : Log("ColorAndLayers=" & sc0.ColorAndLayers) : Catch ex As Exception : Log("ColorAndLayers throws: " & ex.Message) : End Try + Try : Log("ExportFrom=" & sc0.ExportFrom.ToString()) : Catch ex As Exception : Log("ExportFrom throws: " & ex.Message) : End Try + Try : Log("ExportAs=" & sc0.ExportAs.ToString()) : Catch ex As Exception : Log("ExportAs throws: " & ex.Message) : End Try + Try : Log("ExportSolidsAndSurfacesAs=" & sc0.ExportSolidsAndSurfacesAs.ToString()) : Catch ex As Exception : Log("ESSAs throws: " & ex.Message) : End Try + Try : Log("ReferenceType=" & sc0.ReferenceType.ToString()) : Catch ex As Exception : Log("ReferenceType throws: " & ex.Message) : End Try + sc0.Destroy() + + ' ---- Attempt 1: DisplayPart + ESSAs=Precise (TOP hypothesis) ---- + Dim f1 As String = Path.Combine(outDir, "F1_display_precise.stp") + If File.Exists(f1) Then File.Delete(f1) + Try + Dim sc As NXOpen.StepCreator = theSession.DexManager.CreateStepCreator() + sc.ExportFrom = NXOpen.StepCreator.ExportFromOption.DisplayPart + sc.ExportAs = NXOpen.StepCreator.ExportAsOption.Ap214 + sc.OutputFile = f1 + sc.ColorAndLayers = True + Try : sc.ExportSolidsAndSurfacesAs = NXOpen.StepCreator.ExportSolidsAndSurfacesAsOption.Precise : Catch ex As Exception : Log("set ESSAs=Precise: " & ex.Message) : End Try + sc.Commit() + sc.Destroy() + Log("F1_display_precise.stp size=" & FileSize(f1)) + Catch ex As Exception + Log("F1 FAIL: " & ex.Message) + End Try + + ' ---- Attempt 2: DisplayPart + ESSAs=Tessellated (contrast) ---- + Dim f2 As String = Path.Combine(outDir, "F2_display_tess.stp") + If File.Exists(f2) Then File.Delete(f2) + Try + Dim sc As NXOpen.StepCreator = theSession.DexManager.CreateStepCreator() + sc.ExportFrom = NXOpen.StepCreator.ExportFromOption.DisplayPart + sc.ExportAs = NXOpen.StepCreator.ExportAsOption.Ap214 + sc.OutputFile = f2 + sc.ColorAndLayers = True + Try : sc.ExportSolidsAndSurfacesAs = NXOpen.StepCreator.ExportSolidsAndSurfacesAsOption.Tessellated : Catch ex As Exception : Log("set ESSAs=Tessellated: " & ex.Message) : End Try + sc.Commit() + sc.Destroy() + Log("F2_display_tess.stp size=" & FileSize(f2)) + Catch ex As Exception + Log("F2 FAIL: " & ex.Message) + End Try + + Log("DONE") + End Sub + +End Module diff --git a/sample-data/tools/verify-step.ps1 b/sample-data/tools/verify-step.ps1 new file mode 100644 index 0000000..4d43d79 --- /dev/null +++ b/sample-data/tools/verify-step.ps1 @@ -0,0 +1,50 @@ +# STEP 结构自检:引用完整性 / 括号配平 / 纯 ASCII / 头尾结构 +# 用法: powershell -NoProfile -ExecutionPolicy Bypass -File tools\verify-step.ps1 +param( + [string]$StepDir = (Join-Path $PSScriptRoot '..\onb-sc\step') +) + +$files = Get-ChildItem $StepDir -Filter '*.step' | Sort-Object Name +$errors = @() +$checked = 0 + +foreach ($f in $files) { + $text = [System.IO.File]::ReadAllText($f.FullName) + $checked++ + + # 1. 头尾结构 + if (-not $text.StartsWith('ISO-10303-21;')) { $errors += "$($f.Name): 缺少 ISO-10303-21 头" } + if (-not $text.TrimEnd().EndsWith('END-ISO-10303-21;')) { $errors += "$($f.Name): 缺少 END-ISO-10303-21 尾" } + if ($text -notmatch '(?s)HEADER;.*?ENDSEC;.*?DATA;.*?ENDSEC;') { $errors += "$($f.Name): HEADER/DATA 段结构异常" } + + # 2. 引用完整性: 所有被引用的 #id 都已定义 + $defined = @{} + foreach ($m in [regex]::Matches($text, '#(\d+)\s*=')) { $defined[[int]$m.Groups[1].Value] = $true } + foreach ($m in [regex]::Matches($text, '#(\d+)')) { + $id = [int]$m.Groups[1].Value + if (-not $defined.ContainsKey($id)) { $errors += "$($f.Name): 引用了未定义的 #$id"; break } + } + + # 3. 括号配平 (排除文本单引号内的内容后逐字符统计) + $noStr = [regex]::Replace($text, "'[^']*'", "''") + $open = ([regex]::Matches($noStr, '\(')).Count + $close = ([regex]::Matches($noStr, '\)')).Count + if ($open -ne $close) { $errors += "$($f.Name): 括号不配平 ($open/$close)" } + + # 4. 纯 ASCII (STEP 交换格式要求) + foreach ($ch in $text.ToCharArray()) { + if ([int]$ch -gt 127) { $errors += "$($f.Name): 存在非 ASCII 字符"; break } + } + + # 5. 实体计数: 单杆 4x(36+7色) + 尾部14 = 186; 双杆 5x(36+7色) + 14 = 229 + $entityCount = ([regex]::Matches($text, '#\d+\s*=')).Count + if ($entityCount -ne 186 -and $entityCount -ne 229) { $errors += "$($f.Name): 实体数异常 ($entityCount, 期望 186/229)" } +} + +Write-Output "检查文件数: $checked" +if ($errors.Count -eq 0) { + Write-Output "全部通过: 引用完整 / 括号配平 / 纯 ASCII / 结构正常" +} else { + Write-Output "发现问题 $($errors.Count) 条:" + $errors | ForEach-Object { Write-Output " - $_" } +} diff --git a/sample-data/tools/worker_journal.vb b/sample-data/tools/worker_journal.vb new file mode 100644 index 0000000..fbf6e61 --- /dev/null +++ b/sample-data/tools/worker_journal.vb @@ -0,0 +1,441 @@ +' ============================================================================= +' NX Journal: 按需生成服务 worker (二期 A 版, NX 2506 实测适配版, 2026-08-27) +' +' ▍干什么: 常驻轮询 GenServer 任务队列, 认领任务后在**同一 NX 会话内**逐项生成: +' 开母模副本 → 设表达式 → 更新 → Save 副本 → PRT SaveAs → +' CloseAll 释放句柄 → 外部独立翻译器导出 STEP/IGES → 关闭不保存。 +' 结果写 jobs\job_.done (行式键值格式, 无 JSON — NX journal 编译环境没有 JSON 库)。 +' +' ▍关键改造 (2026-08-27): 批处理内 DexManager 导出判 0 solid (ST-DEVELOPER 翻译器 +' 在 run_journal 无 GUI 下读不到几何), 改为 Save 副本后 spawn 独立命令行翻译器 +' step214ug.exe (.prt→.step) / iges.exe (.prt→.igs), 实测成功。 +' +' ▍任务文件格式 (GenServer 写入, 本脚本解析; 母模/映射/开关/导出配置全部烘进任务, 不读 masters.json): +' ITEM +' SERIES=KC +' CODE=KC0032-87 +' PARAM type=00 (每参数一行, 值可为空) +' PARAM bore=32 +' MASTER=KC_master.prt +' MAP bore=bore (目录参数代码=NX表达式名) +' SW magnet,=magOn,0 (参数代码,参数值=NX表达式名,表达式值) +' EXP step=1 (导出格式开关; step 恒 1) +' END +' +' ▍运行 (run_journal 只接受一个参数; 用 WorkingDirectory 定位配置): +' WorkingDirectory = GenServer 运行目录 (含 worker-config.txt + worker-no.txt) +' run_journal.exe <本文件完整路径> +' +' ▍注意 +' - 中文注释需 UTF-8 带 BOM (改完手动恢复 BOM) +' - 母模副本现在必须 Save (独立翻译器从磁盘读); 但副本用完即删, 绝不保留脏副本 +' - 导出格式 (masters.json exports): step 恒导出, iges/prt 可选, parasolid/stl 已按用户要求砍掉 +' - NX 2506 关键 API (反射探针核对): OpenBaseDisplay(批处理必须, OpenBase 后 Work=NULL) / +' ExpressionCollection.CreateExpression("Number","名=值") / UF EditExp(仅编辑已存在) / CloseAll 两参数 +' ============================================================================= +Option Strict Off +Imports System +Imports System.IO +Imports System.Text +Imports System.Diagnostics +Imports System.Collections.Generic +Imports NXOpen +Imports NXOpen.UF + +Module WorkerGen + + Dim theSession As Session = Session.GetSession() + Dim lw As ListingWindow = theSession.ListingWindow + + Dim jobsDir, outputDir, mastersDir, workDir, nxBin As String + Dim workerNo As String = "0" + Dim pollMs As Integer = 1500 + + Sub Main() + lw.Open() + ' 配置 = 当前工作目录 worker-config.txt (key=value 行式) + Dim cfgPath As String = Path.Combine(Directory.GetCurrentDirectory(), "worker-config.txt") + If Not File.Exists(cfgPath) Then + lw.WriteLine("[worker] 未找到配置: " & cfgPath & " (请以 GenServer 运行目录为工作目录启动)") + Return + End If + For Each line As String In File.ReadAllLines(cfgPath, Encoding.UTF8) + Dim i As Integer = line.IndexOf("="c) + If i <= 0 Then Continue For + Dim k As String = line.Substring(0, i).Trim() + Dim v As String = line.Substring(i + 1).Trim() + If k = "jobsDir" Then jobsDir = v + If k = "outputDir" Then outputDir = v + If k = "mastersDir" Then mastersDir = v + If k = "workDir" Then workDir = v + If k = "nxBin" Then nxBin = v + Next + If jobsDir.Length = 0 OrElse outputDir.Length = 0 Then + lw.WriteLine("[worker] 配置缺少 jobsDir/outputDir") + Return + End If + If nxBin.Length = 0 Then + ' 回退: 自动探测 NX 安装目录 (部署到新机器无需手填) + For Each root As String In New String() { + Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.ProgramFiles), "Siemens"), + Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.ProgramFilesX86), "Siemens"), + "C:\Program Files\Siemens"} + If Not Directory.Exists(root) Then Continue For + For Each ver As String In Directory.GetDirectories(root, "NX*") + Dim b As String = Path.Combine(ver, "NXBIN") + If File.Exists(Path.Combine(b, "run_journal.exe")) Then nxBin = b : Exit For + Next + If nxBin.Length > 0 Then Exit For + Next + End If + If nxBin.Length = 0 Then + lw.WriteLine("[worker] 警告: 未找到 NX NXBIN 目录 (nxBin 未配置且自动探测失败), STEP/IGES 导出将失败") + Else + lw.WriteLine("[worker] nxBin=" & nxBin) + End If + Dim noPath As String = Path.Combine(Directory.GetCurrentDirectory(), "worker-no.txt") + If File.Exists(noPath) Then + Dim noTxt As String = File.ReadAllText(noPath, Encoding.UTF8).Trim() + If noTxt.Length > 0 Then workerNo = noTxt + End If + For Each d As String In {jobsDir, outputDir, workDir} + If d.Length > 0 AndAlso Not Directory.Exists(d) Then Directory.CreateDirectory(d) + Next + lw.WriteLine("[worker" & workerNo & "] 启动: jobs=" & jobsDir & " 输出=" & outputDir) + + While True + Try + TouchHeartbeat() + ProcessNextJob() + Catch ex As Exception + lw.WriteLine("[worker" & workerNo & "] 循环异常: " & ex.Message) + End Try + Threading.Thread.Sleep(pollMs) + End While + End Sub + + ' ---- 认领一个任务并处理 (原子改名防双 worker 抢同一任务) ---- + Sub ProcessNextJob() + Dim jobFile As String = Nothing + Dim files() As String = Directory.GetFiles(jobsDir, "job_*.json") + If files.Length = 0 Then Return + Array.Sort(files) + For Each f As String In files + Dim running As String = f.Substring(0, f.Length - 5) & ".running" + Try + File.Move(f, running) + jobFile = running + Exit For + Catch + ' 被其他 worker 抢走, 试下一个 + End Try + Next + If jobFile Is Nothing Then Return + + Dim jobId As String = Path.GetFileName(jobFile).Replace("job_", "").Replace(".running", "") + Dim workJobDir As String = Path.Combine(workDir, "job_" & jobId) + Directory.CreateDirectory(workJobDir) + lw.WriteLine("[worker" & workerNo & "] 认领任务 " & jobId & " " & DateTime.Now.ToString("HH:mm:ss")) + + Dim okOverall As Boolean = True + Dim errOverall As String = "" + Dim doneSb As New StringBuilder() + Dim items As New List(Of Dictionary(Of String, Object))() + Dim masterCopies As New Dictionary(Of String, String)() ' 同系列共用一份母模副本 (副本从不保存) + + Try + items = ParseJob(File.ReadAllText(jobFile, Encoding.UTF8)) + doneSb.AppendLine("OK=1") + doneSb.AppendLine("ERROR=") + For idx As Integer = 0 To items.Count - 1 + Dim it As Dictionary(Of String, Object) = items(idx) + Dim series As String = GetStr(it, "series") + Dim code As String = GetStr(it, "code") + Dim pars As Dictionary(Of String, Object) = GetDict(it, "params") + Dim outDir As String = Path.Combine(outputDir, series, code) + Directory.CreateDirectory(outDir) + Dim itemOk As Boolean = True + Dim itemErr As String = "" + Dim itemHit As Boolean = False + Dim filesList As New List(Of String)() + Try + ' 检索先行 (认领时再查一次, 防并发窗口重复生成) + If OutputHit(series, code, it) Then + itemHit = True + filesList = ListOutputFiles(code, it) + lw.WriteLine(" [" & code & "] 已存在, 命中复用") + Else + ' 拷母模副本 (同系列共用; 绝不保存) + If Not masterCopies.ContainsKey(series) Then + Dim src As String = Path.Combine(mastersDir, series, GetStr(it, "master")) + If Not File.Exists(src) Then Throw New Exception("母模缺失: " & src) + Dim dst As String = Path.Combine(workJobDir, series & "_master.prt") + File.Copy(src, dst, True) + ' 清只读属性 (源母模可能带只读, NX 只读打开会拒绝保存/导出) + File.SetAttributes(dst, File.GetAttributes(dst) And Not FileAttributes.ReadOnly) + masterCopies(series) = dst + End If + GenerateOne(series, code, pars, it, masterCopies(series), outDir) + filesList = ListOutputFiles(code, it) + lw.WriteLine(" [" & code & "] 生成完成 → " & outDir) + End If + Catch ex As Exception + okOverall = False + itemOk = False + itemErr = ex.Message + lw.WriteLine(" [" & code & "] 失败: " & ex.Message) + End Try + doneSb.AppendLine("ITEM") + doneSb.AppendLine("SERIES=" & series) + doneSb.AppendLine("CODE=" & code) + doneSb.AppendLine("OK=" & (If(itemOk, "1", "0"))) + doneSb.AppendLine("HIT=" & (If(itemHit, "1", "0"))) + doneSb.AppendLine("ERROR=" & itemErr) + For Each f As String In filesList + doneSb.AppendLine("FILE=" & f) + Next + doneSb.AppendLine("END") + ' 逐项进度 (批量打包 UI 显示 done/total) + File.WriteAllText(Path.Combine(jobsDir, "job_" & jobId & ".prog"), + "DONE=" & (idx + 1) & vbCrLf & "TOTAL=" & items.Count & vbCrLf, Encoding.UTF8) + ' 关闭所有部件 (不保存), 会话内循环 (NX 2506: CloseAll 两参数) + Try + theSession.Parts.CloseAll(NXOpen.BasePart.CloseModified.CloseModified, Nothing) + Catch + End Try + Next + Catch ex As Exception + okOverall = False + errOverall = ex.Message + lw.WriteLine("[worker" & workerNo & "] 任务异常: " & ex.Message) + End Try + + ' 写结果 (原子: 先写临时再改名; 错误信息去换行防格式破坏) + Dim doneText As String = doneSb.ToString() + If Not okOverall Then + Dim errClean As String = errOverall.Replace(vbCr, " ").Replace(vbLf, " ") + If doneText.IndexOf("ITEM", StringComparison.OrdinalIgnoreCase) < 0 Then + doneText = "OK=0" & vbCrLf & "ERROR=" & errClean & vbCrLf + Else + doneText = doneText.Replace("OK=1" & vbCrLf & "ERROR=", "OK=0" & vbCrLf & "ERROR=" & errClean) + End If + End If + Dim donePath As String = Path.Combine(jobsDir, "job_" & jobId & ".done") + Dim tmpPath As String = donePath & ".tmp" + File.WriteAllText(tmpPath, doneText, New UTF8Encoding(True)) + If File.Exists(donePath) Then File.Delete(donePath) + File.Move(tmpPath, donePath) + Try + File.Delete(jobFile) ' 删 .running + Directory.Delete(workJobDir, True) ' 任务私有工作副本即清 (输出留存不删) + Catch + End Try + lw.WriteLine("[worker" & workerNo & "] 任务 " & jobId & " 结束 " & (If(okOverall, "OK", "FAIL"))) + End Sub + + ' ---- 任务文件解析 (行式键值; 返回每项一个字典: series/code/params/master/map/sw/exp) ---- + Function ParseJob(text As String) As List(Of Dictionary(Of String, Object)) + Dim result As New List(Of Dictionary(Of String, Object))() + Dim cur As Dictionary(Of String, Object) = Nothing + For Each raw As String In text.Split(New String() {vbCrLf, vbLf, vbCr}, StringSplitOptions.None) + Dim l As String = raw.Trim() + If l.Length = 0 Then Continue For + If l = "ITEM" Then + cur = New Dictionary(Of String, Object)() + cur("params") = New Dictionary(Of String, Object)() + cur("map") = New Dictionary(Of String, Object)() + cur("sw") = New List(Of Object)() + cur("exp") = New Dictionary(Of String, Object)() + result.Add(cur) + Continue For + End If + If l = "END" Then cur = Nothing : Continue For + If cur Is Nothing Then Continue For + If l.StartsWith("SERIES=") Then cur("series") = l.Substring(7).Trim() : Continue For + If l.StartsWith("CODE=") Then cur("code") = l.Substring(5).Trim() : Continue For + If l.StartsWith("MASTER=") Then cur("master") = l.Substring(7).Trim() : Continue For + If l.StartsWith("PARAM ") Then + Dim rest As String = l.Substring(6) + Dim j As Integer = rest.IndexOf("="c) + If j > 0 Then CType(cur("params"), Dictionary(Of String, Object))(rest.Substring(0, j).Trim()) = rest.Substring(j + 1).Trim() + Continue For + End If + If l.StartsWith("MAP ") Then + Dim rest As String = l.Substring(4) + Dim j As Integer = rest.IndexOf("="c) + If j > 0 Then CType(cur("map"), Dictionary(Of String, Object))(rest.Substring(0, j).Trim()) = rest.Substring(j + 1).Trim() + Continue For + End If + If l.StartsWith("SW ") Then + ' SW 参数代码,参数值=表达式名,表达式值 + Dim rest As String = l.Substring(3) + Dim j As Integer = rest.IndexOf("="c) + If j > 0 Then + Dim left() As String = rest.Substring(0, j).Split(","c) + Dim right() As String = rest.Substring(j + 1).Split(","c) + If left.Length >= 2 AndAlso right.Length >= 2 Then + Dim sw As New Dictionary(Of String, Object)() + sw("pc") = left(0).Trim() : sw("pv") = left(1).Trim() + sw("ex") = right(0).Trim() : sw("ev") = right(1).Trim() + CType(cur("sw"), List(Of Object)).Add(sw) + End If + End If + Continue For + End If + If l.StartsWith("EXP ") Then + Dim rest As String = l.Substring(4) + Dim j As Integer = rest.IndexOf("="c) + If j > 0 AndAlso rest.Substring(j + 1).Trim() = "1" Then + CType(cur("exp"), Dictionary(Of String, Object))(rest.Substring(0, j).Trim()) = "1" + End If + Continue For + End If + Next + Return result + End Function + + Function GetStr(d As Dictionary(Of String, Object), key As String) As String + If d Is Nothing OrElse Not d.ContainsKey(key) OrElse d(key) Is Nothing Then Return "" + Return Convert.ToString(d(key)) + End Function + + Function GetDict(d As Dictionary(Of String, Object), key As String) As Dictionary(Of String, Object) + If d Is Nothing OrElse Not d.ContainsKey(key) OrElse d(key) Is Nothing Then Return New Dictionary(Of String, Object)() + Return CType(d(key), Dictionary(Of String, Object)) + End Function + + ' 导出格式开关: job 里 EXP 行 (EXP parasolid=1); step 恒导出 + Function ExpOn(it As Dictionary(Of String, Object), fmt As String) As Boolean + If fmt = "step" Then Return True + Dim exp As Dictionary(Of String, Object) = GetDict(it, "exp") + Return exp.ContainsKey(fmt) + End Function + + ' ---- 检索先行: 输出目录存在且全部配置格式文件齐全 ---- + Function OutputHit(series As String, code As String, it As Dictionary(Of String, Object)) As Boolean + Dim dir As String = Path.Combine(outputDir, series, code) + If Not Directory.Exists(dir) Then Return False + For Each f As String In New String() {code & ".stp", code & ".x_t", code & ".igs", code & ".stl", code & ".prt"} + If f.EndsWith(".stp") AndAlso Not File.Exists(Path.Combine(dir, f)) Then Return False + If f.EndsWith(".x_t") AndAlso ExpOn(it, "parasolid") AndAlso Not File.Exists(Path.Combine(dir, f)) Then Return False + If f.EndsWith(".igs") AndAlso ExpOn(it, "iges") AndAlso Not File.Exists(Path.Combine(dir, f)) Then Return False + If f.EndsWith(".stl") AndAlso ExpOn(it, "stl") AndAlso Not File.Exists(Path.Combine(dir, f)) Then Return False + If f.EndsWith(".prt") AndAlso ExpOn(it, "prt") AndAlso Not File.Exists(Path.Combine(dir, f)) Then Return False + Next + Return True + End Function + + Function ListOutputFiles(code As String, it As Dictionary(Of String, Object)) As List(Of String) + Dim list As New List(Of String)() + list.Add(code & ".stp") + If ExpOn(it, "parasolid") Then list.Add(code & ".x_t") + If ExpOn(it, "iges") Then list.Add(code & ".igs") + If ExpOn(it, "stl") Then list.Add(code & ".stl") + If ExpOn(it, "prt") Then list.Add(code & ".prt") + Return list + End Function + + ' ---- 单型号生成: 开副本 → 设表达式 → 更新 → 多格式导出 → 关闭 ---- + Sub GenerateOne(series As String, code As String, pars As Dictionary(Of String, Object), + it As Dictionary(Of String, Object), masterCopy As String, outDir As String) + ' 1) 打开母模副本 (OpenBaseDisplay 使其成为工作部件; 副本会 Save 供外部翻译器读盘, 用完即删) + Dim partLoadStatus1 As NXOpen.PartLoadStatus = Nothing + Dim basePart1 As NXOpen.BasePart = theSession.Parts.OpenBaseDisplay(masterCopy, partLoadStatus1) + If partLoadStatus1 IsNot Nothing Then partLoadStatus1.Dispose() + Dim workPart As NXOpen.Part = theSession.Parts.Work + If workPart Is Nothing Then Throw New Exception("打开母模失败: " & masterCopy) + + ' 2) 设表达式 (UF EditExp 只编辑已存在的表达式; 母模必须已建好这些表达式) + Dim ufsW As UFSession = UFSession.GetUFSession() + Dim exprMap As Dictionary(Of String, Object) = GetDict(it, "map") + For Each kv As KeyValuePair(Of String, Object) In exprMap + If pars.ContainsKey(kv.Key) Then + ufsW.Modl.EditExp(Convert.ToString(kv.Value) & "=" & ValueStr(pars(kv.Key))) + End If + Next + Dim swList As Object = Nothing + If it.ContainsKey("sw") Then swList = it("sw") + If swList IsNot Nothing Then + For Each swObj As Object In CType(swList, List(Of Object)) + Dim sw As Dictionary(Of String, Object) = CType(swObj, Dictionary(Of String, Object)) + If pars.ContainsKey(GetStr(sw, "pc")) AndAlso ValueStr(pars(GetStr(sw, "pc"))) = GetStr(sw, "pv") Then + ufsW.Modl.EditExp(GetStr(sw, "ex") & "=" & GetStr(sw, "ev")) + End If + Next + End If + + ' 3) Update model + ufsW.Modl.Update() + + ' 4) Save the copy to disk so independent translators can read it. + ' (in-session DexManager export yields 0 solids in batch - verified; see dev log 4.5) + Dim pssSave As NXOpen.PartSaveStatus = workPart.Save(NXOpen.BasePart.SaveComponents.True, NXOpen.BasePart.CloseAfterSave.False) + If pssSave IsNot Nothing Then pssSave.Dispose() + + ' 5) PRT save-as (NX native parametric part; session SaveAs) + If ExpOn(it, "prt") Then ExportPrt(Path.Combine(outDir, code & ".prt")) + + ' 6) Close all parts to release the file handle so external translators can read + Try + theSession.Parts.CloseAll(NXOpen.BasePart.CloseModified.CloseModified, Nothing) + Catch + End Try + + ' 7) Export via independent CLI translators (bypass batch 0-solid dead end) + ExportStepCli(masterCopy, Path.Combine(outDir, code & ".stp")) + If ExpOn(it, "iges") Then ExportIgesCli(masterCopy, Path.Combine(outDir, code & ".igs")) + End Sub + + ' ---- Independent CLI translators (bypass batch 0-solid dead end) ---- + ' step214ug.exe: bidirectional. input .prt -> export STEP. (verified 2 solids, 7KB) + ' Syntax: step214ug.exe o= d= l= + Sub ExportStepCli(inputPrt As String, fileName As String) + If File.Exists(fileName) Then File.Delete(fileName) + Dim psi As New ProcessStartInfo() + psi.FileName = Path.Combine(nxBin, "step214ug.exe") + psi.Arguments = """" & inputPrt & """ o=""" & fileName & """ l=""" & fileName & ".log""" + psi.WorkingDirectory = Path.GetDirectoryName(inputPrt) + psi.UseShellExecute = False + psi.CreateNoWindow = True + Dim p As Process = Process.Start(psi) + p.WaitForExit() + If Not File.Exists(fileName) OrElse (New FileInfo(fileName)).Length < 1000 Then + Throw New Exception("STEP export failed (empty/missing): " & fileName) + End If + End Sub + + ' iges.exe: input .prt -> export IGES. (verified Face=6) + ' Syntax: iges.exe o= l= + Sub ExportIgesCli(inputPrt As String, fileName As String) + If File.Exists(fileName) Then File.Delete(fileName) + Dim psi As New ProcessStartInfo() + psi.FileName = Path.Combine(nxBin, "iges.exe") + psi.Arguments = """" & inputPrt & """ o=""" & fileName & """ l=""" & fileName & ".log""" + psi.WorkingDirectory = Path.GetDirectoryName(inputPrt) + psi.UseShellExecute = False + psi.CreateNoWindow = True + Dim p As Process = Process.Start(psi) + p.WaitForExit() + If Not File.Exists(fileName) Then + Throw New Exception("IGES export failed (missing): " & fileName) + End If + End Sub + + ' NX native part export: save-as current work part (parametric exprs + feature tree; 2026-08-26 user request) + Sub ExportPrt(fileName As String) + Dim pss As NXOpen.PartSaveStatus = theSession.Parts.Work.SaveAs(fileName) + If pss IsNot Nothing Then pss.Dispose() + End Sub + + ' ---- 工具 ---- + Function ValueStr(v As Object) As String + If v Is Nothing Then Return "" + Return Convert.ToString(v, System.Globalization.CultureInfo.InvariantCulture).Replace(",", ".") + End Function + + Sub TouchHeartbeat() + Dim hb As String = Path.Combine(workDir, "heartbeat_" & workerNo & ".txt") + File.WriteAllText(hb, DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"), New UTF8Encoding(True)) + End Sub + +End Module diff --git a/src/App/AdminWindow.cs b/src/App/AdminWindow.cs new file mode 100644 index 0000000..5dfb005 --- /dev/null +++ b/src/App/AdminWindow.cs @@ -0,0 +1,122 @@ +#if !CUSTOMER_BUILD +using System; +using System.Collections.Generic; +using System.Data; +using System.Linq; +using System.Windows; +using System.Windows.Controls; +using Ounibo.Catalog.Core; + +namespace Ounibo.Catalog.App +{ + /// + /// 维护入口 (M1): 数据包信息 + 系列清单 + 加载/替换 + 资源完整性校验。 + /// M2 将扩展 Builder 编辑功能。 + /// + public class AdminWindow : Window + { + TextBlock _info; + DataGrid _seriesGrid; + ListBox _report; + MainWindow _owner; + + public AdminWindow(MainWindow owner) + { + _owner = owner; + Title = "维护入口 - 数据包管理 / Admin - Package"; + Width = 640; Height = 520; MinWidth = 520; MinHeight = 400; + WindowStartupLocation = WindowStartupLocation.CenterOwner; + Owner = owner; + + var panel = new DockPanel { Margin = new Thickness(12) }; + _info = new TextBlock(); + DockPanel.SetDock(_info, Dock.Top); + panel.Children.Add(_info); + + var btns = new StackPanel { Orientation = Orientation.Horizontal, Margin = new Thickness(0, 8, 0, 8) }; + var btnLoad = new Button { Content = "加载新数据包 / Load Package", Width = 170, Margin = new Thickness(0, 0, 8, 0) }; + btnLoad.Click += (s, e) => LoadPackage(); + var btnCheck = new Button { Content = "校验 / Validate", Width = 120, Margin = new Thickness(0, 0, 8, 0) }; + btnCheck.Click += (s, e) => Validate(); + var btnBuilder = new Button { Content = "目录制作器 / Builder", Width = 150, Margin = new Thickness(0, 0, 8, 0) }; + btnBuilder.Click += (s, e) => { var w = new BuilderWindow(_owner); w.ShowDialog(); }; + var btnClose = new Button { Content = "关闭 / Close", Width = 90 }; + btnClose.Click += (s, e) => Close(); + btns.Children.Add(btnLoad); btns.Children.Add(btnCheck); btns.Children.Add(btnBuilder); btns.Children.Add(btnClose); + DockPanel.SetDock(btns, Dock.Top); + panel.Children.Add(btns); + + _seriesGrid = new DataGrid { IsReadOnly = true, AutoGenerateColumns = false, Height = 220, Margin = new Thickness(0, 4, 0, 4) }; + _seriesGrid.Columns.Add(new DataGridTextColumn { Header = "系列代码", Binding = new System.Windows.Data.Binding("Code"), Width = 80 }); + _seriesGrid.Columns.Add(new DataGridTextColumn { Header = "中文名", Binding = new System.Windows.Data.Binding("Zh"), Width = 210 }); + _seriesGrid.Columns.Add(new DataGridTextColumn { Header = "变体数", Binding = new System.Windows.Data.Binding("Variants"), Width = 70 }); + _seriesGrid.Columns.Add(new DataGridTextColumn { Header = "参数", Binding = new System.Windows.Data.Binding("Params"), Width = 70 }); + _seriesGrid.Columns.Add(new DataGridTextColumn { Header = "规则", Binding = new System.Windows.Data.Binding("Rules"), Width = 60 }); + _seriesGrid.Columns.Add(new DataGridTextColumn { Header = "附件", Binding = new System.Windows.Data.Binding("Atts"), Width = 60 }); + panel.Children.Add(_seriesGrid); + + _report = new ListBox(); + panel.Children.Add(_report); + + Content = panel; + RefreshInfo(); + } + + void RefreshInfo() + { + var p = _owner.Package; + if (p == null) + { + _info.Text = "未加载数据包"; + _seriesGrid.ItemsSource = null; + return; + } + var c = p.Catalog; + _info.Text = string.Format( + "数据包: {0} 文件: {1}\n目录版本: {2} | 格式版本: {3} 语言: {4}\n系列数: {5} | 变体数: {6} (与主窗口当前加载一致)", + c.catalogName, System.IO.Path.GetFileName(p.Path), c.catalogVersion, c.schemaVersion, + string.Join(",", c.langs ?? new List()), + c.series.Count, c.series.Sum(s => s.variants == null ? 0 : s.variants.Count)); + var dt = new DataTable(); + dt.Columns.Add("Code"); dt.Columns.Add("Zh"); dt.Columns.Add("Variants", typeof(int)); + dt.Columns.Add("Params", typeof(int)); dt.Columns.Add("Rules", typeof(int)); dt.Columns.Add("Atts", typeof(int)); + foreach (var s in c.series) + dt.Rows.Add(s.code, s.nameZh, s.variants == null ? 0 : s.variants.Count, + s.parameters == null ? 0 : s.parameters.Count, s.rules == null ? 0 : s.rules.Count, + s.attachments == null ? 0 : s.attachments.Count); + _seriesGrid.ItemsSource = dt.DefaultView; + } + + void Validate() + { + var p = _owner.Package; + _report.Items.Clear(); + if (p == null) { _report.Items.Add("未加载数据包"); return; } + var issues = PackageValidator.Validate(p); + foreach (var i in issues) + _report.Items.Add("[" + i.Severity + "] " + (string.IsNullOrEmpty(i.Target) ? "" : i.Target + " ") + i.Message); + _report.Items.Add(string.Format("校验完成: {0} 个错误, {1} 个警告, 共 {2} 个变体", + issues.Count(x => x.Severity == "ERROR"), issues.Count(x => x.Severity == "WARNING"), + p.Catalog.series.Sum(s => s.variants == null ? 0 : s.variants.Count))); + } + + void LoadPackage() + { + var dlg = new Microsoft.Win32.OpenFileDialog + { + Filter = "目录数据包 (*.opc)|*.opc", + Title = "选择 .opc 数据包" + }; + if (dlg.ShowDialog() == true) + { + if (_owner.ReplacePackage(dlg.FileName)) + { + MessageBox.Show("数据包已替换", "维护入口", MessageBoxButton.OK, MessageBoxImage.Information); + RefreshInfo(); + _report.Items.Clear(); + } + } + } + } +} +#endif diff --git a/src/App/App.cs b/src/App/App.cs new file mode 100644 index 0000000..4e274eb --- /dev/null +++ b/src/App/App.cs @@ -0,0 +1,284 @@ +using System; +using System.Collections.Generic; +using System.IO; +using System.Linq; +using System.Reflection; +using System.Text; +using System.Windows; +using System.Windows.Controls; +using Ounibo.Catalog.Core; + +namespace Ounibo.Catalog.App +{ + /// 嵌入资源加载 (logo 等编译进 exe 的资源)。 + public static class AppResources + { + public static System.Windows.Media.Imaging.BitmapImage LoadPng(string name) + { + try + { + var stream = Assembly.GetExecutingAssembly().GetManifestResourceStream(name); + if (stream == null) return null; + var bmp = new System.Windows.Media.Imaging.BitmapImage(); + bmp.BeginInit(); + bmp.StreamSource = stream; + bmp.CacheOption = System.Windows.Media.Imaging.BitmapCacheOption.OnLoad; + bmp.EndInit(); + return bmp; + } + catch { return null; } + } + } + + /// + /// 程序入口。 + /// 开发版: OnebotCatalog.exe [数据包.opc] [--admin] [--selftest 数据包.opc] + /// 客户版 (CUSTOMER_BUILD): 启动时先找 exe 旁 catalog.opc, 找不到读嵌入资源; + /// 无维护入口、无自测。 + /// + public static class Program + { + [STAThread] + public static void Main(string[] args) + { +#if !CUSTOMER_BUILD + // 自测模式: 无界面运行核心逻辑, 结果写 selftest.log + if (args.Length >= 2 && args[0] == "--selftest") + { + Environment.ExitCode = SelfTest.Run(args[1]); + return; + } + + // CLI 打包模式 (与向导同一 Builder 内核): + // --build [--series CODE] [--meta 元数据.json] + // 无 --meta 时参数自动识别 (无规则/附件/关键词); 结果写 \build.log + if (args.Length >= 4 && args[0] == "--build") + { + var csv = args[1]; var stepDir = args[2]; var outP = args[3]; + string seriesCode = "S1"; + string metaPath = null; + for (int i = 4; i + 1 < args.Length; i++) + { + if (args[i] == "--series") seriesCode = args[i + 1]; + if (args[i] == "--meta") metaPath = args[i + 1]; + } + + Series series; + var atts = new List(); + if (metaPath != null) + { + var ser = new System.Web.Script.Serialization.JavaScriptSerializer(); + var meta = ser.Deserialize(File.ReadAllText(metaPath, Encoding.UTF8)); + series = meta.series ?? new Series(); + if (series.parameters == null || series.parameters.Count == 0) + series.parameters = OpcBuilder.AutoDetectParameters(csv); + atts = meta.attachments ?? new List(); + } + else + { + series = new Series { parameters = OpcBuilder.AutoDetectParameters(csv) }; + } + series.code = string.IsNullOrEmpty(series.code) ? seriesCode : series.code; + series.nameZh = string.IsNullOrEmpty(series.nameZh) ? seriesCode : series.nameZh; + series.nameEn = string.IsNullOrEmpty(series.nameEn) ? seriesCode : series.nameEn; + series.naming = series.naming ?? new Naming { stepNameTemplate = "{model}.step" }; + series.attachments = series.attachments ?? new List(); + series.variants = new List(); + + var res = OpcBuilder.Build(outP, "欧霓博气动目录", "0.1", "ACT", "产品", "Products", + series, csv, stepDir, atts); + var sb = new StringBuilder(); + sb.AppendLine(res.Ok ? "BUILD OK: " + outP : "BUILD FAILED"); + foreach (var e in res.Errors) sb.AppendLine(" [错误] " + e); + foreach (var w in res.Warnings) sb.AppendLine(" [警告] " + w); + if (res.Ok) + { + try + { + using (var built = OpcPackage.Open(outP)) + { + var issues = PackageValidator.Validate(built); + sb.AppendLine("变体数: " + built.Catalog.series.Sum(s2 => s2.variants.Count)); + sb.AppendLine("校验: " + issues.Count(i => i.Severity == "ERROR") + " 错误, " + issues.Count(i => i.Severity == "WARNING") + " 警告"); + foreach (var i in issues) sb.AppendLine(" [" + i.Severity + "] " + i.Target + " " + i.Message); + } + } + catch (Exception ex) { sb.AppendLine("产物校验失败: " + ex.Message); Environment.ExitCode = 1; return; } + } + else Environment.ExitCode = 1; + File.WriteAllText(Path.Combine(Path.GetDirectoryName(outP) ?? ".", "build.log"), sb.ToString(), Encoding.UTF8); + return; + } + + // CLI 全量打包 (统一路线): --buildfull <源目录> + // 源目录结构见 FullCatalogBuilder; 结果写 \build.log + if (args.Length >= 3 && args[0] == "--buildfull") + { + var res = FullCatalogBuilder.BuildFromSourceDir(args[1], args[2]); + var sb = new StringBuilder(); + sb.AppendLine(res.Ok ? "BUILDFULL OK: " + args[2] : "BUILDFULL FAILED"); + foreach (var e in res.Errors) sb.AppendLine(" [错误] " + e); + foreach (var w in res.Warnings) sb.AppendLine(" [警告] " + w); + if (res.Ok) + { + try + { + using (var built = OpcPackage.Open(args[2])) + { + sb.AppendLine("系列数: " + built.Catalog.series.Count + " | 变体数: " + built.Catalog.series.Sum(s2 => s2.variants.Count)); + var issues = PackageValidator.Validate(built); + sb.AppendLine("校验: " + issues.Count(i => i.Severity == "ERROR") + " 错误, " + issues.Count(i => i.Severity == "WARNING") + " 警告"); + foreach (var i in issues) sb.AppendLine(" [" + i.Severity + "] " + i.Target + " " + i.Message); + } + } + catch (Exception ex) { sb.AppendLine("产物校验失败: " + ex.Message); Environment.ExitCode = 1; } + } + else Environment.ExitCode = 1; + File.WriteAllText(Path.Combine(Path.GetDirectoryName(args[2]) ?? ".", "build.log"), sb.ToString(), Encoding.UTF8); + return; + } +#endif + + string opc = null; + foreach (var a in args) + { + if (a.EndsWith(".opc", StringComparison.OrdinalIgnoreCase)) opc = a; + } + +#if CUSTOMER_BUILD + OpcPackage pkg = null; + if (opc != null) + { + try { pkg = OpcPackage.Open(opc); } + catch (Exception ex) { ShowFatal(ex.Message); return; } + } + else pkg = TryOpenEmbedded(); + if (pkg == null) + { + // 无嵌入数据且无外置数据包 → 让用户选择 .opc + var dlg = new Microsoft.Win32.OpenFileDialog { Filter = "目录数据包 (*.opc)|*.opc", Title = "选择 .opc 数据包" }; + if (dlg.ShowDialog() == true) + { + try { pkg = OpcPackage.Open(dlg.FileName); } + catch (Exception ex) { ShowFatal(ex.Message); return; } + } + else return; + } + Run(pkg, false); +#else + bool admin = false; + foreach (var a in args) if (a == "--admin") admin = true; + if (admin && !PromptPassword()) + return; + if (opc == null) + opc = FindDefaultPackage(); + OpcPackage pkg = null; + if (opc != null) + { + try { pkg = OpcPackage.Open(opc); } + catch (Exception ex) { ShowFatal(ex.Message); return; } + } + else pkg = TryOpenEmbedded(); + Run(pkg, admin); +#endif + } + + static void Run(OpcPackage pkg, bool admin) + { + var app = new Application { ShutdownMode = ShutdownMode.OnMainWindowClose }; + // 全局异常日志 (crash.log, 与 exe 同目录), UI 异常不崩溃 + var logPath = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "crash.log"); + app.DispatcherUnhandledException += (s, e) => + { + try { File.AppendAllText(logPath, DateTime.Now + " UI异常: " + e.Exception + "\r\n", Encoding.UTF8); } catch { } + e.Handled = true; + }; + AppDomain.CurrentDomain.UnhandledException += (s, e) => + { + try { File.AppendAllText(logPath, DateTime.Now + " 未处理异常: " + e.ExceptionObject + "\r\n", Encoding.UTF8); } catch { } + }; + app.Run(new MainWindow(pkg, admin)); + } + + static void ShowFatal(string msg) + { + MessageBox.Show("数据包打开失败: " + msg, "欧霓博气动目录 ONEBOT Catalog", MessageBoxButton.OK, MessageBoxImage.Error); + } + + /// + /// 先找 exe 旁 catalog.opc (外置数据包, 支持增量更新), 找不到读嵌入资源。 + /// + static OpcPackage TryOpenEmbedded() + { + var external = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "catalog.opc"); + if (File.Exists(external)) + { + try { return OpcPackage.Open(external); } + catch { /* 外置包损坏则回退嵌入资源 */ } + } + try + { + var stream = Assembly.GetExecutingAssembly().GetManifestResourceStream("catalog.opc"); + if (stream != null) + return OpcPackage.OpenStream(stream, "内置数据包 (catalog.opc)"); + } + catch { /* 无嵌入资源 */ } + return null; + } + +#if !CUSTOMER_BUILD + static string FindDefaultPackage() + { + var dirs = new[] + { + AppDomain.CurrentDomain.BaseDirectory, + Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "sample"), + Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "..", "sample") + }; + foreach (var d in dirs) + { + try + { + if (!Directory.Exists(d)) continue; + var f = Directory.GetFiles(d, "*.opc").FirstOrDefault(); + if (f != null) return f; + } + catch { /* 忽略目录访问失败 */ } + } + return null; + } + + /// + /// 维护入口密码。TODO: 移到配置文件, 支持修改。 + /// + static bool PromptPassword() + { + var win = new Window + { + Title = "维护入口 Admin", + Width = 360, Height = 180, MinWidth = 320, MinHeight = 150, + WindowStartupLocation = WindowStartupLocation.CenterScreen + }; + var panel = new StackPanel { Margin = new Thickness(16) }; + panel.Children.Add(new TextBlock { Text = "请输入维护密码 / Enter admin password:", Margin = new Thickness(0, 0, 0, 8) }); + var box = new PasswordBox { Margin = new Thickness(0, 0, 0, 12) }; + panel.Children.Add(box); + var btns = new StackPanel { Orientation = Orientation.Horizontal }; + var ok = new Button { Content = "确定 OK", Width = 90, Margin = new Thickness(0, 0, 8, 0), IsDefault = true }; + var cancel = new Button { Content = "取消 Cancel", Width = 90, IsCancel = true }; + btns.Children.Add(ok); btns.Children.Add(cancel); + panel.Children.Add(btns); + win.Content = panel; + + bool granted = false; + ok.Click += (s, e) => + { + if (box.Password == "onebot888") { granted = true; win.Close(); } + else MessageBox.Show("密码错误 / Wrong password", "维护入口", MessageBoxButton.OK, MessageBoxImage.Warning); + }; + win.ShowDialog(); + return granted; + } +#endif + } +} diff --git a/src/App/BuilderWindow.cs b/src/App/BuilderWindow.cs new file mode 100644 index 0000000..af2f9aa --- /dev/null +++ b/src/App/BuilderWindow.cs @@ -0,0 +1,840 @@ +#if !CUSTOMER_BUILD +using System; +using System.Collections.Generic; +using System.ComponentModel; +using System.Data; +using System.Globalization; +using System.IO; +using System.Linq; +using System.Text; +using System.Windows; +using System.Windows.Controls; +using Microsoft.Win32; +using Ounibo.Catalog.Core; + +namespace Ounibo.Catalog.App +{ + public class ParamRow + { + public string Code { get; set; } + public string NameZh { get; set; } + public string NameEn { get; set; } + public string Unit { get; set; } + public string Type { get; set; } + public string Values { get; set; } + public string Keywords { get; set; } + public string Display { get; set; } // 显示名映射, 格式 值:显示,值:显示 (如 :基本型,M:附磁石 M) + } + + public class RuleRow + { + public string CondParam { get; set; } + public string CondOp { get; set; } + public string CondValue { get; set; } + public string ThenParam { get; set; } + public string ThenOp { get; set; } + public string ThenValues { get; set; } + } + + public class AttachmentRow + { + public string Kind { get; set; } + public string Lang { get; set; } + public string Source { get; set; } + public string Model { get; set; } + } + + public class SeriesChoice + { + public Series Series; + public override string ToString() + { + return Series.code + " - " + Series.nameZh + " (" + (Series.variants == null ? 0 : Series.variants.Count) + " 变体)"; + } + } + + /// + /// 维护入口内的 Builder (M2): 5 步向导 + /// 导入 CSV+STEP 目录 → 参数定义 → 编码确认 → 选型规则 → 附件与生成 .opc。 + /// + public class BuilderWindow : Window + { + MainWindow _owner; + TextBox _tbSeriesCode, _tbSeriesZh, _tbSeriesEn, _tbCatName, _tbVer; + TextBox _tbCsv, _tbStepDir; + TextBlock _lbPreviewCount; + DataGrid _gridPreview, _gridParams, _gridRules, _gridAttach; + TextBox _tbOut; + TextBlock _tbResult; + TextBox _tbSrcDir; + ComboBox _cbSeries; + string _loadedMetaPath; + BindingList _paramRows = new BindingList(); + BindingList _ruleRows = new BindingList(); + BindingList _attRows = new BindingList(); + string[] _header; + List _csvRows = new List(); + + public BuilderWindow(MainWindow owner) + { + _owner = owner; + Title = "目录制作器 Builder (维护入口)"; + Width = 900; Height = 720; MinWidth = 760; MinHeight = 560; + WindowStartupLocation = WindowStartupLocation.CenterOwner; + Owner = owner; + + var root = new DockPanel { Margin = new Thickness(10) }; + + // 系列与目录信息 + var info = new Grid { Margin = new Thickness(0, 0, 0, 8) }; + for (int i = 0; i < 4; i++) info.ColumnDefinitions.Add(new ColumnDefinition { Width = new GridLength(1, GridUnitType.Star) }); + info.RowDefinitions.Add(new RowDefinition()); info.RowDefinitions.Add(new RowDefinition()); info.RowDefinitions.Add(new RowDefinition()); + _tbSeriesCode = AddField(info, 0, 0, "系列代码 Series code"); + _tbSeriesZh = AddField(info, 1, 0, "系列中文名 Name (zh)"); + _tbSeriesEn = AddField(info, 2, 0, "系列英文名 Name (en)"); + _tbCatName = AddField(info, 3, 0, "分类名 Category"); + _tbVer = AddField(info, 0, 1, "目录版本 Version"); + var cfgBtns = new StackPanel { Orientation = Orientation.Horizontal, Margin = new Thickness(0, 2, 0, 0) }; + var btnSaveCfg = new Button { Content = "保存配置", Width = 100, Margin = new Thickness(0, 0, 8, 0) }; + btnSaveCfg.Click += (s, e) => SaveConfig(); + var btnLoadCfg = new Button { Content = "加载配置", Width = 100 }; + btnLoadCfg.Click += (s, e) => LoadConfig(); + cfgBtns.Children.Add(btnSaveCfg); cfgBtns.Children.Add(btnLoadCfg); + Grid.SetColumn(cfgBtns, 1); Grid.SetRow(cfgBtns, 1); + info.Children.Add(cfgBtns); + DockPanel.SetDock(info, Dock.Top); + root.Children.Add(info); + + var tabs = new TabControl(); + tabs.Items.Add(BuildStep1()); + tabs.Items.Add(BuildStep2()); + tabs.Items.Add(BuildStep3()); + tabs.Items.Add(BuildStep4()); + tabs.Items.Add(BuildStep5()); + root.Children.Add(tabs); + Content = root; + ReloadSeriesList(); + } + + TextBox AddField(Grid g, int col, int row, string hint) + { + var tb = new TextBox { Margin = new Thickness(0, 0, 8, 4) }; + Grid.SetColumn(tb, col); Grid.SetRow(tb, row); + g.Children.Add(tb); + if (!string.IsNullOrEmpty(hint)) tb.ToolTip = hint; + return tb; + } + + // ---- Step1: 导入 ---- + TabItem BuildStep1() + { + var panel = new DockPanel { Margin = new Thickness(6) }; + + // 数据源目录 (统一路线): 选目录 → 选系列 → 编辑 → 重建全量目录 + var srcRow = new StackPanel { Orientation = Orientation.Horizontal, Margin = new Thickness(0, 0, 0, 6) }; + srcRow.Children.Add(new TextBlock { Text = "数据源目录:", VerticalAlignment = VerticalAlignment.Center, Margin = new Thickness(0, 0, 4, 0) }); + _tbSrcDir = new TextBox { Width = 300, Margin = new Thickness(0, 0, 6, 0), Text = DefaultSourceDir() }; + var btnSrc = new Button { Content = "选择...", Width = 60, Margin = new Thickness(0, 0, 10, 0) }; + btnSrc.Click += (s, e) => + { + var dlg = new System.Windows.Forms.FolderBrowserDialog { Description = "选择目录源目录 (含 catalog.json + series\\ + csv\\ + step\\)" }; + if (dlg.ShowDialog() == System.Windows.Forms.DialogResult.OK) + { + _tbSrcDir.Text = dlg.SelectedPath; + ReloadSeriesList(); + } + }; + _cbSeries = new ComboBox { Width = 150, Margin = new Thickness(0, 0, 10, 0) }; + _cbSeries.SelectionChanged += (s, e) => OpenSeriesFromSource(); + var btnRebuild = new Button { Content = "重建全量目录", Width = 120, FontWeight = System.Windows.FontWeights.Bold }; + btnRebuild.Click += (s, e) => RebuildFull(); + srcRow.Children.Add(_tbSrcDir); srcRow.Children.Add(btnSrc); srcRow.Children.Add(_cbSeries); srcRow.Children.Add(btnRebuild); + DockPanel.SetDock(srcRow, Dock.Top); + panel.Children.Add(srcRow); + + var top = new StackPanel { Orientation = Orientation.Horizontal, Margin = new Thickness(0, 0, 0, 6) }; + var btnCsv = new Button { Content = "选择参数表 CSV", Width = 130, Margin = new Thickness(0, 0, 6, 0) }; + btnCsv.Click += (s, e) => LoadCsv(); + _tbCsv = new TextBox { Width = 320, Margin = new Thickness(0, 0, 10, 0), IsReadOnly = true }; + var btnDir = new Button { Content = "选择 STEP 目录", Width = 130, Margin = new Thickness(0, 0, 6, 0) }; + btnDir.Click += (s, e) => PickStepDir(); + _tbStepDir = new TextBox { Width = 240, IsReadOnly = true }; + top.Children.Add(btnCsv); top.Children.Add(_tbCsv); top.Children.Add(btnDir); top.Children.Add(_tbStepDir); + var btnImport = new Button { Content = "从当前数据包导入系列", Width = 170, Margin = new Thickness(10, 0, 0, 0) }; + btnImport.Click += (s, e) => ImportFromPackage(); + top.Children.Add(btnImport); + DockPanel.SetDock(top, Dock.Top); + panel.Children.Add(top); + + _lbPreviewCount = new TextBlock { Margin = new Thickness(0, 0, 0, 4) }; + DockPanel.SetDock(_lbPreviewCount, Dock.Top); + panel.Children.Add(_lbPreviewCount); + + _gridPreview = new DataGrid { IsReadOnly = true, AutoGenerateColumns = true }; + panel.Children.Add(_gridPreview); + var tab = new TabItem { Header = "1. 导入 Import" }; + tab.Content = panel; + return tab; + } + + void LoadCsv() + { + var dlg = new OpenFileDialog { Filter = "CSV 参数表 (*.csv)|*.csv", Title = "选择参数表 (首列=型号编码, 含 step_file 列)" }; + if (dlg.ShowDialog() != true) return; + try + { + _tbCsv.Text = dlg.FileName; + PreviewCsv(dlg.FileName); + AutoParams(); + } + catch (Exception ex) + { + MessageBox.Show("CSV 读取失败: " + ex.Message, Title, MessageBoxButton.OK, MessageBoxImage.Error); + } + } + + void PreviewCsv(string path) + { + var lines = File.ReadAllLines(path, System.Text.Encoding.UTF8).Where(l => !string.IsNullOrWhiteSpace(l)).ToArray(); + _header = lines[0].Split(',').Select(x => x.Trim()).ToArray(); + _csvRows = lines.Skip(1).Select(l => l.Split(',')).Where(c => c.Length >= _header.Length && !string.IsNullOrWhiteSpace(c[0])).ToList(); + + var dt = new DataTable(); + foreach (var h in _header) dt.Columns.Add(h); + foreach (var r in _csvRows.Take(50)) + { + var row = dt.NewRow(); + for (int i = 0; i < _header.Length; i++) row[i] = r[i]; + dt.Rows.Add(row); + } + _gridPreview.ItemsSource = dt.DefaultView; + _lbPreviewCount.Text = string.Format("共 {0} 行数据, 预览前 50 行", _csvRows.Count); + } + + // ---- 从当前数据包导入系列: 向导数据与运行目录保持一致 ---- + void ImportFromPackage() + { + var pkg = _owner.Package; + if (pkg == null) { MessageBox.Show("主窗口未加载数据包, 请先打开 .opc", Title); return; } + var cat = pkg.Catalog; + + var picker = new Window { Title = "从当前数据包选择系列", Width = 420, Height = 420, MinWidth = 300, MinHeight = 300, WindowStartupLocation = WindowStartupLocation.CenterOwner, Owner = this }; + var list = new ListBox { Margin = new Thickness(8) }; + foreach (var s in cat.series) list.Items.Add(new SeriesChoice { Series = s }); + var ok = new Button { Content = "确定 OK", Width = 90, IsDefault = true, Margin = new Thickness(8), HorizontalAlignment = HorizontalAlignment.Right }; + var dp = new DockPanel(); + ok.Click += (s2, e2) => picker.DialogResult = true; + DockPanel.SetDock(ok, Dock.Bottom); + dp.Children.Add(ok); dp.Children.Add(list); + picker.Content = dp; + if (picker.ShowDialog() != true || list.SelectedItem == null) return; + var series = ((SeriesChoice)list.SelectedItem).Series; + + try + { + var tmp = Path.Combine(Path.GetTempPath(), "ounibo_builder", series.code); + Directory.CreateDirectory(Path.Combine(tmp, "step")); + + // CSV: model_code + 参数列 + step_file + var sb = new StringBuilder(); + var header = new List { "model_code" }; + foreach (var p in series.parameters ?? new List()) header.Add(p.code); + header.Add("step_file"); + sb.AppendLine(string.Join(",", header)); + foreach (var v in series.variants ?? new List()) + { + var row = new List { v.modelCode }; + foreach (var p in series.parameters ?? new List()) + { + object val; string vs = v.@params != null && v.@params.TryGetValue(p.code, out val) ? Convert.ToString(val, CultureInfo.InvariantCulture) : ""; + if (vs.Contains(",") || vs.Contains("\"")) vs = "\"" + vs.Replace("\"", "\"\"") + "\""; + row.Add(vs); + } + row.Add(Path.GetFileName((v.step ?? "").Replace('\\', '/'))); + sb.AppendLine(string.Join(",", row)); + } + var csvPath = Path.Combine(tmp, series.code + ".csv"); + File.WriteAllText(csvPath, sb.ToString(), Encoding.UTF8); + + // STEP 导出 (去重) + var seen = new HashSet(); + foreach (var v in series.variants ?? new List()) + { + if (v == null || string.IsNullOrEmpty(v.step) || !seen.Add(v.step)) continue; + try { File.WriteAllBytes(Path.Combine(tmp, "step", Path.GetFileName(v.step.Replace('\\', '/'))), pkg.ReadAsset(v.step)); } + catch { } + } + + // 填向导字段 + _tbSeriesCode.Text = series.code; + _tbSeriesZh.Text = series.nameZh ?? ""; + _tbSeriesEn.Text = series.nameEn ?? ""; + _tbVer.Text = cat.catalogVersion ?? ""; + var catName = cat.categories.FirstOrDefault(c2 => c2.series != null && c2.series.Contains(series.code)); + _tbCatName.Text = catName != null ? (catName.nameZh ?? "") : ""; + _tbCsv.Text = csvPath; + _tbStepDir.Text = Path.Combine(tmp, "step"); + PreviewCsv(csvPath); + + // 参数行 + _paramRows.Clear(); + foreach (var p in series.parameters ?? new List()) + { + _paramRows.Add(new ParamRow + { + Code = p.code, + NameZh = p.nameZh ?? "", + NameEn = p.nameEn ?? "", + Unit = p.unit ?? "", + Type = p.type == "number" ? "number" : "enum", + Values = string.Join(",", (p.values ?? new List()).Select(x => Convert.ToString(x, CultureInfo.InvariantCulture))), + Keywords = p.keywords ?? "" + }); + } + _gridParams.ItemsSource = _paramRows; + + // 规则行 + _ruleRows.Clear(); + foreach (var r in series.rules ?? new List()) + { + _ruleRows.Add(new RuleRow + { + CondParam = r.If != null ? r.If.Param : "", + CondOp = r.If != null ? r.If.Op : "eq", + CondValue = r.If != null ? ValToStr(r.If.Value) : "", + ThenParam = r.Then != null ? r.Then.Param : "", + ThenOp = r.Then != null ? r.Then.Op : "in", + ThenValues = r.Then != null ? ValToStr(r.Then.Value) : "" + }); + } + _gridRules.ItemsSource = _ruleRows; + + // 附件 (manual 等包内附件导出为文件) + _attRows.Clear(); + foreach (var a in series.attachments ?? new List()) + { + if (string.IsNullOrEmpty(a.path)) continue; + var f = Path.Combine(tmp, "manual", Path.GetFileName(a.path.Replace('\\', '/'))); + try + { + Directory.CreateDirectory(Path.GetDirectoryName(f)); + File.WriteAllBytes(f, pkg.ReadAsset(a.path)); + _attRows.Add(new AttachmentRow { Kind = a.kind, Lang = a.lang ?? "", Source = f, Model = "" }); + } + catch { } + } + _gridAttach.ItemsSource = _attRows; + + _tbOut.Text = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "..", "sample", series.code + "_edited.opc"); + MessageBox.Show(string.Format("已导入系列 {0}: {1} 个变体, {2} 个参数, {3} 条规则, {4} 个附件\n\n源文件在 {5}", series.code, + series.variants == null ? 0 : series.variants.Count, _paramRows.Count, _ruleRows.Count, _attRows.Count, tmp), Title); + } + catch (Exception ex) + { + MessageBox.Show("导入失败: " + ex.Message, Title, MessageBoxButton.OK, MessageBoxImage.Error); + } + } + + void PickStepDir() + { + var dlg = new System.Windows.Forms.FolderBrowserDialog { Description = "选择 STEP 文件目录" }; + if (dlg.ShowDialog() == System.Windows.Forms.DialogResult.OK) + _tbStepDir.Text = dlg.SelectedPath; + } + + // ---- 数据源目录 (统一路线) ---- + + string DefaultSourceDir() + { + // exe: <工作区>\OnebotCatalog\bin\ → 源目录 OnebotCatalog\onebot-data\catalog (自包含布局) + return Path.GetFullPath(Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "..", "onebot-data", "catalog")); + } + + string GetSourceDir() + { + var d = _tbSrcDir != null ? _tbSrcDir.Text.Trim() : ""; + return Directory.Exists(d) ? d : null; + } + + void ReloadSeriesList() + { + _cbSeries.Items.Clear(); + var src = GetSourceDir(); + if (src == null) return; + var dir = Path.Combine(src, "series"); + if (!Directory.Exists(dir)) return; + foreach (var f in Directory.GetFiles(dir, "*.meta.json").OrderBy(x => x)) + { + // KC.meta.json → KC (GetFileNameWithoutExtension 只剥 .json, 需再剥 .meta) + _cbSeries.Items.Add(Path.GetFileName(f).Replace(".meta.json", "")); + } + } + + void OpenSeriesFromSource() + { + if (_cbSeries.SelectedItem == null) return; + var src = GetSourceDir(); + if (src == null) return; + var code = (string)_cbSeries.SelectedItem; + try + { + LoadMetaFile(Path.Combine(src, "series", code + ".meta.json")); + var csvPath = Path.Combine(src, "csv", code + ".csv"); + if (File.Exists(csvPath)) { _tbCsv.Text = csvPath; PreviewCsv(csvPath); } + _tbStepDir.Text = Path.Combine(src, "step"); + _tbVer.Text = ReadCatalogVersion(src) ?? ""; + _tbOut.Text = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "..", "sample", code + "_edited.opc"); + } + catch (Exception ex) { MessageBox.Show("打开系列失败: " + ex.Message, Title, MessageBoxButton.OK, MessageBoxImage.Error); } + } + + string ReadCatalogVersion(string src) + { + try + { + var f = Path.Combine(src, "catalog.json"); + if (!File.Exists(f)) return null; + var ser = new System.Web.Script.Serialization.JavaScriptSerializer(); + var cat = ser.Deserialize(File.ReadAllText(f, Encoding.UTF8)); + return cat == null ? null : cat.catalogVersion; + } + catch { return null; } + } + + void RebuildFull() + { + var src = GetSourceDir(); + if (src == null) { MessageBox.Show("数据源目录无效: " + (_tbSrcDir == null ? "" : _tbSrcDir.Text) + "\n(需含 catalog.json + series\\ + csv\\ + step\\)", Title); return; } + var ver = ReadCatalogVersion(src) ?? "0.1"; + var outPath = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "..", "sample", "OnebotCatalog_" + ver + ".opc"); + var res = FullCatalogBuilder.BuildFromSourceDir(src, outPath); + var sb = new StringBuilder(); + sb.AppendLine(res.Ok ? "全量重建成功: " + outPath : "全量重建失败"); + foreach (var e in res.Errors) sb.AppendLine(" [错误] " + e); + foreach (var w in res.Warnings) sb.AppendLine(" [警告] " + w); + if (res.Ok) + { + try + { + using (var built = OpcPackage.Open(outPath)) + { + sb.AppendLine("系列数: " + built.Catalog.series.Count + " | 变体数: " + built.Catalog.series.Sum(s2 => s2.variants.Count)); + var issues = PackageValidator.Validate(built); + sb.AppendLine("校验: " + issues.Count(i => i.Severity == "ERROR") + " 错误, " + issues.Count(i => i.Severity == "WARNING") + " 警告"); + } + } + catch (Exception ex) { sb.AppendLine("产物校验失败: " + ex.Message); } + } + if (res.Ok && MessageBox.Show(sb.ToString() + "\n\n是否加载到主窗口?", Title, MessageBoxButton.YesNo, MessageBoxImage.Question) == MessageBoxResult.Yes) + _owner.ReplacePackage(outPath); + else + MessageBox.Show(sb.ToString(), Title, MessageBoxButton.OK, res.Ok ? MessageBoxImage.Information : MessageBoxImage.Error); + } + + // 自动识别参数 (与 OpcBuilder.AutoDetectParameters 共用逻辑): 数值列 → number, 其他 → enum + void AutoParams() + { + _paramRows.Clear(); + if (string.IsNullOrWhiteSpace(_tbCsv.Text)) return; + foreach (var d in OpcBuilder.AutoDetectParameters(_tbCsv.Text)) + { + _paramRows.Add(new ParamRow + { + Code = d.code, + NameZh = d.code, + NameEn = d.code, + Unit = d.unit, + Type = d.type, + Values = string.Join(",", (d.values ?? new List()).Select(v => Convert.ToString(v, CultureInfo.InvariantCulture))), + Keywords = d.keywords ?? "" + }); + } + _gridParams.ItemsSource = _paramRows; + } + + // ---- Step2: 参数定义 ---- + TabItem BuildStep2() + { + _gridParams = new DataGrid { AutoGenerateColumns = false, Margin = new Thickness(6) }; + _gridParams.Columns.Add(new DataGridTextColumn { Header = "参数代码 Code", Binding = new System.Windows.Data.Binding("Code"), IsReadOnly = true, Width = 100 }); + _gridParams.Columns.Add(new DataGridTextColumn { Header = "中文名 NameZh", Binding = new System.Windows.Data.Binding("NameZh"), Width = 110 }); + _gridParams.Columns.Add(new DataGridTextColumn { Header = "英文名 NameEn", Binding = new System.Windows.Data.Binding("NameEn"), Width = 110 }); + _gridParams.Columns.Add(new DataGridTextColumn { Header = "单位 Unit", Binding = new System.Windows.Data.Binding("Unit"), Width = 55 }); + _gridParams.Columns.Add(new DataGridComboBoxColumn { Header = "类型 Type", SelectedItemBinding = new System.Windows.Data.Binding("Type"), ItemsSource = new[] { "number", "enum" }, Width = 85 }); + _gridParams.Columns.Add(new DataGridTextColumn { Header = "取值 Values (逗号分隔)", Binding = new System.Windows.Data.Binding("Values"), Width = 170 }); + _gridParams.Columns.Add(new DataGridTextColumn { Header = "搜索关键词 Keywords (拼音/英文)", Binding = new System.Windows.Data.Binding("Keywords"), Width = 150 }); + _gridParams.Columns.Add(new DataGridTextColumn { Header = "显示名映射 Display (值:显示,值:显示)", Binding = new System.Windows.Data.Binding("Display"), Width = 200 }); + _gridParams.ItemsSource = _paramRows; + var hint = new TextBlock + { + Text = "参数定义: Code 不可改; 补全中英文名; Type: number(数值, 支持范围搜索) / enum(枚举); Values 逗号分隔; Keywords 填拼音等供搜索; Display 格式 值:显示,值:显示 (如 :基本型,M:附磁石)。", + Margin = new Thickness(6), TextWrapping = TextWrapping.Wrap + }; + var panel = new DockPanel(); + DockPanel.SetDock(hint, Dock.Top); + panel.Children.Add(hint); + panel.Children.Add(_gridParams); + var tab = new TabItem { Header = "2. 参数 Parameters" }; + tab.Content = panel; + return tab; + } + + // ---- Step3: 编码确认 ---- + TabItem BuildStep3() + { + var panel = new StackPanel { Margin = new Thickness(6) }; + panel.Children.Add(new TextBlock + { + Text = "型号编码 = 参数表首列 (model_code), 直接沿用, 不做模板反解。\nSTEP 文件命名 = 型号编码 + .step (对应 step_file 列)。\n生成时将校验: 编码唯一、STEP 文件存在、参数完整。", + TextWrapping = TextWrapping.Wrap, Margin = new Thickness(0, 0, 0, 8) + }); + var tab = new TabItem { Header = "3. 编码 Coding" }; + tab.Content = panel; + return tab; + } + + // ---- Step4: 选型规则 ---- + TabItem BuildStep4() + { + var panel = new DockPanel { Margin = new Thickness(6) }; + var top = new StackPanel { Orientation = Orientation.Horizontal, Margin = new Thickness(0, 0, 0, 6) }; + var btnAdd = new Button { Content = "+ 添加规则", Width = 100, Margin = new Thickness(0, 0, 6, 0) }; + btnAdd.Click += (s, e) => _ruleRows.Add(new RuleRow { CondParam = "", CondOp = "eq", CondValue = "", ThenParam = "", ThenOp = "in", ThenValues = "" }); + var btnDel = new Button { Content = "- 删除所选", Width = 100 }; + btnDel.Click += (s, e) => + { + var r = _gridRules.SelectedItem as RuleRow; + if (r != null) _ruleRows.Remove(r); + }; + top.Children.Add(btnAdd); top.Children.Add(btnDel); + DockPanel.SetDock(top, Dock.Top); + panel.Children.Add(top); + + var hint = new TextBlock + { + Text = "规则: 若 条件(参数 运算符 值) 满足, 则 约束(参数 运算符 值列表) 必须满足, 否则该变体无效。\n例: 条件 bore eq 16 → 约束 stroke in 25,50 (即缸径16时行程仅可选25/50)。in 的值用逗号分隔。", + TextWrapping = TextWrapping.Wrap, Margin = new Thickness(0, 0, 0, 6) + }; + DockPanel.SetDock(hint, Dock.Top); + panel.Children.Add(hint); + + _gridRules = new DataGrid { AutoGenerateColumns = false }; + _gridRules.Columns.Add(new DataGridTextColumn { Header = "条件参数", Binding = new System.Windows.Data.Binding("CondParam"), Width = 105 }); + _gridRules.Columns.Add(new DataGridComboBoxColumn { Header = "条件运算符", SelectedItemBinding = new System.Windows.Data.Binding("CondOp"), ItemsSource = new[] { "eq", "ne", "in", "gt", "ge", "lt", "le", "between" }, Width = 95 }); + _gridRules.Columns.Add(new DataGridTextColumn { Header = "条件值", Binding = new System.Windows.Data.Binding("CondValue"), Width = 85 }); + _gridRules.Columns.Add(new DataGridTextColumn { Header = "约束参数", Binding = new System.Windows.Data.Binding("ThenParam"), Width = 105 }); + _gridRules.Columns.Add(new DataGridComboBoxColumn { Header = "约束运算符", SelectedItemBinding = new System.Windows.Data.Binding("ThenOp"), ItemsSource = new[] { "eq", "in" }, Width = 95 }); + _gridRules.Columns.Add(new DataGridTextColumn { Header = "约束值(逗号分隔)", Binding = new System.Windows.Data.Binding("ThenValues"), Width = 150 }); + _gridRules.ItemsSource = _ruleRows; + panel.Children.Add(_gridRules); + var tab = new TabItem { Header = "4. 规则 Rules" }; + tab.Content = panel; + return tab; + } + + // ---- Step5: 附件与生成 ---- + TabItem BuildStep5() + { + var panel = new DockPanel { Margin = new Thickness(6) }; + var top = new StackPanel { Orientation = Orientation.Horizontal, Margin = new Thickness(0, 0, 0, 6) }; + var btnAtt = new Button { Content = "+ 添加附件", Width = 100, Margin = new Thickness(0, 0, 6, 0) }; + btnAtt.Click += (s, e) => + { + var dlg = new OpenFileDialog { Filter = "附件 (*.png;*.jpg;*.pdf)|*.png;*.jpg;*.pdf", Title = "选择附件 (尺寸图/数据表)" }; + if (dlg.ShowDialog() == true) + _attRows.Add(new AttachmentRow { Kind = "dimDrawing", Lang = "zh", Source = dlg.FileName, Model = "" }); + }; + var btnDel = new Button { Content = "- 删除所选", Width = 100, Margin = new Thickness(0, 0, 10, 0) }; + btnDel.Click += (s, e) => + { + var r = _gridAttach.SelectedItem as AttachmentRow; + if (r != null) _attRows.Remove(r); + }; + _tbOut = new TextBox { Width = 340, Text = System.IO.Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "..", "sample", "NewCatalog.opc") }; + top.Children.Add(btnAtt); top.Children.Add(btnDel); top.Children.Add(new TextBlock { Text = "输出 .opc:", VerticalAlignment = VerticalAlignment.Center, Margin = new Thickness(0, 0, 6, 0) }); top.Children.Add(_tbOut); + var btnBuild = new Button { Content = "生成数据包 Build", Width = 130, Margin = new Thickness(10, 0, 0, 0) }; + btnBuild.Click += (s, e) => DoBuild(); + top.Children.Add(btnBuild); + DockPanel.SetDock(top, Dock.Top); + panel.Children.Add(top); + + _gridAttach = new DataGrid { AutoGenerateColumns = false, Height = 200 }; + _gridAttach.Columns.Add(new DataGridComboBoxColumn { Header = "类型 Kind", SelectedItemBinding = new System.Windows.Data.Binding("Kind"), ItemsSource = new[] { "dimDrawing", "datasheet", "note", "manual" }, Width = 110 }); + _gridAttach.Columns.Add(new DataGridComboBoxColumn { Header = "语言 Lang", SelectedItemBinding = new System.Windows.Data.Binding("Lang"), ItemsSource = new[] { "zh", "en" }, Width = 65 }); + _gridAttach.Columns.Add(new DataGridTextColumn { Header = "源文件 Source", Binding = new System.Windows.Data.Binding("Source"), IsReadOnly = true, Width = 330 }); + _gridAttach.Columns.Add(new DataGridTextColumn { Header = "绑定型号 Model(可选)", Binding = new System.Windows.Data.Binding("Model"), Width = 120 }); + _gridAttach.ItemsSource = _attRows; + DockPanel.SetDock(_gridAttach, Dock.Top); + panel.Children.Add(_gridAttach); + + _tbResult = new TextBlock { TextWrapping = TextWrapping.Wrap, Margin = new Thickness(0, 8, 0, 0) }; + panel.Children.Add(_tbResult); + var tab = new TabItem { Header = "5. 附件与生成 Build" }; + tab.Content = panel; + return tab; + } + + object ToNumOrStr(string s) + { + // 前导零的编码 (00/02/03) 保持字符串, 否则会被数值化成 0/2/3 破坏型号匹配 + if (s.Length > 1 && s.StartsWith("0") && s.All(char.IsDigit)) return s; + double d; + if (double.TryParse(s, NumberStyles.Float, CultureInfo.InvariantCulture, out d)) return d; + return s; + } + + List ParseValues(string s) + { + // 注意: 保留空串 (枚举值 "" 合法, 如 磁石=无磁石) + return s.Split(new[] { ',', ',', ';', ';' }) + .Select(x => x.Trim()) + .Select(x => (object)ToNumOrStr(x)) + .ToList(); + } + + Ounibo.Catalog.Core.Rule BuildRule(RuleRow r) + { + if (string.IsNullOrWhiteSpace(r.CondParam) || string.IsNullOrWhiteSpace(r.ThenParam)) return null; + RuleCond If, Then; + If = new RuleCond { Param = r.CondParam.Trim(), Op = r.CondOp, Value = ToNumOrStr(r.CondValue.Trim()) }; + if (r.ThenOp == "in") + Then = new RuleCond { Param = r.ThenParam.Trim(), Op = "in", Value = ParseValues(r.ThenValues).ToArray() }; + else + Then = new RuleCond { Param = r.ThenParam.Trim(), Op = r.ThenOp, Value = ToNumOrStr(r.ThenValues.Trim()) }; + return new Ounibo.Catalog.Core.Rule { If = If, Then = Then }; + } + + // ---- 配置保存/加载 (SeriesMeta 格式, 与源目录 series\*.meta.json 及 CLI --meta 完全通用) ---- + + SeriesMeta BuildMetaFromUi() + { + return new SeriesMeta + { + series = new Series + { + code = _tbSeriesCode.Text.Trim(), + nameZh = _tbSeriesZh.Text.Trim(), + nameEn = _tbSeriesEn.Text.Trim(), + keywords = "", + parameters = _paramRows.Where(p => !string.IsNullOrWhiteSpace(p.Code)).Select(p => new ParameterDef + { + code = p.Code, + nameZh = p.NameZh, + nameEn = p.NameEn, + unit = p.Unit ?? "", + type = p.Type == "number" ? "number" : "enum", + keywords = p.Keywords ?? "", + values = ParseValues(p.Values ?? ""), + display = ParseDisplay(p.Display ?? "") + }).ToList(), + rules = _ruleRows.Select(BuildRule).Where(r => r != null).ToList(), + naming = new Naming { stepNameTemplate = "{model}.step" }, + attachments = new List(), + variants = new List() + }, + attachments = _attRows.Where(a => !string.IsNullOrWhiteSpace(a.Source)).Select(a => new BuildAttachmentSpec + { + kind = a.Kind, + lang = a.Lang, + source = a.Source, + model = string.IsNullOrWhiteSpace(a.Model) ? null : a.Model.Trim() + }).ToList() + }; + } + + Dictionary ParseDisplay(string s) + { + var d = new Dictionary(); + if (string.IsNullOrWhiteSpace(s)) return d; + foreach (var part in s.Split(new[] { ',', ',', ';', ';' })) + { + var kv = part.Split(new[] { ':' }, 2); + if (kv.Length == 2) d[kv[0].Trim()] = kv[1].Trim(); + } + return d.Count == 0 ? null : d; + } + + string FormatDisplay(Dictionary d) + { + if (d == null || d.Count == 0) return ""; + return string.Join(",", d.Select(kv => kv.Key + ":" + kv.Value)); + } + + // 保存到源目录 (series\.meta.json) 或另存为 + void SaveConfig() + { + var code = _tbSeriesCode.Text.Trim(); + var srcDir = GetSourceDir(); + var target = Directory.Exists(srcDir) && !string.IsNullOrEmpty(code) + ? Path.Combine(srcDir, "series", code + ".meta.json") + : null; + if (target == null || (!File.Exists(target) && !string.IsNullOrEmpty(_loadedMetaPath))) + { + // 系列代码改名 → 沿用已加载文件路径 + if (!string.IsNullOrEmpty(_loadedMetaPath)) target = _loadedMetaPath; + } + if (target == null || !File.Exists(target)) + { + var dlg = new SaveFileDialog { Filter = "Builder 配置 (*.json)|*.json", FileName = "builder-config.json", Title = "保存配置" }; + if (dlg.ShowDialog() != true) return; + target = dlg.FileName; + } + try + { + var ser = new System.Web.Script.Serialization.JavaScriptSerializer(); + var meta = BuildMetaFromUi(); + // 覆盖已有配置时保留系列关键词 (向导无此字段, 避免清空搜索关键词) + if (File.Exists(target)) + { + try + { + var old = ser.Deserialize(File.ReadAllText(target, Encoding.UTF8)); + if (old != null && old.series != null && string.Equals(old.series.code, meta.series.code, StringComparison.OrdinalIgnoreCase)) + meta.series.keywords = old.series.keywords; + } + catch { } + } + Directory.CreateDirectory(Path.GetDirectoryName(target)); + File.WriteAllText(target, ser.Serialize(meta), Encoding.UTF8); + _loadedMetaPath = target; + MessageBox.Show("配置已保存: " + target + (target.IndexOf("series" + Path.DirectorySeparatorChar) >= 0 ? "\n(点【重建全量目录】后生效)" : ""), Title); + } + catch (Exception ex) { MessageBox.Show("保存失败: " + ex.Message, Title, MessageBoxButton.OK, MessageBoxImage.Error); } + } + + static string ValToStr(object v) + { + var arr = v as object[]; + if (arr != null) return string.Join(",", arr.Select(x => Convert.ToString(x, CultureInfo.InvariantCulture))); + return v == null ? "" : Convert.ToString(v, CultureInfo.InvariantCulture); + } + + void LoadConfig() + { + var dlg = new OpenFileDialog { Filter = "Builder 配置 (*.json)|*.json", Title = "加载配置" }; + if (dlg.ShowDialog() != true) return; + try { LoadMetaFile(dlg.FileName); } + catch (Exception ex) { MessageBox.Show("加载失败: " + ex.Message, Title, MessageBoxButton.OK, MessageBoxImage.Error); } + } + + void LoadMetaFile(string metaPath) + { + var ser = new System.Web.Script.Serialization.JavaScriptSerializer(); + var meta = ser.Deserialize(File.ReadAllText(metaPath, Encoding.UTF8)); + if (meta == null || meta.series == null) { MessageBox.Show("配置格式无效", Title); return; } + _loadedMetaPath = metaPath; + _tbSeriesCode.Text = meta.series.code ?? ""; + _tbSeriesZh.Text = meta.series.nameZh ?? ""; + _tbSeriesEn.Text = meta.series.nameEn ?? ""; + + _paramRows.Clear(); + foreach (var p in meta.series.parameters ?? new List()) + { + _paramRows.Add(new ParamRow + { + Code = p.code, + NameZh = p.nameZh, + NameEn = p.nameEn, + Unit = p.unit ?? "", + Type = p.type, + Keywords = p.keywords ?? "", + Values = string.Join(",", (p.values ?? new List()).Select(v => Convert.ToString(v, CultureInfo.InvariantCulture))), + Display = FormatDisplay(p.display) + }); + } + _gridParams.ItemsSource = _paramRows; + + _ruleRows.Clear(); + foreach (var r in meta.series.rules ?? new List()) + { + _ruleRows.Add(new RuleRow + { + CondParam = r.If != null ? r.If.Param : "", + CondOp = r.If != null ? r.If.Op : "eq", + CondValue = r.If != null ? ValToStr(r.If.Value) : "", + ThenParam = r.Then != null ? r.Then.Param : "", + ThenOp = r.Then != null ? r.Then.Op : "in", + ThenValues = r.Then != null ? ValToStr(r.Then.Value) : "" + }); + } + _gridRules.ItemsSource = _ruleRows; + + _attRows.Clear(); + foreach (var a in meta.attachments ?? new List()) + { + _attRows.Add(new AttachmentRow { Kind = a.kind, Lang = a.lang, Source = a.source, Model = a.model ?? "" }); + } + _gridAttach.ItemsSource = _attRows; + } + + void DoBuild() + { + _tbResult.Text = ""; + var sb = new System.Text.StringBuilder(); + sb.AppendLine("开始打包..."); + + var series = new Series + { + code = _tbSeriesCode.Text.Trim(), + nameZh = _tbSeriesZh.Text.Trim(), + nameEn = _tbSeriesEn.Text.Trim(), + keywords = "", + parameters = _paramRows.Where(p => !string.IsNullOrWhiteSpace(p.Code)).Select(p => new ParameterDef + { + code = p.Code, + nameZh = string.IsNullOrWhiteSpace(p.NameZh) ? p.Code : p.NameZh, + nameEn = string.IsNullOrWhiteSpace(p.NameEn) ? p.Code : p.NameEn, + unit = p.Unit ?? "", + type = p.Type == "number" ? "number" : "enum", + keywords = p.Keywords ?? "", + values = ParseValues(p.Values ?? "") + }).ToList(), + rules = _ruleRows.Select(BuildRule).Where(r => r != null).ToList(), + naming = new Naming { stepNameTemplate = "{model}.step" }, + attachments = new List(), + variants = new List() + }; + if (string.IsNullOrEmpty(series.code)) { MessageBox.Show("请填写系列代码", Title); return; } + if (_paramRows.Count == 0) { MessageBox.Show("请先在 Step1 导入参数表", Title); return; } + + var res = OpcBuilder.Build( + _tbOut.Text.Trim(), + "欧霓博气动目录", _tbVer.Text.Trim(), + "ACT", _tbCatName.Text.Trim(), _tbCatName.Text.Trim(), + series, + _tbCsv.Text, _tbStepDir.Text, + _attRows.Where(a => !string.IsNullOrWhiteSpace(a.Source)).Select(a => new BuildAttachmentSpec + { + kind = a.Kind, lang = a.Lang, source = a.Source, model = string.IsNullOrWhiteSpace(a.Model) ? null : a.Model.Trim() + }).ToList()); + + if (!res.Ok) + { + sb.AppendLine("打包失败:"); + foreach (var e in res.Errors.Take(20)) sb.AppendLine(" [错误] " + e); + _tbResult.Text = sb.ToString(); + return; + } + sb.AppendLine("打包成功: " + res.OutputPath); + foreach (var w in res.Warnings.Take(10)) sb.AppendLine(" [警告] " + w); + + // 打包后立即校验 + try + { + using (var pkg = OpcPackage.Open(res.OutputPath)) + { + var issues = PackageValidator.Validate(pkg); + sb.AppendLine("校验: " + issues.Count(i => i.Severity == "ERROR") + " 错误, " + issues.Count(i => i.Severity == "WARNING") + " 警告"); + foreach (var i in issues.Take(15)) sb.AppendLine(" [" + i.Severity + "] " + i.Target + " " + i.Message); + sb.AppendLine("变体数: " + pkg.Catalog.series.Sum(s2 => s2.variants.Count)); + } + } + catch (Exception ex) { sb.AppendLine("校验失败: " + ex.Message); } + _tbResult.Text = sb.ToString(); + + if (MessageBox.Show("数据包已生成, 是否加载到主窗口?\n注意: 将替换主窗口当前数据包 (若只做了单系列, 加载后目录只剩该系列)", Title, MessageBoxButton.YesNo, MessageBoxImage.Warning) == MessageBoxResult.Yes) + _owner.ReplacePackage(res.OutputPath); + } + } +} +#endif diff --git a/src/App/Cart.cs b/src/App/Cart.cs new file mode 100644 index 0000000..70efac4 --- /dev/null +++ b/src/App/Cart.cs @@ -0,0 +1,119 @@ +using System; +using System.Collections.Generic; +using System.ComponentModel; +using System.Data; +using System.IO; +using System.IO.Compression; +using System.Linq; +using System.Text; +using System.Windows; +using System.Windows.Controls; + +namespace Ounibo.Catalog.App +{ + /// + /// 购物车条目 (清单式批量导出; 2026-08-24 与网页版语义一致)。 + /// Qty 仅体现在 BOM 数量列, zip 中每型号只打包一份。 + /// + public class CartItem : INotifyPropertyChanged + { + public string ModelCode; // 型号编码 + public string SeriesCode; // 系列代码 + public string SeriesName; // 系列名 + public string StepPath; // 包内 STEP 路径 (非标档位为 null, 打包时跳过并注明) + public string ParamsSummary; // 参数摘要 "key=value; ..." + public bool IsStandard = true;// 非标档位标记 (参数化引擎, 2026-08-25) + public Dictionary Params; // 参数原始值 (非标批量在线生成提交用, 二期) + int _qty = 1; + public int Qty { get { return _qty; } set { _qty = Math.Max(1, value); OnChanged("Qty"); } } + public event PropertyChangedEventHandler PropertyChanged; + void OnChanged(string n) { if (PropertyChanged != null) PropertyChanged(this, new PropertyChangedEventArgs(n)); } + } + + /// 清单窗口 (非模态; 购物车数据在主窗口, 本窗口只是视图)。 + public class CartWindow : Window + { + List _cart; + Action _onChanged; // 数量/删除/清空后回写角标 + Func> _onDownload; // 打包回调 (异步, 含在线生成), 返回 null 成功 / 错误提示 + DataGrid _grid; + TextBlock _countText; + + public CartWindow(List cart, Action onChanged, Func> onDownload) + { + _cart = cart; + _onChanged = onChanged; + _onDownload = onDownload; + Title = "我的清单 My Cart"; + Width = 800; Height = 500; MinWidth = 580; MinHeight = 320; + WindowStartupLocation = WindowStartupLocation.CenterOwner; + Owner = Application.Current != null ? Application.Current.MainWindow : null; + + var root = new DockPanel { Margin = new Thickness(10) }; + var top = new StackPanel { Orientation = Orientation.Horizontal, Margin = new Thickness(0, 0, 0, 8) }; + _countText = new TextBlock { VerticalAlignment = VerticalAlignment.Center, FontWeight = FontWeights.Bold, FontSize = 14 }; + top.Children.Add(_countText); + DockPanel.SetDock(top, Dock.Top); + root.Children.Add(top); + + var bottom = new StackPanel { Orientation = Orientation.Horizontal, Margin = new Thickness(0, 8, 0, 0) }; + var btnClear = new Button { Content = "清空 Clear All", Width = 100, Margin = new Thickness(0, 0, 8, 0) }; + btnClear.Click += (s, e) => { _cart.Clear(); Refresh(); }; + var btnDownload = new Button { Content = "下载全部 (zip + BOM)", Width = 190, Padding = new Thickness(12, 6, 12, 6), FontSize = 14 }; + btnDownload.Click += async (s, e) => + { + if (_cart.Count == 0) { MessageBox.Show("清单为空, 请先加入型号", Title); return; } + btnDownload.IsEnabled = false; + try + { + var err = await _onDownload(); + if (err != null) MessageBox.Show(err, Title, MessageBoxButton.OK, MessageBoxImage.Warning); + } + finally { btnDownload.IsEnabled = true; } + }; + bottom.Children.Add(btnClear); bottom.Children.Add(btnDownload); + DockPanel.SetDock(bottom, Dock.Bottom); + root.Children.Add(bottom); + + _grid = new DataGrid { AutoGenerateColumns = false, IsReadOnly = false, CanUserAddRows = false, CanUserDeleteRows = false }; + _grid.Columns.Add(new DataGridTextColumn { Header = "型号 Model", Binding = new System.Windows.Data.Binding("ModelCode"), Width = 150, IsReadOnly = true }); + _grid.Columns.Add(new DataGridTextColumn { Header = "系列 Series", Binding = new System.Windows.Data.Binding("SeriesName"), Width = new System.Windows.Controls.DataGridLength(1, System.Windows.Controls.DataGridLengthUnitType.Star), IsReadOnly = true }); + _grid.Columns.Add(new DataGridTextColumn { Header = "规格 Params", Binding = new System.Windows.Data.Binding("ParamsSummary"), Width = 200, IsReadOnly = true }); + _grid.Columns.Add(new DataGridTextColumn { Header = "数量 Qty", Binding = new System.Windows.Data.Binding("Qty") { UpdateSourceTrigger = System.Windows.Data.UpdateSourceTrigger.LostFocus }, Width = 70 }); + var delCol = new DataGridTemplateColumn { Header = "操作", Width = 80 }; + delCol.CellTemplate = MakeTemplate(item => { _cart.Remove(item); Refresh(); }); + _grid.Columns.Add(delCol); + _grid.CellEditEnding += (s, e) => { Dispatcher.BeginInvoke(System.Windows.Threading.DispatcherPriority.Background, new Action(Refresh)); }; + root.Children.Add(_grid); + + Content = root; + Refresh(); + } + + System.Windows.DataTemplate MakeTemplate(Action del) + { + var fact = new System.Windows.FrameworkElementFactory(typeof(Button)); + fact.SetValue(Button.ContentProperty, "删除"); + fact.SetValue(Button.PaddingProperty, new Thickness(6, 2, 6, 2)); + fact.SetValue(Button.FontSizeProperty, 12.0); + fact.SetValue(Button.FocusableProperty, false); // 不抢焦点, 避免干扰网格行交互 + fact.AddHandler(Button.ClickEvent, new RoutedEventHandler((s, e) => + { + var dc = ((FrameworkElement)s).DataContext as CartItem; // 模板列取 DataContext 删行 + if (dc != null) del(dc); + e.Handled = true; + })); + var tpl = new System.Windows.DataTemplate(); + tpl.VisualTree = fact; + return tpl; + } + + public void Refresh() + { + _countText.Text = "共 " + _cart.Count + " 项 | 数量只在 BOM 中体现, zip 每型号一份"; + _grid.ItemsSource = null; + _grid.ItemsSource = _cart; + if (_onChanged != null) _onChanged(); + } + } +} diff --git a/src/App/LocalViewerServer.cs b/src/App/LocalViewerServer.cs new file mode 100644 index 0000000..b8e2bd7 --- /dev/null +++ b/src/App/LocalViewerServer.cs @@ -0,0 +1,133 @@ +using System; +using System.Collections.Generic; +using System.IO; +using System.Net; +using System.Net.Sockets; +using System.Text; +using System.Threading; + +namespace Ounibo.Catalog.App +{ + /// + /// 本机 3D 预览微型服务器 (真实数模用, 完全离线): + /// 在 127.0.0.1 随机端口服务 新迪查看器本地副本 + 临时 STEP 文件, + /// 桌面版点【在浏览器中打开 3D 预览】即用系统浏览器打开, 无外部依赖。 + /// + public class LocalViewerServer : IDisposable + { + readonly TcpListener _listener; + readonly Thread _thread; + readonly string _viewerRoot; + readonly string _stepDir; + volatile bool _running = true; + public int Port { get; private set; } + + static readonly Dictionary Mime = new Dictionary + { + { ".html", "text/html; charset=utf-8" }, { ".js", "application/javascript; charset=utf-8" }, + { ".css", "text/css; charset=utf-8" }, { ".png", "image/png" }, { ".jpg", "image/jpeg" }, + { ".wasm", "application/wasm" }, { ".ico", "image/x-icon" }, { ".json", "application/json; charset=utf-8" }, + { ".step", "application/octet-stream" }, { ".stp", "application/octet-stream" } + }; + + public LocalViewerServer(string viewerRoot) + { + _viewerRoot = Path.GetFullPath(viewerRoot); + _stepDir = Path.Combine(Path.GetTempPath(), "onebot_preview"); + Directory.CreateDirectory(_stepDir); + _listener = new TcpListener(IPAddress.Loopback, 0); + _listener.Start(); + Port = ((IPEndPoint)_listener.LocalEndpoint).Port; + _thread = new Thread(Loop) { IsBackground = true, Name = "LocalViewerServer" }; + _thread.Start(); + } + + void Loop() + { + while (_running) + { + TcpClient client = null; + try { client = _listener.AcceptTcpClient(); } + catch { if (!_running) break; Thread.Sleep(500); continue; } + try { Handle(client); } + catch { } + try { client.Close(); } catch { } + } + } + + void Handle(TcpClient client) + { + var stream = client.GetStream(); + stream.ReadTimeout = 3000; + stream.WriteTimeout = 15000; + var reader = new StreamReader(stream, Encoding.ASCII, false, 4096, true); + var reqLine = reader.ReadLine(); + if (string.IsNullOrEmpty(reqLine)) return; + var line = reader.ReadLine(); + var guard = 0; + while (line != null && line != "") + { + line = reader.ReadLine(); + if (++guard > 100) break; + } + + var path = "/"; + var parts = reqLine.Split(' '); + if (parts.Length >= 2) path = parts[1]; + var qi = path.IndexOf('?'); + if (qi >= 0) path = path.Substring(0, qi); + if (path == "/") path = "/STEPViewer/index.html"; + + // 双根: /STEPViewer/... → 查看器副本; /step/... → 临时 STEP 目录 + string root, rel; + if (path.StartsWith("/step/", StringComparison.OrdinalIgnoreCase)) + { + root = _stepDir; + rel = path.Substring("/step/".Length).Replace('/', '\\'); + } + else + { + root = _viewerRoot; + rel = path.Substring(1).Replace('/', '\\'); + } + + byte[] bytes; string status = "200 OK"; string ctype = "application/octet-stream"; + var full = Path.GetFullPath(Path.Combine(root, rel)); + if (full.StartsWith(Path.GetFullPath(root), StringComparison.OrdinalIgnoreCase) && File.Exists(full)) + { + bytes = File.ReadAllBytes(full); + var ext = Path.GetExtension(full).ToLowerInvariant(); + if (Mime.ContainsKey(ext)) ctype = Mime[ext]; + } + else + { + status = "404 Not Found"; + bytes = Encoding.UTF8.GetBytes("404 Not Found"); + ctype = "text/plain; charset=utf-8"; + } + var head = Encoding.ASCII.GetBytes( + "HTTP/1.1 " + status + "\r\nContent-Type: " + ctype + + "\r\nCache-Control: no-cache\r\nContent-Length: " + bytes.Length + + "\r\nConnection: close\r\n\r\n"); + stream.Write(head, 0, head.Length); + stream.Write(bytes, 0, bytes.Length); + stream.Flush(); + } + + /// 把 STEP 内容写入临时服务目录, 返回浏览器可打开的查看器 URL (嵌入+精简菜单+无模型树)。 + public string PublishStep(string fileName, byte[] content) + { + var safe = Path.GetFileName(fileName.Replace('\\', '/')); + File.WriteAllBytes(Path.Combine(_stepDir, safe), content); + return string.Format( + "http://127.0.0.1:{0}/STEPViewer/index.html?file=/step/{1}&embed=1&bg=grey&menu=min", + Port, Uri.EscapeDataString(safe)); + } + + public void Dispose() + { + _running = false; + try { _listener.Stop(); } catch { } + } + } +} diff --git a/src/App/MainWindow.cs b/src/App/MainWindow.cs new file mode 100644 index 0000000..16d7f84 --- /dev/null +++ b/src/App/MainWindow.cs @@ -0,0 +1,1576 @@ +using System; +using System.Collections.Generic; +using System.Data; +using System.Diagnostics; +using System.Globalization; +using System.IO; +using System.IO.Compression; +using System.Linq; +using System.Text; +using System.Windows; +using System.Windows.Controls; +using System.Windows.Input; +using System.Windows.Media; +using System.Windows.Media.Imaging; +using System.Windows.Media.Media3D; // Helix 窗口内 3D (ModelVisual3D 等) +using System.Windows.Controls.Primitives; // DataGridColumnHeader (参数表按列筛选) +using Microsoft.Win32; +using Ounibo.Catalog.Core; +using Ounibo.Catalog.Viewer3D; + +namespace Ounibo.Catalog.App +{ + /// 简单双语: zh/en 文案切换。 + public class Lang + { + public string Code = "zh"; + public string T(string zh, string en) { return Code == "en" ? en : zh; } + public void Toggle() { Code = (Code == "zh") ? "en" : "zh"; } + } + + public class ComboItem + { + public object Value; + public string Text; + public ComboItem(object v, string t) { Value = v; Text = t; } + public override string ToString() { return Text; } + } + + /// + /// 主窗口: 目录树 + 参数选型 + 3D 预览 + 尺寸图/参数表/数据表 + 搜索 + STEP 下载/批量下载。 + /// + public class MainWindow : Window + { + Lang _lang = new Lang(); + OpcPackage _pkg; + Configurator _cfg; + SearchEngine _search; + Series _series; + readonly Dictionary _sel = new Dictionary(); + readonly Dictionary _boxes = new Dictionary(); + readonly Dictionary _ranges = new Dictionary(); + readonly Dictionary _rangeBoxes = new Dictionary(); + List _searchResult; + bool _refreshing; +#if !CUSTOMER_BUILD + bool _admin; +#endif + + TreeView _tree; + StackPanel _paramPanel, _rangePanel; + ViewerControl _viewer; + Image _dimImage; + StackPanel _dimPanel, _manualPanel; + DataGrid _grid, _searchGrid, _crossGrid; + ComboBox _crossBrand; + TabControl _tabs; + TextBlock _modelTitle, _status, _pkgInfo; + Button _btnDownload, _btnDownloadPdf, _btnAddCart, _btnOpen, _btnLang, _btnCart, _btnSearch, _btnExport, _btnRangeApply, _btnRangeReset; + string _curModelCode; // 当前已选型号 (平替对照按此过滤) + DataTable _gridDt; // 参数表数据 (RowFilter 按列筛选) + Dictionary _colFilter = new Dictionary(); // 参数表按列筛选 {参数code: 值} + List _cart = new List(); // 购物车 (淘宝式清单, 与选型状态解耦) + Variant _curVariant; // 当前已解析型号 (加入清单用) + ParamResult _curParam; // 当前参数化结果 (非标档位时非空, 与 _curVariant 互斥; 一期 2026-08-25) + Border _viewerHint; // 3D 视口顶部非标档位提示条 + string _genApi = ""; // NX 按需生成服务地址 (catalog.json genApi; 空=非标下载置灰) + ComboBox _btnGenFmt; // 生成格式选择 (非标档位在线生成, 二期) + CartWindow _cartWin; // 清单窗口 (非模态, 数据在主窗口) + StackPanel _fallbackPanel; // 真实数模 (桌面解析器不支持) → 浏览器预览回退面板 + Button _btnBrowser3D; + LocalViewerServer _previewSrv; // 本机 3D 预览微型服务器 (惰性启动) + string _curStepName; // 当前变体 STEP 文件名 (浏览器预览用) + byte[] _curStepBytes; + HelixToolkit.Wpf.HelixViewport3D _helixView; // 开源 Helix Toolkit (MIT): 真实数模网格 (STL) 窗口内直渲 + Microsoft.Web.WebView2.Wpf.WebView2 _webView2; // 方案 B: 窗口内嵌新迪查看器, 真实 STEP 直显 (免弹浏览器) + bool _webView2Ready; // WebView2 运行时可用标记 (不可用自动降级) +#if !CUSTOMER_BUILD + Button _btnAdmin; +#endif + TextBox _searchBox; + + public OpcPackage Package { get { return _pkg; } } + + public MainWindow(OpcPackage pkg, bool admin) + { + _pkg = pkg; + _genApi = string.IsNullOrEmpty(pkg.Catalog.genApi) ? "" : pkg.Catalog.genApi.TrimEnd('/'); // NX 按需生成服务 (二期) +#if !CUSTOMER_BUILD + _admin = admin; +#endif + Width = 1280; Height = 840; MinWidth = 900; MinHeight = 560; + WindowStartupLocation = WindowStartupLocation.CenterScreen; + var logo = AppResources.LoadPng("OneBot-logo.png"); + if (logo != null) Icon = logo; // 窗口图标 (OneBot logo) + BuildUi(); + ApplyLang(); + if (_pkg != null) LoadPackageIntoUi(); + Closed += (s, e) => { if (_previewSrv != null) { try { _previewSrv.Dispose(); } catch { } } }; + } + + void BuildUi() + { + var root = new DockPanel(); + + // ---- 顶栏 ---- + var top = new StackPanel { Orientation = Orientation.Horizontal, Margin = new Thickness(8, 6, 8, 4) }; + var logoImg = AppResources.LoadPng("OneBot-logo.png"); + if (logoImg != null) + top.Children.Add(new Image { Source = logoImg, Height = 26, Stretch = Stretch.Uniform, Margin = new Thickness(0, 0, 10, 0), VerticalAlignment = VerticalAlignment.Center }); + _btnOpen = new Button { Width = 110, Margin = new Thickness(0, 0, 6, 0) }; + _btnOpen.Click += (s, e) => OpenPackage(); + _searchBox = new TextBox { Width = 200, Margin = new Thickness(10, 0, 4, 0) }; + _searchBox.KeyDown += (s, e) => { if (e.Key == Key.Enter) DoSearch(); }; + _btnSearch = new Button { Width = 60, Margin = new Thickness(0, 0, 6, 0) }; + _btnSearch.Click += (s, e) => DoSearch(); + _btnLang = new Button { Width = 60, Margin = new Thickness(0, 0, 6, 0) }; + _btnLang.Click += (s, e) => { _lang.Toggle(); ApplyLang(); }; + // 清单角标按钮 (常驻顶栏, 2026-08-24) + _btnCart = new Button { Width = 90, Margin = new Thickness(6, 0, 0, 0) }; + _btnCart.Click += (s, e) => OpenCart(); +#if !CUSTOMER_BUILD + _btnAdmin = new Button { Width = 100, Margin = new Thickness(0, 0, 6, 0), Visibility = _admin ? Visibility.Visible : Visibility.Collapsed }; + _btnAdmin.Click += (s, e) => { var w = new AdminWindow(this); w.ShowDialog(); }; +#endif + _pkgInfo = new TextBlock { VerticalAlignment = VerticalAlignment.Center }; + top.Children.Add(_btnOpen); + top.Children.Add(_searchBox); top.Children.Add(_btnSearch); + top.Children.Add(_btnLang); + top.Children.Add(_btnCart); +#if !CUSTOMER_BUILD + top.Children.Add(_btnAdmin); +#endif + top.Children.Add(_pkgInfo); + DockPanel.SetDock(top, Dock.Top); + root.Children.Add(top); + + // ---- 底部状态栏 ---- + _status = new TextBlock { Margin = new Thickness(8, 4, 8, 6) }; + DockPanel.SetDock(_status, Dock.Bottom); + root.Children.Add(_status); + + // ---- 中部: 目录树 | 参数面板 | 标签页 (分隔条可拖拽调整宽度) ---- + var center = new Grid(); + center.ColumnDefinitions.Add(new ColumnDefinition { Width = new GridLength(250), MinWidth = 150, MaxWidth = 420 }); + center.ColumnDefinitions.Add(new ColumnDefinition { Width = GridLength.Auto }); + center.ColumnDefinitions.Add(new ColumnDefinition { Width = new GridLength(320), MinWidth = 220, MaxWidth = 520 }); + center.ColumnDefinitions.Add(new ColumnDefinition { Width = GridLength.Auto }); + center.ColumnDefinitions.Add(new ColumnDefinition { Width = new GridLength(1, GridUnitType.Star) }); + + _tree = new TreeView(); + Grid.SetColumn(_tree, 0); + center.Children.Add(_tree); + center.Children.Add(MakeSplitter(1)); + + var left = new StackPanel { Margin = new Thickness(8) }; + _modelTitle = new TextBlock { FontSize = 16, FontWeight = FontWeights.Bold, Margin = new Thickness(0, 0, 0, 8), TextWrapping = TextWrapping.Wrap }; + left.Children.Add(_modelTitle); + _paramPanel = new StackPanel(); + left.Children.Add(_paramPanel); // 参数最多 7 行, 直接平铺不滚动 (避免下方参数被遮挡) + // 下载操作区 (2026-08-24, 与网页版一致: 参数下方并排 下载 STEP / 下载 PDF, 同款配色) + var actions = new StackPanel { Orientation = Orientation.Horizontal, Margin = new Thickness(0, 10, 0, 0) }; + _btnDownload = new Button + { + Padding = new Thickness(14, 6, 14, 6), + FontSize = 13, + Margin = new Thickness(0, 0, 8, 0), + Visibility = Visibility.Collapsed, + Background = new SolidColorBrush(Color.FromRgb(0x1B, 0x4F, 0x8C)), + Foreground = Brushes.White, + BorderThickness = new Thickness(0), + Cursor = Cursors.Hand + }; + _btnDownload.Click += (s, e) => + { + // 非标档位 + 生成服务可用 → 在线生成 (二期); 否则原 STEP 下载 + if (_curParam != null && !string.IsNullOrEmpty(_genApi)) GenSingle(_curParam); + else DownloadStep(); + }; + // 生成格式选择 (非标档位在线生成用; 生成输出留存全格式, 格式只影响下载) + _btnGenFmt = new ComboBox + { + Width = 108, + Margin = new Thickness(0, 0, 8, 0), + Visibility = Visibility.Collapsed, + ItemsSource = new[] { + new ComboItem("zip", "全格式 zip"), + new ComboItem("step", "STEP"), + new ComboItem("parasolid", "Parasolid"), + new ComboItem("iges", "IGES"), + new ComboItem("stl", "STL") + }, + SelectedIndex = 0 + }; + _btnDownloadPdf = new Button + { + Padding = new Thickness(14, 6, 14, 6), + FontSize = 13, + Visibility = Visibility.Collapsed, + Background = new SolidColorBrush(Color.FromRgb(0xE9, 0xEC, 0xEF)), + Foreground = new SolidColorBrush(Color.FromRgb(0x33, 0x33, 0x33)), + BorderBrush = new SolidColorBrush(Color.FromRgb(0xCC, 0xCC, 0xCC)), + BorderThickness = new Thickness(1), + Cursor = Cursors.Hand + }; + _btnDownloadPdf.Click += (s, e) => DownloadDatasheet(); + // 加入清单 (淘宝式购物车, 2026-08-24) + _btnAddCart = new Button + { + Padding = new Thickness(14, 6, 14, 6), + FontSize = 13, + Margin = new Thickness(0, 0, 8, 0), + Visibility = Visibility.Collapsed, + Background = new SolidColorBrush(Color.FromRgb(0xE9, 0xEC, 0xEF)), + Foreground = new SolidColorBrush(Color.FromRgb(0x33, 0x33, 0x33)), + BorderBrush = new SolidColorBrush(Color.FromRgb(0xCC, 0xCC, 0xCC)), + BorderThickness = new Thickness(1), + Cursor = Cursors.Hand + }; + _btnAddCart.Click += (s, e) => + { + if (_curVariant != null) AddToCart(_curVariant); + else if (_curParam != null) AddToCart(_curParam); + }; + actions.Children.Add(_btnDownload); actions.Children.Add(_btnGenFmt); actions.Children.Add(_btnDownloadPdf); actions.Children.Add(_btnAddCart); + left.Children.Add(actions); + Grid.SetColumn(left, 2); + center.Children.Add(left); + center.Children.Add(MakeSplitter(3)); + + _tabs = new TabControl(); + var tab3d = new TabItem(); + // 3D/尺寸图同页 (2026-08-24, 与网页版布局一致): 左 3D 视口 | 可拖拽分隔条 | 右 尺寸图+手册页 + var grid3d = new Grid(); + grid3d.ColumnDefinitions.Add(new ColumnDefinition { Width = new GridLength(1, GridUnitType.Star), MinWidth = 200 }); + grid3d.ColumnDefinitions.Add(new ColumnDefinition { Width = GridLength.Auto }); + grid3d.ColumnDefinitions.Add(new ColumnDefinition { Width = new GridLength(320), MinWidth = 180, MaxWidth = 640 }); + var view3d = new Grid(); + _viewer = new ViewerControl(); + view3d.Children.Add(_viewer); + // 窗口内 3D (开源 Helix Toolkit, MIT): 渲染 NX 导出的 STL 网格, 免浏览器 + _helixView = new HelixToolkit.Wpf.HelixViewport3D + { + Visibility = Visibility.Collapsed, + Background = new LinearGradientBrush( + Color.FromRgb(0xF2, 0xF4, 0xF7), Color.FromRgb(0xD8, 0xDE, 0xE6), 90.0), + ShowCoordinateSystem = false, + ShowViewCube = false + }; + _helixView.Children.Add(new HelixToolkit.Wpf.DefaultLights()); + view3d.Children.Add(_helixView); + // 窗口内嵌 3D (方案 B, WebView2): 真实 STEP 直接渲染, 不弹外部浏览器 + _webView2 = new Microsoft.Web.WebView2.Wpf.WebView2 { Visibility = Visibility.Collapsed }; + view3d.Children.Add(_webView2); + // 真实数模回退面板: 桌面内置解析器只支持简化占位几何, 真实 B-rep 走本机浏览器+新迪查看器 + _fallbackPanel = new StackPanel + { + Visibility = Visibility.Collapsed, + HorizontalAlignment = HorizontalAlignment.Center, + VerticalAlignment = VerticalAlignment.Center, + MaxWidth = 520 + }; + _fallbackPanel.Children.Add(new TextBlock + { + Text = "该型号为真实 CAD 数模,已自动在浏览器中打开 3D 预览(本机运行,完全离线)。\n若浏览器窗口被关闭,可点下方按钮重新打开。", + TextWrapping = TextWrapping.Wrap, + TextAlignment = TextAlignment.Center, + Margin = new Thickness(20, 0, 20, 14) + }); + _btnBrowser3D = new Button { Width = 240, Height = 42, FontSize = 15 }; + _btnBrowser3D.Click += (s, e) => OpenBrowser3D(); + _fallbackPanel.Children.Add(_btnBrowser3D); + view3d.Children.Add(_fallbackPanel); + // 非标档位提示条 (参数化引擎: 3D 展示最近标准档位近似几何时显示; 与网页版一致) — 最后添加保证置顶 + _viewerHint = new Border + { + Background = new SolidColorBrush(Color.FromArgb(0xE6, 0xFF, 0xF7, 0xD6)), + BorderBrush = new SolidColorBrush(Color.FromRgb(0xD9, 0xB6, 0x3C)), + BorderThickness = new Thickness(1), + Padding = new Thickness(8, 4, 8, 4), + HorizontalAlignment = HorizontalAlignment.Stretch, + VerticalAlignment = VerticalAlignment.Top, + Margin = new Thickness(6), + Visibility = Visibility.Collapsed + }; + _viewerHint.Child = new TextBlock { TextWrapping = TextWrapping.Wrap, FontSize = 12 }; + view3d.Children.Add(_viewerHint); + Grid.SetColumn(view3d, 0); + grid3d.Children.Add(view3d); + grid3d.Children.Add(MakeSplitter(1)); + _dimPanel = new StackPanel(); + _dimPanel.Children.Add(_dimImage = new Image { Stretch = Stretch.Uniform, Margin = new Thickness(8), HorizontalAlignment = HorizontalAlignment.Left }); + _manualPanel = new StackPanel(); + _dimPanel.Children.Add(_manualPanel); + var dimScroll = new ScrollViewer { Content = _dimPanel, VerticalScrollBarVisibility = ScrollBarVisibility.Auto }; + Grid.SetColumn(dimScroll, 2); + grid3d.Children.Add(dimScroll); + tab3d.Content = grid3d; + var tabGrid = new TabItem(); tabGrid.Content = BuildGridTab(); + var tabSearch = new TabItem(); tabSearch.Content = BuildSearchTab(); + var tabCross = new TabItem(); tabCross.Content = BuildCrossRefTab(); + _tabs.Items.Add(tab3d); _tabs.Items.Add(tabGrid); _tabs.Items.Add(tabSearch); _tabs.Items.Add(tabCross); + Grid.SetColumn(_tabs, 4); + center.Children.Add(_tabs); + + root.Children.Add(center); + Content = root; + + Loaded += (s, e) => InitWebView2Async(); // WebView2 初始化须在窗口加载后 + Closed += (s, e) => { if (_webView2 != null) _webView2.Dispose(); }; + } + + // WebView2 运行时初始化 (窗口内嵌 3D 方案 B): 失败则静默降级到浏览器预览 + async void InitWebView2Async() + { + try + { + var userData = System.IO.Path.Combine( + Environment.GetFolderPath(Environment.SpecialFolder.LocalApplicationData), + "OnebotCatalog", "WebView2"); + var env = await Microsoft.Web.WebView2.Core.CoreWebView2Environment.CreateAsync(null, userData); + await _webView2.EnsureCoreWebView2Async(env); + _webView2Ready = true; + } + catch + { + _webView2Ready = false; + _status.Text = _lang.T( + "未检测到 WebView2 运行时, 真实数模用浏览器预览 (Win11 自带; Win10 装 Edge 即可)", + "WebView2 runtime not found - real models open in browser (built into Win11; install Edge on Win10)"); + } + } + + // 列分隔条 (鼠标拖拽调宽) + GridSplitter MakeSplitter(int col) + { + var sp = new GridSplitter { Width = 6, HorizontalAlignment = HorizontalAlignment.Stretch, VerticalAlignment = VerticalAlignment.Stretch }; + Grid.SetColumn(sp, col); + return sp; + } + + static T FindAncestor(DependencyObject d) where T : DependencyObject + { + while (d != null) + { + if (d is T) return (T)d; + d = VisualTreeHelper.GetParent(d); + } + return null; + } + + // ---- 参数表 Tab (范围筛选 + 批量下载) ---- + DockPanel BuildGridTab() + { + var panel = new DockPanel(); + var top = new StackPanel { Orientation = Orientation.Horizontal, Margin = new Thickness(4) }; + _rangePanel = new StackPanel { Orientation = Orientation.Horizontal }; + top.Children.Add(_rangePanel); + _btnRangeApply = new Button { Width = 60, Margin = new Thickness(6, 0, 4, 0) }; + _btnRangeApply.Click += (s, e) => ApplyRange(); + _btnRangeReset = new Button { Width = 60, Margin = new Thickness(0, 0, 10, 0) }; + _btnRangeReset.Click += (s, e) => ResetRange(); + _btnExport = new Button { Width = 110 }; + _btnExport.Click += (s, e) => ExportSelected(); + top.Children.Add(_btnRangeApply); top.Children.Add(_btnRangeReset); top.Children.Add(_btnExport); + DockPanel.SetDock(top, Dock.Top); + panel.Children.Add(top); + + _grid = new DataGrid { AutoGenerateColumns = false, IsReadOnly = true, SelectionMode = DataGridSelectionMode.Extended, SelectionUnit = DataGridSelectionUnit.FullRow, Margin = new Thickness(4) }; + // 双击行 → 参数带入选型 (与网页版一致; 单击/框选仍用于批量下载) + _grid.MouseDoubleClick += (s, e) => + { + var dr = _grid.SelectedItem as DataRowView; + if (dr != null) NavigateToModel(dr["modelCode"].ToString()); + }; + // 右键列头 → 按列筛选 (2026-08-24, 与网页版列筛选一致) + _grid.PreviewMouseRightButtonUp += (s, e) => + { + var header = FindAncestor(e.OriginalSource as DependencyObject); + if (header == null || header.Column == null) return; + var col = header.Column as DataGridTextColumn; + if (col == null || !(col.Binding is System.Windows.Data.Binding)) return; + var path = ((System.Windows.Data.Binding)col.Binding).Path.Path; + if (path == "modelCode") return; + var menu = new ContextMenu(); + var all = new MenuItem { Header = _lang.T("全部 (清除本列筛选)", "All (clear filter)") }; + all.Click += (s2, e2) => { _colFilter.Remove(path); BuildGrid(); }; + menu.Items.Add(all); + var vals = new List(); + foreach (DataRowView r in _grid.Items) { var sv = Convert.ToString(r[path]); if (!vals.Contains(sv)) vals.Add(sv); } + foreach (var sv in vals) + { + var mi = new MenuItem + { + Header = sv.Length == 0 ? _lang.T("(空值)", "(empty)") : sv, + IsChecked = _colFilter.ContainsKey(path) && _colFilter[path] == sv + }; + mi.Click += (s2, e2) => { _colFilter[path] = sv; BuildGrid(); }; + menu.Items.Add(mi); + } + menu.PlacementTarget = header; + menu.IsOpen = true; + e.Handled = true; + }; + var gridHint = new TextBlock + { + Text = "双击行 → 参数带入选型 | 右键列头 → 按列筛选 | 单击/框选多行用于批量下载", + FontSize = 12, + Foreground = new SolidColorBrush(Color.FromRgb(0x88, 0x88, 0x88)), + Margin = new Thickness(6, 2, 0, 4) + }; + DockPanel.SetDock(gridHint, Dock.Bottom); + panel.Children.Add(gridHint); + panel.Children.Add(_grid); + return panel; + } + + // ---- 搜索 Tab ---- + DockPanel BuildSearchTab() + { + var panel = new DockPanel { Margin = new Thickness(4) }; + var hint = new TextBlock + { + Text = "双击结果定位到该型号。支持: 型号编码 / 中文名 / 英文名 / 关键词(拼音) / 竞品型号(平替, 支持模糊)。", + TextWrapping = TextWrapping.Wrap, Margin = new Thickness(0, 0, 0, 4) + }; + DockPanel.SetDock(hint, Dock.Top); + panel.Children.Add(hint); + _searchGrid = new DataGrid { AutoGenerateColumns = false, IsReadOnly = true, SelectionMode = DataGridSelectionMode.Single }; + _searchGrid.Columns.Add(new DataGridTextColumn { Header = "型号 Model", Binding = new System.Windows.Data.Binding("ModelCode"), Width = 180 }); + _searchGrid.Columns.Add(new DataGridTextColumn { Header = "系列 Series", Binding = new System.Windows.Data.Binding("SeriesName") }); + _searchGrid.Columns.Add(new DataGridTextColumn { Header = "STEP", Binding = new System.Windows.Data.Binding("Step") }); + _searchGrid.MouseDoubleClick += (s, e) => JumpToSelected(); + panel.Children.Add(_searchGrid); + return panel; + } + + // ---- 数据包加载 ---- + + void OpenPackage() + { + var dlg = new OpenFileDialog { Filter = "目录数据包 (*.opc)|*.opc", Title = "打开 .opc 数据包" }; + if (dlg.ShowDialog() == true) + ReplacePackage(dlg.FileName); + } + + public bool ReplacePackage(string path) + { + try + { + var np = OpcPackage.Open(path); + if (_pkg != null) _pkg.Dispose(); + _pkg = np; + LoadPackageIntoUi(); + return true; + } + catch (Exception ex) + { + MessageBox.Show("数据包打开失败: " + ex.Message, Title, MessageBoxButton.OK, MessageBoxImage.Error); + return false; + } + } + + void LoadPackageIntoUi() + { + _search = new SearchEngine(_pkg.Catalog); + _tree.Items.Clear(); + foreach (var cat in _pkg.Catalog.categories) + { + var catNode = new TreeViewItem { Header = cat.nameZh, Tag = cat }; + foreach (var sc in cat.series) + { + var s = _pkg.Catalog.series.FirstOrDefault(x => x.code == sc); + if (s == null) continue; + var node = new TreeViewItem { Header = s.nameZh, Tag = s }; + catNode.Items.Add(node); + } + catNode.IsExpanded = true; + _tree.Items.Add(catNode); + } + _tree.SelectedItemChanged += TreeSelected; + _pkgInfo.Text = string.Format("{0} v{1}", _pkg.Catalog.catalogName, _pkg.Catalog.catalogVersion); + RefreshCrossRef(); + _status.Text = _lang.T("请选择产品系列", "Select a series"); + _series = null; _cfg = null; + _paramPanel.Children.Clear(); + _boxes.Clear(); _sel.Clear(); + } + + void TreeSelected(object sender, RoutedPropertyChangedEventArgs e) + { + var node = _tree.SelectedItem as TreeViewItem; + if (node == null || !(node.Tag is Series)) return; + LoadSeries((Series)node.Tag); + } + + void LoadSeries(Series s) + { + _series = s; + // 下载 PDF 按钮: 系列有数据表附件才显示 (与网页一致) + _btnDownloadPdf.Visibility = (s.attachments ?? new List()).Any(a => a.kind == "datasheet") + ? Visibility.Visible : Visibility.Collapsed; + _cfg = new Configurator(s); + _sel.Clear(); + _boxes.Clear(); + _paramPanel.Children.Clear(); + _ranges.Clear(); _rangeBoxes.Clear(); _rangePanel.Children.Clear(); + + foreach (var p in s.parameters) + { + var row = new StackPanel { Orientation = Orientation.Horizontal, Margin = new Thickness(0, 0, 0, 8) }; + row.Children.Add(new TextBlock { Text = ParamLabel(p), Width = 120, VerticalAlignment = VerticalAlignment.Center }); + var cb = new ComboBox { Width = 150, Tag = p }; + if (p.type == "range") + { + // 参数化 range 域: 可编辑下拉 (标准档位快捷选 + 自由输入, 与网页版一致) + cb.IsEditable = true; + cb.IsTextSearchEnabled = false; + cb.KeyDown += (s2, e2) => { if (e2.Key == System.Windows.Input.Key.Enter) TrySetRangeText(cb); }; + cb.LostKeyboardFocus += (s2, e2) => TrySetRangeText(cb); + } + cb.SelectionChanged += ParamChanged; + row.Children.Add(cb); + _paramPanel.Children.Add(row); + _boxes[p.code] = cb; + + // 数值/range 参数 → 参数表范围筛选控件 + if (p.type == "number" || p.type == "range") + { + _rangePanel.Children.Add(new TextBlock { Text = ParamLabel(p) + " ", VerticalAlignment = VerticalAlignment.Center, Margin = new Thickness(0, 0, 4, 0) }); + var min = new TextBox { Width = 50, Margin = new Thickness(0, 0, 4, 0) }; + var max = new TextBox { Width = 50, Margin = new Thickness(0, 0, 4, 0) }; + _rangePanel.Children.Add(min); _rangePanel.Children.Add(new TextBlock { Text = " ~ ", VerticalAlignment = VerticalAlignment.Center, Margin = new Thickness(0, 0, 4, 0) }); _rangePanel.Children.Add(max); + _rangeBoxes[p.code] = new[] { min, max }; + } + } + _viewer.Clear(); + _viewer.Visibility = Visibility.Visible; + _fallbackPanel.Visibility = Visibility.Collapsed; + if (_viewerHint != null) _viewerHint.Visibility = Visibility.Collapsed; + _dimImage.Source = null; + LoadManualPages(s); + BuildGrid(); + RefreshOptions(); + } + + // 手册页 (尺寸图窗口滚动对照, 系列级附件 kind=manual; 标题只显示序号不显示路径) + void LoadManualPages(Series s) + { + _manualPanel.Children.Clear(); + var pages = s.attachments.Where(x => x.kind == "manual").ToList(); + for (int i = 0; i < pages.Count; i++) + { + try + { + var a = pages[i]; + var img = new Image { Source = BitmapFromBytes(_pkg.ReadAsset(a.path)), Stretch = Stretch.Uniform, Margin = new Thickness(8, 4, 8, 8), HorizontalAlignment = HorizontalAlignment.Left }; + _manualPanel.Children.Add(new TextBlock { Text = _lang.T("手册页", "Manual page") + " " + (i + 1) + "/" + pages.Count, Margin = new Thickness(12, 10, 0, 0), FontWeight = FontWeights.Bold }); + _manualPanel.Children.Add(img); + } + catch { } + } + } + + // ---- 选型逻辑 ---- + + string ParamLabel(ParameterDef p) + { + var name = _lang.T(p.nameZh, p.nameEn); + return string.IsNullOrEmpty(p.unit) ? name : name + " (" + p.unit + ")"; + } + + string DisplayText(ParameterDef p, object v) + { + string key = v == null ? "" : Convert.ToString(v, CultureInfo.InvariantCulture); + if (p.display != null && p.display.ContainsKey(key)) + return p.display[key]; + return key; + } + + void ParamChanged(object sender, SelectionChangedEventArgs e) + { + if (_refreshing || _cfg == null) return; + var cb = (ComboBox)sender; + var p = (ParameterDef)cb.Tag; + var item = cb.SelectedItem as ComboItem; + if (item != null) _sel[p.code] = item.Value; + else _sel.Remove(p.code); + RefreshOptions(); + } + + // range 参数自由输入 (参数化引擎): 回车/失焦时校验并写入选择; 非法输入恢复原显示 (与网页版一致) + void TrySetRangeText(ComboBox cb) + { + if (_refreshing || _cfg == null) return; + var p = (ParameterDef)cb.Tag; + if (p.type != "range") return; + var text = (cb.Text ?? "").Trim(); + if (text.Length == 0) + { + if (_sel.ContainsKey(p.code)) { _sel.Remove(p.code); RefreshOptions(); } + return; + } + double d; + if (double.TryParse(text, NumberStyles.Float, CultureInfo.InvariantCulture, out d)) + { + object v = d; + if (ParametricEngine.DomainValid(p, v)) + { + if (!_sel.ContainsKey(p.code) || !EqStr(_sel[p.code], v)) _sel[p.code] = v; + RefreshOptions(); + return; + } + _status.Text = _lang.T("输入超出范围或与步长不符", "Out of range or not aligned to step"); + } + RefreshOptions(); // 恢复显示当前已选值 (非法输入不生效) + } + + void RefreshOptions() + { + if (_cfg == null) return; + _refreshing = true; + try + { + var allowed = _cfg.AllowedOptions(_sel); + foreach (var kv in _boxes) + { + var cb = kv.Value; + var p = (ParameterDef)cb.Tag; + List list; + if (!allowed.TryGetValue(p.code, out list)) list = new List(); + if (_sel.ContainsKey(p.code) && !list.Any(x => EqStr(x, _sel[p.code]))) + _sel.Remove(p.code); + // range 参数: 标准档位选项标注 "标准" (自由输入值不标) + var gridVals = p.gridValues ?? new List(); + cb.ItemsSource = list.Select(v => new ComboItem(v, + p.type == "range" && gridVals.Any(g => EqStr(g, v)) + ? DisplayText(p, v) + " (" + _lang.T("标准", "Std") + ")" + : DisplayText(p, v))).ToList(); + if (_sel.ContainsKey(p.code)) + cb.SelectedItem = cb.Items.OfType().FirstOrDefault(x => EqStr(x.Value, _sel[p.code])); + } + TryUpdateSelection(); + } + finally { _refreshing = false; } + } + + static bool EqStr(object a, object b) + { + return string.Equals( + a == null ? "" : Convert.ToString(a, CultureInfo.InvariantCulture), + b == null ? "" : Convert.ToString(b, CultureInfo.InvariantCulture), + StringComparison.OrdinalIgnoreCase); + } + + void TryUpdateSelection() + { + var v = _cfg == null ? null : _cfg.Resolve(_sel); + ParamResult pres = null; + if (v == null && _cfg != null && _cfg.IsParametric && + _sel.Count == (_series.parameters ?? new List()).Count) + { + pres = ParametricEngine.Generate(_series, _cfg, _sel); + if (pres != null && pres.Error != null) pres = null; // 非法组合按"无匹配"处理 + } + _curVariant = v; + _curParam = pres; + _curModelCode = v != null ? v.modelCode : (pres != null ? pres.ModelCode : null); + + // 下载按钮 (与网页一致): 标准 → 可用; 非标 → 生成服务可用则【在线生成数模】, 否则置灰+提示; 未选全 → 隐藏 + if (v != null) + { + _btnDownload.Visibility = Visibility.Visible; + _btnDownload.IsEnabled = true; + _btnDownload.ToolTip = null; + _btnDownload.Content = _lang.T("下载 STEP", "Download STEP"); + if (_btnGenFmt != null) _btnGenFmt.Visibility = Visibility.Collapsed; // 标准档位无多格式 + } + else if (pres != null) + { + _btnDownload.Visibility = Visibility.Visible; + if (!string.IsNullOrEmpty(_genApi)) + { + _btnDownload.IsEnabled = true; + _btnDownload.ToolTip = null; + _btnDownload.Content = _lang.T("在线生成数模", "Generate 3D model online"); + if (_btnGenFmt != null) _btnGenFmt.Visibility = Visibility.Visible; + } + else + { + _btnDownload.IsEnabled = false; + _btnDownload.ToolTip = _lang.T("非标档位暂不支持数模下载,请联系销售或选择标准档位", + "STEP download unavailable for non-standard config. Contact sales or choose a standard config."); + _btnDownload.Content = _lang.T("下载 STEP", "Download STEP"); + if (_btnGenFmt != null) _btnGenFmt.Visibility = Visibility.Collapsed; + } + } + else { _btnDownload.Visibility = Visibility.Collapsed; if (_btnGenFmt != null) _btnGenFmt.Visibility = Visibility.Collapsed; } + _btnAddCart.Visibility = (v != null || pres != null) ? Visibility.Visible : Visibility.Collapsed; + RefreshCrossRef(); // 平替对照只显示当前型号的平替数据 + + if (v == null && pres == null) + { + var missing = _series.parameters.Where(p => !_sel.ContainsKey(p.code)).Select(p => ParamLabel(p)).ToList(); + _modelTitle.Text = _lang.T("请选择完整参数", "Complete the selection"); + if (missing.Count > 0) + _status.Text = _lang.T( + "已选 " + _sel.Count + "/" + _series.parameters.Count + " 项, 还缺: " + string.Join("、", missing), + _sel.Count + "/" + _series.parameters.Count + " selected, missing: " + string.Join(", ", missing)); + else + _status.Text = _lang.T("该组合无对应型号", "No matching model"); + return; + } + + // 非标档位 (参数化引擎): 标题带徽标, 3D 展示最近标准档位近似几何 + 提示条 (下载已置灰) + if (pres != null) + { + _modelTitle.Text = _lang.T("已选型号: ", "Model: ") + pres.ModelCode + + _lang.T(" [非标档位(无标准数模)]", " [Non-standard (no standard model)]"); + var near = ParametricEngine.NearestStandard(_series, _cfg, pres.Params); + if (near != null) + { + try { TryLegacyRender(near); } + catch (Exception ex) { _status.Text = _lang.T("3D 加载失败: ", "3D load failed: ") + ex.Message; } + } + ((TextBlock)_viewerHint.Child).Text = _lang.T( + "当前为非标档位,展示最近标准档位 " + (near == null ? "?" : near.modelCode) + " 的近似几何", + "Non-standard config — showing nearest standard model " + (near == null ? "?" : near.modelCode) + " as approximation."); + _viewerHint.Visibility = Visibility.Visible; + _status.Text = _lang.T("非标档位: 无对应标准数模, 3D 展示最近标准档位近似几何; STEP 下载需联系销售或选择标准档位", + "Non-standard config: nearest standard model shown; contact sales or choose a standard config for STEP"); + return; + } + + _modelTitle.Text = _lang.T("已选型号: ", "Model: ") + v.modelCode; + _status.Text = _lang.T("选型完成,可下载 STEP 或查看数据表", "Ready - download STEP or view datasheet"); + + try + { + // 3D 显示链 (2026-08-24, 与网页版一致): 占位→自绘; 真实数模→WebView2 窗口内; 无 WebView2→网格 Helix 降级; 都无→浏览器回退 + TryLegacyRender(v); + } + catch (Exception ex) + { + _status.Text = _lang.T("3D 加载失败: ", "3D load failed: ") + ex.Message; + } + + var dim = _series.attachments.FirstOrDefault(a => a.kind == "dimDrawing" && a.model == v.modelCode) + ?? _series.attachments.FirstOrDefault(a => a.kind == "dimDrawing"); + if (dim != null) + { + try { _dimImage.Source = BitmapFromBytes(_pkg.ReadAsset(dim.path)); } + catch { _dimImage.Source = null; } + } + } + + BitmapImage BitmapFromBytes(byte[] bytes) + { + var bmp = new BitmapImage(); + bmp.BeginInit(); + bmp.StreamSource = new MemoryStream(bytes); + bmp.CacheOption = BitmapCacheOption.OnLoad; + bmp.EndInit(); + return bmp; + } + + // 网格侧车文件: <数据包目录>\mesh\.stl/.obj (NX journal 同步导出的预览网格) + string FindMeshSidecar(string stepPath) + { + if (string.IsNullOrEmpty(stepPath)) return null; + var baseName = System.IO.Path.GetFileNameWithoutExtension(stepPath.Replace('\\', '/')); + var dir = System.IO.Path.Combine(System.IO.Path.GetDirectoryName(_pkg.Path) ?? ".", "mesh"); + foreach (var ext in new[] { ".stl", ".obj" }) + { + var f = System.IO.Path.Combine(dir, baseName + ext); + if (System.IO.File.Exists(f)) return f; + } + return null; + } + + // Helix 视口加载网格 (STL/OBJ), 加载后自适应视角 + void LoadHelixMesh(string path) + { + _helixView.Children.Clear(); + _helixView.Children.Add(new HelixToolkit.Wpf.DefaultLights()); + var importer = new HelixToolkit.Wpf.ModelImporter(); + var model = importer.Load(path); + _helixView.Children.Add(new ModelVisual3D { Content = model }); + Dispatcher.BeginInvoke(System.Windows.Threading.DispatcherPriority.Background, + new Action(() => { if (_helixView.IsVisible) _helixView.ZoomExtents(); })); + } + + // 3D 显示链 (2026-08-24 定稿): 占位→自绘; 真实 B-rep→WebView2 精确视图直显; 无 WebView2→网格 Helix 降级; 都无→浏览器回退 + void TryLegacyRender(Variant v) + { + if (_viewerHint != null) _viewerHint.Visibility = Visibility.Collapsed; // 标准档位无提示条 + try + { + var stepText = _pkg.ReadAssetText(v.step); + var mesh = StepMesh.Parse(stepText); + if (mesh != null && mesh.Count >= 3) + { + _viewer.Load(mesh); + _viewer.Visibility = Visibility.Visible; + _helixView.Visibility = Visibility.Collapsed; + _webView2.Visibility = Visibility.Collapsed; + _fallbackPanel.Visibility = Visibility.Collapsed; + return; + } + } + catch { } + if (TryWebView2(v)) return; + // WebView2 不可用: 网格 Helix 降级 (老 Win10 无运行时环境) + var meshPath = FindMeshSidecar(v.step); + if (meshPath != null) + { + try + { + LoadHelixMesh(meshPath); + _helixView.Visibility = Visibility.Visible; + _viewer.Visibility = Visibility.Collapsed; + _webView2.Visibility = Visibility.Collapsed; + _fallbackPanel.Visibility = Visibility.Collapsed; + _status.Text = _lang.T("3D 已在窗口内显示 (STL 网格降级预览)", "3D shown in-window (STL mesh fallback)"); + return; + } + catch { } + } + FallbackToBrowser(v); + } + + // 方案 B: 窗口内嵌 WebView2 显示真实 STEP (本机微型服务器 URL, 完全离线); 不可用返回 false + bool TryWebView2(Variant v) + { + if (!_webView2Ready) return false; + try + { + _curStepName = System.IO.Path.GetFileName((v.step ?? "").Replace('\\', '/')); + _curStepBytes = _pkg.ReadAsset(v.step); + var url = GetPreviewUrl(); + if (url == null) return false; + _webView2.Source = new Uri(url); + _webView2.Visibility = Visibility.Visible; + _viewer.Visibility = Visibility.Collapsed; + _helixView.Visibility = Visibility.Collapsed; + _fallbackPanel.Visibility = Visibility.Collapsed; + _status.Text = _lang.T("真实数模已在窗口内显示 (内嵌 3D 查看器, 完全离线)", "Real model shown in-window (embedded 3D viewer, fully offline)"); + return true; + } + catch { return false; } + } + + // 真实数模且无网格、WebView2 不可用 → 本机浏览器 + 新迪查看器 (最后回退) + void FallbackToBrowser(Variant v) + { + _helixView.Visibility = Visibility.Collapsed; + _webView2.Visibility = Visibility.Collapsed; + _fallbackPanel.Visibility = Visibility.Visible; + _curStepName = System.IO.Path.GetFileName((v.step ?? "").Replace('\\', '/')); + _curStepBytes = _pkg.ReadAsset(v.step); + OpenBrowser3D(true); + } + + // 生成 3D 预览 URL (本机微型服务器 + 新迪查看器; WebView2 窗口内与浏览器弹窗共用); 不可用返回 null + string GetPreviewUrl() + { + if (_curStepBytes == null) return null; + if (_previewSrv == null) + { + // 开发版布局 bin\..\viewer; 客户版布局 exe 旁 viewer\ + var viewerRoot = System.IO.Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "viewer"); + if (!Directory.Exists(viewerRoot)) + viewerRoot = System.IO.Path.GetFullPath(System.IO.Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "..", "viewer")); + if (!Directory.Exists(viewerRoot)) return null; + _previewSrv = new LocalViewerServer(viewerRoot); + } + return _previewSrv.PublishStep(_curStepName ?? "model.step", _curStepBytes); + } + + // 真实数模 → 本机浏览器 + 新迪查看器 (完全离线, 零外部依赖) + void OpenBrowser3D() { OpenBrowser3D(false); } + void OpenBrowser3D(bool silent) + { + try + { + var url = GetPreviewUrl(); + if (url == null) + { + if (silent) + { + _status.Text = _lang.T("未找到 3D 查看器组件 (viewer 目录缺失), 可点下方按钮重试", "3D viewer component not found (missing viewer folder)"); + return; + } + MessageBox.Show(_lang.T("未找到 3D 查看器组件 (viewer 目录缺失)", "3D viewer component not found (missing viewer folder)"), + Title, MessageBoxButton.OK, MessageBoxImage.Warning); + return; + } + Process.Start(url); + _status.Text = _lang.T("已自动在浏览器打开真实数模 3D 预览 (本机服务, 完全离线)", "Real model 3D preview opened in browser (local, fully offline)"); + } + catch (Exception ex) + { + if (silent) + { + _status.Text = _lang.T("自动打开 3D 预览失败, 请点按钮重试: ", "Auto-open 3D preview failed, retry with the button: ") + ex.Message; + return; + } + MessageBox.Show(_lang.T("打开 3D 预览失败: ", "Failed to open 3D preview: ") + ex.Message, + Title, MessageBoxButton.OK, MessageBoxImage.Error); + } + } + + // ---- 参数表 (含范围过滤) ---- + + bool InRange(Variant v) + { + foreach (var r in _ranges) + { + var p = _series.parameters.FirstOrDefault(x => x.code == r.Key); + if (p == null || p.type != "number") continue; + object val; + if (!v.@params.TryGetValue(r.Key, out val)) continue; + double d = Convert.ToDouble(val, CultureInfo.InvariantCulture); + if (r.Value[0].HasValue && d < r.Value[0].Value) return false; + if (r.Value[1].HasValue && d > r.Value[1].Value) return false; + } + return true; + } + + void BuildGrid() + { + var dt = new DataTable(); + dt.Columns.Add("modelCode"); + foreach (var p in _series.parameters) + dt.Columns.Add(p.code); + foreach (var v in _cfg.ValidVariants().Where(InRange)) + { + var row = dt.NewRow(); + row["modelCode"] = v.modelCode; + foreach (var p in _series.parameters) + { + object val; + row[p.code] = v.@params.TryGetValue(p.code, out val) ? Convert.ToString(val, CultureInfo.InvariantCulture) : ""; + } + dt.Rows.Add(row); + } + _grid.Columns.Clear(); + _grid.Columns.Add(new DataGridTextColumn { Header = _lang.T("型号 Model", "Model"), Binding = new System.Windows.Data.Binding("modelCode") }); + foreach (var p in _series.parameters) + { + _grid.Columns.Add(new DataGridTextColumn + { + Header = _lang.T(p.nameZh, p.nameEn) + (string.IsNullOrEmpty(p.unit) ? "" : " (" + p.unit + ")"), + Binding = new System.Windows.Data.Binding(p.code) + }); + } + _gridDt = dt; + ApplyGridFilter(); + _grid.ItemsSource = dt.DefaultView; + } + + // 按列筛选 (右键列头选值, 多列 AND 叠加; RowFilter 字符串比较) + void ApplyGridFilter() + { + if (_gridDt == null) return; + var parts = new List(); + foreach (var kv in _colFilter) + parts.Add("[" + kv.Key + "] = " + (kv.Value.Length == 0 ? "''" : "'" + kv.Value.Replace("'", "''") + "'")); + _gridDt.DefaultView.RowFilter = parts.Count == 0 ? "" : string.Join(" AND ", parts); + } + + void ApplyRange() + { + _ranges.Clear(); + foreach (var kv in _rangeBoxes) + { + double? min = null, max = null; + double d; + if (double.TryParse(kv.Value[0].Text.Trim(), NumberStyles.Float, CultureInfo.InvariantCulture, out d)) min = d; + if (double.TryParse(kv.Value[1].Text.Trim(), NumberStyles.Float, CultureInfo.InvariantCulture, out d)) max = d; + if (min.HasValue || max.HasValue) _ranges[kv.Key] = new double?[] { min, max }; + } + BuildGrid(); + _status.Text = _lang.T("范围筛选: " + _ranges.Count + " 项生效", "Range filters: " + _ranges.Count + " active"); + } + + void ResetRange() + { + _ranges.Clear(); + foreach (var kv in _rangeBoxes) { kv.Value[0].Text = ""; kv.Value[1].Text = ""; } + BuildGrid(); + _status.Text = _lang.T("范围筛选已重置", "Range filters reset"); + } + + // ---- 购物车 (淘宝式清单批量导出, 2026-08-24; 与网页版语义/文案一致) ---- + + void AddToCart(Variant v) + { + if (v == null) return; + AddToCart(v.modelCode, v.step, BuildParamsSummary(v), true, v.@params); + } + + // 非标档位加入清单: 无 STEP, 打包时在线生成或注明 (参数化引擎, 与网页版一致) + void AddToCart(ParamResult p) + { + if (p == null) return; + AddToCart(p.ModelCode, null, + _lang.T("【非标档位(打包时无 STEP)】 ", "[Non-standard (no STEP in package)] ") + BuildParamsSummary(p.Params), + false, p.Params); + } + + void AddToCart(string modelCode, string stepPath, string summary, bool isStandard, Dictionary pars) + { + if (_cart.Any(x => string.Equals(x.ModelCode, modelCode, StringComparison.OrdinalIgnoreCase))) + { + _status.Text = _lang.T("该型号已在清单中", "Already in cart"); + return; + } + _cart.Add(new CartItem + { + ModelCode = modelCode, + SeriesCode = _series == null ? "" : _series.code, + SeriesName = _series == null ? "" : (_lang.Code == "en" ? _series.nameEn : _series.nameZh), + StepPath = stepPath, + ParamsSummary = summary, + IsStandard = isStandard, + Params = pars + }); + UpdateCartBadge(); + _status.Text = _lang.T("已加入清单 (共 " + _cart.Count + " 项)", "Added to cart (" + _cart.Count + " items)"); + } + + // 参数摘要 "键=值; ..." (显示名映射, 空值显示(无)) + string BuildParamsSummary(Variant v) + { + return v == null ? "" : BuildParamsSummary(v.@params); + } + string BuildParamsSummary(Dictionary par) + { + if (_series == null) return ""; + var parts = new List(); + foreach (var p in _series.parameters) + { + object val; + if (!par.TryGetValue(p.code, out val)) continue; + var sv = Convert.ToString(val, CultureInfo.InvariantCulture) ?? ""; + var label = (p.display != null && p.display.ContainsKey(sv)) ? p.display[sv] : sv; + parts.Add(p.nameZh + "=" + (label.Length == 0 ? "(无)" : label)); + } + return string.Join("; ", parts); + } + + void UpdateCartBadge() + { + _btnCart.Content = _lang.T("清单 (" + _cart.Count + ")", "Cart (" + _cart.Count + ")"); + if (_cartWin != null) _cartWin.Refresh(); + } + + void OpenCart() + { + if (_cartWin == null) + { + _cartWin = new CartWindow(_cart, UpdateCartBadge, DownloadCartZip); + _cartWin.Closed += (s, e) => _cartWin = null; + } + _cartWin.Show(); + _cartWin.Activate(); + } + + // 一键打包 (异步, 含非标批量在线生成): 返回 null 成功 / 错误提示字符串 + async System.Threading.Tasks.Task DownloadCartZip() + { + if (_cart.Count == 0) return _lang.T("清单为空, 请先加入型号", "Cart is empty"); + var dlg = new SaveFileDialog + { + FileName = "ONEBOT_清单_" + DateTime.Now.ToString("yyyyMMddHHmmss") + ".zip", + Filter = "ZIP 压缩包 (*.zip)|*.zip" + }; + if (dlg.ShowDialog() != true) return null; + try + { + var snap = _cart.ToArray(); // 打包快照: 打包期间的 UI 操作只影响下一次下载 + var missing = new List(); + var csv = new StringBuilder(); + csv.AppendLine("序号,型号编码,系列代码,系列名,数量,参数摘要,STEP文件名"); + + // 非标档位 + 生成服务可用 → 批量在线生成 → 子 zip 并入主 zip (型号子文件夹多格式) + var nonStd = snap.Where(x => string.IsNullOrEmpty(x.StepPath)).ToList(); + var subZipPath = ""; + if (nonStd.Count > 0 && !string.IsNullOrEmpty(_genApi)) + { + try { subZipPath = await GenBatch(nonStd); } + catch (Exception ex) { return _lang.T("非标生成失败: ", "Generation failed: ") + ex.Message; } + } + + using (var zip = ZipFile.Open(dlg.FileName, ZipArchiveMode.Create)) + { + // 先并入在线生成的子 zip (每型号一个子文件夹, 检索命中的已留存型号也在内) + if (!string.IsNullOrEmpty(subZipPath)) + using (var sub = ZipFile.OpenRead(subZipPath)) + foreach (var e in sub.Entries) + { + var entry = zip.CreateEntry(e.FullName); + using (var es = entry.Open()) + using (var ss = e.Open()) + ss.CopyTo(es); + } + + var used = new HashSet(StringComparer.OrdinalIgnoreCase); + for (int i = 0; i < snap.Length; i++) + { + var it = snap[i]; + // 非标档位: 生成服务可用时已合并为型号子文件夹; 不可用则显式注明 (不静默跳过) + if (string.IsNullOrEmpty(it.StepPath)) + { + csv.AppendLine(CsvEscape(new[] { + (i + 1).ToString(), it.ModelCode, it.SeriesCode, it.SeriesName, + it.Qty.ToString(), it.ParamsSummary, + string.IsNullOrEmpty(_genApi) + ? _lang.T("(非标档位,无 STEP)", "(non-standard, no STEP)") + : _lang.T("(在线生成, 型号子文件夹)", "(generated online, subfolder)") })); + continue; + } + var ext = Path.GetExtension((it.StepPath ?? "").Replace('\\', '/')); + if (string.IsNullOrEmpty(ext)) ext = ".step"; + var name = it.ModelCode + ext; + if (used.Contains(name)) name = it.ModelCode + "_" + it.SeriesCode + ext; // 重名冲突加系列码 + used.Add(name); + try + { + var bytes = _pkg.ReadAsset(it.StepPath); + var entry = zip.CreateEntry(name); + using (var es = entry.Open()) es.Write(bytes, 0, bytes.Length); + } + catch { missing.Add(it.ModelCode); } + csv.AppendLine(CsvEscape(new[] { + (i + 1).ToString(), it.ModelCode, it.SeriesCode, it.SeriesName, + it.Qty.ToString(), it.ParamsSummary, name })); + } + var bom = zip.CreateEntry("BOM.csv"); + using (var es = bom.Open()) { var b = new UTF8Encoding(true).GetBytes(csv.ToString()); es.Write(b, 0, b.Length); } + var txt = zip.CreateEntry("清单.txt"); + using (var es = txt.Open()) { var b = new UTF8Encoding(true).GetBytes(csv.ToString().Replace(",", " ")); es.Write(b, 0, b.Length); } + } + if (!string.IsNullOrEmpty(subZipPath)) try { File.Delete(subZipPath); } catch { } + if (missing.Count > 0) + return _lang.T("打包完成, 但以下型号文件缺失: ", "Packed, but missing: ") + string.Join(", ", missing); + MessageBox.Show(_lang.T("已保存: ", "Saved: ") + dlg.FileName, Title, MessageBoxButton.OK, MessageBoxImage.Information); + return null; + } + catch (Exception ex) + { + return _lang.T("打包失败: ", "Pack failed: ") + ex.Message; + } + } + + // NX 按需生成 (二期 A 版, 单型号): 提交 → 轮询 → 下载全格式 zip (与网页版同语义/文案) + async void GenSingle(ParamResult p) + { + if (string.IsNullOrEmpty(_genApi) || p == null) return; + var api = _genApi; + _btnDownload.IsEnabled = false; + _btnDownload.Content = _lang.T("正在生成数模…", "Generating…"); + try + { + var ser = new System.Web.Script.Serialization.JavaScriptSerializer(); + string body = ser.Serialize(new { series = _series.code, code = p.ModelCode, @params = p.Params }); + string respText; + using (var wc = new System.Net.WebClient()) + { + wc.Encoding = Encoding.UTF8; + wc.Headers[System.Net.HttpRequestHeader.ContentType] = "application/json"; + respText = await wc.UploadStringTaskAsync(api + "/gen", body); + } + var resp = ser.Deserialize>(respText); + if (resp.ContainsKey("immediate")) + { + _status.Text = _lang.T("数模已就绪,开始下载", "Ready — downloading"); + } + else + { + var jobId = Convert.ToString(resp["jobId"]); + bool done = false; + for (int i = 0; i < 150 && !done; i++) + { + await System.Threading.Tasks.Task.Delay(3000); + string stText; + using (var wc = new System.Net.WebClient()) { wc.Encoding = Encoding.UTF8; stText = await wc.DownloadStringTaskAsync(api + "/status?job=" + Uri.EscapeDataString(jobId)); } + var st = ser.Deserialize>(stText); + var state = Convert.ToString(st.ContainsKey("state") ? st["state"] : ""); + if (state == "queued") { _btnDownload.Content = _lang.T("生成队列繁忙,请稍候…", "Queued…"); continue; } + if (state == "running") { _btnDownload.Content = _lang.T("正在生成数模…", "Generating…"); continue; } + if (state == "done" && Convert.ToBoolean(st.ContainsKey("ok") && st["ok"] != null ? st["ok"] : false)) { done = true; break; } + _status.Text = _lang.T("生成失败,请重试或联系销售", "Generation failed — retry or contact sales"); + return; + } + if (!done) { _status.Text = _lang.T("生成超时,请重试", "Generation timed out — retry"); return; } + } + // 输出已留存: 按所选格式直接下载 (生成服务 /download, 与网页一致) + var fmtItem = _btnGenFmt != null ? _btnGenFmt.SelectedItem as ComboItem : null; + var fmtKey = fmtItem != null && fmtItem.Value != null ? fmtItem.Value.ToString() : "zip"; + var extMap = new Dictionary { { "zip", ".zip" }, { "step", ".stp" }, { "parasolid", ".x_t" }, { "iges", ".igs" }, { "stl", ".stl" } }; + var url = api + "/download?series=" + Uri.EscapeDataString(_series.code) + "&code=" + Uri.EscapeDataString(p.ModelCode) + + (fmtKey != "zip" ? "&fmt=" + Uri.EscapeDataString(fmtKey) : ""); + var dlg = new SaveFileDialog { FileName = p.ModelCode + (extMap.ContainsKey(fmtKey) ? extMap[fmtKey] : ".zip"), Filter = "文件 (*.*)|*.*" }; + if (dlg.ShowDialog() != true) return; + using (var wc = new System.Net.WebClient()) await wc.DownloadFileTaskAsync(url, dlg.FileName); + _status.Text = _lang.T("已保存: ", "Saved: ") + dlg.FileName; + } + catch (Exception ex) + { + _status.Text = _lang.T("生成失败: ", "Generation failed: ") + ex.Message; + } + finally + { + _btnDownload.IsEnabled = true; + _btnDownload.Content = _lang.T("在线生成数模", "Generate 3D model online"); + } + } + + // 批量在线生成: 提交 → 轮询 → 下载整体 zip 到临时文件 (返回临时文件路径) + async System.Threading.Tasks.Task GenBatch(List nonStd) + { + var ser = new System.Web.Script.Serialization.JavaScriptSerializer(); + var api = _genApi; + string body = ser.Serialize(new + { + items = nonStd.Select(x => new { series = x.SeriesCode, code = x.ModelCode, @params = x.Params ?? new Dictionary() }).ToList() + }); + string respText; + using (var wc = new System.Net.WebClient()) + { + wc.Encoding = Encoding.UTF8; + wc.Headers[System.Net.HttpRequestHeader.ContentType] = "application/json"; + respText = await wc.UploadStringTaskAsync(api + "/gen-batch", body); + } + var resp = ser.Deserialize>(respText); + if (resp.ContainsKey("error")) throw new Exception(Convert.ToString(resp["error"])); + var jobId = Convert.ToString(resp["jobId"]); + var token = Convert.ToString(resp["token"]); + bool done = false; + for (int i = 0; i < 200 && !done; i++) + { + await System.Threading.Tasks.Task.Delay(3000); + string stText; + using (var wc = new System.Net.WebClient()) { wc.Encoding = Encoding.UTF8; stText = await wc.DownloadStringTaskAsync(api + "/status?job=" + Uri.EscapeDataString(jobId)); } + var st = ser.Deserialize>(stText); + var state = Convert.ToString(st.ContainsKey("state") ? st["state"] : ""); + if (state == "done") { done = true; break; } + if (state == "failed") throw new Exception(Convert.ToString(st.ContainsKey("error") ? st["error"] : "failed")); + _status.Text = state == "queued" + ? _lang.T("生成队列繁忙,请稍候…", "Queued…") + : _lang.T("正在生成数模…", "Generating…"); + } + if (!done) throw new Exception(_lang.T("生成超时,请重试", "Generation timed out — retry")); + var tmp = Path.Combine(Path.GetTempPath(), "ounibo_gen_" + jobId + ".zip"); + using (var wc = new System.Net.WebClient()) await wc.DownloadFileTaskAsync(api + "/files?job=" + Uri.EscapeDataString(jobId) + "&token=" + Uri.EscapeDataString(token), tmp); + return tmp; + } + + static string CsvEscape(string[] cells) + { + return string.Join(",", cells.Select(c => + { + c = c ?? ""; + if (c.IndexOfAny(new[] { ',', '"', '\n', '\r' }) >= 0) + c = "\"" + c.Replace("\"", "\"\"") + "\""; + return c; + })); + } + + // 参数表勾选行 → 批量加入清单 (原"批量导出所选"改造, 统一走清单) + void ExportSelected() + { + var rows = _grid.SelectedItems.OfType().Select(dr => dr["modelCode"].ToString()).ToList(); + if (rows.Count == 0) + { + MessageBox.Show(_lang.T("请先在参数表勾选型号 (Ctrl/Shift 多选)", "Select models in the parameter grid first (Ctrl/Shift)"), Title); + return; + } + int added = 0; + foreach (var model in rows) + { + var v = _cfg.ValidVariants().FirstOrDefault(x => x.modelCode == model); + if (v == null) continue; + if (_cart.Any(x => string.Equals(x.ModelCode, v.modelCode, StringComparison.OrdinalIgnoreCase))) continue; + _cart.Add(new CartItem + { + ModelCode = v.modelCode, + SeriesCode = _series == null ? "" : _series.code, + SeriesName = _series == null ? "" : (_lang.Code == "en" ? _series.nameEn : _series.nameZh), + StepPath = v.step, + ParamsSummary = BuildParamsSummary(v) + }); + added++; + } + UpdateCartBadge(); + _status.Text = _lang.T("已加入清单 " + added + " 项", added + " items added to cart"); + } + + // ---- 搜索 ---- + + void DoSearch() + { + if (_search == null) return; + var q = _searchBox.Text.Trim(); + if (q.Length == 0) return; + var items = _search.Query(q, _lang.Code); + // 平替模糊搜索 (2026-08-24): 竞品型号包含关键词 → 对应我方型号列入结果 (精确命中走引擎 AltCodes 900 分) + foreach (var cr in _pkg.Catalog.crossRefs ?? new List()) + { + if (cr.foreignModel == null || cr.foreignModel.IndexOf(q, StringComparison.OrdinalIgnoreCase) < 0) continue; + if (items.Any(x => string.Equals(x.ModelCode, cr.ourModel, StringComparison.OrdinalIgnoreCase))) continue; + foreach (var s in _pkg.Catalog.series ?? new List()) + { + var vv = (s.variants ?? new List()).FirstOrDefault(x => string.Equals(x.modelCode, cr.ourModel, StringComparison.OrdinalIgnoreCase)); + if (vv == null) continue; + items.Add(new SearchEngine.SearchItem { Series = s, Variant = vv, Note = cr.brand + " " + cr.foreignModel }); + break; + } + } + _searchResult = items; + var dt = new DataTable(); + dt.Columns.Add("ModelCode"); + dt.Columns.Add("SeriesName"); + dt.Columns.Add("Step"); + foreach (var it in items) + { + var row = dt.NewRow(); + row["ModelCode"] = it.ModelCode; + row["SeriesName"] = _lang.Code == "en" ? it.SeriesNameEn : it.SeriesNameZh; + row["Step"] = it.Step; + dt.Rows.Add(row); + } + _searchGrid.ItemsSource = dt.DefaultView; + ((TabItem)_tabs.Items[2]).IsSelected = true; + _status.Text = _lang.T("搜索 \"" + q + "\": " + items.Count + " 条结果", "Search \"" + q + "\": " + items.Count + " result(s)"); + } + + void JumpToSelected() + { + var row = _searchGrid.SelectedItem as DataRowView; + if (row == null || _searchResult == null) return; + var idx = _searchGrid.SelectedIndex; + if (idx < 0 || idx >= _searchResult.Count) return; + NavigateToModel(_searchResult[idx].ModelCode); + } + + // ---- 平替对照 Tab (竞品型号 → 我方型号, 源 catalog\crossref.csv) ---- + DockPanel BuildCrossRefTab() + { + var panel = new DockPanel { Margin = new Thickness(6) }; + var top = new StackPanel { Orientation = Orientation.Horizontal, Margin = new Thickness(0, 0, 0, 6) }; + top.Children.Add(new TextBlock { Text = "品牌筛选:", VerticalAlignment = VerticalAlignment.Center, Margin = new Thickness(0, 0, 6, 0) }); + _crossBrand = new ComboBox { Width = 170 }; + _crossBrand.SelectionChanged += (s, e) => RefreshCrossRef(); + top.Children.Add(_crossBrand); + top.Children.Add(new TextBlock { Text = " 只显示当前型号的平替数据; 双击行跳转 (搜索框输入竞品型号也可直达)", VerticalAlignment = VerticalAlignment.Center, Foreground = System.Windows.Media.Brushes.Gray, Margin = new Thickness(10, 0, 0, 0) }); + DockPanel.SetDock(top, Dock.Top); + panel.Children.Add(top); + + _crossGrid = new DataGrid { IsReadOnly = true, AutoGenerateColumns = false }; + _crossGrid.Columns.Add(new DataGridTextColumn { Header = "品牌 Brand", Binding = new System.Windows.Data.Binding("Brand"), Width = 120 }); + _crossGrid.Columns.Add(new DataGridTextColumn { Header = "竞品型号 Foreign Model", Binding = new System.Windows.Data.Binding("Foreign"), Width = 220 }); + _crossGrid.Columns.Add(new DataGridTextColumn { Header = "我方型号 Our Model", Binding = new System.Windows.Data.Binding("Our"), Width = 180 }); + _crossGrid.Columns.Add(new DataGridTextColumn { Header = "备注 Note", Binding = new System.Windows.Data.Binding("Note"), Width = new System.Windows.Controls.DataGridLength(1, System.Windows.Controls.DataGridLengthUnitType.Star) }); + _crossGrid.MouseDoubleClick += (s, e) => + { + var row = _crossGrid.SelectedItem as DataRowView; + if (row != null) NavigateToModel(Convert.ToString(row["Our"])); + }; + panel.Children.Add(_crossGrid); + return panel; + } + + void RefreshCrossRef() + { + if (_crossGrid == null || _pkg == null) return; + var brandSel = _crossBrand != null && _crossBrand.SelectedItem != null ? Convert.ToString(_crossBrand.SelectedItem) : null; + var dt = new DataTable(); + dt.Columns.Add("Brand"); dt.Columns.Add("Foreign"); dt.Columns.Add("Our"); dt.Columns.Add("Note"); + foreach (var cr in _pkg.Catalog.crossRefs ?? new List()) + { + if (brandSel != null && !string.Equals(cr.brand, brandSel, StringComparison.OrdinalIgnoreCase)) continue; + // 2026-08-24: 只显示与当前已选型号匹配的平替行 (未选型号则显示全部) + if (!string.IsNullOrEmpty(_curModelCode) && !string.Equals(cr.ourModel, _curModelCode, StringComparison.OrdinalIgnoreCase)) continue; + dt.Rows.Add(cr.brand, cr.foreignModel, cr.ourModel, cr.note); + } + _crossGrid.ItemsSource = dt.DefaultView; + if (_crossBrand != null && _crossBrand.Items.Count == 0) + { + _crossBrand.Items.Add(_lang.T("全部品牌", "All brands")); + foreach (var b in (_pkg.Catalog.crossRefs ?? new List()).Select(x => x.brand).Distinct().OrderBy(x => x)) + _crossBrand.Items.Add(b); + _crossBrand.SelectedIndex = 0; + } + } + + // 按我方型号跳转: 定位系列 → 设参数 → 选型完成 (搜索/平替共用) + void NavigateToModel(string modelCode) + { + foreach (var s in _pkg.Catalog.series ?? new List()) + { + var v = (s.variants ?? new List()).FirstOrDefault(x => string.Equals(x.modelCode, modelCode, StringComparison.OrdinalIgnoreCase)); + if (v == null) continue; + foreach (TreeViewItem catNode in _tree.Items) + foreach (TreeViewItem node in catNode.Items) + if (node.Tag == s) node.IsSelected = true; + LoadSeries(s); + foreach (var kv in v.@params) + _sel[kv.Key] = kv.Value; + RefreshOptions(); + ((TabItem)_tabs.Items[0]).IsSelected = true; + return; + } + _status.Text = _lang.T("型号未找到: ", "Model not found: ") + modelCode; + } + + // ---- 下载与数据表 ---- + + void DownloadStep() + { + var v = _cfg == null ? null : _cfg.Resolve(_sel); + if (v == null) + { + MessageBox.Show(_lang.T("请先完成选型", "Complete the selection first"), Title); + return; + } + var dlg = new SaveFileDialog + { + FileName = v.modelCode + ".step", + Filter = "STEP 文件 (*.step)|*.step", + Title = _lang.T("保存 STEP 文件", "Save STEP file") + }; + if (dlg.ShowDialog() == true) + { + try + { + _pkg.ExtractStepTo(v, dlg.FileName); + MessageBox.Show(_lang.T("已保存: ", "Saved: ") + dlg.FileName, Title, MessageBoxButton.OK, MessageBoxImage.Information); + } + catch (Exception ex) + { + MessageBox.Show(_lang.T("保存失败: ", "Save failed: ") + ex.Message, Title, MessageBoxButton.OK, MessageBoxImage.Error); + } + } + } + + void DownloadDatasheet() + { + if (_series == null) return; + var ds = _series.attachments.FirstOrDefault(a => a.kind == "datasheet" && a.lang == _lang.Code) + ?? _series.attachments.FirstOrDefault(a => a.kind == "datasheet"); + if (ds == null) { MessageBox.Show(_lang.T("该系列无数据表", "No datasheet for this series"), Title); return; } + var dlg = new SaveFileDialog + { + Filter = "PDF (*.pdf)|*.pdf", + FileName = Path.GetFileName(ds.path.Replace('\\', '/')) + }; + if (dlg.ShowDialog() != true) return; + try + { + File.WriteAllBytes(dlg.FileName, _pkg.ReadAsset(ds.path)); + MessageBox.Show(_lang.T("已保存: ", "Saved: ") + dlg.FileName, Title, MessageBoxButton.OK, MessageBoxImage.Information); + } + catch (Exception ex) + { + MessageBox.Show(_lang.T("保存失败: ", "Save failed: ") + ex.Message, Title, MessageBoxButton.OK, MessageBoxImage.Error); + } + } + + void OpenDatasheet() + { + if (_series == null) return; + var ds = _series.attachments.FirstOrDefault(a => a.kind == "datasheet" && a.lang == _lang.Code) + ?? _series.attachments.FirstOrDefault(a => a.kind == "datasheet"); + if (ds == null) { MessageBox.Show(_lang.T("该系列无数据表", "No datasheet for this series"), Title); return; } + try + { + var tmp = Path.Combine(Path.GetTempPath(), "ounibo", ds.path.Replace('/', '\\')); + Directory.CreateDirectory(Path.GetDirectoryName(tmp)); + File.WriteAllBytes(tmp, _pkg.ReadAsset(ds.path)); + Process.Start(tmp); + } + catch (Exception ex) + { + MessageBox.Show(_lang.T("打开失败: ", "Open failed: ") + ex.Message, Title); + } + } + + // ---- 语言切换 ---- + + void ApplyLang() + { + Title = _lang.T("欧霓博气动目录 ONEBOT Catalog", "ONEBOT Pneumatic Catalog"); + _btnOpen.Content = _lang.T("打开数据包", "Open Catalog"); + _btnDownload.Content = _lang.T("下载 STEP", "Download STEP"); + _btnDownloadPdf.Content = _lang.T("下载 PDF", "Download PDF"); + _btnLang.Content = _lang.Code == "zh" ? "EN" : "中"; +#if !CUSTOMER_BUILD + _btnAdmin.Content = _lang.T("维护入口", "Admin"); +#endif + if (_btnBrowser3D != null) + _btnBrowser3D.Content = _lang.T("在浏览器中打开 3D 预览", "Open 3D Preview in Browser"); + _btnSearch.Content = _lang.T("搜索", "Search"); + _btnExport.Content = _lang.T("加入清单", "Add to Cart"); + _btnRangeApply.Content = _lang.T("应用", "Apply"); + _btnRangeReset.Content = _lang.T("重置", "Reset"); + _btnAddCart.Content = _lang.T("加入清单", "Add to Cart"); + _btnCart.Content = _lang.T("清单 (" + _cart.Count + ")", "Cart (" + _cart.Count + ")"); + + if (_tabs != null && _tabs.Items.Count >= 4) + { + ((TabItem)_tabs.Items[0]).Header = _lang.T("3D / 尺寸图", "3D / Dimension"); + ((TabItem)_tabs.Items[1]).Header = _lang.T("参数表", "Parameters"); + ((TabItem)_tabs.Items[2]).Header = _lang.T("搜索", "Search"); + ((TabItem)_tabs.Items[3]).Header = _lang.T("平替对照", "Cross-Reference"); + } + + if (_pkg != null) + { + foreach (TreeViewItem catNode in _tree.Items) + { + var cat = (Category)catNode.Tag; + catNode.Header = _lang.T(cat.nameZh, cat.nameEn); + foreach (TreeViewItem sNode in catNode.Items) + { + var s = (Series)sNode.Tag; + sNode.Header = _lang.T(s.nameZh, s.nameEn); + } + } + } + + foreach (var row in _paramPanel.Children.OfType()) + { + var tb = row.Children.OfType().FirstOrDefault(); + var cb = row.Children.OfType().FirstOrDefault(); + if (tb != null && cb != null) + { + tb.Text = ParamLabel((ParameterDef)cb.Tag); + if (cb.ItemsSource != null) + { + var p = (ParameterDef)cb.Tag; + var items = cb.Items.OfType().ToList(); + cb.ItemsSource = items.Select(x => new ComboItem(x.Value, DisplayText(p, x.Value))).ToList(); + } + } + } + + if (_grid != null && _grid.Columns.Count > 0 && _series != null) + { + _grid.Columns[0].Header = _lang.T("型号 Model", "Model"); + for (int i = 0; i < _series.parameters.Count && i + 1 < _grid.Columns.Count; i++) + { + var p = _series.parameters[i]; + _grid.Columns[i + 1].Header = _lang.T(p.nameZh, p.nameEn) + (string.IsNullOrEmpty(p.unit) ? "" : " (" + p.unit + ")"); + } + } + + if (_pkgInfo != null && _pkg != null) + _pkgInfo.Text = string.Format("{0} v{1}", _lang.T(_pkg.Catalog.catalogName, _pkg.Catalog.catalogNameEn), _pkg.Catalog.catalogVersion); + + if (_status != null && _cfg != null) + TryUpdateSelection(); + } + } +} diff --git a/src/App/ViewerControl.cs b/src/App/ViewerControl.cs new file mode 100644 index 0000000..02697a9 --- /dev/null +++ b/src/App/ViewerControl.cs @@ -0,0 +1,108 @@ +using System; +using System.Collections.Generic; +using System.Windows; +using System.Windows.Controls; +using System.Windows.Input; +using System.Windows.Media; +using System.Windows.Media.Media3D; +using Ounibo.Catalog.Viewer3D; + +namespace Ounibo.Catalog.App +{ + /// + /// 3D 预览控件: Viewport3D + 鼠标左键拖拽旋转 + 滚轮缩放。 + /// + public class ViewerControl : UserControl + { + Viewport3D _vp; + PerspectiveCamera _cam; + Model3DGroup _root; + Point _last; + double _theta = 0.6, _phi = 0.9, _dist = 300; + bool _dragging; + + public ViewerControl() + { + _root = new Model3DGroup(); + _root.Children.Add(new DirectionalLight(Colors.White, new Vector3D(-1, -1, -2))); + _root.Children.Add(new DirectionalLight(Colors.White, new Vector3D(1, 0.5, 1))); + + _cam = new PerspectiveCamera + { + Position = new Point3D(0, 0, 300), + LookDirection = new Vector3D(0, 0, -1), + UpDirection = new Vector3D(0, 1, 0), + FieldOfView = 45 + }; + _vp = new Viewport3D { Camera = _cam }; + _vp.Children.Add(new ModelVisual3D { Content = _root }); + Content = new Border { Background = Brushes.White, Child = _vp }; + + _vp.MouseLeftButtonDown += (s, e) => { _dragging = true; _last = e.GetPosition(_vp); _vp.CaptureMouse(); }; + _vp.MouseMove += (s, e) => + { + if (!_dragging) return; + var p = e.GetPosition(_vp); + var dx = p.X - _last.X; + var dy = p.Y - _last.Y; + _last = p; + _theta -= dx * 0.01; + _phi = Math.Max(-1.45, Math.Min(1.45, _phi + dy * 0.01)); + UpdateCamera(); + }; + _vp.MouseLeftButtonUp += (s, e) => { _dragging = false; _vp.ReleaseMouseCapture(); }; + _vp.MouseWheel += (s, e) => + { + _dist *= (e.Delta > 0) ? 0.88 : 1.13; + _dist = Math.Max(20, Math.Min(4000, _dist)); + UpdateCamera(); + }; + } + + public void Clear() + { + var lights = new List(); + foreach (var m in _root.Children) + if (m is Light) lights.Add((Light)m); + _root.Children.Clear(); + foreach (var l in lights) _root.Children.Add(l); + } + + /// 加载圆柱列表并自动取景。 + public void Load(List cyls) + { + Clear(); + if (cyls == null || cyls.Count == 0) return; + + // 颜色: 0 后盖 / 1 缸体 / 2 前盖 / 3 活塞杆 + var brushes = new[] + { + new SolidColorBrush(Color.FromRgb(0x8C, 0x8C, 0x8C)), + new SolidColorBrush(Color.FromRgb(0x2F, 0x6F, 0xB3)), + new SolidColorBrush(Color.FromRgb(0x8C, 0x8C, 0x8C)), + new SolidColorBrush(Color.FromRgb(0xC8, 0xC8, 0xC8)) + }; + for (int i = 0; i < cyls.Count; i++) + { + var mesh = StepMesh.BuildMesh(cyls[i]); + var mat = new DiffuseMaterial(brushes[i % brushes.Length]); + _root.Children.Add(new GeometryModel3D(mesh, mat) { BackMaterial = mat }); + } + + double cx, cy, cz, r, h; + StepMesh.Bounds(cyls, out cx, out cy, out cz, out r, out h); + _dist = Math.Max(120, Math.Max(r * 5.0, h * 1.6)); + _theta = 0.55; _phi = 0.85; + UpdateCamera(); + } + + void UpdateCamera() + { + double x = _dist * Math.Sin(_theta) * Math.Cos(_phi); + double y = _dist * Math.Sin(_phi); + double z = _dist * Math.Cos(_theta) * Math.Cos(_phi); + _cam.Position = new Point3D(x, y, z); + _cam.LookDirection = new Vector3D(-x, -y, -z); + } + } +} diff --git a/src/CatalogCore/Configurator.cs b/src/CatalogCore/Configurator.cs new file mode 100644 index 0000000..d5b1bb5 --- /dev/null +++ b/src/CatalogCore/Configurator.cs @@ -0,0 +1,130 @@ +using System; +using System.Collections.Generic; +using System.Globalization; +using System.Linq; + +namespace Ounibo.Catalog.Core +{ + /// + /// 选型引擎: 规则求值 + 允许值过滤 + 变体解析。 + /// 规则语义: 若某变体满足规则 If 条件, 则必须同时满足 Then 条件, 否则该变体无效。 + /// + public class Configurator + { + public Series Series { get; private set; } + private readonly List _all; + + public Configurator(Series s) + { + Series = s; + _all = s.variants ?? new List(); + } + + /// 参数化模式 (mode=parametric): 选型可超出 CSV 网格, 由 ParametricEngine 生成非标组合。 + public bool IsParametric { get { return ParametricEngine.IsParametric(Series); } } + + // 值比较统一走字符串 (枚举值如 16 / "16.0" / "S" 均可比) + static string S(object o) { return o == null ? "" : Convert.ToString(o, CultureInfo.InvariantCulture); } + static bool Eq(object a, object b) { return string.Equals(S(a), S(b), StringComparison.OrdinalIgnoreCase); } + static double D(object o) { return Convert.ToDouble(o, CultureInfo.InvariantCulture); } + + public bool CondMatches(RuleCond c, Dictionary p) + { + if (c == null) return true; + object val; + if (!p.TryGetValue(c.Param, out val)) return false; + switch (c.Op) + { + case "eq": return Eq(val, c.Value); + case "ne": return !Eq(val, c.Value); + case "in": + var arr = c.Value as object[]; + return arr != null && arr.Any(x => Eq(val, x)); + case "gt": return D(val) > D(c.Value); + case "ge": return D(val) >= D(c.Value); + case "lt": return D(val) < D(c.Value); + case "le": return D(val) <= D(c.Value); + case "between": + var r = c.Value as object[]; + return r != null && r.Length == 2 && D(val) >= D(r[0]) && D(val) <= D(r[1]); + default: return false; + } + } + + public bool RuleViolated(Variant v) + { + foreach (var rule in Series.rules ?? Enumerable.Empty()) + if (CondMatches(rule.If, v.@params) && !CondMatches(rule.Then, v.@params)) + return true; + return false; + } + + /// + /// 部分选择下的规则违背判定 (参数化联动用): Then 参数未选时视为"尚可满足", 不判违背 — + /// 否则选 mount=YB 会瞬间清空其他未选参数的选项 (参数化引擎一期, 与网页同语义)。 + /// + public bool RuleViolatedPartial(Dictionary p) + { + foreach (var rule in Series.rules ?? Enumerable.Empty()) + if (CondMatches(rule.If, p) && p.ContainsKey(rule.Then.Param) && !CondMatches(rule.Then, p)) + return true; + return false; + } + + public List ValidVariants() + { + return _all.Where(v => !RuleViolated(v)).ToList(); + } + + public bool Matches(Variant v, Dictionary sel) + { + foreach (var kv in sel) + { + object val; + if (!v.@params.TryGetValue(kv.Key, out val) || !Eq(val, kv.Value)) + return false; + } + return true; + } + + /// + /// 每个参数在"当前已选 + 规则"约束下的允许值 (保持参数定义顺序)。 + /// 已选参数按"除自身外的其他已选"计算可改值 (选完也能调整), + /// 未选参数按全部已选计算; 均用于 UI 自动清除被置为非法的选择。 + /// + public Dictionary> AllowedOptions(Dictionary sel) + { + var result = new Dictionary>(); + foreach (var p in Series.parameters ?? new List()) + { + // 候选值: 枚举/数值参数取定义值; range 参数取 gridValues 快捷值 + var cands = p.type == "range" + ? (p.gridValues ?? p.values ?? new List()) + : (p.values ?? new List()); + var selForP = sel.Where(kv => kv.Key != p.code).ToDictionary(kv => kv.Key, kv => kv.Value); + var allowed = new List(); + // 联动按"域+规则"判合法 (参数化引擎一期): 自由 range 值没有对应网格行, + // 若按网格行存在性过滤会把其他参数选项瞬间清空 — 与网页同语义 + foreach (var val in cands) + { + var combo = new Dictionary(selForP) { [p.code] = val }; + if (ParametricEngine.ValidatePartial(Series, combo) == null) + allowed.Add(val); + } + // range 参数: 保留当前已选的自由输入值 (域内合法) — 防止联动刷新时清掉自定义值 + if (p.type == "range" && sel.ContainsKey(p.code) && + !allowed.Any(x => Eq(x, sel[p.code])) && ParametricEngine.DomainValid(p, sel[p.code])) + allowed.Add(sel[p.code]); + result[p.code] = allowed; + } + return result; + } + + /// 参数选满且合法时返回变体, 否则 null。 + public Variant Resolve(Dictionary sel) + { + if (sel.Count < (Series.parameters?.Count ?? 0)) return null; + return ValidVariants().FirstOrDefault(v => Matches(v, sel)); + } + } +} diff --git a/src/CatalogCore/FullCatalogBuilder.cs b/src/CatalogCore/FullCatalogBuilder.cs new file mode 100644 index 0000000..8f2463c --- /dev/null +++ b/src/CatalogCore/FullCatalogBuilder.cs @@ -0,0 +1,235 @@ +using System; +using System.Collections.Generic; +using System.IO; +using System.IO.Compression; +using System.Linq; +using System.Text; +using System.Web.Script.Serialization; + +namespace Ounibo.Catalog.Core +{ + /// + /// 系列配置 (源目录 series\<CODE>.meta.json 的格式, 与向导 保存配置 完全同构)。 + /// + public class SeriesMeta + { + public Series series { get; set; } + public List attachments { get; set; } + } + + /// + /// 全量目录构建器 (统一路线, 2026-08-22): + /// 唯一数据源 = 源目录 (默认 onebot-data\catalog\), 结构: + /// catalog.json 目录定义 (名称/版本/分类/系列顺序, 与包内 catalog.json 同构, series 部分留空) + /// series\<CODE>.meta.json 每系列定义 (参数/规则/附件, 向导"保存配置"直接写这里) + /// csv\<CODE>.csv 参数表 (model_code + 参数列 + step_file 列) + /// step\*.step STEP 文件 (几何生成器或 NX 导出) + /// manual\... 等附件源文件 (meta 里 attachments.source 为相对源目录的路径) + /// 构建: 全部系列 → 一个 .opc (单一路线, 不再需要 PowerShell 打包)。 + /// + public static class FullCatalogBuilder + { + public static BuildResult BuildFromSourceDir(string sourceDir, string outPath) + { + var r = new BuildResult { Ok = true }; + try + { + var catFile = Path.Combine(sourceDir, "catalog.json"); + if (!File.Exists(catFile)) { r.Errors.Add("源目录缺少 catalog.json: " + sourceDir); r.Ok = false; return r; } + var ser = new JavaScriptSerializer { MaxJsonLength = int.MaxValue }; + var cat = ser.Deserialize(File.ReadAllText(catFile, Encoding.UTF8)); + if (cat == null || cat.categories == null || cat.categories.Count == 0) + { r.Errors.Add("catalog.json 无效 (缺 categories)"); r.Ok = false; return r; } + + var stepDir = Path.Combine(sourceDir, "step"); + if (!Directory.Exists(stepDir)) { r.Errors.Add("STEP 目录不存在: " + stepDir); r.Ok = false; return r; } + + // 系列代码按分类顺序收集 + var codes = new List(); + foreach (var c in cat.categories) + foreach (var sc in c.series ?? new List()) + if (!codes.Contains(sc)) codes.Add(sc); + + // 每系列: meta + CSV → 变体 + 附件 + var builtSeries = new List(); + var filesToCopy = new List>(); // (源绝对路径, 包内相对路径) + foreach (var code in codes) + { + var metaPath = Path.Combine(sourceDir, "series", code + ".meta.json"); + if (!File.Exists(metaPath)) { r.Errors.Add("系列配置缺失: " + metaPath); continue; } + SeriesMeta meta; + try { meta = ser.Deserialize(File.ReadAllText(metaPath, Encoding.UTF8)); } + catch (Exception ex) { r.Errors.Add("系列配置解析失败 " + code + ": " + ex.Message); continue; } + var s = meta == null ? null : meta.series; + if (s == null) { r.Errors.Add("系列配置无效: " + metaPath); continue; } + + var csvPath = Path.Combine(sourceDir, "csv", code + ".csv"); + if (!File.Exists(csvPath)) { r.Errors.Add("CSV 缺失: " + csvPath); continue; } + var vr = new BuildResult { Ok = true }; + var variants = OpcBuilder.ReadCsvVariants(s, csvPath, stepDir, vr); + foreach (var e in vr.Errors) r.Errors.Add("[" + code + "] " + e); + if (variants == null || variants.Count == 0) { r.Errors.Add("系列 " + code + " 无有效变体"); continue; } + s.variants = variants; + + // 参数化系列 (mode=parametric): 域校验 + 模板对拍门禁 (CSV 全部编码必须能被模板重新生成且一一对应) + if (ParametricEngine.IsParametric(s)) + { + if (string.IsNullOrEmpty(s.modelCodeTemplate)) + r.Errors.Add("[" + code + "] 参数化系列缺少 modelCodeTemplate"); + foreach (var p in s.parameters ?? new List()) + { + if (p.type != "range") continue; + if (p.min == null || p.max == null || p.min.Value > p.max.Value) + { r.Errors.Add("[" + code + "] 参数 " + p.code + " range 域非法 (min/max)"); continue; } + if ((p.step ?? 1) <= 0) { r.Errors.Add("[" + code + "] 参数 " + p.code + " step 非法"); continue; } + foreach (var gv in p.gridValues ?? new List()) + if (!ParametricEngine.DomainValid(p, gv)) + r.Errors.Add("[" + code + "] 参数 " + p.code + " gridValues 含域外值: " + gv); + } + if (!string.IsNullOrEmpty(s.modelCodeTemplate)) + { + var codeToSig = new Dictionary(StringComparer.OrdinalIgnoreCase); + foreach (var v in variants) + { + var regen = ParametricEngine.RenderCode(s.modelCodeTemplate, v.@params); + if (regen == null || !string.Equals(regen, v.modelCode, StringComparison.OrdinalIgnoreCase)) + r.Errors.Add("[" + code + "] 对拍门禁失败: " + v.modelCode + " 模板重生成=" + (regen ?? "null")); + else + { + var sig = string.Join("|", (s.parameters ?? new List()) + .Select(x => x.code + "=" + (v.@params.ContainsKey(x.code) ? v.@params[x.code].ToString() : ""))); + string prev; + if (codeToSig.TryGetValue(regen, out prev)) + { if (prev != sig) r.Errors.Add("[" + code + "] 模板多对一: " + regen + " 对应两个不同组合"); } + else codeToSig[regen] = sig; + } + } + if (r.Errors.Count == 0) + r.Warnings.Add("[" + code + "] 参数化对拍门禁通过: " + variants.Count + " 个编码全部一致"); + } + } + + // 附件: 源文件(相对源目录) → 包内路径 (manual 走 manual/<系列>/ 布局) + s.attachments = new List(); + foreach (var a in meta.attachments ?? new List()) + { + if (string.IsNullOrEmpty(a.source)) continue; + var src = Path.Combine(sourceDir, a.source.Replace('/', '\\')); + if (!File.Exists(src)) { r.Warnings.Add("附件缺失, 跳过: " + a.source); continue; } + string rel; + if (a.kind == "manual") + rel = "manual/" + code + "/" + Path.GetFileName(a.source); + else + { + var folder = a.kind == "dimDrawing" ? "dim-drawing" : a.kind; + rel = "docs/" + folder + "/" + Path.GetFileName(a.source); + } + s.attachments.Add(new Attachment { kind = a.kind, lang = a.lang, path = rel, model = a.model }); + filesToCopy.Add(new Tuple(src, rel)); + } + builtSeries.Add(s); + } + if (builtSeries.Count == 0) { r.Errors.Add("无有效系列"); r.Ok = false; return r; } + if (r.Errors.Count > 0) { r.Ok = false; return r; } + + cat.series = builtSeries; + + // 平替对照表 (可选): catalog\crossref.csv → 校验我方型号存在 → 嵌入 catalog.json + var crossRefPath = Path.Combine(sourceDir, "crossref.csv"); + if (File.Exists(crossRefPath)) + { + var validCodes = new HashSet( + builtSeries.SelectMany(s => s.variants ?? new List()).Select(v => v.modelCode)); + var rows = new List(); + var crLines = File.ReadAllLines(crossRefPath, Encoding.UTF8) + .Where(l => !string.IsNullOrWhiteSpace(l)).ToArray(); + if (crLines.Length > 1) + { + var crHeader = crLines[0].Split(',').Select(x => x.Trim()).ToArray(); + var colBrand = Array.IndexOf(crHeader, "brand"); + var colForeign = Array.IndexOf(crHeader, "foreign_model"); + var colOur = Array.IndexOf(crHeader, "our_model"); + var colNote = Array.IndexOf(crHeader, "note"); + if (colBrand < 0 || colForeign < 0 || colOur < 0) + r.Errors.Add("crossref.csv 表头需含 brand,foreign_model,our_model 列"); + else + { + for (int i = 1; i < crLines.Length; i++) + { + var c = crLines[i].Split(','); + if (c.Length < 4) { r.Errors.Add("crossref.csv 第 " + (i + 1) + " 行字段不足"); continue; } + var brand = c[colBrand].Trim(); + var foreignModel = c[colForeign].Trim(); + var ourModel = c[colOur].Trim(); + if (string.IsNullOrEmpty(brand) || string.IsNullOrEmpty(foreignModel) || string.IsNullOrEmpty(ourModel)) + { r.Errors.Add("crossref.csv 第 " + (i + 1) + " 行有空字段"); continue; } + if (!validCodes.Contains(ourModel)) + { r.Errors.Add("crossref.csv: 我方型号不存在 " + ourModel + " (" + brand + " " + foreignModel + ")"); continue; } + rows.Add(new CrossRefRow + { + brand = brand, + foreignModel = foreignModel, + ourModel = ourModel, + note = (colNote >= 0 && colNote < c.Length) ? c[colNote].Trim() : "" + }); + } + } + } + if (r.Errors.Count > 0) { r.Ok = false; return r; } + cat.crossRefs = rows; + } + + // 参数化测试向量 (双端对拍, 2026-08-25): 源目录根 parametric-vectors.json → 包内根 + // 桌面 selftest 与网页无头 E2E 读同一份文件对拍, 保证 C#/JS 解释器语义一致 + var vecPath = Path.Combine(sourceDir, "parametric-vectors.json"); + if (File.Exists(vecPath)) + { + try + { + ser.DeserializeObject(File.ReadAllText(vecPath, Encoding.UTF8)); + filesToCopy.Add(new Tuple(vecPath, "parametric-vectors.json")); + } + catch (Exception ex) { r.Errors.Add("parametric-vectors.json 解析失败: " + ex.Message); } + } + + // 组装临时目录 → zip + var tmp = Path.Combine(Path.GetTempPath(), "opcbuild_" + Guid.NewGuid().ToString("N")); + Directory.CreateDirectory(tmp); + try + { + foreach (var s in builtSeries) + foreach (var v in s.variants ?? new List()) + { + var dest = Path.Combine(tmp, v.step.Replace('/', '\\')); + Directory.CreateDirectory(Path.GetDirectoryName(dest)); + var srcName = OpcBuilder.ResolveStepFile(stepDir, Path.GetFileName(v.step.Replace('/', '\\'))); + File.Copy(Path.Combine(stepDir, srcName), dest, true); + } + foreach (var f in filesToCopy) + { + var dest = Path.Combine(tmp, f.Item2.Replace('/', '\\')); + Directory.CreateDirectory(Path.GetDirectoryName(dest)); + File.Copy(f.Item1, dest, true); + } + + File.WriteAllText(Path.Combine(tmp, "catalog.json"), ser.Serialize(cat), new UTF8Encoding(true)); + + Directory.CreateDirectory(Path.GetDirectoryName(outPath)); + if (File.Exists(outPath)) File.Delete(outPath); + ZipFile.CreateFromDirectory(tmp, outPath, CompressionLevel.Optimal, false); + r.OutputPath = outPath; + } + finally + { + Directory.Delete(tmp, true); + } + } + catch (Exception ex) + { + r.Errors.Add("全量打包异常: " + ex.Message); + r.Ok = false; + } + return r; + } + } +} diff --git a/src/CatalogCore/Model.cs b/src/CatalogCore/Model.cs new file mode 100644 index 0000000..80cdc43 --- /dev/null +++ b/src/CatalogCore/Model.cs @@ -0,0 +1,103 @@ +using System.Collections.Generic; + +namespace Ounibo.Catalog.Core +{ + // ---- .opc 数据包模型 (字段名与 catalog.json 键一一对应) ---- + + public class Catalog + { + public string schemaVersion { get; set; } + public string catalogName { get; set; } + public string catalogNameEn { get; set; } + public string catalogVersion { get; set; } + public string defaultLang { get; set; } + public string genApi { get; set; } // NX 按需生成服务地址 (空 = 非标下载维持置灰; 二期 2026-08-25) + public List langs { get; set; } + public List categories { get; set; } + public List series { get; set; } + public List crossRefs { get; set; } // 平替对照 (可空) + } + + public class Category + { + public string code { get; set; } + public string nameZh { get; set; } + public string nameEn { get; set; } + public string keywords { get; set; } // 搜索关键词 (英文/拼音等, 空格分隔) + public List series { get; set; } + } + + public class Series + { + public string code { get; set; } + public string nameZh { get; set; } + public string nameEn { get; set; } + public string keywords { get; set; } // 搜索关键词 + public string mode { get; set; } // "parametric"=参数化引擎; 缺失/其他=枚举模式 (现行为) + public string modelCodeTemplate { get; set; } // 参数化: 型号编码模板, 如 "KC{type}{bore}-{stroke}{magnet}{mount}" ({field[:padN]}) + public List parameters { get; set; } + public List rules { get; set; } + public Naming naming { get; set; } + public List attachments { get; set; } + public List variants { get; set; } + } + + public class ParameterDef + { + public string code { get; set; } + public string nameZh { get; set; } + public string nameEn { get; set; } + public string keywords { get; set; } // 搜索关键词 (如拼音 gangjing) + public string unit { get; set; } + public string type { get; set; } // enum / number / range (range=连续参数化域) + public List values { get; set; } + public Dictionary display { get; set; } + // ---- range 域 (type=range 时生效) ---- + public double? min { get; set; } // 域下限 (含) + public double? max { get; set; } // 域上限 (含) + public double? step { get; set; } // 步长 (缺省 1) + public List gridValues { get; set; } // 标准档位快捷值 (仅 UI 快捷选择, 网格真源仍是 CSV) + } + + public class Rule + { + public RuleCond If { get; set; } + public RuleCond Then { get; set; } + } + + public class RuleCond + { + public string Param { get; set; } + public string Op { get; set; } // eq/ne/in/gt/ge/lt/le/between + public object Value { get; set; } // 标量或数组 (op=in/between) + } + + public class Naming + { + public string stepNameTemplate { get; set; } + } + + public class Attachment + { + public string kind { get; set; } // dimDrawing / datasheet / note + public string lang { get; set; } + public string path { get; set; } + public string model { get; set; } // dimDrawing 可绑定具体型号 + } + + public class Variant + { + public string modelCode { get; set; } + public Dictionary @params { get; set; } // C# 保留字用 @ 前缀 + public string step { get; set; } + } + + /// 平替对照行 (竞品型号 → 我方型号, 源: catalog\crossref.csv)。 + public class CrossRefRow + { + public string brand { get; set; } // 竞品品牌 (SMC/亚德客/FESTO/...) + public string foreignModel { get; set; } // 竞品型号 + public string ourModel { get; set; } // 我方型号 (必须存在于目录变体) + public string note { get; set; } // 备注 (完全互换/近似平替/需确认) + } +} diff --git a/src/CatalogCore/OpcBuilder.cs b/src/CatalogCore/OpcBuilder.cs new file mode 100644 index 0000000..0017792 --- /dev/null +++ b/src/CatalogCore/OpcBuilder.cs @@ -0,0 +1,220 @@ +using System; +using System.Collections.Generic; +using System.Globalization; +using System.IO; +using System.IO.Compression; +using System.Linq; +using System.Text; +using System.Web.Script.Serialization; + +namespace Ounibo.Catalog.Core +{ + public class BuildAttachmentSpec + { + public string kind; // dimDrawing / datasheet / note + public string lang; // zh / en + public string source; // 源文件绝对路径 + public string model; // 可选, 绑定型号 + } + + public class BuildResult + { + public bool Ok; + public List Errors = new List(); + public List Warnings = new List(); + public string OutputPath; + } + + /// + /// .opc 打包器 (M2 Builder 内核, 也供脚本/自测使用): + /// CSV (model_code + 参数列 + step_file 列) + STEP 目录 → zip 数据包。 + /// + public static class OpcBuilder + { + /// + /// 从 CSV 自动识别参数定义 (与向导 Step2 共用): + /// 数值列 → type=number (支持范围搜索), 其他 → enum (取值按出现顺序去重)。 + /// + public static List AutoDetectParameters(string csvPath) + { + var result = new List(); + var lines = File.ReadAllLines(csvPath, Encoding.UTF8).Where(l => !string.IsNullOrWhiteSpace(l)).ToArray(); + if (lines.Length < 2) return result; + var header = lines[0].Split(',').Select(x => x.Trim()).ToArray(); + var dataRows = lines.Skip(1).Select(l => l.Split(',')).Where(c => c.Length >= header.Length && !string.IsNullOrWhiteSpace(c[0])).ToList(); + + for (int i = 1; i < header.Length; i++) + { + var code = header[i]; + if (code == "step_file") continue; + // 枚举列保留空值 (如 磁石="" 表示无磁石, 是合法取值); 数值列过滤空值 + var rawVals = dataRows.Select(r => r[i].Trim()).Distinct().ToList(); + var nonEmpty = rawVals.Where(v => v.Length > 0).ToList(); + bool numeric = nonEmpty.Count > 0 && nonEmpty.All(v => + { + double d; + return double.TryParse(v, NumberStyles.Float, CultureInfo.InvariantCulture, out d); + }); + var values = numeric + ? nonEmpty.Select(v => double.Parse(v, CultureInfo.InvariantCulture)).OrderBy(d => d).Cast().ToList() + : rawVals.Cast().ToList(); + result.Add(new ParameterDef + { + code = code, + nameZh = code, + nameEn = code, + unit = numeric ? "mm" : "", + type = numeric ? "number" : "enum", + values = values + }); + } + return result; + } + public static BuildResult Build( + string outPath, + string catalogName, string catalogVersion, + string catCode, string catNameZh, string catNameEn, + Series series, + string csvPath, string stepDir, + List attachments) + { + var r = new BuildResult { Ok = true }; + + try + { + // 1) 读 CSV: 首列 = 型号编码, step_file 列 = STEP 文件名, 其余 = 参数 + if (!File.Exists(csvPath)) { r.Errors.Add("CSV 不存在: " + csvPath); r.Ok = false; return r; } + if (!Directory.Exists(stepDir)) { r.Errors.Add("STEP 目录不存在: " + stepDir); r.Ok = false; return r; } + + var variants = ReadCsvVariants(series, csvPath, stepDir, r); + if (r.Errors.Count > 0 || variants == null || variants.Count == 0) + { + if (variants == null || variants.Count == 0) r.Errors.Add("无有效变体"); + r.Ok = false; return r; + } + + // 2) 目录与系列 + var cat = new Catalog + { + schemaVersion = "1.0", + catalogName = catalogName, + catalogNameEn = catalogName, + catalogVersion = catalogVersion, + defaultLang = "zh", + langs = new List { "zh", "en" }, + categories = new List + { + new Category { code = catCode, nameZh = catNameZh, nameEn = catNameEn, series = new List { series.code } } + }, + series = new List { series } + }; + series.variants = variants; + + // 3) 组装临时目录 → zip + var tmp = Path.Combine(Path.GetTempPath(), "opcbuild_" + Guid.NewGuid().ToString("N")); + Directory.CreateDirectory(tmp); + try + { + foreach (var v in variants) + { + var dest = Path.Combine(tmp, v.step.Replace('/', '\\')); + Directory.CreateDirectory(Path.GetDirectoryName(dest)); + var srcName = ResolveStepFile(stepDir, Path.GetFileName(v.step.Replace('/', '\\'))); + File.Copy(Path.Combine(stepDir, srcName), dest); + } + foreach (var a in attachments ?? new List()) + { + if (!File.Exists(a.source)) { r.Warnings.Add("附件源文件缺失, 跳过: " + a.source); continue; } + // 包内目录统一用 kebab-case (dimDrawing → dim-drawing), 与 sample-data 布局一致 + var folder = a.kind == "dimDrawing" ? "dim-drawing" : a.kind; + var rel = "docs/" + folder + "/" + Path.GetFileName(a.source); + Directory.CreateDirectory(Path.Combine(tmp, "docs", folder)); + File.Copy(a.source, Path.Combine(tmp, rel.Replace('/', '\\')), true); + series.attachments = series.attachments ?? new List(); + series.attachments.Add(new Attachment { kind = a.kind, lang = a.lang, path = rel, model = a.model }); + } + + var ser = new JavaScriptSerializer(); + var json = ser.Serialize(cat); + File.WriteAllText(Path.Combine(tmp, "catalog.json"), json, new UTF8Encoding(true)); + + Directory.CreateDirectory(Path.GetDirectoryName(outPath)); + if (File.Exists(outPath)) File.Delete(outPath); + ZipFile.CreateFromDirectory(tmp, outPath, CompressionLevel.Optimal, false); + r.OutputPath = outPath; + } + finally + { + Directory.Delete(tmp, true); + } + } + catch (Exception ex) + { + r.Errors.Add("打包异常: " + ex.Message); + r.Ok = false; + } + return r; + } + + /// + /// STEP 物理文件查找: 优先 CSV 写的 .step, 兼容同名 .stp (NX 导出常用后缀)。 + /// 返回物理文件名, 找不到返回 null。 + /// + public static string ResolveStepFile(string stepDir, string stepName) + { + if (File.Exists(Path.Combine(stepDir, stepName))) return stepName; + var alt = Path.ChangeExtension(stepName, ".stp"); + return File.Exists(Path.Combine(stepDir, alt)) ? alt : null; + } + + /// + /// CSV → 变体列表 (与 Build 共用内核; 错误写进 r.Errors, 返回值可能为 null)。 + /// 首列 = 型号编码, step_file 列 = STEP 文件名 (需存在于 stepDir, .stp/.step 兼容), 其余 = 参数列。 + /// + public static List ReadCsvVariants(Series series, string csvPath, string stepDir, BuildResult r) + { + var lines = File.ReadAllLines(csvPath, Encoding.UTF8).Where(l => !string.IsNullOrWhiteSpace(l)).ToArray(); + if (lines.Length < 2) { r.Errors.Add("CSV 无数据行: " + csvPath); return null; } + var header = lines[0].Split(',').Select(x => x.Trim()).ToArray(); + if (!header.Contains("step_file")) { r.Errors.Add("CSV 缺少 step_file 列: " + csvPath); return null; } + + var variants = new List(); + var seen = new HashSet(); + foreach (var line in lines.Skip(1)) + { + var c = line.Split(','); + if (c.Length < header.Length) { r.Errors.Add("CSV 行字段不足: " + line); continue; } + var model = c[0].Trim(); + if (string.IsNullOrEmpty(model)) { r.Errors.Add("CSV 行缺型号编码: " + line); continue; } + if (!seen.Add(model)) { r.Errors.Add("型号编码重复: " + model); continue; } + + var p = new Dictionary(); + for (int i = 1; i < header.Length; i++) + { + var code = header[i]; + if (code == "step_file") continue; + var def = (series.parameters ?? new List()).FirstOrDefault(x => x.code == code); + if (def == null) continue; // 未定义的列跳过 + var raw = (i < c.Length) ? c[i].Trim() : ""; + if (def.type == "number" || def.type == "range") + { + double d; + if (double.TryParse(raw, NumberStyles.Float, CultureInfo.InvariantCulture, out d)) + p[code] = d; + else { r.Errors.Add("参数值非数字: " + model + " / " + code + "=" + raw); continue; } + } + else p[code] = raw; + } + if (p.Count < (series.parameters ?? new List()).Count) + { r.Errors.Add("参数不全: " + model); continue; } + + var stepCol = Array.IndexOf(header, "step_file"); + var stepName = (stepCol < c.Length) ? c[stepCol].Trim() : ""; + if (ResolveStepFile(stepDir, stepName) == null) + { r.Errors.Add("STEP 文件缺失: " + stepName); continue; } + variants.Add(new Variant { modelCode = model, @params = p, step = "step/" + stepName }); + } + return variants.Count == 0 ? null : variants; + } + } +} diff --git a/src/CatalogCore/OpcPackage.cs b/src/CatalogCore/OpcPackage.cs new file mode 100644 index 0000000..64d6d71 --- /dev/null +++ b/src/CatalogCore/OpcPackage.cs @@ -0,0 +1,145 @@ +using System; +using System.Collections.Generic; +using System.IO; +using System.IO.Compression; +using System.Linq; +using System.Text; +using System.Web.Script.Serialization; + +namespace Ounibo.Catalog.Core +{ + /// + /// .opc 数据包 (zip: catalog.json + assets)。读写入口。 + /// + public class OpcPackage : IDisposable + { + /// 软件支持的数据包格式版本。 + public const string SupportedSchemaVersion = "1.0"; + + public Catalog Catalog { get; private set; } + public string Path { get; private set; } + + private ZipArchive _zip; + private Stream _stream; + + public static OpcPackage Open(string path) + { + var p = new OpcPackage { Path = path }; + // 整包读入内存, 立即释放文件句柄: 软件运行中仍可重建/覆盖同一 .opc (踩坑 #19) + byte[] bytes; + using (var fs = new FileStream(path, FileMode.Open, FileAccess.Read, FileShare.ReadWrite)) + { + var ms = new MemoryStream(); + fs.CopyTo(ms); + bytes = ms.ToArray(); + } + p._stream = new MemoryStream(bytes); + p._zip = new ZipArchive(p._stream, ZipArchiveMode.Read); + p.LoadCatalog(); + return p; + } + + /// 从流打开 (客户版嵌入资源场景)。流的所有权转移给本对象。 + public static OpcPackage OpenStream(Stream stream, string sourceName) + { + var p = new OpcPackage { Path = sourceName, _stream = stream }; + p._zip = new ZipArchive(stream, ZipArchiveMode.Read); + p.LoadCatalog(); + return p; + } + + void LoadCatalog() + { + var entry = _zip.GetEntry("catalog.json"); + if (entry == null) + throw new InvalidDataException("数据包缺少 catalog.json: " + Path); + string json; + using (var sr = new StreamReader(entry.Open(), Encoding.UTF8)) + json = sr.ReadToEnd(); + // 大目录 (数万变体) 的 catalog.json 可能超过默认 2M 字符限制 + var ser = new JavaScriptSerializer { MaxJsonLength = int.MaxValue }; + Catalog = ser.Deserialize(json); + if (Catalog == null || Catalog.series == null) + throw new InvalidDataException("catalog.json 解析失败: " + Path); + + // 版本校验: 过新提示升级软件, 过旧/未知提示数据包损坏或过旧 + var ver = Catalog.schemaVersion ?? ""; + if (ver != SupportedSchemaVersion) + { + if (string.Compare(ver, SupportedSchemaVersion, StringComparison.Ordinal) > 0) + throw new InvalidDataException( + "数据包格式版本 " + ver + " 高于软件支持的 " + SupportedSchemaVersion + ", 请升级软件"); + throw new InvalidDataException("数据包格式版本不兼容或数据包损坏: " + (ver.Length == 0 ? "(无版本号)" : ver)); + } + } + + public byte[] ReadAsset(string path) + { + var entry = FindEntry(path); + if (entry == null) + throw new FileNotFoundException("数据包内资源缺失: " + path); + using (var ms = new MemoryStream()) + { + using (var s = entry.Open()) + s.CopyTo(ms); + return ms.ToArray(); + } + } + + public string ReadAssetText(string path) + { + return Encoding.UTF8.GetString(ReadAsset(path)); + } + + public bool HasAsset(string path) + { + return FindEntry(path) != null; + } + + // zip 条目分隔符可能是 '\' (Windows) 或 '/', 两种都尝试 + private ZipArchiveEntry FindEntry(string path) + { + var e = _zip.GetEntry(path); + if (e == null && path != null && path.Contains('/')) + e = _zip.GetEntry(path.Replace('/', '\\')); + if (e == null && path != null && path.Contains('\\')) + e = _zip.GetEntry(path.Replace('\\', '/')); + return e; + } + + public IEnumerable EntryNames + { + get { return _zip.Entries.Select(e => e.FullName); } + } + + /// 把变体的 STEP 写入目标完整路径 (命名模板见 Series.Naming)。 + public string ExtractStepTo(Variant v, string fullPath) + { + var bytes = ReadAsset(v.step); + File.WriteAllBytes(fullPath, bytes); + return fullPath; + } + + /// 把变体的 STEP 按默认命名 (型号.step) 写入目录,返回完整路径。 + public string ExtractStep(Variant v, string destDir) + { + Directory.CreateDirectory(destDir); + var name = v.modelCode + ".step"; + return ExtractStepTo(v, System.IO.Path.Combine(destDir, name)); + } + + public void Dispose() + { + if (_zip != null) + { + _zip.Dispose(); + _zip = null; + } + if (_stream != null) + { + _stream.Dispose(); + _stream = null; + } + } + } +} diff --git a/src/CatalogCore/PackageValidator.cs b/src/CatalogCore/PackageValidator.cs new file mode 100644 index 0000000..ac26006 --- /dev/null +++ b/src/CatalogCore/PackageValidator.cs @@ -0,0 +1,101 @@ +using System; +using System.Collections.Generic; +using System.Linq; + +namespace Ounibo.Catalog.Core +{ + public class ValidationIssue + { + public string Severity; // ERROR / WARNING + public string Message; + public string Target; // 如 "SC / SC32x50S-LB" + } + + /// + /// 数据包校验器 (对标 qacheck 思想): 资源缺失/编码重复/规则冲突/附件缺失。 + /// 校验不通过不允许编译发布 (M3 硬门槛)。 + /// + public static class PackageValidator + { + static string S(object o) { return o == null ? "" : Convert.ToString(o, System.Globalization.CultureInfo.InvariantCulture); } + + public static List Validate(OpcPackage pkg) + { + var issues = new List(); + var cat = pkg.Catalog; + if (cat == null) { issues.Add(new ValidationIssue { Severity = "ERROR", Message = "catalog.json 缺失" }); return issues; } + if (cat.series == null || cat.series.Count == 0) + { issues.Add(new ValidationIssue { Severity = "ERROR", Message = "无系列数据" }); return issues; } + + foreach (var s in cat.series) + { + // 变体资源与编码 + foreach (var v in s.variants ?? new List()) + { + if (!pkg.HasAsset(v.step)) + issues.Add(new ValidationIssue { Severity = "ERROR", Message = "STEP 文件缺失", Target = s.code + " / " + v.modelCode + " -> " + v.step }); + var missing = (s.parameters ?? new List()).Where(p => !v.@params.ContainsKey(p.code)).Select(p => p.code).ToList(); + if (missing.Count > 0) + issues.Add(new ValidationIssue { Severity = "ERROR", Message = "变体缺少参数: " + string.Join(",", missing), Target = s.code + " / " + v.modelCode }); + } + var dup = (s.variants ?? new List()).GroupBy(v => v.modelCode).Where(g => g.Count() > 1).ToList(); + foreach (var d in dup) + issues.Add(new ValidationIssue { Severity = "ERROR", Message = "型号编码重复 x" + d.Count(), Target = s.code + " / " + d.Key }); + + // 规则引用检查 + foreach (var r in s.rules ?? new List()) + { + CheckCond(r.If, s, issues, s.code); + CheckCond(r.Then, s, issues, s.code); + if (r.If != null && r.Then != null) + { + // 冲突: If 与 Then 针对同一参数且条件矛盾 + if (r.If.Param == r.Then.Param && CondAlwaysFalse(r.If, r.Then)) + issues.Add(new ValidationIssue { Severity = "WARNING", Message = "规则条件自相矛盾 (If/Then 同一参数互斥)", Target = s.code + " / " + r.If.Param }); + } + } + + // 附件 + foreach (var a in s.attachments ?? new List()) + { + if (!pkg.HasAsset(a.path)) + issues.Add(new ValidationIssue { Severity = "WARNING", Message = "附件缺失 (" + a.kind + " " + a.lang + ")", Target = a.path }); + } + } + return issues; + } + + static void CheckCond(RuleCond c, Series s, List issues, string seriesCode) + { + if (c == null) return; + var p = (s.parameters ?? new List()).FirstOrDefault(x => x.code == c.Param); + if (p == null) + { + issues.Add(new ValidationIssue { Severity = "ERROR", Message = "规则引用了不存在的参数: " + c.Param, Target = seriesCode }); + return; + } + // 约束值必须在参数取值范围内 + var vals = c.Value as object[]; + if (vals != null) + { + var allowed = (p.values ?? new List()).Select(x => S(x)).ToList(); + foreach (var v in vals) + if (!allowed.Contains(S(v))) + issues.Add(new ValidationIssue { Severity = "WARNING", Message = "规则值不在参数取值内: " + S(v), Target = seriesCode + " / " + c.Param }); + } + } + + static bool CondAlwaysFalse(RuleCond a, RuleCond b) + { + // 仅判断简单互斥: eq x vs ne x / in [..] vs eq y 且 y 不在列表 + if (a.Op == "eq" && b.Op == "ne" && S(a.Value) == S(b.Value)) return true; + if (a.Op == "ne" && b.Op == "eq" && S(a.Value) == S(b.Value)) return true; + if (a.Op == "eq" && b.Op == "in") + { + var arr = b.Value as object[]; + if (arr != null && arr.Length > 0 && !arr.Any(x => S(x) == S(a.Value))) return true; + } + return false; + } + } +} diff --git a/src/CatalogCore/ParametricEngine.cs b/src/CatalogCore/ParametricEngine.cs new file mode 100644 index 0000000..1f91bda --- /dev/null +++ b/src/CatalogCore/ParametricEngine.cs @@ -0,0 +1,156 @@ +using System; +using System.Collections.Generic; +using System.Globalization; +using System.Linq; +using System.Text; + +namespace Ounibo.Catalog.Core +{ + /// 参数化选型结果: 标准档位命中 → Variant; 非标 → 模板生成的编码+参数 (无 STEP)。 + public class ParamResult + { + public string ModelCode; + public Dictionary Params; + public bool IsStandard; + public Variant Variant; // IsStandard 时非空 (即 CSV 网格行) + public string Error; // 非法原因键: param=参数不全 / domain=域外 / rule=违背规则 / template=模板错误 (上层本地化) + } + + /// + /// 参数化引擎 (一期, 2026-08-25): + /// 参数域校验 + 型号编码模板渲染 + 非标组合生成 + 最近标准档位。 + /// 与网页 app.js 的参数化函数语义一一对应 (同一份规则 JSON + 同一份测试向量 parametric-vectors.json 对拍)。 + /// + public static class ParametricEngine + { + public static bool IsParametric(Series s) { return s != null && s.mode == "parametric"; } + + static string S(object o) { return o == null ? "" : Convert.ToString(o, CultureInfo.InvariantCulture); } + static bool Eq(object a, object b) { return string.Equals(S(a), S(b), StringComparison.OrdinalIgnoreCase); } + static double D(object o) { return Convert.ToDouble(o, CultureInfo.InvariantCulture); } + + /// 模板渲染: {field} 或 {field:padN} (padN=前补零到 N 位)。未知字段/缺值/非法 token → null。 + public static string RenderCode(string template, Dictionary p) + { + if (string.IsNullOrEmpty(template)) return null; + var sb = new StringBuilder(); + int i = 0; + while (i < template.Length) + { + var c = template[i]; + if (c == '{') + { + var close = template.IndexOf('}', i + 1); + if (close < 0) return null; + var token = template.Substring(i + 1, close - i - 1); + var parts = token.Split(':'); + var field = parts[0].Trim(); + object val; + if (!p.TryGetValue(field, out val)) return null; + var sv = S(val); + if (parts.Length > 1) + { + int pad; + var padTok = parts[1].Trim(); + if (padTok.StartsWith("pad", StringComparison.OrdinalIgnoreCase)) padTok = padTok.Substring(3); + if (!int.TryParse(padTok, out pad) || pad < 1) return null; + sv = sv.PadLeft(pad, '0'); + } + sb.Append(sv); + i = close + 1; + } + else { sb.Append(c); i++; } + } + return sb.ToString(); + } + + /// 参数取值在其域内: enum → values 命中; range → [min,max] 且按 step 对齐 (相对 min 的整数倍)。 + public static bool DomainValid(ParameterDef p, object v) + { + if (v == null) return false; + if (p.type == "range") + { + double d; + if (!double.TryParse(S(v), NumberStyles.Float, CultureInfo.InvariantCulture, out d)) return false; + if (p.min != null && d < p.min.Value) return false; + if (p.max != null && d > p.max.Value) return false; + var st = p.step ?? 1; + var baseV = p.min ?? 0; + if (st > 0 && Math.Abs(d - baseV - Math.Round((d - baseV) / st) * st) > 1e-6) return false; + return true; + } + return (p.values ?? new List()).Any(x => Eq(x, v)); + } + + /// 组合校验: 参数齐全 + 域 + 规则。返回错误键 (null=合法)。 + public static string ValidateCombo(Series s, Dictionary sel) + { + foreach (var p in s.parameters ?? new List()) + { + object v; + if (!sel.TryGetValue(p.code, out v)) return "param"; + if (!DomainValid(p, v)) return "domain"; + } + var cfg = new Configurator(s); + var fake = new Variant { modelCode = "", @params = sel }; + if (cfg.RuleViolated(fake)) return "rule"; + return null; + } + + /// + /// 部分选择校验 (联动用): 只校验已选参数的域 + 规则 (Then 参数未选不判违背)。 + /// 与 Configurator.RuleViolatedPartial 配套, 与网页 validatePartial 同语义。 + /// + public static string ValidatePartial(Series s, Dictionary sel) + { + foreach (var p in s.parameters ?? new List()) + { + object v; + if (!sel.TryGetValue(p.code, out v)) continue; // 未选参数不校验 + if (!DomainValid(p, v)) return "domain"; + } + var cfg = new Configurator(s); + if (cfg.RuleViolatedPartial(sel)) return "rule"; + return null; + } + + /// 生成结果: 网格命中 → Variant (IsStandard); 否则非标 (模板生成编码, 无 STEP)。不合法 → Error 非空。 + public static ParamResult Generate(Series s, Configurator cfg, Dictionary sel) + { + var r = new ParamResult { Params = sel }; + if (sel.Count < (s.parameters ?? new List()).Count) { r.Error = "param"; return r; } + r.Error = ValidateCombo(s, sel); + if (r.Error != null) return r; + r.ModelCode = RenderCode(s.modelCodeTemplate, sel); + if (r.ModelCode == null) { r.Error = "template"; return r; } + var v = cfg.ValidVariants().FirstOrDefault(x => string.Equals(x.modelCode, r.ModelCode, StringComparison.OrdinalIgnoreCase)); + if (v != null) { r.IsStandard = true; r.Variant = v; } + return r; + } + + /// + /// 最近标准档位: 全部有效网格变体按参数距离排序 — range 参数按数值差累加, 枚举不等记大惩罚 (1e6); + /// 距离相同取编码字典序小者 (与网页同语义)。 + /// + public static Variant NearestStandard(Series s, Configurator cfg, Dictionary sel) + { + Variant best = null; + double bestDist = double.MaxValue; + foreach (var v in cfg.ValidVariants()) + { + double dist = 0; + foreach (var p in s.parameters ?? new List()) + { + object a, b; + if (!sel.TryGetValue(p.code, out a) || !v.@params.TryGetValue(p.code, out b)) continue; + if (p.type == "range") dist += Math.Abs(D(a) - D(b)); + else if (!Eq(a, b)) dist += 1e6; + } + if (best == null || dist < bestDist - 1e-9 || + (Math.Abs(dist - bestDist) < 1e-9 && string.CompareOrdinal(v.modelCode, best.modelCode) < 0)) + { best = v; bestDist = dist; } + } + return best; + } + } +} diff --git a/src/CatalogCore/SearchEngine.cs b/src/CatalogCore/SearchEngine.cs new file mode 100644 index 0000000..c9e43f1 --- /dev/null +++ b/src/CatalogCore/SearchEngine.cs @@ -0,0 +1,129 @@ +using System; +using System.Collections.Generic; +using System.Linq; + +namespace Ounibo.Catalog.Core +{ + /// + /// 内存搜索引擎: 型号编码/系列名/参数名/关键词 (英文+拼音) 全文匹配, + /// 支持数值参数的区间过滤。数据量 ≤ 10 万级内存扫描足够。 + /// + public class SearchEngine + { + public class SearchItem + { + public Series Series; + public Variant Variant; + public string Note; // 平替来源标注 (如 "SMC SQ32-50"), 显示在系列名后 + public string ModelCode { get { return Variant.modelCode; } } + public string SeriesNameZh { get { return Note == null ? Series.nameZh : Series.nameZh + " ← 平替 " + Note; } } + public string SeriesNameEn { get { return Note == null ? Series.nameEn : Series.nameEn + " (Alt: " + Note + ")"; } } + public string Step { get { return Variant.step; } } + public double Score; + public List AltCodes = new List(); // 平替对照: 指向此变体的竞品型号 (品牌 型号) + } + + List _items = new List(); + + public SearchEngine(Catalog cat) + { + foreach (var s in cat.series ?? new List()) + foreach (var v in s.variants ?? new List()) + _items.Add(new SearchItem { Series = s, Variant = v }); + + // 平替对照: 竞品型号挂到对应我方变体上 (搜竞品型号 = 命中我方型号) + foreach (var cr in cat.crossRefs ?? new List()) + { + var it = _items.FirstOrDefault(x => string.Equals(x.ModelCode, cr.ourModel, StringComparison.OrdinalIgnoreCase)); + if (it != null) it.AltCodes.Add(cr.brand + " " + cr.foreignModel); + } + } + + public int Count { get { return _items.Count; } } + + string LangName(Series s, string lang) + { + return lang == "en" ? (s.nameEn ?? s.nameZh) : (s.nameZh ?? s.nameEn); + } + + string LangParamName(ParameterDef p, string lang) + { + return lang == "en" ? (p.nameEn ?? p.nameZh) : (p.nameZh ?? p.nameEn); + } + + /// 构建变体的可搜索文本 (不含型号编码本身)。 + string BuildText(SearchItem it, string lang) + { + var parts = new List(); + parts.Add(LangName(it.Series, lang)); + parts.Add(it.Series.code); + parts.Add(it.Series.keywords ?? ""); + foreach (var kv in it.Variant.@params) + { + var p = it.Series.parameters.FirstOrDefault(x => x.code == kv.Key); + if (p != null) + { + parts.Add(LangParamName(p, lang)); + parts.Add(p.keywords ?? ""); + var disp = p.display != null && p.display.ContainsKey(Convert.ToString(kv.Value)) ? p.display[Convert.ToString(kv.Value)] : null; + if (disp != null) parts.Add(disp); + } + parts.Add(Convert.ToString(kv.Value, System.Globalization.CultureInfo.InvariantCulture)); + } + foreach (var alt in it.AltCodes) parts.Add(alt); // 平替对照: 竞品品牌+型号可搜 + return string.Join(" ", parts).ToLowerInvariant(); + } + + /// + /// 全文查询: 空格分词, 全部词都命中才算; 按 精确编码 > 编码前缀 > 其他文本 排序。 + /// + public List Query(string q, string lang) + { + var tokens = (q ?? "").ToLowerInvariant() + .Split(new[] { ' ', ',', ',', ';', ';' }, StringSplitOptions.RemoveEmptyEntries) + .Select(t => t.Trim()) + .Where(t => t.Length > 0) + .ToList(); + if (tokens.Count == 0) return new List(); + + foreach (var it in _items) + { + var code = it.ModelCode.ToLowerInvariant(); + var alts = it.AltCodes.Select(a => a.ToLowerInvariant()).ToList(); + var text = BuildText(it, lang); + it.Score = 0; + if (!tokens.All(t => code.Contains(t) || alts.Any(a => a.Contains(t)) || text.Contains(t))) + continue; + if (tokens.Any(t => code == t)) it.Score = 1000; + else if (tokens.Any(t => alts.Any(a => a == t))) it.Score = 900; // 竞品型号精确命中 + else if (tokens.All(t => code.Contains(t))) it.Score = 800; + else if (tokens.All(t => alts.Any(a => a.Contains(t)) || text.Contains(t))) it.Score = 500; + else it.Score = 100; + } + return _items.Where(x => x.Score > 0).OrderByDescending(x => x.Score).ThenBy(x => x.ModelCode).ToList(); + } + + /// 数值参数区间过滤 (range 的键为参数 code, 值为 min/max 数组, null 表示不限制)。 + public List RangeFilter(List items, Dictionary ranges) + { + if (ranges == null || ranges.Count == 0) return items; + return items.Where(it => + { + foreach (var r in ranges) + { + var p = it.Series.parameters.FirstOrDefault(x => x.code == r.Key); + if (p == null || p.type != "number") continue; + object val; + if (!it.Variant.@params.TryGetValue(r.Key, out val)) continue; + double d; + if (!double.TryParse(Convert.ToString(val, System.Globalization.CultureInfo.InvariantCulture), + System.Globalization.NumberStyles.Float, System.Globalization.CultureInfo.InvariantCulture, out d)) + continue; + if (r.Value[0].HasValue && d < r.Value[0].Value) return false; + if (r.Value[1].HasValue && d > r.Value[1].Value) return false; + } + return true; + }).ToList(); + } + } +} diff --git a/src/CatalogCore/SelfTest.cs b/src/CatalogCore/SelfTest.cs new file mode 100644 index 0000000..2a51e4a --- /dev/null +++ b/src/CatalogCore/SelfTest.cs @@ -0,0 +1,342 @@ +#if !CUSTOMER_BUILD +using System; +using System.Collections.Generic; +using System.IO; +using System.Linq; +using System.Text; +using Ounibo.Catalog.Viewer3D; + +namespace Ounibo.Catalog.Core +{ + /// + /// 自测 (--selftest): 通用目录包检查 + 样例包(SC/MAQ)专项回归。 + /// 结果写入数据包同目录 selftest.log, 退出码 0=全部通过。 + /// + public static class SelfTest + { + public static int Run(string opcPath) + { + var log = new StringBuilder(); + int pass = 0, fail = 0; + Action check = (name, ok) => + { + log.AppendLine((ok ? "PASS " : "FAIL ") + name); + if (ok) pass++; else fail++; + }; + + try + { + using (var pkg = OpcPackage.Open(opcPath)) + { + var cat = pkg.Catalog; + check("catalog.json 读取 (schemaVersion=" + cat.schemaVersion + ")", !string.IsNullOrEmpty(cat.schemaVersion)); + check("分类数 >= 1 (" + (cat.categories == null ? 0 : cat.categories.Count) + ")", cat.categories != null && cat.categories.Count >= 1); + check("系列数 >= 1 (" + (cat.series == null ? 0 : cat.series.Count) + ")", cat.series != null && cat.series.Count >= 1); + + bool isSample = cat.series.Count >= 2 && cat.series[0].code == "SC"; + + // ============ 通用检查 (任意目录包) ============ + int totalV = cat.series.Sum(x => x.variants == null ? 0 : x.variants.Count); + check("变体总数 " + totalV, totalV > 0); + + bool allValid = true; + foreach (var sAny in cat.series) + if (sAny.variants != null && new Configurator(sAny).ValidVariants().Count != sAny.variants.Count) + allValid = false; + check("所有变体满足各自系列规则", allValid); + + var s0 = cat.series[0]; + var cfg0 = new Configurator(s0); + var v0 = cfg0.ValidVariants().FirstOrDefault(); + check("首个系列可解析出有效变体 (" + s0.code + ")", v0 != null); + + // 回归: AllowedOptions 必须包含"已选参数"的键 (曾导致选择被 UI 清空的 bug) + var selReg = new Dictionary { { s0.parameters[0].code, s0.parameters[0].values[0] } }; + var allowedReg = cfg0.AllowedOptions(selReg); + check("回归: AllowedOptions 含已选参数键 (" + s0.parameters[0].code + ")", allowedReg.ContainsKey(s0.parameters[0].code)); + + // 回归: 完整选型后已选参数仍可改 (曾因自身值锁死可选列表) + var fullSel = new Dictionary(); + foreach (var p in s0.parameters) fullSel[p.code] = v0.@params[p.code]; + var allowedFull = cfg0.AllowedOptions(fullSel); + var pAlt = s0.parameters.FirstOrDefault(x => (x.values ?? new List()).Count > 1); + bool changeable = pAlt != null && allowedFull[pAlt.code].Count > 1; + check("回归: 完整选型后参数可改 (" + (pAlt == null ? "?" : pAlt.code) + " 可选项 " + (pAlt == null ? 0 : allowedFull[pAlt.code].Count) + ")", changeable); + + var engine0 = new SearchEngine(cat); + var q0 = engine0.Query(s0.code, "zh"); + check("按系列代码搜索命中 (" + q0.Count + ")", q0.Count > 0); + + var tmpG = Path.Combine(Path.GetTempPath(), "ounibo_selftest"); + Directory.CreateDirectory(tmpG); + var fG = pkg.ExtractStep(v0, tmpG); + var contentG = File.ReadAllText(fG); + check("STEP 提取成功且含实体", File.Exists(fG) && contentG.Contains("MANIFOLD_SOLID_BREP")); + + var cylsG = StepMesh.Parse(contentG); + var cylCount = cylsG == null ? 0 : cylsG.Count; + var realStep = contentG.Contains("MANIFOLD_SOLID_BREP") || contentG.Contains("ADVANCED_BREP_SHAPE_REPRESENTATION"); + check("STEP 可解析 (" + cylCount + " 圆柱" + (realStep && cylCount < 3 ? ", 真实 B-rep → 网页走新迪查看器" : "") + ")", + cylCount >= 3 || realStep); + + var issuesG = PackageValidator.Validate(pkg); + check("目录包校验无 ERROR (" + issuesG.Count(i => i.Severity == "ERROR") + " 错误, " + issuesG.Count(i => i.Severity == "WARNING") + " 警告)", + issuesG.All(i => i.Severity != "ERROR")); + + // 手册页附件 (kind=manual): 有则抽查首个系列可读 (尺寸图窗口对照) + var manSeries = cat.series.FirstOrDefault(x => x.attachments != null && x.attachments.Any(a => a.kind == "manual")); + if (manSeries != null) + { + var manAtt = manSeries.attachments.First(a => a.kind == "manual"); + byte[] manBytes = null; + try { manBytes = pkg.ReadAsset(manAtt.path); } catch { } + check("手册页附件可读 (" + manSeries.code + " " + manAtt.path + ")", manBytes != null && manBytes.Length > 1000); + } + + // 每个系列: 初始可选值非空 + 可解析出完整选型 (UI 可用性诊断) + foreach (var sAny in cat.series) + { + var cfgAny = new Configurator(sAny); + var allowedAny = cfgAny.AllowedOptions(new Dictionary()); + bool ok = true; + foreach (var p in sAny.parameters) + { + List vals; + if (!allowedAny.TryGetValue(p.code, out vals) || vals.Count == 0) + { + check("系列 " + sAny.code + " 参数 " + p.code + " 初始可选值非空", false); + ok = false; + } + } + if (ok) + { + var selAny = new Dictionary(); + foreach (var p in sAny.parameters) + selAny[p.code] = allowedAny[p.code][0]; + var vAny = cfgAny.Resolve(selAny); + check("系列 " + sAny.code + " 可解析出完整选型 (" + (vAny == null ? "null" : vAny.modelCode) + ")", vAny != null); + } + } + + // 规则过滤通用验证: 找第一个含 eq→in 规则的系列, 验证过滤后的允许值都在 Then 列表内 + var rSeries = cat.series.FirstOrDefault(x => x.rules != null && x.rules.Count > 0); + if (rSeries != null) + { + var r = rSeries.rules[0]; + if (r.If != null && r.Then != null && r.If.Op == "eq" && r.Then.Op == "in") + { + var cfgR = new Configurator(rSeries); + var selR = new Dictionary { { r.If.Param, r.If.Value } }; + var allowedR = cfgR.AllowedOptions(selR); + List thenVals; + if (allowedR.TryGetValue(r.Then.Param, out thenVals)) + { + var allowedStr = ((object[])r.Then.Value).Select(x => Convert.ToString(x, System.Globalization.CultureInfo.InvariantCulture)).ToList(); + bool ruleOk = thenVals.Count > 0 && thenVals.All(x => allowedStr.Contains(Convert.ToString(x, System.Globalization.CultureInfo.InvariantCulture))); + check("规则过滤生效 (" + rSeries.code + ": " + r.If.Param + "=" + Convert.ToString(r.If.Value) + " → " + r.Then.Param + " 仅 " + thenVals.Count + " 值)", ruleOk); + } + } + } + + // ============ 参数化引擎 (mode=parametric 系列, 一期 2026-08-25) ============ + var pSeries = cat.series.FirstOrDefault(x => ParametricEngine.IsParametric(x)); + if (pSeries != null) + { + var ren1 = ParametricEngine.RenderCode("KC{type}{bore}-{stroke}{magnet}{mount}", + new Dictionary { { "type", "00" }, { "bore", 32 }, { "stroke", 10 }, { "magnet", "" }, { "mount", "" } }); + check("参数化: 模板渲染 KC0032-10 (" + ren1 + ")", ren1 == "KC0032-10"); + var ren2 = ParametricEngine.RenderCode("A{type:pad2}", new Dictionary { { "type", "3" } }); + check("参数化: pad 补零 A03 (" + ren2 + ")", ren2 == "A03"); + var ren3 = ParametricEngine.RenderCode("A{nofield}", new Dictionary { { "type", "3" } }); + check("参数化: 未知字段 → null", ren3 == null); + + // 对拍回归: 参数化系列全部变体编码可被模板重新生成 (构建门禁的运行时复核) + var cfgP = new Configurator(pSeries); + var bad = (pSeries.variants ?? new List()).Count(v => + ParametricEngine.RenderCode(pSeries.modelCodeTemplate, v.@params) != v.modelCode); + check("参数化: " + pSeries.code + " 全部 " + (pSeries.variants == null ? 0 : pSeries.variants.Count) + + " 编码重生成一致 (不一致 " + bad + ")", bad == 0); + + // 测试向量文件 (与网页同源): 包内 parametric-vectors.json → 逐条对拍 + if (pkg.EntryNames.Contains("parametric-vectors.json")) + { + var vecText = Encoding.UTF8.GetString(pkg.ReadAsset("parametric-vectors.json")); + var vec = new System.Web.Script.Serialization.JavaScriptSerializer().DeserializeObject(vecText) as Dictionary; + var cases = vec != null && vec.ContainsKey("cases") ? (object[])vec["cases"] : new object[0]; + int vecOk = 0; + var vecFails = new List(); + foreach (var cObj in cases) + { + var c = cObj as Dictionary; + if (c == null) { vecFails.Add("向量格式错误"); continue; } + var sCode = Convert.ToString(c["series"]); + var cs = cat.series.FirstOrDefault(x => x.code == sCode); + if (cs == null) { vecFails.Add("系列不存在 " + sCode); continue; } + var cc = new Configurator(cs); + var pars = new Dictionary(); + foreach (var kv in (Dictionary)c["params"]) pars[kv.Key] = kv.Value; + var res = ParametricEngine.Generate(cs, cc, pars); + var errExp = c.ContainsKey("expectError") ? Convert.ToString(c["expectError"]) : null; + bool ok; + if (errExp != null) + ok = res != null && res.Error == errExp; + else + { + ok = res != null && res.Error == null && + Convert.ToString(c["expectCode"]) == res.ModelCode && + (!c.ContainsKey("expectStandard") || Convert.ToBoolean(c["expectStandard"]) == res.IsStandard); + if (ok && c.ContainsKey("expectNearest")) + { + var nr = ParametricEngine.NearestStandard(cs, cc, pars); + ok = nr != null && nr.modelCode == Convert.ToString(c["expectNearest"]); + } + } + if (ok) vecOk++; + else vecFails.Add(sCode + " → " + (res == null ? "null" : (res.ModelCode ?? res.Error))); + } + check("参数化: 测试向量对拍 " + vecOk + "/" + cases.Length + + (vecFails.Count > 0 ? " (失败: " + string.Join("; ", vecFails.Take(5)) + ")" : ""), + cases.Length > 0 && vecOk == cases.Length); + } + else + check("参数化: 测试向量文件存在于包内", false); + } + + // ============ 样例包专项回归 (SC/MAQ 虚构样例) ============ + if (isSample) + { + var s = cat.series[0]; + var cfg = new Configurator(s); + var valid = cfg.ValidVariants(); + check("样例: SC 有效变体 72 个 (实际 " + valid.Count + ")", valid.Count == 72); + check("样例: 有效变体全部满足规则", valid.All(v => !cfg.RuleViolated(v))); + + var sel1 = new Dictionary { { "bore", 16 } }; + var opts1 = cfg.AllowedOptions(sel1); + var strokes = opts1["stroke"].Select(o => Convert.ToInt32(o, System.Globalization.CultureInfo.InvariantCulture)).OrderBy(x => x).ToList(); + check("样例: R1 缸径16→行程仅25/50", strokes.Count == 2 && strokes[0] == 25 && strokes[1] == 50); + check("样例: R2 缸径16→磁石仅空值", opts1["magnet"].Count == 1 && string.IsNullOrEmpty(Convert.ToString(opts1["magnet"][0]))); + + var sel2 = new Dictionary { { "magnet", "S" } }; + var bores = cfg.AllowedOptions(sel2)["bore"].Select(o => Convert.ToInt32(o, System.Globalization.CultureInfo.InvariantCulture)).ToList(); + check("样例: R2 磁石S→缸径不含16", !bores.Contains(16) && bores.Count == 3); + + var selCb = new Dictionary { { "mount", "CB" } }; + var strokesCb = cfg.AllowedOptions(selCb)["stroke"].Select(o => Convert.ToInt32(o, System.Globalization.CultureInfo.InvariantCulture)).ToList(); + check("样例: R3 中摆CB→行程不含100", !strokesCb.Contains(100) && strokesCb.Count == 3); + + var sM = cat.series[1]; + check("样例: 系列2 = MAQ", sM.code == "MAQ"); + var cfgM = new Configurator(sM); + var selM = new Dictionary { { "bore", 6 } }; + var strokesM = cfgM.AllowedOptions(selM)["stroke"].Select(o => Convert.ToInt32(o, System.Globalization.CultureInfo.InvariantCulture)).OrderBy(x => x).ToList(); + check("样例: MAQ 缸径6→行程仅10/20", strokesM.Count == 2 && strokesM[0] == 10 && strokesM[1] == 20); + var vM = cfgM.Resolve(new Dictionary { { "bore", 10 }, { "stroke", 40 }, { "magnet", "S" }, { "mount", "LB" } }); + check("样例: MAQ 选型命中 MAQ10x40S-LB", vM != null && vM.modelCode == "MAQ10x40S-LB"); + + var sel3 = new Dictionary { { "bore", 32 }, { "stroke", 50 }, { "magnet", "S" }, { "mount", "LB" } }; + var v3 = cfg.Resolve(sel3); + check("样例: 完整选型命中 SC32x50S-LB", v3 != null && v3.modelCode == "SC32x50S-LB"); + var tmp = Path.Combine(Path.GetTempPath(), "ounibo_selftest"); + Directory.CreateDirectory(tmp); + var f = pkg.ExtractStep(v3, tmp); + var content = File.ReadAllText(f); + int solidCount = content.Split(new[] { "MANIFOLD_SOLID_BREP" }, StringSplitOptions.None).Length - 1; + check("样例: STEP 提取成功且含 4 个实体", File.Exists(f) && solidCount == 4); + + var cyls = StepMesh.Parse(content); + check("样例: STEP 解析出 4 个圆柱", cyls != null && cyls.Count == 4); + if (cyls != null && cyls.Count == 4) + { + check("样例: 缸体R=18 杆R=6.4", Math.Abs(cyls[1].R - 18) < 0.01 && Math.Abs(cyls[3].R - 6.4) < 0.01); + var mesh = StepMesh.BuildMesh(cyls[0]); + check("样例: 网格生成", mesh.Positions.Count > 0 && mesh.TriangleIndices.Count % 3 == 0); + } + + check("样例: 尺寸图资源存在", pkg.EntryNames.Any(n => n.Contains("dim-drawing"))); + check("样例: 数据表 PDF 资源存在", pkg.EntryNames.Any(n => n.EndsWith(".pdf"))); + + var r1 = engine0.Query("SC32", "zh"); + check("样例: 搜索 SC32 命中 SC32x50S-LB", r1.Any(x => x.ModelCode == "SC32x50S-LB")); + var r2 = engine0.Query("gangjing", "zh"); + var hasKw = (s.keywords ?? "").Length > 0 || + (s.parameters ?? new List()).Any(p => (p.keywords ?? "").Length > 0); + if (hasKw) + check("样例: 拼音关键词 gangjing 命中", r2.Count > 0); + else + log.AppendLine("SKIP 拼音关键词 (数据包未提供关键词, 属已知限制)"); + var r3 = engine0.Query("magnet", "en"); + check("样例: 英文关键词 magnet 命中", r3.Count > 0); + var r4 = engine0.Query("32x50", "zh"); + check("样例: 编码片段 32x50 命中 SC32x50S-LB", r4.Any(x => x.ModelCode == "SC32x50S-LB")); + + var allItems = engine0.Query("SC", "zh"); + var ranged = engine0.RangeFilter(allItems, new Dictionary { { "bore", new double?[] { 10, 30 } } }); + var rangedBores = ranged.Select(x => Convert.ToInt32(x.Variant.@params["bore"], System.Globalization.CultureInfo.InvariantCulture)).Distinct().OrderBy(x => x).ToList(); + check("样例: 缸径 10~30 过滤 → 仅16/25", ranged.Count > 0 && rangedBores.Count == 2 && rangedBores[0] == 16 && rangedBores[1] == 25); + + // Builder 打包回路 (样例数据 → 新 .opc) + var sdDir = Path.GetFullPath(Path.Combine(Path.GetDirectoryName(opcPath), "..", "..", "sample-data", "onb-sc")); + var tmpOpc = Path.Combine(Path.GetTempPath(), "ounibo_selftest_build.opc"); + var spec = new Series + { + code = "SC", + nameZh = "SC 系列标准气缸", + nameEn = "SC Series Standard Cylinder", + parameters = new List + { + new ParameterDef { code = "bore", nameZh = "缸径", nameEn = "Bore", unit = "mm", type = "number", values = new List { 16, 25, 32, 40 } }, + new ParameterDef { code = "stroke", nameZh = "行程", nameEn = "Stroke", unit = "mm", type = "number", values = new List { 25, 50, 75, 100 } }, + new ParameterDef { code = "magnet", nameZh = "磁石", nameEn = "Magnet", unit = "", type = "enum", values = new List { "", "S" } }, + new ParameterDef { code = "mount", nameZh = "安装方式", nameEn = "Mounting", unit = "", type = "enum", values = new List { "FA", "LB", "CB" } } + }, + rules = new List + { + new Rule { If = new RuleCond { Param = "bore", Op = "eq", Value = 16 }, Then = new RuleCond { Param = "stroke", Op = "in", Value = new object[] { 25, 50 } } }, + new Rule { If = new RuleCond { Param = "magnet", Op = "eq", Value = "S" }, Then = new RuleCond { Param = "bore", Op = "in", Value = new object[] { 25, 32, 40 } } }, + new Rule { If = new RuleCond { Param = "mount", Op = "eq", Value = "CB" }, Then = new RuleCond { Param = "stroke", Op = "in", Value = new object[] { 25, 50, 75 } } } + }, + naming = new Naming { stepNameTemplate = "{model}.step" }, + attachments = new List(), + variants = new List() + }; + var buildRes = OpcBuilder.Build(tmpOpc, "欧霓博气动目录", "2026.06", "ACT", "气动执行元件", "Pneumatic Actuators", + spec, Path.Combine(sdDir, "params.csv"), Path.Combine(sdDir, "step"), + new List + { + new BuildAttachmentSpec { kind = "datasheet", lang = "zh", source = Path.Combine(sdDir, "docs", "datasheet", "SC_datasheet_zh.pdf") }, + new BuildAttachmentSpec { kind = "dimDrawing", lang = "zh", source = Path.Combine(sdDir, "docs", "dim-drawing", "SC32x50S-LB.png"), model = "SC32x50S-LB" } + }); + check("样例: Builder 打包成功 (变体 " + (buildRes.Ok ? "ok" : "fail") + ")", buildRes.Ok); + foreach (var be in buildRes.Errors.Take(10)) log.AppendLine(" builder-err: " + be); + if (buildRes.Ok) + { + using (var pkg2 = OpcPackage.Open(tmpOpc)) + { + check("样例: Builder 产物可打开且 72 变体", pkg2.Catalog.series[0].variants.Count == 72); + var issues2 = PackageValidator.Validate(pkg2); + check("样例: Builder 产物校验通过", issues2.All(i => i.Severity != "ERROR")); + var cfg2 = new Configurator(pkg2.Catalog.series[0]); + var selB = new Dictionary { { "bore", 40 }, { "stroke", 100 }, { "magnet", "" }, { "mount", "FA" } }; + var vb = cfg2.Resolve(selB); + check("样例: Builder 产物选型命中 SC40x100-FA", vb != null && vb.modelCode == "SC40x100-FA"); + } + } + } + } + } + catch (Exception ex) + { + fail++; + log.AppendLine("EXCEPTION: " + ex); + } + + log.AppendLine(string.Format("结果: {0} 通过, {1} 失败", pass, fail)); + var logPath = Path.Combine(Path.GetDirectoryName(opcPath) ?? ".", "selftest.log"); + File.WriteAllText(logPath, log.ToString(), Encoding.UTF8); + Console.Out.WriteLine("selftest -> " + logPath); + return fail == 0 ? 0 : 1; + } + } +} +#endif \ No newline at end of file diff --git a/src/GenServer/GenServer.cs b/src/GenServer/GenServer.cs new file mode 100644 index 0000000..ef4a2fd --- /dev/null +++ b/src/GenServer/GenServer.cs @@ -0,0 +1,1234 @@ +using System; +using System.Collections.Generic; +using System.Globalization; +using System.IO; +using System.IO.Compression; +using System.Linq; +using System.Net; +using System.Text; +using System.Threading; +using System.Web.Script.Serialization; +using Ounibo.Catalog.Core; + +namespace Ounibo.Catalog.GenServer +{ + // ============================================================================= + // NX 按需生成服务 (二期 A 版, 2026-08-25): 轻量自建队列 + run_journal 常驻 worker + // 职责: HTTP 接口 + 检索先行 + 文件任务队列 + 输出目录留存复用 + 限流 + // 生成本体由 NX worker (worker_journal.vb, 每席位一个进程) 完成 — 本程序不碰 NX + // 编译: tools\build-genserver.ps1 (csc, 控制台 exe, 无 WPF 依赖) + // ============================================================================= + + public class GenServerConfig + { + public int port = 8899; + public string apiKey = ""; + public string adminKey = ""; // /admin 配置页密码; 留空 = 仅本机可访问 (127.0.0.1) + public string dataDir = ""; // 系列 meta + CSV 网格 (与目录数据源同构: series\*.meta.json + csv\*.csv) + public string mastersJson = ""; // masters.json: 母模/表达式映射/导出格式 + public string mastersDir = ""; // catalog-masters\<系列>\<母模>.prt + public string outputDir = ""; // output\<系列>\<型号编码>\<多格式文件> (留存不删) + public string jobsDir = ""; // jobs\job_.json (.running/.done/.failed 状态机) + public string workDir = ""; // work\\ 任务私有母模副本 (任务后清理, TTL 2h) + public string nxBin = ""; // NX 安装 NXBIN 目录 (run_journal.exe/step214ug.exe/iges.exe 所在); 留空自动探测 C:\Program Files\Siemens\NX* + public int queueLimit = 200; + public int batchLimit = 50; + public int ratePerMin = 10; + public int workTtlHours = 2; + public int jobArchiveHours = 24; + public int outputTtlHours = 0; // 生成结果留存时长(小时); 0=永不清空(旧行为), >0=超时自动删除 (用户 2026-08-27 需求: 定时清空) + public int sweepIntervalMin = 10; // 清理线程间隔(分钟), 默认 10 + } + + /// 系列配置包装 (与 FullCatalogBuilder.SeriesMeta 同构; 独立定义避免依赖打包器)。 + public class SeriesMeta + { + public Series series; + } + + public class ServerData + { + public Dictionary Series; // series\*.meta.json + public Dictionary> GridCodes; // csv\.csv 首列 (标准档位网格) + public Dictionary Masters; // masters.json + } + + public class MasterSpec + { + public string masterPart; + public Dictionary expressionMap; + public List> switchRules; // [param, 值, NX表达式, 表达式值] (枚举开关) + public Dictionary exports; // {"step":"214","parasolid":true,"iges":true,"stl":true} + public int timeoutSec = 300; + } + + public class JobItem + { + public string series; + public string code; + public Dictionary @params; + } + + public class Job + { + public string id; + public string token; + public List items; + public long created; + } + + public class JobResult + { + public bool ok; + public string error; + public List items; + } + + public class JobItemResult + { + public string series; + public string code; + public bool ok; + public bool hit; + public string error; + public List files; + } + + public static class GenServerApp + { + static JavaScriptSerializer _ser = new JavaScriptSerializer { MaxJsonLength = int.MaxValue }; + static GenServerConfig _cfg; + static string _cfgPath; + static ServerData _data; + static HttpListener _listener; + static Dictionary _rate; // key → 最近一分钟请求数 + static long _rateWindowStart; + static readonly object _rateLock = new object(); + + static readonly Dictionary ExtMap = new Dictionary(StringComparer.OrdinalIgnoreCase) + { + { "step", ".stp" }, { "parasolid", ".x_t" }, { "iges", ".igs" }, { "stl", ".stl" }, { "prt", ".prt" } + }; + + public static int Main(string[] args) + { + try + { + var cfgPath = args.Length > 0 ? args[0] : Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "genserver-config.json"); + _cfgPath = cfgPath; + _cfg = _ser.Deserialize(File.ReadAllText(cfgPath, Encoding.UTF8)); + if (_cfg == null) _cfg = new GenServerConfig(); + ResolvePaths(); + Console.WriteLine("[GenServer] 配置: " + cfgPath); + _data = LoadData(); + _rate = new Dictionary(); + _rateWindowStart = DateTime.UtcNow.Ticks / TimeSpan.TicksPerMinute; + + // worker 配置 (行式 key=value, NX journal 无 JSON 库): 写到配置同目录, worker 以该目录为工作目录 + try + { + var wc = new StringBuilder(); + wc.AppendLine("jobsDir=" + _cfg.jobsDir); + wc.AppendLine("outputDir=" + _cfg.outputDir); + wc.AppendLine("mastersDir=" + _cfg.mastersDir); + wc.AppendLine("workDir=" + _cfg.workDir); + wc.AppendLine("nxBin=" + (_cfg.nxBin ?? "")); + File.WriteAllText(Path.Combine(Path.GetDirectoryName(cfgPath) ?? ".", "worker-config.txt"), wc.ToString(), Encoding.UTF8); + Console.WriteLine("[GenServer] 已生成 worker-config.txt (worker 以本配置目录为工作目录启动)"); + } + catch (Exception ex) { Console.WriteLine("[GenServer] worker-config.txt 生成失败: " + ex.Message); } + + _listener = new HttpListener(); + _listener.Prefixes.Add(string.Format("http://+:{0}/", _cfg.port)); + try + { + _listener.Start(); + Console.WriteLine("[GenServer] 监听 http://0.0.0.0:" + _cfg.port + "/ (Ctrl+C 退出)"); + } + catch (HttpListenerException) + { + // 无 http.sys URL ACL (非管理员): 回退仅本机监听 (联调模式) + _listener = new HttpListener(); + _listener.Prefixes.Add(string.Format("http://localhost:{0}/", _cfg.port)); + _listener.Start(); + Console.WriteLine("[GenServer] 警告: 无 URL ACL 权限, 仅本机可访问。生产部署先执行:"); + Console.WriteLine(" netsh http add urlacl url=http://+:" + _cfg.port + "/ user=Everyone"); + } + Console.WriteLine("[GenServer] 输出目录: " + _cfg.outputDir + " | 留存 TTL: " + (_cfg.outputTtlHours > 0 ? _cfg.outputTtlHours + "h" : "永不清空") + " | 队列上限: " + _cfg.queueLimit); + + // 后台清理: 任务私有工作目录 TTL + 过期 job 归档 + 生成结果 TTL 清空 + var cleaner = new Thread(() => + { + while (true) + { + try { SweepWork(); } catch { } + Thread.Sleep(Math.Max(1, _cfg.sweepIntervalMin) * 60 * 1000); + } + }); + cleaner.IsBackground = true; + cleaner.Start(); + + while (_listener.IsListening) + { + HttpListenerContext ctx; + try { ctx = _listener.GetContext(); } + catch { break; } + ThreadPool.QueueUserWorkItem(_ => { try { Handle(ctx); } catch (Exception ex) { TryWriteJson(ctx, 500, new { error = ex.Message }); } }); + } + return 0; + } + catch (Exception ex) + { + Console.WriteLine("[GenServer] 启动失败: " + ex.Message); + return 1; + } + } + + static void ResolvePaths() + { + var baseDir = AppDomain.CurrentDomain.BaseDirectory; + string R(string p) { return string.IsNullOrEmpty(p) ? null : (Path.IsPathRooted(p) ? p : Path.GetFullPath(Path.Combine(baseDir, p))); } + _cfg.dataDir = R(_cfg.dataDir); + _cfg.mastersJson = R(_cfg.mastersJson); + _cfg.mastersDir = R(_cfg.mastersDir); + _cfg.outputDir = R(_cfg.outputDir); + _cfg.jobsDir = R(_cfg.jobsDir); + _cfg.workDir = R(_cfg.workDir); + if (string.IsNullOrEmpty(_cfg.nxBin)) _cfg.nxBin = AutoDetectNxBin(); + foreach (var d in new[] { _cfg.outputDir, _cfg.jobsDir, _cfg.workDir }) + if (d != null) Directory.CreateDirectory(d); + } + + // 自动探测 NX 安装目录 (部署到新机器无需手填): C:\Program Files\Siemens\NX*\NXBIN\run_journal.exe + static string AutoDetectNxBin() + { + foreach (var root in new[] { + Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.ProgramFiles), "Siemens"), + Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.ProgramFilesX86), "Siemens"), + @"C:\Program Files\Siemens" }) + { + if (!Directory.Exists(root)) continue; + foreach (var ver in Directory.GetDirectories(root, "NX*")) + { + var bin = Path.Combine(ver, "NXBIN"); + if (File.Exists(Path.Combine(bin, "run_journal.exe"))) return bin; + } + } + return null; + } + + static ServerData LoadData() + { + var d = new ServerData { Series = new Dictionary(StringComparer.OrdinalIgnoreCase), GridCodes = new Dictionary>(StringComparer.OrdinalIgnoreCase) }; + var seriesDir = Path.Combine(_cfg.dataDir, "series"); + foreach (var f in Directory.GetFiles(seriesDir, "*.meta.json")) + { + try + { + var meta = _ser.Deserialize(File.ReadAllText(f, Encoding.UTF8)); + if (meta != null && meta.series != null) d.Series[meta.series.code] = meta.series; + } + catch (Exception ex) { Console.WriteLine("[GenServer] 系列配置解析失败 " + Path.GetFileName(f) + ": " + ex.Message); } + } + var csvDir = Path.Combine(_cfg.dataDir, "csv"); + if (Directory.Exists(csvDir)) + foreach (var f in Directory.GetFiles(csvDir, "*.csv")) + { + var code = Path.GetFileNameWithoutExtension(f); + var set = new HashSet(StringComparer.OrdinalIgnoreCase); + try + { + var lines = File.ReadAllLines(f, Encoding.UTF8).Where(l => !string.IsNullOrWhiteSpace(l)).ToArray(); + foreach (var l in lines.Skip(1)) + { + var i = l.IndexOf(','); + set.Add(i < 0 ? l.Trim() : l.Substring(0, i).Trim()); + } + } + catch { } + d.GridCodes[code] = set; + } + d.Masters = new Dictionary(StringComparer.OrdinalIgnoreCase); + if (_cfg.mastersJson != null && File.Exists(_cfg.mastersJson)) + { + // 先解析为通用对象再逐条转换: 容忍 "note" 等说明字段 (非对象条目跳过) + var raw = _ser.DeserializeObject(File.ReadAllText(_cfg.mastersJson, Encoding.UTF8)) as Dictionary; + if (raw != null) + foreach (var kv in raw) + if (kv.Value is Dictionary) + try { d.Masters[kv.Key] = _ser.ConvertToType(kv.Value); } catch { } + } + Console.WriteLine("[GenServer] 数据: " + d.Series.Count + " 系列, " + d.GridCodes.Count + " 网格表, " + d.Masters.Count + " 母模配置"); + return d; + } + + // ---- 检索先行: 输出目录命中判定 (目录存在且配置的全部格式文件齐全) ---- + static bool OutputHit(string series, string code, MasterSpec m) + { + var dir = Path.Combine(_cfg.outputDir, SafeName(series), SafeName(code)); + if (!Directory.Exists(dir)) return false; + foreach (var fmt in ExportsOf(m)) + { + string ext; + if (!ExtMap.TryGetValue(fmt, out ext)) ext = "." + fmt; + if (!File.Exists(Path.Combine(dir, code + ext))) return false; + } + return true; + } + + static List ExportsOf(MasterSpec m) + { + var list = new List(); + if (m == null || m.exports == null) { list.Add("step"); return list; } + foreach (var kv in m.exports) + if (kv.Key == "step" || Convert.ToBoolean(kv.Value)) list.Add(kv.Key); + return list; + } + + static string SafeName(string s) + { + var r = new StringBuilder(); + foreach (var c in (s ?? "")) + if (char.IsLetterOrDigit(c) || c == '-' || c == '_') r.Append(c); + return r.Length == 0 ? "_" : r.ToString(); + } + + // ---- HTTP ---- + static void Handle(HttpListenerContext ctx) + { + var req = ctx.Request; + var path = req.Url.AbsolutePath.TrimEnd('/'); + var qs = req.QueryString; + + // CORS: 网页站跨域调用生成服务 (预检 + 常规响应头) + ctx.Response.AddHeader("Access-Control-Allow-Origin", "*"); + ctx.Response.AddHeader("Access-Control-Allow-Headers", "Content-Type, X-Api-Key"); + ctx.Response.AddHeader("Access-Control-Allow-Methods", "GET, POST, OPTIONS"); + if (req.HttpMethod == "OPTIONS") + { + ctx.Response.StatusCode = 204; + ctx.Response.Close(); + return; + } + + if (path == "/health") + { + TryWriteJson(ctx, 200, HealthStatus()); + return; + } + + // /admin 配置页 (部署到新机器时的 NX/目录/端口 配置入口; 密码登录保护) + if (path == "/admin" || path == "/admin-config" || path == "/admin-save" || path == "/admin-masters" || path == "/admin-masters-save" || path == "/admin-login" || path == "/admin-clear-output") + { + HandleAdmin(ctx, path); + return; + } + + // 限流 (API key 维度, 滑动分钟窗口) + var key = req.Headers["X-Api-Key"] ?? ""; + if (!RateOk(key)) + { + TryWriteJson(ctx, 429, new { error = "too_many_requests" }); + return; + } + // apiKey 为空 = 匿名模式 (公开网页站点无法保密密钥; 仅限流兜底, 公网部署建议反向代理加白名单) + if (!string.IsNullOrEmpty(_cfg.apiKey) && key != _cfg.apiKey) + { + TryWriteJson(ctx, 401, new { error = "unauthorized" }); + return; + } + + if (path == "/gen" && req.HttpMethod == "POST") + { + var body = ReadBody(req); + var j = _ser.Deserialize>(body); + var series = Str(j, "series"); + var code = Str(j, "code"); + var pars = j.ContainsKey("params") ? j["params"] as Dictionary : null; + HandleGen(ctx, new List> { j }); + return; + } + if (path == "/gen-batch" && req.HttpMethod == "POST") + { + var body = ReadBody(req); + var j = _ser.Deserialize>(body); + // 注意: 泛型 Deserialize 路径下 JSON 数组是 ArrayList 而非 object[] (踩坑 #23) + var items = new List>(); + var raw = j.ContainsKey("items") ? j["items"] as System.Collections.IEnumerable : null; + if (raw != null) + foreach (var it in raw) + if (it is Dictionary) items.Add((Dictionary)it); + if (items.Count == 0 || items.Count > _cfg.batchLimit) + { + TryWriteJson(ctx, 400, new { error = "invalid_batch" }); + return; + } + HandleGen(ctx, items); + return; + } + if (path == "/status") + { + TryWriteJson(ctx, 200, JobStatus(qs["job"])); + return; + } + if (path == "/file") + { + ServeModelZip(ctx, qs["job"], qs["token"], qs["code"]); + return; + } + if (path == "/files") + { + ServeJobZip(ctx, qs["job"], qs["token"]); + return; + } + if (path == "/download") + { + // 直接下载 (检索命中/已留存场景, 无任务凭证): 全格式 zip 或单格式文件 (fmt) + ServeDownloadZip(ctx, qs["series"], qs["code"], qs["fmt"]); + return; + } + if (path.StartsWith("/preview/")) + { + // 网页内 3D 预览: /preview/{series}/{code}.stp 返回 inline STEP (路径带 .stp, 查看器按 url= 加载) + ServePreview(ctx, path.Substring("/preview/".Length)); + return; + } + TryWriteJson(ctx, 404, new { error = "not_found" }); + } + + // ---- /health 状态 (网页端实时显示: 服务/worker/NX 是否就绪) ---- + static object HealthStatus() + { + int queued = 0, running = 0; + try + { + if (_cfg != null && _cfg.jobsDir != null && Directory.Exists(_cfg.jobsDir)) + { + queued = Directory.GetFiles(_cfg.jobsDir, "job_*.json").Length; + running = Directory.GetFiles(_cfg.jobsDir, "job_*.running").Length; + } + } + catch { } + bool workerAlive = false; + string workerLast = ""; + try + { + if (_cfg != null && _cfg.workDir != null && Directory.Exists(_cfg.workDir)) + { + var hbs = Directory.GetFiles(_cfg.workDir, "heartbeat_*.txt"); + foreach (var h in hbs) + { + try + { + var t = File.GetLastWriteTimeUtc(h); + if ((DateTime.UtcNow - t).TotalMinutes < 2) workerAlive = true; + if (workerLast == "" || t > DateTime.UtcNow.AddMinutes(-2)) workerLast = t.ToLocalTime().ToString("HH:mm:ss"); + } + catch { } + } + } + } + catch { } + bool nxOk = !string.IsNullOrEmpty(_cfg.nxBin) && Directory.Exists(_cfg.nxBin); + return new + { + ok = true, + state = workerAlive ? "ready" : (queued + running > 0 ? "no_worker" : "idle"), + workerAlive = workerAlive, + workerLast = workerLast, + nxOk = nxOk, + nxBin = _cfg.nxBin, + queued = queued, + running = running, + port = _cfg.port + }; + } + + // ---- /admin 配置页 (部署到新机器时的 NX/目录/端口 配置入口) ---- + static void HandleAdmin(HttpListenerContext ctx, string path) + { + // 登录端点: POST {pwd} → 校验 adminKey → 种 cookie + if (path == "/admin-login" && ctx.Request.HttpMethod == "POST") + { + try + { + var b = ReadBody(ctx.Request); + var j = _ser.Deserialize>(b); + var pwd = Str(j, "pwd"); + if (string.IsNullOrEmpty(_cfg.adminKey) || pwd == _cfg.adminKey) + { + ctx.Response.AddHeader("Set-Cookie", "adminauth=1; Path=/; HttpOnly"); + TryWriteJson(ctx, 200, new { ok = true }); + } + else + { + TryWriteJson(ctx, 401, new { error = "wrong_password" }); + } + } + catch (Exception ex) { TryWriteJson(ctx, 500, new { error = ex.Message }); } + return; + } + + // 访问保护: adminKey 非空 → 需 cookie adminauth=1 或查询串 k=adminKey; 否则仅本机回环 + if (!string.IsNullOrEmpty(_cfg.adminKey)) + { + var ck = ctx.Request.Cookies["adminauth"]; + var k = ctx.Request.QueryString["k"] ?? ""; + var authed = (ck != null && ck.Value == "1") || k == _cfg.adminKey; + if (!authed) + { + // 未登录 → 渲染登录页 + if (path == "/admin") { TryWriteHtml(ctx, AdminLoginHtml()); return; } + TryWriteJson(ctx, 401, new { error = "admin_unauthorized" }); + return; + } + } + else + { + var remote = ctx.Request.RemoteEndPoint; + if (remote == null || !IsLoopback(remote.Address)) + { + TryWriteJson(ctx, 403, new { error = "admin_local_only" }); + return; + } + } + + if (path == "/admin-masters") + { + // 返回 masters.json 原文 (参数映射表; 供后台编辑) + try + { + var txt = File.Exists(_cfg.mastersJson) ? File.ReadAllText(_cfg.mastersJson, Encoding.UTF8) : "{}"; + TryWriteJson(ctx, 200, new { masters = txt, path = _cfg.mastersJson }); + } + catch (Exception ex) { TryWriteJson(ctx, 500, new { error = ex.Message }); } + return; + } + + if (path == "/admin-masters-save" && ctx.Request.HttpMethod == "POST") + { + // 保存 masters.json (参数映射表; JSON 校验通过后写回并热重载) + try + { + var body = ReadBody(ctx.Request); + var j = _ser.Deserialize>(body); + var txt = Str(j, "masters"); + // 校验 JSON 合法 (能反序列化为对象即可) + _ser.DeserializeObject(txt); + File.WriteAllText(_cfg.mastersJson, txt, Encoding.UTF8); + _data = LoadData(); // 热重载母模配置 + TryWriteJson(ctx, 200, new { ok = true }); + } + catch (Exception ex) { TryWriteJson(ctx, 400, new { error = "invalid_json: " + ex.Message }); } + return; + } + + if (path == "/admin-clear-output" && ctx.Request.HttpMethod == "POST") + { + // 手动清空生成数模 (output 目录全删) + try + { + int n = 0; + if (_cfg.outputDir != null && Directory.Exists(_cfg.outputDir)) + foreach (var sd in Directory.GetDirectories(_cfg.outputDir)) + foreach (var md in Directory.GetDirectories(sd)) + { Directory.Delete(md, true); n++; } + TryWriteJson(ctx, 200, new { ok = true, cleared = n }); + } + catch (Exception ex) { TryWriteJson(ctx, 500, new { error = ex.Message }); } + return; + } + + if (path == "/admin-config") + { + // 返回当前配置 + NX 探测结果 (不返回 adminKey 明文) + var nxCandidates = DetectNxBinAll(); + TryWriteJson(ctx, 200, new + { + port = _cfg.port, + apiKey = _cfg.apiKey, + hasAdminKey = !string.IsNullOrEmpty(_cfg.adminKey), + dataDir = _cfg.dataDir, + mastersJson = _cfg.mastersJson, + mastersDir = _cfg.mastersDir, + outputDir = _cfg.outputDir, + jobsDir = _cfg.jobsDir, + workDir = _cfg.workDir, + nxBin = _cfg.nxBin, + nxCandidates = nxCandidates, + queueLimit = _cfg.queueLimit, + batchLimit = _cfg.batchLimit, + ratePerMin = _cfg.ratePerMin, + outputTtlHours = _cfg.outputTtlHours + }); + return; + } + + if (path == "/admin-save" && ctx.Request.HttpMethod == "POST") + { + var body = ReadBody(ctx.Request); + var j = _ser.Deserialize>(body); + if (j.ContainsKey("port")) _cfg.port = Convert.ToInt32(j["port"]); + if (j.ContainsKey("apiKey")) _cfg.apiKey = Str(j, "apiKey"); + if (j.ContainsKey("adminKey") && Str(j, "adminKey").Length > 0) _cfg.adminKey = Str(j, "adminKey"); + if (j.ContainsKey("dataDir") && Str(j, "dataDir").Length > 0) _cfg.dataDir = Str(j, "dataDir"); + if (j.ContainsKey("mastersJson") && Str(j, "mastersJson").Length > 0) _cfg.mastersJson = Str(j, "mastersJson"); + if (j.ContainsKey("mastersDir") && Str(j, "mastersDir").Length > 0) _cfg.mastersDir = Str(j, "mastersDir"); + if (j.ContainsKey("outputDir") && Str(j, "outputDir").Length > 0) _cfg.outputDir = Str(j, "outputDir"); + if (j.ContainsKey("jobsDir") && Str(j, "jobsDir").Length > 0) _cfg.jobsDir = Str(j, "jobsDir"); + if (j.ContainsKey("workDir") && Str(j, "workDir").Length > 0) _cfg.workDir = Str(j, "workDir"); + if (j.ContainsKey("nxBin") && Str(j, "nxBin").Length > 0) _cfg.nxBin = Str(j, "nxBin"); + if (j.ContainsKey("queueLimit")) _cfg.queueLimit = Convert.ToInt32(j["queueLimit"]); + if (j.ContainsKey("batchLimit")) _cfg.batchLimit = Convert.ToInt32(j["batchLimit"]); + if (j.ContainsKey("ratePerMin")) _cfg.ratePerMin = Convert.ToInt32(j["ratePerMin"]); + if (j.ContainsKey("outputTtlHours")) _cfg.outputTtlHours = Convert.ToInt32(j["outputTtlHours"]); + ResolvePaths(); + WriteWorkerConfig(); + SaveConfigFile(); + TryWriteJson(ctx, 200, new { ok = true, nxBin = _cfg.nxBin }); + return; + } + + // 默认 /admin → 渲染 HTML 配置表单 + TryWriteHtml(ctx, AdminPageHtml()); + } + + static bool IsLoopback(System.Net.IPAddress a) + { + return System.Net.IPAddress.IsLoopback(a) || a.Equals(System.Net.IPAddress.Any) || a.Equals(System.Net.IPAddress.IPv6Any); + } + + // 探测所有 NX*\NXBIN 目录 (支持 2506/2512 多版本, 供配置页下拉选择) + static List DetectNxBinAll() + { + var list = new List(); + foreach (var root in new[] { + Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.ProgramFiles), "Siemens"), + Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.ProgramFilesX86), "Siemens"), + @"C:\Program Files\Siemens" }) + { + if (!Directory.Exists(root)) continue; + foreach (var ver in Directory.GetDirectories(root, "NX*")) + { + var bin = Path.Combine(ver, "NXBIN"); + if (File.Exists(Path.Combine(bin, "run_journal.exe")) && !list.Contains(bin)) list.Add(bin); + } + } + list.Sort(); + return list; + } + + static void WriteWorkerConfig() + { + try + { + var wc = new StringBuilder(); + wc.AppendLine("jobsDir=" + _cfg.jobsDir); + wc.AppendLine("outputDir=" + _cfg.outputDir); + wc.AppendLine("mastersDir=" + _cfg.mastersDir); + wc.AppendLine("workDir=" + _cfg.workDir); + wc.AppendLine("nxBin=" + (_cfg.nxBin ?? "")); + File.WriteAllText(Path.Combine(Path.GetDirectoryName(_cfgPath) ?? ".", "worker-config.txt"), wc.ToString(), Encoding.UTF8); + } + catch (Exception ex) { Console.WriteLine("[GenServer] worker-config.txt 写失败: " + ex.Message); } + } + + static void SaveConfigFile() + { + File.WriteAllText(_cfgPath, _ser.Serialize(_cfg), Encoding.UTF8); + Console.WriteLine("[GenServer] 配置已保存: " + _cfgPath); + } + + static string HtmlEnc(string s) + { + return (s ?? "").Replace("&", "&").Replace("<", "<").Replace(">", ">").Replace("\"", """); + } + + static string AdminLoginHtml() + { + return @" +NX 生成服务 · 登录 + +
+

NX 生成服务 · 管理登录

+ + +
+
+"; + } + + static string AdminPageHtml() + { + var nxOptions = new StringBuilder(); + foreach (var c in DetectNxBinAll()) + nxOptions.Append(""); + var html = @" +NX 生成服务配置 + +
+
UG 配置
+
参数配置
+
模型管理
+
+ +
+

UG / NX 部署配置

+

保存后需重启 GenServer 使端口/密钥生效(目录项即时生效)。

+ + + + + + + + + + + + + + + +
+
+ +
+

参数映射配置

+

母模 ↔ 目录参数的映射表(expressionMap / switchRules / exports)。保存后即时热重载,无需重启。

+ +
+
+ +
+

模型管理

+

管理已生成的数模(output 目录):手动清理 或 设置定时清理。

+
+

定时清理

+ +

设 0 = 永不清空;设 N = 生成后 N 小时自动删除。保存后即时生效。

+
+
+

手动清理

+

立即删除 output 目录下所有已生成的数模。清空后重新生成需重新排队。

+
+
+ +"; + return html; + } + + static void TryWriteHtml(HttpListenerContext ctx, string html) + { + try + { + var bytes = Encoding.UTF8.GetBytes(html); + ctx.Response.StatusCode = 200; + ctx.Response.ContentType = "text/html; charset=utf-8"; + ctx.Response.ContentLength64 = bytes.Length; + ctx.Response.OutputStream.Write(bytes, 0, bytes.Length); + ctx.Response.Close(); + } + catch { } + } + + static bool RateOk(string key) + { + lock (_rateLock) + { + var now = DateTime.UtcNow.Ticks / TimeSpan.TicksPerMinute; + if (now != _rateWindowStart) { _rate.Clear(); _rateWindowStart = now; } + int n; + _rate.TryGetValue(key, out n); + if (n >= _cfg.ratePerMin) return false; + _rate[key] = n + 1; + return true; + } + } + + // 单个/批量统一入口: 逐项校验 + 检索先行, 未命中项写一个任务 (单个=1项批量) + static void HandleGen(HttpListenerContext ctx, List> items) + { + var hitCodes = new List(); + var miss = new List(); + foreach (var j in items) + { + var series = Str(j, "series"); + var code = Str(j, "code"); + var pars = j.ContainsKey("params") ? j["params"] as Dictionary : null; + if (pars == null) + { + TryWriteJson(ctx, 400, new { error = "invalid_params" }); + return; + } + string err = Validate(series, code, pars); + if (err != null) + { + TryWriteJson(ctx, 400, new { error = err }); + return; + } + var m = _data.Masters.ContainsKey(series) ? _data.Masters[series] : null; + if (OutputHit(series, code, m)) hitCodes.Add(code); + else miss.Add(new JobItem { series = series, code = code, @params = pars }); + } + if (miss.Count == 0) + { + TryWriteJson(ctx, 200, new { immediate = true, hitCodes = hitCodes }); + return; + } + lock (_rateLock) + { + if (CountQueued() >= _cfg.queueLimit) + { + TryWriteJson(ctx, 429, new { error = "queue_busy" }); + return; + } + } + var job = new Job + { + id = Guid.NewGuid().ToString("N").Substring(0, 12), + token = Guid.NewGuid().ToString("N"), + items = miss, + created = DateTime.UtcNow.Ticks + }; + WriteJob(job); + TryWriteJson(ctx, 200, new { jobId = job.id, token = job.token, hitCodes = hitCodes }); + } + + // 服务端二次校验 (与目录端同一引擎): 系列存在且参数化 + 域/规则 + 编码模板一致 + 非网格 + static string Validate(string series, string code, Dictionary pars) + { + Series s; + if (!_data.Series.TryGetValue(series, out s)) return "unknown_series"; + if (!ParametricEngine.IsParametric(s)) return "not_parametric"; + if (string.IsNullOrEmpty(code) || !System.Text.RegularExpressions.Regex.IsMatch(code, "^[A-Za-z0-9][A-Za-z0-9_\\-]*$")) + return "invalid_code"; + if (ParametricEngine.ValidateCombo(s, pars) != null) return "invalid_params"; + var regen = ParametricEngine.RenderCode(s.modelCodeTemplate, pars); + if (regen == null || !string.Equals(regen, code, StringComparison.OrdinalIgnoreCase)) return "code_mismatch"; + HashSet grid; + if (_data.GridCodes.TryGetValue(series, out grid) && grid.Contains(code)) return "standard_grid"; + if (!_data.Masters.ContainsKey(series)) return "no_master"; + return null; + } + + // ---- 任务文件 ---- + static int CountQueued() + { + try { return Directory.GetFiles(_cfg.jobsDir, "job_*.json").Length; } + catch { return int.MaxValue; } + } + + static void WriteJob(Job job) + { + var path = Path.Combine(_cfg.jobsDir, "job_" + job.id + ".json"); + // 行式键值格式 (worker 是 NX journal, 无 JSON 库; 母模/映射/开关/导出配置全部烘进任务) + var sb = new StringBuilder(); + foreach (var it in job.items) + { + sb.AppendLine("ITEM"); + sb.AppendLine("SERIES=" + it.series); + sb.AppendLine("CODE=" + it.code); + foreach (var kv in it.@params ?? new Dictionary()) + sb.AppendLine("PARAM " + kv.Key + "=" + Convert.ToString(kv.Value, CultureInfo.InvariantCulture)); + MasterSpec m; + if (_data.Masters.TryGetValue(it.series, out m) && m != null) + { + sb.AppendLine("MASTER=" + (m.masterPart ?? "")); + foreach (var kv in m.expressionMap ?? new Dictionary()) + sb.AppendLine("MAP " + kv.Key + "=" + kv.Value); + foreach (var r in m.switchRules ?? new List>()) + if (r != null && r.Count >= 4) + sb.AppendLine("SW " + r[0] + "," + r[1] + "=" + r[2] + "," + r[3]); + foreach (var kv in m.exports ?? new Dictionary()) + if (kv.Key == "step" || Convert.ToBoolean(kv.Value)) + sb.AppendLine("EXP " + kv.Key + "=1"); + } + sb.AppendLine("END"); + } + File.WriteAllText(path, sb.ToString(), Encoding.UTF8); + // token 侧车文件: .done 结果里不含 token, 下载校验独立读它 (跨状态有效) + File.WriteAllText(Path.Combine(_cfg.jobsDir, "job_" + job.id + ".tok"), job.token, Encoding.UTF8); + } + + // .done 行式键值 → JobResult (worker 写入, 与 BuildJobText 同族格式) + static JobResult ParseDone(string text) + { + var res = new JobResult { items = new List() }; + JobItemResult cur = null; + foreach (var raw in text.Split(new[] { "\r\n", "\n", "\r" }, StringSplitOptions.None)) + { + var l = raw.Trim(); + if (l.Length == 0) continue; + if (l == "ITEM") { cur = new JobItemResult { files = new List() }; res.items.Add(cur); continue; } + if (l == "END") { cur = null; continue; } + if (cur != null) + { + var i = l.IndexOf('='); + if (i < 0) continue; + var k = l.Substring(0, i).Trim(); + var v = l.Substring(i + 1).Trim(); + if (k == "SERIES") cur.series = v; + else if (k == "CODE") cur.code = v; + else if (k == "OK") cur.ok = v == "1"; + else if (k == "HIT") cur.hit = v == "1"; + else if (k == "ERROR") cur.error = v; + else if (k == "FILE") cur.files.Add(v); + } + else if (l.StartsWith("OK=")) res.ok = l.Substring(3).Trim() == "1"; + else if (l.StartsWith("ERROR=")) res.error = l.Substring(6).Trim(); + } + return res; + } + + static object JobStatus(string id) + { + if (id == null || !SafeName(id).Equals(id, StringComparison.OrdinalIgnoreCase)) return new { error = "invalid_job" }; + var baseName = Path.Combine(_cfg.jobsDir, "job_" + id); + if (File.Exists(baseName + ".json")) return new { state = "queued" }; + if (File.Exists(baseName + ".running")) + { + // worker 逐项进度 (.prog: DONE=n / TOTAL=m), 批量打包 UI 显示用 + var progPath = baseName + ".prog"; + if (File.Exists(progPath)) + try + { + object done = null, total = null; + foreach (var raw in File.ReadAllLines(progPath, Encoding.UTF8)) + { + var l = raw.Trim(); + if (l.StartsWith("DONE=")) done = l.Substring(5).Trim(); + else if (l.StartsWith("TOTAL=")) total = l.Substring(6).Trim(); + } + if (done != null || total != null) + return new Dictionary { { "state", "running" }, { "done", done }, { "total", total } }; + } + catch { } + return new { state = "running" }; + } + if (File.Exists(baseName + ".done")) + { + var r = ParseDone(File.ReadAllText(baseName + ".done", Encoding.UTF8)); + return new { state = "done", ok = r.ok, items = r.items }; + } + if (File.Exists(baseName + ".failed")) + return new { state = "failed", error = File.ReadAllText(baseName + ".failed", Encoding.UTF8) }; + var archived = Path.Combine(_cfg.jobsDir, "archived", "job_" + id + ".json"); + if (File.Exists(archived)) return new { state = "done", archived = true }; + return new { error = "job_not_found" }; + } + + // 单型号全格式 zip (单个下载 / 批量打包的逐型号合并) + static void ServeModelZip(HttpListenerContext ctx, string jobId, string token, string code) + { + var ok = TokenOk(jobId, token, consume: false); + if (ok.ContainsKey("error")) { TryWriteJson(ctx, 401, new { error = ok["error"] }); return; } + if (code == null || !System.Text.RegularExpressions.Regex.IsMatch(code, "^[A-Za-z0-9][A-Za-z0-9_\\-]*$")) + { TryWriteJson(ctx, 400, new { error = "invalid_code" }); return; } + var jobPath = Path.Combine(_cfg.jobsDir, "job_" + jobId + ".done"); + if (!File.Exists(jobPath)) { TryWriteJson(ctx, 404, new { error = "job_not_done" }); return; } + var res = ParseDone(File.ReadAllText(jobPath, Encoding.UTF8)); + var it = (res.items ?? new List()).FirstOrDefault(x => x.code == code); + if (it == null || !it.ok) { TryWriteJson(ctx, 404, new { error = "item_not_found" }); return; } + var dir = Path.Combine(_cfg.outputDir, SafeName(it.series), SafeName(code)); + WriteZip(ctx, dir, it.files); + } + + // 批量任务整体 zip: 每型号一个子文件夹 (购物车批量打包用) + static void ServeJobZip(HttpListenerContext ctx, string jobId, string token) + { + // 先读结果再消费 token (TokenOk 会把 .done 归档, 顺序不能反) + var jobPath = Path.Combine(_cfg.jobsDir, "job_" + jobId + ".done"); + JobResult res = null; + if (File.Exists(jobPath)) + try { res = ParseDone(File.ReadAllText(jobPath, Encoding.UTF8)); } catch { } + if (res == null) { TryWriteJson(ctx, 404, new { error = "job_not_done" }); return; } + var ok = TokenOk(jobId, token, consume: true); + if (ok.ContainsKey("error")) { TryWriteJson(ctx, 401, new { error = ok["error"] }); return; } + var entries = new List>(); + foreach (var it in (res.items ?? new List()).Where(x => x.ok)) + { + var dir = Path.Combine(_cfg.outputDir, SafeName(it.series), SafeName(it.code)); + foreach (var f in (it.files ?? new List())) + entries.Add(new Tuple(Path.Combine(dir, f), SafeName(it.code) + "/" + f)); + } + WriteZipEntries(ctx, entries); + } + + static Dictionary TokenOk(string jobId, string token, bool consume) + { + if (jobId == null || token == null || !SafeName(jobId).Equals(jobId, StringComparison.OrdinalIgnoreCase)) + return new Dictionary { { "error", "invalid_job" } }; + var baseName = Path.Combine(_cfg.jobsDir, "job_" + jobId); + var tokPath = baseName + ".tok"; + if (!File.Exists(tokPath)) return new Dictionary { { "error", "bad_token" } }; + var saved = File.ReadAllText(tokPath, Encoding.UTF8).Trim(); + if (saved != token) return new Dictionary { { "error", "bad_token" } }; + if (consume) + { + // 一次性 token: 归档任务状态文件并删除 token (输出目录文件照旧留存不删) + var archDir = Path.Combine(_cfg.jobsDir, "archived"); + Directory.CreateDirectory(archDir); + foreach (var suffix in new[] { ".json", ".running", ".done" }) + { + var p = baseName + suffix; + if (!File.Exists(p)) continue; + var dest = Path.Combine(archDir, Path.GetFileName(p)); + if (File.Exists(dest)) File.Delete(dest); + File.Move(p, dest); + } + try { File.Delete(tokPath); } catch { } + } + return new Dictionary(); + } + + // 网页内 3D 预览: /preview/{series}/{code}.stp → inline STEP (不触发下载, 查看器 url= 直接 fetch) + static void ServePreview(HttpListenerContext ctx, string rel) + { + // rel 形如 "KC/KC0032-87.stp" + var parts = rel.Split('/'); + if (parts.Length < 2) + { TryWriteJson(ctx, 404, new { error = "not_found" }); return; } + var series = parts[0]; + var file = parts[parts.Length - 1]; + if (!System.Text.RegularExpressions.Regex.IsMatch(series, "^[A-Za-z0-9][A-Za-z0-9_\\-]*$") || + !System.Text.RegularExpressions.Regex.IsMatch(file, "^[A-Za-z0-9][A-Za-z0-9_\\-]*\\.(stp|step)$")) + { TryWriteJson(ctx, 400, new { error = "invalid_path" }); return; } + var dir = Path.Combine(_cfg.outputDir, SafeName(series), Path.GetFileNameWithoutExtension(file)); + var full = Path.Combine(dir, file); + if (!File.Exists(full)) { TryWriteJson(ctx, 404, new { error = "not_generated" }); return; } + var bytes = File.ReadAllBytes(full); + ctx.Response.StatusCode = 200; + ctx.Response.ContentType = "application/octet-stream"; + ctx.Response.AddHeader("Content-Disposition", "inline; filename=\"" + file + "\""); + ctx.Response.ContentLength64 = bytes.Length; + ctx.Response.OutputStream.Write(bytes, 0, bytes.Length); + ctx.Response.Close(); + } + + // 直接下载 (无任务凭证): 输出目录留存文件 (默认全格式 zip; fmt=step/parasolid/iges/stl 时给单文件) + static void ServeDownloadZip(HttpListenerContext ctx, string series, string code, string fmt) + { + if (series == null || code == null || + !System.Text.RegularExpressions.Regex.IsMatch(series, "^[A-Za-z0-9][A-Za-z0-9_\\-]*$") || + !System.Text.RegularExpressions.Regex.IsMatch(code, "^[A-Za-z0-9][A-Za-z0-9_\\-]*$")) + { TryWriteJson(ctx, 400, new { error = "invalid_code" }); return; } + var dir = Path.Combine(_cfg.outputDir, SafeName(series), SafeName(code)); + if (!Directory.Exists(dir)) { TryWriteJson(ctx, 404, new { error = "not_generated" }); return; } + var files = Directory.GetFiles(dir).Select(f => Path.GetFileName(f)).ToList(); + if (files.Count == 0) { TryWriteJson(ctx, 404, new { error = "not_generated" }); return; } + if (!string.IsNullOrEmpty(fmt)) + { + // 单格式下载: fmt 接受格式名 (step/parasolid/iges/stl) 或直接扩展名 (stp/x_t/igs/stl) + string ext; + if (!ExtMap.TryGetValue(fmt.ToLowerInvariant(), out ext)) + { + var ext2 = "." + fmt.TrimStart('.'); + if (ext2 != ".stp" && ext2 != ".x_t" && ext2 != ".igs" && ext2 != ".stl" && ext2 != ".prt") + { TryWriteJson(ctx, 400, new { error = "invalid_fmt" }); return; } + ext = ext2; + } + var file = Path.Combine(dir, code + ext); + if (!File.Exists(file)) { TryWriteJson(ctx, 404, new { error = "fmt_not_generated" }); return; } + var bytes = File.ReadAllBytes(file); + ctx.Response.StatusCode = 200; + ctx.Response.ContentType = "application/octet-stream"; + ctx.Response.AddHeader("Content-Disposition", "attachment; filename=\"" + code + ext + "\""); + ctx.Response.ContentLength64 = bytes.Length; + ctx.Response.OutputStream.Write(bytes, 0, bytes.Length); + ctx.Response.Close(); + return; + } + WriteZip(ctx, dir, files); + } + + static void WriteZip(HttpListenerContext ctx, string dir, List files) + { + var entries = (files ?? new List()) + .Select(f => new Tuple(Path.Combine(dir, f), Path.GetFileName(f))) + .ToList(); + WriteZipEntries(ctx, entries); + } + + static void WriteZipEntries(HttpListenerContext ctx, List> entries) + { + using (var ms = new MemoryStream()) + { + using (var zip = new ZipArchive(ms, ZipArchiveMode.Create, true)) + { + foreach (var e in entries) + { + if (!File.Exists(e.Item1)) continue; + var entry = zip.CreateEntry(e.Item2); + using (var es = entry.Open()) + { + var bytes = File.ReadAllBytes(e.Item1); + es.Write(bytes, 0, bytes.Length); + } + } + } + var data = ms.ToArray(); + ctx.Response.StatusCode = 200; + ctx.Response.ContentType = "application/zip"; + ctx.Response.AddHeader("Content-Disposition", "attachment; filename=\"onemanbot_gen.zip\""); + ctx.Response.ContentLength64 = data.Length; + ctx.Response.OutputStream.Write(data, 0, data.Length); + ctx.Response.Close(); + } + } + + // ---- 清理 ---- + static void SweepWork() + { + try + { + var ttl = DateTime.UtcNow.AddHours(-_cfg.workTtlHours); + foreach (var d in Directory.GetDirectories(_cfg.workDir)) + if (Directory.GetLastWriteTimeUtc(d) < ttl) + try { Directory.Delete(d, true); } catch { } + var archDir = Path.Combine(_cfg.jobsDir, "archived"); + Directory.CreateDirectory(archDir); + var old = DateTime.UtcNow.AddHours(-_cfg.jobArchiveHours); + foreach (var f in Directory.GetFiles(_cfg.jobsDir, "job_*.done")) + if (File.GetLastWriteTimeUtc(f) < old) + { + var dest = Path.Combine(archDir, Path.GetFileName(f)); + if (File.Exists(dest)) File.Delete(dest); + File.Move(f, dest); + try { var tok = Path.ChangeExtension(f, ".tok"); if (File.Exists(tok)) File.Delete(tok); } catch { } // 24h 后下载凭证过期 + } + // 生成结果 TTL 清空 (用户需求: output 可在指定时间后自动删除; outputTtlHours=0 则永不清) + if (_cfg.outputTtlHours > 0) + { + var outTtl = DateTime.UtcNow.AddHours(-_cfg.outputTtlHours); + foreach (var seriesDir in Directory.GetDirectories(_cfg.outputDir)) + foreach (var modelDir in Directory.GetDirectories(seriesDir)) + if (Directory.GetLastWriteTimeUtc(modelDir) < outTtl) + try { Directory.Delete(modelDir, true); } catch { } + } + } + catch (Exception ex) { Console.WriteLine("[GenServer] 清理异常: " + ex.Message); } + } + + // ---- 工具 ---- + static string Str(Dictionary d, string key) + { + return d.ContainsKey(key) && d[key] != null ? Convert.ToString(d[key]) : ""; + } + + static string ReadBody(HttpListenerRequest req) + { + using (var sr = new StreamReader(req.InputStream, Encoding.UTF8)) + return sr.ReadToEnd(); + } + + static void TryWriteJson(HttpListenerContext ctx, int code, object obj) + { + try + { + var bytes = Encoding.UTF8.GetBytes(_ser.Serialize(obj)); + ctx.Response.StatusCode = code; + ctx.Response.ContentType = "application/json; charset=utf-8"; + ctx.Response.ContentLength64 = bytes.Length; + ctx.Response.OutputStream.Write(bytes, 0, bytes.Length); + ctx.Response.Close(); + } + catch { } + } + } +} diff --git a/src/Viewer3D/StepMesh.cs b/src/Viewer3D/StepMesh.cs new file mode 100644 index 0000000..2b3b096 --- /dev/null +++ b/src/Viewer3D/StepMesh.cs @@ -0,0 +1,110 @@ +using System; +using System.Collections.Generic; +using System.Globalization; +using System.Text.RegularExpressions; +using System.Windows.Media; +using System.Windows.Media.Media3D; + +namespace Ounibo.Catalog.Viewer3D +{ + public class Cyl + { + public double Z0, Z1, R; + public double X; // 圆心 X 偏移 (双轴活塞杆) + } + + /// + /// 解析本项目生成的极简 STEP (圆柱组合), 并离散为 WPF 网格。 + /// 注: 只支持自有生成器的格式; 真实 CAD 的通用 STEP 解析在 M2 由 Builder 侧处理。 + /// + public static class StepMesh + { + public static List Parse(string step) + { + var rs = new List(); + foreach (Match m in Regex.Matches(step, @"CYLINDRICAL_SURFACE\('',#\d+,([\d.]+)\);")) + rs.Add(double.Parse(m.Groups[1].Value, CultureInfo.InvariantCulture)); + + // 圆心点 = 仅有的 y=0 点: (X, 0, Z) 每圆柱一对 (底+顶) + var xs = new List(); + var zs = new List(); + foreach (Match m in Regex.Matches(step, @"CARTESIAN_POINT\('',\((-?[\d.]+),0,(-?[\d.]+)\)\);")) + { + xs.Add(double.Parse(m.Groups[1].Value, CultureInfo.InvariantCulture)); + zs.Add(double.Parse(m.Groups[2].Value, CultureInfo.InvariantCulture)); + } + + var cy = new List(); + for (int i = 0; i < rs.Count && 2 * i + 1 < zs.Count; i++) + cy.Add(new Cyl + { + Z0 = Math.Min(zs[2 * i], zs[2 * i + 1]), + Z1 = Math.Max(zs[2 * i], zs[2 * i + 1]), + R = rs[i], + X = xs[2 * i] + }); + return cy; + } + + /// 圆柱 → 三角网格 (侧面 + 顶盖 + 底盖, 带逐顶点法线)。 + public static MeshGeometry3D BuildMesh(Cyl c, int segments = 32) + { + var mesh = new MeshGeometry3D(); + var pts = new List(); + var nrm = new List(); + + // 下环 (z0) 与上环 (z1) + for (int i = 0; i < segments; i++) + { + double a = 2 * Math.PI * i / segments; + double x = Math.Cos(a) * c.R + c.X, y = Math.Sin(a) * c.R; + pts.Add(new Point3D(x, y, c.Z0)); + var n0 = new Vector3D(x - c.X, y, 0); n0.Normalize(); nrm.Add(n0); + } + for (int i = 0; i < segments; i++) + { + double a = 2 * Math.PI * i / segments; + double x = Math.Cos(a) * c.R + c.X, y = Math.Sin(a) * c.R; + pts.Add(new Point3D(x, y, c.Z1)); + var n1 = new Vector3D(x - c.X, y, 0); n1.Normalize(); nrm.Add(n1); + } + + // 侧面 + for (int i = 0; i < segments; i++) + { + int a0 = i, a1 = (i + 1) % segments; + int b0 = segments + i, b1 = segments + ((i + 1) % segments); + mesh.TriangleIndices.Add(a0); mesh.TriangleIndices.Add(b0); mesh.TriangleIndices.Add(a1); + mesh.TriangleIndices.Add(a1); mesh.TriangleIndices.Add(b0); mesh.TriangleIndices.Add(b1); + } + + // 顶盖与底盖 (中心点 + 扇形) + pts.Add(new Point3D(c.X, 0, c.Z1)); nrm.Add(new Vector3D(0, 0, 1)); + int topC = pts.Count - 1; + pts.Add(new Point3D(c.X, 0, c.Z0)); nrm.Add(new Vector3D(0, 0, -1)); + int botC = pts.Count - 1; + for (int i = 0; i < segments; i++) + { + int b0 = segments + i, b1 = segments + ((i + 1) % segments); + mesh.TriangleIndices.Add(topC); mesh.TriangleIndices.Add(b0); mesh.TriangleIndices.Add(b1); + mesh.TriangleIndices.Add(botC); mesh.TriangleIndices.Add(i + 1 == segments ? 0 : i + 1); mesh.TriangleIndices.Add(i); + } + + mesh.Positions = new Point3DCollection(pts); + mesh.Normals = new Vector3DCollection(nrm); + return mesh; + } + + /// 计算包围信息用于相机取景。 + public static void Bounds(List cyls, out double cx, out double cy, out double cz, out double r, out double h) + { + cx = 0; cy = 0; + double zMin = double.MaxValue, zMax = double.MinValue, rMax = 0; + foreach (var c in cyls) + { + zMin = Math.Min(zMin, c.Z0); zMax = Math.Max(zMax, c.Z1); rMax = Math.Max(rMax, c.R); + } + cz = (zMin + zMax) / 2; h = zMax - zMin; r = rMax; + } + } +} diff --git a/tools/build-genserver.bat b/tools/build-genserver.bat new file mode 100644 index 0000000..c09fb77 --- /dev/null +++ b/tools/build-genserver.bat @@ -0,0 +1,2 @@ +@echo off +powershell -NoProfile -ExecutionPolicy Bypass -File "%~dp0build-genserver.ps1" diff --git a/tools/build-genserver.ps1 b/tools/build-genserver.ps1 new file mode 100644 index 0000000..457c1ca --- /dev/null +++ b/tools/build-genserver.ps1 @@ -0,0 +1,34 @@ +# GenServer 编译 (NX 按需生成服务 A 版, 独立控制台 exe, 零 WPF 依赖) +# 只编: src\GenServer\GenServer.cs + CatalogCore 的 Model/Configurator/ParametricEngine (共享规则引擎, 双端一致性红线) +param([string]$Out = (Join-Path $PSScriptRoot '..\bin\GenServer.exe')) + +$fw = 'C:\Windows\Microsoft.NET\Framework64\v4.0.30319' +$csc = 'C:\Program Files (x86)\Microsoft Visual Studio\2022\BuildTools\MSBuild\Current\Bin\Roslyn\csc.exe' +if (-not (Test-Path $csc)) { Write-Output '未找到 csc.exe (VS Build Tools)'; exit 1 } + +$refs = @( + (Join-Path $fw 'mscorlib.dll'), + (Join-Path $fw 'System.dll'), + (Join-Path $fw 'System.Core.dll'), + (Join-Path $fw 'System.IO.Compression.dll'), + (Join-Path $fw 'System.IO.Compression.FileSystem.dll'), + (Join-Path $fw 'System.Web.Extensions.dll') +) + +$srcs = @( + (Join-Path $PSScriptRoot '..\src\GenServer\GenServer.cs'), + (Join-Path $PSScriptRoot '..\src\CatalogCore\Model.cs'), + (Join-Path $PSScriptRoot '..\src\CatalogCore\Configurator.cs'), + (Join-Path $PSScriptRoot '..\src\CatalogCore\ParametricEngine.cs') +) + +$outDir = Split-Path $Out +New-Item -ItemType Directory -Force -Path $outDir | Out-Null + +$cscArgs = @('/nologo', '/target:exe', '/platform:anycpu', '/optimize+', '/utf8output', ('/out:' + $Out)) +foreach ($r in $refs) { if (Test-Path $r) { $cscArgs += ('/reference:' + $r) } } +$cscArgs += $srcs + +& $csc @cscArgs +if ($LASTEXITCODE -eq 0) { Write-Output ("GenServer 编译成功: " + $Out) } +else { Write-Output ("GenServer 编译失败 (exit " + $LASTEXITCODE + ")"); exit 1 } diff --git a/tools/build.ps1 b/tools/build.ps1 new file mode 100644 index 0000000..4f53528 --- /dev/null +++ b/tools/build.ps1 @@ -0,0 +1,90 @@ +# OnebotCatalog 编译脚本 (零安装: 使用 VS Build Tools 自带 Roslyn csc + Windows 自带 .NET Framework 4.8/WPF) +# 用法: +# 开发版: powershell -NoProfile -ExecutionPolicy Bypass -File tools\build.ps1 +# 客户版: powershell -NoProfile -ExecutionPolicy Bypass -File tools\build.ps1 -Customer [-Opc 数据包.opc] +param( + [string]$Out = (Join-Path $PSScriptRoot '..\bin\OnebotCatalog.exe'), + [switch]$Customer, + [string]$Opc = (Join-Path $PSScriptRoot '..\sample\OnebotCatalog_2026.08.opc'), + [string]$Icon = (Join-Path $PSScriptRoot '..\assets\OneBot-logo.ico') +) +if ($Customer -and -not $PSBoundParameters.ContainsKey('Out')) { + $Out = Join-Path $PSScriptRoot '..\bin\OnebotCatalog-Customer.exe' +} + +$root = $PSScriptRoot +$fw = 'C:\Windows\Microsoft.NET\Framework64\v4.0.30319' +$wpf = Join-Path $fw 'WPF' +$csc = 'C:\Program Files (x86)\Microsoft Visual Studio\2022\BuildTools\MSBuild\Current\Bin\Roslyn\csc.exe' + +if (-not (Test-Path $csc)) { Write-Output '未找到 csc.exe (VS Build Tools)'; exit 1 } + +$refs = @( + (Join-Path $fw 'mscorlib.dll'), + (Join-Path $fw 'System.dll'), + (Join-Path $fw 'System.Core.dll'), + (Join-Path $fw 'System.Data.dll'), + (Join-Path $fw 'System.Xaml.dll'), + (Join-Path $fw 'System.IO.Compression.dll'), + (Join-Path $fw 'System.IO.Compression.FileSystem.dll'), + (Join-Path $fw 'System.Web.Extensions.dll'), + (Join-Path $fw 'System.Windows.Forms.dll'), + (Join-Path $wpf 'WindowsBase.dll'), + (Join-Path $wpf 'PresentationCore.dll'), + (Join-Path $wpf 'PresentationFramework.dll') +) + +# 开源 3D 渲染库 Helix Toolkit (MIT): 窗口内直渲 STL/OBJ 网格 (真实数模预览, 免浏览器) +$helixDir = Join-Path $PSScriptRoot '..\lib' +$helixWpf = Join-Path $helixDir 'HelixToolkit.Wpf.dll' +$helixCore = Join-Path $helixDir 'HelixToolkit.dll' +if ((Test-Path $helixWpf) -and (Test-Path $helixCore)) { + $refs += @($helixWpf, $helixCore) +} else { + Write-Output '警告: lib\ 缺 HelixToolkit DLL, 跳过 3D 窗口内渲染引用 (仅影响真实数模窗口内预览)' +} + +# WebView2 控件 (微软, 窗口内嵌新迪查看器显示真实 STEP, 免弹浏览器; Win11 自带运行时) +$wv2Core = Join-Path $helixDir 'Microsoft.Web.WebView2.Core.dll' +$wv2Wpf = Join-Path $helixDir 'Microsoft.Web.WebView2.Wpf.dll' +$wv2Loader = Join-Path $helixDir 'WebView2Loader.dll' +if ((Test-Path $wv2Core) -and (Test-Path $wv2Wpf)) { + $refs += @($wv2Core, $wv2Wpf) +} else { + Write-Output '警告: lib\ 缺 WebView2 DLL, 跳过窗口内嵌 3D (真实数模将回退浏览器预览)' +} + +# GenServer (NX 按需生成服务, 独立控制台 exe) 单独编译, 不进主程序 +$srcs = Get-ChildItem (Join-Path $root '..\src') -Filter '*.cs' -Recurse | + Where-Object { $_.FullName -notmatch '\\GenServer\\' } | ForEach-Object { $_.FullName } +if (-not $srcs) { Write-Output 'src 下无 .cs 文件'; exit 1 } + +$outDir = Split-Path $Out +New-Item -ItemType Directory -Force -Path $outDir | Out-Null + +$cscArgs = @('/nologo', '/target:winexe', '/platform:anycpu', '/optimize+', '/utf8output', ('/out:' + $Out)) +# OneBot logo 嵌入资源 (窗口图标 + 顶栏 logo) +$logoPng = Join-Path $PSScriptRoot '..\assets\OneBot-logo.png' +if (Test-Path $logoPng) { $cscArgs += ('/resource:' + $logoPng + ',OneBot-logo.png') } +if ($Customer) { + $cscArgs += '/define:CUSTOMER_BUILD' + if (Test-Path $Opc) { $cscArgs += ('/resource:' + $Opc + ',catalog.opc') } + else { Write-Output ("警告: 找不到数据包 " + $Opc + ", 客户版将无内置数据") } + if (Test-Path $Icon) { $cscArgs += ('/win32icon:' + $Icon) } +} +foreach ($r in $refs) { if (Test-Path $r) { $cscArgs += ('/reference:' + $r) } } +$cscArgs += $srcs + +& $csc @cscArgs +if ($LASTEXITCODE -eq 0) { + # 第三方 DLL 与 exe 同目录, 运行时加载 (Helix + WebView2; WebView2Loader 为 native, 必须同目录) + if (Test-Path $helixWpf) { Copy-Item $helixWpf $outDir -Force } + if (Test-Path $helixCore) { Copy-Item $helixCore $outDir -Force } + if (Test-Path $wv2Core) { Copy-Item $wv2Core $outDir -Force } + if (Test-Path $wv2Wpf) { Copy-Item $wv2Wpf $outDir -Force } + if (Test-Path $wv2Loader) { Copy-Item $wv2Loader $outDir -Force } + Write-Output ("编译成功: " + $Out) +} else { + Write-Output ("编译失败 (exit " + $LASTEXITCODE + ")") + exit 1 +} diff --git a/tools/e2e-cart.js b/tools/e2e-cart.js new file mode 100644 index 0000000..a710948 --- /dev/null +++ b/tools/e2e-cart.js @@ -0,0 +1,63 @@ +// 无头回归: 网页购物车 — 选型 → 加入清单 → 角标计数 → 切系列清单不丢 (2026-08-24) +// 适配参数化引擎 (2026-08-25): range 参数为输入框, 选第一个标准档位 +let chromium; +try { chromium = require('playwright-core').chromium; } +catch (e) { chromium = require('C:/Users/ruigu/AppData/Local/Temp/nds3dtest/node_modules/playwright-core').chromium; } +const edge = 'C:\\Program Files (x86)\\Microsoft\\Edge\\Application\\msedge.exe'; +(async () => { + const url = process.argv[2] || 'http://localhost:8080/'; + const browser = await chromium.launch({ executablePath: edge, headless: true }); + const page = await browser.newPage({ viewport: { width: 1600, height: 900 } }); + const errs = []; + page.on('pageerror', e => errs.push(e.message)); + await page.goto(url, { waitUntil: 'domcontentloaded' }); + await page.waitForTimeout(2500); + + // 选满一个系列的全部参数 (select 取第一个非空值; input(range) 取第一个标准档位) + const pickAll = async () => { + const sels = await page.$$('#paramPanel select'); + for (let i = 0; i < sels.length; i++) { + const opts = await sels[i].$$eval('option', os => os.map(o => o.value)); + const pick = opts.find(v => v !== '' && v !== '__EMPTY__') || opts[opts.length - 1]; + await sels[i].selectOption(pick); + await page.waitForTimeout(250); + } + const inputs = await page.$$('#paramPanel input'); + for (let i = 0; i < inputs.length; i++) { + const dl = await page.$eval('#' + (await inputs[i].getAttribute('list')), dl => Array.from(dl.options).map(o => o.value)); + await inputs[i].fill(dl[0] || '10'); + await inputs[i].dispatchEvent('change'); + await page.waitForTimeout(250); + } + await page.waitForTimeout(500); + }; + + await page.click('.tree .series'); + await page.waitForTimeout(400); + await pickAll(); + const dlVisible = await page.$eval('#btnDownload', el => !el.classList.contains('hidden') && !el.disabled); + const addVisible = await page.$eval('#btnAddCart', el => !el.classList.contains('hidden')); + await page.click('#btnAddCart'); + await page.waitForTimeout(300); + const badge1 = await page.$eval('#btnCart', el => el.textContent); + // 换第二个系列再选再加入 (清单跨系列不丢) + const series = await page.$$('.tree .series'); + if (series.length > 1) { + await series[1].click(); + await page.waitForTimeout(400); + await pickAll(); + await page.click('#btnAddCart'); + await page.waitForTimeout(300); + } + const badge2 = await page.$eval('#btnCart', el => el.textContent); + // 打开抽屉看条目数 + await page.click('#btnCart'); + await page.waitForTimeout(300); + const items = await page.$$eval('#cartList .cart-item', els => els.length); + console.log('下载按钮可见:', dlVisible, '| 加入清单可见:', addVisible); + console.log('第一次加入后角标:', badge1, '| 第二次后:', badge2, '| 抽屉条目:', items); + console.log('页面错误:', errs.length ? errs.join(' | ') : '无'); + await browser.close(); + if (!dlVisible || !addVisible || badge1.indexOf('(1)') < 0 || badge2.indexOf('(2)') < 0 || items !== 2 || errs.length) + process.exit(1); +})().catch(e => { console.error('FAIL:', e.message); process.exit(1); }); diff --git a/tools/e2e-gen.js b/tools/e2e-gen.js new file mode 100644 index 0000000..456f175 --- /dev/null +++ b/tools/e2e-gen.js @@ -0,0 +1,90 @@ +// 无头 E2E: 非标档位在线生成 (二期) — 按钮升级/立即命中下载/排队轮询下载 +// 前置: 站点 config.js 的 api 已指向本地 GenServer (匿名模式); GenServer 已启动 +// 用法: node e2e-gen.js +const fs = require('fs'); +const path = require('path'); +let chromium; +try { chromium = require('playwright-core').chromium; } +catch (e) { chromium = require('C:/Users/ruigu/AppData/Local/Temp/nds3dtest/node_modules/playwright-core').chromium; } +const edge = 'C:\\Program Files (x86)\\Microsoft\\Edge\\Application\\msedge.exe'; + +(async () => { + const url = process.argv[2] || 'http://localhost:8080/'; + const jobsDir = process.argv[3]; + const outputDir = process.argv[4]; + const browser = await chromium.launch({ executablePath: edge, headless: true }); + const context = await browser.newContext({ acceptDownloads: true, viewport: { width: 1600, height: 900 } }); + const page = await context.newPage(); + const errs = []; + page.on('pageerror', e => errs.push(e.message)); + await page.goto(url, { waitUntil: 'domcontentloaded' }); + await page.waitForTimeout(2500); + + let pass = 0, fail = 0; + const out = []; + const check = (name, ok) => { out.push((ok ? 'PASS ' : 'FAIL ') + name); if (ok) pass++; else fail++; }; + + // KC 系列 + const names = await page.$$eval('.tree .series', els => els.map(e => e.textContent.trim())); + await (await page.$$('.tree .series'))[names.findIndex(n => n.indexOf('KC') === 0)].click(); + await page.waitForTimeout(500); + + const setSel = async (code, val) => { await page.selectOption('#sel-' + code, val); await page.waitForTimeout(250); }; + const setStroke = async (v) => { await page.fill('#sel-stroke', String(v)); await page.dispatchEvent('#sel-stroke', 'change'); await page.waitForTimeout(400); }; + const btn = async () => page.$eval('#btnDownload', el => ({ text: el.textContent, disabled: el.disabled, hidden: el.classList.contains('hidden') })); + + // 1) 非标 87 (输出目录已预置) → 按钮=在线生成数模; 点击 → immediate → 触发下载 + await setSel('type', '00'); await setSel('bore', '32'); await setStroke(87); + await setSel('magnet', '__EMPTY__'); await setSel('mount', '__EMPTY__'); await page.waitForTimeout(400); + var b = await btn(); + check('非标按钮 = 在线生成数模 且可用 (实际: ' + b.text + (b.disabled ? '/disabled' : '/enabled') + ')', + b.text.indexOf('在线生成') >= 0 && !b.disabled); + var dlEvent = null; + page.waitForEvent('download', { timeout: 10000 }).then(d => { dlEvent = d; }).catch(() => { }); + await page.click('#btnDownload'); + await page.waitForTimeout(2500); + check('立即命中 → 触发全格式 zip 下载', dlEvent !== null); + var st = await page.$eval('#status', el => el.textContent); + check('状态含 就绪/下载 (实际: ' + st.trim() + ')', st.indexOf('就绪') >= 0 || st.indexOf('下载') >= 0); + + // 2) 非标 88 (无输出) → 点击 → 排队/生成中 → 外部模拟 worker 完成 → 触发下载 + await setStroke(88); await page.waitForTimeout(400); + b = await btn(); + check('非标 88 按钮可用', b.text.indexOf('在线生成') >= 0 && !b.disabled); + dlEvent = null; + page.waitForEvent('download', { timeout: 30000 }).then(d => { dlEvent = d; }).catch(() => { }); + await page.click('#btnDownload'); + await page.waitForTimeout(4000); + b = await btn(); + check('点击后进入生成/排队态 (实际: ' + b.text + ')', b.text.indexOf('生成') >= 0 || b.text.indexOf('队列') >= 0); + // 模拟 worker: 认领 .json → .running → 造输出 → 写 .done + const jobs = fs.readdirSync(jobsDir).filter(f => f.startsWith('job_') && f.endsWith('.json')); + if (jobs.length) { + const jf = path.join(jobsDir, jobs[0]); + const rf = jf.replace(/\.json$/, '.running'); + fs.renameSync(jf, rf); + const o = path.join(outputDir, 'KC', 'KC0032-88'); + fs.mkdirSync(o, { recursive: true }); + ['KC0032-88.stp', 'KC0032-88.x_t', 'KC0032-88.igs', 'KC0032-88.stl'].forEach(f => fs.writeFileSync(path.join(o, f), 'FAKE ' + f)); + fs.writeFileSync(jf.replace(/\.json$/, '.done'), JSON.stringify({ + ok: true, error: '', + items: [{ series: 'KC', code: 'KC0032-88', ok: true, hit: false, files: ['KC0032-88.stp', 'KC0032-88.x_t', 'KC0032-88.igs', 'KC0032-88.stl'] }] + })); + fs.unlinkSync(rf); + check('模拟 worker 完成写入', true); + } else { + check('任务已入队 (jobs 目录可见)', jobs.length > 0); + } + await page.waitForTimeout(12000); // 轮询间隔 3s, 等状态刷新并触发下载 + check('排队轮询 → 完成后触发下载', dlEvent !== null); + + // 3) 标准档位回归: stroke=10 → 按钮回 下载 STEP 可用 + await setStroke(10); await page.waitForTimeout(400); + b = await btn(); + check('标准档位按钮回 下载 STEP (实际: ' + b.text + ')', b.text.indexOf('下载 STEP') >= 0 && !b.disabled && !b.hidden); + + console.log(out.join('\n')); + console.log('结果: ' + pass + ' 通过, ' + fail + ' 失败 | 页面错误: ' + (errs.length ? errs.join(' | ') : '无')); + await browser.close(); + process.exit(fail ? 1 : 0); +})().catch(e => { console.error('FAIL:', e.message); process.exit(1); }); diff --git a/tools/e2e-parametric.js b/tools/e2e-parametric.js new file mode 100644 index 0000000..c6f53dc --- /dev/null +++ b/tools/e2e-parametric.js @@ -0,0 +1,130 @@ +// 无头对拍: 参数化引擎 (一期 2026-08-25) — 网页 UI 与桌面 selftest 读同一份 parametric-vectors.json +// 用法: node tools\e2e-parametric.js [siteUrl] [vectorsPath] +// 断言: 标准档位编码/下载可用; 非标档位编码+徽标+下载置灰+最近标准档位提示; 非法组合无型号 +const fs = require('fs'); +let chromium; +try { chromium = require('playwright-core').chromium; } +catch (e) { chromium = require('C:/Users/ruigu/AppData/Local/Temp/nds3dtest/node_modules/playwright-core').chromium; } +const edge = 'C:\\Program Files (x86)\\Microsoft\\Edge\\Application\\msedge.exe'; + +(async () => { + const url = process.argv[2] || 'http://localhost:8080/'; + const vecPath = process.argv[3] || + 'w:/团队文件-TeamCenter/airtac_0602_2026_v11sp5_world_version/airtac_0602_2026_v11sp5_world_version/OnebotCatalog/onebot-data/catalog/parametric-vectors.json'; + const vec = JSON.parse(fs.readFileSync(vecPath, 'utf8')); + const browser = await chromium.launch({ executablePath: edge, headless: true }); + const page = await browser.newPage({ viewport: { width: 1600, height: 900 } }); + const errs = []; + page.on('pageerror', e => errs.push(e.message)); + await page.goto(url, { waitUntil: 'domcontentloaded' }); + await page.waitForSelector('.tree .series', { timeout: 20000 }); // 等目录树渲染 (服务器冷启动首请求慢) + await page.waitForTimeout(800); + + let pass = 0, fail = 0; + const out = []; + const check = (name, ok) => { out.push((ok ? 'PASS ' : 'FAIL ') + name); if (ok) pass++; else fail++; }; + + // 选中 KC 系列 (首个参数化系列) + const names = await page.$$eval('.tree .series', els => els.map(e => e.textContent.trim())); + const kcIdx = names.findIndex(n => n.indexOf('KC') === 0); + if (kcIdx < 0) { console.log('FAIL: 树中未找到 KC 系列'); await browser.close(); process.exit(1); } + const seriesEls = await page.$$('.tree .series'); + await seriesEls[kcIdx].click(); + await page.waitForTimeout(500); + + for (let ci = 0; ci < vec.cases.length; ci++) { + const c = vec.cases[ci]; + const tag = 'case' + (ci + 1) + ' ' + c.series; + const keys = Object.keys(c.params); + const setParam = async (p, v) => { + const sel = await page.$('#sel-' + p); + if (!sel) { check(tag + ' 参数控件缺失 ' + p, false); return; } + const isSelect = (await sel.evaluate(el => el.tagName)) === 'SELECT'; + console.log(' [' + tag + '] 设置 ' + p + '=' + JSON.stringify(v) + ' (' + (isSelect ? 'select' : 'input') + ')'); + if (isSelect) { + const val = String(v) === '' ? '__EMPTY__' : String(v); + await sel.selectOption(val); + } else { + await sel.fill(String(v)); + await sel.dispatchEvent('change'); + } + await page.waitForTimeout(200); + }; + // 错误用例: 引擎层拒绝已由桌面向量对拍覆盖; 网页端断言 UI 联动拦截行为 + if (c.expectError === 'rule') { + // 末参数 = 违背规则的那个: 先设置其余参数, 该选项应已被联动剔除 + for (let k = 0; k < keys.length - 1; k++) await setParam(keys[k], c.params[keys[k]]); + await page.waitForTimeout(300); + const lastP = keys[keys.length - 1]; + const lastV = String(c.params[lastP]); + const opts = await page.$$eval('#sel-' + lastP + ' option', os => os.map(o => o.value)); + check(tag + ' 规则联动剔除非法选项 ' + lastP + '=' + lastV + ' (实际选项: ' + opts.join(',') + ')', + opts.indexOf(lastV) < 0); + continue; + } + if (c.expectError === 'domain') { + for (let k = 0; k < keys.length - 1; k++) await setParam(keys[k], c.params[keys[k]]); + await page.waitForTimeout(300); + const lastP = keys[keys.length - 1]; + await setParam(lastP, c.params[lastP]); // 输入越界值 → 处理函数拒绝 + await page.waitForTimeout(300); + const title = await page.$eval('#modelTitle', el => el.textContent); + const status = await page.$eval('#status', el => el.textContent); + check(tag + ' 域外输入被拒绝 (标题: ' + title.trim() + ' | 状态: ' + status.trim() + ')', + title.indexOf('还缺') >= 0 || status.indexOf('超出范围') >= 0); + continue; + } + // 依次设置各参数 (枚举用 select; range 用输入框 + change) + for (const p of keys) await setParam(p, c.params[p]); + await page.waitForTimeout(400); + const title = await page.$eval('#modelTitle', el => el.textContent); + if (c.expectError) { + const noModel = title.indexOf('KC') < 0 || title.indexOf('还缺') >= 0 || title.indexOf('无对应型号') >= 0; + check(tag + ' 非法组合不生成型号 (标题: ' + title.trim() + ')', noModel); + continue; + } + const hasCode = title.indexOf(c.expectCode) >= 0; + check(tag + ' 型号编码 ' + c.expectCode + ' (标题: ' + title.trim() + ')', hasCode); + if (c.expectStandard) { + const dlOk = await page.$eval('#btnDownload', el => !el.classList.contains('hidden') && !el.disabled); + check(tag + ' 标准档位下载可用', dlOk); + } else { + const badge = await page.$eval('#modelTitle', el => !!el.querySelector('.nonstd-badge')); + // 生成服务未配置 → 置灰(一期过渡态); 已配置 → 在线生成按钮可用 (两种都是正确状态) + const dl = await page.$eval('#btnDownload', el => ({ hidden: el.classList.contains('hidden'), disabled: el.disabled, text: el.textContent })); + const dlOk = !dl.hidden && ((dl.disabled && dl.text.indexOf('下载 STEP') >= 0) || + (!dl.disabled && dl.text.indexOf('在线生成') >= 0)); + check(tag + ' 非标徽标显示 + 下载状态正确 (按钮: ' + dl.text + (dl.disabled ? '/disabled' : '/enabled') + ')', badge && dlOk); + if (c.expectNearest) { + const hint = await page.$eval('#viewer3dHint', el => el.textContent); + check(tag + ' 最近标准档位提示 ' + c.expectNearest + ' (提示: ' + hint.trim() + ')', + hint.indexOf(c.expectNearest) >= 0); + } + } + } + + // 非标加入购物车 → 角标 + 抽屉标注 (与桌面语义一致) + await page.fill('#sel-stroke', '87'); + await page.dispatchEvent('#sel-stroke', 'change'); + await page.waitForTimeout(400); + await page.click('#btnAddCart'); + await page.waitForTimeout(300); + await page.click('#btnCart'); + await page.waitForTimeout(300); + const sub = await page.$eval('#cartList .cart-item .ci-sub', el => el.textContent); + check('购物车非标条目标注 (内容: ' + sub.trim() + ')', sub.indexOf('非标') >= 0); + await page.click('#cartClose'); + await page.waitForTimeout(200); + + // 标准档位回归: 换回 stroke=75 → 下载恢复可用 + await page.fill('#sel-stroke', '75'); + await page.dispatchEvent('#sel-stroke', 'change'); + await page.waitForTimeout(400); + const dlRe = await page.$eval('#btnDownload', el => !el.disabled && el.getAttribute('href').indexOf('.step') >= 0); + check('标准档位回归: 下载恢复可用 (href=' + (await page.$eval('#btnDownload', el => el.getAttribute('href'))) + ')', dlRe); + + console.log(out.join('\n')); + console.log('结果: ' + pass + ' 通过, ' + fail + ' 失败 | 页面错误: ' + (errs.length ? errs.join(' | ') : '无')); + await browser.close(); + process.exit(fail ? 1 : 0); +})().catch(e => { console.error('FAIL:', e.message); process.exit(1); }); diff --git a/tools/extract-pdf.py b/tools/extract-pdf.py new file mode 100644 index 0000000..902640f --- /dev/null +++ b/tools/extract-pdf.py @@ -0,0 +1,34 @@ +# -*- coding: utf-8 -*- +# 提取 PDF 文本到 UTF-8 文件 (PyMuPDF), 并解码内嵌字体私有区数字 +# 用法: python extract-pdf.py <起始页> <结束页(含)> +import fitz, sys, os + +path, outdir = sys.argv[1], sys.argv[2] +start = int(sys.argv[3]); end = int(sys.argv[4]) +doc = fitz.open(path) +os.makedirs(outdir, exist_ok=True) + +# ONEBOT 手册: 数字被编码为私有区字符 0xF6B1(=0) ~ 0xF6BA(=9) +DIGITS = {0xF6B1 + i: str(i) for i in range(10)} +# 常见符号误提取 (按上下文谨慎映射) +SYMBOLS = {'÷': 'x', '⨯': 'x', '·': '-'} + +def decode(t): + out = [] + for ch in t: + o = ord(ch) + if o in DIGITS: + out.append(DIGITS[o]) + elif ch in SYMBOLS: + out.append(SYMBOLS[ch]) + else: + out.append(ch) + return ''.join(out) + +for i in range(start - 1, min(end, len(doc))): + text = decode(doc[i].get_text()) + fn = os.path.join(outdir, "page_%03d.txt" % (i + 1)) + with open(fn, "w", encoding="utf-8") as f: + f.write(text) +print("total_pages", len(doc)) +print("extracted", start, "to", min(end, len(doc)), "->", outdir) diff --git a/tools/fix-bom.ps1 b/tools/fix-bom.ps1 new file mode 100644 index 0000000..e259d15 --- /dev/null +++ b/tools/fix-bom.ps1 @@ -0,0 +1,19 @@ +# 给 .ps1/.cs 文件补上唯一的 UTF-8 BOM (PS 5.1 与 csc 对无 BOM 文件按 ANSI 读取, 中文会乱) +# 幂等: 先剥离已有 BOM 再加一个。本脚本本身纯 ASCII。 +param([string[]]$Files) +if (-not $Files) { + $Files = @() + $Files += Get-ChildItem (Join-Path $PSScriptRoot '*.ps1') | ForEach-Object { $_.FullName } + $Files += Get-ChildItem (Join-Path $PSScriptRoot '..\src') -Filter '*.cs' -Recurse | ForEach-Object { $_.FullName } +} +foreach ($f in $Files) { + $bytes = [System.IO.File]::ReadAllBytes($f) + $i = 0 + while (($i + 2) -lt $bytes.Length -and $bytes[$i] -eq 0xEF -and $bytes[$i + 1] -eq 0xBB -and $bytes[$i + 2] -eq 0xBF) { $i += 3 } + if ($i -gt 0) { $bytes = $bytes[$i..($bytes.Length - 1)] } + $out = New-Object byte[] ($bytes.Length + 3) + $out[0] = 0xEF; $out[1] = 0xBB; $out[2] = 0xBF + [Array]::Copy($bytes, 0, $out, 3, $bytes.Length) + [System.IO.File]::WriteAllBytes($f, $out) + Write-Output ("BOM fixed: " + $f) +} diff --git a/tools/make-icon.ps1 b/tools/make-icon.ps1 new file mode 100644 index 0000000..79b1178 --- /dev/null +++ b/tools/make-icon.ps1 @@ -0,0 +1,38 @@ +# 生成应用图标 assets\icon.ico (System.Drawing 绘制 64x64 气缸简图 → PNG 内嵌 ICO) +# 用法: powershell -NoProfile -ExecutionPolicy Bypass -File tools\make-icon.ps1 +param( + [string]$Out = (Join-Path $PSScriptRoot '..\assets\icon.ico') +) +Add-Type -AssemblyName System.Drawing + +$bmp = New-Object System.Drawing.Bitmap(64, 64) +$g = [System.Drawing.Graphics]::FromImage($bmp) +$g.SmoothingMode = [System.Drawing.Drawing2D.SmoothingMode]::AntiAlias +$g.Clear([System.Drawing.Color]::FromArgb(0x1B, 0x4F, 0x8C)) # 深蓝底 + +$blue = New-Object System.Drawing.SolidBrush([System.Drawing.Color]::FromArgb(0x4A, 0x90, 0xD9)) +$white = [System.Drawing.Brushes]::White +$g.FillRectangle($blue, 16, 18, 32, 38) # 缸体 +$g.FillEllipse($blue, 16, 10, 32, 16) # 顶盖椭圆 +$g.FillEllipse($blue, 16, 48, 32, 16) # 底盖椭圆 +$g.FillRectangle($white, 28, 2, 8, 14) # 活塞杆 +$g.FillRectangle($white, 18, 24, 4, 26) # 高光 + +# PNG 字节 +$ms = New-Object System.IO.MemoryStream +$bmp.Save($ms, [System.Drawing.Imaging.ImageFormat]::Png) +$png = $ms.ToArray() +$g.Dispose(); $bmp.Dispose(); $ms.Dispose() + +# ICO 包装: 6 字节头 + 16 字节目录项 + PNG 数据 +$outDir = Split-Path $Out +New-Item -ItemType Directory -Force -Path $outDir | Out-Null +$fs = [System.IO.File]::Create($Out) +$w = New-Object System.IO.BinaryWriter($fs) +$w.Write([UInt16]0); $w.Write([UInt16]1); $w.Write([UInt16]1) # 保留/类型/数量 +$w.Write([byte]64); $w.Write([byte]64); $w.Write([byte]0); $w.Write([byte]0) # 宽高 +$w.Write([UInt16]1); $w.Write([UInt16]32) # 平面/位深 +$w.Write([UInt32]$png.Length); $w.Write([UInt32]22) # 数据大小/偏移 +$w.Write($png) +$w.Close() +Write-Output ("图标: " + $Out) diff --git a/tools/make-opc.ps1 b/tools/make-opc.ps1 new file mode 100644 index 0000000..bdcedba --- /dev/null +++ b/tools/make-opc.ps1 @@ -0,0 +1,86 @@ +# 从 sample-data 生成 .opc 数据包 (zip: catalog.json + assets) +# 用法: powershell -NoProfile -ExecutionPolicy Bypass -File tools\make-opc.ps1 +# 注: M2 起由 Builder 在维护入口内完成此步骤; 本脚本为 M1 的临时打包器。 +# catalog.json 手工拼接 (PS 哈希表直接交给 .NET 序列化器会有 PSObject 循环引用问题)。 +param( + [string]$DataDir = (Join-Path $PSScriptRoot '..\..\sample-data\onb-sc'), + [string]$Out = (Join-Path $PSScriptRoot '..\sample\SampleCatalog_2026.08.opc') +) + +Add-Type -AssemblyName System.IO.Compression.FileSystem + +$csv = Join-Path $DataDir 'params.csv' +if (-not (Test-Path $csv)) { Write-Output "找不到 $csv"; exit 1 } + +# 1) 变体 (来自参数表): SC + MAQ 两个系列 +$varJson = @() +foreach ($row in (Get-Content $csv | Select-Object -Skip 1)) { + if ([string]::IsNullOrWhiteSpace($row)) { continue } + $c = $row.Split(',') + $varJson += ('{"modelCode":"' + $c[0] + '","params":{"bore":' + $c[1] + ',"stroke":' + $c[2] + + ',"magnet":"' + $c[3] + '","mount":"' + $c[4] + '"},"step":"step/' + $c[5] + '"}') +} +$varJsonM = @() +foreach ($row in (Get-Content (Join-Path $DataDir 'params_maq.csv') | Select-Object -Skip 1)) { + if ([string]::IsNullOrWhiteSpace($row)) { continue } + $c = $row.Split(',') + $varJsonM += ('{"modelCode":"' + $c[0] + '","params":{"bore":' + $c[1] + ',"stroke":' + $c[2] + + ',"magnet":"' + $c[3] + '","mount":"' + $c[4] + '"},"step":"step/' + $c[5] + '"}') +} + +# 2) 系列元数据 — 与 sample-data\onb-sc\coding-rules.md 保持一致 +$paramsJson = @( + '{"code":"bore","nameZh":"缸径","nameEn":"Bore","unit":"mm","type":"number","keywords":"gangjing qigang","values":[16,25,32,40],"display":{}}', + '{"code":"stroke","nameZh":"行程","nameEn":"Stroke","unit":"mm","type":"number","keywords":"xingcheng","values":[25,50,75,100],"display":{}}', + '{"code":"magnet","nameZh":"磁石","nameEn":"Magnet","unit":"","type":"enum","keywords":"cishi","values":["","S"],"display":{"":"无 None","S":"带磁石 S"}}', + '{"code":"mount","nameZh":"安装方式","nameEn":"Mounting","unit":"","type":"enum","keywords":"anzhuang","values":["FA","LB","CB"],"display":{"FA":"前法兰 FA","LB":"脚座 LB","CB":"中摆 CB"}}' +) +$rulesJson = @( + '{"If":{"Param":"bore","Op":"eq","Value":16},"Then":{"Param":"stroke","Op":"in","Value":[25,50]}}', + '{"If":{"Param":"magnet","Op":"eq","Value":"S"},"Then":{"Param":"bore","Op":"in","Value":[25,32,40]}}', + '{"If":{"Param":"mount","Op":"eq","Value":"CB"},"Then":{"Param":"stroke","Op":"in","Value":[25,50,75]}}' +) +$attJson = @( + '{"kind":"dimDrawing","lang":"zh","path":"docs/dim-drawing/SC32x50S-LB.png","model":"SC32x50S-LB"}', + '{"kind":"dimDrawing","lang":"zh","path":"docs/dim-drawing/SC16x25-FA.png","model":"SC16x25-FA"}', + '{"kind":"datasheet","lang":"zh","path":"docs/datasheet/SC_datasheet_zh.pdf"}', + '{"kind":"datasheet","lang":"en","path":"docs/datasheet/SC_datasheet_en.pdf"}' +) + +# MAQ 系列元数据 (迷你气缸, 无附件) +$paramsJsonM = @( + '{"code":"bore","nameZh":"缸径","nameEn":"Bore","unit":"mm","type":"number","keywords":"gangjing","values":[6,10,16],"display":{}}', + '{"code":"stroke","nameZh":"行程","nameEn":"Stroke","unit":"mm","type":"number","keywords":"xingcheng","values":[10,20,30,40],"display":{}}', + '{"code":"magnet","nameZh":"磁石","nameEn":"Magnet","unit":"","type":"enum","keywords":"cishi","values":["","S"],"display":{"":"无 None","S":"带磁石 S"}}', + '{"code":"mount","nameZh":"安装方式","nameEn":"Mounting","unit":"","type":"enum","keywords":"anzhuang","values":["FA","LB"],"display":{"FA":"前法兰 FA","LB":"脚座 LB"}}' +) +$rulesJsonM = @( + '{"If":{"Param":"bore","Op":"eq","Value":6},"Then":{"Param":"stroke","Op":"in","Value":[10,20]}}', + '{"If":{"Param":"magnet","Op":"eq","Value":"S"},"Then":{"Param":"bore","Op":"in","Value":[10,16]}}' +) +$seriesJsonM = '{"code":"MAQ","nameZh":"MAQ 系列迷你气缸","nameEn":"MAQ Series Mini Cylinder","keywords":"mini minixing qigang","parameters":[' + ($paramsJsonM -join ',') + '],"rules":[' + ($rulesJsonM -join ',') + '],"naming":{"stepNameTemplate":"{model}.step"},"attachments":[],"variants":[' + ($varJsonM -join ',') + ']}' + +$json = '{"schemaVersion":"1.0","catalogName":"欧霓博气动目录","catalogNameEn":"OUNIBO Pneumatic Catalog",' + + '"catalogVersion":"2026.08","defaultLang":"zh","langs":["zh","en"],' + + '"categories":[{"code":"ACT","nameZh":"气动执行元件","nameEn":"Pneumatic Actuators","series":["SC","MAQ"]}],' + + '"series":[{"code":"SC","nameZh":"SC 系列标准气缸","nameEn":"SC Series Standard Cylinder",' + + '"parameters":[' + ($paramsJson -join ',') + '],' + + '"rules":[' + ($rulesJson -join ',') + '],' + + '"naming":{"stepNameTemplate":"{model}.step"},' + + '"attachments":[' + ($attJson -join ',') + '],' + + '"variants":[' + ($varJson -join ',') + ']},' + + $seriesJsonM + ']}' + +# 3) 组装临时目录 → zip +$tmp = Join-Path $env:TEMP ('opc_' + [Guid]::NewGuid().ToString('N')) +New-Item -ItemType Directory -Force -Path $tmp | Out-Null +Copy-Item -Recurse -Force (Join-Path $DataDir '*') $tmp | Out-Null +[System.IO.File]::WriteAllText((Join-Path $tmp 'catalog.json'), $json, (New-Object System.Text.UTF8Encoding($true))) + +$outDir = Split-Path $Out +New-Item -ItemType Directory -Force -Path $outDir | Out-Null +if (Test-Path $Out) { Remove-Item $Out -Force } +[System.IO.Compression.ZipFile]::CreateFromDirectory($tmp, $Out) +Remove-Item -Recurse -Force $tmp + +Write-Output ("数据包: " + $Out + " (" + $varJson.Count + " 个变体, catalog.json " + $json.Length + " 字节)") diff --git a/tools/publish.ps1 b/tools/publish.ps1 new file mode 100644 index 0000000..78c78d7 --- /dev/null +++ b/tools/publish.ps1 @@ -0,0 +1,89 @@ +# 一键编译发布 (M3): 校验数据包 → 编译客户版 exe (数据内置) → 生成光盘/USB 目录 + 增量更新包 +# 用法: powershell -NoProfile -ExecutionPolicy Bypass -File tools\publish.ps1 [-Opc 数据包.opc] [-Version 2026.08] +param( + [string]$Opc = (Join-Path $PSScriptRoot '..\sample\OnebotCatalog_2026.08.opc'), + [string]$Version = '2026.08' +) + +$root = Split-Path $PSScriptRoot -Parent +$exeDev = Join-Path $root 'bin\OnebotCatalog.exe' +$exeCus = Join-Path $root 'bin\OnebotCatalog-Customer.exe' +$selftestLog = Join-Path (Split-Path $Opc -Parent) 'selftest.log' + +# 1) 数据包校验 (校验不过不允许发布) +if (-not (Test-Path $Opc)) { Write-Output "数据包不存在: $Opc"; exit 1 } +if (-not (Test-Path $exeDev)) { Write-Output "开发版不存在, 请先 build.ps1"; exit 1 } +Start-Process -FilePath $exeDev -ArgumentList @('--selftest', $Opc) -Wait | Out-Null +if (-not (Test-Path $selftestLog)) { Write-Output "自测日志缺失, 发布中止"; exit 1 } +$log = Get-Content $selftestLog -Raw -Encoding UTF8 +if ($log -match '结果: (\d+) 通过, (\d+) 失败') { + $failCount = [int]$Matches[2] + if ($failCount -gt 0) { Write-Output "自测未通过 ($failCount 失败), 发布中止"; exit 1 } + Write-Output ("[1/4] 数据包自测通过: " + $Matches[1] + " 项") +} else { Write-Output "自测日志格式异常, 发布中止"; exit 1 } + +# 2) 编译客户版 (CUSTOMER_BUILD + 嵌入数据 + 图标) +& powershell -NoProfile -ExecutionPolicy Bypass -File (Join-Path $PSScriptRoot 'build.ps1') -Customer -Opc $Opc +if (-not (Test-Path $exeCus)) { Write-Output "客户版编译失败"; exit 1 } +Write-Output "[2/4] 客户版编译完成" + +# 3) 发布目录 (光盘/USB 结构) +$relDir = Join-Path $root ("release\OnebotCatalog_" + $Version) +New-Item -ItemType Directory -Force -Path $relDir | Out-Null +Copy-Item $exeCus (Join-Path $relDir 'OnebotCatalog.exe') -Force +Copy-Item $Opc (Join-Path $relDir 'catalog.opc') -Force +# 开源 3D 渲染库 Helix Toolkit DLL (窗口内直渲 STL 网格用) +Get-ChildItem (Join-Path $root 'lib\*.dll') -ErrorAction SilentlyContinue | ForEach-Object { Copy-Item $_.FullName $relDir -Force } +if (Test-Path (Join-Path $root 'assets\icon.ico')) { Copy-Item (Join-Path $root 'assets\icon.ico') $relDir -Force } +[System.IO.File]::WriteAllText((Join-Path $relDir 'autorun.inf'), + "[autorun]`r`nopen=OnebotCatalog.exe`r`nicon=OnebotCatalog.exe,0`r`n", [System.Text.Encoding]::ASCII) +[System.IO.File]::WriteAllText((Join-Path $relDir 'README_zh.txt'), + "欧霓博气动元件电子目录 " + $Version + "`r`n`r`n双击 OnebotCatalog.exe 运行 (Win10/11 免安装)。`r`nWin10/11 默认禁用自动播放, 请手动双击运行。`r`n`r`n目录更新: 用新版本 catalog.opc 替换本目录中的同名文件即可。`r`n`r`n常见问题: 若杀毒软件拦截, 请将程序加入白名单 (本软件无签名)。`r`n", (New-Object System.Text.UTF8Encoding($true))) +[System.IO.File]::WriteAllText((Join-Path $relDir 'README_en.txt'), + "ONEBOT Pneumatic Catalog " + $Version + "`r`n`r`nDouble-click OnebotCatalog.exe to run (no installation, Win10/11).`r`nAutoplay is disabled by default on Win10/11 - run the exe manually.`r`n`r`nUpdate: replace catalog.opc with the new version.`r`n`r`nNote: unsigned software may trigger antivirus warnings - add to allow list if needed.`r`n", (New-Object System.Text.UTF8Encoding($true))) +Write-Output "[3/4] 发布目录: $relDir" + +# 3.5) 附带本机 3D 查看器组件 (真实数模浏览器预览用; 剔除 samples/uploads/step 非必要目录, ~8MB) +$vSrc = Join-Path $root 'viewer\STEPViewer' +if (Test-Path $vSrc) { + $vDst = Join-Path $relDir 'viewer\STEPViewer' + New-Item -ItemType Directory -Force -Path $vDst | Out-Null + Copy-Item (Join-Path $vSrc '*.html'), (Join-Path $vSrc '*.js'), (Join-Path $vSrc '*.css'), (Join-Path $vSrc '*.ico'), (Join-Path $vSrc '*.txt') $vDst -Force -ErrorAction SilentlyContinue + foreach ($sub in @('icons', 'libs', 'api')) { + Copy-Item (Join-Path $vSrc $sub) $vDst -Recurse -Force -ErrorAction SilentlyContinue + } + Write-Output " 查看器组件已附带 (~$([Math]::Round((Get-ChildItem $vDst -Recurse -File | Measure-Object Length -Sum).Sum / 1MB, 1)) MB)" +} + +# 4) 增量更新包 (仅数据包) +$updDir = Join-Path $root ("release\update_" + $Version) +New-Item -ItemType Directory -Force -Path $updDir | Out-Null +Copy-Item $Opc (Join-Path $updDir 'catalog.opc') -Force +Write-Output "[4/5] 增量更新包: $updDir (仅替换 catalog.opc 即可升级)" + +# 5) 在线发布 (静态站点): 解包 .opc 数据 + 前端页面 → 整目录上传即上线 +# 发布前必须先停 serve-web (占用站点目录文件句柄); 删除带重试, 防句柄未释放的竞态 +Add-Type -AssemblyName System.IO.Compression.FileSystem +$webDir = Join-Path $root ("release\web_" + $Version) +for ($try = 0; $try -lt 6 -and (Test-Path $webDir); $try++) { + try { Remove-Item -Recurse -Force $webDir -ErrorAction Stop } + catch { Start-Sleep -Seconds 2 } +} +if (Test-Path $webDir) { Write-Output "站点目录删除失败 (被占用), 请关闭预览服务器/浏览器后重试"; exit 1 } +New-Item -ItemType Directory -Force -Path $webDir | Out-Null +[System.IO.Compression.ZipFile]::ExtractToDirectory($Opc, $webDir) +Copy-Item (Join-Path $root 'web\*') $webDir -Recurse -Force +Write-Output "[5/5] 在线站点: $webDir (整目录上传到网站根目录即上线; 本地预览: tools\serve-web.ps1)" + +# 6) 网格预览侧车 (窗口内 3D 开源 Helix 渲染用): 源 onebot-data\catalog\mesh → 开发包旁 sample\mesh + 客户目录 mesh\ +$meshSrc = Join-Path $root 'onebot-data\catalog\mesh' +if (Test-Path $meshSrc) { + $meshDev = Join-Path (Split-Path $Opc -Parent) 'mesh' + robocopy $meshSrc $meshDev /MIR /NJH /NJS /NFL /NDL | Out-Null + $meshRel = Join-Path $relDir 'mesh' + robocopy $meshSrc $meshRel /MIR /NJH /NJS /NFL /NDL | Out-Null + Write-Output ("[6/6] 网格预览侧车已同步 (窗口内 3D): mesh\ " + (Get-ChildItem $meshSrc -File).Count + " 文件") +} + +Get-ChildItem $relDir | ForEach-Object { Write-Output (" " + $_.Name + " " + [Math]::Round($_.Length / 1KB) + " KB") } +Write-Output "发布完成 ✔ (离线 + 增量 + 在线三份产物)" diff --git a/tools/serve-web.ps1 b/tools/serve-web.ps1 new file mode 100644 index 0000000..0e46d6f --- /dev/null +++ b/tools/serve-web.ps1 @@ -0,0 +1,111 @@ +# 本地预览服务器 (零依赖 TcpListener + Runspace 池并发): 服务在线站点静态目录 +# 用法: powershell -NoProfile -ExecutionPolicy Bypass -File tools\serve-web.ps1 [-Root release\web_2026.08] [-Port 8080] +# 并发: 每个请求一个 Runspace (池上限 16), 大文件 (wasm/图片) 不再阻塞小文件 (step 下载/页面) +param( + [string]$Root = (Join-Path $PSScriptRoot '..\release\web_2026.08'), + [int]$Port = 8080, + [string]$ViewerRoot = (Join-Path $PSScriptRoot '..\viewer') # /viewer/ 前缀 → 新迪查看器本地副本 (可选; 原项目 Z:\...\上海新迪3D\dev 只读) +) +if (-not (Test-Path $Root)) { Write-Output "目录不存在: $Root"; exit 1 } +$viewerRootFull = '' +if ($ViewerRoot -and (Test-Path $ViewerRoot)) { + $viewerRootFull = [System.IO.Path]::GetFullPath($ViewerRoot) + Write-Output ("查看器目录: " + $viewerRootFull) +} + +$mime = @{ + '.html' = 'text/html; charset=utf-8'; '.js' = 'application/javascript; charset=utf-8' + '.css' = 'text/css; charset=utf-8'; '.json' = 'application/json; charset=utf-8' + '.png' = 'image/png'; '.jpg' = 'image/jpeg'; '.pdf' = 'application/pdf' + '.step' = 'application/octet-stream'; '.ico' = 'image/x-icon'; '.txt' = 'text/plain; charset=utf-8' + '.wasm' = 'application/wasm'; '.stp' = 'application/octet-stream' +} +$rootFull = [System.IO.Path]::GetFullPath($Root) + +# 单请求处理逻辑 (自包含, 在 Runspace 中执行) +$handlerText = @' +param($client, $rootFull, $viewerRootFull, $mime) +try { + $stream = $client.GetStream() + $stream.ReadTimeout = 2000 # 预连接/空连接快速失败, 不阻塞后续请求 + $stream.WriteTimeout = 30000 + $reader = New-Object System.IO.StreamReader($stream, [System.Text.Encoding]::ASCII, $false, 4096, $true) + $reqLine = $reader.ReadLine() + if ($null -eq $reqLine) { $client.Close(); return } # 客户端连上不发数据, 直接断开 + # 读掉请求头 (EOF 即 null 时必须退出, 否则死循环) + $line = $reader.ReadLine() + $guard = 0 + while ($line -ne $null -and $line -ne '') { + $line = $reader.ReadLine() + $guard++ + if ($guard -gt 100) { break } + } + + $path = '/' + if ($reqLine) { + $parts = $reqLine -split ' ' + if ($parts.Count -ge 2) { $path = $parts[1] } + } + # 去掉查询串 (?v= / ?file= 等), 否则会进文件路径导致非法字符异常 + $qi = $path.IndexOf('?') + if ($qi -ge 0) { $path = $path.Substring(0, $qi) } + if ($path -eq '/') { $path = '/index.html' } + + $full = [System.IO.Path]::GetFullPath((Join-Path $rootFull ($path -replace '/', '\').TrimStart('\'))) + $bytes = $null; $status = '200 OK'; $ctype = 'application/octet-stream' + # /viewer/ 前缀 → 新迪 3D 查看器根目录 (各自防目录穿越) + $rootNow = $rootFull + $rel = ($path -replace '/', '\').TrimStart('\') + if ($viewerRootFull -and $rel.StartsWith('viewer\', [System.StringComparison]::OrdinalIgnoreCase)) { + $rootNow = $viewerRootFull + $rel = $rel.Substring('viewer\'.Length) + $full = [System.IO.Path]::GetFullPath((Join-Path $rootNow $rel)) + } + if ($full.StartsWith($rootNow, [System.StringComparison]::OrdinalIgnoreCase) -and (Test-Path $full -PathType Leaf)) { + $bytes = [System.IO.File]::ReadAllBytes($full) + $ext = [System.IO.Path]::GetExtension($full).ToLowerInvariant() + if ($mime.ContainsKey($ext)) { $ctype = $mime[$ext] } + } else { + $status = '404 Not Found' + $bytes = [System.Text.Encoding]::UTF8.GetBytes('404 Not Found') + $ctype = 'text/plain; charset=utf-8' + } + $head = "HTTP/1.1 $status`r`nContent-Type: $ctype`r`nCache-Control: no-cache`r`nContent-Length: $($bytes.Length)`r`nConnection: close`r`n`r`n" + $headBytes = [System.Text.Encoding]::ASCII.GetBytes($head) + $stream.Write($headBytes, 0, $headBytes.Length) + $stream.Write($bytes, 0, $bytes.Length) + $stream.Flush() +} catch { } +$client.Close() +'@ + +# Runspace 池 (并发上限 16) +$pool = [runspacefactory]::CreateRunspacePool(1, 16) +$pool.Open() + +$listener = New-Object System.Net.Sockets.TcpListener([System.Net.IPAddress]::Loopback, $Port) +$listener.Start() +Write-Output ("服务已启动: http://localhost:" + $Port + " (停止: 关闭本窗口)") + +while ($true) { + $client = $null + try { + $client = $listener.AcceptTcpClient() + } catch { + # 监听异常不退出进程 (端口占用等), 2 秒后重试 + Start-Sleep -Seconds 2 + continue + } + try { + $ps = [powershell]::Create() + $ps.RunspacePool = $pool + [void]$ps.AddScript($handlerText) + [void]$ps.AddArgument($client) + [void]$ps.AddArgument($rootFull) + [void]$ps.AddArgument($viewerRootFull) + [void]$ps.AddArgument($mime) + [void]$ps.BeginInvoke() + } catch { + $client.Close() + } +} diff --git a/tools/ui-diagnose.ps1 b/tools/ui-diagnose.ps1 new file mode 100644 index 0000000..1a1f9d3 --- /dev/null +++ b/tools/ui-diagnose.ps1 @@ -0,0 +1,38 @@ +# UI 层诊断 (STA): 反射创建主窗口, 对每个系列执行 LoadSeries, +# 检查下拉框数据源是否为空 / 是否抛异常。 +# 用法: powershell -STA -NoProfile -ExecutionPolicy Bypass -File tools\ui-diagnose.ps1 +param( + [string]$Exe = (Join-Path $PSScriptRoot '..\bin\OnebotCatalog.exe'), + [string]$Opc = (Join-Path $PSScriptRoot '..\sample\OnebotCatalog_2026.08.opc') +) +$ErrorActionPreference = 'Stop' +Add-Type -AssemblyName PresentationFramework +Add-Type -AssemblyName PresentationCore +Add-Type -AssemblyName WindowsBase + +$asm = [Reflection.Assembly]::LoadFrom($Exe) +$pkgType = $asm.GetType('Ounibo.Catalog.Core.OpcPackage') +$pkg = $pkgType.GetMethod('Open').Invoke($null, @($Opc)) + +$mwType = $asm.GetType('Ounibo.Catalog.App.MainWindow') +$mw = [Activator]::CreateInstance($mwType, @($pkg, $false)) +$ls = $mwType.GetMethod('LoadSeries', [Reflection.BindingFlags]'NonPublic,Instance') +$boxesField = $mwType.GetField('_boxes', [Reflection.BindingFlags]'NonPublic,Instance') + +foreach ($s in $pkg.Catalog.series) { + try { + $ls.Invoke($mw, @($s)) | Out-Null + $boxes = $boxesField.GetValue($mw) + $parts = @() + foreach ($k in $boxes.Keys) { + $cb = $boxes[$k] + $count = 0 + if ($cb.ItemsSource -ne $null) { $count = $cb.Items.Count } + $parts += ($k + '=' + $count) + } + Write-Output ("系列 " + $s.code + " 下拉数据源: " + ($parts -join ' ')) + } catch { + Write-Output ("系列 " + $s.code + " 异常: " + $_.Exception.InnerException.Message) + } +} +$pkg.Dispose() diff --git a/tools/ui-diagnose2.ps1 b/tools/ui-diagnose2.ps1 new file mode 100644 index 0000000..97ab8d8 --- /dev/null +++ b/tools/ui-diagnose2.ps1 @@ -0,0 +1,53 @@ +# UI 诊断2: 模拟用户点击下拉框 (设置 SelectedItem → 触发 SelectionChanged → RefreshOptions) +# 检查选中值是否保持、_sel 是否记录、状态栏是否更新。 +# 用法: powershell -STA -NoProfile -ExecutionPolicy Bypass -File tools\ui-diagnose2.ps1 +param( + [string]$Exe = (Join-Path $PSScriptRoot '..\bin\OnebotCatalog.exe'), + [string]$Opc = (Join-Path $PSScriptRoot '..\sample\OnebotCatalog_2026.08.opc') +) +$ErrorActionPreference = 'Stop' +Add-Type -AssemblyName PresentationFramework +Add-Type -AssemblyName PresentationCore +Add-Type -AssemblyName WindowsBase + +$asm = [Reflection.Assembly]::LoadFrom($Exe) +$pkgType = $asm.GetType('Ounibo.Catalog.Core.OpcPackage') +$pkg = $pkgType.GetMethod('Open').Invoke($null, @($Opc)) + +$mwType = $asm.GetType('Ounibo.Catalog.App.MainWindow') +$mw = [Activator]::CreateInstance($mwType, @($pkg, $false)) +$flags = [Reflection.BindingFlags]'NonPublic,Instance' +$ls = $mwType.GetMethod('LoadSeries', $flags) +$boxesField = $mwType.GetField('_boxes', $flags) +$selField = $mwType.GetField('_sel', $flags) +$statusField = $mwType.GetField('_status', $flags) +$titleField = $mwType.GetField('_modelTitle', $flags) + +$kc = $null +foreach ($sx in $pkg.Catalog.series) { if ($sx.code -eq 'KC') { $kc = $sx; break } } +$ls.Invoke($mw, @($kc)) | Out-Null +$boxes = $boxesField.GetValue($mw) +$sel = $selField.GetValue($mw) + +Write-Output ("KC 参数框: " + (($boxes.Keys | ForEach-Object { $_ }) -join ' ')) + +# 模拟点击第一个参数框 (型号) 的第一项 +$cbType = $boxes['type'] +Write-Output ("点击前 type SelectedItem: " + $(if ($cbType.SelectedItem) { $cbType.SelectedItem.ToString() } else { 'null' })) +$firstItem = $cbType.Items[0] +$cbType.SelectedItem = $firstItem +Write-Output ("点击后 type SelectedItem: " + $(if ($cbType.SelectedItem) { $cbType.SelectedItem.ToString() } else { 'null' })) +Write-Output ("_sel 内容: " + (($sel.Keys | ForEach-Object { $_ + '=' + $sel[$_] }) -join ' ')) + +# 再点第二个框 (缸径) 的第一项 +$cbBore = $boxes['bore'] +$cbBore.SelectedItem = $cbBore.Items[0] +Write-Output ("bore SelectedItem: " + $(if ($cbBore.SelectedItem) { $cbBore.SelectedItem.ToString() } else { 'null' })) +Write-Output ("_sel 内容: " + (($sel.Keys | ForEach-Object { $_ + '=' + $sel[$_] }) -join ' ')) + +# 状态栏与标题 +$status = $statusField.GetValue($mw) +$title = $titleField.GetValue($mw) +Write-Output ("状态栏: " + $status.Text) +Write-Output ("标题: " + $title.Text) +$pkg.Dispose() diff --git a/viewer/STEPViewer/.htaccess b/viewer/STEPViewer/.htaccess new file mode 100644 index 0000000..68df4d7 --- /dev/null +++ b/viewer/STEPViewer/.htaccess @@ -0,0 +1,8 @@ +# WebAssembly 必须带正确的 MIME,否则 occt 引擎的 instantiateStreaming 会失败 +AddType application/wasm .wasm +AddType text/javascript .js .mjs + +# 禁止直接下载模型文件(.stp/.step/.enc 只能通过查看器令牌通道读取) + + Require all denied + diff --git a/viewer/STEPViewer/api/.htaccess b/viewer/STEPViewer/api/.htaccess new file mode 100644 index 0000000..a050daa --- /dev/null +++ b/viewer/STEPViewer/api/.htaccess @@ -0,0 +1,4 @@ +# 禁止直接访问加密模型文件(双保险:PHP 接口已校验令牌) + + Require all denied + diff --git a/viewer/STEPViewer/api/model.php b/viewer/STEPViewer/api/model.php new file mode 100644 index 0000000..4d1d628 --- /dev/null +++ b/viewer/STEPViewer/api/model.php @@ -0,0 +1,66 @@ + 'bad params']); + +$sig = substr(hash_hmac('sha256', $f . '|' . $e, $SECRET), 0, 16); +if (!hash_equals($sig, $t) || time() > $e) json_out(403, ['error' => 'invalid or expired token']); + +$root = realpath(__DIR__ . '/..'); +if ($PRIVATE_DIR !== '') { + // 私有目录优先(嵌入链接写纯文件名即可);目录不存在时退回站内路径, + // 让留在 web 目录里的样例模型按原路径继续可用(这些文件本来就允许直链, + // 退回不新增暴露面)。要保护的文件必须移出 web 目录放进私有目录。 + $full = realpath($PRIVATE_DIR . '/' . basename($f)); + $ok = $full && strpos($full, realpath($PRIVATE_DIR)) === 0 && is_file($full); + if (!$ok) { + $full = realpath($root . '/' . $f); + $ok = $full && strpos($full, $root) === 0 && is_file($full); + } +} else { + $full = realpath($root . '/' . $f); + $ok = $full && strpos($full, $root) === 0 && is_file($full); +} +if (!$ok || !$full) json_out(404, ['error' => 'not found']); + +$data = file_get_contents($full); +if (preg_match('/\.enc$/i', $f)) { + $nonce = substr($data, 0, 16); + $key = hash('sha256', $SECRET . $nonce, true); + $body = substr($data, 16); + $out = ''; + for ($i = 0; $i < strlen($body); $i++) { + $out .= $body[$i] ^ $key[$i % strlen($key)]; + } + $data = $out; +} + +// 传输层 gzip:新格式文件解密后即以 gzip 魔数开头,原样传输; +// 旧格式明文文件在线压缩。浏览器 fetch 自动解压(无需前端改动) +$send = $data; +if (substr($send, 0, 2) === "\x1f\x8b") { + header('Content-Encoding: gzip'); +} elseif (!ini_get('zlib.output_compression') && strlen($data) > 1024) { + $gz = gzencode($data, 6); + if ($gz !== false) { $send = $gz; header('Content-Encoding: gzip'); } +} +header('Content-Type: application/octet-stream'); +header('Content-Length: ' . strlen($send)); +header('Cache-Control: no-store'); +echo $send; diff --git a/viewer/STEPViewer/api/token.php b/viewer/STEPViewer/api/token.php new file mode 100644 index 0000000..400773a --- /dev/null +++ b/viewer/STEPViewer/api/token.php @@ -0,0 +1,35 @@ + 'bad file']); + +// 只允许本站页面来取令牌,挡掉直接爬取。 +// 优先看 Sec-Fetch-Site:由查看器页面发起的同源 fetch 恒为 same-origin(跨站 iframe +// 嵌入也不受影响,且不会被父站点的 Referrer-Policy 剥掉);没有该头的旧浏览器 +// 退回「Referer 含本站 host」的校验。直链/curl 两种都过不了。 +$fetchSite = $_SERVER['HTTP_SEC_FETCH_SITE'] ?? ''; +$referer = $_SERVER['HTTP_REFERER'] ?? ''; +$host = $_SERVER['HTTP_HOST'] ?? ''; +if ($fetchSite !== '') { + if ($fetchSite !== 'same-origin' && $fetchSite !== 'same-site') json_out(403, ['error' => 'forbidden']); +} elseif (strpos($referer, $host) === false) { + json_out(403, ['error' => 'forbidden']); +} + +$exp = time() + $TTL; +$sig = substr(hash_hmac('sha256', $f . '|' . $exp, $SECRET), 0, 16); +json_out(200, ['token' => $sig, 'expires' => $exp]); diff --git a/viewer/STEPViewer/api/upload.php b/viewer/STEPViewer/api/upload.php new file mode 100644 index 0000000..157a1bf --- /dev/null +++ b/viewer/STEPViewer/api/upload.php @@ -0,0 +1,98 @@ + 'method not allowed']); + +$len = (int)($_SERVER['CONTENT_LENGTH'] ?? 0); +if ($len <= 0) json_out(400, ['error' => 'empty body']); +if ($len > $MAX_SIZE) json_out(413, ['error' => 'file too large (max 500MB)']); + +$raw = urldecode($_SERVER['HTTP_X_FILENAME'] ?? 'model.step'); +$base = basename($raw); +$safe = preg_replace('/[^\w.\-\x{4e00}-\x{9fff}]/u', '_', $base); +if (!$safe || !preg_match('/\.(step|stp)$/i', $safe)) $safe .= '.stp'; +$stem = pathinfo($safe, PATHINFO_FILENAME); +$ext = pathinfo($safe, PATHINFO_EXTENSION); +$name = $stem . '_' . substr(bin2hex(random_bytes(4)), 0, 8) . '.' . $ext; + +$data = file_get_contents('php://input'); +if ($data === false || strlen($data) !== $len) json_out(400, ['error' => 'incomplete upload']); + +// 客户端可选 gzip 压缩上传(STEP 文本约可压到 1/6,节省带宽) +if (($_SERVER['HTTP_X_ENCODING'] ?? '') === 'gzip') { + $dec = gzdecode($data); + if ($dec === false) json_out(400, ['error' => 'bad gzip body']); + if (strlen($dec) > $MAX_SIZE) json_out(413, ['error' => 'file too large (max 500MB)']); + $data = $dec; +} + +// 存储层也压缩:先 gzip 再加密,磁盘占用约 1/6(读取端靠 gzip 魔数自动识别) +$rawSize = strlen($data); +$data = gzencode($data, 6); +if ($data === false) json_out(500, ['error' => 'gzip failed']); + +$dir = $PRIVATE_DIR !== '' ? $PRIVATE_DIR : (__DIR__ . '/../uploads'); +if (!is_dir($dir)) @mkdir($dir, 0755, true); +if (!is_dir($dir)) json_out(500, ['error' => 'upload dir not writable']); + +$nonce = random_bytes(16); +$key = hash('sha256', $SECRET . $nonce, true); +$enc = ''; +for ($i = 0; $i < strlen($data); $i++) { + $enc .= $data[$i] ^ $key[$i % strlen($key)]; +} + +file_put_contents($dir . '/' . $name . '.enc', $nonce . $enc); +// 私有目录模式下返回裸文件名:嵌入链接就是 ?file=xxx.enc,读取端按 basename 在私有目录找 +$entryPath = ($PRIVATE_DIR !== '' ? '' : 'uploads/') . $name . '.enc'; + +// 记入首页数模库(入口目录的 library.json,2D/3D 共享);库写失败不影响上传本身 +try { + add_to_library($entryPath, $safe, '3d'); +} catch (Throwable $e) { /* 忽略 */ } + +json_out(200, ['path' => $entryPath, 'size' => $rawSize]); + +/** + * 把刚上传的文件追加进首页数模库(../../library.json): + * 同路径已有记录就刷新名称和时间,否则插到最前。 + */ +function add_to_library($path, $name, $type) { + $libFile = dirname(__DIR__, 2) . '/library.json'; + $records = []; + if (is_file($libFile)) { + $old = json_decode((string)file_get_contents($libFile), true); + if (is_array($old) && isset($old['records']) && is_array($old['records'])) $records = $old['records']; + } + $found = false; + foreach ($records as $i => $rec) { + if (isset($rec['path']) && $rec['path'] === $path) { + $records[$i]['name'] = $name; + $records[$i]['time'] = time(); + $found = true; + break; + } + } + if (!$found) { + array_unshift($records, ['path' => $path, 'name' => $name, 'type' => $type, 'note' => '', 'time' => time()]); + } + @file_put_contents($libFile, json_encode(['records' => $records], JSON_UNESCAPED_UNICODE | JSON_UNESCAPED_SLASHES), LOCK_EX); +} diff --git a/viewer/STEPViewer/app.js b/viewer/STEPViewer/app.js new file mode 100644 index 0000000..e438d80 --- /dev/null +++ b/viewer/STEPViewer/app.js @@ -0,0 +1,2250 @@ +/** + * STEP 3D 查看器(对标新迪 NDS 查看器) + * - STEP 直读:occt-import-js(浏览器内 WASM 转换,无需任何云服务) + * - 渲染:three.js r160 + * - 功能:零件树 / 测量 / 剖切 / 爆炸 / 隐藏 / 拖动 / 复位 / 视角 + */ +import * as THREE from 'three'; +import { OrbitControls } from 'three/addons/OrbitControls.js'; +import { DragControls } from 'three/addons/DragControls.js'; +import { CSS2DRenderer, CSS2DObject } from 'three/addons/CSS2DRenderer.js'; + +/* ================= 全局状态 ================= */ +const S = { + occt: null, + result: null, + modelGroup: null, + meshObjs: [], // THREE.Mesh 数组(与 result.meshes 一一对应) + meshMeta: [], // { center, dir, dragOffset } + edgeObjs: [], + edgeLines: [], // 轮廓线(挂在 mesh 下) + wireframeOn: true, + treeNodes: [], // 平铺的树节点 { node, row, children, parent, solidIds, isLeaf } + rootNode: null, + selected: null, // 当前高亮的树节点 + tool: 'select', + modelCenter: new THREE.Vector3(), + modelRadius: 1, + bbox: new THREE.Box3(), + explodeAmount: 0, + sectionOn: false, + sectionAxis: 'z', + sectionOffset: 0, + sectionPlane: new THREE.Plane(new THREE.Vector3(0, 0, 1), 0), + sectionVisual: null, // 半透明剖切面指示器 + measurements: [], + measurePts: [], // 待连线的测量点 + dragMembers: null, // 当前拖动的成员集合 + dragLastPos: new THREE.Vector3(), + axesHelper: null, + bboxHelper: null, + viewIndex: 0, + meshFaces: [], // 每个 mesh 的 brep 面数据({first,last,color}[]) + colorOverrides: {}, // meshIndex -> '#rrggbb' + partBboxHelper: null, + thicknessFaces: [], + thicknessMarkers: null, + meshEntryMap: {}, // meshIndex -> 最具体的树行(零件行),视口点选/拖动用 + modelSource: { type: 'none', value: '' }, // 模型来源:local / file(同源相对) / url(远程) + faceHighlight: null, // 面拾取高亮覆盖层列表(S.faceHighlights) + faceHighlights: [], +}; + +// 网格细分精度档位(occt-import-js 参数) +const QUALITY = { + low: { linearDeflection: 0.5, angularDeflection: 0.6, meshQuality: 'normal' }, + medium: { linearDeflection: 0.2, angularDeflection: 0.4, meshQuality: 'normal' }, + high: { linearDeflection: 0.05, angularDeflection: 0.2, meshQuality: 'fine' }, +}; + +/* ================= DOM ================= */ +const $ = (id) => document.getElementById(id); +const dom = { + canvasWrap: $('canvasWrap'), tree: $('tree'), treeSearch: $('treeSearch'), + toolbar: $('toolbar'), status: $('statusText'), modelInfo: $('modelInfo'), + fileName: $('fileName'), fileInput: $('fileInput'), loading: $('loading'), + loadingText: $('loadingText'), dropOverlay: $('dropOverlay'), + explodePanel: $('explodePanel'), explodeSlider: $('explodeSlider'), explodeVal: $('explodeVal'), + sectionPanel: $('sectionPanel'), sectionSlider: $('sectionSlider'), sectionVal: $('sectionVal'), + qualitySelect: $('qualitySelect'), +}; + +/* ================= 场景初始化 ================= */ +const renderer = new THREE.WebGLRenderer({ antialias: true, alpha: true }); +renderer.setPixelRatio(Math.min(window.devicePixelRatio, 2)); +renderer.localClippingEnabled = true; +// 不使用色调映射:上色所见即所得(选红就是红),显示风格与最初版本一致 +dom.canvasWrap.appendChild(renderer.domElement); + +const cssRenderer = new CSS2DRenderer(); +cssRenderer.domElement.style.position = 'absolute'; +cssRenderer.domElement.style.inset = '0'; +cssRenderer.domElement.style.pointerEvents = 'none'; +dom.canvasWrap.appendChild(cssRenderer.domElement); + +const scene = new THREE.Scene(); +scene.background = new THREE.Color(0xf1f3f2); + +const camera = new THREE.PerspectiveCamera(45, 1, 0.1, 100000); +camera.position.set(100, 80, 120); + +// 灯光:环境光 + 主光 + 补光(明亮清晰),整体亮度可调 +const BRIGHTNESS = { ambient: 1.15, key: 1.35, fill: 0.55 }; +const ambientLight = new THREE.AmbientLight(0xffffff, BRIGHTNESS.ambient); +scene.add(ambientLight); +const keyLight = new THREE.DirectionalLight(0xffffff, BRIGHTNESS.key); +keyLight.position.set(1, 1.6, 1); +scene.add(keyLight); +const fillLight = new THREE.DirectionalLight(0xffffff, BRIGHTNESS.fill); +fillLight.position.set(-1, -0.4, -0.8); +scene.add(fillLight); + +// 亮度调节(0.5x ~ 2x) +function setBrightness(mult) { + ambientLight.intensity = BRIGHTNESS.ambient * mult; + keyLight.intensity = BRIGHTNESS.key * mult; + fillLight.intensity = BRIGHTNESS.fill * mult; + $('brightnessVal').textContent = Math.round(mult * 100) + '%'; +} +$('brightnessSlider').addEventListener('input', () => { + setBrightness(Number($('brightnessSlider').value) / 100); +}); + +const controls = new OrbitControls(camera, renderer.domElement); +controls.enableDamping = true; +controls.dampingFactor = 0.1; +// 按键映射:中键=旋转,Shift+中键=平移(左键旋转、右键平移保持默认) +controls.mouseButtons = { + LEFT: THREE.MOUSE.ROTATE, + MIDDLE: THREE.MOUSE.ROTATE, + RIGHT: THREE.MOUSE.PAN, +}; +// 捕获阶段先于 OrbitControls 内部监听器执行,按下中键时按 Shift 状态切换映射 +renderer.domElement.addEventListener('pointerdown', (e) => { + if (e.button === 1) { + controls.mouseButtons.MIDDLE = e.shiftKey ? THREE.MOUSE.PAN : THREE.MOUSE.ROTATE; + } +}, true); +renderer.domElement.addEventListener('pointerup', () => { + controls.mouseButtons.MIDDLE = THREE.MOUSE.ROTATE; +}, true); + +S.modelGroup = new THREE.Group(); +scene.add(S.modelGroup); + +const dragControls = new DragControls([], camera, renderer.domElement); +dragControls.enabled = false; + +const raycaster = new THREE.Raycaster(); + +// 按需渲染:场景无变化时不重绘,空闲时零 GPU 占用,交互更流畅 +let needsRender = true; +function invalidate() { needsRender = true; } +controls.addEventListener('change', invalidate); // 旋转/缩放/惯性阻尼 +renderer.domElement.addEventListener('pointermove', invalidate); // 悬停高亮 +renderer.domElement.addEventListener('pointerdown', invalidate); // 选中/测量 +renderer.domElement.addEventListener('pointerup', invalidate); // 拖动零件 +renderer.domElement.addEventListener('wheel', invalidate); +window.addEventListener('input', invalidate); // 亮度/爆炸/剖切滑杆 + +function resize() { + const w = dom.canvasWrap.clientWidth, h = dom.canvasWrap.clientHeight; + camera.aspect = w / h; + camera.updateProjectionMatrix(); + renderer.setSize(w, h); + cssRenderer.setSize(w, h); + invalidate(); +} +window.addEventListener('resize', resize); +resize(); + +function animate() { + requestAnimationFrame(animate); + controls.update(); + if (!needsRender) return; + needsRender = false; + renderer.render(scene, camera); + cssRenderer.render(scene, camera); +} +animate(); + +/* ================= 工具函数 ================= */ +function setStatus(text) { dom.status.textContent = text; } + +function defaultColor() { return new THREE.Color(0.82, 0.84, 0.86); } + +// occt-import-js 0.0.23 的 attributes/index 是 { array: 普通数组 } 包装,转成 TypedArray +function toTypedArray(v, Ctor) { + let a = v; + while (a && a.array && !ArrayBuffer.isView(a) && !Array.isArray(a)) a = a.array; + if (ArrayBuffer.isView(a)) return a; + if (Array.isArray(a) || (a && typeof a.length === 'number')) return new Ctor(a); + return null; +} + +// 按角度平滑法线:相邻面夹角 < angleDeg 时合并法线(曲面光滑、锐边保持) +function smoothNormals(geo, angleDeg) { + const cosTh = Math.cos(THREE.MathUtils.degToRad(angleDeg)); + const pos = geo.attributes.position; + const idx = geo.index; + const vertTris = new Map(); + const triNormals = []; + const vA = new THREE.Vector3(), vB = new THREE.Vector3(), vC = new THREE.Vector3(); + const e1 = new THREE.Vector3(), e2 = new THREE.Vector3(), n = new THREE.Vector3(); + for (let t = 0; t < idx.count; t += 3) { + const a = idx.getX(t), b = idx.getX(t + 1), c = idx.getX(t + 2); + vA.fromBufferAttribute(pos, a); vB.fromBufferAttribute(pos, b); vC.fromBufferAttribute(pos, c); + e1.subVectors(vB, vA); e2.subVectors(vC, vA); + n.crossVectors(e1, e2); + triNormals.push(n.lengthSq() > 1e-20 ? n.clone().normalize() : new THREE.Vector3(0, 0, 1)); + for (const v of [a, b, c]) { + if (!vertTris.has(v)) vertTris.set(v, []); + vertTris.get(v).push(t / 3); + } + } + const normals = new Float32Array(pos.count); + const acc = new THREE.Vector3(); + vertTris.forEach((tris, v) => { + acc.set(0, 0, 0); + const base = triNormals[tris[0]]; + for (const ti of tris) { + const tn = triNormals[ti]; + if (tn.dot(base) >= cosTh) acc.add(tn); + } + if (acc.lengthSq() < 1e-12) acc.copy(base); + acc.normalize(); + normals[v * 3] = acc.x; normals[v * 3 + 1] = acc.y; normals[v * 3 + 2] = acc.z; + }); + geo.setAttribute('normal', new THREE.BufferAttribute(normals, 3)); +} + +// 过暗的 CAD 颜色提亮到可见中灰(保持色相),纯黑/近黑直接用默认灰,避免渲染成黑色区域 +function liftDarkColor(c) { + if (!Array.isArray(c) || c.length < 3) return null; + let [r, g, b] = c; + const m = Math.max(r, g, b); + if (m < 0.01) return [0.52, 0.54, 0.57]; // 纯黑面 → 可见深灰 + if (m >= 0.45) return [r, g, b]; + const s = 0.45 / Math.max(m, 1e-4); + return [Math.min(r * s, 1), Math.min(g * s, 1), Math.min(b * s, 1)]; +} + +function occtColor(c) { + if (!Array.isArray(c) || c.length < 3) return defaultColor(); + const lifted = liftDarkColor(c) || [0.82, 0.84, 0.86]; + const col = new THREE.Color(lifted[0], lifted[1], lifted[2]); + if (col.r === 0 && col.g === 0 && col.b === 0) return defaultColor(); + return col; +} + +function disposeScene() { + S.meshObjs.forEach(m => { + m.geometry.dispose(); + m.material.dispose(); + }); + S.edgeObjs.forEach(e => { + e.geometry.dispose(); + e.material.dispose(); + }); + S.edgeLines.forEach(l => { + l.geometry.dispose(); + l.material.dispose(); + }); + while (S.modelGroup.children.length) S.modelGroup.remove(S.modelGroup.children[0]); + clearMeasurements(); + clearHighlight(); + S.meshObjs = []; + S.meshMeta = []; + S.edgeObjs = []; + S.edgeLines = []; + S.meshFaces = []; + S.colorOverrides = {}; + S.meshEntryMap = {}; + S.treeNodes = []; + S.rootNode = null; + S.selected = null; + S.explodeAmount = 0; + setSectionOn(false); + dom.explodeSlider.value = 0; + dom.explodeVal.textContent = '0%'; + if (S.bboxHelper) { scene.remove(S.bboxHelper); S.bboxHelper.geometry.dispose(); S.bboxHelper = null; } + if (S.sectionVisual) { scene.remove(S.sectionVisual); S.sectionVisual.geometry.dispose(); S.sectionVisual.material.dispose(); S.sectionVisual = null; } + dom.tree.innerHTML = '
加载模型后显示零件树
'; + dom.modelInfo.textContent = ''; +} + +/* ================= STEP 加载 ================= */ +function showLoading(text) { + dom.loadingText.textContent = text; + dom.loading.classList.remove('hidden'); +} +function hideLoading() { dom.loading.classList.add('hidden'); } + +async function loadFile(file, source) { + S.modelSource = source || { type: 'local', value: file.name }; + const name = (file.name || 'model.step').toLowerCase(); + if (!/\.(step|stp)$/.test(name)) { + setStatus('请选择 .step / .stp 文件'); + return; + } + showLoading('模型加载中...'); + try { + if (!S.occt) { + S.occt = await (typeof occtimportjs === 'function' + ? occtimportjs({ locateFile: (p) => './libs/' + p }) + : occtimportjs.default({ locateFile: (p) => './libs/' + p })); + } + const buf = new Uint8Array(await file.arrayBuffer()); + const q = EMBED_MODE ? QUALITY.high : (QUALITY[dom.qualitySelect.value] || QUALITY.high); + showLoading(`正在转换 STEP 模型(精度:${dom.qualitySelect.selectedOptions[0].textContent})...`); + + // 转换期间把进度日志显示到遮罩上 + const origLog = console.log; + console.log = (...args) => { + origLog(...args); + const msg = String(args.join(' ')); + if (/%|mesh|conver/i.test(msg)) dom.loadingText.textContent = msg.slice(0, 80); + }; + const readFn = S.occt.ReadStepFileAsync || S.occt.ReadStepFile; + const result = await readFn.call(S.occt, buf, { + meshUnit: 'millimeter', + linearDeflection: q.linearDeflection, + angularDeflection: q.angularDeflection, + meshQuality: q.meshQuality, + enableProgressLog: true, + }); + console.log = origLog; + + if (!result || result.error) { + hideLoading(); + setStatus('转换失败:' + (result && result.error ? result.error : '未知错误')); + return; + } + buildModel(result, file.name); + hideLoading(); + invalidate(); + dom.fileName.textContent = file.name; + // 本地文件留着引用,嵌入面板里点「上传当前模型」才上传(与 2D 查看器一致) + if (S.modelSource.type === 'local') S.currentFile = file; + } catch (err) { + console.error(err); + hideLoading(); + setStatus('加载失败:' + err.message); + } +} + +/* ================= 模型构建 ================= */ +function buildModel(result, fileName) { + disposeScene(); + S.result = result; + + // ---- 网格 ---- + // occt-import-js 0.0.23:attributes.position / index 是 { array: 普通数组 } 包装对象 + const meshes = result.meshes || []; + let triCount = 0; + S.meshFaces = []; + meshes.forEach((m, i) => { + const geo = new THREE.BufferGeometry(); + const posArr = toTypedArray(m.attributes.position, Float32Array); + const nrmArr = toTypedArray(m.attributes.normal, Float32Array); + const idxArr = toTypedArray(m.index, Uint32Array); + if (!posArr) return; + geo.setAttribute('position', new THREE.BufferAttribute(posArr, 3)); + geo.setAttribute('normal', new THREE.BufferAttribute(nrmArr, 3)); + geo.setIndex(new THREE.BufferAttribute(idxArr, 1)); + geo.computeBoundingBox(); + // 按角度平滑法线:曲面光滑、锐边保持(30° 阈值) + smoothNormals(geo, 30); + triCount += geo.index.count / 3; + + const baseColor = occtColor(m.color || (m.name && m.name.color)); + + // B-rep 面数据:{first,last,color},供面测量(面积/半径/壁厚)与面级配色 + const faces = Array.isArray(m.brep_faces) ? m.brep_faces : null; + S.meshFaces[i] = faces; + + const mat = new THREE.MeshPhongMaterial({ + color: baseColor, + specular: 0x222222, + shininess: 30, + side: THREE.DoubleSide, + }); + + // 面级颜色(CAD 原色,过暗自动提亮):逐三角形展开成顶点颜色 + // 注意:顶点颜色不走材质 color 的 sRGB→线性转换,必须手动指定 sRGB 空间 + if (faces && faces.length > 0) { + const colors = new Float32Array(idxArr.length); + const col = new THREE.Color(); + for (const f of faces) { + const raw = Array.isArray(f.color) && f.color.length >= 3 ? f.color : [0.82, 0.84, 0.86]; + const fc = liftDarkColor(raw) || [0.82, 0.84, 0.86]; + col.setRGB(fc[0], fc[1], fc[2], THREE.SRGBColorSpace); + const triStart = f.first * 3; + const triEnd = Math.min((f.last + 1) * 3, idxArr.length); + for (let k = triStart; k < triEnd; k++) { + const v = idxArr[k] * 3; + colors[v] = col.r; colors[v + 1] = col.g; colors[v + 2] = col.b; + } + } + geo.setAttribute('color', new THREE.BufferAttribute(colors, 3)); + mat.vertexColors = true; + } + + const obj = new THREE.Mesh(geo, mat); + obj.userData.index = i; + obj.userData.baseColor = baseColor.clone(); + S.modelGroup.add(obj); + S.meshObjs.push(obj); + }); + + // ---- 轮廓线框(occt 0.0.23 不输出边线,用二面角 20° 提取锐边)---- + S.meshObjs.forEach((m) => { + const edgeGeo = new THREE.EdgesGeometry(m.geometry, 20); + const line = new THREE.LineSegments(edgeGeo, new THREE.LineBasicMaterial({ + color: 0x2b2b2b, transparent: true, opacity: 0.55, + })); + line.raycast = () => {}; // 不参与拾取 + line.userData.isEdge = true; + line.visible = S.wireframeOn; + m.add(line); // 挂在 mesh 下:随爆炸/拖动移动、随隐藏消失 + S.edgeLines.push(line); + }); + + // ---- 边线(装配体轮廓,更像 CAD 查看器)---- + const edges = result.edges || []; + edges.forEach((e) => { + const geo = new THREE.BufferGeometry(); + geo.setAttribute('position', new THREE.BufferAttribute(e.attributes.position, 3)); + const hasColor = e.attributes.color && e.attributes.color.length === e.attributes.position.length; + if (hasColor) geo.setAttribute('color', new THREE.BufferAttribute(e.attributes.color, 3)); + const mat = new THREE.LineBasicMaterial({ + color: 0x333333, + vertexColors: hasColor, + transparent: true, + opacity: 0.55, + }); + const lines = new THREE.LineSegments(geo, mat); + lines.userData.isEdge = true; + S.modelGroup.add(lines); + S.edgeObjs.push(lines); + }); + + // ---- 包围盒 / 中心 / 爆炸方向 ---- + S.bbox = new THREE.Box3(); + S.meshObjs.forEach((m) => S.bbox.expandByObject(m)); + if (S.bbox.isEmpty()) S.bbox.setFromCenterAndSize(new THREE.Vector3(), new THREE.Vector3(1, 1, 1)); + S.bbox.getCenter(S.modelCenter); + S.modelRadius = S.bbox.getSize(new THREE.Vector3()).length() / 2; + S.meshMeta = S.meshObjs.map((m) => { + const c = new THREE.Vector3(); + m.geometry.boundingBox.getCenter(c); + const dir = c.clone().sub(S.modelCenter); + if (dir.lengthSq() < 1e-12) dir.set(0, 0, 1); + return { center: c, dir: dir.normalize(), dragOffset: new THREE.Vector3() }; + }); + + // ---- 零件树 ---- + buildTree(result.root, fileName); + + // ---- 剖切范围(按新模型包围盒重设)---- + const size = S.bbox.getSize(new THREE.Vector3()); + const maxHalf = Math.max(size.x, size.y, size.z) / 2; + dom.sectionSlider.min = String(Math.round(-maxHalf)); + dom.sectionSlider.max = String(Math.round(maxHalf)); + S.sectionOffset = 0; + dom.sectionSlider.value = 0; + updateSectionVal(); + updateSectionPlane(); + if (S.sectionOn) updateSectionPlane(); + + // ---- 相机适配 ---- + fitCamera(); + + // ---- 状态 ---- + const partCount = S.meshObjs.length; + const mm = (v) => Math.round(v) + ' mm'; + dom.modelInfo.textContent = `${partCount} 个零件 | ${(triCount / 1000).toFixed(0)}k 三角面 | 尺寸 ${mm(size.x)} × ${mm(size.y)} × ${mm(size.z)}`; + setStatus(`模型加载完成:${fileName}`); + updateDragControlsObjects(); +} + +function fitCamera() { + const dir = new THREE.Vector3(1, 0.6, 1).normalize(); + camera.position.copy(S.modelCenter).addScaledVector(dir, S.modelRadius * 2.4); + camera.near = Math.max(S.modelRadius / 1000, 0.1); + camera.far = S.modelRadius * 100; + camera.updateProjectionMatrix(); + controls.target.copy(S.modelCenter); + controls.update(); +} + +/* ================= 零件树 ================= */ +const ICONS = { + root: './icons/tree-root.48094390.png', + part: './icons/tree-Part.e3fb53a4.png', + views: './icons/tree-views.7d4f57c8.png', + captures: './icons/tree-captures.7dc1f3b5.png', + open: './icons/tree-node-open.f45d6681.png', + close: './icons/tree-node-close.9d625f70.png', + check: './icons/ico-tree-check.7c4874a5.png', + checked: './icons/ico-tree-checked.905447ca.png', + partial: './icons/ico-tree-checking.bd34b24b.png', +}; + +function meshVisibility(meshIndex) { + const m = S.meshObjs[meshIndex]; + return m ? m.visible : true; +} + +function buildTree(root, fileName) { + dom.tree.innerHTML = ''; + if (!root) { dom.tree.innerHTML = '
无模型结构
'; return; } + const rootName = (fileName || '').replace(/\.(step|stp)$/i, ''); + // 无名根节点且只有一个子节点时,直接用子节点作树根(贴合 STEP 原始结构) + let treeRoot = root; + if ((!root.name || !String(root.name).trim()) && root.children && root.children.length === 1) { + treeRoot = root.children[0]; + } + + const createRow = (node, depth, parentEntry, isRoot) => { + const row = document.createElement('div'); + row.className = 'tree-row'; + row.style.paddingLeft = (6 + depth * 16) + 'px'; + + const nodeChildren = node.children || []; + const nodeMeshes = node.meshes || node.solidIds || []; + const hasChildren = nodeChildren.length > 0; + const expander = document.createElement('span'); + expander.className = hasChildren ? 'tree-expander' : 'tree-spacer'; + const box = document.createElement('div'); + box.className = 'tree-children'; + if (hasChildren) { + expander.innerHTML = ``; + expander.addEventListener('click', (ev) => { + ev.stopPropagation(); + const collapsed = box.classList.toggle('hidden'); + expander.innerHTML = ``; + }); + } + row.appendChild(expander); + + // 图标(0.0.23 无 productType,用 children 判断装配/零件) + const icon = document.createElement('img'); + icon.className = 'tree-icon'; + icon.src = isRoot ? ICONS.root : (hasChildren ? ICONS.views : ICONS.part); + row.appendChild(icon); + + // 勾选框 + const entry = { node, row, parent: parentEntry, children: [], solidIds: nodeMeshes, depth, box, checkImg: null }; + const check = document.createElement('img'); + check.className = 'tree-check'; + check.src = ICONS.checked; + check.addEventListener('click', (ev) => { + ev.stopPropagation(); + const target = allVisible(entry); + setNodeVisible(entry, !target); + }); + row.appendChild(check); + entry.checkImg = check; + + // 名称(保持 STEP 原名,只有完全无名时才兜底) + const label = document.createElement('span'); + label.className = 'tree-label'; + const displayName = (node.name && String(node.name).trim()) || (isRoot ? rootName : '未命名'); + label.textContent = displayName; + label.title = displayName; + row.appendChild(label); + + row.addEventListener('click', () => selectNode(entry)); + + // 挂载 + if (parentEntry) { + parentEntry.box.appendChild(row); + parentEntry.box.appendChild(box); + parentEntry.children.push(entry); + } else { + dom.tree.appendChild(row); + dom.tree.appendChild(box); + } + S.treeNodes.push(entry); + return entry; + }; + + const walk = (node, depth, parentEntry, isRoot) => { + const entry = createRow(node, depth, parentEntry, isRoot); + // 每个实体一行,名称用 STEP 原始名(无名则「实体-N」),保证可独立选中/上色/隐藏 + const nodeMeshes = node.meshes || node.solidIds || []; + nodeMeshes.forEach((mi) => { + const m = (S.result && S.result.meshes) ? S.result.meshes[mi] : null; + const raw = m ? m.name : null; + const name = (typeof raw === 'string' && raw.trim()) || `实体-${mi + 1}`; + const pe = createRow({ name, meshes: [mi], children: [] }, depth + 1, entry, false); + S.meshEntryMap[mi] = pe; + }); + (node.children || []).forEach((c) => walk(c, depth + 1, entry, false)); + return entry; + }; + + S.rootNode = walk(treeRoot, 0, null, true); + refreshTreeChecks(); +} + +function allVisible(entry) { + const ids = []; + collectSolidIds(entry, ids); + if (ids.length === 0) return true; + return ids.every((i) => meshVisibility(i)); +} + +function collectSolidIds(entry, out) { + // 有子行时只收集子行(父行的 solidIds 是子行并集,避免重复计数) + if (entry.children.length === 0) { + entry.solidIds.forEach((i) => out.push(i)); + } else { + entry.children.forEach((c) => collectSolidIds(c, out)); + } +} + +function setNodeVisible(entry, visible) { + const ids = []; + collectSolidIds(entry, ids); + ids.forEach((i) => { if (S.meshObjs[i]) S.meshObjs[i].visible = visible; }); + if (entry.children.length === 0 && ids.length > 0) { + // 叶子勾选后联动父级(父级全勾/半勾在 refreshTreeChecks 中处理) + } + refreshTreeChecks(); +} + +function refreshTreeChecks() { + const visit = (entry) => { + entry.children.forEach(visit); + const ids = []; + collectSolidIds(entry, ids); + if (ids.length === 0) { entry.checkImg.src = ICONS.checked; return; } + const shown = ids.filter((i) => meshVisibility(i)).length; + entry.checkImg.src = shown === 0 ? ICONS.check : (shown === ids.length ? ICONS.checked : ICONS.partial); + }; + visit(S.rootNode); +} + +function selectNode(entry) { + if (S.selected === entry) { clearHighlight(); return; } + clearHighlight(); + S.selected = entry; + entry.row.classList.add('highlight'); + const ids = []; + collectSolidIds(entry, ids); + ids.forEach((i) => { + const m = S.meshObjs[i]; + if (m) { + m.material.emissive = new THREE.Color(0x2b9ae8); + m.material.emissiveIntensity = 0.4; // 深色零件也能看清选中高亮 + } + }); + setStatus(`已选中:${entry.node.name || '未命名'}(${ids.length} 个几何体)`); +} + +function clearHighlight() { + if (S.selected) { + S.selected.row.classList.remove('highlight'); + const ids = []; + collectSolidIds(S.selected, ids); + ids.forEach((i) => { + const m = S.meshObjs[i]; + if (m) { m.material.emissive = new THREE.Color(0x000000); } + }); + } + S.selected = null; +} + +// 树搜索 +dom.treeSearch.addEventListener('input', () => { + const q = dom.treeSearch.value.trim().toLowerCase(); + let firstMatch = null; + S.treeNodes.forEach((entry) => { + const name = (entry.node.name || '').toLowerCase(); + const hit = q !== '' && name.includes(q); + entry.row.classList.toggle('matched', hit); + if (hit && !firstMatch) firstMatch = entry; + if (q === '') entry.row.style.display = ''; + else entry.row.style.display = hit ? '' : 'none'; + if (hit) { + // 展开命中节点的祖先,使其可见 + let p = entry.parent; + while (p) { + p.box.classList.remove('hidden'); + const ex = p.row.querySelector('.tree-expander img'); + if (ex) ex.src = ICONS.open; + p = p.parent; + } + } + }); + if (firstMatch) firstMatch.row.scrollIntoView({ block: 'center' }); +}); + +/* ================= 工具切换 ================= */ +const toolButtons = document.querySelectorAll('.tool-btn[data-tool]'); +function setTool(tool) { + // 再次点击「测量」= 关闭测量,恢复工具栏 + if (tool === 'measure' && S.tool === 'measure') tool = 'select'; + S.tool = tool; + toolButtons.forEach((b) => b.classList.toggle('active', b.dataset.tool === tool)); + dragControls.enabled = (tool === 'drag' || tool === 'singalDrag'); + controls.enabled = !dragControls.enabled; + renderer.domElement.style.cursor = + tool === 'measure' ? 'crosshair' : (dragControls.enabled ? 'grab' : 'default'); + // 测量激活时隐藏底部工具栏、显示水平单行测量面板;退出时恢复 + $('toolbar').classList.toggle('hidden', tool === 'measure'); + $('measurePanel').classList.toggle('hidden', tool !== 'measure'); + // 其他面板显隐 + dom.explodePanel.classList.toggle('hidden', tool !== 'explode'); + dom.sectionPanel.classList.toggle('hidden', tool !== 'section'); + if (tool !== 'measure') resetLengthTemp(); + if (tool === 'measure') setMeasureModeStatus(); + else if (tool === 'drag') setStatus('拖动:按住零件移动,松开结束;点空白处回到选择模式'); + else if (tool === 'singalDrag') setStatus('单件拖动:按住单个零件移动;点空白处回到选择模式'); + else if (tool === 'explode') setStatus('爆炸:拖动滑块分解装配体'); + else if (tool === 'section') setStatus('剖切:选择方向并拖动滑块定位剖面'); + else setStatus('选择:点击零件高亮,点击空白取消 | 左键/中键旋转 · Shift+中键/右键平移 · 滚轮缩放'); + S.measurePts = []; + S.thicknessFaces = []; + if (S.thicknessMarkers) { disposeGroup(S.thicknessMarkers); S.thicknessMarkers = null; } + if (tool !== 'measure') clearFaceHighlight(); +} +toolButtons.forEach((b) => b.addEventListener('click', () => setTool(b.dataset.tool))); + +function setMeasureModeStatus() { + const hints = { + coordinate: '坐标:点击模型上的点,显示 X/Y/Z', + distance: '距离:依次点击两个点', + length: '长度:连续取点,双击或按 Enter 结束', + angle: '角度:依次点击 顶点→边1点→边2点', + radius: '半径:点击圆柱/圆弧面', + ellipse: '椭圆:点击椭圆面', + linear: '线性测量:依次点击两个点', + thickness: '壁厚:依次点击两个相对的面', + area: '面积:点击要测量的面', + volume: '体积重量:点击实体零件(密度按钢 7.85 g/cm³)', + bbox: '包围盒:点击零件显示其长宽高', + }; + setStatus(`测量[${measureModeLabel(S.measureMode)}]:${hints[S.measureMode] || ''}`); +} + +// 构建测量子面板(新迪同款 13 个测量按钮) +function buildMeasurePanel() { + const box = $('measureModes'); + box.innerHTML = ''; + MEASURE_MODES.forEach((m) => { + const b = document.createElement('button'); + b.className = 'measure-btn'; + b.dataset.mode = m.key; + b.innerHTML = `${m.label}${m.label}`; + b.title = m.label; + b.addEventListener('click', () => { + S.measureMode = m.key; + S.measurePts = []; + S.thicknessFaces = []; + if (S.thicknessMarkers) { disposeGroup(S.thicknessMarkers); S.thicknessMarkers = null; } + resetLengthTemp(); + box.querySelectorAll('.measure-btn').forEach((x) => x.classList.toggle('active', x === b)); + setMeasureModeStatus(); + }); + if (m.key === S.measureMode) b.classList.add('active'); + box.appendChild(b); + }); +} + +/* ================= 爆炸 ================= */ +function applyExplode() { + const amount = S.modelRadius * 0.6 * (S.explodeAmount / 100); + S.meshMeta.forEach((meta, i) => { + const m = S.meshObjs[i]; + m.position.copy(meta.dragOffset).addScaledVector(meta.dir, amount); + }); +} +dom.explodeSlider.addEventListener('input', () => { + S.explodeAmount = Number(dom.explodeSlider.value); + dom.explodeVal.textContent = S.explodeAmount + '%'; + applyExplode(); +}); + +/* ================= 剖切 ================= */ +function setSectionOn(on) { + S.sectionOn = on; + if (on) updateSectionPlane(); // 关键:开启时按当前模型包围盒重算平面位置 + S.meshObjs.forEach((m) => { + m.material.clippingPlanes = on ? [S.sectionPlane] : null; + }); + S.edgeLines.forEach((l) => { + l.material.clippingPlanes = on ? [S.sectionPlane] : null; + }); + updateSectionVisual(); + const btn = $('btnSectionToggle'); + btn.classList.toggle('on', on); + btn.textContent = on ? '开启' : '关闭'; +} + +function updateSectionPlane() { + const axisMap = { x: new THREE.Vector3(1, 0, 0), y: new THREE.Vector3(0, 1, 0), z: new THREE.Vector3(0, 0, 1) }; + const n = axisMap[S.sectionAxis] || axisMap.z; + if (S.sectionPlane.normal.equals(n) === false) { + S.sectionPlane.normal.copy(n); + S.sectionOffset = 0; + dom.sectionSlider.value = 0; + updateSectionVal(); + } + S.sectionPlane.constant = n.dot(S.modelCenter) + S.sectionOffset; + updateSectionVisual(); +} + +// 半透明剖切面指示器(帮助看清剖切位置) +function updateSectionVisual() { + if (!S.sectionOn || S.meshObjs.length === 0) { + if (S.sectionVisual) S.sectionVisual.visible = false; + return; + } + if (!S.sectionVisual) { + const g = new THREE.PlaneGeometry(2, 2); + const m = new THREE.MeshBasicMaterial({ + color: 0x2b9ae8, transparent: true, opacity: 0.22, + side: THREE.DoubleSide, depthTest: false, + }); + S.sectionVisual = new THREE.Mesh(g, m); + S.sectionVisual.renderOrder = 998; + scene.add(S.sectionVisual); + } + const r = Math.max(S.modelRadius * 1.2, 1); + S.sectionVisual.scale.set(r, r, 1); + // 平面过点 modelCenter + normal * offset(plane.constant = n·center + offset) + S.sectionVisual.position.copy(S.modelCenter).addScaledVector(S.sectionPlane.normal, S.sectionOffset); + S.sectionVisual.quaternion.setFromUnitVectors(new THREE.Vector3(0, 0, 1), S.sectionPlane.normal); + S.sectionVisual.visible = true; +} + +function updateSectionVal() { + dom.sectionVal.textContent = String(Math.round(S.sectionOffset)); +} + +document.querySelectorAll('.axis-btn').forEach((b) => b.addEventListener('click', () => { + document.querySelectorAll('.axis-btn').forEach((x) => x.classList.toggle('active', x === b)); + S.sectionAxis = b.dataset.axis; + updateSectionPlane(); +})); + +dom.sectionSlider.addEventListener('input', () => { + S.sectionOffset = Number(dom.sectionSlider.value); + updateSectionVal(); + updateSectionPlane(); +}); + +$('btnSectionFlip').addEventListener('click', () => { + S.sectionPlane.normal.multiplyScalar(-1); +}); + +$('btnSectionToggle').addEventListener('click', () => setSectionOn(!S.sectionOn)); + +/* ================= 测量(全套件) ================= */ +const MEASURE_MODES = [ + { key: 'coordinate', label: '坐标', icon: 'view-tool-coordinate.png', clicks: 1 }, + { key: 'distance', label: '距离', icon: 'view-tool-distance.png', clicks: 2 }, + { key: 'length', label: '长度', icon: 'view-tool-length.png', clicks: -1 }, + { key: 'angle', label: '角度', icon: 'view-tool-angel.png', clicks: 3 }, + { key: 'radius', label: '半径', icon: 'view-tool-radius.png', clicks: 1 }, + { key: 'ellipse', label: '椭圆', icon: 'view-tool-ellipse.png', clicks: 1 }, + { key: 'linear', label: '线性测量', icon: 'view-tool-Lineargauge.png', clicks: 2 }, + { key: 'thickness', label: '壁厚', icon: 'view-tool-wallThickness.png', clicks: 2 }, + { key: 'area', label: '面积', icon: 'view-tool-area.png', clicks: 1 }, + { key: 'volume', label: '体积重量', icon: 'view-tool-volumeWeight.png', clicks: 1 }, + { key: 'bbox', label: '包围盒', icon: 'view-tool-boundBox.png', clicks: 1 }, +]; +S.measureMode = 'distance'; +S.results = []; +S.lengthTemp = null; +let resultSeq = 0; + +function measureModeLabel(key) { + const m = MEASURE_MODES.find((x) => x.key === key); + return m ? m.label : key; +} + +// ---- 结果统计 ---- +function addResult(type, text, group) { + const rec = { id: ++resultSeq, type, text, group }; + S.results.push(rec); + renderStats(); + setStatus(`${type}:${text}`); + return rec; +} + +function disposeGroup(group) { + if (!group) return; + S.modelGroup.remove(group); + group.traverse((o) => { + if (o.geometry) o.geometry.dispose(); + if (o.material) o.material.dispose(); + }); +} + +function removeResult(id) { + const i = S.results.findIndex((r) => r.id === id); + if (i < 0) return; + disposeGroup(S.results[i].group); + S.results.splice(i, 1); + renderStats(); +} + +function renderStats() { + const box = $('statsList'); + box.innerHTML = ''; + if (S.results.length === 0) { + box.innerHTML = '
暂无测量结果
'; + return; + } + S.results.forEach((r) => { + const row = document.createElement('div'); + row.className = 'stats-row'; + const t = document.createElement('span'); + t.className = 'stats-type'; + t.textContent = r.type; + const v = document.createElement('span'); + v.className = 'stats-value'; + v.textContent = r.text; + const d = document.createElement('span'); + d.className = 'stats-del'; + d.textContent = '✕'; + d.title = '删除该结果'; + d.addEventListener('click', () => removeResult(r.id)); + row.append(t, v, d); + box.appendChild(row); + }); +} + +function clearMeasurements() { + S.results.slice().forEach((r) => disposeGroup(r.group)); + S.results = []; + S.measurePts = []; + resetLengthTemp(); + if (S.partBboxHelper) { disposeGroup(S.partBboxHelper); S.partBboxHelper = null; } + clearFaceHighlight(); + dom.canvasWrap.querySelectorAll('.measure-label').forEach((e) => e.remove()); + renderStats(); +} + +// ---- 基础绘制 ---- +function makeMarker(p) { + const r = Math.max(S.modelRadius * 0.004, 0.5); + const g = new THREE.SphereGeometry(r, 12, 12); + const m = new THREE.Mesh(g, new THREE.MeshBasicMaterial({ color: 0x2b9ae8, depthTest: false })); + m.renderOrder = 999; + m.position.copy(p); + return m; +} + +function makeLabel(text, pos) { + const el = document.createElement('div'); + el.className = 'measure-label'; + el.textContent = text; + const label = new CSS2DObject(el); + label.position.copy(pos); + return label; +} + +function makeLine(pts, color = 0x2b9ae8) { + const geo = new THREE.BufferGeometry().setFromPoints(pts); + const line = new THREE.Line(geo, new THREE.LineBasicMaterial({ color, depthTest: false })); + line.renderOrder = 999; + return line; +} + +// ---- 拾取 ---- +function pickPoint(event) { + const rect = renderer.domElement.getBoundingClientRect(); + const mouse = new THREE.Vector2( + ((event.clientX - rect.left) / rect.width) * 2 - 1, + -((event.clientY - rect.top) / rect.height) * 2 + 1 + ); + raycaster.setFromCamera(mouse, camera); + const hits = raycaster.intersectObjects(S.meshObjs, false).filter((h) => h.object.visible); + return hits.length ? hits[0] : null; +} + +// 三角形索引 → brep 面(first/last 有序,二分查找) +function triToFace(meshIndex, triIndex) { + const faces = S.meshFaces[meshIndex]; + if (!faces || !faces.length) return null; + let lo = 0, hi = faces.length - 1; + while (lo <= hi) { + const mid = (lo + hi) >> 1; + if (triIndex < faces[mid].first) hi = mid - 1; + else if (triIndex > faces[mid].last) lo = mid + 1; + else return { face: faces[mid], faceIndex: mid }; + } + return null; +} + +// 面分析:面积 / 质心 / 法向 / 去重顶点 +function faceAnalysis(meshIndex, face) { + const mesh = S.meshObjs[meshIndex]; + const geo = mesh.geometry; + const pos = geo.attributes.position; + const idx = geo.index; + const area = new THREE.Vector3(); // 面积加权法向累计 + let totalArea = 0; + const centroid = new THREE.Vector3(); + const verts = new Map(); + const va = new THREE.Vector3(), vb = new THREE.Vector3(), vc = new THREE.Vector3(); + const e1 = new THREE.Vector3(), e2 = new THREE.Vector3(), n = new THREE.Vector3(); + const end = Math.min(face.last, idx.count / 3 - 1); + for (let t = face.first; t <= end; t++) { + const a = idx.getX(t * 3), b = idx.getX(t * 3 + 1), c = idx.getX(t * 3 + 2); + va.fromBufferAttribute(pos, a); vb.fromBufferAttribute(pos, b); vc.fromBufferAttribute(pos, c); + e1.subVectors(vb, va); e2.subVectors(vc, va); + n.crossVectors(e1, e2); + const a2 = n.length() * 0.5; // 三角形面积 + if (a2 <= 0) continue; + n.normalize(); + area.addScaledVector(n, a2); + totalArea += a2; + centroid.addScaledVector(va.add(vb).add(vc), a2 / 3); + const key = (x) => Math.round(x * 100); + for (const p of [va, vb, vc]) verts.set(`${key(p.x)},${key(p.y)},${key(p.z)}`, p.clone()); + } + if (totalArea > 0) centroid.multiplyScalar(1 / totalArea); + const normal = area.clone(); + const len = normal.length(); + const planar = len > 0 && (area.dot(area) / (totalArea * totalArea)) > 0.85; + normal.normalize(); + return { area: totalArea, centroid, normal, verts: Array.from(verts.values()), planar }; +} + +// 投影到过质心、法向为 normal 的平面,返回 2D 点 +function projectToPlane(points, normal, centroid) { + const u = new THREE.Vector3(); + const ref = Math.abs(normal.z) < 0.9 ? new THREE.Vector3(0, 0, 1) : new THREE.Vector3(1, 0, 0); + u.crossVectors(normal, ref).normalize(); + const v = new THREE.Vector3().crossVectors(normal, u); + return { + basis: [u, v], + pts: points.map((p) => { + const d = p.clone().sub(centroid); + return [d.dot(u), d.dot(v)]; + }), + }; +} + +// Kasa 圆拟合(最小二乘,代数法) +function circleFit2D(pts) { + const n = pts.length; + if (n < 5) return null; + let sx = 0, sy = 0, sx2 = 0, sy2 = 0, sx3 = 0, sy3 = 0, sxy = 0, sx2y = 0, sxy2 = 0; + for (const [x, y] of pts) { + sx += x; sy += y; + const x2 = x * x, y2 = y * y; + sx2 += x2; sy2 += y2; + sx3 += x2 * x; sy3 += y2 * y; + sxy += x * y; sx2y += x2 * y; sxy2 += x * y2; + } + const A = n * sx2 - sx * sx; + const B = n * sxy - sx * sy; + const C = n * sy2 - sy * sy; + const D = 0.5 * (n * sx2y - sx2 * sy + n * sx3 - sx2 * sx); + const E = 0.5 * (n * sxy2 - sy2 * sx + n * sy3 - sy2 * sy); + const det = A * C - B * B; + if (Math.abs(det) < 1e-12) return null; + const cx = (D * C - B * E) / det; + const cy = (A * E - B * D) / det; + let r = 0; + for (const [x, y] of pts) r += Math.hypot(x - cx, y - cy); + r /= n; + let rms = 0; + for (const [x, y] of pts) { + const d = Math.hypot(x - cx, y - cy) - r; + rms += d * d; + } + rms = Math.sqrt(rms / n); + return { cx, cy, r, rms }; +} + +// 归一化圆锥曲线拟合 → 椭圆参数(2x2 特征值闭式解) +function ellipseFit2D(pts) { + const n = pts.length; + if (n < 6) return null; + // 最小二乘解 [x², xy, y², x, y, 1]·p = 0,约束 A+C=1 + const M = Array.from({ length: 5 }, () => new Array(5).fill(0)); + const b = new Array(5).fill(0); + for (const [x, y] of pts) { + const x2 = x * x, y2 = y * y, xy = x * y; + const row = [x2 - y2, xy, x, y, 1]; + for (let i = 0; i < 5; i++) { + for (let j = 0; j < 5; j++) M[i][j] += row[i] * row[j]; + b[i] += row[i] * (-y2); + } + } + const p = gaussSolve(M, b); + if (!p) return null; + // A+C=1 → A = (p0+1)/2, C = (1-p0)/2 + const A = (p[0] + 1) / 2, Bc = p[1], C = (1 - p[0]) / 2, D = p[2], E = p[3], F = p[4]; + const disc = Bc * Bc - 4 * A * C; + if (disc >= -1e-9) return null; // 非椭圆 + // 2x2 特征值闭式 + const tr = A + C; + const dq = Math.sqrt(Math.max(tr * tr - 4 * (A * C - Bc * Bc / 4), 0)); + const l1 = (tr + dq) / 2, l2 = (tr - dq) / 2; + if (l1 <= 0 || l2 <= 0) return null; + const theta = 0.5 * Math.atan2(Bc, A - C); + const cx = (Bc * E / 2 - C * D) / (A * C - Bc * Bc / 4); + const cy = (Bc * D / 2 - A * E) / (A * C - Bc * Bc / 4); + // 中心化后常数项:F' = A·cx² + B·cx·cy + C·cy² + D·cx + E·cy + F + const Fp = A * cx * cx + Bc * cx * cy + C * cy * cy + D * cx + E * cy + F; + const den = -Fp; + if (den <= 0) return null; + const a = Math.sqrt(den / l1), bb = Math.sqrt(den / l2); + // 拟合残差 + let rms = 0; + for (const [x, y] of pts) { + const v = A * x * x + Bc * x * y + C * y * y + D * x + E * y + F; + rms += v * v; + } + rms = Math.sqrt(rms / n); + return { cx, cy, a: Math.max(a, bb), b: Math.min(a, bb), theta, rms }; +} + +// ---- 3x3 对称矩阵特征分解(Jacobi 旋转,特征值升序) ---- +function jacobi3(M) { + const A = [ + [M[0], M[1], M[2]], + [M[1], M[3], M[4]], + [M[2], M[4], M[5]], + ]; + const V = [[1, 0, 0], [0, 1, 0], [0, 0, 1]]; + for (let iter = 0; iter < 50; iter++) { + let off = Math.abs(A[0][1]) + Math.abs(A[0][2]) + Math.abs(A[1][2]); + if (off < 1e-12) break; + let p = 0, q = 1, mx = Math.abs(A[0][1]); + if (Math.abs(A[0][2]) > mx) { mx = Math.abs(A[0][2]); p = 0; q = 2; } + if (Math.abs(A[1][2]) > mx) { p = 1; q = 2; } + const apq = A[p][q], app = A[p][p], aqq = A[q][q]; + const theta = 0.5 * Math.atan2(2 * apq, app - aqq); + const c = Math.cos(theta), s = Math.sin(theta); + for (let k = 0; k < 3; k++) { + const akp = A[k][p], akq = A[k][q]; + A[k][p] = c * akp - s * akq; + A[k][q] = s * akp + c * akq; + } + for (let k = 0; k < 3; k++) { + const apk = A[p][k], aqk = A[q][k]; + A[p][k] = c * apk - s * aqk; + A[q][k] = s * apk + c * aqk; + } + for (let k = 0; k < 3; k++) { + const vkp = V[k][p], vkq = V[k][q]; + V[k][p] = c * vkp - s * vkq; + V[k][q] = s * vkp + c * vkq; + } + } + const idx = [0, 1, 2].sort((a, b) => A[a][a] - A[b][b]); + const vals = idx.map((i) => A[i][i]); + const vecs = idx.map((i) => new THREE.Vector3(V[0][i], V[1][i], V[2][i])); + return { vals, vecs }; +} + +// 面三角形法向 → 圆柱轴(Σnnᵀ 最小特征向量) +function axisFromTriangleNormals(meshIndex, face) { + const geo = S.meshObjs[meshIndex].geometry; + const pos = geo.attributes.position; + const idx = geo.index; + const M = [0, 0, 0, 0, 0, 0]; + const va = new THREE.Vector3(), vb = new THREE.Vector3(), vc = new THREE.Vector3(); + const e1 = new THREE.Vector3(), e2 = new THREE.Vector3(), n = new THREE.Vector3(); + const end = Math.min(face.last, idx.count / 3 - 1); + for (let t = face.first; t <= end; t++) { + va.fromBufferAttribute(pos, idx.getX(t * 3)); + vb.fromBufferAttribute(pos, idx.getX(t * 3 + 1)); + vc.fromBufferAttribute(pos, idx.getX(t * 3 + 2)); + e1.subVectors(vb, va); e2.subVectors(vc, va); + n.crossVectors(e1, e2); + const l = n.length(); + if (l < 1e-20) continue; + n.multiplyScalar(1 / l); + M[0] += n.x * n.x; M[1] += n.x * n.y; M[2] += n.x * n.z; + M[3] += n.y * n.y; M[4] += n.y * n.z; M[5] += n.z * n.z; + } + const { vals, vecs } = jacobi3(M); + // 最小特征值方向 = 轴线(全圆柱时该值接近 0) + return { axis: vecs[0], minEigen: vals[0], secondEigen: vals[1] }; +} + +// 平面面片的边界环(用于识别孔等圆边) +function faceBoundaryLoops(meshIndex, face) { + const geo = S.meshObjs[meshIndex].geometry; + const pos = geo.attributes.position; + const idx = geo.index; + const end = Math.min(face.last, idx.count / 3 - 1); + const edgeCount = new Map(); + for (let t = face.first; t <= end; t++) { + const a = idx.getX(t * 3), b = idx.getX(t * 3 + 1), c = idx.getX(t * 3 + 2); + for (const [u, v] of [[a, b], [b, c], [c, a]]) { + const k = u < v ? u + ',' + v : v + ',' + u; + edgeCount.set(k, (edgeCount.get(k) || 0) + 1); + } + } + const boundary = new Map(); + for (const [k, cnt] of edgeCount) { + if (cnt !== 1) continue; + const [u, v] = k.split(',').map(Number); + if (!boundary.has(u)) boundary.set(u, []); + if (!boundary.has(v)) boundary.set(v, []); + boundary.get(u).push(v); + boundary.get(v).push(u); + } + const loops = []; + const visited = new Set(); + for (const start of boundary.keys()) { + if (visited.has(start)) continue; + const loop = [start]; + visited.add(start); + let cur = start, prev = -1; + while (true) { + const nexts = boundary.get(cur).filter((n) => n !== prev); + if (!nexts.length) break; + const nxt = nexts[0]; + if (nxt === start) { loops.push(loop); break; } + if (visited.has(nxt)) break; + visited.add(nxt); + loop.push(nxt); + prev = cur; cur = nxt; + } + } + return loops.map((loop) => loop.map((vi) => new THREE.Vector3().fromBufferAttribute(pos, vi))); +} + +// 面高亮覆盖层(拾取反馈,可叠加多个面) +function highlightFaceOverlay(meshIndex, face) { + const geo = S.meshObjs[meshIndex].geometry; + const g = new THREE.BufferGeometry(); + const posAttr = geo.attributes.position; + const idxAttr = geo.index; + const end = Math.min(face.last, idxAttr.count / 3 - 1); + const verts = []; + const inds = []; + const vmap = new Map(); + for (let t = face.first; t <= end; t++) { + for (const vi of [idxAttr.getX(t * 3), idxAttr.getX(t * 3 + 1), idxAttr.getX(t * 3 + 2)]) { + if (!vmap.has(vi)) { + vmap.set(vi, verts.length / 3); + verts.push(posAttr.getX(vi), posAttr.getY(vi), posAttr.getZ(vi)); + } + inds.push(vmap.get(vi)); + } + } + g.setAttribute('position', new THREE.BufferAttribute(new Float32Array(verts), 3)); + g.setIndex(new THREE.BufferAttribute(new Uint32Array(inds), 1)); + const mat = new THREE.MeshBasicMaterial({ + color: 0x2b9ae8, transparent: true, opacity: 0.35, + side: THREE.DoubleSide, depthTest: false, + }); + const overlay = new THREE.Mesh(g, mat); + overlay.renderOrder = 997; + overlay.userData.isFaceOverlay = true; + S.faceHighlights.push(overlay); + S.modelGroup.add(overlay); +} + +function clearFaceHighlight() { + S.faceHighlights.forEach((o) => { + o.geometry.dispose(); + o.material.dispose(); + S.modelGroup.remove(o); + }); + S.faceHighlights = []; +} + +// 高斯消元(5x5 对称正定近似) +function gaussSolve(M, b) { + const n = b.length; + const A = M.map((row, i) => row.concat(b[i])); + for (let c = 0; c < n; c++) { + let piv = c; + for (let r = c + 1; r < n; r++) if (Math.abs(A[r][c]) > Math.abs(A[piv][c])) piv = r; + if (Math.abs(A[piv][c]) < 1e-12) return null; + [A[c], A[piv]] = [A[piv], A[c]]; + for (let r = c + 1; r < n; r++) { + const f = A[r][c] / A[c][c]; + for (let k = c; k <= n; k++) A[r][k] -= f * A[c][k]; + } + } + const x = new Array(n).fill(0); + for (let r = n - 1; r >= 0; r--) { + let s = A[r][n]; + for (let k = r + 1; k < n; k++) s -= A[r][k] * x[k]; + x[r] = s / A[r][r]; + } + return x; +} + +// 网格体积(散度定理,实体需封闭) +function meshVolume(meshObj) { + const geo = meshObj.geometry; + const pos = geo.attributes.position; + const idx = geo.index; + let v = 0, va = 0; + const p0 = new THREE.Vector3(), p1 = new THREE.Vector3(), p2 = new THREE.Vector3(); + for (let t = 0; t < idx.count; t += 3) { + p0.fromBufferAttribute(pos, idx.getX(t)); + p1.fromBufferAttribute(pos, idx.getX(t + 1)); + p2.fromBufferAttribute(pos, idx.getX(t + 2)); + const d = p0.dot(p1.clone().cross(p2)); + v += d / 6; + va += Math.abs(d) / 6; + } + return { volume: v, closure: va > 0 ? Math.abs(v) / va : 0 }; +} + +// ---- 圆/椭圆叠加线 ---- +function drawCircleOnPlane(center3, basis, r) { + const pts = []; + for (let k = 0; k <= 64; k++) { + const t = (k / 64) * Math.PI * 2; + pts.push(center3.clone().addScaledVector(basis[0], Math.cos(t) * r).addScaledVector(basis[1], Math.sin(t) * r)); + } + return makeLine(pts, 0xe67e22); +} + +function drawEllipseOnPlane(center3, basis, a, b, theta) { + const pts = []; + for (let k = 0; k <= 64; k++) { + const t = (k / 64) * Math.PI * 2; + const x = Math.cos(t) * a, y = Math.sin(t) * b; + const rx = x * Math.cos(theta) - y * Math.sin(theta); + const ry = x * Math.sin(theta) + y * Math.cos(theta); + pts.push(center3.clone().addScaledVector(basis[0], rx).addScaledVector(basis[1], ry)); + } + return makeLine(pts, 0xe67e22); +} + +// ---- 长度模式临时线段 ---- +function resetLengthTemp() { + if (S.lengthTemp) disposeGroup(S.lengthTemp); + S.lengthTemp = new THREE.Group(); + S.modelGroup.add(S.lengthTemp); +} + +// ---- 各测量模式 ---- +function handleMeasurePointer(event) { + const mode = MEASURE_MODES.find((m) => m.key === S.measureMode); + if (!mode) return; + + if (S.measureMode === 'length') { + const hit = pickPoint(event); + if (!hit) return; + const p = hit.point.clone(); + S.measurePts.push(p); + if (S.measurePts.length > 1) { + const prev = S.measurePts[S.measurePts.length - 2]; + S.lengthTemp.add(makeLine([prev, p])); + const total = pathLength(S.measurePts); + setStatus(`长度:已取 ${S.measurePts.length} 点,累计 ${total.toFixed(2)} mm(双击或按 Enter 结束)`); + } else { + setStatus('长度:继续取点(双击或按 Enter 结束)'); + } + return; + } + + if (S.measureMode === 'radius' || S.measureMode === 'ellipse' || S.measureMode === 'area') { + const hit = pickPoint(event); + if (!hit) { setStatus('测量:请点击模型上的面'); return; } + const meshIndex = hit.object.userData.index; + const tf = hit.faceIndex != null ? triToFace(meshIndex, hit.faceIndex) : null; + if (!tf) { setStatus('所选位置没有面数据'); return; } + const fa = faceAnalysis(meshIndex, tf.face); + const group = new THREE.Group(); + group.add(makeMarker(hit.point)); + clearFaceHighlight(); + highlightFaceOverlay(meshIndex, tf.face); // 拾取反馈:高亮所选面 + if (S.measureMode === 'area') { + const label = makeLabel(`${fa.area.toFixed(2)} mm²`, fa.centroid); + group.add(label); + S.modelGroup.add(group); + addResult('面积', `${fa.area.toFixed(2)} mm²`, group); + } else if (S.measureMode === 'radius') { + if (fa.planar) { + // 平面:边界环检测 → 识别圆面与孔(最小内环即孔) + const loops = faceBoundaryLoops(meshIndex, tf.face); + const cands = []; + for (const loop of loops) { + if (loop.length < 8) continue; + const lp = projectToPlane(loop, fa.normal, fa.centroid); + const fit = circleFit2D(lp.pts); + if (fit && fit.rms <= Math.max(fit.r * 0.03, S.modelRadius * 0.001)) { + const c3 = fa.centroid.clone().addScaledVector(lp.basis[0], fit.cx).addScaledVector(lp.basis[1], fit.cy); + cands.push({ fit, c3, basis: lp.basis }); + } + } + if (!cands.length) { disposeGroup(group); setStatus('该平面没有可识别的圆边/孔'); return; } + cands.sort((a, b) => a.fit.r - b.fit.r); + const isHole = cands.length > 1; // 有外环+内环 → 最小环是孔 + const c = cands[0]; + group.add(drawCircleOnPlane(c.c3, c.basis, c.fit.r)); + const labelText = isHole ? `孔 R ${c.fit.r.toFixed(2)} mm` : `R ${c.fit.r.toFixed(2)} mm`; + group.add(makeLabel(labelText, c.c3)); + S.modelGroup.add(group); + addResult('半径', labelText, group); + } else { + // 曲面(圆柱面/孔壁):法向张量最小特征向量 = 轴线,垂直轴平面拟合圆 + const { axis } = axisFromTriangleNormals(meshIndex, tf.face); + const proj = projectToPlane(fa.verts, axis, fa.centroid); + const fit = circleFit2D(proj.pts); + if (!fit || fit.rms > Math.max(fit.r * 0.03, S.modelRadius * 0.001)) { + disposeGroup(group); + setStatus('该面不是圆柱/圆弧面,无法测量半径'); + return; + } + const center3 = fa.centroid.clone().addScaledVector(proj.basis[0], fit.cx).addScaledVector(proj.basis[1], fit.cy); + group.add(drawCircleOnPlane(center3, proj.basis, fit.r)); + group.add(makeLabel(`R ${fit.r.toFixed(2)} mm`, center3)); + S.modelGroup.add(group); + addResult('半径', `R ${fit.r.toFixed(2)} mm`, group); + } + } else { + // 椭圆:平面用边界环拟合,曲面用全部顶点拟合 + let proj, loopFit = null; + if (fa.planar) { + const loops = faceBoundaryLoops(meshIndex, tf.face); + const loop = loops.sort((a, b) => b.length - a.length)[0]; + if (loop && loop.length >= 8) { + proj = projectToPlane(loop, fa.normal, fa.centroid); + loopFit = ellipseFit2D(proj.pts); + } + } else { + proj = projectToPlane(fa.verts, fa.normal, fa.centroid); + loopFit = ellipseFit2D(proj.pts); + } + const fit = loopFit; + if (!fit || fit.rms > Math.max(fit.a * 0.03, S.modelRadius * 0.001)) { + disposeGroup(group); + setStatus('该面不是椭圆面,无法测量'); + return; + } + const center3 = fa.centroid.clone().addScaledVector(proj.basis[0], fit.cx).addScaledVector(proj.basis[1], fit.cy); + group.add(drawEllipseOnPlane(center3, proj.basis, fit.a, fit.b, fit.theta)); + group.add(makeLabel(`椭圆 a ${fit.a.toFixed(2)} / b ${fit.b.toFixed(2)} mm`, center3)); + S.modelGroup.add(group); + addResult('椭圆', `长轴 ${fit.a.toFixed(2)} / 短轴 ${fit.b.toFixed(2)} mm`, group); + } + return; + } + + if (S.measureMode === 'volume') { + const hit = pickPoint(event); + if (!hit) { setStatus('体积重量:请点击实体零件'); return; } + const obj = hit.object; + const v = meshVolume(obj); + const volAbs = Math.abs(v.volume) / 1000; // cm³ + const weight = volAbs * 7.85; // 钢 7.85 g/cm³ + const group = new THREE.Group(); + group.add(makeMarker(hit.point)); + const closureNote = v.closure > 0.95 ? '' : '(面未封闭,结果仅供参考)'; + const label = makeLabel(`V ${volAbs.toFixed(2)} cm³ | 重 ${weight.toFixed(2)} g${closureNote}`, hit.point); + group.add(label); + S.modelGroup.add(group); + addResult('体积重量', `V ${volAbs.toFixed(2)} cm³ | ${weight.toFixed(2)} g(钢 7.85)${closureNote}`, group); + return; + } + + if (S.measureMode === 'bbox') { + const hit = pickPoint(event); + if (!hit) { setStatus('包围盒:请点击零件'); return; } + const obj = hit.object; + const bb = new THREE.Box3().setFromObject(obj); + const size = bb.getSize(new THREE.Vector3()); + const c = bb.getCenter(new THREE.Vector3()); + if (S.partBboxHelper) disposeGroup(S.partBboxHelper); + S.partBboxHelper = new THREE.Group(); + const helper = new THREE.Box3Helper(bb, 0xe67e22); + S.partBboxHelper.add(helper); + S.partBboxHelper.add(makeLabel(`${size.x.toFixed(1)} × ${size.y.toFixed(1)} × ${size.z.toFixed(1)} mm`, c)); + S.modelGroup.add(S.partBboxHelper); + addResult('包围盒', `${size.x.toFixed(1)} × ${size.y.toFixed(1)} × ${size.z.toFixed(1)} mm`, S.partBboxHelper); + return; + } + + // 壁厚:两次点击取两个面,计算面间距 + if (S.measureMode === 'thickness') { + const hit = pickPoint(event); + if (!hit) { + S.thicknessFaces = []; + if (S.thicknessMarkers) { disposeGroup(S.thicknessMarkers); S.thicknessMarkers = null; } + clearFaceHighlight(); + setStatus('壁厚:点击空白处已取消'); + return; + } + const meshIndex = hit.object.userData.index; + const tf = hit.faceIndex != null ? triToFace(meshIndex, hit.faceIndex) : null; + if (!tf) { setStatus('所选位置没有面数据'); return; } + const fa = faceAnalysis(meshIndex, tf.face); + highlightFaceOverlay(meshIndex, tf.face); // 两个面都高亮 + S.thicknessFaces.push({ fa, point: hit.point.clone() }); + if (S.thicknessFaces.length === 1) { + S.thicknessMarkers = new THREE.Group(); + S.thicknessMarkers.add(makeMarker(hit.point)); + S.modelGroup.add(S.thicknessMarkers); + setStatus('壁厚:已取第一面(高亮),请点击对面的面'); + return; + } + const [f1, f2] = S.thicknessFaces; + S.thicknessFaces = []; + const group = S.thicknessMarkers || new THREE.Group(); + S.thicknessMarkers = null; + const n1 = f1.fa.normal, n2 = f2.fa.normal; + const c1 = f1.fa.centroid, c2 = f2.fa.centroid; + let thickness; + if (n1.dot(n2) < -0.7) { + thickness = Math.abs(c2.clone().sub(c1).dot(n1)); // 平行对面:法向间距 + } else { + thickness = c1.distanceTo(c2); // 非平行:质心距离 + } + group.add(makeMarker(f2.point)); + group.add(makeLine([c1, c2])); + group.add(makeLabel(`${thickness.toFixed(2)} mm`, c1.clone().add(c2).multiplyScalar(0.5))); + addResult('壁厚', `${thickness.toFixed(2)} mm`, group); + return; + } + + if (S.measureMode === 'coordinate') { + const hit = pickPoint(event); + if (!hit) return; + const p = hit.point; + const group = new THREE.Group(); + group.add(makeMarker(p)); + const text = `X ${p.x.toFixed(2)} Y ${p.y.toFixed(2)} Z ${p.z.toFixed(2)}`; + group.add(makeLabel(text, p)); + S.modelGroup.add(group); + addResult('坐标', text, group); + return; + } + + // 需要多点的模式:distance / angle / linear + const hit = pickPoint(event); + if (!hit) { + S.measurePts = []; + setStatus(`${measureModeLabel(S.measureMode)}:点击空白处已取消,重新取点`); + return; + } + S.measurePts.push(hit.point.clone()); + + const need = mode.clicks; + if (S.measurePts.length < need) { + const hints = { distance: '已取第一点,请点击第二点', angle: `已取 ${S.measurePts.length}/3 点(顶点→边1→边2)`, linear: '已取第一点,请点击第二点' }; + setStatus(hints[S.measureMode] || `已取 ${S.measurePts.length}/${need} 点`); + return; + } + + const pts = S.measurePts; + S.measurePts = []; + const group = new THREE.Group(); + pts.forEach((p) => group.add(makeMarker(p))); + + if (S.measureMode === 'distance') { + group.add(makeLine(pts)); + const d = pts[0].distanceTo(pts[1]); + group.add(makeLabel(`${d.toFixed(2)} mm`, pts[0].clone().add(pts[1]).multiplyScalar(0.5))); + S.modelGroup.add(group); + addResult('距离', `${d.toFixed(2)} mm`, group); + } else if (S.measureMode === 'angle') { + const [A, B, C] = pts; + group.add(makeLine([A, B])); + group.add(makeLine([A, C])); + const v1 = B.clone().sub(A).normalize(); + const v2 = C.clone().sub(A).normalize(); + const ang = (Math.acos(THREE.MathUtils.clamp(v1.dot(v2), -1, 1)) * 180) / Math.PI; + group.add(makeLabel(`${ang.toFixed(2)}°`, A)); + S.modelGroup.add(group); + addResult('角度', `${ang.toFixed(2)}°`, group); + } else if (S.measureMode === 'linear') { + // 工程图风格尺寸:主尺寸线 + 两端延伸线 + 箭头 + const [p1, p2] = pts; + const mid = p1.clone().add(p2).multiplyScalar(0.5); + const d = p1.distanceTo(p2); + group.add(makeLine([p1, p2], 0x2b9ae8)); + const ext = Math.max(S.modelRadius * 0.03, 3); + const dir = p2.clone().sub(p1); + if (dir.lengthSq() < 1e-12) { dir.set(1, 0, 0); } + const up = new THREE.Vector3(); + const ref = Math.abs(dir.normalize().z) < 0.9 ? new THREE.Vector3(0, 0, 1) : new THREE.Vector3(1, 0, 0); + up.crossVectors(dir, ref).normalize(); + group.add(makeLine([p1.clone().addScaledVector(up, ext), p1.clone().addScaledVector(up, -ext)])); + group.add(makeLine([p2.clone().addScaledVector(up, ext), p2.clone().addScaledVector(up, -ext)])); + group.add(makeLabel(`${d.toFixed(2)} mm`, mid.clone().addScaledVector(up, ext * 1.6))); + S.modelGroup.add(group); + addResult('线性测量', `${d.toFixed(2)} mm`, group); + } +} + +function pathLength(pts) { + let sum = 0; + for (let i = 1; i < pts.length; i++) sum += pts[i].distanceTo(pts[i - 1]); + return sum; +} + +function finishLengthMode() { + if (S.measurePts.length >= 2) { + const total = pathLength(S.measurePts); + const group = S.lengthTemp; + group.add(makeLabel(`总长 ${total.toFixed(2)} mm`, S.measurePts[S.measurePts.length - 1])); + S.lengthTemp = null; + addResult('长度', `${total.toFixed(2)} mm`, group); + setStatus(`长度:${total.toFixed(2)} mm`); + } else { + resetLengthTemp(); + setStatus('长度:已取消'); + } + S.measurePts = []; +} + +// 测量子面板与统计/清空按钮(放在 MEASURE_MODES 定义之后初始化) +buildMeasurePanel(); + +$('btnStats').addEventListener('click', () => { + $('statsPanel').classList.toggle('hidden'); + renderStats(); +}); + +$('btnMeasureClear').addEventListener('click', () => { + clearMeasurements(); + setStatus('测量结果已清空'); +}); + +$('btnMeasureClose').addEventListener('click', () => { + setTool('select'); + setStatus('已关闭测量 | 左键/中键旋转 · Shift+中键/右键平移 · 滚轮缩放'); +}); + +/* ================= 拖动 ================= */ +function updateDragControlsObjects() { + // DragControls 内部持有传入的数组引用,原地更新即可 + const objs = dragControls.getObjects(); + objs.length = 0; + S.meshObjs.forEach((m) => objs.push(m)); +} + +dragControls.addEventListener('dragstart', (e) => { + const grab = e.object; + const idx = grab.userData.index; + const entry = S.meshEntryMap[idx] || null; // 精确命中零件行 + const members = []; + if (S.tool === 'singalDrag') { + members.push(grab); + } else { + const ids = []; + if (entry) collectSolidIds(entry, ids); + if (ids.length === 0) ids.push(idx); + ids.forEach((i) => S.meshObjs[i] && members.push(S.meshObjs[i])); + } + S.dragMembers = members; + S.dragLastPos.copy(grab.position); + controls.enabled = false; + renderer.domElement.style.cursor = 'grabbing'; +}); + +dragControls.addEventListener('drag', (e) => { + if (!S.dragMembers) return; + const delta = e.object.position.clone().sub(S.dragLastPos); + S.dragMembers.forEach((m) => { if (m !== e.object) m.position.add(delta); }); + S.dragLastPos.copy(e.object.position); +}); + +dragControls.addEventListener('dragend', () => { + if (S.dragMembers) { + const amount = S.modelRadius * 0.6 * (S.explodeAmount / 100); + S.dragMembers.forEach((m) => { + const idx = m.userData.index; + const meta = S.meshMeta[idx]; + // 拖动位移 = 当前位置 - 爆炸偏移 + meta.dragOffset.copy(m.position).addScaledVector(meta.dir, -amount); + }); + } + S.dragMembers = null; + controls.enabled = !dragControls.enabled; + renderer.domElement.style.cursor = 'grab'; +}); + +/* ================= 点击选择 / 测量 ================= */ +// 记录按下位置,区分「点击」与「旋转拖动」 +let downPos = null; + +renderer.domElement.addEventListener('pointerdown', (event) => { + if (event.button !== 0) return; + downPos = { x: event.clientX, y: event.clientY }; + if (S.tool === 'measure') { handleMeasurePointer(event); return; } + // 拖动模式下点击空白处 → 自动回到选择模式(恢复旋转/点选) + if (S.tool === 'drag' || S.tool === 'singalDrag') { + const hit = pickPoint(event); + if (!hit) { + setTool('select'); + setStatus('已回到选择模式 | 左键/中键旋转 · Shift+中键/右键平移 · 滚轮缩放'); + } + } +}); + +renderer.domElement.addEventListener('dblclick', (event) => { + if (S.tool === 'measure' && S.measureMode === 'length') finishLengthMode(); +}); + +renderer.domElement.addEventListener('pointerup', (event) => { + if (event.button !== 0) return; + const moved = downPos && Math.hypot(event.clientX - downPos.x, event.clientY - downPos.y); + downPos = null; + if (S.tool !== 'select') return; + if (moved > 5) return; // 是旋转/平移操作,不触发选择 + const rect = renderer.domElement.getBoundingClientRect(); + const mouse = new THREE.Vector2( + ((event.clientX - rect.left) / rect.width) * 2 - 1, + -((event.clientY - rect.top) / rect.height) * 2 + 1 + ); + raycaster.setFromCamera(mouse, camera); + const hits = raycaster.intersectObjects(S.meshObjs, false).filter((h) => h.object.visible); + if (hits.length === 0) { clearHighlight(); return; } + const idx = hits[0].object.userData.index; + const entry = S.meshEntryMap[idx]; // 精确命中零件行,而非父级 + if (entry) selectNode(entry); +}); + +/* ================= 零件右键菜单 ================= */ +let ctxTarget = null; + +function showCtxMenu(x, y) { + const menu = $('ctxMenu'); + $('ctxMenuTitle').textContent = ctxTarget.node.name || '零件'; + menu.classList.remove('hidden'); + // 防止溢出屏幕 + const r = menu.getBoundingClientRect(); + menu.style.left = Math.min(x, window.innerWidth - r.width - 8) + 'px'; + menu.style.top = Math.min(y, window.innerHeight - r.height - 8) + 'px'; +} + +function hideCtxMenu() { + $('ctxMenu').classList.add('hidden'); + ctxTarget = null; +} + +function toggleTransparentEntry(entry) { + const ids = []; + collectSolidIds(entry, ids); + if (!ids.length) return; + const first = S.meshObjs[ids[0]]; + if (!first) return; + const toTransparent = !first.material.transparent; + ids.forEach((i) => { + const m = S.meshObjs[i]; + if (m) { + m.material.transparent = toTransparent; + m.material.opacity = toTransparent ? 0.25 : 1; + m.material.depthWrite = !toTransparent; + } + }); + return toTransparent; +} + +renderer.domElement.addEventListener('contextmenu', (e) => { + e.preventDefault(); + const hit = pickPoint(e); + if (!hit) { hideCtxMenu(); return; } + const entry = S.meshEntryMap[hit.object.userData.index]; + if (!entry) { hideCtxMenu(); return; } + ctxTarget = entry; + selectNode(entry); + showCtxMenu(e.clientX, e.clientY); +}); + +document.querySelectorAll('#ctxMenu .ctx-item').forEach((item) => { + item.addEventListener('click', () => { + const entry = ctxTarget; + const act = item.dataset.act; + hideCtxMenu(); + if (!entry) return; + if (act === 'hide') { + setNodeVisible(entry, false); + setStatus(`已隐藏:${entry.node.name}`); + } else if (act === 'isolate') { + S.meshObjs.forEach((m) => { m.visible = false; }); + setNodeVisible(entry, true); + refreshTreeChecks(); + setStatus(`仅显示:${entry.node.name}(点「显示」按钮恢复全部)`); + } else if (act === 'showAll') { + S.meshObjs.forEach((m) => { m.visible = true; }); + refreshTreeChecks(); + setStatus('已全部显示'); + } else if (act === 'color') { + $('colorPanel').classList.remove('hidden'); + $('colorPicker').focus(); + setStatus(`已选中「${entry.node.name}」,选色后点「应用到选中」`); + } else if (act === 'transparent') { + const on = toggleTransparentEntry(entry); + setStatus(on ? '已透明显示,再次操作恢复' : '已恢复不透明'); + } else if (act === 'drag') { + setTool('drag'); + } else if (act === 'reset') { + const ids = []; + collectSolidIds(entry, ids); + ids.forEach((i) => { if (S.meshMeta[i]) S.meshMeta[i].dragOffset.set(0, 0, 0); }); + applyExplode(); + setStatus(`「${entry.node.name}」已复位`); + } + }); +}); + +// 点击空白处 / Esc 关闭菜单 +document.addEventListener('click', (e) => { + if (!$('ctxMenu').contains(e.target)) hideCtxMenu(); +}); +window.addEventListener('keydown', (e) => { if (e.key === 'Escape') hideCtxMenu(); }); +window.addEventListener('keydown', (e) => { + if (e.key === 'Escape') { + S.measurePts = []; + S.thicknessFaces = []; + if (S.thicknessMarkers) { disposeGroup(S.thicknessMarkers); S.thicknessMarkers = null; } + resetLengthTemp(); + if (S.tool !== 'select') setTool('select'); + else clearHighlight(); + } + if (e.key === 'Enter' && S.tool === 'measure' && S.measureMode === 'length') finishLengthMode(); +}); + +/* ================= 上色 ================= */ +const PALETTE = [ + '#2b9ae8', '#e74c3c', '#2ecc71', '#f39c12', '#9b59b6', + '#1abc9c', '#e67e22', '#3498db', '#e91e63', '#00bcd4', + '#8bc34a', '#ff9800', '#607d8b', '#ffc107', '#795548', +]; + +function applyColorOverrides() { + S.meshObjs.forEach((m) => { + const i = m.userData.index; + const ov = S.colorOverrides[i]; + if (ov) { + m.material.vertexColors = false; + m.material.color.set(ov); + } else { + m.material.vertexColors = !!m.geometry.getAttribute('color'); + m.material.color.copy(m.userData.baseColor); + } + }); +} + +function colorNode(entry, hex) { + const ids = []; + collectSolidIds(entry, ids); + ids.forEach((i) => { S.colorOverrides[i] = hex; }); + applyColorOverrides(); +} + +function colorAllParts() { + // 一键上色:按树零件行依次取调色板颜色 + const partRows = S.treeNodes.filter((t) => t.solidIds.length > 0 && t.node.meshes && t.depth > 0); + partRows.forEach((entry, k) => { + const ids = []; + collectSolidIds(entry, ids); + const c = PALETTE[k % PALETTE.length]; + ids.forEach((i) => { S.colorOverrides[i] = c; }); + }); + applyColorOverrides(); + setStatus('已一键上色(按零件分配颜色)'); +} + +$('btnColorApply').addEventListener('click', () => { + if (!S.selected) { setStatus('请先在模型树中选择零件'); return; } + colorNode(S.selected, $('colorPicker').value); + setStatus(`已上色:${S.selected.node.name || S.selected.row.querySelector('.tree-label').textContent}`); +}); + +$('btnColorOneClick').addEventListener('click', () => { + if (!S.meshObjs.length) { setStatus('请先加载模型'); return; } + colorAllParts(); +}); + +$('btnColorReset').addEventListener('click', () => { + S.colorOverrides = {}; + applyColorOverrides(); + setStatus('已恢复原始颜色'); +}); + +// 上色面板开关 +$('btnColorPanel').addEventListener('click', () => { + $('colorPanel').classList.toggle('hidden'); +}); + +// 结构树显隐:桌面默认显示、点击隐藏/显示;手机端是抽屉(默认隐藏,点按钮弹出) +$('btnTree').addEventListener('click', (e) => { + e.stopPropagation(); // 别让「点击外部收起抽屉」把这次打开又关掉 + const p = $('treePanel'); + if (window.innerWidth <= 768) { + const open = document.body.classList.toggle('tree-open'); + $('btnTree').classList.toggle('active', !open); + setStatus(open ? '结构树已显示' : '结构树已隐藏'); + } else { + const hidden = p.classList.toggle('hidden'); + $('viewport').style.left = hidden ? '0px' : '280px'; + $('btnTree').classList.toggle('active', hidden); + setStatus(hidden ? '结构树已隐藏' : '结构树已显示'); + } + requestAnimationFrame(resize); +}); + +// 视口切回桌面宽度时清掉手机上可能残留的内联 left +window.addEventListener('resize', () => { + if (window.innerWidth <= 768) $('viewport').style.left = ''; +}); + +// 手机抽屉:✕ 按钮关闭 + 点击抽屉外部自动收起 +if ($('btnTreeClose')) $('btnTreeClose').addEventListener('click', () => document.body.classList.remove('tree-open')); +document.addEventListener('click', (e) => { + if (window.innerWidth > 768 || !document.body.classList.contains('tree-open')) return; + if (!$('treePanel').contains(e.target)) document.body.classList.remove('tree-open'); +}); + +/* ================= 其他工具按钮 ================= */ +$('btnWireframe').classList.add('active'); // 线框默认开启 + +$('btnWireframe').addEventListener('click', () => { + S.wireframeOn = !S.wireframeOn; + S.edgeLines.forEach((l) => { l.visible = S.wireframeOn; }); + $('btnWireframe').classList.toggle('active', S.wireframeOn); + setStatus(S.wireframeOn ? '已显示轮廓线框' : '已隐藏轮廓线框'); +}); + +$('btnShowAll').addEventListener('click', () => { + S.meshObjs.forEach((m) => { m.visible = true; }); + refreshTreeChecks(); + setStatus('已全部显示'); +}); + +$('btnTransparent').addEventListener('click', () => { + if (!S.selected) { setStatus('请先选择要变透明的零件'); return; } + const ids = []; + collectSolidIds(S.selected, ids); + const first = S.meshObjs[ids[0]]; + if (!first) return; + const toTransparent = !first.material.transparent; + ids.forEach((i) => { + const m = S.meshObjs[i]; + if (m) { + m.material.transparent = toTransparent; + m.material.opacity = toTransparent ? 0.25 : 1; + m.material.depthWrite = !toTransparent; + } + }); + setStatus(toTransparent ? '已透明显示,再次点击恢复' : '已恢复不透明'); +}); + +$('btnBbox').addEventListener('click', () => { + if (S.bboxHelper) { + scene.remove(S.bboxHelper); + S.bboxHelper.geometry.dispose(); + S.bboxHelper = null; + setStatus('已关闭包围盒'); + return; + } + S.bboxHelper = new THREE.Box3Helper(S.bbox, 0x2b9ae8); + scene.add(S.bboxHelper); + setStatus('已显示整体包围盒'); +}); + +$('btnClear').addEventListener('click', () => { + clearMeasurements(); + setStatus('测量已清除'); +}); + +$('btnSingleReset').addEventListener('click', () => { + const targets = S.selected ? (() => { + const ids = []; collectSolidIds(S.selected, ids); return ids; + })() : null; + const ids = targets && targets.length ? targets : S.meshMeta.map((_, i) => i); + ids.forEach((i) => { if (S.meshMeta[i]) S.meshMeta[i].dragOffset.set(0, 0, 0); }); + applyExplode(); + setStatus(S.selected ? `「${S.selected.node.name}」已复位` : '所有拖动已复位'); +}); + +$('btnAllReset').addEventListener('click', () => { + S.meshMeta.forEach((m) => m.dragOffset.set(0, 0, 0)); + S.explodeAmount = 0; + dom.explodeSlider.value = 0; + dom.explodeVal.textContent = '0%'; + applyExplode(); + setSectionOn(false); + S.sectionOffset = 0; + dom.sectionSlider.value = 0; + updateSectionVal(); + updateSectionPlane(); + clearMeasurements(); + clearHighlight(); + S.meshObjs.forEach((m) => { m.visible = true; m.material.transparent = false; m.material.opacity = 1; m.material.depthWrite = true; }); + refreshTreeChecks(); + setTool('select'); + fitCamera(); + setStatus('已全部复位'); +}); + +$('btnVport').addEventListener('click', () => { + const views = [ + { name: '等轴测', dir: new THREE.Vector3(1, 0.6, 1) }, + { name: '前视', dir: new THREE.Vector3(0, 0, 1) }, + { name: '后视', dir: new THREE.Vector3(0, 0, -1) }, + { name: '左视', dir: new THREE.Vector3(-1, 0, 0) }, + { name: '右视', dir: new THREE.Vector3(1, 0, 0) }, + { name: '俯视', dir: new THREE.Vector3(0, 1, 0) }, + { name: '仰视', dir: new THREE.Vector3(0, -1, 0) }, + ]; + const v = views[S.viewIndex % views.length]; + S.viewIndex++; + camera.position.copy(S.modelCenter).addScaledVector(v.dir.normalize(), S.modelRadius * 2.4); + controls.target.copy(S.modelCenter); + controls.update(); + setStatus('视角:' + v.name); +}); + +$('btnAxes').addEventListener('click', () => { + if (S.axesHelper) { + scene.remove(S.axesHelper); + S.axesHelper.geometry.dispose(); + S.axesHelper = null; + setStatus('已关闭坐标系'); + return; + } + S.axesHelper = new THREE.AxesHelper(S.modelRadius * 0.5); + scene.add(S.axesHelper); + setStatus('已显示坐标系'); +}); + +function toggleFullscreen() { + if (document.fullscreenElement) document.exitFullscreen(); + else document.documentElement.requestFullscreen(); +} +$('btnFullscreen').addEventListener('click', toggleFullscreen); +// 底部工具栏也放一个:嵌入模式下顶栏是隐藏的,那里点不到 +$('btnFull').addEventListener('click', toggleFullscreen); + +/* ================= 面板关闭按钮 ================= */ +document.querySelectorAll('.panel-close').forEach((b) => b.addEventListener('click', () => { + const p = b.dataset.panel; + if (p === 'stats') $('statsPanel').classList.add('hidden'); + else if (p === 'color') $('colorPanel').classList.add('hidden'); + else if (p === 'embed') $('embedPanel').classList.add('hidden'); + else setTool('select'); +})); + +/* ================= 文件打开 / 拖拽 ================= */ +$('btnOpen').addEventListener('click', () => dom.fileInput.click()); +dom.fileInput.addEventListener('change', () => { + if (dom.fileInput.files.length) loadFile(dom.fileInput.files[0]); + dom.fileInput.value = ''; +}); + +// 统一入口(../index.html)在 iframe 里把用户选的 STEP 文件传进来 +window.addEventListener('message', (e) => { + const data = e.data; + if (!data || data.type !== 'viewer-file' || data.kind !== 'step') return; + try { if (e.origin !== location.origin) return; } catch { return; } + const f = new File([data.buffer], data.name || 'model.step'); + loadFile(f); +}); +try { window.parent.postMessage({ type: 'viewer-ready' }, '*'); } catch { /* 没嵌在入口里 */ } + +let dragDepth = 0; +window.addEventListener('dragenter', (e) => { + e.preventDefault(); + if (e.dataTransfer.types.includes('Files')) { + dragDepth++; + dom.dropOverlay.classList.remove('hidden'); + } +}); +window.addEventListener('dragleave', (e) => { + e.preventDefault(); + if (--dragDepth <= 0) { dragDepth = 0; dom.dropOverlay.classList.add('hidden'); } +}); +window.addEventListener('dragover', (e) => e.preventDefault()); +window.addEventListener('drop', (e) => { + e.preventDefault(); + dragDepth = 0; + dom.dropOverlay.classList.add('hidden'); + const f = e.dataTransfer.files && e.dataTransfer.files[0]; + if (f) loadFile(f); +}); + +setStatus('就绪:点击「打开模型」或把 .step/.stp 文件拖入页面 | 左键/中键旋转 · Shift+中键/右键平移 · 滚轮缩放'); + +/* ================= URL 参数自动加载(iframe 嵌入用) ================= + * 用法:index.html?file=samples/xxx.stp (同源相对路径) + * index.html?url=https://.../x.stp (完整地址,跨域需对方服务器允许 CORS) + * index.html?embed=1 (嵌入模式:隐藏顶栏、强制高精度) + * index.html?embed=1&menu=min (嵌入+精简菜单:只留 剖切/线框/透明/视角/测量, 欧霓博目录专用) + */ +const EMBED_MODE = new URLSearchParams(location.search).get('embed') === '1'; +if (EMBED_MODE) document.body.classList.add('embed'); +const MIN_MENU = new URLSearchParams(location.search).get('menu') === 'min'; +if (MIN_MENU) document.body.classList.add('menu-min'); + +// API 端点自动探测:Python 版(/name)或 PHP 版(./api/name.php),404 时尝试下一个。 +// name 可带查询串(如 "token.php?f=xxx")——.php 必须拼在 ? 之前,否则 URL 变成 +// "api/token?f=xxx.php",PHP 服务器上永远 404,令牌流程整体失效。 +async function apiRequest(name, opts) { + const qi = name.indexOf('?'); + const base = (qi < 0 ? name : name.slice(0, qi)).replace(/\.php$/i, ''); + const query = qi < 0 ? '' : name.slice(qi); + // 候选顺序:先看相对本页的 api/ 目录(合并入口下也正确), + // 再试站点根(旧部署习惯),最后是相对于当前路径的 api/ + const candidates = [`./api/${base}.php${query}`, `api/${base}.php${query}`, `/${name}`]; + let lastErr = null; + for (const url of candidates) { + try { + const resp = await fetch(url, opts); + if (resp.status === 404) { lastErr = new Error('HTTP 404'); continue; } + return resp; + } catch (e) { lastErr = e; } + } + throw lastErr || new Error('no api endpoint'); +} + +// 受保护模型(.stp/.step/.enc)走令牌通道;服务器禁止直接下载 +async function fetchModelBlob(path) { + if (/^https?:\/\//i.test(path)) { + const resp = await fetch(path); + if (!resp.ok) throw new Error('HTTP ' + resp.status); + return resp.blob(); + } + // 站内路径优先走令牌接口;接口没部署(本地 python 服务器、或纯静态托管) + // 就退回直接 fetch。判断依据是响应内容而不是状态码:python 服务器会把 + // token.php 源码当静态文件 200 发回来,只看状态码会误判。 + let tok = null; + try { + const tokResp = await apiRequest('token.php?f=' + encodeURIComponent(path)); + if (tokResp.ok && /application\/json/i.test(tokResp.headers.get('content-type') || '')) { + tok = await tokResp.json(); + } + } catch (e) { /* 接口不存在 */ } + if (tok && tok.token) { + const resp = await apiRequest(`model.php?f=${encodeURIComponent(path)}&t=${tok.token}&e=${tok.expires}`); + if (!resp.ok) throw new Error('模型获取失败 HTTP ' + resp.status); + return resp.blob(); + } + const resp = await fetch(path); + if (!resp.ok) throw new Error('HTTP ' + resp.status); + return resp.blob(); +} + +async function loadFromUrlParams() { + const q = new URLSearchParams(location.search); + const file = q.get('file'); + const url = q.get('url'); + if (!file && !url) return; + try { + showLoading('正在下载模型文件...'); + const blob = await fetchModelBlob(url || file); + hideLoading(); + const name = decodeURIComponent((url || file).split('/').pop()).replace(/\.enc$/i, '') || 'model.step'; + const source = url ? { type: 'url', value: url } : { type: 'file', value: file }; + await loadFile(new File([blob], name), source); + } catch (e) { + hideLoading(); + setStatus('自动加载失败:' + e.message); + } +} +loadFromUrlParams(); + +// 调试钩子(供自动化测试使用,不影响正常功能) +window.__S = S; + +/* ================= 上传当前模型(嵌入面板按钮,与 2D 查看器同流程) ================= */ +async function uploadCurrentModel() { + const file = S.currentFile; + if (!file) throw new Error('还没有打开本地模型'); + const headers = { 'X-Filename': encodeURIComponent(file.name), 'Content-Type': 'application/octet-stream' }; + let body = await file.arrayBuffer(); + // STEP 是纯文本,gzip 可压到约 1/6;上传前先压缩,节省 80%+ 带宽 + if (typeof CompressionStream !== 'undefined') { + try { + const stream = file.stream().pipeThrough(new CompressionStream('gzip')); + body = await new Response(stream).arrayBuffer(); + headers['X-Encoding'] = 'gzip'; + } catch (e) { console.warn('gzip 压缩失败,改传原始文件:', e); } + } + const resp = await apiRequest('upload.php', { method: 'POST', headers, body }); + const j = await resp.json().catch(() => ({})); + if (!resp.ok) throw new Error(j.error || ('HTTP ' + resp.status)); + return j; +} + +$('btnUploadModel').addEventListener('click', async () => { + const btn = $('btnUploadModel'); + btn.disabled = true; + btn.textContent = '上传中...'; + try { + const j = await uploadCurrentModel(); + if (!j || !j.path) throw new Error('上传接口返回异常(接口未部署)'); + S.modelSource = { type: 'file', value: j.path }; + $('embedPath').value = j.path; + $('embedHint').textContent = ''; + refreshEmbed(); + setStatus(`已加密上传:${j.path}`); + // 嵌在入口页里时通知它刷新首页数模库 + try { window.parent.postMessage({ type: 'library-updated' }, '*') } catch (e) { /* 独立打开 */ } + } catch (e) { + $('embedHint').textContent = `上传失败:${e.message}(本地开发服务器没有 PHP,需要在正式站点上试)`; + setStatus('上传失败:' + e.message); + } finally { + btn.disabled = false; + btn.textContent = '上传当前模型'; + } +}); + +/* ================= 嵌入链接生成 ================= */ +function viewerBaseUrl() { + return location.origin + location.pathname; // 当前 index.html 的完整地址 +} + +function refreshEmbed() { + const v = $('embedPath').value.trim(); + const base = viewerBaseUrl(); + if (!v) { + $('embedUrl').value = ''; + $('embedCode').value = ''; + return; + } + const link = (/^https?:\/\//i.test(v) + ? `${base}?url=${encodeURIComponent(v)}` + : `${base}?file=${encodeURIComponent(v)}`) + '&embed=1'; + $('embedUrl').value = link; + $('embedCode').value = ``; +} + +$('btnEmbed').addEventListener('click', () => { + const src = S.modelSource; + if (src.type === 'file') { + $('embedPath').value = src.value; + $('embedHint').textContent = ''; + } else if (src.type === 'url') { + $('embedPath').value = src.value; + $('embedHint').textContent = '跨域加载需对方服务器允许 CORS,同源部署最稳定。'; + } else if (src.type === 'local') { + $('embedPath').value = ''; + $('embedHint').textContent = '当前模型是本地文件:点「上传当前模型」加密上传到服务器后自动生成链接;也可以手动填服务器上的路径(如 samples/我的模型.stp)。'; + } else { + $('embedPath').value = ''; + $('embedHint').textContent = '还未加载模型。也可以手动填入模型路径(相对路径或 http(s) 完整地址)。'; + } + $('embedPanel').classList.toggle('hidden'); + refreshEmbed(); +}); + +$('embedPath').addEventListener('input', refreshEmbed); + +async function copyText(text, label) { + try { + await navigator.clipboard.writeText(text); + setStatus(label + '已复制到剪贴板'); + } catch (e) { + // 剪贴板不可用(非安全上下文)时选中文本供手动复制 + setStatus('复制失败,请手动选择文本框内容复制'); + } +} +$('btnCopyUrl').addEventListener('click', () => copyText($('embedUrl').value, '嵌入链接')); +$('btnCopyCode').addEventListener('click', () => copyText($('embedCode').value, 'iframe 代码')); diff --git a/viewer/STEPViewer/embed_demo.html b/viewer/STEPViewer/embed_demo.html new file mode 100644 index 0000000..9428f2e --- /dev/null +++ b/viewer/STEPViewer/embed_demo.html @@ -0,0 +1,54 @@ + + + + + + STEP 查看器嵌入示例 + + + +
+

STEP 3D 查看器 · 嵌入示例

+ + + +
+
+
+ + +
+
+ 嵌入方法:<iframe src="查看器目录/index.html?file=模型路径.stp" width="100%" height="600" allowFullScreen></iframe>
+ 部署:把整个 STEPViewer 目录(index.html、app.js、style.css、libs、icons)上传到你的网站,iframe 指向它即可。
+ 注意:模型文件要与查看器同源(同一域名下),或用 ?url= 加载远程模型(远程服务器需允许 CORS)。 +
+
+ + + diff --git a/viewer/STEPViewer/favicon.ico b/viewer/STEPViewer/favicon.ico new file mode 100644 index 0000000..a4a9b99 Binary files /dev/null and b/viewer/STEPViewer/favicon.ico differ diff --git a/viewer/STEPViewer/index.html b/viewer/STEPViewer/index.html new file mode 100644 index 0000000..770bfcb --- /dev/null +++ b/viewer/STEPViewer/index.html @@ -0,0 +1,209 @@ + + + + + + STEP 模型查看器 + + + + + + + + +
+ + + + + 未加载模型(支持拖拽 .step/.stp 文件到页面) +
+ +
+
+ +
+ +
+
+ 模型树 + + +
+
加载模型后显示零件树
+
+ + +
+
+ + +
+ + + + + + +
+ + + + + + + + + +
+ + + +
+ + + + + + + + + + + + + + + + + + + + +
+ 就绪 | 左键旋转 · 右键平移 · 滚轮缩放 + +
+
+
+ + + + + + + + + + + + + + + diff --git a/viewer/STEPViewer/libs/CSS2DRenderer.js b/viewer/STEPViewer/libs/CSS2DRenderer.js new file mode 100644 index 0000000..6d67931 --- /dev/null +++ b/viewer/STEPViewer/libs/CSS2DRenderer.js @@ -0,0 +1,215 @@ +import { + Matrix4, + Object3D, + Vector2, + Vector3 +} from 'three'; + +class CSS2DObject extends Object3D { + + constructor( element = document.createElement( 'div' ) ) { + + super(); + + this.isCSS2DObject = true; + + this.element = element; + + this.element.style.position = 'absolute'; + this.element.style.userSelect = 'none'; + + this.element.setAttribute( 'draggable', false ); + + this.center = new Vector2( 0.5, 0.5 ); // ( 0, 0 ) is the lower left; ( 1, 1 ) is the top right + + this.addEventListener( 'removed', function () { + + this.traverse( function ( object ) { + + if ( object.element instanceof Element && object.element.parentNode !== null ) { + + object.element.parentNode.removeChild( object.element ); + + } + + } ); + + } ); + + } + + copy( source, recursive ) { + + super.copy( source, recursive ); + + this.element = source.element.cloneNode( true ); + + this.center = source.center; + + return this; + + } + +} + +// + +const _vector = new Vector3(); +const _viewMatrix = new Matrix4(); +const _viewProjectionMatrix = new Matrix4(); +const _a = new Vector3(); +const _b = new Vector3(); + +class CSS2DRenderer { + + constructor( parameters = {} ) { + + const _this = this; + + let _width, _height; + let _widthHalf, _heightHalf; + + const cache = { + objects: new WeakMap() + }; + + const domElement = parameters.element !== undefined ? parameters.element : document.createElement( 'div' ); + + domElement.style.overflow = 'hidden'; + + this.domElement = domElement; + + this.getSize = function () { + + return { + width: _width, + height: _height + }; + + }; + + this.render = function ( scene, camera ) { + + if ( scene.matrixWorldAutoUpdate === true ) scene.updateMatrixWorld(); + if ( camera.parent === null && camera.matrixWorldAutoUpdate === true ) camera.updateMatrixWorld(); + + _viewMatrix.copy( camera.matrixWorldInverse ); + _viewProjectionMatrix.multiplyMatrices( camera.projectionMatrix, _viewMatrix ); + + renderObject( scene, scene, camera ); + zOrder( scene ); + + }; + + this.setSize = function ( width, height ) { + + _width = width; + _height = height; + + _widthHalf = _width / 2; + _heightHalf = _height / 2; + + domElement.style.width = width + 'px'; + domElement.style.height = height + 'px'; + + }; + + function renderObject( object, scene, camera ) { + + if ( object.isCSS2DObject ) { + + _vector.setFromMatrixPosition( object.matrixWorld ); + _vector.applyMatrix4( _viewProjectionMatrix ); + + const visible = ( object.visible === true ) && ( _vector.z >= - 1 && _vector.z <= 1 ) && ( object.layers.test( camera.layers ) === true ); + object.element.style.display = ( visible === true ) ? '' : 'none'; + + if ( visible === true ) { + + object.onBeforeRender( _this, scene, camera ); + + const element = object.element; + + element.style.transform = 'translate(' + ( - 100 * object.center.x ) + '%,' + ( - 100 * object.center.y ) + '%)' + 'translate(' + ( _vector.x * _widthHalf + _widthHalf ) + 'px,' + ( - _vector.y * _heightHalf + _heightHalf ) + 'px)'; + + if ( element.parentNode !== domElement ) { + + domElement.appendChild( element ); + + } + + object.onAfterRender( _this, scene, camera ); + + } + + const objectData = { + distanceToCameraSquared: getDistanceToSquared( camera, object ) + }; + + cache.objects.set( object, objectData ); + + } + + for ( let i = 0, l = object.children.length; i < l; i ++ ) { + + renderObject( object.children[ i ], scene, camera ); + + } + + } + + function getDistanceToSquared( object1, object2 ) { + + _a.setFromMatrixPosition( object1.matrixWorld ); + _b.setFromMatrixPosition( object2.matrixWorld ); + + return _a.distanceToSquared( _b ); + + } + + function filterAndFlatten( scene ) { + + const result = []; + + scene.traverse( function ( object ) { + + if ( object.isCSS2DObject ) result.push( object ); + + } ); + + return result; + + } + + function zOrder( scene ) { + + const sorted = filterAndFlatten( scene ).sort( function ( a, b ) { + + if ( a.renderOrder !== b.renderOrder ) { + + return b.renderOrder - a.renderOrder; + + } + + const distanceA = cache.objects.get( a ).distanceToCameraSquared; + const distanceB = cache.objects.get( b ).distanceToCameraSquared; + + return distanceA - distanceB; + + } ); + + const zMax = sorted.length; + + for ( let i = 0, l = sorted.length; i < l; i ++ ) { + + sorted[ i ].element.style.zIndex = zMax - i; + + } + + } + + } + +} + +export { CSS2DObject, CSS2DRenderer }; diff --git a/viewer/STEPViewer/libs/DragControls.js b/viewer/STEPViewer/libs/DragControls.js new file mode 100644 index 0000000..f93f774 --- /dev/null +++ b/viewer/STEPViewer/libs/DragControls.js @@ -0,0 +1,221 @@ +import { + EventDispatcher, + Matrix4, + Plane, + Raycaster, + Vector2, + Vector3 +} from 'three'; + +const _plane = new Plane(); +const _raycaster = new Raycaster(); + +const _pointer = new Vector2(); +const _offset = new Vector3(); +const _intersection = new Vector3(); +const _worldPosition = new Vector3(); +const _inverseMatrix = new Matrix4(); + +class DragControls extends EventDispatcher { + + constructor( _objects, _camera, _domElement ) { + + super(); + + _domElement.style.touchAction = 'none'; // disable touch scroll + + let _selected = null, _hovered = null; + + const _intersections = []; + + // + + const scope = this; + + function activate() { + + _domElement.addEventListener( 'pointermove', onPointerMove ); + _domElement.addEventListener( 'pointerdown', onPointerDown ); + _domElement.addEventListener( 'pointerup', onPointerCancel ); + _domElement.addEventListener( 'pointerleave', onPointerCancel ); + + } + + function deactivate() { + + _domElement.removeEventListener( 'pointermove', onPointerMove ); + _domElement.removeEventListener( 'pointerdown', onPointerDown ); + _domElement.removeEventListener( 'pointerup', onPointerCancel ); + _domElement.removeEventListener( 'pointerleave', onPointerCancel ); + + _domElement.style.cursor = ''; + + } + + function dispose() { + + deactivate(); + + } + + function getObjects() { + + return _objects; + + } + + function getRaycaster() { + + return _raycaster; + + } + + function onPointerMove( event ) { + + if ( scope.enabled === false ) return; + + updatePointer( event ); + + _raycaster.setFromCamera( _pointer, _camera ); + + if ( _selected ) { + + if ( _raycaster.ray.intersectPlane( _plane, _intersection ) ) { + + _selected.position.copy( _intersection.sub( _offset ).applyMatrix4( _inverseMatrix ) ); + + } + + scope.dispatchEvent( { type: 'drag', object: _selected } ); + + return; + + } + + // hover support + + if ( event.pointerType === 'mouse' || event.pointerType === 'pen' ) { + + _intersections.length = 0; + + _raycaster.setFromCamera( _pointer, _camera ); + _raycaster.intersectObjects( _objects, scope.recursive, _intersections ); + + if ( _intersections.length > 0 ) { + + const object = _intersections[ 0 ].object; + + _plane.setFromNormalAndCoplanarPoint( _camera.getWorldDirection( _plane.normal ), _worldPosition.setFromMatrixPosition( object.matrixWorld ) ); + + if ( _hovered !== object && _hovered !== null ) { + + scope.dispatchEvent( { type: 'hoveroff', object: _hovered } ); + + _domElement.style.cursor = 'auto'; + _hovered = null; + + } + + if ( _hovered !== object ) { + + scope.dispatchEvent( { type: 'hoveron', object: object } ); + + _domElement.style.cursor = 'pointer'; + _hovered = object; + + } + + } else { + + if ( _hovered !== null ) { + + scope.dispatchEvent( { type: 'hoveroff', object: _hovered } ); + + _domElement.style.cursor = 'auto'; + _hovered = null; + + } + + } + + } + + } + + function onPointerDown( event ) { + + if ( scope.enabled === false ) return; + + updatePointer( event ); + + _intersections.length = 0; + + _raycaster.setFromCamera( _pointer, _camera ); + _raycaster.intersectObjects( _objects, scope.recursive, _intersections ); + + if ( _intersections.length > 0 ) { + + _selected = ( scope.transformGroup === true ) ? _objects[ 0 ] : _intersections[ 0 ].object; + + _plane.setFromNormalAndCoplanarPoint( _camera.getWorldDirection( _plane.normal ), _worldPosition.setFromMatrixPosition( _selected.matrixWorld ) ); + + if ( _raycaster.ray.intersectPlane( _plane, _intersection ) ) { + + _inverseMatrix.copy( _selected.parent.matrixWorld ).invert(); + _offset.copy( _intersection ).sub( _worldPosition.setFromMatrixPosition( _selected.matrixWorld ) ); + + } + + _domElement.style.cursor = 'move'; + + scope.dispatchEvent( { type: 'dragstart', object: _selected } ); + + } + + + } + + function onPointerCancel() { + + if ( scope.enabled === false ) return; + + if ( _selected ) { + + scope.dispatchEvent( { type: 'dragend', object: _selected } ); + + _selected = null; + + } + + _domElement.style.cursor = _hovered ? 'pointer' : 'auto'; + + } + + function updatePointer( event ) { + + const rect = _domElement.getBoundingClientRect(); + + _pointer.x = ( event.clientX - rect.left ) / rect.width * 2 - 1; + _pointer.y = - ( event.clientY - rect.top ) / rect.height * 2 + 1; + + } + + activate(); + + // API + + this.enabled = true; + this.recursive = true; + this.transformGroup = false; + + this.activate = activate; + this.deactivate = deactivate; + this.dispose = dispose; + this.getObjects = getObjects; + this.getRaycaster = getRaycaster; + + } + +} + +export { DragControls }; diff --git a/viewer/STEPViewer/libs/OrbitControls.js b/viewer/STEPViewer/libs/OrbitControls.js new file mode 100644 index 0000000..f29e7fe --- /dev/null +++ b/viewer/STEPViewer/libs/OrbitControls.js @@ -0,0 +1,1417 @@ +import { + EventDispatcher, + MOUSE, + Quaternion, + Spherical, + TOUCH, + Vector2, + Vector3, + Plane, + Ray, + MathUtils +} from 'three'; + +// OrbitControls performs orbiting, dollying (zooming), and panning. +// Unlike TrackballControls, it maintains the "up" direction object.up (+Y by default). +// +// Orbit - left mouse / touch: one-finger move +// Zoom - middle mouse, or mousewheel / touch: two-finger spread or squish +// Pan - right mouse, or left mouse + ctrl/meta/shiftKey, or arrow keys / touch: two-finger move + +const _changeEvent = { type: 'change' }; +const _startEvent = { type: 'start' }; +const _endEvent = { type: 'end' }; +const _ray = new Ray(); +const _plane = new Plane(); +const TILT_LIMIT = Math.cos( 70 * MathUtils.DEG2RAD ); + +class OrbitControls extends EventDispatcher { + + constructor( object, domElement ) { + + super(); + + this.object = object; + this.domElement = domElement; + this.domElement.style.touchAction = 'none'; // disable touch scroll + + // Set to false to disable this control + this.enabled = true; + + // "target" sets the location of focus, where the object orbits around + this.target = new Vector3(); + + // Sets the 3D cursor (similar to Blender), from which the maxTargetRadius takes effect + this.cursor = new Vector3(); + + // How far you can dolly in and out ( PerspectiveCamera only ) + this.minDistance = 0; + this.maxDistance = Infinity; + + // How far you can zoom in and out ( OrthographicCamera only ) + this.minZoom = 0; + this.maxZoom = Infinity; + + // Limit camera target within a spherical area around the cursor + this.minTargetRadius = 0; + this.maxTargetRadius = Infinity; + + // How far you can orbit vertically, upper and lower limits. + // Range is 0 to Math.PI radians. + this.minPolarAngle = 0; // radians + this.maxPolarAngle = Math.PI; // radians + + // How far you can orbit horizontally, upper and lower limits. + // If set, the interval [ min, max ] must be a sub-interval of [ - 2 PI, 2 PI ], with ( max - min < 2 PI ) + this.minAzimuthAngle = - Infinity; // radians + this.maxAzimuthAngle = Infinity; // radians + + // Set to true to enable damping (inertia) + // If damping is enabled, you must call controls.update() in your animation loop + this.enableDamping = false; + this.dampingFactor = 0.05; + + // This option actually enables dollying in and out; left as "zoom" for backwards compatibility. + // Set to false to disable zooming + this.enableZoom = true; + this.zoomSpeed = 1.0; + + // Set to false to disable rotating + this.enableRotate = true; + this.rotateSpeed = 1.0; + + // Set to false to disable panning + this.enablePan = true; + this.panSpeed = 1.0; + this.screenSpacePanning = true; // if false, pan orthogonal to world-space direction camera.up + this.keyPanSpeed = 7.0; // pixels moved per arrow key push + this.zoomToCursor = false; + + // Set to true to automatically rotate around the target + // If auto-rotate is enabled, you must call controls.update() in your animation loop + this.autoRotate = false; + this.autoRotateSpeed = 2.0; // 30 seconds per orbit when fps is 60 + + // The four arrow keys + this.keys = { LEFT: 'ArrowLeft', UP: 'ArrowUp', RIGHT: 'ArrowRight', BOTTOM: 'ArrowDown' }; + + // Mouse buttons + this.mouseButtons = { LEFT: MOUSE.ROTATE, MIDDLE: MOUSE.DOLLY, RIGHT: MOUSE.PAN }; + + // Touch fingers + this.touches = { ONE: TOUCH.ROTATE, TWO: TOUCH.DOLLY_PAN }; + + // for reset + this.target0 = this.target.clone(); + this.position0 = this.object.position.clone(); + this.zoom0 = this.object.zoom; + + // the target DOM element for key events + this._domElementKeyEvents = null; + + // + // public methods + // + + this.getPolarAngle = function () { + + return spherical.phi; + + }; + + this.getAzimuthalAngle = function () { + + return spherical.theta; + + }; + + this.getDistance = function () { + + return this.object.position.distanceTo( this.target ); + + }; + + this.listenToKeyEvents = function ( domElement ) { + + domElement.addEventListener( 'keydown', onKeyDown ); + this._domElementKeyEvents = domElement; + + }; + + this.stopListenToKeyEvents = function () { + + this._domElementKeyEvents.removeEventListener( 'keydown', onKeyDown ); + this._domElementKeyEvents = null; + + }; + + this.saveState = function () { + + scope.target0.copy( scope.target ); + scope.position0.copy( scope.object.position ); + scope.zoom0 = scope.object.zoom; + + }; + + this.reset = function () { + + scope.target.copy( scope.target0 ); + scope.object.position.copy( scope.position0 ); + scope.object.zoom = scope.zoom0; + + scope.object.updateProjectionMatrix(); + scope.dispatchEvent( _changeEvent ); + + scope.update(); + + state = STATE.NONE; + + }; + + // this method is exposed, but perhaps it would be better if we can make it private... + this.update = function () { + + const offset = new Vector3(); + + // so camera.up is the orbit axis + const quat = new Quaternion().setFromUnitVectors( object.up, new Vector3( 0, 1, 0 ) ); + const quatInverse = quat.clone().invert(); + + const lastPosition = new Vector3(); + const lastQuaternion = new Quaternion(); + const lastTargetPosition = new Vector3(); + + const twoPI = 2 * Math.PI; + + return function update( deltaTime = null ) { + + const position = scope.object.position; + + offset.copy( position ).sub( scope.target ); + + // rotate offset to "y-axis-is-up" space + offset.applyQuaternion( quat ); + + // angle from z-axis around y-axis + spherical.setFromVector3( offset ); + + if ( scope.autoRotate && state === STATE.NONE ) { + + rotateLeft( getAutoRotationAngle( deltaTime ) ); + + } + + if ( scope.enableDamping ) { + + spherical.theta += sphericalDelta.theta * scope.dampingFactor; + spherical.phi += sphericalDelta.phi * scope.dampingFactor; + + } else { + + spherical.theta += sphericalDelta.theta; + spherical.phi += sphericalDelta.phi; + + } + + // restrict theta to be between desired limits + + let min = scope.minAzimuthAngle; + let max = scope.maxAzimuthAngle; + + if ( isFinite( min ) && isFinite( max ) ) { + + if ( min < - Math.PI ) min += twoPI; else if ( min > Math.PI ) min -= twoPI; + + if ( max < - Math.PI ) max += twoPI; else if ( max > Math.PI ) max -= twoPI; + + if ( min <= max ) { + + spherical.theta = Math.max( min, Math.min( max, spherical.theta ) ); + + } else { + + spherical.theta = ( spherical.theta > ( min + max ) / 2 ) ? + Math.max( min, spherical.theta ) : + Math.min( max, spherical.theta ); + + } + + } + + // restrict phi to be between desired limits + spherical.phi = Math.max( scope.minPolarAngle, Math.min( scope.maxPolarAngle, spherical.phi ) ); + + spherical.makeSafe(); + + + // move target to panned location + + if ( scope.enableDamping === true ) { + + scope.target.addScaledVector( panOffset, scope.dampingFactor ); + + } else { + + scope.target.add( panOffset ); + + } + + // Limit the target distance from the cursor to create a sphere around the center of interest + scope.target.sub( scope.cursor ); + scope.target.clampLength( scope.minTargetRadius, scope.maxTargetRadius ); + scope.target.add( scope.cursor ); + + // adjust the camera position based on zoom only if we're not zooming to the cursor or if it's an ortho camera + // we adjust zoom later in these cases + if ( scope.zoomToCursor && performCursorZoom || scope.object.isOrthographicCamera ) { + + spherical.radius = clampDistance( spherical.radius ); + + } else { + + spherical.radius = clampDistance( spherical.radius * scale ); + + } + + offset.setFromSpherical( spherical ); + + // rotate offset back to "camera-up-vector-is-up" space + offset.applyQuaternion( quatInverse ); + + position.copy( scope.target ).add( offset ); + + scope.object.lookAt( scope.target ); + + if ( scope.enableDamping === true ) { + + sphericalDelta.theta *= ( 1 - scope.dampingFactor ); + sphericalDelta.phi *= ( 1 - scope.dampingFactor ); + + panOffset.multiplyScalar( 1 - scope.dampingFactor ); + + } else { + + sphericalDelta.set( 0, 0, 0 ); + + panOffset.set( 0, 0, 0 ); + + } + + // adjust camera position + let zoomChanged = false; + if ( scope.zoomToCursor && performCursorZoom ) { + + let newRadius = null; + if ( scope.object.isPerspectiveCamera ) { + + // move the camera down the pointer ray + // this method avoids floating point error + const prevRadius = offset.length(); + newRadius = clampDistance( prevRadius * scale ); + + const radiusDelta = prevRadius - newRadius; + scope.object.position.addScaledVector( dollyDirection, radiusDelta ); + scope.object.updateMatrixWorld(); + + } else if ( scope.object.isOrthographicCamera ) { + + // adjust the ortho camera position based on zoom changes + const mouseBefore = new Vector3( mouse.x, mouse.y, 0 ); + mouseBefore.unproject( scope.object ); + + scope.object.zoom = Math.max( scope.minZoom, Math.min( scope.maxZoom, scope.object.zoom / scale ) ); + scope.object.updateProjectionMatrix(); + zoomChanged = true; + + const mouseAfter = new Vector3( mouse.x, mouse.y, 0 ); + mouseAfter.unproject( scope.object ); + + scope.object.position.sub( mouseAfter ).add( mouseBefore ); + scope.object.updateMatrixWorld(); + + newRadius = offset.length(); + + } else { + + console.warn( 'WARNING: OrbitControls.js encountered an unknown camera type - zoom to cursor disabled.' ); + scope.zoomToCursor = false; + + } + + // handle the placement of the target + if ( newRadius !== null ) { + + if ( this.screenSpacePanning ) { + + // position the orbit target in front of the new camera position + scope.target.set( 0, 0, - 1 ) + .transformDirection( scope.object.matrix ) + .multiplyScalar( newRadius ) + .add( scope.object.position ); + + } else { + + // get the ray and translation plane to compute target + _ray.origin.copy( scope.object.position ); + _ray.direction.set( 0, 0, - 1 ).transformDirection( scope.object.matrix ); + + // if the camera is 20 degrees above the horizon then don't adjust the focus target to avoid + // extremely large values + if ( Math.abs( scope.object.up.dot( _ray.direction ) ) < TILT_LIMIT ) { + + object.lookAt( scope.target ); + + } else { + + _plane.setFromNormalAndCoplanarPoint( scope.object.up, scope.target ); + _ray.intersectPlane( _plane, scope.target ); + + } + + } + + } + + } else if ( scope.object.isOrthographicCamera ) { + + scope.object.zoom = Math.max( scope.minZoom, Math.min( scope.maxZoom, scope.object.zoom / scale ) ); + scope.object.updateProjectionMatrix(); + zoomChanged = true; + + } + + scale = 1; + performCursorZoom = false; + + // update condition is: + // min(camera displacement, camera rotation in radians)^2 > EPS + // using small-angle approximation cos(x/2) = 1 - x^2 / 8 + + if ( zoomChanged || + lastPosition.distanceToSquared( scope.object.position ) > EPS || + 8 * ( 1 - lastQuaternion.dot( scope.object.quaternion ) ) > EPS || + lastTargetPosition.distanceToSquared( scope.target ) > 0 ) { + + scope.dispatchEvent( _changeEvent ); + + lastPosition.copy( scope.object.position ); + lastQuaternion.copy( scope.object.quaternion ); + lastTargetPosition.copy( scope.target ); + + return true; + + } + + return false; + + }; + + }(); + + this.dispose = function () { + + scope.domElement.removeEventListener( 'contextmenu', onContextMenu ); + + scope.domElement.removeEventListener( 'pointerdown', onPointerDown ); + scope.domElement.removeEventListener( 'pointercancel', onPointerUp ); + scope.domElement.removeEventListener( 'wheel', onMouseWheel ); + + scope.domElement.removeEventListener( 'pointermove', onPointerMove ); + scope.domElement.removeEventListener( 'pointerup', onPointerUp ); + + + if ( scope._domElementKeyEvents !== null ) { + + scope._domElementKeyEvents.removeEventListener( 'keydown', onKeyDown ); + scope._domElementKeyEvents = null; + + } + + //scope.dispatchEvent( { type: 'dispose' } ); // should this be added here? + + }; + + // + // internals + // + + const scope = this; + + const STATE = { + NONE: - 1, + ROTATE: 0, + DOLLY: 1, + PAN: 2, + TOUCH_ROTATE: 3, + TOUCH_PAN: 4, + TOUCH_DOLLY_PAN: 5, + TOUCH_DOLLY_ROTATE: 6 + }; + + let state = STATE.NONE; + + const EPS = 0.000001; + + // current position in spherical coordinates + const spherical = new Spherical(); + const sphericalDelta = new Spherical(); + + let scale = 1; + const panOffset = new Vector3(); + + const rotateStart = new Vector2(); + const rotateEnd = new Vector2(); + const rotateDelta = new Vector2(); + + const panStart = new Vector2(); + const panEnd = new Vector2(); + const panDelta = new Vector2(); + + const dollyStart = new Vector2(); + const dollyEnd = new Vector2(); + const dollyDelta = new Vector2(); + + const dollyDirection = new Vector3(); + const mouse = new Vector2(); + let performCursorZoom = false; + + const pointers = []; + const pointerPositions = {}; + + function getAutoRotationAngle( deltaTime ) { + + if ( deltaTime !== null ) { + + return ( 2 * Math.PI / 60 * scope.autoRotateSpeed ) * deltaTime; + + } else { + + return 2 * Math.PI / 60 / 60 * scope.autoRotateSpeed; + + } + + } + + function getZoomScale( delta ) { + + const normalized_delta = Math.abs( delta ) / ( 100 * ( window.devicePixelRatio | 0 ) ); + return Math.pow( 0.95, scope.zoomSpeed * normalized_delta ); + + } + + function rotateLeft( angle ) { + + sphericalDelta.theta -= angle; + + } + + function rotateUp( angle ) { + + sphericalDelta.phi -= angle; + + } + + const panLeft = function () { + + const v = new Vector3(); + + return function panLeft( distance, objectMatrix ) { + + v.setFromMatrixColumn( objectMatrix, 0 ); // get X column of objectMatrix + v.multiplyScalar( - distance ); + + panOffset.add( v ); + + }; + + }(); + + const panUp = function () { + + const v = new Vector3(); + + return function panUp( distance, objectMatrix ) { + + if ( scope.screenSpacePanning === true ) { + + v.setFromMatrixColumn( objectMatrix, 1 ); + + } else { + + v.setFromMatrixColumn( objectMatrix, 0 ); + v.crossVectors( scope.object.up, v ); + + } + + v.multiplyScalar( distance ); + + panOffset.add( v ); + + }; + + }(); + + // deltaX and deltaY are in pixels; right and down are positive + const pan = function () { + + const offset = new Vector3(); + + return function pan( deltaX, deltaY ) { + + const element = scope.domElement; + + if ( scope.object.isPerspectiveCamera ) { + + // perspective + const position = scope.object.position; + offset.copy( position ).sub( scope.target ); + let targetDistance = offset.length(); + + // half of the fov is center to top of screen + targetDistance *= Math.tan( ( scope.object.fov / 2 ) * Math.PI / 180.0 ); + + // we use only clientHeight here so aspect ratio does not distort speed + panLeft( 2 * deltaX * targetDistance / element.clientHeight, scope.object.matrix ); + panUp( 2 * deltaY * targetDistance / element.clientHeight, scope.object.matrix ); + + } else if ( scope.object.isOrthographicCamera ) { + + // orthographic + panLeft( deltaX * ( scope.object.right - scope.object.left ) / scope.object.zoom / element.clientWidth, scope.object.matrix ); + panUp( deltaY * ( scope.object.top - scope.object.bottom ) / scope.object.zoom / element.clientHeight, scope.object.matrix ); + + } else { + + // camera neither orthographic nor perspective + console.warn( 'WARNING: OrbitControls.js encountered an unknown camera type - pan disabled.' ); + scope.enablePan = false; + + } + + }; + + }(); + + function dollyOut( dollyScale ) { + + if ( scope.object.isPerspectiveCamera || scope.object.isOrthographicCamera ) { + + scale /= dollyScale; + + } else { + + console.warn( 'WARNING: OrbitControls.js encountered an unknown camera type - dolly/zoom disabled.' ); + scope.enableZoom = false; + + } + + } + + function dollyIn( dollyScale ) { + + if ( scope.object.isPerspectiveCamera || scope.object.isOrthographicCamera ) { + + scale *= dollyScale; + + } else { + + console.warn( 'WARNING: OrbitControls.js encountered an unknown camera type - dolly/zoom disabled.' ); + scope.enableZoom = false; + + } + + } + + function updateZoomParameters( x, y ) { + + if ( ! scope.zoomToCursor ) { + + return; + + } + + performCursorZoom = true; + + const rect = scope.domElement.getBoundingClientRect(); + const dx = x - rect.left; + const dy = y - rect.top; + const w = rect.width; + const h = rect.height; + + mouse.x = ( dx / w ) * 2 - 1; + mouse.y = - ( dy / h ) * 2 + 1; + + dollyDirection.set( mouse.x, mouse.y, 1 ).unproject( scope.object ).sub( scope.object.position ).normalize(); + + } + + function clampDistance( dist ) { + + return Math.max( scope.minDistance, Math.min( scope.maxDistance, dist ) ); + + } + + // + // event callbacks - update the object state + // + + function handleMouseDownRotate( event ) { + + rotateStart.set( event.clientX, event.clientY ); + + } + + function handleMouseDownDolly( event ) { + + updateZoomParameters( event.clientX, event.clientX ); + dollyStart.set( event.clientX, event.clientY ); + + } + + function handleMouseDownPan( event ) { + + panStart.set( event.clientX, event.clientY ); + + } + + function handleMouseMoveRotate( event ) { + + rotateEnd.set( event.clientX, event.clientY ); + + rotateDelta.subVectors( rotateEnd, rotateStart ).multiplyScalar( scope.rotateSpeed ); + + const element = scope.domElement; + + rotateLeft( 2 * Math.PI * rotateDelta.x / element.clientHeight ); // yes, height + + rotateUp( 2 * Math.PI * rotateDelta.y / element.clientHeight ); + + rotateStart.copy( rotateEnd ); + + scope.update(); + + } + + function handleMouseMoveDolly( event ) { + + dollyEnd.set( event.clientX, event.clientY ); + + dollyDelta.subVectors( dollyEnd, dollyStart ); + + if ( dollyDelta.y > 0 ) { + + dollyOut( getZoomScale( dollyDelta.y ) ); + + } else if ( dollyDelta.y < 0 ) { + + dollyIn( getZoomScale( dollyDelta.y ) ); + + } + + dollyStart.copy( dollyEnd ); + + scope.update(); + + } + + function handleMouseMovePan( event ) { + + panEnd.set( event.clientX, event.clientY ); + + panDelta.subVectors( panEnd, panStart ).multiplyScalar( scope.panSpeed ); + + pan( panDelta.x, panDelta.y ); + + panStart.copy( panEnd ); + + scope.update(); + + } + + function handleMouseWheel( event ) { + + updateZoomParameters( event.clientX, event.clientY ); + + if ( event.deltaY < 0 ) { + + dollyIn( getZoomScale( event.deltaY ) ); + + } else if ( event.deltaY > 0 ) { + + dollyOut( getZoomScale( event.deltaY ) ); + + } + + scope.update(); + + } + + function handleKeyDown( event ) { + + let needsUpdate = false; + + switch ( event.code ) { + + case scope.keys.UP: + + if ( event.ctrlKey || event.metaKey || event.shiftKey ) { + + rotateUp( 2 * Math.PI * scope.rotateSpeed / scope.domElement.clientHeight ); + + } else { + + pan( 0, scope.keyPanSpeed ); + + } + + needsUpdate = true; + break; + + case scope.keys.BOTTOM: + + if ( event.ctrlKey || event.metaKey || event.shiftKey ) { + + rotateUp( - 2 * Math.PI * scope.rotateSpeed / scope.domElement.clientHeight ); + + } else { + + pan( 0, - scope.keyPanSpeed ); + + } + + needsUpdate = true; + break; + + case scope.keys.LEFT: + + if ( event.ctrlKey || event.metaKey || event.shiftKey ) { + + rotateLeft( 2 * Math.PI * scope.rotateSpeed / scope.domElement.clientHeight ); + + } else { + + pan( scope.keyPanSpeed, 0 ); + + } + + needsUpdate = true; + break; + + case scope.keys.RIGHT: + + if ( event.ctrlKey || event.metaKey || event.shiftKey ) { + + rotateLeft( - 2 * Math.PI * scope.rotateSpeed / scope.domElement.clientHeight ); + + } else { + + pan( - scope.keyPanSpeed, 0 ); + + } + + needsUpdate = true; + break; + + } + + if ( needsUpdate ) { + + // prevent the browser from scrolling on cursor keys + event.preventDefault(); + + scope.update(); + + } + + + } + + function handleTouchStartRotate( event ) { + + if ( pointers.length === 1 ) { + + rotateStart.set( event.pageX, event.pageY ); + + } else { + + const position = getSecondPointerPosition( event ); + + const x = 0.5 * ( event.pageX + position.x ); + const y = 0.5 * ( event.pageY + position.y ); + + rotateStart.set( x, y ); + + } + + } + + function handleTouchStartPan( event ) { + + if ( pointers.length === 1 ) { + + panStart.set( event.pageX, event.pageY ); + + } else { + + const position = getSecondPointerPosition( event ); + + const x = 0.5 * ( event.pageX + position.x ); + const y = 0.5 * ( event.pageY + position.y ); + + panStart.set( x, y ); + + } + + } + + function handleTouchStartDolly( event ) { + + const position = getSecondPointerPosition( event ); + + const dx = event.pageX - position.x; + const dy = event.pageY - position.y; + + const distance = Math.sqrt( dx * dx + dy * dy ); + + dollyStart.set( 0, distance ); + + } + + function handleTouchStartDollyPan( event ) { + + if ( scope.enableZoom ) handleTouchStartDolly( event ); + + if ( scope.enablePan ) handleTouchStartPan( event ); + + } + + function handleTouchStartDollyRotate( event ) { + + if ( scope.enableZoom ) handleTouchStartDolly( event ); + + if ( scope.enableRotate ) handleTouchStartRotate( event ); + + } + + function handleTouchMoveRotate( event ) { + + if ( pointers.length == 1 ) { + + rotateEnd.set( event.pageX, event.pageY ); + + } else { + + const position = getSecondPointerPosition( event ); + + const x = 0.5 * ( event.pageX + position.x ); + const y = 0.5 * ( event.pageY + position.y ); + + rotateEnd.set( x, y ); + + } + + rotateDelta.subVectors( rotateEnd, rotateStart ).multiplyScalar( scope.rotateSpeed ); + + const element = scope.domElement; + + rotateLeft( 2 * Math.PI * rotateDelta.x / element.clientHeight ); // yes, height + + rotateUp( 2 * Math.PI * rotateDelta.y / element.clientHeight ); + + rotateStart.copy( rotateEnd ); + + } + + function handleTouchMovePan( event ) { + + if ( pointers.length === 1 ) { + + panEnd.set( event.pageX, event.pageY ); + + } else { + + const position = getSecondPointerPosition( event ); + + const x = 0.5 * ( event.pageX + position.x ); + const y = 0.5 * ( event.pageY + position.y ); + + panEnd.set( x, y ); + + } + + panDelta.subVectors( panEnd, panStart ).multiplyScalar( scope.panSpeed ); + + pan( panDelta.x, panDelta.y ); + + panStart.copy( panEnd ); + + } + + function handleTouchMoveDolly( event ) { + + const position = getSecondPointerPosition( event ); + + const dx = event.pageX - position.x; + const dy = event.pageY - position.y; + + const distance = Math.sqrt( dx * dx + dy * dy ); + + dollyEnd.set( 0, distance ); + + dollyDelta.set( 0, Math.pow( dollyEnd.y / dollyStart.y, scope.zoomSpeed ) ); + + dollyOut( dollyDelta.y ); + + dollyStart.copy( dollyEnd ); + + const centerX = ( event.pageX + position.x ) * 0.5; + const centerY = ( event.pageY + position.y ) * 0.5; + + updateZoomParameters( centerX, centerY ); + + } + + function handleTouchMoveDollyPan( event ) { + + if ( scope.enableZoom ) handleTouchMoveDolly( event ); + + if ( scope.enablePan ) handleTouchMovePan( event ); + + } + + function handleTouchMoveDollyRotate( event ) { + + if ( scope.enableZoom ) handleTouchMoveDolly( event ); + + if ( scope.enableRotate ) handleTouchMoveRotate( event ); + + } + + // + // event handlers - FSM: listen for events and reset state + // + + function onPointerDown( event ) { + + if ( scope.enabled === false ) return; + + if ( pointers.length === 0 ) { + + scope.domElement.setPointerCapture( event.pointerId ); + + scope.domElement.addEventListener( 'pointermove', onPointerMove ); + scope.domElement.addEventListener( 'pointerup', onPointerUp ); + + } + + // + + addPointer( event ); + + if ( event.pointerType === 'touch' ) { + + onTouchStart( event ); + + } else { + + onMouseDown( event ); + + } + + } + + function onPointerMove( event ) { + + if ( scope.enabled === false ) return; + + if ( event.pointerType === 'touch' ) { + + onTouchMove( event ); + + } else { + + onMouseMove( event ); + + } + + } + + function onPointerUp( event ) { + + removePointer( event ); + + if ( pointers.length === 0 ) { + + scope.domElement.releasePointerCapture( event.pointerId ); + + scope.domElement.removeEventListener( 'pointermove', onPointerMove ); + scope.domElement.removeEventListener( 'pointerup', onPointerUp ); + + } + + scope.dispatchEvent( _endEvent ); + + state = STATE.NONE; + + } + + function onMouseDown( event ) { + + let mouseAction; + + switch ( event.button ) { + + case 0: + + mouseAction = scope.mouseButtons.LEFT; + break; + + case 1: + + mouseAction = scope.mouseButtons.MIDDLE; + break; + + case 2: + + mouseAction = scope.mouseButtons.RIGHT; + break; + + default: + + mouseAction = - 1; + + } + + switch ( mouseAction ) { + + case MOUSE.DOLLY: + + if ( scope.enableZoom === false ) return; + + handleMouseDownDolly( event ); + + state = STATE.DOLLY; + + break; + + case MOUSE.ROTATE: + + if ( event.ctrlKey || event.metaKey || event.shiftKey ) { + + if ( scope.enablePan === false ) return; + + handleMouseDownPan( event ); + + state = STATE.PAN; + + } else { + + if ( scope.enableRotate === false ) return; + + handleMouseDownRotate( event ); + + state = STATE.ROTATE; + + } + + break; + + case MOUSE.PAN: + + if ( event.ctrlKey || event.metaKey || event.shiftKey ) { + + if ( scope.enableRotate === false ) return; + + handleMouseDownRotate( event ); + + state = STATE.ROTATE; + + } else { + + if ( scope.enablePan === false ) return; + + handleMouseDownPan( event ); + + state = STATE.PAN; + + } + + break; + + default: + + state = STATE.NONE; + + } + + if ( state !== STATE.NONE ) { + + scope.dispatchEvent( _startEvent ); + + } + + } + + function onMouseMove( event ) { + + switch ( state ) { + + case STATE.ROTATE: + + if ( scope.enableRotate === false ) return; + + handleMouseMoveRotate( event ); + + break; + + case STATE.DOLLY: + + if ( scope.enableZoom === false ) return; + + handleMouseMoveDolly( event ); + + break; + + case STATE.PAN: + + if ( scope.enablePan === false ) return; + + handleMouseMovePan( event ); + + break; + + } + + } + + function onMouseWheel( event ) { + + if ( scope.enabled === false || scope.enableZoom === false || state !== STATE.NONE ) return; + + event.preventDefault(); + + scope.dispatchEvent( _startEvent ); + + handleMouseWheel( event ); + + scope.dispatchEvent( _endEvent ); + + } + + function onKeyDown( event ) { + + if ( scope.enabled === false || scope.enablePan === false ) return; + + handleKeyDown( event ); + + } + + function onTouchStart( event ) { + + trackPointer( event ); + + switch ( pointers.length ) { + + case 1: + + switch ( scope.touches.ONE ) { + + case TOUCH.ROTATE: + + if ( scope.enableRotate === false ) return; + + handleTouchStartRotate( event ); + + state = STATE.TOUCH_ROTATE; + + break; + + case TOUCH.PAN: + + if ( scope.enablePan === false ) return; + + handleTouchStartPan( event ); + + state = STATE.TOUCH_PAN; + + break; + + default: + + state = STATE.NONE; + + } + + break; + + case 2: + + switch ( scope.touches.TWO ) { + + case TOUCH.DOLLY_PAN: + + if ( scope.enableZoom === false && scope.enablePan === false ) return; + + handleTouchStartDollyPan( event ); + + state = STATE.TOUCH_DOLLY_PAN; + + break; + + case TOUCH.DOLLY_ROTATE: + + if ( scope.enableZoom === false && scope.enableRotate === false ) return; + + handleTouchStartDollyRotate( event ); + + state = STATE.TOUCH_DOLLY_ROTATE; + + break; + + default: + + state = STATE.NONE; + + } + + break; + + default: + + state = STATE.NONE; + + } + + if ( state !== STATE.NONE ) { + + scope.dispatchEvent( _startEvent ); + + } + + } + + function onTouchMove( event ) { + + trackPointer( event ); + + switch ( state ) { + + case STATE.TOUCH_ROTATE: + + if ( scope.enableRotate === false ) return; + + handleTouchMoveRotate( event ); + + scope.update(); + + break; + + case STATE.TOUCH_PAN: + + if ( scope.enablePan === false ) return; + + handleTouchMovePan( event ); + + scope.update(); + + break; + + case STATE.TOUCH_DOLLY_PAN: + + if ( scope.enableZoom === false && scope.enablePan === false ) return; + + handleTouchMoveDollyPan( event ); + + scope.update(); + + break; + + case STATE.TOUCH_DOLLY_ROTATE: + + if ( scope.enableZoom === false && scope.enableRotate === false ) return; + + handleTouchMoveDollyRotate( event ); + + scope.update(); + + break; + + default: + + state = STATE.NONE; + + } + + } + + function onContextMenu( event ) { + + if ( scope.enabled === false ) return; + + event.preventDefault(); + + } + + function addPointer( event ) { + + pointers.push( event.pointerId ); + + } + + function removePointer( event ) { + + delete pointerPositions[ event.pointerId ]; + + for ( let i = 0; i < pointers.length; i ++ ) { + + if ( pointers[ i ] == event.pointerId ) { + + pointers.splice( i, 1 ); + return; + + } + + } + + } + + function trackPointer( event ) { + + let position = pointerPositions[ event.pointerId ]; + + if ( position === undefined ) { + + position = new Vector2(); + pointerPositions[ event.pointerId ] = position; + + } + + position.set( event.pageX, event.pageY ); + + } + + function getSecondPointerPosition( event ) { + + const pointerId = ( event.pointerId === pointers[ 0 ] ) ? pointers[ 1 ] : pointers[ 0 ]; + + return pointerPositions[ pointerId ]; + + } + + // + + scope.domElement.addEventListener( 'contextmenu', onContextMenu ); + + scope.domElement.addEventListener( 'pointerdown', onPointerDown ); + scope.domElement.addEventListener( 'pointercancel', onPointerUp ); + scope.domElement.addEventListener( 'wheel', onMouseWheel, { passive: false } ); + + // force an update at start + + this.update(); + + } + +} + +export { OrbitControls }; diff --git a/viewer/STEPViewer/libs/RoomEnvironment.js b/viewer/STEPViewer/libs/RoomEnvironment.js new file mode 100644 index 0000000..f51f72b --- /dev/null +++ b/viewer/STEPViewer/libs/RoomEnvironment.js @@ -0,0 +1,148 @@ +/** + * https://github.com/google/model-viewer/blob/master/packages/model-viewer/src/three-components/EnvironmentScene.ts + */ + +import { + BackSide, + BoxGeometry, + Mesh, + MeshBasicMaterial, + MeshStandardMaterial, + PointLight, + Scene, +} from 'three'; + +class RoomEnvironment extends Scene { + + constructor( renderer = null ) { + + super(); + + const geometry = new BoxGeometry(); + geometry.deleteAttribute( 'uv' ); + + const roomMaterial = new MeshStandardMaterial( { side: BackSide } ); + const boxMaterial = new MeshStandardMaterial(); + + let intensity = 5; + + if ( renderer !== null && renderer._useLegacyLights === false ) intensity = 900; + + const mainLight = new PointLight( 0xffffff, intensity, 28, 2 ); + mainLight.position.set( 0.418, 16.199, 0.300 ); + this.add( mainLight ); + + const room = new Mesh( geometry, roomMaterial ); + room.position.set( - 0.757, 13.219, 0.717 ); + room.scale.set( 31.713, 28.305, 28.591 ); + this.add( room ); + + const box1 = new Mesh( geometry, boxMaterial ); + box1.position.set( - 10.906, 2.009, 1.846 ); + box1.rotation.set( 0, - 0.195, 0 ); + box1.scale.set( 2.328, 7.905, 4.651 ); + this.add( box1 ); + + const box2 = new Mesh( geometry, boxMaterial ); + box2.position.set( - 5.607, - 0.754, - 0.758 ); + box2.rotation.set( 0, 0.994, 0 ); + box2.scale.set( 1.970, 1.534, 3.955 ); + this.add( box2 ); + + const box3 = new Mesh( geometry, boxMaterial ); + box3.position.set( 6.167, 0.857, 7.803 ); + box3.rotation.set( 0, 0.561, 0 ); + box3.scale.set( 3.927, 6.285, 3.687 ); + this.add( box3 ); + + const box4 = new Mesh( geometry, boxMaterial ); + box4.position.set( - 2.017, 0.018, 6.124 ); + box4.rotation.set( 0, 0.333, 0 ); + box4.scale.set( 2.002, 4.566, 2.064 ); + this.add( box4 ); + + const box5 = new Mesh( geometry, boxMaterial ); + box5.position.set( 2.291, - 0.756, - 2.621 ); + box5.rotation.set( 0, - 0.286, 0 ); + box5.scale.set( 1.546, 1.552, 1.496 ); + this.add( box5 ); + + const box6 = new Mesh( geometry, boxMaterial ); + box6.position.set( - 2.193, - 0.369, - 5.547 ); + box6.rotation.set( 0, 0.516, 0 ); + box6.scale.set( 3.875, 3.487, 2.986 ); + this.add( box6 ); + + + // -x right + const light1 = new Mesh( geometry, createAreaLightMaterial( 50 ) ); + light1.position.set( - 16.116, 14.37, 8.208 ); + light1.scale.set( 0.1, 2.428, 2.739 ); + this.add( light1 ); + + // -x left + const light2 = new Mesh( geometry, createAreaLightMaterial( 50 ) ); + light2.position.set( - 16.109, 18.021, - 8.207 ); + light2.scale.set( 0.1, 2.425, 2.751 ); + this.add( light2 ); + + // +x + const light3 = new Mesh( geometry, createAreaLightMaterial( 17 ) ); + light3.position.set( 14.904, 12.198, - 1.832 ); + light3.scale.set( 0.15, 4.265, 6.331 ); + this.add( light3 ); + + // +z + const light4 = new Mesh( geometry, createAreaLightMaterial( 43 ) ); + light4.position.set( - 0.462, 8.89, 14.520 ); + light4.scale.set( 4.38, 5.441, 0.088 ); + this.add( light4 ); + + // -z + const light5 = new Mesh( geometry, createAreaLightMaterial( 20 ) ); + light5.position.set( 3.235, 11.486, - 12.541 ); + light5.scale.set( 2.5, 2.0, 0.1 ); + this.add( light5 ); + + // +y + const light6 = new Mesh( geometry, createAreaLightMaterial( 100 ) ); + light6.position.set( 0.0, 20.0, 0.0 ); + light6.scale.set( 1.0, 0.1, 1.0 ); + this.add( light6 ); + + } + + dispose() { + + const resources = new Set(); + + this.traverse( ( object ) => { + + if ( object.isMesh ) { + + resources.add( object.geometry ); + resources.add( object.material ); + + } + + } ); + + for ( const resource of resources ) { + + resource.dispose(); + + } + + } + +} + +function createAreaLightMaterial( intensity ) { + + const material = new MeshBasicMaterial(); + material.color.setScalar( intensity ); + return material; + +} + +export { RoomEnvironment }; diff --git a/viewer/STEPViewer/libs/occt-import-js.js b/viewer/STEPViewer/libs/occt-import-js.js new file mode 100644 index 0000000..abec0c5 --- /dev/null +++ b/viewer/STEPViewer/libs/occt-import-js.js @@ -0,0 +1,19 @@ + +var occtimportjs = (() => { + var _scriptName = typeof document != 'undefined' ? document.currentScript?.src : undefined; + if (typeof __filename != 'undefined') _scriptName = _scriptName || __filename; + return ( +function(moduleArg = {}) { + var moduleRtn; + +var Module=moduleArg;var readyPromiseResolve,readyPromiseReject;var readyPromise=new Promise((resolve,reject)=>{readyPromiseResolve=resolve;readyPromiseReject=reject});var ENVIRONMENT_IS_WEB=typeof window=="object";var ENVIRONMENT_IS_WORKER=typeof importScripts=="function";var ENVIRONMENT_IS_NODE=typeof process=="object"&&typeof process.versions=="object"&&typeof process.versions.node=="string"&&process.type!="renderer";if(ENVIRONMENT_IS_NODE){}var moduleOverrides=Object.assign({},Module);var arguments_=[];var thisProgram="./this.program";var quit_=(status,toThrow)=>{throw toThrow};var scriptDirectory="";function locateFile(path){if(Module["locateFile"]){return Module["locateFile"](path,scriptDirectory)}return scriptDirectory+path}var readAsync,readBinary;if(ENVIRONMENT_IS_NODE){var fs=require("fs");var nodePath=require("path");scriptDirectory=__dirname+"/";readBinary=filename=>{filename=isFileURI(filename)?new URL(filename):nodePath.normalize(filename);var ret=fs.readFileSync(filename);return ret};readAsync=(filename,binary=true)=>{filename=isFileURI(filename)?new URL(filename):nodePath.normalize(filename);return new Promise((resolve,reject)=>{fs.readFile(filename,binary?undefined:"utf8",(err,data)=>{if(err)reject(err);else resolve(binary?data.buffer:data)})})};if(!Module["thisProgram"]&&process.argv.length>1){thisProgram=process.argv[1].replace(/\\/g,"/")}arguments_=process.argv.slice(2);quit_=(status,toThrow)=>{process.exitCode=status;throw toThrow}}else if(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER){if(ENVIRONMENT_IS_WORKER){scriptDirectory=self.location.href}else if(typeof document!="undefined"&&document.currentScript){scriptDirectory=document.currentScript.src}if(_scriptName){scriptDirectory=_scriptName}if(scriptDirectory.startsWith("blob:")){scriptDirectory=""}else{scriptDirectory=scriptDirectory.substr(0,scriptDirectory.replace(/[?#].*/,"").lastIndexOf("/")+1)}{if(ENVIRONMENT_IS_WORKER){readBinary=url=>{var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.responseType="arraybuffer";xhr.send(null);return new Uint8Array(xhr.response)}}readAsync=url=>{if(isFileURI(url)){return new Promise((resolve,reject)=>{var xhr=new XMLHttpRequest;xhr.open("GET",url,true);xhr.responseType="arraybuffer";xhr.onload=()=>{if(xhr.status==200||xhr.status==0&&xhr.response){resolve(xhr.response);return}reject(xhr.status)};xhr.onerror=reject;xhr.send(null)})}return fetch(url,{credentials:"same-origin"}).then(response=>{if(response.ok){return response.arrayBuffer()}return Promise.reject(new Error(response.status+" : "+response.url))})}}}else{}var out=Module["print"]||console.log.bind(console);var err=Module["printErr"]||console.error.bind(console);Object.assign(Module,moduleOverrides);moduleOverrides=null;if(Module["arguments"])arguments_=Module["arguments"];if(Module["thisProgram"])thisProgram=Module["thisProgram"];var wasmBinary=Module["wasmBinary"];var wasmMemory;var ABORT=false;var EXITSTATUS;function assert(condition,text){if(!condition){abort(text)}}var HEAP8,HEAPU8,HEAP16,HEAPU16,HEAP32,HEAPU32,HEAPF32,HEAPF64;function updateMemoryViews(){var b=wasmMemory.buffer;Module["HEAP8"]=HEAP8=new Int8Array(b);Module["HEAP16"]=HEAP16=new Int16Array(b);Module["HEAPU8"]=HEAPU8=new Uint8Array(b);Module["HEAPU16"]=HEAPU16=new Uint16Array(b);Module["HEAP32"]=HEAP32=new Int32Array(b);Module["HEAPU32"]=HEAPU32=new Uint32Array(b);Module["HEAPF32"]=HEAPF32=new Float32Array(b);Module["HEAPF64"]=HEAPF64=new Float64Array(b)}var __ATPRERUN__=[];var __ATINIT__=[];var __ATPOSTRUN__=[];var runtimeInitialized=false;function preRun(){var preRuns=Module["preRun"];if(preRuns){if(typeof preRuns=="function")preRuns=[preRuns];preRuns.forEach(addOnPreRun)}callRuntimeCallbacks(__ATPRERUN__)}function initRuntime(){runtimeInitialized=true;if(!Module["noFSInit"]&&!FS.initialized)FS.init();FS.ignorePermissions=false;TTY.init();callRuntimeCallbacks(__ATINIT__)}function postRun(){var postRuns=Module["postRun"];if(postRuns){if(typeof postRuns=="function")postRuns=[postRuns];postRuns.forEach(addOnPostRun)}callRuntimeCallbacks(__ATPOSTRUN__)}function addOnPreRun(cb){__ATPRERUN__.unshift(cb)}function addOnInit(cb){__ATINIT__.unshift(cb)}function addOnPostRun(cb){__ATPOSTRUN__.unshift(cb)}var runDependencies=0;var runDependencyWatcher=null;var dependenciesFulfilled=null;function getUniqueRunDependency(id){return id}function addRunDependency(id){runDependencies++;Module["monitorRunDependencies"]?.(runDependencies)}function removeRunDependency(id){runDependencies--;Module["monitorRunDependencies"]?.(runDependencies);if(runDependencies==0){if(runDependencyWatcher!==null){clearInterval(runDependencyWatcher);runDependencyWatcher=null}if(dependenciesFulfilled){var callback=dependenciesFulfilled;dependenciesFulfilled=null;callback()}}}function abort(what){Module["onAbort"]?.(what);what="Aborted("+what+")";err(what);ABORT=true;what+=". Build with -sASSERTIONS for more info.";if(runtimeInitialized){___trap()}var e=new WebAssembly.RuntimeError(what);readyPromiseReject(e);throw e}var dataURIPrefix="data:application/octet-stream;base64,";var isDataURI=filename=>filename.startsWith(dataURIPrefix);var isFileURI=filename=>filename.startsWith("file://");function findWasmBinary(){var f="occt-import-js.wasm";if(!isDataURI(f)){return locateFile(f)}return f}var wasmBinaryFile;function getBinarySync(file){if(file==wasmBinaryFile&&wasmBinary){return new Uint8Array(wasmBinary)}if(readBinary){return readBinary(file)}throw"both async and sync fetching of the wasm failed"}function getBinaryPromise(binaryFile){if(!wasmBinary){return readAsync(binaryFile).then(response=>new Uint8Array(response),()=>getBinarySync(binaryFile))}return Promise.resolve().then(()=>getBinarySync(binaryFile))}function instantiateArrayBuffer(binaryFile,imports,receiver){return getBinaryPromise(binaryFile).then(binary=>WebAssembly.instantiate(binary,imports)).then(receiver,reason=>{err(`failed to asynchronously prepare wasm: ${reason}`);abort(reason)})}function instantiateAsync(binary,binaryFile,imports,callback){if(!binary&&typeof WebAssembly.instantiateStreaming=="function"&&!isDataURI(binaryFile)&&!isFileURI(binaryFile)&&!ENVIRONMENT_IS_NODE&&typeof fetch=="function"){return fetch(binaryFile,{credentials:"same-origin"}).then(response=>{var result=WebAssembly.instantiateStreaming(response,imports);return result.then(callback,function(reason){err(`wasm streaming compile failed: ${reason}`);err("falling back to ArrayBuffer instantiation");return instantiateArrayBuffer(binaryFile,imports,callback)})})}return instantiateArrayBuffer(binaryFile,imports,callback)}function getWasmImports(){return{a:wasmImports}}function createWasm(){var info=getWasmImports();function receiveInstance(instance,module){wasmExports=instance.exports;wasmMemory=wasmExports["_"];updateMemoryViews();wasmTable=wasmExports["ba"];addOnInit(wasmExports["$"]);removeRunDependency("wasm-instantiate");return wasmExports}addRunDependency("wasm-instantiate");function receiveInstantiationResult(result){receiveInstance(result["instance"])}if(Module["instantiateWasm"]){try{return Module["instantiateWasm"](info,receiveInstance)}catch(e){err(`Module.instantiateWasm callback failed with error: ${e}`);readyPromiseReject(e)}}wasmBinaryFile??=findWasmBinary();instantiateAsync(wasmBinary,wasmBinaryFile,info,receiveInstantiationResult).catch(readyPromiseReject);return{}}var tempDouble;var tempI64;function ExitStatus(status){this.name="ExitStatus";this.message=`Program terminated with exit(${status})`;this.status=status}var callRuntimeCallbacks=callbacks=>{callbacks.forEach(f=>f(Module))};var noExitRuntime=Module["noExitRuntime"]||true;var PATH={isAbs:path=>path.charAt(0)==="/",splitPath:filename=>{var splitPathRe=/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/;return splitPathRe.exec(filename).slice(1)},normalizeArray:(parts,allowAboveRoot)=>{var up=0;for(var i=parts.length-1;i>=0;i--){var last=parts[i];if(last==="."){parts.splice(i,1)}else if(last===".."){parts.splice(i,1);up++}else if(up){parts.splice(i,1);up--}}if(allowAboveRoot){for(;up;up--){parts.unshift("..")}}return parts},normalize:path=>{var isAbsolute=PATH.isAbs(path),trailingSlash=path.substr(-1)==="/";path=PATH.normalizeArray(path.split("/").filter(p=>!!p),!isAbsolute).join("/");if(!path&&!isAbsolute){path="."}if(path&&trailingSlash){path+="/"}return(isAbsolute?"/":"")+path},dirname:path=>{var result=PATH.splitPath(path),root=result[0],dir=result[1];if(!root&&!dir){return"."}if(dir){dir=dir.substr(0,dir.length-1)}return root+dir},basename:path=>{if(path==="/")return"/";path=PATH.normalize(path);path=path.replace(/\/$/,"");var lastSlash=path.lastIndexOf("/");if(lastSlash===-1)return path;return path.substr(lastSlash+1)},join:(...paths)=>PATH.normalize(paths.join("/")),join2:(l,r)=>PATH.normalize(l+"/"+r)};var initRandomFill=()=>{if(typeof crypto=="object"&&typeof crypto["getRandomValues"]=="function"){return view=>crypto.getRandomValues(view)}else if(ENVIRONMENT_IS_NODE){try{var crypto_module=require("crypto");var randomFillSync=crypto_module["randomFillSync"];if(randomFillSync){return view=>crypto_module["randomFillSync"](view)}var randomBytes=crypto_module["randomBytes"];return view=>(view.set(randomBytes(view.byteLength)),view)}catch(e){}}abort("initRandomDevice")};var randomFill=view=>(randomFill=initRandomFill())(view);var PATH_FS={resolve:(...args)=>{var resolvedPath="",resolvedAbsolute=false;for(var i=args.length-1;i>=-1&&!resolvedAbsolute;i--){var path=i>=0?args[i]:FS.cwd();if(typeof path!="string"){throw new TypeError("Arguments to path.resolve must be strings")}else if(!path){return""}resolvedPath=path+"/"+resolvedPath;resolvedAbsolute=PATH.isAbs(path)}resolvedPath=PATH.normalizeArray(resolvedPath.split("/").filter(p=>!!p),!resolvedAbsolute).join("/");return(resolvedAbsolute?"/":"")+resolvedPath||"."},relative:(from,to)=>{from=PATH_FS.resolve(from).substr(1);to=PATH_FS.resolve(to).substr(1);function trim(arr){var start=0;for(;start=0;end--){if(arr[end]!=="")break}if(start>end)return[];return arr.slice(start,end-start+1)}var fromParts=trim(from.split("/"));var toParts=trim(to.split("/"));var length=Math.min(fromParts.length,toParts.length);var samePartsLength=length;for(var i=0;i{var endIdx=idx+maxBytesToRead;var endPtr=idx;while(heapOrArray[endPtr]&&!(endPtr>=endIdx))++endPtr;if(endPtr-idx>16&&heapOrArray.buffer&&UTF8Decoder){return UTF8Decoder.decode(heapOrArray.subarray(idx,endPtr))}var str="";while(idx>10,56320|ch&1023)}}return str};var FS_stdin_getChar_buffer=[];var lengthBytesUTF8=str=>{var len=0;for(var i=0;i=55296&&c<=57343){len+=4;++i}else{len+=3}}return len};var stringToUTF8Array=(str,heap,outIdx,maxBytesToWrite)=>{if(!(maxBytesToWrite>0))return 0;var startIdx=outIdx;var endIdx=outIdx+maxBytesToWrite-1;for(var i=0;i=55296&&u<=57343){var u1=str.charCodeAt(++i);u=65536+((u&1023)<<10)|u1&1023}if(u<=127){if(outIdx>=endIdx)break;heap[outIdx++]=u}else if(u<=2047){if(outIdx+1>=endIdx)break;heap[outIdx++]=192|u>>6;heap[outIdx++]=128|u&63}else if(u<=65535){if(outIdx+2>=endIdx)break;heap[outIdx++]=224|u>>12;heap[outIdx++]=128|u>>6&63;heap[outIdx++]=128|u&63}else{if(outIdx+3>=endIdx)break;heap[outIdx++]=240|u>>18;heap[outIdx++]=128|u>>12&63;heap[outIdx++]=128|u>>6&63;heap[outIdx++]=128|u&63}}heap[outIdx]=0;return outIdx-startIdx};function intArrayFromString(stringy,dontAddNull,length){var len=length>0?length:lengthBytesUTF8(stringy)+1;var u8array=new Array(len);var numBytesWritten=stringToUTF8Array(stringy,u8array,0,u8array.length);if(dontAddNull)u8array.length=numBytesWritten;return u8array}var FS_stdin_getChar=()=>{if(!FS_stdin_getChar_buffer.length){var result=null;if(ENVIRONMENT_IS_NODE){var BUFSIZE=256;var buf=Buffer.alloc(BUFSIZE);var bytesRead=0;var fd=process.stdin.fd;try{bytesRead=fs.readSync(fd,buf,0,BUFSIZE)}catch(e){if(e.toString().includes("EOF"))bytesRead=0;else throw e}if(bytesRead>0){result=buf.slice(0,bytesRead).toString("utf-8")}}else if(typeof window!="undefined"&&typeof window.prompt=="function"){result=window.prompt("Input: ");if(result!==null){result+="\n"}}else{}if(!result){return null}FS_stdin_getChar_buffer=intArrayFromString(result,true)}return FS_stdin_getChar_buffer.shift()};var TTY={ttys:[],init(){},shutdown(){},register(dev,ops){TTY.ttys[dev]={input:[],output:[],ops};FS.registerDevice(dev,TTY.stream_ops)},stream_ops:{open(stream){var tty=TTY.ttys[stream.node.rdev];if(!tty){throw new FS.ErrnoError(43)}stream.tty=tty;stream.seekable=false},close(stream){stream.tty.ops.fsync(stream.tty)},fsync(stream){stream.tty.ops.fsync(stream.tty)},read(stream,buffer,offset,length,pos){if(!stream.tty||!stream.tty.ops.get_char){throw new FS.ErrnoError(60)}var bytesRead=0;for(var i=0;i0){out(UTF8ArrayToString(tty.output));tty.output=[]}},ioctl_tcgets(tty){return{c_iflag:25856,c_oflag:5,c_cflag:191,c_lflag:35387,c_cc:[3,28,127,21,4,0,1,0,17,19,26,0,18,15,23,22,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]}},ioctl_tcsets(tty,optional_actions,data){return 0},ioctl_tiocgwinsz(tty){return[24,80]}},default_tty1_ops:{put_char(tty,val){if(val===null||val===10){err(UTF8ArrayToString(tty.output));tty.output=[]}else{if(val!=0)tty.output.push(val)}},fsync(tty){if(tty.output&&tty.output.length>0){err(UTF8ArrayToString(tty.output));tty.output=[]}}}};var zeroMemory=(address,size)=>{HEAPU8.fill(0,address,address+size)};var alignMemory=(size,alignment)=>Math.ceil(size/alignment)*alignment;var mmapAlloc=size=>{size=alignMemory(size,65536);var ptr=_emscripten_builtin_memalign(65536,size);if(ptr)zeroMemory(ptr,size);return ptr};var MEMFS={ops_table:null,mount(mount){return MEMFS.createNode(null,"/",16384|511,0)},createNode(parent,name,mode,dev){if(FS.isBlkdev(mode)||FS.isFIFO(mode)){throw new FS.ErrnoError(63)}MEMFS.ops_table||={dir:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr,lookup:MEMFS.node_ops.lookup,mknod:MEMFS.node_ops.mknod,rename:MEMFS.node_ops.rename,unlink:MEMFS.node_ops.unlink,rmdir:MEMFS.node_ops.rmdir,readdir:MEMFS.node_ops.readdir,symlink:MEMFS.node_ops.symlink},stream:{llseek:MEMFS.stream_ops.llseek}},file:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr},stream:{llseek:MEMFS.stream_ops.llseek,read:MEMFS.stream_ops.read,write:MEMFS.stream_ops.write,allocate:MEMFS.stream_ops.allocate,mmap:MEMFS.stream_ops.mmap,msync:MEMFS.stream_ops.msync}},link:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr,readlink:MEMFS.node_ops.readlink},stream:{}},chrdev:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr},stream:FS.chrdev_stream_ops}};var node=FS.createNode(parent,name,mode,dev);if(FS.isDir(node.mode)){node.node_ops=MEMFS.ops_table.dir.node;node.stream_ops=MEMFS.ops_table.dir.stream;node.contents={}}else if(FS.isFile(node.mode)){node.node_ops=MEMFS.ops_table.file.node;node.stream_ops=MEMFS.ops_table.file.stream;node.usedBytes=0;node.contents=null}else if(FS.isLink(node.mode)){node.node_ops=MEMFS.ops_table.link.node;node.stream_ops=MEMFS.ops_table.link.stream}else if(FS.isChrdev(node.mode)){node.node_ops=MEMFS.ops_table.chrdev.node;node.stream_ops=MEMFS.ops_table.chrdev.stream}node.timestamp=Date.now();if(parent){parent.contents[name]=node;parent.timestamp=node.timestamp}return node},getFileDataAsTypedArray(node){if(!node.contents)return new Uint8Array(0);if(node.contents.subarray)return node.contents.subarray(0,node.usedBytes);return new Uint8Array(node.contents)},expandFileStorage(node,newCapacity){var prevCapacity=node.contents?node.contents.length:0;if(prevCapacity>=newCapacity)return;var CAPACITY_DOUBLING_MAX=1024*1024;newCapacity=Math.max(newCapacity,prevCapacity*(prevCapacity>>0);if(prevCapacity!=0)newCapacity=Math.max(newCapacity,256);var oldContents=node.contents;node.contents=new Uint8Array(newCapacity);if(node.usedBytes>0)node.contents.set(oldContents.subarray(0,node.usedBytes),0)},resizeFileStorage(node,newSize){if(node.usedBytes==newSize)return;if(newSize==0){node.contents=null;node.usedBytes=0}else{var oldContents=node.contents;node.contents=new Uint8Array(newSize);if(oldContents){node.contents.set(oldContents.subarray(0,Math.min(newSize,node.usedBytes)))}node.usedBytes=newSize}},node_ops:{getattr(node){var attr={};attr.dev=FS.isChrdev(node.mode)?node.id:1;attr.ino=node.id;attr.mode=node.mode;attr.nlink=1;attr.uid=0;attr.gid=0;attr.rdev=node.rdev;if(FS.isDir(node.mode)){attr.size=4096}else if(FS.isFile(node.mode)){attr.size=node.usedBytes}else if(FS.isLink(node.mode)){attr.size=node.link.length}else{attr.size=0}attr.atime=new Date(node.timestamp);attr.mtime=new Date(node.timestamp);attr.ctime=new Date(node.timestamp);attr.blksize=4096;attr.blocks=Math.ceil(attr.size/attr.blksize);return attr},setattr(node,attr){if(attr.mode!==undefined){node.mode=attr.mode}if(attr.timestamp!==undefined){node.timestamp=attr.timestamp}if(attr.size!==undefined){MEMFS.resizeFileStorage(node,attr.size)}},lookup(parent,name){throw FS.genericErrors[44]},mknod(parent,name,mode,dev){return MEMFS.createNode(parent,name,mode,dev)},rename(old_node,new_dir,new_name){if(FS.isDir(old_node.mode)){var new_node;try{new_node=FS.lookupNode(new_dir,new_name)}catch(e){}if(new_node){for(var i in new_node.contents){throw new FS.ErrnoError(55)}}}delete old_node.parent.contents[old_node.name];old_node.parent.timestamp=Date.now();old_node.name=new_name;new_dir.contents[new_name]=old_node;new_dir.timestamp=old_node.parent.timestamp},unlink(parent,name){delete parent.contents[name];parent.timestamp=Date.now()},rmdir(parent,name){var node=FS.lookupNode(parent,name);for(var i in node.contents){throw new FS.ErrnoError(55)}delete parent.contents[name];parent.timestamp=Date.now()},readdir(node){var entries=[".",".."];for(var key of Object.keys(node.contents)){entries.push(key)}return entries},symlink(parent,newname,oldpath){var node=MEMFS.createNode(parent,newname,511|40960,0);node.link=oldpath;return node},readlink(node){if(!FS.isLink(node.mode)){throw new FS.ErrnoError(28)}return node.link}},stream_ops:{read(stream,buffer,offset,length,position){var contents=stream.node.contents;if(position>=stream.node.usedBytes)return 0;var size=Math.min(stream.node.usedBytes-position,length);if(size>8&&contents.subarray){buffer.set(contents.subarray(position,position+size),offset)}else{for(var i=0;i0||position+length{var dep=!noRunDep?getUniqueRunDependency(`al ${url}`):"";readAsync(url).then(arrayBuffer=>{onload(new Uint8Array(arrayBuffer));if(dep)removeRunDependency(dep)},err=>{if(onerror){onerror()}else{throw`Loading data file "${url}" failed.`}});if(dep)addRunDependency(dep)};var FS_createDataFile=(parent,name,fileData,canRead,canWrite,canOwn)=>{FS.createDataFile(parent,name,fileData,canRead,canWrite,canOwn)};var preloadPlugins=Module["preloadPlugins"]||[];var FS_handledByPreloadPlugin=(byteArray,fullname,finish,onerror)=>{if(typeof Browser!="undefined")Browser.init();var handled=false;preloadPlugins.forEach(plugin=>{if(handled)return;if(plugin["canHandle"](fullname)){plugin["handle"](byteArray,fullname,finish,onerror);handled=true}});return handled};var FS_createPreloadedFile=(parent,name,url,canRead,canWrite,onload,onerror,dontCreateFile,canOwn,preFinish)=>{var fullname=name?PATH_FS.resolve(PATH.join2(parent,name)):parent;var dep=getUniqueRunDependency(`cp ${fullname}`);function processData(byteArray){function finish(byteArray){preFinish?.();if(!dontCreateFile){FS_createDataFile(parent,name,byteArray,canRead,canWrite,canOwn)}onload?.();removeRunDependency(dep)}if(FS_handledByPreloadPlugin(byteArray,fullname,finish,()=>{onerror?.();removeRunDependency(dep)})){return}finish(byteArray)}addRunDependency(dep);if(typeof url=="string"){asyncLoad(url,processData,onerror)}else{processData(url)}};var FS_modeStringToFlags=str=>{var flagModes={r:0,"r+":2,w:512|64|1,"w+":512|64|2,a:1024|64|1,"a+":1024|64|2};var flags=flagModes[str];if(typeof flags=="undefined"){throw new Error(`Unknown file open mode: ${str}`)}return flags};var FS_getMode=(canRead,canWrite)=>{var mode=0;if(canRead)mode|=292|73;if(canWrite)mode|=146;return mode};var FS={root:null,mounts:[],devices:{},streams:[],nextInode:1,nameTable:null,currentPath:"/",initialized:false,ignorePermissions:true,ErrnoError:class{constructor(errno){this.name="ErrnoError";this.errno=errno}},genericErrors:{},filesystems:null,syncFSRequests:0,readFiles:{},FSStream:class{constructor(){this.shared={}}get object(){return this.node}set object(val){this.node=val}get isRead(){return(this.flags&2097155)!==1}get isWrite(){return(this.flags&2097155)!==0}get isAppend(){return this.flags&1024}get flags(){return this.shared.flags}set flags(val){this.shared.flags=val}get position(){return this.shared.position}set position(val){this.shared.position=val}},FSNode:class{constructor(parent,name,mode,rdev){if(!parent){parent=this}this.parent=parent;this.mount=parent.mount;this.mounted=null;this.id=FS.nextInode++;this.name=name;this.mode=mode;this.node_ops={};this.stream_ops={};this.rdev=rdev;this.readMode=292|73;this.writeMode=146}get read(){return(this.mode&this.readMode)===this.readMode}set read(val){val?this.mode|=this.readMode:this.mode&=~this.readMode}get write(){return(this.mode&this.writeMode)===this.writeMode}set write(val){val?this.mode|=this.writeMode:this.mode&=~this.writeMode}get isFolder(){return FS.isDir(this.mode)}get isDevice(){return FS.isChrdev(this.mode)}},lookupPath(path,opts={}){path=PATH_FS.resolve(path);if(!path)return{path:"",node:null};var defaults={follow_mount:true,recurse_count:0};opts=Object.assign(defaults,opts);if(opts.recurse_count>8){throw new FS.ErrnoError(32)}var parts=path.split("/").filter(p=>!!p);var current=FS.root;var current_path="/";for(var i=0;i40){throw new FS.ErrnoError(32)}}}}return{path:current_path,node:current}},getPath(node){var path;while(true){if(FS.isRoot(node)){var mount=node.mount.mountpoint;if(!path)return mount;return mount[mount.length-1]!=="/"?`${mount}/${path}`:mount+path}path=path?`${node.name}/${path}`:node.name;node=node.parent}},hashName(parentid,name){var hash=0;for(var i=0;i>>0)%FS.nameTable.length},hashAddNode(node){var hash=FS.hashName(node.parent.id,node.name);node.name_next=FS.nameTable[hash];FS.nameTable[hash]=node},hashRemoveNode(node){var hash=FS.hashName(node.parent.id,node.name);if(FS.nameTable[hash]===node){FS.nameTable[hash]=node.name_next}else{var current=FS.nameTable[hash];while(current){if(current.name_next===node){current.name_next=node.name_next;break}current=current.name_next}}},lookupNode(parent,name){var errCode=FS.mayLookup(parent);if(errCode){throw new FS.ErrnoError(errCode)}var hash=FS.hashName(parent.id,name);for(var node=FS.nameTable[hash];node;node=node.name_next){var nodeName=node.name;if(node.parent.id===parent.id&&nodeName===name){return node}}return FS.lookup(parent,name)},createNode(parent,name,mode,rdev){var node=new FS.FSNode(parent,name,mode,rdev);FS.hashAddNode(node);return node},destroyNode(node){FS.hashRemoveNode(node)},isRoot(node){return node===node.parent},isMountpoint(node){return!!node.mounted},isFile(mode){return(mode&61440)===32768},isDir(mode){return(mode&61440)===16384},isLink(mode){return(mode&61440)===40960},isChrdev(mode){return(mode&61440)===8192},isBlkdev(mode){return(mode&61440)===24576},isFIFO(mode){return(mode&61440)===4096},isSocket(mode){return(mode&49152)===49152},flagsToPermissionString(flag){var perms=["r","w","rw"][flag&3];if(flag&512){perms+="w"}return perms},nodePermissions(node,perms){if(FS.ignorePermissions){return 0}if(perms.includes("r")&&!(node.mode&292)){return 2}else if(perms.includes("w")&&!(node.mode&146)){return 2}else if(perms.includes("x")&&!(node.mode&73)){return 2}return 0},mayLookup(dir){if(!FS.isDir(dir.mode))return 54;var errCode=FS.nodePermissions(dir,"x");if(errCode)return errCode;if(!dir.node_ops.lookup)return 2;return 0},mayCreate(dir,name){try{var node=FS.lookupNode(dir,name);return 20}catch(e){}return FS.nodePermissions(dir,"wx")},mayDelete(dir,name,isdir){var node;try{node=FS.lookupNode(dir,name)}catch(e){return e.errno}var errCode=FS.nodePermissions(dir,"wx");if(errCode){return errCode}if(isdir){if(!FS.isDir(node.mode)){return 54}if(FS.isRoot(node)||FS.getPath(node)===FS.cwd()){return 10}}else{if(FS.isDir(node.mode)){return 31}}return 0},mayOpen(node,flags){if(!node){return 44}if(FS.isLink(node.mode)){return 32}else if(FS.isDir(node.mode)){if(FS.flagsToPermissionString(flags)!=="r"||flags&512){return 31}}return FS.nodePermissions(node,FS.flagsToPermissionString(flags))},MAX_OPEN_FDS:4096,nextfd(){for(var fd=0;fd<=FS.MAX_OPEN_FDS;fd++){if(!FS.streams[fd]){return fd}}throw new FS.ErrnoError(33)},getStreamChecked(fd){var stream=FS.getStream(fd);if(!stream){throw new FS.ErrnoError(8)}return stream},getStream:fd=>FS.streams[fd],createStream(stream,fd=-1){stream=Object.assign(new FS.FSStream,stream);if(fd==-1){fd=FS.nextfd()}stream.fd=fd;FS.streams[fd]=stream;return stream},closeStream(fd){FS.streams[fd]=null},dupStream(origStream,fd=-1){var stream=FS.createStream(origStream,fd);stream.stream_ops?.dup?.(stream);return stream},chrdev_stream_ops:{open(stream){var device=FS.getDevice(stream.node.rdev);stream.stream_ops=device.stream_ops;stream.stream_ops.open?.(stream)},llseek(){throw new FS.ErrnoError(70)}},major:dev=>dev>>8,minor:dev=>dev&255,makedev:(ma,mi)=>ma<<8|mi,registerDevice(dev,ops){FS.devices[dev]={stream_ops:ops}},getDevice:dev=>FS.devices[dev],getMounts(mount){var mounts=[];var check=[mount];while(check.length){var m=check.pop();mounts.push(m);check.push(...m.mounts)}return mounts},syncfs(populate,callback){if(typeof populate=="function"){callback=populate;populate=false}FS.syncFSRequests++;if(FS.syncFSRequests>1){err(`warning: ${FS.syncFSRequests} FS.syncfs operations in flight at once, probably just doing extra work`)}var mounts=FS.getMounts(FS.root.mount);var completed=0;function doCallback(errCode){FS.syncFSRequests--;return callback(errCode)}function done(errCode){if(errCode){if(!done.errored){done.errored=true;return doCallback(errCode)}return}if(++completed>=mounts.length){doCallback(null)}}mounts.forEach(mount=>{if(!mount.type.syncfs){return done(null)}mount.type.syncfs(mount,populate,done)})},mount(type,opts,mountpoint){var root=mountpoint==="/";var pseudo=!mountpoint;var node;if(root&&FS.root){throw new FS.ErrnoError(10)}else if(!root&&!pseudo){var lookup=FS.lookupPath(mountpoint,{follow_mount:false});mountpoint=lookup.path;node=lookup.node;if(FS.isMountpoint(node)){throw new FS.ErrnoError(10)}if(!FS.isDir(node.mode)){throw new FS.ErrnoError(54)}}var mount={type,opts,mountpoint,mounts:[]};var mountRoot=type.mount(mount);mountRoot.mount=mount;mount.root=mountRoot;if(root){FS.root=mountRoot}else if(node){node.mounted=mount;if(node.mount){node.mount.mounts.push(mount)}}return mountRoot},unmount(mountpoint){var lookup=FS.lookupPath(mountpoint,{follow_mount:false});if(!FS.isMountpoint(lookup.node)){throw new FS.ErrnoError(28)}var node=lookup.node;var mount=node.mounted;var mounts=FS.getMounts(mount);Object.keys(FS.nameTable).forEach(hash=>{var current=FS.nameTable[hash];while(current){var next=current.name_next;if(mounts.includes(current.mount)){FS.destroyNode(current)}current=next}});node.mounted=null;var idx=node.mount.mounts.indexOf(mount);node.mount.mounts.splice(idx,1)},lookup(parent,name){return parent.node_ops.lookup(parent,name)},mknod(path,mode,dev){var lookup=FS.lookupPath(path,{parent:true});var parent=lookup.node;var name=PATH.basename(path);if(!name||name==="."||name===".."){throw new FS.ErrnoError(28)}var errCode=FS.mayCreate(parent,name);if(errCode){throw new FS.ErrnoError(errCode)}if(!parent.node_ops.mknod){throw new FS.ErrnoError(63)}return parent.node_ops.mknod(parent,name,mode,dev)},create(path,mode){mode=mode!==undefined?mode:438;mode&=4095;mode|=32768;return FS.mknod(path,mode,0)},mkdir(path,mode){mode=mode!==undefined?mode:511;mode&=511|512;mode|=16384;return FS.mknod(path,mode,0)},mkdirTree(path,mode){var dirs=path.split("/");var d="";for(var i=0;iFS.currentPath,chdir(path){var lookup=FS.lookupPath(path,{follow:true});if(lookup.node===null){throw new FS.ErrnoError(44)}if(!FS.isDir(lookup.node.mode)){throw new FS.ErrnoError(54)}var errCode=FS.nodePermissions(lookup.node,"x");if(errCode){throw new FS.ErrnoError(errCode)}FS.currentPath=lookup.path},createDefaultDirectories(){FS.mkdir("/tmp");FS.mkdir("/home");FS.mkdir("/home/web_user")},createDefaultDevices(){FS.mkdir("/dev");FS.registerDevice(FS.makedev(1,3),{read:()=>0,write:(stream,buffer,offset,length,pos)=>length});FS.mkdev("/dev/null",FS.makedev(1,3));TTY.register(FS.makedev(5,0),TTY.default_tty_ops);TTY.register(FS.makedev(6,0),TTY.default_tty1_ops);FS.mkdev("/dev/tty",FS.makedev(5,0));FS.mkdev("/dev/tty1",FS.makedev(6,0));var randomBuffer=new Uint8Array(1024),randomLeft=0;var randomByte=()=>{if(randomLeft===0){randomLeft=randomFill(randomBuffer).byteLength}return randomBuffer[--randomLeft]};FS.createDevice("/dev","random",randomByte);FS.createDevice("/dev","urandom",randomByte);FS.mkdir("/dev/shm");FS.mkdir("/dev/shm/tmp")},createSpecialDirectories(){FS.mkdir("/proc");var proc_self=FS.mkdir("/proc/self");FS.mkdir("/proc/self/fd");FS.mount({mount(){var node=FS.createNode(proc_self,"fd",16384|511,73);node.node_ops={lookup(parent,name){var fd=+name;var stream=FS.getStreamChecked(fd);var ret={parent:null,mount:{mountpoint:"fake"},node_ops:{readlink:()=>stream.path}};ret.parent=ret;return ret}};return node}},{},"/proc/self/fd")},createStandardStreams(input,output,error){if(input){FS.createDevice("/dev","stdin",input)}else{FS.symlink("/dev/tty","/dev/stdin")}if(output){FS.createDevice("/dev","stdout",null,output)}else{FS.symlink("/dev/tty","/dev/stdout")}if(error){FS.createDevice("/dev","stderr",null,error)}else{FS.symlink("/dev/tty1","/dev/stderr")}var stdin=FS.open("/dev/stdin",0);var stdout=FS.open("/dev/stdout",1);var stderr=FS.open("/dev/stderr",1)},staticInit(){[44].forEach(code=>{FS.genericErrors[code]=new FS.ErrnoError(code);FS.genericErrors[code].stack=""});FS.nameTable=new Array(4096);FS.mount(MEMFS,{},"/");FS.createDefaultDirectories();FS.createDefaultDevices();FS.createSpecialDirectories();FS.filesystems={MEMFS}},init(input,output,error){FS.initialized=true;input??=Module["stdin"];output??=Module["stdout"];error??=Module["stderr"];FS.createStandardStreams(input,output,error)},quit(){FS.initialized=false;for(var i=0;ithis.length-1||idx<0){return undefined}var chunkOffset=idx%this.chunkSize;var chunkNum=idx/this.chunkSize|0;return this.getter(chunkNum)[chunkOffset]}setDataGetter(getter){this.getter=getter}cacheLength(){var xhr=new XMLHttpRequest;xhr.open("HEAD",url,false);xhr.send(null);if(!(xhr.status>=200&&xhr.status<300||xhr.status===304))throw new Error("Couldn't load "+url+". Status: "+xhr.status);var datalength=Number(xhr.getResponseHeader("Content-length"));var header;var hasByteServing=(header=xhr.getResponseHeader("Accept-Ranges"))&&header==="bytes";var usesGzip=(header=xhr.getResponseHeader("Content-Encoding"))&&header==="gzip";var chunkSize=1024*1024;if(!hasByteServing)chunkSize=datalength;var doXHR=(from,to)=>{if(from>to)throw new Error("invalid range ("+from+", "+to+") or no bytes requested!");if(to>datalength-1)throw new Error("only "+datalength+" bytes available! programmer error!");var xhr=new XMLHttpRequest;xhr.open("GET",url,false);if(datalength!==chunkSize)xhr.setRequestHeader("Range","bytes="+from+"-"+to);xhr.responseType="arraybuffer";if(xhr.overrideMimeType){xhr.overrideMimeType("text/plain; charset=x-user-defined")}xhr.send(null);if(!(xhr.status>=200&&xhr.status<300||xhr.status===304))throw new Error("Couldn't load "+url+". Status: "+xhr.status);if(xhr.response!==undefined){return new Uint8Array(xhr.response||[])}return intArrayFromString(xhr.responseText||"",true)};var lazyArray=this;lazyArray.setDataGetter(chunkNum=>{var start=chunkNum*chunkSize;var end=(chunkNum+1)*chunkSize-1;end=Math.min(end,datalength-1);if(typeof lazyArray.chunks[chunkNum]=="undefined"){lazyArray.chunks[chunkNum]=doXHR(start,end)}if(typeof lazyArray.chunks[chunkNum]=="undefined")throw new Error("doXHR failed!");return lazyArray.chunks[chunkNum]});if(usesGzip||!datalength){chunkSize=datalength=1;datalength=this.getter(0).length;chunkSize=datalength;out("LazyFiles on gzip forces download of the whole file when length is accessed")}this._length=datalength;this._chunkSize=chunkSize;this.lengthKnown=true}get length(){if(!this.lengthKnown){this.cacheLength()}return this._length}get chunkSize(){if(!this.lengthKnown){this.cacheLength()}return this._chunkSize}}if(typeof XMLHttpRequest!="undefined"){if(!ENVIRONMENT_IS_WORKER)throw"Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc";var lazyArray=new LazyUint8Array;var properties={isDevice:false,contents:lazyArray}}else{var properties={isDevice:false,url}}var node=FS.createFile(parent,name,properties,canRead,canWrite);if(properties.contents){node.contents=properties.contents}else if(properties.url){node.contents=null;node.url=properties.url}Object.defineProperties(node,{usedBytes:{get:function(){return this.contents.length}}});var stream_ops={};var keys=Object.keys(node.stream_ops);keys.forEach(key=>{var fn=node.stream_ops[key];stream_ops[key]=(...args)=>{FS.forceLoadFile(node);return fn(...args)}});function writeChunks(stream,buffer,offset,length,position){var contents=stream.node.contents;if(position>=contents.length)return 0;var size=Math.min(contents.length-position,length);if(contents.slice){for(var i=0;i{FS.forceLoadFile(node);return writeChunks(stream,buffer,offset,length,position)};stream_ops.mmap=(stream,length,position,prot,flags)=>{FS.forceLoadFile(node);var ptr=mmapAlloc(length);if(!ptr){throw new FS.ErrnoError(48)}writeChunks(stream,HEAP8,ptr,length,position);return{ptr,allocated:true}};node.stream_ops=stream_ops;return node}};var UTF8ToString=(ptr,maxBytesToRead)=>ptr?UTF8ArrayToString(HEAPU8,ptr,maxBytesToRead):"";var SYSCALLS={DEFAULT_POLLMASK:5,calculateAt(dirfd,path,allowEmpty){if(PATH.isAbs(path)){return path}var dir;if(dirfd===-100){dir=FS.cwd()}else{var dirstream=SYSCALLS.getStreamFromFD(dirfd);dir=dirstream.path}if(path.length==0){if(!allowEmpty){throw new FS.ErrnoError(44)}return dir}return PATH.join2(dir,path)},doStat(func,path,buf){var stat=func(path);HEAP32[buf>>2]=stat.dev;HEAP32[buf+4>>2]=stat.mode;HEAPU32[buf+8>>2]=stat.nlink;HEAP32[buf+12>>2]=stat.uid;HEAP32[buf+16>>2]=stat.gid;HEAP32[buf+20>>2]=stat.rdev;tempI64=[stat.size>>>0,(tempDouble=stat.size,+Math.abs(tempDouble)>=1?tempDouble>0?+Math.floor(tempDouble/4294967296)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[buf+24>>2]=tempI64[0],HEAP32[buf+28>>2]=tempI64[1];HEAP32[buf+32>>2]=4096;HEAP32[buf+36>>2]=stat.blocks;var atime=stat.atime.getTime();var mtime=stat.mtime.getTime();var ctime=stat.ctime.getTime();tempI64=[Math.floor(atime/1e3)>>>0,(tempDouble=Math.floor(atime/1e3),+Math.abs(tempDouble)>=1?tempDouble>0?+Math.floor(tempDouble/4294967296)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[buf+40>>2]=tempI64[0],HEAP32[buf+44>>2]=tempI64[1];HEAPU32[buf+48>>2]=atime%1e3*1e3*1e3;tempI64=[Math.floor(mtime/1e3)>>>0,(tempDouble=Math.floor(mtime/1e3),+Math.abs(tempDouble)>=1?tempDouble>0?+Math.floor(tempDouble/4294967296)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[buf+56>>2]=tempI64[0],HEAP32[buf+60>>2]=tempI64[1];HEAPU32[buf+64>>2]=mtime%1e3*1e3*1e3;tempI64=[Math.floor(ctime/1e3)>>>0,(tempDouble=Math.floor(ctime/1e3),+Math.abs(tempDouble)>=1?tempDouble>0?+Math.floor(tempDouble/4294967296)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[buf+72>>2]=tempI64[0],HEAP32[buf+76>>2]=tempI64[1];HEAPU32[buf+80>>2]=ctime%1e3*1e3*1e3;tempI64=[stat.ino>>>0,(tempDouble=stat.ino,+Math.abs(tempDouble)>=1?tempDouble>0?+Math.floor(tempDouble/4294967296)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[buf+88>>2]=tempI64[0],HEAP32[buf+92>>2]=tempI64[1];return 0},doMsync(addr,stream,len,flags,offset){if(!FS.isFile(stream.node.mode)){throw new FS.ErrnoError(43)}if(flags&2){return 0}var buffer=HEAPU8.slice(addr,addr+len);FS.msync(stream,buffer,offset,len,flags)},getStreamFromFD(fd){var stream=FS.getStreamChecked(fd);return stream},varargs:undefined,getStr(ptr){var ret=UTF8ToString(ptr);return ret}};function ___syscall_chmod(path,mode){try{path=SYSCALLS.getStr(path);FS.chmod(path,mode);return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}function ___syscall_faccessat(dirfd,path,amode,flags){try{path=SYSCALLS.getStr(path);path=SYSCALLS.calculateAt(dirfd,path);if(amode&~7){return-28}var lookup=FS.lookupPath(path,{follow:true});var node=lookup.node;if(!node){return-44}var perms="";if(amode&4)perms+="r";if(amode&2)perms+="w";if(amode&1)perms+="x";if(perms&&FS.nodePermissions(node,perms)){return-2}return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}function syscallGetVarargI(){var ret=HEAP32[+SYSCALLS.varargs>>2];SYSCALLS.varargs+=4;return ret}var syscallGetVarargP=syscallGetVarargI;function ___syscall_fcntl64(fd,cmd,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(fd);switch(cmd){case 0:{var arg=syscallGetVarargI();if(arg<0){return-28}while(FS.streams[arg]){arg++}var newStream;newStream=FS.dupStream(stream,arg);return newStream.fd}case 1:case 2:return 0;case 3:return stream.flags;case 4:{var arg=syscallGetVarargI();stream.flags|=arg;return 0}case 12:{var arg=syscallGetVarargP();var offset=0;HEAP16[arg+offset>>1]=2;return 0}case 13:case 14:return 0}return-28}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}function ___syscall_fstat64(fd,buf){try{var stream=SYSCALLS.getStreamFromFD(fd);return SYSCALLS.doStat(FS.stat,stream.path,buf)}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}function ___syscall_ioctl(fd,op,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(fd);switch(op){case 21509:{if(!stream.tty)return-59;return 0}case 21505:{if(!stream.tty)return-59;if(stream.tty.ops.ioctl_tcgets){var termios=stream.tty.ops.ioctl_tcgets(stream);var argp=syscallGetVarargP();HEAP32[argp>>2]=termios.c_iflag||0;HEAP32[argp+4>>2]=termios.c_oflag||0;HEAP32[argp+8>>2]=termios.c_cflag||0;HEAP32[argp+12>>2]=termios.c_lflag||0;for(var i=0;i<32;i++){HEAP8[argp+i+17]=termios.c_cc[i]||0}return 0}return 0}case 21510:case 21511:case 21512:{if(!stream.tty)return-59;return 0}case 21506:case 21507:case 21508:{if(!stream.tty)return-59;if(stream.tty.ops.ioctl_tcsets){var argp=syscallGetVarargP();var c_iflag=HEAP32[argp>>2];var c_oflag=HEAP32[argp+4>>2];var c_cflag=HEAP32[argp+8>>2];var c_lflag=HEAP32[argp+12>>2];var c_cc=[];for(var i=0;i<32;i++){c_cc.push(HEAP8[argp+i+17])}return stream.tty.ops.ioctl_tcsets(stream.tty,op,{c_iflag,c_oflag,c_cflag,c_lflag,c_cc})}return 0}case 21519:{if(!stream.tty)return-59;var argp=syscallGetVarargP();HEAP32[argp>>2]=0;return 0}case 21520:{if(!stream.tty)return-59;return-28}case 21531:{var argp=syscallGetVarargP();return FS.ioctl(stream,op,argp)}case 21523:{if(!stream.tty)return-59;if(stream.tty.ops.ioctl_tiocgwinsz){var winsize=stream.tty.ops.ioctl_tiocgwinsz(stream.tty);var argp=syscallGetVarargP();HEAP16[argp>>1]=winsize[0];HEAP16[argp+2>>1]=winsize[1]}return 0}case 21524:{if(!stream.tty)return-59;return 0}case 21515:{if(!stream.tty)return-59;return 0}default:return-28}}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}function ___syscall_lstat64(path,buf){try{path=SYSCALLS.getStr(path);return SYSCALLS.doStat(FS.lstat,path,buf)}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}function ___syscall_newfstatat(dirfd,path,buf,flags){try{path=SYSCALLS.getStr(path);var nofollow=flags&256;var allowEmpty=flags&4096;flags=flags&~6400;path=SYSCALLS.calculateAt(dirfd,path,allowEmpty);return SYSCALLS.doStat(nofollow?FS.lstat:FS.stat,path,buf)}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}function ___syscall_openat(dirfd,path,flags,varargs){SYSCALLS.varargs=varargs;try{path=SYSCALLS.getStr(path);path=SYSCALLS.calculateAt(dirfd,path);var mode=varargs?syscallGetVarargI():0;return FS.open(path,flags,mode).fd}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}function ___syscall_rmdir(path){try{path=SYSCALLS.getStr(path);FS.rmdir(path);return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}function ___syscall_stat64(path,buf){try{path=SYSCALLS.getStr(path);return SYSCALLS.doStat(FS.stat,path,buf)}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}function ___syscall_unlinkat(dirfd,path,flags){try{path=SYSCALLS.getStr(path);path=SYSCALLS.calculateAt(dirfd,path);if(flags===0){FS.unlink(path)}else if(flags===512){FS.rmdir(path)}else{abort("Invalid flags passed to unlinkat")}return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}var __abort_js=()=>{abort("")};var __embind_register_bigint=(primitiveType,name,size,minRange,maxRange)=>{};var embind_init_charCodes=()=>{var codes=new Array(256);for(var i=0;i<256;++i){codes[i]=String.fromCharCode(i)}embind_charCodes=codes};var embind_charCodes;var readLatin1String=ptr=>{var ret="";var c=ptr;while(HEAPU8[c]){ret+=embind_charCodes[HEAPU8[c++]]}return ret};var awaitingDependencies={};var registeredTypes={};var typeDependencies={};var BindingError;var throwBindingError=message=>{throw new BindingError(message)};var InternalError;var throwInternalError=message=>{throw new InternalError(message)};var whenDependentTypesAreResolved=(myTypes,dependentTypes,getTypeConverters)=>{myTypes.forEach(type=>typeDependencies[type]=dependentTypes);function onComplete(typeConverters){var myTypeConverters=getTypeConverters(typeConverters);if(myTypeConverters.length!==myTypes.length){throwInternalError("Mismatched type converter count")}for(var i=0;i{if(registeredTypes.hasOwnProperty(dt)){typeConverters[i]=registeredTypes[dt]}else{unregisteredTypes.push(dt);if(!awaitingDependencies.hasOwnProperty(dt)){awaitingDependencies[dt]=[]}awaitingDependencies[dt].push(()=>{typeConverters[i]=registeredTypes[dt];++registered;if(registered===unregisteredTypes.length){onComplete(typeConverters)}})}});if(0===unregisteredTypes.length){onComplete(typeConverters)}};function sharedRegisterType(rawType,registeredInstance,options={}){var name=registeredInstance.name;if(!rawType){throwBindingError(`type "${name}" must have a positive integer typeid pointer`)}if(registeredTypes.hasOwnProperty(rawType)){if(options.ignoreDuplicateRegistrations){return}else{throwBindingError(`Cannot register type '${name}' twice`)}}registeredTypes[rawType]=registeredInstance;delete typeDependencies[rawType];if(awaitingDependencies.hasOwnProperty(rawType)){var callbacks=awaitingDependencies[rawType];delete awaitingDependencies[rawType];callbacks.forEach(cb=>cb())}}function registerType(rawType,registeredInstance,options={}){return sharedRegisterType(rawType,registeredInstance,options)}var GenericWireTypeSize=8;var __embind_register_bool=(rawType,name,trueValue,falseValue)=>{name=readLatin1String(name);registerType(rawType,{name,fromWireType:function(wt){return!!wt},toWireType:function(destructors,o){return o?trueValue:falseValue},argPackAdvance:GenericWireTypeSize,readValueFromPointer:function(pointer){return this["fromWireType"](HEAPU8[pointer])},destructorFunction:null})};var emval_freelist=[];var emval_handles=[];var __emval_decref=handle=>{if(handle>9&&0===--emval_handles[handle+1]){emval_handles[handle]=undefined;emval_freelist.push(handle)}};var count_emval_handles=()=>emval_handles.length/2-5-emval_freelist.length;var init_emval=()=>{emval_handles.push(0,1,undefined,1,null,1,true,1,false,1);Module["count_emval_handles"]=count_emval_handles};var Emval={toValue:handle=>{if(!handle){throwBindingError("Cannot use deleted val. handle = "+handle)}return emval_handles[handle]},toHandle:value=>{switch(value){case undefined:return 2;case null:return 4;case true:return 6;case false:return 8;default:{const handle=emval_freelist.pop()||emval_handles.length;emval_handles[handle]=value;emval_handles[handle+1]=1;return handle}}}};function readPointer(pointer){return this["fromWireType"](HEAPU32[pointer>>2])}var EmValType={name:"emscripten::val",fromWireType:handle=>{var rv=Emval.toValue(handle);__emval_decref(handle);return rv},toWireType:(destructors,value)=>Emval.toHandle(value),argPackAdvance:GenericWireTypeSize,readValueFromPointer:readPointer,destructorFunction:null};var __embind_register_emval=rawType=>registerType(rawType,EmValType);var floatReadValueFromPointer=(name,width)=>{switch(width){case 4:return function(pointer){return this["fromWireType"](HEAPF32[pointer>>2])};case 8:return function(pointer){return this["fromWireType"](HEAPF64[pointer>>3])};default:throw new TypeError(`invalid float width (${width}): ${name}`)}};var __embind_register_float=(rawType,name,size)=>{name=readLatin1String(name);registerType(rawType,{name,fromWireType:value=>value,toWireType:(destructors,value)=>value,argPackAdvance:GenericWireTypeSize,readValueFromPointer:floatReadValueFromPointer(name,size),destructorFunction:null})};var createNamedFunction=(name,body)=>Object.defineProperty(body,"name",{value:name});var runDestructors=destructors=>{while(destructors.length){var ptr=destructors.pop();var del=destructors.pop();del(ptr)}};function usesDestructorStack(argTypes){for(var i=1;i{if(undefined===proto[methodName].overloadTable){var prevFunc=proto[methodName];proto[methodName]=function(...args){if(!proto[methodName].overloadTable.hasOwnProperty(args.length)){throwBindingError(`Function '${humanName}' called with an invalid number of arguments (${args.length}) - expects one of (${proto[methodName].overloadTable})!`)}return proto[methodName].overloadTable[args.length].apply(this,args)};proto[methodName].overloadTable=[];proto[methodName].overloadTable[prevFunc.argCount]=prevFunc}};var exposePublicSymbol=(name,value,numArguments)=>{if(Module.hasOwnProperty(name)){if(undefined===numArguments||undefined!==Module[name].overloadTable&&undefined!==Module[name].overloadTable[numArguments]){throwBindingError(`Cannot register public name '${name}' twice`)}ensureOverloadTable(Module,name,name);if(Module.hasOwnProperty(numArguments)){throwBindingError(`Cannot register multiple overloads of a function with the same number of arguments (${numArguments})!`)}Module[name].overloadTable[numArguments]=value}else{Module[name]=value;if(undefined!==numArguments){Module[name].numArguments=numArguments}}};var heap32VectorToArray=(count,firstElement)=>{var array=[];for(var i=0;i>2])}return array};var replacePublicSymbol=(name,value,numArguments)=>{if(!Module.hasOwnProperty(name)){throwInternalError("Replacing nonexistent public symbol")}if(undefined!==Module[name].overloadTable&&undefined!==numArguments){Module[name].overloadTable[numArguments]=value}else{Module[name]=value;Module[name].argCount=numArguments}};var dynCallLegacy=(sig,ptr,args)=>{sig=sig.replace(/p/g,"i");var f=Module["dynCall_"+sig];return f(ptr,...args)};var wasmTableMirror=[];var wasmTable;var getWasmTableEntry=funcPtr=>{var func=wasmTableMirror[funcPtr];if(!func){if(funcPtr>=wasmTableMirror.length)wasmTableMirror.length=funcPtr+1;wasmTableMirror[funcPtr]=func=wasmTable.get(funcPtr)}return func};var dynCall=(sig,ptr,args=[])=>{if(sig.includes("j")){return dynCallLegacy(sig,ptr,args)}var rtn=getWasmTableEntry(ptr)(...args);return rtn};var getDynCaller=(sig,ptr)=>(...args)=>dynCall(sig,ptr,args);var embind__requireFunction=(signature,rawFunction)=>{signature=readLatin1String(signature);function makeDynCaller(){if(signature.includes("j")){return getDynCaller(signature,rawFunction)}return getWasmTableEntry(rawFunction)}var fp=makeDynCaller();if(typeof fp!="function"){throwBindingError(`unknown function pointer with signature ${signature}: ${rawFunction}`)}return fp};var extendError=(baseErrorType,errorName)=>{var errorClass=createNamedFunction(errorName,function(message){this.name=errorName;this.message=message;var stack=new Error(message).stack;if(stack!==undefined){this.stack=this.toString()+"\n"+stack.replace(/^Error(:[^\n]*)?\n/,"")}});errorClass.prototype=Object.create(baseErrorType.prototype);errorClass.prototype.constructor=errorClass;errorClass.prototype.toString=function(){if(this.message===undefined){return this.name}else{return`${this.name}: ${this.message}`}};return errorClass};var UnboundTypeError;var getTypeName=type=>{var ptr=___getTypeName(type);var rv=readLatin1String(ptr);_free(ptr);return rv};var throwUnboundTypeError=(message,types)=>{var unboundTypes=[];var seen={};function visit(type){if(seen[type]){return}if(registeredTypes[type]){return}if(typeDependencies[type]){typeDependencies[type].forEach(visit);return}unboundTypes.push(type);seen[type]=true}types.forEach(visit);throw new UnboundTypeError(`${message}: `+unboundTypes.map(getTypeName).join([", "]))};var getFunctionName=signature=>{signature=signature.trim();const argsIndex=signature.indexOf("(");if(argsIndex!==-1){return signature.substr(0,argsIndex)}else{return signature}};var __embind_register_function=(name,argCount,rawArgTypesAddr,signature,rawInvoker,fn,isAsync,isNonnullReturn)=>{var argTypes=heap32VectorToArray(argCount,rawArgTypesAddr);name=readLatin1String(name);name=getFunctionName(name);rawInvoker=embind__requireFunction(signature,rawInvoker);exposePublicSymbol(name,function(){throwUnboundTypeError(`Cannot call ${name} due to unbound types`,argTypes)},argCount-1);whenDependentTypesAreResolved([],argTypes,argTypes=>{var invokerArgsArray=[argTypes[0],null].concat(argTypes.slice(1));replacePublicSymbol(name,craftInvokerFunction(name,invokerArgsArray,null,rawInvoker,fn,isAsync),argCount-1);return[]})};var integerReadValueFromPointer=(name,width,signed)=>{switch(width){case 1:return signed?pointer=>HEAP8[pointer]:pointer=>HEAPU8[pointer];case 2:return signed?pointer=>HEAP16[pointer>>1]:pointer=>HEAPU16[pointer>>1];case 4:return signed?pointer=>HEAP32[pointer>>2]:pointer=>HEAPU32[pointer>>2];default:throw new TypeError(`invalid integer width (${width}): ${name}`)}};var __embind_register_integer=(primitiveType,name,size,minRange,maxRange)=>{name=readLatin1String(name);if(maxRange===-1){maxRange=4294967295}var fromWireType=value=>value;if(minRange===0){var bitshift=32-8*size;fromWireType=value=>value<>>bitshift}var isUnsignedType=name.includes("unsigned");var checkAssertions=(value,toTypeName)=>{};var toWireType;if(isUnsignedType){toWireType=function(destructors,value){checkAssertions(value,this.name);return value>>>0}}else{toWireType=function(destructors,value){checkAssertions(value,this.name);return value}}registerType(primitiveType,{name,fromWireType,toWireType,argPackAdvance:GenericWireTypeSize,readValueFromPointer:integerReadValueFromPointer(name,size,minRange!==0),destructorFunction:null})};var __embind_register_memory_view=(rawType,dataTypeIndex,name)=>{var typeMapping=[Int8Array,Uint8Array,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array];var TA=typeMapping[dataTypeIndex];function decodeMemoryView(handle){var size=HEAPU32[handle>>2];var data=HEAPU32[handle+4>>2];return new TA(HEAP8.buffer,data,size)}name=readLatin1String(name);registerType(rawType,{name,fromWireType:decodeMemoryView,argPackAdvance:GenericWireTypeSize,readValueFromPointer:decodeMemoryView},{ignoreDuplicateRegistrations:true})};var stringToUTF8=(str,outPtr,maxBytesToWrite)=>stringToUTF8Array(str,HEAPU8,outPtr,maxBytesToWrite);var __embind_register_std_string=(rawType,name)=>{name=readLatin1String(name);var stdStringIsUTF8=name==="std::string";registerType(rawType,{name,fromWireType(value){var length=HEAPU32[value>>2];var payload=value+4;var str;if(stdStringIsUTF8){var decodeStartPtr=payload;for(var i=0;i<=length;++i){var currentBytePtr=payload+i;if(i==length||HEAPU8[currentBytePtr]==0){var maxRead=currentBytePtr-decodeStartPtr;var stringSegment=UTF8ToString(decodeStartPtr,maxRead);if(str===undefined){str=stringSegment}else{str+=String.fromCharCode(0);str+=stringSegment}decodeStartPtr=currentBytePtr+1}}}else{var a=new Array(length);for(var i=0;i>2]=length;if(stdStringIsUTF8&&valueIsOfTypeString){stringToUTF8(value,ptr,length+1)}else{if(valueIsOfTypeString){for(var i=0;i255){_free(ptr);throwBindingError("String has UTF-16 code units that do not fit in 8 bits")}HEAPU8[ptr+i]=charCode}}else{for(var i=0;i{var endPtr=ptr;var idx=endPtr>>1;var maxIdx=idx+maxBytesToRead/2;while(!(idx>=maxIdx)&&HEAPU16[idx])++idx;endPtr=idx<<1;if(endPtr-ptr>32&&UTF16Decoder)return UTF16Decoder.decode(HEAPU8.subarray(ptr,endPtr));var str="";for(var i=0;!(i>=maxBytesToRead/2);++i){var codeUnit=HEAP16[ptr+i*2>>1];if(codeUnit==0)break;str+=String.fromCharCode(codeUnit)}return str};var stringToUTF16=(str,outPtr,maxBytesToWrite)=>{maxBytesToWrite??=2147483647;if(maxBytesToWrite<2)return 0;maxBytesToWrite-=2;var startPtr=outPtr;var numCharsToWrite=maxBytesToWrite>1]=codeUnit;outPtr+=2}HEAP16[outPtr>>1]=0;return outPtr-startPtr};var lengthBytesUTF16=str=>str.length*2;var UTF32ToString=(ptr,maxBytesToRead)=>{var i=0;var str="";while(!(i>=maxBytesToRead/4)){var utf32=HEAP32[ptr+i*4>>2];if(utf32==0)break;++i;if(utf32>=65536){var ch=utf32-65536;str+=String.fromCharCode(55296|ch>>10,56320|ch&1023)}else{str+=String.fromCharCode(utf32)}}return str};var stringToUTF32=(str,outPtr,maxBytesToWrite)=>{maxBytesToWrite??=2147483647;if(maxBytesToWrite<4)return 0;var startPtr=outPtr;var endPtr=startPtr+maxBytesToWrite-4;for(var i=0;i=55296&&codeUnit<=57343){var trailSurrogate=str.charCodeAt(++i);codeUnit=65536+((codeUnit&1023)<<10)|trailSurrogate&1023}HEAP32[outPtr>>2]=codeUnit;outPtr+=4;if(outPtr+4>endPtr)break}HEAP32[outPtr>>2]=0;return outPtr-startPtr};var lengthBytesUTF32=str=>{var len=0;for(var i=0;i=55296&&codeUnit<=57343)++i;len+=4}return len};var __embind_register_std_wstring=(rawType,charSize,name)=>{name=readLatin1String(name);var decodeString,encodeString,readCharAt,lengthBytesUTF;if(charSize===2){decodeString=UTF16ToString;encodeString=stringToUTF16;lengthBytesUTF=lengthBytesUTF16;readCharAt=pointer=>HEAPU16[pointer>>1]}else if(charSize===4){decodeString=UTF32ToString;encodeString=stringToUTF32;lengthBytesUTF=lengthBytesUTF32;readCharAt=pointer=>HEAPU32[pointer>>2]}registerType(rawType,{name,fromWireType:value=>{var length=HEAPU32[value>>2];var str;var decodeStartPtr=value+4;for(var i=0;i<=length;++i){var currentBytePtr=value+4+i*charSize;if(i==length||readCharAt(currentBytePtr)==0){var maxReadBytes=currentBytePtr-decodeStartPtr;var stringSegment=decodeString(decodeStartPtr,maxReadBytes);if(str===undefined){str=stringSegment}else{str+=String.fromCharCode(0);str+=stringSegment}decodeStartPtr=currentBytePtr+charSize}}_free(value);return str},toWireType:(destructors,value)=>{if(!(typeof value=="string")){throwBindingError(`Cannot pass non-string to C++ string type ${name}`)}var length=lengthBytesUTF(value);var ptr=_malloc(4+length+charSize);HEAPU32[ptr>>2]=length/charSize;encodeString(value,ptr+4,length+charSize);if(destructors!==null){destructors.push(_free,ptr)}return ptr},argPackAdvance:GenericWireTypeSize,readValueFromPointer:readPointer,destructorFunction(ptr){_free(ptr)}})};var __embind_register_void=(rawType,name)=>{name=readLatin1String(name);registerType(rawType,{isVoid:true,name,argPackAdvance:0,fromWireType:()=>undefined,toWireType:(destructors,o)=>undefined})};var nowIsMonotonic=1;var __emscripten_get_now_is_monotonic=()=>nowIsMonotonic;var inetPton4=str=>{var b=str.split(".");for(var i=0;i<4;i++){var tmp=Number(b[i]);if(isNaN(tmp))return null;b[i]=tmp}return(b[0]|b[1]<<8|b[2]<<16|b[3]<<24)>>>0};var jstoi_q=str=>parseInt(str);var inetPton6=str=>{var words;var w,offset,z;var valid6regx=/^((?=.*::)(?!.*::.+::)(::)?([\dA-F]{1,4}:(:|\b)|){5}|([\dA-F]{1,4}:){6})((([\dA-F]{1,4}((?!\3)::|:\b|$))|(?!\2\3)){2}|(((2[0-4]|1\d|[1-9])?\d|25[0-5])\.?\b){4})$/i;var parts=[];if(!valid6regx.test(str)){return null}if(str==="::"){return[0,0,0,0,0,0,0,0]}if(str.startsWith("::")){str=str.replace("::","Z:")}else{str=str.replace("::",":Z:")}if(str.indexOf(".")>0){str=str.replace(new RegExp("[.]","g"),":");words=str.split(":");words[words.length-4]=jstoi_q(words[words.length-4])+jstoi_q(words[words.length-3])*256;words[words.length-3]=jstoi_q(words[words.length-2])+jstoi_q(words[words.length-1])*256;words=words.slice(0,words.length-2)}else{words=str.split(":")}offset=0;z=0;for(w=0;w{var nameString=UTF8ToString(name);return inetPton4(DNS.lookup_name(nameString))};var __emscripten_memcpy_js=(dest,src,num)=>HEAPU8.copyWithin(dest,src,src+num);var requireRegisteredType=(rawType,humanName)=>{var impl=registeredTypes[rawType];if(undefined===impl){throwBindingError(`${humanName} has unknown type ${getTypeName(rawType)}`)}return impl};var emval_returnValue=(returnType,destructorsRef,handle)=>{var destructors=[];var result=returnType["toWireType"](destructors,handle);if(destructors.length){HEAPU32[destructorsRef>>2]=Emval.toHandle(destructors)}return result};var __emval_as=(handle,returnType,destructorsRef)=>{handle=Emval.toValue(handle);returnType=requireRegisteredType(returnType,"emval::as");return emval_returnValue(returnType,destructorsRef,handle)};var emval_symbols={};var getStringOrSymbol=address=>{var symbol=emval_symbols[address];if(symbol===undefined){return readLatin1String(address)}return symbol};var emval_methodCallers=[];var __emval_call_method=(caller,objHandle,methodName,destructorsRef,args)=>{caller=emval_methodCallers[caller];objHandle=Emval.toValue(objHandle);methodName=getStringOrSymbol(methodName);return caller(objHandle,objHandle[methodName],destructorsRef,args)};var emval_get_global=()=>{if(typeof globalThis=="object"){return globalThis}return function(){return Function}()("return this")()};var __emval_get_global=name=>{if(name===0){return Emval.toHandle(emval_get_global())}else{name=getStringOrSymbol(name);return Emval.toHandle(emval_get_global()[name])}};var emval_addMethodCaller=caller=>{var id=emval_methodCallers.length;emval_methodCallers.push(caller);return id};var emval_lookupTypes=(argCount,argTypes)=>{var a=new Array(argCount);for(var i=0;i>2],"parameter "+i)}return a};var reflectConstruct=Reflect.construct;var __emval_get_method_caller=(argCount,argTypes,kind)=>{var types=emval_lookupTypes(argCount,argTypes);var retType=types.shift();argCount--;var functionBody=`return function (obj, func, destructorsRef, args) {\n`;var offset=0;var argsList=[];if(kind===0){argsList.push("obj")}var params=["retType"];var args=[retType];for(var i=0;it.name).join(", ")}) => ${retType.name}>`;return emval_addMethodCaller(createNamedFunction(functionName,invokerFunction))};var __emval_get_property=(handle,key)=>{handle=Emval.toValue(handle);key=Emval.toValue(key);return Emval.toHandle(handle[key])};var __emval_incref=handle=>{if(handle>9){emval_handles[handle+1]+=1}};var __emval_new_array=()=>Emval.toHandle([]);var __emval_new_cstring=v=>Emval.toHandle(getStringOrSymbol(v));var __emval_new_object=()=>Emval.toHandle({});var __emval_run_destructors=handle=>{var destructors=Emval.toValue(handle);runDestructors(destructors);__emval_decref(handle)};var __emval_set_property=(handle,key,value)=>{handle=Emval.toValue(handle);key=Emval.toValue(key);value=Emval.toValue(value);handle[key]=value};var __emval_take_value=(type,arg)=>{type=requireRegisteredType(type,"_emval_take_value");var v=type["readValueFromPointer"](arg);return Emval.toHandle(v)};var isLeapYear=year=>year%4===0&&(year%100!==0||year%400===0);var MONTH_DAYS_LEAP_CUMULATIVE=[0,31,60,91,121,152,182,213,244,274,305,335];var MONTH_DAYS_REGULAR_CUMULATIVE=[0,31,59,90,120,151,181,212,243,273,304,334];var ydayFromDate=date=>{var leap=isLeapYear(date.getFullYear());var monthDaysCumulative=leap?MONTH_DAYS_LEAP_CUMULATIVE:MONTH_DAYS_REGULAR_CUMULATIVE;var yday=monthDaysCumulative[date.getMonth()]+date.getDate()-1;return yday};var convertI32PairToI53Checked=(lo,hi)=>hi+2097152>>>0<4194305-!!lo?(lo>>>0)+hi*4294967296:NaN;function __localtime_js(time_low,time_high,tmPtr){var time=convertI32PairToI53Checked(time_low,time_high);var date=new Date(time*1e3);HEAP32[tmPtr>>2]=date.getSeconds();HEAP32[tmPtr+4>>2]=date.getMinutes();HEAP32[tmPtr+8>>2]=date.getHours();HEAP32[tmPtr+12>>2]=date.getDate();HEAP32[tmPtr+16>>2]=date.getMonth();HEAP32[tmPtr+20>>2]=date.getFullYear()-1900;HEAP32[tmPtr+24>>2]=date.getDay();var yday=ydayFromDate(date)|0;HEAP32[tmPtr+28>>2]=yday;HEAP32[tmPtr+36>>2]=-(date.getTimezoneOffset()*60);var start=new Date(date.getFullYear(),0,1);var summerOffset=new Date(date.getFullYear(),6,1).getTimezoneOffset();var winterOffset=start.getTimezoneOffset();var dst=(summerOffset!=winterOffset&&date.getTimezoneOffset()==Math.min(winterOffset,summerOffset))|0;HEAP32[tmPtr+32>>2]=dst}function __munmap_js(addr,len,prot,flags,fd,offset_low,offset_high){var offset=convertI32PairToI53Checked(offset_low,offset_high);try{var stream=SYSCALLS.getStreamFromFD(fd);if(prot&2){SYSCALLS.doMsync(addr,stream,len,flags,offset)}}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}var __tzset_js=(timezone,daylight,std_name,dst_name)=>{var currentYear=(new Date).getFullYear();var winter=new Date(currentYear,0,1);var summer=new Date(currentYear,6,1);var winterOffset=winter.getTimezoneOffset();var summerOffset=summer.getTimezoneOffset();var stdTimezoneOffset=Math.max(winterOffset,summerOffset);HEAPU32[timezone>>2]=stdTimezoneOffset*60;HEAP32[daylight>>2]=Number(winterOffset!=summerOffset);var extractZone=timezoneOffset=>{var sign=timezoneOffset>=0?"-":"+";var absOffset=Math.abs(timezoneOffset);var hours=String(Math.floor(absOffset/60)).padStart(2,"0");var minutes=String(absOffset%60).padStart(2,"0");return`UTC${sign}${hours}${minutes}`};var winterName=extractZone(winterOffset);var summerName=extractZone(summerOffset);if(summerOffsetDate.now();function jsStackTrace(){return(new Error).stack.toString()}var warnOnce=text=>{warnOnce.shown||={};if(!warnOnce.shown[text]){warnOnce.shown[text]=1;if(ENVIRONMENT_IS_NODE)text="warning: "+text;err(text)}};function getCallstack(flags){var callstack=jsStackTrace();var iThisFunc=callstack.lastIndexOf("_emscripten_log");var iThisFunc2=callstack.lastIndexOf("_emscripten_get_callstack");var iNextLine=callstack.indexOf("\n",Math.max(iThisFunc,iThisFunc2))+1;callstack=callstack.slice(iNextLine);if(flags&8&&typeof emscripten_source_map=="undefined"){warnOnce('Source map information is not available, emscripten_log with EM_LOG_C_STACK will be ignored. Build with "--pre-js $EMSCRIPTEN/src/emscripten-source-map.min.js" linker flag to add source map loading to code.');flags^=8;flags|=16}var lines=callstack.split("\n");callstack="";var newFirefoxRe=new RegExp("\\s*(.*?)@(.*?):([0-9]+):([0-9]+)");var firefoxRe=new RegExp("\\s*(.*?)@(.*):(.*)(:(.*))?");var chromeRe=new RegExp("\\s*at (.*?) \\((.*):(.*):(.*)\\)");for(var l in lines){var line=lines[l];var symbolName="";var file="";var lineno=0;var column=0;var parts=chromeRe.exec(line);if(parts&&parts.length==5){symbolName=parts[1];file=parts[2];lineno=parts[3];column=parts[4]}else{parts=newFirefoxRe.exec(line)||firefoxRe.exec(line);if(parts&&parts.length>=4){symbolName=parts[1];file=parts[2];lineno=parts[3];column=parts[4]|0}else{callstack+=line+"\n";continue}}var haveSourceMap=false;if(flags&8){var orig=emscripten_source_map.originalPositionFor({line:lineno,column});haveSourceMap=orig?.source;if(haveSourceMap){if(flags&64){orig.source=orig.source.substring(orig.source.replace(/\\/g,"/").lastIndexOf("/")+1)}callstack+=` at ${symbolName} (${orig.source}:${orig.line}:${orig.column})\n`}}if(flags&16||!haveSourceMap){if(flags&64){file=file.substring(file.replace(/\\/g,"/").lastIndexOf("/")+1)}callstack+=(haveSourceMap?` = ${symbolName}`:` at ${symbolName}`)+` (${file}:${lineno}:${column})\n`}}callstack=callstack.replace(/\s+$/,"");return callstack}function _emscripten_get_callstack(flags,str,maxbytes){var callstack=getCallstack(flags);if(!str||maxbytes<=0){return lengthBytesUTF8(callstack)+1}var bytesWrittenExcludingNull=stringToUTF8(callstack,str,maxbytes);return bytesWrittenExcludingNull+1}var getHeapMax=()=>2147483648;var _emscripten_get_heap_max=()=>getHeapMax();var growMemory=size=>{var b=wasmMemory.buffer;var pages=(size-b.byteLength+65535)/65536|0;try{wasmMemory.grow(pages);updateMemoryViews();return 1}catch(e){}};var _emscripten_resize_heap=requestedSize=>{var oldSize=HEAPU8.length;requestedSize>>>=0;var maxHeapSize=getHeapMax();if(requestedSize>maxHeapSize){return false}for(var cutDown=1;cutDown<=4;cutDown*=2){var overGrownHeapSize=oldSize*(1+.2/cutDown);overGrownHeapSize=Math.min(overGrownHeapSize,requestedSize+100663296);var newSize=Math.min(maxHeapSize,alignMemory(Math.max(requestedSize,overGrownHeapSize),65536));var replacement=growMemory(newSize);if(replacement){return true}}return false};var ENV={};var getExecutableName=()=>thisProgram||"./this.program";var getEnvStrings=()=>{if(!getEnvStrings.strings){var lang=(typeof navigator=="object"&&navigator.languages&&navigator.languages[0]||"C").replace("-","_")+".UTF-8";var env={USER:"web_user",LOGNAME:"web_user",PATH:"/",PWD:"/",HOME:"/home/web_user",LANG:lang,_:getExecutableName()};for(var x in ENV){if(ENV[x]===undefined)delete env[x];else env[x]=ENV[x]}var strings=[];for(var x in env){strings.push(`${x}=${env[x]}`)}getEnvStrings.strings=strings}return getEnvStrings.strings};var stringToAscii=(str,buffer)=>{for(var i=0;i{var bufSize=0;getEnvStrings().forEach((string,i)=>{var ptr=environ_buf+bufSize;HEAPU32[__environ+i*4>>2]=ptr;stringToAscii(string,ptr);bufSize+=string.length+1});return 0};var _environ_sizes_get=(penviron_count,penviron_buf_size)=>{var strings=getEnvStrings();HEAPU32[penviron_count>>2]=strings.length;var bufSize=0;strings.forEach(string=>bufSize+=string.length+1);HEAPU32[penviron_buf_size>>2]=bufSize;return 0};var runtimeKeepaliveCounter=0;var keepRuntimeAlive=()=>noExitRuntime||runtimeKeepaliveCounter>0;var _proc_exit=code=>{EXITSTATUS=code;if(!keepRuntimeAlive()){Module["onExit"]?.(code);ABORT=true}quit_(code,new ExitStatus(code))};var exitJS=(status,implicit)=>{EXITSTATUS=status;_proc_exit(status)};var _exit=exitJS;function _fd_close(fd){try{var stream=SYSCALLS.getStreamFromFD(fd);FS.close(stream);return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return e.errno}}var doReadv=(stream,iov,iovcnt,offset)=>{var ret=0;for(var i=0;i>2];var len=HEAPU32[iov+4>>2];iov+=8;var curr=FS.read(stream,HEAP8,ptr,len,offset);if(curr<0)return-1;ret+=curr;if(curr>2]=num;return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return e.errno}}function _fd_seek(fd,offset_low,offset_high,whence,newOffset){var offset=convertI32PairToI53Checked(offset_low,offset_high);try{if(isNaN(offset))return 61;var stream=SYSCALLS.getStreamFromFD(fd);FS.llseek(stream,offset,whence);tempI64=[stream.position>>>0,(tempDouble=stream.position,+Math.abs(tempDouble)>=1?tempDouble>0?+Math.floor(tempDouble/4294967296)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[newOffset>>2]=tempI64[0],HEAP32[newOffset+4>>2]=tempI64[1];if(stream.getdents&&offset===0&&whence===0)stream.getdents=null;return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return e.errno}}var doWritev=(stream,iov,iovcnt,offset)=>{var ret=0;for(var i=0;i>2];var len=HEAPU32[iov+4>>2];iov+=8;var curr=FS.write(stream,HEAP8,ptr,len,offset);if(curr<0)return-1;ret+=curr;if(curr>2]=num;return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return e.errno}}FS.createPreloadedFile=FS_createPreloadedFile;FS.staticInit();embind_init_charCodes();BindingError=Module["BindingError"]=class BindingError extends Error{constructor(message){super(message);this.name="BindingError"}};InternalError=Module["InternalError"]=class InternalError extends Error{constructor(message){super(message);this.name="InternalError"}};init_emval();UnboundTypeError=Module["UnboundTypeError"]=extendError(Error,"UnboundTypeError");var wasmImports={M:___syscall_chmod,N:___syscall_faccessat,h:___syscall_fcntl64,I:___syscall_fstat64,Q:___syscall_ioctl,F:___syscall_lstat64,G:___syscall_newfstatat,j:___syscall_openat,B:___syscall_rmdir,H:___syscall_stat64,C:___syscall_unlinkat,A:__abort_js,w:__embind_register_bigint,V:__embind_register_bool,U:__embind_register_emval,n:__embind_register_float,f:__embind_register_function,b:__embind_register_integer,a:__embind_register_memory_view,m:__embind_register_std_string,i:__embind_register_std_wstring,W:__embind_register_void,J:__emscripten_get_now_is_monotonic,x:__emscripten_lookup_name,L:__emscripten_memcpy_js,e:__emval_as,q:__emval_call_method,T:__emval_decref,u:__emval_get_global,p:__emval_get_method_caller,k:__emval_get_property,Y:__emval_incref,X:__emval_new_array,r:__emval_new_cstring,Z:__emval_new_object,o:__emval_run_destructors,c:__emval_set_property,d:__emval_take_value,t:__localtime_js,s:__munmap_js,O:__tzset_js,K:_emscripten_date_now,R:_emscripten_get_callstack,z:_emscripten_get_heap_max,y:_emscripten_resize_heap,D:_environ_get,E:_environ_sizes_get,S:_exit,g:_fd_close,P:_fd_read,v:_fd_seek,l:_fd_write};var wasmExports=createWasm();var ___wasm_call_ctors=()=>(___wasm_call_ctors=wasmExports["$"])();var ___getTypeName=a0=>(___getTypeName=wasmExports["aa"])(a0);var _malloc=a0=>(_malloc=wasmExports["ca"])(a0);var _free=a0=>(_free=wasmExports["da"])(a0);var _htons=a0=>(_htons=wasmExports["ea"])(a0);var _emscripten_builtin_memalign=(a0,a1)=>(_emscripten_builtin_memalign=wasmExports["fa"])(a0,a1);var ___trap=()=>(___trap=wasmExports["ga"])();var dynCall_viijii=Module["dynCall_viijii"]=(a0,a1,a2,a3,a4,a5,a6)=>(dynCall_viijii=Module["dynCall_viijii"]=wasmExports["ha"])(a0,a1,a2,a3,a4,a5,a6);var dynCall_viiiiji=Module["dynCall_viiiiji"]=(a0,a1,a2,a3,a4,a5,a6,a7)=>(dynCall_viiiiji=Module["dynCall_viiiiji"]=wasmExports["ia"])(a0,a1,a2,a3,a4,a5,a6,a7);var dynCall_jiji=Module["dynCall_jiji"]=(a0,a1,a2,a3,a4)=>(dynCall_jiji=Module["dynCall_jiji"]=wasmExports["ja"])(a0,a1,a2,a3,a4);var dynCall_iiiiij=Module["dynCall_iiiiij"]=(a0,a1,a2,a3,a4,a5,a6)=>(dynCall_iiiiij=Module["dynCall_iiiiij"]=wasmExports["ka"])(a0,a1,a2,a3,a4,a5,a6);var dynCall_iiiiijj=Module["dynCall_iiiiijj"]=(a0,a1,a2,a3,a4,a5,a6,a7,a8)=>(dynCall_iiiiijj=Module["dynCall_iiiiijj"]=wasmExports["la"])(a0,a1,a2,a3,a4,a5,a6,a7,a8);var dynCall_iiiiiijj=Module["dynCall_iiiiiijj"]=(a0,a1,a2,a3,a4,a5,a6,a7,a8,a9)=>(dynCall_iiiiiijj=Module["dynCall_iiiiiijj"]=wasmExports["ma"])(a0,a1,a2,a3,a4,a5,a6,a7,a8,a9);var calledRun;var calledPrerun;dependenciesFulfilled=function runCaller(){if(!calledRun)run();if(!calledRun)dependenciesFulfilled=runCaller};function run(){if(runDependencies>0){return}if(!calledPrerun){calledPrerun=1;preRun();if(runDependencies>0){return}}function doRun(){if(calledRun)return;calledRun=1;Module["calledRun"]=1;if(ABORT)return;initRuntime();readyPromiseResolve(Module);Module["onRuntimeInitialized"]?.();postRun()}if(Module["setStatus"]){Module["setStatus"]("Running...");setTimeout(()=>{setTimeout(()=>Module["setStatus"](""),1);doRun()},1)}else{doRun()}}if(Module["preInit"]){if(typeof Module["preInit"]=="function")Module["preInit"]=[Module["preInit"]];while(Module["preInit"].length>0){Module["preInit"].pop()()}}run();moduleRtn=readyPromise; + + + return moduleRtn; +} +); +})(); +if (typeof exports === 'object' && typeof module === 'object') + module.exports = occtimportjs; +else if (typeof define === 'function' && define['amd']) + define([], () => occtimportjs); diff --git a/viewer/STEPViewer/libs/three.module.min.js b/viewer/STEPViewer/libs/three.module.min.js new file mode 100644 index 0000000..9807b61 --- /dev/null +++ b/viewer/STEPViewer/libs/three.module.min.js @@ -0,0 +1,6 @@ +/** + * @license + * Copyright 2010-2023 Three.js Authors + * SPDX-License-Identifier: MIT + */ +const t="160",e={LEFT:0,MIDDLE:1,RIGHT:2,ROTATE:0,DOLLY:1,PAN:2},n={ROTATE:0,PAN:1,DOLLY_PAN:2,DOLLY_ROTATE:3},i=0,r=1,s=2,a=3,o=0,l=1,c=2,h=3,u=0,d=1,p=2,m=2,f=0,g=1,_=2,v=3,x=4,y=5,M=100,S=101,b=102,E=103,T=104,w=200,A=201,R=202,C=203,P=204,L=205,I=206,U=207,N=208,D=209,O=210,F=211,B=212,z=213,H=214,V=0,k=1,G=2,W=3,X=4,j=5,q=6,Y=7,Z=0,J=1,K=2,$=0,Q=1,tt=2,et=3,nt=4,it=5,rt=6,st="attached",at="detached",ot=300,lt=301,ct=302,ht=303,ut=304,dt=306,pt=1e3,mt=1001,ft=1002,gt=1003,_t=1004,vt=1004,xt=1005,yt=1005,Mt=1006,St=1007,bt=1007,Et=1008,Tt=1008,wt=1009,At=1010,Rt=1011,Ct=1012,Pt=1013,Lt=1014,It=1015,Ut=1016,Nt=1017,Dt=1018,Ot=1020,Ft=1021,Bt=1023,zt=1024,Ht=1025,Vt=1026,kt=1027,Gt=1028,Wt=1029,Xt=1030,jt=1031,qt=1033,Yt=33776,Zt=33777,Jt=33778,Kt=33779,$t=35840,Qt=35841,te=35842,ee=35843,ne=36196,ie=37492,re=37496,se=37808,ae=37809,oe=37810,le=37811,ce=37812,he=37813,ue=37814,de=37815,pe=37816,me=37817,fe=37818,ge=37819,_e=37820,ve=37821,xe=36492,ye=36494,Me=36495,Se=36283,be=36284,Ee=36285,Te=36286,we=2200,Ae=2201,Re=2202,Ce=2300,Pe=2301,Le=2302,Ie=2400,Ue=2401,Ne=2402,De=2500,Oe=2501,Fe=0,Be=1,ze=2,He=3e3,Ve=3001,ke=3200,Ge=3201,We=0,Xe=1,je="",qe="srgb",Ye="srgb-linear",Ze="display-p3",Je="display-p3-linear",Ke="linear",$e="srgb",Qe="rec709",tn="p3",en=0,nn=7680,rn=7681,sn=7682,an=7683,on=34055,ln=34056,cn=5386,hn=512,un=513,dn=514,pn=515,mn=516,fn=517,gn=518,_n=519,vn=512,xn=513,yn=514,Mn=515,Sn=516,bn=517,En=518,Tn=519,wn=35044,An=35048,Rn=35040,Cn=35045,Pn=35049,Ln=35041,In=35046,Un=35050,Nn=35042,Dn="100",On="300 es",Fn=1035,Bn=2e3,zn=2001;class Hn{addEventListener(t,e){void 0===this._listeners&&(this._listeners={});const n=this._listeners;void 0===n[t]&&(n[t]=[]),-1===n[t].indexOf(e)&&n[t].push(e)}hasEventListener(t,e){if(void 0===this._listeners)return!1;const n=this._listeners;return void 0!==n[t]&&-1!==n[t].indexOf(e)}removeEventListener(t,e){if(void 0===this._listeners)return;const n=this._listeners[t];if(void 0!==n){const t=n.indexOf(e);-1!==t&&n.splice(t,1)}}dispatchEvent(t){if(void 0===this._listeners)return;const e=this._listeners[t.type];if(void 0!==e){t.target=this;const n=e.slice(0);for(let e=0,i=n.length;e>8&255]+Vn[t>>16&255]+Vn[t>>24&255]+"-"+Vn[255&e]+Vn[e>>8&255]+"-"+Vn[e>>16&15|64]+Vn[e>>24&255]+"-"+Vn[63&n|128]+Vn[n>>8&255]+"-"+Vn[n>>16&255]+Vn[n>>24&255]+Vn[255&i]+Vn[i>>8&255]+Vn[i>>16&255]+Vn[i>>24&255]).toLowerCase()}function jn(t,e,n){return Math.max(e,Math.min(n,t))}function qn(t,e){return(t%e+e)%e}function Yn(t,e,n){return(1-n)*t+n*e}function Zn(t){return 0==(t&t-1)&&0!==t}function Jn(t){return Math.pow(2,Math.floor(Math.log(t)/Math.LN2))}function Kn(t,e){switch(e.constructor){case Float32Array:return t;case Uint32Array:return t/4294967295;case Uint16Array:return t/65535;case Uint8Array:return t/255;case Int32Array:return Math.max(t/2147483647,-1);case Int16Array:return Math.max(t/32767,-1);case Int8Array:return Math.max(t/127,-1);default:throw new Error("Invalid component type.")}}function $n(t,e){switch(e.constructor){case Float32Array:return t;case Uint32Array:return Math.round(4294967295*t);case Uint16Array:return Math.round(65535*t);case Uint8Array:return Math.round(255*t);case Int32Array:return Math.round(2147483647*t);case Int16Array:return Math.round(32767*t);case Int8Array:return Math.round(127*t);default:throw new Error("Invalid component type.")}}const Qn={DEG2RAD:Gn,RAD2DEG:Wn,generateUUID:Xn,clamp:jn,euclideanModulo:qn,mapLinear:function(t,e,n,i,r){return i+(t-e)*(r-i)/(n-e)},inverseLerp:function(t,e,n){return t!==e?(n-t)/(e-t):0},lerp:Yn,damp:function(t,e,n,i){return Yn(t,e,1-Math.exp(-n*i))},pingpong:function(t,e=1){return e-Math.abs(qn(t,2*e)-e)},smoothstep:function(t,e,n){return t<=e?0:t>=n?1:(t=(t-e)/(n-e))*t*(3-2*t)},smootherstep:function(t,e,n){return t<=e?0:t>=n?1:(t=(t-e)/(n-e))*t*t*(t*(6*t-15)+10)},randInt:function(t,e){return t+Math.floor(Math.random()*(e-t+1))},randFloat:function(t,e){return t+Math.random()*(e-t)},randFloatSpread:function(t){return t*(.5-Math.random())},seededRandom:function(t){void 0!==t&&(kn=t);let e=kn+=1831565813;return e=Math.imul(e^e>>>15,1|e),e^=e+Math.imul(e^e>>>7,61|e),((e^e>>>14)>>>0)/4294967296},degToRad:function(t){return t*Gn},radToDeg:function(t){return t*Wn},isPowerOfTwo:Zn,ceilPowerOfTwo:function(t){return Math.pow(2,Math.ceil(Math.log(t)/Math.LN2))},floorPowerOfTwo:Jn,setQuaternionFromProperEuler:function(t,e,n,i,r){const s=Math.cos,a=Math.sin,o=s(n/2),l=a(n/2),c=s((e+i)/2),h=a((e+i)/2),u=s((e-i)/2),d=a((e-i)/2),p=s((i-e)/2),m=a((i-e)/2);switch(r){case"XYX":t.set(o*h,l*u,l*d,o*c);break;case"YZY":t.set(l*d,o*h,l*u,o*c);break;case"ZXZ":t.set(l*u,l*d,o*h,o*c);break;case"XZX":t.set(o*h,l*m,l*p,o*c);break;case"YXY":t.set(l*p,o*h,l*m,o*c);break;case"ZYZ":t.set(l*m,l*p,o*h,o*c);break;default:console.warn("THREE.MathUtils: .setQuaternionFromProperEuler() encountered an unknown order: "+r)}},normalize:$n,denormalize:Kn};class ti{constructor(t=0,e=0){ti.prototype.isVector2=!0,this.x=t,this.y=e}get width(){return this.x}set width(t){this.x=t}get height(){return this.y}set height(t){this.y=t}set(t,e){return this.x=t,this.y=e,this}setScalar(t){return this.x=t,this.y=t,this}setX(t){return this.x=t,this}setY(t){return this.y=t,this}setComponent(t,e){switch(t){case 0:this.x=e;break;case 1:this.y=e;break;default:throw new Error("index is out of range: "+t)}return this}getComponent(t){switch(t){case 0:return this.x;case 1:return this.y;default:throw new Error("index is out of range: "+t)}}clone(){return new this.constructor(this.x,this.y)}copy(t){return this.x=t.x,this.y=t.y,this}add(t){return this.x+=t.x,this.y+=t.y,this}addScalar(t){return this.x+=t,this.y+=t,this}addVectors(t,e){return this.x=t.x+e.x,this.y=t.y+e.y,this}addScaledVector(t,e){return this.x+=t.x*e,this.y+=t.y*e,this}sub(t){return this.x-=t.x,this.y-=t.y,this}subScalar(t){return this.x-=t,this.y-=t,this}subVectors(t,e){return this.x=t.x-e.x,this.y=t.y-e.y,this}multiply(t){return this.x*=t.x,this.y*=t.y,this}multiplyScalar(t){return this.x*=t,this.y*=t,this}divide(t){return this.x/=t.x,this.y/=t.y,this}divideScalar(t){return this.multiplyScalar(1/t)}applyMatrix3(t){const e=this.x,n=this.y,i=t.elements;return this.x=i[0]*e+i[3]*n+i[6],this.y=i[1]*e+i[4]*n+i[7],this}min(t){return this.x=Math.min(this.x,t.x),this.y=Math.min(this.y,t.y),this}max(t){return this.x=Math.max(this.x,t.x),this.y=Math.max(this.y,t.y),this}clamp(t,e){return this.x=Math.max(t.x,Math.min(e.x,this.x)),this.y=Math.max(t.y,Math.min(e.y,this.y)),this}clampScalar(t,e){return this.x=Math.max(t,Math.min(e,this.x)),this.y=Math.max(t,Math.min(e,this.y)),this}clampLength(t,e){const n=this.length();return this.divideScalar(n||1).multiplyScalar(Math.max(t,Math.min(e,n)))}floor(){return this.x=Math.floor(this.x),this.y=Math.floor(this.y),this}ceil(){return this.x=Math.ceil(this.x),this.y=Math.ceil(this.y),this}round(){return this.x=Math.round(this.x),this.y=Math.round(this.y),this}roundToZero(){return this.x=Math.trunc(this.x),this.y=Math.trunc(this.y),this}negate(){return this.x=-this.x,this.y=-this.y,this}dot(t){return this.x*t.x+this.y*t.y}cross(t){return this.x*t.y-this.y*t.x}lengthSq(){return this.x*this.x+this.y*this.y}length(){return Math.sqrt(this.x*this.x+this.y*this.y)}manhattanLength(){return Math.abs(this.x)+Math.abs(this.y)}normalize(){return this.divideScalar(this.length()||1)}angle(){return Math.atan2(-this.y,-this.x)+Math.PI}angleTo(t){const e=Math.sqrt(this.lengthSq()*t.lengthSq());if(0===e)return Math.PI/2;const n=this.dot(t)/e;return Math.acos(jn(n,-1,1))}distanceTo(t){return Math.sqrt(this.distanceToSquared(t))}distanceToSquared(t){const e=this.x-t.x,n=this.y-t.y;return e*e+n*n}manhattanDistanceTo(t){return Math.abs(this.x-t.x)+Math.abs(this.y-t.y)}setLength(t){return this.normalize().multiplyScalar(t)}lerp(t,e){return this.x+=(t.x-this.x)*e,this.y+=(t.y-this.y)*e,this}lerpVectors(t,e,n){return this.x=t.x+(e.x-t.x)*n,this.y=t.y+(e.y-t.y)*n,this}equals(t){return t.x===this.x&&t.y===this.y}fromArray(t,e=0){return this.x=t[e],this.y=t[e+1],this}toArray(t=[],e=0){return t[e]=this.x,t[e+1]=this.y,t}fromBufferAttribute(t,e){return this.x=t.getX(e),this.y=t.getY(e),this}rotateAround(t,e){const n=Math.cos(e),i=Math.sin(e),r=this.x-t.x,s=this.y-t.y;return this.x=r*n-s*i+t.x,this.y=r*i+s*n+t.y,this}random(){return this.x=Math.random(),this.y=Math.random(),this}*[Symbol.iterator](){yield this.x,yield this.y}}class ei{constructor(t,e,n,i,r,s,a,o,l){ei.prototype.isMatrix3=!0,this.elements=[1,0,0,0,1,0,0,0,1],void 0!==t&&this.set(t,e,n,i,r,s,a,o,l)}set(t,e,n,i,r,s,a,o,l){const c=this.elements;return c[0]=t,c[1]=i,c[2]=a,c[3]=e,c[4]=r,c[5]=o,c[6]=n,c[7]=s,c[8]=l,this}identity(){return this.set(1,0,0,0,1,0,0,0,1),this}copy(t){const e=this.elements,n=t.elements;return e[0]=n[0],e[1]=n[1],e[2]=n[2],e[3]=n[3],e[4]=n[4],e[5]=n[5],e[6]=n[6],e[7]=n[7],e[8]=n[8],this}extractBasis(t,e,n){return t.setFromMatrix3Column(this,0),e.setFromMatrix3Column(this,1),n.setFromMatrix3Column(this,2),this}setFromMatrix4(t){const e=t.elements;return this.set(e[0],e[4],e[8],e[1],e[5],e[9],e[2],e[6],e[10]),this}multiply(t){return this.multiplyMatrices(this,t)}premultiply(t){return this.multiplyMatrices(t,this)}multiplyMatrices(t,e){const n=t.elements,i=e.elements,r=this.elements,s=n[0],a=n[3],o=n[6],l=n[1],c=n[4],h=n[7],u=n[2],d=n[5],p=n[8],m=i[0],f=i[3],g=i[6],_=i[1],v=i[4],x=i[7],y=i[2],M=i[5],S=i[8];return r[0]=s*m+a*_+o*y,r[3]=s*f+a*v+o*M,r[6]=s*g+a*x+o*S,r[1]=l*m+c*_+h*y,r[4]=l*f+c*v+h*M,r[7]=l*g+c*x+h*S,r[2]=u*m+d*_+p*y,r[5]=u*f+d*v+p*M,r[8]=u*g+d*x+p*S,this}multiplyScalar(t){const e=this.elements;return e[0]*=t,e[3]*=t,e[6]*=t,e[1]*=t,e[4]*=t,e[7]*=t,e[2]*=t,e[5]*=t,e[8]*=t,this}determinant(){const t=this.elements,e=t[0],n=t[1],i=t[2],r=t[3],s=t[4],a=t[5],o=t[6],l=t[7],c=t[8];return e*s*c-e*a*l-n*r*c+n*a*o+i*r*l-i*s*o}invert(){const t=this.elements,e=t[0],n=t[1],i=t[2],r=t[3],s=t[4],a=t[5],o=t[6],l=t[7],c=t[8],h=c*s-a*l,u=a*o-c*r,d=l*r-s*o,p=e*h+n*u+i*d;if(0===p)return this.set(0,0,0,0,0,0,0,0,0);const m=1/p;return t[0]=h*m,t[1]=(i*l-c*n)*m,t[2]=(a*n-i*s)*m,t[3]=u*m,t[4]=(c*e-i*o)*m,t[5]=(i*r-a*e)*m,t[6]=d*m,t[7]=(n*o-l*e)*m,t[8]=(s*e-n*r)*m,this}transpose(){let t;const e=this.elements;return t=e[1],e[1]=e[3],e[3]=t,t=e[2],e[2]=e[6],e[6]=t,t=e[5],e[5]=e[7],e[7]=t,this}getNormalMatrix(t){return this.setFromMatrix4(t).invert().transpose()}transposeIntoArray(t){const e=this.elements;return t[0]=e[0],t[1]=e[3],t[2]=e[6],t[3]=e[1],t[4]=e[4],t[5]=e[7],t[6]=e[2],t[7]=e[5],t[8]=e[8],this}setUvTransform(t,e,n,i,r,s,a){const o=Math.cos(r),l=Math.sin(r);return this.set(n*o,n*l,-n*(o*s+l*a)+s+t,-i*l,i*o,-i*(-l*s+o*a)+a+e,0,0,1),this}scale(t,e){return this.premultiply(ni.makeScale(t,e)),this}rotate(t){return this.premultiply(ni.makeRotation(-t)),this}translate(t,e){return this.premultiply(ni.makeTranslation(t,e)),this}makeTranslation(t,e){return t.isVector2?this.set(1,0,t.x,0,1,t.y,0,0,1):this.set(1,0,t,0,1,e,0,0,1),this}makeRotation(t){const e=Math.cos(t),n=Math.sin(t);return this.set(e,-n,0,n,e,0,0,0,1),this}makeScale(t,e){return this.set(t,0,0,0,e,0,0,0,1),this}equals(t){const e=this.elements,n=t.elements;for(let t=0;t<9;t++)if(e[t]!==n[t])return!1;return!0}fromArray(t,e=0){for(let n=0;n<9;n++)this.elements[n]=t[n+e];return this}toArray(t=[],e=0){const n=this.elements;return t[e]=n[0],t[e+1]=n[1],t[e+2]=n[2],t[e+3]=n[3],t[e+4]=n[4],t[e+5]=n[5],t[e+6]=n[6],t[e+7]=n[7],t[e+8]=n[8],t}clone(){return(new this.constructor).fromArray(this.elements)}}const ni=new ei;function ii(t){for(let e=t.length-1;e>=0;--e)if(t[e]>=65535)return!0;return!1}const ri={Int8Array:Int8Array,Uint8Array:Uint8Array,Uint8ClampedArray:Uint8ClampedArray,Int16Array:Int16Array,Uint16Array:Uint16Array,Int32Array:Int32Array,Uint32Array:Uint32Array,Float32Array:Float32Array,Float64Array:Float64Array};function si(t,e){return new ri[t](e)}function ai(t){return document.createElementNS("http://www.w3.org/1999/xhtml",t)}function oi(){const t=ai("canvas");return t.style.display="block",t}const li={};function ci(t){t in li||(li[t]=!0,console.warn(t))}const hi=(new ei).set(.8224621,.177538,0,.0331941,.9668058,0,.0170827,.0723974,.9105199),ui=(new ei).set(1.2249401,-.2249404,0,-.0420569,1.0420571,0,-.0196376,-.0786361,1.0982735),di={[Ye]:{transfer:Ke,primaries:Qe,toReference:t=>t,fromReference:t=>t},[qe]:{transfer:$e,primaries:Qe,toReference:t=>t.convertSRGBToLinear(),fromReference:t=>t.convertLinearToSRGB()},[Je]:{transfer:Ke,primaries:tn,toReference:t=>t.applyMatrix3(ui),fromReference:t=>t.applyMatrix3(hi)},[Ze]:{transfer:$e,primaries:tn,toReference:t=>t.convertSRGBToLinear().applyMatrix3(ui),fromReference:t=>t.applyMatrix3(hi).convertLinearToSRGB()}},pi=new Set([Ye,Je]),mi={enabled:!0,_workingColorSpace:Ye,get workingColorSpace(){return this._workingColorSpace},set workingColorSpace(t){if(!pi.has(t))throw new Error(`Unsupported working color space, "${t}".`);this._workingColorSpace=t},convert:function(t,e,n){if(!1===this.enabled||e===n||!e||!n)return t;const i=di[e].toReference;return(0,di[n].fromReference)(i(t))},fromWorkingColorSpace:function(t,e){return this.convert(t,this._workingColorSpace,e)},toWorkingColorSpace:function(t,e){return this.convert(t,e,this._workingColorSpace)},getPrimaries:function(t){return di[t].primaries},getTransfer:function(t){return t===je?Ke:di[t].transfer}};function fi(t){return t<.04045?.0773993808*t:Math.pow(.9478672986*t+.0521327014,2.4)}function gi(t){return t<.0031308?12.92*t:1.055*Math.pow(t,.41666)-.055}let _i;class vi{static getDataURL(t){if(/^data:/i.test(t.src))return t.src;if("undefined"==typeof HTMLCanvasElement)return t.src;let e;if(t instanceof HTMLCanvasElement)e=t;else{void 0===_i&&(_i=ai("canvas")),_i.width=t.width,_i.height=t.height;const n=_i.getContext("2d");t instanceof ImageData?n.putImageData(t,0,0):n.drawImage(t,0,0,t.width,t.height),e=_i}return e.width>2048||e.height>2048?(console.warn("THREE.ImageUtils.getDataURL: Image converted to jpg for performance reasons",t),e.toDataURL("image/jpeg",.6)):e.toDataURL("image/png")}static sRGBToLinear(t){if("undefined"!=typeof HTMLImageElement&&t instanceof HTMLImageElement||"undefined"!=typeof HTMLCanvasElement&&t instanceof HTMLCanvasElement||"undefined"!=typeof ImageBitmap&&t instanceof ImageBitmap){const e=ai("canvas");e.width=t.width,e.height=t.height;const n=e.getContext("2d");n.drawImage(t,0,0,t.width,t.height);const i=n.getImageData(0,0,t.width,t.height),r=i.data;for(let t=0;t0&&(n.userData=this.userData),e||(t.textures[this.uuid]=n),n}dispose(){this.dispatchEvent({type:"dispose"})}transformUv(t){if(this.mapping!==ot)return t;if(t.applyMatrix3(this.matrix),t.x<0||t.x>1)switch(this.wrapS){case pt:t.x=t.x-Math.floor(t.x);break;case mt:t.x=t.x<0?0:1;break;case ft:1===Math.abs(Math.floor(t.x)%2)?t.x=Math.ceil(t.x)-t.x:t.x=t.x-Math.floor(t.x)}if(t.y<0||t.y>1)switch(this.wrapT){case pt:t.y=t.y-Math.floor(t.y);break;case mt:t.y=t.y<0?0:1;break;case ft:1===Math.abs(Math.floor(t.y)%2)?t.y=Math.ceil(t.y)-t.y:t.y=t.y-Math.floor(t.y)}return this.flipY&&(t.y=1-t.y),t}set needsUpdate(t){!0===t&&(this.version++,this.source.needsUpdate=!0)}get encoding(){return ci("THREE.Texture: Property .encoding has been replaced by .colorSpace."),this.colorSpace===qe?Ve:He}set encoding(t){ci("THREE.Texture: Property .encoding has been replaced by .colorSpace."),this.colorSpace=t===Ve?qe:je}}bi.DEFAULT_IMAGE=null,bi.DEFAULT_MAPPING=ot,bi.DEFAULT_ANISOTROPY=1;class Ei{constructor(t=0,e=0,n=0,i=1){Ei.prototype.isVector4=!0,this.x=t,this.y=e,this.z=n,this.w=i}get width(){return this.z}set width(t){this.z=t}get height(){return this.w}set height(t){this.w=t}set(t,e,n,i){return this.x=t,this.y=e,this.z=n,this.w=i,this}setScalar(t){return this.x=t,this.y=t,this.z=t,this.w=t,this}setX(t){return this.x=t,this}setY(t){return this.y=t,this}setZ(t){return this.z=t,this}setW(t){return this.w=t,this}setComponent(t,e){switch(t){case 0:this.x=e;break;case 1:this.y=e;break;case 2:this.z=e;break;case 3:this.w=e;break;default:throw new Error("index is out of range: "+t)}return this}getComponent(t){switch(t){case 0:return this.x;case 1:return this.y;case 2:return this.z;case 3:return this.w;default:throw new Error("index is out of range: "+t)}}clone(){return new this.constructor(this.x,this.y,this.z,this.w)}copy(t){return this.x=t.x,this.y=t.y,this.z=t.z,this.w=void 0!==t.w?t.w:1,this}add(t){return this.x+=t.x,this.y+=t.y,this.z+=t.z,this.w+=t.w,this}addScalar(t){return this.x+=t,this.y+=t,this.z+=t,this.w+=t,this}addVectors(t,e){return this.x=t.x+e.x,this.y=t.y+e.y,this.z=t.z+e.z,this.w=t.w+e.w,this}addScaledVector(t,e){return this.x+=t.x*e,this.y+=t.y*e,this.z+=t.z*e,this.w+=t.w*e,this}sub(t){return this.x-=t.x,this.y-=t.y,this.z-=t.z,this.w-=t.w,this}subScalar(t){return this.x-=t,this.y-=t,this.z-=t,this.w-=t,this}subVectors(t,e){return this.x=t.x-e.x,this.y=t.y-e.y,this.z=t.z-e.z,this.w=t.w-e.w,this}multiply(t){return this.x*=t.x,this.y*=t.y,this.z*=t.z,this.w*=t.w,this}multiplyScalar(t){return this.x*=t,this.y*=t,this.z*=t,this.w*=t,this}applyMatrix4(t){const e=this.x,n=this.y,i=this.z,r=this.w,s=t.elements;return this.x=s[0]*e+s[4]*n+s[8]*i+s[12]*r,this.y=s[1]*e+s[5]*n+s[9]*i+s[13]*r,this.z=s[2]*e+s[6]*n+s[10]*i+s[14]*r,this.w=s[3]*e+s[7]*n+s[11]*i+s[15]*r,this}divideScalar(t){return this.multiplyScalar(1/t)}setAxisAngleFromQuaternion(t){this.w=2*Math.acos(t.w);const e=Math.sqrt(1-t.w*t.w);return e<1e-4?(this.x=1,this.y=0,this.z=0):(this.x=t.x/e,this.y=t.y/e,this.z=t.z/e),this}setAxisAngleFromRotationMatrix(t){let e,n,i,r;const s=.01,a=.1,o=t.elements,l=o[0],c=o[4],h=o[8],u=o[1],d=o[5],p=o[9],m=o[2],f=o[6],g=o[10];if(Math.abs(c-u)o&&t>_?t_?o=0?1:-1,i=1-e*e;if(i>Number.EPSILON){const r=Math.sqrt(i),s=Math.atan2(r,e*n);t=Math.sin(t*s)/r,a=Math.sin(a*s)/r}const r=a*n;if(o=o*t+u*r,l=l*t+d*r,c=c*t+p*r,h=h*t+m*r,t===1-a){const t=1/Math.sqrt(o*o+l*l+c*c+h*h);o*=t,l*=t,c*=t,h*=t}}t[e]=o,t[e+1]=l,t[e+2]=c,t[e+3]=h}static multiplyQuaternionsFlat(t,e,n,i,r,s){const a=n[i],o=n[i+1],l=n[i+2],c=n[i+3],h=r[s],u=r[s+1],d=r[s+2],p=r[s+3];return t[e]=a*p+c*h+o*d-l*u,t[e+1]=o*p+c*u+l*h-a*d,t[e+2]=l*p+c*d+a*u-o*h,t[e+3]=c*p-a*h-o*u-l*d,t}get x(){return this._x}set x(t){this._x=t,this._onChangeCallback()}get y(){return this._y}set y(t){this._y=t,this._onChangeCallback()}get z(){return this._z}set z(t){this._z=t,this._onChangeCallback()}get w(){return this._w}set w(t){this._w=t,this._onChangeCallback()}set(t,e,n,i){return this._x=t,this._y=e,this._z=n,this._w=i,this._onChangeCallback(),this}clone(){return new this.constructor(this._x,this._y,this._z,this._w)}copy(t){return this._x=t.x,this._y=t.y,this._z=t.z,this._w=t.w,this._onChangeCallback(),this}setFromEuler(t,e=!0){const n=t._x,i=t._y,r=t._z,s=t._order,a=Math.cos,o=Math.sin,l=a(n/2),c=a(i/2),h=a(r/2),u=o(n/2),d=o(i/2),p=o(r/2);switch(s){case"XYZ":this._x=u*c*h+l*d*p,this._y=l*d*h-u*c*p,this._z=l*c*p+u*d*h,this._w=l*c*h-u*d*p;break;case"YXZ":this._x=u*c*h+l*d*p,this._y=l*d*h-u*c*p,this._z=l*c*p-u*d*h,this._w=l*c*h+u*d*p;break;case"ZXY":this._x=u*c*h-l*d*p,this._y=l*d*h+u*c*p,this._z=l*c*p+u*d*h,this._w=l*c*h-u*d*p;break;case"ZYX":this._x=u*c*h-l*d*p,this._y=l*d*h+u*c*p,this._z=l*c*p-u*d*h,this._w=l*c*h+u*d*p;break;case"YZX":this._x=u*c*h+l*d*p,this._y=l*d*h+u*c*p,this._z=l*c*p-u*d*h,this._w=l*c*h-u*d*p;break;case"XZY":this._x=u*c*h-l*d*p,this._y=l*d*h-u*c*p,this._z=l*c*p+u*d*h,this._w=l*c*h+u*d*p;break;default:console.warn("THREE.Quaternion: .setFromEuler() encountered an unknown order: "+s)}return!0===e&&this._onChangeCallback(),this}setFromAxisAngle(t,e){const n=e/2,i=Math.sin(n);return this._x=t.x*i,this._y=t.y*i,this._z=t.z*i,this._w=Math.cos(n),this._onChangeCallback(),this}setFromRotationMatrix(t){const e=t.elements,n=e[0],i=e[4],r=e[8],s=e[1],a=e[5],o=e[9],l=e[2],c=e[6],h=e[10],u=n+a+h;if(u>0){const t=.5/Math.sqrt(u+1);this._w=.25/t,this._x=(c-o)*t,this._y=(r-l)*t,this._z=(s-i)*t}else if(n>a&&n>h){const t=2*Math.sqrt(1+n-a-h);this._w=(c-o)/t,this._x=.25*t,this._y=(i+s)/t,this._z=(r+l)/t}else if(a>h){const t=2*Math.sqrt(1+a-n-h);this._w=(r-l)/t,this._x=(i+s)/t,this._y=.25*t,this._z=(o+c)/t}else{const t=2*Math.sqrt(1+h-n-a);this._w=(s-i)/t,this._x=(r+l)/t,this._y=(o+c)/t,this._z=.25*t}return this._onChangeCallback(),this}setFromUnitVectors(t,e){let n=t.dot(e)+1;return nMath.abs(t.z)?(this._x=-t.y,this._y=t.x,this._z=0,this._w=n):(this._x=0,this._y=-t.z,this._z=t.y,this._w=n)):(this._x=t.y*e.z-t.z*e.y,this._y=t.z*e.x-t.x*e.z,this._z=t.x*e.y-t.y*e.x,this._w=n),this.normalize()}angleTo(t){return 2*Math.acos(Math.abs(jn(this.dot(t),-1,1)))}rotateTowards(t,e){const n=this.angleTo(t);if(0===n)return this;const i=Math.min(1,e/n);return this.slerp(t,i),this}identity(){return this.set(0,0,0,1)}invert(){return this.conjugate()}conjugate(){return this._x*=-1,this._y*=-1,this._z*=-1,this._onChangeCallback(),this}dot(t){return this._x*t._x+this._y*t._y+this._z*t._z+this._w*t._w}lengthSq(){return this._x*this._x+this._y*this._y+this._z*this._z+this._w*this._w}length(){return Math.sqrt(this._x*this._x+this._y*this._y+this._z*this._z+this._w*this._w)}normalize(){let t=this.length();return 0===t?(this._x=0,this._y=0,this._z=0,this._w=1):(t=1/t,this._x=this._x*t,this._y=this._y*t,this._z=this._z*t,this._w=this._w*t),this._onChangeCallback(),this}multiply(t){return this.multiplyQuaternions(this,t)}premultiply(t){return this.multiplyQuaternions(t,this)}multiplyQuaternions(t,e){const n=t._x,i=t._y,r=t._z,s=t._w,a=e._x,o=e._y,l=e._z,c=e._w;return this._x=n*c+s*a+i*l-r*o,this._y=i*c+s*o+r*a-n*l,this._z=r*c+s*l+n*o-i*a,this._w=s*c-n*a-i*o-r*l,this._onChangeCallback(),this}slerp(t,e){if(0===e)return this;if(1===e)return this.copy(t);const n=this._x,i=this._y,r=this._z,s=this._w;let a=s*t._w+n*t._x+i*t._y+r*t._z;if(a<0?(this._w=-t._w,this._x=-t._x,this._y=-t._y,this._z=-t._z,a=-a):this.copy(t),a>=1)return this._w=s,this._x=n,this._y=i,this._z=r,this;const o=1-a*a;if(o<=Number.EPSILON){const t=1-e;return this._w=t*s+e*this._w,this._x=t*n+e*this._x,this._y=t*i+e*this._y,this._z=t*r+e*this._z,this.normalize(),this}const l=Math.sqrt(o),c=Math.atan2(l,a),h=Math.sin((1-e)*c)/l,u=Math.sin(e*c)/l;return this._w=s*h+this._w*u,this._x=n*h+this._x*u,this._y=i*h+this._y*u,this._z=r*h+this._z*u,this._onChangeCallback(),this}slerpQuaternions(t,e,n){return this.copy(t).slerp(e,n)}random(){const t=Math.random(),e=Math.sqrt(1-t),n=Math.sqrt(t),i=2*Math.PI*Math.random(),r=2*Math.PI*Math.random();return this.set(e*Math.cos(i),n*Math.sin(r),n*Math.cos(r),e*Math.sin(i))}equals(t){return t._x===this._x&&t._y===this._y&&t._z===this._z&&t._w===this._w}fromArray(t,e=0){return this._x=t[e],this._y=t[e+1],this._z=t[e+2],this._w=t[e+3],this._onChangeCallback(),this}toArray(t=[],e=0){return t[e]=this._x,t[e+1]=this._y,t[e+2]=this._z,t[e+3]=this._w,t}fromBufferAttribute(t,e){return this._x=t.getX(e),this._y=t.getY(e),this._z=t.getZ(e),this._w=t.getW(e),this._onChangeCallback(),this}toJSON(){return this.toArray()}_onChange(t){return this._onChangeCallback=t,this}_onChangeCallback(){}*[Symbol.iterator](){yield this._x,yield this._y,yield this._z,yield this._w}}class Ui{constructor(t=0,e=0,n=0){Ui.prototype.isVector3=!0,this.x=t,this.y=e,this.z=n}set(t,e,n){return void 0===n&&(n=this.z),this.x=t,this.y=e,this.z=n,this}setScalar(t){return this.x=t,this.y=t,this.z=t,this}setX(t){return this.x=t,this}setY(t){return this.y=t,this}setZ(t){return this.z=t,this}setComponent(t,e){switch(t){case 0:this.x=e;break;case 1:this.y=e;break;case 2:this.z=e;break;default:throw new Error("index is out of range: "+t)}return this}getComponent(t){switch(t){case 0:return this.x;case 1:return this.y;case 2:return this.z;default:throw new Error("index is out of range: "+t)}}clone(){return new this.constructor(this.x,this.y,this.z)}copy(t){return this.x=t.x,this.y=t.y,this.z=t.z,this}add(t){return this.x+=t.x,this.y+=t.y,this.z+=t.z,this}addScalar(t){return this.x+=t,this.y+=t,this.z+=t,this}addVectors(t,e){return this.x=t.x+e.x,this.y=t.y+e.y,this.z=t.z+e.z,this}addScaledVector(t,e){return this.x+=t.x*e,this.y+=t.y*e,this.z+=t.z*e,this}sub(t){return this.x-=t.x,this.y-=t.y,this.z-=t.z,this}subScalar(t){return this.x-=t,this.y-=t,this.z-=t,this}subVectors(t,e){return this.x=t.x-e.x,this.y=t.y-e.y,this.z=t.z-e.z,this}multiply(t){return this.x*=t.x,this.y*=t.y,this.z*=t.z,this}multiplyScalar(t){return this.x*=t,this.y*=t,this.z*=t,this}multiplyVectors(t,e){return this.x=t.x*e.x,this.y=t.y*e.y,this.z=t.z*e.z,this}applyEuler(t){return this.applyQuaternion(Di.setFromEuler(t))}applyAxisAngle(t,e){return this.applyQuaternion(Di.setFromAxisAngle(t,e))}applyMatrix3(t){const e=this.x,n=this.y,i=this.z,r=t.elements;return this.x=r[0]*e+r[3]*n+r[6]*i,this.y=r[1]*e+r[4]*n+r[7]*i,this.z=r[2]*e+r[5]*n+r[8]*i,this}applyNormalMatrix(t){return this.applyMatrix3(t).normalize()}applyMatrix4(t){const e=this.x,n=this.y,i=this.z,r=t.elements,s=1/(r[3]*e+r[7]*n+r[11]*i+r[15]);return this.x=(r[0]*e+r[4]*n+r[8]*i+r[12])*s,this.y=(r[1]*e+r[5]*n+r[9]*i+r[13])*s,this.z=(r[2]*e+r[6]*n+r[10]*i+r[14])*s,this}applyQuaternion(t){const e=this.x,n=this.y,i=this.z,r=t.x,s=t.y,a=t.z,o=t.w,l=2*(s*i-a*n),c=2*(a*e-r*i),h=2*(r*n-s*e);return this.x=e+o*l+s*h-a*c,this.y=n+o*c+a*l-r*h,this.z=i+o*h+r*c-s*l,this}project(t){return this.applyMatrix4(t.matrixWorldInverse).applyMatrix4(t.projectionMatrix)}unproject(t){return this.applyMatrix4(t.projectionMatrixInverse).applyMatrix4(t.matrixWorld)}transformDirection(t){const e=this.x,n=this.y,i=this.z,r=t.elements;return this.x=r[0]*e+r[4]*n+r[8]*i,this.y=r[1]*e+r[5]*n+r[9]*i,this.z=r[2]*e+r[6]*n+r[10]*i,this.normalize()}divide(t){return this.x/=t.x,this.y/=t.y,this.z/=t.z,this}divideScalar(t){return this.multiplyScalar(1/t)}min(t){return this.x=Math.min(this.x,t.x),this.y=Math.min(this.y,t.y),this.z=Math.min(this.z,t.z),this}max(t){return this.x=Math.max(this.x,t.x),this.y=Math.max(this.y,t.y),this.z=Math.max(this.z,t.z),this}clamp(t,e){return this.x=Math.max(t.x,Math.min(e.x,this.x)),this.y=Math.max(t.y,Math.min(e.y,this.y)),this.z=Math.max(t.z,Math.min(e.z,this.z)),this}clampScalar(t,e){return this.x=Math.max(t,Math.min(e,this.x)),this.y=Math.max(t,Math.min(e,this.y)),this.z=Math.max(t,Math.min(e,this.z)),this}clampLength(t,e){const n=this.length();return this.divideScalar(n||1).multiplyScalar(Math.max(t,Math.min(e,n)))}floor(){return this.x=Math.floor(this.x),this.y=Math.floor(this.y),this.z=Math.floor(this.z),this}ceil(){return this.x=Math.ceil(this.x),this.y=Math.ceil(this.y),this.z=Math.ceil(this.z),this}round(){return this.x=Math.round(this.x),this.y=Math.round(this.y),this.z=Math.round(this.z),this}roundToZero(){return this.x=Math.trunc(this.x),this.y=Math.trunc(this.y),this.z=Math.trunc(this.z),this}negate(){return this.x=-this.x,this.y=-this.y,this.z=-this.z,this}dot(t){return this.x*t.x+this.y*t.y+this.z*t.z}lengthSq(){return this.x*this.x+this.y*this.y+this.z*this.z}length(){return Math.sqrt(this.x*this.x+this.y*this.y+this.z*this.z)}manhattanLength(){return Math.abs(this.x)+Math.abs(this.y)+Math.abs(this.z)}normalize(){return this.divideScalar(this.length()||1)}setLength(t){return this.normalize().multiplyScalar(t)}lerp(t,e){return this.x+=(t.x-this.x)*e,this.y+=(t.y-this.y)*e,this.z+=(t.z-this.z)*e,this}lerpVectors(t,e,n){return this.x=t.x+(e.x-t.x)*n,this.y=t.y+(e.y-t.y)*n,this.z=t.z+(e.z-t.z)*n,this}cross(t){return this.crossVectors(this,t)}crossVectors(t,e){const n=t.x,i=t.y,r=t.z,s=e.x,a=e.y,o=e.z;return this.x=i*o-r*a,this.y=r*s-n*o,this.z=n*a-i*s,this}projectOnVector(t){const e=t.lengthSq();if(0===e)return this.set(0,0,0);const n=t.dot(this)/e;return this.copy(t).multiplyScalar(n)}projectOnPlane(t){return Ni.copy(this).projectOnVector(t),this.sub(Ni)}reflect(t){return this.sub(Ni.copy(t).multiplyScalar(2*this.dot(t)))}angleTo(t){const e=Math.sqrt(this.lengthSq()*t.lengthSq());if(0===e)return Math.PI/2;const n=this.dot(t)/e;return Math.acos(jn(n,-1,1))}distanceTo(t){return Math.sqrt(this.distanceToSquared(t))}distanceToSquared(t){const e=this.x-t.x,n=this.y-t.y,i=this.z-t.z;return e*e+n*n+i*i}manhattanDistanceTo(t){return Math.abs(this.x-t.x)+Math.abs(this.y-t.y)+Math.abs(this.z-t.z)}setFromSpherical(t){return this.setFromSphericalCoords(t.radius,t.phi,t.theta)}setFromSphericalCoords(t,e,n){const i=Math.sin(e)*t;return this.x=i*Math.sin(n),this.y=Math.cos(e)*t,this.z=i*Math.cos(n),this}setFromCylindrical(t){return this.setFromCylindricalCoords(t.radius,t.theta,t.y)}setFromCylindricalCoords(t,e,n){return this.x=t*Math.sin(e),this.y=n,this.z=t*Math.cos(e),this}setFromMatrixPosition(t){const e=t.elements;return this.x=e[12],this.y=e[13],this.z=e[14],this}setFromMatrixScale(t){const e=this.setFromMatrixColumn(t,0).length(),n=this.setFromMatrixColumn(t,1).length(),i=this.setFromMatrixColumn(t,2).length();return this.x=e,this.y=n,this.z=i,this}setFromMatrixColumn(t,e){return this.fromArray(t.elements,4*e)}setFromMatrix3Column(t,e){return this.fromArray(t.elements,3*e)}setFromEuler(t){return this.x=t._x,this.y=t._y,this.z=t._z,this}setFromColor(t){return this.x=t.r,this.y=t.g,this.z=t.b,this}equals(t){return t.x===this.x&&t.y===this.y&&t.z===this.z}fromArray(t,e=0){return this.x=t[e],this.y=t[e+1],this.z=t[e+2],this}toArray(t=[],e=0){return t[e]=this.x,t[e+1]=this.y,t[e+2]=this.z,t}fromBufferAttribute(t,e){return this.x=t.getX(e),this.y=t.getY(e),this.z=t.getZ(e),this}random(){return this.x=Math.random(),this.y=Math.random(),this.z=Math.random(),this}randomDirection(){const t=2*(Math.random()-.5),e=Math.random()*Math.PI*2,n=Math.sqrt(1-t**2);return this.x=n*Math.cos(e),this.y=n*Math.sin(e),this.z=t,this}*[Symbol.iterator](){yield this.x,yield this.y,yield this.z}}const Ni=new Ui,Di=new Ii;class Oi{constructor(t=new Ui(1/0,1/0,1/0),e=new Ui(-1/0,-1/0,-1/0)){this.isBox3=!0,this.min=t,this.max=e}set(t,e){return this.min.copy(t),this.max.copy(e),this}setFromArray(t){this.makeEmpty();for(let e=0,n=t.length;ethis.max.x||t.ythis.max.y||t.zthis.max.z)}containsBox(t){return this.min.x<=t.min.x&&t.max.x<=this.max.x&&this.min.y<=t.min.y&&t.max.y<=this.max.y&&this.min.z<=t.min.z&&t.max.z<=this.max.z}getParameter(t,e){return e.set((t.x-this.min.x)/(this.max.x-this.min.x),(t.y-this.min.y)/(this.max.y-this.min.y),(t.z-this.min.z)/(this.max.z-this.min.z))}intersectsBox(t){return!(t.max.xthis.max.x||t.max.ythis.max.y||t.max.zthis.max.z)}intersectsSphere(t){return this.clampPoint(t.center,Bi),Bi.distanceToSquared(t.center)<=t.radius*t.radius}intersectsPlane(t){let e,n;return t.normal.x>0?(e=t.normal.x*this.min.x,n=t.normal.x*this.max.x):(e=t.normal.x*this.max.x,n=t.normal.x*this.min.x),t.normal.y>0?(e+=t.normal.y*this.min.y,n+=t.normal.y*this.max.y):(e+=t.normal.y*this.max.y,n+=t.normal.y*this.min.y),t.normal.z>0?(e+=t.normal.z*this.min.z,n+=t.normal.z*this.max.z):(e+=t.normal.z*this.max.z,n+=t.normal.z*this.min.z),e<=-t.constant&&n>=-t.constant}intersectsTriangle(t){if(this.isEmpty())return!1;this.getCenter(ji),qi.subVectors(this.max,ji),Hi.subVectors(t.a,ji),Vi.subVectors(t.b,ji),ki.subVectors(t.c,ji),Gi.subVectors(Vi,Hi),Wi.subVectors(ki,Vi),Xi.subVectors(Hi,ki);let e=[0,-Gi.z,Gi.y,0,-Wi.z,Wi.y,0,-Xi.z,Xi.y,Gi.z,0,-Gi.x,Wi.z,0,-Wi.x,Xi.z,0,-Xi.x,-Gi.y,Gi.x,0,-Wi.y,Wi.x,0,-Xi.y,Xi.x,0];return!!Ji(e,Hi,Vi,ki,qi)&&(e=[1,0,0,0,1,0,0,0,1],!!Ji(e,Hi,Vi,ki,qi)&&(Yi.crossVectors(Gi,Wi),e=[Yi.x,Yi.y,Yi.z],Ji(e,Hi,Vi,ki,qi)))}clampPoint(t,e){return e.copy(t).clamp(this.min,this.max)}distanceToPoint(t){return this.clampPoint(t,Bi).distanceTo(t)}getBoundingSphere(t){return this.isEmpty()?t.makeEmpty():(this.getCenter(t.center),t.radius=.5*this.getSize(Bi).length()),t}intersect(t){return this.min.max(t.min),this.max.min(t.max),this.isEmpty()&&this.makeEmpty(),this}union(t){return this.min.min(t.min),this.max.max(t.max),this}applyMatrix4(t){return this.isEmpty()||(Fi[0].set(this.min.x,this.min.y,this.min.z).applyMatrix4(t),Fi[1].set(this.min.x,this.min.y,this.max.z).applyMatrix4(t),Fi[2].set(this.min.x,this.max.y,this.min.z).applyMatrix4(t),Fi[3].set(this.min.x,this.max.y,this.max.z).applyMatrix4(t),Fi[4].set(this.max.x,this.min.y,this.min.z).applyMatrix4(t),Fi[5].set(this.max.x,this.min.y,this.max.z).applyMatrix4(t),Fi[6].set(this.max.x,this.max.y,this.min.z).applyMatrix4(t),Fi[7].set(this.max.x,this.max.y,this.max.z).applyMatrix4(t),this.setFromPoints(Fi)),this}translate(t){return this.min.add(t),this.max.add(t),this}equals(t){return t.min.equals(this.min)&&t.max.equals(this.max)}}const Fi=[new Ui,new Ui,new Ui,new Ui,new Ui,new Ui,new Ui,new Ui],Bi=new Ui,zi=new Oi,Hi=new Ui,Vi=new Ui,ki=new Ui,Gi=new Ui,Wi=new Ui,Xi=new Ui,ji=new Ui,qi=new Ui,Yi=new Ui,Zi=new Ui;function Ji(t,e,n,i,r){for(let s=0,a=t.length-3;s<=a;s+=3){Zi.fromArray(t,s);const a=r.x*Math.abs(Zi.x)+r.y*Math.abs(Zi.y)+r.z*Math.abs(Zi.z),o=e.dot(Zi),l=n.dot(Zi),c=i.dot(Zi);if(Math.max(-Math.max(o,l,c),Math.min(o,l,c))>a)return!1}return!0}const Ki=new Oi,$i=new Ui,Qi=new Ui;class tr{constructor(t=new Ui,e=-1){this.isSphere=!0,this.center=t,this.radius=e}set(t,e){return this.center.copy(t),this.radius=e,this}setFromPoints(t,e){const n=this.center;void 0!==e?n.copy(e):Ki.setFromPoints(t).getCenter(n);let i=0;for(let e=0,r=t.length;ethis.radius*this.radius&&(e.sub(this.center).normalize(),e.multiplyScalar(this.radius).add(this.center)),e}getBoundingBox(t){return this.isEmpty()?(t.makeEmpty(),t):(t.set(this.center,this.center),t.expandByScalar(this.radius),t)}applyMatrix4(t){return this.center.applyMatrix4(t),this.radius=this.radius*t.getMaxScaleOnAxis(),this}translate(t){return this.center.add(t),this}expandByPoint(t){if(this.isEmpty())return this.center.copy(t),this.radius=0,this;$i.subVectors(t,this.center);const e=$i.lengthSq();if(e>this.radius*this.radius){const t=Math.sqrt(e),n=.5*(t-this.radius);this.center.addScaledVector($i,n/t),this.radius+=n}return this}union(t){return t.isEmpty()?this:this.isEmpty()?(this.copy(t),this):(!0===this.center.equals(t.center)?this.radius=Math.max(this.radius,t.radius):(Qi.subVectors(t.center,this.center).setLength(t.radius),this.expandByPoint($i.copy(t.center).add(Qi)),this.expandByPoint($i.copy(t.center).sub(Qi))),this)}equals(t){return t.center.equals(this.center)&&t.radius===this.radius}clone(){return(new this.constructor).copy(this)}}const er=new Ui,nr=new Ui,ir=new Ui,rr=new Ui,sr=new Ui,ar=new Ui,or=new Ui;class lr{constructor(t=new Ui,e=new Ui(0,0,-1)){this.origin=t,this.direction=e}set(t,e){return this.origin.copy(t),this.direction.copy(e),this}copy(t){return this.origin.copy(t.origin),this.direction.copy(t.direction),this}at(t,e){return e.copy(this.origin).addScaledVector(this.direction,t)}lookAt(t){return this.direction.copy(t).sub(this.origin).normalize(),this}recast(t){return this.origin.copy(this.at(t,er)),this}closestPointToPoint(t,e){e.subVectors(t,this.origin);const n=e.dot(this.direction);return n<0?e.copy(this.origin):e.copy(this.origin).addScaledVector(this.direction,n)}distanceToPoint(t){return Math.sqrt(this.distanceSqToPoint(t))}distanceSqToPoint(t){const e=er.subVectors(t,this.origin).dot(this.direction);return e<0?this.origin.distanceToSquared(t):(er.copy(this.origin).addScaledVector(this.direction,e),er.distanceToSquared(t))}distanceSqToSegment(t,e,n,i){nr.copy(t).add(e).multiplyScalar(.5),ir.copy(e).sub(t).normalize(),rr.copy(this.origin).sub(nr);const r=.5*t.distanceTo(e),s=-this.direction.dot(ir),a=rr.dot(this.direction),o=-rr.dot(ir),l=rr.lengthSq(),c=Math.abs(1-s*s);let h,u,d,p;if(c>0)if(h=s*o-a,u=s*a-o,p=r*c,h>=0)if(u>=-p)if(u<=p){const t=1/c;h*=t,u*=t,d=h*(h+s*u+2*a)+u*(s*h+u+2*o)+l}else u=r,h=Math.max(0,-(s*u+a)),d=-h*h+u*(u+2*o)+l;else u=-r,h=Math.max(0,-(s*u+a)),d=-h*h+u*(u+2*o)+l;else u<=-p?(h=Math.max(0,-(-s*r+a)),u=h>0?-r:Math.min(Math.max(-r,-o),r),d=-h*h+u*(u+2*o)+l):u<=p?(h=0,u=Math.min(Math.max(-r,-o),r),d=u*(u+2*o)+l):(h=Math.max(0,-(s*r+a)),u=h>0?r:Math.min(Math.max(-r,-o),r),d=-h*h+u*(u+2*o)+l);else u=s>0?-r:r,h=Math.max(0,-(s*u+a)),d=-h*h+u*(u+2*o)+l;return n&&n.copy(this.origin).addScaledVector(this.direction,h),i&&i.copy(nr).addScaledVector(ir,u),d}intersectSphere(t,e){er.subVectors(t.center,this.origin);const n=er.dot(this.direction),i=er.dot(er)-n*n,r=t.radius*t.radius;if(i>r)return null;const s=Math.sqrt(r-i),a=n-s,o=n+s;return o<0?null:a<0?this.at(o,e):this.at(a,e)}intersectsSphere(t){return this.distanceSqToPoint(t.center)<=t.radius*t.radius}distanceToPlane(t){const e=t.normal.dot(this.direction);if(0===e)return 0===t.distanceToPoint(this.origin)?0:null;const n=-(this.origin.dot(t.normal)+t.constant)/e;return n>=0?n:null}intersectPlane(t,e){const n=this.distanceToPlane(t);return null===n?null:this.at(n,e)}intersectsPlane(t){const e=t.distanceToPoint(this.origin);if(0===e)return!0;return t.normal.dot(this.direction)*e<0}intersectBox(t,e){let n,i,r,s,a,o;const l=1/this.direction.x,c=1/this.direction.y,h=1/this.direction.z,u=this.origin;return l>=0?(n=(t.min.x-u.x)*l,i=(t.max.x-u.x)*l):(n=(t.max.x-u.x)*l,i=(t.min.x-u.x)*l),c>=0?(r=(t.min.y-u.y)*c,s=(t.max.y-u.y)*c):(r=(t.max.y-u.y)*c,s=(t.min.y-u.y)*c),n>s||r>i?null:((r>n||isNaN(n))&&(n=r),(s=0?(a=(t.min.z-u.z)*h,o=(t.max.z-u.z)*h):(a=(t.max.z-u.z)*h,o=(t.min.z-u.z)*h),n>o||a>i?null:((a>n||n!=n)&&(n=a),(o=0?n:i,e)))}intersectsBox(t){return null!==this.intersectBox(t,er)}intersectTriangle(t,e,n,i,r){sr.subVectors(e,t),ar.subVectors(n,t),or.crossVectors(sr,ar);let s,a=this.direction.dot(or);if(a>0){if(i)return null;s=1}else{if(!(a<0))return null;s=-1,a=-a}rr.subVectors(this.origin,t);const o=s*this.direction.dot(ar.crossVectors(rr,ar));if(o<0)return null;const l=s*this.direction.dot(sr.cross(rr));if(l<0)return null;if(o+l>a)return null;const c=-s*rr.dot(or);return c<0?null:this.at(c/a,r)}applyMatrix4(t){return this.origin.applyMatrix4(t),this.direction.transformDirection(t),this}equals(t){return t.origin.equals(this.origin)&&t.direction.equals(this.direction)}clone(){return(new this.constructor).copy(this)}}class cr{constructor(t,e,n,i,r,s,a,o,l,c,h,u,d,p,m,f){cr.prototype.isMatrix4=!0,this.elements=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1],void 0!==t&&this.set(t,e,n,i,r,s,a,o,l,c,h,u,d,p,m,f)}set(t,e,n,i,r,s,a,o,l,c,h,u,d,p,m,f){const g=this.elements;return g[0]=t,g[4]=e,g[8]=n,g[12]=i,g[1]=r,g[5]=s,g[9]=a,g[13]=o,g[2]=l,g[6]=c,g[10]=h,g[14]=u,g[3]=d,g[7]=p,g[11]=m,g[15]=f,this}identity(){return this.set(1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1),this}clone(){return(new cr).fromArray(this.elements)}copy(t){const e=this.elements,n=t.elements;return e[0]=n[0],e[1]=n[1],e[2]=n[2],e[3]=n[3],e[4]=n[4],e[5]=n[5],e[6]=n[6],e[7]=n[7],e[8]=n[8],e[9]=n[9],e[10]=n[10],e[11]=n[11],e[12]=n[12],e[13]=n[13],e[14]=n[14],e[15]=n[15],this}copyPosition(t){const e=this.elements,n=t.elements;return e[12]=n[12],e[13]=n[13],e[14]=n[14],this}setFromMatrix3(t){const e=t.elements;return this.set(e[0],e[3],e[6],0,e[1],e[4],e[7],0,e[2],e[5],e[8],0,0,0,0,1),this}extractBasis(t,e,n){return t.setFromMatrixColumn(this,0),e.setFromMatrixColumn(this,1),n.setFromMatrixColumn(this,2),this}makeBasis(t,e,n){return this.set(t.x,e.x,n.x,0,t.y,e.y,n.y,0,t.z,e.z,n.z,0,0,0,0,1),this}extractRotation(t){const e=this.elements,n=t.elements,i=1/hr.setFromMatrixColumn(t,0).length(),r=1/hr.setFromMatrixColumn(t,1).length(),s=1/hr.setFromMatrixColumn(t,2).length();return e[0]=n[0]*i,e[1]=n[1]*i,e[2]=n[2]*i,e[3]=0,e[4]=n[4]*r,e[5]=n[5]*r,e[6]=n[6]*r,e[7]=0,e[8]=n[8]*s,e[9]=n[9]*s,e[10]=n[10]*s,e[11]=0,e[12]=0,e[13]=0,e[14]=0,e[15]=1,this}makeRotationFromEuler(t){const e=this.elements,n=t.x,i=t.y,r=t.z,s=Math.cos(n),a=Math.sin(n),o=Math.cos(i),l=Math.sin(i),c=Math.cos(r),h=Math.sin(r);if("XYZ"===t.order){const t=s*c,n=s*h,i=a*c,r=a*h;e[0]=o*c,e[4]=-o*h,e[8]=l,e[1]=n+i*l,e[5]=t-r*l,e[9]=-a*o,e[2]=r-t*l,e[6]=i+n*l,e[10]=s*o}else if("YXZ"===t.order){const t=o*c,n=o*h,i=l*c,r=l*h;e[0]=t+r*a,e[4]=i*a-n,e[8]=s*l,e[1]=s*h,e[5]=s*c,e[9]=-a,e[2]=n*a-i,e[6]=r+t*a,e[10]=s*o}else if("ZXY"===t.order){const t=o*c,n=o*h,i=l*c,r=l*h;e[0]=t-r*a,e[4]=-s*h,e[8]=i+n*a,e[1]=n+i*a,e[5]=s*c,e[9]=r-t*a,e[2]=-s*l,e[6]=a,e[10]=s*o}else if("ZYX"===t.order){const t=s*c,n=s*h,i=a*c,r=a*h;e[0]=o*c,e[4]=i*l-n,e[8]=t*l+r,e[1]=o*h,e[5]=r*l+t,e[9]=n*l-i,e[2]=-l,e[6]=a*o,e[10]=s*o}else if("YZX"===t.order){const t=s*o,n=s*l,i=a*o,r=a*l;e[0]=o*c,e[4]=r-t*h,e[8]=i*h+n,e[1]=h,e[5]=s*c,e[9]=-a*c,e[2]=-l*c,e[6]=n*h+i,e[10]=t-r*h}else if("XZY"===t.order){const t=s*o,n=s*l,i=a*o,r=a*l;e[0]=o*c,e[4]=-h,e[8]=l*c,e[1]=t*h+r,e[5]=s*c,e[9]=n*h-i,e[2]=i*h-n,e[6]=a*c,e[10]=r*h+t}return e[3]=0,e[7]=0,e[11]=0,e[12]=0,e[13]=0,e[14]=0,e[15]=1,this}makeRotationFromQuaternion(t){return this.compose(dr,t,pr)}lookAt(t,e,n){const i=this.elements;return gr.subVectors(t,e),0===gr.lengthSq()&&(gr.z=1),gr.normalize(),mr.crossVectors(n,gr),0===mr.lengthSq()&&(1===Math.abs(n.z)?gr.x+=1e-4:gr.z+=1e-4,gr.normalize(),mr.crossVectors(n,gr)),mr.normalize(),fr.crossVectors(gr,mr),i[0]=mr.x,i[4]=fr.x,i[8]=gr.x,i[1]=mr.y,i[5]=fr.y,i[9]=gr.y,i[2]=mr.z,i[6]=fr.z,i[10]=gr.z,this}multiply(t){return this.multiplyMatrices(this,t)}premultiply(t){return this.multiplyMatrices(t,this)}multiplyMatrices(t,e){const n=t.elements,i=e.elements,r=this.elements,s=n[0],a=n[4],o=n[8],l=n[12],c=n[1],h=n[5],u=n[9],d=n[13],p=n[2],m=n[6],f=n[10],g=n[14],_=n[3],v=n[7],x=n[11],y=n[15],M=i[0],S=i[4],b=i[8],E=i[12],T=i[1],w=i[5],A=i[9],R=i[13],C=i[2],P=i[6],L=i[10],I=i[14],U=i[3],N=i[7],D=i[11],O=i[15];return r[0]=s*M+a*T+o*C+l*U,r[4]=s*S+a*w+o*P+l*N,r[8]=s*b+a*A+o*L+l*D,r[12]=s*E+a*R+o*I+l*O,r[1]=c*M+h*T+u*C+d*U,r[5]=c*S+h*w+u*P+d*N,r[9]=c*b+h*A+u*L+d*D,r[13]=c*E+h*R+u*I+d*O,r[2]=p*M+m*T+f*C+g*U,r[6]=p*S+m*w+f*P+g*N,r[10]=p*b+m*A+f*L+g*D,r[14]=p*E+m*R+f*I+g*O,r[3]=_*M+v*T+x*C+y*U,r[7]=_*S+v*w+x*P+y*N,r[11]=_*b+v*A+x*L+y*D,r[15]=_*E+v*R+x*I+y*O,this}multiplyScalar(t){const e=this.elements;return e[0]*=t,e[4]*=t,e[8]*=t,e[12]*=t,e[1]*=t,e[5]*=t,e[9]*=t,e[13]*=t,e[2]*=t,e[6]*=t,e[10]*=t,e[14]*=t,e[3]*=t,e[7]*=t,e[11]*=t,e[15]*=t,this}determinant(){const t=this.elements,e=t[0],n=t[4],i=t[8],r=t[12],s=t[1],a=t[5],o=t[9],l=t[13],c=t[2],h=t[6],u=t[10],d=t[14];return t[3]*(+r*o*h-i*l*h-r*a*u+n*l*u+i*a*d-n*o*d)+t[7]*(+e*o*d-e*l*u+r*s*u-i*s*d+i*l*c-r*o*c)+t[11]*(+e*l*h-e*a*d-r*s*h+n*s*d+r*a*c-n*l*c)+t[15]*(-i*a*c-e*o*h+e*a*u+i*s*h-n*s*u+n*o*c)}transpose(){const t=this.elements;let e;return e=t[1],t[1]=t[4],t[4]=e,e=t[2],t[2]=t[8],t[8]=e,e=t[6],t[6]=t[9],t[9]=e,e=t[3],t[3]=t[12],t[12]=e,e=t[7],t[7]=t[13],t[13]=e,e=t[11],t[11]=t[14],t[14]=e,this}setPosition(t,e,n){const i=this.elements;return t.isVector3?(i[12]=t.x,i[13]=t.y,i[14]=t.z):(i[12]=t,i[13]=e,i[14]=n),this}invert(){const t=this.elements,e=t[0],n=t[1],i=t[2],r=t[3],s=t[4],a=t[5],o=t[6],l=t[7],c=t[8],h=t[9],u=t[10],d=t[11],p=t[12],m=t[13],f=t[14],g=t[15],_=h*f*l-m*u*l+m*o*d-a*f*d-h*o*g+a*u*g,v=p*u*l-c*f*l-p*o*d+s*f*d+c*o*g-s*u*g,x=c*m*l-p*h*l+p*a*d-s*m*d-c*a*g+s*h*g,y=p*h*o-c*m*o-p*a*u+s*m*u+c*a*f-s*h*f,M=e*_+n*v+i*x+r*y;if(0===M)return this.set(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0);const S=1/M;return t[0]=_*S,t[1]=(m*u*r-h*f*r-m*i*d+n*f*d+h*i*g-n*u*g)*S,t[2]=(a*f*r-m*o*r+m*i*l-n*f*l-a*i*g+n*o*g)*S,t[3]=(h*o*r-a*u*r-h*i*l+n*u*l+a*i*d-n*o*d)*S,t[4]=v*S,t[5]=(c*f*r-p*u*r+p*i*d-e*f*d-c*i*g+e*u*g)*S,t[6]=(p*o*r-s*f*r-p*i*l+e*f*l+s*i*g-e*o*g)*S,t[7]=(s*u*r-c*o*r+c*i*l-e*u*l-s*i*d+e*o*d)*S,t[8]=x*S,t[9]=(p*h*r-c*m*r-p*n*d+e*m*d+c*n*g-e*h*g)*S,t[10]=(s*m*r-p*a*r+p*n*l-e*m*l-s*n*g+e*a*g)*S,t[11]=(c*a*r-s*h*r-c*n*l+e*h*l+s*n*d-e*a*d)*S,t[12]=y*S,t[13]=(c*m*i-p*h*i+p*n*u-e*m*u-c*n*f+e*h*f)*S,t[14]=(p*a*i-s*m*i-p*n*o+e*m*o+s*n*f-e*a*f)*S,t[15]=(s*h*i-c*a*i+c*n*o-e*h*o-s*n*u+e*a*u)*S,this}scale(t){const e=this.elements,n=t.x,i=t.y,r=t.z;return e[0]*=n,e[4]*=i,e[8]*=r,e[1]*=n,e[5]*=i,e[9]*=r,e[2]*=n,e[6]*=i,e[10]*=r,e[3]*=n,e[7]*=i,e[11]*=r,this}getMaxScaleOnAxis(){const t=this.elements,e=t[0]*t[0]+t[1]*t[1]+t[2]*t[2],n=t[4]*t[4]+t[5]*t[5]+t[6]*t[6],i=t[8]*t[8]+t[9]*t[9]+t[10]*t[10];return Math.sqrt(Math.max(e,n,i))}makeTranslation(t,e,n){return t.isVector3?this.set(1,0,0,t.x,0,1,0,t.y,0,0,1,t.z,0,0,0,1):this.set(1,0,0,t,0,1,0,e,0,0,1,n,0,0,0,1),this}makeRotationX(t){const e=Math.cos(t),n=Math.sin(t);return this.set(1,0,0,0,0,e,-n,0,0,n,e,0,0,0,0,1),this}makeRotationY(t){const e=Math.cos(t),n=Math.sin(t);return this.set(e,0,n,0,0,1,0,0,-n,0,e,0,0,0,0,1),this}makeRotationZ(t){const e=Math.cos(t),n=Math.sin(t);return this.set(e,-n,0,0,n,e,0,0,0,0,1,0,0,0,0,1),this}makeRotationAxis(t,e){const n=Math.cos(e),i=Math.sin(e),r=1-n,s=t.x,a=t.y,o=t.z,l=r*s,c=r*a;return this.set(l*s+n,l*a-i*o,l*o+i*a,0,l*a+i*o,c*a+n,c*o-i*s,0,l*o-i*a,c*o+i*s,r*o*o+n,0,0,0,0,1),this}makeScale(t,e,n){return this.set(t,0,0,0,0,e,0,0,0,0,n,0,0,0,0,1),this}makeShear(t,e,n,i,r,s){return this.set(1,n,r,0,t,1,s,0,e,i,1,0,0,0,0,1),this}compose(t,e,n){const i=this.elements,r=e._x,s=e._y,a=e._z,o=e._w,l=r+r,c=s+s,h=a+a,u=r*l,d=r*c,p=r*h,m=s*c,f=s*h,g=a*h,_=o*l,v=o*c,x=o*h,y=n.x,M=n.y,S=n.z;return i[0]=(1-(m+g))*y,i[1]=(d+x)*y,i[2]=(p-v)*y,i[3]=0,i[4]=(d-x)*M,i[5]=(1-(u+g))*M,i[6]=(f+_)*M,i[7]=0,i[8]=(p+v)*S,i[9]=(f-_)*S,i[10]=(1-(u+m))*S,i[11]=0,i[12]=t.x,i[13]=t.y,i[14]=t.z,i[15]=1,this}decompose(t,e,n){const i=this.elements;let r=hr.set(i[0],i[1],i[2]).length();const s=hr.set(i[4],i[5],i[6]).length(),a=hr.set(i[8],i[9],i[10]).length();this.determinant()<0&&(r=-r),t.x=i[12],t.y=i[13],t.z=i[14],ur.copy(this);const o=1/r,l=1/s,c=1/a;return ur.elements[0]*=o,ur.elements[1]*=o,ur.elements[2]*=o,ur.elements[4]*=l,ur.elements[5]*=l,ur.elements[6]*=l,ur.elements[8]*=c,ur.elements[9]*=c,ur.elements[10]*=c,e.setFromRotationMatrix(ur),n.x=r,n.y=s,n.z=a,this}makePerspective(t,e,n,i,r,s,a=2e3){const o=this.elements,l=2*r/(e-t),c=2*r/(n-i),h=(e+t)/(e-t),u=(n+i)/(n-i);let d,p;if(a===Bn)d=-(s+r)/(s-r),p=-2*s*r/(s-r);else{if(a!==zn)throw new Error("THREE.Matrix4.makePerspective(): Invalid coordinate system: "+a);d=-s/(s-r),p=-s*r/(s-r)}return o[0]=l,o[4]=0,o[8]=h,o[12]=0,o[1]=0,o[5]=c,o[9]=u,o[13]=0,o[2]=0,o[6]=0,o[10]=d,o[14]=p,o[3]=0,o[7]=0,o[11]=-1,o[15]=0,this}makeOrthographic(t,e,n,i,r,s,a=2e3){const o=this.elements,l=1/(e-t),c=1/(n-i),h=1/(s-r),u=(e+t)*l,d=(n+i)*c;let p,m;if(a===Bn)p=(s+r)*h,m=-2*h;else{if(a!==zn)throw new Error("THREE.Matrix4.makeOrthographic(): Invalid coordinate system: "+a);p=r*h,m=-1*h}return o[0]=2*l,o[4]=0,o[8]=0,o[12]=-u,o[1]=0,o[5]=2*c,o[9]=0,o[13]=-d,o[2]=0,o[6]=0,o[10]=m,o[14]=-p,o[3]=0,o[7]=0,o[11]=0,o[15]=1,this}equals(t){const e=this.elements,n=t.elements;for(let t=0;t<16;t++)if(e[t]!==n[t])return!1;return!0}fromArray(t,e=0){for(let n=0;n<16;n++)this.elements[n]=t[n+e];return this}toArray(t=[],e=0){const n=this.elements;return t[e]=n[0],t[e+1]=n[1],t[e+2]=n[2],t[e+3]=n[3],t[e+4]=n[4],t[e+5]=n[5],t[e+6]=n[6],t[e+7]=n[7],t[e+8]=n[8],t[e+9]=n[9],t[e+10]=n[10],t[e+11]=n[11],t[e+12]=n[12],t[e+13]=n[13],t[e+14]=n[14],t[e+15]=n[15],t}}const hr=new Ui,ur=new cr,dr=new Ui(0,0,0),pr=new Ui(1,1,1),mr=new Ui,fr=new Ui,gr=new Ui,_r=new cr,vr=new Ii;class xr{constructor(t=0,e=0,n=0,i=xr.DEFAULT_ORDER){this.isEuler=!0,this._x=t,this._y=e,this._z=n,this._order=i}get x(){return this._x}set x(t){this._x=t,this._onChangeCallback()}get y(){return this._y}set y(t){this._y=t,this._onChangeCallback()}get z(){return this._z}set z(t){this._z=t,this._onChangeCallback()}get order(){return this._order}set order(t){this._order=t,this._onChangeCallback()}set(t,e,n,i=this._order){return this._x=t,this._y=e,this._z=n,this._order=i,this._onChangeCallback(),this}clone(){return new this.constructor(this._x,this._y,this._z,this._order)}copy(t){return this._x=t._x,this._y=t._y,this._z=t._z,this._order=t._order,this._onChangeCallback(),this}setFromRotationMatrix(t,e=this._order,n=!0){const i=t.elements,r=i[0],s=i[4],a=i[8],o=i[1],l=i[5],c=i[9],h=i[2],u=i[6],d=i[10];switch(e){case"XYZ":this._y=Math.asin(jn(a,-1,1)),Math.abs(a)<.9999999?(this._x=Math.atan2(-c,d),this._z=Math.atan2(-s,r)):(this._x=Math.atan2(u,l),this._z=0);break;case"YXZ":this._x=Math.asin(-jn(c,-1,1)),Math.abs(c)<.9999999?(this._y=Math.atan2(a,d),this._z=Math.atan2(o,l)):(this._y=Math.atan2(-h,r),this._z=0);break;case"ZXY":this._x=Math.asin(jn(u,-1,1)),Math.abs(u)<.9999999?(this._y=Math.atan2(-h,d),this._z=Math.atan2(-s,l)):(this._y=0,this._z=Math.atan2(o,r));break;case"ZYX":this._y=Math.asin(-jn(h,-1,1)),Math.abs(h)<.9999999?(this._x=Math.atan2(u,d),this._z=Math.atan2(o,r)):(this._x=0,this._z=Math.atan2(-s,l));break;case"YZX":this._z=Math.asin(jn(o,-1,1)),Math.abs(o)<.9999999?(this._x=Math.atan2(-c,l),this._y=Math.atan2(-h,r)):(this._x=0,this._y=Math.atan2(a,d));break;case"XZY":this._z=Math.asin(-jn(s,-1,1)),Math.abs(s)<.9999999?(this._x=Math.atan2(u,l),this._y=Math.atan2(a,r)):(this._x=Math.atan2(-c,d),this._y=0);break;default:console.warn("THREE.Euler: .setFromRotationMatrix() encountered an unknown order: "+e)}return this._order=e,!0===n&&this._onChangeCallback(),this}setFromQuaternion(t,e,n){return _r.makeRotationFromQuaternion(t),this.setFromRotationMatrix(_r,e,n)}setFromVector3(t,e=this._order){return this.set(t.x,t.y,t.z,e)}reorder(t){return vr.setFromEuler(this),this.setFromQuaternion(vr,t)}equals(t){return t._x===this._x&&t._y===this._y&&t._z===this._z&&t._order===this._order}fromArray(t){return this._x=t[0],this._y=t[1],this._z=t[2],void 0!==t[3]&&(this._order=t[3]),this._onChangeCallback(),this}toArray(t=[],e=0){return t[e]=this._x,t[e+1]=this._y,t[e+2]=this._z,t[e+3]=this._order,t}_onChange(t){return this._onChangeCallback=t,this}_onChangeCallback(){}*[Symbol.iterator](){yield this._x,yield this._y,yield this._z,yield this._order}}xr.DEFAULT_ORDER="XYZ";class yr{constructor(){this.mask=1}set(t){this.mask=(1<>>0}enable(t){this.mask|=1<1){for(let t=0;t1){for(let t=0;t0&&(i.userData=this.userData),i.layers=this.layers.mask,i.matrix=this.matrix.toArray(),i.up=this.up.toArray(),!1===this.matrixAutoUpdate&&(i.matrixAutoUpdate=!1),this.isInstancedMesh&&(i.type="InstancedMesh",i.count=this.count,i.instanceMatrix=this.instanceMatrix.toJSON(),null!==this.instanceColor&&(i.instanceColor=this.instanceColor.toJSON())),this.isBatchedMesh&&(i.type="BatchedMesh",i.perObjectFrustumCulled=this.perObjectFrustumCulled,i.sortObjects=this.sortObjects,i.drawRanges=this._drawRanges,i.reservedRanges=this._reservedRanges,i.visibility=this._visibility,i.active=this._active,i.bounds=this._bounds.map((t=>({boxInitialized:t.boxInitialized,boxMin:t.box.min.toArray(),boxMax:t.box.max.toArray(),sphereInitialized:t.sphereInitialized,sphereRadius:t.sphere.radius,sphereCenter:t.sphere.center.toArray()}))),i.maxGeometryCount=this._maxGeometryCount,i.maxVertexCount=this._maxVertexCount,i.maxIndexCount=this._maxIndexCount,i.geometryInitialized=this._geometryInitialized,i.geometryCount=this._geometryCount,i.matricesTexture=this._matricesTexture.toJSON(t),null!==this.boundingSphere&&(i.boundingSphere={center:i.boundingSphere.center.toArray(),radius:i.boundingSphere.radius}),null!==this.boundingBox&&(i.boundingBox={min:i.boundingBox.min.toArray(),max:i.boundingBox.max.toArray()})),this.isScene)this.background&&(this.background.isColor?i.background=this.background.toJSON():this.background.isTexture&&(i.background=this.background.toJSON(t).uuid)),this.environment&&this.environment.isTexture&&!0!==this.environment.isRenderTargetTexture&&(i.environment=this.environment.toJSON(t).uuid);else if(this.isMesh||this.isLine||this.isPoints){i.geometry=r(t.geometries,this.geometry);const e=this.geometry.parameters;if(void 0!==e&&void 0!==e.shapes){const n=e.shapes;if(Array.isArray(n))for(let e=0,i=n.length;e0){i.children=[];for(let e=0;e0){i.animations=[];for(let e=0;e0&&(n.geometries=e),i.length>0&&(n.materials=i),r.length>0&&(n.textures=r),a.length>0&&(n.images=a),o.length>0&&(n.shapes=o),l.length>0&&(n.skeletons=l),c.length>0&&(n.animations=c),h.length>0&&(n.nodes=h)}return n.object=i,n;function s(t){const e=[];for(const n in t){const i=t[n];delete i.metadata,e.push(i)}return e}}clone(t){return(new this.constructor).copy(this,t)}copy(t,e=!0){if(this.name=t.name,this.up.copy(t.up),this.position.copy(t.position),this.rotation.order=t.rotation.order,this.quaternion.copy(t.quaternion),this.scale.copy(t.scale),this.matrix.copy(t.matrix),this.matrixWorld.copy(t.matrixWorld),this.matrixAutoUpdate=t.matrixAutoUpdate,this.matrixWorldAutoUpdate=t.matrixWorldAutoUpdate,this.matrixWorldNeedsUpdate=t.matrixWorldNeedsUpdate,this.layers.mask=t.layers.mask,this.visible=t.visible,this.castShadow=t.castShadow,this.receiveShadow=t.receiveShadow,this.frustumCulled=t.frustumCulled,this.renderOrder=t.renderOrder,this.animations=t.animations.slice(),this.userData=JSON.parse(JSON.stringify(t.userData)),!0===e)for(let e=0;e0?i.multiplyScalar(1/Math.sqrt(r)):i.set(0,0,0)}static getBarycoord(t,e,n,i,r){Dr.subVectors(i,e),Or.subVectors(n,e),Fr.subVectors(t,e);const s=Dr.dot(Dr),a=Dr.dot(Or),o=Dr.dot(Fr),l=Or.dot(Or),c=Or.dot(Fr),h=s*l-a*a;if(0===h)return r.set(0,0,0),null;const u=1/h,d=(l*o-a*c)*u,p=(s*c-a*o)*u;return r.set(1-d-p,p,d)}static containsPoint(t,e,n,i){return null!==this.getBarycoord(t,e,n,i,Br)&&(Br.x>=0&&Br.y>=0&&Br.x+Br.y<=1)}static getUV(t,e,n,i,r,s,a,o){return!1===Xr&&(console.warn("THREE.Triangle.getUV() has been renamed to THREE.Triangle.getInterpolation()."),Xr=!0),this.getInterpolation(t,e,n,i,r,s,a,o)}static getInterpolation(t,e,n,i,r,s,a,o){return null===this.getBarycoord(t,e,n,i,Br)?(o.x=0,o.y=0,"z"in o&&(o.z=0),"w"in o&&(o.w=0),null):(o.setScalar(0),o.addScaledVector(r,Br.x),o.addScaledVector(s,Br.y),o.addScaledVector(a,Br.z),o)}static isFrontFacing(t,e,n,i){return Dr.subVectors(n,e),Or.subVectors(t,e),Dr.cross(Or).dot(i)<0}set(t,e,n){return this.a.copy(t),this.b.copy(e),this.c.copy(n),this}setFromPointsAndIndices(t,e,n,i){return this.a.copy(t[e]),this.b.copy(t[n]),this.c.copy(t[i]),this}setFromAttributeAndIndices(t,e,n,i){return this.a.fromBufferAttribute(t,e),this.b.fromBufferAttribute(t,n),this.c.fromBufferAttribute(t,i),this}clone(){return(new this.constructor).copy(this)}copy(t){return this.a.copy(t.a),this.b.copy(t.b),this.c.copy(t.c),this}getArea(){return Dr.subVectors(this.c,this.b),Or.subVectors(this.a,this.b),.5*Dr.cross(Or).length()}getMidpoint(t){return t.addVectors(this.a,this.b).add(this.c).multiplyScalar(1/3)}getNormal(t){return jr.getNormal(this.a,this.b,this.c,t)}getPlane(t){return t.setFromCoplanarPoints(this.a,this.b,this.c)}getBarycoord(t,e){return jr.getBarycoord(t,this.a,this.b,this.c,e)}getUV(t,e,n,i,r){return!1===Xr&&(console.warn("THREE.Triangle.getUV() has been renamed to THREE.Triangle.getInterpolation()."),Xr=!0),jr.getInterpolation(t,this.a,this.b,this.c,e,n,i,r)}getInterpolation(t,e,n,i,r){return jr.getInterpolation(t,this.a,this.b,this.c,e,n,i,r)}containsPoint(t){return jr.containsPoint(t,this.a,this.b,this.c)}isFrontFacing(t){return jr.isFrontFacing(this.a,this.b,this.c,t)}intersectsBox(t){return t.intersectsTriangle(this)}closestPointToPoint(t,e){const n=this.a,i=this.b,r=this.c;let s,a;zr.subVectors(i,n),Hr.subVectors(r,n),kr.subVectors(t,n);const o=zr.dot(kr),l=Hr.dot(kr);if(o<=0&&l<=0)return e.copy(n);Gr.subVectors(t,i);const c=zr.dot(Gr),h=Hr.dot(Gr);if(c>=0&&h<=c)return e.copy(i);const u=o*h-c*l;if(u<=0&&o>=0&&c<=0)return s=o/(o-c),e.copy(n).addScaledVector(zr,s);Wr.subVectors(t,r);const d=zr.dot(Wr),p=Hr.dot(Wr);if(p>=0&&d<=p)return e.copy(r);const m=d*l-o*p;if(m<=0&&l>=0&&p<=0)return a=l/(l-p),e.copy(n).addScaledVector(Hr,a);const f=c*p-d*h;if(f<=0&&h-c>=0&&d-p>=0)return Vr.subVectors(r,i),a=(h-c)/(h-c+(d-p)),e.copy(i).addScaledVector(Vr,a);const g=1/(f+m+u);return s=m*g,a=u*g,e.copy(n).addScaledVector(zr,s).addScaledVector(Hr,a)}equals(t){return t.a.equals(this.a)&&t.b.equals(this.b)&&t.c.equals(this.c)}}const qr={aliceblue:15792383,antiquewhite:16444375,aqua:65535,aquamarine:8388564,azure:15794175,beige:16119260,bisque:16770244,black:0,blanchedalmond:16772045,blue:255,blueviolet:9055202,brown:10824234,burlywood:14596231,cadetblue:6266528,chartreuse:8388352,chocolate:13789470,coral:16744272,cornflowerblue:6591981,cornsilk:16775388,crimson:14423100,cyan:65535,darkblue:139,darkcyan:35723,darkgoldenrod:12092939,darkgray:11119017,darkgreen:25600,darkgrey:11119017,darkkhaki:12433259,darkmagenta:9109643,darkolivegreen:5597999,darkorange:16747520,darkorchid:10040012,darkred:9109504,darksalmon:15308410,darkseagreen:9419919,darkslateblue:4734347,darkslategray:3100495,darkslategrey:3100495,darkturquoise:52945,darkviolet:9699539,deeppink:16716947,deepskyblue:49151,dimgray:6908265,dimgrey:6908265,dodgerblue:2003199,firebrick:11674146,floralwhite:16775920,forestgreen:2263842,fuchsia:16711935,gainsboro:14474460,ghostwhite:16316671,gold:16766720,goldenrod:14329120,gray:8421504,green:32768,greenyellow:11403055,grey:8421504,honeydew:15794160,hotpink:16738740,indianred:13458524,indigo:4915330,ivory:16777200,khaki:15787660,lavender:15132410,lavenderblush:16773365,lawngreen:8190976,lemonchiffon:16775885,lightblue:11393254,lightcoral:15761536,lightcyan:14745599,lightgoldenrodyellow:16448210,lightgray:13882323,lightgreen:9498256,lightgrey:13882323,lightpink:16758465,lightsalmon:16752762,lightseagreen:2142890,lightskyblue:8900346,lightslategray:7833753,lightslategrey:7833753,lightsteelblue:11584734,lightyellow:16777184,lime:65280,limegreen:3329330,linen:16445670,magenta:16711935,maroon:8388608,mediumaquamarine:6737322,mediumblue:205,mediumorchid:12211667,mediumpurple:9662683,mediumseagreen:3978097,mediumslateblue:8087790,mediumspringgreen:64154,mediumturquoise:4772300,mediumvioletred:13047173,midnightblue:1644912,mintcream:16121850,mistyrose:16770273,moccasin:16770229,navajowhite:16768685,navy:128,oldlace:16643558,olive:8421376,olivedrab:7048739,orange:16753920,orangered:16729344,orchid:14315734,palegoldenrod:15657130,palegreen:10025880,paleturquoise:11529966,palevioletred:14381203,papayawhip:16773077,peachpuff:16767673,peru:13468991,pink:16761035,plum:14524637,powderblue:11591910,purple:8388736,rebeccapurple:6697881,red:16711680,rosybrown:12357519,royalblue:4286945,saddlebrown:9127187,salmon:16416882,sandybrown:16032864,seagreen:3050327,seashell:16774638,sienna:10506797,silver:12632256,skyblue:8900331,slateblue:6970061,slategray:7372944,slategrey:7372944,snow:16775930,springgreen:65407,steelblue:4620980,tan:13808780,teal:32896,thistle:14204888,tomato:16737095,turquoise:4251856,violet:15631086,wheat:16113331,white:16777215,whitesmoke:16119285,yellow:16776960,yellowgreen:10145074},Yr={h:0,s:0,l:0},Zr={h:0,s:0,l:0};function Jr(t,e,n){return n<0&&(n+=1),n>1&&(n-=1),n<1/6?t+6*(e-t)*n:n<.5?e:n<2/3?t+6*(e-t)*(2/3-n):t}class Kr{constructor(t,e,n){return this.isColor=!0,this.r=1,this.g=1,this.b=1,this.set(t,e,n)}set(t,e,n){if(void 0===e&&void 0===n){const e=t;e&&e.isColor?this.copy(e):"number"==typeof e?this.setHex(e):"string"==typeof e&&this.setStyle(e)}else this.setRGB(t,e,n);return this}setScalar(t){return this.r=t,this.g=t,this.b=t,this}setHex(t,e=qe){return t=Math.floor(t),this.r=(t>>16&255)/255,this.g=(t>>8&255)/255,this.b=(255&t)/255,mi.toWorkingColorSpace(this,e),this}setRGB(t,e,n,i=mi.workingColorSpace){return this.r=t,this.g=e,this.b=n,mi.toWorkingColorSpace(this,i),this}setHSL(t,e,n,i=mi.workingColorSpace){if(t=qn(t,1),e=jn(e,0,1),n=jn(n,0,1),0===e)this.r=this.g=this.b=n;else{const i=n<=.5?n*(1+e):n+e-n*e,r=2*n-i;this.r=Jr(r,i,t+1/3),this.g=Jr(r,i,t),this.b=Jr(r,i,t-1/3)}return mi.toWorkingColorSpace(this,i),this}setStyle(t,e=qe){function n(e){void 0!==e&&parseFloat(e)<1&&console.warn("THREE.Color: Alpha component of "+t+" will be ignored.")}let i;if(i=/^(\w+)\(([^\)]*)\)/.exec(t)){let r;const s=i[1],a=i[2];switch(s){case"rgb":case"rgba":if(r=/^\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*(?:,\s*(\d*\.?\d+)\s*)?$/.exec(a))return n(r[4]),this.setRGB(Math.min(255,parseInt(r[1],10))/255,Math.min(255,parseInt(r[2],10))/255,Math.min(255,parseInt(r[3],10))/255,e);if(r=/^\s*(\d+)\%\s*,\s*(\d+)\%\s*,\s*(\d+)\%\s*(?:,\s*(\d*\.?\d+)\s*)?$/.exec(a))return n(r[4]),this.setRGB(Math.min(100,parseInt(r[1],10))/100,Math.min(100,parseInt(r[2],10))/100,Math.min(100,parseInt(r[3],10))/100,e);break;case"hsl":case"hsla":if(r=/^\s*(\d*\.?\d+)\s*,\s*(\d*\.?\d+)\%\s*,\s*(\d*\.?\d+)\%\s*(?:,\s*(\d*\.?\d+)\s*)?$/.exec(a))return n(r[4]),this.setHSL(parseFloat(r[1])/360,parseFloat(r[2])/100,parseFloat(r[3])/100,e);break;default:console.warn("THREE.Color: Unknown color model "+t)}}else if(i=/^\#([A-Fa-f\d]+)$/.exec(t)){const n=i[1],r=n.length;if(3===r)return this.setRGB(parseInt(n.charAt(0),16)/15,parseInt(n.charAt(1),16)/15,parseInt(n.charAt(2),16)/15,e);if(6===r)return this.setHex(parseInt(n,16),e);console.warn("THREE.Color: Invalid hex color "+t)}else if(t&&t.length>0)return this.setColorName(t,e);return this}setColorName(t,e=qe){const n=qr[t.toLowerCase()];return void 0!==n?this.setHex(n,e):console.warn("THREE.Color: Unknown color "+t),this}clone(){return new this.constructor(this.r,this.g,this.b)}copy(t){return this.r=t.r,this.g=t.g,this.b=t.b,this}copySRGBToLinear(t){return this.r=fi(t.r),this.g=fi(t.g),this.b=fi(t.b),this}copyLinearToSRGB(t){return this.r=gi(t.r),this.g=gi(t.g),this.b=gi(t.b),this}convertSRGBToLinear(){return this.copySRGBToLinear(this),this}convertLinearToSRGB(){return this.copyLinearToSRGB(this),this}getHex(t=qe){return mi.fromWorkingColorSpace($r.copy(this),t),65536*Math.round(jn(255*$r.r,0,255))+256*Math.round(jn(255*$r.g,0,255))+Math.round(jn(255*$r.b,0,255))}getHexString(t=qe){return("000000"+this.getHex(t).toString(16)).slice(-6)}getHSL(t,e=mi.workingColorSpace){mi.fromWorkingColorSpace($r.copy(this),e);const n=$r.r,i=$r.g,r=$r.b,s=Math.max(n,i,r),a=Math.min(n,i,r);let o,l;const c=(a+s)/2;if(a===s)o=0,l=0;else{const t=s-a;switch(l=c<=.5?t/(s+a):t/(2-s-a),s){case n:o=(i-r)/t+(i0!=t>0&&this.version++,this._alphaTest=t}onBuild(){}onBeforeRender(){}onBeforeCompile(){}customProgramCacheKey(){return this.onBeforeCompile.toString()}setValues(t){if(void 0!==t)for(const e in t){const n=t[e];if(void 0===n){console.warn(`THREE.Material: parameter '${e}' has value of undefined.`);continue}const i=this[e];void 0!==i?i&&i.isColor?i.set(n):i&&i.isVector3&&n&&n.isVector3?i.copy(n):this[e]=n:console.warn(`THREE.Material: '${e}' is not a property of THREE.${this.type}.`)}}toJSON(t){const e=void 0===t||"string"==typeof t;e&&(t={textures:{},images:{}});const n={metadata:{version:4.6,type:"Material",generator:"Material.toJSON"}};function i(t){const e=[];for(const n in t){const i=t[n];delete i.metadata,e.push(i)}return e}if(n.uuid=this.uuid,n.type=this.type,""!==this.name&&(n.name=this.name),this.color&&this.color.isColor&&(n.color=this.color.getHex()),void 0!==this.roughness&&(n.roughness=this.roughness),void 0!==this.metalness&&(n.metalness=this.metalness),void 0!==this.sheen&&(n.sheen=this.sheen),this.sheenColor&&this.sheenColor.isColor&&(n.sheenColor=this.sheenColor.getHex()),void 0!==this.sheenRoughness&&(n.sheenRoughness=this.sheenRoughness),this.emissive&&this.emissive.isColor&&(n.emissive=this.emissive.getHex()),this.emissiveIntensity&&1!==this.emissiveIntensity&&(n.emissiveIntensity=this.emissiveIntensity),this.specular&&this.specular.isColor&&(n.specular=this.specular.getHex()),void 0!==this.specularIntensity&&(n.specularIntensity=this.specularIntensity),this.specularColor&&this.specularColor.isColor&&(n.specularColor=this.specularColor.getHex()),void 0!==this.shininess&&(n.shininess=this.shininess),void 0!==this.clearcoat&&(n.clearcoat=this.clearcoat),void 0!==this.clearcoatRoughness&&(n.clearcoatRoughness=this.clearcoatRoughness),this.clearcoatMap&&this.clearcoatMap.isTexture&&(n.clearcoatMap=this.clearcoatMap.toJSON(t).uuid),this.clearcoatRoughnessMap&&this.clearcoatRoughnessMap.isTexture&&(n.clearcoatRoughnessMap=this.clearcoatRoughnessMap.toJSON(t).uuid),this.clearcoatNormalMap&&this.clearcoatNormalMap.isTexture&&(n.clearcoatNormalMap=this.clearcoatNormalMap.toJSON(t).uuid,n.clearcoatNormalScale=this.clearcoatNormalScale.toArray()),void 0!==this.iridescence&&(n.iridescence=this.iridescence),void 0!==this.iridescenceIOR&&(n.iridescenceIOR=this.iridescenceIOR),void 0!==this.iridescenceThicknessRange&&(n.iridescenceThicknessRange=this.iridescenceThicknessRange),this.iridescenceMap&&this.iridescenceMap.isTexture&&(n.iridescenceMap=this.iridescenceMap.toJSON(t).uuid),this.iridescenceThicknessMap&&this.iridescenceThicknessMap.isTexture&&(n.iridescenceThicknessMap=this.iridescenceThicknessMap.toJSON(t).uuid),void 0!==this.anisotropy&&(n.anisotropy=this.anisotropy),void 0!==this.anisotropyRotation&&(n.anisotropyRotation=this.anisotropyRotation),this.anisotropyMap&&this.anisotropyMap.isTexture&&(n.anisotropyMap=this.anisotropyMap.toJSON(t).uuid),this.map&&this.map.isTexture&&(n.map=this.map.toJSON(t).uuid),this.matcap&&this.matcap.isTexture&&(n.matcap=this.matcap.toJSON(t).uuid),this.alphaMap&&this.alphaMap.isTexture&&(n.alphaMap=this.alphaMap.toJSON(t).uuid),this.lightMap&&this.lightMap.isTexture&&(n.lightMap=this.lightMap.toJSON(t).uuid,n.lightMapIntensity=this.lightMapIntensity),this.aoMap&&this.aoMap.isTexture&&(n.aoMap=this.aoMap.toJSON(t).uuid,n.aoMapIntensity=this.aoMapIntensity),this.bumpMap&&this.bumpMap.isTexture&&(n.bumpMap=this.bumpMap.toJSON(t).uuid,n.bumpScale=this.bumpScale),this.normalMap&&this.normalMap.isTexture&&(n.normalMap=this.normalMap.toJSON(t).uuid,n.normalMapType=this.normalMapType,n.normalScale=this.normalScale.toArray()),this.displacementMap&&this.displacementMap.isTexture&&(n.displacementMap=this.displacementMap.toJSON(t).uuid,n.displacementScale=this.displacementScale,n.displacementBias=this.displacementBias),this.roughnessMap&&this.roughnessMap.isTexture&&(n.roughnessMap=this.roughnessMap.toJSON(t).uuid),this.metalnessMap&&this.metalnessMap.isTexture&&(n.metalnessMap=this.metalnessMap.toJSON(t).uuid),this.emissiveMap&&this.emissiveMap.isTexture&&(n.emissiveMap=this.emissiveMap.toJSON(t).uuid),this.specularMap&&this.specularMap.isTexture&&(n.specularMap=this.specularMap.toJSON(t).uuid),this.specularIntensityMap&&this.specularIntensityMap.isTexture&&(n.specularIntensityMap=this.specularIntensityMap.toJSON(t).uuid),this.specularColorMap&&this.specularColorMap.isTexture&&(n.specularColorMap=this.specularColorMap.toJSON(t).uuid),this.envMap&&this.envMap.isTexture&&(n.envMap=this.envMap.toJSON(t).uuid,void 0!==this.combine&&(n.combine=this.combine)),void 0!==this.envMapIntensity&&(n.envMapIntensity=this.envMapIntensity),void 0!==this.reflectivity&&(n.reflectivity=this.reflectivity),void 0!==this.refractionRatio&&(n.refractionRatio=this.refractionRatio),this.gradientMap&&this.gradientMap.isTexture&&(n.gradientMap=this.gradientMap.toJSON(t).uuid),void 0!==this.transmission&&(n.transmission=this.transmission),this.transmissionMap&&this.transmissionMap.isTexture&&(n.transmissionMap=this.transmissionMap.toJSON(t).uuid),void 0!==this.thickness&&(n.thickness=this.thickness),this.thicknessMap&&this.thicknessMap.isTexture&&(n.thicknessMap=this.thicknessMap.toJSON(t).uuid),void 0!==this.attenuationDistance&&this.attenuationDistance!==1/0&&(n.attenuationDistance=this.attenuationDistance),void 0!==this.attenuationColor&&(n.attenuationColor=this.attenuationColor.getHex()),void 0!==this.size&&(n.size=this.size),null!==this.shadowSide&&(n.shadowSide=this.shadowSide),void 0!==this.sizeAttenuation&&(n.sizeAttenuation=this.sizeAttenuation),1!==this.blending&&(n.blending=this.blending),this.side!==u&&(n.side=this.side),!0===this.vertexColors&&(n.vertexColors=!0),this.opacity<1&&(n.opacity=this.opacity),!0===this.transparent&&(n.transparent=!0),this.blendSrc!==P&&(n.blendSrc=this.blendSrc),this.blendDst!==L&&(n.blendDst=this.blendDst),this.blendEquation!==M&&(n.blendEquation=this.blendEquation),null!==this.blendSrcAlpha&&(n.blendSrcAlpha=this.blendSrcAlpha),null!==this.blendDstAlpha&&(n.blendDstAlpha=this.blendDstAlpha),null!==this.blendEquationAlpha&&(n.blendEquationAlpha=this.blendEquationAlpha),this.blendColor&&this.blendColor.isColor&&(n.blendColor=this.blendColor.getHex()),0!==this.blendAlpha&&(n.blendAlpha=this.blendAlpha),3!==this.depthFunc&&(n.depthFunc=this.depthFunc),!1===this.depthTest&&(n.depthTest=this.depthTest),!1===this.depthWrite&&(n.depthWrite=this.depthWrite),!1===this.colorWrite&&(n.colorWrite=this.colorWrite),255!==this.stencilWriteMask&&(n.stencilWriteMask=this.stencilWriteMask),519!==this.stencilFunc&&(n.stencilFunc=this.stencilFunc),0!==this.stencilRef&&(n.stencilRef=this.stencilRef),255!==this.stencilFuncMask&&(n.stencilFuncMask=this.stencilFuncMask),this.stencilFail!==nn&&(n.stencilFail=this.stencilFail),this.stencilZFail!==nn&&(n.stencilZFail=this.stencilZFail),this.stencilZPass!==nn&&(n.stencilZPass=this.stencilZPass),!0===this.stencilWrite&&(n.stencilWrite=this.stencilWrite),void 0!==this.rotation&&0!==this.rotation&&(n.rotation=this.rotation),!0===this.polygonOffset&&(n.polygonOffset=!0),0!==this.polygonOffsetFactor&&(n.polygonOffsetFactor=this.polygonOffsetFactor),0!==this.polygonOffsetUnits&&(n.polygonOffsetUnits=this.polygonOffsetUnits),void 0!==this.linewidth&&1!==this.linewidth&&(n.linewidth=this.linewidth),void 0!==this.dashSize&&(n.dashSize=this.dashSize),void 0!==this.gapSize&&(n.gapSize=this.gapSize),void 0!==this.scale&&(n.scale=this.scale),!0===this.dithering&&(n.dithering=!0),this.alphaTest>0&&(n.alphaTest=this.alphaTest),!0===this.alphaHash&&(n.alphaHash=!0),!0===this.alphaToCoverage&&(n.alphaToCoverage=!0),!0===this.premultipliedAlpha&&(n.premultipliedAlpha=!0),!0===this.forceSinglePass&&(n.forceSinglePass=!0),!0===this.wireframe&&(n.wireframe=!0),this.wireframeLinewidth>1&&(n.wireframeLinewidth=this.wireframeLinewidth),"round"!==this.wireframeLinecap&&(n.wireframeLinecap=this.wireframeLinecap),"round"!==this.wireframeLinejoin&&(n.wireframeLinejoin=this.wireframeLinejoin),!0===this.flatShading&&(n.flatShading=!0),!1===this.visible&&(n.visible=!1),!1===this.toneMapped&&(n.toneMapped=!1),!1===this.fog&&(n.fog=!1),Object.keys(this.userData).length>0&&(n.userData=this.userData),e){const e=i(t.textures),r=i(t.images);e.length>0&&(n.textures=e),r.length>0&&(n.images=r)}return n}clone(){return(new this.constructor).copy(this)}copy(t){this.name=t.name,this.blending=t.blending,this.side=t.side,this.vertexColors=t.vertexColors,this.opacity=t.opacity,this.transparent=t.transparent,this.blendSrc=t.blendSrc,this.blendDst=t.blendDst,this.blendEquation=t.blendEquation,this.blendSrcAlpha=t.blendSrcAlpha,this.blendDstAlpha=t.blendDstAlpha,this.blendEquationAlpha=t.blendEquationAlpha,this.blendColor.copy(t.blendColor),this.blendAlpha=t.blendAlpha,this.depthFunc=t.depthFunc,this.depthTest=t.depthTest,this.depthWrite=t.depthWrite,this.stencilWriteMask=t.stencilWriteMask,this.stencilFunc=t.stencilFunc,this.stencilRef=t.stencilRef,this.stencilFuncMask=t.stencilFuncMask,this.stencilFail=t.stencilFail,this.stencilZFail=t.stencilZFail,this.stencilZPass=t.stencilZPass,this.stencilWrite=t.stencilWrite;const e=t.clippingPlanes;let n=null;if(null!==e){const t=e.length;n=new Array(t);for(let i=0;i!==t;++i)n[i]=e[i].clone()}return this.clippingPlanes=n,this.clipIntersection=t.clipIntersection,this.clipShadows=t.clipShadows,this.shadowSide=t.shadowSide,this.colorWrite=t.colorWrite,this.precision=t.precision,this.polygonOffset=t.polygonOffset,this.polygonOffsetFactor=t.polygonOffsetFactor,this.polygonOffsetUnits=t.polygonOffsetUnits,this.dithering=t.dithering,this.alphaTest=t.alphaTest,this.alphaHash=t.alphaHash,this.alphaToCoverage=t.alphaToCoverage,this.premultipliedAlpha=t.premultipliedAlpha,this.forceSinglePass=t.forceSinglePass,this.visible=t.visible,this.toneMapped=t.toneMapped,this.userData=JSON.parse(JSON.stringify(t.userData)),this}dispose(){this.dispatchEvent({type:"dispose"})}set needsUpdate(t){!0===t&&this.version++}}class es extends ts{constructor(t){super(),this.isMeshBasicMaterial=!0,this.type="MeshBasicMaterial",this.color=new Kr(16777215),this.map=null,this.lightMap=null,this.lightMapIntensity=1,this.aoMap=null,this.aoMapIntensity=1,this.specularMap=null,this.alphaMap=null,this.envMap=null,this.combine=Z,this.reflectivity=1,this.refractionRatio=.98,this.wireframe=!1,this.wireframeLinewidth=1,this.wireframeLinecap="round",this.wireframeLinejoin="round",this.fog=!0,this.setValues(t)}copy(t){return super.copy(t),this.color.copy(t.color),this.map=t.map,this.lightMap=t.lightMap,this.lightMapIntensity=t.lightMapIntensity,this.aoMap=t.aoMap,this.aoMapIntensity=t.aoMapIntensity,this.specularMap=t.specularMap,this.alphaMap=t.alphaMap,this.envMap=t.envMap,this.combine=t.combine,this.reflectivity=t.reflectivity,this.refractionRatio=t.refractionRatio,this.wireframe=t.wireframe,this.wireframeLinewidth=t.wireframeLinewidth,this.wireframeLinecap=t.wireframeLinecap,this.wireframeLinejoin=t.wireframeLinejoin,this.fog=t.fog,this}}const ns=is();function is(){const t=new ArrayBuffer(4),e=new Float32Array(t),n=new Uint32Array(t),i=new Uint32Array(512),r=new Uint32Array(512);for(let t=0;t<256;++t){const e=t-127;e<-27?(i[t]=0,i[256|t]=32768,r[t]=24,r[256|t]=24):e<-14?(i[t]=1024>>-e-14,i[256|t]=1024>>-e-14|32768,r[t]=-e-1,r[256|t]=-e-1):e<=15?(i[t]=e+15<<10,i[256|t]=e+15<<10|32768,r[t]=13,r[256|t]=13):e<128?(i[t]=31744,i[256|t]=64512,r[t]=24,r[256|t]=24):(i[t]=31744,i[256|t]=64512,r[t]=13,r[256|t]=13)}const s=new Uint32Array(2048),a=new Uint32Array(64),o=new Uint32Array(64);for(let t=1;t<1024;++t){let e=t<<13,n=0;for(;0==(8388608&e);)e<<=1,n-=8388608;e&=-8388609,n+=947912704,s[t]=e|n}for(let t=1024;t<2048;++t)s[t]=939524096+(t-1024<<13);for(let t=1;t<31;++t)a[t]=t<<23;a[31]=1199570944,a[32]=2147483648;for(let t=33;t<63;++t)a[t]=2147483648+(t-32<<23);a[63]=3347054592;for(let t=1;t<64;++t)32!==t&&(o[t]=1024);return{floatView:e,uint32View:n,baseTable:i,shiftTable:r,mantissaTable:s,exponentTable:a,offsetTable:o}}function rs(t){Math.abs(t)>65504&&console.warn("THREE.DataUtils.toHalfFloat(): Value out of range."),t=jn(t,-65504,65504),ns.floatView[0]=t;const e=ns.uint32View[0],n=e>>23&511;return ns.baseTable[n]+((8388607&e)>>ns.shiftTable[n])}function ss(t){const e=t>>10;return ns.uint32View[0]=ns.mantissaTable[ns.offsetTable[e]+(1023&t)]+ns.exponentTable[e],ns.floatView[0]}const as={toHalfFloat:rs,fromHalfFloat:ss},os=new Ui,ls=new ti;class cs{constructor(t,e,n=!1){if(Array.isArray(t))throw new TypeError("THREE.BufferAttribute: array should be a Typed Array.");this.isBufferAttribute=!0,this.name="",this.array=t,this.itemSize=e,this.count=void 0!==t?t.length/e:0,this.normalized=n,this.usage=wn,this._updateRange={offset:0,count:-1},this.updateRanges=[],this.gpuType=It,this.version=0}onUploadCallback(){}set needsUpdate(t){!0===t&&this.version++}get updateRange(){return console.warn("THREE.BufferAttribute: updateRange() is deprecated and will be removed in r169. Use addUpdateRange() instead."),this._updateRange}setUsage(t){return this.usage=t,this}addUpdateRange(t,e){this.updateRanges.push({start:t,count:e})}clearUpdateRanges(){this.updateRanges.length=0}copy(t){return this.name=t.name,this.array=new t.array.constructor(t.array),this.itemSize=t.itemSize,this.count=t.count,this.normalized=t.normalized,this.usage=t.usage,this.gpuType=t.gpuType,this}copyAt(t,e,n){t*=this.itemSize,n*=e.itemSize;for(let i=0,r=this.itemSize;i0&&(t.userData=this.userData),void 0!==this.parameters){const e=this.parameters;for(const n in e)void 0!==e[n]&&(t[n]=e[n]);return t}t.data={attributes:{}};const e=this.index;null!==e&&(t.data.index={type:e.array.constructor.name,array:Array.prototype.slice.call(e.array)});const n=this.attributes;for(const e in n){const i=n[e];t.data.attributes[e]=i.toJSON(t.data)}const i={};let r=!1;for(const e in this.morphAttributes){const n=this.morphAttributes[e],s=[];for(let e=0,i=n.length;e0&&(i[e]=s,r=!0)}r&&(t.data.morphAttributes=i,t.data.morphTargetsRelative=this.morphTargetsRelative);const s=this.groups;s.length>0&&(t.data.groups=JSON.parse(JSON.stringify(s)));const a=this.boundingSphere;return null!==a&&(t.data.boundingSphere={center:a.center.toArray(),radius:a.radius}),t}clone(){return(new this.constructor).copy(this)}copy(t){this.index=null,this.attributes={},this.morphAttributes={},this.groups=[],this.boundingBox=null,this.boundingSphere=null;const e={};this.name=t.name;const n=t.index;null!==n&&this.setIndex(n.clone(e));const i=t.attributes;for(const t in i){const n=i[t];this.setAttribute(t,n.clone(e))}const r=t.morphAttributes;for(const t in r){const n=[],i=r[t];for(let t=0,r=i.length;t0){const n=t[e[0]];if(void 0!==n){this.morphTargetInfluences=[],this.morphTargetDictionary={};for(let t=0,e=n.length;t(t.far-t.near)**2)return}Rs.copy(r).invert(),Cs.copy(t.ray).applyMatrix4(Rs),null!==n.boundingBox&&!1===Cs.intersectsBox(n.boundingBox)||this._computeIntersections(t,e,Cs)}}_computeIntersections(t,e,n){let i;const r=this.geometry,s=this.material,a=r.index,o=r.attributes.position,l=r.attributes.uv,c=r.attributes.uv1,h=r.attributes.normal,u=r.groups,d=r.drawRange;if(null!==a)if(Array.isArray(s))for(let r=0,o=u.length;rn.far?null:{distance:c,point:Ws.clone(),object:t}}(t,e,n,i,Is,Us,Ns,Gs);if(h){r&&(Fs.fromBufferAttribute(r,o),Bs.fromBufferAttribute(r,l),zs.fromBufferAttribute(r,c),h.uv=jr.getInterpolation(Gs,Is,Us,Ns,Fs,Bs,zs,new ti)),s&&(Fs.fromBufferAttribute(s,o),Bs.fromBufferAttribute(s,l),zs.fromBufferAttribute(s,c),h.uv1=jr.getInterpolation(Gs,Is,Us,Ns,Fs,Bs,zs,new ti),h.uv2=h.uv1),a&&(Hs.fromBufferAttribute(a,o),Vs.fromBufferAttribute(a,l),ks.fromBufferAttribute(a,c),h.normal=jr.getInterpolation(Gs,Is,Us,Ns,Hs,Vs,ks,new Ui),h.normal.dot(i.direction)>0&&h.normal.multiplyScalar(-1));const t={a:o,b:l,c:c,normal:new Ui,materialIndex:0};jr.getNormal(Is,Us,Ns,t.normal),h.face=t}return h}class qs extends As{constructor(t=1,e=1,n=1,i=1,r=1,s=1){super(),this.type="BoxGeometry",this.parameters={width:t,height:e,depth:n,widthSegments:i,heightSegments:r,depthSegments:s};const a=this;i=Math.floor(i),r=Math.floor(r),s=Math.floor(s);const o=[],l=[],c=[],h=[];let u=0,d=0;function p(t,e,n,i,r,s,p,m,f,g,_){const v=s/f,x=p/g,y=s/2,M=p/2,S=m/2,b=f+1,E=g+1;let T=0,w=0;const A=new Ui;for(let s=0;s0?1:-1,c.push(A.x,A.y,A.z),h.push(o/f),h.push(1-s/g),T+=1}}for(let t=0;t0&&(e.defines=this.defines),e.vertexShader=this.vertexShader,e.fragmentShader=this.fragmentShader,e.lights=this.lights,e.clipping=this.clipping;const n={};for(const t in this.extensions)!0===this.extensions[t]&&(n[t]=!0);return Object.keys(n).length>0&&(e.extensions=n),e}}class Qs extends Nr{constructor(){super(),this.isCamera=!0,this.type="Camera",this.matrixWorldInverse=new cr,this.projectionMatrix=new cr,this.projectionMatrixInverse=new cr,this.coordinateSystem=Bn}copy(t,e){return super.copy(t,e),this.matrixWorldInverse.copy(t.matrixWorldInverse),this.projectionMatrix.copy(t.projectionMatrix),this.projectionMatrixInverse.copy(t.projectionMatrixInverse),this.coordinateSystem=t.coordinateSystem,this}getWorldDirection(t){return super.getWorldDirection(t).negate()}updateMatrixWorld(t){super.updateMatrixWorld(t),this.matrixWorldInverse.copy(this.matrixWorld).invert()}updateWorldMatrix(t,e){super.updateWorldMatrix(t,e),this.matrixWorldInverse.copy(this.matrixWorld).invert()}clone(){return(new this.constructor).copy(this)}}class ta extends Qs{constructor(t=50,e=1,n=.1,i=2e3){super(),this.isPerspectiveCamera=!0,this.type="PerspectiveCamera",this.fov=t,this.zoom=1,this.near=n,this.far=i,this.focus=10,this.aspect=e,this.view=null,this.filmGauge=35,this.filmOffset=0,this.updateProjectionMatrix()}copy(t,e){return super.copy(t,e),this.fov=t.fov,this.zoom=t.zoom,this.near=t.near,this.far=t.far,this.focus=t.focus,this.aspect=t.aspect,this.view=null===t.view?null:Object.assign({},t.view),this.filmGauge=t.filmGauge,this.filmOffset=t.filmOffset,this}setFocalLength(t){const e=.5*this.getFilmHeight()/t;this.fov=2*Wn*Math.atan(e),this.updateProjectionMatrix()}getFocalLength(){const t=Math.tan(.5*Gn*this.fov);return.5*this.getFilmHeight()/t}getEffectiveFOV(){return 2*Wn*Math.atan(Math.tan(.5*Gn*this.fov)/this.zoom)}getFilmWidth(){return this.filmGauge*Math.min(this.aspect,1)}getFilmHeight(){return this.filmGauge/Math.max(this.aspect,1)}setViewOffset(t,e,n,i,r,s){this.aspect=t/e,null===this.view&&(this.view={enabled:!0,fullWidth:1,fullHeight:1,offsetX:0,offsetY:0,width:1,height:1}),this.view.enabled=!0,this.view.fullWidth=t,this.view.fullHeight=e,this.view.offsetX=n,this.view.offsetY=i,this.view.width=r,this.view.height=s,this.updateProjectionMatrix()}clearViewOffset(){null!==this.view&&(this.view.enabled=!1),this.updateProjectionMatrix()}updateProjectionMatrix(){const t=this.near;let e=t*Math.tan(.5*Gn*this.fov)/this.zoom,n=2*e,i=this.aspect*n,r=-.5*i;const s=this.view;if(null!==this.view&&this.view.enabled){const t=s.fullWidth,a=s.fullHeight;r+=s.offsetX*i/t,e-=s.offsetY*n/a,i*=s.width/t,n*=s.height/a}const a=this.filmOffset;0!==a&&(r+=t*a/this.getFilmWidth()),this.projectionMatrix.makePerspective(r,r+i,e,e-n,t,this.far,this.coordinateSystem),this.projectionMatrixInverse.copy(this.projectionMatrix).invert()}toJSON(t){const e=super.toJSON(t);return e.object.fov=this.fov,e.object.zoom=this.zoom,e.object.near=this.near,e.object.far=this.far,e.object.focus=this.focus,e.object.aspect=this.aspect,null!==this.view&&(e.object.view=Object.assign({},this.view)),e.object.filmGauge=this.filmGauge,e.object.filmOffset=this.filmOffset,e}}const ea=-90;class na extends Nr{constructor(t,e,n){super(),this.type="CubeCamera",this.renderTarget=n,this.coordinateSystem=null,this.activeMipmapLevel=0;const i=new ta(ea,1,t,e);i.layers=this.layers,this.add(i);const r=new ta(ea,1,t,e);r.layers=this.layers,this.add(r);const s=new ta(ea,1,t,e);s.layers=this.layers,this.add(s);const a=new ta(ea,1,t,e);a.layers=this.layers,this.add(a);const o=new ta(ea,1,t,e);o.layers=this.layers,this.add(o);const l=new ta(ea,1,t,e);l.layers=this.layers,this.add(l)}updateCoordinateSystem(){const t=this.coordinateSystem,e=this.children.concat(),[n,i,r,s,a,o]=e;for(const t of e)this.remove(t);if(t===Bn)n.up.set(0,1,0),n.lookAt(1,0,0),i.up.set(0,1,0),i.lookAt(-1,0,0),r.up.set(0,0,-1),r.lookAt(0,1,0),s.up.set(0,0,1),s.lookAt(0,-1,0),a.up.set(0,1,0),a.lookAt(0,0,1),o.up.set(0,1,0),o.lookAt(0,0,-1);else{if(t!==zn)throw new Error("THREE.CubeCamera.updateCoordinateSystem(): Invalid coordinate system: "+t);n.up.set(0,-1,0),n.lookAt(-1,0,0),i.up.set(0,-1,0),i.lookAt(1,0,0),r.up.set(0,0,1),r.lookAt(0,1,0),s.up.set(0,0,-1),s.lookAt(0,-1,0),a.up.set(0,-1,0),a.lookAt(0,0,1),o.up.set(0,-1,0),o.lookAt(0,0,-1)}for(const t of e)this.add(t),t.updateMatrixWorld()}update(t,e){null===this.parent&&this.updateMatrixWorld();const{renderTarget:n,activeMipmapLevel:i}=this;this.coordinateSystem!==t.coordinateSystem&&(this.coordinateSystem=t.coordinateSystem,this.updateCoordinateSystem());const[r,s,a,o,l,c]=this.children,h=t.getRenderTarget(),u=t.getActiveCubeFace(),d=t.getActiveMipmapLevel(),p=t.xr.enabled;t.xr.enabled=!1;const m=n.texture.generateMipmaps;n.texture.generateMipmaps=!1,t.setRenderTarget(n,0,i),t.render(e,r),t.setRenderTarget(n,1,i),t.render(e,s),t.setRenderTarget(n,2,i),t.render(e,a),t.setRenderTarget(n,3,i),t.render(e,o),t.setRenderTarget(n,4,i),t.render(e,l),n.texture.generateMipmaps=m,t.setRenderTarget(n,5,i),t.render(e,c),t.setRenderTarget(h,u,d),t.xr.enabled=p,n.texture.needsPMREMUpdate=!0}}class ia extends bi{constructor(t,e,n,i,r,s,a,o,l,c){super(t=void 0!==t?t:[],e=void 0!==e?e:lt,n,i,r,s,a,o,l,c),this.isCubeTexture=!0,this.flipY=!1}get images(){return this.image}set images(t){this.image=t}}class ra extends wi{constructor(t=1,e={}){super(t,t,e),this.isWebGLCubeRenderTarget=!0;const n={width:t,height:t,depth:1},i=[n,n,n,n,n,n];void 0!==e.encoding&&(ci("THREE.WebGLCubeRenderTarget: option.encoding has been replaced by option.colorSpace."),e.colorSpace=e.encoding===Ve?qe:je),this.texture=new ia(i,e.mapping,e.wrapS,e.wrapT,e.magFilter,e.minFilter,e.format,e.type,e.anisotropy,e.colorSpace),this.texture.isRenderTargetTexture=!0,this.texture.generateMipmaps=void 0!==e.generateMipmaps&&e.generateMipmaps,this.texture.minFilter=void 0!==e.minFilter?e.minFilter:Mt}fromEquirectangularTexture(t,e){this.texture.type=e.type,this.texture.colorSpace=e.colorSpace,this.texture.generateMipmaps=e.generateMipmaps,this.texture.minFilter=e.minFilter,this.texture.magFilter=e.magFilter;const n={uniforms:{tEquirect:{value:null}},vertexShader:"\n\n\t\t\t\tvarying vec3 vWorldDirection;\n\n\t\t\t\tvec3 transformDirection( in vec3 dir, in mat4 matrix ) {\n\n\t\t\t\t\treturn normalize( ( matrix * vec4( dir, 0.0 ) ).xyz );\n\n\t\t\t\t}\n\n\t\t\t\tvoid main() {\n\n\t\t\t\t\tvWorldDirection = transformDirection( position, modelMatrix );\n\n\t\t\t\t\t#include \n\t\t\t\t\t#include \n\n\t\t\t\t}\n\t\t\t",fragmentShader:"\n\n\t\t\t\tuniform sampler2D tEquirect;\n\n\t\t\t\tvarying vec3 vWorldDirection;\n\n\t\t\t\t#include \n\n\t\t\t\tvoid main() {\n\n\t\t\t\t\tvec3 direction = normalize( vWorldDirection );\n\n\t\t\t\t\tvec2 sampleUV = equirectUv( direction );\n\n\t\t\t\t\tgl_FragColor = texture2D( tEquirect, sampleUV );\n\n\t\t\t\t}\n\t\t\t"},i=new qs(5,5,5),r=new $s({name:"CubemapFromEquirect",uniforms:Ys(n.uniforms),vertexShader:n.vertexShader,fragmentShader:n.fragmentShader,side:d,blending:0});r.uniforms.tEquirect.value=e;const s=new Xs(i,r),a=e.minFilter;e.minFilter===Et&&(e.minFilter=Mt);return new na(1,10,this).update(t,s),e.minFilter=a,s.geometry.dispose(),s.material.dispose(),this}clear(t,e,n,i){const r=t.getRenderTarget();for(let r=0;r<6;r++)t.setRenderTarget(this,r),t.clear(e,n,i);t.setRenderTarget(r)}}const sa=new Ui,aa=new Ui,oa=new ei;class la{constructor(t=new Ui(1,0,0),e=0){this.isPlane=!0,this.normal=t,this.constant=e}set(t,e){return this.normal.copy(t),this.constant=e,this}setComponents(t,e,n,i){return this.normal.set(t,e,n),this.constant=i,this}setFromNormalAndCoplanarPoint(t,e){return this.normal.copy(t),this.constant=-e.dot(this.normal),this}setFromCoplanarPoints(t,e,n){const i=sa.subVectors(n,e).cross(aa.subVectors(t,e)).normalize();return this.setFromNormalAndCoplanarPoint(i,t),this}copy(t){return this.normal.copy(t.normal),this.constant=t.constant,this}normalize(){const t=1/this.normal.length();return this.normal.multiplyScalar(t),this.constant*=t,this}negate(){return this.constant*=-1,this.normal.negate(),this}distanceToPoint(t){return this.normal.dot(t)+this.constant}distanceToSphere(t){return this.distanceToPoint(t.center)-t.radius}projectPoint(t,e){return e.copy(t).addScaledVector(this.normal,-this.distanceToPoint(t))}intersectLine(t,e){const n=t.delta(sa),i=this.normal.dot(n);if(0===i)return 0===this.distanceToPoint(t.start)?e.copy(t.start):null;const r=-(t.start.dot(this.normal)+this.constant)/i;return r<0||r>1?null:e.copy(t.start).addScaledVector(n,r)}intersectsLine(t){const e=this.distanceToPoint(t.start),n=this.distanceToPoint(t.end);return e<0&&n>0||n<0&&e>0}intersectsBox(t){return t.intersectsPlane(this)}intersectsSphere(t){return t.intersectsPlane(this)}coplanarPoint(t){return t.copy(this.normal).multiplyScalar(-this.constant)}applyMatrix4(t,e){const n=e||oa.getNormalMatrix(t),i=this.coplanarPoint(sa).applyMatrix4(t),r=this.normal.applyMatrix3(n).normalize();return this.constant=-i.dot(r),this}translate(t){return this.constant-=t.dot(this.normal),this}equals(t){return t.normal.equals(this.normal)&&t.constant===this.constant}clone(){return(new this.constructor).copy(this)}}const ca=new tr,ha=new Ui;class ua{constructor(t=new la,e=new la,n=new la,i=new la,r=new la,s=new la){this.planes=[t,e,n,i,r,s]}set(t,e,n,i,r,s){const a=this.planes;return a[0].copy(t),a[1].copy(e),a[2].copy(n),a[3].copy(i),a[4].copy(r),a[5].copy(s),this}copy(t){const e=this.planes;for(let n=0;n<6;n++)e[n].copy(t.planes[n]);return this}setFromProjectionMatrix(t,e=2e3){const n=this.planes,i=t.elements,r=i[0],s=i[1],a=i[2],o=i[3],l=i[4],c=i[5],h=i[6],u=i[7],d=i[8],p=i[9],m=i[10],f=i[11],g=i[12],_=i[13],v=i[14],x=i[15];if(n[0].setComponents(o-r,u-l,f-d,x-g).normalize(),n[1].setComponents(o+r,u+l,f+d,x+g).normalize(),n[2].setComponents(o+s,u+c,f+p,x+_).normalize(),n[3].setComponents(o-s,u-c,f-p,x-_).normalize(),n[4].setComponents(o-a,u-h,f-m,x-v).normalize(),e===Bn)n[5].setComponents(o+a,u+h,f+m,x+v).normalize();else{if(e!==zn)throw new Error("THREE.Frustum.setFromProjectionMatrix(): Invalid coordinate system: "+e);n[5].setComponents(a,h,m,v).normalize()}return this}intersectsObject(t){if(void 0!==t.boundingSphere)null===t.boundingSphere&&t.computeBoundingSphere(),ca.copy(t.boundingSphere).applyMatrix4(t.matrixWorld);else{const e=t.geometry;null===e.boundingSphere&&e.computeBoundingSphere(),ca.copy(e.boundingSphere).applyMatrix4(t.matrixWorld)}return this.intersectsSphere(ca)}intersectsSprite(t){return ca.center.set(0,0,0),ca.radius=.7071067811865476,ca.applyMatrix4(t.matrixWorld),this.intersectsSphere(ca)}intersectsSphere(t){const e=this.planes,n=t.center,i=-t.radius;for(let t=0;t<6;t++){if(e[t].distanceToPoint(n)0?t.max.x:t.min.x,ha.y=i.normal.y>0?t.max.y:t.min.y,ha.z=i.normal.z>0?t.max.z:t.min.z,i.distanceToPoint(ha)<0)return!1}return!0}containsPoint(t){const e=this.planes;for(let n=0;n<6;n++)if(e[n].distanceToPoint(t)<0)return!1;return!0}clone(){return(new this.constructor).copy(this)}}function da(){let t=null,e=!1,n=null,i=null;function r(e,s){n(e,s),i=t.requestAnimationFrame(r)}return{start:function(){!0!==e&&null!==n&&(i=t.requestAnimationFrame(r),e=!0)},stop:function(){t.cancelAnimationFrame(i),e=!1},setAnimationLoop:function(t){n=t},setContext:function(e){t=e}}}function pa(t,e){const n=e.isWebGL2,i=new WeakMap;return{get:function(t){return t.isInterleavedBufferAttribute&&(t=t.data),i.get(t)},remove:function(e){e.isInterleavedBufferAttribute&&(e=e.data);const n=i.get(e);n&&(t.deleteBuffer(n.buffer),i.delete(e))},update:function(e,r){if(e.isGLBufferAttribute){const t=i.get(e);return void((!t||t.version 0\n\tvec4 plane;\n\t#pragma unroll_loop_start\n\tfor ( int i = 0; i < UNION_CLIPPING_PLANES; i ++ ) {\n\t\tplane = clippingPlanes[ i ];\n\t\tif ( dot( vClipPosition, plane.xyz ) > plane.w ) discard;\n\t}\n\t#pragma unroll_loop_end\n\t#if UNION_CLIPPING_PLANES < NUM_CLIPPING_PLANES\n\t\tbool clipped = true;\n\t\t#pragma unroll_loop_start\n\t\tfor ( int i = UNION_CLIPPING_PLANES; i < NUM_CLIPPING_PLANES; i ++ ) {\n\t\t\tplane = clippingPlanes[ i ];\n\t\t\tclipped = ( dot( vClipPosition, plane.xyz ) > plane.w ) && clipped;\n\t\t}\n\t\t#pragma unroll_loop_end\n\t\tif ( clipped ) discard;\n\t#endif\n#endif",clipping_planes_pars_fragment:"#if NUM_CLIPPING_PLANES > 0\n\tvarying vec3 vClipPosition;\n\tuniform vec4 clippingPlanes[ NUM_CLIPPING_PLANES ];\n#endif",clipping_planes_pars_vertex:"#if NUM_CLIPPING_PLANES > 0\n\tvarying vec3 vClipPosition;\n#endif",clipping_planes_vertex:"#if NUM_CLIPPING_PLANES > 0\n\tvClipPosition = - mvPosition.xyz;\n#endif",color_fragment:"#if defined( USE_COLOR_ALPHA )\n\tdiffuseColor *= vColor;\n#elif defined( USE_COLOR )\n\tdiffuseColor.rgb *= vColor;\n#endif",color_pars_fragment:"#if defined( USE_COLOR_ALPHA )\n\tvarying vec4 vColor;\n#elif defined( USE_COLOR )\n\tvarying vec3 vColor;\n#endif",color_pars_vertex:"#if defined( USE_COLOR_ALPHA )\n\tvarying vec4 vColor;\n#elif defined( USE_COLOR ) || defined( USE_INSTANCING_COLOR )\n\tvarying vec3 vColor;\n#endif",color_vertex:"#if defined( USE_COLOR_ALPHA )\n\tvColor = vec4( 1.0 );\n#elif defined( USE_COLOR ) || defined( USE_INSTANCING_COLOR )\n\tvColor = vec3( 1.0 );\n#endif\n#ifdef USE_COLOR\n\tvColor *= color;\n#endif\n#ifdef USE_INSTANCING_COLOR\n\tvColor.xyz *= instanceColor.xyz;\n#endif",common:"#define PI 3.141592653589793\n#define PI2 6.283185307179586\n#define PI_HALF 1.5707963267948966\n#define RECIPROCAL_PI 0.3183098861837907\n#define RECIPROCAL_PI2 0.15915494309189535\n#define EPSILON 1e-6\n#ifndef saturate\n#define saturate( a ) clamp( a, 0.0, 1.0 )\n#endif\n#define whiteComplement( a ) ( 1.0 - saturate( a ) )\nfloat pow2( const in float x ) { return x*x; }\nvec3 pow2( const in vec3 x ) { return x*x; }\nfloat pow3( const in float x ) { return x*x*x; }\nfloat pow4( const in float x ) { float x2 = x*x; return x2*x2; }\nfloat max3( const in vec3 v ) { return max( max( v.x, v.y ), v.z ); }\nfloat average( const in vec3 v ) { return dot( v, vec3( 0.3333333 ) ); }\nhighp float rand( const in vec2 uv ) {\n\tconst highp float a = 12.9898, b = 78.233, c = 43758.5453;\n\thighp float dt = dot( uv.xy, vec2( a,b ) ), sn = mod( dt, PI );\n\treturn fract( sin( sn ) * c );\n}\n#ifdef HIGH_PRECISION\n\tfloat precisionSafeLength( vec3 v ) { return length( v ); }\n#else\n\tfloat precisionSafeLength( vec3 v ) {\n\t\tfloat maxComponent = max3( abs( v ) );\n\t\treturn length( v / maxComponent ) * maxComponent;\n\t}\n#endif\nstruct IncidentLight {\n\tvec3 color;\n\tvec3 direction;\n\tbool visible;\n};\nstruct ReflectedLight {\n\tvec3 directDiffuse;\n\tvec3 directSpecular;\n\tvec3 indirectDiffuse;\n\tvec3 indirectSpecular;\n};\n#ifdef USE_ALPHAHASH\n\tvarying vec3 vPosition;\n#endif\nvec3 transformDirection( in vec3 dir, in mat4 matrix ) {\n\treturn normalize( ( matrix * vec4( dir, 0.0 ) ).xyz );\n}\nvec3 inverseTransformDirection( in vec3 dir, in mat4 matrix ) {\n\treturn normalize( ( vec4( dir, 0.0 ) * matrix ).xyz );\n}\nmat3 transposeMat3( const in mat3 m ) {\n\tmat3 tmp;\n\ttmp[ 0 ] = vec3( m[ 0 ].x, m[ 1 ].x, m[ 2 ].x );\n\ttmp[ 1 ] = vec3( m[ 0 ].y, m[ 1 ].y, m[ 2 ].y );\n\ttmp[ 2 ] = vec3( m[ 0 ].z, m[ 1 ].z, m[ 2 ].z );\n\treturn tmp;\n}\nfloat luminance( const in vec3 rgb ) {\n\tconst vec3 weights = vec3( 0.2126729, 0.7151522, 0.0721750 );\n\treturn dot( weights, rgb );\n}\nbool isPerspectiveMatrix( mat4 m ) {\n\treturn m[ 2 ][ 3 ] == - 1.0;\n}\nvec2 equirectUv( in vec3 dir ) {\n\tfloat u = atan( dir.z, dir.x ) * RECIPROCAL_PI2 + 0.5;\n\tfloat v = asin( clamp( dir.y, - 1.0, 1.0 ) ) * RECIPROCAL_PI + 0.5;\n\treturn vec2( u, v );\n}\nvec3 BRDF_Lambert( const in vec3 diffuseColor ) {\n\treturn RECIPROCAL_PI * diffuseColor;\n}\nvec3 F_Schlick( const in vec3 f0, const in float f90, const in float dotVH ) {\n\tfloat fresnel = exp2( ( - 5.55473 * dotVH - 6.98316 ) * dotVH );\n\treturn f0 * ( 1.0 - fresnel ) + ( f90 * fresnel );\n}\nfloat F_Schlick( const in float f0, const in float f90, const in float dotVH ) {\n\tfloat fresnel = exp2( ( - 5.55473 * dotVH - 6.98316 ) * dotVH );\n\treturn f0 * ( 1.0 - fresnel ) + ( f90 * fresnel );\n} // validated",cube_uv_reflection_fragment:"#ifdef ENVMAP_TYPE_CUBE_UV\n\t#define cubeUV_minMipLevel 4.0\n\t#define cubeUV_minTileSize 16.0\n\tfloat getFace( vec3 direction ) {\n\t\tvec3 absDirection = abs( direction );\n\t\tfloat face = - 1.0;\n\t\tif ( absDirection.x > absDirection.z ) {\n\t\t\tif ( absDirection.x > absDirection.y )\n\t\t\t\tface = direction.x > 0.0 ? 0.0 : 3.0;\n\t\t\telse\n\t\t\t\tface = direction.y > 0.0 ? 1.0 : 4.0;\n\t\t} else {\n\t\t\tif ( absDirection.z > absDirection.y )\n\t\t\t\tface = direction.z > 0.0 ? 2.0 : 5.0;\n\t\t\telse\n\t\t\t\tface = direction.y > 0.0 ? 1.0 : 4.0;\n\t\t}\n\t\treturn face;\n\t}\n\tvec2 getUV( vec3 direction, float face ) {\n\t\tvec2 uv;\n\t\tif ( face == 0.0 ) {\n\t\t\tuv = vec2( direction.z, direction.y ) / abs( direction.x );\n\t\t} else if ( face == 1.0 ) {\n\t\t\tuv = vec2( - direction.x, - direction.z ) / abs( direction.y );\n\t\t} else if ( face == 2.0 ) {\n\t\t\tuv = vec2( - direction.x, direction.y ) / abs( direction.z );\n\t\t} else if ( face == 3.0 ) {\n\t\t\tuv = vec2( - direction.z, direction.y ) / abs( direction.x );\n\t\t} else if ( face == 4.0 ) {\n\t\t\tuv = vec2( - direction.x, direction.z ) / abs( direction.y );\n\t\t} else {\n\t\t\tuv = vec2( direction.x, direction.y ) / abs( direction.z );\n\t\t}\n\t\treturn 0.5 * ( uv + 1.0 );\n\t}\n\tvec3 bilinearCubeUV( sampler2D envMap, vec3 direction, float mipInt ) {\n\t\tfloat face = getFace( direction );\n\t\tfloat filterInt = max( cubeUV_minMipLevel - mipInt, 0.0 );\n\t\tmipInt = max( mipInt, cubeUV_minMipLevel );\n\t\tfloat faceSize = exp2( mipInt );\n\t\thighp vec2 uv = getUV( direction, face ) * ( faceSize - 2.0 ) + 1.0;\n\t\tif ( face > 2.0 ) {\n\t\t\tuv.y += faceSize;\n\t\t\tface -= 3.0;\n\t\t}\n\t\tuv.x += face * faceSize;\n\t\tuv.x += filterInt * 3.0 * cubeUV_minTileSize;\n\t\tuv.y += 4.0 * ( exp2( CUBEUV_MAX_MIP ) - faceSize );\n\t\tuv.x *= CUBEUV_TEXEL_WIDTH;\n\t\tuv.y *= CUBEUV_TEXEL_HEIGHT;\n\t\t#ifdef texture2DGradEXT\n\t\t\treturn texture2DGradEXT( envMap, uv, vec2( 0.0 ), vec2( 0.0 ) ).rgb;\n\t\t#else\n\t\t\treturn texture2D( envMap, uv ).rgb;\n\t\t#endif\n\t}\n\t#define cubeUV_r0 1.0\n\t#define cubeUV_m0 - 2.0\n\t#define cubeUV_r1 0.8\n\t#define cubeUV_m1 - 1.0\n\t#define cubeUV_r4 0.4\n\t#define cubeUV_m4 2.0\n\t#define cubeUV_r5 0.305\n\t#define cubeUV_m5 3.0\n\t#define cubeUV_r6 0.21\n\t#define cubeUV_m6 4.0\n\tfloat roughnessToMip( float roughness ) {\n\t\tfloat mip = 0.0;\n\t\tif ( roughness >= cubeUV_r1 ) {\n\t\t\tmip = ( cubeUV_r0 - roughness ) * ( cubeUV_m1 - cubeUV_m0 ) / ( cubeUV_r0 - cubeUV_r1 ) + cubeUV_m0;\n\t\t} else if ( roughness >= cubeUV_r4 ) {\n\t\t\tmip = ( cubeUV_r1 - roughness ) * ( cubeUV_m4 - cubeUV_m1 ) / ( cubeUV_r1 - cubeUV_r4 ) + cubeUV_m1;\n\t\t} else if ( roughness >= cubeUV_r5 ) {\n\t\t\tmip = ( cubeUV_r4 - roughness ) * ( cubeUV_m5 - cubeUV_m4 ) / ( cubeUV_r4 - cubeUV_r5 ) + cubeUV_m4;\n\t\t} else if ( roughness >= cubeUV_r6 ) {\n\t\t\tmip = ( cubeUV_r5 - roughness ) * ( cubeUV_m6 - cubeUV_m5 ) / ( cubeUV_r5 - cubeUV_r6 ) + cubeUV_m5;\n\t\t} else {\n\t\t\tmip = - 2.0 * log2( 1.16 * roughness );\t\t}\n\t\treturn mip;\n\t}\n\tvec4 textureCubeUV( sampler2D envMap, vec3 sampleDir, float roughness ) {\n\t\tfloat mip = clamp( roughnessToMip( roughness ), cubeUV_m0, CUBEUV_MAX_MIP );\n\t\tfloat mipF = fract( mip );\n\t\tfloat mipInt = floor( mip );\n\t\tvec3 color0 = bilinearCubeUV( envMap, sampleDir, mipInt );\n\t\tif ( mipF == 0.0 ) {\n\t\t\treturn vec4( color0, 1.0 );\n\t\t} else {\n\t\t\tvec3 color1 = bilinearCubeUV( envMap, sampleDir, mipInt + 1.0 );\n\t\t\treturn vec4( mix( color0, color1, mipF ), 1.0 );\n\t\t}\n\t}\n#endif",defaultnormal_vertex:"vec3 transformedNormal = objectNormal;\n#ifdef USE_TANGENT\n\tvec3 transformedTangent = objectTangent;\n#endif\n#ifdef USE_BATCHING\n\tmat3 bm = mat3( batchingMatrix );\n\ttransformedNormal /= vec3( dot( bm[ 0 ], bm[ 0 ] ), dot( bm[ 1 ], bm[ 1 ] ), dot( bm[ 2 ], bm[ 2 ] ) );\n\ttransformedNormal = bm * transformedNormal;\n\t#ifdef USE_TANGENT\n\t\ttransformedTangent = bm * transformedTangent;\n\t#endif\n#endif\n#ifdef USE_INSTANCING\n\tmat3 im = mat3( instanceMatrix );\n\ttransformedNormal /= vec3( dot( im[ 0 ], im[ 0 ] ), dot( im[ 1 ], im[ 1 ] ), dot( im[ 2 ], im[ 2 ] ) );\n\ttransformedNormal = im * transformedNormal;\n\t#ifdef USE_TANGENT\n\t\ttransformedTangent = im * transformedTangent;\n\t#endif\n#endif\ntransformedNormal = normalMatrix * transformedNormal;\n#ifdef FLIP_SIDED\n\ttransformedNormal = - transformedNormal;\n#endif\n#ifdef USE_TANGENT\n\ttransformedTangent = ( modelViewMatrix * vec4( transformedTangent, 0.0 ) ).xyz;\n\t#ifdef FLIP_SIDED\n\t\ttransformedTangent = - transformedTangent;\n\t#endif\n#endif",displacementmap_pars_vertex:"#ifdef USE_DISPLACEMENTMAP\n\tuniform sampler2D displacementMap;\n\tuniform float displacementScale;\n\tuniform float displacementBias;\n#endif",displacementmap_vertex:"#ifdef USE_DISPLACEMENTMAP\n\ttransformed += normalize( objectNormal ) * ( texture2D( displacementMap, vDisplacementMapUv ).x * displacementScale + displacementBias );\n#endif",emissivemap_fragment:"#ifdef USE_EMISSIVEMAP\n\tvec4 emissiveColor = texture2D( emissiveMap, vEmissiveMapUv );\n\ttotalEmissiveRadiance *= emissiveColor.rgb;\n#endif",emissivemap_pars_fragment:"#ifdef USE_EMISSIVEMAP\n\tuniform sampler2D emissiveMap;\n#endif",colorspace_fragment:"gl_FragColor = linearToOutputTexel( gl_FragColor );",colorspace_pars_fragment:"\nconst mat3 LINEAR_SRGB_TO_LINEAR_DISPLAY_P3 = mat3(\n\tvec3( 0.8224621, 0.177538, 0.0 ),\n\tvec3( 0.0331941, 0.9668058, 0.0 ),\n\tvec3( 0.0170827, 0.0723974, 0.9105199 )\n);\nconst mat3 LINEAR_DISPLAY_P3_TO_LINEAR_SRGB = mat3(\n\tvec3( 1.2249401, - 0.2249404, 0.0 ),\n\tvec3( - 0.0420569, 1.0420571, 0.0 ),\n\tvec3( - 0.0196376, - 0.0786361, 1.0982735 )\n);\nvec4 LinearSRGBToLinearDisplayP3( in vec4 value ) {\n\treturn vec4( value.rgb * LINEAR_SRGB_TO_LINEAR_DISPLAY_P3, value.a );\n}\nvec4 LinearDisplayP3ToLinearSRGB( in vec4 value ) {\n\treturn vec4( value.rgb * LINEAR_DISPLAY_P3_TO_LINEAR_SRGB, value.a );\n}\nvec4 LinearTransferOETF( in vec4 value ) {\n\treturn value;\n}\nvec4 sRGBTransferOETF( in vec4 value ) {\n\treturn vec4( mix( pow( value.rgb, vec3( 0.41666 ) ) * 1.055 - vec3( 0.055 ), value.rgb * 12.92, vec3( lessThanEqual( value.rgb, vec3( 0.0031308 ) ) ) ), value.a );\n}\nvec4 LinearToLinear( in vec4 value ) {\n\treturn value;\n}\nvec4 LinearTosRGB( in vec4 value ) {\n\treturn sRGBTransferOETF( value );\n}",envmap_fragment:"#ifdef USE_ENVMAP\n\t#ifdef ENV_WORLDPOS\n\t\tvec3 cameraToFrag;\n\t\tif ( isOrthographic ) {\n\t\t\tcameraToFrag = normalize( vec3( - viewMatrix[ 0 ][ 2 ], - viewMatrix[ 1 ][ 2 ], - viewMatrix[ 2 ][ 2 ] ) );\n\t\t} else {\n\t\t\tcameraToFrag = normalize( vWorldPosition - cameraPosition );\n\t\t}\n\t\tvec3 worldNormal = inverseTransformDirection( normal, viewMatrix );\n\t\t#ifdef ENVMAP_MODE_REFLECTION\n\t\t\tvec3 reflectVec = reflect( cameraToFrag, worldNormal );\n\t\t#else\n\t\t\tvec3 reflectVec = refract( cameraToFrag, worldNormal, refractionRatio );\n\t\t#endif\n\t#else\n\t\tvec3 reflectVec = vReflect;\n\t#endif\n\t#ifdef ENVMAP_TYPE_CUBE\n\t\tvec4 envColor = textureCube( envMap, vec3( flipEnvMap * reflectVec.x, reflectVec.yz ) );\n\t#else\n\t\tvec4 envColor = vec4( 0.0 );\n\t#endif\n\t#ifdef ENVMAP_BLENDING_MULTIPLY\n\t\toutgoingLight = mix( outgoingLight, outgoingLight * envColor.xyz, specularStrength * reflectivity );\n\t#elif defined( ENVMAP_BLENDING_MIX )\n\t\toutgoingLight = mix( outgoingLight, envColor.xyz, specularStrength * reflectivity );\n\t#elif defined( ENVMAP_BLENDING_ADD )\n\t\toutgoingLight += envColor.xyz * specularStrength * reflectivity;\n\t#endif\n#endif",envmap_common_pars_fragment:"#ifdef USE_ENVMAP\n\tuniform float envMapIntensity;\n\tuniform float flipEnvMap;\n\t#ifdef ENVMAP_TYPE_CUBE\n\t\tuniform samplerCube envMap;\n\t#else\n\t\tuniform sampler2D envMap;\n\t#endif\n\t\n#endif",envmap_pars_fragment:"#ifdef USE_ENVMAP\n\tuniform float reflectivity;\n\t#if defined( USE_BUMPMAP ) || defined( USE_NORMALMAP ) || defined( PHONG ) || defined( LAMBERT )\n\t\t#define ENV_WORLDPOS\n\t#endif\n\t#ifdef ENV_WORLDPOS\n\t\tvarying vec3 vWorldPosition;\n\t\tuniform float refractionRatio;\n\t#else\n\t\tvarying vec3 vReflect;\n\t#endif\n#endif",envmap_pars_vertex:"#ifdef USE_ENVMAP\n\t#if defined( USE_BUMPMAP ) || defined( USE_NORMALMAP ) || defined( PHONG ) || defined( LAMBERT )\n\t\t#define ENV_WORLDPOS\n\t#endif\n\t#ifdef ENV_WORLDPOS\n\t\t\n\t\tvarying vec3 vWorldPosition;\n\t#else\n\t\tvarying vec3 vReflect;\n\t\tuniform float refractionRatio;\n\t#endif\n#endif",envmap_physical_pars_fragment:"#ifdef USE_ENVMAP\n\tvec3 getIBLIrradiance( const in vec3 normal ) {\n\t\t#ifdef ENVMAP_TYPE_CUBE_UV\n\t\t\tvec3 worldNormal = inverseTransformDirection( normal, viewMatrix );\n\t\t\tvec4 envMapColor = textureCubeUV( envMap, worldNormal, 1.0 );\n\t\t\treturn PI * envMapColor.rgb * envMapIntensity;\n\t\t#else\n\t\t\treturn vec3( 0.0 );\n\t\t#endif\n\t}\n\tvec3 getIBLRadiance( const in vec3 viewDir, const in vec3 normal, const in float roughness ) {\n\t\t#ifdef ENVMAP_TYPE_CUBE_UV\n\t\t\tvec3 reflectVec = reflect( - viewDir, normal );\n\t\t\treflectVec = normalize( mix( reflectVec, normal, roughness * roughness) );\n\t\t\treflectVec = inverseTransformDirection( reflectVec, viewMatrix );\n\t\t\tvec4 envMapColor = textureCubeUV( envMap, reflectVec, roughness );\n\t\t\treturn envMapColor.rgb * envMapIntensity;\n\t\t#else\n\t\t\treturn vec3( 0.0 );\n\t\t#endif\n\t}\n\t#ifdef USE_ANISOTROPY\n\t\tvec3 getIBLAnisotropyRadiance( const in vec3 viewDir, const in vec3 normal, const in float roughness, const in vec3 bitangent, const in float anisotropy ) {\n\t\t\t#ifdef ENVMAP_TYPE_CUBE_UV\n\t\t\t\tvec3 bentNormal = cross( bitangent, viewDir );\n\t\t\t\tbentNormal = normalize( cross( bentNormal, bitangent ) );\n\t\t\t\tbentNormal = normalize( mix( bentNormal, normal, pow2( pow2( 1.0 - anisotropy * ( 1.0 - roughness ) ) ) ) );\n\t\t\t\treturn getIBLRadiance( viewDir, bentNormal, roughness );\n\t\t\t#else\n\t\t\t\treturn vec3( 0.0 );\n\t\t\t#endif\n\t\t}\n\t#endif\n#endif",envmap_vertex:"#ifdef USE_ENVMAP\n\t#ifdef ENV_WORLDPOS\n\t\tvWorldPosition = worldPosition.xyz;\n\t#else\n\t\tvec3 cameraToVertex;\n\t\tif ( isOrthographic ) {\n\t\t\tcameraToVertex = normalize( vec3( - viewMatrix[ 0 ][ 2 ], - viewMatrix[ 1 ][ 2 ], - viewMatrix[ 2 ][ 2 ] ) );\n\t\t} else {\n\t\t\tcameraToVertex = normalize( worldPosition.xyz - cameraPosition );\n\t\t}\n\t\tvec3 worldNormal = inverseTransformDirection( transformedNormal, viewMatrix );\n\t\t#ifdef ENVMAP_MODE_REFLECTION\n\t\t\tvReflect = reflect( cameraToVertex, worldNormal );\n\t\t#else\n\t\t\tvReflect = refract( cameraToVertex, worldNormal, refractionRatio );\n\t\t#endif\n\t#endif\n#endif",fog_vertex:"#ifdef USE_FOG\n\tvFogDepth = - mvPosition.z;\n#endif",fog_pars_vertex:"#ifdef USE_FOG\n\tvarying float vFogDepth;\n#endif",fog_fragment:"#ifdef USE_FOG\n\t#ifdef FOG_EXP2\n\t\tfloat fogFactor = 1.0 - exp( - fogDensity * fogDensity * vFogDepth * vFogDepth );\n\t#else\n\t\tfloat fogFactor = smoothstep( fogNear, fogFar, vFogDepth );\n\t#endif\n\tgl_FragColor.rgb = mix( gl_FragColor.rgb, fogColor, fogFactor );\n#endif",fog_pars_fragment:"#ifdef USE_FOG\n\tuniform vec3 fogColor;\n\tvarying float vFogDepth;\n\t#ifdef FOG_EXP2\n\t\tuniform float fogDensity;\n\t#else\n\t\tuniform float fogNear;\n\t\tuniform float fogFar;\n\t#endif\n#endif",gradientmap_pars_fragment:"#ifdef USE_GRADIENTMAP\n\tuniform sampler2D gradientMap;\n#endif\nvec3 getGradientIrradiance( vec3 normal, vec3 lightDirection ) {\n\tfloat dotNL = dot( normal, lightDirection );\n\tvec2 coord = vec2( dotNL * 0.5 + 0.5, 0.0 );\n\t#ifdef USE_GRADIENTMAP\n\t\treturn vec3( texture2D( gradientMap, coord ).r );\n\t#else\n\t\tvec2 fw = fwidth( coord ) * 0.5;\n\t\treturn mix( vec3( 0.7 ), vec3( 1.0 ), smoothstep( 0.7 - fw.x, 0.7 + fw.x, coord.x ) );\n\t#endif\n}",lightmap_fragment:"#ifdef USE_LIGHTMAP\n\tvec4 lightMapTexel = texture2D( lightMap, vLightMapUv );\n\tvec3 lightMapIrradiance = lightMapTexel.rgb * lightMapIntensity;\n\treflectedLight.indirectDiffuse += lightMapIrradiance;\n#endif",lightmap_pars_fragment:"#ifdef USE_LIGHTMAP\n\tuniform sampler2D lightMap;\n\tuniform float lightMapIntensity;\n#endif",lights_lambert_fragment:"LambertMaterial material;\nmaterial.diffuseColor = diffuseColor.rgb;\nmaterial.specularStrength = specularStrength;",lights_lambert_pars_fragment:"varying vec3 vViewPosition;\nstruct LambertMaterial {\n\tvec3 diffuseColor;\n\tfloat specularStrength;\n};\nvoid RE_Direct_Lambert( const in IncidentLight directLight, const in vec3 geometryPosition, const in vec3 geometryNormal, const in vec3 geometryViewDir, const in vec3 geometryClearcoatNormal, const in LambertMaterial material, inout ReflectedLight reflectedLight ) {\n\tfloat dotNL = saturate( dot( geometryNormal, directLight.direction ) );\n\tvec3 irradiance = dotNL * directLight.color;\n\treflectedLight.directDiffuse += irradiance * BRDF_Lambert( material.diffuseColor );\n}\nvoid RE_IndirectDiffuse_Lambert( const in vec3 irradiance, const in vec3 geometryPosition, const in vec3 geometryNormal, const in vec3 geometryViewDir, const in vec3 geometryClearcoatNormal, const in LambertMaterial material, inout ReflectedLight reflectedLight ) {\n\treflectedLight.indirectDiffuse += irradiance * BRDF_Lambert( material.diffuseColor );\n}\n#define RE_Direct\t\t\t\tRE_Direct_Lambert\n#define RE_IndirectDiffuse\t\tRE_IndirectDiffuse_Lambert",lights_pars_begin:"uniform bool receiveShadow;\nuniform vec3 ambientLightColor;\n#if defined( USE_LIGHT_PROBES )\n\tuniform vec3 lightProbe[ 9 ];\n#endif\nvec3 shGetIrradianceAt( in vec3 normal, in vec3 shCoefficients[ 9 ] ) {\n\tfloat x = normal.x, y = normal.y, z = normal.z;\n\tvec3 result = shCoefficients[ 0 ] * 0.886227;\n\tresult += shCoefficients[ 1 ] * 2.0 * 0.511664 * y;\n\tresult += shCoefficients[ 2 ] * 2.0 * 0.511664 * z;\n\tresult += shCoefficients[ 3 ] * 2.0 * 0.511664 * x;\n\tresult += shCoefficients[ 4 ] * 2.0 * 0.429043 * x * y;\n\tresult += shCoefficients[ 5 ] * 2.0 * 0.429043 * y * z;\n\tresult += shCoefficients[ 6 ] * ( 0.743125 * z * z - 0.247708 );\n\tresult += shCoefficients[ 7 ] * 2.0 * 0.429043 * x * z;\n\tresult += shCoefficients[ 8 ] * 0.429043 * ( x * x - y * y );\n\treturn result;\n}\nvec3 getLightProbeIrradiance( const in vec3 lightProbe[ 9 ], const in vec3 normal ) {\n\tvec3 worldNormal = inverseTransformDirection( normal, viewMatrix );\n\tvec3 irradiance = shGetIrradianceAt( worldNormal, lightProbe );\n\treturn irradiance;\n}\nvec3 getAmbientLightIrradiance( const in vec3 ambientLightColor ) {\n\tvec3 irradiance = ambientLightColor;\n\treturn irradiance;\n}\nfloat getDistanceAttenuation( const in float lightDistance, const in float cutoffDistance, const in float decayExponent ) {\n\t#if defined ( LEGACY_LIGHTS )\n\t\tif ( cutoffDistance > 0.0 && decayExponent > 0.0 ) {\n\t\t\treturn pow( saturate( - lightDistance / cutoffDistance + 1.0 ), decayExponent );\n\t\t}\n\t\treturn 1.0;\n\t#else\n\t\tfloat distanceFalloff = 1.0 / max( pow( lightDistance, decayExponent ), 0.01 );\n\t\tif ( cutoffDistance > 0.0 ) {\n\t\t\tdistanceFalloff *= pow2( saturate( 1.0 - pow4( lightDistance / cutoffDistance ) ) );\n\t\t}\n\t\treturn distanceFalloff;\n\t#endif\n}\nfloat getSpotAttenuation( const in float coneCosine, const in float penumbraCosine, const in float angleCosine ) {\n\treturn smoothstep( coneCosine, penumbraCosine, angleCosine );\n}\n#if NUM_DIR_LIGHTS > 0\n\tstruct DirectionalLight {\n\t\tvec3 direction;\n\t\tvec3 color;\n\t};\n\tuniform DirectionalLight directionalLights[ NUM_DIR_LIGHTS ];\n\tvoid getDirectionalLightInfo( const in DirectionalLight directionalLight, out IncidentLight light ) {\n\t\tlight.color = directionalLight.color;\n\t\tlight.direction = directionalLight.direction;\n\t\tlight.visible = true;\n\t}\n#endif\n#if NUM_POINT_LIGHTS > 0\n\tstruct PointLight {\n\t\tvec3 position;\n\t\tvec3 color;\n\t\tfloat distance;\n\t\tfloat decay;\n\t};\n\tuniform PointLight pointLights[ NUM_POINT_LIGHTS ];\n\tvoid getPointLightInfo( const in PointLight pointLight, const in vec3 geometryPosition, out IncidentLight light ) {\n\t\tvec3 lVector = pointLight.position - geometryPosition;\n\t\tlight.direction = normalize( lVector );\n\t\tfloat lightDistance = length( lVector );\n\t\tlight.color = pointLight.color;\n\t\tlight.color *= getDistanceAttenuation( lightDistance, pointLight.distance, pointLight.decay );\n\t\tlight.visible = ( light.color != vec3( 0.0 ) );\n\t}\n#endif\n#if NUM_SPOT_LIGHTS > 0\n\tstruct SpotLight {\n\t\tvec3 position;\n\t\tvec3 direction;\n\t\tvec3 color;\n\t\tfloat distance;\n\t\tfloat decay;\n\t\tfloat coneCos;\n\t\tfloat penumbraCos;\n\t};\n\tuniform SpotLight spotLights[ NUM_SPOT_LIGHTS ];\n\tvoid getSpotLightInfo( const in SpotLight spotLight, const in vec3 geometryPosition, out IncidentLight light ) {\n\t\tvec3 lVector = spotLight.position - geometryPosition;\n\t\tlight.direction = normalize( lVector );\n\t\tfloat angleCos = dot( light.direction, spotLight.direction );\n\t\tfloat spotAttenuation = getSpotAttenuation( spotLight.coneCos, spotLight.penumbraCos, angleCos );\n\t\tif ( spotAttenuation > 0.0 ) {\n\t\t\tfloat lightDistance = length( lVector );\n\t\t\tlight.color = spotLight.color * spotAttenuation;\n\t\t\tlight.color *= getDistanceAttenuation( lightDistance, spotLight.distance, spotLight.decay );\n\t\t\tlight.visible = ( light.color != vec3( 0.0 ) );\n\t\t} else {\n\t\t\tlight.color = vec3( 0.0 );\n\t\t\tlight.visible = false;\n\t\t}\n\t}\n#endif\n#if NUM_RECT_AREA_LIGHTS > 0\n\tstruct RectAreaLight {\n\t\tvec3 color;\n\t\tvec3 position;\n\t\tvec3 halfWidth;\n\t\tvec3 halfHeight;\n\t};\n\tuniform sampler2D ltc_1;\tuniform sampler2D ltc_2;\n\tuniform RectAreaLight rectAreaLights[ NUM_RECT_AREA_LIGHTS ];\n#endif\n#if NUM_HEMI_LIGHTS > 0\n\tstruct HemisphereLight {\n\t\tvec3 direction;\n\t\tvec3 skyColor;\n\t\tvec3 groundColor;\n\t};\n\tuniform HemisphereLight hemisphereLights[ NUM_HEMI_LIGHTS ];\n\tvec3 getHemisphereLightIrradiance( const in HemisphereLight hemiLight, const in vec3 normal ) {\n\t\tfloat dotNL = dot( normal, hemiLight.direction );\n\t\tfloat hemiDiffuseWeight = 0.5 * dotNL + 0.5;\n\t\tvec3 irradiance = mix( hemiLight.groundColor, hemiLight.skyColor, hemiDiffuseWeight );\n\t\treturn irradiance;\n\t}\n#endif",lights_toon_fragment:"ToonMaterial material;\nmaterial.diffuseColor = diffuseColor.rgb;",lights_toon_pars_fragment:"varying vec3 vViewPosition;\nstruct ToonMaterial {\n\tvec3 diffuseColor;\n};\nvoid RE_Direct_Toon( const in IncidentLight directLight, const in vec3 geometryPosition, const in vec3 geometryNormal, const in vec3 geometryViewDir, const in vec3 geometryClearcoatNormal, const in ToonMaterial material, inout ReflectedLight reflectedLight ) {\n\tvec3 irradiance = getGradientIrradiance( geometryNormal, directLight.direction ) * directLight.color;\n\treflectedLight.directDiffuse += irradiance * BRDF_Lambert( material.diffuseColor );\n}\nvoid RE_IndirectDiffuse_Toon( const in vec3 irradiance, const in vec3 geometryPosition, const in vec3 geometryNormal, const in vec3 geometryViewDir, const in vec3 geometryClearcoatNormal, const in ToonMaterial material, inout ReflectedLight reflectedLight ) {\n\treflectedLight.indirectDiffuse += irradiance * BRDF_Lambert( material.diffuseColor );\n}\n#define RE_Direct\t\t\t\tRE_Direct_Toon\n#define RE_IndirectDiffuse\t\tRE_IndirectDiffuse_Toon",lights_phong_fragment:"BlinnPhongMaterial material;\nmaterial.diffuseColor = diffuseColor.rgb;\nmaterial.specularColor = specular;\nmaterial.specularShininess = shininess;\nmaterial.specularStrength = specularStrength;",lights_phong_pars_fragment:"varying vec3 vViewPosition;\nstruct BlinnPhongMaterial {\n\tvec3 diffuseColor;\n\tvec3 specularColor;\n\tfloat specularShininess;\n\tfloat specularStrength;\n};\nvoid RE_Direct_BlinnPhong( const in IncidentLight directLight, const in vec3 geometryPosition, const in vec3 geometryNormal, const in vec3 geometryViewDir, const in vec3 geometryClearcoatNormal, const in BlinnPhongMaterial material, inout ReflectedLight reflectedLight ) {\n\tfloat dotNL = saturate( dot( geometryNormal, directLight.direction ) );\n\tvec3 irradiance = dotNL * directLight.color;\n\treflectedLight.directDiffuse += irradiance * BRDF_Lambert( material.diffuseColor );\n\treflectedLight.directSpecular += irradiance * BRDF_BlinnPhong( directLight.direction, geometryViewDir, geometryNormal, material.specularColor, material.specularShininess ) * material.specularStrength;\n}\nvoid RE_IndirectDiffuse_BlinnPhong( const in vec3 irradiance, const in vec3 geometryPosition, const in vec3 geometryNormal, const in vec3 geometryViewDir, const in vec3 geometryClearcoatNormal, const in BlinnPhongMaterial material, inout ReflectedLight reflectedLight ) {\n\treflectedLight.indirectDiffuse += irradiance * BRDF_Lambert( material.diffuseColor );\n}\n#define RE_Direct\t\t\t\tRE_Direct_BlinnPhong\n#define RE_IndirectDiffuse\t\tRE_IndirectDiffuse_BlinnPhong",lights_physical_fragment:"PhysicalMaterial material;\nmaterial.diffuseColor = diffuseColor.rgb * ( 1.0 - metalnessFactor );\nvec3 dxy = max( abs( dFdx( nonPerturbedNormal ) ), abs( dFdy( nonPerturbedNormal ) ) );\nfloat geometryRoughness = max( max( dxy.x, dxy.y ), dxy.z );\nmaterial.roughness = max( roughnessFactor, 0.0525 );material.roughness += geometryRoughness;\nmaterial.roughness = min( material.roughness, 1.0 );\n#ifdef IOR\n\tmaterial.ior = ior;\n\t#ifdef USE_SPECULAR\n\t\tfloat specularIntensityFactor = specularIntensity;\n\t\tvec3 specularColorFactor = specularColor;\n\t\t#ifdef USE_SPECULAR_COLORMAP\n\t\t\tspecularColorFactor *= texture2D( specularColorMap, vSpecularColorMapUv ).rgb;\n\t\t#endif\n\t\t#ifdef USE_SPECULAR_INTENSITYMAP\n\t\t\tspecularIntensityFactor *= texture2D( specularIntensityMap, vSpecularIntensityMapUv ).a;\n\t\t#endif\n\t\tmaterial.specularF90 = mix( specularIntensityFactor, 1.0, metalnessFactor );\n\t#else\n\t\tfloat specularIntensityFactor = 1.0;\n\t\tvec3 specularColorFactor = vec3( 1.0 );\n\t\tmaterial.specularF90 = 1.0;\n\t#endif\n\tmaterial.specularColor = mix( min( pow2( ( material.ior - 1.0 ) / ( material.ior + 1.0 ) ) * specularColorFactor, vec3( 1.0 ) ) * specularIntensityFactor, diffuseColor.rgb, metalnessFactor );\n#else\n\tmaterial.specularColor = mix( vec3( 0.04 ), diffuseColor.rgb, metalnessFactor );\n\tmaterial.specularF90 = 1.0;\n#endif\n#ifdef USE_CLEARCOAT\n\tmaterial.clearcoat = clearcoat;\n\tmaterial.clearcoatRoughness = clearcoatRoughness;\n\tmaterial.clearcoatF0 = vec3( 0.04 );\n\tmaterial.clearcoatF90 = 1.0;\n\t#ifdef USE_CLEARCOATMAP\n\t\tmaterial.clearcoat *= texture2D( clearcoatMap, vClearcoatMapUv ).x;\n\t#endif\n\t#ifdef USE_CLEARCOAT_ROUGHNESSMAP\n\t\tmaterial.clearcoatRoughness *= texture2D( clearcoatRoughnessMap, vClearcoatRoughnessMapUv ).y;\n\t#endif\n\tmaterial.clearcoat = saturate( material.clearcoat );\tmaterial.clearcoatRoughness = max( material.clearcoatRoughness, 0.0525 );\n\tmaterial.clearcoatRoughness += geometryRoughness;\n\tmaterial.clearcoatRoughness = min( material.clearcoatRoughness, 1.0 );\n#endif\n#ifdef USE_IRIDESCENCE\n\tmaterial.iridescence = iridescence;\n\tmaterial.iridescenceIOR = iridescenceIOR;\n\t#ifdef USE_IRIDESCENCEMAP\n\t\tmaterial.iridescence *= texture2D( iridescenceMap, vIridescenceMapUv ).r;\n\t#endif\n\t#ifdef USE_IRIDESCENCE_THICKNESSMAP\n\t\tmaterial.iridescenceThickness = (iridescenceThicknessMaximum - iridescenceThicknessMinimum) * texture2D( iridescenceThicknessMap, vIridescenceThicknessMapUv ).g + iridescenceThicknessMinimum;\n\t#else\n\t\tmaterial.iridescenceThickness = iridescenceThicknessMaximum;\n\t#endif\n#endif\n#ifdef USE_SHEEN\n\tmaterial.sheenColor = sheenColor;\n\t#ifdef USE_SHEEN_COLORMAP\n\t\tmaterial.sheenColor *= texture2D( sheenColorMap, vSheenColorMapUv ).rgb;\n\t#endif\n\tmaterial.sheenRoughness = clamp( sheenRoughness, 0.07, 1.0 );\n\t#ifdef USE_SHEEN_ROUGHNESSMAP\n\t\tmaterial.sheenRoughness *= texture2D( sheenRoughnessMap, vSheenRoughnessMapUv ).a;\n\t#endif\n#endif\n#ifdef USE_ANISOTROPY\n\t#ifdef USE_ANISOTROPYMAP\n\t\tmat2 anisotropyMat = mat2( anisotropyVector.x, anisotropyVector.y, - anisotropyVector.y, anisotropyVector.x );\n\t\tvec3 anisotropyPolar = texture2D( anisotropyMap, vAnisotropyMapUv ).rgb;\n\t\tvec2 anisotropyV = anisotropyMat * normalize( 2.0 * anisotropyPolar.rg - vec2( 1.0 ) ) * anisotropyPolar.b;\n\t#else\n\t\tvec2 anisotropyV = anisotropyVector;\n\t#endif\n\tmaterial.anisotropy = length( anisotropyV );\n\tif( material.anisotropy == 0.0 ) {\n\t\tanisotropyV = vec2( 1.0, 0.0 );\n\t} else {\n\t\tanisotropyV /= material.anisotropy;\n\t\tmaterial.anisotropy = saturate( material.anisotropy );\n\t}\n\tmaterial.alphaT = mix( pow2( material.roughness ), 1.0, pow2( material.anisotropy ) );\n\tmaterial.anisotropyT = tbn[ 0 ] * anisotropyV.x + tbn[ 1 ] * anisotropyV.y;\n\tmaterial.anisotropyB = tbn[ 1 ] * anisotropyV.x - tbn[ 0 ] * anisotropyV.y;\n#endif",lights_physical_pars_fragment:"struct PhysicalMaterial {\n\tvec3 diffuseColor;\n\tfloat roughness;\n\tvec3 specularColor;\n\tfloat specularF90;\n\t#ifdef USE_CLEARCOAT\n\t\tfloat clearcoat;\n\t\tfloat clearcoatRoughness;\n\t\tvec3 clearcoatF0;\n\t\tfloat clearcoatF90;\n\t#endif\n\t#ifdef USE_IRIDESCENCE\n\t\tfloat iridescence;\n\t\tfloat iridescenceIOR;\n\t\tfloat iridescenceThickness;\n\t\tvec3 iridescenceFresnel;\n\t\tvec3 iridescenceF0;\n\t#endif\n\t#ifdef USE_SHEEN\n\t\tvec3 sheenColor;\n\t\tfloat sheenRoughness;\n\t#endif\n\t#ifdef IOR\n\t\tfloat ior;\n\t#endif\n\t#ifdef USE_TRANSMISSION\n\t\tfloat transmission;\n\t\tfloat transmissionAlpha;\n\t\tfloat thickness;\n\t\tfloat attenuationDistance;\n\t\tvec3 attenuationColor;\n\t#endif\n\t#ifdef USE_ANISOTROPY\n\t\tfloat anisotropy;\n\t\tfloat alphaT;\n\t\tvec3 anisotropyT;\n\t\tvec3 anisotropyB;\n\t#endif\n};\nvec3 clearcoatSpecularDirect = vec3( 0.0 );\nvec3 clearcoatSpecularIndirect = vec3( 0.0 );\nvec3 sheenSpecularDirect = vec3( 0.0 );\nvec3 sheenSpecularIndirect = vec3(0.0 );\nvec3 Schlick_to_F0( const in vec3 f, const in float f90, const in float dotVH ) {\n float x = clamp( 1.0 - dotVH, 0.0, 1.0 );\n float x2 = x * x;\n float x5 = clamp( x * x2 * x2, 0.0, 0.9999 );\n return ( f - vec3( f90 ) * x5 ) / ( 1.0 - x5 );\n}\nfloat V_GGX_SmithCorrelated( const in float alpha, const in float dotNL, const in float dotNV ) {\n\tfloat a2 = pow2( alpha );\n\tfloat gv = dotNL * sqrt( a2 + ( 1.0 - a2 ) * pow2( dotNV ) );\n\tfloat gl = dotNV * sqrt( a2 + ( 1.0 - a2 ) * pow2( dotNL ) );\n\treturn 0.5 / max( gv + gl, EPSILON );\n}\nfloat D_GGX( const in float alpha, const in float dotNH ) {\n\tfloat a2 = pow2( alpha );\n\tfloat denom = pow2( dotNH ) * ( a2 - 1.0 ) + 1.0;\n\treturn RECIPROCAL_PI * a2 / pow2( denom );\n}\n#ifdef USE_ANISOTROPY\n\tfloat V_GGX_SmithCorrelated_Anisotropic( const in float alphaT, const in float alphaB, const in float dotTV, const in float dotBV, const in float dotTL, const in float dotBL, const in float dotNV, const in float dotNL ) {\n\t\tfloat gv = dotNL * length( vec3( alphaT * dotTV, alphaB * dotBV, dotNV ) );\n\t\tfloat gl = dotNV * length( vec3( alphaT * dotTL, alphaB * dotBL, dotNL ) );\n\t\tfloat v = 0.5 / ( gv + gl );\n\t\treturn saturate(v);\n\t}\n\tfloat D_GGX_Anisotropic( const in float alphaT, const in float alphaB, const in float dotNH, const in float dotTH, const in float dotBH ) {\n\t\tfloat a2 = alphaT * alphaB;\n\t\thighp vec3 v = vec3( alphaB * dotTH, alphaT * dotBH, a2 * dotNH );\n\t\thighp float v2 = dot( v, v );\n\t\tfloat w2 = a2 / v2;\n\t\treturn RECIPROCAL_PI * a2 * pow2 ( w2 );\n\t}\n#endif\n#ifdef USE_CLEARCOAT\n\tvec3 BRDF_GGX_Clearcoat( const in vec3 lightDir, const in vec3 viewDir, const in vec3 normal, const in PhysicalMaterial material) {\n\t\tvec3 f0 = material.clearcoatF0;\n\t\tfloat f90 = material.clearcoatF90;\n\t\tfloat roughness = material.clearcoatRoughness;\n\t\tfloat alpha = pow2( roughness );\n\t\tvec3 halfDir = normalize( lightDir + viewDir );\n\t\tfloat dotNL = saturate( dot( normal, lightDir ) );\n\t\tfloat dotNV = saturate( dot( normal, viewDir ) );\n\t\tfloat dotNH = saturate( dot( normal, halfDir ) );\n\t\tfloat dotVH = saturate( dot( viewDir, halfDir ) );\n\t\tvec3 F = F_Schlick( f0, f90, dotVH );\n\t\tfloat V = V_GGX_SmithCorrelated( alpha, dotNL, dotNV );\n\t\tfloat D = D_GGX( alpha, dotNH );\n\t\treturn F * ( V * D );\n\t}\n#endif\nvec3 BRDF_GGX( const in vec3 lightDir, const in vec3 viewDir, const in vec3 normal, const in PhysicalMaterial material ) {\n\tvec3 f0 = material.specularColor;\n\tfloat f90 = material.specularF90;\n\tfloat roughness = material.roughness;\n\tfloat alpha = pow2( roughness );\n\tvec3 halfDir = normalize( lightDir + viewDir );\n\tfloat dotNL = saturate( dot( normal, lightDir ) );\n\tfloat dotNV = saturate( dot( normal, viewDir ) );\n\tfloat dotNH = saturate( dot( normal, halfDir ) );\n\tfloat dotVH = saturate( dot( viewDir, halfDir ) );\n\tvec3 F = F_Schlick( f0, f90, dotVH );\n\t#ifdef USE_IRIDESCENCE\n\t\tF = mix( F, material.iridescenceFresnel, material.iridescence );\n\t#endif\n\t#ifdef USE_ANISOTROPY\n\t\tfloat dotTL = dot( material.anisotropyT, lightDir );\n\t\tfloat dotTV = dot( material.anisotropyT, viewDir );\n\t\tfloat dotTH = dot( material.anisotropyT, halfDir );\n\t\tfloat dotBL = dot( material.anisotropyB, lightDir );\n\t\tfloat dotBV = dot( material.anisotropyB, viewDir );\n\t\tfloat dotBH = dot( material.anisotropyB, halfDir );\n\t\tfloat V = V_GGX_SmithCorrelated_Anisotropic( material.alphaT, alpha, dotTV, dotBV, dotTL, dotBL, dotNV, dotNL );\n\t\tfloat D = D_GGX_Anisotropic( material.alphaT, alpha, dotNH, dotTH, dotBH );\n\t#else\n\t\tfloat V = V_GGX_SmithCorrelated( alpha, dotNL, dotNV );\n\t\tfloat D = D_GGX( alpha, dotNH );\n\t#endif\n\treturn F * ( V * D );\n}\nvec2 LTC_Uv( const in vec3 N, const in vec3 V, const in float roughness ) {\n\tconst float LUT_SIZE = 64.0;\n\tconst float LUT_SCALE = ( LUT_SIZE - 1.0 ) / LUT_SIZE;\n\tconst float LUT_BIAS = 0.5 / LUT_SIZE;\n\tfloat dotNV = saturate( dot( N, V ) );\n\tvec2 uv = vec2( roughness, sqrt( 1.0 - dotNV ) );\n\tuv = uv * LUT_SCALE + LUT_BIAS;\n\treturn uv;\n}\nfloat LTC_ClippedSphereFormFactor( const in vec3 f ) {\n\tfloat l = length( f );\n\treturn max( ( l * l + f.z ) / ( l + 1.0 ), 0.0 );\n}\nvec3 LTC_EdgeVectorFormFactor( const in vec3 v1, const in vec3 v2 ) {\n\tfloat x = dot( v1, v2 );\n\tfloat y = abs( x );\n\tfloat a = 0.8543985 + ( 0.4965155 + 0.0145206 * y ) * y;\n\tfloat b = 3.4175940 + ( 4.1616724 + y ) * y;\n\tfloat v = a / b;\n\tfloat theta_sintheta = ( x > 0.0 ) ? v : 0.5 * inversesqrt( max( 1.0 - x * x, 1e-7 ) ) - v;\n\treturn cross( v1, v2 ) * theta_sintheta;\n}\nvec3 LTC_Evaluate( const in vec3 N, const in vec3 V, const in vec3 P, const in mat3 mInv, const in vec3 rectCoords[ 4 ] ) {\n\tvec3 v1 = rectCoords[ 1 ] - rectCoords[ 0 ];\n\tvec3 v2 = rectCoords[ 3 ] - rectCoords[ 0 ];\n\tvec3 lightNormal = cross( v1, v2 );\n\tif( dot( lightNormal, P - rectCoords[ 0 ] ) < 0.0 ) return vec3( 0.0 );\n\tvec3 T1, T2;\n\tT1 = normalize( V - N * dot( V, N ) );\n\tT2 = - cross( N, T1 );\n\tmat3 mat = mInv * transposeMat3( mat3( T1, T2, N ) );\n\tvec3 coords[ 4 ];\n\tcoords[ 0 ] = mat * ( rectCoords[ 0 ] - P );\n\tcoords[ 1 ] = mat * ( rectCoords[ 1 ] - P );\n\tcoords[ 2 ] = mat * ( rectCoords[ 2 ] - P );\n\tcoords[ 3 ] = mat * ( rectCoords[ 3 ] - P );\n\tcoords[ 0 ] = normalize( coords[ 0 ] );\n\tcoords[ 1 ] = normalize( coords[ 1 ] );\n\tcoords[ 2 ] = normalize( coords[ 2 ] );\n\tcoords[ 3 ] = normalize( coords[ 3 ] );\n\tvec3 vectorFormFactor = vec3( 0.0 );\n\tvectorFormFactor += LTC_EdgeVectorFormFactor( coords[ 0 ], coords[ 1 ] );\n\tvectorFormFactor += LTC_EdgeVectorFormFactor( coords[ 1 ], coords[ 2 ] );\n\tvectorFormFactor += LTC_EdgeVectorFormFactor( coords[ 2 ], coords[ 3 ] );\n\tvectorFormFactor += LTC_EdgeVectorFormFactor( coords[ 3 ], coords[ 0 ] );\n\tfloat result = LTC_ClippedSphereFormFactor( vectorFormFactor );\n\treturn vec3( result );\n}\n#if defined( USE_SHEEN )\nfloat D_Charlie( float roughness, float dotNH ) {\n\tfloat alpha = pow2( roughness );\n\tfloat invAlpha = 1.0 / alpha;\n\tfloat cos2h = dotNH * dotNH;\n\tfloat sin2h = max( 1.0 - cos2h, 0.0078125 );\n\treturn ( 2.0 + invAlpha ) * pow( sin2h, invAlpha * 0.5 ) / ( 2.0 * PI );\n}\nfloat V_Neubelt( float dotNV, float dotNL ) {\n\treturn saturate( 1.0 / ( 4.0 * ( dotNL + dotNV - dotNL * dotNV ) ) );\n}\nvec3 BRDF_Sheen( const in vec3 lightDir, const in vec3 viewDir, const in vec3 normal, vec3 sheenColor, const in float sheenRoughness ) {\n\tvec3 halfDir = normalize( lightDir + viewDir );\n\tfloat dotNL = saturate( dot( normal, lightDir ) );\n\tfloat dotNV = saturate( dot( normal, viewDir ) );\n\tfloat dotNH = saturate( dot( normal, halfDir ) );\n\tfloat D = D_Charlie( sheenRoughness, dotNH );\n\tfloat V = V_Neubelt( dotNV, dotNL );\n\treturn sheenColor * ( D * V );\n}\n#endif\nfloat IBLSheenBRDF( const in vec3 normal, const in vec3 viewDir, const in float roughness ) {\n\tfloat dotNV = saturate( dot( normal, viewDir ) );\n\tfloat r2 = roughness * roughness;\n\tfloat a = roughness < 0.25 ? -339.2 * r2 + 161.4 * roughness - 25.9 : -8.48 * r2 + 14.3 * roughness - 9.95;\n\tfloat b = roughness < 0.25 ? 44.0 * r2 - 23.7 * roughness + 3.26 : 1.97 * r2 - 3.27 * roughness + 0.72;\n\tfloat DG = exp( a * dotNV + b ) + ( roughness < 0.25 ? 0.0 : 0.1 * ( roughness - 0.25 ) );\n\treturn saturate( DG * RECIPROCAL_PI );\n}\nvec2 DFGApprox( const in vec3 normal, const in vec3 viewDir, const in float roughness ) {\n\tfloat dotNV = saturate( dot( normal, viewDir ) );\n\tconst vec4 c0 = vec4( - 1, - 0.0275, - 0.572, 0.022 );\n\tconst vec4 c1 = vec4( 1, 0.0425, 1.04, - 0.04 );\n\tvec4 r = roughness * c0 + c1;\n\tfloat a004 = min( r.x * r.x, exp2( - 9.28 * dotNV ) ) * r.x + r.y;\n\tvec2 fab = vec2( - 1.04, 1.04 ) * a004 + r.zw;\n\treturn fab;\n}\nvec3 EnvironmentBRDF( const in vec3 normal, const in vec3 viewDir, const in vec3 specularColor, const in float specularF90, const in float roughness ) {\n\tvec2 fab = DFGApprox( normal, viewDir, roughness );\n\treturn specularColor * fab.x + specularF90 * fab.y;\n}\n#ifdef USE_IRIDESCENCE\nvoid computeMultiscatteringIridescence( const in vec3 normal, const in vec3 viewDir, const in vec3 specularColor, const in float specularF90, const in float iridescence, const in vec3 iridescenceF0, const in float roughness, inout vec3 singleScatter, inout vec3 multiScatter ) {\n#else\nvoid computeMultiscattering( const in vec3 normal, const in vec3 viewDir, const in vec3 specularColor, const in float specularF90, const in float roughness, inout vec3 singleScatter, inout vec3 multiScatter ) {\n#endif\n\tvec2 fab = DFGApprox( normal, viewDir, roughness );\n\t#ifdef USE_IRIDESCENCE\n\t\tvec3 Fr = mix( specularColor, iridescenceF0, iridescence );\n\t#else\n\t\tvec3 Fr = specularColor;\n\t#endif\n\tvec3 FssEss = Fr * fab.x + specularF90 * fab.y;\n\tfloat Ess = fab.x + fab.y;\n\tfloat Ems = 1.0 - Ess;\n\tvec3 Favg = Fr + ( 1.0 - Fr ) * 0.047619;\tvec3 Fms = FssEss * Favg / ( 1.0 - Ems * Favg );\n\tsingleScatter += FssEss;\n\tmultiScatter += Fms * Ems;\n}\n#if NUM_RECT_AREA_LIGHTS > 0\n\tvoid RE_Direct_RectArea_Physical( const in RectAreaLight rectAreaLight, const in vec3 geometryPosition, const in vec3 geometryNormal, const in vec3 geometryViewDir, const in vec3 geometryClearcoatNormal, const in PhysicalMaterial material, inout ReflectedLight reflectedLight ) {\n\t\tvec3 normal = geometryNormal;\n\t\tvec3 viewDir = geometryViewDir;\n\t\tvec3 position = geometryPosition;\n\t\tvec3 lightPos = rectAreaLight.position;\n\t\tvec3 halfWidth = rectAreaLight.halfWidth;\n\t\tvec3 halfHeight = rectAreaLight.halfHeight;\n\t\tvec3 lightColor = rectAreaLight.color;\n\t\tfloat roughness = material.roughness;\n\t\tvec3 rectCoords[ 4 ];\n\t\trectCoords[ 0 ] = lightPos + halfWidth - halfHeight;\t\trectCoords[ 1 ] = lightPos - halfWidth - halfHeight;\n\t\trectCoords[ 2 ] = lightPos - halfWidth + halfHeight;\n\t\trectCoords[ 3 ] = lightPos + halfWidth + halfHeight;\n\t\tvec2 uv = LTC_Uv( normal, viewDir, roughness );\n\t\tvec4 t1 = texture2D( ltc_1, uv );\n\t\tvec4 t2 = texture2D( ltc_2, uv );\n\t\tmat3 mInv = mat3(\n\t\t\tvec3( t1.x, 0, t1.y ),\n\t\t\tvec3( 0, 1, 0 ),\n\t\t\tvec3( t1.z, 0, t1.w )\n\t\t);\n\t\tvec3 fresnel = ( material.specularColor * t2.x + ( vec3( 1.0 ) - material.specularColor ) * t2.y );\n\t\treflectedLight.directSpecular += lightColor * fresnel * LTC_Evaluate( normal, viewDir, position, mInv, rectCoords );\n\t\treflectedLight.directDiffuse += lightColor * material.diffuseColor * LTC_Evaluate( normal, viewDir, position, mat3( 1.0 ), rectCoords );\n\t}\n#endif\nvoid RE_Direct_Physical( const in IncidentLight directLight, const in vec3 geometryPosition, const in vec3 geometryNormal, const in vec3 geometryViewDir, const in vec3 geometryClearcoatNormal, const in PhysicalMaterial material, inout ReflectedLight reflectedLight ) {\n\tfloat dotNL = saturate( dot( geometryNormal, directLight.direction ) );\n\tvec3 irradiance = dotNL * directLight.color;\n\t#ifdef USE_CLEARCOAT\n\t\tfloat dotNLcc = saturate( dot( geometryClearcoatNormal, directLight.direction ) );\n\t\tvec3 ccIrradiance = dotNLcc * directLight.color;\n\t\tclearcoatSpecularDirect += ccIrradiance * BRDF_GGX_Clearcoat( directLight.direction, geometryViewDir, geometryClearcoatNormal, material );\n\t#endif\n\t#ifdef USE_SHEEN\n\t\tsheenSpecularDirect += irradiance * BRDF_Sheen( directLight.direction, geometryViewDir, geometryNormal, material.sheenColor, material.sheenRoughness );\n\t#endif\n\treflectedLight.directSpecular += irradiance * BRDF_GGX( directLight.direction, geometryViewDir, geometryNormal, material );\n\treflectedLight.directDiffuse += irradiance * BRDF_Lambert( material.diffuseColor );\n}\nvoid RE_IndirectDiffuse_Physical( const in vec3 irradiance, const in vec3 geometryPosition, const in vec3 geometryNormal, const in vec3 geometryViewDir, const in vec3 geometryClearcoatNormal, const in PhysicalMaterial material, inout ReflectedLight reflectedLight ) {\n\treflectedLight.indirectDiffuse += irradiance * BRDF_Lambert( material.diffuseColor );\n}\nvoid RE_IndirectSpecular_Physical( const in vec3 radiance, const in vec3 irradiance, const in vec3 clearcoatRadiance, const in vec3 geometryPosition, const in vec3 geometryNormal, const in vec3 geometryViewDir, const in vec3 geometryClearcoatNormal, const in PhysicalMaterial material, inout ReflectedLight reflectedLight) {\n\t#ifdef USE_CLEARCOAT\n\t\tclearcoatSpecularIndirect += clearcoatRadiance * EnvironmentBRDF( geometryClearcoatNormal, geometryViewDir, material.clearcoatF0, material.clearcoatF90, material.clearcoatRoughness );\n\t#endif\n\t#ifdef USE_SHEEN\n\t\tsheenSpecularIndirect += irradiance * material.sheenColor * IBLSheenBRDF( geometryNormal, geometryViewDir, material.sheenRoughness );\n\t#endif\n\tvec3 singleScattering = vec3( 0.0 );\n\tvec3 multiScattering = vec3( 0.0 );\n\tvec3 cosineWeightedIrradiance = irradiance * RECIPROCAL_PI;\n\t#ifdef USE_IRIDESCENCE\n\t\tcomputeMultiscatteringIridescence( geometryNormal, geometryViewDir, material.specularColor, material.specularF90, material.iridescence, material.iridescenceFresnel, material.roughness, singleScattering, multiScattering );\n\t#else\n\t\tcomputeMultiscattering( geometryNormal, geometryViewDir, material.specularColor, material.specularF90, material.roughness, singleScattering, multiScattering );\n\t#endif\n\tvec3 totalScattering = singleScattering + multiScattering;\n\tvec3 diffuse = material.diffuseColor * ( 1.0 - max( max( totalScattering.r, totalScattering.g ), totalScattering.b ) );\n\treflectedLight.indirectSpecular += radiance * singleScattering;\n\treflectedLight.indirectSpecular += multiScattering * cosineWeightedIrradiance;\n\treflectedLight.indirectDiffuse += diffuse * cosineWeightedIrradiance;\n}\n#define RE_Direct\t\t\t\tRE_Direct_Physical\n#define RE_Direct_RectArea\t\tRE_Direct_RectArea_Physical\n#define RE_IndirectDiffuse\t\tRE_IndirectDiffuse_Physical\n#define RE_IndirectSpecular\t\tRE_IndirectSpecular_Physical\nfloat computeSpecularOcclusion( const in float dotNV, const in float ambientOcclusion, const in float roughness ) {\n\treturn saturate( pow( dotNV + ambientOcclusion, exp2( - 16.0 * roughness - 1.0 ) ) - 1.0 + ambientOcclusion );\n}",lights_fragment_begin:"\nvec3 geometryPosition = - vViewPosition;\nvec3 geometryNormal = normal;\nvec3 geometryViewDir = ( isOrthographic ) ? vec3( 0, 0, 1 ) : normalize( vViewPosition );\nvec3 geometryClearcoatNormal = vec3( 0.0 );\n#ifdef USE_CLEARCOAT\n\tgeometryClearcoatNormal = clearcoatNormal;\n#endif\n#ifdef USE_IRIDESCENCE\n\tfloat dotNVi = saturate( dot( normal, geometryViewDir ) );\n\tif ( material.iridescenceThickness == 0.0 ) {\n\t\tmaterial.iridescence = 0.0;\n\t} else {\n\t\tmaterial.iridescence = saturate( material.iridescence );\n\t}\n\tif ( material.iridescence > 0.0 ) {\n\t\tmaterial.iridescenceFresnel = evalIridescence( 1.0, material.iridescenceIOR, dotNVi, material.iridescenceThickness, material.specularColor );\n\t\tmaterial.iridescenceF0 = Schlick_to_F0( material.iridescenceFresnel, 1.0, dotNVi );\n\t}\n#endif\nIncidentLight directLight;\n#if ( NUM_POINT_LIGHTS > 0 ) && defined( RE_Direct )\n\tPointLight pointLight;\n\t#if defined( USE_SHADOWMAP ) && NUM_POINT_LIGHT_SHADOWS > 0\n\tPointLightShadow pointLightShadow;\n\t#endif\n\t#pragma unroll_loop_start\n\tfor ( int i = 0; i < NUM_POINT_LIGHTS; i ++ ) {\n\t\tpointLight = pointLights[ i ];\n\t\tgetPointLightInfo( pointLight, geometryPosition, directLight );\n\t\t#if defined( USE_SHADOWMAP ) && ( UNROLLED_LOOP_INDEX < NUM_POINT_LIGHT_SHADOWS )\n\t\tpointLightShadow = pointLightShadows[ i ];\n\t\tdirectLight.color *= ( directLight.visible && receiveShadow ) ? getPointShadow( pointShadowMap[ i ], pointLightShadow.shadowMapSize, pointLightShadow.shadowBias, pointLightShadow.shadowRadius, vPointShadowCoord[ i ], pointLightShadow.shadowCameraNear, pointLightShadow.shadowCameraFar ) : 1.0;\n\t\t#endif\n\t\tRE_Direct( directLight, geometryPosition, geometryNormal, geometryViewDir, geometryClearcoatNormal, material, reflectedLight );\n\t}\n\t#pragma unroll_loop_end\n#endif\n#if ( NUM_SPOT_LIGHTS > 0 ) && defined( RE_Direct )\n\tSpotLight spotLight;\n\tvec4 spotColor;\n\tvec3 spotLightCoord;\n\tbool inSpotLightMap;\n\t#if defined( USE_SHADOWMAP ) && NUM_SPOT_LIGHT_SHADOWS > 0\n\tSpotLightShadow spotLightShadow;\n\t#endif\n\t#pragma unroll_loop_start\n\tfor ( int i = 0; i < NUM_SPOT_LIGHTS; i ++ ) {\n\t\tspotLight = spotLights[ i ];\n\t\tgetSpotLightInfo( spotLight, geometryPosition, directLight );\n\t\t#if ( UNROLLED_LOOP_INDEX < NUM_SPOT_LIGHT_SHADOWS_WITH_MAPS )\n\t\t#define SPOT_LIGHT_MAP_INDEX UNROLLED_LOOP_INDEX\n\t\t#elif ( UNROLLED_LOOP_INDEX < NUM_SPOT_LIGHT_SHADOWS )\n\t\t#define SPOT_LIGHT_MAP_INDEX NUM_SPOT_LIGHT_MAPS\n\t\t#else\n\t\t#define SPOT_LIGHT_MAP_INDEX ( UNROLLED_LOOP_INDEX - NUM_SPOT_LIGHT_SHADOWS + NUM_SPOT_LIGHT_SHADOWS_WITH_MAPS )\n\t\t#endif\n\t\t#if ( SPOT_LIGHT_MAP_INDEX < NUM_SPOT_LIGHT_MAPS )\n\t\t\tspotLightCoord = vSpotLightCoord[ i ].xyz / vSpotLightCoord[ i ].w;\n\t\t\tinSpotLightMap = all( lessThan( abs( spotLightCoord * 2. - 1. ), vec3( 1.0 ) ) );\n\t\t\tspotColor = texture2D( spotLightMap[ SPOT_LIGHT_MAP_INDEX ], spotLightCoord.xy );\n\t\t\tdirectLight.color = inSpotLightMap ? directLight.color * spotColor.rgb : directLight.color;\n\t\t#endif\n\t\t#undef SPOT_LIGHT_MAP_INDEX\n\t\t#if defined( USE_SHADOWMAP ) && ( UNROLLED_LOOP_INDEX < NUM_SPOT_LIGHT_SHADOWS )\n\t\tspotLightShadow = spotLightShadows[ i ];\n\t\tdirectLight.color *= ( directLight.visible && receiveShadow ) ? getShadow( spotShadowMap[ i ], spotLightShadow.shadowMapSize, spotLightShadow.shadowBias, spotLightShadow.shadowRadius, vSpotLightCoord[ i ] ) : 1.0;\n\t\t#endif\n\t\tRE_Direct( directLight, geometryPosition, geometryNormal, geometryViewDir, geometryClearcoatNormal, material, reflectedLight );\n\t}\n\t#pragma unroll_loop_end\n#endif\n#if ( NUM_DIR_LIGHTS > 0 ) && defined( RE_Direct )\n\tDirectionalLight directionalLight;\n\t#if defined( USE_SHADOWMAP ) && NUM_DIR_LIGHT_SHADOWS > 0\n\tDirectionalLightShadow directionalLightShadow;\n\t#endif\n\t#pragma unroll_loop_start\n\tfor ( int i = 0; i < NUM_DIR_LIGHTS; i ++ ) {\n\t\tdirectionalLight = directionalLights[ i ];\n\t\tgetDirectionalLightInfo( directionalLight, directLight );\n\t\t#if defined( USE_SHADOWMAP ) && ( UNROLLED_LOOP_INDEX < NUM_DIR_LIGHT_SHADOWS )\n\t\tdirectionalLightShadow = directionalLightShadows[ i ];\n\t\tdirectLight.color *= ( directLight.visible && receiveShadow ) ? getShadow( directionalShadowMap[ i ], directionalLightShadow.shadowMapSize, directionalLightShadow.shadowBias, directionalLightShadow.shadowRadius, vDirectionalShadowCoord[ i ] ) : 1.0;\n\t\t#endif\n\t\tRE_Direct( directLight, geometryPosition, geometryNormal, geometryViewDir, geometryClearcoatNormal, material, reflectedLight );\n\t}\n\t#pragma unroll_loop_end\n#endif\n#if ( NUM_RECT_AREA_LIGHTS > 0 ) && defined( RE_Direct_RectArea )\n\tRectAreaLight rectAreaLight;\n\t#pragma unroll_loop_start\n\tfor ( int i = 0; i < NUM_RECT_AREA_LIGHTS; i ++ ) {\n\t\trectAreaLight = rectAreaLights[ i ];\n\t\tRE_Direct_RectArea( rectAreaLight, geometryPosition, geometryNormal, geometryViewDir, geometryClearcoatNormal, material, reflectedLight );\n\t}\n\t#pragma unroll_loop_end\n#endif\n#if defined( RE_IndirectDiffuse )\n\tvec3 iblIrradiance = vec3( 0.0 );\n\tvec3 irradiance = getAmbientLightIrradiance( ambientLightColor );\n\t#if defined( USE_LIGHT_PROBES )\n\t\tirradiance += getLightProbeIrradiance( lightProbe, geometryNormal );\n\t#endif\n\t#if ( NUM_HEMI_LIGHTS > 0 )\n\t\t#pragma unroll_loop_start\n\t\tfor ( int i = 0; i < NUM_HEMI_LIGHTS; i ++ ) {\n\t\t\tirradiance += getHemisphereLightIrradiance( hemisphereLights[ i ], geometryNormal );\n\t\t}\n\t\t#pragma unroll_loop_end\n\t#endif\n#endif\n#if defined( RE_IndirectSpecular )\n\tvec3 radiance = vec3( 0.0 );\n\tvec3 clearcoatRadiance = vec3( 0.0 );\n#endif",lights_fragment_maps:"#if defined( RE_IndirectDiffuse )\n\t#ifdef USE_LIGHTMAP\n\t\tvec4 lightMapTexel = texture2D( lightMap, vLightMapUv );\n\t\tvec3 lightMapIrradiance = lightMapTexel.rgb * lightMapIntensity;\n\t\tirradiance += lightMapIrradiance;\n\t#endif\n\t#if defined( USE_ENVMAP ) && defined( STANDARD ) && defined( ENVMAP_TYPE_CUBE_UV )\n\t\tiblIrradiance += getIBLIrradiance( geometryNormal );\n\t#endif\n#endif\n#if defined( USE_ENVMAP ) && defined( RE_IndirectSpecular )\n\t#ifdef USE_ANISOTROPY\n\t\tradiance += getIBLAnisotropyRadiance( geometryViewDir, geometryNormal, material.roughness, material.anisotropyB, material.anisotropy );\n\t#else\n\t\tradiance += getIBLRadiance( geometryViewDir, geometryNormal, material.roughness );\n\t#endif\n\t#ifdef USE_CLEARCOAT\n\t\tclearcoatRadiance += getIBLRadiance( geometryViewDir, geometryClearcoatNormal, material.clearcoatRoughness );\n\t#endif\n#endif",lights_fragment_end:"#if defined( RE_IndirectDiffuse )\n\tRE_IndirectDiffuse( irradiance, geometryPosition, geometryNormal, geometryViewDir, geometryClearcoatNormal, material, reflectedLight );\n#endif\n#if defined( RE_IndirectSpecular )\n\tRE_IndirectSpecular( radiance, iblIrradiance, clearcoatRadiance, geometryPosition, geometryNormal, geometryViewDir, geometryClearcoatNormal, material, reflectedLight );\n#endif",logdepthbuf_fragment:"#if defined( USE_LOGDEPTHBUF ) && defined( USE_LOGDEPTHBUF_EXT )\n\tgl_FragDepthEXT = vIsPerspective == 0.0 ? gl_FragCoord.z : log2( vFragDepth ) * logDepthBufFC * 0.5;\n#endif",logdepthbuf_pars_fragment:"#if defined( USE_LOGDEPTHBUF ) && defined( USE_LOGDEPTHBUF_EXT )\n\tuniform float logDepthBufFC;\n\tvarying float vFragDepth;\n\tvarying float vIsPerspective;\n#endif",logdepthbuf_pars_vertex:"#ifdef USE_LOGDEPTHBUF\n\t#ifdef USE_LOGDEPTHBUF_EXT\n\t\tvarying float vFragDepth;\n\t\tvarying float vIsPerspective;\n\t#else\n\t\tuniform float logDepthBufFC;\n\t#endif\n#endif",logdepthbuf_vertex:"#ifdef USE_LOGDEPTHBUF\n\t#ifdef USE_LOGDEPTHBUF_EXT\n\t\tvFragDepth = 1.0 + gl_Position.w;\n\t\tvIsPerspective = float( isPerspectiveMatrix( projectionMatrix ) );\n\t#else\n\t\tif ( isPerspectiveMatrix( projectionMatrix ) ) {\n\t\t\tgl_Position.z = log2( max( EPSILON, gl_Position.w + 1.0 ) ) * logDepthBufFC - 1.0;\n\t\t\tgl_Position.z *= gl_Position.w;\n\t\t}\n\t#endif\n#endif",map_fragment:"#ifdef USE_MAP\n\tvec4 sampledDiffuseColor = texture2D( map, vMapUv );\n\t#ifdef DECODE_VIDEO_TEXTURE\n\t\tsampledDiffuseColor = vec4( mix( pow( sampledDiffuseColor.rgb * 0.9478672986 + vec3( 0.0521327014 ), vec3( 2.4 ) ), sampledDiffuseColor.rgb * 0.0773993808, vec3( lessThanEqual( sampledDiffuseColor.rgb, vec3( 0.04045 ) ) ) ), sampledDiffuseColor.w );\n\t\n\t#endif\n\tdiffuseColor *= sampledDiffuseColor;\n#endif",map_pars_fragment:"#ifdef USE_MAP\n\tuniform sampler2D map;\n#endif",map_particle_fragment:"#if defined( USE_MAP ) || defined( USE_ALPHAMAP )\n\t#if defined( USE_POINTS_UV )\n\t\tvec2 uv = vUv;\n\t#else\n\t\tvec2 uv = ( uvTransform * vec3( gl_PointCoord.x, 1.0 - gl_PointCoord.y, 1 ) ).xy;\n\t#endif\n#endif\n#ifdef USE_MAP\n\tdiffuseColor *= texture2D( map, uv );\n#endif\n#ifdef USE_ALPHAMAP\n\tdiffuseColor.a *= texture2D( alphaMap, uv ).g;\n#endif",map_particle_pars_fragment:"#if defined( USE_POINTS_UV )\n\tvarying vec2 vUv;\n#else\n\t#if defined( USE_MAP ) || defined( USE_ALPHAMAP )\n\t\tuniform mat3 uvTransform;\n\t#endif\n#endif\n#ifdef USE_MAP\n\tuniform sampler2D map;\n#endif\n#ifdef USE_ALPHAMAP\n\tuniform sampler2D alphaMap;\n#endif",metalnessmap_fragment:"float metalnessFactor = metalness;\n#ifdef USE_METALNESSMAP\n\tvec4 texelMetalness = texture2D( metalnessMap, vMetalnessMapUv );\n\tmetalnessFactor *= texelMetalness.b;\n#endif",metalnessmap_pars_fragment:"#ifdef USE_METALNESSMAP\n\tuniform sampler2D metalnessMap;\n#endif",morphcolor_vertex:"#if defined( USE_MORPHCOLORS ) && defined( MORPHTARGETS_TEXTURE )\n\tvColor *= morphTargetBaseInfluence;\n\tfor ( int i = 0; i < MORPHTARGETS_COUNT; i ++ ) {\n\t\t#if defined( USE_COLOR_ALPHA )\n\t\t\tif ( morphTargetInfluences[ i ] != 0.0 ) vColor += getMorph( gl_VertexID, i, 2 ) * morphTargetInfluences[ i ];\n\t\t#elif defined( USE_COLOR )\n\t\t\tif ( morphTargetInfluences[ i ] != 0.0 ) vColor += getMorph( gl_VertexID, i, 2 ).rgb * morphTargetInfluences[ i ];\n\t\t#endif\n\t}\n#endif",morphnormal_vertex:"#ifdef USE_MORPHNORMALS\n\tobjectNormal *= morphTargetBaseInfluence;\n\t#ifdef MORPHTARGETS_TEXTURE\n\t\tfor ( int i = 0; i < MORPHTARGETS_COUNT; i ++ ) {\n\t\t\tif ( morphTargetInfluences[ i ] != 0.0 ) objectNormal += getMorph( gl_VertexID, i, 1 ).xyz * morphTargetInfluences[ i ];\n\t\t}\n\t#else\n\t\tobjectNormal += morphNormal0 * morphTargetInfluences[ 0 ];\n\t\tobjectNormal += morphNormal1 * morphTargetInfluences[ 1 ];\n\t\tobjectNormal += morphNormal2 * morphTargetInfluences[ 2 ];\n\t\tobjectNormal += morphNormal3 * morphTargetInfluences[ 3 ];\n\t#endif\n#endif",morphtarget_pars_vertex:"#ifdef USE_MORPHTARGETS\n\tuniform float morphTargetBaseInfluence;\n\t#ifdef MORPHTARGETS_TEXTURE\n\t\tuniform float morphTargetInfluences[ MORPHTARGETS_COUNT ];\n\t\tuniform sampler2DArray morphTargetsTexture;\n\t\tuniform ivec2 morphTargetsTextureSize;\n\t\tvec4 getMorph( const in int vertexIndex, const in int morphTargetIndex, const in int offset ) {\n\t\t\tint texelIndex = vertexIndex * MORPHTARGETS_TEXTURE_STRIDE + offset;\n\t\t\tint y = texelIndex / morphTargetsTextureSize.x;\n\t\t\tint x = texelIndex - y * morphTargetsTextureSize.x;\n\t\t\tivec3 morphUV = ivec3( x, y, morphTargetIndex );\n\t\t\treturn texelFetch( morphTargetsTexture, morphUV, 0 );\n\t\t}\n\t#else\n\t\t#ifndef USE_MORPHNORMALS\n\t\t\tuniform float morphTargetInfluences[ 8 ];\n\t\t#else\n\t\t\tuniform float morphTargetInfluences[ 4 ];\n\t\t#endif\n\t#endif\n#endif",morphtarget_vertex:"#ifdef USE_MORPHTARGETS\n\ttransformed *= morphTargetBaseInfluence;\n\t#ifdef MORPHTARGETS_TEXTURE\n\t\tfor ( int i = 0; i < MORPHTARGETS_COUNT; i ++ ) {\n\t\t\tif ( morphTargetInfluences[ i ] != 0.0 ) transformed += getMorph( gl_VertexID, i, 0 ).xyz * morphTargetInfluences[ i ];\n\t\t}\n\t#else\n\t\ttransformed += morphTarget0 * morphTargetInfluences[ 0 ];\n\t\ttransformed += morphTarget1 * morphTargetInfluences[ 1 ];\n\t\ttransformed += morphTarget2 * morphTargetInfluences[ 2 ];\n\t\ttransformed += morphTarget3 * morphTargetInfluences[ 3 ];\n\t\t#ifndef USE_MORPHNORMALS\n\t\t\ttransformed += morphTarget4 * morphTargetInfluences[ 4 ];\n\t\t\ttransformed += morphTarget5 * morphTargetInfluences[ 5 ];\n\t\t\ttransformed += morphTarget6 * morphTargetInfluences[ 6 ];\n\t\t\ttransformed += morphTarget7 * morphTargetInfluences[ 7 ];\n\t\t#endif\n\t#endif\n#endif",normal_fragment_begin:"float faceDirection = gl_FrontFacing ? 1.0 : - 1.0;\n#ifdef FLAT_SHADED\n\tvec3 fdx = dFdx( vViewPosition );\n\tvec3 fdy = dFdy( vViewPosition );\n\tvec3 normal = normalize( cross( fdx, fdy ) );\n#else\n\tvec3 normal = normalize( vNormal );\n\t#ifdef DOUBLE_SIDED\n\t\tnormal *= faceDirection;\n\t#endif\n#endif\n#if defined( USE_NORMALMAP_TANGENTSPACE ) || defined( USE_CLEARCOAT_NORMALMAP ) || defined( USE_ANISOTROPY )\n\t#ifdef USE_TANGENT\n\t\tmat3 tbn = mat3( normalize( vTangent ), normalize( vBitangent ), normal );\n\t#else\n\t\tmat3 tbn = getTangentFrame( - vViewPosition, normal,\n\t\t#if defined( USE_NORMALMAP )\n\t\t\tvNormalMapUv\n\t\t#elif defined( USE_CLEARCOAT_NORMALMAP )\n\t\t\tvClearcoatNormalMapUv\n\t\t#else\n\t\t\tvUv\n\t\t#endif\n\t\t);\n\t#endif\n\t#if defined( DOUBLE_SIDED ) && ! defined( FLAT_SHADED )\n\t\ttbn[0] *= faceDirection;\n\t\ttbn[1] *= faceDirection;\n\t#endif\n#endif\n#ifdef USE_CLEARCOAT_NORMALMAP\n\t#ifdef USE_TANGENT\n\t\tmat3 tbn2 = mat3( normalize( vTangent ), normalize( vBitangent ), normal );\n\t#else\n\t\tmat3 tbn2 = getTangentFrame( - vViewPosition, normal, vClearcoatNormalMapUv );\n\t#endif\n\t#if defined( DOUBLE_SIDED ) && ! defined( FLAT_SHADED )\n\t\ttbn2[0] *= faceDirection;\n\t\ttbn2[1] *= faceDirection;\n\t#endif\n#endif\nvec3 nonPerturbedNormal = normal;",normal_fragment_maps:"#ifdef USE_NORMALMAP_OBJECTSPACE\n\tnormal = texture2D( normalMap, vNormalMapUv ).xyz * 2.0 - 1.0;\n\t#ifdef FLIP_SIDED\n\t\tnormal = - normal;\n\t#endif\n\t#ifdef DOUBLE_SIDED\n\t\tnormal = normal * faceDirection;\n\t#endif\n\tnormal = normalize( normalMatrix * normal );\n#elif defined( USE_NORMALMAP_TANGENTSPACE )\n\tvec3 mapN = texture2D( normalMap, vNormalMapUv ).xyz * 2.0 - 1.0;\n\tmapN.xy *= normalScale;\n\tnormal = normalize( tbn * mapN );\n#elif defined( USE_BUMPMAP )\n\tnormal = perturbNormalArb( - vViewPosition, normal, dHdxy_fwd(), faceDirection );\n#endif",normal_pars_fragment:"#ifndef FLAT_SHADED\n\tvarying vec3 vNormal;\n\t#ifdef USE_TANGENT\n\t\tvarying vec3 vTangent;\n\t\tvarying vec3 vBitangent;\n\t#endif\n#endif",normal_pars_vertex:"#ifndef FLAT_SHADED\n\tvarying vec3 vNormal;\n\t#ifdef USE_TANGENT\n\t\tvarying vec3 vTangent;\n\t\tvarying vec3 vBitangent;\n\t#endif\n#endif",normal_vertex:"#ifndef FLAT_SHADED\n\tvNormal = normalize( transformedNormal );\n\t#ifdef USE_TANGENT\n\t\tvTangent = normalize( transformedTangent );\n\t\tvBitangent = normalize( cross( vNormal, vTangent ) * tangent.w );\n\t#endif\n#endif",normalmap_pars_fragment:"#ifdef USE_NORMALMAP\n\tuniform sampler2D normalMap;\n\tuniform vec2 normalScale;\n#endif\n#ifdef USE_NORMALMAP_OBJECTSPACE\n\tuniform mat3 normalMatrix;\n#endif\n#if ! defined ( USE_TANGENT ) && ( defined ( USE_NORMALMAP_TANGENTSPACE ) || defined ( USE_CLEARCOAT_NORMALMAP ) || defined( USE_ANISOTROPY ) )\n\tmat3 getTangentFrame( vec3 eye_pos, vec3 surf_norm, vec2 uv ) {\n\t\tvec3 q0 = dFdx( eye_pos.xyz );\n\t\tvec3 q1 = dFdy( eye_pos.xyz );\n\t\tvec2 st0 = dFdx( uv.st );\n\t\tvec2 st1 = dFdy( uv.st );\n\t\tvec3 N = surf_norm;\n\t\tvec3 q1perp = cross( q1, N );\n\t\tvec3 q0perp = cross( N, q0 );\n\t\tvec3 T = q1perp * st0.x + q0perp * st1.x;\n\t\tvec3 B = q1perp * st0.y + q0perp * st1.y;\n\t\tfloat det = max( dot( T, T ), dot( B, B ) );\n\t\tfloat scale = ( det == 0.0 ) ? 0.0 : inversesqrt( det );\n\t\treturn mat3( T * scale, B * scale, N );\n\t}\n#endif",clearcoat_normal_fragment_begin:"#ifdef USE_CLEARCOAT\n\tvec3 clearcoatNormal = nonPerturbedNormal;\n#endif",clearcoat_normal_fragment_maps:"#ifdef USE_CLEARCOAT_NORMALMAP\n\tvec3 clearcoatMapN = texture2D( clearcoatNormalMap, vClearcoatNormalMapUv ).xyz * 2.0 - 1.0;\n\tclearcoatMapN.xy *= clearcoatNormalScale;\n\tclearcoatNormal = normalize( tbn2 * clearcoatMapN );\n#endif",clearcoat_pars_fragment:"#ifdef USE_CLEARCOATMAP\n\tuniform sampler2D clearcoatMap;\n#endif\n#ifdef USE_CLEARCOAT_NORMALMAP\n\tuniform sampler2D clearcoatNormalMap;\n\tuniform vec2 clearcoatNormalScale;\n#endif\n#ifdef USE_CLEARCOAT_ROUGHNESSMAP\n\tuniform sampler2D clearcoatRoughnessMap;\n#endif",iridescence_pars_fragment:"#ifdef USE_IRIDESCENCEMAP\n\tuniform sampler2D iridescenceMap;\n#endif\n#ifdef USE_IRIDESCENCE_THICKNESSMAP\n\tuniform sampler2D iridescenceThicknessMap;\n#endif",opaque_fragment:"#ifdef OPAQUE\ndiffuseColor.a = 1.0;\n#endif\n#ifdef USE_TRANSMISSION\ndiffuseColor.a *= material.transmissionAlpha;\n#endif\ngl_FragColor = vec4( outgoingLight, diffuseColor.a );",packing:"vec3 packNormalToRGB( const in vec3 normal ) {\n\treturn normalize( normal ) * 0.5 + 0.5;\n}\nvec3 unpackRGBToNormal( const in vec3 rgb ) {\n\treturn 2.0 * rgb.xyz - 1.0;\n}\nconst float PackUpscale = 256. / 255.;const float UnpackDownscale = 255. / 256.;\nconst vec3 PackFactors = vec3( 256. * 256. * 256., 256. * 256., 256. );\nconst vec4 UnpackFactors = UnpackDownscale / vec4( PackFactors, 1. );\nconst float ShiftRight8 = 1. / 256.;\nvec4 packDepthToRGBA( const in float v ) {\n\tvec4 r = vec4( fract( v * PackFactors ), v );\n\tr.yzw -= r.xyz * ShiftRight8;\treturn r * PackUpscale;\n}\nfloat unpackRGBAToDepth( const in vec4 v ) {\n\treturn dot( v, UnpackFactors );\n}\nvec2 packDepthToRG( in highp float v ) {\n\treturn packDepthToRGBA( v ).yx;\n}\nfloat unpackRGToDepth( const in highp vec2 v ) {\n\treturn unpackRGBAToDepth( vec4( v.xy, 0.0, 0.0 ) );\n}\nvec4 pack2HalfToRGBA( vec2 v ) {\n\tvec4 r = vec4( v.x, fract( v.x * 255.0 ), v.y, fract( v.y * 255.0 ) );\n\treturn vec4( r.x - r.y / 255.0, r.y, r.z - r.w / 255.0, r.w );\n}\nvec2 unpackRGBATo2Half( vec4 v ) {\n\treturn vec2( v.x + ( v.y / 255.0 ), v.z + ( v.w / 255.0 ) );\n}\nfloat viewZToOrthographicDepth( const in float viewZ, const in float near, const in float far ) {\n\treturn ( viewZ + near ) / ( near - far );\n}\nfloat orthographicDepthToViewZ( const in float depth, const in float near, const in float far ) {\n\treturn depth * ( near - far ) - near;\n}\nfloat viewZToPerspectiveDepth( const in float viewZ, const in float near, const in float far ) {\n\treturn ( ( near + viewZ ) * far ) / ( ( far - near ) * viewZ );\n}\nfloat perspectiveDepthToViewZ( const in float depth, const in float near, const in float far ) {\n\treturn ( near * far ) / ( ( far - near ) * depth - far );\n}",premultiplied_alpha_fragment:"#ifdef PREMULTIPLIED_ALPHA\n\tgl_FragColor.rgb *= gl_FragColor.a;\n#endif",project_vertex:"vec4 mvPosition = vec4( transformed, 1.0 );\n#ifdef USE_BATCHING\n\tmvPosition = batchingMatrix * mvPosition;\n#endif\n#ifdef USE_INSTANCING\n\tmvPosition = instanceMatrix * mvPosition;\n#endif\nmvPosition = modelViewMatrix * mvPosition;\ngl_Position = projectionMatrix * mvPosition;",dithering_fragment:"#ifdef DITHERING\n\tgl_FragColor.rgb = dithering( gl_FragColor.rgb );\n#endif",dithering_pars_fragment:"#ifdef DITHERING\n\tvec3 dithering( vec3 color ) {\n\t\tfloat grid_position = rand( gl_FragCoord.xy );\n\t\tvec3 dither_shift_RGB = vec3( 0.25 / 255.0, -0.25 / 255.0, 0.25 / 255.0 );\n\t\tdither_shift_RGB = mix( 2.0 * dither_shift_RGB, -2.0 * dither_shift_RGB, grid_position );\n\t\treturn color + dither_shift_RGB;\n\t}\n#endif",roughnessmap_fragment:"float roughnessFactor = roughness;\n#ifdef USE_ROUGHNESSMAP\n\tvec4 texelRoughness = texture2D( roughnessMap, vRoughnessMapUv );\n\troughnessFactor *= texelRoughness.g;\n#endif",roughnessmap_pars_fragment:"#ifdef USE_ROUGHNESSMAP\n\tuniform sampler2D roughnessMap;\n#endif",shadowmap_pars_fragment:"#if NUM_SPOT_LIGHT_COORDS > 0\n\tvarying vec4 vSpotLightCoord[ NUM_SPOT_LIGHT_COORDS ];\n#endif\n#if NUM_SPOT_LIGHT_MAPS > 0\n\tuniform sampler2D spotLightMap[ NUM_SPOT_LIGHT_MAPS ];\n#endif\n#ifdef USE_SHADOWMAP\n\t#if NUM_DIR_LIGHT_SHADOWS > 0\n\t\tuniform sampler2D directionalShadowMap[ NUM_DIR_LIGHT_SHADOWS ];\n\t\tvarying vec4 vDirectionalShadowCoord[ NUM_DIR_LIGHT_SHADOWS ];\n\t\tstruct DirectionalLightShadow {\n\t\t\tfloat shadowBias;\n\t\t\tfloat shadowNormalBias;\n\t\t\tfloat shadowRadius;\n\t\t\tvec2 shadowMapSize;\n\t\t};\n\t\tuniform DirectionalLightShadow directionalLightShadows[ NUM_DIR_LIGHT_SHADOWS ];\n\t#endif\n\t#if NUM_SPOT_LIGHT_SHADOWS > 0\n\t\tuniform sampler2D spotShadowMap[ NUM_SPOT_LIGHT_SHADOWS ];\n\t\tstruct SpotLightShadow {\n\t\t\tfloat shadowBias;\n\t\t\tfloat shadowNormalBias;\n\t\t\tfloat shadowRadius;\n\t\t\tvec2 shadowMapSize;\n\t\t};\n\t\tuniform SpotLightShadow spotLightShadows[ NUM_SPOT_LIGHT_SHADOWS ];\n\t#endif\n\t#if NUM_POINT_LIGHT_SHADOWS > 0\n\t\tuniform sampler2D pointShadowMap[ NUM_POINT_LIGHT_SHADOWS ];\n\t\tvarying vec4 vPointShadowCoord[ NUM_POINT_LIGHT_SHADOWS ];\n\t\tstruct PointLightShadow {\n\t\t\tfloat shadowBias;\n\t\t\tfloat shadowNormalBias;\n\t\t\tfloat shadowRadius;\n\t\t\tvec2 shadowMapSize;\n\t\t\tfloat shadowCameraNear;\n\t\t\tfloat shadowCameraFar;\n\t\t};\n\t\tuniform PointLightShadow pointLightShadows[ NUM_POINT_LIGHT_SHADOWS ];\n\t#endif\n\tfloat texture2DCompare( sampler2D depths, vec2 uv, float compare ) {\n\t\treturn step( compare, unpackRGBAToDepth( texture2D( depths, uv ) ) );\n\t}\n\tvec2 texture2DDistribution( sampler2D shadow, vec2 uv ) {\n\t\treturn unpackRGBATo2Half( texture2D( shadow, uv ) );\n\t}\n\tfloat VSMShadow (sampler2D shadow, vec2 uv, float compare ){\n\t\tfloat occlusion = 1.0;\n\t\tvec2 distribution = texture2DDistribution( shadow, uv );\n\t\tfloat hard_shadow = step( compare , distribution.x );\n\t\tif (hard_shadow != 1.0 ) {\n\t\t\tfloat distance = compare - distribution.x ;\n\t\t\tfloat variance = max( 0.00000, distribution.y * distribution.y );\n\t\t\tfloat softness_probability = variance / (variance + distance * distance );\t\t\tsoftness_probability = clamp( ( softness_probability - 0.3 ) / ( 0.95 - 0.3 ), 0.0, 1.0 );\t\t\tocclusion = clamp( max( hard_shadow, softness_probability ), 0.0, 1.0 );\n\t\t}\n\t\treturn occlusion;\n\t}\n\tfloat getShadow( sampler2D shadowMap, vec2 shadowMapSize, float shadowBias, float shadowRadius, vec4 shadowCoord ) {\n\t\tfloat shadow = 1.0;\n\t\tshadowCoord.xyz /= shadowCoord.w;\n\t\tshadowCoord.z += shadowBias;\n\t\tbool inFrustum = shadowCoord.x >= 0.0 && shadowCoord.x <= 1.0 && shadowCoord.y >= 0.0 && shadowCoord.y <= 1.0;\n\t\tbool frustumTest = inFrustum && shadowCoord.z <= 1.0;\n\t\tif ( frustumTest ) {\n\t\t#if defined( SHADOWMAP_TYPE_PCF )\n\t\t\tvec2 texelSize = vec2( 1.0 ) / shadowMapSize;\n\t\t\tfloat dx0 = - texelSize.x * shadowRadius;\n\t\t\tfloat dy0 = - texelSize.y * shadowRadius;\n\t\t\tfloat dx1 = + texelSize.x * shadowRadius;\n\t\t\tfloat dy1 = + texelSize.y * shadowRadius;\n\t\t\tfloat dx2 = dx0 / 2.0;\n\t\t\tfloat dy2 = dy0 / 2.0;\n\t\t\tfloat dx3 = dx1 / 2.0;\n\t\t\tfloat dy3 = dy1 / 2.0;\n\t\t\tshadow = (\n\t\t\t\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( dx0, dy0 ), shadowCoord.z ) +\n\t\t\t\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( 0.0, dy0 ), shadowCoord.z ) +\n\t\t\t\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( dx1, dy0 ), shadowCoord.z ) +\n\t\t\t\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( dx2, dy2 ), shadowCoord.z ) +\n\t\t\t\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( 0.0, dy2 ), shadowCoord.z ) +\n\t\t\t\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( dx3, dy2 ), shadowCoord.z ) +\n\t\t\t\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( dx0, 0.0 ), shadowCoord.z ) +\n\t\t\t\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( dx2, 0.0 ), shadowCoord.z ) +\n\t\t\t\ttexture2DCompare( shadowMap, shadowCoord.xy, shadowCoord.z ) +\n\t\t\t\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( dx3, 0.0 ), shadowCoord.z ) +\n\t\t\t\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( dx1, 0.0 ), shadowCoord.z ) +\n\t\t\t\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( dx2, dy3 ), shadowCoord.z ) +\n\t\t\t\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( 0.0, dy3 ), shadowCoord.z ) +\n\t\t\t\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( dx3, dy3 ), shadowCoord.z ) +\n\t\t\t\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( dx0, dy1 ), shadowCoord.z ) +\n\t\t\t\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( 0.0, dy1 ), shadowCoord.z ) +\n\t\t\t\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( dx1, dy1 ), shadowCoord.z )\n\t\t\t) * ( 1.0 / 17.0 );\n\t\t#elif defined( SHADOWMAP_TYPE_PCF_SOFT )\n\t\t\tvec2 texelSize = vec2( 1.0 ) / shadowMapSize;\n\t\t\tfloat dx = texelSize.x;\n\t\t\tfloat dy = texelSize.y;\n\t\t\tvec2 uv = shadowCoord.xy;\n\t\t\tvec2 f = fract( uv * shadowMapSize + 0.5 );\n\t\t\tuv -= f * texelSize;\n\t\t\tshadow = (\n\t\t\t\ttexture2DCompare( shadowMap, uv, shadowCoord.z ) +\n\t\t\t\ttexture2DCompare( shadowMap, uv + vec2( dx, 0.0 ), shadowCoord.z ) +\n\t\t\t\ttexture2DCompare( shadowMap, uv + vec2( 0.0, dy ), shadowCoord.z ) +\n\t\t\t\ttexture2DCompare( shadowMap, uv + texelSize, shadowCoord.z ) +\n\t\t\t\tmix( texture2DCompare( shadowMap, uv + vec2( -dx, 0.0 ), shadowCoord.z ),\n\t\t\t\t\t texture2DCompare( shadowMap, uv + vec2( 2.0 * dx, 0.0 ), shadowCoord.z ),\n\t\t\t\t\t f.x ) +\n\t\t\t\tmix( texture2DCompare( shadowMap, uv + vec2( -dx, dy ), shadowCoord.z ),\n\t\t\t\t\t texture2DCompare( shadowMap, uv + vec2( 2.0 * dx, dy ), shadowCoord.z ),\n\t\t\t\t\t f.x ) +\n\t\t\t\tmix( texture2DCompare( shadowMap, uv + vec2( 0.0, -dy ), shadowCoord.z ),\n\t\t\t\t\t texture2DCompare( shadowMap, uv + vec2( 0.0, 2.0 * dy ), shadowCoord.z ),\n\t\t\t\t\t f.y ) +\n\t\t\t\tmix( texture2DCompare( shadowMap, uv + vec2( dx, -dy ), shadowCoord.z ),\n\t\t\t\t\t texture2DCompare( shadowMap, uv + vec2( dx, 2.0 * dy ), shadowCoord.z ),\n\t\t\t\t\t f.y ) +\n\t\t\t\tmix( mix( texture2DCompare( shadowMap, uv + vec2( -dx, -dy ), shadowCoord.z ),\n\t\t\t\t\t\t texture2DCompare( shadowMap, uv + vec2( 2.0 * dx, -dy ), shadowCoord.z ),\n\t\t\t\t\t\t f.x ),\n\t\t\t\t\t mix( texture2DCompare( shadowMap, uv + vec2( -dx, 2.0 * dy ), shadowCoord.z ),\n\t\t\t\t\t\t texture2DCompare( shadowMap, uv + vec2( 2.0 * dx, 2.0 * dy ), shadowCoord.z ),\n\t\t\t\t\t\t f.x ),\n\t\t\t\t\t f.y )\n\t\t\t) * ( 1.0 / 9.0 );\n\t\t#elif defined( SHADOWMAP_TYPE_VSM )\n\t\t\tshadow = VSMShadow( shadowMap, shadowCoord.xy, shadowCoord.z );\n\t\t#else\n\t\t\tshadow = texture2DCompare( shadowMap, shadowCoord.xy, shadowCoord.z );\n\t\t#endif\n\t\t}\n\t\treturn shadow;\n\t}\n\tvec2 cubeToUV( vec3 v, float texelSizeY ) {\n\t\tvec3 absV = abs( v );\n\t\tfloat scaleToCube = 1.0 / max( absV.x, max( absV.y, absV.z ) );\n\t\tabsV *= scaleToCube;\n\t\tv *= scaleToCube * ( 1.0 - 2.0 * texelSizeY );\n\t\tvec2 planar = v.xy;\n\t\tfloat almostATexel = 1.5 * texelSizeY;\n\t\tfloat almostOne = 1.0 - almostATexel;\n\t\tif ( absV.z >= almostOne ) {\n\t\t\tif ( v.z > 0.0 )\n\t\t\t\tplanar.x = 4.0 - v.x;\n\t\t} else if ( absV.x >= almostOne ) {\n\t\t\tfloat signX = sign( v.x );\n\t\t\tplanar.x = v.z * signX + 2.0 * signX;\n\t\t} else if ( absV.y >= almostOne ) {\n\t\t\tfloat signY = sign( v.y );\n\t\t\tplanar.x = v.x + 2.0 * signY + 2.0;\n\t\t\tplanar.y = v.z * signY - 2.0;\n\t\t}\n\t\treturn vec2( 0.125, 0.25 ) * planar + vec2( 0.375, 0.75 );\n\t}\n\tfloat getPointShadow( sampler2D shadowMap, vec2 shadowMapSize, float shadowBias, float shadowRadius, vec4 shadowCoord, float shadowCameraNear, float shadowCameraFar ) {\n\t\tvec2 texelSize = vec2( 1.0 ) / ( shadowMapSize * vec2( 4.0, 2.0 ) );\n\t\tvec3 lightToPosition = shadowCoord.xyz;\n\t\tfloat dp = ( length( lightToPosition ) - shadowCameraNear ) / ( shadowCameraFar - shadowCameraNear );\t\tdp += shadowBias;\n\t\tvec3 bd3D = normalize( lightToPosition );\n\t\t#if defined( SHADOWMAP_TYPE_PCF ) || defined( SHADOWMAP_TYPE_PCF_SOFT ) || defined( SHADOWMAP_TYPE_VSM )\n\t\t\tvec2 offset = vec2( - 1, 1 ) * shadowRadius * texelSize.y;\n\t\t\treturn (\n\t\t\t\ttexture2DCompare( shadowMap, cubeToUV( bd3D + offset.xyy, texelSize.y ), dp ) +\n\t\t\t\ttexture2DCompare( shadowMap, cubeToUV( bd3D + offset.yyy, texelSize.y ), dp ) +\n\t\t\t\ttexture2DCompare( shadowMap, cubeToUV( bd3D + offset.xyx, texelSize.y ), dp ) +\n\t\t\t\ttexture2DCompare( shadowMap, cubeToUV( bd3D + offset.yyx, texelSize.y ), dp ) +\n\t\t\t\ttexture2DCompare( shadowMap, cubeToUV( bd3D, texelSize.y ), dp ) +\n\t\t\t\ttexture2DCompare( shadowMap, cubeToUV( bd3D + offset.xxy, texelSize.y ), dp ) +\n\t\t\t\ttexture2DCompare( shadowMap, cubeToUV( bd3D + offset.yxy, texelSize.y ), dp ) +\n\t\t\t\ttexture2DCompare( shadowMap, cubeToUV( bd3D + offset.xxx, texelSize.y ), dp ) +\n\t\t\t\ttexture2DCompare( shadowMap, cubeToUV( bd3D + offset.yxx, texelSize.y ), dp )\n\t\t\t) * ( 1.0 / 9.0 );\n\t\t#else\n\t\t\treturn texture2DCompare( shadowMap, cubeToUV( bd3D, texelSize.y ), dp );\n\t\t#endif\n\t}\n#endif",shadowmap_pars_vertex:"#if NUM_SPOT_LIGHT_COORDS > 0\n\tuniform mat4 spotLightMatrix[ NUM_SPOT_LIGHT_COORDS ];\n\tvarying vec4 vSpotLightCoord[ NUM_SPOT_LIGHT_COORDS ];\n#endif\n#ifdef USE_SHADOWMAP\n\t#if NUM_DIR_LIGHT_SHADOWS > 0\n\t\tuniform mat4 directionalShadowMatrix[ NUM_DIR_LIGHT_SHADOWS ];\n\t\tvarying vec4 vDirectionalShadowCoord[ NUM_DIR_LIGHT_SHADOWS ];\n\t\tstruct DirectionalLightShadow {\n\t\t\tfloat shadowBias;\n\t\t\tfloat shadowNormalBias;\n\t\t\tfloat shadowRadius;\n\t\t\tvec2 shadowMapSize;\n\t\t};\n\t\tuniform DirectionalLightShadow directionalLightShadows[ NUM_DIR_LIGHT_SHADOWS ];\n\t#endif\n\t#if NUM_SPOT_LIGHT_SHADOWS > 0\n\t\tstruct SpotLightShadow {\n\t\t\tfloat shadowBias;\n\t\t\tfloat shadowNormalBias;\n\t\t\tfloat shadowRadius;\n\t\t\tvec2 shadowMapSize;\n\t\t};\n\t\tuniform SpotLightShadow spotLightShadows[ NUM_SPOT_LIGHT_SHADOWS ];\n\t#endif\n\t#if NUM_POINT_LIGHT_SHADOWS > 0\n\t\tuniform mat4 pointShadowMatrix[ NUM_POINT_LIGHT_SHADOWS ];\n\t\tvarying vec4 vPointShadowCoord[ NUM_POINT_LIGHT_SHADOWS ];\n\t\tstruct PointLightShadow {\n\t\t\tfloat shadowBias;\n\t\t\tfloat shadowNormalBias;\n\t\t\tfloat shadowRadius;\n\t\t\tvec2 shadowMapSize;\n\t\t\tfloat shadowCameraNear;\n\t\t\tfloat shadowCameraFar;\n\t\t};\n\t\tuniform PointLightShadow pointLightShadows[ NUM_POINT_LIGHT_SHADOWS ];\n\t#endif\n#endif",shadowmap_vertex:"#if ( defined( USE_SHADOWMAP ) && ( NUM_DIR_LIGHT_SHADOWS > 0 || NUM_POINT_LIGHT_SHADOWS > 0 ) ) || ( NUM_SPOT_LIGHT_COORDS > 0 )\n\tvec3 shadowWorldNormal = inverseTransformDirection( transformedNormal, viewMatrix );\n\tvec4 shadowWorldPosition;\n#endif\n#if defined( USE_SHADOWMAP )\n\t#if NUM_DIR_LIGHT_SHADOWS > 0\n\t\t#pragma unroll_loop_start\n\t\tfor ( int i = 0; i < NUM_DIR_LIGHT_SHADOWS; i ++ ) {\n\t\t\tshadowWorldPosition = worldPosition + vec4( shadowWorldNormal * directionalLightShadows[ i ].shadowNormalBias, 0 );\n\t\t\tvDirectionalShadowCoord[ i ] = directionalShadowMatrix[ i ] * shadowWorldPosition;\n\t\t}\n\t\t#pragma unroll_loop_end\n\t#endif\n\t#if NUM_POINT_LIGHT_SHADOWS > 0\n\t\t#pragma unroll_loop_start\n\t\tfor ( int i = 0; i < NUM_POINT_LIGHT_SHADOWS; i ++ ) {\n\t\t\tshadowWorldPosition = worldPosition + vec4( shadowWorldNormal * pointLightShadows[ i ].shadowNormalBias, 0 );\n\t\t\tvPointShadowCoord[ i ] = pointShadowMatrix[ i ] * shadowWorldPosition;\n\t\t}\n\t\t#pragma unroll_loop_end\n\t#endif\n#endif\n#if NUM_SPOT_LIGHT_COORDS > 0\n\t#pragma unroll_loop_start\n\tfor ( int i = 0; i < NUM_SPOT_LIGHT_COORDS; i ++ ) {\n\t\tshadowWorldPosition = worldPosition;\n\t\t#if ( defined( USE_SHADOWMAP ) && UNROLLED_LOOP_INDEX < NUM_SPOT_LIGHT_SHADOWS )\n\t\t\tshadowWorldPosition.xyz += shadowWorldNormal * spotLightShadows[ i ].shadowNormalBias;\n\t\t#endif\n\t\tvSpotLightCoord[ i ] = spotLightMatrix[ i ] * shadowWorldPosition;\n\t}\n\t#pragma unroll_loop_end\n#endif",shadowmask_pars_fragment:"float getShadowMask() {\n\tfloat shadow = 1.0;\n\t#ifdef USE_SHADOWMAP\n\t#if NUM_DIR_LIGHT_SHADOWS > 0\n\tDirectionalLightShadow directionalLight;\n\t#pragma unroll_loop_start\n\tfor ( int i = 0; i < NUM_DIR_LIGHT_SHADOWS; i ++ ) {\n\t\tdirectionalLight = directionalLightShadows[ i ];\n\t\tshadow *= receiveShadow ? getShadow( directionalShadowMap[ i ], directionalLight.shadowMapSize, directionalLight.shadowBias, directionalLight.shadowRadius, vDirectionalShadowCoord[ i ] ) : 1.0;\n\t}\n\t#pragma unroll_loop_end\n\t#endif\n\t#if NUM_SPOT_LIGHT_SHADOWS > 0\n\tSpotLightShadow spotLight;\n\t#pragma unroll_loop_start\n\tfor ( int i = 0; i < NUM_SPOT_LIGHT_SHADOWS; i ++ ) {\n\t\tspotLight = spotLightShadows[ i ];\n\t\tshadow *= receiveShadow ? getShadow( spotShadowMap[ i ], spotLight.shadowMapSize, spotLight.shadowBias, spotLight.shadowRadius, vSpotLightCoord[ i ] ) : 1.0;\n\t}\n\t#pragma unroll_loop_end\n\t#endif\n\t#if NUM_POINT_LIGHT_SHADOWS > 0\n\tPointLightShadow pointLight;\n\t#pragma unroll_loop_start\n\tfor ( int i = 0; i < NUM_POINT_LIGHT_SHADOWS; i ++ ) {\n\t\tpointLight = pointLightShadows[ i ];\n\t\tshadow *= receiveShadow ? getPointShadow( pointShadowMap[ i ], pointLight.shadowMapSize, pointLight.shadowBias, pointLight.shadowRadius, vPointShadowCoord[ i ], pointLight.shadowCameraNear, pointLight.shadowCameraFar ) : 1.0;\n\t}\n\t#pragma unroll_loop_end\n\t#endif\n\t#endif\n\treturn shadow;\n}",skinbase_vertex:"#ifdef USE_SKINNING\n\tmat4 boneMatX = getBoneMatrix( skinIndex.x );\n\tmat4 boneMatY = getBoneMatrix( skinIndex.y );\n\tmat4 boneMatZ = getBoneMatrix( skinIndex.z );\n\tmat4 boneMatW = getBoneMatrix( skinIndex.w );\n#endif",skinning_pars_vertex:"#ifdef USE_SKINNING\n\tuniform mat4 bindMatrix;\n\tuniform mat4 bindMatrixInverse;\n\tuniform highp sampler2D boneTexture;\n\tmat4 getBoneMatrix( const in float i ) {\n\t\tint size = textureSize( boneTexture, 0 ).x;\n\t\tint j = int( i ) * 4;\n\t\tint x = j % size;\n\t\tint y = j / size;\n\t\tvec4 v1 = texelFetch( boneTexture, ivec2( x, y ), 0 );\n\t\tvec4 v2 = texelFetch( boneTexture, ivec2( x + 1, y ), 0 );\n\t\tvec4 v3 = texelFetch( boneTexture, ivec2( x + 2, y ), 0 );\n\t\tvec4 v4 = texelFetch( boneTexture, ivec2( x + 3, y ), 0 );\n\t\treturn mat4( v1, v2, v3, v4 );\n\t}\n#endif",skinning_vertex:"#ifdef USE_SKINNING\n\tvec4 skinVertex = bindMatrix * vec4( transformed, 1.0 );\n\tvec4 skinned = vec4( 0.0 );\n\tskinned += boneMatX * skinVertex * skinWeight.x;\n\tskinned += boneMatY * skinVertex * skinWeight.y;\n\tskinned += boneMatZ * skinVertex * skinWeight.z;\n\tskinned += boneMatW * skinVertex * skinWeight.w;\n\ttransformed = ( bindMatrixInverse * skinned ).xyz;\n#endif",skinnormal_vertex:"#ifdef USE_SKINNING\n\tmat4 skinMatrix = mat4( 0.0 );\n\tskinMatrix += skinWeight.x * boneMatX;\n\tskinMatrix += skinWeight.y * boneMatY;\n\tskinMatrix += skinWeight.z * boneMatZ;\n\tskinMatrix += skinWeight.w * boneMatW;\n\tskinMatrix = bindMatrixInverse * skinMatrix * bindMatrix;\n\tobjectNormal = vec4( skinMatrix * vec4( objectNormal, 0.0 ) ).xyz;\n\t#ifdef USE_TANGENT\n\t\tobjectTangent = vec4( skinMatrix * vec4( objectTangent, 0.0 ) ).xyz;\n\t#endif\n#endif",specularmap_fragment:"float specularStrength;\n#ifdef USE_SPECULARMAP\n\tvec4 texelSpecular = texture2D( specularMap, vSpecularMapUv );\n\tspecularStrength = texelSpecular.r;\n#else\n\tspecularStrength = 1.0;\n#endif",specularmap_pars_fragment:"#ifdef USE_SPECULARMAP\n\tuniform sampler2D specularMap;\n#endif",tonemapping_fragment:"#if defined( TONE_MAPPING )\n\tgl_FragColor.rgb = toneMapping( gl_FragColor.rgb );\n#endif",tonemapping_pars_fragment:"#ifndef saturate\n#define saturate( a ) clamp( a, 0.0, 1.0 )\n#endif\nuniform float toneMappingExposure;\nvec3 LinearToneMapping( vec3 color ) {\n\treturn saturate( toneMappingExposure * color );\n}\nvec3 ReinhardToneMapping( vec3 color ) {\n\tcolor *= toneMappingExposure;\n\treturn saturate( color / ( vec3( 1.0 ) + color ) );\n}\nvec3 OptimizedCineonToneMapping( vec3 color ) {\n\tcolor *= toneMappingExposure;\n\tcolor = max( vec3( 0.0 ), color - 0.004 );\n\treturn pow( ( color * ( 6.2 * color + 0.5 ) ) / ( color * ( 6.2 * color + 1.7 ) + 0.06 ), vec3( 2.2 ) );\n}\nvec3 RRTAndODTFit( vec3 v ) {\n\tvec3 a = v * ( v + 0.0245786 ) - 0.000090537;\n\tvec3 b = v * ( 0.983729 * v + 0.4329510 ) + 0.238081;\n\treturn a / b;\n}\nvec3 ACESFilmicToneMapping( vec3 color ) {\n\tconst mat3 ACESInputMat = mat3(\n\t\tvec3( 0.59719, 0.07600, 0.02840 ),\t\tvec3( 0.35458, 0.90834, 0.13383 ),\n\t\tvec3( 0.04823, 0.01566, 0.83777 )\n\t);\n\tconst mat3 ACESOutputMat = mat3(\n\t\tvec3( 1.60475, -0.10208, -0.00327 ),\t\tvec3( -0.53108, 1.10813, -0.07276 ),\n\t\tvec3( -0.07367, -0.00605, 1.07602 )\n\t);\n\tcolor *= toneMappingExposure / 0.6;\n\tcolor = ACESInputMat * color;\n\tcolor = RRTAndODTFit( color );\n\tcolor = ACESOutputMat * color;\n\treturn saturate( color );\n}\nconst mat3 LINEAR_REC2020_TO_LINEAR_SRGB = mat3(\n\tvec3( 1.6605, - 0.1246, - 0.0182 ),\n\tvec3( - 0.5876, 1.1329, - 0.1006 ),\n\tvec3( - 0.0728, - 0.0083, 1.1187 )\n);\nconst mat3 LINEAR_SRGB_TO_LINEAR_REC2020 = mat3(\n\tvec3( 0.6274, 0.0691, 0.0164 ),\n\tvec3( 0.3293, 0.9195, 0.0880 ),\n\tvec3( 0.0433, 0.0113, 0.8956 )\n);\nvec3 agxDefaultContrastApprox( vec3 x ) {\n\tvec3 x2 = x * x;\n\tvec3 x4 = x2 * x2;\n\treturn + 15.5 * x4 * x2\n\t\t- 40.14 * x4 * x\n\t\t+ 31.96 * x4\n\t\t- 6.868 * x2 * x\n\t\t+ 0.4298 * x2\n\t\t+ 0.1191 * x\n\t\t- 0.00232;\n}\nvec3 AgXToneMapping( vec3 color ) {\n\tconst mat3 AgXInsetMatrix = mat3(\n\t\tvec3( 0.856627153315983, 0.137318972929847, 0.11189821299995 ),\n\t\tvec3( 0.0951212405381588, 0.761241990602591, 0.0767994186031903 ),\n\t\tvec3( 0.0482516061458583, 0.101439036467562, 0.811302368396859 )\n\t);\n\tconst mat3 AgXOutsetMatrix = mat3(\n\t\tvec3( 1.1271005818144368, - 0.1413297634984383, - 0.14132976349843826 ),\n\t\tvec3( - 0.11060664309660323, 1.157823702216272, - 0.11060664309660294 ),\n\t\tvec3( - 0.016493938717834573, - 0.016493938717834257, 1.2519364065950405 )\n\t);\n\tconst float AgxMinEv = - 12.47393;\tconst float AgxMaxEv = 4.026069;\n\tcolor = LINEAR_SRGB_TO_LINEAR_REC2020 * color;\n\tcolor *= toneMappingExposure;\n\tcolor = AgXInsetMatrix * color;\n\tcolor = max( color, 1e-10 );\tcolor = log2( color );\n\tcolor = ( color - AgxMinEv ) / ( AgxMaxEv - AgxMinEv );\n\tcolor = clamp( color, 0.0, 1.0 );\n\tcolor = agxDefaultContrastApprox( color );\n\tcolor = AgXOutsetMatrix * color;\n\tcolor = pow( max( vec3( 0.0 ), color ), vec3( 2.2 ) );\n\tcolor = LINEAR_REC2020_TO_LINEAR_SRGB * color;\n\treturn color;\n}\nvec3 CustomToneMapping( vec3 color ) { return color; }",transmission_fragment:"#ifdef USE_TRANSMISSION\n\tmaterial.transmission = transmission;\n\tmaterial.transmissionAlpha = 1.0;\n\tmaterial.thickness = thickness;\n\tmaterial.attenuationDistance = attenuationDistance;\n\tmaterial.attenuationColor = attenuationColor;\n\t#ifdef USE_TRANSMISSIONMAP\n\t\tmaterial.transmission *= texture2D( transmissionMap, vTransmissionMapUv ).r;\n\t#endif\n\t#ifdef USE_THICKNESSMAP\n\t\tmaterial.thickness *= texture2D( thicknessMap, vThicknessMapUv ).g;\n\t#endif\n\tvec3 pos = vWorldPosition;\n\tvec3 v = normalize( cameraPosition - pos );\n\tvec3 n = inverseTransformDirection( normal, viewMatrix );\n\tvec4 transmitted = getIBLVolumeRefraction(\n\t\tn, v, material.roughness, material.diffuseColor, material.specularColor, material.specularF90,\n\t\tpos, modelMatrix, viewMatrix, projectionMatrix, material.ior, material.thickness,\n\t\tmaterial.attenuationColor, material.attenuationDistance );\n\tmaterial.transmissionAlpha = mix( material.transmissionAlpha, transmitted.a, material.transmission );\n\ttotalDiffuse = mix( totalDiffuse, transmitted.rgb, material.transmission );\n#endif",transmission_pars_fragment:"#ifdef USE_TRANSMISSION\n\tuniform float transmission;\n\tuniform float thickness;\n\tuniform float attenuationDistance;\n\tuniform vec3 attenuationColor;\n\t#ifdef USE_TRANSMISSIONMAP\n\t\tuniform sampler2D transmissionMap;\n\t#endif\n\t#ifdef USE_THICKNESSMAP\n\t\tuniform sampler2D thicknessMap;\n\t#endif\n\tuniform vec2 transmissionSamplerSize;\n\tuniform sampler2D transmissionSamplerMap;\n\tuniform mat4 modelMatrix;\n\tuniform mat4 projectionMatrix;\n\tvarying vec3 vWorldPosition;\n\tfloat w0( float a ) {\n\t\treturn ( 1.0 / 6.0 ) * ( a * ( a * ( - a + 3.0 ) - 3.0 ) + 1.0 );\n\t}\n\tfloat w1( float a ) {\n\t\treturn ( 1.0 / 6.0 ) * ( a * a * ( 3.0 * a - 6.0 ) + 4.0 );\n\t}\n\tfloat w2( float a ){\n\t\treturn ( 1.0 / 6.0 ) * ( a * ( a * ( - 3.0 * a + 3.0 ) + 3.0 ) + 1.0 );\n\t}\n\tfloat w3( float a ) {\n\t\treturn ( 1.0 / 6.0 ) * ( a * a * a );\n\t}\n\tfloat g0( float a ) {\n\t\treturn w0( a ) + w1( a );\n\t}\n\tfloat g1( float a ) {\n\t\treturn w2( a ) + w3( a );\n\t}\n\tfloat h0( float a ) {\n\t\treturn - 1.0 + w1( a ) / ( w0( a ) + w1( a ) );\n\t}\n\tfloat h1( float a ) {\n\t\treturn 1.0 + w3( a ) / ( w2( a ) + w3( a ) );\n\t}\n\tvec4 bicubic( sampler2D tex, vec2 uv, vec4 texelSize, float lod ) {\n\t\tuv = uv * texelSize.zw + 0.5;\n\t\tvec2 iuv = floor( uv );\n\t\tvec2 fuv = fract( uv );\n\t\tfloat g0x = g0( fuv.x );\n\t\tfloat g1x = g1( fuv.x );\n\t\tfloat h0x = h0( fuv.x );\n\t\tfloat h1x = h1( fuv.x );\n\t\tfloat h0y = h0( fuv.y );\n\t\tfloat h1y = h1( fuv.y );\n\t\tvec2 p0 = ( vec2( iuv.x + h0x, iuv.y + h0y ) - 0.5 ) * texelSize.xy;\n\t\tvec2 p1 = ( vec2( iuv.x + h1x, iuv.y + h0y ) - 0.5 ) * texelSize.xy;\n\t\tvec2 p2 = ( vec2( iuv.x + h0x, iuv.y + h1y ) - 0.5 ) * texelSize.xy;\n\t\tvec2 p3 = ( vec2( iuv.x + h1x, iuv.y + h1y ) - 0.5 ) * texelSize.xy;\n\t\treturn g0( fuv.y ) * ( g0x * textureLod( tex, p0, lod ) + g1x * textureLod( tex, p1, lod ) ) +\n\t\t\tg1( fuv.y ) * ( g0x * textureLod( tex, p2, lod ) + g1x * textureLod( tex, p3, lod ) );\n\t}\n\tvec4 textureBicubic( sampler2D sampler, vec2 uv, float lod ) {\n\t\tvec2 fLodSize = vec2( textureSize( sampler, int( lod ) ) );\n\t\tvec2 cLodSize = vec2( textureSize( sampler, int( lod + 1.0 ) ) );\n\t\tvec2 fLodSizeInv = 1.0 / fLodSize;\n\t\tvec2 cLodSizeInv = 1.0 / cLodSize;\n\t\tvec4 fSample = bicubic( sampler, uv, vec4( fLodSizeInv, fLodSize ), floor( lod ) );\n\t\tvec4 cSample = bicubic( sampler, uv, vec4( cLodSizeInv, cLodSize ), ceil( lod ) );\n\t\treturn mix( fSample, cSample, fract( lod ) );\n\t}\n\tvec3 getVolumeTransmissionRay( const in vec3 n, const in vec3 v, const in float thickness, const in float ior, const in mat4 modelMatrix ) {\n\t\tvec3 refractionVector = refract( - v, normalize( n ), 1.0 / ior );\n\t\tvec3 modelScale;\n\t\tmodelScale.x = length( vec3( modelMatrix[ 0 ].xyz ) );\n\t\tmodelScale.y = length( vec3( modelMatrix[ 1 ].xyz ) );\n\t\tmodelScale.z = length( vec3( modelMatrix[ 2 ].xyz ) );\n\t\treturn normalize( refractionVector ) * thickness * modelScale;\n\t}\n\tfloat applyIorToRoughness( const in float roughness, const in float ior ) {\n\t\treturn roughness * clamp( ior * 2.0 - 2.0, 0.0, 1.0 );\n\t}\n\tvec4 getTransmissionSample( const in vec2 fragCoord, const in float roughness, const in float ior ) {\n\t\tfloat lod = log2( transmissionSamplerSize.x ) * applyIorToRoughness( roughness, ior );\n\t\treturn textureBicubic( transmissionSamplerMap, fragCoord.xy, lod );\n\t}\n\tvec3 volumeAttenuation( const in float transmissionDistance, const in vec3 attenuationColor, const in float attenuationDistance ) {\n\t\tif ( isinf( attenuationDistance ) ) {\n\t\t\treturn vec3( 1.0 );\n\t\t} else {\n\t\t\tvec3 attenuationCoefficient = -log( attenuationColor ) / attenuationDistance;\n\t\t\tvec3 transmittance = exp( - attenuationCoefficient * transmissionDistance );\t\t\treturn transmittance;\n\t\t}\n\t}\n\tvec4 getIBLVolumeRefraction( const in vec3 n, const in vec3 v, const in float roughness, const in vec3 diffuseColor,\n\t\tconst in vec3 specularColor, const in float specularF90, const in vec3 position, const in mat4 modelMatrix,\n\t\tconst in mat4 viewMatrix, const in mat4 projMatrix, const in float ior, const in float thickness,\n\t\tconst in vec3 attenuationColor, const in float attenuationDistance ) {\n\t\tvec3 transmissionRay = getVolumeTransmissionRay( n, v, thickness, ior, modelMatrix );\n\t\tvec3 refractedRayExit = position + transmissionRay;\n\t\tvec4 ndcPos = projMatrix * viewMatrix * vec4( refractedRayExit, 1.0 );\n\t\tvec2 refractionCoords = ndcPos.xy / ndcPos.w;\n\t\trefractionCoords += 1.0;\n\t\trefractionCoords /= 2.0;\n\t\tvec4 transmittedLight = getTransmissionSample( refractionCoords, roughness, ior );\n\t\tvec3 transmittance = diffuseColor * volumeAttenuation( length( transmissionRay ), attenuationColor, attenuationDistance );\n\t\tvec3 attenuatedColor = transmittance * transmittedLight.rgb;\n\t\tvec3 F = EnvironmentBRDF( n, v, specularColor, specularF90, roughness );\n\t\tfloat transmittanceFactor = ( transmittance.r + transmittance.g + transmittance.b ) / 3.0;\n\t\treturn vec4( ( 1.0 - F ) * attenuatedColor, 1.0 - ( 1.0 - transmittedLight.a ) * transmittanceFactor );\n\t}\n#endif",uv_pars_fragment:"#if defined( USE_UV ) || defined( USE_ANISOTROPY )\n\tvarying vec2 vUv;\n#endif\n#ifdef USE_MAP\n\tvarying vec2 vMapUv;\n#endif\n#ifdef USE_ALPHAMAP\n\tvarying vec2 vAlphaMapUv;\n#endif\n#ifdef USE_LIGHTMAP\n\tvarying vec2 vLightMapUv;\n#endif\n#ifdef USE_AOMAP\n\tvarying vec2 vAoMapUv;\n#endif\n#ifdef USE_BUMPMAP\n\tvarying vec2 vBumpMapUv;\n#endif\n#ifdef USE_NORMALMAP\n\tvarying vec2 vNormalMapUv;\n#endif\n#ifdef USE_EMISSIVEMAP\n\tvarying vec2 vEmissiveMapUv;\n#endif\n#ifdef USE_METALNESSMAP\n\tvarying vec2 vMetalnessMapUv;\n#endif\n#ifdef USE_ROUGHNESSMAP\n\tvarying vec2 vRoughnessMapUv;\n#endif\n#ifdef USE_ANISOTROPYMAP\n\tvarying vec2 vAnisotropyMapUv;\n#endif\n#ifdef USE_CLEARCOATMAP\n\tvarying vec2 vClearcoatMapUv;\n#endif\n#ifdef USE_CLEARCOAT_NORMALMAP\n\tvarying vec2 vClearcoatNormalMapUv;\n#endif\n#ifdef USE_CLEARCOAT_ROUGHNESSMAP\n\tvarying vec2 vClearcoatRoughnessMapUv;\n#endif\n#ifdef USE_IRIDESCENCEMAP\n\tvarying vec2 vIridescenceMapUv;\n#endif\n#ifdef USE_IRIDESCENCE_THICKNESSMAP\n\tvarying vec2 vIridescenceThicknessMapUv;\n#endif\n#ifdef USE_SHEEN_COLORMAP\n\tvarying vec2 vSheenColorMapUv;\n#endif\n#ifdef USE_SHEEN_ROUGHNESSMAP\n\tvarying vec2 vSheenRoughnessMapUv;\n#endif\n#ifdef USE_SPECULARMAP\n\tvarying vec2 vSpecularMapUv;\n#endif\n#ifdef USE_SPECULAR_COLORMAP\n\tvarying vec2 vSpecularColorMapUv;\n#endif\n#ifdef USE_SPECULAR_INTENSITYMAP\n\tvarying vec2 vSpecularIntensityMapUv;\n#endif\n#ifdef USE_TRANSMISSIONMAP\n\tuniform mat3 transmissionMapTransform;\n\tvarying vec2 vTransmissionMapUv;\n#endif\n#ifdef USE_THICKNESSMAP\n\tuniform mat3 thicknessMapTransform;\n\tvarying vec2 vThicknessMapUv;\n#endif",uv_pars_vertex:"#if defined( USE_UV ) || defined( USE_ANISOTROPY )\n\tvarying vec2 vUv;\n#endif\n#ifdef USE_MAP\n\tuniform mat3 mapTransform;\n\tvarying vec2 vMapUv;\n#endif\n#ifdef USE_ALPHAMAP\n\tuniform mat3 alphaMapTransform;\n\tvarying vec2 vAlphaMapUv;\n#endif\n#ifdef USE_LIGHTMAP\n\tuniform mat3 lightMapTransform;\n\tvarying vec2 vLightMapUv;\n#endif\n#ifdef USE_AOMAP\n\tuniform mat3 aoMapTransform;\n\tvarying vec2 vAoMapUv;\n#endif\n#ifdef USE_BUMPMAP\n\tuniform mat3 bumpMapTransform;\n\tvarying vec2 vBumpMapUv;\n#endif\n#ifdef USE_NORMALMAP\n\tuniform mat3 normalMapTransform;\n\tvarying vec2 vNormalMapUv;\n#endif\n#ifdef USE_DISPLACEMENTMAP\n\tuniform mat3 displacementMapTransform;\n\tvarying vec2 vDisplacementMapUv;\n#endif\n#ifdef USE_EMISSIVEMAP\n\tuniform mat3 emissiveMapTransform;\n\tvarying vec2 vEmissiveMapUv;\n#endif\n#ifdef USE_METALNESSMAP\n\tuniform mat3 metalnessMapTransform;\n\tvarying vec2 vMetalnessMapUv;\n#endif\n#ifdef USE_ROUGHNESSMAP\n\tuniform mat3 roughnessMapTransform;\n\tvarying vec2 vRoughnessMapUv;\n#endif\n#ifdef USE_ANISOTROPYMAP\n\tuniform mat3 anisotropyMapTransform;\n\tvarying vec2 vAnisotropyMapUv;\n#endif\n#ifdef USE_CLEARCOATMAP\n\tuniform mat3 clearcoatMapTransform;\n\tvarying vec2 vClearcoatMapUv;\n#endif\n#ifdef USE_CLEARCOAT_NORMALMAP\n\tuniform mat3 clearcoatNormalMapTransform;\n\tvarying vec2 vClearcoatNormalMapUv;\n#endif\n#ifdef USE_CLEARCOAT_ROUGHNESSMAP\n\tuniform mat3 clearcoatRoughnessMapTransform;\n\tvarying vec2 vClearcoatRoughnessMapUv;\n#endif\n#ifdef USE_SHEEN_COLORMAP\n\tuniform mat3 sheenColorMapTransform;\n\tvarying vec2 vSheenColorMapUv;\n#endif\n#ifdef USE_SHEEN_ROUGHNESSMAP\n\tuniform mat3 sheenRoughnessMapTransform;\n\tvarying vec2 vSheenRoughnessMapUv;\n#endif\n#ifdef USE_IRIDESCENCEMAP\n\tuniform mat3 iridescenceMapTransform;\n\tvarying vec2 vIridescenceMapUv;\n#endif\n#ifdef USE_IRIDESCENCE_THICKNESSMAP\n\tuniform mat3 iridescenceThicknessMapTransform;\n\tvarying vec2 vIridescenceThicknessMapUv;\n#endif\n#ifdef USE_SPECULARMAP\n\tuniform mat3 specularMapTransform;\n\tvarying vec2 vSpecularMapUv;\n#endif\n#ifdef USE_SPECULAR_COLORMAP\n\tuniform mat3 specularColorMapTransform;\n\tvarying vec2 vSpecularColorMapUv;\n#endif\n#ifdef USE_SPECULAR_INTENSITYMAP\n\tuniform mat3 specularIntensityMapTransform;\n\tvarying vec2 vSpecularIntensityMapUv;\n#endif\n#ifdef USE_TRANSMISSIONMAP\n\tuniform mat3 transmissionMapTransform;\n\tvarying vec2 vTransmissionMapUv;\n#endif\n#ifdef USE_THICKNESSMAP\n\tuniform mat3 thicknessMapTransform;\n\tvarying vec2 vThicknessMapUv;\n#endif",uv_vertex:"#if defined( USE_UV ) || defined( USE_ANISOTROPY )\n\tvUv = vec3( uv, 1 ).xy;\n#endif\n#ifdef USE_MAP\n\tvMapUv = ( mapTransform * vec3( MAP_UV, 1 ) ).xy;\n#endif\n#ifdef USE_ALPHAMAP\n\tvAlphaMapUv = ( alphaMapTransform * vec3( ALPHAMAP_UV, 1 ) ).xy;\n#endif\n#ifdef USE_LIGHTMAP\n\tvLightMapUv = ( lightMapTransform * vec3( LIGHTMAP_UV, 1 ) ).xy;\n#endif\n#ifdef USE_AOMAP\n\tvAoMapUv = ( aoMapTransform * vec3( AOMAP_UV, 1 ) ).xy;\n#endif\n#ifdef USE_BUMPMAP\n\tvBumpMapUv = ( bumpMapTransform * vec3( BUMPMAP_UV, 1 ) ).xy;\n#endif\n#ifdef USE_NORMALMAP\n\tvNormalMapUv = ( normalMapTransform * vec3( NORMALMAP_UV, 1 ) ).xy;\n#endif\n#ifdef USE_DISPLACEMENTMAP\n\tvDisplacementMapUv = ( displacementMapTransform * vec3( DISPLACEMENTMAP_UV, 1 ) ).xy;\n#endif\n#ifdef USE_EMISSIVEMAP\n\tvEmissiveMapUv = ( emissiveMapTransform * vec3( EMISSIVEMAP_UV, 1 ) ).xy;\n#endif\n#ifdef USE_METALNESSMAP\n\tvMetalnessMapUv = ( metalnessMapTransform * vec3( METALNESSMAP_UV, 1 ) ).xy;\n#endif\n#ifdef USE_ROUGHNESSMAP\n\tvRoughnessMapUv = ( roughnessMapTransform * vec3( ROUGHNESSMAP_UV, 1 ) ).xy;\n#endif\n#ifdef USE_ANISOTROPYMAP\n\tvAnisotropyMapUv = ( anisotropyMapTransform * vec3( ANISOTROPYMAP_UV, 1 ) ).xy;\n#endif\n#ifdef USE_CLEARCOATMAP\n\tvClearcoatMapUv = ( clearcoatMapTransform * vec3( CLEARCOATMAP_UV, 1 ) ).xy;\n#endif\n#ifdef USE_CLEARCOAT_NORMALMAP\n\tvClearcoatNormalMapUv = ( clearcoatNormalMapTransform * vec3( CLEARCOAT_NORMALMAP_UV, 1 ) ).xy;\n#endif\n#ifdef USE_CLEARCOAT_ROUGHNESSMAP\n\tvClearcoatRoughnessMapUv = ( clearcoatRoughnessMapTransform * vec3( CLEARCOAT_ROUGHNESSMAP_UV, 1 ) ).xy;\n#endif\n#ifdef USE_IRIDESCENCEMAP\n\tvIridescenceMapUv = ( iridescenceMapTransform * vec3( IRIDESCENCEMAP_UV, 1 ) ).xy;\n#endif\n#ifdef USE_IRIDESCENCE_THICKNESSMAP\n\tvIridescenceThicknessMapUv = ( iridescenceThicknessMapTransform * vec3( IRIDESCENCE_THICKNESSMAP_UV, 1 ) ).xy;\n#endif\n#ifdef USE_SHEEN_COLORMAP\n\tvSheenColorMapUv = ( sheenColorMapTransform * vec3( SHEEN_COLORMAP_UV, 1 ) ).xy;\n#endif\n#ifdef USE_SHEEN_ROUGHNESSMAP\n\tvSheenRoughnessMapUv = ( sheenRoughnessMapTransform * vec3( SHEEN_ROUGHNESSMAP_UV, 1 ) ).xy;\n#endif\n#ifdef USE_SPECULARMAP\n\tvSpecularMapUv = ( specularMapTransform * vec3( SPECULARMAP_UV, 1 ) ).xy;\n#endif\n#ifdef USE_SPECULAR_COLORMAP\n\tvSpecularColorMapUv = ( specularColorMapTransform * vec3( SPECULAR_COLORMAP_UV, 1 ) ).xy;\n#endif\n#ifdef USE_SPECULAR_INTENSITYMAP\n\tvSpecularIntensityMapUv = ( specularIntensityMapTransform * vec3( SPECULAR_INTENSITYMAP_UV, 1 ) ).xy;\n#endif\n#ifdef USE_TRANSMISSIONMAP\n\tvTransmissionMapUv = ( transmissionMapTransform * vec3( TRANSMISSIONMAP_UV, 1 ) ).xy;\n#endif\n#ifdef USE_THICKNESSMAP\n\tvThicknessMapUv = ( thicknessMapTransform * vec3( THICKNESSMAP_UV, 1 ) ).xy;\n#endif",worldpos_vertex:"#if defined( USE_ENVMAP ) || defined( DISTANCE ) || defined ( USE_SHADOWMAP ) || defined ( USE_TRANSMISSION ) || NUM_SPOT_LIGHT_COORDS > 0\n\tvec4 worldPosition = vec4( transformed, 1.0 );\n\t#ifdef USE_BATCHING\n\t\tworldPosition = batchingMatrix * worldPosition;\n\t#endif\n\t#ifdef USE_INSTANCING\n\t\tworldPosition = instanceMatrix * worldPosition;\n\t#endif\n\tworldPosition = modelMatrix * worldPosition;\n#endif",background_vert:"varying vec2 vUv;\nuniform mat3 uvTransform;\nvoid main() {\n\tvUv = ( uvTransform * vec3( uv, 1 ) ).xy;\n\tgl_Position = vec4( position.xy, 1.0, 1.0 );\n}",background_frag:"uniform sampler2D t2D;\nuniform float backgroundIntensity;\nvarying vec2 vUv;\nvoid main() {\n\tvec4 texColor = texture2D( t2D, vUv );\n\t#ifdef DECODE_VIDEO_TEXTURE\n\t\ttexColor = vec4( mix( pow( texColor.rgb * 0.9478672986 + vec3( 0.0521327014 ), vec3( 2.4 ) ), texColor.rgb * 0.0773993808, vec3( lessThanEqual( texColor.rgb, vec3( 0.04045 ) ) ) ), texColor.w );\n\t#endif\n\ttexColor.rgb *= backgroundIntensity;\n\tgl_FragColor = texColor;\n\t#include \n\t#include \n}",backgroundCube_vert:"varying vec3 vWorldDirection;\n#include \nvoid main() {\n\tvWorldDirection = transformDirection( position, modelMatrix );\n\t#include \n\t#include \n\tgl_Position.z = gl_Position.w;\n}",backgroundCube_frag:"#ifdef ENVMAP_TYPE_CUBE\n\tuniform samplerCube envMap;\n#elif defined( ENVMAP_TYPE_CUBE_UV )\n\tuniform sampler2D envMap;\n#endif\nuniform float flipEnvMap;\nuniform float backgroundBlurriness;\nuniform float backgroundIntensity;\nvarying vec3 vWorldDirection;\n#include \nvoid main() {\n\t#ifdef ENVMAP_TYPE_CUBE\n\t\tvec4 texColor = textureCube( envMap, vec3( flipEnvMap * vWorldDirection.x, vWorldDirection.yz ) );\n\t#elif defined( ENVMAP_TYPE_CUBE_UV )\n\t\tvec4 texColor = textureCubeUV( envMap, vWorldDirection, backgroundBlurriness );\n\t#else\n\t\tvec4 texColor = vec4( 0.0, 0.0, 0.0, 1.0 );\n\t#endif\n\ttexColor.rgb *= backgroundIntensity;\n\tgl_FragColor = texColor;\n\t#include \n\t#include \n}",cube_vert:"varying vec3 vWorldDirection;\n#include \nvoid main() {\n\tvWorldDirection = transformDirection( position, modelMatrix );\n\t#include \n\t#include \n\tgl_Position.z = gl_Position.w;\n}",cube_frag:"uniform samplerCube tCube;\nuniform float tFlip;\nuniform float opacity;\nvarying vec3 vWorldDirection;\nvoid main() {\n\tvec4 texColor = textureCube( tCube, vec3( tFlip * vWorldDirection.x, vWorldDirection.yz ) );\n\tgl_FragColor = texColor;\n\tgl_FragColor.a *= opacity;\n\t#include \n\t#include \n}",depth_vert:"#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \nvarying vec2 vHighPrecisionZW;\nvoid main() {\n\t#include \n\t#include \n\t#include \n\t#ifdef USE_DISPLACEMENTMAP\n\t\t#include \n\t\t#include \n\t\t#include \n\t#endif\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\tvHighPrecisionZW = gl_Position.zw;\n}",depth_frag:"#if DEPTH_PACKING == 3200\n\tuniform float opacity;\n#endif\n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \nvarying vec2 vHighPrecisionZW;\nvoid main() {\n\t#include \n\tvec4 diffuseColor = vec4( 1.0 );\n\t#if DEPTH_PACKING == 3200\n\t\tdiffuseColor.a = opacity;\n\t#endif\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\tfloat fragCoordZ = 0.5 * vHighPrecisionZW[0] / vHighPrecisionZW[1] + 0.5;\n\t#if DEPTH_PACKING == 3200\n\t\tgl_FragColor = vec4( vec3( 1.0 - fragCoordZ ), opacity );\n\t#elif DEPTH_PACKING == 3201\n\t\tgl_FragColor = packDepthToRGBA( fragCoordZ );\n\t#endif\n}",distanceRGBA_vert:"#define DISTANCE\nvarying vec3 vWorldPosition;\n#include \n#include \n#include \n#include \n#include \n#include \n#include \nvoid main() {\n\t#include \n\t#include \n\t#include \n\t#ifdef USE_DISPLACEMENTMAP\n\t\t#include \n\t\t#include \n\t\t#include \n\t#endif\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\tvWorldPosition = worldPosition.xyz;\n}",distanceRGBA_frag:"#define DISTANCE\nuniform vec3 referencePosition;\nuniform float nearDistance;\nuniform float farDistance;\nvarying vec3 vWorldPosition;\n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \nvoid main () {\n\t#include \n\tvec4 diffuseColor = vec4( 1.0 );\n\t#include \n\t#include \n\t#include \n\t#include \n\tfloat dist = length( vWorldPosition - referencePosition );\n\tdist = ( dist - nearDistance ) / ( farDistance - nearDistance );\n\tdist = saturate( dist );\n\tgl_FragColor = packDepthToRGBA( dist );\n}",equirect_vert:"varying vec3 vWorldDirection;\n#include \nvoid main() {\n\tvWorldDirection = transformDirection( position, modelMatrix );\n\t#include \n\t#include \n}",equirect_frag:"uniform sampler2D tEquirect;\nvarying vec3 vWorldDirection;\n#include \nvoid main() {\n\tvec3 direction = normalize( vWorldDirection );\n\tvec2 sampleUV = equirectUv( direction );\n\tgl_FragColor = texture2D( tEquirect, sampleUV );\n\t#include \n\t#include \n}",linedashed_vert:"uniform float scale;\nattribute float lineDistance;\nvarying float vLineDistance;\n#include \n#include \n#include \n#include \n#include \n#include \n#include \nvoid main() {\n\tvLineDistance = scale * lineDistance;\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n}",linedashed_frag:"uniform vec3 diffuse;\nuniform float opacity;\nuniform float dashSize;\nuniform float totalSize;\nvarying float vLineDistance;\n#include \n#include \n#include \n#include \n#include \n#include \n#include \nvoid main() {\n\t#include \n\tif ( mod( vLineDistance, totalSize ) > dashSize ) {\n\t\tdiscard;\n\t}\n\tvec3 outgoingLight = vec3( 0.0 );\n\tvec4 diffuseColor = vec4( diffuse, opacity );\n\t#include \n\t#include \n\t#include \n\toutgoingLight = diffuseColor.rgb;\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n}",meshbasic_vert:"#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \nvoid main() {\n\t#include \n\t#include \n\t#include \n\t#include \n\t#if defined ( USE_ENVMAP ) || defined ( USE_SKINNING )\n\t\t#include \n\t\t#include \n\t\t#include \n\t\t#include \n\t\t#include \n\t#endif\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n}",meshbasic_frag:"uniform vec3 diffuse;\nuniform float opacity;\n#ifndef FLAT_SHADED\n\tvarying vec3 vNormal;\n#endif\n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \nvoid main() {\n\t#include \n\tvec4 diffuseColor = vec4( diffuse, opacity );\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\tReflectedLight reflectedLight = ReflectedLight( vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ) );\n\t#ifdef USE_LIGHTMAP\n\t\tvec4 lightMapTexel = texture2D( lightMap, vLightMapUv );\n\t\treflectedLight.indirectDiffuse += lightMapTexel.rgb * lightMapIntensity * RECIPROCAL_PI;\n\t#else\n\t\treflectedLight.indirectDiffuse += vec3( 1.0 );\n\t#endif\n\t#include \n\treflectedLight.indirectDiffuse *= diffuseColor.rgb;\n\tvec3 outgoingLight = reflectedLight.indirectDiffuse;\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n}",meshlambert_vert:"#define LAMBERT\nvarying vec3 vViewPosition;\n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \nvoid main() {\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\tvViewPosition = - mvPosition.xyz;\n\t#include \n\t#include \n\t#include \n\t#include \n}",meshlambert_frag:"#define LAMBERT\nuniform vec3 diffuse;\nuniform vec3 emissive;\nuniform float opacity;\n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \nvoid main() {\n\t#include \n\tvec4 diffuseColor = vec4( diffuse, opacity );\n\tReflectedLight reflectedLight = ReflectedLight( vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ) );\n\tvec3 totalEmissiveRadiance = emissive;\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\tvec3 outgoingLight = reflectedLight.directDiffuse + reflectedLight.indirectDiffuse + totalEmissiveRadiance;\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n}",meshmatcap_vert:"#define MATCAP\nvarying vec3 vViewPosition;\n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \nvoid main() {\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\tvViewPosition = - mvPosition.xyz;\n}",meshmatcap_frag:"#define MATCAP\nuniform vec3 diffuse;\nuniform float opacity;\nuniform sampler2D matcap;\nvarying vec3 vViewPosition;\n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \nvoid main() {\n\t#include \n\tvec4 diffuseColor = vec4( diffuse, opacity );\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\tvec3 viewDir = normalize( vViewPosition );\n\tvec3 x = normalize( vec3( viewDir.z, 0.0, - viewDir.x ) );\n\tvec3 y = cross( viewDir, x );\n\tvec2 uv = vec2( dot( x, normal ), dot( y, normal ) ) * 0.495 + 0.5;\n\t#ifdef USE_MATCAP\n\t\tvec4 matcapColor = texture2D( matcap, uv );\n\t#else\n\t\tvec4 matcapColor = vec4( vec3( mix( 0.2, 0.8, uv.y ) ), 1.0 );\n\t#endif\n\tvec3 outgoingLight = diffuseColor.rgb * matcapColor.rgb;\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n}",meshnormal_vert:"#define NORMAL\n#if defined( FLAT_SHADED ) || defined( USE_BUMPMAP ) || defined( USE_NORMALMAP_TANGENTSPACE )\n\tvarying vec3 vViewPosition;\n#endif\n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \nvoid main() {\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n#if defined( FLAT_SHADED ) || defined( USE_BUMPMAP ) || defined( USE_NORMALMAP_TANGENTSPACE )\n\tvViewPosition = - mvPosition.xyz;\n#endif\n}",meshnormal_frag:"#define NORMAL\nuniform float opacity;\n#if defined( FLAT_SHADED ) || defined( USE_BUMPMAP ) || defined( USE_NORMALMAP_TANGENTSPACE )\n\tvarying vec3 vViewPosition;\n#endif\n#include \n#include \n#include \n#include \n#include \n#include \n#include \nvoid main() {\n\t#include \n\t#include \n\t#include \n\t#include \n\tgl_FragColor = vec4( packNormalToRGB( normal ), opacity );\n\t#ifdef OPAQUE\n\t\tgl_FragColor.a = 1.0;\n\t#endif\n}",meshphong_vert:"#define PHONG\nvarying vec3 vViewPosition;\n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \nvoid main() {\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\tvViewPosition = - mvPosition.xyz;\n\t#include \n\t#include \n\t#include \n\t#include \n}",meshphong_frag:"#define PHONG\nuniform vec3 diffuse;\nuniform vec3 emissive;\nuniform vec3 specular;\nuniform float shininess;\nuniform float opacity;\n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \nvoid main() {\n\t#include \n\tvec4 diffuseColor = vec4( diffuse, opacity );\n\tReflectedLight reflectedLight = ReflectedLight( vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ) );\n\tvec3 totalEmissiveRadiance = emissive;\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\tvec3 outgoingLight = reflectedLight.directDiffuse + reflectedLight.indirectDiffuse + reflectedLight.directSpecular + reflectedLight.indirectSpecular + totalEmissiveRadiance;\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n}",meshphysical_vert:"#define STANDARD\nvarying vec3 vViewPosition;\n#ifdef USE_TRANSMISSION\n\tvarying vec3 vWorldPosition;\n#endif\n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \nvoid main() {\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\tvViewPosition = - mvPosition.xyz;\n\t#include \n\t#include \n\t#include \n#ifdef USE_TRANSMISSION\n\tvWorldPosition = worldPosition.xyz;\n#endif\n}",meshphysical_frag:"#define STANDARD\n#ifdef PHYSICAL\n\t#define IOR\n\t#define USE_SPECULAR\n#endif\nuniform vec3 diffuse;\nuniform vec3 emissive;\nuniform float roughness;\nuniform float metalness;\nuniform float opacity;\n#ifdef IOR\n\tuniform float ior;\n#endif\n#ifdef USE_SPECULAR\n\tuniform float specularIntensity;\n\tuniform vec3 specularColor;\n\t#ifdef USE_SPECULAR_COLORMAP\n\t\tuniform sampler2D specularColorMap;\n\t#endif\n\t#ifdef USE_SPECULAR_INTENSITYMAP\n\t\tuniform sampler2D specularIntensityMap;\n\t#endif\n#endif\n#ifdef USE_CLEARCOAT\n\tuniform float clearcoat;\n\tuniform float clearcoatRoughness;\n#endif\n#ifdef USE_IRIDESCENCE\n\tuniform float iridescence;\n\tuniform float iridescenceIOR;\n\tuniform float iridescenceThicknessMinimum;\n\tuniform float iridescenceThicknessMaximum;\n#endif\n#ifdef USE_SHEEN\n\tuniform vec3 sheenColor;\n\tuniform float sheenRoughness;\n\t#ifdef USE_SHEEN_COLORMAP\n\t\tuniform sampler2D sheenColorMap;\n\t#endif\n\t#ifdef USE_SHEEN_ROUGHNESSMAP\n\t\tuniform sampler2D sheenRoughnessMap;\n\t#endif\n#endif\n#ifdef USE_ANISOTROPY\n\tuniform vec2 anisotropyVector;\n\t#ifdef USE_ANISOTROPYMAP\n\t\tuniform sampler2D anisotropyMap;\n\t#endif\n#endif\nvarying vec3 vViewPosition;\n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \nvoid main() {\n\t#include \n\tvec4 diffuseColor = vec4( diffuse, opacity );\n\tReflectedLight reflectedLight = ReflectedLight( vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ) );\n\tvec3 totalEmissiveRadiance = emissive;\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\tvec3 totalDiffuse = reflectedLight.directDiffuse + reflectedLight.indirectDiffuse;\n\tvec3 totalSpecular = reflectedLight.directSpecular + reflectedLight.indirectSpecular;\n\t#include \n\tvec3 outgoingLight = totalDiffuse + totalSpecular + totalEmissiveRadiance;\n\t#ifdef USE_SHEEN\n\t\tfloat sheenEnergyComp = 1.0 - 0.157 * max3( material.sheenColor );\n\t\toutgoingLight = outgoingLight * sheenEnergyComp + sheenSpecularDirect + sheenSpecularIndirect;\n\t#endif\n\t#ifdef USE_CLEARCOAT\n\t\tfloat dotNVcc = saturate( dot( geometryClearcoatNormal, geometryViewDir ) );\n\t\tvec3 Fcc = F_Schlick( material.clearcoatF0, material.clearcoatF90, dotNVcc );\n\t\toutgoingLight = outgoingLight * ( 1.0 - material.clearcoat * Fcc ) + ( clearcoatSpecularDirect + clearcoatSpecularIndirect ) * material.clearcoat;\n\t#endif\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n}",meshtoon_vert:"#define TOON\nvarying vec3 vViewPosition;\n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \nvoid main() {\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\tvViewPosition = - mvPosition.xyz;\n\t#include \n\t#include \n\t#include \n}",meshtoon_frag:"#define TOON\nuniform vec3 diffuse;\nuniform vec3 emissive;\nuniform float opacity;\n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \nvoid main() {\n\t#include \n\tvec4 diffuseColor = vec4( diffuse, opacity );\n\tReflectedLight reflectedLight = ReflectedLight( vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ) );\n\tvec3 totalEmissiveRadiance = emissive;\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\tvec3 outgoingLight = reflectedLight.directDiffuse + reflectedLight.indirectDiffuse + totalEmissiveRadiance;\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n}",points_vert:"uniform float size;\nuniform float scale;\n#include \n#include \n#include \n#include \n#include \n#include \n#ifdef USE_POINTS_UV\n\tvarying vec2 vUv;\n\tuniform mat3 uvTransform;\n#endif\nvoid main() {\n\t#ifdef USE_POINTS_UV\n\t\tvUv = ( uvTransform * vec3( uv, 1 ) ).xy;\n\t#endif\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\tgl_PointSize = size;\n\t#ifdef USE_SIZEATTENUATION\n\t\tbool isPerspective = isPerspectiveMatrix( projectionMatrix );\n\t\tif ( isPerspective ) gl_PointSize *= ( scale / - mvPosition.z );\n\t#endif\n\t#include \n\t#include \n\t#include \n\t#include \n}",points_frag:"uniform vec3 diffuse;\nuniform float opacity;\n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \nvoid main() {\n\t#include \n\tvec3 outgoingLight = vec3( 0.0 );\n\tvec4 diffuseColor = vec4( diffuse, opacity );\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\toutgoingLight = diffuseColor.rgb;\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n}",shadow_vert:"#include \n#include \n#include \n#include \n#include \n#include \n#include \nvoid main() {\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n}",shadow_frag:"uniform vec3 color;\nuniform float opacity;\n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \nvoid main() {\n\t#include \n\tgl_FragColor = vec4( color, opacity * ( 1.0 - getShadowMask() ) );\n\t#include \n\t#include \n\t#include \n}",sprite_vert:"uniform float rotation;\nuniform vec2 center;\n#include \n#include \n#include \n#include \n#include \nvoid main() {\n\t#include \n\tvec4 mvPosition = modelViewMatrix * vec4( 0.0, 0.0, 0.0, 1.0 );\n\tvec2 scale;\n\tscale.x = length( vec3( modelMatrix[ 0 ].x, modelMatrix[ 0 ].y, modelMatrix[ 0 ].z ) );\n\tscale.y = length( vec3( modelMatrix[ 1 ].x, modelMatrix[ 1 ].y, modelMatrix[ 1 ].z ) );\n\t#ifndef USE_SIZEATTENUATION\n\t\tbool isPerspective = isPerspectiveMatrix( projectionMatrix );\n\t\tif ( isPerspective ) scale *= - mvPosition.z;\n\t#endif\n\tvec2 alignedPosition = ( position.xy - ( center - vec2( 0.5 ) ) ) * scale;\n\tvec2 rotatedPosition;\n\trotatedPosition.x = cos( rotation ) * alignedPosition.x - sin( rotation ) * alignedPosition.y;\n\trotatedPosition.y = sin( rotation ) * alignedPosition.x + cos( rotation ) * alignedPosition.y;\n\tmvPosition.xy += rotatedPosition;\n\tgl_Position = projectionMatrix * mvPosition;\n\t#include \n\t#include \n\t#include \n}",sprite_frag:"uniform vec3 diffuse;\nuniform float opacity;\n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \nvoid main() {\n\t#include \n\tvec3 outgoingLight = vec3( 0.0 );\n\tvec4 diffuseColor = vec4( diffuse, opacity );\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\toutgoingLight = diffuseColor.rgb;\n\t#include \n\t#include \n\t#include \n\t#include \n}"},ga={common:{diffuse:{value:new Kr(16777215)},opacity:{value:1},map:{value:null},mapTransform:{value:new ei},alphaMap:{value:null},alphaMapTransform:{value:new ei},alphaTest:{value:0}},specularmap:{specularMap:{value:null},specularMapTransform:{value:new ei}},envmap:{envMap:{value:null},flipEnvMap:{value:-1},reflectivity:{value:1},ior:{value:1.5},refractionRatio:{value:.98}},aomap:{aoMap:{value:null},aoMapIntensity:{value:1},aoMapTransform:{value:new ei}},lightmap:{lightMap:{value:null},lightMapIntensity:{value:1},lightMapTransform:{value:new ei}},bumpmap:{bumpMap:{value:null},bumpMapTransform:{value:new ei},bumpScale:{value:1}},normalmap:{normalMap:{value:null},normalMapTransform:{value:new ei},normalScale:{value:new ti(1,1)}},displacementmap:{displacementMap:{value:null},displacementMapTransform:{value:new ei},displacementScale:{value:1},displacementBias:{value:0}},emissivemap:{emissiveMap:{value:null},emissiveMapTransform:{value:new ei}},metalnessmap:{metalnessMap:{value:null},metalnessMapTransform:{value:new ei}},roughnessmap:{roughnessMap:{value:null},roughnessMapTransform:{value:new ei}},gradientmap:{gradientMap:{value:null}},fog:{fogDensity:{value:25e-5},fogNear:{value:1},fogFar:{value:2e3},fogColor:{value:new Kr(16777215)}},lights:{ambientLightColor:{value:[]},lightProbe:{value:[]},directionalLights:{value:[],properties:{direction:{},color:{}}},directionalLightShadows:{value:[],properties:{shadowBias:{},shadowNormalBias:{},shadowRadius:{},shadowMapSize:{}}},directionalShadowMap:{value:[]},directionalShadowMatrix:{value:[]},spotLights:{value:[],properties:{color:{},position:{},direction:{},distance:{},coneCos:{},penumbraCos:{},decay:{}}},spotLightShadows:{value:[],properties:{shadowBias:{},shadowNormalBias:{},shadowRadius:{},shadowMapSize:{}}},spotLightMap:{value:[]},spotShadowMap:{value:[]},spotLightMatrix:{value:[]},pointLights:{value:[],properties:{color:{},position:{},decay:{},distance:{}}},pointLightShadows:{value:[],properties:{shadowBias:{},shadowNormalBias:{},shadowRadius:{},shadowMapSize:{},shadowCameraNear:{},shadowCameraFar:{}}},pointShadowMap:{value:[]},pointShadowMatrix:{value:[]},hemisphereLights:{value:[],properties:{direction:{},skyColor:{},groundColor:{}}},rectAreaLights:{value:[],properties:{color:{},position:{},width:{},height:{}}},ltc_1:{value:null},ltc_2:{value:null}},points:{diffuse:{value:new Kr(16777215)},opacity:{value:1},size:{value:1},scale:{value:1},map:{value:null},alphaMap:{value:null},alphaMapTransform:{value:new ei},alphaTest:{value:0},uvTransform:{value:new ei}},sprite:{diffuse:{value:new Kr(16777215)},opacity:{value:1},center:{value:new ti(.5,.5)},rotation:{value:0},map:{value:null},mapTransform:{value:new ei},alphaMap:{value:null},alphaMapTransform:{value:new ei},alphaTest:{value:0}}},_a={basic:{uniforms:Zs([ga.common,ga.specularmap,ga.envmap,ga.aomap,ga.lightmap,ga.fog]),vertexShader:fa.meshbasic_vert,fragmentShader:fa.meshbasic_frag},lambert:{uniforms:Zs([ga.common,ga.specularmap,ga.envmap,ga.aomap,ga.lightmap,ga.emissivemap,ga.bumpmap,ga.normalmap,ga.displacementmap,ga.fog,ga.lights,{emissive:{value:new Kr(0)}}]),vertexShader:fa.meshlambert_vert,fragmentShader:fa.meshlambert_frag},phong:{uniforms:Zs([ga.common,ga.specularmap,ga.envmap,ga.aomap,ga.lightmap,ga.emissivemap,ga.bumpmap,ga.normalmap,ga.displacementmap,ga.fog,ga.lights,{emissive:{value:new Kr(0)},specular:{value:new Kr(1118481)},shininess:{value:30}}]),vertexShader:fa.meshphong_vert,fragmentShader:fa.meshphong_frag},standard:{uniforms:Zs([ga.common,ga.envmap,ga.aomap,ga.lightmap,ga.emissivemap,ga.bumpmap,ga.normalmap,ga.displacementmap,ga.roughnessmap,ga.metalnessmap,ga.fog,ga.lights,{emissive:{value:new Kr(0)},roughness:{value:1},metalness:{value:0},envMapIntensity:{value:1}}]),vertexShader:fa.meshphysical_vert,fragmentShader:fa.meshphysical_frag},toon:{uniforms:Zs([ga.common,ga.aomap,ga.lightmap,ga.emissivemap,ga.bumpmap,ga.normalmap,ga.displacementmap,ga.gradientmap,ga.fog,ga.lights,{emissive:{value:new Kr(0)}}]),vertexShader:fa.meshtoon_vert,fragmentShader:fa.meshtoon_frag},matcap:{uniforms:Zs([ga.common,ga.bumpmap,ga.normalmap,ga.displacementmap,ga.fog,{matcap:{value:null}}]),vertexShader:fa.meshmatcap_vert,fragmentShader:fa.meshmatcap_frag},points:{uniforms:Zs([ga.points,ga.fog]),vertexShader:fa.points_vert,fragmentShader:fa.points_frag},dashed:{uniforms:Zs([ga.common,ga.fog,{scale:{value:1},dashSize:{value:1},totalSize:{value:2}}]),vertexShader:fa.linedashed_vert,fragmentShader:fa.linedashed_frag},depth:{uniforms:Zs([ga.common,ga.displacementmap]),vertexShader:fa.depth_vert,fragmentShader:fa.depth_frag},normal:{uniforms:Zs([ga.common,ga.bumpmap,ga.normalmap,ga.displacementmap,{opacity:{value:1}}]),vertexShader:fa.meshnormal_vert,fragmentShader:fa.meshnormal_frag},sprite:{uniforms:Zs([ga.sprite,ga.fog]),vertexShader:fa.sprite_vert,fragmentShader:fa.sprite_frag},background:{uniforms:{uvTransform:{value:new ei},t2D:{value:null},backgroundIntensity:{value:1}},vertexShader:fa.background_vert,fragmentShader:fa.background_frag},backgroundCube:{uniforms:{envMap:{value:null},flipEnvMap:{value:-1},backgroundBlurriness:{value:0},backgroundIntensity:{value:1}},vertexShader:fa.backgroundCube_vert,fragmentShader:fa.backgroundCube_frag},cube:{uniforms:{tCube:{value:null},tFlip:{value:-1},opacity:{value:1}},vertexShader:fa.cube_vert,fragmentShader:fa.cube_frag},equirect:{uniforms:{tEquirect:{value:null}},vertexShader:fa.equirect_vert,fragmentShader:fa.equirect_frag},distanceRGBA:{uniforms:Zs([ga.common,ga.displacementmap,{referencePosition:{value:new Ui},nearDistance:{value:1},farDistance:{value:1e3}}]),vertexShader:fa.distanceRGBA_vert,fragmentShader:fa.distanceRGBA_frag},shadow:{uniforms:Zs([ga.lights,ga.fog,{color:{value:new Kr(0)},opacity:{value:1}}]),vertexShader:fa.shadow_vert,fragmentShader:fa.shadow_frag}};_a.physical={uniforms:Zs([_a.standard.uniforms,{clearcoat:{value:0},clearcoatMap:{value:null},clearcoatMapTransform:{value:new ei},clearcoatNormalMap:{value:null},clearcoatNormalMapTransform:{value:new ei},clearcoatNormalScale:{value:new ti(1,1)},clearcoatRoughness:{value:0},clearcoatRoughnessMap:{value:null},clearcoatRoughnessMapTransform:{value:new ei},iridescence:{value:0},iridescenceMap:{value:null},iridescenceMapTransform:{value:new ei},iridescenceIOR:{value:1.3},iridescenceThicknessMinimum:{value:100},iridescenceThicknessMaximum:{value:400},iridescenceThicknessMap:{value:null},iridescenceThicknessMapTransform:{value:new ei},sheen:{value:0},sheenColor:{value:new Kr(0)},sheenColorMap:{value:null},sheenColorMapTransform:{value:new ei},sheenRoughness:{value:1},sheenRoughnessMap:{value:null},sheenRoughnessMapTransform:{value:new ei},transmission:{value:0},transmissionMap:{value:null},transmissionMapTransform:{value:new ei},transmissionSamplerSize:{value:new ti},transmissionSamplerMap:{value:null},thickness:{value:0},thicknessMap:{value:null},thicknessMapTransform:{value:new ei},attenuationDistance:{value:0},attenuationColor:{value:new Kr(0)},specularColor:{value:new Kr(1,1,1)},specularColorMap:{value:null},specularColorMapTransform:{value:new ei},specularIntensity:{value:1},specularIntensityMap:{value:null},specularIntensityMapTransform:{value:new ei},anisotropyVector:{value:new ti},anisotropyMap:{value:null},anisotropyMapTransform:{value:new ei}}]),vertexShader:fa.meshphysical_vert,fragmentShader:fa.meshphysical_frag};const va={r:0,b:0,g:0};function xa(t,e,n,i,r,s,a){const o=new Kr(0);let l,c,h=!0===s?0:1,p=null,m=0,f=null;function g(e,n){e.getRGB(va,Js(t)),i.buffers.color.setClear(va.r,va.g,va.b,n,a)}return{getClearColor:function(){return o},setClearColor:function(t,e=1){o.set(t),h=e,g(o,h)},getClearAlpha:function(){return h},setClearAlpha:function(t){h=t,g(o,h)},render:function(s,_){let v=!1,x=!0===_.isScene?_.background:null;if(x&&x.isTexture){x=(_.backgroundBlurriness>0?n:e).get(x)}null===x?g(o,h):x&&x.isColor&&(g(x,1),v=!0);const y=t.xr.getEnvironmentBlendMode();"additive"===y?i.buffers.color.setClear(0,0,0,1,a):"alpha-blend"===y&&i.buffers.color.setClear(0,0,0,0,a),(t.autoClear||v)&&t.clear(t.autoClearColor,t.autoClearDepth,t.autoClearStencil),x&&(x.isCubeTexture||x.mapping===dt)?(void 0===c&&(c=new Xs(new qs(1,1,1),new $s({name:"BackgroundCubeMaterial",uniforms:Ys(_a.backgroundCube.uniforms),vertexShader:_a.backgroundCube.vertexShader,fragmentShader:_a.backgroundCube.fragmentShader,side:d,depthTest:!1,depthWrite:!1,fog:!1})),c.geometry.deleteAttribute("normal"),c.geometry.deleteAttribute("uv"),c.onBeforeRender=function(t,e,n){this.matrixWorld.copyPosition(n.matrixWorld)},Object.defineProperty(c.material,"envMap",{get:function(){return this.uniforms.envMap.value}}),r.update(c)),c.material.uniforms.envMap.value=x,c.material.uniforms.flipEnvMap.value=x.isCubeTexture&&!1===x.isRenderTargetTexture?-1:1,c.material.uniforms.backgroundBlurriness.value=_.backgroundBlurriness,c.material.uniforms.backgroundIntensity.value=_.backgroundIntensity,c.material.toneMapped=mi.getTransfer(x.colorSpace)!==$e,p===x&&m===x.version&&f===t.toneMapping||(c.material.needsUpdate=!0,p=x,m=x.version,f=t.toneMapping),c.layers.enableAll(),s.unshift(c,c.geometry,c.material,0,0,null)):x&&x.isTexture&&(void 0===l&&(l=new Xs(new ma(2,2),new $s({name:"BackgroundMaterial",uniforms:Ys(_a.background.uniforms),vertexShader:_a.background.vertexShader,fragmentShader:_a.background.fragmentShader,side:u,depthTest:!1,depthWrite:!1,fog:!1})),l.geometry.deleteAttribute("normal"),Object.defineProperty(l.material,"map",{get:function(){return this.uniforms.t2D.value}}),r.update(l)),l.material.uniforms.t2D.value=x,l.material.uniforms.backgroundIntensity.value=_.backgroundIntensity,l.material.toneMapped=mi.getTransfer(x.colorSpace)!==$e,!0===x.matrixAutoUpdate&&x.updateMatrix(),l.material.uniforms.uvTransform.value.copy(x.matrix),p===x&&m===x.version&&f===t.toneMapping||(l.material.needsUpdate=!0,p=x,m=x.version,f=t.toneMapping),l.layers.enableAll(),s.unshift(l,l.geometry,l.material,0,0,null))}}}function ya(t,e,n,i){const r=t.getParameter(t.MAX_VERTEX_ATTRIBS),s=i.isWebGL2?null:e.get("OES_vertex_array_object"),a=i.isWebGL2||null!==s,o={},l=p(null);let c=l,h=!1;function u(e){return i.isWebGL2?t.bindVertexArray(e):s.bindVertexArrayOES(e)}function d(e){return i.isWebGL2?t.deleteVertexArray(e):s.deleteVertexArrayOES(e)}function p(t){const e=[],n=[],i=[];for(let t=0;t=0){const n=r[e];let i=s[e];if(void 0===i&&("instanceMatrix"===e&&t.instanceMatrix&&(i=t.instanceMatrix),"instanceColor"===e&&t.instanceColor&&(i=t.instanceColor)),void 0===n)return!0;if(n.attribute!==i)return!0;if(i&&n.data!==i.data)return!0;a++}}return c.attributesNum!==a||c.index!==i}(r,x,d,y),M&&function(t,e,n,i){const r={},s=e.attributes;let a=0;const o=n.getAttributes();for(const e in o){if(o[e].location>=0){let n=s[e];void 0===n&&("instanceMatrix"===e&&t.instanceMatrix&&(n=t.instanceMatrix),"instanceColor"===e&&t.instanceColor&&(n=t.instanceColor));const i={};i.attribute=n,n&&n.data&&(i.data=n.data),r[e]=i,a++}}c.attributes=r,c.attributesNum=a,c.index=i}(r,x,d,y)}else{const t=!0===l.wireframe;c.geometry===x.id&&c.program===d.id&&c.wireframe===t||(c.geometry=x.id,c.program=d.id,c.wireframe=t,M=!0)}null!==y&&n.update(y,t.ELEMENT_ARRAY_BUFFER),(M||h)&&(h=!1,function(r,s,a,o){if(!1===i.isWebGL2&&(r.isInstancedMesh||o.isInstancedBufferGeometry)&&null===e.get("ANGLE_instanced_arrays"))return;m();const l=o.attributes,c=a.getAttributes(),h=s.defaultAttributeValues;for(const e in c){const s=c[e];if(s.location>=0){let a=l[e];if(void 0===a&&("instanceMatrix"===e&&r.instanceMatrix&&(a=r.instanceMatrix),"instanceColor"===e&&r.instanceColor&&(a=r.instanceColor)),void 0!==a){const e=a.normalized,l=a.itemSize,c=n.get(a);if(void 0===c)continue;const h=c.buffer,u=c.type,d=c.bytesPerElement,p=!0===i.isWebGL2&&(u===t.INT||u===t.UNSIGNED_INT||a.gpuType===Pt);if(a.isInterleavedBufferAttribute){const n=a.data,i=n.stride,c=a.offset;if(n.isInstancedInterleavedBuffer){for(let t=0;t0&&t.getShaderPrecisionFormat(t.FRAGMENT_SHADER,t.HIGH_FLOAT).precision>0)return"highp";e="mediump"}return"mediump"===e&&t.getShaderPrecisionFormat(t.VERTEX_SHADER,t.MEDIUM_FLOAT).precision>0&&t.getShaderPrecisionFormat(t.FRAGMENT_SHADER,t.MEDIUM_FLOAT).precision>0?"mediump":"lowp"}const s="undefined"!=typeof WebGL2RenderingContext&&"WebGL2RenderingContext"===t.constructor.name;let a=void 0!==n.precision?n.precision:"highp";const o=r(a);o!==a&&(console.warn("THREE.WebGLRenderer:",a,"not supported, using",o,"instead."),a=o);const l=s||e.has("WEBGL_draw_buffers"),c=!0===n.logarithmicDepthBuffer,h=t.getParameter(t.MAX_TEXTURE_IMAGE_UNITS),u=t.getParameter(t.MAX_VERTEX_TEXTURE_IMAGE_UNITS),d=t.getParameter(t.MAX_TEXTURE_SIZE),p=t.getParameter(t.MAX_CUBE_MAP_TEXTURE_SIZE),m=t.getParameter(t.MAX_VERTEX_ATTRIBS),f=t.getParameter(t.MAX_VERTEX_UNIFORM_VECTORS),g=t.getParameter(t.MAX_VARYING_VECTORS),_=t.getParameter(t.MAX_FRAGMENT_UNIFORM_VECTORS),v=u>0,x=s||e.has("OES_texture_float");return{isWebGL2:s,drawBuffers:l,getMaxAnisotropy:function(){if(void 0!==i)return i;if(!0===e.has("EXT_texture_filter_anisotropic")){const n=e.get("EXT_texture_filter_anisotropic");i=t.getParameter(n.MAX_TEXTURE_MAX_ANISOTROPY_EXT)}else i=0;return i},getMaxPrecision:r,precision:a,logarithmicDepthBuffer:c,maxTextures:h,maxVertexTextures:u,maxTextureSize:d,maxCubemapSize:p,maxAttributes:m,maxVertexUniforms:f,maxVaryings:g,maxFragmentUniforms:_,vertexTextures:v,floatFragmentTextures:x,floatVertexTextures:v&&x,maxSamples:s?t.getParameter(t.MAX_SAMPLES):0}}function ba(t){const e=this;let n=null,i=0,r=!1,s=!1;const a=new la,o=new ei,l={value:null,needsUpdate:!1};function c(t,n,i,r){const s=null!==t?t.length:0;let c=null;if(0!==s){if(c=l.value,!0!==r||null===c){const e=i+4*s,r=n.matrixWorldInverse;o.getNormalMatrix(r),(null===c||c.length0);e.numPlanes=i,e.numIntersection=0}();else{const t=s?0:i,e=4*t;let r=m.clippingState||null;l.value=r,r=c(u,o,e,h);for(let t=0;t!==e;++t)r[t]=n[t];m.clippingState=r,this.numIntersection=d?this.numPlanes:0,this.numPlanes+=t}}}function Ea(t){let e=new WeakMap;function n(t,e){return e===ht?t.mapping=lt:e===ut&&(t.mapping=ct),t}function i(t){const n=t.target;n.removeEventListener("dispose",i);const r=e.get(n);void 0!==r&&(e.delete(n),r.dispose())}return{get:function(r){if(r&&r.isTexture){const s=r.mapping;if(s===ht||s===ut){if(e.has(r)){return n(e.get(r).texture,r.mapping)}{const s=r.image;if(s&&s.height>0){const a=new ra(s.height/2);return a.fromEquirectangularTexture(t,r),e.set(r,a),r.addEventListener("dispose",i),n(a.texture,r.mapping)}return null}}}return r},dispose:function(){e=new WeakMap}}}class Ta extends Qs{constructor(t=-1,e=1,n=1,i=-1,r=.1,s=2e3){super(),this.isOrthographicCamera=!0,this.type="OrthographicCamera",this.zoom=1,this.view=null,this.left=t,this.right=e,this.top=n,this.bottom=i,this.near=r,this.far=s,this.updateProjectionMatrix()}copy(t,e){return super.copy(t,e),this.left=t.left,this.right=t.right,this.top=t.top,this.bottom=t.bottom,this.near=t.near,this.far=t.far,this.zoom=t.zoom,this.view=null===t.view?null:Object.assign({},t.view),this}setViewOffset(t,e,n,i,r,s){null===this.view&&(this.view={enabled:!0,fullWidth:1,fullHeight:1,offsetX:0,offsetY:0,width:1,height:1}),this.view.enabled=!0,this.view.fullWidth=t,this.view.fullHeight=e,this.view.offsetX=n,this.view.offsetY=i,this.view.width=r,this.view.height=s,this.updateProjectionMatrix()}clearViewOffset(){null!==this.view&&(this.view.enabled=!1),this.updateProjectionMatrix()}updateProjectionMatrix(){const t=(this.right-this.left)/(2*this.zoom),e=(this.top-this.bottom)/(2*this.zoom),n=(this.right+this.left)/2,i=(this.top+this.bottom)/2;let r=n-t,s=n+t,a=i+e,o=i-e;if(null!==this.view&&this.view.enabled){const t=(this.right-this.left)/this.view.fullWidth/this.zoom,e=(this.top-this.bottom)/this.view.fullHeight/this.zoom;r+=t*this.view.offsetX,s=r+t*this.view.width,a-=e*this.view.offsetY,o=a-e*this.view.height}this.projectionMatrix.makeOrthographic(r,s,a,o,this.near,this.far,this.coordinateSystem),this.projectionMatrixInverse.copy(this.projectionMatrix).invert()}toJSON(t){const e=super.toJSON(t);return e.object.zoom=this.zoom,e.object.left=this.left,e.object.right=this.right,e.object.top=this.top,e.object.bottom=this.bottom,e.object.near=this.near,e.object.far=this.far,null!==this.view&&(e.object.view=Object.assign({},this.view)),e}}const wa=[.125,.215,.35,.446,.526,.582],Aa=20,Ra=new Ta,Ca=new Kr;let Pa=null,La=0,Ia=0;const Ua=(1+Math.sqrt(5))/2,Na=1/Ua,Da=[new Ui(1,1,1),new Ui(-1,1,1),new Ui(1,1,-1),new Ui(-1,1,-1),new Ui(0,Ua,Na),new Ui(0,Ua,-Na),new Ui(Na,0,Ua),new Ui(-Na,0,Ua),new Ui(Ua,Na,0),new Ui(-Ua,Na,0)];class Oa{constructor(t){this._renderer=t,this._pingPongRenderTarget=null,this._lodMax=0,this._cubeSize=0,this._lodPlanes=[],this._sizeLods=[],this._sigmas=[],this._blurMaterial=null,this._cubemapMaterial=null,this._equirectMaterial=null,this._compileMaterial(this._blurMaterial)}fromScene(t,e=0,n=.1,i=100){Pa=this._renderer.getRenderTarget(),La=this._renderer.getActiveCubeFace(),Ia=this._renderer.getActiveMipmapLevel(),this._setSize(256);const r=this._allocateTargets();return r.depthBuffer=!0,this._sceneToCubeUV(t,n,i,r),e>0&&this._blur(r,0,0,e),this._applyPMREM(r),this._cleanup(r),r}fromEquirectangular(t,e=null){return this._fromTexture(t,e)}fromCubemap(t,e=null){return this._fromTexture(t,e)}compileCubemapShader(){null===this._cubemapMaterial&&(this._cubemapMaterial=Ha(),this._compileMaterial(this._cubemapMaterial))}compileEquirectangularShader(){null===this._equirectMaterial&&(this._equirectMaterial=za(),this._compileMaterial(this._equirectMaterial))}dispose(){this._dispose(),null!==this._cubemapMaterial&&this._cubemapMaterial.dispose(),null!==this._equirectMaterial&&this._equirectMaterial.dispose()}_setSize(t){this._lodMax=Math.floor(Math.log2(t)),this._cubeSize=Math.pow(2,this._lodMax)}_dispose(){null!==this._blurMaterial&&this._blurMaterial.dispose(),null!==this._pingPongRenderTarget&&this._pingPongRenderTarget.dispose();for(let t=0;tt-4?o=wa[a-t+4-1]:0===a&&(o=0),i.push(o);const l=1/(s-2),c=-l,h=1+l,u=[c,c,h,c,h,h,c,c,h,h,c,h],d=6,p=6,m=3,f=2,g=1,_=new Float32Array(m*p*d),v=new Float32Array(f*p*d),x=new Float32Array(g*p*d);for(let t=0;t2?0:-1,i=[e,n,0,e+2/3,n,0,e+2/3,n+1,0,e,n,0,e+2/3,n+1,0,e,n+1,0];_.set(i,m*p*t),v.set(u,f*p*t);const r=[t,t,t,t,t,t];x.set(r,g*p*t)}const y=new As;y.setAttribute("position",new cs(_,m)),y.setAttribute("uv",new cs(v,f)),y.setAttribute("faceIndex",new cs(x,g)),e.push(y),r>4&&r--}return{lodPlanes:e,sizeLods:n,sigmas:i}}(i)),this._blurMaterial=function(t,e,n){const i=new Float32Array(Aa),r=new Ui(0,1,0),s=new $s({name:"SphericalGaussianBlur",defines:{n:Aa,CUBEUV_TEXEL_WIDTH:1/e,CUBEUV_TEXEL_HEIGHT:1/n,CUBEUV_MAX_MIP:`${t}.0`},uniforms:{envMap:{value:null},samples:{value:1},weights:{value:i},latitudinal:{value:!1},dTheta:{value:0},mipInt:{value:0},poleAxis:{value:r}},vertexShader:Va(),fragmentShader:"\n\n\t\t\tprecision mediump float;\n\t\t\tprecision mediump int;\n\n\t\t\tvarying vec3 vOutputDirection;\n\n\t\t\tuniform sampler2D envMap;\n\t\t\tuniform int samples;\n\t\t\tuniform float weights[ n ];\n\t\t\tuniform bool latitudinal;\n\t\t\tuniform float dTheta;\n\t\t\tuniform float mipInt;\n\t\t\tuniform vec3 poleAxis;\n\n\t\t\t#define ENVMAP_TYPE_CUBE_UV\n\t\t\t#include \n\n\t\t\tvec3 getSample( float theta, vec3 axis ) {\n\n\t\t\t\tfloat cosTheta = cos( theta );\n\t\t\t\t// Rodrigues' axis-angle rotation\n\t\t\t\tvec3 sampleDirection = vOutputDirection * cosTheta\n\t\t\t\t\t+ cross( axis, vOutputDirection ) * sin( theta )\n\t\t\t\t\t+ axis * dot( axis, vOutputDirection ) * ( 1.0 - cosTheta );\n\n\t\t\t\treturn bilinearCubeUV( envMap, sampleDirection, mipInt );\n\n\t\t\t}\n\n\t\t\tvoid main() {\n\n\t\t\t\tvec3 axis = latitudinal ? poleAxis : cross( poleAxis, vOutputDirection );\n\n\t\t\t\tif ( all( equal( axis, vec3( 0.0 ) ) ) ) {\n\n\t\t\t\t\taxis = vec3( vOutputDirection.z, 0.0, - vOutputDirection.x );\n\n\t\t\t\t}\n\n\t\t\t\taxis = normalize( axis );\n\n\t\t\t\tgl_FragColor = vec4( 0.0, 0.0, 0.0, 1.0 );\n\t\t\t\tgl_FragColor.rgb += weights[ 0 ] * getSample( 0.0, axis );\n\n\t\t\t\tfor ( int i = 1; i < n; i++ ) {\n\n\t\t\t\t\tif ( i >= samples ) {\n\n\t\t\t\t\t\tbreak;\n\n\t\t\t\t\t}\n\n\t\t\t\t\tfloat theta = dTheta * float( i );\n\t\t\t\t\tgl_FragColor.rgb += weights[ i ] * getSample( -1.0 * theta, axis );\n\t\t\t\t\tgl_FragColor.rgb += weights[ i ] * getSample( theta, axis );\n\n\t\t\t\t}\n\n\t\t\t}\n\t\t",blending:0,depthTest:!1,depthWrite:!1});return s}(i,t,e)}return i}_compileMaterial(t){const e=new Xs(this._lodPlanes[0],t);this._renderer.compile(e,Ra)}_sceneToCubeUV(t,e,n,i){const r=new ta(90,1,e,n),s=[1,-1,1,1,1,1],a=[1,1,1,-1,-1,-1],o=this._renderer,l=o.autoClear,c=o.toneMapping;o.getClearColor(Ca),o.toneMapping=$,o.autoClear=!1;const h=new es({name:"PMREM.Background",side:d,depthWrite:!1,depthTest:!1}),u=new Xs(new qs,h);let p=!1;const m=t.background;m?m.isColor&&(h.color.copy(m),t.background=null,p=!0):(h.color.copy(Ca),p=!0);for(let e=0;e<6;e++){const n=e%3;0===n?(r.up.set(0,s[e],0),r.lookAt(a[e],0,0)):1===n?(r.up.set(0,0,s[e]),r.lookAt(0,a[e],0)):(r.up.set(0,s[e],0),r.lookAt(0,0,a[e]));const l=this._cubeSize;Ba(i,n*l,e>2?l:0,l,l),o.setRenderTarget(i),p&&o.render(u,r),o.render(t,r)}u.geometry.dispose(),u.material.dispose(),o.toneMapping=c,o.autoClear=l,t.background=m}_textureToCubeUV(t,e){const n=this._renderer,i=t.mapping===lt||t.mapping===ct;i?(null===this._cubemapMaterial&&(this._cubemapMaterial=Ha()),this._cubemapMaterial.uniforms.flipEnvMap.value=!1===t.isRenderTargetTexture?-1:1):null===this._equirectMaterial&&(this._equirectMaterial=za());const r=i?this._cubemapMaterial:this._equirectMaterial,s=new Xs(this._lodPlanes[0],r);r.uniforms.envMap.value=t;const a=this._cubeSize;Ba(e,0,0,3*a,2*a),n.setRenderTarget(e),n.render(s,Ra)}_applyPMREM(t){const e=this._renderer,n=e.autoClear;e.autoClear=!1;for(let e=1;eAa&&console.warn(`sigmaRadians, ${r}, is too large and will clip, as it requested ${m} samples when the maximum is set to 20`);const f=[];let g=0;for(let t=0;t_-4?i-_+4:0),4*(this._cubeSize-v),3*v,2*v),o.setRenderTarget(e),o.render(c,Ra)}}function Fa(t,e,n){const i=new wi(t,e,n);return i.texture.mapping=dt,i.texture.name="PMREM.cubeUv",i.scissorTest=!0,i}function Ba(t,e,n,i,r){t.viewport.set(e,n,i,r),t.scissor.set(e,n,i,r)}function za(){return new $s({name:"EquirectangularToCubeUV",uniforms:{envMap:{value:null}},vertexShader:Va(),fragmentShader:"\n\n\t\t\tprecision mediump float;\n\t\t\tprecision mediump int;\n\n\t\t\tvarying vec3 vOutputDirection;\n\n\t\t\tuniform sampler2D envMap;\n\n\t\t\t#include \n\n\t\t\tvoid main() {\n\n\t\t\t\tvec3 outputDirection = normalize( vOutputDirection );\n\t\t\t\tvec2 uv = equirectUv( outputDirection );\n\n\t\t\t\tgl_FragColor = vec4( texture2D ( envMap, uv ).rgb, 1.0 );\n\n\t\t\t}\n\t\t",blending:0,depthTest:!1,depthWrite:!1})}function Ha(){return new $s({name:"CubemapToCubeUV",uniforms:{envMap:{value:null},flipEnvMap:{value:-1}},vertexShader:Va(),fragmentShader:"\n\n\t\t\tprecision mediump float;\n\t\t\tprecision mediump int;\n\n\t\t\tuniform float flipEnvMap;\n\n\t\t\tvarying vec3 vOutputDirection;\n\n\t\t\tuniform samplerCube envMap;\n\n\t\t\tvoid main() {\n\n\t\t\t\tgl_FragColor = textureCube( envMap, vec3( flipEnvMap * vOutputDirection.x, vOutputDirection.yz ) );\n\n\t\t\t}\n\t\t",blending:0,depthTest:!1,depthWrite:!1})}function Va(){return"\n\n\t\tprecision mediump float;\n\t\tprecision mediump int;\n\n\t\tattribute float faceIndex;\n\n\t\tvarying vec3 vOutputDirection;\n\n\t\t// RH coordinate system; PMREM face-indexing convention\n\t\tvec3 getDirection( vec2 uv, float face ) {\n\n\t\t\tuv = 2.0 * uv - 1.0;\n\n\t\t\tvec3 direction = vec3( uv, 1.0 );\n\n\t\t\tif ( face == 0.0 ) {\n\n\t\t\t\tdirection = direction.zyx; // ( 1, v, u ) pos x\n\n\t\t\t} else if ( face == 1.0 ) {\n\n\t\t\t\tdirection = direction.xzy;\n\t\t\t\tdirection.xz *= -1.0; // ( -u, 1, -v ) pos y\n\n\t\t\t} else if ( face == 2.0 ) {\n\n\t\t\t\tdirection.x *= -1.0; // ( -u, v, 1 ) pos z\n\n\t\t\t} else if ( face == 3.0 ) {\n\n\t\t\t\tdirection = direction.zyx;\n\t\t\t\tdirection.xz *= -1.0; // ( -1, v, -u ) neg x\n\n\t\t\t} else if ( face == 4.0 ) {\n\n\t\t\t\tdirection = direction.xzy;\n\t\t\t\tdirection.xy *= -1.0; // ( -u, -1, v ) neg y\n\n\t\t\t} else if ( face == 5.0 ) {\n\n\t\t\t\tdirection.z *= -1.0; // ( u, v, -1 ) neg z\n\n\t\t\t}\n\n\t\t\treturn direction;\n\n\t\t}\n\n\t\tvoid main() {\n\n\t\t\tvOutputDirection = getDirection( uv, faceIndex );\n\t\t\tgl_Position = vec4( position, 1.0 );\n\n\t\t}\n\t"}function ka(t){let e=new WeakMap,n=null;function i(t){const n=t.target;n.removeEventListener("dispose",i);const r=e.get(n);void 0!==r&&(e.delete(n),r.dispose())}return{get:function(r){if(r&&r.isTexture){const s=r.mapping,a=s===ht||s===ut,o=s===lt||s===ct;if(a||o){if(r.isRenderTargetTexture&&!0===r.needsPMREMUpdate){r.needsPMREMUpdate=!1;let i=e.get(r);return null===n&&(n=new Oa(t)),i=a?n.fromEquirectangular(r,i):n.fromCubemap(r,i),e.set(r,i),i.texture}if(e.has(r))return e.get(r).texture;{const s=r.image;if(a&&s&&s.height>0||o&&s&&function(t){let e=0;const n=6;for(let i=0;ie.maxTextureSize&&(T=Math.ceil(E/e.maxTextureSize),E=e.maxTextureSize);const w=new Float32Array(E*T*4*p),A=new Ai(w,E,T,p);A.type=It,A.needsUpdate=!0;const R=4*b;for(let P=0;P0)return t;const r=e*n;let s=io[r];if(void 0===s&&(s=new Float32Array(r),io[r]=s),0!==e){i.toArray(s,0);for(let i=1,r=0;i!==e;++i)r+=n,t[i].toArray(s,r)}return s}function co(t,e){if(t.length!==e.length)return!1;for(let n=0,i=t.length;n":" "} ${r}: ${n[t]}`)}return i.join("\n")}(t.getShaderSource(e),i)}return r}function ll(t,e){const n=function(t){const e=mi.getPrimaries(mi.workingColorSpace),n=mi.getPrimaries(t);let i;switch(e===n?i="":e===tn&&n===Qe?i="LinearDisplayP3ToLinearSRGB":e===Qe&&n===tn&&(i="LinearSRGBToLinearDisplayP3"),t){case Ye:case Je:return[i,"LinearTransferOETF"];case qe:case Ze:return[i,"sRGBTransferOETF"];default:return console.warn("THREE.WebGLProgram: Unsupported color space:",t),[i,"LinearTransferOETF"]}}(e);return`vec4 ${t}( vec4 value ) { return ${n[0]}( ${n[1]}( value ) ); }`}function cl(t,e){let n;switch(e){case Q:n="Linear";break;case tt:n="Reinhard";break;case et:n="OptimizedCineon";break;case nt:n="ACESFilmic";break;case rt:n="AgX";break;case it:n="Custom";break;default:console.warn("THREE.WebGLProgram: Unsupported toneMapping:",e),n="Linear"}return"vec3 "+t+"( vec3 color ) { return "+n+"ToneMapping( color ); }"}function hl(t){return""!==t}function ul(t,e){const n=e.numSpotLightShadows+e.numSpotLightMaps-e.numSpotLightShadowsWithMaps;return t.replace(/NUM_DIR_LIGHTS/g,e.numDirLights).replace(/NUM_SPOT_LIGHTS/g,e.numSpotLights).replace(/NUM_SPOT_LIGHT_MAPS/g,e.numSpotLightMaps).replace(/NUM_SPOT_LIGHT_COORDS/g,n).replace(/NUM_RECT_AREA_LIGHTS/g,e.numRectAreaLights).replace(/NUM_POINT_LIGHTS/g,e.numPointLights).replace(/NUM_HEMI_LIGHTS/g,e.numHemiLights).replace(/NUM_DIR_LIGHT_SHADOWS/g,e.numDirLightShadows).replace(/NUM_SPOT_LIGHT_SHADOWS_WITH_MAPS/g,e.numSpotLightShadowsWithMaps).replace(/NUM_SPOT_LIGHT_SHADOWS/g,e.numSpotLightShadows).replace(/NUM_POINT_LIGHT_SHADOWS/g,e.numPointLightShadows)}function dl(t,e){return t.replace(/NUM_CLIPPING_PLANES/g,e.numClippingPlanes).replace(/UNION_CLIPPING_PLANES/g,e.numClippingPlanes-e.numClipIntersection)}const pl=/^[ \t]*#include +<([\w\d./]+)>/gm;function ml(t){return t.replace(pl,gl)}const fl=new Map([["encodings_fragment","colorspace_fragment"],["encodings_pars_fragment","colorspace_pars_fragment"],["output_fragment","opaque_fragment"]]);function gl(t,e){let n=fa[e];if(void 0===n){const t=fl.get(e);if(void 0===t)throw new Error("Can not resolve #include <"+e+">");n=fa[t],console.warn('THREE.WebGLRenderer: Shader chunk "%s" has been deprecated. Use "%s" instead.',e,t)}return ml(n)}const _l=/#pragma unroll_loop_start\s+for\s*\(\s*int\s+i\s*=\s*(\d+)\s*;\s*i\s*<\s*(\d+)\s*;\s*i\s*\+\+\s*\)\s*{([\s\S]+?)}\s+#pragma unroll_loop_end/g;function vl(t){return t.replace(_l,xl)}function xl(t,e,n,i){let r="";for(let t=parseInt(e);t0&&(y+="\n"),M=[g,"#define SHADER_TYPE "+n.shaderType,"#define SHADER_NAME "+n.shaderName,v].filter(hl).join("\n"),M.length>0&&(M+="\n")):(y=[yl(n),"#define SHADER_TYPE "+n.shaderType,"#define SHADER_NAME "+n.shaderName,v,n.extensionClipCullDistance?"#define USE_CLIP_DISTANCE":"",n.batching?"#define USE_BATCHING":"",n.instancing?"#define USE_INSTANCING":"",n.instancingColor?"#define USE_INSTANCING_COLOR":"",n.useFog&&n.fog?"#define USE_FOG":"",n.useFog&&n.fogExp2?"#define FOG_EXP2":"",n.map?"#define USE_MAP":"",n.envMap?"#define USE_ENVMAP":"",n.envMap?"#define "+p:"",n.lightMap?"#define USE_LIGHTMAP":"",n.aoMap?"#define USE_AOMAP":"",n.bumpMap?"#define USE_BUMPMAP":"",n.normalMap?"#define USE_NORMALMAP":"",n.normalMapObjectSpace?"#define USE_NORMALMAP_OBJECTSPACE":"",n.normalMapTangentSpace?"#define USE_NORMALMAP_TANGENTSPACE":"",n.displacementMap?"#define USE_DISPLACEMENTMAP":"",n.emissiveMap?"#define USE_EMISSIVEMAP":"",n.anisotropy?"#define USE_ANISOTROPY":"",n.anisotropyMap?"#define USE_ANISOTROPYMAP":"",n.clearcoatMap?"#define USE_CLEARCOATMAP":"",n.clearcoatRoughnessMap?"#define USE_CLEARCOAT_ROUGHNESSMAP":"",n.clearcoatNormalMap?"#define USE_CLEARCOAT_NORMALMAP":"",n.iridescenceMap?"#define USE_IRIDESCENCEMAP":"",n.iridescenceThicknessMap?"#define USE_IRIDESCENCE_THICKNESSMAP":"",n.specularMap?"#define USE_SPECULARMAP":"",n.specularColorMap?"#define USE_SPECULAR_COLORMAP":"",n.specularIntensityMap?"#define USE_SPECULAR_INTENSITYMAP":"",n.roughnessMap?"#define USE_ROUGHNESSMAP":"",n.metalnessMap?"#define USE_METALNESSMAP":"",n.alphaMap?"#define USE_ALPHAMAP":"",n.alphaHash?"#define USE_ALPHAHASH":"",n.transmission?"#define USE_TRANSMISSION":"",n.transmissionMap?"#define USE_TRANSMISSIONMAP":"",n.thicknessMap?"#define USE_THICKNESSMAP":"",n.sheenColorMap?"#define USE_SHEEN_COLORMAP":"",n.sheenRoughnessMap?"#define USE_SHEEN_ROUGHNESSMAP":"",n.mapUv?"#define MAP_UV "+n.mapUv:"",n.alphaMapUv?"#define ALPHAMAP_UV "+n.alphaMapUv:"",n.lightMapUv?"#define LIGHTMAP_UV "+n.lightMapUv:"",n.aoMapUv?"#define AOMAP_UV "+n.aoMapUv:"",n.emissiveMapUv?"#define EMISSIVEMAP_UV "+n.emissiveMapUv:"",n.bumpMapUv?"#define BUMPMAP_UV "+n.bumpMapUv:"",n.normalMapUv?"#define NORMALMAP_UV "+n.normalMapUv:"",n.displacementMapUv?"#define DISPLACEMENTMAP_UV "+n.displacementMapUv:"",n.metalnessMapUv?"#define METALNESSMAP_UV "+n.metalnessMapUv:"",n.roughnessMapUv?"#define ROUGHNESSMAP_UV "+n.roughnessMapUv:"",n.anisotropyMapUv?"#define ANISOTROPYMAP_UV "+n.anisotropyMapUv:"",n.clearcoatMapUv?"#define CLEARCOATMAP_UV "+n.clearcoatMapUv:"",n.clearcoatNormalMapUv?"#define CLEARCOAT_NORMALMAP_UV "+n.clearcoatNormalMapUv:"",n.clearcoatRoughnessMapUv?"#define CLEARCOAT_ROUGHNESSMAP_UV "+n.clearcoatRoughnessMapUv:"",n.iridescenceMapUv?"#define IRIDESCENCEMAP_UV "+n.iridescenceMapUv:"",n.iridescenceThicknessMapUv?"#define IRIDESCENCE_THICKNESSMAP_UV "+n.iridescenceThicknessMapUv:"",n.sheenColorMapUv?"#define SHEEN_COLORMAP_UV "+n.sheenColorMapUv:"",n.sheenRoughnessMapUv?"#define SHEEN_ROUGHNESSMAP_UV "+n.sheenRoughnessMapUv:"",n.specularMapUv?"#define SPECULARMAP_UV "+n.specularMapUv:"",n.specularColorMapUv?"#define SPECULAR_COLORMAP_UV "+n.specularColorMapUv:"",n.specularIntensityMapUv?"#define SPECULAR_INTENSITYMAP_UV "+n.specularIntensityMapUv:"",n.transmissionMapUv?"#define TRANSMISSIONMAP_UV "+n.transmissionMapUv:"",n.thicknessMapUv?"#define THICKNESSMAP_UV "+n.thicknessMapUv:"",n.vertexTangents&&!1===n.flatShading?"#define USE_TANGENT":"",n.vertexColors?"#define USE_COLOR":"",n.vertexAlphas?"#define USE_COLOR_ALPHA":"",n.vertexUv1s?"#define USE_UV1":"",n.vertexUv2s?"#define USE_UV2":"",n.vertexUv3s?"#define USE_UV3":"",n.pointsUvs?"#define USE_POINTS_UV":"",n.flatShading?"#define FLAT_SHADED":"",n.skinning?"#define USE_SKINNING":"",n.morphTargets?"#define USE_MORPHTARGETS":"",n.morphNormals&&!1===n.flatShading?"#define USE_MORPHNORMALS":"",n.morphColors&&n.isWebGL2?"#define USE_MORPHCOLORS":"",n.morphTargetsCount>0&&n.isWebGL2?"#define MORPHTARGETS_TEXTURE":"",n.morphTargetsCount>0&&n.isWebGL2?"#define MORPHTARGETS_TEXTURE_STRIDE "+n.morphTextureStride:"",n.morphTargetsCount>0&&n.isWebGL2?"#define MORPHTARGETS_COUNT "+n.morphTargetsCount:"",n.doubleSided?"#define DOUBLE_SIDED":"",n.flipSided?"#define FLIP_SIDED":"",n.shadowMapEnabled?"#define USE_SHADOWMAP":"",n.shadowMapEnabled?"#define "+u:"",n.sizeAttenuation?"#define USE_SIZEATTENUATION":"",n.numLightProbes>0?"#define USE_LIGHT_PROBES":"",n.useLegacyLights?"#define LEGACY_LIGHTS":"",n.logarithmicDepthBuffer?"#define USE_LOGDEPTHBUF":"",n.logarithmicDepthBuffer&&n.rendererExtensionFragDepth?"#define USE_LOGDEPTHBUF_EXT":"","uniform mat4 modelMatrix;","uniform mat4 modelViewMatrix;","uniform mat4 projectionMatrix;","uniform mat4 viewMatrix;","uniform mat3 normalMatrix;","uniform vec3 cameraPosition;","uniform bool isOrthographic;","#ifdef USE_INSTANCING","\tattribute mat4 instanceMatrix;","#endif","#ifdef USE_INSTANCING_COLOR","\tattribute vec3 instanceColor;","#endif","attribute vec3 position;","attribute vec3 normal;","attribute vec2 uv;","#ifdef USE_UV1","\tattribute vec2 uv1;","#endif","#ifdef USE_UV2","\tattribute vec2 uv2;","#endif","#ifdef USE_UV3","\tattribute vec2 uv3;","#endif","#ifdef USE_TANGENT","\tattribute vec4 tangent;","#endif","#if defined( USE_COLOR_ALPHA )","\tattribute vec4 color;","#elif defined( USE_COLOR )","\tattribute vec3 color;","#endif","#if ( defined( USE_MORPHTARGETS ) && ! defined( MORPHTARGETS_TEXTURE ) )","\tattribute vec3 morphTarget0;","\tattribute vec3 morphTarget1;","\tattribute vec3 morphTarget2;","\tattribute vec3 morphTarget3;","\t#ifdef USE_MORPHNORMALS","\t\tattribute vec3 morphNormal0;","\t\tattribute vec3 morphNormal1;","\t\tattribute vec3 morphNormal2;","\t\tattribute vec3 morphNormal3;","\t#else","\t\tattribute vec3 morphTarget4;","\t\tattribute vec3 morphTarget5;","\t\tattribute vec3 morphTarget6;","\t\tattribute vec3 morphTarget7;","\t#endif","#endif","#ifdef USE_SKINNING","\tattribute vec4 skinIndex;","\tattribute vec4 skinWeight;","#endif","\n"].filter(hl).join("\n"),M=[g,yl(n),"#define SHADER_TYPE "+n.shaderType,"#define SHADER_NAME "+n.shaderName,v,n.useFog&&n.fog?"#define USE_FOG":"",n.useFog&&n.fogExp2?"#define FOG_EXP2":"",n.map?"#define USE_MAP":"",n.matcap?"#define USE_MATCAP":"",n.envMap?"#define USE_ENVMAP":"",n.envMap?"#define "+d:"",n.envMap?"#define "+p:"",n.envMap?"#define "+m:"",f?"#define CUBEUV_TEXEL_WIDTH "+f.texelWidth:"",f?"#define CUBEUV_TEXEL_HEIGHT "+f.texelHeight:"",f?"#define CUBEUV_MAX_MIP "+f.maxMip+".0":"",n.lightMap?"#define USE_LIGHTMAP":"",n.aoMap?"#define USE_AOMAP":"",n.bumpMap?"#define USE_BUMPMAP":"",n.normalMap?"#define USE_NORMALMAP":"",n.normalMapObjectSpace?"#define USE_NORMALMAP_OBJECTSPACE":"",n.normalMapTangentSpace?"#define USE_NORMALMAP_TANGENTSPACE":"",n.emissiveMap?"#define USE_EMISSIVEMAP":"",n.anisotropy?"#define USE_ANISOTROPY":"",n.anisotropyMap?"#define USE_ANISOTROPYMAP":"",n.clearcoat?"#define USE_CLEARCOAT":"",n.clearcoatMap?"#define USE_CLEARCOATMAP":"",n.clearcoatRoughnessMap?"#define USE_CLEARCOAT_ROUGHNESSMAP":"",n.clearcoatNormalMap?"#define USE_CLEARCOAT_NORMALMAP":"",n.iridescence?"#define USE_IRIDESCENCE":"",n.iridescenceMap?"#define USE_IRIDESCENCEMAP":"",n.iridescenceThicknessMap?"#define USE_IRIDESCENCE_THICKNESSMAP":"",n.specularMap?"#define USE_SPECULARMAP":"",n.specularColorMap?"#define USE_SPECULAR_COLORMAP":"",n.specularIntensityMap?"#define USE_SPECULAR_INTENSITYMAP":"",n.roughnessMap?"#define USE_ROUGHNESSMAP":"",n.metalnessMap?"#define USE_METALNESSMAP":"",n.alphaMap?"#define USE_ALPHAMAP":"",n.alphaTest?"#define USE_ALPHATEST":"",n.alphaHash?"#define USE_ALPHAHASH":"",n.sheen?"#define USE_SHEEN":"",n.sheenColorMap?"#define USE_SHEEN_COLORMAP":"",n.sheenRoughnessMap?"#define USE_SHEEN_ROUGHNESSMAP":"",n.transmission?"#define USE_TRANSMISSION":"",n.transmissionMap?"#define USE_TRANSMISSIONMAP":"",n.thicknessMap?"#define USE_THICKNESSMAP":"",n.vertexTangents&&!1===n.flatShading?"#define USE_TANGENT":"",n.vertexColors||n.instancingColor?"#define USE_COLOR":"",n.vertexAlphas?"#define USE_COLOR_ALPHA":"",n.vertexUv1s?"#define USE_UV1":"",n.vertexUv2s?"#define USE_UV2":"",n.vertexUv3s?"#define USE_UV3":"",n.pointsUvs?"#define USE_POINTS_UV":"",n.gradientMap?"#define USE_GRADIENTMAP":"",n.flatShading?"#define FLAT_SHADED":"",n.doubleSided?"#define DOUBLE_SIDED":"",n.flipSided?"#define FLIP_SIDED":"",n.shadowMapEnabled?"#define USE_SHADOWMAP":"",n.shadowMapEnabled?"#define "+u:"",n.premultipliedAlpha?"#define PREMULTIPLIED_ALPHA":"",n.numLightProbes>0?"#define USE_LIGHT_PROBES":"",n.useLegacyLights?"#define LEGACY_LIGHTS":"",n.decodeVideoTexture?"#define DECODE_VIDEO_TEXTURE":"",n.logarithmicDepthBuffer?"#define USE_LOGDEPTHBUF":"",n.logarithmicDepthBuffer&&n.rendererExtensionFragDepth?"#define USE_LOGDEPTHBUF_EXT":"","uniform mat4 viewMatrix;","uniform vec3 cameraPosition;","uniform bool isOrthographic;",n.toneMapping!==$?"#define TONE_MAPPING":"",n.toneMapping!==$?fa.tonemapping_pars_fragment:"",n.toneMapping!==$?cl("toneMapping",n.toneMapping):"",n.dithering?"#define DITHERING":"",n.opaque?"#define OPAQUE":"",fa.colorspace_pars_fragment,ll("linearToOutputTexel",n.outputColorSpace),n.useDepthPacking?"#define DEPTH_PACKING "+n.depthPacking:"","\n"].filter(hl).join("\n")),a=ml(a),a=ul(a,n),a=dl(a,n),o=ml(o),o=ul(o,n),o=dl(o,n),a=vl(a),o=vl(o),n.isWebGL2&&!0!==n.isRawShaderMaterial&&(S="#version 300 es\n",y=[_,"precision mediump sampler2DArray;","#define attribute in","#define varying out","#define texture2D texture"].join("\n")+"\n"+y,M=["precision mediump sampler2DArray;","#define varying in",n.glslVersion===On?"":"layout(location = 0) out highp vec4 pc_fragColor;",n.glslVersion===On?"":"#define gl_FragColor pc_fragColor","#define gl_FragDepthEXT gl_FragDepth","#define texture2D texture","#define textureCube texture","#define texture2DProj textureProj","#define texture2DLodEXT textureLod","#define texture2DProjLodEXT textureProjLod","#define textureCubeLodEXT textureLod","#define texture2DGradEXT textureGrad","#define texture2DProjGradEXT textureProjGrad","#define textureCubeGradEXT textureGrad"].join("\n")+"\n"+M);const b=S+y+a,E=S+M+o,T=rl(r,r.VERTEX_SHADER,b),w=rl(r,r.FRAGMENT_SHADER,E);function A(e){if(t.debug.checkShaderErrors){const n=r.getProgramInfoLog(x).trim(),i=r.getShaderInfoLog(T).trim(),s=r.getShaderInfoLog(w).trim();let a=!0,o=!0;if(!1===r.getProgramParameter(x,r.LINK_STATUS))if(a=!1,"function"==typeof t.debug.onShaderError)t.debug.onShaderError(r,x,T,w);else{const t=ol(r,T,"vertex"),e=ol(r,w,"fragment");console.error("THREE.WebGLProgram: Shader Error "+r.getError()+" - VALIDATE_STATUS "+r.getProgramParameter(x,r.VALIDATE_STATUS)+"\n\nProgram Info Log: "+n+"\n"+t+"\n"+e)}else""!==n?console.warn("THREE.WebGLProgram: Program Info Log:",n):""!==i&&""!==s||(o=!1);o&&(e.diagnostics={runnable:a,programLog:n,vertexShader:{log:i,prefix:y},fragmentShader:{log:s,prefix:M}})}r.deleteShader(T),r.deleteShader(w),R=new il(r,x),C=function(t,e){const n={},i=t.getProgramParameter(e,t.ACTIVE_ATTRIBUTES);for(let r=0;r0,q=s.clearcoat>0,Y=s.iridescence>0,Z=s.sheen>0,J=s.transmission>0,K=j&&!!s.anisotropyMap,Q=q&&!!s.clearcoatMap,tt=q&&!!s.clearcoatNormalMap,et=q&&!!s.clearcoatRoughnessMap,nt=Y&&!!s.iridescenceMap,it=Y&&!!s.iridescenceThicknessMap,rt=Z&&!!s.sheenColorMap,st=Z&&!!s.sheenRoughnessMap,at=!!s.specularMap,ot=!!s.specularColorMap,lt=!!s.specularIntensityMap,ct=J&&!!s.transmissionMap,ht=J&&!!s.thicknessMap,ut=!!s.gradientMap,pt=!!s.alphaMap,mt=s.alphaTest>0,ft=!!s.alphaHash,gt=!!s.extensions,_t=!!y.attributes.uv1,vt=!!y.attributes.uv2,xt=!!y.attributes.uv3;let yt=$;return s.toneMapped&&(null!==I&&!0!==I.isXRRenderTarget||(yt=t.toneMapping)),{isWebGL2:h,shaderID:E,shaderType:s.type,shaderName:s.name,vertexShader:A,fragmentShader:R,defines:s.defines,customVertexShaderID:C,customFragmentShaderID:P,isRawShaderMaterial:!0===s.isRawShaderMaterial,glslVersion:s.glslVersion,precision:m,batching:N,instancing:U,instancingColor:U&&null!==v.instanceColor,supportsVertexTextures:p,outputColorSpace:null===I?t.outputColorSpace:!0===I.isXRRenderTarget?I.texture.colorSpace:Ye,map:D,matcap:O,envMap:F,envMapMode:F&&S.mapping,envMapCubeUVHeight:b,aoMap:B,lightMap:z,bumpMap:H,normalMap:V,displacementMap:p&&k,emissiveMap:G,normalMapObjectSpace:V&&1===s.normalMapType,normalMapTangentSpace:V&&0===s.normalMapType,metalnessMap:W,roughnessMap:X,anisotropy:j,anisotropyMap:K,clearcoat:q,clearcoatMap:Q,clearcoatNormalMap:tt,clearcoatRoughnessMap:et,iridescence:Y,iridescenceMap:nt,iridescenceThicknessMap:it,sheen:Z,sheenColorMap:rt,sheenRoughnessMap:st,specularMap:at,specularColorMap:ot,specularIntensityMap:lt,transmission:J,transmissionMap:ct,thicknessMap:ht,gradientMap:ut,opaque:!1===s.transparent&&1===s.blending,alphaMap:pt,alphaTest:mt,alphaHash:ft,combine:s.combine,mapUv:D&&g(s.map.channel),aoMapUv:B&&g(s.aoMap.channel),lightMapUv:z&&g(s.lightMap.channel),bumpMapUv:H&&g(s.bumpMap.channel),normalMapUv:V&&g(s.normalMap.channel),displacementMapUv:k&&g(s.displacementMap.channel),emissiveMapUv:G&&g(s.emissiveMap.channel),metalnessMapUv:W&&g(s.metalnessMap.channel),roughnessMapUv:X&&g(s.roughnessMap.channel),anisotropyMapUv:K&&g(s.anisotropyMap.channel),clearcoatMapUv:Q&&g(s.clearcoatMap.channel),clearcoatNormalMapUv:tt&&g(s.clearcoatNormalMap.channel),clearcoatRoughnessMapUv:et&&g(s.clearcoatRoughnessMap.channel),iridescenceMapUv:nt&&g(s.iridescenceMap.channel),iridescenceThicknessMapUv:it&&g(s.iridescenceThicknessMap.channel),sheenColorMapUv:rt&&g(s.sheenColorMap.channel),sheenRoughnessMapUv:st&&g(s.sheenRoughnessMap.channel),specularMapUv:at&&g(s.specularMap.channel),specularColorMapUv:ot&&g(s.specularColorMap.channel),specularIntensityMapUv:lt&&g(s.specularIntensityMap.channel),transmissionMapUv:ct&&g(s.transmissionMap.channel),thicknessMapUv:ht&&g(s.thicknessMap.channel),alphaMapUv:pt&&g(s.alphaMap.channel),vertexTangents:!!y.attributes.tangent&&(V||j),vertexColors:s.vertexColors,vertexAlphas:!0===s.vertexColors&&!!y.attributes.color&&4===y.attributes.color.itemSize,vertexUv1s:_t,vertexUv2s:vt,vertexUv3s:xt,pointsUvs:!0===v.isPoints&&!!y.attributes.uv&&(D||pt),fog:!!x,useFog:!0===s.fog,fogExp2:x&&x.isFogExp2,flatShading:!0===s.flatShading,sizeAttenuation:!0===s.sizeAttenuation,logarithmicDepthBuffer:u,skinning:!0===v.isSkinnedMesh,morphTargets:void 0!==y.morphAttributes.position,morphNormals:void 0!==y.morphAttributes.normal,morphColors:void 0!==y.morphAttributes.color,morphTargetsCount:w,morphTextureStride:L,numDirLights:o.directional.length,numPointLights:o.point.length,numSpotLights:o.spot.length,numSpotLightMaps:o.spotLightMap.length,numRectAreaLights:o.rectArea.length,numHemiLights:o.hemi.length,numDirLightShadows:o.directionalShadowMap.length,numPointLightShadows:o.pointShadowMap.length,numSpotLightShadows:o.spotShadowMap.length,numSpotLightShadowsWithMaps:o.numSpotLightShadowsWithMaps,numLightProbes:o.numLightProbes,numClippingPlanes:a.numPlanes,numClipIntersection:a.numIntersection,dithering:s.dithering,shadowMapEnabled:t.shadowMap.enabled&&c.length>0,shadowMapType:t.shadowMap.type,toneMapping:yt,useLegacyLights:t._useLegacyLights,decodeVideoTexture:D&&!0===s.map.isVideoTexture&&mi.getTransfer(s.map.colorSpace)===$e,premultipliedAlpha:s.premultipliedAlpha,doubleSided:2===s.side,flipSided:s.side===d,useDepthPacking:s.depthPacking>=0,depthPacking:s.depthPacking||0,index0AttributeName:s.index0AttributeName,extensionDerivatives:gt&&!0===s.extensions.derivatives,extensionFragDepth:gt&&!0===s.extensions.fragDepth,extensionDrawBuffers:gt&&!0===s.extensions.drawBuffers,extensionShaderTextureLOD:gt&&!0===s.extensions.shaderTextureLOD,extensionClipCullDistance:gt&&s.extensions.clipCullDistance&&i.has("WEBGL_clip_cull_distance"),rendererExtensionFragDepth:h||i.has("EXT_frag_depth"),rendererExtensionDrawBuffers:h||i.has("WEBGL_draw_buffers"),rendererExtensionShaderTextureLod:h||i.has("EXT_shader_texture_lod"),rendererExtensionParallelShaderCompile:i.has("KHR_parallel_shader_compile"),customProgramCacheKey:s.customProgramCacheKey()}},getProgramCacheKey:function(e){const n=[];if(e.shaderID?n.push(e.shaderID):(n.push(e.customVertexShaderID),n.push(e.customFragmentShaderID)),void 0!==e.defines)for(const t in e.defines)n.push(t),n.push(e.defines[t]);return!1===e.isRawShaderMaterial&&(!function(t,e){t.push(e.precision),t.push(e.outputColorSpace),t.push(e.envMapMode),t.push(e.envMapCubeUVHeight),t.push(e.mapUv),t.push(e.alphaMapUv),t.push(e.lightMapUv),t.push(e.aoMapUv),t.push(e.bumpMapUv),t.push(e.normalMapUv),t.push(e.displacementMapUv),t.push(e.emissiveMapUv),t.push(e.metalnessMapUv),t.push(e.roughnessMapUv),t.push(e.anisotropyMapUv),t.push(e.clearcoatMapUv),t.push(e.clearcoatNormalMapUv),t.push(e.clearcoatRoughnessMapUv),t.push(e.iridescenceMapUv),t.push(e.iridescenceThicknessMapUv),t.push(e.sheenColorMapUv),t.push(e.sheenRoughnessMapUv),t.push(e.specularMapUv),t.push(e.specularColorMapUv),t.push(e.specularIntensityMapUv),t.push(e.transmissionMapUv),t.push(e.thicknessMapUv),t.push(e.combine),t.push(e.fogExp2),t.push(e.sizeAttenuation),t.push(e.morphTargetsCount),t.push(e.morphAttributeCount),t.push(e.numDirLights),t.push(e.numPointLights),t.push(e.numSpotLights),t.push(e.numSpotLightMaps),t.push(e.numHemiLights),t.push(e.numRectAreaLights),t.push(e.numDirLightShadows),t.push(e.numPointLightShadows),t.push(e.numSpotLightShadows),t.push(e.numSpotLightShadowsWithMaps),t.push(e.numLightProbes),t.push(e.shadowMapType),t.push(e.toneMapping),t.push(e.numClippingPlanes),t.push(e.numClipIntersection),t.push(e.depthPacking)}(n,e),function(t,e){o.disableAll(),e.isWebGL2&&o.enable(0);e.supportsVertexTextures&&o.enable(1);e.instancing&&o.enable(2);e.instancingColor&&o.enable(3);e.matcap&&o.enable(4);e.envMap&&o.enable(5);e.normalMapObjectSpace&&o.enable(6);e.normalMapTangentSpace&&o.enable(7);e.clearcoat&&o.enable(8);e.iridescence&&o.enable(9);e.alphaTest&&o.enable(10);e.vertexColors&&o.enable(11);e.vertexAlphas&&o.enable(12);e.vertexUv1s&&o.enable(13);e.vertexUv2s&&o.enable(14);e.vertexUv3s&&o.enable(15);e.vertexTangents&&o.enable(16);e.anisotropy&&o.enable(17);e.alphaHash&&o.enable(18);e.batching&&o.enable(19);t.push(o.mask),o.disableAll(),e.fog&&o.enable(0);e.useFog&&o.enable(1);e.flatShading&&o.enable(2);e.logarithmicDepthBuffer&&o.enable(3);e.skinning&&o.enable(4);e.morphTargets&&o.enable(5);e.morphNormals&&o.enable(6);e.morphColors&&o.enable(7);e.premultipliedAlpha&&o.enable(8);e.shadowMapEnabled&&o.enable(9);e.useLegacyLights&&o.enable(10);e.doubleSided&&o.enable(11);e.flipSided&&o.enable(12);e.useDepthPacking&&o.enable(13);e.dithering&&o.enable(14);e.transmission&&o.enable(15);e.sheen&&o.enable(16);e.opaque&&o.enable(17);e.pointsUvs&&o.enable(18);e.decodeVideoTexture&&o.enable(19);t.push(o.mask)}(n,e),n.push(t.outputColorSpace)),n.push(e.customProgramCacheKey),n.join()},getUniforms:function(t){const e=f[t.type];let n;if(e){const t=_a[e];n=Ks.clone(t.uniforms)}else n=t.uniforms;return n},acquireProgram:function(e,n){let i;for(let t=0,e=c.length;t0?i.push(h):!0===a.transparent?r.push(h):n.push(h)},unshift:function(t,e,a,o,l,c){const h=s(t,e,a,o,l,c);a.transmission>0?i.unshift(h):!0===a.transparent?r.unshift(h):n.unshift(h)},finish:function(){for(let n=e,i=t.length;n1&&n.sort(t||Al),i.length>1&&i.sort(e||Rl),r.length>1&&r.sort(e||Rl)}}}function Pl(){let t=new WeakMap;return{get:function(e,n){const i=t.get(e);let r;return void 0===i?(r=new Cl,t.set(e,[r])):n>=i.length?(r=new Cl,i.push(r)):r=i[n],r},dispose:function(){t=new WeakMap}}}function Ll(){const t={};return{get:function(e){if(void 0!==t[e.id])return t[e.id];let n;switch(e.type){case"DirectionalLight":n={direction:new Ui,color:new Kr};break;case"SpotLight":n={position:new Ui,direction:new Ui,color:new Kr,distance:0,coneCos:0,penumbraCos:0,decay:0};break;case"PointLight":n={position:new Ui,color:new Kr,distance:0,decay:0};break;case"HemisphereLight":n={direction:new Ui,skyColor:new Kr,groundColor:new Kr};break;case"RectAreaLight":n={color:new Kr,position:new Ui,halfWidth:new Ui,halfHeight:new Ui}}return t[e.id]=n,n}}}let Il=0;function Ul(t,e){return(e.castShadow?2:0)-(t.castShadow?2:0)+(e.map?1:0)-(t.map?1:0)}function Nl(t,e){const n=new Ll,i=function(){const t={};return{get:function(e){if(void 0!==t[e.id])return t[e.id];let n;switch(e.type){case"DirectionalLight":case"SpotLight":n={shadowBias:0,shadowNormalBias:0,shadowRadius:1,shadowMapSize:new ti};break;case"PointLight":n={shadowBias:0,shadowNormalBias:0,shadowRadius:1,shadowMapSize:new ti,shadowCameraNear:1,shadowCameraFar:1e3}}return t[e.id]=n,n}}}(),r={version:0,hash:{directionalLength:-1,pointLength:-1,spotLength:-1,rectAreaLength:-1,hemiLength:-1,numDirectionalShadows:-1,numPointShadows:-1,numSpotShadows:-1,numSpotMaps:-1,numLightProbes:-1},ambient:[0,0,0],probe:[],directional:[],directionalShadow:[],directionalShadowMap:[],directionalShadowMatrix:[],spot:[],spotLightMap:[],spotShadow:[],spotShadowMap:[],spotLightMatrix:[],rectArea:[],rectAreaLTC1:null,rectAreaLTC2:null,point:[],pointShadow:[],pointShadowMap:[],pointShadowMatrix:[],hemi:[],numSpotLightShadowsWithMaps:0,numLightProbes:0};for(let t=0;t<9;t++)r.probe.push(new Ui);const s=new Ui,a=new cr,o=new cr;return{setup:function(s,a){let o=0,l=0,c=0;for(let t=0;t<9;t++)r.probe[t].set(0,0,0);let h=0,u=0,d=0,p=0,m=0,f=0,g=0,_=0,v=0,x=0,y=0;s.sort(Ul);const M=!0===a?Math.PI:1;for(let t=0,e=s.length;t0&&(e.isWebGL2?!0===t.has("OES_texture_float_linear")?(r.rectAreaLTC1=ga.LTC_FLOAT_1,r.rectAreaLTC2=ga.LTC_FLOAT_2):(r.rectAreaLTC1=ga.LTC_HALF_1,r.rectAreaLTC2=ga.LTC_HALF_2):!0===t.has("OES_texture_float_linear")?(r.rectAreaLTC1=ga.LTC_FLOAT_1,r.rectAreaLTC2=ga.LTC_FLOAT_2):!0===t.has("OES_texture_half_float_linear")?(r.rectAreaLTC1=ga.LTC_HALF_1,r.rectAreaLTC2=ga.LTC_HALF_2):console.error("THREE.WebGLRenderer: Unable to use RectAreaLight. Missing WebGL extensions.")),r.ambient[0]=o,r.ambient[1]=l,r.ambient[2]=c;const S=r.hash;S.directionalLength===h&&S.pointLength===u&&S.spotLength===d&&S.rectAreaLength===p&&S.hemiLength===m&&S.numDirectionalShadows===f&&S.numPointShadows===g&&S.numSpotShadows===_&&S.numSpotMaps===v&&S.numLightProbes===y||(r.directional.length=h,r.spot.length=d,r.rectArea.length=p,r.point.length=u,r.hemi.length=m,r.directionalShadow.length=f,r.directionalShadowMap.length=f,r.pointShadow.length=g,r.pointShadowMap.length=g,r.spotShadow.length=_,r.spotShadowMap.length=_,r.directionalShadowMatrix.length=f,r.pointShadowMatrix.length=g,r.spotLightMatrix.length=_+v-x,r.spotLightMap.length=v,r.numSpotLightShadowsWithMaps=x,r.numLightProbes=y,S.directionalLength=h,S.pointLength=u,S.spotLength=d,S.rectAreaLength=p,S.hemiLength=m,S.numDirectionalShadows=f,S.numPointShadows=g,S.numSpotShadows=_,S.numSpotMaps=v,S.numLightProbes=y,r.version=Il++)},setupView:function(t,e){let n=0,i=0,l=0,c=0,h=0;const u=e.matrixWorldInverse;for(let e=0,d=t.length;e=s.length?(a=new Dl(t,e),s.push(a)):a=s[r],a},dispose:function(){n=new WeakMap}}}class Fl extends ts{constructor(t){super(),this.isMeshDepthMaterial=!0,this.type="MeshDepthMaterial",this.depthPacking=3200,this.map=null,this.alphaMap=null,this.displacementMap=null,this.displacementScale=1,this.displacementBias=0,this.wireframe=!1,this.wireframeLinewidth=1,this.setValues(t)}copy(t){return super.copy(t),this.depthPacking=t.depthPacking,this.map=t.map,this.alphaMap=t.alphaMap,this.displacementMap=t.displacementMap,this.displacementScale=t.displacementScale,this.displacementBias=t.displacementBias,this.wireframe=t.wireframe,this.wireframeLinewidth=t.wireframeLinewidth,this}}class Bl extends ts{constructor(t){super(),this.isMeshDistanceMaterial=!0,this.type="MeshDistanceMaterial",this.map=null,this.alphaMap=null,this.displacementMap=null,this.displacementScale=1,this.displacementBias=0,this.setValues(t)}copy(t){return super.copy(t),this.map=t.map,this.alphaMap=t.alphaMap,this.displacementMap=t.displacementMap,this.displacementScale=t.displacementScale,this.displacementBias=t.displacementBias,this}}function zl(t,e,n){let i=new ua;const r=new ti,s=new ti,a=new Ei,o=new Fl({depthPacking:3201}),c=new Bl,p={},m=n.maxTextureSize,f={[u]:d,[d]:u,2:2},g=new $s({defines:{VSM_SAMPLES:8},uniforms:{shadow_pass:{value:null},resolution:{value:new ti},radius:{value:4}},vertexShader:"void main() {\n\tgl_Position = vec4( position, 1.0 );\n}",fragmentShader:"uniform sampler2D shadow_pass;\nuniform vec2 resolution;\nuniform float radius;\n#include \nvoid main() {\n\tconst float samples = float( VSM_SAMPLES );\n\tfloat mean = 0.0;\n\tfloat squared_mean = 0.0;\n\tfloat uvStride = samples <= 1.0 ? 0.0 : 2.0 / ( samples - 1.0 );\n\tfloat uvStart = samples <= 1.0 ? 0.0 : - 1.0;\n\tfor ( float i = 0.0; i < samples; i ++ ) {\n\t\tfloat uvOffset = uvStart + i * uvStride;\n\t\t#ifdef HORIZONTAL_PASS\n\t\t\tvec2 distribution = unpackRGBATo2Half( texture2D( shadow_pass, ( gl_FragCoord.xy + vec2( uvOffset, 0.0 ) * radius ) / resolution ) );\n\t\t\tmean += distribution.x;\n\t\t\tsquared_mean += distribution.y * distribution.y + distribution.x * distribution.x;\n\t\t#else\n\t\t\tfloat depth = unpackRGBAToDepth( texture2D( shadow_pass, ( gl_FragCoord.xy + vec2( 0.0, uvOffset ) * radius ) / resolution ) );\n\t\t\tmean += depth;\n\t\t\tsquared_mean += depth * depth;\n\t\t#endif\n\t}\n\tmean = mean / samples;\n\tsquared_mean = squared_mean / samples;\n\tfloat std_dev = sqrt( squared_mean - mean * mean );\n\tgl_FragColor = pack2HalfToRGBA( vec2( mean, std_dev ) );\n}"}),_=g.clone();_.defines.HORIZONTAL_PASS=1;const v=new As;v.setAttribute("position",new cs(new Float32Array([-1,-1,.5,3,-1,.5,-1,3,.5]),3));const x=new Xs(v,g),y=this;this.enabled=!1,this.autoUpdate=!0,this.needsUpdate=!1,this.type=l;let M=this.type;function S(n,i){const s=e.update(x);g.defines.VSM_SAMPLES!==n.blurSamples&&(g.defines.VSM_SAMPLES=n.blurSamples,_.defines.VSM_SAMPLES=n.blurSamples,g.needsUpdate=!0,_.needsUpdate=!0),null===n.mapPass&&(n.mapPass=new wi(r.x,r.y)),g.uniforms.shadow_pass.value=n.map.texture,g.uniforms.resolution.value=n.mapSize,g.uniforms.radius.value=n.radius,t.setRenderTarget(n.mapPass),t.clear(),t.renderBufferDirect(i,null,s,g,x,null),_.uniforms.shadow_pass.value=n.mapPass.texture,_.uniforms.resolution.value=n.mapSize,_.uniforms.radius.value=n.radius,t.setRenderTarget(n.map),t.clear(),t.renderBufferDirect(i,null,s,_,x,null)}function b(e,n,i,r){let s=null;const a=!0===i.isPointLight?e.customDistanceMaterial:e.customDepthMaterial;if(void 0!==a)s=a;else if(s=!0===i.isPointLight?c:o,t.localClippingEnabled&&!0===n.clipShadows&&Array.isArray(n.clippingPlanes)&&0!==n.clippingPlanes.length||n.displacementMap&&0!==n.displacementScale||n.alphaMap&&n.alphaTest>0||n.map&&n.alphaTest>0){const t=s.uuid,e=n.uuid;let i=p[t];void 0===i&&(i={},p[t]=i);let r=i[e];void 0===r&&(r=s.clone(),i[e]=r,n.addEventListener("dispose",T)),s=r}if(s.visible=n.visible,s.wireframe=n.wireframe,s.side=r===h?null!==n.shadowSide?n.shadowSide:n.side:null!==n.shadowSide?n.shadowSide:f[n.side],s.alphaMap=n.alphaMap,s.alphaTest=n.alphaTest,s.map=n.map,s.clipShadows=n.clipShadows,s.clippingPlanes=n.clippingPlanes,s.clipIntersection=n.clipIntersection,s.displacementMap=n.displacementMap,s.displacementScale=n.displacementScale,s.displacementBias=n.displacementBias,s.wireframeLinewidth=n.wireframeLinewidth,s.linewidth=n.linewidth,!0===i.isPointLight&&!0===s.isMeshDistanceMaterial){t.properties.get(s).light=i}return s}function E(n,r,s,a,o){if(!1===n.visible)return;if(n.layers.test(r.layers)&&(n.isMesh||n.isLine||n.isPoints)&&(n.castShadow||n.receiveShadow&&o===h)&&(!n.frustumCulled||i.intersectsObject(n))){n.modelViewMatrix.multiplyMatrices(s.matrixWorldInverse,n.matrixWorld);const i=e.update(n),l=n.material;if(Array.isArray(l)){const e=i.groups;for(let c=0,h=e.length;cm||r.y>m)&&(r.x>m&&(s.x=Math.floor(m/g.x),r.x=s.x*g.x,u.mapSize.x=s.x),r.y>m&&(s.y=Math.floor(m/g.y),r.y=s.y*g.y,u.mapSize.y=s.y)),null===u.map||!0===p||!0===f){const t=this.type!==h?{minFilter:gt,magFilter:gt}:{};null!==u.map&&u.map.dispose(),u.map=new wi(r.x,r.y,t),u.map.texture.name=c.name+".shadowMap",u.camera.updateProjectionMatrix()}t.setRenderTarget(u.map),t.clear();const _=u.getViewportCount();for(let t=0;t<_;t++){const e=u.getViewport(t);a.set(s.x*e.x,s.y*e.y,s.x*e.z,s.y*e.w),d.viewport(a),u.updateMatrices(c,t),i=u.getFrustum(),E(n,o,u.camera,c,this.type)}!0!==u.isPointLightShadow&&this.type===h&&S(u,o),u.needsUpdate=!1}M=this.type,y.needsUpdate=!1,t.setRenderTarget(l,c,u)}}function Hl(t,e,n){const i=n.isWebGL2;const r=new function(){let e=!1;const n=new Ei;let i=null;const r=new Ei(0,0,0,0);return{setMask:function(n){i===n||e||(t.colorMask(n,n,n,n),i=n)},setLocked:function(t){e=t},setClear:function(e,i,s,a,o){!0===o&&(e*=a,i*=a,s*=a),n.set(e,i,s,a),!1===r.equals(n)&&(t.clearColor(e,i,s,a),r.copy(n))},reset:function(){e=!1,i=null,r.set(-1,0,0,0)}}},s=new function(){let e=!1,n=null,i=null,r=null;return{setTest:function(e){e?j(t.DEPTH_TEST):q(t.DEPTH_TEST)},setMask:function(i){n===i||e||(t.depthMask(i),n=i)},setFunc:function(e){if(i!==e){switch(e){case 0:t.depthFunc(t.NEVER);break;case 1:t.depthFunc(t.ALWAYS);break;case 2:t.depthFunc(t.LESS);break;case 3:default:t.depthFunc(t.LEQUAL);break;case 4:t.depthFunc(t.EQUAL);break;case 5:t.depthFunc(t.GEQUAL);break;case 6:t.depthFunc(t.GREATER);break;case 7:t.depthFunc(t.NOTEQUAL)}i=e}},setLocked:function(t){e=t},setClear:function(e){r!==e&&(t.clearDepth(e),r=e)},reset:function(){e=!1,n=null,i=null,r=null}}},a=new function(){let e=!1,n=null,i=null,r=null,s=null,a=null,o=null,l=null,c=null;return{setTest:function(n){e||(n?j(t.STENCIL_TEST):q(t.STENCIL_TEST))},setMask:function(i){n===i||e||(t.stencilMask(i),n=i)},setFunc:function(e,n,a){i===e&&r===n&&s===a||(t.stencilFunc(e,n,a),i=e,r=n,s=a)},setOp:function(e,n,i){a===e&&o===n&&l===i||(t.stencilOp(e,n,i),a=e,o=n,l=i)},setLocked:function(t){e=t},setClear:function(e){c!==e&&(t.clearStencil(e),c=e)},reset:function(){e=!1,n=null,i=null,r=null,s=null,a=null,o=null,l=null,c=null}}},o=new WeakMap,l=new WeakMap;let c={},h={},u=new WeakMap,p=[],m=null,f=!1,g=null,_=null,v=null,x=null,y=null,S=null,b=null,E=new Kr(0,0,0),T=0,w=!1,A=null,R=null,C=null,I=null,U=null;const N=t.getParameter(t.MAX_COMBINED_TEXTURE_IMAGE_UNITS);let D=!1,O=0;const F=t.getParameter(t.VERSION);-1!==F.indexOf("WebGL")?(O=parseFloat(/^WebGL (\d)/.exec(F)[1]),D=O>=1):-1!==F.indexOf("OpenGL ES")&&(O=parseFloat(/^OpenGL ES (\d)/.exec(F)[1]),D=O>=2);let B=null,z={};const H=t.getParameter(t.SCISSOR_BOX),V=t.getParameter(t.VIEWPORT),k=(new Ei).fromArray(H),G=(new Ei).fromArray(V);function W(e,n,r,s){const a=new Uint8Array(4),o=t.createTexture();t.bindTexture(e,o),t.texParameteri(e,t.TEXTURE_MIN_FILTER,t.NEAREST),t.texParameteri(e,t.TEXTURE_MAG_FILTER,t.NEAREST);for(let o=0;oi||t.height>i)&&(r=i/Math.max(t.width,t.height)),r<1||!0===e){if("undefined"!=typeof HTMLImageElement&&t instanceof HTMLImageElement||"undefined"!=typeof HTMLCanvasElement&&t instanceof HTMLCanvasElement||"undefined"!=typeof ImageBitmap&&t instanceof ImageBitmap){const i=e?Jn:Math.floor,s=i(r*t.width),a=i(r*t.height);void 0===u&&(u=m(s,a));const o=n?m(s,a):u;o.width=s,o.height=a;return o.getContext("2d").drawImage(t,0,0,s,a),console.warn("THREE.WebGLRenderer: Texture has been resized from ("+t.width+"x"+t.height+") to ("+s+"x"+a+")."),o}return"data"in t&&console.warn("THREE.WebGLRenderer: Image in DataTexture is too big ("+t.width+"x"+t.height+")."),t}return t}function g(t){return Zn(t.width)&&Zn(t.height)}function _(t,e){return t.generateMipmaps&&e&&t.minFilter!==gt&&t.minFilter!==Mt}function v(e){t.generateMipmap(e)}function x(n,i,r,s,a=!1){if(!1===o)return i;if(null!==n){if(void 0!==t[n])return t[n];console.warn("THREE.WebGLRenderer: Attempt to use non-existing WebGL internal format '"+n+"'")}let l=i;if(i===t.RED&&(r===t.FLOAT&&(l=t.R32F),r===t.HALF_FLOAT&&(l=t.R16F),r===t.UNSIGNED_BYTE&&(l=t.R8)),i===t.RED_INTEGER&&(r===t.UNSIGNED_BYTE&&(l=t.R8UI),r===t.UNSIGNED_SHORT&&(l=t.R16UI),r===t.UNSIGNED_INT&&(l=t.R32UI),r===t.BYTE&&(l=t.R8I),r===t.SHORT&&(l=t.R16I),r===t.INT&&(l=t.R32I)),i===t.RG&&(r===t.FLOAT&&(l=t.RG32F),r===t.HALF_FLOAT&&(l=t.RG16F),r===t.UNSIGNED_BYTE&&(l=t.RG8)),i===t.RGBA){const e=a?Ke:mi.getTransfer(s);r===t.FLOAT&&(l=t.RGBA32F),r===t.HALF_FLOAT&&(l=t.RGBA16F),r===t.UNSIGNED_BYTE&&(l=e===$e?t.SRGB8_ALPHA8:t.RGBA8),r===t.UNSIGNED_SHORT_4_4_4_4&&(l=t.RGBA4),r===t.UNSIGNED_SHORT_5_5_5_1&&(l=t.RGB5_A1)}return l!==t.R16F&&l!==t.R32F&&l!==t.RG16F&&l!==t.RG32F&&l!==t.RGBA16F&&l!==t.RGBA32F||e.get("EXT_color_buffer_float"),l}function y(t,e,n){return!0===_(t,n)||t.isFramebufferTexture&&t.minFilter!==gt&&t.minFilter!==Mt?Math.log2(Math.max(e.width,e.height))+1:void 0!==t.mipmaps&&t.mipmaps.length>0?t.mipmaps.length:t.isCompressedTexture&&Array.isArray(t.image)?e.mipmaps.length:1}function M(e){return e===gt||e===_t||e===xt?t.NEAREST:t.LINEAR}function S(t){const e=t.target;e.removeEventListener("dispose",S),function(t){const e=i.get(t);if(void 0===e.__webglInit)return;const n=t.source,r=d.get(n);if(r){const i=r[e.__cacheKey];i.usedTimes--,0===i.usedTimes&&E(t),0===Object.keys(r).length&&d.delete(n)}i.remove(t)}(e),e.isVideoTexture&&h.delete(e)}function b(e){const n=e.target;n.removeEventListener("dispose",b),function(e){const n=e.texture,r=i.get(e),s=i.get(n);void 0!==s.__webglTexture&&(t.deleteTexture(s.__webglTexture),a.memory.textures--);e.depthTexture&&e.depthTexture.dispose();if(e.isWebGLCubeRenderTarget)for(let e=0;e<6;e++){if(Array.isArray(r.__webglFramebuffer[e]))for(let n=0;n0&&s.__version!==e.version){const t=e.image;if(null===t)console.warn("THREE.WebGLRenderer: Texture marked for update but no image data found.");else{if(!1!==t.complete)return void I(s,e,r);console.warn("THREE.WebGLRenderer: Texture marked for update but image is incomplete")}}n.bindTexture(t.TEXTURE_2D,s.__webglTexture,t.TEXTURE0+r)}const A={[pt]:t.REPEAT,[mt]:t.CLAMP_TO_EDGE,[ft]:t.MIRRORED_REPEAT},R={[gt]:t.NEAREST,[_t]:t.NEAREST_MIPMAP_NEAREST,[xt]:t.NEAREST_MIPMAP_LINEAR,[Mt]:t.LINEAR,[St]:t.LINEAR_MIPMAP_NEAREST,[Et]:t.LINEAR_MIPMAP_LINEAR},C={512:t.NEVER,519:t.ALWAYS,513:t.LESS,515:t.LEQUAL,514:t.EQUAL,518:t.GEQUAL,516:t.GREATER,517:t.NOTEQUAL};function P(n,s,a){if(a?(t.texParameteri(n,t.TEXTURE_WRAP_S,A[s.wrapS]),t.texParameteri(n,t.TEXTURE_WRAP_T,A[s.wrapT]),n!==t.TEXTURE_3D&&n!==t.TEXTURE_2D_ARRAY||t.texParameteri(n,t.TEXTURE_WRAP_R,A[s.wrapR]),t.texParameteri(n,t.TEXTURE_MAG_FILTER,R[s.magFilter]),t.texParameteri(n,t.TEXTURE_MIN_FILTER,R[s.minFilter])):(t.texParameteri(n,t.TEXTURE_WRAP_S,t.CLAMP_TO_EDGE),t.texParameteri(n,t.TEXTURE_WRAP_T,t.CLAMP_TO_EDGE),n!==t.TEXTURE_3D&&n!==t.TEXTURE_2D_ARRAY||t.texParameteri(n,t.TEXTURE_WRAP_R,t.CLAMP_TO_EDGE),s.wrapS===mt&&s.wrapT===mt||console.warn("THREE.WebGLRenderer: Texture is not power of two. Texture.wrapS and Texture.wrapT should be set to THREE.ClampToEdgeWrapping."),t.texParameteri(n,t.TEXTURE_MAG_FILTER,M(s.magFilter)),t.texParameteri(n,t.TEXTURE_MIN_FILTER,M(s.minFilter)),s.minFilter!==gt&&s.minFilter!==Mt&&console.warn("THREE.WebGLRenderer: Texture is not power of two. Texture.minFilter should be set to THREE.NearestFilter or THREE.LinearFilter.")),s.compareFunction&&(t.texParameteri(n,t.TEXTURE_COMPARE_MODE,t.COMPARE_REF_TO_TEXTURE),t.texParameteri(n,t.TEXTURE_COMPARE_FUNC,C[s.compareFunction])),!0===e.has("EXT_texture_filter_anisotropic")){const a=e.get("EXT_texture_filter_anisotropic");if(s.magFilter===gt)return;if(s.minFilter!==xt&&s.minFilter!==Et)return;if(s.type===It&&!1===e.has("OES_texture_float_linear"))return;if(!1===o&&s.type===Ut&&!1===e.has("OES_texture_half_float_linear"))return;(s.anisotropy>1||i.get(s).__currentAnisotropy)&&(t.texParameterf(n,a.TEXTURE_MAX_ANISOTROPY_EXT,Math.min(s.anisotropy,r.getMaxAnisotropy())),i.get(s).__currentAnisotropy=s.anisotropy)}}function L(e,n){let i=!1;void 0===e.__webglInit&&(e.__webglInit=!0,n.addEventListener("dispose",S));const r=n.source;let s=d.get(r);void 0===s&&(s={},d.set(r,s));const o=function(t){const e=[];return e.push(t.wrapS),e.push(t.wrapT),e.push(t.wrapR||0),e.push(t.magFilter),e.push(t.minFilter),e.push(t.anisotropy),e.push(t.internalFormat),e.push(t.format),e.push(t.type),e.push(t.generateMipmaps),e.push(t.premultiplyAlpha),e.push(t.flipY),e.push(t.unpackAlignment),e.push(t.colorSpace),e.join()}(n);if(o!==e.__cacheKey){void 0===s[o]&&(s[o]={texture:t.createTexture(),usedTimes:0},a.memory.textures++,i=!0),s[o].usedTimes++;const r=s[e.__cacheKey];void 0!==r&&(s[e.__cacheKey].usedTimes--,0===r.usedTimes&&E(n)),e.__cacheKey=o,e.__webglTexture=s[o].texture}return i}function I(e,a,l){let c=t.TEXTURE_2D;(a.isDataArrayTexture||a.isCompressedArrayTexture)&&(c=t.TEXTURE_2D_ARRAY),a.isData3DTexture&&(c=t.TEXTURE_3D);const h=L(e,a),u=a.source;n.bindTexture(c,e.__webglTexture,t.TEXTURE0+l);const d=i.get(u);if(u.version!==d.__version||!0===h){n.activeTexture(t.TEXTURE0+l);const e=mi.getPrimaries(mi.workingColorSpace),i=a.colorSpace===je?null:mi.getPrimaries(a.colorSpace),p=a.colorSpace===je||e===i?t.NONE:t.BROWSER_DEFAULT_WEBGL;t.pixelStorei(t.UNPACK_FLIP_Y_WEBGL,a.flipY),t.pixelStorei(t.UNPACK_PREMULTIPLY_ALPHA_WEBGL,a.premultiplyAlpha),t.pixelStorei(t.UNPACK_ALIGNMENT,a.unpackAlignment),t.pixelStorei(t.UNPACK_COLORSPACE_CONVERSION_WEBGL,p);const m=function(t){return!o&&(t.wrapS!==mt||t.wrapT!==mt||t.minFilter!==gt&&t.minFilter!==Mt)}(a)&&!1===g(a.image);let M=f(a.image,m,!1,r.maxTextureSize);M=B(a,M);const S=g(M)||o,b=s.convert(a.format,a.colorSpace);let E,T=s.convert(a.type),w=x(a.internalFormat,b,T,a.colorSpace,a.isVideoTexture);P(c,a,S);const A=a.mipmaps,R=o&&!0!==a.isVideoTexture&&w!==ne,C=void 0===d.__version||!0===h,L=y(a,M,S);if(a.isDepthTexture)w=t.DEPTH_COMPONENT,o?w=a.type===It?t.DEPTH_COMPONENT32F:a.type===Lt?t.DEPTH_COMPONENT24:a.type===Ot?t.DEPTH24_STENCIL8:t.DEPTH_COMPONENT16:a.type===It&&console.error("WebGLRenderer: Floating point depth texture requires WebGL2."),a.format===Vt&&w===t.DEPTH_COMPONENT&&a.type!==Ct&&a.type!==Lt&&(console.warn("THREE.WebGLRenderer: Use UnsignedShortType or UnsignedIntType for DepthFormat DepthTexture."),a.type=Lt,T=s.convert(a.type)),a.format===kt&&w===t.DEPTH_COMPONENT&&(w=t.DEPTH_STENCIL,a.type!==Ot&&(console.warn("THREE.WebGLRenderer: Use UnsignedInt248Type for DepthStencilFormat DepthTexture."),a.type=Ot,T=s.convert(a.type))),C&&(R?n.texStorage2D(t.TEXTURE_2D,1,w,M.width,M.height):n.texImage2D(t.TEXTURE_2D,0,w,M.width,M.height,0,b,T,null));else if(a.isDataTexture)if(A.length>0&&S){R&&C&&n.texStorage2D(t.TEXTURE_2D,L,w,A[0].width,A[0].height);for(let e=0,i=A.length;e>=1,i>>=1}}else if(A.length>0&&S){R&&C&&n.texStorage2D(t.TEXTURE_2D,L,w,A[0].width,A[0].height);for(let e=0,i=A.length;e>h),i=Math.max(1,r.height>>h);c===t.TEXTURE_3D||c===t.TEXTURE_2D_ARRAY?n.texImage3D(c,h,p,e,i,r.depth,0,u,d,null):n.texImage2D(c,h,p,e,i,0,u,d,null)}n.bindFramebuffer(t.FRAMEBUFFER,e),F(r)?l.framebufferTexture2DMultisampleEXT(t.FRAMEBUFFER,o,c,i.get(a).__webglTexture,0,O(r)):(c===t.TEXTURE_2D||c>=t.TEXTURE_CUBE_MAP_POSITIVE_X&&c<=t.TEXTURE_CUBE_MAP_NEGATIVE_Z)&&t.framebufferTexture2D(t.FRAMEBUFFER,o,c,i.get(a).__webglTexture,h),n.bindFramebuffer(t.FRAMEBUFFER,null)}function N(e,n,i){if(t.bindRenderbuffer(t.RENDERBUFFER,e),n.depthBuffer&&!n.stencilBuffer){let r=!0===o?t.DEPTH_COMPONENT24:t.DEPTH_COMPONENT16;if(i||F(n)){const e=n.depthTexture;e&&e.isDepthTexture&&(e.type===It?r=t.DEPTH_COMPONENT32F:e.type===Lt&&(r=t.DEPTH_COMPONENT24));const i=O(n);F(n)?l.renderbufferStorageMultisampleEXT(t.RENDERBUFFER,i,r,n.width,n.height):t.renderbufferStorageMultisample(t.RENDERBUFFER,i,r,n.width,n.height)}else t.renderbufferStorage(t.RENDERBUFFER,r,n.width,n.height);t.framebufferRenderbuffer(t.FRAMEBUFFER,t.DEPTH_ATTACHMENT,t.RENDERBUFFER,e)}else if(n.depthBuffer&&n.stencilBuffer){const r=O(n);i&&!1===F(n)?t.renderbufferStorageMultisample(t.RENDERBUFFER,r,t.DEPTH24_STENCIL8,n.width,n.height):F(n)?l.renderbufferStorageMultisampleEXT(t.RENDERBUFFER,r,t.DEPTH24_STENCIL8,n.width,n.height):t.renderbufferStorage(t.RENDERBUFFER,t.DEPTH_STENCIL,n.width,n.height),t.framebufferRenderbuffer(t.FRAMEBUFFER,t.DEPTH_STENCIL_ATTACHMENT,t.RENDERBUFFER,e)}else{const e=!0===n.isWebGLMultipleRenderTargets?n.texture:[n.texture];for(let r=0;r0&&!0===e.has("WEBGL_multisampled_render_to_texture")&&!1!==n.__useRenderToTexture}function B(t,n){const i=t.colorSpace,r=t.format,s=t.type;return!0===t.isCompressedTexture||!0===t.isVideoTexture||t.format===Fn||i!==Ye&&i!==je&&(mi.getTransfer(i)===$e?!1===o?!0===e.has("EXT_sRGB")&&r===Bt?(t.format=Fn,t.minFilter=Mt,t.generateMipmaps=!1):n=vi.sRGBToLinear(n):r===Bt&&s===wt||console.warn("THREE.WebGLTextures: sRGB encoded textures have to use RGBAFormat and UnsignedByteType."):console.error("THREE.WebGLTextures: Unsupported texture color space:",i)),n}this.allocateTextureUnit=function(){const t=T;return t>=r.maxTextures&&console.warn("THREE.WebGLTextures: Trying to use "+t+" texture units while this GPU supports only "+r.maxTextures),T+=1,t},this.resetTextureUnits=function(){T=0},this.setTexture2D=w,this.setTexture2DArray=function(e,r){const s=i.get(e);e.version>0&&s.__version!==e.version?I(s,e,r):n.bindTexture(t.TEXTURE_2D_ARRAY,s.__webglTexture,t.TEXTURE0+r)},this.setTexture3D=function(e,r){const s=i.get(e);e.version>0&&s.__version!==e.version?I(s,e,r):n.bindTexture(t.TEXTURE_3D,s.__webglTexture,t.TEXTURE0+r)},this.setTextureCube=function(e,a){const l=i.get(e);e.version>0&&l.__version!==e.version?function(e,a,l){if(6!==a.image.length)return;const c=L(e,a),h=a.source;n.bindTexture(t.TEXTURE_CUBE_MAP,e.__webglTexture,t.TEXTURE0+l);const u=i.get(h);if(h.version!==u.__version||!0===c){n.activeTexture(t.TEXTURE0+l);const e=mi.getPrimaries(mi.workingColorSpace),i=a.colorSpace===je?null:mi.getPrimaries(a.colorSpace),d=a.colorSpace===je||e===i?t.NONE:t.BROWSER_DEFAULT_WEBGL;t.pixelStorei(t.UNPACK_FLIP_Y_WEBGL,a.flipY),t.pixelStorei(t.UNPACK_PREMULTIPLY_ALPHA_WEBGL,a.premultiplyAlpha),t.pixelStorei(t.UNPACK_ALIGNMENT,a.unpackAlignment),t.pixelStorei(t.UNPACK_COLORSPACE_CONVERSION_WEBGL,d);const p=a.isCompressedTexture||a.image[0].isCompressedTexture,m=a.image[0]&&a.image[0].isDataTexture,M=[];for(let t=0;t<6;t++)M[t]=p||m?m?a.image[t].image:a.image[t]:f(a.image[t],!1,!0,r.maxCubemapSize),M[t]=B(a,M[t]);const S=M[0],b=g(S)||o,E=s.convert(a.format,a.colorSpace),T=s.convert(a.type),w=x(a.internalFormat,E,T,a.colorSpace),A=o&&!0!==a.isVideoTexture,R=void 0===u.__version||!0===c;let C,L=y(a,S,b);if(P(t.TEXTURE_CUBE_MAP,a,b),p){A&&R&&n.texStorage2D(t.TEXTURE_CUBE_MAP,L,w,S.width,S.height);for(let e=0;e<6;e++){C=M[e].mipmaps;for(let i=0;i0&&L++,n.texStorage2D(t.TEXTURE_CUBE_MAP,L,w,M[0].width,M[0].height));for(let e=0;e<6;e++)if(m){A?n.texSubImage2D(t.TEXTURE_CUBE_MAP_POSITIVE_X+e,0,0,0,M[e].width,M[e].height,E,T,M[e].data):n.texImage2D(t.TEXTURE_CUBE_MAP_POSITIVE_X+e,0,w,M[e].width,M[e].height,0,E,T,M[e].data);for(let i=0;i0){c.__webglFramebuffer[e]=[];for(let n=0;n0){c.__webglFramebuffer=[];for(let e=0;e0&&!1===F(e)){const i=d?l:[l];c.__webglMultisampledFramebuffer=t.createFramebuffer(),c.__webglColorRenderbuffer=[],n.bindFramebuffer(t.FRAMEBUFFER,c.__webglMultisampledFramebuffer);for(let n=0;n0)for(let i=0;i0)for(let n=0;n0&&!1===F(e)){const r=e.isWebGLMultipleRenderTargets?e.texture:[e.texture],s=e.width,a=e.height;let o=t.COLOR_BUFFER_BIT;const l=[],h=e.stencilBuffer?t.DEPTH_STENCIL_ATTACHMENT:t.DEPTH_ATTACHMENT,u=i.get(e),d=!0===e.isWebGLMultipleRenderTargets;if(d)for(let e=0;eo+c?(l.inputState.pinching=!1,this.dispatchEvent({type:"pinchend",handedness:t.handedness,target:this})):!l.inputState.pinching&&a<=o-c&&(l.inputState.pinching=!0,this.dispatchEvent({type:"pinchstart",handedness:t.handedness,target:this}))}else null!==o&&t.gripSpace&&(r=e.getPose(t.gripSpace,n),null!==r&&(o.matrix.fromArray(r.transform.matrix),o.matrix.decompose(o.position,o.rotation,o.scale),o.matrixWorldNeedsUpdate=!0,r.linearVelocity?(o.hasLinearVelocity=!0,o.linearVelocity.copy(r.linearVelocity)):o.hasLinearVelocity=!1,r.angularVelocity?(o.hasAngularVelocity=!0,o.angularVelocity.copy(r.angularVelocity)):o.hasAngularVelocity=!1));null!==a&&(i=e.getPose(t.targetRaySpace,n),null===i&&null!==r&&(i=r),null!==i&&(a.matrix.fromArray(i.transform.matrix),a.matrix.decompose(a.position,a.rotation,a.scale),a.matrixWorldNeedsUpdate=!0,i.linearVelocity?(a.hasLinearVelocity=!0,a.linearVelocity.copy(i.linearVelocity)):a.hasLinearVelocity=!1,i.angularVelocity?(a.hasAngularVelocity=!0,a.angularVelocity.copy(i.angularVelocity)):a.hasAngularVelocity=!1,this.dispatchEvent(Xl)))}return null!==a&&(a.visible=null!==i),null!==o&&(o.visible=null!==r),null!==l&&(l.visible=null!==s),this}_getHandJoint(t,e){if(void 0===t.joints[e.jointName]){const n=new Wl;n.matrixAutoUpdate=!1,n.visible=!1,t.joints[e.jointName]=n,t.add(n)}return t.joints[e.jointName]}}class ql extends Hn{constructor(t,e){super();const n=this;let i=null,r=1,s=null,a="local-floor",o=1,l=null,c=null,h=null,u=null,d=null,p=null;const m=e.getContextAttributes();let f=null,g=null;const _=[],v=[],x=new ti;let y=null;const M=new ta;M.layers.enable(1),M.viewport=new Ei;const S=new ta;S.layers.enable(2),S.viewport=new Ei;const b=[M,S],E=new Gl;E.layers.enable(1),E.layers.enable(2);let T=null,w=null;function A(t){const e=v.indexOf(t.inputSource);if(-1===e)return;const n=_[e];void 0!==n&&(n.update(t.inputSource,t.frame,l||s),n.dispatchEvent({type:t.type,data:t.inputSource}))}function R(){i.removeEventListener("select",A),i.removeEventListener("selectstart",A),i.removeEventListener("selectend",A),i.removeEventListener("squeeze",A),i.removeEventListener("squeezestart",A),i.removeEventListener("squeezeend",A),i.removeEventListener("end",R),i.removeEventListener("inputsourceschange",C);for(let t=0;t<_.length;t++){const e=v[t];null!==e&&(v[t]=null,_[t].disconnect(e))}T=null,w=null,t.setRenderTarget(f),d=null,u=null,h=null,i=null,g=null,N.stop(),n.isPresenting=!1,t.setPixelRatio(y),t.setSize(x.width,x.height,!1),n.dispatchEvent({type:"sessionend"})}function C(t){for(let e=0;e=0&&(v[i]=null,_[i].disconnect(n))}for(let e=0;e=v.length){v.push(n),i=t;break}if(null===v[t]){v[t]=n,i=t;break}}if(-1===i)break}const r=_[i];r&&r.connect(n)}}this.cameraAutoUpdate=!0,this.enabled=!1,this.isPresenting=!1,this.getController=function(t){let e=_[t];return void 0===e&&(e=new jl,_[t]=e),e.getTargetRaySpace()},this.getControllerGrip=function(t){let e=_[t];return void 0===e&&(e=new jl,_[t]=e),e.getGripSpace()},this.getHand=function(t){let e=_[t];return void 0===e&&(e=new jl,_[t]=e),e.getHandSpace()},this.setFramebufferScaleFactor=function(t){r=t,!0===n.isPresenting&&console.warn("THREE.WebXRManager: Cannot change framebuffer scale while presenting.")},this.setReferenceSpaceType=function(t){a=t,!0===n.isPresenting&&console.warn("THREE.WebXRManager: Cannot change reference space type while presenting.")},this.getReferenceSpace=function(){return l||s},this.setReferenceSpace=function(t){l=t},this.getBaseLayer=function(){return null!==u?u:d},this.getBinding=function(){return h},this.getFrame=function(){return p},this.getSession=function(){return i},this.setSession=async function(c){if(i=c,null!==i){if(f=t.getRenderTarget(),i.addEventListener("select",A),i.addEventListener("selectstart",A),i.addEventListener("selectend",A),i.addEventListener("squeeze",A),i.addEventListener("squeezestart",A),i.addEventListener("squeezeend",A),i.addEventListener("end",R),i.addEventListener("inputsourceschange",C),!0!==m.xrCompatible&&await e.makeXRCompatible(),y=t.getPixelRatio(),t.getSize(x),void 0===i.renderState.layers||!1===t.capabilities.isWebGL2){const n={antialias:void 0!==i.renderState.layers||m.antialias,alpha:!0,depth:m.depth,stencil:m.stencil,framebufferScaleFactor:r};d=new XRWebGLLayer(i,e,n),i.updateRenderState({baseLayer:d}),t.setPixelRatio(1),t.setSize(d.framebufferWidth,d.framebufferHeight,!1),g=new wi(d.framebufferWidth,d.framebufferHeight,{format:Bt,type:wt,colorSpace:t.outputColorSpace,stencilBuffer:m.stencil})}else{let n=null,s=null,a=null;m.depth&&(a=m.stencil?e.DEPTH24_STENCIL8:e.DEPTH_COMPONENT24,n=m.stencil?kt:Vt,s=m.stencil?Ot:Lt);const o={colorFormat:e.RGBA8,depthFormat:a,scaleFactor:r};h=new XRWebGLBinding(i,e),u=h.createProjectionLayer(o),i.updateRenderState({layers:[u]}),t.setPixelRatio(1),t.setSize(u.textureWidth,u.textureHeight,!1),g=new wi(u.textureWidth,u.textureHeight,{format:Bt,type:wt,depthTexture:new Ka(u.textureWidth,u.textureHeight,s,void 0,void 0,void 0,void 0,void 0,void 0,n),stencilBuffer:m.stencil,colorSpace:t.outputColorSpace,samples:m.antialias?4:0});t.properties.get(g).__ignoreDepthValues=u.ignoreDepthValues}g.isXRRenderTarget=!0,this.setFoveation(o),l=null,s=await i.requestReferenceSpace(a),N.setContext(i),N.start(),n.isPresenting=!0,n.dispatchEvent({type:"sessionstart"})}},this.getEnvironmentBlendMode=function(){if(null!==i)return i.environmentBlendMode};const P=new Ui,L=new Ui;function I(t,e){null===e?t.matrixWorld.copy(t.matrix):t.matrixWorld.multiplyMatrices(e.matrixWorld,t.matrix),t.matrixWorldInverse.copy(t.matrixWorld).invert()}this.updateCamera=function(t){if(null===i)return;E.near=S.near=M.near=t.near,E.far=S.far=M.far=t.far,T===E.near&&w===E.far||(i.updateRenderState({depthNear:E.near,depthFar:E.far}),T=E.near,w=E.far);const e=t.parent,n=E.cameras;I(E,e);for(let t=0;t0&&(i.alphaTest.value=r.alphaTest);const s=e.get(r).envMap;if(s&&(i.envMap.value=s,i.flipEnvMap.value=s.isCubeTexture&&!1===s.isRenderTargetTexture?-1:1,i.reflectivity.value=r.reflectivity,i.ior.value=r.ior,i.refractionRatio.value=r.refractionRatio),r.lightMap){i.lightMap.value=r.lightMap;const e=!0===t._useLegacyLights?Math.PI:1;i.lightMapIntensity.value=r.lightMapIntensity*e,n(r.lightMap,i.lightMapTransform)}r.aoMap&&(i.aoMap.value=r.aoMap,i.aoMapIntensity.value=r.aoMapIntensity,n(r.aoMap,i.aoMapTransform))}return{refreshFogUniforms:function(e,n){n.color.getRGB(e.fogColor.value,Js(t)),n.isFog?(e.fogNear.value=n.near,e.fogFar.value=n.far):n.isFogExp2&&(e.fogDensity.value=n.density)},refreshMaterialUniforms:function(t,r,s,a,o){r.isMeshBasicMaterial||r.isMeshLambertMaterial?i(t,r):r.isMeshToonMaterial?(i(t,r),function(t,e){e.gradientMap&&(t.gradientMap.value=e.gradientMap)}(t,r)):r.isMeshPhongMaterial?(i(t,r),function(t,e){t.specular.value.copy(e.specular),t.shininess.value=Math.max(e.shininess,1e-4)}(t,r)):r.isMeshStandardMaterial?(i(t,r),function(t,i){t.metalness.value=i.metalness,i.metalnessMap&&(t.metalnessMap.value=i.metalnessMap,n(i.metalnessMap,t.metalnessMapTransform));t.roughness.value=i.roughness,i.roughnessMap&&(t.roughnessMap.value=i.roughnessMap,n(i.roughnessMap,t.roughnessMapTransform));const r=e.get(i).envMap;r&&(t.envMapIntensity.value=i.envMapIntensity)}(t,r),r.isMeshPhysicalMaterial&&function(t,e,i){t.ior.value=e.ior,e.sheen>0&&(t.sheenColor.value.copy(e.sheenColor).multiplyScalar(e.sheen),t.sheenRoughness.value=e.sheenRoughness,e.sheenColorMap&&(t.sheenColorMap.value=e.sheenColorMap,n(e.sheenColorMap,t.sheenColorMapTransform)),e.sheenRoughnessMap&&(t.sheenRoughnessMap.value=e.sheenRoughnessMap,n(e.sheenRoughnessMap,t.sheenRoughnessMapTransform)));e.clearcoat>0&&(t.clearcoat.value=e.clearcoat,t.clearcoatRoughness.value=e.clearcoatRoughness,e.clearcoatMap&&(t.clearcoatMap.value=e.clearcoatMap,n(e.clearcoatMap,t.clearcoatMapTransform)),e.clearcoatRoughnessMap&&(t.clearcoatRoughnessMap.value=e.clearcoatRoughnessMap,n(e.clearcoatRoughnessMap,t.clearcoatRoughnessMapTransform)),e.clearcoatNormalMap&&(t.clearcoatNormalMap.value=e.clearcoatNormalMap,n(e.clearcoatNormalMap,t.clearcoatNormalMapTransform),t.clearcoatNormalScale.value.copy(e.clearcoatNormalScale),e.side===d&&t.clearcoatNormalScale.value.negate()));e.iridescence>0&&(t.iridescence.value=e.iridescence,t.iridescenceIOR.value=e.iridescenceIOR,t.iridescenceThicknessMinimum.value=e.iridescenceThicknessRange[0],t.iridescenceThicknessMaximum.value=e.iridescenceThicknessRange[1],e.iridescenceMap&&(t.iridescenceMap.value=e.iridescenceMap,n(e.iridescenceMap,t.iridescenceMapTransform)),e.iridescenceThicknessMap&&(t.iridescenceThicknessMap.value=e.iridescenceThicknessMap,n(e.iridescenceThicknessMap,t.iridescenceThicknessMapTransform)));e.transmission>0&&(t.transmission.value=e.transmission,t.transmissionSamplerMap.value=i.texture,t.transmissionSamplerSize.value.set(i.width,i.height),e.transmissionMap&&(t.transmissionMap.value=e.transmissionMap,n(e.transmissionMap,t.transmissionMapTransform)),t.thickness.value=e.thickness,e.thicknessMap&&(t.thicknessMap.value=e.thicknessMap,n(e.thicknessMap,t.thicknessMapTransform)),t.attenuationDistance.value=e.attenuationDistance,t.attenuationColor.value.copy(e.attenuationColor));e.anisotropy>0&&(t.anisotropyVector.value.set(e.anisotropy*Math.cos(e.anisotropyRotation),e.anisotropy*Math.sin(e.anisotropyRotation)),e.anisotropyMap&&(t.anisotropyMap.value=e.anisotropyMap,n(e.anisotropyMap,t.anisotropyMapTransform)));t.specularIntensity.value=e.specularIntensity,t.specularColor.value.copy(e.specularColor),e.specularColorMap&&(t.specularColorMap.value=e.specularColorMap,n(e.specularColorMap,t.specularColorMapTransform));e.specularIntensityMap&&(t.specularIntensityMap.value=e.specularIntensityMap,n(e.specularIntensityMap,t.specularIntensityMapTransform))}(t,r,o)):r.isMeshMatcapMaterial?(i(t,r),function(t,e){e.matcap&&(t.matcap.value=e.matcap)}(t,r)):r.isMeshDepthMaterial?i(t,r):r.isMeshDistanceMaterial?(i(t,r),function(t,n){const i=e.get(n).light;t.referencePosition.value.setFromMatrixPosition(i.matrixWorld),t.nearDistance.value=i.shadow.camera.near,t.farDistance.value=i.shadow.camera.far}(t,r)):r.isMeshNormalMaterial?i(t,r):r.isLineBasicMaterial?(function(t,e){t.diffuse.value.copy(e.color),t.opacity.value=e.opacity,e.map&&(t.map.value=e.map,n(e.map,t.mapTransform))}(t,r),r.isLineDashedMaterial&&function(t,e){t.dashSize.value=e.dashSize,t.totalSize.value=e.dashSize+e.gapSize,t.scale.value=e.scale}(t,r)):r.isPointsMaterial?function(t,e,i,r){t.diffuse.value.copy(e.color),t.opacity.value=e.opacity,t.size.value=e.size*i,t.scale.value=.5*r,e.map&&(t.map.value=e.map,n(e.map,t.uvTransform));e.alphaMap&&(t.alphaMap.value=e.alphaMap,n(e.alphaMap,t.alphaMapTransform));e.alphaTest>0&&(t.alphaTest.value=e.alphaTest)}(t,r,s,a):r.isSpriteMaterial?function(t,e){t.diffuse.value.copy(e.color),t.opacity.value=e.opacity,t.rotation.value=e.rotation,e.map&&(t.map.value=e.map,n(e.map,t.mapTransform));e.alphaMap&&(t.alphaMap.value=e.alphaMap,n(e.alphaMap,t.alphaMapTransform));e.alphaTest>0&&(t.alphaTest.value=e.alphaTest)}(t,r):r.isShadowMaterial?(t.color.value.copy(r.color),t.opacity.value=r.opacity):r.isShaderMaterial&&(r.uniformsNeedUpdate=!1)}}}function Zl(t,e,n,i){let r={},s={},a=[];const o=n.isWebGL2?t.getParameter(t.MAX_UNIFORM_BUFFER_BINDINGS):0;function l(t,e,n,i){const r=t.value,s=e+"_"+n;if(void 0===i[s])return i[s]="number"==typeof r||"boolean"==typeof r?r:r.clone(),!0;{const t=i[s];if("number"==typeof r||"boolean"==typeof r){if(t!==r)return i[s]=r,!0}else if(!1===t.equals(r))return t.copy(r),!0}return!1}function c(t){const e={boundary:0,storage:0};return"number"==typeof t||"boolean"==typeof t?(e.boundary=4,e.storage=4):t.isVector2?(e.boundary=8,e.storage=8):t.isVector3||t.isColor?(e.boundary=16,e.storage=12):t.isVector4?(e.boundary=16,e.storage=16):t.isMatrix3?(e.boundary=48,e.storage=48):t.isMatrix4?(e.boundary=64,e.storage=64):t.isTexture?console.warn("THREE.WebGLRenderer: Texture samplers can not be part of an uniforms group."):console.warn("THREE.WebGLRenderer: Unsupported uniform value type.",t),e}function h(e){const n=e.target;n.removeEventListener("dispose",h);const i=a.indexOf(n.__bindingPointIndex);a.splice(i,1),t.deleteBuffer(r[n.id]),delete r[n.id],delete s[n.id]}return{bind:function(t,e){const n=e.program;i.uniformBlockBinding(t,n)},update:function(n,u){let d=r[n.id];void 0===d&&(!function(t){const e=t.uniforms;let n=0;const i=16;for(let t=0,r=e.length;t0&&(n+=i-r);t.__size=n,t.__cache={}}(n),d=function(e){const n=function(){for(let t=0;t0),u=!!n.morphAttributes.position,d=!!n.morphAttributes.normal,p=!!n.morphAttributes.color;let m=$;i.toneMapped&&(null!==T&&!0!==T.isXRRenderTarget||(m=M.toneMapping));const f=n.morphAttributes.position||n.morphAttributes.normal||n.morphAttributes.color,g=void 0!==f?f.length:0,_=et.get(i),x=v.state.lights;if(!0===k&&(!0===G||t!==A)){const e=t===A&&i.id===w;dt.setState(i,t,e)}let y=!1;i.version===_.__version?_.needsLights&&_.lightsStateVersion!==x.state.version||_.outputColorSpace!==o||r.isBatchedMesh&&!1===_.batching?y=!0:r.isBatchedMesh||!0!==_.batching?r.isInstancedMesh&&!1===_.instancing?y=!0:r.isInstancedMesh||!0!==_.instancing?r.isSkinnedMesh&&!1===_.skinning?y=!0:r.isSkinnedMesh||!0!==_.skinning?r.isInstancedMesh&&!0===_.instancingColor&&null===r.instanceColor||r.isInstancedMesh&&!1===_.instancingColor&&null!==r.instanceColor||_.envMap!==l||!0===i.fog&&_.fog!==s?y=!0:void 0===_.numClippingPlanes||_.numClippingPlanes===dt.numPlanes&&_.numIntersection===dt.numIntersection?(_.vertexAlphas!==c||_.vertexTangents!==h||_.morphTargets!==u||_.morphNormals!==d||_.morphColors!==p||_.toneMapping!==m||!0===K.isWebGL2&&_.morphTargetsCount!==g)&&(y=!0):y=!0:y=!0:y=!0:y=!0:(y=!0,_.__version=i.version);let S=_.currentProgram;!0===y&&(S=Kt(i,e,r));let b=!1,E=!1,R=!1;const C=S.getUniforms(),P=_.uniforms;Q.useProgram(S.program)&&(b=!0,E=!0,R=!0);i.id!==w&&(w=i.id,E=!0);if(b||A!==t){C.setValue(Mt,"projectionMatrix",t.projectionMatrix),C.setValue(Mt,"viewMatrix",t.matrixWorldInverse);const e=C.map.cameraPosition;void 0!==e&&e.setValue(Mt,q.setFromMatrixPosition(t.matrixWorld)),K.logarithmicDepthBuffer&&C.setValue(Mt,"logDepthBufFC",2/(Math.log(t.far+1)/Math.LN2)),(i.isMeshPhongMaterial||i.isMeshToonMaterial||i.isMeshLambertMaterial||i.isMeshBasicMaterial||i.isMeshStandardMaterial||i.isShaderMaterial)&&C.setValue(Mt,"isOrthographic",!0===t.isOrthographicCamera),A!==t&&(A=t,E=!0,R=!0)}if(r.isSkinnedMesh){C.setOptional(Mt,r,"bindMatrix"),C.setOptional(Mt,r,"bindMatrixInverse");const t=r.skeleton;t&&(K.floatVertexTextures?(null===t.boneTexture&&t.computeBoneTexture(),C.setValue(Mt,"boneTexture",t.boneTexture,nt)):console.warn("THREE.WebGLRenderer: SkinnedMesh can only be used with WebGL 2. With WebGL 1 OES_texture_float and vertex textures support is required."))}r.isBatchedMesh&&(C.setOptional(Mt,r,"batchingTexture"),C.setValue(Mt,"batchingTexture",r._matricesTexture,nt));const L=n.morphAttributes;(void 0!==L.position||void 0!==L.normal||void 0!==L.color&&!0===K.isWebGL2)&&ft.update(r,n,S);(E||_.receiveShadow!==r.receiveShadow)&&(_.receiveShadow=r.receiveShadow,C.setValue(Mt,"receiveShadow",r.receiveShadow));i.isMeshGouraudMaterial&&null!==i.envMap&&(P.envMap.value=l,P.flipEnvMap.value=l.isCubeTexture&&!1===l.isRenderTargetTexture?-1:1);E&&(C.setValue(Mt,"toneMappingExposure",M.toneMappingExposure),_.needsLights&&(U=R,(I=P).ambientLightColor.needsUpdate=U,I.lightProbe.needsUpdate=U,I.directionalLights.needsUpdate=U,I.directionalLightShadows.needsUpdate=U,I.pointLights.needsUpdate=U,I.pointLightShadows.needsUpdate=U,I.spotLights.needsUpdate=U,I.spotLightShadows.needsUpdate=U,I.rectAreaLights.needsUpdate=U,I.hemisphereLights.needsUpdate=U),s&&!0===i.fog&&ct.refreshFogUniforms(P,s),ct.refreshMaterialUniforms(P,i,D,N,W),il.upload(Mt,$t(_),P,nt));var I,U;i.isShaderMaterial&&!0===i.uniformsNeedUpdate&&(il.upload(Mt,$t(_),P,nt),i.uniformsNeedUpdate=!1);i.isSpriteMaterial&&C.setValue(Mt,"center",r.center);if(C.setValue(Mt,"modelViewMatrix",r.modelViewMatrix),C.setValue(Mt,"normalMatrix",r.normalMatrix),C.setValue(Mt,"modelMatrix",r.matrixWorld),i.isShaderMaterial||i.isRawShaderMaterial){const t=i.uniformsGroups;for(let e=0,n=t.length;e{function n(){i.forEach((function(t){et.get(t).currentProgram.isReady()&&i.delete(t)})),0!==i.size?setTimeout(n,10):e(t)}null!==J.get("KHR_parallel_shader_compile")?n():setTimeout(n,10)}))};let Ht=null;function Vt(){Gt.stop()}function kt(){Gt.start()}const Gt=new da;function Xt(t,e,n,i){if(!1===t.visible)return;if(t.layers.test(e.layers))if(t.isGroup)n=t.renderOrder;else if(t.isLOD)!0===t.autoUpdate&&t.update(e);else if(t.isLight)v.pushLight(t),t.castShadow&&v.pushShadow(t);else if(t.isSprite){if(!t.frustumCulled||V.intersectsSprite(t)){i&&q.setFromMatrixPosition(t.matrixWorld).applyMatrix4(X);const e=ot.update(t),r=t.material;r.visible&&_.push(t,e,r,n,q.z,null)}}else if((t.isMesh||t.isLine||t.isPoints)&&(!t.frustumCulled||V.intersectsObject(t))){const e=ot.update(t),r=t.material;if(i&&(void 0!==t.boundingSphere?(null===t.boundingSphere&&t.computeBoundingSphere(),q.copy(t.boundingSphere.center)):(null===e.boundingSphere&&e.computeBoundingSphere(),q.copy(e.boundingSphere.center)),q.applyMatrix4(t.matrixWorld).applyMatrix4(X)),Array.isArray(r)){const i=e.groups;for(let s=0,a=i.length;s0&&function(t,e,n,i){const r=!0===n.isScene?n.overrideMaterial:null;if(null!==r)return;const s=K.isWebGL2;null===W&&(W=new wi(1,1,{generateMipmaps:!0,type:J.has("EXT_color_buffer_half_float")?Ut:wt,minFilter:Et,samples:s?4:0}));M.getDrawingBufferSize(j),s?W.setSize(j.x,j.y):W.setSize(Jn(j.x),Jn(j.y));const a=M.getRenderTarget();M.setRenderTarget(W),M.getClearColor(L),I=M.getClearAlpha(),I<1&&M.setClearColor(16777215,.5);M.clear();const o=M.toneMapping;M.toneMapping=$,Zt(t,n,i),nt.updateMultisampleRenderTarget(W),nt.updateRenderTargetMipmap(W);let l=!1;for(let t=0,r=e.length;t0&&Zt(r,e,n),s.length>0&&Zt(s,e,n),a.length>0&&Zt(a,e,n),Q.buffers.depth.setTest(!0),Q.buffers.depth.setMask(!0),Q.buffers.color.setMask(!0),Q.setPolygonOffset(!1)}function Zt(t,e,n){const i=!0===e.isScene?e.overrideMaterial:null;for(let r=0,s=t.length;r0?y[y.length-1]:null,x.pop(),_=x.length>0?x[x.length-1]:null},this.getActiveCubeFace=function(){return b},this.getActiveMipmapLevel=function(){return E},this.getRenderTarget=function(){return T},this.setRenderTargetTextures=function(t,e,n){et.get(t.texture).__webglTexture=e,et.get(t.depthTexture).__webglTexture=n;const i=et.get(t);i.__hasExternalTextures=!0,i.__hasExternalTextures&&(i.__autoAllocateDepthBuffer=void 0===n,i.__autoAllocateDepthBuffer||!0===J.has("WEBGL_multisampled_render_to_texture")&&(console.warn("THREE.WebGLRenderer: Render-to-texture extension was disabled because an external texture was provided"),i.__useRenderToTexture=!1))},this.setRenderTargetFramebuffer=function(t,e){const n=et.get(t);n.__webglFramebuffer=e,n.__useDefaultFramebuffer=void 0===e},this.setRenderTarget=function(t,e=0,n=0){T=t,b=e,E=n;let i=!0,r=null,s=!1,a=!1;if(t){const o=et.get(t);void 0!==o.__useDefaultFramebuffer?(Q.bindFramebuffer(Mt.FRAMEBUFFER,null),i=!1):void 0===o.__webglFramebuffer?nt.setupRenderTarget(t):o.__hasExternalTextures&&nt.rebindTextures(t,et.get(t.texture).__webglTexture,et.get(t.depthTexture).__webglTexture);const l=t.texture;(l.isData3DTexture||l.isDataArrayTexture||l.isCompressedArrayTexture)&&(a=!0);const c=et.get(t).__webglFramebuffer;t.isWebGLCubeRenderTarget?(r=Array.isArray(c[e])?c[e][n]:c[e],s=!0):r=K.isWebGL2&&t.samples>0&&!1===nt.useMultisampledRTT(t)?et.get(t).__webglMultisampledFramebuffer:Array.isArray(c)?c[n]:c,R.copy(t.viewport),C.copy(t.scissor),P=t.scissorTest}else R.copy(B).multiplyScalar(D).floor(),C.copy(z).multiplyScalar(D).floor(),P=H;if(Q.bindFramebuffer(Mt.FRAMEBUFFER,r)&&K.drawBuffers&&i&&Q.drawBuffers(t,r),Q.viewport(R),Q.scissor(C),Q.setScissorTest(P),s){const i=et.get(t.texture);Mt.framebufferTexture2D(Mt.FRAMEBUFFER,Mt.COLOR_ATTACHMENT0,Mt.TEXTURE_CUBE_MAP_POSITIVE_X+e,i.__webglTexture,n)}else if(a){const i=et.get(t.texture),r=e||0;Mt.framebufferTextureLayer(Mt.FRAMEBUFFER,Mt.COLOR_ATTACHMENT0,i.__webglTexture,n||0,r)}w=-1},this.readRenderTargetPixels=function(t,e,n,i,r,s,a){if(!t||!t.isWebGLRenderTarget)return void console.error("THREE.WebGLRenderer.readRenderTargetPixels: renderTarget is not THREE.WebGLRenderTarget.");let o=et.get(t).__webglFramebuffer;if(t.isWebGLCubeRenderTarget&&void 0!==a&&(o=o[a]),o){Q.bindFramebuffer(Mt.FRAMEBUFFER,o);try{const a=t.texture,o=a.format,l=a.type;if(o!==Bt&&vt.convert(o)!==Mt.getParameter(Mt.IMPLEMENTATION_COLOR_READ_FORMAT))return void console.error("THREE.WebGLRenderer.readRenderTargetPixels: renderTarget is not in RGBA or implementation defined format.");const c=l===Ut&&(J.has("EXT_color_buffer_half_float")||K.isWebGL2&&J.has("EXT_color_buffer_float"));if(!(l===wt||vt.convert(l)===Mt.getParameter(Mt.IMPLEMENTATION_COLOR_READ_TYPE)||l===It&&(K.isWebGL2||J.has("OES_texture_float")||J.has("WEBGL_color_buffer_float"))||c))return void console.error("THREE.WebGLRenderer.readRenderTargetPixels: renderTarget is not in UnsignedByteType or implementation defined type.");e>=0&&e<=t.width-i&&n>=0&&n<=t.height-r&&Mt.readPixels(e,n,i,r,vt.convert(o),vt.convert(l),s)}finally{const t=null!==T?et.get(T).__webglFramebuffer:null;Q.bindFramebuffer(Mt.FRAMEBUFFER,t)}}},this.copyFramebufferToTexture=function(t,e,n=0){const i=Math.pow(2,-n),r=Math.floor(e.image.width*i),s=Math.floor(e.image.height*i);nt.setTexture2D(e,0),Mt.copyTexSubImage2D(Mt.TEXTURE_2D,n,0,0,t.x,t.y,r,s),Q.unbindTexture()},this.copyTextureToTexture=function(t,e,n,i=0){const r=e.image.width,s=e.image.height,a=vt.convert(n.format),o=vt.convert(n.type);nt.setTexture2D(n,0),Mt.pixelStorei(Mt.UNPACK_FLIP_Y_WEBGL,n.flipY),Mt.pixelStorei(Mt.UNPACK_PREMULTIPLY_ALPHA_WEBGL,n.premultiplyAlpha),Mt.pixelStorei(Mt.UNPACK_ALIGNMENT,n.unpackAlignment),e.isDataTexture?Mt.texSubImage2D(Mt.TEXTURE_2D,i,t.x,t.y,r,s,a,o,e.image.data):e.isCompressedTexture?Mt.compressedTexSubImage2D(Mt.TEXTURE_2D,i,t.x,t.y,e.mipmaps[0].width,e.mipmaps[0].height,a,e.mipmaps[0].data):Mt.texSubImage2D(Mt.TEXTURE_2D,i,t.x,t.y,a,o,e.image),0===i&&n.generateMipmaps&&Mt.generateMipmap(Mt.TEXTURE_2D),Q.unbindTexture()},this.copyTextureToTexture3D=function(t,e,n,i,r=0){if(M.isWebGL1Renderer)return void console.warn("THREE.WebGLRenderer.copyTextureToTexture3D: can only be used with WebGL2.");const s=t.max.x-t.min.x+1,a=t.max.y-t.min.y+1,o=t.max.z-t.min.z+1,l=vt.convert(i.format),c=vt.convert(i.type);let h;if(i.isData3DTexture)nt.setTexture3D(i,0),h=Mt.TEXTURE_3D;else{if(!i.isDataArrayTexture&&!i.isCompressedArrayTexture)return void console.warn("THREE.WebGLRenderer.copyTextureToTexture3D: only supports THREE.DataTexture3D and THREE.DataTexture2DArray.");nt.setTexture2DArray(i,0),h=Mt.TEXTURE_2D_ARRAY}Mt.pixelStorei(Mt.UNPACK_FLIP_Y_WEBGL,i.flipY),Mt.pixelStorei(Mt.UNPACK_PREMULTIPLY_ALPHA_WEBGL,i.premultiplyAlpha),Mt.pixelStorei(Mt.UNPACK_ALIGNMENT,i.unpackAlignment);const u=Mt.getParameter(Mt.UNPACK_ROW_LENGTH),d=Mt.getParameter(Mt.UNPACK_IMAGE_HEIGHT),p=Mt.getParameter(Mt.UNPACK_SKIP_PIXELS),m=Mt.getParameter(Mt.UNPACK_SKIP_ROWS),f=Mt.getParameter(Mt.UNPACK_SKIP_IMAGES),g=n.isCompressedTexture?n.mipmaps[r]:n.image;Mt.pixelStorei(Mt.UNPACK_ROW_LENGTH,g.width),Mt.pixelStorei(Mt.UNPACK_IMAGE_HEIGHT,g.height),Mt.pixelStorei(Mt.UNPACK_SKIP_PIXELS,t.min.x),Mt.pixelStorei(Mt.UNPACK_SKIP_ROWS,t.min.y),Mt.pixelStorei(Mt.UNPACK_SKIP_IMAGES,t.min.z),n.isDataTexture||n.isData3DTexture?Mt.texSubImage3D(h,r,e.x,e.y,e.z,s,a,o,l,c,g.data):n.isCompressedArrayTexture?(console.warn("THREE.WebGLRenderer.copyTextureToTexture3D: untested support for compressed srcTexture."),Mt.compressedTexSubImage3D(h,r,e.x,e.y,e.z,s,a,o,l,g.data)):Mt.texSubImage3D(h,r,e.x,e.y,e.z,s,a,o,l,c,g),Mt.pixelStorei(Mt.UNPACK_ROW_LENGTH,u),Mt.pixelStorei(Mt.UNPACK_IMAGE_HEIGHT,d),Mt.pixelStorei(Mt.UNPACK_SKIP_PIXELS,p),Mt.pixelStorei(Mt.UNPACK_SKIP_ROWS,m),Mt.pixelStorei(Mt.UNPACK_SKIP_IMAGES,f),0===r&&i.generateMipmaps&&Mt.generateMipmap(h),Q.unbindTexture()},this.initTexture=function(t){t.isCubeTexture?nt.setTextureCube(t,0):t.isData3DTexture?nt.setTexture3D(t,0):t.isDataArrayTexture||t.isCompressedArrayTexture?nt.setTexture2DArray(t,0):nt.setTexture2D(t,0),Q.unbindTexture()},this.resetState=function(){b=0,E=0,T=null,Q.reset(),xt.reset()},"undefined"!=typeof __THREE_DEVTOOLS__&&__THREE_DEVTOOLS__.dispatchEvent(new CustomEvent("observe",{detail:this}))}get coordinateSystem(){return Bn}get outputColorSpace(){return this._outputColorSpace}set outputColorSpace(t){this._outputColorSpace=t;const e=this.getContext();e.drawingBufferColorSpace=t===Ze?"display-p3":"srgb",e.unpackColorSpace=mi.workingColorSpace===Je?"display-p3":"srgb"}get outputEncoding(){return console.warn("THREE.WebGLRenderer: Property .outputEncoding has been removed. Use .outputColorSpace instead."),this.outputColorSpace===qe?Ve:He}set outputEncoding(t){console.warn("THREE.WebGLRenderer: Property .outputEncoding has been removed. Use .outputColorSpace instead."),this.outputColorSpace=t===Ve?qe:Ye}get useLegacyLights(){return console.warn("THREE.WebGLRenderer: The property .useLegacyLights has been deprecated. Migrate your lighting according to the following guide: https://discourse.threejs.org/t/updates-to-lighting-in-three-js-r155/53733."),this._useLegacyLights}set useLegacyLights(t){console.warn("THREE.WebGLRenderer: The property .useLegacyLights has been deprecated. Migrate your lighting according to the following guide: https://discourse.threejs.org/t/updates-to-lighting-in-three-js-r155/53733."),this._useLegacyLights=t}}class Kl extends Jl{}Kl.prototype.isWebGL1Renderer=!0;class $l{constructor(t,e=25e-5){this.isFogExp2=!0,this.name="",this.color=new Kr(t),this.density=e}clone(){return new $l(this.color,this.density)}toJSON(){return{type:"FogExp2",name:this.name,color:this.color.getHex(),density:this.density}}}class Ql{constructor(t,e=1,n=1e3){this.isFog=!0,this.name="",this.color=new Kr(t),this.near=e,this.far=n}clone(){return new Ql(this.color,this.near,this.far)}toJSON(){return{type:"Fog",name:this.name,color:this.color.getHex(),near:this.near,far:this.far}}}class tc extends Nr{constructor(){super(),this.isScene=!0,this.type="Scene",this.background=null,this.environment=null,this.fog=null,this.backgroundBlurriness=0,this.backgroundIntensity=1,this.overrideMaterial=null,"undefined"!=typeof __THREE_DEVTOOLS__&&__THREE_DEVTOOLS__.dispatchEvent(new CustomEvent("observe",{detail:this}))}copy(t,e){return super.copy(t,e),null!==t.background&&(this.background=t.background.clone()),null!==t.environment&&(this.environment=t.environment.clone()),null!==t.fog&&(this.fog=t.fog.clone()),this.backgroundBlurriness=t.backgroundBlurriness,this.backgroundIntensity=t.backgroundIntensity,null!==t.overrideMaterial&&(this.overrideMaterial=t.overrideMaterial.clone()),this.matrixAutoUpdate=t.matrixAutoUpdate,this}toJSON(t){const e=super.toJSON(t);return null!==this.fog&&(e.object.fog=this.fog.toJSON()),this.backgroundBlurriness>0&&(e.object.backgroundBlurriness=this.backgroundBlurriness),1!==this.backgroundIntensity&&(e.object.backgroundIntensity=this.backgroundIntensity),e}}class ec{constructor(t,e){this.isInterleavedBuffer=!0,this.array=t,this.stride=e,this.count=void 0!==t?t.length/e:0,this.usage=wn,this._updateRange={offset:0,count:-1},this.updateRanges=[],this.version=0,this.uuid=Xn()}onUploadCallback(){}set needsUpdate(t){!0===t&&this.version++}get updateRange(){return console.warn("THREE.InterleavedBuffer: updateRange() is deprecated and will be removed in r169. Use addUpdateRange() instead."),this._updateRange}setUsage(t){return this.usage=t,this}addUpdateRange(t,e){this.updateRanges.push({start:t,count:e})}clearUpdateRanges(){this.updateRanges.length=0}copy(t){return this.array=new t.array.constructor(t.array),this.count=t.count,this.stride=t.stride,this.usage=t.usage,this}copyAt(t,e,n){t*=this.stride,n*=e.stride;for(let i=0,r=this.stride;it.far||e.push({distance:o,point:ac.clone(),uv:jr.getInterpolation(ac,dc,pc,mc,fc,gc,_c,new ti),face:null,object:this})}copy(t,e){return super.copy(t,e),void 0!==t.center&&this.center.copy(t.center),this.material=t.material,this}}function xc(t,e,n,i,r,s){cc.subVectors(t,n).addScalar(.5).multiply(i),void 0!==r?(hc.x=s*cc.x-r*cc.y,hc.y=r*cc.x+s*cc.y):hc.copy(cc),t.copy(e),t.x+=hc.x,t.y+=hc.y,t.applyMatrix4(uc)}const yc=new Ui,Mc=new Ui;class Sc extends Nr{constructor(){super(),this._currentLevel=0,this.type="LOD",Object.defineProperties(this,{levels:{enumerable:!0,value:[]},isLOD:{value:!0}}),this.autoUpdate=!0}copy(t){super.copy(t,!1);const e=t.levels;for(let t=0,n=e.length;t0){let n,i;for(n=1,i=e.length;n0){yc.setFromMatrixPosition(this.matrixWorld);const n=t.ray.origin.distanceTo(yc);this.getObjectForDistance(n).raycast(t,e)}}update(t){const e=this.levels;if(e.length>1){yc.setFromMatrixPosition(t.matrixWorld),Mc.setFromMatrixPosition(this.matrixWorld);const n=yc.distanceTo(Mc)/t.zoom;let i,r;for(e[0].object.visible=!0,i=1,r=e.length;i=t))break;e[i-1].object.visible=!1,e[i].object.visible=!0}for(this._currentLevel=i-1;i=n.length&&n.push({start:-1,count:-1,z:-1});const r=n[this.index];i.push(r),this.index++,r.start=t.start,r.count=t.count,r.z=e}reset(){this.list.length=0,this.index=0}}const Jc="batchId",Kc=new cr,$c=new cr,Qc=new cr,th=new cr,eh=new ua,nh=new Oi,ih=new tr,rh=new Ui,sh=new Zc,ah=new Xs,oh=[];function lh(t,e,n=0){const i=e.itemSize;if(t.isInterleavedBufferAttribute||t.array.constructor!==e.array.constructor){const r=t.count;for(let s=0;s65536?new Uint32Array(r):new Uint16Array(r);e.setIndex(new cs(t,1))}const s=i>65536?new Uint32Array(n):new Uint16Array(n);e.setAttribute(Jc,new cs(s,1)),this._geometryInitialized=!0}}_validateGeometry(t){if(t.getAttribute(Jc))throw new Error(`BatchedMesh: Geometry cannot use attribute "${Jc}"`);const e=this.geometry;if(Boolean(t.getIndex())!==Boolean(e.getIndex()))throw new Error('BatchedMesh: All geometries must consistently have "index".');for(const n in e.attributes){if(n===Jc)continue;if(!t.hasAttribute(n))throw new Error(`BatchedMesh: Added geometry missing "${n}". All geometries must have consistent attributes.`);const i=t.getAttribute(n),r=e.getAttribute(n);if(i.itemSize!==r.itemSize||i.normalized!==r.normalized)throw new Error("BatchedMesh: All attributes must have a consistent itemSize and normalized value.")}}setCustomSort(t){return this.customSort=t,this}computeBoundingBox(){null===this.boundingBox&&(this.boundingBox=new Oi);const t=this._geometryCount,e=this.boundingBox,n=this._active;e.makeEmpty();for(let i=0;i=this._maxGeometryCount)throw new Error("BatchedMesh: Maximum geometry count reached.");const i={vertexStart:-1,vertexCount:-1,indexStart:-1,indexCount:-1};let r=null;const s=this._reservedRanges,a=this._drawRanges,o=this._bounds;0!==this._geometryCount&&(r=s[s.length-1]),i.vertexCount=-1===e?t.getAttribute("position").count:e,i.vertexStart=null===r?0:r.vertexStart+r.vertexCount;const l=t.getIndex(),c=null!==l;if(c&&(i.indexCount=-1===n?l.count:n,i.indexStart=null===r?0:r.indexStart+r.indexCount),-1!==i.indexStart&&i.indexStart+i.indexCount>this._maxIndexCount||i.vertexStart+i.vertexCount>this._maxVertexCount)throw new Error("BatchedMesh: Reserved space request exceeds the maximum buffer size.");const h=this._visibility,u=this._active,d=this._matricesTexture,p=this._matricesTexture.image.data;h.push(!0),u.push(!0);const m=this._geometryCount;this._geometryCount++,Qc.toArray(p,16*m),d.needsUpdate=!0,s.push(i),a.push({start:c?i.indexStart:i.vertexStart,count:-1}),o.push({boxInitialized:!1,box:new Oi,sphereInitialized:!1,sphere:new tr});const f=this.geometry.getAttribute(Jc);for(let t=0;t=this._geometryCount)throw new Error("BatchedMesh: Maximum geometry count reached.");this._validateGeometry(e);const n=this.geometry,i=null!==n.getIndex(),r=n.getIndex(),s=e.getIndex(),a=this._reservedRanges[t];if(i&&s.count>a.indexCount||e.attributes.position.count>a.vertexCount)throw new Error("BatchedMesh: Reserved space not large enough for provided geometry.");const o=a.vertexStart,l=a.vertexCount;for(const t in n.attributes){if(t===Jc)continue;const i=e.getAttribute(t),r=n.getAttribute(t);lh(i,r,o);const s=i.itemSize;for(let t=i.count,e=l;t=e.length||!1===e[t]||(e[t]=!1,this._visibilityChanged=!0),this}getBoundingBoxAt(t,e){if(!1===this._active[t])return this;const n=this._bounds[t],i=n.box,r=this.geometry;if(!1===n.boxInitialized){i.makeEmpty();const e=r.index,s=r.attributes.position,a=this._drawRanges[t];for(let t=a.start,n=a.start+a.count;t=this._geometryCount||!1===n[t]||(e.toArray(r,16*t),i.needsUpdate=!0),this}getMatrixAt(t,e){const n=this._active,i=this._matricesTexture.image.data;return t>=this._geometryCount||!1===n[t]?null:e.fromArray(i,16*t)}setVisibleAt(t,e){const n=this._visibility,i=this._active;return t>=this._geometryCount||!1===i[t]||n[t]===e||(n[t]=e,this._visibilityChanged=!0),this}getVisibleAt(t){const e=this._visibility,n=this._active;return!(t>=this._geometryCount||!1===n[t])&&e[t]}raycast(t,e){const n=this._visibility,i=this._active,r=this._drawRanges,s=this._geometryCount,a=this.matrixWorld,o=this.geometry;ah.material=this.material,ah.geometry.index=o.index,ah.geometry.attributes=o.attributes,null===ah.geometry.boundingBox&&(ah.geometry.boundingBox=new Oi),null===ah.geometry.boundingSphere&&(ah.geometry.boundingSphere=new tr);for(let o=0;o({...t}))),this._reservedRanges=t._reservedRanges.map((t=>({...t}))),this._visibility=t._visibility.slice(),this._active=t._active.slice(),this._bounds=t._bounds.map((t=>({boxInitialized:t.boxInitialized,box:t.box.clone(),sphereInitialized:t.sphereInitialized,sphere:t.sphere.clone()}))),this._maxGeometryCount=t._maxGeometryCount,this._maxVertexCount=t._maxVertexCount,this._maxIndexCount=t._maxIndexCount,this._geometryInitialized=t._geometryInitialized,this._geometryCount=t._geometryCount,this._multiDrawCounts=t._multiDrawCounts.slice(),this._multiDrawStarts=t._multiDrawStarts.slice(),this._matricesTexture=t._matricesTexture.clone(),this._matricesTexture.image.data=this._matricesTexture.image.slice(),this}dispose(){return this.geometry.dispose(),this._matricesTexture.dispose(),this._matricesTexture=null,this}onBeforeRender(t,e,n,i,r){if(!this._visibilityChanged&&!this.perObjectFrustumCulled&&!this.sortObjects)return;const s=i.getIndex(),a=null===s?1:s.array.BYTES_PER_ELEMENT,o=this._visibility,l=this._multiDrawStarts,c=this._multiDrawCounts,h=this._drawRanges,u=this.perObjectFrustumCulled;u&&(th.multiplyMatrices(n.projectionMatrix,n.matrixWorldInverse).multiply(this.matrixWorld),eh.setFromProjectionMatrix(th,t.isWebGPURenderer?zn:Bn));let d=0;if(this.sortObjects){$c.copy(this.matrixWorld).invert(),rh.setFromMatrixPosition(n.matrixWorld).applyMatrix4($c);for(let t=0,e=o.length;to)continue;u.applyMatrix4(this.matrixWorld);const s=t.ray.origin.distanceTo(u);st.far||e.push({distance:s,point:h.clone().applyMatrix4(this.matrixWorld),index:n,face:null,faceIndex:null,object:this})}}else{for(let n=Math.max(0,s.start),i=Math.min(m.count,s.start+s.count)-1;no)continue;u.applyMatrix4(this.matrixWorld);const i=t.ray.origin.distanceTo(u);it.far||e.push({distance:i,point:h.clone().applyMatrix4(this.matrixWorld),index:n,face:null,faceIndex:null,object:this})}}}updateMorphTargets(){const t=this.geometry.morphAttributes,e=Object.keys(t);if(e.length>0){const n=t[e[0]];if(void 0!==n){this.morphTargetInfluences=[],this.morphTargetDictionary={};for(let t=0,e=n.length;t0){const n=t[e[0]];if(void 0!==n){this.morphTargetInfluences=[],this.morphTargetDictionary={};for(let t=0,e=n.length;tr.far)return;s.push({distance:l,distanceToRay:Math.sqrt(o),point:n,index:e,face:null,object:a})}}class Rh extends bi{constructor(t,e,n,i,r,s,a,o,l){super(t,e,n,i,r,s,a,o,l),this.isVideoTexture=!0,this.minFilter=void 0!==s?s:Mt,this.magFilter=void 0!==r?r:Mt,this.generateMipmaps=!1;const c=this;"requestVideoFrameCallback"in t&&t.requestVideoFrameCallback((function e(){c.needsUpdate=!0,t.requestVideoFrameCallback(e)}))}clone(){return new this.constructor(this.image).copy(this)}update(){const t=this.image;!1==="requestVideoFrameCallback"in t&&t.readyState>=t.HAVE_CURRENT_DATA&&(this.needsUpdate=!0)}}class Ch extends bi{constructor(t,e){super({width:t,height:e}),this.isFramebufferTexture=!0,this.magFilter=gt,this.minFilter=gt,this.generateMipmaps=!1,this.needsUpdate=!0}}class Ph extends bi{constructor(t,e,n,i,r,s,a,o,l,c,h,u){super(null,s,a,o,l,c,i,r,h,u),this.isCompressedTexture=!0,this.image={width:e,height:n},this.mipmaps=t,this.flipY=!1,this.generateMipmaps=!1}}class Lh extends Ph{constructor(t,e,n,i,r,s){super(t,e,n,r,s),this.isCompressedArrayTexture=!0,this.image.depth=i,this.wrapR=mt}}class Ih extends Ph{constructor(t,e,n){super(void 0,t[0].width,t[0].height,e,n,lt),this.isCompressedCubeTexture=!0,this.isCubeTexture=!0,this.image=t}}class Uh extends bi{constructor(t,e,n,i,r,s,a,o,l){super(t,e,n,i,r,s,a,o,l),this.isCanvasTexture=!0,this.needsUpdate=!0}}class Nh{constructor(){this.type="Curve",this.arcLengthDivisions=200}getPoint(){return console.warn("THREE.Curve: .getPoint() not implemented."),null}getPointAt(t,e){const n=this.getUtoTmapping(t);return this.getPoint(n,e)}getPoints(t=5){const e=[];for(let n=0;n<=t;n++)e.push(this.getPoint(n/t));return e}getSpacedPoints(t=5){const e=[];for(let n=0;n<=t;n++)e.push(this.getPointAt(n/t));return e}getLength(){const t=this.getLengths();return t[t.length-1]}getLengths(t=this.arcLengthDivisions){if(this.cacheArcLengths&&this.cacheArcLengths.length===t+1&&!this.needsUpdate)return this.cacheArcLengths;this.needsUpdate=!1;const e=[];let n,i=this.getPoint(0),r=0;e.push(0);for(let s=1;s<=t;s++)n=this.getPoint(s/t),r+=n.distanceTo(i),e.push(r),i=n;return this.cacheArcLengths=e,e}updateArcLengths(){this.needsUpdate=!0,this.getLengths()}getUtoTmapping(t,e){const n=this.getLengths();let i=0;const r=n.length;let s;s=e||t*n[r-1];let a,o=0,l=r-1;for(;o<=l;)if(i=Math.floor(o+(l-o)/2),a=n[i]-s,a<0)o=i+1;else{if(!(a>0)){l=i;break}l=i-1}if(i=l,n[i]===s)return i/(r-1);const c=n[i];return(i+(s-c)/(n[i+1]-c))/(r-1)}getTangent(t,e){const n=1e-4;let i=t-n,r=t+n;i<0&&(i=0),r>1&&(r=1);const s=this.getPoint(i),a=this.getPoint(r),o=e||(s.isVector2?new ti:new Ui);return o.copy(a).sub(s).normalize(),o}getTangentAt(t,e){const n=this.getUtoTmapping(t);return this.getTangent(n,e)}computeFrenetFrames(t,e){const n=new Ui,i=[],r=[],s=[],a=new Ui,o=new cr;for(let e=0;e<=t;e++){const n=e/t;i[e]=this.getTangentAt(n,new Ui)}r[0]=new Ui,s[0]=new Ui;let l=Number.MAX_VALUE;const c=Math.abs(i[0].x),h=Math.abs(i[0].y),u=Math.abs(i[0].z);c<=l&&(l=c,n.set(1,0,0)),h<=l&&(l=h,n.set(0,1,0)),u<=l&&n.set(0,0,1),a.crossVectors(i[0],n).normalize(),r[0].crossVectors(i[0],a),s[0].crossVectors(i[0],r[0]);for(let e=1;e<=t;e++){if(r[e]=r[e-1].clone(),s[e]=s[e-1].clone(),a.crossVectors(i[e-1],i[e]),a.length()>Number.EPSILON){a.normalize();const t=Math.acos(jn(i[e-1].dot(i[e]),-1,1));r[e].applyMatrix4(o.makeRotationAxis(a,t))}s[e].crossVectors(i[e],r[e])}if(!0===e){let e=Math.acos(jn(r[0].dot(r[t]),-1,1));e/=t,i[0].dot(a.crossVectors(r[0],r[t]))>0&&(e=-e);for(let n=1;n<=t;n++)r[n].applyMatrix4(o.makeRotationAxis(i[n],e*n)),s[n].crossVectors(i[n],r[n])}return{tangents:i,normals:r,binormals:s}}clone(){return(new this.constructor).copy(this)}copy(t){return this.arcLengthDivisions=t.arcLengthDivisions,this}toJSON(){const t={metadata:{version:4.6,type:"Curve",generator:"Curve.toJSON"}};return t.arcLengthDivisions=this.arcLengthDivisions,t.type=this.type,t}fromJSON(t){return this.arcLengthDivisions=t.arcLengthDivisions,this}}class Dh extends Nh{constructor(t=0,e=0,n=1,i=1,r=0,s=2*Math.PI,a=!1,o=0){super(),this.isEllipseCurve=!0,this.type="EllipseCurve",this.aX=t,this.aY=e,this.xRadius=n,this.yRadius=i,this.aStartAngle=r,this.aEndAngle=s,this.aClockwise=a,this.aRotation=o}getPoint(t,e){const n=e||new ti,i=2*Math.PI;let r=this.aEndAngle-this.aStartAngle;const s=Math.abs(r)i;)r-=i;r0?0:(Math.floor(Math.abs(l)/r)+1)*r:0===c&&l===r-1&&(l=r-2,c=1),this.closed||l>0?a=i[(l-1)%r]:(Bh.subVectors(i[0],i[1]).add(i[0]),a=Bh);const h=i[l%r],u=i[(l+1)%r];if(this.closed||l+2i.length-2?i.length-1:s+1],h=i[s>i.length-3?i.length-1:s+2];return n.set(Gh(a,o.x,l.x,c.x,h.x),Gh(a,o.y,l.y,c.y,h.y)),n}copy(t){super.copy(t),this.points=[];for(let e=0,n=t.points.length;e=n){const t=i[r]-n,s=this.curves[r],a=s.getLength(),o=0===a?0:1-t/a;return s.getPointAt(o,e)}r++}return null}getLength(){const t=this.getCurveLengths();return t[t.length-1]}updateArcLengths(){this.needsUpdate=!0,this.cacheLengths=null,this.getCurveLengths()}getCurveLengths(){if(this.cacheLengths&&this.cacheLengths.length===this.curves.length)return this.cacheLengths;const t=[];let e=0;for(let n=0,i=this.curves.length;n1&&!e[e.length-1].equals(e[0])&&e.push(e[0]),e}copy(t){super.copy(t),this.curves=[];for(let e=0,n=t.curves.length;e0){const t=l.getPoint(0);t.equals(this.currentPoint)||this.lineTo(t.x,t.y)}this.curves.push(l);const c=l.getPoint(1);return this.currentPoint.copy(c),this}copy(t){return super.copy(t),this.currentPoint.copy(t.currentPoint),this}toJSON(){const t=super.toJSON();return t.currentPoint=this.currentPoint.toArray(),t}fromJSON(t){return super.fromJSON(t),this.currentPoint.fromArray(t.currentPoint),this}}class nu extends As{constructor(t=[new ti(0,-.5),new ti(.5,0),new ti(0,.5)],e=12,n=0,i=2*Math.PI){super(),this.type="LatheGeometry",this.parameters={points:t,segments:e,phiStart:n,phiLength:i},e=Math.floor(e),i=jn(i,0,2*Math.PI);const r=[],s=[],a=[],o=[],l=[],c=1/e,h=new Ui,u=new ti,d=new Ui,p=new Ui,m=new Ui;let f=0,g=0;for(let e=0;e<=t.length-1;e++)switch(e){case 0:f=t[e+1].x-t[e].x,g=t[e+1].y-t[e].y,d.x=1*g,d.y=-f,d.z=0*g,m.copy(d),d.normalize(),o.push(d.x,d.y,d.z);break;case t.length-1:o.push(m.x,m.y,m.z);break;default:f=t[e+1].x-t[e].x,g=t[e+1].y-t[e].y,d.x=1*g,d.y=-f,d.z=0*g,p.copy(d),d.x+=m.x,d.y+=m.y,d.z+=m.z,d.normalize(),o.push(d.x,d.y,d.z),m.copy(p)}for(let r=0;r<=e;r++){const d=n+r*c*i,p=Math.sin(d),m=Math.cos(d);for(let n=0;n<=t.length-1;n++){h.x=t[n].x*p,h.y=t[n].y,h.z=t[n].x*m,s.push(h.x,h.y,h.z),u.x=r/e,u.y=n/(t.length-1),a.push(u.x,u.y);const i=o[3*n+0]*p,c=o[3*n+1],d=o[3*n+0]*m;l.push(i,c,d)}}for(let n=0;n0&&_(!0),e>0&&_(!1)),this.setIndex(c),this.setAttribute("position",new vs(h,3)),this.setAttribute("normal",new vs(u,3)),this.setAttribute("uv",new vs(d,2))}copy(t){return super.copy(t),this.parameters=Object.assign({},t.parameters),this}static fromJSON(t){return new su(t.radiusTop,t.radiusBottom,t.height,t.radialSegments,t.heightSegments,t.openEnded,t.thetaStart,t.thetaLength)}}class au extends su{constructor(t=1,e=1,n=32,i=1,r=!1,s=0,a=2*Math.PI){super(0,t,e,n,i,r,s,a),this.type="ConeGeometry",this.parameters={radius:t,height:e,radialSegments:n,heightSegments:i,openEnded:r,thetaStart:s,thetaLength:a}}static fromJSON(t){return new au(t.radius,t.height,t.radialSegments,t.heightSegments,t.openEnded,t.thetaStart,t.thetaLength)}}class ou extends As{constructor(t=[],e=[],n=1,i=0){super(),this.type="PolyhedronGeometry",this.parameters={vertices:t,indices:e,radius:n,detail:i};const r=[],s=[];function a(t,e,n,i){const r=i+1,s=[];for(let i=0;i<=r;i++){s[i]=[];const a=t.clone().lerp(n,i/r),o=e.clone().lerp(n,i/r),l=r-i;for(let t=0;t<=l;t++)s[i][t]=0===t&&i===r?a:a.clone().lerp(o,t/l)}for(let t=0;t.9&&a<.1&&(e<.2&&(s[t+0]+=1),n<.2&&(s[t+2]+=1),i<.2&&(s[t+4]+=1))}}()}(),this.setAttribute("position",new vs(r,3)),this.setAttribute("normal",new vs(r.slice(),3)),this.setAttribute("uv",new vs(s,2)),0===i?this.computeVertexNormals():this.normalizeNormals()}copy(t){return super.copy(t),this.parameters=Object.assign({},t.parameters),this}static fromJSON(t){return new ou(t.vertices,t.indices,t.radius,t.details)}}class lu extends ou{constructor(t=1,e=0){const n=(1+Math.sqrt(5))/2,i=1/n;super([-1,-1,-1,-1,-1,1,-1,1,-1,-1,1,1,1,-1,-1,1,-1,1,1,1,-1,1,1,1,0,-i,-n,0,-i,n,0,i,-n,0,i,n,-i,-n,0,-i,n,0,i,-n,0,i,n,0,-n,0,-i,n,0,-i,-n,0,i,n,0,i],[3,11,7,3,7,15,3,15,13,7,19,17,7,17,6,7,6,15,17,4,8,17,8,10,17,10,6,8,0,16,8,16,2,8,2,10,0,12,1,0,1,18,0,18,16,6,10,2,6,2,13,6,13,15,2,16,18,2,18,3,2,3,13,18,1,9,18,9,11,18,11,3,4,14,12,4,12,0,4,0,8,11,9,5,11,5,19,11,19,7,19,5,14,19,14,4,19,4,17,1,12,14,1,14,5,1,5,9],t,e),this.type="DodecahedronGeometry",this.parameters={radius:t,detail:e}}static fromJSON(t){return new lu(t.radius,t.detail)}}const cu=new Ui,hu=new Ui,uu=new Ui,du=new jr;class pu extends As{constructor(t=null,e=1){if(super(),this.type="EdgesGeometry",this.parameters={geometry:t,thresholdAngle:e},null!==t){const n=4,i=Math.pow(10,n),r=Math.cos(Gn*e),s=t.getIndex(),a=t.getAttribute("position"),o=s?s.count:a.count,l=[0,0,0],c=["a","b","c"],h=new Array(3),u={},d=[];for(let t=0;t80*n){o=c=t[0],l=h=t[1];for(let e=n;ec&&(c=u),d>h&&(h=d);p=Math.max(c-o,h-l),p=0!==p?32767/p:0}return vu(s,a,n,o,l,p,0),a};function gu(t,e,n,i,r){let s,a;if(r===function(t,e,n,i){let r=0;for(let s=e,a=n-i;s0)for(s=e;s=e;s-=i)a=Fu(s,t[s],t[s+1],a);return a&&Lu(a,a.next)&&(Bu(a),a=a.next),a}function _u(t,e){if(!t)return t;e||(e=t);let n,i=t;do{if(n=!1,i.steiner||!Lu(i,i.next)&&0!==Pu(i.prev,i,i.next))i=i.next;else{if(Bu(i),i=e=i.prev,i===i.next)break;n=!0}}while(n||i!==e);return e}function vu(t,e,n,i,r,s,a){if(!t)return;!a&&s&&function(t,e,n,i){let r=t;do{0===r.z&&(r.z=wu(r.x,r.y,e,n,i)),r.prevZ=r.prev,r.nextZ=r.next,r=r.next}while(r!==t);r.prevZ.nextZ=null,r.prevZ=null,function(t){let e,n,i,r,s,a,o,l,c=1;do{for(n=t,t=null,s=null,a=0;n;){for(a++,i=n,o=0,e=0;e0||l>0&&i;)0!==o&&(0===l||!i||n.z<=i.z)?(r=n,n=n.nextZ,o--):(r=i,i=i.nextZ,l--),s?s.nextZ=r:t=r,r.prevZ=s,s=r;n=i}s.nextZ=null,c*=2}while(a>1)}(r)}(t,i,r,s);let o,l,c=t;for(;t.prev!==t.next;)if(o=t.prev,l=t.next,s?yu(t,i,r,s):xu(t))e.push(o.i/n|0),e.push(t.i/n|0),e.push(l.i/n|0),Bu(t),t=l.next,c=l.next;else if((t=l)===c){a?1===a?vu(t=Mu(_u(t),e,n),e,n,i,r,s,2):2===a&&Su(t,e,n,i,r,s):vu(_u(t),e,n,i,r,s,1);break}}function xu(t){const e=t.prev,n=t,i=t.next;if(Pu(e,n,i)>=0)return!1;const r=e.x,s=n.x,a=i.x,o=e.y,l=n.y,c=i.y,h=rs?r>a?r:a:s>a?s:a,p=o>l?o>c?o:c:l>c?l:c;let m=i.next;for(;m!==e;){if(m.x>=h&&m.x<=d&&m.y>=u&&m.y<=p&&Ru(r,o,s,l,a,c,m.x,m.y)&&Pu(m.prev,m,m.next)>=0)return!1;m=m.next}return!0}function yu(t,e,n,i){const r=t.prev,s=t,a=t.next;if(Pu(r,s,a)>=0)return!1;const o=r.x,l=s.x,c=a.x,h=r.y,u=s.y,d=a.y,p=ol?o>c?o:c:l>c?l:c,g=h>u?h>d?h:d:u>d?u:d,_=wu(p,m,e,n,i),v=wu(f,g,e,n,i);let x=t.prevZ,y=t.nextZ;for(;x&&x.z>=_&&y&&y.z<=v;){if(x.x>=p&&x.x<=f&&x.y>=m&&x.y<=g&&x!==r&&x!==a&&Ru(o,h,l,u,c,d,x.x,x.y)&&Pu(x.prev,x,x.next)>=0)return!1;if(x=x.prevZ,y.x>=p&&y.x<=f&&y.y>=m&&y.y<=g&&y!==r&&y!==a&&Ru(o,h,l,u,c,d,y.x,y.y)&&Pu(y.prev,y,y.next)>=0)return!1;y=y.nextZ}for(;x&&x.z>=_;){if(x.x>=p&&x.x<=f&&x.y>=m&&x.y<=g&&x!==r&&x!==a&&Ru(o,h,l,u,c,d,x.x,x.y)&&Pu(x.prev,x,x.next)>=0)return!1;x=x.prevZ}for(;y&&y.z<=v;){if(y.x>=p&&y.x<=f&&y.y>=m&&y.y<=g&&y!==r&&y!==a&&Ru(o,h,l,u,c,d,y.x,y.y)&&Pu(y.prev,y,y.next)>=0)return!1;y=y.nextZ}return!0}function Mu(t,e,n){let i=t;do{const r=i.prev,s=i.next.next;!Lu(r,s)&&Iu(r,i,i.next,s)&&Du(r,s)&&Du(s,r)&&(e.push(r.i/n|0),e.push(i.i/n|0),e.push(s.i/n|0),Bu(i),Bu(i.next),i=t=s),i=i.next}while(i!==t);return _u(i)}function Su(t,e,n,i,r,s){let a=t;do{let t=a.next.next;for(;t!==a.prev;){if(a.i!==t.i&&Cu(a,t)){let o=Ou(a,t);return a=_u(a,a.next),o=_u(o,o.next),vu(a,e,n,i,r,s,0),void vu(o,e,n,i,r,s,0)}t=t.next}a=a.next}while(a!==t)}function bu(t,e){return t.x-e.x}function Eu(t,e){const n=function(t,e){let n,i=e,r=-1/0;const s=t.x,a=t.y;do{if(a<=i.y&&a>=i.next.y&&i.next.y!==i.y){const t=i.x+(a-i.y)*(i.next.x-i.x)/(i.next.y-i.y);if(t<=s&&t>r&&(r=t,n=i.x=i.x&&i.x>=l&&s!==i.x&&Ru(an.x||i.x===n.x&&Tu(n,i)))&&(n=i,u=h)),i=i.next}while(i!==o);return n}(t,e);if(!n)return e;const i=Ou(n,t);return _u(i,i.next),_u(n,n.next)}function Tu(t,e){return Pu(t.prev,t,e.prev)<0&&Pu(e.next,t,t.next)<0}function wu(t,e,n,i,r){return(t=1431655765&((t=858993459&((t=252645135&((t=16711935&((t=(t-n)*r|0)|t<<8))|t<<4))|t<<2))|t<<1))|(e=1431655765&((e=858993459&((e=252645135&((e=16711935&((e=(e-i)*r|0)|e<<8))|e<<4))|e<<2))|e<<1))<<1}function Au(t){let e=t,n=t;do{(e.x=(t-a)*(s-o)&&(t-a)*(i-o)>=(n-a)*(e-o)&&(n-a)*(s-o)>=(r-a)*(i-o)}function Cu(t,e){return t.next.i!==e.i&&t.prev.i!==e.i&&!function(t,e){let n=t;do{if(n.i!==t.i&&n.next.i!==t.i&&n.i!==e.i&&n.next.i!==e.i&&Iu(n,n.next,t,e))return!0;n=n.next}while(n!==t);return!1}(t,e)&&(Du(t,e)&&Du(e,t)&&function(t,e){let n=t,i=!1;const r=(t.x+e.x)/2,s=(t.y+e.y)/2;do{n.y>s!=n.next.y>s&&n.next.y!==n.y&&r<(n.next.x-n.x)*(s-n.y)/(n.next.y-n.y)+n.x&&(i=!i),n=n.next}while(n!==t);return i}(t,e)&&(Pu(t.prev,t,e.prev)||Pu(t,e.prev,e))||Lu(t,e)&&Pu(t.prev,t,t.next)>0&&Pu(e.prev,e,e.next)>0)}function Pu(t,e,n){return(e.y-t.y)*(n.x-e.x)-(e.x-t.x)*(n.y-e.y)}function Lu(t,e){return t.x===e.x&&t.y===e.y}function Iu(t,e,n,i){const r=Nu(Pu(t,e,n)),s=Nu(Pu(t,e,i)),a=Nu(Pu(n,i,t)),o=Nu(Pu(n,i,e));return r!==s&&a!==o||(!(0!==r||!Uu(t,n,e))||(!(0!==s||!Uu(t,i,e))||(!(0!==a||!Uu(n,t,i))||!(0!==o||!Uu(n,e,i)))))}function Uu(t,e,n){return e.x<=Math.max(t.x,n.x)&&e.x>=Math.min(t.x,n.x)&&e.y<=Math.max(t.y,n.y)&&e.y>=Math.min(t.y,n.y)}function Nu(t){return t>0?1:t<0?-1:0}function Du(t,e){return Pu(t.prev,t,t.next)<0?Pu(t,e,t.next)>=0&&Pu(t,t.prev,e)>=0:Pu(t,e,t.prev)<0||Pu(t,t.next,e)<0}function Ou(t,e){const n=new zu(t.i,t.x,t.y),i=new zu(e.i,e.x,e.y),r=t.next,s=e.prev;return t.next=e,e.prev=t,n.next=r,r.prev=n,i.next=n,n.prev=i,s.next=i,i.prev=s,i}function Fu(t,e,n,i){const r=new zu(t,e,n);return i?(r.next=i.next,r.prev=i,i.next.prev=r,i.next=r):(r.prev=r,r.next=r),r}function Bu(t){t.next.prev=t.prev,t.prev.next=t.next,t.prevZ&&(t.prevZ.nextZ=t.nextZ),t.nextZ&&(t.nextZ.prevZ=t.prevZ)}function zu(t,e,n){this.i=t,this.x=e,this.y=n,this.prev=null,this.next=null,this.z=0,this.prevZ=null,this.nextZ=null,this.steiner=!1}class Hu{static area(t){const e=t.length;let n=0;for(let i=e-1,r=0;r2&&t[e-1].equals(t[0])&&t.pop()}function ku(t,e){for(let n=0;nNumber.EPSILON){const u=Math.sqrt(h),d=Math.sqrt(l*l+c*c),p=e.x-o/u,m=e.y+a/u,f=((n.x-c/d-p)*c-(n.y+l/d-m)*l)/(a*c-o*l);i=p+a*f-t.x,r=m+o*f-t.y;const g=i*i+r*r;if(g<=2)return new ti(i,r);s=Math.sqrt(g/2)}else{let t=!1;a>Number.EPSILON?l>Number.EPSILON&&(t=!0):a<-Number.EPSILON?l<-Number.EPSILON&&(t=!0):Math.sign(o)===Math.sign(c)&&(t=!0),t?(i=-o,r=a,s=Math.sqrt(h)):(i=a,r=o,s=Math.sqrt(h/2))}return new ti(i/s,r/s)}const L=[];for(let t=0,e=w.length,n=e-1,i=t+1;t=0;t--){const e=t/p,n=h*Math.cos(e*Math.PI/2),i=u*Math.sin(e*Math.PI/2)+d;for(let t=0,e=w.length;t=0;){const i=n;let r=n-1;r<0&&(r=t.length-1);for(let t=0,n=o+2*p;t0)&&d.push(e,r,l),(t!==n-1||o0!=t>0&&this.version++,this._anisotropy=t}get clearcoat(){return this._clearcoat}set clearcoat(t){this._clearcoat>0!=t>0&&this.version++,this._clearcoat=t}get iridescence(){return this._iridescence}set iridescence(t){this._iridescence>0!=t>0&&this.version++,this._iridescence=t}get sheen(){return this._sheen}set sheen(t){this._sheen>0!=t>0&&this.version++,this._sheen=t}get transmission(){return this._transmission}set transmission(t){this._transmission>0!=t>0&&this.version++,this._transmission=t}copy(t){return super.copy(t),this.defines={STANDARD:"",PHYSICAL:""},this.anisotropy=t.anisotropy,this.anisotropyRotation=t.anisotropyRotation,this.anisotropyMap=t.anisotropyMap,this.clearcoat=t.clearcoat,this.clearcoatMap=t.clearcoatMap,this.clearcoatRoughness=t.clearcoatRoughness,this.clearcoatRoughnessMap=t.clearcoatRoughnessMap,this.clearcoatNormalMap=t.clearcoatNormalMap,this.clearcoatNormalScale.copy(t.clearcoatNormalScale),this.ior=t.ior,this.iridescence=t.iridescence,this.iridescenceMap=t.iridescenceMap,this.iridescenceIOR=t.iridescenceIOR,this.iridescenceThicknessRange=[...t.iridescenceThicknessRange],this.iridescenceThicknessMap=t.iridescenceThicknessMap,this.sheen=t.sheen,this.sheenColor.copy(t.sheenColor),this.sheenColorMap=t.sheenColorMap,this.sheenRoughness=t.sheenRoughness,this.sheenRoughnessMap=t.sheenRoughnessMap,this.transmission=t.transmission,this.transmissionMap=t.transmissionMap,this.thickness=t.thickness,this.thicknessMap=t.thicknessMap,this.attenuationDistance=t.attenuationDistance,this.attenuationColor.copy(t.attenuationColor),this.specularIntensity=t.specularIntensity,this.specularIntensityMap=t.specularIntensityMap,this.specularColor.copy(t.specularColor),this.specularColorMap=t.specularColorMap,this}}class od extends ts{constructor(t){super(),this.isMeshPhongMaterial=!0,this.type="MeshPhongMaterial",this.color=new Kr(16777215),this.specular=new Kr(1118481),this.shininess=30,this.map=null,this.lightMap=null,this.lightMapIntensity=1,this.aoMap=null,this.aoMapIntensity=1,this.emissive=new Kr(0),this.emissiveIntensity=1,this.emissiveMap=null,this.bumpMap=null,this.bumpScale=1,this.normalMap=null,this.normalMapType=0,this.normalScale=new ti(1,1),this.displacementMap=null,this.displacementScale=1,this.displacementBias=0,this.specularMap=null,this.alphaMap=null,this.envMap=null,this.combine=Z,this.reflectivity=1,this.refractionRatio=.98,this.wireframe=!1,this.wireframeLinewidth=1,this.wireframeLinecap="round",this.wireframeLinejoin="round",this.flatShading=!1,this.fog=!0,this.setValues(t)}copy(t){return super.copy(t),this.color.copy(t.color),this.specular.copy(t.specular),this.shininess=t.shininess,this.map=t.map,this.lightMap=t.lightMap,this.lightMapIntensity=t.lightMapIntensity,this.aoMap=t.aoMap,this.aoMapIntensity=t.aoMapIntensity,this.emissive.copy(t.emissive),this.emissiveMap=t.emissiveMap,this.emissiveIntensity=t.emissiveIntensity,this.bumpMap=t.bumpMap,this.bumpScale=t.bumpScale,this.normalMap=t.normalMap,this.normalMapType=t.normalMapType,this.normalScale.copy(t.normalScale),this.displacementMap=t.displacementMap,this.displacementScale=t.displacementScale,this.displacementBias=t.displacementBias,this.specularMap=t.specularMap,this.alphaMap=t.alphaMap,this.envMap=t.envMap,this.combine=t.combine,this.reflectivity=t.reflectivity,this.refractionRatio=t.refractionRatio,this.wireframe=t.wireframe,this.wireframeLinewidth=t.wireframeLinewidth,this.wireframeLinecap=t.wireframeLinecap,this.wireframeLinejoin=t.wireframeLinejoin,this.flatShading=t.flatShading,this.fog=t.fog,this}}class ld extends ts{constructor(t){super(),this.isMeshToonMaterial=!0,this.defines={TOON:""},this.type="MeshToonMaterial",this.color=new Kr(16777215),this.map=null,this.gradientMap=null,this.lightMap=null,this.lightMapIntensity=1,this.aoMap=null,this.aoMapIntensity=1,this.emissive=new Kr(0),this.emissiveIntensity=1,this.emissiveMap=null,this.bumpMap=null,this.bumpScale=1,this.normalMap=null,this.normalMapType=0,this.normalScale=new ti(1,1),this.displacementMap=null,this.displacementScale=1,this.displacementBias=0,this.alphaMap=null,this.wireframe=!1,this.wireframeLinewidth=1,this.wireframeLinecap="round",this.wireframeLinejoin="round",this.fog=!0,this.setValues(t)}copy(t){return super.copy(t),this.color.copy(t.color),this.map=t.map,this.gradientMap=t.gradientMap,this.lightMap=t.lightMap,this.lightMapIntensity=t.lightMapIntensity,this.aoMap=t.aoMap,this.aoMapIntensity=t.aoMapIntensity,this.emissive.copy(t.emissive),this.emissiveMap=t.emissiveMap,this.emissiveIntensity=t.emissiveIntensity,this.bumpMap=t.bumpMap,this.bumpScale=t.bumpScale,this.normalMap=t.normalMap,this.normalMapType=t.normalMapType,this.normalScale.copy(t.normalScale),this.displacementMap=t.displacementMap,this.displacementScale=t.displacementScale,this.displacementBias=t.displacementBias,this.alphaMap=t.alphaMap,this.wireframe=t.wireframe,this.wireframeLinewidth=t.wireframeLinewidth,this.wireframeLinecap=t.wireframeLinecap,this.wireframeLinejoin=t.wireframeLinejoin,this.fog=t.fog,this}}class cd extends ts{constructor(t){super(),this.isMeshNormalMaterial=!0,this.type="MeshNormalMaterial",this.bumpMap=null,this.bumpScale=1,this.normalMap=null,this.normalMapType=0,this.normalScale=new ti(1,1),this.displacementMap=null,this.displacementScale=1,this.displacementBias=0,this.wireframe=!1,this.wireframeLinewidth=1,this.flatShading=!1,this.setValues(t)}copy(t){return super.copy(t),this.bumpMap=t.bumpMap,this.bumpScale=t.bumpScale,this.normalMap=t.normalMap,this.normalMapType=t.normalMapType,this.normalScale.copy(t.normalScale),this.displacementMap=t.displacementMap,this.displacementScale=t.displacementScale,this.displacementBias=t.displacementBias,this.wireframe=t.wireframe,this.wireframeLinewidth=t.wireframeLinewidth,this.flatShading=t.flatShading,this}}class hd extends ts{constructor(t){super(),this.isMeshLambertMaterial=!0,this.type="MeshLambertMaterial",this.color=new Kr(16777215),this.map=null,this.lightMap=null,this.lightMapIntensity=1,this.aoMap=null,this.aoMapIntensity=1,this.emissive=new Kr(0),this.emissiveIntensity=1,this.emissiveMap=null,this.bumpMap=null,this.bumpScale=1,this.normalMap=null,this.normalMapType=0,this.normalScale=new ti(1,1),this.displacementMap=null,this.displacementScale=1,this.displacementBias=0,this.specularMap=null,this.alphaMap=null,this.envMap=null,this.combine=Z,this.reflectivity=1,this.refractionRatio=.98,this.wireframe=!1,this.wireframeLinewidth=1,this.wireframeLinecap="round",this.wireframeLinejoin="round",this.flatShading=!1,this.fog=!0,this.setValues(t)}copy(t){return super.copy(t),this.color.copy(t.color),this.map=t.map,this.lightMap=t.lightMap,this.lightMapIntensity=t.lightMapIntensity,this.aoMap=t.aoMap,this.aoMapIntensity=t.aoMapIntensity,this.emissive.copy(t.emissive),this.emissiveMap=t.emissiveMap,this.emissiveIntensity=t.emissiveIntensity,this.bumpMap=t.bumpMap,this.bumpScale=t.bumpScale,this.normalMap=t.normalMap,this.normalMapType=t.normalMapType,this.normalScale.copy(t.normalScale),this.displacementMap=t.displacementMap,this.displacementScale=t.displacementScale,this.displacementBias=t.displacementBias,this.specularMap=t.specularMap,this.alphaMap=t.alphaMap,this.envMap=t.envMap,this.combine=t.combine,this.reflectivity=t.reflectivity,this.refractionRatio=t.refractionRatio,this.wireframe=t.wireframe,this.wireframeLinewidth=t.wireframeLinewidth,this.wireframeLinecap=t.wireframeLinecap,this.wireframeLinejoin=t.wireframeLinejoin,this.flatShading=t.flatShading,this.fog=t.fog,this}}class ud extends ts{constructor(t){super(),this.isMeshMatcapMaterial=!0,this.defines={MATCAP:""},this.type="MeshMatcapMaterial",this.color=new Kr(16777215),this.matcap=null,this.map=null,this.bumpMap=null,this.bumpScale=1,this.normalMap=null,this.normalMapType=0,this.normalScale=new ti(1,1),this.displacementMap=null,this.displacementScale=1,this.displacementBias=0,this.alphaMap=null,this.flatShading=!1,this.fog=!0,this.setValues(t)}copy(t){return super.copy(t),this.defines={MATCAP:""},this.color.copy(t.color),this.matcap=t.matcap,this.map=t.map,this.bumpMap=t.bumpMap,this.bumpScale=t.bumpScale,this.normalMap=t.normalMap,this.normalMapType=t.normalMapType,this.normalScale.copy(t.normalScale),this.displacementMap=t.displacementMap,this.displacementScale=t.displacementScale,this.displacementBias=t.displacementBias,this.alphaMap=t.alphaMap,this.flatShading=t.flatShading,this.fog=t.fog,this}}class dd extends hh{constructor(t){super(),this.isLineDashedMaterial=!0,this.type="LineDashedMaterial",this.scale=1,this.dashSize=3,this.gapSize=1,this.setValues(t)}copy(t){return super.copy(t),this.scale=t.scale,this.dashSize=t.dashSize,this.gapSize=t.gapSize,this}}function pd(t,e,n){return!t||!n&&t.constructor===e?t:"number"==typeof e.BYTES_PER_ELEMENT?new e(t):Array.prototype.slice.call(t)}function md(t){return ArrayBuffer.isView(t)&&!(t instanceof DataView)}function fd(t){const e=t.length,n=new Array(e);for(let t=0;t!==e;++t)n[t]=t;return n.sort((function(e,n){return t[e]-t[n]})),n}function gd(t,e,n){const i=t.length,r=new t.constructor(i);for(let s=0,a=0;a!==i;++s){const i=n[s]*e;for(let n=0;n!==e;++n)r[a++]=t[i+n]}return r}function _d(t,e,n,i){let r=1,s=t[0];for(;void 0!==s&&void 0===s[i];)s=t[r++];if(void 0===s)return;let a=s[i];if(void 0!==a)if(Array.isArray(a))do{a=s[i],void 0!==a&&(e.push(s.time),n.push.apply(n,a)),s=t[r++]}while(void 0!==s);else if(void 0!==a.toArray)do{a=s[i],void 0!==a&&(e.push(s.time),a.toArray(n,n.length)),s=t[r++]}while(void 0!==s);else do{a=s[i],void 0!==a&&(e.push(s.time),n.push(a)),s=t[r++]}while(void 0!==s)}const vd={convertArray:pd,isTypedArray:md,getKeyframeOrder:fd,sortedArray:gd,flattenJSON:_d,subclip:function(t,e,n,i,r=30){const s=t.clone();s.name=e;const a=[];for(let t=0;t=i)){l.push(e.times[t]);for(let n=0;ns.tracks[t].times[0]&&(o=s.tracks[t].times[0]);for(let t=0;t=i.times[u]){const t=u*l+o,e=t+l-o;d=i.values.slice(t,e)}else{const t=i.createInterpolant(),e=o,n=l-o;t.evaluate(s),d=t.resultBuffer.slice(e,n)}if("quaternion"===r){(new Ii).fromArray(d).normalize().conjugate().toArray(d)}const p=a.times.length;for(let t=0;t=r)break t;{const a=e[1];t=r)break e}s=n,n=0}}for(;n>>1;te;)--s;if(++s,0!==r||s!==i){r>=s&&(s=Math.max(s,1),r=s-1);const t=this.getValueSize();this.times=n.slice(r,s),this.values=this.values.slice(r*t,s*t)}return this}validate(){let t=!0;const e=this.getValueSize();e-Math.floor(e)!=0&&(console.error("THREE.KeyframeTrack: Invalid value size in track.",this),t=!1);const n=this.times,i=this.values,r=n.length;0===r&&(console.error("THREE.KeyframeTrack: Track is empty.",this),t=!1);let s=null;for(let e=0;e!==r;e++){const i=n[e];if("number"==typeof i&&isNaN(i)){console.error("THREE.KeyframeTrack: Time is not a valid number.",this,e,i),t=!1;break}if(null!==s&&s>i){console.error("THREE.KeyframeTrack: Out of order keys.",this,e,i,s),t=!1;break}s=i}if(void 0!==i&&md(i))for(let e=0,n=i.length;e!==n;++e){const n=i[e];if(isNaN(n)){console.error("THREE.KeyframeTrack: Value is not a valid number.",this,e,n),t=!1;break}}return t}optimize(){const t=this.times.slice(),e=this.values.slice(),n=this.getValueSize(),i=this.getInterpolation()===Le,r=t.length-1;let s=1;for(let a=1;a0){t[s]=t[r];for(let t=r*n,i=s*n,a=0;a!==n;++a)e[i+a]=e[t+a];++s}return s!==t.length?(this.times=t.slice(0,s),this.values=e.slice(0,s*n)):(this.times=t,this.values=e),this}clone(){const t=this.times.slice(),e=this.values.slice(),n=new(0,this.constructor)(this.name,t,e);return n.createInterpolant=this.createInterpolant,n}}bd.prototype.TimeBufferType=Float32Array,bd.prototype.ValueBufferType=Float32Array,bd.prototype.DefaultInterpolation=Pe;class Ed extends bd{}Ed.prototype.ValueTypeName="bool",Ed.prototype.ValueBufferType=Array,Ed.prototype.DefaultInterpolation=Ce,Ed.prototype.InterpolantFactoryMethodLinear=void 0,Ed.prototype.InterpolantFactoryMethodSmooth=void 0;class Td extends bd{}Td.prototype.ValueTypeName="color";class wd extends bd{}wd.prototype.ValueTypeName="number";class Ad extends xd{constructor(t,e,n,i){super(t,e,n,i)}interpolate_(t,e,n,i){const r=this.resultBuffer,s=this.sampleValues,a=this.valueSize,o=(n-e)/(i-e);let l=t*a;for(let t=l+a;l!==t;l+=4)Ii.slerpFlat(r,0,s,l-a,s,l,o);return r}}class Rd extends bd{InterpolantFactoryMethodLinear(t){return new Ad(this.times,this.values,this.getValueSize(),t)}}Rd.prototype.ValueTypeName="quaternion",Rd.prototype.DefaultInterpolation=Pe,Rd.prototype.InterpolantFactoryMethodSmooth=void 0;class Cd extends bd{}Cd.prototype.ValueTypeName="string",Cd.prototype.ValueBufferType=Array,Cd.prototype.DefaultInterpolation=Ce,Cd.prototype.InterpolantFactoryMethodLinear=void 0,Cd.prototype.InterpolantFactoryMethodSmooth=void 0;class Pd extends bd{}Pd.prototype.ValueTypeName="vector";class Ld{constructor(t,e=-1,n,i=2500){this.name=t,this.tracks=n,this.duration=e,this.blendMode=i,this.uuid=Xn(),this.duration<0&&this.resetDuration()}static parse(t){const e=[],n=t.tracks,i=1/(t.fps||1);for(let t=0,r=n.length;t!==r;++t)e.push(Id(n[t]).scale(i));const r=new this(t.name,t.duration,e,t.blendMode);return r.uuid=t.uuid,r}static toJSON(t){const e=[],n=t.tracks,i={name:t.name,duration:t.duration,tracks:e,uuid:t.uuid,blendMode:t.blendMode};for(let t=0,i=n.length;t!==i;++t)e.push(bd.toJSON(n[t]));return i}static CreateFromMorphTargetSequence(t,e,n,i){const r=e.length,s=[];for(let t=0;t1){const t=s[1];let e=i[t];e||(i[t]=e=[]),e.push(n)}}const s=[];for(const t in i)s.push(this.CreateFromMorphTargetSequence(t,i[t],e,n));return s}static parseAnimation(t,e){if(!t)return console.error("THREE.AnimationClip: No animation in JSONLoader data."),null;const n=function(t,e,n,i,r){if(0!==n.length){const s=[],a=[];_d(n,s,a,i),0!==s.length&&r.push(new t(e,s,a))}},i=[],r=t.name||"default",s=t.fps||30,a=t.blendMode;let o=t.length||-1;const l=t.hierarchy||[];for(let t=0;t{e&&e(r),this.manager.itemEnd(t)}),0),r;if(void 0!==Fd[t])return void Fd[t].push({onLoad:e,onProgress:n,onError:i});Fd[t]=[],Fd[t].push({onLoad:e,onProgress:n,onError:i});const s=new Request(t,{headers:new Headers(this.requestHeader),credentials:this.withCredentials?"include":"same-origin"}),a=this.mimeType,o=this.responseType;fetch(s).then((e=>{if(200===e.status||0===e.status){if(0===e.status&&console.warn("THREE.FileLoader: HTTP Status 0 received."),"undefined"==typeof ReadableStream||void 0===e.body||void 0===e.body.getReader)return e;const n=Fd[t],i=e.body.getReader(),r=e.headers.get("Content-Length")||e.headers.get("X-File-Size"),s=r?parseInt(r):0,a=0!==s;let o=0;const l=new ReadableStream({start(t){!function e(){i.read().then((({done:i,value:r})=>{if(i)t.close();else{o+=r.byteLength;const i=new ProgressEvent("progress",{lengthComputable:a,loaded:o,total:s});for(let t=0,e=n.length;t{switch(o){case"arraybuffer":return t.arrayBuffer();case"blob":return t.blob();case"document":return t.text().then((t=>(new DOMParser).parseFromString(t,a)));case"json":return t.json();default:if(void 0===a)return t.text();{const e=/charset="?([^;"\s]*)"?/i.exec(a),n=e&&e[1]?e[1].toLowerCase():void 0,i=new TextDecoder(n);return t.arrayBuffer().then((t=>i.decode(t)))}}})).then((e=>{Ud.add(t,e);const n=Fd[t];delete Fd[t];for(let t=0,i=n.length;t{const n=Fd[t];if(void 0===n)throw this.manager.itemError(t),e;delete Fd[t];for(let t=0,i=n.length;t{this.manager.itemEnd(t)})),this.manager.itemStart(t)}setResponseType(t){return this.responseType=t,this}setMimeType(t){return this.mimeType=t,this}}class Hd extends Od{constructor(t){super(t)}load(t,e,n,i){const r=this,s=new zd(this.manager);s.setPath(this.path),s.setRequestHeader(this.requestHeader),s.setWithCredentials(this.withCredentials),s.load(t,(function(n){try{e(r.parse(JSON.parse(n)))}catch(e){i?i(e):console.error(e),r.manager.itemError(t)}}),n,i)}parse(t){const e=[];for(let n=0;n0:i.vertexColors=t.vertexColors),void 0!==t.uniforms)for(const e in t.uniforms){const r=t.uniforms[e];switch(i.uniforms[e]={},r.type){case"t":i.uniforms[e].value=n(r.value);break;case"c":i.uniforms[e].value=(new Kr).setHex(r.value);break;case"v2":i.uniforms[e].value=(new ti).fromArray(r.value);break;case"v3":i.uniforms[e].value=(new Ui).fromArray(r.value);break;case"v4":i.uniforms[e].value=(new Ei).fromArray(r.value);break;case"m3":i.uniforms[e].value=(new ei).fromArray(r.value);break;case"m4":i.uniforms[e].value=(new cr).fromArray(r.value);break;default:i.uniforms[e].value=r.value}}if(void 0!==t.defines&&(i.defines=t.defines),void 0!==t.vertexShader&&(i.vertexShader=t.vertexShader),void 0!==t.fragmentShader&&(i.fragmentShader=t.fragmentShader),void 0!==t.glslVersion&&(i.glslVersion=t.glslVersion),void 0!==t.extensions)for(const e in t.extensions)i.extensions[e]=t.extensions[e];if(void 0!==t.lights&&(i.lights=t.lights),void 0!==t.clipping&&(i.clipping=t.clipping),void 0!==t.size&&(i.size=t.size),void 0!==t.sizeAttenuation&&(i.sizeAttenuation=t.sizeAttenuation),void 0!==t.map&&(i.map=n(t.map)),void 0!==t.matcap&&(i.matcap=n(t.matcap)),void 0!==t.alphaMap&&(i.alphaMap=n(t.alphaMap)),void 0!==t.bumpMap&&(i.bumpMap=n(t.bumpMap)),void 0!==t.bumpScale&&(i.bumpScale=t.bumpScale),void 0!==t.normalMap&&(i.normalMap=n(t.normalMap)),void 0!==t.normalMapType&&(i.normalMapType=t.normalMapType),void 0!==t.normalScale){let e=t.normalScale;!1===Array.isArray(e)&&(e=[e,e]),i.normalScale=(new ti).fromArray(e)}return void 0!==t.displacementMap&&(i.displacementMap=n(t.displacementMap)),void 0!==t.displacementScale&&(i.displacementScale=t.displacementScale),void 0!==t.displacementBias&&(i.displacementBias=t.displacementBias),void 0!==t.roughnessMap&&(i.roughnessMap=n(t.roughnessMap)),void 0!==t.metalnessMap&&(i.metalnessMap=n(t.metalnessMap)),void 0!==t.emissiveMap&&(i.emissiveMap=n(t.emissiveMap)),void 0!==t.emissiveIntensity&&(i.emissiveIntensity=t.emissiveIntensity),void 0!==t.specularMap&&(i.specularMap=n(t.specularMap)),void 0!==t.specularIntensityMap&&(i.specularIntensityMap=n(t.specularIntensityMap)),void 0!==t.specularColorMap&&(i.specularColorMap=n(t.specularColorMap)),void 0!==t.envMap&&(i.envMap=n(t.envMap)),void 0!==t.envMapIntensity&&(i.envMapIntensity=t.envMapIntensity),void 0!==t.reflectivity&&(i.reflectivity=t.reflectivity),void 0!==t.refractionRatio&&(i.refractionRatio=t.refractionRatio),void 0!==t.lightMap&&(i.lightMap=n(t.lightMap)),void 0!==t.lightMapIntensity&&(i.lightMapIntensity=t.lightMapIntensity),void 0!==t.aoMap&&(i.aoMap=n(t.aoMap)),void 0!==t.aoMapIntensity&&(i.aoMapIntensity=t.aoMapIntensity),void 0!==t.gradientMap&&(i.gradientMap=n(t.gradientMap)),void 0!==t.clearcoatMap&&(i.clearcoatMap=n(t.clearcoatMap)),void 0!==t.clearcoatRoughnessMap&&(i.clearcoatRoughnessMap=n(t.clearcoatRoughnessMap)),void 0!==t.clearcoatNormalMap&&(i.clearcoatNormalMap=n(t.clearcoatNormalMap)),void 0!==t.clearcoatNormalScale&&(i.clearcoatNormalScale=(new ti).fromArray(t.clearcoatNormalScale)),void 0!==t.iridescenceMap&&(i.iridescenceMap=n(t.iridescenceMap)),void 0!==t.iridescenceThicknessMap&&(i.iridescenceThicknessMap=n(t.iridescenceThicknessMap)),void 0!==t.transmissionMap&&(i.transmissionMap=n(t.transmissionMap)),void 0!==t.thicknessMap&&(i.thicknessMap=n(t.thicknessMap)),void 0!==t.anisotropyMap&&(i.anisotropyMap=n(t.anisotropyMap)),void 0!==t.sheenColorMap&&(i.sheenColorMap=n(t.sheenColorMap)),void 0!==t.sheenRoughnessMap&&(i.sheenRoughnessMap=n(t.sheenRoughnessMap)),i}setTextures(t){return this.textures=t,this}static createMaterialFromType(t){return new{ShadowMaterial:id,SpriteMaterial:rc,RawShaderMaterial:rd,ShaderMaterial:$s,PointsMaterial:Mh,MeshPhysicalMaterial:ad,MeshStandardMaterial:sd,MeshPhongMaterial:od,MeshToonMaterial:ld,MeshNormalMaterial:cd,MeshLambertMaterial:hd,MeshDepthMaterial:Fl,MeshDistanceMaterial:Bl,MeshBasicMaterial:es,MeshMatcapMaterial:ud,LineDashedMaterial:dd,LineBasicMaterial:hh,Material:ts}[t]}}class dp{static decodeText(t){if("undefined"!=typeof TextDecoder)return(new TextDecoder).decode(t);let e="";for(let n=0,i=t.length;n0){const n=new Nd(e);r=new kd(n),r.setCrossOrigin(this.crossOrigin);for(let e=0,n=t.length;e0){i=new kd(this.manager),i.setCrossOrigin(this.crossOrigin);for(let e=0,i=t.length;e{const e=new Oi;e.min.fromArray(t.boxMin),e.max.fromArray(t.boxMax);const n=new tr;return n.radius=t.sphereRadius,n.center.fromArray(t.sphereCenter),{boxInitialized:t.boxInitialized,box:e,sphereInitialized:t.sphereInitialized,sphere:n}})),s._maxGeometryCount=t.maxGeometryCount,s._maxVertexCount=t.maxVertexCount,s._maxIndexCount=t.maxIndexCount,s._geometryInitialized=t.geometryInitialized,s._geometryCount=t.geometryCount,s._matricesTexture=h(t.matricesTexture.uuid);break;case"LOD":s=new Sc;break;case"Line":s=new gh(l(t.geometry),c(t.material));break;case"LineLoop":s=new yh(l(t.geometry),c(t.material));break;case"LineSegments":s=new xh(l(t.geometry),c(t.material));break;case"PointCloud":case"Points":s=new wh(l(t.geometry),c(t.material));break;case"Sprite":s=new vc(c(t.material));break;case"Group":s=new Wl;break;case"Bone":s=new Uc;break;default:s=new Nr}if(s.uuid=t.uuid,void 0!==t.name&&(s.name=t.name),void 0!==t.matrix?(s.matrix.fromArray(t.matrix),void 0!==t.matrixAutoUpdate&&(s.matrixAutoUpdate=t.matrixAutoUpdate),s.matrixAutoUpdate&&s.matrix.decompose(s.position,s.quaternion,s.scale)):(void 0!==t.position&&s.position.fromArray(t.position),void 0!==t.rotation&&s.rotation.fromArray(t.rotation),void 0!==t.quaternion&&s.quaternion.fromArray(t.quaternion),void 0!==t.scale&&s.scale.fromArray(t.scale)),void 0!==t.up&&s.up.fromArray(t.up),void 0!==t.castShadow&&(s.castShadow=t.castShadow),void 0!==t.receiveShadow&&(s.receiveShadow=t.receiveShadow),t.shadow&&(void 0!==t.shadow.bias&&(s.shadow.bias=t.shadow.bias),void 0!==t.shadow.normalBias&&(s.shadow.normalBias=t.shadow.normalBias),void 0!==t.shadow.radius&&(s.shadow.radius=t.shadow.radius),void 0!==t.shadow.mapSize&&s.shadow.mapSize.fromArray(t.shadow.mapSize),void 0!==t.shadow.camera&&(s.shadow.camera=this.parseObject(t.shadow.camera))),void 0!==t.visible&&(s.visible=t.visible),void 0!==t.frustumCulled&&(s.frustumCulled=t.frustumCulled),void 0!==t.renderOrder&&(s.renderOrder=t.renderOrder),void 0!==t.userData&&(s.userData=t.userData),void 0!==t.layers&&(s.layers.mask=t.layers),void 0!==t.children){const a=t.children;for(let t=0;t{e&&e(n),r.manager.itemEnd(t)})).catch((t=>{i&&i(t)})):(setTimeout((function(){e&&e(s),r.manager.itemEnd(t)}),0),s);const a={};a.credentials="anonymous"===this.crossOrigin?"same-origin":"include",a.headers=this.requestHeader;const o=fetch(t,a).then((function(t){return t.blob()})).then((function(t){return createImageBitmap(t,Object.assign(r.options,{colorSpaceConversion:"none"}))})).then((function(n){return Ud.add(t,n),e&&e(n),r.manager.itemEnd(t),n})).catch((function(e){i&&i(e),Ud.remove(t),r.manager.itemError(t),r.manager.itemEnd(t)}));Ud.add(t,o),r.manager.itemStart(t)}}let yp;class Mp{static getContext(){return void 0===yp&&(yp=new(window.AudioContext||window.webkitAudioContext)),yp}static setContext(t){yp=t}}class Sp extends Od{constructor(t){super(t)}load(t,e,n,i){const r=this,s=new zd(this.manager);function a(e){i?i(e):console.error(e),r.manager.itemError(t)}s.setResponseType("arraybuffer"),s.setPath(this.path),s.setRequestHeader(this.requestHeader),s.setWithCredentials(this.withCredentials),s.load(t,(function(t){try{const n=t.slice(0);Mp.getContext().decodeAudioData(n,(function(t){e(t)})).catch(a)}catch(t){a(t)}}),n,i)}}const bp=new cr,Ep=new cr,Tp=new cr;class wp{constructor(){this.type="StereoCamera",this.aspect=1,this.eyeSep=.064,this.cameraL=new ta,this.cameraL.layers.enable(1),this.cameraL.matrixAutoUpdate=!1,this.cameraR=new ta,this.cameraR.layers.enable(2),this.cameraR.matrixAutoUpdate=!1,this._cache={focus:null,fov:null,aspect:null,near:null,far:null,zoom:null,eyeSep:null}}update(t){const e=this._cache;if(e.focus!==t.focus||e.fov!==t.fov||e.aspect!==t.aspect*this.aspect||e.near!==t.near||e.far!==t.far||e.zoom!==t.zoom||e.eyeSep!==this.eyeSep){e.focus=t.focus,e.fov=t.fov,e.aspect=t.aspect*this.aspect,e.near=t.near,e.far=t.far,e.zoom=t.zoom,e.eyeSep=this.eyeSep,Tp.copy(t.projectionMatrix);const n=e.eyeSep/2,i=n*e.near/e.focus,r=e.near*Math.tan(Gn*e.fov*.5)/e.zoom;let s,a;Ep.elements[12]=-n,bp.elements[12]=n,s=-r*e.aspect+i,a=r*e.aspect+i,Tp.elements[0]=2*e.near/(a-s),Tp.elements[8]=(a+s)/(a-s),this.cameraL.projectionMatrix.copy(Tp),s=-r*e.aspect-i,a=r*e.aspect-i,Tp.elements[0]=2*e.near/(a-s),Tp.elements[8]=(a+s)/(a-s),this.cameraR.projectionMatrix.copy(Tp)}this.cameraL.matrixWorld.copy(t.matrixWorld).multiply(Ep),this.cameraR.matrixWorld.copy(t.matrixWorld).multiply(bp)}}class Ap{constructor(t=!0){this.autoStart=t,this.startTime=0,this.oldTime=0,this.elapsedTime=0,this.running=!1}start(){this.startTime=Rp(),this.oldTime=this.startTime,this.elapsedTime=0,this.running=!0}stop(){this.getElapsedTime(),this.running=!1,this.autoStart=!1}getElapsedTime(){return this.getDelta(),this.elapsedTime}getDelta(){let t=0;if(this.autoStart&&!this.running)return this.start(),0;if(this.running){const e=Rp();t=(e-this.oldTime)/1e3,this.oldTime=e,this.elapsedTime+=t}return t}}function Rp(){return("undefined"==typeof performance?Date:performance).now()}const Cp=new Ui,Pp=new Ii,Lp=new Ui,Ip=new Ui;class Up extends Nr{constructor(){super(),this.type="AudioListener",this.context=Mp.getContext(),this.gain=this.context.createGain(),this.gain.connect(this.context.destination),this.filter=null,this.timeDelta=0,this._clock=new Ap}getInput(){return this.gain}removeFilter(){return null!==this.filter&&(this.gain.disconnect(this.filter),this.filter.disconnect(this.context.destination),this.gain.connect(this.context.destination),this.filter=null),this}getFilter(){return this.filter}setFilter(t){return null!==this.filter?(this.gain.disconnect(this.filter),this.filter.disconnect(this.context.destination)):this.gain.disconnect(this.context.destination),this.filter=t,this.gain.connect(this.filter),this.filter.connect(this.context.destination),this}getMasterVolume(){return this.gain.gain.value}setMasterVolume(t){return this.gain.gain.setTargetAtTime(t,this.context.currentTime,.01),this}updateMatrixWorld(t){super.updateMatrixWorld(t);const e=this.context.listener,n=this.up;if(this.timeDelta=this._clock.getDelta(),this.matrixWorld.decompose(Cp,Pp,Lp),Ip.set(0,0,-1).applyQuaternion(Pp),e.positionX){const t=this.context.currentTime+this.timeDelta;e.positionX.linearRampToValueAtTime(Cp.x,t),e.positionY.linearRampToValueAtTime(Cp.y,t),e.positionZ.linearRampToValueAtTime(Cp.z,t),e.forwardX.linearRampToValueAtTime(Ip.x,t),e.forwardY.linearRampToValueAtTime(Ip.y,t),e.forwardZ.linearRampToValueAtTime(Ip.z,t),e.upX.linearRampToValueAtTime(n.x,t),e.upY.linearRampToValueAtTime(n.y,t),e.upZ.linearRampToValueAtTime(n.z,t)}else e.setPosition(Cp.x,Cp.y,Cp.z),e.setOrientation(Ip.x,Ip.y,Ip.z,n.x,n.y,n.z)}}class Np extends Nr{constructor(t){super(),this.type="Audio",this.listener=t,this.context=t.context,this.gain=this.context.createGain(),this.gain.connect(t.getInput()),this.autoplay=!1,this.buffer=null,this.detune=0,this.loop=!1,this.loopStart=0,this.loopEnd=0,this.offset=0,this.duration=void 0,this.playbackRate=1,this.isPlaying=!1,this.hasPlaybackControl=!0,this.source=null,this.sourceType="empty",this._startedAt=0,this._progress=0,this._connected=!1,this.filters=[]}getOutput(){return this.gain}setNodeSource(t){return this.hasPlaybackControl=!1,this.sourceType="audioNode",this.source=t,this.connect(),this}setMediaElementSource(t){return this.hasPlaybackControl=!1,this.sourceType="mediaNode",this.source=this.context.createMediaElementSource(t),this.connect(),this}setMediaStreamSource(t){return this.hasPlaybackControl=!1,this.sourceType="mediaStreamNode",this.source=this.context.createMediaStreamSource(t),this.connect(),this}setBuffer(t){return this.buffer=t,this.sourceType="buffer",this.autoplay&&this.play(),this}play(t=0){if(!0===this.isPlaying)return void console.warn("THREE.Audio: Audio is already playing.");if(!1===this.hasPlaybackControl)return void console.warn("THREE.Audio: this Audio has no playback control.");this._startedAt=this.context.currentTime+t;const e=this.context.createBufferSource();return e.buffer=this.buffer,e.loop=this.loop,e.loopStart=this.loopStart,e.loopEnd=this.loopEnd,e.onended=this.onEnded.bind(this),e.start(this._startedAt,this._progress+this.offset,this.duration),this.isPlaying=!0,this.source=e,this.setDetune(this.detune),this.setPlaybackRate(this.playbackRate),this.connect()}pause(){if(!1!==this.hasPlaybackControl)return!0===this.isPlaying&&(this._progress+=Math.max(this.context.currentTime-this._startedAt,0)*this.playbackRate,!0===this.loop&&(this._progress=this._progress%(this.duration||this.buffer.duration)),this.source.stop(),this.source.onended=null,this.isPlaying=!1),this;console.warn("THREE.Audio: this Audio has no playback control.")}stop(){if(!1!==this.hasPlaybackControl)return this._progress=0,null!==this.source&&(this.source.stop(),this.source.onended=null),this.isPlaying=!1,this;console.warn("THREE.Audio: this Audio has no playback control.")}connect(){if(this.filters.length>0){this.source.connect(this.filters[0]);for(let t=1,e=this.filters.length;t0){this.source.disconnect(this.filters[0]);for(let t=1,e=this.filters.length;t0&&this._mixBufferRegionAdditive(n,i,this._addIndex*e,1,e);for(let t=e,r=e+e;t!==r;++t)if(n[t]!==n[t+e]){a.setValue(n,i);break}}saveOriginalState(){const t=this.binding,e=this.buffer,n=this.valueSize,i=n*this._origIndex;t.getValue(e,i);for(let t=n,r=i;t!==r;++t)e[t]=e[i+t%n];this._setIdentity(),this.cumulativeWeight=0,this.cumulativeWeightAdditive=0}restoreOriginalState(){const t=3*this.valueSize;this.binding.setValue(this.buffer,t)}_setAdditiveIdentityNumeric(){const t=this._addIndex*this.valueSize,e=t+this.valueSize;for(let n=t;n=.5)for(let i=0;i!==r;++i)t[e+i]=t[n+i]}_slerp(t,e,n,i){Ii.slerpFlat(t,e,t,e,t,n,i)}_slerpAdditive(t,e,n,i,r){const s=this._workIndex*r;Ii.multiplyQuaternionsFlat(t,s,t,e,t,n),Ii.slerpFlat(t,e,t,e,t,s,i)}_lerp(t,e,n,i,r){const s=1-i;for(let a=0;a!==r;++a){const r=e+a;t[r]=t[r]*s+t[n+a]*i}}_lerpAdditive(t,e,n,i,r){for(let s=0;s!==r;++s){const r=e+s;t[r]=t[r]+t[n+s]*i}}}const kp="\\[\\]\\.:\\/",Gp=new RegExp("["+kp+"]","g"),Wp="[^"+kp+"]",Xp="[^"+kp.replace("\\.","")+"]",jp=new RegExp("^"+/((?:WC+[\/:])*)/.source.replace("WC",Wp)+/(WCOD+)?/.source.replace("WCOD",Xp)+/(?:\.(WC+)(?:\[(.+)\])?)?/.source.replace("WC",Wp)+/\.(WC+)(?:\[(.+)\])?/.source.replace("WC",Wp)+"$"),qp=["material","materials","bones","map"];class Yp{constructor(t,e,n){this.path=e,this.parsedPath=n||Yp.parseTrackName(e),this.node=Yp.findNode(t,this.parsedPath.nodeName),this.rootNode=t,this.getValue=this._getValue_unbound,this.setValue=this._setValue_unbound}static create(t,e,n){return t&&t.isAnimationObjectGroup?new Yp.Composite(t,e,n):new Yp(t,e,n)}static sanitizeNodeName(t){return t.replace(/\s/g,"_").replace(Gp,"")}static parseTrackName(t){const e=jp.exec(t);if(null===e)throw new Error("PropertyBinding: Cannot parse trackName: "+t);const n={nodeName:e[2],objectName:e[3],objectIndex:e[4],propertyName:e[5],propertyIndex:e[6]},i=n.nodeName&&n.nodeName.lastIndexOf(".");if(void 0!==i&&-1!==i){const t=n.nodeName.substring(i+1);-1!==qp.indexOf(t)&&(n.nodeName=n.nodeName.substring(0,i),n.objectName=t)}if(null===n.propertyName||0===n.propertyName.length)throw new Error("PropertyBinding: can not parse propertyName from trackName: "+t);return n}static findNode(t,e){if(void 0===e||""===e||"."===e||-1===e||e===t.name||e===t.uuid)return t;if(t.skeleton){const n=t.skeleton.getBoneByName(e);if(void 0!==n)return n}if(t.children){const n=function(t){for(let i=0;i=r){const s=r++,c=t[s];e[c.uuid]=l,t[l]=c,e[o]=s,t[s]=a;for(let t=0,e=i;t!==e;++t){const e=n[t],i=e[s],r=e[l];e[l]=i,e[s]=r}}}this.nCachedObjects_=r}uncache(){const t=this._objects,e=this._indicesByUUID,n=this._bindings,i=n.length;let r=this.nCachedObjects_,s=t.length;for(let a=0,o=arguments.length;a!==o;++a){const o=arguments[a].uuid,l=e[o];if(void 0!==l)if(delete e[o],l0&&(e[a.uuid]=l),t[l]=a,t.pop();for(let t=0,e=i;t!==e;++t){const e=n[t];e[l]=e[r],e.pop()}}}this.nCachedObjects_=r}subscribe_(t,e){const n=this._bindingsIndicesByPath;let i=n[t];const r=this._bindings;if(void 0!==i)return r[i];const s=this._paths,a=this._parsedPaths,o=this._objects,l=o.length,c=this.nCachedObjects_,h=new Array(l);i=r.length,n[t]=i,s.push(t),a.push(e),r.push(h);for(let n=c,i=o.length;n!==i;++n){const i=o[n];h[n]=new Yp(i,t,e)}return h}unsubscribe_(t){const e=this._bindingsIndicesByPath,n=e[t];if(void 0!==n){const i=this._paths,r=this._parsedPaths,s=this._bindings,a=s.length-1,o=s[a];e[t[a]]=n,s[n]=o,s.pop(),r[n]=r[a],r.pop(),i[n]=i[a],i.pop()}}}class Jp{constructor(t,e,n=null,i=e.blendMode){this._mixer=t,this._clip=e,this._localRoot=n,this.blendMode=i;const r=e.tracks,s=r.length,a=new Array(s),o={endingStart:Ie,endingEnd:Ie};for(let t=0;t!==s;++t){const e=r[t].createInterpolant(null);a[t]=e,e.settings=o}this._interpolantSettings=o,this._interpolants=a,this._propertyBindings=new Array(s),this._cacheIndex=null,this._byClipCacheIndex=null,this._timeScaleInterpolant=null,this._weightInterpolant=null,this.loop=2201,this._loopCount=-1,this._startTime=null,this.time=0,this.timeScale=1,this._effectiveTimeScale=1,this.weight=1,this._effectiveWeight=1,this.repetitions=1/0,this.paused=!1,this.enabled=!0,this.clampWhenFinished=!1,this.zeroSlopeAtStart=!0,this.zeroSlopeAtEnd=!0}play(){return this._mixer._activateAction(this),this}stop(){return this._mixer._deactivateAction(this),this.reset()}reset(){return this.paused=!1,this.enabled=!0,this.time=0,this._loopCount=-1,this._startTime=null,this.stopFading().stopWarping()}isRunning(){return this.enabled&&!this.paused&&0!==this.timeScale&&null===this._startTime&&this._mixer._isActiveAction(this)}isScheduled(){return this._mixer._isActiveAction(this)}startAt(t){return this._startTime=t,this}setLoop(t,e){return this.loop=t,this.repetitions=e,this}setEffectiveWeight(t){return this.weight=t,this._effectiveWeight=this.enabled?t:0,this.stopFading()}getEffectiveWeight(){return this._effectiveWeight}fadeIn(t){return this._scheduleFading(t,0,1)}fadeOut(t){return this._scheduleFading(t,1,0)}crossFadeFrom(t,e,n){if(t.fadeOut(e),this.fadeIn(e),n){const n=this._clip.duration,i=t._clip.duration,r=i/n,s=n/i;t.warp(1,r,e),this.warp(s,1,e)}return this}crossFadeTo(t,e,n){return t.crossFadeFrom(this,e,n)}stopFading(){const t=this._weightInterpolant;return null!==t&&(this._weightInterpolant=null,this._mixer._takeBackControlInterpolant(t)),this}setEffectiveTimeScale(t){return this.timeScale=t,this._effectiveTimeScale=this.paused?0:t,this.stopWarping()}getEffectiveTimeScale(){return this._effectiveTimeScale}setDuration(t){return this.timeScale=this._clip.duration/t,this.stopWarping()}syncWith(t){return this.time=t.time,this.timeScale=t.timeScale,this.stopWarping()}halt(t){return this.warp(this._effectiveTimeScale,0,t)}warp(t,e,n){const i=this._mixer,r=i.time,s=this.timeScale;let a=this._timeScaleInterpolant;null===a&&(a=i._lendControlInterpolant(),this._timeScaleInterpolant=a);const o=a.parameterPositions,l=a.sampleValues;return o[0]=r,o[1]=r+n,l[0]=t/s,l[1]=e/s,this}stopWarping(){const t=this._timeScaleInterpolant;return null!==t&&(this._timeScaleInterpolant=null,this._mixer._takeBackControlInterpolant(t)),this}getMixer(){return this._mixer}getClip(){return this._clip}getRoot(){return this._localRoot||this._mixer._root}_update(t,e,n,i){if(!this.enabled)return void this._updateWeight(t);const r=this._startTime;if(null!==r){const i=(t-r)*n;i<0||0===n?e=0:(this._startTime=null,e=n*i)}e*=this._updateTimeScale(t);const s=this._updateTime(e),a=this._updateWeight(t);if(a>0){const t=this._interpolants,e=this._propertyBindings;if(this.blendMode===Oe)for(let n=0,i=t.length;n!==i;++n)t[n].evaluate(s),e[n].accumulateAdditive(a);else for(let n=0,r=t.length;n!==r;++n)t[n].evaluate(s),e[n].accumulate(i,a)}}_updateWeight(t){let e=0;if(this.enabled){e=this.weight;const n=this._weightInterpolant;if(null!==n){const i=n.evaluate(t)[0];e*=i,t>n.parameterPositions[1]&&(this.stopFading(),0===i&&(this.enabled=!1))}}return this._effectiveWeight=e,e}_updateTimeScale(t){let e=0;if(!this.paused){e=this.timeScale;const n=this._timeScaleInterpolant;if(null!==n){e*=n.evaluate(t)[0],t>n.parameterPositions[1]&&(this.stopWarping(),0===e?this.paused=!0:this.timeScale=e)}}return this._effectiveTimeScale=e,e}_updateTime(t){const e=this._clip.duration,n=this.loop;let i=this.time+t,r=this._loopCount;const s=2202===n;if(0===t)return-1===r?i:s&&1==(1&r)?e-i:i;if(2200===n){-1===r&&(this._loopCount=0,this._setEndings(!0,!0,!1));t:{if(i>=e)i=e;else{if(!(i<0)){this.time=i;break t}i=0}this.clampWhenFinished?this.paused=!0:this.enabled=!1,this.time=i,this._mixer.dispatchEvent({type:"finished",action:this,direction:t<0?-1:1})}}else{if(-1===r&&(t>=0?(r=0,this._setEndings(!0,0===this.repetitions,s)):this._setEndings(0===this.repetitions,!0,s)),i>=e||i<0){const n=Math.floor(i/e);i-=e*n,r+=Math.abs(n);const a=this.repetitions-r;if(a<=0)this.clampWhenFinished?this.paused=!0:this.enabled=!1,i=t>0?e:0,this.time=i,this._mixer.dispatchEvent({type:"finished",action:this,direction:t>0?1:-1});else{if(1===a){const e=t<0;this._setEndings(e,!e,s)}else this._setEndings(!1,!1,s);this._loopCount=r,this.time=i,this._mixer.dispatchEvent({type:"loop",action:this,loopDelta:n})}}else this.time=i;if(s&&1==(1&r))return e-i}return i}_setEndings(t,e,n){const i=this._interpolantSettings;n?(i.endingStart=Ue,i.endingEnd=Ue):(i.endingStart=t?this.zeroSlopeAtStart?Ue:Ie:Ne,i.endingEnd=e?this.zeroSlopeAtEnd?Ue:Ie:Ne)}_scheduleFading(t,e,n){const i=this._mixer,r=i.time;let s=this._weightInterpolant;null===s&&(s=i._lendControlInterpolant(),this._weightInterpolant=s);const a=s.parameterPositions,o=s.sampleValues;return a[0]=r,o[0]=e,a[1]=r+t,o[1]=n,this}}const Kp=new Float32Array(1);class $p extends Hn{constructor(t){super(),this._root=t,this._initMemoryManager(),this._accuIndex=0,this.time=0,this.timeScale=1}_bindAction(t,e){const n=t._localRoot||this._root,i=t._clip.tracks,r=i.length,s=t._propertyBindings,a=t._interpolants,o=n.uuid,l=this._bindingsByRootAndName;let c=l[o];void 0===c&&(c={},l[o]=c);for(let t=0;t!==r;++t){const r=i[t],l=r.name;let h=c[l];if(void 0!==h)++h.referenceCount,s[t]=h;else{if(h=s[t],void 0!==h){null===h._cacheIndex&&(++h.referenceCount,this._addInactiveBinding(h,o,l));continue}const i=e&&e._propertyBindings[t].binding.parsedPath;h=new Vp(Yp.create(n,l,i),r.ValueTypeName,r.getValueSize()),++h.referenceCount,this._addInactiveBinding(h,o,l),s[t]=h}a[t].resultBuffer=h.buffer}}_activateAction(t){if(!this._isActiveAction(t)){if(null===t._cacheIndex){const e=(t._localRoot||this._root).uuid,n=t._clip.uuid,i=this._actionsByClip[n];this._bindAction(t,i&&i.knownActions[0]),this._addInactiveAction(t,n,e)}const e=t._propertyBindings;for(let t=0,n=e.length;t!==n;++t){const n=e[t];0==n.useCount++&&(this._lendBinding(n),n.saveOriginalState())}this._lendAction(t)}}_deactivateAction(t){if(this._isActiveAction(t)){const e=t._propertyBindings;for(let t=0,n=e.length;t!==n;++t){const n=e[t];0==--n.useCount&&(n.restoreOriginalState(),this._takeBackBinding(n))}this._takeBackAction(t)}}_initMemoryManager(){this._actions=[],this._nActiveActions=0,this._actionsByClip={},this._bindings=[],this._nActiveBindings=0,this._bindingsByRootAndName={},this._controlInterpolants=[],this._nActiveControlInterpolants=0;const t=this;this.stats={actions:{get total(){return t._actions.length},get inUse(){return t._nActiveActions}},bindings:{get total(){return t._bindings.length},get inUse(){return t._nActiveBindings}},controlInterpolants:{get total(){return t._controlInterpolants.length},get inUse(){return t._nActiveControlInterpolants}}}}_isActiveAction(t){const e=t._cacheIndex;return null!==e&&e=0;--e)t[e].stop();return this}update(t){t*=this.timeScale;const e=this._actions,n=this._nActiveActions,i=this.time+=t,r=Math.sign(t),s=this._accuIndex^=1;for(let a=0;a!==n;++a){e[a]._update(i,t,r,s)}const a=this._bindings,o=this._nActiveBindings;for(let t=0;t!==o;++t)a[t].apply(s);return this}setTime(t){this.time=0;for(let t=0;tthis.max.x||t.ythis.max.y)}containsBox(t){return this.min.x<=t.min.x&&t.max.x<=this.max.x&&this.min.y<=t.min.y&&t.max.y<=this.max.y}getParameter(t,e){return e.set((t.x-this.min.x)/(this.max.x-this.min.x),(t.y-this.min.y)/(this.max.y-this.min.y))}intersectsBox(t){return!(t.max.xthis.max.x||t.max.ythis.max.y)}clampPoint(t,e){return e.copy(t).clamp(this.min,this.max)}distanceToPoint(t){return this.clampPoint(t,cm).distanceTo(t)}intersect(t){return this.min.max(t.min),this.max.min(t.max),this.isEmpty()&&this.makeEmpty(),this}union(t){return this.min.min(t.min),this.max.max(t.max),this}translate(t){return this.min.add(t),this.max.add(t),this}equals(t){return t.min.equals(this.min)&&t.max.equals(this.max)}}const um=new Ui,dm=new Ui;class pm{constructor(t=new Ui,e=new Ui){this.start=t,this.end=e}set(t,e){return this.start.copy(t),this.end.copy(e),this}copy(t){return this.start.copy(t.start),this.end.copy(t.end),this}getCenter(t){return t.addVectors(this.start,this.end).multiplyScalar(.5)}delta(t){return t.subVectors(this.end,this.start)}distanceSq(){return this.start.distanceToSquared(this.end)}distance(){return this.start.distanceTo(this.end)}at(t,e){return this.delta(e).multiplyScalar(t).add(this.start)}closestPointToPointParameter(t,e){um.subVectors(t,this.start),dm.subVectors(this.end,this.start);const n=dm.dot(dm);let i=dm.dot(um)/n;return e&&(i=jn(i,0,1)),i}closestPointToPoint(t,e,n){const i=this.closestPointToPointParameter(t,e);return this.delta(n).multiplyScalar(i).add(this.start)}applyMatrix4(t){return this.start.applyMatrix4(t),this.end.applyMatrix4(t),this}equals(t){return t.start.equals(this.start)&&t.end.equals(this.end)}clone(){return(new this.constructor).copy(this)}}const mm=new Ui;class fm extends Nr{constructor(t,e){super(),this.light=t,this.matrix=t.matrixWorld,this.matrixAutoUpdate=!1,this.color=e,this.type="SpotLightHelper";const n=new As,i=[0,0,0,0,0,1,0,0,0,1,0,1,0,0,0,-1,0,1,0,0,0,0,1,1,0,0,0,0,-1,1];for(let t=0,e=1,n=32;t1)for(let n=0;n.99999)this.quaternion.set(0,0,0,1);else if(t.y<-.99999)this.quaternion.set(1,0,0,0);else{Hm.set(t.z,0,-t.x).normalize();const e=Math.acos(t.y);this.quaternion.setFromAxisAngle(Hm,e)}}setLength(t,e=.2*t,n=.2*e){this.line.scale.set(1,Math.max(1e-4,t-e),1),this.line.updateMatrix(),this.cone.scale.set(n,e,n),this.cone.position.y=t,this.cone.updateMatrix()}setColor(t){this.line.material.color.set(t),this.cone.material.color.set(t)}copy(t){return super.copy(t,!1),this.line.copy(t.line),this.cone.copy(t.cone),this}dispose(){this.line.geometry.dispose(),this.line.material.dispose(),this.cone.geometry.dispose(),this.cone.material.dispose()}}class Wm extends xh{constructor(t=1){const e=[0,0,0,t,0,0,0,0,0,0,t,0,0,0,0,0,0,t],n=new As;n.setAttribute("position",new vs(e,3)),n.setAttribute("color",new vs([1,0,0,1,.6,0,0,1,0,.6,1,0,0,0,1,0,.6,1],3));super(n,new hh({vertexColors:!0,toneMapped:!1})),this.type="AxesHelper"}setColors(t,e,n){const i=new Kr,r=this.geometry.attributes.color.array;return i.set(t),i.toArray(r,0),i.toArray(r,3),i.set(e),i.toArray(r,6),i.toArray(r,9),i.set(n),i.toArray(r,12),i.toArray(r,15),this.geometry.attributes.color.needsUpdate=!0,this}dispose(){this.geometry.dispose(),this.material.dispose()}}class Xm{constructor(){this.type="ShapePath",this.color=new Kr,this.subPaths=[],this.currentPath=null}moveTo(t,e){return this.currentPath=new eu,this.subPaths.push(this.currentPath),this.currentPath.moveTo(t,e),this}lineTo(t,e){return this.currentPath.lineTo(t,e),this}quadraticCurveTo(t,e,n,i){return this.currentPath.quadraticCurveTo(t,e,n,i),this}bezierCurveTo(t,e,n,i,r,s){return this.currentPath.bezierCurveTo(t,e,n,i,r,s),this}splineThru(t){return this.currentPath.splineThru(t),this}toShapes(t){function e(t,e){const n=e.length;let i=!1;for(let r=n-1,s=0;sNumber.EPSILON){if(l<0&&(n=e[s],o=-o,a=e[r],l=-l),t.ya.y)continue;if(t.y===n.y){if(t.x===n.x)return!0}else{const e=l*(t.x-n.x)-o*(t.y-n.y);if(0===e)return!0;if(e<0)continue;i=!i}}else{if(t.y!==n.y)continue;if(a.x<=t.x&&t.x<=n.x||n.x<=t.x&&t.x<=a.x)return!0}}return i}const n=Hu.isClockWise,i=this.subPaths;if(0===i.length)return[];let r,s,a;const o=[];if(1===i.length)return s=i[0],a=new mu,a.curves=s.curves,o.push(a),o;let l=!n(i[0].getPoints());l=t?!l:l;const c=[],h=[];let u,d,p=[],m=0;h[m]=void 0,p[m]=[];for(let e=0,a=i.length;e1){let t=!1,n=0;for(let t=0,e=h.length;t0&&!1===t&&(p=c)}for(let t=0,e=h.length;t span { padding-top: 6px; } +#embedPanel input[type="text"], #embedPanel textarea { + flex: 1; border: 1px solid #ddd; border-radius: 4px; padding: 5px 8px; + font-size: 11px; color: #444; min-width: 200px; +} +#embedPanel textarea { resize: vertical; font-family: Consolas, monospace; } +.embed-actions { justify-content: flex-end; } +.embed-hint { font-size: 11px; color: #999; line-height: 1.6; } + +/* ===== 零件右键菜单 ===== */ +#ctxMenu { + position: fixed; z-index: 500; background: #fff; border: 1px solid #e3e6e8; + border-radius: 6px; box-shadow: 0 4px 16px rgba(0,0,0,.15); padding: 6px 0; + min-width: 140px; +} +.ctx-title { + padding: 6px 14px; font-weight: 600; font-size: 12px; color: #2b9ae8; + border-bottom: 1px solid #f0f2f3; margin-bottom: 4px; + max-width: 220px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; +} +.ctx-item { + display: flex; align-items: center; gap: 8px; padding: 7px 14px; + cursor: pointer; font-size: 12px; color: #444; +} +.ctx-item:hover { background: #f0f7fd; color: #2b9ae8; } +.ctx-item img { width: 18px; height: 18px; } +.ctx-sep { height: 1px; background: #f0f2f3; margin: 4px 0; } + +/* ===== 状态栏 ===== */ +#statusbar { + position: absolute; left: 0; right: 0; bottom: 0; height: 26px; + background: rgba(255,255,255,.92); border-top: 1px solid #e3e6e8; + display: flex; align-items: center; justify-content: space-between; + padding: 0 12px; font-size: 11px; color: #888; z-index: 44; +} +.status-right { color: #2b9ae8; } + +/* ===== 加载遮罩(新迪同款弹跳圆点) ===== */ +#loading { + position: fixed; inset: 0; background: rgba(255,255,255,.9); z-index: 200; + display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 20px; +} +.waiter { display: flex; gap: 12px; } +.waiter > div { + width: 18px; height: 18px; background-color: #2b9ae8; border-radius: 100%; + animation: bouncedelay 1.4s infinite ease-in-out; animation-fill-mode: both; +} +.waiter .bounce1 { animation-delay: -0.75s; } +.waiter .bounce2 { animation-delay: -0.5s; } +.waiter .bounce3 { animation-delay: -0.25s; } +@keyframes bouncedelay { + 0% { transform: scale(0); } + 50% { transform: scale(1); } + 100% { transform: scale(0); } +} +#loadingText { color: #666; font-size: 14px; } + +/* ===== 拖拽遮罩 ===== */ +#dropOverlay { + position: fixed; inset: 0; background: rgba(43,154,232,.08); z-index: 300; + display: flex; align-items: center; justify-content: center; +} +.drop-box { + border: 2px dashed #2b9ae8; border-radius: 12px; background: #fff; + padding: 50px 80px; font-size: 18px; color: #2b9ae8; pointer-events: none; +} + +/* ===== 测量标注 ===== */ +.measure-label { + background: #2b9ae8; color: #fff; font-size: 12px; font-weight: 600; + padding: 3px 8px; border-radius: 3px; white-space: nowrap; pointer-events: none; + box-shadow: 0 1px 4px rgba(0,0,0,.3); +} +.measure-label::after { + content: ''; position: absolute; left: 50%; top: 100%; margin-left: -4px; + border: 4px solid transparent; border-top-color: #2b9ae8; +} + +/* ===== 手机适配(≤768px) ===== */ +.tree-close { display: none; } +@media (max-width: 768px) { + .tree-close { + display: block; position: absolute; top: 12px; right: 10px; + border: none; background: #f2f7fc; color: #6b8498; font-size: 14px; + border-radius: 4px; padding: 2px 8px; cursor: pointer; + } + .tree-close:hover { background: #2b9ae8; color: #fff; } + #topbar { height: 44px; gap: 8px; padding: 0 8px; } + #topbar .logo-text { display: none; } + #topbar .file-name { display: none; } + #topbar .btn-primary, #topbar .btn-secondary { padding: 5px 10px; font-size: 12px; } + #main { top: 44px; } + body.embed #main { top: 0; } + + /* 模型树抽屉:默认隐藏,点「结构树」按钮弹出 */ + #treePanel { + position: fixed; top: 44px; left: 0; bottom: 0; width: min(280px, 85vw); z-index: 60; + transform: translateX(-100%); transition: transform .2s ease; box-shadow: 2px 0 12px rgba(0,0,0,.15); + } + body.embed #treePanel { top: 0; } + body.tree-open #treePanel { transform: translateX(0); } + #treePanel.hidden { display: flex; } /* 手机上抽屉由 tree-open 控制 */ + #viewport { left: 0; } + + #toolbar { left: 0; right: 0; transform: none; bottom: 8px; + border-radius: 0; border-left: none; border-right: none; padding: 2px 4px; overflow-x: auto; } + .tool-btn { width: 56px; height: 60px; flex: none; } + .tool-btn img { width: 32px; height: 32px; } + .tool-btn span { font-size: 11px; } + .float-panel { max-width: 92vw; max-height: 70vh; overflow: auto; } +} diff --git a/viewer/STEPViewer/uploads/LZ01001001_H100_2mm_445ee77a.stp.enc b/viewer/STEPViewer/uploads/LZ01001001_H100_2mm_445ee77a.stp.enc new file mode 100644 index 0000000..e891f8e Binary files /dev/null and b/viewer/STEPViewer/uploads/LZ01001001_H100_2mm_445ee77a.stp.enc differ diff --git a/viewer/STEPViewer/uploads/LZ01001001_H100_2mm_c36679e1.stp.enc b/viewer/STEPViewer/uploads/LZ01001001_H100_2mm_c36679e1.stp.enc new file mode 100644 index 0000000..2bc11cb Binary files /dev/null and b/viewer/STEPViewer/uploads/LZ01001001_H100_2mm_c36679e1.stp.enc differ diff --git a/viewer/STEPViewer/uploads/LZ01001001_H100_2mm_dfd66b16.stp.enc b/viewer/STEPViewer/uploads/LZ01001001_H100_2mm_dfd66b16.stp.enc new file mode 100644 index 0000000..5b83095 Binary files /dev/null and b/viewer/STEPViewer/uploads/LZ01001001_H100_2mm_dfd66b16.stp.enc differ diff --git a/viewer/STEPViewer/uploads/LZ01003005_H500_2mm_112ff8a4.stp.enc b/viewer/STEPViewer/uploads/LZ01003005_H500_2mm_112ff8a4.stp.enc new file mode 100644 index 0000000..2d1a7f9 Binary files /dev/null and b/viewer/STEPViewer/uploads/LZ01003005_H500_2mm_112ff8a4.stp.enc differ diff --git a/viewer/STEPViewer/uploads/LZ01003005_H500_2mm_89ffe8bd.stp.enc b/viewer/STEPViewer/uploads/LZ01003005_H500_2mm_89ffe8bd.stp.enc new file mode 100644 index 0000000..4595c53 Binary files /dev/null and b/viewer/STEPViewer/uploads/LZ01003005_H500_2mm_89ffe8bd.stp.enc differ diff --git a/viewer/STEPViewer/uploads/MS1H2-15C30CB-A631R-3D_90340fc1.stp.enc b/viewer/STEPViewer/uploads/MS1H2-15C30CB-A631R-3D_90340fc1.stp.enc new file mode 100644 index 0000000..b12b0ed Binary files /dev/null and b/viewer/STEPViewer/uploads/MS1H2-15C30CB-A631R-3D_90340fc1.stp.enc differ diff --git a/viewer/STEPViewer/uploads/PRT3866-3_5c36d760.stp.enc b/viewer/STEPViewer/uploads/PRT3866-3_5c36d760.stp.enc new file mode 100644 index 0000000..f3af4d3 Binary files /dev/null and b/viewer/STEPViewer/uploads/PRT3866-3_5c36d760.stp.enc differ diff --git a/viewer/STEPViewer/uploads/PRT3866-3_9e8024c1.stp.enc b/viewer/STEPViewer/uploads/PRT3866-3_9e8024c1.stp.enc new file mode 100644 index 0000000..ae2b461 Binary files /dev/null and b/viewer/STEPViewer/uploads/PRT3866-3_9e8024c1.stp.enc differ diff --git a/viewer/STEPViewer/uploads/PRT3866-3_e4e954f0.stp.enc b/viewer/STEPViewer/uploads/PRT3866-3_e4e954f0.stp.enc new file mode 100644 index 0000000..93af4af Binary files /dev/null and b/viewer/STEPViewer/uploads/PRT3866-3_e4e954f0.stp.enc differ diff --git a/viewer/STEPViewer/uploads/PRT3866_674229bd.stp.enc b/viewer/STEPViewer/uploads/PRT3866_674229bd.stp.enc new file mode 100644 index 0000000..8311671 Binary files /dev/null and b/viewer/STEPViewer/uploads/PRT3866_674229bd.stp.enc differ diff --git a/viewer/STEPViewer/uploads/PRT3871_54b828cf.stp.enc b/viewer/STEPViewer/uploads/PRT3871_54b828cf.stp.enc new file mode 100644 index 0000000..16453f9 Binary files /dev/null and b/viewer/STEPViewer/uploads/PRT3871_54b828cf.stp.enc differ diff --git a/viewer/STEPViewer/uploads/PRT4135_e1b74c51.stp.enc b/viewer/STEPViewer/uploads/PRT4135_e1b74c51.stp.enc new file mode 100644 index 0000000..d1e007a Binary files /dev/null and b/viewer/STEPViewer/uploads/PRT4135_e1b74c51.stp.enc differ diff --git a/viewer/STEPViewer/uploads/PRUGPS40DRS_944c8110.stp.enc b/viewer/STEPViewer/uploads/PRUGPS40DRS_944c8110.stp.enc new file mode 100644 index 0000000..4c0cf98 Binary files /dev/null and b/viewer/STEPViewer/uploads/PRUGPS40DRS_944c8110.stp.enc differ diff --git a/viewer/STEPViewer/uploads/as1-oc-214_7a2f5417.stp.enc b/viewer/STEPViewer/uploads/as1-oc-214_7a2f5417.stp.enc new file mode 100644 index 0000000..1981e34 Binary files /dev/null and b/viewer/STEPViewer/uploads/as1-oc-214_7a2f5417.stp.enc differ diff --git a/viewer/STEPViewer/uploads/as1-oc-214_9266db06.stp.enc b/viewer/STEPViewer/uploads/as1-oc-214_9266db06.stp.enc new file mode 100644 index 0000000..76e01ac Binary files /dev/null and b/viewer/STEPViewer/uploads/as1-oc-214_9266db06.stp.enc differ diff --git a/viewer/STEPViewer/uploads/as1-oc-214_bf307638.stp.enc b/viewer/STEPViewer/uploads/as1-oc-214_bf307638.stp.enc new file mode 100644 index 0000000..e90e8dd Binary files /dev/null and b/viewer/STEPViewer/uploads/as1-oc-214_bf307638.stp.enc differ diff --git a/viewer/STEPViewer/uploads/as1_embed_test_eb7c4a02.stp.enc b/viewer/STEPViewer/uploads/as1_embed_test_eb7c4a02.stp.enc new file mode 100644 index 0000000..004d621 Binary files /dev/null and b/viewer/STEPViewer/uploads/as1_embed_test_eb7c4a02.stp.enc differ diff --git a/viewer/STEPViewer/uploads/probe_test_fe3e1f7e.stp.enc b/viewer/STEPViewer/uploads/probe_test_fe3e1f7e.stp.enc new file mode 100644 index 0000000..8798b7d --- /dev/null +++ b/viewer/STEPViewer/uploads/probe_test_fe3e1f7e.stp.enc @@ -0,0 +1 @@ +&E^YWh#߰0?&*=؛F 3`4eyˁѦnQ+9ISʛyy \ No newline at end of file diff --git a/viewer/STEPViewer/部署说明.md b/viewer/STEPViewer/部署说明.md new file mode 100644 index 0000000..e757b3a --- /dev/null +++ b/viewer/STEPViewer/部署说明.md @@ -0,0 +1,95 @@ +# STEP 3D 查看器部署说明 + +## 〇、群晖 NAS 专用步骤(ftp.ruiguo.wang) + +1. **套件中心安装**:Web Station + PHP 8.x(DSM 7) +2. **传文件**:File Station → 找到网站根目录(对应 https://ftp.ruiguo.wang/3D/web/ 的目录) + → 把 `STEPViewer` 整个文件夹上传到 `3D/web/` 下 +3. **开 PHP**:Web Station → 脚本语言设置 → 确认 PHP 8.x 已启用(默认启用; + 如果用虚拟主机方式建站,需在该站点设置里选择 PHP 版本) +4. **改密钥**:`api/upload.php`、`api/token.php`、`api/model.php` 里的 `$SECRET` + 已经改成随机字符串(三处一致),如需自行更换请保持一致 +5. **私有目录(已预设,nginx 下最省事)**: + - `api/upload.php` 和 `api/model.php` 已预设 + `$PRIVATE_DIR = '/volume1/stepviewer_private';`(路径不对就改成实际路径) + - File Station 在 Web 目录外建这个文件夹(右键 web 文件夹同级 → 新建), + 并给 `http` 用户组读写权限 + - 上传的加密模型直接存这里,**Web 目录里根本没有模型文件,谁都下载不到** + - 你现有的 `assets/models/*.stp` 也建议移到这个私有目录, + 之后嵌入链接用 `?file=LZ01001001_H100_2mm.stp`(只写文件名即可) + - 留在 Web 目录里的文件(如 samples/ 样例)按原路径仍可打开(读取端自动退回站内), + 但**它们仍可被直链下载**——要保护的文件必须移进私有目录 +6. **可选——nginx 开 gzip(大幅加速远程打开)**: + 模型上传/下载已内置 gzip(STEP 文本可压到约 1/6,自动生效); + 再做这一步可让 7.6MB 的 wasm 引擎也压缩传输(约 2.9MB)。SSH 编辑 + Web Station 站点配置,在 server 块加: + ``` + gzip on; + gzip_types application/wasm application/javascript text/css text/plain; + gzip_min_length 1024; + ``` + (查看器会自动判断:浏览器 fetch 对 gzip 响应透明解压,无需任何前端配置) +7. **验证**:见下方「验证清单」 + +> 群晖 Web Station 默认 nginx,`.htaccess` 不生效——用上面的私有目录方案替代。 +> 若坚持模型文件留在 Web 目录,需 SSH 加 nginx 规则: +> `location ~* \.(stp|step|enc)$ { return 403; }`(控制面板→终端机开 SSH) + +## 一、目录结构(整个文件夹上传,缺一不可) + +## 一、目录结构(整个文件夹上传,缺一不可) + +``` +STEPViewer/ +├── index.html / app.js / style.css ← 页面与逻辑 +├── embed_demo.html ← 嵌入示例(可不传) +├── libs/ ← three.js + occt WASM 引擎(约 8MB) +├── icons/ ← 界面图标 +├── samples/ ← 测试模型(可不传) +├── uploads/ ← 上传的加密模型(自动创建) +├── api/ ← PHP 接口(虚拟主机用) +└── .htaccess ← 防直链(Apache 用) +``` + +## 二、方案 A:虚拟主机 / PHP 空间(最常见) + +1. 用 FTP 客户端(如 FileZilla)把整个 `STEPViewer` 文件夹上传到网站目录 + 例如:`https://ftp.ruiguo.wang/3D/web/STEPViewer/` +2. 确保主机支持 PHP 7+(`api/` 里的三个接口就是 PHP 写的) +3. 修改 `api/upload.php`、`api/token.php`、`api/model.php` 里的 `$SECRET` 为随机长字符串 +4. 确认主机是 Apache(.htaccess 生效)→ 模型文件自动禁止直链; + 如果是 Nginx,需要在配置里加等价规则(联系主机商或参考下方) +5. 把模型文件放到查看器目录内(整个 STEPViewer 文件夹一起传,如 `STEPViewer/models/xxx.stp`), + 嵌入地址:`/STEPViewer/index.html?file=models/xxx.stp&embed=1` + ⚠️ 启用防下载后(.htaccess 或 nginx 403 规则),`../` 这种逃出查看器目录的路径会被 + 令牌通道拒绝(防目录穿越),模型必须放在查看器目录内;用私有目录方案(§〇)时只写文件名。 + +**验证清单:** +- 浏览器打开 index.html 能加载模型 ✓ +- 直接访问 .stp 文件 → 403/拒绝 ✓ +- 拖入本地文件 → 状态栏显示「已上传」→ 嵌入链接可用 ✓ + +## 三、方案 B:自己的服务器(VPS/云主机,可跑 Python) + +1. 上传 `STEPViewer` 整个目录 +2. 把开发用的 `nds_server_step.py` 传上去,修改: + - `SECRET` 为随机长字符串 + - 监听 `0.0.0.0:8910`(对外服务) +3. 用 systemd / pm2 / nohup 常驻运行 +4. Nginx 反代(可选,便于 80/443 端口): + ``` + location /3D/web/STEPViewer/ { + proxy_pass http://127.0.0.1:8910/; + proxy_set_header Host $host; + client_max_body_size 500m; + } + ``` + 注意 Nginx 下需额外禁止 .stp/.step/.enc 直链(Python 服务本身已 403 拦截 ✓) + +## 四、常见问题 + +- **模型打不开**:检查 `libs/occt-import-js.wasm` 是否上传完整(7.6MB),服务器 `.wasm` 的 MIME 应为 `application/wasm`;开了 nginx gzip 后不影响(浏览器自动解压) +- **打开慢**:模型传输已内置 gzip(约省 84% 流量);wasm 引擎首次加载需下载 7.6MB,之后走浏览器缓存;群晖上建议按第〇节第 6 步给 nginx 开 gzip +- **上传失败提示**:说明接口没通(PHP 环境缺失或路径不对),模型仍可本地查看 +- **嵌入链接别人打不开**:确认用的是线上域名而非 127.0.0.1 +- **跨域加载(?url=)**:目标服务器必须允许 CORS,否则请用同源 `?file=` diff --git a/viewer/菜单精简-生产部署补丁.txt b/viewer/菜单精简-生产部署补丁.txt new file mode 100644 index 0000000..01243e0 --- /dev/null +++ b/viewer/菜单精简-生产部署补丁.txt @@ -0,0 +1,45 @@ +新迪 STEPViewer 嵌入菜单精简补丁 (欧霓博目录专用) +==================================================== +用途: 网页目录 iframe 里只保留 剖切/线框/透明/视角/测量 五个功能。 +本地副本 OnebotCatalog\viewer\STEPViewer\ 已改好 (app.js + style.css)。 +Z 盘原项目 (Z:\web\FTP_ObjectStorage\上海新迪3D\dev) 未动 —— 生产环境 (3d.ruiguo.wang) +由 Z 盘 FTP 同步, 需要你们自己在 Z 盘那套部署文件里应用同样的两处改动: + +【改动 1】app.js, 约 2075 行 "URL 参数自动加载" 注释块处, 把: + const EMBED_MODE = new URLSearchParams(location.search).get('embed') === '1'; + if (EMBED_MODE) document.body.classList.add('embed'); +改成 (加两行): + const EMBED_MODE = new URLSearchParams(location.search).get('embed') === '1'; + if (EMBED_MODE) document.body.classList.add('embed'); + const MIN_MENU = new URLSearchParams(location.search).get('menu') === 'min'; + if (MIN_MENU) document.body.classList.add('menu-min'); + +【改动 2】style.css, "body.embed #topbar" 规则之后追加 (含隐藏模型树): + body.menu-min #treePanel { display: none; } + body.menu-min #viewport { left: 0; } + body.menu-min .tool-btn[data-tool="select"], + body.menu-min .tool-btn[data-tool="drag"], + body.menu-min .tool-btn[data-tool="singalDrag"], + body.menu-min .tool-btn[data-tool="explode"], + body.menu-min #btnTree, + body.menu-min #btnColorPanel, + body.menu-min #btnShowAll, + body.menu-min #btnBbox, + body.menu-min #btnClear, + body.menu-min #btnSingleReset, + body.menu-min #btnAllReset, + body.menu-min #btnAxes, + body.menu-min #btnFull { display: none; } + +【改动 3】index.html, 之后紧接一段同步脚本 (首帧渲染前应用样式, 消除 +加载瞬间完整界面闪烁; 2026-08-24 补丁): + + +【目录站侧】OnebotCatalog\web\app.js 的 iframe 地址已带 &menu=min (本地已改), +生产发布时同样带上即可。独立打开查看器 (不带 menu=min) 时菜单保持原样, 互不影响。 diff --git a/web/app.js b/web/app.js new file mode 100644 index 0000000..6a34d8e --- /dev/null +++ b/web/app.js @@ -0,0 +1,1409 @@ +/* 欧霓博在线目录 MVP (纯静态, 零依赖) + * 与离线版 (OnebotCatalog.exe) 消费同一份 catalog.json, 选型规则语义完全一致。 + * 访问方式: 通过 Web 服务器 (tools\serve-web.ps1) 或上传到任意静态托管。 + * 自测: URL 加 ?selftest=1, 页面底部显示断言结果。 + */ +(function () { + 'use strict'; + + var state = { + catalog: null, + lang: 'zh', + series: null, // 当前系列 + sel: {}, // 已选参数 {code: value} + cart: [], // 购物车 (2026-08-24; 刷新页面才清空, 与选型状态解耦) + ranges: {}, // 数值参数范围 {code: [min|null, max|null]} + searchIndex: [], // [{series, variant, code, text}] + searchResult: [] + }; + + // ---------- 工具 ---------- + function $(id) { return document.getElementById(id); } + function str(v) { return v === null || v === undefined ? '' : String(v); } + function num(v) { return Number(str(v).replace(',', '.')); } + function t(zh, en) { return state.lang === 'en' ? en : zh; } + function esc(s) { + return String(s).replace(/&/g, '&').replace(//g, '>').replace(/"/g, '"'); + } + function paramName(p) { + var n = t(p.nameZh, p.nameEn); + return p.unit ? n + ' (' + p.unit + ')' : n; + } + function displayValue(p, v) { + var key = str(v); + if (p.display && p.display[key] !== undefined) return p.display[key]; + return key; + } + + // ---------- 选型规则引擎 (与 C# Configurator 同语义) ---------- + function condMatches(c, params) { + if (!c) return true; + var val = params[c.Param]; + if (val === undefined || val === null) return false; + switch (c.Op) { + case 'eq': return str(val) === str(c.Value); + case 'ne': return str(val) !== str(c.Value); + case 'in': + if (!Array.isArray(c.Value)) return false; + for (var i = 0; i < c.Value.length; i++) if (str(c.Value[i]) === str(val)) return true; + return false; + case 'gt': return num(val) > num(c.Value); + case 'ge': return num(val) >= num(c.Value); + case 'lt': return num(val) < num(c.Value); + case 'le': return num(val) <= num(c.Value); + case 'between': + return Array.isArray(c.Value) && c.Value.length === 2 && + num(val) >= num(c.Value[0]) && num(val) <= num(c.Value[1]); + default: return false; + } + } + + function ruleViolated(v, rules) { + for (var i = 0; i < rules.length; i++) { + var r = rules[i]; + if (condMatches(r.If, v.params) && !condMatches(r.Then, v.params)) return true; + } + return false; + } + + // 部分选择下的规则违背判定 (参数化联动): Then 参数未选时视为"尚可满足" (与 C# RuleViolatedPartial 同语义) + function ruleViolatedPartial(params, rules) { + for (var i = 0; i < rules.length; i++) { + var r = rules[i]; + if (condMatches(r.If, params) && (r.Then.Param in params) && !condMatches(r.Then, params)) return true; + } + return false; + } + + function validatePartial(s, sel) { + for (var i = 0; i < s.parameters.length; i++) { + var p = s.parameters[i]; + if (!(p.code in sel)) continue; // 未选参数不校验 + if (!domainValid(p, sel[p.code])) return 'domain'; + } + if (ruleViolatedPartial(sel, s.rules || [])) return 'rule'; + return null; + } + + function validVariants(series) { + var rules = series.rules || []; + return series.variants.filter(function (v) { return !ruleViolated(v, rules); }); + } + + function matches(v, sel) { + for (var k in sel) { + if (!(k in v.params) || str(v.params[k]) !== str(sel[k])) return false; + } + return true; + } + + function allowedOptions(series, sel) { + var result = {}; + for (var i = 0; i < series.parameters.length; i++) { + var p = series.parameters[i]; + // 候选值: 枚举/数值参数取定义值; range 参数取 gridValues 快捷值 + var cands = p.type === 'range' ? (p.gridValues || p.values || []) : (p.values || []); + var selForP = {}; + for (var k in sel) { if (k !== p.code) selForP[k] = sel[k]; } + var allowed = []; + // 联动按"域+规则"判合法 (参数化引擎一期): 自由 range 值没有对应网格行, + // 若按网格行存在性过滤会把其他参数选项瞬间清空 — 与 C# 同语义 + for (var j = 0; j < cands.length; j++) { + var combo = {}; + for (var k in selForP) combo[k] = selForP[k]; + combo[p.code] = cands[j]; + if (validatePartial(series, combo) === null) allowed.push(cands[j]); + } + // range 参数: 保留当前已选的自由输入值 (域内合法) — 防止联动刷新时清掉自定义值 + if (p.type === 'range' && sel[p.code] !== undefined && + !allowed.some(function (v) { return str(v) === str(sel[p.code]); }) && + domainValid(p, sel[p.code])) allowed.push(sel[p.code]); + result[p.code] = allowed; + } + return result; + } + + function resolve(series, sel) { + if (Object.keys(sel).length < series.parameters.length) return null; + var valid = validVariants(series); + for (var i = 0; i < valid.length; i++) { + if (matches(valid[i], sel)) return valid[i]; + } + return null; + } + + // ---------- 参数化引擎 (一期 2026-08-25, 与 C# ParametricEngine 同语义; 同一份 parametric-vectors.json 对拍) ---------- + function isParametric(s) { return !!s && s.mode === 'parametric'; } + + function renderCode(template, p) { + if (!template) return null; + var out = ''; + var i = 0; + while (i < template.length) { + if (template.charAt(i) === '{') { + var close = template.indexOf('}', i + 1); + if (close < 0) return null; + var token = template.substring(i + 1, close); + var parts = token.split(':'); + var field = parts[0].trim(); + if (!(field in p)) return null; + var sv = str(p[field]); + if (parts.length > 1) { + var padTok = parts[1].trim(); + if (padTok.toLowerCase().indexOf('pad') === 0) padTok = padTok.substring(3); + var pad = parseInt(padTok, 10); + if (!(pad >= 1)) return null; + while (sv.length < pad) sv = '0' + sv; + } + out += sv; + i = close + 1; + } else { out += template.charAt(i); i++; } + } + return out; + } + + function domainValid(p, v) { + if (v === undefined || v === null) return false; + if (p.type === 'range') { + if (v === '') return false; + var d = num(v); + if (isNaN(d)) return false; + if (p.min !== undefined && p.min !== null && d < p.min) return false; + if (p.max !== undefined && p.max !== null && d > p.max) return false; + var st = p.step || 1; + var base = p.min || 0; + if (st > 0 && Math.abs(d - base - Math.round((d - base) / st) * st) > 1e-6) return false; + return true; + } + // 枚举: 空串是合法值 (如 磁石=""=无磁石), 不得在此拦截 (与 C# DomainValid 同语义) + for (var i = 0; i < p.values.length; i++) if (str(p.values[i]) === str(v)) return true; + return false; + } + + function validateCombo(s, sel) { + for (var i = 0; i < s.parameters.length; i++) { + var p = s.parameters[i]; + if (!(p.code in sel)) return 'param'; + if (!domainValid(p, sel[p.code])) return 'domain'; + } + var fake = { modelCode: '', params: sel }; + if (ruleViolated(fake, s.rules || [])) return 'rule'; + return null; + } + + function parametricGenerate(s, sel) { + var r = { params: sel, error: null, modelCode: null, isStandard: false, variant: null }; + if (Object.keys(sel).length < s.parameters.length) { r.error = 'param'; return r; } + r.error = validateCombo(s, sel); + if (r.error) return r; + r.modelCode = renderCode(s.modelCodeTemplate, sel); + if (!r.modelCode) { r.error = 'template'; return r; } + var valid = validVariants(s); + for (var i = 0; i < valid.length; i++) { + if (valid[i].modelCode.toLowerCase() === r.modelCode.toLowerCase()) { + r.isStandard = true; r.variant = valid[i]; break; + } + } + return r; + } + + function nearestStandard(s, sel) { + var valid = validVariants(s); + var best = null, bestDist = Infinity; + for (var i = 0; i < valid.length; i++) { + var v = valid[i]; + var dist = 0; + for (var j = 0; j < s.parameters.length; j++) { + var p = s.parameters[j]; + var a = sel[p.code], b = v.params[p.code]; + if (a === undefined || b === undefined) continue; + if (p.type === 'range') dist += Math.abs(num(a) - num(b)); + else if (str(a) !== str(b)) dist += 1e6; + } + if (best === null || dist < bestDist - 1e-9 || + (Math.abs(dist - bestDist) < 1e-9 && v.modelCode < best.modelCode)) { + best = v; bestDist = dist; + } + } + return best; + } + + // ---------- 加载 ---------- + function load() { + fetch('catalog.json') + .then(function (r) { if (!r.ok) throw new Error('HTTP ' + r.status); return r.json(); }) + .then(function (cat) { + state.catalog = cat; + $('ver').textContent = cat.catalogName + ' v' + cat.catalogVersion; + buildSearchIndex(); + renderTree(); + renderCrossRef(); + setStatus(t('目录加载完成,请选择产品系列', 'Catalog loaded, select a series')); + if (location.search.indexOf('selftest=1') >= 0) runSelfTest(); + }) + .catch(function (e) { + setStatus(t('加载 catalog.json 失败: ', 'Failed to load catalog.json: ') + e.message + + t(' (请通过 Web 服务器访问, 不能直接双击打开本页)', ' (access via a web server, not file://)')); + }); + } + + // ---------- 目录树 ---------- + function renderTree() { + var tree = $('tree'); + tree.innerHTML = ''; + state.catalog.categories.forEach(function (cat) { + var catDiv = document.createElement('div'); + catDiv.className = 'cat'; + catDiv.textContent = t(cat.nameZh, cat.nameEn); + tree.appendChild(catDiv); + cat.series.forEach(function (code) { + var s = state.catalog.series.filter(function (x) { return x.code === code; })[0]; + if (!s) return; + var div = document.createElement('div'); + div.className = 'series'; + div.textContent = t(s.nameZh, s.nameEn); + div.onclick = function () { + var all = tree.querySelectorAll('.series'); + for (var i = 0; i < all.length; i++) all[i].classList.remove('active'); + div.classList.add('active'); + selectSeries(s); + }; + tree.appendChild(div); + }); + }); + } + + // ---------- 选型 ---------- + function selectSeries(s) { + state.series = s; + state.sel = {}; + state.ranges = {}; + state.tableFilter = {}; // 换系列重置参数表列筛选 + var panel = $('paramPanel'); + panel.innerHTML = ''; + s.parameters.forEach(function (p) { + var row = document.createElement('div'); + row.className = 'param-row'; + var label = document.createElement('label'); + label.textContent = paramName(p); + label.id = 'lbl-' + p.code; + row.appendChild(label); + if (p.type === 'range') { + // 参数化 range 域: 输入框 + 标准档位快捷选择 (与离线版可编辑下拉一致) + var inp = document.createElement('input'); + inp.id = 'sel-' + p.code; + inp.className = 'param-input'; + inp.setAttribute('list', 'dl-' + p.code); + inp.setAttribute('placeholder', t('输入或选标准档位', 'Type or pick standard')); + var dl = document.createElement('datalist'); + dl.id = 'dl-' + p.code; + inp.onchange = function () { + var raw = inp.value.trim(); + if (raw === '') { delete state.sel[p.code]; } + else { + var d = num(raw); + if (!isNaN(d) && domainValid(p, d)) state.sel[p.code] = d; + else { + setStatus(t('输入超出范围或与步长不符', 'Out of range or not aligned to step')); + delete state.sel[p.code]; + } + } + refreshOptions(); + }; + row.appendChild(inp); + row.appendChild(dl); + panel.appendChild(row); + return; + } + var sel = document.createElement('select'); + sel.id = 'sel-' + p.code; + sel.onchange = function () { + var raw = sel.value; + if (raw === '') { delete state.sel[p.code]; } + else { + var v = raw === '__EMPTY__' ? '' : (p.type === 'number' ? num(raw) : raw); + state.sel[p.code] = v; + } + refreshOptions(); + }; + row.appendChild(sel); + panel.appendChild(row); + }); + $('modelTitle').textContent = t(s.nameZh, s.nameEn); + $('btnDatasheet').classList.add('hidden'); + // 重置尺寸图区: 选型完成前只显示提示文字, 不显示占位图 + var dimImg = $('dimImage'); + dimImg.src = ''; + dimImg.classList.add('hidden'); + $('dimHint').classList.remove('hidden'); + $('dimHint').textContent = t('选型完成后显示尺寸图', 'Dimension drawing appears after selection'); + renderRangeRow(); + renderManualPages(s); + refreshOptions(); + renderTable(); + } + + // 手册页 (系列级附件 kind=manual, 尺寸图窗口滚动对照, 选系列即显示; 标题只显示序号不显示路径) + function renderManualPages(s) { + var mw = $('manualWrap'); + mw.innerHTML = ''; + var pages = (s.attachments || []).filter(function (a) { return a.kind === 'manual'; }); + pages.forEach(function (a, idx) { + var cap = document.createElement('p'); + cap.className = 'manual-cap'; + cap.textContent = t('手册页', 'Manual page') + ' ' + (idx + 1) + '/' + pages.length; + var im = document.createElement('img'); + im.className = 'manual-img'; + im.src = a.path; + im.alt = a.path; + mw.appendChild(cap); + mw.appendChild(im); + }); + } + + // 空字符串是合法枚举值 (如 磁石=""=无磁石), 用哨兵值避免与"未选择"混淆 + function optValue(v) { return str(v) === '' ? '__EMPTY__' : str(v); } + + function refreshOptions() { + var s = state.series; + if (!s) return; + var allowed = allowedOptions(s, state.sel); + s.parameters.forEach(function (p) { + var sel = $('sel-' + p.code); + var vals = allowed[p.code] || []; + if (p.type === 'range') { + // 输入框: 更新 datalist 标准档位 (标注 标准); 已选值回显 + var dl = $('dl-' + p.code); + dl.innerHTML = ''; + vals.forEach(function (v) { + var opt = document.createElement('option'); + opt.value = str(v); + var isGrid = (p.gridValues || []).some(function (g) { return str(g) === str(v); }); + opt.label = isGrid ? str(v) + ' (' + t('标准', 'Std') + ')' : str(v); + dl.appendChild(opt); + }); + sel.value = state.sel[p.code] !== undefined ? str(state.sel[p.code]) : ''; + return; + } + // 已选值变得不可选时清除 + if (state.sel[p.code] !== undefined && + !vals.some(function (v) { return str(v) === str(state.sel[p.code]); })) { + delete state.sel[p.code]; + } + sel.innerHTML = ''; + vals.forEach(function (v) { + var opt = document.createElement('option'); + opt.value = optValue(v); + opt.textContent = displayValue(p, v); + if (state.sel[p.code] !== undefined && str(v) === str(state.sel[p.code])) opt.selected = true; + sel.appendChild(opt); + }); + }); + updateSelection(); + if (crossFill) crossFill(); // 平替对照随选型刷新 (只显示当前型号的平替) + } + + function updateSelection() { + var s = state.series; + var v = resolve(s, state.sel); + var pres = null; + if (!v && isParametric(s) && Object.keys(state.sel).length === s.parameters.length) { + pres = parametricGenerate(s, state.sel); + if (pres && pres.error) pres = null; // 非法组合按"无匹配"处理 + } + curVariant = v; // 购物车"加入清单"用 (2026-08-24) + curParam = pres; // 参数化非标结果 (2026-08-25) + var dl = $('btnDownload'); + var ds = $('btnDatasheet'); + if (!v && !pres) { + $('modelTitle').textContent = t(s.nameZh, s.nameEn) + ' — ' + + t('已选 ' + Object.keys(state.sel).length + '/' + s.parameters.length + ' 项', Object.keys(state.sel).length + '/' + s.parameters.length + ' selected'); + dl.classList.add('hidden'); + ds.classList.add('hidden'); + $('btnGenFmt').classList.add('hidden'); + $('btnAddCart').classList.add('hidden'); + $('dimImage').classList.add('hidden'); + $('dimHint').classList.remove('hidden'); + $('dimHint').textContent = t('选型完成后显示尺寸图', 'Dimension drawing appears after selection'); + $('viewer3dHint').classList.remove('hidden'); + $('viewer3dHint').textContent = t('选型完成后显示 3D 外形 (拖拽旋转 / 滚轮缩放)', '3D preview appears after selection'); + var frame0 = $('viewerFrame'); + frame0.src = 'about:blank'; + frame0.classList.add('hidden'); + return; + } + + // 非标档位 (参数化引擎): 徽标 + 下载置灰 + 3D 降级最近标准档位 + 提示条 (与离线版一致) + if (pres) { + $('modelTitle').innerHTML = t('已选型号: ', 'Model: ') + esc(pres.modelCode) + + '' + t('非标档位(无标准数模)', 'Non-standard (no standard model)') + ''; + dl.classList.remove('hidden'); + dl.removeAttribute('href'); + var fmtSel = $('btnGenFmt'); + if (genApi()) { + // 按需生成服务可用 (二期): 按钮升级为【在线生成数模】+ 格式选择 (STEP/Parasolid/IGES/STL/全格式) + dl.disabled = false; + dl.title = ''; + dl.setAttribute('data-gen', '1'); + dl.textContent = t('在线生成数模', 'Generate 3D model online'); + dl.onclick = function (ev) { ev.preventDefault(); genSingle(pres); }; + fmtSel.classList.remove('hidden'); + } else { + fmtSel.classList.add('hidden'); + // 一期过渡态: 置灰 + 提示 (与离线版一致) + dl.disabled = true; + dl.removeAttribute('data-gen'); + dl.textContent = t('下载 STEP', 'Download STEP'); + dl.title = t('非标档位暂不支持数模下载,请联系销售或选择标准档位', + 'STEP download unavailable for non-standard config. Contact sales or choose a standard config.'); + dl.onclick = null; + } + $('btnAddCart').classList.remove('hidden'); + // 数据表 PDF 照常可下 + var dsAtt2 = (s.attachments || []).filter(function (a) { + return a.kind === 'datasheet' && a.lang === state.lang; + })[0] || (s.attachments || []).filter(function (a) { return a.kind === 'datasheet'; })[0]; + if (dsAtt2) { + ds.href = dsAtt2.path; + ds.setAttribute('download', dsAtt2.path.split('/').pop() || 'datasheet.pdf'); + ds.classList.remove('hidden'); + } else ds.classList.add('hidden'); + // 非标无尺寸图 + $('dimImage').classList.add('hidden'); + $('dimHint').classList.remove('hidden'); + $('dimHint').textContent = t('非标档位无标准尺寸图', 'No dimension drawing for non-standard config'); + var near = nearestStandard(s, state.sel); + if (near) load3D(near); + $('viewer3dHint').classList.remove('hidden'); + $('viewer3dHint').textContent = t( + '当前为非标档位,展示最近标准档位 ' + (near ? near.modelCode : '?') + ' 的近似几何', + 'Non-standard config — showing nearest standard model ' + (near ? near.modelCode : '?') + ' as approximation.'); + setStatus(t('非标档位: 无对应标准数模; STEP 下载需联系销售或选择标准档位', + 'Non-standard config: contact sales or choose a standard config for STEP')); + return; + } + + $('modelTitle').textContent = t('已选型号: ', 'Model: ') + v.modelCode; + dl.disabled = false; + dl.title = ''; + dl.textContent = t('下载 STEP', 'Download STEP'); + dl.onclick = null; // 清除非标分支的在线生成处理器 + dl.removeAttribute('data-gen'); + $('btnGenFmt').classList.add('hidden'); // 标准档位无多格式 (升级项: 维护端批量出多格式) + dl.href = v.step; + dl.setAttribute('download', v.modelCode + '.step'); + dl.classList.remove('hidden'); + dl.dataset.model = v.modelCode; + $('btnAddCart').classList.remove('hidden'); + setStatus(t('选型完成,点击下载 STEP', 'Ready - click to download STEP')); + + // 尺寸图 (优先匹配型号) + var att = null; + (s.attachments || []).forEach(function (a) { + if (a.kind === 'dimDrawing' && (a.model === v.modelCode || att === null)) att = a; + }); + if (att) { + $('dimImage').src = att.path; + $('dimImage').classList.remove('hidden'); + $('dimHint').classList.add('hidden'); + } + // 数据表 + var dsAtt = (s.attachments || []).filter(function (a) { + return a.kind === 'datasheet' && a.lang === state.lang; + })[0] || (s.attachments || []).filter(function (a) { return a.kind === 'datasheet'; })[0]; + if (dsAtt) { + // 下载行为 (2026-08-24): 点按钮直接下载 PDF, 与 STEP 下载一致 + ds.href = dsAtt.path; + ds.setAttribute('download', dsAtt.path.split('/').pop() || 'datasheet.pdf'); + ds.classList.remove('hidden'); + } + + // 3D 预览 (零依赖 Canvas 渲染) + load3D(v); + } + + // ---------- 参数表 (含范围筛选) ---------- + function renderRangeRow() { + var row = $('rangeRow'); + row.innerHTML = ''; + var s = state.series; + if (!s) return; + s.parameters.forEach(function (p) { + if (p.type !== 'number' && p.type !== 'range') return; + var lbl = document.createElement('span'); + lbl.textContent = paramName(p); + var min = document.createElement('input'); + min.placeholder = t('最小', 'min'); + var max = document.createElement('input'); + max.placeholder = t('最大', 'max'); + var apply = document.createElement('button'); + apply.textContent = t('应用', 'Apply'); + apply.onclick = function () { + var lo = min.value === '' ? null : num(min.value); + var hi = max.value === '' ? null : num(max.value); + if (lo !== null || hi !== null) state.ranges[p.code] = [lo, hi]; + else delete state.ranges[p.code]; + renderTable(); + }; + row.appendChild(lbl); row.appendChild(min); row.appendChild(max); row.appendChild(apply); + }); + } + + function inRange(v) { + var s = state.series; + for (var code in state.ranges) { + var p = s.parameters.filter(function (x) { return x.code === code; })[0]; + if (!p || p.type !== 'number') continue; + var val = num(v.params[code]); + var r = state.ranges[code]; + if (r[0] !== null && val < r[0]) return false; + if (r[1] !== null && val > r[1]) return false; + } + return true; + } + + // 2026-08-24: STEP 列去掉 (无意义); 每列表头可点击筛选取值, 与桌面版一致 + var colFilterPop = null; + function renderTable() { + var s = state.series; + var thead = $('variantTable').querySelector('thead'); + var tbody = $('variantTable').querySelector('tbody'); + thead.innerHTML = ''; tbody.innerHTML = ''; + closeColFilter(); + if (!s) return; + var f = state.tableFilter || {}; + var hr = document.createElement('tr'); + hr.appendChild(th(t('型号 Model', 'Model'))); + s.parameters.forEach(function (p) { + var h = th(paramName(p)); + var vals = distinctColValues(s, p); + if (vals.length > 1) { + h.classList.add('col-filter'); + h.title = t('点击筛选此列', 'Click to filter'); + if (f[p.code] !== undefined) h.textContent = paramName(p) + ' ▾ ' + displayValue(p, f[p.code]); + (function (p2, h2, vals2) { + h2.onclick = function (ev) { showColFilter(h2, p2, vals2, ev); }; + })(p, h, vals); + } + hr.appendChild(h); + }); + thead.appendChild(hr); + + validVariants(s).filter(inRange).filter(function (v) { + for (var k in f) { if (str(v.params[k]) !== str(f[k])) return false; } + return true; + }).forEach(function (v) { + var tr = document.createElement('tr'); + tr.appendChild(td(v.modelCode)); + s.parameters.forEach(function (p) { + tr.appendChild(td(v.params[p.code] !== undefined ? displayValue(p, v.params[p.code]) : '')); + }); + // 行尾"+"加入清单 (2026-08-24, 不触发行点击) + var addTd = document.createElement('td'); + var addBtn = document.createElement('button'); + addBtn.className = 'add-cart-btn'; + addBtn.textContent = '+'; + addBtn.title = t('加入清单', 'Add to Cart'); + addBtn.onclick = function (ev) { ev.stopPropagation(); addToCart(v); }; + addTd.appendChild(addBtn); + tr.appendChild(addTd); + tr.onclick = function () { + state.sel = {}; + s.parameters.forEach(function (p) { state.sel[p.code] = v.params[p.code]; }); + refreshOptions(); + switchTab('3d'); // 3D/尺寸图同页 (2026-08-24 合并后) + }; + tbody.appendChild(tr); + }); + setStatus(t('参数表: ' + tbody.children.length + ' 个型号', 'Table: ' + tbody.children.length + ' models')); + } + + function distinctColValues(s, p) { + var out = []; + validVariants(s).forEach(function (v) { + var sv = str(v.params[p.code]); + if (out.indexOf(sv) < 0) out.push(sv); + }); + return out; + } + + function showColFilter(header, p, vals, ev) { + closeColFilter(); + var pop = document.createElement('div'); + pop.className = 'col-filter-pop'; + var all = document.createElement('div'); + all.className = 'col-filter-item'; + all.textContent = t('全部 (清除筛选)', 'All (clear)'); + all.onclick = function () { delete state.tableFilter[p.code]; closeColFilter(); renderTable(); }; + pop.appendChild(all); + vals.forEach(function (sv) { + var it = document.createElement('div'); + it.className = 'col-filter-item'; + if ((state.tableFilter || {})[p.code] === sv) it.classList.add('sel'); + it.textContent = sv === '' ? t('(空值)', '(empty)') : displayValue(p, sv); + it.onclick = function () { + state.tableFilter = state.tableFilter || {}; + state.tableFilter[p.code] = sv; + closeColFilter(); + renderTable(); + }; + pop.appendChild(it); + }); + var r = header.getBoundingClientRect(); + pop.style.left = r.left + 'px'; + pop.style.top = (r.bottom + 2) + 'px'; + document.body.appendChild(pop); + colFilterPop = pop; + ev.stopPropagation(); + } + + function closeColFilter() { + if (colFilterPop && colFilterPop.parentNode) colFilterPop.parentNode.removeChild(colFilterPop); + colFilterPop = null; + } + document.addEventListener('click', closeColFilter); + + function th(txt) { var el = document.createElement('th'); el.textContent = txt; return el; } + function td(txt) { var el = document.createElement('td'); el.textContent = txt; return el; } + + // ---------- 搜索 ---------- + function buildSearchIndex() { + state.searchIndex = []; + state.catalog.series.forEach(function (s) { + (s.variants || []).forEach(function (v) { + var parts = [t(s.nameZh, s.nameEn), s.code, s.keywords || '']; + s.parameters.forEach(function (p) { + parts.push(t(p.nameZh, p.nameEn)); + parts.push(p.keywords || ''); + var dv = displayValue(p, v.params[p.code]); + parts.push(dv); + }); + state.searchIndex.push({ + series: s, variant: v, code: v.modelCode, + text: parts.join(' ').toLowerCase() + ' ' + v.modelCode.toLowerCase() + }); + }); + }); + } + + function doSearch() { + var q = $('searchBox').value.trim().toLowerCase(); + if (!q) return; + var tokens = q.split(/[\s,,;;]+/).filter(function (x) { return x.length > 0; }); + var results = []; + state.searchIndex.forEach(function (it) { + var code = it.code.toLowerCase(); + var allIn = tokens.every(function (tk) { return code.indexOf(tk) >= 0 || it.text.indexOf(tk) >= 0; }); + if (!allIn) return; + var score = 0; + if (tokens.some(function (tk) { return code === tk; })) score = 1000; + else if (tokens.every(function (tk) { return code.indexOf(tk) >= 0; })) score = 800; + else score = 500; + it.score = score; + results.push(it); + }); + // 平替模糊搜索 (2026-08-24): 竞品型号包含关键词 → 对应我方型号也列入结果 (精确命中给高分) + (state.catalog.crossRefs || []).forEach(function (cr) { + var fm = (cr.foreignModel || '').toLowerCase(); + var anyIn = tokens.some(function (tk) { return fm.indexOf(tk) >= 0; }); + if (!anyIn) return; + if (results.some(function (r) { return r.code.toLowerCase() === (cr.ourModel || '').toLowerCase(); })) return; + var hit = null, hs = null; + state.catalog.series.forEach(function (s) { + (s.variants || []).forEach(function (v) { + if (v.modelCode.toLowerCase() === (cr.ourModel || '').toLowerCase()) { hit = v; hs = s; } + }); + }); + if (!hit) return; + results.push({ + series: hs, variant: hit, code: hit.modelCode, + score: fm === q ? 950 : 750, + altNote: cr.brand + ' ' + cr.foreignModel + }); + }); + results.sort(function (a, b) { return b.score - a.score || (a.code < b.code ? -1 : 1); }); + state.searchResult = results; + var tbody = $('searchTable').querySelector('tbody'); + tbody.innerHTML = ''; + results.forEach(function (it) { + var tr = document.createElement('tr'); + tr.appendChild(td(it.code)); + tr.appendChild(td(t(it.series.nameZh, it.series.nameEn) + (it.altNote ? (' ← ' + t('平替 ', 'Alt ') + it.altNote) : ''))); + tr.appendChild(td(it.variant.step)); + tr.onclick = function () { + selectSeries(it.series); + state.sel = {}; + it.series.parameters.forEach(function (p) { state.sel[p.code] = it.variant.params[p.code]; }); + refreshOptions(); + switchTab('dim'); + }; + tbody.appendChild(tr); + }); + switchTab('search'); + setStatus(t('搜索 "' + q + '": ' + results.length + ' 条结果', 'Search "' + q + '": ' + results.length + ' result(s)')); + } + + // ---------- 标签页 / 语言 / 状态 ---------- + // 2026-08-24: 3D 与尺寸图合并为同一页 (tab-3d 内含左右分栏+可拖拽分隔条), 不再有独立尺寸图标签 + function switchTab(name) { + var tabs = document.querySelectorAll('.tab'); + for (var i = 0; i < tabs.length; i++) tabs[i].classList.toggle('active', tabs[i].getAttribute('data-tab') === name); + ['3d', 'table', 'search', 'cross'].forEach(function (n) { + $('tab-' + n).classList.toggle('hidden', n !== name); + }); + } + + // ---------- 平替对照 (竞品型号 → 我方型号, 源 catalog.crossRefs) ---------- + // 2026-08-24: 只显示与当前已选型号匹配的平替行 (未选型号则显示全部), 与桌面版一致 + var crossFill = null; + function renderCrossRef() { + var sel = $('crossBrand'); + var rows = state.catalog.crossRefs || []; + var brands = []; + rows.forEach(function (r) { if (brands.indexOf(r.brand) < 0) brands.push(r.brand); }); + brands.sort(); + sel.innerHTML = ''; + var opt0 = document.createElement('option'); + opt0.value = ''; opt0.textContent = t('全部品牌', 'All brands'); + sel.appendChild(opt0); + brands.forEach(function (b) { + var o = document.createElement('option'); + o.value = b; o.textContent = b; + sel.appendChild(o); + }); + sel.onchange = crossFill = fillCrossRef; + crossFill(); + function fillCrossRef() { + var b = sel.value; + var cur = null; + try { var sv = resolve(state.series, state.sel); cur = sv ? sv.modelCode : null; } catch (e) {} + var tb = $('crossTable').querySelector('tbody'); + tb.innerHTML = ''; + rows.forEach(function (r) { + if (b && r.brand !== b) return; + if (cur && r.ourModel.toLowerCase() !== cur.toLowerCase()) return; + var tr = document.createElement('tr'); + tr.innerHTML = '' + esc(r.brand) + '' + esc(r.foreignModel) + '' + + '' + esc(r.ourModel) + '' + esc(r.note || '') + ''; + tr.onclick = function () { jumpToModel(r.ourModel); }; + tb.appendChild(tr); + }); + } + } + + function jumpToModel(modelCode) { + var found = null, fs = null; + state.catalog.series.forEach(function (s) { + (s.variants || []).forEach(function (v) { + if (v.modelCode.toLowerCase() === modelCode.toLowerCase()) { found = v; fs = s; } + }); + }); + if (!found) { setStatus(t('平替型号未找到: ', 'Cross-ref model not found: ') + modelCode); return; } + selectSeries(fs); + state.sel = {}; + for (var k in found.params) state.sel[k] = found.params[k]; + refreshOptions(); + switchTab('3d'); + var all = document.querySelectorAll('#tree .series'); + for (var i = 0; i < all.length; i++) all[i].classList.remove('active'); + var node = Array.prototype.filter.call(all, function (el) { return el.textContent === t(fs.nameZh, fs.nameEn); })[0]; + if (node) node.classList.add('active'); + } + + // ---------- 购物车 (淘宝式清单批量导出, 2026-08-24; 与桌面版语义/文案一致) ---------- + var curVariant = null; // 当前已解析型号 (加入清单用, 由 updateSelection 维护) + var curParam = null; // 当前参数化非标结果 (2026-08-25, 与 curVariant 互斥) + + function paramsSummary(v) { + var s = state.series; + if (!s) return ''; + var parts = []; + s.parameters.forEach(function (p) { + if (v.params[p.code] === undefined) return; + var sv = str(v.params[p.code]); + var label = (p.display && p.display[sv] !== undefined) ? p.display[sv] : sv; + parts.push(t(p.nameZh, p.nameEn) + '=' + (label === '' ? t('(无)', '(none)') : label)); + }); + return parts.join('; '); + } + + function addToCart(v) { + if (!v) return; + var dup = state.cart.some(function (it) { return it.modelCode.toLowerCase() === v.modelCode.toLowerCase(); }); + if (dup) { setStatus(t('该型号已在清单中', 'Already in cart')); return; } + // 非标档位 (无 step): 打包时跳过并在清单中注明 (与离线版一致) + var nonStdPrefix = v.step ? '' : t('【非标档位(打包时无 STEP)】 ', '[Non-standard (no STEP in package)] '); + state.cart.push({ + modelCode: v.modelCode, + seriesCode: state.series ? state.series.code : '', + seriesName: state.series ? t(state.series.nameZh, state.series.nameEn) : '', + stepPath: v.step || null, + params: v.params || {}, // 非标批量生成提交用 (二期) + paramsSummary: nonStdPrefix + paramsSummary(v), + qty: 1 + }); + renderCartBadge(); + setStatus(t('已加入清单 (共 ' + state.cart.length + ' 项)', 'Added to cart (' + state.cart.length + ' items)')); + } + + function renderCartBadge() { + $('btnCart').textContent = t('清单 (' + state.cart.length + ')', 'Cart (' + state.cart.length + ')'); + } + + function openCart() { + $('cartOverlay').classList.remove('hidden'); + $('cartPanel').classList.remove('hidden'); + renderCart(); + } + function closeCart() { + $('cartOverlay').classList.add('hidden'); + $('cartPanel').classList.add('hidden'); + } + + function renderCart() { + var list = $('cartList'); + list.innerHTML = ''; + if (state.cart.length === 0) { + var empty = document.createElement('div'); + empty.className = 'hint'; + empty.textContent = t('清单为空, 请先加入型号', 'Cart is empty'); + list.appendChild(empty); + } + state.cart.forEach(function (it, idx) { + var div = document.createElement('div'); + div.className = 'cart-item'; + div.innerHTML = '
' + esc(it.modelCode) + '
' + + '
' + esc(it.seriesName) + ' · ' + esc(it.paramsSummary) + '
'; + var ops = document.createElement('div'); + ops.className = 'ci-ops'; + var lbl = document.createElement('span'); + lbl.textContent = t('数量', 'Qty'); + var qty = document.createElement('input'); + qty.type = 'number'; qty.min = '1'; qty.value = it.qty; + qty.onchange = function () { it.qty = Math.max(1, parseInt(qty.value, 10) || 1); qty.value = it.qty; }; + var del = document.createElement('button'); + del.className = 'ci-del'; + del.textContent = t('删除', 'Remove'); + del.onclick = function () { state.cart.splice(idx, 1); renderCart(); }; + ops.appendChild(lbl); ops.appendChild(qty); ops.appendChild(del); + div.appendChild(ops); + list.appendChild(div); + }); + renderCartBadge(); + } + + function csvEscape(c) { + c = c == null ? '' : String(c); + if (/[",\n\r]/.test(c)) c = '"' + c.replace(/"/g, '""') + '"'; + return c; + } + + function timestampName() { + var d = new Date(); + function p2(x) { return (x < 10 ? '0' : '') + x; } + return '' + d.getFullYear() + p2(d.getMonth() + 1) + p2(d.getDate()) + p2(d.getHours()) + p2(d.getMinutes()) + p2(d.getSeconds()); + } + + // ---------- NX 按需生成服务 (二期 A 版, 2026-08-25; 与离线版语义/文案一致) ---------- + function genApi() { + return (window.GEN_CONFIG && window.GEN_CONFIG.api) ? window.GEN_CONFIG.api.replace(/\/+$/, '') : ''; + } + + function triggerDownload(url, name) { + var a = document.createElement('a'); + a.href = url; + a.download = name; + document.body.appendChild(a); + a.click(); + a.remove(); + } + + // 下载地址/文件名按所选格式 (btnGenFmt: zip/step/parasolid/iges/stl; 生成输出留存全格式, 格式只影响下载) + function genFmt() { + var sel = $('btnGenFmt'); + return sel ? sel.value : 'zip'; + } + function downloadUrl(api, code) { + var fmt = genFmt(); + var url = api + '/download?series=' + encodeURIComponent(state.series.code) + '&code=' + encodeURIComponent(code); + if (fmt !== 'zip') url += '&fmt=' + encodeURIComponent(fmt); + return url; + } + function downloadName(code) { + var exts = { zip: '.zip', step: '.stp', iges: '.igs' }; + return code + (exts[genFmt()] || '.zip'); + } + + // 单型号在线生成: 提交 → 轮询 → 网页内 3D 预览 → 选格式 → 下载 (检索先行命中直接进入已生成态) + async function genSingle(pres) { + var api = genApi(); + if (!api || !pres) return; + var dl = $('btnDownload'); + dl.disabled = true; + dl.textContent = t('正在生成数模,预计 10–60 秒…', 'Generating — typically 10–60 s…'); + try { + var resp = await fetch(api + '/gen', { + method: 'POST', headers: { 'Content-Type': 'application/json' }, + body: JSON.stringify({ series: state.series.code, code: pres.modelCode, params: pres.params }) + }); + if (!resp.ok) { + var ej = null; + try { ej = await resp.json(); } catch (e) { } + throw new Error(ej && ej.error === 'queue_busy' ? t('生成队列繁忙,请稍后再试', 'Queue busy — try again later') + : ej && ej.error === 'too_many_requests' ? t('请求过于频繁,请稍后再试', 'Too many requests — try again later') + : t('请求被拒绝', 'Request rejected')); + } + var r = await resp.json(); + if (r.immediate) { finishGen(api, pres, dl); return; } + var done = false, last = ''; + for (var i = 0; i < 150 && !done; i++) { + await new Promise(function (res) { setTimeout(res, 3000); }); + var sr = await fetch(api + '/status?job=' + encodeURIComponent(r.jobId)); + if (!sr.ok) continue; + var st = await sr.json(); + if (st.state === 'queued') { last = t('生成队列繁忙,前面还有任务', 'Queue busy'); } + else if (st.state === 'running') { last = t('正在生成数模,预计 10–60 秒…', 'Generating — typically 10–60 s…'); } + else if (st.state === 'done' && st.ok) { done = true; break; } + else { throw new Error(t('生成失败,请重试或联系销售', 'Generation failed — retry or contact sales')); } + dl.textContent = last; + } + if (!done) throw new Error(t('生成超时,请重试', 'Generation timed out — retry')); + finishGen(api, pres, dl); + } catch (e) { + setStatus(t('生成失败: ', 'Generation failed: ') + e.message); + dl.disabled = false; + dl.textContent = t('在线生成数模', 'Generate 3D model online'); + } + } + + // 生成完成: 网页内 3D 预览 + 按钮变"已生成",用户选格式后点下载才真正下载 + function finishGen(api, pres, dl) { + previewGenerated(api, pres); + dl.disabled = false; + dl.setAttribute('data-gen', '1'); + dl.textContent = t('已生成,下载数模', 'Generated — download'); + dl.onclick = function (ev) { ev.preventDefault(); triggerDownload(downloadUrl(api, pres.modelCode), downloadName(pres.modelCode)); }; + setStatus(t('数模已生成,请选择格式后下载', 'Generated — select format and download')); + } + + // 用生成服务返回的 STEP 做网页内 3D 预览 (查看器 url= 参数 fetch GenServer /preview/{series}/{code}.stp) + function previewGenerated(api, pres) { + var frame = $('viewerFrame'); + var canvas = $('viewer3d'); + var hint = $('viewer3dHint'); + hint.classList.add('hidden'); + frame.classList.remove('hidden'); + canvas.classList.add('hidden'); + var stepUrl = api + '/preview/' + encodeURIComponent(state.series.code) + '/' + encodeURIComponent(pres.modelCode) + '.stp'; + frame.src = VIEWER_BASE + '?url=' + encodeURIComponent(stepUrl) + '&embed=1&bg=grey&menu=min'; + if (v3d.fallbackTimer) clearTimeout(v3d.fallbackTimer); + // 查看器不可用 (404/离线) → 回退内置 Canvas (url= 跨域无法探测 contentDocument, 故直接标记可用) + v3d.fallbackTimer = setTimeout(function () { + try { + var d = frame.contentDocument; + var ok = !!(d && d.body && d.body.innerHTML.length > 200); + if (!ok) { + frame.classList.add('hidden'); + canvas.classList.remove('hidden'); + $('viewer3dHint').classList.remove('hidden'); + $('viewer3dHint').textContent = t('3D 预览加载失败,请直接下载后本地查看', '3D preview failed — download to view locally'); + } + } catch (e) { /* 跨域视为可用 */ } + }, 8000); + } + + async function downloadCartZip() { + if (state.cart.length === 0) { setStatus(t('清单为空, 请先加入型号', 'Cart is empty')); return; } + var btn = $('cartDownload'); + btn.disabled = true; + btn.textContent = t('打包中...', 'Packing...'); + try { + var snap = state.cart.slice(); // 打包快照, 打包期间操作只影响下一次 + var zip = new JSZip(); + var missing = []; + var csv = '序号,型号编码,系列代码,系列名,数量,参数摘要,STEP文件名\r\n'; + var used = {}; + + // 非标档位 + 生成服务可用 → 先批量在线生成, 成功后合并进打包 zip (型号子文件夹多格式) + var nonStd = snap.filter(function (it) { return !it.stepPath; }); + var api = genApi(); + if (nonStd.length && api) { + btn.textContent = t('正在在线生成非标数模…', 'Generating non-standard models…'); + var st0 = null; + try { + var r0 = await fetch(api + '/gen-batch', { + method: 'POST', headers: { 'Content-Type': 'application/json' }, + body: JSON.stringify({ items: nonStd.map(function (it) { + return { series: it.seriesCode, code: it.modelCode, params: it.params || {} }; + }) }) + }); + if (!r0.ok) throw new Error(t('请求被拒绝', 'Request rejected')); + var j0 = await r0.json(); + if (j0.error) throw new Error(j0.error); + var done0 = false; + for (var w = 0; w < 200 && !done0; w++) { + await new Promise(function (res) { setTimeout(res, 3000); }); + var sr0 = await fetch(api + '/status?job=' + encodeURIComponent(j0.jobId)); + if (!sr0.ok) continue; + st0 = await sr0.json(); + if (st0.state === 'queued') { btn.textContent = t('生成队列繁忙,请稍候…', 'Queued…'); continue; } + if (st0.state === 'running') { + if (st0.done !== undefined && st0.total) btn.textContent = t('正在生成 ' + st0.done + '/' + st0.total + '…', 'Generating ' + st0.done + '/' + st0.total + '…'); + else btn.textContent = t('正在生成数模…', 'Generating…'); + continue; + } + if (st0.state === 'done') { done0 = true; break; } + throw new Error(st0.error || t('生成失败,请重试或联系销售', 'Generation failed — retry or contact sales')); + } + if (!done0) throw new Error(t('生成超时,请重试', 'Generation timed out — retry')); + // 整体 zip (含检索命中的已留存型号) → 合并进打包 zip + var zr0 = await fetch(api + '/files?job=' + encodeURIComponent(j0.jobId) + '&token=' + encodeURIComponent(j0.token)); + if (!zr0.ok) throw new Error(t('下载失败', 'Download failed')); + var sub = await JSZip.loadAsync(await zr0.blob()); + await Promise.all(Object.keys(sub.files).map(function (p) { + if (sub.files[p].dir) return Promise.resolve(); + return sub.files[p].async('uint8array').then(function (d) { zip.file(p, d); }); + })); + var fail0 = (st0 && st0.items ? st0.items : []).filter(function (x) { return !x.ok; }).map(function (x) { return x.code; }); + if (fail0.length) setStatus(t('部分非标生成失败: ', 'Some generation failed: ') + fail0.join(', ')); + } catch (e) { + btn.disabled = false; + btn.textContent = t('下载全部 (zip + BOM)', 'Download All (zip + BOM)'); + setStatus(t('非标生成失败: ', 'Generation failed: ') + e.message); + return; + } + } + for (var i = 0; i < snap.length; i++) { + var it = snap[i]; + // 非标档位: 生成服务可用时已合并为型号子文件夹; 不可用则显式注明 (不静默跳过) + if (!it.stepPath) { + csv += [i + 1, it.modelCode, it.seriesCode, it.seriesName, it.qty, it.paramsSummary, + genApi() ? t('(在线生成, 型号子文件夹)', '(generated online, subfolder)') : t('(非标档位,无 STEP)', '(non-standard, no STEP)')].map(csvEscape).join(',') + '\r\n'; + continue; + } + var seg = (it.stepPath || '').split('/').pop(); + var ext = seg.indexOf('.') >= 0 ? seg.substring(seg.lastIndexOf('.')) : '.step'; + var name = it.modelCode + ext; + if (used[name]) name = it.modelCode + '_' + it.seriesCode + ext; // 重名冲突加系列码 + used[name] = true; + try { + var resp = await fetch(it.stepPath); + if (!resp.ok) throw new Error('HTTP ' + resp.status); + zip.file(name, await resp.blob()); + } catch (e) { missing.push(it.modelCode); } + csv += [i + 1, it.modelCode, it.seriesCode, it.seriesName, it.qty, it.paramsSummary, name].map(csvEscape).join(',') + '\r\n'; + } + zip.file('BOM.csv', '' + csv); // UTF-8 BOM, Excel 中文不乱码 + zip.file('清单.txt', csv.replace(/,/g, ' ')); + var blob = await zip.generateAsync({ type: 'blob' }); + var url = URL.createObjectURL(blob); + var a = document.createElement('a'); + a.href = url; + a.download = 'ONEBOT_清单_' + timestampName() + '.zip'; + document.body.appendChild(a); + a.click(); + a.remove(); + setTimeout(function () { URL.revokeObjectURL(url); }, 8000); + if (missing.length) setStatus(t('打包完成, 但以下型号文件缺失: ', 'Packed, but missing: ') + missing.join(', ')); + else setStatus(t('已开始下载清单压缩包', 'Cart zip download started')); + } catch (e) { + setStatus(t('打包失败: ', 'Pack failed: ') + e.message); + } finally { + btn.disabled = false; + btn.textContent = t('下载全部 (zip + BOM)', 'Download All (zip + BOM)'); + } + } + + $('btnCart').onclick = openCart; + $('cartClose').onclick = closeCart; + $('cartOverlay').onclick = closeCart; + $('cartClear').onclick = function () { state.cart = []; renderCart(); }; + $('cartDownload').onclick = downloadCartZip; + $('btnAddCart').onclick = function () { addToCart(curVariant || curParam); }; + + function setStatus(msg) { var m = $('statusMsg'); if (m) m.textContent = msg + ' [v3]'; } + + function applyLang() { + $('btnLang').textContent = state.lang === 'zh' ? 'EN' : '中'; + $('searchBox').placeholder = t('搜索型号 / 关键词 / 拼音', 'Search model / keyword / pinyin'); + $('btnSearch').textContent = t('搜索', 'Search'); + $('btnAddCart').textContent = t('加入清单', 'Add to Cart'); + $('cartTitle').textContent = t('我的清单', 'My Cart'); + $('cartClear').textContent = t('清空', 'Clear All'); + $('cartDownload').textContent = t('下载全部 (zip + BOM)', 'Download All (zip + BOM)'); + renderCartBadge(); + $('btnDownload').textContent = t('下载 STEP', 'Download STEP'); + $('btnDatasheet').textContent = t('数据表 PDF', 'Datasheet PDF'); + $('dimHint').textContent = t('选型完成后显示尺寸图', 'Dimension drawing appears after selection'); + var tabs = document.querySelectorAll('.tab'); + tabs[0].textContent = t('3D / 尺寸图', '3D / Dimension'); + tabs[1].textContent = t('参数表', 'Parameters'); + tabs[2].textContent = t('搜索结果', 'Search'); + tabs[3].textContent = t('平替对照', 'Cross-Reference'); + renderTree(); + if (state.series) selectSeries(state.series); + } + + // ---------- 自测 (与离线版 --selftest 对齐的关键场景) ---------- + function runSelfTest() { + var pass = 0, fail = 0; + var out = []; + function check(name, ok) { out.push((ok ? 'PASS ' : 'FAIL ') + name); if (ok) pass++; else fail++; } + try { + var cat = state.catalog; + check('catalog 加载 (系列数 ' + cat.series.length + ')', cat.series.length >= 2); + var sc = cat.series[0]; + check('SC 有效变体 72', validVariants(sc).length === 72); + var a1 = allowedOptions(sc, { bore: 16 }); + var strokes = a1.stroke.map(function (x) { return num(x); }).sort(function (x, y) { return x - y; }); + check('缸径16→行程仅25/50', strokes.length === 2 && strokes[0] === 25 && strokes[1] === 50); + var a2 = allowedOptions(sc, { magnet: 'S' }); + check('磁石S→缸径不含16', a2.bore.length === 3 && a2.bore.every(function (x) { return num(x) !== 16; })); + var v = resolve(sc, { bore: 32, stroke: 50, magnet: 'S', mount: 'LB' }); + check('选型命中 SC32x50S-LB', v && v.modelCode === 'SC32x50S-LB'); + var maq = cat.series[1]; + var a3 = allowedOptions(maq, { bore: 6 }); + check('MAQ 缸径6→行程仅10/20', a3.stroke.length === 2 && num(a3.stroke[0]) === 10 && num(a3.stroke[1]) === 20); + buildSearchIndex(); + var r1 = []; + state.searchIndex.forEach(function (it) { if (it.code.indexOf('sc32') >= 0) r1.push(it.code); }); + check('搜索索引含 SC32 系列', r1.length >= 4); + var r2 = []; + state.searchIndex.forEach(function (it) { if (it.text.indexOf('gangjing') >= 0) r2.push(it.code); }); + check('拼音关键词 gangjing 索引存在', r2.length > 0); + } catch (e) { + fail++; + out.push('EXCEPTION: ' + e.message); + } + out.push('结果: ' + pass + ' 通过, ' + fail + ' 失败'); + setStatus('WEB SELFTEST — ' + out.join(' | ')); + console.log(out.join('\n')); + } + + // ---------- 3D 预览 (零依赖 Canvas: 解析自有 STEP 圆柱 → 面片画家算法) ---------- + var v3d = { cyls: null, theta: 0.7, phi: 0.45, zoom: 1.0, dragging: false, lastX: 0, lastY: 0 }; + var V3D_COLORS = ['#8C8C8C', '#2F6FB3', '#8C8C8C', '#C8C8C8']; + + function parseStepCyls(text) { + var rs = [], xs = [], zs = [], m; + var re = /CYLINDRICAL_SURFACE\('',#\d+,([\d.]+)\);/g; + while ((m = re.exec(text))) rs.push(parseFloat(m[1])); + // 圆心点 = 仅有的 y=0 点: (X, 0, Z) 每圆柱一对 + var re2 = /CARTESIAN_POINT\('',\((-?[\d.]+),0,(-?[\d.]+)\)\);/g; + while ((m = re2.exec(text))) { xs.push(parseFloat(m[1])); zs.push(parseFloat(m[2])); } + var cy = []; + for (var i = 0; i < rs.length && 2 * i + 1 < zs.length; i++) + cy.push({ z0: Math.min(zs[2 * i], zs[2 * i + 1]), z1: Math.max(zs[2 * i], zs[2 * i + 1]), r: rs[i], x: xs[2 * i] }); + return cy; + } + + // ---- 3D 查看器联动 (新迪 STEPViewer: occt-import-js + three.js, 支持真实 STEP) ---- + // 本地联调: /viewer/ 前缀由 serve-web.ps1 -ViewerRoot 映射到新迪 dev 目录 + // 生产同域部署 (3d.ruiguo.wang): 改为 '/STEPViewer/index.html' + // (模型文件已同步到 STEPViewer/step/ 目录, file 参数 = 目录内相对路径) + var VIEWER_BASE = '/viewer/STEPViewer/index.html'; + + function load3D(variant) { + var frame = $('viewerFrame'); + var canvas = $('viewer3d'); + var hint = $('viewer3dHint'); + hint.classList.add('hidden'); + frame.classList.remove('hidden'); + canvas.classList.add('hidden'); + // 站点根绝对路径 (/step/...): 模型始终从站点 step\ 目录取, 查看器无需自带模型副本 (踩坑 #20) + frame.src = VIEWER_BASE + '?file=' + encodeURIComponent('/' + variant.step) + '&embed=1&bg=grey&menu=min'; + if (v3d.fallbackTimer) clearTimeout(v3d.fallbackTimer); + // 查看器不可用 (404/离线) → 回退内置 Canvas 渲染 + v3d.fallbackTimer = setTimeout(function () { + var ok = false; + try { + var d = frame.contentDocument; + ok = !!(d && d.body && d.body.innerHTML.length > 200); + } catch (e) { ok = true; } // 跨域无法探测, 视为可用 + if (!ok) { + frame.classList.add('hidden'); + canvas.classList.remove('hidden'); + load3DFallback(variant); + } + }, 8000); + } + + function load3DFallback(variant) { + fetch(variant.step) + .then(function (r) { if (!r.ok) throw new Error('HTTP ' + r.status); return r.text(); }) + .then(function (text) { + v3d.cyls = parseStepCyls(text); + $('viewer3dHint').classList.add('hidden'); + draw3D(); + }) + .catch(function (e) { + v3d.cyls = null; + $('viewer3dHint').classList.remove('hidden'); + $('viewer3dHint').textContent = t('3D 加载失败: ', '3D load failed: ') + e.message; + }); + } + + function draw3D() { + var canvas = $('viewer3d'); + var ctx = canvas.getContext('2d'); + var W = canvas.width, H = canvas.height; + ctx.clearRect(0, 0, W, H); + if (!v3d.cyls || v3d.cyls.length === 0) return; + + var scale = 60 * v3d.zoom; + var cx = W / 2, cy = H / 2; + function proj(p) { + var ct = Math.cos(v3d.theta), st = Math.sin(v3d.theta); + var cp = Math.cos(v3d.phi), sp = Math.sin(v3d.phi); + var x1 = p[0] * ct + p[2] * st; + var z1 = -p[0] * st + p[2] * ct; + var y1 = p[1] * cp - z1 * sp; + var z2 = p[1] * sp + z1 * cp; + var f = 420 / (420 + z2); + return { x: cx + x1 * f * scale, y: cy - y1 * f * scale, z: z2 }; + } + + var faces = []; + for (var ci = 0; ci < v3d.cyls.length; ci++) { + var c = v3d.cyls[ci]; + var seg = 24; + var color = V3D_COLORS[ci % V3D_COLORS.length]; + var ring0 = [], ring1 = []; + for (var i = 0; i <= seg; i++) { + var a = 2 * Math.PI * i / seg, x = Math.cos(a) * c.r + (c.x || 0), y = Math.sin(a) * c.r; + ring0.push([x, y, c.z0]); + ring1.push([x, y, c.z1]); + } + for (i = 0; i < seg; i++) { + var an = (i + 0.5) * 2 * Math.PI / seg; + faces.push({ + pts: [ring0[i], ring0[i + 1], ring1[i + 1], ring1[i]], + n: [Math.cos(an), Math.sin(an), 0], + c: color + }); + } + faces.push({ pts: ring0, n: [0, 0, -1], c: color }); + faces.push({ pts: ring1, n: [0, 0, 1], c: color }); + } + + var light = [-0.5, 0.55, -0.75]; + var ll = Math.sqrt(light[0] * light[0] + light[1] * light[1] + light[2] * light[2]); + light = [light[0] / ll, light[1] / ll, light[2] / ll]; + + faces.forEach(function (f) { + var pr = f.pts.map(proj); + f.depth = pr.reduce(function (s, q) { return s + q.z; }, 0) / pr.length; + f.pr = pr; + var nl = f.n[0] * light[0] + f.n[1] * light[1] + f.n[2] * light[2]; + f.shade = Math.max(0.35, Math.min(1, 0.55 + 0.45 * nl)); + }); + faces.sort(function (a, b) { return a.depth - b.depth; }); // 远 → 近 + + faces.forEach(function (f) { + ctx.beginPath(); + ctx.moveTo(f.pr[0].x, f.pr[0].y); + for (var k = 1; k < f.pr.length; k++) ctx.lineTo(f.pr[k].x, f.pr[k].y); + ctx.closePath(); + var rr = parseInt(f.c.substr(1, 2), 16), gg = parseInt(f.c.substr(3, 2), 16), bb = parseInt(f.c.substr(5, 2), 16); + ctx.fillStyle = 'rgb(' + Math.round(rr * f.shade) + ',' + Math.round(gg * f.shade) + ',' + Math.round(bb * f.shade) + ')'; + ctx.fill(); + ctx.strokeStyle = 'rgba(0,0,0,0.12)'; + ctx.stroke(); + }); + } + + (function () { + var canvas = $('viewer3d'); + canvas.addEventListener('mousedown', function (e) { + v3d.dragging = true; v3d.lastX = e.clientX; v3d.lastY = e.clientY; + }); + window.addEventListener('mousemove', function (e) { + if (!v3d.dragging) return; + v3d.theta += (e.clientX - v3d.lastX) * 0.01; + v3d.phi = Math.max(-1.4, Math.min(1.4, v3d.phi + (e.clientY - v3d.lastY) * 0.01)); + v3d.lastX = e.clientX; v3d.lastY = e.clientY; + draw3D(); + }); + window.addEventListener('mouseup', function () { v3d.dragging = false; }); + canvas.addEventListener('wheel', function (e) { + e.preventDefault(); + v3d.zoom = Math.max(0.3, Math.min(5, v3d.zoom * (e.deltaY > 0 ? 0.9 : 1.1))); + draw3D(); + }); + })(); + + // ---------- 面板拖拽调宽 (目录树/参数面板, 与桌面版一致) ---------- + function makeSplitter(id, prevSel, minW, maxW) { + var el = $(id); + var prev = document.querySelector(prevSel); + el.addEventListener('mousedown', function (e) { + e.preventDefault(); + el.classList.add('dragging'); + var startX = e.clientX, startW = prev.offsetWidth; + function move(ev) { + var w = Math.max(minW, Math.min(maxW, startW + ev.clientX - startX)); + prev.style.width = w + 'px'; + prev.style.flex = 'none'; + } + function up() { + el.classList.remove('dragging'); + document.removeEventListener('mousemove', move); + document.removeEventListener('mouseup', up); + } + document.addEventListener('mousemove', move); + document.addEventListener('mouseup', up); + }); + } + makeSplitter('split1', '.tree', 150, 420); + makeSplitter('split2', '.params', 220, 520); + makeSplitter('split3', '.hsplit-left', 260, 900); // 3D/尺寸图 分栏分隔条 (同页内拖拽) + + // ---------- 初始化 ---------- + // 下载点击反馈: 立即提示 + 3 秒内防重复点击 (此前无反馈, 用户多次点击导致重复下载) + var lastDl = 0; + $('btnDownload').addEventListener('click', function () { + var now = Date.now(); + if (now - lastDl < 3000) return; + lastDl = now; + var m = $('btnDownload').dataset.model || ''; + setStatus(t('正在准备下载 ' + m + '.step ...', 'Preparing ' + m + '.step ...')); + setTimeout(function () { + setStatus(t('选型完成,点击下载 STEP', 'Ready - click to download STEP')); + }, 5000); + }); + $('btnSearch').onclick = doSearch; + $('searchBox').addEventListener('keydown', function (e) { if (e.key === 'Enter') doSearch(); }); + $('btnLang').onclick = function () { state.lang = state.lang === 'zh' ? 'en' : 'zh'; applyLang(); }; + document.querySelectorAll('.tab').forEach(function (el) { + el.onclick = function () { switchTab(el.getAttribute('data-tab')); }; + }); + load(); + startServicePoll(); + + // ---------- 生成服务状态轮询 (底部信息栏圆球: 绿=就绪, 红=故障; 文字"服务器状态·状态") ---------- + function startServicePoll() { + var el = $('srvStatus'); + if (!el) return; + var txtEl = $('srvStatusText'); + function setState(cls, word) { + el.className = 'srv-status ' + cls; + el.title = word; + if (txtEl) txtEl.textContent = t('服务器状态', 'Server') + ' · ' + word; + } + function tick() { + var api = genApi(); + if (!api) { setState('down', t('未配置', 'Not configured')); return; } + fetch(api + '/health', { method: 'GET' }) + .then(function (r) { if (!r.ok) throw new Error('HTTP ' + r.status); return r.json(); }) + .then(function (h) { + if (!h.nxOk) setState('down', t('NX 未就绪', 'NX not ready')); + else if (h.workerAlive) setState('ready', t('就绪', 'Ready')); + else if (h.queued > 0 || h.running > 0) setState('no-worker', t('等待 worker', 'Waiting')); + else setState('idle', t('就绪', 'Ready')); + }) + .catch(function () { setState('down', t('不可达', 'Unreachable')); }); + } + tick(); + setInterval(tick, 5000); + } +})(); diff --git a/web/config.js b/web/config.js new file mode 100644 index 0000000..a687cdf --- /dev/null +++ b/web/config.js @@ -0,0 +1,4 @@ +// 站点配置 (部署时按需修改): NX 按需生成服务地址 +// api 为空 = 非标档位下载按钮维持置灰态 (一期行为); 填上服务器地址后按钮升级为【在线生成数模】 +// 例: window.GEN_CONFIG = { api: "https://gen.example.com" }; +window.GEN_CONFIG = { api: "" }; diff --git a/web/index.html b/web/index.html new file mode 100644 index 0000000..ec2a978 --- /dev/null +++ b/web/index.html @@ -0,0 +1,106 @@ + + + + + +欧霓博气动目录 ONEBOT Catalog + + + +
+
欧霓博气动目录 ONEBOT Catalog + +
+
+ + + + +
+
+ +
+ +
+ +
+
请选择产品系列
+
+
+ + + + +
+
+
+ +
+
+ + + + +
+
+
+
+ + +

选型完成后显示 3D 外形 (拖拽旋转 / 滚轮缩放)

+
+
+
+ +

选型完成后显示尺寸图

+
+
+
+
+ + + +
+
+ + +
+ 加载中... +
+ + 服务器状态 +
+
+ + + + + + + + + + diff --git a/web/libs/jszip.min.js b/web/libs/jszip.min.js new file mode 100644 index 0000000..ff4cfd5 --- /dev/null +++ b/web/libs/jszip.min.js @@ -0,0 +1,13 @@ +/*! + +JSZip v3.10.1 - A JavaScript class for generating and reading zip files + + +(c) 2009-2016 Stuart Knightley +Dual licenced under the MIT license or GPLv3. See https://raw.github.com/Stuk/jszip/main/LICENSE.markdown. + +JSZip uses the library pako released under the MIT license : +https://github.com/nodeca/pako/blob/main/LICENSE +*/ + +!function(e){if("object"==typeof exports&&"undefined"!=typeof module)module.exports=e();else if("function"==typeof define&&define.amd)define([],e);else{("undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:this).JSZip=e()}}(function(){return function s(a,o,h){function u(r,e){if(!o[r]){if(!a[r]){var t="function"==typeof require&&require;if(!e&&t)return t(r,!0);if(l)return l(r,!0);var n=new Error("Cannot find module '"+r+"'");throw n.code="MODULE_NOT_FOUND",n}var i=o[r]={exports:{}};a[r][0].call(i.exports,function(e){var t=a[r][1][e];return u(t||e)},i,i.exports,s,a,o,h)}return o[r].exports}for(var l="function"==typeof require&&require,e=0;e>2,s=(3&t)<<4|r>>4,a=1>6:64,o=2>4,r=(15&i)<<4|(s=p.indexOf(e.charAt(o++)))>>2,n=(3&s)<<6|(a=p.indexOf(e.charAt(o++))),l[h++]=t,64!==s&&(l[h++]=r),64!==a&&(l[h++]=n);return l}},{"./support":30,"./utils":32}],2:[function(e,t,r){"use strict";var n=e("./external"),i=e("./stream/DataWorker"),s=e("./stream/Crc32Probe"),a=e("./stream/DataLengthProbe");function o(e,t,r,n,i){this.compressedSize=e,this.uncompressedSize=t,this.crc32=r,this.compression=n,this.compressedContent=i}o.prototype={getContentWorker:function(){var e=new i(n.Promise.resolve(this.compressedContent)).pipe(this.compression.uncompressWorker()).pipe(new a("data_length")),t=this;return e.on("end",function(){if(this.streamInfo.data_length!==t.uncompressedSize)throw new Error("Bug : uncompressed data size mismatch")}),e},getCompressedWorker:function(){return new i(n.Promise.resolve(this.compressedContent)).withStreamInfo("compressedSize",this.compressedSize).withStreamInfo("uncompressedSize",this.uncompressedSize).withStreamInfo("crc32",this.crc32).withStreamInfo("compression",this.compression)}},o.createWorkerFrom=function(e,t,r){return e.pipe(new s).pipe(new a("uncompressedSize")).pipe(t.compressWorker(r)).pipe(new a("compressedSize")).withStreamInfo("compression",t)},t.exports=o},{"./external":6,"./stream/Crc32Probe":25,"./stream/DataLengthProbe":26,"./stream/DataWorker":27}],3:[function(e,t,r){"use strict";var n=e("./stream/GenericWorker");r.STORE={magic:"\0\0",compressWorker:function(){return new n("STORE compression")},uncompressWorker:function(){return new n("STORE decompression")}},r.DEFLATE=e("./flate")},{"./flate":7,"./stream/GenericWorker":28}],4:[function(e,t,r){"use strict";var n=e("./utils");var o=function(){for(var e,t=[],r=0;r<256;r++){e=r;for(var n=0;n<8;n++)e=1&e?3988292384^e>>>1:e>>>1;t[r]=e}return t}();t.exports=function(e,t){return void 0!==e&&e.length?"string"!==n.getTypeOf(e)?function(e,t,r,n){var i=o,s=n+r;e^=-1;for(var a=n;a>>8^i[255&(e^t[a])];return-1^e}(0|t,e,e.length,0):function(e,t,r,n){var i=o,s=n+r;e^=-1;for(var a=n;a>>8^i[255&(e^t.charCodeAt(a))];return-1^e}(0|t,e,e.length,0):0}},{"./utils":32}],5:[function(e,t,r){"use strict";r.base64=!1,r.binary=!1,r.dir=!1,r.createFolders=!0,r.date=null,r.compression=null,r.compressionOptions=null,r.comment=null,r.unixPermissions=null,r.dosPermissions=null},{}],6:[function(e,t,r){"use strict";var n=null;n="undefined"!=typeof Promise?Promise:e("lie"),t.exports={Promise:n}},{lie:37}],7:[function(e,t,r){"use strict";var n="undefined"!=typeof Uint8Array&&"undefined"!=typeof Uint16Array&&"undefined"!=typeof Uint32Array,i=e("pako"),s=e("./utils"),a=e("./stream/GenericWorker"),o=n?"uint8array":"array";function h(e,t){a.call(this,"FlateWorker/"+e),this._pako=null,this._pakoAction=e,this._pakoOptions=t,this.meta={}}r.magic="\b\0",s.inherits(h,a),h.prototype.processChunk=function(e){this.meta=e.meta,null===this._pako&&this._createPako(),this._pako.push(s.transformTo(o,e.data),!1)},h.prototype.flush=function(){a.prototype.flush.call(this),null===this._pako&&this._createPako(),this._pako.push([],!0)},h.prototype.cleanUp=function(){a.prototype.cleanUp.call(this),this._pako=null},h.prototype._createPako=function(){this._pako=new i[this._pakoAction]({raw:!0,level:this._pakoOptions.level||-1});var t=this;this._pako.onData=function(e){t.push({data:e,meta:t.meta})}},r.compressWorker=function(e){return new h("Deflate",e)},r.uncompressWorker=function(){return new h("Inflate",{})}},{"./stream/GenericWorker":28,"./utils":32,pako:38}],8:[function(e,t,r){"use strict";function A(e,t){var r,n="";for(r=0;r>>=8;return n}function n(e,t,r,n,i,s){var a,o,h=e.file,u=e.compression,l=s!==O.utf8encode,f=I.transformTo("string",s(h.name)),c=I.transformTo("string",O.utf8encode(h.name)),d=h.comment,p=I.transformTo("string",s(d)),m=I.transformTo("string",O.utf8encode(d)),_=c.length!==h.name.length,g=m.length!==d.length,b="",v="",y="",w=h.dir,k=h.date,x={crc32:0,compressedSize:0,uncompressedSize:0};t&&!r||(x.crc32=e.crc32,x.compressedSize=e.compressedSize,x.uncompressedSize=e.uncompressedSize);var S=0;t&&(S|=8),l||!_&&!g||(S|=2048);var z=0,C=0;w&&(z|=16),"UNIX"===i?(C=798,z|=function(e,t){var r=e;return e||(r=t?16893:33204),(65535&r)<<16}(h.unixPermissions,w)):(C=20,z|=function(e){return 63&(e||0)}(h.dosPermissions)),a=k.getUTCHours(),a<<=6,a|=k.getUTCMinutes(),a<<=5,a|=k.getUTCSeconds()/2,o=k.getUTCFullYear()-1980,o<<=4,o|=k.getUTCMonth()+1,o<<=5,o|=k.getUTCDate(),_&&(v=A(1,1)+A(B(f),4)+c,b+="up"+A(v.length,2)+v),g&&(y=A(1,1)+A(B(p),4)+m,b+="uc"+A(y.length,2)+y);var E="";return E+="\n\0",E+=A(S,2),E+=u.magic,E+=A(a,2),E+=A(o,2),E+=A(x.crc32,4),E+=A(x.compressedSize,4),E+=A(x.uncompressedSize,4),E+=A(f.length,2),E+=A(b.length,2),{fileRecord:R.LOCAL_FILE_HEADER+E+f+b,dirRecord:R.CENTRAL_FILE_HEADER+A(C,2)+E+A(p.length,2)+"\0\0\0\0"+A(z,4)+A(n,4)+f+b+p}}var I=e("../utils"),i=e("../stream/GenericWorker"),O=e("../utf8"),B=e("../crc32"),R=e("../signature");function s(e,t,r,n){i.call(this,"ZipFileWorker"),this.bytesWritten=0,this.zipComment=t,this.zipPlatform=r,this.encodeFileName=n,this.streamFiles=e,this.accumulate=!1,this.contentBuffer=[],this.dirRecords=[],this.currentSourceOffset=0,this.entriesCount=0,this.currentFile=null,this._sources=[]}I.inherits(s,i),s.prototype.push=function(e){var t=e.meta.percent||0,r=this.entriesCount,n=this._sources.length;this.accumulate?this.contentBuffer.push(e):(this.bytesWritten+=e.data.length,i.prototype.push.call(this,{data:e.data,meta:{currentFile:this.currentFile,percent:r?(t+100*(r-n-1))/r:100}}))},s.prototype.openedSource=function(e){this.currentSourceOffset=this.bytesWritten,this.currentFile=e.file.name;var t=this.streamFiles&&!e.file.dir;if(t){var r=n(e,t,!1,this.currentSourceOffset,this.zipPlatform,this.encodeFileName);this.push({data:r.fileRecord,meta:{percent:0}})}else this.accumulate=!0},s.prototype.closedSource=function(e){this.accumulate=!1;var t=this.streamFiles&&!e.file.dir,r=n(e,t,!0,this.currentSourceOffset,this.zipPlatform,this.encodeFileName);if(this.dirRecords.push(r.dirRecord),t)this.push({data:function(e){return R.DATA_DESCRIPTOR+A(e.crc32,4)+A(e.compressedSize,4)+A(e.uncompressedSize,4)}(e),meta:{percent:100}});else for(this.push({data:r.fileRecord,meta:{percent:0}});this.contentBuffer.length;)this.push(this.contentBuffer.shift());this.currentFile=null},s.prototype.flush=function(){for(var e=this.bytesWritten,t=0;t=this.index;t--)r=(r<<8)+this.byteAt(t);return this.index+=e,r},readString:function(e){return n.transformTo("string",this.readData(e))},readData:function(){},lastIndexOfSignature:function(){},readAndCheckSignature:function(){},readDate:function(){var e=this.readInt(4);return new Date(Date.UTC(1980+(e>>25&127),(e>>21&15)-1,e>>16&31,e>>11&31,e>>5&63,(31&e)<<1))}},t.exports=i},{"../utils":32}],19:[function(e,t,r){"use strict";var n=e("./Uint8ArrayReader");function i(e){n.call(this,e)}e("../utils").inherits(i,n),i.prototype.readData=function(e){this.checkOffset(e);var t=this.data.slice(this.zero+this.index,this.zero+this.index+e);return this.index+=e,t},t.exports=i},{"../utils":32,"./Uint8ArrayReader":21}],20:[function(e,t,r){"use strict";var n=e("./DataReader");function i(e){n.call(this,e)}e("../utils").inherits(i,n),i.prototype.byteAt=function(e){return this.data.charCodeAt(this.zero+e)},i.prototype.lastIndexOfSignature=function(e){return this.data.lastIndexOf(e)-this.zero},i.prototype.readAndCheckSignature=function(e){return e===this.readData(4)},i.prototype.readData=function(e){this.checkOffset(e);var t=this.data.slice(this.zero+this.index,this.zero+this.index+e);return this.index+=e,t},t.exports=i},{"../utils":32,"./DataReader":18}],21:[function(e,t,r){"use strict";var n=e("./ArrayReader");function i(e){n.call(this,e)}e("../utils").inherits(i,n),i.prototype.readData=function(e){if(this.checkOffset(e),0===e)return new Uint8Array(0);var t=this.data.subarray(this.zero+this.index,this.zero+this.index+e);return this.index+=e,t},t.exports=i},{"../utils":32,"./ArrayReader":17}],22:[function(e,t,r){"use strict";var n=e("../utils"),i=e("../support"),s=e("./ArrayReader"),a=e("./StringReader"),o=e("./NodeBufferReader"),h=e("./Uint8ArrayReader");t.exports=function(e){var t=n.getTypeOf(e);return n.checkSupport(t),"string"!==t||i.uint8array?"nodebuffer"===t?new o(e):i.uint8array?new h(n.transformTo("uint8array",e)):new s(n.transformTo("array",e)):new a(e)}},{"../support":30,"../utils":32,"./ArrayReader":17,"./NodeBufferReader":19,"./StringReader":20,"./Uint8ArrayReader":21}],23:[function(e,t,r){"use strict";r.LOCAL_FILE_HEADER="PK",r.CENTRAL_FILE_HEADER="PK",r.CENTRAL_DIRECTORY_END="PK",r.ZIP64_CENTRAL_DIRECTORY_LOCATOR="PK",r.ZIP64_CENTRAL_DIRECTORY_END="PK",r.DATA_DESCRIPTOR="PK\b"},{}],24:[function(e,t,r){"use strict";var n=e("./GenericWorker"),i=e("../utils");function s(e){n.call(this,"ConvertWorker to "+e),this.destType=e}i.inherits(s,n),s.prototype.processChunk=function(e){this.push({data:i.transformTo(this.destType,e.data),meta:e.meta})},t.exports=s},{"../utils":32,"./GenericWorker":28}],25:[function(e,t,r){"use strict";var n=e("./GenericWorker"),i=e("../crc32");function s(){n.call(this,"Crc32Probe"),this.withStreamInfo("crc32",0)}e("../utils").inherits(s,n),s.prototype.processChunk=function(e){this.streamInfo.crc32=i(e.data,this.streamInfo.crc32||0),this.push(e)},t.exports=s},{"../crc32":4,"../utils":32,"./GenericWorker":28}],26:[function(e,t,r){"use strict";var n=e("../utils"),i=e("./GenericWorker");function s(e){i.call(this,"DataLengthProbe for "+e),this.propName=e,this.withStreamInfo(e,0)}n.inherits(s,i),s.prototype.processChunk=function(e){if(e){var t=this.streamInfo[this.propName]||0;this.streamInfo[this.propName]=t+e.data.length}i.prototype.processChunk.call(this,e)},t.exports=s},{"../utils":32,"./GenericWorker":28}],27:[function(e,t,r){"use strict";var n=e("../utils"),i=e("./GenericWorker");function s(e){i.call(this,"DataWorker");var t=this;this.dataIsReady=!1,this.index=0,this.max=0,this.data=null,this.type="",this._tickScheduled=!1,e.then(function(e){t.dataIsReady=!0,t.data=e,t.max=e&&e.length||0,t.type=n.getTypeOf(e),t.isPaused||t._tickAndRepeat()},function(e){t.error(e)})}n.inherits(s,i),s.prototype.cleanUp=function(){i.prototype.cleanUp.call(this),this.data=null},s.prototype.resume=function(){return!!i.prototype.resume.call(this)&&(!this._tickScheduled&&this.dataIsReady&&(this._tickScheduled=!0,n.delay(this._tickAndRepeat,[],this)),!0)},s.prototype._tickAndRepeat=function(){this._tickScheduled=!1,this.isPaused||this.isFinished||(this._tick(),this.isFinished||(n.delay(this._tickAndRepeat,[],this),this._tickScheduled=!0))},s.prototype._tick=function(){if(this.isPaused||this.isFinished)return!1;var e=null,t=Math.min(this.max,this.index+16384);if(this.index>=this.max)return this.end();switch(this.type){case"string":e=this.data.substring(this.index,t);break;case"uint8array":e=this.data.subarray(this.index,t);break;case"array":case"nodebuffer":e=this.data.slice(this.index,t)}return this.index=t,this.push({data:e,meta:{percent:this.max?this.index/this.max*100:0}})},t.exports=s},{"../utils":32,"./GenericWorker":28}],28:[function(e,t,r){"use strict";function n(e){this.name=e||"default",this.streamInfo={},this.generatedError=null,this.extraStreamInfo={},this.isPaused=!0,this.isFinished=!1,this.isLocked=!1,this._listeners={data:[],end:[],error:[]},this.previous=null}n.prototype={push:function(e){this.emit("data",e)},end:function(){if(this.isFinished)return!1;this.flush();try{this.emit("end"),this.cleanUp(),this.isFinished=!0}catch(e){this.emit("error",e)}return!0},error:function(e){return!this.isFinished&&(this.isPaused?this.generatedError=e:(this.isFinished=!0,this.emit("error",e),this.previous&&this.previous.error(e),this.cleanUp()),!0)},on:function(e,t){return this._listeners[e].push(t),this},cleanUp:function(){this.streamInfo=this.generatedError=this.extraStreamInfo=null,this._listeners=[]},emit:function(e,t){if(this._listeners[e])for(var r=0;r "+e:e}},t.exports=n},{}],29:[function(e,t,r){"use strict";var h=e("../utils"),i=e("./ConvertWorker"),s=e("./GenericWorker"),u=e("../base64"),n=e("../support"),a=e("../external"),o=null;if(n.nodestream)try{o=e("../nodejs/NodejsStreamOutputAdapter")}catch(e){}function l(e,o){return new a.Promise(function(t,r){var n=[],i=e._internalType,s=e._outputType,a=e._mimeType;e.on("data",function(e,t){n.push(e),o&&o(t)}).on("error",function(e){n=[],r(e)}).on("end",function(){try{var e=function(e,t,r){switch(e){case"blob":return h.newBlob(h.transformTo("arraybuffer",t),r);case"base64":return u.encode(t);default:return h.transformTo(e,t)}}(s,function(e,t){var r,n=0,i=null,s=0;for(r=0;r>>6:(r<65536?t[s++]=224|r>>>12:(t[s++]=240|r>>>18,t[s++]=128|r>>>12&63),t[s++]=128|r>>>6&63),t[s++]=128|63&r);return t}(e)},s.utf8decode=function(e){return h.nodebuffer?o.transformTo("nodebuffer",e).toString("utf-8"):function(e){var t,r,n,i,s=e.length,a=new Array(2*s);for(t=r=0;t>10&1023,a[r++]=56320|1023&n)}return a.length!==r&&(a.subarray?a=a.subarray(0,r):a.length=r),o.applyFromCharCode(a)}(e=o.transformTo(h.uint8array?"uint8array":"array",e))},o.inherits(a,n),a.prototype.processChunk=function(e){var t=o.transformTo(h.uint8array?"uint8array":"array",e.data);if(this.leftOver&&this.leftOver.length){if(h.uint8array){var r=t;(t=new Uint8Array(r.length+this.leftOver.length)).set(this.leftOver,0),t.set(r,this.leftOver.length)}else t=this.leftOver.concat(t);this.leftOver=null}var n=function(e,t){var r;for((t=t||e.length)>e.length&&(t=e.length),r=t-1;0<=r&&128==(192&e[r]);)r--;return r<0?t:0===r?t:r+u[e[r]]>t?r:t}(t),i=t;n!==t.length&&(h.uint8array?(i=t.subarray(0,n),this.leftOver=t.subarray(n,t.length)):(i=t.slice(0,n),this.leftOver=t.slice(n,t.length))),this.push({data:s.utf8decode(i),meta:e.meta})},a.prototype.flush=function(){this.leftOver&&this.leftOver.length&&(this.push({data:s.utf8decode(this.leftOver),meta:{}}),this.leftOver=null)},s.Utf8DecodeWorker=a,o.inherits(l,n),l.prototype.processChunk=function(e){this.push({data:s.utf8encode(e.data),meta:e.meta})},s.Utf8EncodeWorker=l},{"./nodejsUtils":14,"./stream/GenericWorker":28,"./support":30,"./utils":32}],32:[function(e,t,a){"use strict";var o=e("./support"),h=e("./base64"),r=e("./nodejsUtils"),u=e("./external");function n(e){return e}function l(e,t){for(var r=0;r>8;this.dir=!!(16&this.externalFileAttributes),0==e&&(this.dosPermissions=63&this.externalFileAttributes),3==e&&(this.unixPermissions=this.externalFileAttributes>>16&65535),this.dir||"/"!==this.fileNameStr.slice(-1)||(this.dir=!0)},parseZIP64ExtraField:function(){if(this.extraFields[1]){var e=n(this.extraFields[1].value);this.uncompressedSize===s.MAX_VALUE_32BITS&&(this.uncompressedSize=e.readInt(8)),this.compressedSize===s.MAX_VALUE_32BITS&&(this.compressedSize=e.readInt(8)),this.localHeaderOffset===s.MAX_VALUE_32BITS&&(this.localHeaderOffset=e.readInt(8)),this.diskNumberStart===s.MAX_VALUE_32BITS&&(this.diskNumberStart=e.readInt(4))}},readExtraFields:function(e){var t,r,n,i=e.index+this.extraFieldsLength;for(this.extraFields||(this.extraFields={});e.index+4>>6:(r<65536?t[s++]=224|r>>>12:(t[s++]=240|r>>>18,t[s++]=128|r>>>12&63),t[s++]=128|r>>>6&63),t[s++]=128|63&r);return t},r.buf2binstring=function(e){return l(e,e.length)},r.binstring2buf=function(e){for(var t=new h.Buf8(e.length),r=0,n=t.length;r>10&1023,o[n++]=56320|1023&i)}return l(o,n)},r.utf8border=function(e,t){var r;for((t=t||e.length)>e.length&&(t=e.length),r=t-1;0<=r&&128==(192&e[r]);)r--;return r<0?t:0===r?t:r+u[e[r]]>t?r:t}},{"./common":41}],43:[function(e,t,r){"use strict";t.exports=function(e,t,r,n){for(var i=65535&e|0,s=e>>>16&65535|0,a=0;0!==r;){for(r-=a=2e3>>1:e>>>1;t[r]=e}return t}();t.exports=function(e,t,r,n){var i=o,s=n+r;e^=-1;for(var a=n;a>>8^i[255&(e^t[a])];return-1^e}},{}],46:[function(e,t,r){"use strict";var h,c=e("../utils/common"),u=e("./trees"),d=e("./adler32"),p=e("./crc32"),n=e("./messages"),l=0,f=4,m=0,_=-2,g=-1,b=4,i=2,v=8,y=9,s=286,a=30,o=19,w=2*s+1,k=15,x=3,S=258,z=S+x+1,C=42,E=113,A=1,I=2,O=3,B=4;function R(e,t){return e.msg=n[t],t}function T(e){return(e<<1)-(4e.avail_out&&(r=e.avail_out),0!==r&&(c.arraySet(e.output,t.pending_buf,t.pending_out,r,e.next_out),e.next_out+=r,t.pending_out+=r,e.total_out+=r,e.avail_out-=r,t.pending-=r,0===t.pending&&(t.pending_out=0))}function N(e,t){u._tr_flush_block(e,0<=e.block_start?e.block_start:-1,e.strstart-e.block_start,t),e.block_start=e.strstart,F(e.strm)}function U(e,t){e.pending_buf[e.pending++]=t}function P(e,t){e.pending_buf[e.pending++]=t>>>8&255,e.pending_buf[e.pending++]=255&t}function L(e,t){var r,n,i=e.max_chain_length,s=e.strstart,a=e.prev_length,o=e.nice_match,h=e.strstart>e.w_size-z?e.strstart-(e.w_size-z):0,u=e.window,l=e.w_mask,f=e.prev,c=e.strstart+S,d=u[s+a-1],p=u[s+a];e.prev_length>=e.good_match&&(i>>=2),o>e.lookahead&&(o=e.lookahead);do{if(u[(r=t)+a]===p&&u[r+a-1]===d&&u[r]===u[s]&&u[++r]===u[s+1]){s+=2,r++;do{}while(u[++s]===u[++r]&&u[++s]===u[++r]&&u[++s]===u[++r]&&u[++s]===u[++r]&&u[++s]===u[++r]&&u[++s]===u[++r]&&u[++s]===u[++r]&&u[++s]===u[++r]&&sh&&0!=--i);return a<=e.lookahead?a:e.lookahead}function j(e){var t,r,n,i,s,a,o,h,u,l,f=e.w_size;do{if(i=e.window_size-e.lookahead-e.strstart,e.strstart>=f+(f-z)){for(c.arraySet(e.window,e.window,f,f,0),e.match_start-=f,e.strstart-=f,e.block_start-=f,t=r=e.hash_size;n=e.head[--t],e.head[t]=f<=n?n-f:0,--r;);for(t=r=f;n=e.prev[--t],e.prev[t]=f<=n?n-f:0,--r;);i+=f}if(0===e.strm.avail_in)break;if(a=e.strm,o=e.window,h=e.strstart+e.lookahead,u=i,l=void 0,l=a.avail_in,u=x)for(s=e.strstart-e.insert,e.ins_h=e.window[s],e.ins_h=(e.ins_h<=x&&(e.ins_h=(e.ins_h<=x)if(n=u._tr_tally(e,e.strstart-e.match_start,e.match_length-x),e.lookahead-=e.match_length,e.match_length<=e.max_lazy_match&&e.lookahead>=x){for(e.match_length--;e.strstart++,e.ins_h=(e.ins_h<=x&&(e.ins_h=(e.ins_h<=x&&e.match_length<=e.prev_length){for(i=e.strstart+e.lookahead-x,n=u._tr_tally(e,e.strstart-1-e.prev_match,e.prev_length-x),e.lookahead-=e.prev_length-1,e.prev_length-=2;++e.strstart<=i&&(e.ins_h=(e.ins_h<e.pending_buf_size-5&&(r=e.pending_buf_size-5);;){if(e.lookahead<=1){if(j(e),0===e.lookahead&&t===l)return A;if(0===e.lookahead)break}e.strstart+=e.lookahead,e.lookahead=0;var n=e.block_start+r;if((0===e.strstart||e.strstart>=n)&&(e.lookahead=e.strstart-n,e.strstart=n,N(e,!1),0===e.strm.avail_out))return A;if(e.strstart-e.block_start>=e.w_size-z&&(N(e,!1),0===e.strm.avail_out))return A}return e.insert=0,t===f?(N(e,!0),0===e.strm.avail_out?O:B):(e.strstart>e.block_start&&(N(e,!1),e.strm.avail_out),A)}),new M(4,4,8,4,Z),new M(4,5,16,8,Z),new M(4,6,32,32,Z),new M(4,4,16,16,W),new M(8,16,32,32,W),new M(8,16,128,128,W),new M(8,32,128,256,W),new M(32,128,258,1024,W),new M(32,258,258,4096,W)],r.deflateInit=function(e,t){return Y(e,t,v,15,8,0)},r.deflateInit2=Y,r.deflateReset=K,r.deflateResetKeep=G,r.deflateSetHeader=function(e,t){return e&&e.state?2!==e.state.wrap?_:(e.state.gzhead=t,m):_},r.deflate=function(e,t){var r,n,i,s;if(!e||!e.state||5>8&255),U(n,n.gzhead.time>>16&255),U(n,n.gzhead.time>>24&255),U(n,9===n.level?2:2<=n.strategy||n.level<2?4:0),U(n,255&n.gzhead.os),n.gzhead.extra&&n.gzhead.extra.length&&(U(n,255&n.gzhead.extra.length),U(n,n.gzhead.extra.length>>8&255)),n.gzhead.hcrc&&(e.adler=p(e.adler,n.pending_buf,n.pending,0)),n.gzindex=0,n.status=69):(U(n,0),U(n,0),U(n,0),U(n,0),U(n,0),U(n,9===n.level?2:2<=n.strategy||n.level<2?4:0),U(n,3),n.status=E);else{var a=v+(n.w_bits-8<<4)<<8;a|=(2<=n.strategy||n.level<2?0:n.level<6?1:6===n.level?2:3)<<6,0!==n.strstart&&(a|=32),a+=31-a%31,n.status=E,P(n,a),0!==n.strstart&&(P(n,e.adler>>>16),P(n,65535&e.adler)),e.adler=1}if(69===n.status)if(n.gzhead.extra){for(i=n.pending;n.gzindex<(65535&n.gzhead.extra.length)&&(n.pending!==n.pending_buf_size||(n.gzhead.hcrc&&n.pending>i&&(e.adler=p(e.adler,n.pending_buf,n.pending-i,i)),F(e),i=n.pending,n.pending!==n.pending_buf_size));)U(n,255&n.gzhead.extra[n.gzindex]),n.gzindex++;n.gzhead.hcrc&&n.pending>i&&(e.adler=p(e.adler,n.pending_buf,n.pending-i,i)),n.gzindex===n.gzhead.extra.length&&(n.gzindex=0,n.status=73)}else n.status=73;if(73===n.status)if(n.gzhead.name){i=n.pending;do{if(n.pending===n.pending_buf_size&&(n.gzhead.hcrc&&n.pending>i&&(e.adler=p(e.adler,n.pending_buf,n.pending-i,i)),F(e),i=n.pending,n.pending===n.pending_buf_size)){s=1;break}s=n.gzindexi&&(e.adler=p(e.adler,n.pending_buf,n.pending-i,i)),0===s&&(n.gzindex=0,n.status=91)}else n.status=91;if(91===n.status)if(n.gzhead.comment){i=n.pending;do{if(n.pending===n.pending_buf_size&&(n.gzhead.hcrc&&n.pending>i&&(e.adler=p(e.adler,n.pending_buf,n.pending-i,i)),F(e),i=n.pending,n.pending===n.pending_buf_size)){s=1;break}s=n.gzindexi&&(e.adler=p(e.adler,n.pending_buf,n.pending-i,i)),0===s&&(n.status=103)}else n.status=103;if(103===n.status&&(n.gzhead.hcrc?(n.pending+2>n.pending_buf_size&&F(e),n.pending+2<=n.pending_buf_size&&(U(n,255&e.adler),U(n,e.adler>>8&255),e.adler=0,n.status=E)):n.status=E),0!==n.pending){if(F(e),0===e.avail_out)return n.last_flush=-1,m}else if(0===e.avail_in&&T(t)<=T(r)&&t!==f)return R(e,-5);if(666===n.status&&0!==e.avail_in)return R(e,-5);if(0!==e.avail_in||0!==n.lookahead||t!==l&&666!==n.status){var o=2===n.strategy?function(e,t){for(var r;;){if(0===e.lookahead&&(j(e),0===e.lookahead)){if(t===l)return A;break}if(e.match_length=0,r=u._tr_tally(e,0,e.window[e.strstart]),e.lookahead--,e.strstart++,r&&(N(e,!1),0===e.strm.avail_out))return A}return e.insert=0,t===f?(N(e,!0),0===e.strm.avail_out?O:B):e.last_lit&&(N(e,!1),0===e.strm.avail_out)?A:I}(n,t):3===n.strategy?function(e,t){for(var r,n,i,s,a=e.window;;){if(e.lookahead<=S){if(j(e),e.lookahead<=S&&t===l)return A;if(0===e.lookahead)break}if(e.match_length=0,e.lookahead>=x&&0e.lookahead&&(e.match_length=e.lookahead)}if(e.match_length>=x?(r=u._tr_tally(e,1,e.match_length-x),e.lookahead-=e.match_length,e.strstart+=e.match_length,e.match_length=0):(r=u._tr_tally(e,0,e.window[e.strstart]),e.lookahead--,e.strstart++),r&&(N(e,!1),0===e.strm.avail_out))return A}return e.insert=0,t===f?(N(e,!0),0===e.strm.avail_out?O:B):e.last_lit&&(N(e,!1),0===e.strm.avail_out)?A:I}(n,t):h[n.level].func(n,t);if(o!==O&&o!==B||(n.status=666),o===A||o===O)return 0===e.avail_out&&(n.last_flush=-1),m;if(o===I&&(1===t?u._tr_align(n):5!==t&&(u._tr_stored_block(n,0,0,!1),3===t&&(D(n.head),0===n.lookahead&&(n.strstart=0,n.block_start=0,n.insert=0))),F(e),0===e.avail_out))return n.last_flush=-1,m}return t!==f?m:n.wrap<=0?1:(2===n.wrap?(U(n,255&e.adler),U(n,e.adler>>8&255),U(n,e.adler>>16&255),U(n,e.adler>>24&255),U(n,255&e.total_in),U(n,e.total_in>>8&255),U(n,e.total_in>>16&255),U(n,e.total_in>>24&255)):(P(n,e.adler>>>16),P(n,65535&e.adler)),F(e),0=r.w_size&&(0===s&&(D(r.head),r.strstart=0,r.block_start=0,r.insert=0),u=new c.Buf8(r.w_size),c.arraySet(u,t,l-r.w_size,r.w_size,0),t=u,l=r.w_size),a=e.avail_in,o=e.next_in,h=e.input,e.avail_in=l,e.next_in=0,e.input=t,j(r);r.lookahead>=x;){for(n=r.strstart,i=r.lookahead-(x-1);r.ins_h=(r.ins_h<>>=y=v>>>24,p-=y,0===(y=v>>>16&255))C[s++]=65535&v;else{if(!(16&y)){if(0==(64&y)){v=m[(65535&v)+(d&(1<>>=y,p-=y),p<15&&(d+=z[n++]<>>=y=v>>>24,p-=y,!(16&(y=v>>>16&255))){if(0==(64&y)){v=_[(65535&v)+(d&(1<>>=y,p-=y,(y=s-a)>3,d&=(1<<(p-=w<<3))-1,e.next_in=n,e.next_out=s,e.avail_in=n>>24&255)+(e>>>8&65280)+((65280&e)<<8)+((255&e)<<24)}function s(){this.mode=0,this.last=!1,this.wrap=0,this.havedict=!1,this.flags=0,this.dmax=0,this.check=0,this.total=0,this.head=null,this.wbits=0,this.wsize=0,this.whave=0,this.wnext=0,this.window=null,this.hold=0,this.bits=0,this.length=0,this.offset=0,this.extra=0,this.lencode=null,this.distcode=null,this.lenbits=0,this.distbits=0,this.ncode=0,this.nlen=0,this.ndist=0,this.have=0,this.next=null,this.lens=new I.Buf16(320),this.work=new I.Buf16(288),this.lendyn=null,this.distdyn=null,this.sane=0,this.back=0,this.was=0}function a(e){var t;return e&&e.state?(t=e.state,e.total_in=e.total_out=t.total=0,e.msg="",t.wrap&&(e.adler=1&t.wrap),t.mode=P,t.last=0,t.havedict=0,t.dmax=32768,t.head=null,t.hold=0,t.bits=0,t.lencode=t.lendyn=new I.Buf32(n),t.distcode=t.distdyn=new I.Buf32(i),t.sane=1,t.back=-1,N):U}function o(e){var t;return e&&e.state?((t=e.state).wsize=0,t.whave=0,t.wnext=0,a(e)):U}function h(e,t){var r,n;return e&&e.state?(n=e.state,t<0?(r=0,t=-t):(r=1+(t>>4),t<48&&(t&=15)),t&&(t<8||15=s.wsize?(I.arraySet(s.window,t,r-s.wsize,s.wsize,0),s.wnext=0,s.whave=s.wsize):(n<(i=s.wsize-s.wnext)&&(i=n),I.arraySet(s.window,t,r-n,i,s.wnext),(n-=i)?(I.arraySet(s.window,t,r-n,n,0),s.wnext=n,s.whave=s.wsize):(s.wnext+=i,s.wnext===s.wsize&&(s.wnext=0),s.whave>>8&255,r.check=B(r.check,E,2,0),l=u=0,r.mode=2;break}if(r.flags=0,r.head&&(r.head.done=!1),!(1&r.wrap)||(((255&u)<<8)+(u>>8))%31){e.msg="incorrect header check",r.mode=30;break}if(8!=(15&u)){e.msg="unknown compression method",r.mode=30;break}if(l-=4,k=8+(15&(u>>>=4)),0===r.wbits)r.wbits=k;else if(k>r.wbits){e.msg="invalid window size",r.mode=30;break}r.dmax=1<>8&1),512&r.flags&&(E[0]=255&u,E[1]=u>>>8&255,r.check=B(r.check,E,2,0)),l=u=0,r.mode=3;case 3:for(;l<32;){if(0===o)break e;o--,u+=n[s++]<>>8&255,E[2]=u>>>16&255,E[3]=u>>>24&255,r.check=B(r.check,E,4,0)),l=u=0,r.mode=4;case 4:for(;l<16;){if(0===o)break e;o--,u+=n[s++]<>8),512&r.flags&&(E[0]=255&u,E[1]=u>>>8&255,r.check=B(r.check,E,2,0)),l=u=0,r.mode=5;case 5:if(1024&r.flags){for(;l<16;){if(0===o)break e;o--,u+=n[s++]<>>8&255,r.check=B(r.check,E,2,0)),l=u=0}else r.head&&(r.head.extra=null);r.mode=6;case 6:if(1024&r.flags&&(o<(d=r.length)&&(d=o),d&&(r.head&&(k=r.head.extra_len-r.length,r.head.extra||(r.head.extra=new Array(r.head.extra_len)),I.arraySet(r.head.extra,n,s,d,k)),512&r.flags&&(r.check=B(r.check,n,d,s)),o-=d,s+=d,r.length-=d),r.length))break e;r.length=0,r.mode=7;case 7:if(2048&r.flags){if(0===o)break e;for(d=0;k=n[s+d++],r.head&&k&&r.length<65536&&(r.head.name+=String.fromCharCode(k)),k&&d>9&1,r.head.done=!0),e.adler=r.check=0,r.mode=12;break;case 10:for(;l<32;){if(0===o)break e;o--,u+=n[s++]<>>=7&l,l-=7&l,r.mode=27;break}for(;l<3;){if(0===o)break e;o--,u+=n[s++]<>>=1)){case 0:r.mode=14;break;case 1:if(j(r),r.mode=20,6!==t)break;u>>>=2,l-=2;break e;case 2:r.mode=17;break;case 3:e.msg="invalid block type",r.mode=30}u>>>=2,l-=2;break;case 14:for(u>>>=7&l,l-=7&l;l<32;){if(0===o)break e;o--,u+=n[s++]<>>16^65535)){e.msg="invalid stored block lengths",r.mode=30;break}if(r.length=65535&u,l=u=0,r.mode=15,6===t)break e;case 15:r.mode=16;case 16:if(d=r.length){if(o>>=5,l-=5,r.ndist=1+(31&u),u>>>=5,l-=5,r.ncode=4+(15&u),u>>>=4,l-=4,286>>=3,l-=3}for(;r.have<19;)r.lens[A[r.have++]]=0;if(r.lencode=r.lendyn,r.lenbits=7,S={bits:r.lenbits},x=T(0,r.lens,0,19,r.lencode,0,r.work,S),r.lenbits=S.bits,x){e.msg="invalid code lengths set",r.mode=30;break}r.have=0,r.mode=19;case 19:for(;r.have>>16&255,b=65535&C,!((_=C>>>24)<=l);){if(0===o)break e;o--,u+=n[s++]<>>=_,l-=_,r.lens[r.have++]=b;else{if(16===b){for(z=_+2;l>>=_,l-=_,0===r.have){e.msg="invalid bit length repeat",r.mode=30;break}k=r.lens[r.have-1],d=3+(3&u),u>>>=2,l-=2}else if(17===b){for(z=_+3;l>>=_)),u>>>=3,l-=3}else{for(z=_+7;l>>=_)),u>>>=7,l-=7}if(r.have+d>r.nlen+r.ndist){e.msg="invalid bit length repeat",r.mode=30;break}for(;d--;)r.lens[r.have++]=k}}if(30===r.mode)break;if(0===r.lens[256]){e.msg="invalid code -- missing end-of-block",r.mode=30;break}if(r.lenbits=9,S={bits:r.lenbits},x=T(D,r.lens,0,r.nlen,r.lencode,0,r.work,S),r.lenbits=S.bits,x){e.msg="invalid literal/lengths set",r.mode=30;break}if(r.distbits=6,r.distcode=r.distdyn,S={bits:r.distbits},x=T(F,r.lens,r.nlen,r.ndist,r.distcode,0,r.work,S),r.distbits=S.bits,x){e.msg="invalid distances set",r.mode=30;break}if(r.mode=20,6===t)break e;case 20:r.mode=21;case 21:if(6<=o&&258<=h){e.next_out=a,e.avail_out=h,e.next_in=s,e.avail_in=o,r.hold=u,r.bits=l,R(e,c),a=e.next_out,i=e.output,h=e.avail_out,s=e.next_in,n=e.input,o=e.avail_in,u=r.hold,l=r.bits,12===r.mode&&(r.back=-1);break}for(r.back=0;g=(C=r.lencode[u&(1<>>16&255,b=65535&C,!((_=C>>>24)<=l);){if(0===o)break e;o--,u+=n[s++]<>v)])>>>16&255,b=65535&C,!(v+(_=C>>>24)<=l);){if(0===o)break e;o--,u+=n[s++]<>>=v,l-=v,r.back+=v}if(u>>>=_,l-=_,r.back+=_,r.length=b,0===g){r.mode=26;break}if(32&g){r.back=-1,r.mode=12;break}if(64&g){e.msg="invalid literal/length code",r.mode=30;break}r.extra=15&g,r.mode=22;case 22:if(r.extra){for(z=r.extra;l>>=r.extra,l-=r.extra,r.back+=r.extra}r.was=r.length,r.mode=23;case 23:for(;g=(C=r.distcode[u&(1<>>16&255,b=65535&C,!((_=C>>>24)<=l);){if(0===o)break e;o--,u+=n[s++]<>v)])>>>16&255,b=65535&C,!(v+(_=C>>>24)<=l);){if(0===o)break e;o--,u+=n[s++]<>>=v,l-=v,r.back+=v}if(u>>>=_,l-=_,r.back+=_,64&g){e.msg="invalid distance code",r.mode=30;break}r.offset=b,r.extra=15&g,r.mode=24;case 24:if(r.extra){for(z=r.extra;l>>=r.extra,l-=r.extra,r.back+=r.extra}if(r.offset>r.dmax){e.msg="invalid distance too far back",r.mode=30;break}r.mode=25;case 25:if(0===h)break e;if(d=c-h,r.offset>d){if((d=r.offset-d)>r.whave&&r.sane){e.msg="invalid distance too far back",r.mode=30;break}p=d>r.wnext?(d-=r.wnext,r.wsize-d):r.wnext-d,d>r.length&&(d=r.length),m=r.window}else m=i,p=a-r.offset,d=r.length;for(hd?(m=R[T+a[v]],A[I+a[v]]):(m=96,0),h=1<>S)+(u-=h)]=p<<24|m<<16|_|0,0!==u;);for(h=1<>=1;if(0!==h?(E&=h-1,E+=h):E=0,v++,0==--O[b]){if(b===w)break;b=t[r+a[v]]}if(k>>7)]}function U(e,t){e.pending_buf[e.pending++]=255&t,e.pending_buf[e.pending++]=t>>>8&255}function P(e,t,r){e.bi_valid>d-r?(e.bi_buf|=t<>d-e.bi_valid,e.bi_valid+=r-d):(e.bi_buf|=t<>>=1,r<<=1,0<--t;);return r>>>1}function Z(e,t,r){var n,i,s=new Array(g+1),a=0;for(n=1;n<=g;n++)s[n]=a=a+r[n-1]<<1;for(i=0;i<=t;i++){var o=e[2*i+1];0!==o&&(e[2*i]=j(s[o]++,o))}}function W(e){var t;for(t=0;t>1;1<=r;r--)G(e,s,r);for(i=h;r=e.heap[1],e.heap[1]=e.heap[e.heap_len--],G(e,s,1),n=e.heap[1],e.heap[--e.heap_max]=r,e.heap[--e.heap_max]=n,s[2*i]=s[2*r]+s[2*n],e.depth[i]=(e.depth[r]>=e.depth[n]?e.depth[r]:e.depth[n])+1,s[2*r+1]=s[2*n+1]=i,e.heap[1]=i++,G(e,s,1),2<=e.heap_len;);e.heap[--e.heap_max]=e.heap[1],function(e,t){var r,n,i,s,a,o,h=t.dyn_tree,u=t.max_code,l=t.stat_desc.static_tree,f=t.stat_desc.has_stree,c=t.stat_desc.extra_bits,d=t.stat_desc.extra_base,p=t.stat_desc.max_length,m=0;for(s=0;s<=g;s++)e.bl_count[s]=0;for(h[2*e.heap[e.heap_max]+1]=0,r=e.heap_max+1;r<_;r++)p<(s=h[2*h[2*(n=e.heap[r])+1]+1]+1)&&(s=p,m++),h[2*n+1]=s,u>=7;n>>=1)if(1&r&&0!==e.dyn_ltree[2*t])return o;if(0!==e.dyn_ltree[18]||0!==e.dyn_ltree[20]||0!==e.dyn_ltree[26])return h;for(t=32;t>>3,(s=e.static_len+3+7>>>3)<=i&&(i=s)):i=s=r+5,r+4<=i&&-1!==t?J(e,t,r,n):4===e.strategy||s===i?(P(e,2+(n?1:0),3),K(e,z,C)):(P(e,4+(n?1:0),3),function(e,t,r,n){var i;for(P(e,t-257,5),P(e,r-1,5),P(e,n-4,4),i=0;i>>8&255,e.pending_buf[e.d_buf+2*e.last_lit+1]=255&t,e.pending_buf[e.l_buf+e.last_lit]=255&r,e.last_lit++,0===t?e.dyn_ltree[2*r]++:(e.matches++,t--,e.dyn_ltree[2*(A[r]+u+1)]++,e.dyn_dtree[2*N(t)]++),e.last_lit===e.lit_bufsize-1},r._tr_align=function(e){P(e,2,3),L(e,m,z),function(e){16===e.bi_valid?(U(e,e.bi_buf),e.bi_buf=0,e.bi_valid=0):8<=e.bi_valid&&(e.pending_buf[e.pending++]=255&e.bi_buf,e.bi_buf>>=8,e.bi_valid-=8)}(e)}},{"../utils/common":41}],53:[function(e,t,r){"use strict";t.exports=function(){this.input=null,this.next_in=0,this.avail_in=0,this.total_in=0,this.output=null,this.next_out=0,this.avail_out=0,this.total_out=0,this.msg="",this.state=null,this.data_type=2,this.adler=0}},{}],54:[function(e,t,r){(function(e){!function(r,n){"use strict";if(!r.setImmediate){var i,s,t,a,o=1,h={},u=!1,l=r.document,e=Object.getPrototypeOf&&Object.getPrototypeOf(r);e=e&&e.setTimeout?e:r,i="[object process]"==={}.toString.call(r.process)?function(e){process.nextTick(function(){c(e)})}:function(){if(r.postMessage&&!r.importScripts){var e=!0,t=r.onmessage;return r.onmessage=function(){e=!1},r.postMessage("","*"),r.onmessage=t,e}}()?(a="setImmediate$"+Math.random()+"$",r.addEventListener?r.addEventListener("message",d,!1):r.attachEvent("onmessage",d),function(e){r.postMessage(a+e,"*")}):r.MessageChannel?((t=new MessageChannel).port1.onmessage=function(e){c(e.data)},function(e){t.port2.postMessage(e)}):l&&"onreadystatechange"in l.createElement("script")?(s=l.documentElement,function(e){var t=l.createElement("script");t.onreadystatechange=function(){c(e),t.onreadystatechange=null,s.removeChild(t),t=null},s.appendChild(t)}):function(e){setTimeout(c,0,e)},e.setImmediate=function(e){"function"!=typeof e&&(e=new Function(""+e));for(var t=new Array(arguments.length-1),r=0;rnul +cd /d "d:\开发\OnebotCatalog" +echo 正在导出德国大众 CRA 问卷内容... +python dump_cra.py +echo. +echo 如果上面显示 DONE,说明导出成功,文件在 d:\开发\OnebotCatalog\cra_dump.txt +echo. +pause diff --git a/大众CRA报告范本_Magswitch夹紧缸.html b/大众CRA报告范本_Magswitch夹紧缸.html new file mode 100644 index 0000000..e5b7421 --- /dev/null +++ b/大众CRA报告范本_Magswitch夹紧缸.html @@ -0,0 +1,161 @@ + + + + + +给大众的 CRA/MVO 应答报告范本 · Magswitch 夹紧缸 + + + +
+ +

给大众的 CRA / MVO 应答报告范本

+

Magswitch Technology Europe — 电动夹紧缸(白车身夹紧技术,004-Spanntechnik)| 对应清单行 K-ID-00235

+ +
+填写前提(务必先确认):本产品为机电一体化电动夹紧缸,内置 SMELA liteECO® INTEGRATED 集成运动控制器 +(EtherCAT / CANopen / 数字 IO + 编码器),含数字元素。 +因此 MVO 适用(ja)CRA 也适用(ja)。本范本据此填写;凡需向 SMELA 或内部确认的合规数据,用 【待确认】 标出,切勿编造编号/日期。 +
+ +

一、报告抬头(可直接复制填入)

+
+
供应商MAGSWITCH TECHNOLOGY EUROPE(夹紧技术 / Spanntechnik)
+
部件类别004-Spanntechnik im Karosseriebau(白车身夹紧技术)
+
部件识别号K-ID-00235
+
产品类型电动夹紧缸(Electromechanical clamping cylinder)
+
核心驱动SMELA liteECO® INTEGRATED 集成电缸(24V,EtherCAT/CANopen/IO)
+
放行等级TAS Markenfreigabe(TAS 品牌放行)
+
对应标准VASS V6 / V7
+
报告日期【填写日期】
+
+ +

二、逐列填写表(V6 版 A–U 列)

+

说明:Magswitch 行出现在工作表 V6_Karobau_CU,故按 V6 版 21 列填写;V7 版对应列见文末对照。

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
列名(德语)中文填写值(建议德语)填写理由
ANummer编号K-ID-00235大众已预填,保留。
BProjekt-freigabe项目放行X大众已预填"X",表示该项目已获放行,保留。
C/D/EABB / Fanuc / Kuka机器人品牌—(留空)夹紧缸是工装/末端执行部件,不绑定特定机器人品牌;除非集成方案指定,否则留空并备注"与机器人品牌无关"。
FArtikelbezeichnung物料名称Elektrischer Spannzylinder(电动夹紧缸)产品本质是电动夹紧(SMELA 电缸驱动),非气动,名称应体现"电动/机电"。
GArtikelnummer物料号【Magswitch 物料号】填贵司内部物料编号,保持与放行清单一致。
HBemerkung备注Siehe detaillierte Freigabeliste u. KVS 11-14D 300168. Elektromechanischer Antrieb mit integriertem Motion-Controller (SMELA liteECO INTEGRATED), EtherCAT/CANopen/IO — Produkt mit digitalen Elementen.沿用大众原备注,并补充关键事实:集成控制器 + 通信接口 → 含数字元素,为 CRA 适用性提供依据。
IFreigabestufe放行等级TAS Markenfreigabe大众已预填,保留。
JMVO Relevant?是否适用 MVOja(是)电动夹紧缸属于欧盟机械法规 (EU) 2023/1230 定义的"机械设备/可换设备",须 CE。大众已预填 ja,确认无误。
Kerfüllt MVO bereits heute?今天已满足 MVO?ja / 待确认若贵司已对整机取得 CE 符合性声明则填 ja 并附编号;若依赖 SMELA 的半成品机械组装声明(Einbauerklärung)+ 自身集成评估,需先备齐再填。这是硬性要求,优先解决
LCE nach MVO bis?何时取得 MVO CE【日期】或 "bereits vorhanden"已取得填"已有";在办理则给截止日期。注意:MVO (EU) 2023/1230 于 2027-01-20 起适用,现阶段仍是 Machinery Directive 2006/42/EC,据此给出 CE 时间线。
MAlternativprodukt nach MVO bis?MVO 替代产品n.a.(不适用)现有产品即可满足 MVO,无需替代产品。
NCRA Relevant是否适用 CRAja(是) 关键纠正产品含嵌入式控制器(软件/固件)+ EtherCAT/CANopen 网络通信 + 编码器,属 CRA (EU) 2024/2847 第3条"含数字元素产品",明确适用。切勿填"不适用"。
Oerfüllt CRA bereits heute?今天已满足 CRA?in Arbeit(进行中)CRA 义务分阶段适用(一般产品约 2027 年起)。是否"已满足"取决于 SMELA 是否已提供 SBOM + 漏洞管理 + 安全更新承诺。建议据实填"进行中",避免审计风险。
PAlternativprodukt nach CRA bis?CRA 替代产品n.a.(不适用)同一产品通过固件/软件更新即可满足 CRA,通常无需硬件替代。
QEinstufungsklasse im CRA (Art. 7 u. 8)CRA 分级【待 SMELA 确认】预计 default(一般)CRA 分 default/important/critical 三级。工业执行器通常为 default(一般级,自我评估为主),但须由制造商 SMELA 按 CRA 附件及第7、8条正式评估书面确认。
RStufe (1-4) nach IEC 62443-4安全等级【待确认】建议 SL1IEC 62443-4-2 定义 SL1–SL4。现场执行器通常 SL1(基础防护)即可,但需按威胁模型评估并由 SMELA 出具。
SVerfügbarkeit Security Updates bis…安全更新至【待 SMELA 承诺】如 2031-12CRA 要求制造商承诺安全更新期限。需 SMELA 出具书面承诺(一般产品通常 ≥5 年)。
TBestellbar ab…可下单起【商务日期】商务信息,贵司自填。
UAuslieferung ab…可交付起【商务日期】商务信息,贵司自填。
+ +

三、V7 版对应列(如大众要求按 V7 填写)

+ + + + + + + + + + + + +
V7 列列名填写值说明
JCRA Relevantja同 V6 版 N 列,含数字元素 → 适用。
Kerfüllt CRA bereits heute?in Arbeit据实填进行中。
LAlternativprodukt nach CRA bis?n.a.固件更新即可,无需硬件替代。
MEinstufungsklasse im CRA【待确认】default待 SMELA 确认分级。
NStufe (1-4) IEC 62443-4【待确认】SL1待评估。
OVerfügbarkeit Security Updates bis…【待确认】如 2031-12待 SMELA 承诺。
PName der ParametriersoftwareEtherCAT CoE / CANopen CiA402(无独立 PC 软件)该电缸通过协议栈配置,无独立参数化软件;如实填写协议栈即可。
QZum Zeitpunkt der Auslieferung CRA Fähig?【待确认】取决于 SMELA 合规路线图与交付时间。
RBestellbar ab…【商务日期】自填。
SAuslieferung ab…【商务日期】自填。
+ +

四、结论声明话术(附在报告末尾)

+
+

MVO 声明(德语):

+
DE Das Produkt (elektrischer Spannzylinder) erfüllt die Anforderungen der EU-Maschinenverordnung (EU) 2023/1230. Die EG-/EU-Konformitätserklärung wird mit der Lieferung bereitgestellt.
+
本产品(电动夹紧缸)满足欧盟机械法规 (EU) 2023/1230 的要求,随交付提供欧盟符合性声明。
+
+ +
+

CRA 声明(德语):

+
DE Das Produkt enthält digitale Elemente (integrierter Motion-Controller, EtherCAT/CANopen-Schnittstelle, Positionssensor) und fällt in den Anwendungsbereich der Verordnung (EU) 2024/2847 (Cyber Resilience Act). Die Einstufung sowie der Zeitplan für SBOM, Schwachstellenmanagement und Sicherheitsupdates werden mit dem Komponentenhersteller abgestimmt und nachgereicht.
+
本产品含数字元素(集成运动控制器、EtherCAT/CANopen 接口、定位传感器),落入《网络弹性法案》(EU) 2024/2847 的适用范围。其分级及 SBOM、漏洞管理、安全更新的时间表正与部件制造商协调,将随后补交。
+
+ +

五、提交前必办清单(避免被大众退回)

+
+
    +
  1. 【最高优先】 向 SMELA 索取:① MVO CE 符合性声明 / 半成品机械组装声明(Einbauerklärung);② CRA 分级确认;③ SBOM;④ 安全更新承诺期限;⑤ IEC 62443-4 等级声明。(询证邮件模板见 SMELA_CRA询证清单_英文.html
  2. +
  3. 【最高优先】 确认贵司是否已对整机做 CE 评估;若依赖 SMELA 声明,需完成集成后的技术文件与风险评估。
  4. +
  5. 填齐 J–U 全部列,不留空;无法确定的列填"in Arbeit + 计划日期",不填 n.a. 滥竽充数。
  6. +
  7. 前后一致:H 列备注、F 列名称、G 列物料号、以及 SMELA 询证结果要互相印证,不与公开信息矛盾。
  8. +
  9. 关键日期(MVO 2027-01-20 适用、CRA 分阶段约 2027 起)写进时间承诺,体现对法规节奏的把控。
  10. +
+
+ +
+ 说明:本范本基于大众 CRA/MVO 部件清单(V6/V7)的列结构与 SMELA liteECO® INTEGRATED 数据手册编制。 + 法规适用日期以官方文本为准(MVO (EU) 2023/1230 于 2027-01-20 起适用;CRA (EU) 2024/2847 义务分阶段适用)。 + 标注【待确认】的项目请勿凭猜填写,需由 SMELA 或贵司法务/合规确认后填最终值。本报告为应答范本,非法律意见。 +
+ +
+ + diff --git a/大众CRA问卷_翻译.html b/大众CRA问卷_翻译.html new file mode 100644 index 0000000..4543229 --- /dev/null +++ b/大众CRA问卷_翻译.html @@ -0,0 +1,259 @@ + + + + + +德国大众 CRA/MVO 部件清单 · 完整翻译 + 应答指南 + + + +
+ +

德国大众 CRA / MVO 部件清单 · 完整翻译 + 应答指南

+

源文件:MAGSWITCH TECHNOLOGY EUROPE_CRA_Abfrage.xlsx | 共 11 个工作表(V6/V7 × 5 个工艺区域)

+ +
+⚠️ 关键纠正:CRA = Cyber Resilience Act(欧盟《网络弹性法案》),不是化学品法规。
+本清单是大众(VW)按 VASS V6 / V7 自动化标准,要求供应商对每一个部件逐项申报: +① 是否适用欧盟新机械法规 MVO(EU-Maschinenverordnung 2023/1230);② 是否适用 CRA(网络弹性法案 2024/2847);③ 工业安全等级 IEC 62443-4。 +
+ +

一、这份文件是什么(背景)

+
+

文件名 Abfrage 是德语"询问/查询"。这是一张项目部件清单(Pr.-Komponentenliste = Projekt-Komponentenliste 项目部件清单),覆盖大众白车身/涂装/总装/输送的自动化设备部件。供应商要对自己供货的部件,说明是否已满足 MVO 和 CRA 的合规要求,以及何时能提供合规产品。

+

涉及两个标准版本:

+ + + + +
版本含义状态日期
V6VASS V6(旧版标准)Stand 04.07.2025
V7VASS V7(新版标准)Stand 29.05.2026
+

5 个工艺区域:Karosseriebau(Cu) 白车身·铜焊、Karosseriebau(POF) 白车身·点焊/冲压、Lack 涂装、Montage 总装、FT_Karobau / FT_Montage 输送技术(白车身/总装)。

+
+ +

二、表头完整翻译

+

V7 版共 19 列(A–S),V6 版共 21 列(A–U,多了 MVO 相关 4 列)。下表合并两者。

+ +

2.1 顶部标题区(第 1、2 行)

+ + + + + + + + + + + + + + + + +
原文(德语)中文翻译
MgU-IV-B03-03-VW_Teil_1(等编号)大众内部文件编号(MgU = 机械制造/设备组,IV = 第4组,B03 = 编号03)
Pr.-Komponentenliste Planung Automatisierung (VASS V6/V7)项目部件清单 — 自动化规划(VASS V6/V7 标准)
Volkswagen Karosseriebau (Cu)大众 — 白车身车间(铜焊 Cu)
Karosseriebau (POF)白车身车间(POF = 点焊/冲压)
Lackiererei涂装车间
Montage总装车间
Fördertechnik Karosseriebau / Montage输送技术 — 白车身 / 总装
VWxxx - Standort大众工厂 - 厂址
Stand 29.05.2026 / 04.07.2025状态日期(截至 2026-05-29 / 2025-07-04)
EU-Maschinenverordnung (MVO)欧盟机械法规(MVO)
Cyber Resilience Act (CRA)网络弹性法案(CRA)
CRA -KomponenteCRA 部件
CRA ParametrierungCRA 参数化配置
MVO und CRA Konformes Produkt同时符合 MVO 与 CRA 的产品
+ +

2.2 列标题(第 3 行,核心填写区)

+ + + + + + + + + + + + + + + + + + + + + +
原文(德语)中文翻译怎么理解
ANummer编号行号
BProjekt-freigabe项目放行/批准打 X 表示该项目已批准
C/D/EABB / Fanuc / KukaABB / 发那科 / 库卡机器人品牌(对应设备用哪个品牌)
FArtikelbezeichnung物料/部件名称部件描述
GArtikelnummer物料号部件编号
HBemerkung备注说明/备注
IFreigabestufe放行等级如 TAS 品牌放行等
JMVO Relevant?(V6)/CRA Relevant(V7)是否适用 MVO?(V6)/是否适用 CRA?(V7)核心判断项
Kerfüllt MVO/CRA bereits heute?今天是否已满足 MVO/CRA?现状合规声明
LCE nach MVO bis?(V6)/Alternativprodukt nach CRA bis?(V7)何时取得 MVO CE?(V6)/何时有 CRA 替代产品?(V7)时间承诺
MAlternativprodukt nach MVO bis?(V6)/Einstufungsklasse im CRA u.A. Artikel 7 u.8(V7)何时有 MVO 替代产品?(V6)/CRA 分级(含第7、8条)(V7)替代方案/分级
NCRA Relevant(V6)/Stufe (1 bis 4) nach IEC 62443-4(V7)是否适用 CRA?(V6)/IEC 62443-4 安全等级 1–4(V7)安全等级
Oerfüllt CRA bereits heute?(V6)/Verfügbarkeit Security Updates bis…(V7)今天是否已满足 CRA?(V6)/安全更新可用至…(V7)安全更新期限
PAlternativprodukt nach CRA bis?(V6)/Name der Parametriersoftware(V7)何时有 CRA 替代产品?(V6)/参数化软件名称(V7)软件名称
QEinstufungsklasse im CRA…(V6)/Zum Zeitpunkt der Komponentenauslieferung CRA Fähig?(V7)CRA 分级(V6)/部件交付时是否具备 CRA 能力?(V7)交付时点合规
RStufe (1-4) IEC 62443-4(V6)/Bestellbar ab…(V7)IEC 62443-4 等级(V6)/可下单起…(V7)可订购时间
SVerfügbarkeit Security Updates bis…(V6)/Auslieferung ab…(V7)安全更新可用至…(V6)/可交付起…(V7)可交付时间
TBestellbar ab…(V6)可下单起…(仅 V6)订购时间
UAuslieferung ab…(V6)可交付起…(仅 V6)交付时间
+ +

2.3 底部小表头

+ + + + + + +
原文中文
Änderungen变更记录
Pos.序号
Hersteller制造商
Datum日期
+ +

三、部件名称完整翻译(各区域)

+ +

3.1 白车身(Karosseriebau POF,最全的清单)

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
编号德语原文中文翻译
001dSchweißsteuerung für Handschweißzangen手工焊钳的焊接控制器
002aMKZB-Schweißzange (KE)MKZB 焊钳(KE = 电极钳)
002bSchweißzangenantrieb (RZ/KE)焊钳驱动(RZ = 机器人焊钳 / KE)
002cRoboterschweißzangen Trafo机器人焊钳变压器
002dSchweißzange roboterintegriert (RZ)机器人集成焊钳(RZ)
002eSchweißzange servopneumatisch (SPZ)伺服气动焊钳(SPZ)
002gStoßpunkten对焊点焊
003aRückzugsysteme für Leitungspakete线缆包回缩系统
003bGesamt-Leitungspakete整体线缆包(线束)
004Spanntechnik im Karosseriebau白车身夹紧技术 ← 【Magswitch 所在项】
009aRP (WPS) HandpunkttrafozangenRP(WPS)手工点焊变压器钳
010bReinigungsgeräte清洁设备
013cSetzköpfe für Buckel-Normteile inkl. Vereinzelung u. Zuführtechnik凸焊标准件压铆头(含分料与上料技术)
016aSchutzfenster, Rolltore防护窗、卷帘门
016bLASER-Schutzfenster, -rolltore激光防护窗、激光卷帘门
016cSchutzbereichsabgrenzung mit hoher Schutzfunktion高防护功能的安全区域隔离
017aEURO-Greifer nach VW-Spezifikation按大众规范的 EURO 抓手
017bLieferanten EGT & VGT- Teile供应商 EGT & VGT 部件
019aPrägezangen压印钳
020aRoboter-Steuerungen机器人控制器
020cRoboter-Mechaniken机器人机械机构
022fVereinzelung und Zuführtechnik für Einzelteile / Kleinteile als Schüttgut散料单件/小件的分料与上料技术
023aLaserstrahlquellen激光光源
023bSchweißoptik焊接光学系统
024Drehtische旋转工作台
025Verfahreinheit für Roboter机器人行走轴
026Schutzzäune安全围栏
033Stau-/Taktbänder积放式/节拍式输送带
100Schmiersysteme润滑系统
102Federbeinlochen减震支柱冲孔
103a/bID-ReaderID 读码器
103cVision-Sensor视觉传感器
103dVision-System视觉系统
103ePC-Kamera-SystemePC 相机系统
106HIP/RIPHIP/RIP(缩写,保留)
107aAnlageninterne Skidfördertechnik (KB)工厂内部滑撬输送技术(KB)
109Werkermitfahrbänder工人随行输送带
115aManipulator机械手(助力机械臂)
115bLaufschiene行走轨道
115cBalancer平衡器(弹簧平衡吊)
115eGleitleisten / Lager滑条 / 轴承
115fStoßdämpfer缓冲器(减震器)
012aMultikupplung多路快换接头
+ +

四、Magswitch 那一行的内容(重点!)

+
+

在工作表 V6_Karobau_CU 中,Magswitch 被列在 004-Spanntechnik im Karosseriebau(白车身夹紧技术) 下,已填写的单元格如下:

+ + + + + + + + + + +
单元格原文中文翻译
A14K-ID-00235部件识别号 K-ID-00235
B13MAGSWITCH TECHNOLOGY EUROPE - SpanntechnikMAGSWITCH TECHNOLOGY EUROPE — 夹紧技术
B14X项目已放行(打勾 X)
F14Siehe detailierte Freigabeliste详见详细放行清单
H14Siehe detaillierte Freigabeliste und Datenzusammenstellung im KVS unter 11-14D 300168. Empfehlung: Erstellung separate Projektliste.详见详细放行清单及 KVS 中 11-14D 300168 下的数据汇编。建议:单独编制项目清单。
I14TAS MarkenfreigabeTAS 品牌放行(TAS = 大众技术品牌放行)
J14ja(适用 MVO)
K14in Abfrage询问中 / 待答复
+

含义:大众已认定 Magswitch 的夹紧技术适用 MVO(欧盟机械法规),但"是否已满足合规"这一栏大众写的是 in Abfrage(正在询问供应商) —— 也就是说,这一栏就是要你来回答的

+
+ +

五、怎么回答才能拿高分(针对 CRA + MVO)

+ +

5.1 先搞清楚两个法规的适用范围

+
+ + + + + + + + + + + + + + +
法规全称适用范围对 Magswitch 夹紧技术是否适用?
MVO欧盟机械法规
(EU) 2023/1230
机械设备、可换设备、安全部件、半成品机械适用(是)——夹紧装置属于"机械/安全部件",需 CE + 符合性声明
CRA网络弹性法案
(EU) 2024/2847
数字元素的产品(有软件/联网/通信)视情况——纯机械/气动磁力夹紧无数字元素 → 不适用;若带传感器/IO-Link/控制器 → 适用
+
+ +

5.2 核心策略:诚实区分"MVO 适用、CRA 大多不适用"

+
+

拿高分的正确姿势:

+
    +
  1. MVO 这一栏答"是(ja)"——你的夹紧产品是机械设备/安全部件,必须提供 CE 符合性声明(EU-Konformitätserklärung)或半成品机械的"组装说明"(Einbauerklärung)。这是硬性要求,躲不掉。
  2. +
  3. CRA 这一栏要如实判断:如果你的磁力夹紧产品没有软件、没有通信接口、没有传感器,就答 Nein(否)/ 不适用,并在备注写"本产品为纯机械/气动部件,不含数字元素(no digital elements),不在 CRA 适用范围"。这反而比含糊其辞更专业、更不被追责。
  4. +
  5. 如果产品带传感器或电气控制,则需按 CRA 走:给出安全等级(IEC 62443-4 的 SL1–SL4)安全更新承诺期限参数化软件名称
  6. +
+
+ +

5.3 逐列建议填法(以 V7 版为准,最严)

+ + + + + + + + + + + + +
填写建议说明
J CRA Relevant?Nein(若纯机械)无数字元素则不适用 CRA
K erfüllt CRA bereits heute?entfällt / n.a.(不适用)不适用则无需回答
L Alternativprodukt nach CRA bis?留空并注 n.a.
M Einstufungsklasse CRAn.a. / 或 Default(若适用)CRA 分级:一般/重要/关键
N Stufe IEC 62443-4SL1(若需)/n.a.安全等级 1–4,机械部件多为 n.a.
O Security Updates bis…按产品声明如适用,给出日期(如 2031-12)
P Parametriersoftware软件名或 n.a.如 Magswitch 有配置软件则填名称
Q 交付时 CRA Fähig?Ja / Nein / n.a.诚实回答
R Bestellbar ab…给出日期可下单时间
S Auslieferung ab…给出日期可交付时间
+ +

5.4 高分话术模板

+
+

MVO 合规(写 CE 声明处):

+
本产品(磁力夹紧/夹紧技术)符合欧盟机械法规 (EU) 2023/1230,已签发 CE 符合性声明(EU-Konformitätserklärung,编号 XXX,签发日期 20XX-XX-XX),并随产品附带操作手册及半成品机械组装说明(Einbauerklärung)。
+

CRA 不适用(纯机械时):

+
本产品为纯机械/气动部件,不含任何数字元素(无嵌入式软件、无通信接口、无远程数据交换),因此不落入欧盟网络弹性法案 (EU) 2024/2847 的适用范围(CRA 第 2 条适用范围)。
+

CRA 适用(带电气/软件时):

+
本产品含 [控制器/IO-Link/传感器],属于 CRA 适用范围。已按 IEC 62443-4 达到安全等级 SL[X],安全更新承诺提供至 20XX-XX,参数化软件为 [软件名],将于 [日期] 提供 CRA 合规产品。
+
+ +

六、给 Magswitch / OneBot 的行动清单

+
+ + + + + + + + +
事项要准备的材料优先级
确认产品是否含数字元素产品图纸/BOM,判断有无软件、传感器、通信口最高
MVO CE 符合性声明EU 符合性声明、技术文件、操作手册最高
CRA 分级(若适用)CRA 产品分级 + IEC 62443-4 等级评估
安全更新承诺安全更新政策 + 期限
参数化软件(若适用)软件名称 + 版本 + 漏洞管理
回复时间把 J/K/L/M/N/O/P/Q/R/S 各列填齐,不留空最高
+
+ +
+说明:翻译基于源文件 MAGSWITCH TECHNOLOGY EUROPE_CRA_Abfrage.xlsx 的完整导出内容(11 个工作表)。 +CRA = Cyber Resilience Act (EU) 2024/2847;MVO = EU-Maschinenverordnung (EU) 2023/1230。 +法规具体条文(如 CRA 第7、8条的分级)建议以官方文本为准核对。本页为翻译与应答参考,非法律意见。 +
+ +
+ + diff --git a/大众CRA问卷_高分应答策略.html b/大众CRA问卷_高分应答策略.html new file mode 100644 index 0000000..5e42c3b --- /dev/null +++ b/大众CRA问卷_高分应答策略.html @@ -0,0 +1,103 @@ + + + + + +德国大众 CRA 供应商问卷 · 高分应答策略 + + + +
+ +

德国大众 CRA 供应商问卷 · 高分应答策略

+

适用对象:Magswitch Technology / OneBot(磁力夹紧、电动夹紧缸等)| 目标:成熟度评分最大化,避免红旗项

+ +

一、先搞懂大众怎么打分

+
+

大众(VW)对供应商合规问卷采用「成熟度模型」评分,每一题大致分 0–5 档:

+ + + + + + + + +
分数含义典型表现
0未答 / 无空白、敷衍
1口头承诺“我们遵守”但无文件
2有书面制度有政策/流程文件,但未执行证据
3有证据 + 部分执行有文件 + 培训 + 部分记录
4系统化 + 全面执行全流程落地 + KPI + 定期评审
5行业最佳实践外部审计 + 持续改进 + 供应链延伸
+

核心目标:每一题都答到 3–4 分以上,绝不留空。

+
+ +

二、五条黄金法则(决定成败)

+
① 绝不空题。 空白 = 自动 0 分 + 触发红旗;不确定就写“正在建立流程 + 时间表”。
+
② 一切靠证据。 不要只写“遵守”,要写:政策文件名 + 编号 + 发布日期 + 负责部门 + 最近评审日期 + 配套培训 + 证据附件
+
③ 自洽一致。 问卷内部前后一致,且与官网、证书、公开信息一致;矛盾会被交叉校验。
+
④ 诚实但完整。 不夸大(防审计),把已有能力全部摆出来;缺的给“路线图 + 时间表 + 责任人”。
+
⑤ 用德语作答更讨喜。 VW 是德国 OEM,术语精准、格式规范会留下专业印象;至少中英对照、关键术语准确。
+ +

三、分主题提分点

+
+ + + + + + + + + +
主题高分关键需要的证据
管理体系认证最大单项加分项IATF 16949、ISO 9001、ISO 14001、ISO 45001、ISO 50001 证书
可持续发展 / S-Rating对齐 Drive Sustainability · SAQ 5.0行为准则、环境政策、人权/劳工政策、举报申诉机制、供应链尽责调查
化学品法规(若 CRA=Chemical Regulatory Affairs)REACH / RoHS / SCIP / IMDSREACH SVHC 通报、SCIP 申报(>0.1% w/w)、RoHS 声明、IMDS 材料数据
冲突矿产负责任采购CMRT / EMRT 声明、负责任矿产采购政策
碳 / 能耗量化 + 目标能耗数据、CO₂ 足迹、减碳目标
劳工与人权禁令齐全工时、童工/强迫劳动禁令、结社自由、反歧视政策
商业道德反腐败 + 合规反腐败政策、礼品招待规定、出口管制/制裁合规
+
+ +

四、高分话术模板(照抄改)

+
✅ 高分写法(有制度时):
+“我司已建立《XXX 政策》(编号 XXX,20XX-XX-XX 发布),覆盖范围 XXX,由 XXX 部门负责,每年评审一次(最近评审 20XX-XX),累计培训 XXX 人次,相关记录与证书见附件。”
+
🟡 兜底写法(还没建时):
+“该事项目前处于 XXX 阶段,我司已制定行动计划,目标于 20XX-XX 前完成,负责人 XXX,进度将定期向贵方通报。”
+ +

五、常见失分点(避开)

+
+
    +
  • 空白题滥用 “N/A” —— 是最常见的扣分红旗。
  • +
  • 只写“是 / 否 / 遵守”,无任何证据
  • +
  • 前后矛盾(如第3题说有 ISO14001,第12题又写无环境体系)。
  • +
  • 证书已过期却仍列为有效。
  • +
  • 英语/德语表述含糊,导致被误解为“不符合”。
  • +
+
+ +

六、给 Magswitch / OneBot 的具体建议

+
+ + + + + + +
要点怎么答
汽车行业经验强调 IATF 16949(如无则 ISO 9001)+ 已服务汽车主机厂/Tier1 的案例
产品合规强调产品不含 SVHC、符合 RoHS,可提供 IMDS / 材料成分声明
欧洲本地实体突出 “Magswitch Technology Europe” 本地合规与数据保护(GDPR)能力
备齐附件公司简介、证书扫描件、政策文件清单、组织架构、合规负责人联系方式
+
+ +
说明:本策略基于大众供应商合规问卷通用评分逻辑整理。待读取到 MAGSWITCH TECHNOLOGY EUROPE_CRA_Abfrage.xlsx 原文后,可进一步逐题给出针对性答案。
+
+ + diff --git a/开发提示词-NX按需生成服务.md b/开发提示词-NX按需生成服务.md new file mode 100644 index 0000000..9bb1c63 --- /dev/null +++ b/开发提示词-NX按需生成服务.md @@ -0,0 +1,159 @@ +# 开发提示词:NX 按需生成服务(A 版:轻量自建队列 + run_journal) + +> 交付对象:Claude Code。实现前请先通读本提示词 + 项目根 `项目总览.md` + `docs\维护手册.md` + `开发提示词-参数化选型引擎.md`(一期,本服务的前置依赖)。 +> 实施命令以用户说"开工"为准;本文档只定义"做什么、边界在哪、怎么验收"。 +> 部署红线:本服务属于云部署范畴,**服务器上线动作需用户另行明确指令**,开发与本地联调不在此列。 + +## 1. 背景与目标 + +一期(参数化选型引擎)上线后,选型面板可生成**非标准档位组合**(型号编码+参数行),但无对应 STEP。用户已决策:**不做批量预生成**;生成**按需触发**,输出**留存到服务器输出目录、不删除**,同组合再次请求直接复用(磁盘增长 = 实际请求过的唯一组合数,天然有界)。 + +**目标(A 版)**:搭建**按需生成服务**——用户在网页/桌面对非标组合点击【在线生成数模】,服务器现场用 NX 无界面模式生成,**输出到服务器输出目录并留存复用**。请求支持**单个与批量**两种形态,导出支持**多格式**: + +- 标准档位:继续走纯静态文件路径,**不经过服务**(现有架构不动) +- 非标档位:下载按钮从"置灰"升级为【在线生成数模】→ 请求 → 队列 → NX 生成 → 输出目录 → 下载 +- **单个生成**:结果行单组合 → 一个任务 → 一个型号的全格式文件 +- **批量生成**:购物车打包时清单含非标条目 → 一次性提交全部非标组合 → 一个批量任务(单 worker 单会话顺序处理)→ 全部完成后打包下载 +- **输出目录**:`output\<系列>\<型号编码>\`,每次生成写入全部格式文件;**已存在则该组合直接命中复用,不重复生成、不删除** +- **多格式导出**(每型号一套):STEP(AP214) + Parasolid(.x_t) + IGES + STL;JT / 3D PDF 列为可选升级 +- 不做:Teamcenter Dispatcher(B 版,跑顺后再评估)、主动预生成入库、账号体系 + +## 2. 前置依赖与边界 + +**前置依赖 = 一期参数化选型引擎已上线**(本服务消费一期产出): +- meta.json 规则包(参数域/规则/型号编码模板)→ 服务端**二次校验**请求参数的依据 +- 非标组合的概念与 UI 徽标、统一文案基础 +- 注意衔接:一期验收标准里"非标下载置灰"是**过渡态**,本服务上线后按钮升级为【在线生成数模】,两端一致 + +**做**:GenServer(HttpListener 轻量后端)+ 文件队列 + 常驻 NX worker(循环 journal)+ 两端接入 + 输出目录留存复用 + 限流/日志 + 母模工作目录规范 +**不做(v1 明确排除)**:TC 检出与版本追溯(升级项)、Part Families 标准化(升级项)、Dispatcher(B 版)、主动预生成入库、用户账号/支付;标准档位多格式化(升级项:维护端批量导出时顺手出多格式) +**购物车联动(v1 含)**:清单含非标条目时,打包流程先走批量生成、成功后正常打包(不再跳过);非标型号打包为型号子文件夹多格式结构 + +## 3. 系统架构 + +``` +网页/桌面 ──HTTP──▶ GenServer(HttpListener, net48) + 非标组合+签名 │ + 参数二次校验(同一份规则JSON) + │ + 检索输出目录(命中即返回, 不生成)──▶ output\<系列>\<型号>\ + │ 未命中 + 文件任务队列(jobs\ 目录, 容量上限) + │ + ┌───────────────────┼──────────────┐ + NX worker 1 NX worker 2 ... NX worker N ← 常驻进程, 每进程1席位 + 认领前再检索 → 拷母模副本 → 设表达式 → 更新 → 导多格式 → 写输出目录 + │ + 结果轮询API(任务号) ──▶ 下载(全格式zip / 批量打包) +``` + +**检索先行(每次生成前必做)**:GenServer 入队前按 `output\<系列>\<型号编码>\` 检索输出目录——**命中(目录存在且 exports 配置的全格式文件齐全)则直接返回已输出文件,不生成、不进队列**;worker 认领任务后**再查一次**(防并发窗口重复生成);未命中才真正触发 NX。 + +**组件规格**: + +1. **GenServer**:csc 编译的 net48 控制台程序,`HttpListener` 自托管(与桌面端 LocalViewerServer 同技术路线,无新运行时依赖)。接口: + - `POST /gen` — 入参 {series, params, code} → 校验 → **检索输出目录(命中直接返回)** → 写队列 → 返回 {jobId} + - `POST /gen-batch` — 批量:入参 {items: [{series, params, code}...]}(上限如 50 项)→ 逐项校验(任一非法整单拒绝)→ **逐项检索输出目录(命中项免生成)** → 未命中项写一个批量任务 → 返回 {jobId};状态接口附带逐项进度 {done, total, failedItems} + - `GET /status?job=` — 返回 {state: queued|running|done|failed|timeout, filesUrl?, error?} + - `GET /file?job=&token=<一次性token>` — 下载该型号**全格式 zip** + - `GET /health` — 存活探测 +2. **文件任务队列**:`jobs\` 目录,每任务一个 `job_.json`(单个任务或批量任务,含参数、母模路径、表达式映射快照)。**容量上限按任务计**(如 200),超限返回"队列繁忙"文案。任务状态持久在 job 文件里(崩溃可查)。 +3. **NX worker(常驻,推荐)**:每个席位一个进程,`run_journal.exe worker_journal.vb ` 循环:轮询 `jobs\` → **认领前对该任务逐项检索输出目录(命中项跳过)** → 认领(原子改名/标记)→ 处理 → 写结果文件 → 继续。**进程守护**:GenServer 或计划任务检测 worker 心跳文件,死了自动重启。 + - **批量任务 = 单会话顺序处理**:同一 worker 会话内逐项"打开副本→设参→导出→关闭",复用会话避免每项冷启动;同一系列的项共用一份母模副本(副本从不保存,只导多格式,可安全复用);跨系列则各拷一份 + - v0 备选(更简单):每任务直接 spawn run_journal 单发 journal——注意 NX 会话启动 ~30-60 秒/次,用户体验差,仅用于联调 +4. **生成 journal 要点**: + - 打开母模前**必须先拷贝母模到任务私有目录**再打开(NX 文件锁会排他,多 worker 并发打开同一 .prt 必冲突) + - 按 masters.json 的表达式映射逐项设置表达式;**任一设置失败 → 任务失败并写明原因,禁止静默跳过** + - **按 masters.json 的 exports 配置逐格式导出**:STEP(AP214)/Parasolid(.x_t)/IGES/STL(NX 均有对应导出 API),全部写入该型号输出子文件夹 + - 写入状态文件(journal 内 try-catch,不要只依赖 exit code) +5. **输出目录与残留清理**:生成结果写入 `output\<系列>\<型号编码>\` **留存不删除**;清理仅针对任务私有工作副本(母模拷贝等中间物,任务完成后删除,兜底 TTL 2 小时);jobs 日志按天滚动。输出目录磁盘增长 = 实际请求过的唯一组合数,容量监控/归档属部署决策。 +6. **安全**:API Key 校验(请求头)+ 每 Key 限流(如 10 次/分钟,超限返回统一文案)+ 参数全量规则校验(不信任客户端)+ 请求日志。v1 不需要账号体系。 +7. **两端接入**: + - 网页:静态站配置 `GEN_API` 基址(config.js,默认空 → 按钮维持一期置灰态,优雅降级)。非标组合显示【在线生成数模】→ 提交 → 轮询(间隔 3 秒,断线重连)→ 完成自动下载**全格式 zip** + - **购物车批量打包联动**:打包时清单含非标条目 → 先提示"清单含 {n} 个非标档位"→【生成后打包】提交 /gen-batch → 逐项进度({done}/{total})→ 全部成功按原 zip 逻辑打包(非标为型号子文件夹多格式);部分失败 → 成功项打包 + 失败清单提示可重试 + - 桌面:同按钮同文案同流程(联网探测:服务不可达按断网处理);断网 → 置灰 + "需联网生成"提示。GenServer 地址由维护入口配置、随 .opc 发布 +8. **母模工作目录(v1 文件型)**:服务器上 `catalog-masters\<系列>\<母模>.prt`,由维护人员从 Teamcenter 导出"已发布"母模同步至此(人工/robocopy)。TC 自动检出+版本写入 STEP 属性为升级项。 + +## 4. masters.json(服务器侧新文件,不进客户包) + +```json +{ + "KC": { + "masterPart": "KC_master.prt", + "expressionMap": { "bore": "BORE", "stroke": "STROKE", "mount": "MOUNT_TYPE" }, + "exports": { "step": "214", "parasolid": true, "iges": true, "stl": true }, + "timeoutSec": 300 + } +} +``` +- exports 支持全局默认 + 按系列覆盖;STL 精度沿用网格管线经验(0.5mm 量级,可配) +- **命中判定**:`output\<系列>\<型号编码>\` 目录存在且 exports 配置的全部格式文件齐全 + +- 表达式名由用户按 NX 母模实际命名确认;生成服务只认这张表 +- 缺映射的参数(如影响不到几何的选项)可不列,生成照常 + +## 5. 验收标准(11 条,全部通过才可部署) + +1. **端到端正确性(单个)**:网页非标组合(如 KC 系列 stroke=87)点【在线生成数模】→ 下载 zip → 在 NX 中打开 STEP 核对缸径/行程与请求一致(用户侧确认) +2. **批量生成端到端**:购物车含 3 个非标条目(跨系列)→ 一次提交 → 逐项进度 → 全部成功后打包 zip(标准档位 STEP + 非标型号子文件夹多格式)且各文件与请求参数一致;含 1 个非法项时整单拒绝 +3. **部分失败可重试**:批量中 1 项生成失败 → 成功项正常打包、失败项明确列出并可单独重试 +4. **检索先行与留存复用**:生成结果写入 `output\<系列>\<型号编码>\` 且不删除;同一组合第二次请求**不触发 NX**(观察无进程活动)直接返回已输出文件 +5. **多格式完整**:每型号输出 STEP/Parasolid/IGES/STL 四格式,文件可各自打开验证 +6. **双端一致**:桌面联网时与网页同按钮同文案同行为;断网置灰+提示(红线:两端 UI 无差异) +7. **服务端校验**:非法组合(越界/违背规则/不存在的系列)被拒绝,不进入队列,不触达 NX +8. **限流**:高频请求触发限流文案;日志可查 +9. **并发与排队**:worker 数 = 席位上限,超出排队;队列满返回"队列繁忙"统一文案(按任务计) +10. **失败与重试**:生成失败/超时返回统一文案+可重试;worker 崩溃自动重启,任务不丢(重入队列) +11. **回归零影响**:标准档位全部不经服务、行为不变;一期验收项(对拍门禁/组合爆炸保护/31 项 selftest)全过 + +## 6. 陷阱清单(12 条) + +1. **NX 母模文件锁**:多 worker 并发打开同一 .prt 会排他冲突——必须"拷贝副本再打开"(§3 组件 4) +2. **run_journal 启动开销**:每任务 spawn 一个 NX 会话 30~60 秒——v1 用常驻轮询 worker,别走每任务冷启动 +3. **journal 错误捕获**:状态文件必须在 journal 内 try-catch 写入,exit code 不可靠 +4. **表达式设置静默失败**:设参失败必须判失败并写明,否则交付错误几何 +5. **中文路径**:服务器工作目录全部英文路径(NX 对中文路径敏感,项目已有教训) +6. **编码**:编辑含中文的 .cs/.vb/.ps1 后跑 `sample-data\tools\fix-bom.ps1`;journal 文件 BOM 手工恢复(fix-bom 不覆盖 .vb 的坑) +7. **任务幂等**:认领/完成必须原子操作(文件改名),防止双 worker 抢同一任务 +8. **队列有界**:jobs 目录容量上限 + 状态表有界,防止磁盘/内存被刷爆 +9. **下载 token 一次性**:/file 用一次性 token,防止链接外传;下载完成才清理 +10. **网页轮询健壮性**:轮询断线重连、页面关闭不报错;生成中按钮防重复提交 +11. **桌面联网探测**:"服务不可达"与"断网"同文案处理,不弹错误框 +12. **与一期验收衔接**:一期"非标置灰"验收项在本服务上线后升级——发布门禁脚本同步更新,别两头打架 +13. **批量会话复用脏副本**:同系列共用的母模副本绝不能保存(journal 禁 Save)——误存一次,后续所有项都基于脏几何导出 +14. **批量部分失败处理**:单项失败不得中止整批,记录 failedItems 继续;失败项可单独重试,状态文案一致 +15. **输出目录并发写冲突**:同型号并发请求(两个用户同时生成同一组合)——按型号原子写(写临时名再改名落位),半成品文件绝不可被下载接口看到 + +## 7. 两端统一文案表(zh / en 同源,走 _lang.T/t 双语文案) + +| 场景 | 中文 | English | +|---|---|---| +| 生成按钮 | 在线生成数模 | Generate 3D model online | +| 生成中 | 正在生成数模,预计 10–60 秒… | Generating — typically 10–60 s… | +| 排队中 | 生成队列繁忙,前面还有 {n} 个任务 | Queue busy — {n} task(s) ahead | +| 生成失败 | 生成失败,请重试或联系销售 | Generation failed — retry or contact sales | +| 生成超时 | 生成超时,请重试 | Generation timed out — retry | +| 断网/不可达 | 需联网生成,请连接网络后重试 | Internet required for generation | +| 参数无效 | 请求参数无效 | Invalid parameters | +| 限流 | 请求过于频繁,请稍后再试 | Too many requests — try again later | +| 多格式下载 | 下载全格式压缩包(STEP/Parasolid/IGES/STL) | Download all-format zip (STEP/Parasolid/IGES/STL) | +| 批量提示 | 清单含 {n} 个非标档位,将在线生成后打包 | {n} non-standard item(s) — will be generated before packaging | +| 批量生成按钮 | 生成后打包 | Generate & download zip | +| 批量进度 | 正在生成 {done}/{total}… | Generating {done}/{total}… | +| 批量部分失败 | {n} 项生成失败,其余已打包;失败项可重试 | {n} item(s) failed — the rest are packaged. Failed items can be retried. | + +## 8. 成本与部署(决策要点,仅分析) + +- **大头 = NX 授权席位**:每并发 worker 1 席位,公司现有 NX 可复用;席位少 → 队列深 +- 服务器:Windows Server 一台(CPU/RAM 按席位数量配,每 NX 进程数 GB 内存) +- 部署位置(内网/公网反代)与公网域名/证书属上线决策,需用户另行指令 +- 开发量:中小型功能(GenServer + journal + 两端接入),约购物车功能量级 + +## 9. 交付物 + +1. GenServer 源码与编译脚本(tools\build.ps1 增项)+ 启动/守护脚本 +2. worker_journal.vb(常驻轮询生成)+ 单发 journal(联调用) +3. masters.json 模板 + KC 系列示例(表达式名由用户确认后填) +4. 网页端接入(config.js 基址 + 非标按钮/轮询/多格式 zip 下载 + 购物车批量生成打包联动,style.css 样式)+ 桌面端接入(联网探测/按钮/轮询/购物车联动,MainWindow) +5. 本地联调说明(docs\维护手册.md 增补章节)+ `项目总览.md` 回写进展 +6. 升级路线备注:TC 检出与版本追溯、Part Families、Dispatcher(B 版)评估、JT/3D PDF 导出、标准档位多格式化 diff --git a/开发提示词-参数化选型引擎.md b/开发提示词-参数化选型引擎.md new file mode 100644 index 0000000..a3623d1 --- /dev/null +++ b/开发提示词-参数化选型引擎.md @@ -0,0 +1,166 @@ +# 开发提示词:参数化选型引擎(一期:选型数据参数化) + +> 交付对象:Claude Code。实现前请先通读本提示词 + 项目根 `项目总览.md`(需求定稿/踩坑清单)+ `docs\维护手册.md`。 +> 实施命令以用户说"开工"为准;本文档只定义"做什么、边界在哪、怎么验收"。 + +## 1. 背景与目标 + +**问题**:直线气缸类别变种数量巨大。现状 CSV 已枚举 52,154 行(M 单系列 14,400 行),若把行程连续档、附件/磁性开关/杆端形式全枚举,将达到几十万行;且每个变种配一个 STEP 文件将导致发布包爆炸(几十万 × 1MB ≈ 数百 GB),参数表也无法浏览。Airtac 原系统用 CADENAS `.tab` 参数表 + `.3db` 参数化几何按需实例化,一个系列只有几个模板文件。 + +**目标(一期)**:把选型**数据层**参数化—— + +1. CSV 从"全枚举表"降级为"**标准档位网格**"(可控量级:每系列几百~几千行) +2. 系列规则包定义**参数域**(枚举 / 连续区间+步长)+ 组合约束 + **型号编码模板** +3. 选型时由规则引擎**实时生成**任意合法组合的参数行 + 型号编码(含非标准档位组合) +4. **两端一致**:同一份规则 JSON,C#(桌面)与 JS(网页)各写一个解释器,用同一份测试向量对拍 +5. 非标准档位的 STEP 下载/3D 预览按一期降级策略处理(见 §6) + +**二期(另行立项,不在本提示词范围)**:几何参数化——行程类变形引擎(OCP 切分/平移/融合),客户机按需生成非标 STEP。 + +## 2. 范围与边界 + +**做**: +- meta.json 增加参数化字段(mode/参数域/编码模板/步长等,见 §3) +- C# 与 JS 各一个规则解释器(共享语义,共享测试向量) +- 选型面板支持连续参数输入(标准档位快捷选 + 自定义值) +- 非标组合:参数行生成、编码生成、下载/预览降级(§6) +- 构建期校验 + selftest 新项 + 网页无头对拍(§8) +- 试点系列迁移:KC(2,628 行 → 网格化),验证后推广 + +**不做(一期明确排除)**: +- 几何变形引擎 / 按需生成 STEP(二期) +- 缸径类参数化变形(永远走标准档位,见二期边界) +- 删除现有 CSV 结构或重写搜索/平替/购物车主流程(它们继续以网格行为数据源) +- 维护向导的参数化规则可视化编辑器(一期手工编辑 meta.json,向导只做校验;编辑器列二期) + +## 3. 数据模型(meta.json 扩展) + +在现有 series.meta.json 的 `series` 块上扩展,**缺省字段 = 现行为,老系列零影响**: + +```json +{ + "series": { + "code": "KC", + "mode": "parametric", // 缺省/其他值 = 现有枚举模式,行为不变 + "modelCodeTemplate": "KC{type:pad2}{bore}-{stroke}{mount}", + "stepNameTemplate": "KC-{type}-{bore}x{stroke}.step", + "parameters": [ + { "code": "bore", "type": "enum", + "values": [32, 40, 50, 63, 80, 100, 125] }, + { "code": "stroke", "type": "range", + "min": 10, "max": 200, "step": 1, "unit": "mm", + "gridValues": [10, 20, 30, 50, 75, 100] }, + { "code": "mount", "type": "enum", "values": ["", "FA", "FB"] } + ], + "rules": [ /* 现有 If/Then 规则,语义不变 */ ] + } +} +``` + +**语义约定**: + +1. **mode**:`parametric` 启动参数化引擎;缺失即现有枚举模式(CSV 行驱动选型),现有 11 个直线缸系列等全部老系列不受影响。 +2. **参数域**:`enum`(现有)+ 新增 `range`(min/max/step,全部为整数,step≥1;min/max 必须满足 `max ≥ min`)。 +3. **gridValues**:该参数的"标准档位"取值列表,仅用于 UI 快捷选择与网格判定辅助;**网格真源仍是 CSV**(见 §4 判定规则)。 +4. **modelCodeTemplate**:型号编码模板。语法 `{字段[:padN]}`,padN = 前补零到 N 位;空枚举值(如 mount="")输出空串。示例:`KC{type:pad2}{bore}-{stroke}{mount}` 对 type=00、bore=32、stroke=10、mount="" 生成 `KC0032-10`;mount=FA 生成 `KC0032-10FA`。 +5. **stepNameTemplate**:同语法,生成网格内 STEP 文件名(与 `step\` 目录现有命名对齐);非标组合无此文件。 +6. **rules**:沿用现有 If/Then(Op: eq/ne/in/range…),解释器对 range 参数同样生效(Then 可把 range 参数修剪为子区间或枚举子集——实现时给出与现有枚举引擎等价的最小扩展)。 +7. **组合合法性**:所有规则同时满足,且每个参数取值在其域内。网格判定见 §4。 + +**构建期校验(FullCatalogBuilder 新增)**: +- 模板中的每个 `{字段}` 必须存在于 parameters;padN 必须是正整数 +- range 参数:min/max/step 合法;gridValues ⊆ [min,max] 且按 step 对齐 +- parametric 系列的 CSV 中每个现有编码,必须能被模板重新生成且结果一致(**试点对拍门禁**,见 §8) + +## 4. 网格判定与生成行语义 + +- **标准档位(isStandard=true)**:生成的型号编码命中本系列 CSV 行 → 该行数据即参数行,step_file 照常(网格行不动,搜索/平替/参数表/下载全部沿用老逻辑,**回归零差异**) +- **非标档位(isStandard=false)**:编码不在 CSV → 由引擎实时生成参数行: + - model_code = 模板生成;各参数值 = 当前组合;step_file = null;isStandard = false + - 数量类参数展示带单位(unit 字段) +- **非标编码不出现在任何静态表**:搜索只索引网格编码 + 系列关键词;crossref 的 our_model 只允许网格编码(构建校验);非标组合的**唯一入口是选型面板** + +## 5. 两端功能需求(桌面 / 网页逐项一致) + +**选型面板**: +- enum 参数:现有下拉,不变 +- range 参数:**可编辑下拉**(WPF ComboBox IsEditable / HTML input+datalist)——下拉列出 gridValues(标注"标准"),允许输入任意 [min,max] 内按 step 对齐的值;非法输入(越界/非整数/不齐 step)红框 + 统一文案,不生成型号 +- 联动:任一参数变化 → 解释器重算其余参数可选集(枚举过滤 + range 修剪);生成行实时刷新 +- **组合上限保护**:合法组合数 > 2000 时,UI 不生成结果行,显示"可选组合过多,请先选择更多参数"(两端同阈值同文案) + +**结果行**:显示生成型号编码 + 参数摘要 + isStandard 标记(非标显示"非标档位(无标准数模)"徽标,两端同样式) + +**下载(STEP / PDF)**: +- 标准档位:现有逻辑不变 +- 非标档位:下载按钮**置灰**,悬停/点击显示"非标档位暂不支持数模下载,请联系销售或选择标准档位"(PDF 照常可下) + +**3D 预览**: +- 标准档位:现有四级链不变 +- 非标档位:展示**最近标准档位**(按 gridValues 各维距离最近、平局取小)几何,视图顶部加提示条"当前为非标档位,展示最近标准档位 <编码> 的近似几何" + +**参数表 / 搜索 / 平替 / 购物车**:全部以网格行为数据源,逻辑不变(回归项): +- 参数表:仍浏览网格行;parametric 系列不新增行 +- 购物车:非标组合可加入(参数摘要同标准行),条目标注"非标档位(打包时无 STEP)";下载 zip 跳过其 STEP、清单.txt 中注明 +- 平替:非标编码不参与对照(对照只认网格编码) + +**维护向导**:parametric 系列仅做校验(域/模板/对拍门禁结果展示),编辑仍手工改 meta.json(同 UGP 手工规则先例) + +## 6. 双端一致性架构(红线) + +- **一份规则数据**:meta.json 即唯一规则源,随 .opc / web 数据发布 +- **两个解释器**:C#(net48,桌面)+ JS(网页 app.js),只读同一份 JSON,语义以 §3 约定为准 +- **同一份测试向量**:`onebot-data\catalog\parametric-vectors.json`(固定输入组合 → 期望编码/参数行/isStandard),C# selftest 读它断言;网页用 playwright 无头脚本读同一文件断言(沿用购物车 E2E 先例),发布门禁两端都要过 +- 数值全部用整数;枚举值字符串两端统一 trim;空值语义统一("" 显示"(无)",不得出现 null/undefined 差异) + +## 7. 试点与迁移 + +1. **试点 KC 系列**(type/bore/stroke/magnet/mount,2,628 行):补 meta 参数化字段 + 模板,CSV 保持原样作为网格 +2. **对拍门禁**:构建期对 KC.csv 全部 2,628 个编码执行"模板重生成",任何一个不一致即构建失败——这是本功能最硬的门禁 +3. 试点验收通过(§8)后,同法推广 KCB/KS/KSB/KSU/KCS → M/MS/MSC/MAL/MALC(action/rod/cap 多字段模板由用户确认补零与组合规则后再切换) +4. 规则细化:按真实产品手册补充规则(如 type=03 仅限大缸径),一期试点可先放通域+网格、规则渐进补 + +## 8. 验收标准(8 条,全部通过才可发布) + +1. **对拍门禁**:KC 全部 2,628 个现有编码模板重生成 100% 一致(含 pad 规则),构建不通过即失败 +2. **回归零差异**:KC 标准档位组合的选型行为、下载、预览、搜索、参数表与切换前完全一致 +3. **非标档位**:输入 stroke=87 等非网格值 → 编码正确生成、参数行正确、下载置灰+统一文案、3D 预览降级最近标准档位+提示条(两端一致) +4. **双端向量对拍**:桌面 selftest 与网页无头脚本对同一向量表全通过,纳入发布门禁 +5. **老系列零影响**:其余 16 个系列(enum 模式)全部行为不变;原 selftest 31 项全过 + 新增项通过 +6. **存储与性能**:试点后 KC 数据规模仍 ≤ 2,628 行(网格未膨胀);网页首屏、参数表打开、选型联动无明显卡顿 +7. **组合爆炸保护**:构造 >2000 组合的域,两端均显示"可选组合过多"提示而非渲染 +8. **发布三产物**:客户 exe / 增量包 / 网页站构建发布正常;老客户增量包替换 .opc 后软件正常启动且老系列可用 + +## 9. 陷阱清单(12 条,实现前先读) + +1. **PowerShell 5.1 编码**:编辑含中文的 .ps1/.cs/.vb 后必须跑 `sample-data\tools\fix-bom.ps1` 再编译(GBK 乱码坑) +2. **两端解释器分歧**:JS 与 C# 对空值/类型/字符串处理不同(undefined vs null、NaN 比较)——全部收敛为整数 + trim 后字符串,向量表里放边界用例(空枚举值、pad 超长、min=max) +3. **补零/模板歧义**:pad 规则、空值拼接顺序必须靠对拍门禁锁死,不要靠人眼 +4. **"网格"与"域"是两个概念**:gridValues 只是快捷选择,域才定义合法性——stroke=87 合法但非网格,勿混淆 +5. **组合爆炸**:阈值两端一致(2000),且必须只算一次(解释器结果缓存) +6. **非标编码流入静态表**:搜索/crossref/参数表必须只认网格——构建期校验 crossref.our_model ∈ CSV 编码 +7. **购物车打包静默丢文件**:非标条目跳过 STEP 时必须在清单.txt 显式注明,禁止静默 +8. **老逻辑深度绑定 CSV 行**:选型面板现从行数据推选项,parametric 模式要改走 meta 域——改动集中在选型面板入口,其他模块不动 +9. **发布被占用**:publish.ps1 前必须先关客户 exe 和 serve-web(老红线) +10. **增量包兼容**:老客户 exe 读到含新字段的 meta 必须忽略未知字段正常启动(发布前用旧 exe + 新 .opc 验证一次) +11. **无头对拍依赖**:playwright + Edge 路径(`C:\Program Files (x86)\Microsoft\Edge\Application\msedge.exe`),纳入发布门禁脚本 +12. **预览降级提示条**:两端同文案同位置(视图顶部),不弹窗打断 + +## 10. 两端统一文案表(zh / en 同源,走 _lang.T/t 双语文案) + +| 场景 | 中文 | English | +|---|---|---| +| 非标档位徽标 | 非标档位(无标准数模) | Non-standard (no standard model) | +| 下载按钮置灰 | 非标档位暂不支持数模下载,请联系销售或选择标准档位 | STEP download unavailable for non-standard config. Contact sales or choose a standard config. | +| 3D 降级提示条 | 当前为非标档位,展示最近标准档位 {code} 的近似几何 | Non-standard config — showing nearest standard model {code} as approximation. | +| 输入非法 | 输入超出范围({min}–{max} {unit})或与步长 {step} 不符 | Out of range ({min}–{max} {unit}) or not aligned to step {step}. | +| 组合过多 | 可选组合过多,请先选择更多参数 | Too many combinations — please select more parameters first. | +| 购物车非标条目 | 非标档位(打包时无 STEP) | Non-standard (no STEP in package) | +| 快捷下拉"标准"标记 | 标准 | Std | + +## 11. 交付物 + +1. C# 参数化解释器(构建期校验 + 运行时生成)+ meta.json 字段扩展 +2. JS 解释器 + 网页选型面板 range 控件 + 降级提示条/徽标 +3. `parametric-vectors.json` 测试向量 + 桌面 selftest 新项 + 网页无头对拍脚本 +4. KC 系列试点 meta 更新(模板/域/规则初版) +5. `docs\维护手册.md` 增补"参数化选型引擎"章节 + `项目总览.md` 回写进展 diff --git a/开发提示词-批量导出购物车.md b/开发提示词-批量导出购物车.md new file mode 100644 index 0000000..4b45e57 --- /dev/null +++ b/开发提示词-批量导出购物车.md @@ -0,0 +1,139 @@ +# 开发提示词:批量导出"购物车"(清单式收集 → 一键打包下载,离线版+在线版两端一致) + +> 用途:把本文件交给 AI 会话执行。完成后按"验收标准"逐条核对,结果回写 OnebotCatalog\项目总览.md(进展记录 + 踩坑表 + 最后更新行)。 +> 背景必读:OnebotCatalog\项目总览.md、OnebotCatalog\src\App\MainWindow.cs(桌面 4 标签页 + 参数面板下载区 + 参数表)、OnebotCatalog\web\app.js / index.html / style.css(网页 4 标签页)、OnebotCatalog\开发提示词-窗口内3D-WebView2方案B.md(提示词文体参照)。 + +## 一、角色与任务 + +你是资深 WPF/前端工程师,在既有项目 **OnebotCatalog**(C# / .NET Framework 4.8 代码式 WPF + 纯静态网页版)上实现**淘宝式购物车批量导出**:用户浏览选型过程中把多个型号"加入清单"(跨系列、跨型号,选型流程完全不受干扰),随时打开清单**一键打包下载**(zip 含全部 STEP + BOM 清单)。**两端功能、交互、文案完全一致**(项目已定规矩)。 + +## 二、需求定稿(语义先行,避免歧义) + +1. **购物车 = 跨系列清单**:可加入不同系列的不同型号;同一型号重复加入 → 提示"已在清单中"(不清空、不加量、不跳转)。 +2. **不影响选型(淘宝式,用户 2026-08-24 明确)**:加入清单是"旁路操作"——加入后当前选型状态、3D 视图、参数面板**完全不变**、不跳转、不清空。 + - **购物车生命周期**:网页 = 浏览器会话内(**刷新浏览器才清空**);桌面 = 软件运行期间(重启软件才清空)。 + - **切换系列 / 切换型号 / 切标签页 / 搜索跳转 / 平替跳转 / 参数表任何操作,一律不触碰购物车**——购物车状态对象与选型状态彻底解耦(两端 cart 独立于 sel/series 状态)。 +3. **三处入口(两端一致)**: + - 参数面板下载区新增【加入清单】按钮(与【下载 STEP】【下载 PDF】并排,选型完成才显示) + - 参数表每行行尾"+"小按钮(一键加该行,**不触发行双击/筛选**) + - 顶部栏常驻【清单 (N)】按钮,N=件数实时角标,点击打开清单面板 +4. **清单面板**: + - 桌面:独立非模态 Window(Owner=主窗口),DataGrid 列表;网页:右侧滑出抽屉(遮罩点击关闭,不误触面板外按钮) + - 列:型号 | 系列 | 规格摘要 | 文件名 | 数量(可编辑≥1,默认1) | 操作(删除) + - 底部按钮:【清空】【下载全部 (zip + BOM)】;面板标题与角标实时同步件数 + - 数量语义定死:**zip 中每型号只打包一份 STEP**,数量只体现在 BOM.csv 的"数量"列(不做重复文件、不改文件名) +5. **一键打包(两端产物结构完全一致)**: + - `ONEBOT_清单_<时间戳>.zip`:内含各型号 STEP(文件名=型号编码,保留原后缀)+ `BOM.csv` + `清单.txt`(人类可读版 BOM) + - `BOM.csv` 列:序号, 型号编码, 系列代码, 系列名, 数量, 参数摘要(键=值 分号分隔), STEP文件名;**UTF-8 带 BOM**(Excel 中文不乱码);字段含逗号/引号按 CSV 规范转义 +6. **打包引擎**: + - 桌面:System.IO.Compression.ZipArchive(net48 内置,零新依赖) + - 网页:**JSZip**(MIT 开源,~100KB 单文件,放 `web\libs\jszip.min.js`,**需用户批准下载**,交付说明注明版本/来源/许可)——纯静态无后端,前端逐项 fetch 同源 STEP 二进制 → 内存打包 → `URL.createObjectURL` 触发下载 +7. **整合旧功能**:桌面参数表多选 +【批量导出所选】改造为【加入清单】(勾选行批量加入,提示"已加入 N 项"),删除旧直接导出逻辑,统一走清单(避免两套批量路径);网页参数表本就无批量导出,直接加"+"。 + +## 三、两端统一文案表(开发时直接抄,保证一致) + +| 场景 | 中文 | 英文 | +|---|---|---| +| 加入按钮 | 加入清单 | Add to Cart | +| 顶栏角标 | 清单 (N) | Cart (N) | +| 重复加入提示 | 该型号已在清单中 | Already in cart | +| 加入成功 | 已加入清单 (共 N 项) | Added to cart (N items) | +| 批量加入 | 已加入清单 N 项 | N items added to cart | +| 面板标题 | 我的清单 | My Cart | +| 数量列 | 数量 | Qty | +| 删除 | 删除 | Remove | +| 清空 | 清空 | Clear All | +| 下载全部 | 下载全部 (zip + BOM) | Download All (zip + BOM) | +| 打包中 | 打包中... | Packing... | +| 空清单 | 清单为空, 请先加入型号 | Cart is empty | +| 部分失败 | 打包完成, 但以下型号文件缺失: xxx | Packed, but missing: xxx | + +## 四、现状速览(改动前先读) + +- 桌面 `src\App\MainWindow.cs`:`TryUpdateSelection()`(已选型号后 `_btnDownload/_btnDownloadPdf` 显隐、`_curModelCode` 平替过滤);参数面板 actions 区(2026-08-24 加的 `_btnDownload/_btnDownloadPdf` StackPanel);`BuildGridTab`(`_grid` 多选 + `ExportSelected()` + 右键列头筛选 + 双击 `NavigateToModel`);顶栏 StackPanel `top`;4 标签页索引:0=3D/尺寸图, 1=参数表, 2=搜索, 3=平替对照 +- 桌面 STEP 读取:`_pkg.ReadAsset(v.step)` / `OpcPackage.ExtractStepTo(v, path)`;Variant 有 `@params` 字典、`modelCode`、`step` +- 网页 `web\app.js`:`selectSeries`(重置 sel/ranges/tableFilter——**不得动 cart**)、`updateSelection`(下载按钮显隐 + `v.step` 相对路径如 `step/UCBM32.stp`)、`renderTable`(行点击带入选型 + 2026-08-24 列筛选,行尾加"+"注意 stopPropagation) +- 网页 STEP 位置:站点根 `step\` 目录(发布时从 .opc 解包),fetch 相对路径即可 +- 版本号规范:网页 index.html 引 `app.js?v=N`、`style.css?v=M`,每次发布 +1;桌面改 .cs 后必跑 `sample-data\tools\fix-bom.ps1` + +## 五、硬性约束(违反即返工) + +1. 完全离线可用(两端);桌面编译环境无 .NET SDK(csc + `lib\` DLL `/reference`,新库须放 lib\) +2. 两端交互/文案/输出格式一致(见文案表);桌面中英双语 `_lang.T(zh,en)`,网页 `t(zh,en)` +3. 不影响选型主流程(需求第 2 条——验收重点) +4. 不改数据管线、.opc 格式、发布六步结构 +5. JSZip 必须经用户批准下载并在交付说明注明版本/来源/许可(MIT) +6. 编辑含中文 .cs/.ps1 后必须 fix-bom;网页文件 UTF-8 无 BOM 即可 +7. 客户版与开发版同一代码(`#if CUSTOMER_BUILD` 只控制维护入口);清单功能两版都有 + +## 六、实施步骤 + +### 桌面(src\App) + +1. **新文件 `Cart.cs`**(命名空间 Ounibo.Catalog.App): + `class CartItem { string ModelCode; string SeriesCode; string SeriesName; string StepPath; string ParamsSummary; int Qty = 1; }` +2. **状态**:`List _cart`;`int CartCount => _cart.Sum(x => x.Qty)`(角标显示**件数=数量总和**还是行数?——定死:角标显示行数,BOM 数量列体现 Qty,简单不混淆) +3. **加入清单**:`AddToCart(Variant v, Series s)`——重复判断(ModelCode 忽略大小写)→ 提示已存在;成功仅更新角标 + 状态栏,**严禁写 `_sel`** +4. **三处入口**:参数面板 actions 区【加入清单】(`TryUpdateSelection` 里随 `_btnDownload` 同显隐,点击用当前已解析的 variant);参数表"+"列(`DataGridTemplateColumn` 内 Button,`Click` 里 `e.Handled` 防止干扰行选择/双击/右键筛选);顶栏【清单 (N)】 +5. **清单窗口** `CartWindow`:非模态 Window(Owner 主窗口),DataGrid 列:型号/系列/规格/数量(可编辑绑定 Qty)/删除(按钮列);底部【清空】【下载全部 (zip + BOM)】;窗口关闭不丢数据(_cart 在主窗口) +6. **打包**:SaveFileDialog(默认名 `ONEBOT_清单_yyyyMMddHHmmss.zip`)→ ZipArchive:遍历 `_pkg.ReadAsset(item.StepPath)` 写 `ModelCode+原扩展名`;BOM.csv 与 清单.txt 用 UTF8Encoding(true);打包完成后 MessageBox 提示路径 +7. **整合**:`ExportSelected` 改为"选中行批量 AddToCart + 提示已加入 N 项";`_btnExport` 文案改【加入清单】 +8. 文案走文案表 + 状态栏反馈 + +### 网页(web\) + +1. **引入 JSZip**:下载官方最新稳定版 jszip.min.js → `web\libs\jszip.min.js`;index.html ``;交付说明注明版本/来源/许可 +2. **状态**:`state.cart = []`(结构同 CartItem,StepPath=相对路径)——**selectSeries/refreshOptions/renderTable/jumpToModel 全部不得触碰** +3. **三处入口**:`updateSelection()` 里下载区显【加入清单】;`renderTable` 每行尾"+"(`onclick` 内 `ev.stopPropagation()` 防触发行点击);header 加【清单 (N)】角标按钮 +4. **清单抽屉**:右侧 fixed 面板 + 半透明遮罩;行含数量 ``、删除按钮;底部【清空】【下载全部 (zip + BOM)】;遮罩点击只关面板(面板内点击 `stopPropagation`) +5. **打包**:`new JSZip()` → 逐项 `await fetch(item.step)`(失败收集到 missing 列表**继续**)→ `zip.file(name, blob)` → `zip.file('BOM.csv', '' + csv)`、`zip.file('清单.txt', txt)` → `generateAsync({type:'blob'})` → createObjectURL + a[download] 触发;打包中按钮文案"打包中..."并禁用防连点;missing 非空时提示"打包完成, 但以下型号文件缺失: xxx" +6. 文案走文案表;不调用 selectSeries/refreshOptions + +### 发布与回归 + +1. 桌面:fix-bom → build.ps1(双版)→ 冒烟 → `--selftest` 31 项不变 +2. 网页:index.html 版本号 +1 → 停 serve-web → publish.ps1 → 重启 serve-web +3. 交付说明:JSZip 来源/版本/许可 + 两端截图对照 + +## 七、验收标准(逐条核对) + +1. 两端:选型号 A → 加入清单 → **选型界面无任何变化**(参数不清空、3D 不跳)→ 换系列选型号 B → 加入 → 角标 (2);再切回系列 A、切所有标签页、搜索/平替跳转、参数表双击/列筛选,**清单仍 (2) 内容不变**(网页仅刷新、桌面仅重启才清空) +2. 重复加入同型号 → 提示"已在清单中",件数不变 +3. 参数表"+"与勾选批量加入正常,且**不干扰**行双击带入选型、右键列筛选、范围筛选 +4. 清单面板:数量改 3 → 删除一项 → 清空 → 角标实时同步 +5. 下载全部 → zip 含全部 STEP + BOM.csv + 清单.txt;Excel 打开中文无乱码、列齐全;数量 3 的型号 zip 中仍只有一份文件、BOM 数量列=3;两端产物结构一致 +6. 网页打包中防连点;断网桌面全流程可用;STEP 缺失时跳过并明确提示缺失型号(不整体失败) +7. 自测 31 项不变;客户版发布目录运行正常 +8. 两端文案完全一致(对照文案表,中英切换正确) + +## 八、已知陷阱(本项目血泪 + 本功能专属) + +| # | 陷阱 | 对策 | +|---|---|---| +| 1 | 中文文件/CSV 乱码 | BOM.csv 必须 UTF-8 BOM(桌面 UTF8Encoding(true) / 网页 '' 前缀);.cs/.ps1 改完 fix-bom | +| 2 | GUI exe 用 `&` 启动不等待,$LASTEXITCODE 空 | Start-Process -Wait -PassThru,核对 log 时间戳 | +| 3 | 发布目录被运行中程序锁 | 发布前停 serve-web 与运行中 exe(红线) | +| 4 | zip 内重名冲突(跨系列存在同名型号) | 打包前校验,冲突加后缀 `_系列码`,BOM 列同步注明 | +| 5 | 网页逐项 fetch 大 STEP 内存峰值 | 逐项 fetch 后立即 zip.file(JSZip 持有 blob,不必先全存数组);避免一次性 concat | +| 6 | 空串枚举参数摘要显示 | 摘要统一走 displayValue/显示名映射,空值显示"(无)" | +| 7 | 加入清单误写 `_sel/state.sel` 导致选型被重置 | AddToCart 只读 variant;code review 时重点查 | +| 8 | 桌面 DataGridTemplateColumn 按钮点击干扰行选择/双击 | 按钮 Click 中 `e.Handled = true`;"+"按钮 `Focusable=false` 避免抢焦点 | +| 9 | 网页"+"按钮事件冒泡触发整行 onclick(带入选型) | `ev.stopPropagation()`;抽屉面板内所有点击同样处理 | +| 10 | 角标件数与 BOM 数量语义混淆 | 定死:角标=行数,Qty 只在 BOM 体现(需求第 4 条) | +| 11 | 清单窗口关掉后数据丢失 | 购物车状态放主窗口/state,面板只是视图 | +| 12 | 打包中用户再点加入/删除导致 zip 内容快照不一致 | 打包开始时先对清单做快照(ToArray),打包期间 UI 允许操作但只影响下一次下载 | + +## 九、交付物 + +1. 两端可运行清单功能(bin\ 开发版 + 发布目录客户版 + 网页站) +2. `web\libs\jszip.min.js`(注明版本/来源/许可 MIT) +3. `src\App\Cart.cs` + MainWindow/网页改动(注释风格与现有一致) +4. 文档回写:项目总览(进展记录 + 踩坑 + 最后更新行)、维护手册、数据维护说明书(批量导出流程) +5. 本文件验收标准逐条核对结果 + +## 十、不做的事(范围外) + +- 不做清单持久化(网页刷新/软件重启即清空;若要跨会话保留,用 localStorage/文件另立项) +- 不做价格/报价单/订单/账号对接(BOM 只是清单文本) +- 不做网页服务端打包(保持纯静态) +- 不改选型核心逻辑、数据管线、.opc 格式 diff --git a/开发提示词-窗口内3D-WebView2方案B.md b/开发提示词-窗口内3D-WebView2方案B.md new file mode 100644 index 0000000..5836b26 --- /dev/null +++ b/开发提示词-窗口内3D-WebView2方案B.md @@ -0,0 +1,118 @@ +# 开发提示词:窗口内 3D —— WebView2 内嵌新迪查看器(方案 B) + +> 用途:把本文件交给 AI 会话执行。任务完成后按"验收标准"逐条核对,并把结果回写 OnebotCatalog\项目总览.md(进展记录 + 踩坑表 + 最后更新行)。 +> 背景必读:OnebotCatalog\项目总览.md(§12 新迪查看器联动)、OnebotCatalog\src\App\MainWindow.cs、OnebotCatalog\src\App\LocalViewerServer.cs。 + +## 一、角色与任务 + +你是资深 WPF/桌面软件工程师,在既有项目 **OnebotCatalog**(C# / .NET Framework 4.8,代码式 WPF,零 XAML)上实现:**真实 CAD 数模(STEP)在软件窗口内直接显示 3D,不再弹出外部浏览器**。 + +## 二、现状(先读懂再动手) + +当前桌面 3D 显示链(`src\App\MainWindow.cs` 的 `TryUpdateSelection()` / `TryLegacyRender()` / `FallbackToBrowser()` / `OpenBrowser3D()`): + +1. 占位简化几何(自产极简 STEP)→ 内置 `ViewerControl` 自绘渲染(窗口内) +2. 真实数模且有 STL 网格侧车(`<数据包目录>\mesh\.stl`,见 `FindMeshSidecar`)→ 开源 Helix Toolkit 窗口内直渲(已实现,2026-08-23) +3. 真实数模且无网格 → **当前弹出外部浏览器**(`Process.Start(url)` + `LocalViewerServer` 本机微型服务器 + 本地新迪查看器副本 `viewer\STEPViewer\`) + +本次目标:把第 3 条从"弹外部浏览器"改成"**窗口内嵌 WebView2 加载同一 URL**"。第 1、2 条保持不动。 + +## 三、硬性约束(违反即返工) + +1. **完全离线**:WebView2 加载的是本机 127.0.0.1 微型服务器的 URL,无任何外网请求 +2. 目标平台 Win10/11 x64;客户机免安装(发布目录拷走即用) +3. 编译环境:无 .NET SDK,只有 VS 2022 Build Tools 的 csc.exe + .NET Framework 4.8(`tools\build.ps1` 已封装,新增引用只能加 DLL `/reference`,不能用 csproj/NuGet 还原) +4. **编辑任何含中文的 .cs/.ps1 后必须跑 `sample-data\tools\fix-bom.ps1`**(csc 对无 BOM 文件按 GBK 读取) +5. 客户版与开发版同一套代码(`#if CUSTOMER_BUILD` 区分);新功能两版都要生效 +6. 不碰 `Z:\web\FTP_ObjectStorage\上海新迪3D\dev` 原项目(只读红线) +7. 不改动既有数据管线(catalog\ / .opc / publish 六步),本次只动桌面 3D 显示层与发布附带 + +## 四、实施步骤(严格按序) + +### 步骤 1:引入 WebView2 控件库(需用户已批准下载) + +- 下载 NuGet 官方源包 **Microsoft.Web.WebView2**(最新稳定版,确认 `lib\net462\` 目标;.NET 4.8 兼容 net462) +- 解出三个文件放进 `OnebotCatalog\lib\`: + - `Microsoft.Web.WebView2.Wpf.dll`(WPF 控件) + - `Microsoft.Web.WebView2.Core.dll` + - `WebView2Loader.dll`(**native 加载器,分 x86/x64**:anycpu 程序在 x64 系统跑 64 位,须放 **x64** 版本与 exe 同目录;必要时 build.ps1 里按位宽复制) +- `tools\build.ps1`:`$refs` 追加两个托管 DLL;编译成功后把两个托管 DLL + WebView2Loader.dll 复制到输出目录(现有 Helix DLL 复制的同一位置照抄) +- `tools\publish.ps1`:发布目录复制同样的 DLL(照抄现有 Helix DLL 复制行) + +### 步骤 2:MainWindow 3D 标签页加 WebView2 控件 + +- 字段:`Microsoft.Web.WebView2.Wpf.WebView2 _webView2;` +- 在 `grid3d`(3D 标签页 Grid)中创建,初始 `Visibility = Visibility.Collapsed`;背景与 Helix 视口一致(浅灰) +- **初始化顺序(WebView2 特有坑)**:`EnsureCoreWebView2Async()` 完成前不能设置 `Source`、不能调用 Core 属性;构造时先 `InitializeAsync()`: + - `CoreWebView2Environment.CreateAsync(null, userDataFolder)`,`userDataFolder` 用 `%LOCALAPPDATA%\OnebotCatalog\WebView2`(离线无权限问题),环境带默认浏览器开关 + - 初始化失败(WebView2 Runtime 未安装)→ 捕获异常置 `_webView2Available = false` → 走降级(见步骤 3) +- 窗口关闭时 `Dispose()` 释放(`OnClosed` 或 `Closed` 事件) + +### 步骤 3:显示优先级重构(核心逻辑) + +`TryUpdateSelection()` 中 3D 分支改为四级优先链,每级失败自动降级: + +``` +1. FindMeshSidecar 有网格 → Helix 窗口内直渲(现有 LoadHelixMesh) +2. 真实 B-rep 且 WebView2 可用 → _webView2.Source = LocalViewerServer 的 URL(新建),不 Process.Start +3. 真实 B-rep 且 WebView2 不可用 → 现有浏览器回退面板(FallbackToBrowser 保持原样) +4. 占位简化几何 → 内置 ViewerControl 自绘(现有 TryLegacyRender 逻辑) +``` + +- `OpenBrowser3D` 拆成两件事:`GetPreviewUrl()`(PublishStep 返回 URL,纯函数)与 `OpenBrowser3D`(Process.Start 打开)。WebView2 分支只调用前者 +- 每次切换型号:WebView2 分支要**隐藏 Helix 视口与回退面板**、显示 `_webView2`;其他分支反过来 +- 状态栏文案:窗口内显示时提示"已在窗口内显示真实数模 3D(WebView2)",与英文对照 `_lang.T(zh, en)` + +### 步骤 4:WebView2 可用性检测与降级 + +- Runtime 检测(二选一,双保险):① `EnsureCoreWebView2Async` 抛异常即不可用;② 启动时查注册表 `HKLM\SOFTWARE\WOW6432Node\Microsoft\EdgeUpdate\Clients\{F3017226-FE2A-4295-8BDF-00C3A9A7E4C5}` 的 pv 值存在 +- 不可用 → 3D 分支走第 3 级(浏览器回退面板),体验与现在一致;状态栏提示"未检测到 WebView2 运行时,使用浏览器预览(Win11 自带,Win10 装 Edge 即有)" + +### 步骤 5:发布与交付 + +- `publish.ps1` 发布目录附带 WebView2 三件套 DLL(步骤 1) +- 发布目录 `README_zh.txt` 增加一行:Win10 若提示缺少 WebView2 运行时,安装 Edge 或微软 WebView2 Evergreen 运行时即可(可选附离线安装包到发布目录 `webview2\`) +- 客户版与开发版行为一致 + +### 步骤 6:回归验证 + +- `bin\OnebotCatalog.exe --selftest sample\OnebotCatalog_2026.08.opc` → 31 项全过(本次不改数据,必须不变) +- 编译开发版 + 客户版都成功;`tools\publish.ps1` 全流程过 +- 人工验收清单(见下节)逐条过,结果写进项目总览进展记录 + +## 五、验收标准(人工,逐条核对) + +1. 打开开发版 → 选「气动夹紧缸 UCBM → 规格 32」(真实数模、无网格场景要先临时移走 `sample\mesh\UCBM32.stl` 验证):**3D 在软件窗口内显示**,无任何浏览器窗口弹出;拖拽旋转/滚轮缩放正常;剖切/线框/透明/视角/测量按钮可用(menu=min 精简菜单) +2. 移回网格后选同一型号:窗口内 Helix 渲染优先(画面切换无闪烁) +3. 选占位型号(如 UCBM25):仍是内置自绘渲染,无 WebView2 介入 +4. 客户版发布目录双击运行:同 1~3 行为一致;完全断网验证(拔网线/禁网卡)可用 +5. 状态栏提示文案中英切换正确(右上角语言切换按钮) +6. 关闭窗口进程干净退出(无残留 OnebotCatalog.exe) + +## 六、已知陷阱(本项目血泪史 + WebView2 专属) + +| # | 陷阱 | 对策 | +|---|---|---| +| 1 | PowerShell/csc 把无 BOM 中文文件按 GBK 读 → 乱码报错 | 改完必跑 fix-bom.ps1(步骤见约束 4) | +| 2 | GUI 子系统 exe 用 `&` 启动后 PowerShell 不等待,$LASTEXITCODE 空 | 一律 `Start-Process -Wait -PassThru`,核对 build.log/selftest.log 时间戳 | +| 3 | WebView2 在 `EnsureCoreWebView2Async` 完成前设置 Source/属性 → 崩溃 | 全部操作放在 await 之后;初始化失败路径显式处理 | +| 4 | WebView2Loader.dll 位宽不匹配 → 创建控件时 TypeInitializationException | anycpu + x64 系统用 x64 loader;发布时按位宽复制正确版本 | +| 5 | userDataFolder 无权限(Program Files 等)→ 初始化失败 | 用 %LOCALAPPDATA%\OnebotCatalog\WebView2 | +| 6 | 发布前程序/服务器占文件 → 复制失败 | 发布前停 serve-web 和运行中的 exe(红线) | +| 7 | 无头自动化难验 WebView2 渲染 | 用人工验收清单 + 降级路径自动测试;WebView2 失败必须静默降级到浏览器方案 | +| 8 | 新迪查看器 file 参数已改为站点根绝对路径 `/step/...`(踩坑 #20) | LocalViewerServer 的 URL 构造保持现状,不要改回相对路径 | + +## 七、交付物清单 + +1. 可运行的开发版 exe(bin\)+ 客户版 exe(release 目录) +2. `lib\` 新增 WebView2 三件套;build.ps1 / publish.ps1 相应改动 +3. MainWindow.cs 改动(含注释,风格与现有代码一致) +4. 文档回写:项目总览.md(进展记录新条目 + 踩坑表新增 WebView2 相关 + §12 更新 + 最后更新行)、docs\维护手册.md §7、README.md 已知简化段、数据维护说明书.md 桌面 3D 相关说明 +5. 本文件验收标准逐条核对结果 + +## 八、不做的事(范围外) + +- 不碰网页版(web\ 与 release\web_2026.08) +- 不改数据管线与 .opc 格式 +- 不做 WebView2 离线运行时安装器(只附可选安装包说明) +- 不把 WebView2 用于除 3D 标签页以外的任何界面 diff --git a/开发计划书.md b/开发计划书.md new file mode 100644 index 0000000..65d82fa --- /dev/null +++ b/开发计划书.md @@ -0,0 +1,100 @@ +# OnebotCatalog 开发计划书 + +> 定位:在现有 OnebotCatalog 基础上继续优化,不推翻重做。 +> 更新时间:2026-08-31 +> 配套文档:`项目总览.md`(全貌)、`docs\工作交接.md`(快速上手)、`docs\部署清单.md`(迁移部署)、`OnebotCatalog升级改制开发说明书.md`(升级方向) + +--- + +## 一、当前状态总览 + +**软件侧主线已全部打通**: + +- ✅ M1/M2/M3 核心软件完成(目录/选型/3D/下载/维护/发布) +- ✅ 参数化选型引擎一期(KC 试点) +- ✅ NX 按需生成服务二期 A 版(两天卡点「批处理导出 0 solid」已解决) +- ✅ 后台 /admin 密码登录 + 三 tab(UG 配置 / 参数配置 / 模型管理) +- ✅ 一键启动 `_start_all.bat` + 网页状态圆球 + +**唯一真正卡进度的外部依赖**:真实母模(建模工程师)。 + +--- + +## 二、范围决策(已定,避免反复) + +| 决策 | 结论 | 日期 | +|---|---|---| +| **去 NX 化(升级 2)** | ❌ **不做**。OCCT 程序化建模出不了真实母模精确几何,且与已打通的 NX 主线冲突 | 2026-08-31 | +| **TC 集成(M4 / 升级3 / 升级4)** | ⏳ **暂缓**。代码对 TC 零感知,按优先级排在真母模+轻量化+部署之后 | 2026-08-31 | +| **Parasolid / STL 格式** | ❌ 已砍,非标生成只留 STEP / IGES / PRT | 2026-08-27 | +| **OCCT 转换服务** | ✅ 做,但**只当 STEP→glTF 转换器**,不碰参数化建模 | 2026-08-31 | + +--- + +## 三、任务清单与开工顺序 + +### 第一批:可立即开工(零依赖,可并行) + +| # | 任务 | 说明 | 状态 | +|---|---|---|---| +| 1 | **OCCT 转换服务搭建** | 把 `d:\source_code\occt_demo\occt_demo.py` 固化成常驻 8090 服务 + `/convert`(STEP→glTF)+ `/health` | 待开工 | +| 2 | **生产部署收尾** | netsh urlacl 授权、网页 config.js 填生产地址、桌面 catalog.json genApi + 重建发布 | 待开工 | + +### 第二批:网页 3D 轻量化(依赖任务 1) + +| # | 任务 | 说明 | 状态 | +|---|---|---|---| +| 3 | **升级 1:网页 3D 轻量化** | 构建期批量预生成 glTF(标准档位 2772 个)+ 前端 Three.js 加载 glTF 降级新迪查看器 | 待开工(依赖 1)| + +### 第三批:数据管理(P1/P2,按需) + +| # | 任务 | 说明 | 状态 | +|---|---|---|---| +| 4 | **升级 3:TC 母模数据源** | 母模入 TC + 发布工作流 | 暂缓 | +| 5 | **升级 4:客户 TC 检入** | 有 TC 大客户才做 | 暂缓 | + +### 第四批:可选增强(P3) + +| # | 任务 | 说明 | 状态 | +|---|---|---|---| +| 6 | **升级 5:增强功能** | 3D 标注 / 2D 尺寸 SVG / 工程图导出 | 暂缓 | + +### 外部等待(不占开工,标注阻塞点) + +| # | 任务 | 阻塞点 | 谁 | +|---|---|---|---| +| 7 | **真实母模** | 建模工程师做真实气缸母模(表达式名 bore/stroke/magOn/mountIdx 一字不差)| 用户侧,唯一卡交付 | +| 8 | **NX 2512 换机实测** | 换机 + 验证 journal API / step214ug.exe | 用户侧 | + +--- + +## 四、开工顺序图 + +``` +现在就能做(并行): + 1 OCCT 转换服务 ─┐ + 2 生产部署收尾 ─┴→ 3 网页3D轻量化 → 4 TC母模 → 5 客户TC检入 → 6 增强 + +外部等待(并行推进): + 7 真母模、8 NX 2512 实测 +``` + +--- + +## 五、架构关键认知(跨机器部署) + +OCCT 转换服务**不依赖 NX**,服务器没装 NX 也能跑。分工: + +``` +服务器(无 NX):GenServer + OCCT转换 + serve-web +局域网 NX 机器:NX worker(非标参数化生成 STEP) +对接方式:jobs/output/masters 目录用网络共享(UNC 路径) +``` + +--- + +## 六、下一步建议 + +1. 开工 **任务 1(OCCT 转换服务)** —— 升级 1 的唯一前置、零风险、已验证 +2. 并行推进 **任务 2(生产部署收尾)** —— 需用户提供服务器 IP/域名 +3. 真母模就位后做**全链路真实验证** diff --git a/开发记录-NX2506批处理攻坚.md b/开发记录-NX2506批处理攻坚.md new file mode 100644 index 0000000..c33ca76 --- /dev/null +++ b/开发记录-NX2506批处理攻坚.md @@ -0,0 +1,131 @@ +# 开发记录:NX 2506 批处理攻坚(2026-08-26 凌晨,接续用) + +> 本文件是 2026-08-25/26 二期 NX 按需生成服务开发的全量记录与**接续入口**。 +> 新对话先说:**"读一下 项目总览.md 和 OnebotCatalog\开发记录-NX2506批处理攻坚.md,继续开发欧霓博目录软件二期"**。 + +## 1. 项目背景速览 + +- 一期(参数化选型引擎)已上线:KC 系列试点,meta.json 加 `mode=parametric` + `modelCodeTemplate` + range 参数域;对拍门禁 2,628 编码;桌面 selftest 36/36、网页 e2e-parametric 16/16。 +- 二期(NX 按需生成服务 A 版):非标组合 → 网页/桌面点【在线生成数模】→ GenServer(轻量队列)→ NX 2506 批处理 worker 真实生成 → 输出留存 `output\<系列>\<型号>\`(检索先行复用)→ 按格式下载(全格式 zip / STEP / Parasolid / IGES / STL / **PRT**(用户新增需求,NX 原生参数化部件))。 +- 用户新需求(2026-08-26 凌晨追加,**尚未实现 UI**):生成后先回传 STEP 做 3D 预览,再选格式下载(目前是"生成→直接下载",需改成"生成→预览→下载"两步)。 + +## 2. 已完成并验证的组件(可放心接续) + +| 组件 | 文件 | 状态 | +|---|---|---| +| GenServer 轻量后端 | `src\GenServer\GenServer.cs`(csc 单独编译:`tools\build-genserver.ps1`,输出 `bin\GenServer.exe`) | ✅ 无 NX 联调全过:/gen、/gen-batch、/status(含 .prog 进度)、/file、/files(token 一次性)、/download(fmt 单格式)、/health、限流、CORS、匿名模式(apiKey 留空)、**行式键值任务文件**(journal 无 JSON 库)、worker-config.txt 自动生成 | +| NX worker journal | `sample-data\tools\worker_journal.vb` | ✅ **NX 2506 编译运行通过**:常驻轮询/认领/打开母模/改表达式/更新/写结果/心跳/循环,全管线机制验证过 | +| 母模配置 | `onebot-data\masters.json`(expressionMap/switchRules/exports 含 prt) | ✅ | +| 本地联调配置 | `genserver-local\genserver-config.json`(绝对路径,匿名)+ 启动时自动生成 worker-config.txt | ✅ | +| 网页端 | `web\config.js`(GEN_CONFIG.api)+ app.js(genApi/genSingle/批量打包联动/格式下拉含 PRT)+ index.html btnGenFmt | ✅ e2e-gen 8/8、参数化 16/16、购物车回归全过 | +| 桌面端 | MainWindow(_genApi/GenSingle/GenBatch/格式下拉/非标按钮升级)+ Cart.cs(Params/异步打包) | ✅ 编译通过、selftest 36/36;真实生成未在桌面实测 | +| 测试脚本 | `tools\e2e-parametric.js`、`tools\e2e-cart.js`、`tools\e2e-gen.js`(playwright-core 在 `C:\Users\ruigu\AppData\Local\Temp\nds3dtest\node_modules`,脚本已带绝对路径回退) | ✅ | + +## 3. NX 2506 API 适配结论(已通过反射探针逐一验证,直接可用) + +NX 2506 与老版本差异巨大,以下结论全部实测: + +| 主题 | 2506 正确用法(老写法会失败) | +|---|---| +| 打开部件 | **`Parts.OpenBaseDisplay(path, status)`**——批处理下 OpenBase 打开后 `Parts.Work = NULL`(最大坑) | +| 关闭部件 | `Parts.CloseAll(CloseModified.CloseModified, Nothing)`——两参数(老版三参数) | +| 建表达式 | `Expressions.CreateExpression("Number", "bore=32")`(类型, "名=值");带单位 `CreateExpressionWithUnit("Number", "bore=32", mm)`;`mm = UnitCollection.FindObject("MilliMeter")` | +| 改表达式 | `ufs.Modl.EditExp("bore=50")`——只改已存在的(Deprecated 警告但可用);不会自动创建 | +| 更新模型 | `ufs.Modl.Update()`——Session.CreateUpdate 已不存在 | +| STEP 导出 | `Session.DexManager.CreateStepCreator()`:ExportFrom(DisplayPart/ExistingPart)、ExportAs(Ap214)、OutputFile、InputFile、ColorAndLayers、Commit/Destroy | +| IGES 导出 | `Session.DexManager.CreateIgesCreator()`:ExportFrom、ExportModelData、OutputFile、Commit | +| Parasolid | `Session.DexManager.CreateParasolidExporter()`:ExportFrom(DisplayedPart)、ParasolidVersion(Current)、OutputFile、Commit | +| STL | `Session.DexManager.CreateStlCreator()`:OutputType(Binary)、ChordalTol、AdjacencyTol、AutoNormalGen、OutputFile、Commit(**无 ExportFrom/InputFile**) | +| PRT 导出 | `workPart.SaveAs(path)` ✅(已验证写入) | +| 建圆柱 | `ufs.Modl.CreateCyl1(FeatureSigns.Nullsign, origin, height, diam, direction, ByRef tag)`——六参数、dim 是表达式字符串 | +| Save | `part.Save(SaveComponents.True, CloseAfterSave.False)`(两参数,返回 PartSaveStatus) | +| journal 环境 | **无 System.Web.Script.Serialization**(任务文件用行式键值格式,由 GenServer 烘焙母模配置);`Imports System.Collections.Generic` 必须显式加 | + +## 4. 当前卡点(唯一未打通的一环) + +**NX 2506 批处理模式(run_journal)下,翻译器导出全部输出空几何**: + +- 交互式 NX 导出正常(用户真实导出 UCBM32.stp 等为证) +- 批处理下:STEP/IGES 产出 ~2-3KB 空文件(日志 "Total number of solids input: 0")、Parasolid 抛 "Part has no valid export objects or all valid export objects are filtered out"、STL 连文件都不写 +- 已排除:路径中文、只读属性、引用集(实体已加进 MODEL)、几何来源(UF 造的实体和导入的真 STEP 一样被拒)、模板问题 +- worker 整体流程本身跑通(打开→改表达式→更新→写结果→心跳全部正常),仅导出几何这步为空 + +**已尝试过的路线**(都有对应诊断脚本在 `sample-data\tools\`):probe-api*.vb(反射探针)、debug-save.vb、debug-export.vb、debug-export-all.vb、check-master.vb(查特征/实体/面数/表达式)、create-test-master.vb(UF 造仿真气缸母模)、add-expressions.vb、import-master.vb(STEP 导入构建母模——导入 WorkPart 成功但实体数=0) + +## 4.5 根因重新定位(2026-08-27 重读全部诊断后) + +**结论:不是翻译器 API 用错,而是母模本身是 0 实体废品 + 诊断脚本选了错误的导出模式。** 证据链: + +1. `catalog-masters\KC\check-master.txt`:**特征数=1、实体数=0** —— 当前 `KC_master.prt` 是空壳。 +2. `catalog-masters\KC\KC_imported.log`:`Total number of solids input: 0`、`Total 0` —— `import-master.vb` 导入 `src.step` 时源文件就没带进实体(源 STEP `夹爪_v2.0_1.stp` 的实体是 `manifold_solid_brep` 但导入结果为 0)。 +3. `debug-export.vb` 用 `ExportFrom=ExistingPart + InputFile=masterPath` 读磁盘**未保存**的文件(实体还在内存里没写盘),双重叠加必然空。 +4. **`worker_journal.vb` 的导出函数其实是对的**:`GenerateOne` 用 `OpenBaseDisplay`(批处理正确用法),`ExportStep214`/`ExportIges` 用 `ExportFrom=DisplayPart`(内存实体)、`ExportParasolid` 用 `DisplayedPart` —— 都是批处理下对内存工作部件的正确模式,**无需改翻译器 API**。 + +**修复 = 重建含实体的母模**,worker 不改: +- 验证脚本已就位:`sample-data\tools\rebuild-verify-master.vb`(UF CreateCyl1 造含实体母模 + 加入 MODEL 引用集 + Save,再分别用 DisplayPart / ExistingPart 双模式导出对比,证明「有实体就能导出」)。 +- 一键启动:`catalog-masters\KC\_run_rebuild.bat`(或 `sample-data\tools\run-rebuild-verify.ps1`);结果日志 `catalog-masters\KC\rebuild-verify-master.txt`,产物 `catalog-masters\KC\dbg_out\`。 +- 真母模就位后同名替换 `catalog-masters\KC\KC_master.prt`,worker 直接可用。 + +## 4.6 最终结论:全链路已打通(2026-08-27 深夜实测) + +**§4.5 的"母模 0 实体"是现象之一,但真根因更深一层**——六轮实测逐步排除后锁定: + +1. 母模能造出真圆柱(`bodies=2`、`faces=3`、带 mm 单位、入 MODEL 引用集、save 成功)→ 排除"母模 0 实体"和"表达式单位"。 +2. `Display=Work` 且 `Display.bodies=2` → 排除"批处理显示部件为空"。 +3. `ExportSolidsAndSurfacesAs=Precise`(默认)、`ProcessHoldFlag=False` → 排除 flag。 +4. **最硬证据**:`KC_imported.log` 里 STEP→UG **导入**含 `manifold_solid_brep:1` 的真实 STEP 也是 `Total solids input: 0` → 导入也空。 + +**真根因:NX 2506 的 ST-DEVELOPER 翻译器(第三方 STEP Tools "System Release v20")在 `run_journal` 无 GUI 批处理会话里,导入导出都判 0 solid——与几何健康与否无关,是环境级限制。** 批处理内 `DexManager.CreateStepCreator/Commit` 是死路。 + +**正解:改用独立命令行翻译器**(不依赖 NX 会话、直接读写 .prt): +- `step214ug.exe`(.prt→.step,双向)实测 `Total solids: 2`、`manifold_solid_brep: 2`、7KB +- `iges.exe`(.prt→.igs)实测 Face=6 +- `ug_convert_part.exe`=仅单位转换、`ugtopv.exe`=JT 导出,均已排除 + +**worker 改造**(`sample-data\tools\worker_journal.vb`):GenerateOne 改为 设表达式→Update→**Save 副本**→PRT SaveAs→CloseAll 释放句柄→**spawn 独立翻译器导出**;nxBin 从 worker-config.txt 读 + 自动探测(`C:\Program Files\Siemens\NX*\NXBIN`,覆盖 2506/2512)。Parasolid/STL 按用户要求砍掉(masters.json exports 只留 step/iges/prt)。 + +**全链路实测成功**:网页→GenServer→worker 消费任务 `job_3e788ae033a6`(KC0032-87),`.done` 显示 `OK=1 HIT=0 FILE=.stp/.igs/.prt`,STEP 日志 `Total solids input: 2`(非空壳)。**两天卡点彻底解决。** + +**交付前剩余**:① 真母模替换(`catalog-masters\KC\KC_master.prt` 仍是仿真圆柱占位母模,待用户交互式建模真母模同名替换);② 生成交互已改为"生成→网页内 3D 预览→选格式→下载"(GenServer 加 `/preview/{series}/{code}.stp` 端点),需重编译+重启 GenServer 生效;③ NX 2512 版本待实测。 + +## 5. 明天接续方案(二选一,预计 10-30 分钟) + +**方案 A(首选)**:用户在交互式 NX 录制导出宏—— +1. `工具 → 日记 → 录制` → `文件 → 导出 → STEP214`(任选一零件)→ 停止录制,保存 journal +2. 照录制的真实调用修正 worker 的 ExportStep214/ExportIges/ExportParasolid(大概率是某个未探测到的属性需要设置,如 ObjectTypes/SettingsFile 等) +3. 用用户的真母模(交互式建的、特征树完整)直接跑 worker + +**方案 B**:用户把真母模(或任意带 bore/stroke 表达式的真实零件)放到 `catalog-masters\KC\KC_master.prt`,直接启动 worker 实测——真母模的特征树/引用集是交互式 NX 维护的,可能直接导出成功(批处理问题可能只影响程序化创建的几何)。 + +**实测启动命令**(本机): +```powershell +# GenServer(已在跑; 若需重启) +Start-Process "$base\bin\GenServer.exe" -ArgumentList "$base\genserver-local\genserver-config.json" -WorkingDirectory "$base\genserver-local" +# worker(每席位一个; NX 空闲时跑) +Start-Process "C:\Program Files\Siemens\NX2506\NXBIN\run_journal.exe" -ArgumentList "$base\sample-data\tools\worker_journal.vb" -WorkingDirectory "$base\genserver-local" +# 触发测试 +Invoke-RestMethod -Method Post -Uri "http://localhost:8899/gen" -Body '{"series":"KC","params":{"type":"00","bore":32,"stroke":87,"magnet":"","mount":""},"code":"KC0032-87"}' -ContentType "application/json" +``` +**注意**:本机 worker 与用户交互式 NX 争 license 席位(批处理需独立席位);停 worker 时**不要**按时间条件批量杀 ugraf(2026-08-26 凌晨误杀了用户会话,教训)。网页测试:`release\web_2026.08\config.js` 当前 api 指向 `http://localhost:8899`(正式部署默认空)。 + +## 6. 待办收尾清单 + +1. ~~格式选择(含 PRT)~~ ✅ +2. ~~批处理翻译器导出~~ ✅ **已解决**(§4.6:正解=独立命令行翻译器 step214ug.exe/iges.exe,全链路实测通过,Parasolid/STL 已砍) +3. ~~生成后先 3D 预览再下载~~ ✅ 已实现(GenServer `/preview/{series}/{code}.stp` 端点 + 前端「生成→预览→选格式→下载」) +4. 全链路真实验证(网页点生成 → 用户 NX 打开导出文件核对)—— ⏳ 待真母模就位 +5. 部署:netsh urlacl 授权、网页 config.js 填生产地址、桌面端 catalog.json genApi 字段 + 重建发布 —— ⏳ +6. masters.json 表达式名按真母模核对(现用 bore/stroke/magOn/mountIdx 与 nx-batch-export.vb 一致)—— ⏳ 待真母模 +7. ~~参数映射网页后台编辑~~ ✅(/admin「参数配置」tab) +8. ~~后台密码登录 + 模型管理(手动/定时清理)~~ ✅(/admin 三 tab) + +**详细交接见 `docs\工作交接.md` 与 `docs\部署清单.md`。** + +## 7. 本地环境当前状态(2026-08-28 更新) + +- GenServer 已改为**密码登录**(adminKey 默认 `onebot888`),后台 `/admin` 三 tab:UG 配置 / 参数配置 / 模型管理 +- `_start_all.bat` 一键启动(停旧→编译→启动 GenServer+worker→health 自检);网页底部信息栏有状态圆球(绿=就绪/橙=等worker/红=故障) +- 配置以 **D 盘**为准(W 盘旧 TeamCenter 映射已废弃) +- **待真母模**:`catalog-masters\KC\KC_master.prt` 目前是仿真圆柱占位母模 +- 母模:`catalog-masters\KC\KC_master.prt` 目前是"STEP 导入版"(实体数=0 的废品),真母模待用户提供/重建 +- 测试夹具:`C:\Users\ruigu\AppData\Local\Temp\nds3dtest\`(playwright、gensrv* 测试目录) diff --git a/文件夹说明.md b/文件夹说明.md new file mode 100644 index 0000000..546486d --- /dev/null +++ b/文件夹说明.md @@ -0,0 +1,47 @@ +# OnebotCatalog 文件夹说明 + +> 欧霓博气动元件电子目录软件 —— 项目主目录(2026-08-22 更新为**自包含布局**:软件+数据+工具都在这个文件夹里,整体拷贝/备份不断链)。 + +## 根目录文件 + +| 文件 | 说明 | +|---|---| +| README.md | 开发说明(开发人员必读) | +| 文件夹说明.md | 本文件 | +| ONEBOT - 直线气缸 - 中文.pdf | 产品手册原件(71MB,数据提取的源头,勿删) | +| OneBot-logo.png | 品牌 logo 原件 | +| ⚠️ 报价单-柳州五菱工业2026.8.15.xlsx | **误放的业务文件**(复制残留,`~$` 锁文件说明 Excel 还开着它)——保存关闭 Excel 后请移出本目录 | + +## 子文件夹 + +| 文件夹 | 是什么 | 谁在用 | +|---|---|---| +| **src/** | 软件源代码(C# / WPF,无 XAML) | 开发 | +| **bin/** | 编译产物:`OnebotCatalog.exe`(开发版)、`OnebotCatalog-Customer.exe`(客户版)、`维护入口.bat`(双击进维护界面,密码 onebot888) | 维护/开发 | +| **sample/** | 数据包 `.opc`(当前:`OnebotCatalog_2026.08.opc` 11 系列 52,154 型号)+ 自测日志 | 发布 | +| **release/** | **交付产物**:`OnebotCatalog_2026.08\`(客户版,压缩即交付)、`update_2026.08\`(增量包)、`web_2026.08\`(网页站) | 客户 | +| **web/** | 网页版前端源码(index.html / app.js / style.css,纯静态零依赖) | 开发 | +| **viewer/** | 新迪 3D 查看器**本地副本**(桌面"浏览器预览"与本地网页预览共用;原项目在 Z 盘只读,生产部署补丁见 viewer\菜单精简-生产部署补丁.txt) | 3D 预览 | +| **tools/** | 构建发布脚本:build.ps1(编译)、publish.ps1(一键发布三份产物)、serve-web.ps1(本地网页预览服务器)等 | 维护/开发 | +| **lib/** | 开源渲染库 HelixToolkit.Wpf.dll(MIT,窗口内 3D 渲染 STL 网格用,编译自动附带进 exe 目录) | 开发/构建 | +| **assets/** | 图标资源(OneBot-logo.png/ico,编译进 exe) | 构建 | +| **docs/** | 用户手册.md / 维护手册.md | 客户/维护 | +| **onebot-data/** | ★**产品数据管线**★:`catalog\` = 唯一数据源(系列定义+参数表+STEP+手册页+**平替对照表 crossref.csv**),`tools\` 源生成/手册拆页/佳尔灵对照提取工具,`数据维护说明书.md` = 团队操作指南(**改数据看这个**) | 维护 | +| **sample-data/** | 样例数据(虚构 SC/MAQ 系列)+ **NX 工具**:`nx-batch-export.vb`(母模批量导出)、`nx-batch-export-glb.vb`(GLB 轻量化)、`NX母模建模操作说明书.md`(母模建模教程) | NX 建模 | + +## 日常三种角色看哪 + +- **客户**:只拿到 `release\OnebotCatalog_2026.08\` 文件夹(或 zip),双击 exe 即可 +- **维护数据**:`onebot-data\`(改完按数据维护说明书"重建→发布")+ 双击 `bin\维护入口.bat` +- **NX 建模**:`sample-data\tools\NX母模建模操作说明书.md` + 两个 journal + +## 更新数据三步(详见 onebot-data\数据维护说明书.md) + +1. 改 `onebot-data\catalog\`(换 STEP / 改 CSV / 编辑系列定义) +2. 双击 `bin\维护入口.bat` → 目录制作器 → 【重建全量目录】 +3. 关预览服务器 → 跑 `tools\publish.ps1` → 三份产物自动更新 + +## ⚠️ 两个规矩 + +1. **业务文件(报价单/合同)不要放进本目录**——之前因此锁过文件夹、误删过发布目录 +2. 发布前先关闭正在运行的程序 exe 和预览服务器(占用文件会导致发布失败) diff --git a/欧霓博_电子目录系统_开发提示词.md b/欧霓博_电子目录系统_开发提示词.md new file mode 100644 index 0000000..f85de62 --- /dev/null +++ b/欧霓博_电子目录系统_开发提示词.md @@ -0,0 +1,110 @@ +# 软件开发提示词:自研气动元件电子目录系统(对标 CADENAS PARTdataManager) + +## 角色与任务 + +你是一名资深软件架构师兼全栈工程师,负责从零设计和实现一套 Windows 桌面端的"气动元件电子目录系统",功能对标 CADENAS PARTdataManager 目录光盘(参考实现:Airtac 亚德客目录光盘 PARTsolutions v11 SP5,含目录浏览、参数化选型、3D 预览、CAD 导出、Teamcenter 集成)。要求:每个里程碑开始前先输出设计文档(数据模型、API 设计、UI 原型),经我确认后再编码。 + +## 项目背景 + +- 公司:欧霓博(气动元件/气缸制造商) +- 目标:替代商业方案 CADENAS,自研轻量目录软件:普通客户(各类 CAD 用户)通过软件浏览/选型气动元件,**下载 STEP 文件**导入自己的 CAD 使用;产出"离线目录包 + 光盘/安装包"交付。核心功能一句话——**客户能选到型号、下载到正确的 STEP 文件**,其余功能均为可选增强 +- 现状:自有 SolidWorks/NX 三维模型(可导出 STEP)、Excel 参数表、PDF 数据表;不使用任何 CADENAS 工具 + +## 硬性约束 + +1. 不解析、不依赖、不捆绑任何 CADENAS 专有格式或运行时(.3db / .cip / PARTdataManager 软件目录) +2. 完全离线运行(客户工厂内网/光盘场景,无网络依赖) +3. 界面中英双语(资源文件管理,可扩展更多语言) +4. 目标平台 Windows 10/11 x64 +5. 保持架构简单:单机离线桌面程序即可,不引入云服务、账号体系、在线激活等非必要复杂度 +6. 每个里程碑交付:可运行 demo + 单元测试 + 简短使用说明 + +## 功能需求(按优先级,严格按顺序推进) + +### P0 — 最小可用(里程碑 M1) + +- 目录浏览器:左侧目录树(产品分类 → 系列 → 具体型号),右侧部件列表与详情 +- 参数化选型配置器:按型号编码规则(如 缸径/行程/磁石/缓冲方式/安装方式)筛选配置;配置变更实时联动参数表与 3D 模型 +- 3D 预览:读取 STEP 模型,支持旋转/平移/缩放;模型随参数配置更新(参数化变型) +- 数据表页:2D 尺寸图(图片/PDF)、技术参数表、选型说明文档 +- **STEP 下载(核心交付功能,放 P0)**:将当前配置的零件导出为 STEP 文件,文件名按型号规则自动命名(如 型号+缸径+行程),客户保存到本地后用任意主流 CAD 打开 +- 多语言:所有 UI 文案走资源文件,默认中/英 +- 维护入口:内置管理端入口(如菜单项或启动参数 --admin,支持密码保护),普通客户不可见;进入后可查看/替换目录数据包、管理数据版本,为 M2 的编辑功能留出位置 + +### P1 — 完整可用(M2) + +- 搜索:全文搜索(型号/名称/关键词,支持拼音);参数范围搜索(缸径 6~32mm、行程 ≤500 等组合条件) +- 批量下载:多选零件批量导出 STEP(zip 打包,保持单文件命名规则) +- (可选)IGES 等额外格式导出 +- (可选)收藏夹与 BOM:批量选择零件,导出 Excel/CSV BOM 清单 +- (可选)数据表生成:由参数表按模板生成 PDF 数据表 + +### P2 — 交付与可选扩展(M3 起) + +- 一键编译发布(维护入口内):点击"编译发布",把目录数据打进**客户版 exe**——数据内置的单文件程序,客户拿到即用,效果等同 Airtac 光盘(软件+目录数据一体);同时支持生成光盘/USB 目录结构(autorun.inf、启动器、增量更新包) +- (可选扩展,仅当有客户明确需要时再做)Teamcenter 集成:通过 Teamcenter SOA API 检入零件(Item/ItemRevision/属性映射/目标文件夹/ID 回写);映射配置采用 JSON 文件,按 TC 版本隔离;支持登录会话、批量检入、失败重试与日志 +- (可选,不建议投入)相似性搜索:三维几何相似搜索或草图逆向搜索;若做,裁剪为"同系列尺寸相近推荐" + +### 维护入口(管理端,集成在同一软件内,M2 起) + +- 管理端通过维护入口进入(普通客户不可见:菜单项或启动参数 --admin,支持密码保护) +- 目录制作器 Builder(维护入口内):导入 STEP 模型库 + Excel/CSV 参数表 → 定义系列、参数列、型号编码规则、选型约束 → 输出目录数据包 +- 规则引擎:支持选型约束 DSL,例如: + - 缸径=32 时,行程仅允许 25/50/75/100 + - 带磁石型号必须可选磁性开关槽 +- 校验器:模型缺失、参数表与规则冲突、图片/文档缺失检查(对标 qacheck 思想) + +## 技术栈(默认方案,更换需先说明理由) + +- 主语言/框架:C# / .NET 8(WPF + MVVM);理由:Windows 生态、与 Teamcenter .NET API 兼容、开发效率高 +- 3D:OpenCascade (OCCT) 读取 STEP 并渲染;对显示精度要求不高的场景可备选 Helix Toolkit 网格展示 +- 存储:SQLite(FTS5 全文索引;参数以 JSON 列存储) +- 安装包:Inno Setup;光盘启动器:C# 小型启动器(autorun.inf 调用) +- 测试:xUnit;git 管理,每个里程碑打 tag + +## 目录数据包格式(要求给出 schema 并评审) + +设计自有开放数据包格式(暂名 .opc,Open Parts Catalog),需支持:目录树、系列、零件、参数表(带单位与约束)、型号编码规则、STEP 几何引用、图片/PDF 附件、多语言文案。交付 JSON Schema 或 SQLite schema,并说明版本化策略(向前兼容、增量更新)。 + +## 架构要求 + +模块化分层,核心模块: + +- CatalogCore:数据包读写 +- ConfiguratorEngine:规则引擎 + 选型逻辑 +- Viewer3D:STEP 加载与渲染 +- SearchEngine:全文/参数搜索 +- ExportEngine:CAD 导出 +- TcIntegration:Teamcenter 集成(可选扩展模块,独立编译开关,默认版本不含) +- Packager:数据打包与发布(客户版 exe 生成 + 光盘/USB 目录结构) +- Builder:目录制作器(运行在维护入口/管理端内,编译出的客户版 exe 不含维护入口) + +模块间低耦合,界面与逻辑分离(MVVM),核心库不依赖 UI 框架。 + +## 可选扩展:Teamcenter 集成要点(仅按需开发时细化设计) + +- 使用 Teamcenter SOA API;配置项:TC 服务器地址/端口、映射文件(ItemType、ItemID 生成策略、版本规则、属性映射表、目标文件夹、ID 回写) +- 异常处理:登录过期、权限不足、断线重试,全部落日志 +- 不绑定特定 TC 版本,通过映射配置适配不同版本 + +## 里程碑与验收标准 + +- M1 核心闭环:目录浏览 + 选型配置 + 3D 预览 + STEP 下载;打开示例数据包,完成一个气缸系列"选型 → 下载 STEP"全流程 +- M2 维护入口 + 搜索 + 批量下载:在维护入口内用 Builder 从 STEP+Excel 生成数据包并被运行时正确读取;下载的 STEP 在 SolidWorks/NX 等主流 CAD 中打开且尺寸正确 +- M3 一键编译发布:维护入口中"编译发布"生成客户版单文件 exe(目录数据内置,无维护入口)+ 可选光盘/USB 目录结构(含 1 个示例系列),多语言,交付用户手册与目录维护手册——正式版 +- M4(可选扩展)TC 集成:在测试 TC 环境批量检入 10 个零件,属性映射全部正确 + +每阶段流程:设计文档 → 确认 → 编码 → 单测 → 验收。 + +## 交付物 + +1. 客户版单文件 exe(目录数据内置)+ 维护版软件(含维护入口)+ 示例数据(欧霓博 1 个真实气缸系列) +2. 完整源码(含单元测试) +3. 用户手册 + 目录维护手册(如何用 Builder 更新目录) +4. 数据包格式规范文档 + +## 开始编码前必须先向我确认的问题 + +- 气缸型号编码规则样例(提供真实编码表) +- 客户常用 CAD 软件(仅用于验证 STEP 兼容性;STEP 为通用格式,通常无需适配) +- (可选)是否有客户明确需要 Teamcenter 集成;如有,再提供 TC 版本与部署方式(四层/两层) diff --git a/欧霓博_目录软件_M1设计文档.md b/欧霓博_目录软件_M1设计文档.md new file mode 100644 index 0000000..368dff2 --- /dev/null +++ b/欧霓博_目录软件_M1设计文档.md @@ -0,0 +1,157 @@ +# M1 设计文档:核心闭环(浏览 + 选型 + 3D 预览 + STEP 下载) + +> **历史设计文档(2026-06 拟定)**。实施后的最终状态、与设计的偏差、进度与踩坑以 **项目总览.md** 为准(同目录)。本文件仅作设计参考。 + +## 1. M1 目标与验收标准 + +用户(欧霓博维护人员)打开维护版软件 → 加载一个 .opc 数据包 → 客户视角完成一个气缸系列"选型 → 下载 STEP"全流程。 + +**验收标准:** +- 打开示例数据包,目录树显示分类 → 系列 → 型号 +- 选择缸径/行程/磁石等参数,过滤实时生效,参数表与 3D 预览联动 +- 点击下载,得到命名正确的 STEP 文件(如 `ACQ32x50S.step`),在 SolidWorks/NX 中打开尺寸正确 +- 中英界面切换可用 +- `--admin` 启动 + 密码 → 维护页可加载/替换数据包、查看包信息 + +## 2. 三个关键架构决策 + +### 决策 1:数据包形态 —— SQLite 元数据 + 资源目录,zip 单文件分发 + +- `.opc` = zip 包,内含:`catalog.sqlite`(元数据/参数/规则/全文索引)+ `assets/`(STEP、预览网格、图片、PDF)+ `manifest.json`(schema 版本、目录名、语言列表) +- 客户版 exe 把 .opc 作为嵌入资源,首次运行时解压到 `%LOCALAPPDATA%\OuniboCatalog\`;维护版支持加载外部 .opc(便于替换/更新) +- 理由:SQLite 单文件利于嵌入 exe 与增量更新;资源外置避免把几百 MB 的 STEP 塞进数据库 blob + +### 决策 2:参数化变体策略 —— M1 用"预生成变体",schema 预留运行时建模 + +- M1:Builder/脚本按参数表**批量预生成**所有型号组合的 STEP(如缸径 8 种 × 行程 30 种 = 240 个文件),选型只是命中对应文件。简单、可靠、无运行时几何计算 +- 预留扩展点:`variants.geometry_source ∈ {prebuilt, parametric}`;后续行程连续化时,`parametric` 模式在 Builder 端做参数化重建(气动元件形状规则,适合特征化建模),运行时仍只读成品 STEP +- 约束:M1 要求行程等参数为**离散枚举值**;连续行程列入后续里程碑 + +### 决策 3:3D 预览 —— 编译期转网格,运行时轻渲染 + +- Builder 打包时把每个 STEP 转成预览网格(glTF/自定义二进制网格,assimp 或 OCCT 完成转换),运行时用 **Helix Toolkit (WPF)** 渲染 +- 理由:客户 exe 轻(不含 OCCT 运行时)、启动快、渲染流畅;STEP 原文件仅供下载,不进渲染管线 +- 备选(后续增强):运行时用 OCCT 直接读 STEP 渲染(精度高但增重) + +## 3. .opc 数据包 schema(catalog.sqlite) + +```sql +-- 元信息 +catalog_meta(id, schema_version, catalog_name, catalog_version, + default_lang, langs_json, build_time) + +-- 目录树 +categories(id PK, parent_id, sort, code) +series(id PK, category_id FK, code, sort, is_active) + +-- 参数定义(每个系列一组参数) +parameters(id PK, series_id FK, code, type, -- type: enum/number/text + unit, sort, is_required, values_json) -- enum 的取值/数值的范围 + +-- 变体(一个"型号组合"对应一行) +variants(id PK, series_id FK, model_code UNIQUE, -- 如 ACQ32x50S + param_values_json, -- {"bore":32,"stroke":50,...} + step_path, mesh_path, preview_img_path, + geometry_source DEFAULT 'prebuilt') + +-- 选型规则(M1 支持简单约束,JSON 表达式) +rules(id PK, series_id FK, priority, expr_json) +-- expr_json 示例:{"if":{"param":"bore","op":"eq","value":32}, +-- "then":{"param":"stroke","op":"in","value":[25,50,75,100]}} + +-- 附件(尺寸图/数据表/说明,按语言区分) +attachments(id PK, series_id, kind, -- dim_drawing/datasheet/note + lang, path, sort) + +-- 翻译 +translations(key PK, lang PK, text) + +-- 型号编码与命名规则(series 级配置) +series_naming(id PK, series_id FK, + code_template, -- 如 "{SERIES}{bore}x{stroke}{MAG}" + step_name_template -- 如 "{SERIES}{bore}x{stroke}{MAG}.step") +``` + +manifest.json: + +```json +{ + "schema_version": "1.0", + "catalog_name": "欧霓博气动目录", + "catalog_version": "2026.06", + "langs": ["zh-CN", "en-US"], + "builder_version": "0.1.0" +} +``` + +## 4. 模块与接口(C# .NET 8,MVVM) + +| 模块 | 职责 | M1 关键接口 | +|---|---|---| +| CatalogCore | 数据包读写、查询 | `Load(string opcPath)`;`GetCategoryTree()`;`GetSeries(id)`;`GetVariants(seriesId, filter)`;`ResolveModelCode(code)`;`GetAttachments(seriesId, kind, lang)` | +| ConfiguratorEngine | 参数过滤 + 规则求值 | `GetAvailableOptions(seriesId, currentSelections)`;`Validate(selections) → 违反的规则列表`;`GetVariant(selections)` | +| Viewer3D | 网格加载与交互 | `LoadMesh(path)`;旋转/缩放/平移;`Clear()` | +| ExportService | STEP 下载 | `Export(variantId, destDir)` → 按命名模板复制 STEP 并返回路径 | +| Localization | 多语言 | `T(key, lang)`;资源文件 zh-CN/en-US | +| AdminService | 维护入口 | `IsAdminMode(args)`;`CheckPassword`;`LoadExternalPackage(path)`;`GetPackageInfo()` | +| AppShell (WPF) | 装配以上模块 | 客户模式 / 维护模式路由 | + +依赖方向:AppShell → 各模块;CatalogCore 不依赖 UI;Viewer3D 只认网格文件路径。 + +## 5. UI 线框 + +``` +┌─────────────────────────────────────────────────────────────┐ +│ [语言:中/EN] 欧霓博气动目录 [下载 STEP] │ +├──────────────┬──────────────────────────┬───────────────────┤ +│ 目录树 │ 参数选择面板 │ 数据表 (Tab) │ +│ ▼ 气动执行元件 │ 缸径: [6] [10] [16] [32]│ ┌────────────────┐│ +│ ▼ ACQ 系列 │ 行程: [25][50][75][100] │ │ 2D 尺寸图 ││ +│ ACQ 标准缸│ 磁石: [无][S] │ │ 技术参数表 ││ +│ ▼ 迷你气缸 │ 安装: [LB][FA][CB] │ │ 选型说明 ││ +│ ▼ 阀类 │ ── 已选: ACQ32x50S ── │ └────────────────┘│ +│ ├──────────────────────────┤ │ +│ │ 3D 预览 (Tab) │ │ +│ │ [旋转/缩放/平移] │ │ +└──────────────┴──────────────────────────┴───────────────────┘ + +维护页(--admin 进入,密码保护): +┌──────────────────────────────────────────┐ +│ 当前数据包: ounibo_2026.06.opc (2026.06) │ +│ [加载新数据包...] [校验] [查看日志] │ +│ (M2 起扩展:目录编辑 / 编译发布) │ +└──────────────────────────────────────────┘ +``` + +## 6. 解决方案结构 + +``` +OuniboCatalog/ +├── src/ +│ ├── Ounibo.Catalog.Core/ # CatalogCore + Configurator + Export + Localization +│ ├── Ounibo.Catalog.Viewer3D/ # Helix Toolkit 封装 +│ ├── Ounibo.Catalog.App/ # WPF 壳(客户模式 + 维护页) +│ └── Ounibo.Tools/ # M1: 示例数据生成脚本(CLI);M2 演化为 Builder +├── tests/Ounibo.Catalog.Core.Tests/ # xUnit:规则求值、命名模板、包加载 +├── sample-data/ # 1 个真实气缸系列的输入与生成物 +└── OuniboCatalog.sln +``` + +## 7. M1 任务清单(建议实现顺序) + +1. CatalogCore:.opc 读写 + schema 建表 + 查询接口(含单测) +2. Ounibo.Tools 示例数据生成:读 Excel 参数表 + STEP 库 → 生成 .opc(含网格转换,assimp 命令行即可) +3. AppShell 客户模式:目录树 + 参数面板 + 过滤联动 +4. Viewer3D 接入:选型变化 → 切换网格 +5. ExportService:STEP 下载 + 命名模板 +6. AdminService + 维护页:--admin、密码、加载/替换数据包 +7. Localization:中/英资源接入全部文案 +8. 集成测试:按验收标准走查全流程 + +## 8. 需要用户提供的输入(开工前) + +- **1 个真实气缸系列的 STEP 模型**(如 ACQ 标准气缸各缸径/行程的模型,或 1 个基准模型 + 尺寸规律说明) +- **该系列的 Excel 参数表**(列:型号编码、缸径、行程、安装方式、磁石等) +- **型号编码规则**(如 ACQ32x50S 各段的含义与允许组合) +- **2D 尺寸图/数据表 PDF**(中/英) +- 客户常用 CAD 清单(用于 STEP 兼容性验证,通常无需适配) diff --git a/欧霓博_目录软件_M2设计文档.md b/欧霓博_目录软件_M2设计文档.md new file mode 100644 index 0000000..cad1092 --- /dev/null +++ b/欧霓博_目录软件_M2设计文档.md @@ -0,0 +1,108 @@ +# M2 设计文档:维护入口(Builder 制作器)+ 搜索 + 批量下载 + +> **历史设计文档(2026-06 拟定)**。实施后的最终状态(统一路线/全量构建器等)、与设计的偏差、进度与踩坑以 **项目总览.md** 为准(同目录)。本文件仅作设计参考。 + +## 1. M2 目标与验收标准 + +维护人员在维护入口内用 Builder 从 STEP 模型库 + Excel 参数表生成 .opc 数据包;客户模式新增搜索与批量下载。 + +**验收标准:** +- 在维护入口内完成一个真实气缸系列的数据制作全流程(导入 → 定义 → 规则 → 附件 → 生成 .opc) +- 生成的 .opc 被运行时正确读取,选型/预览/下载全流程可用 +- 全文搜索:输入型号片段(含拼音如 "acq")或中文关键词命中正确结果;参数范围搜索(缸径 10~32、行程 ≤100)结果正确 +- 多选零件批量下载 zip,包内文件命名正确 +- 校验器能发现:STEP 缺失、编码重复、规则冲突、附件缺失,并输出报告 + +## 2. Builder 设计(维护入口内) + +### 2.1 数据制作向导(5 步) + +1. **导入参数表**:选择 Excel/CSV(约定模板:列 = 型号编码 + 各参数列 + STEP 文件名),预览前 100 行 +2. **定义参数**:逐列设置参数定义——名称、类型(enum/number/text)、单位、是否必选;enum 自动提取该列唯一值 +3. **编码规则**:定义/验证型号编码模板(如 `{SERIES}{bore}x{stroke}{MAG}`);系统从 model_code 反解参数值,对不匹配的型号行给出警告 +4. **选型规则**:表格式编辑器(条件参数/条件值 → 约束参数/允许值列表),一行一条规则,无需手写 DSL;可选组合条件(AND) +5. **附件与生成**:上传 2D 尺寸图/数据表 PDF(按语言分);预览目录树 → 点击生成 → 后台任务执行网格转换 → 输出 .opc + +### 2.2 网格转换(STEP → 预览网格) + +- assimp(或 OCCT)命令行批处理,Builder 内以后台任务运行,带进度与失败清单 +- 转换产物缓存(`build-cache/`),增量重建时跳过未变化的 STEP(按文件 hash) +- 转换失败的 STEP:列入校验报告,不阻断打包(预览用占位网格,下载仍给原 STEP) + +### 2.3 目录树编辑 + +分类/系列的增删改与排序(拖拽),系列可绑定参数定义集。 + +## 3. 规则引擎 DSL(存储格式,用户不直接写) + +```json +{ + "if": {"and": [{"param": "bore", "op": "eq", "value": 32}, + {"param": "magnet", "op": "eq", "value": "S"}]}, + "then": {"param": "stroke", "op": "in", "value": [25, 50, 75, 100]} +} +``` + +- 操作符:`eq / ne / in / gt / ge / lt / le / between` +- 求值接口沿用 M1 的 `ConfiguratorEngine.GetAvailableOptions`;M2 补充 `Explain(selections)`——解释某个选项为什么被禁用(引用命中的规则),用于 UI 提示 +- 规则冲突检测:同一"条件"给出矛盾"约束"时,校验器报错 + +## 4. 搜索设计 + +### 4.1 全文搜索 + +- SQLite FTS5 表 `fts_search(model_code, series_code, names, keywords, pinyin)`,**Builder 打包时生成索引**(M1 schema 增加该表) +- 拼音:打包时用拼音库(如 TinyPinyin)把中文系列名/关键字转全拼+首字母,一并入索引 +- 查询策略:精确型号码命中排最前;前缀匹配(`acq*`);中文词、拼音、英文关键词均可命中 + +### 4.2 参数范围搜索 + +- M1 的 `variants.param_values_json` 对范围查询不友好,M2 由 Builder 生成时**为数值型参数落冗余列**(动态 `ALTER TABLE variants ADD COLUMN bore REAL, stroke REAL ...`,列名按参数定义生成),范围查询走普通索引 +- UI:选型面板增加"范围模式"(缸径 [10..32]、行程 ≤100),与枚举模式切换 + +## 5. 批量下载 + +- 客户模式:部件列表多选(勾选框)→ 下载所选 → 生成 zip +- zip 内结构:`系列名/型号.step`(命名模板 M1 已定义)+ `BOM.csv`(型号、参数值、数量列) +- 大量文件时后台打包 + 进度条;默认单文件下载仍走原有 ExportService + +## 6. 校验器(对标 qacheck) + +检查项与输出: + +| 检查项 | 说明 | +|---|---| +| STEP 缺失 | 变体引用的 step_path 不存在 | +| 编码重复 | model_code 唯一性 | +| 编码不匹配 | 参数值无法由编码模板反解 | +| 规则冲突 | 同条件矛盾约束;规则引用了不存在的参数值 | +| 附件缺失 | 必需的尺寸图/数据表未提供(按语言) | +| 命名模板变量未定义 | step_name_template 引用不存在的参数 | +| 网格缺失 | 网格转换失败的清单 | + +输出:UI 报告列表(按严重度过滤、点击定位到变体)+ 可导出 CSV。**校验不通过不允许编译发布**(M3 的硬门槛)。 + +## 7. UI 扩展 + +- 维护页扩展:数据包管理(新建/打开/备份)、Builder 向导、校验报告页、生成日志 +- 客户模式:顶部搜索栏(全局)、部件列表多选与批量下载按钮、禁用选项的规则解释 tooltip +- 维护入口交互沿用 M1:`--admin` 启动参数 + 密码 + +## 8. 任务清单(建议实现顺序) + +1. 规则引擎求值 + Explain + 单测(纯逻辑,先行) +2. FTS5 索引与拼音生成(Builder 侧) +3. variants 动态数值列 + 范围查询 +4. Builder 向导 5 步(导入/参数/编码/规则/附件) +5. 网格转换后台任务 + 缓存 +6. .opc 生成(zip 打包) +7. 校验器 + 报告 UI +8. 客户模式搜索栏 + 批量下载 +9. 全流程集成测试(真实系列数据从零到可用) + +## 9. 需要用户提供的输入 + +- 真实系列的 Excel 参数表(含 STEP 文件名对应列) +- 该系列全部型号的 STEP 模型文件 +- 编码规则说明(各段含义、允许组合) +- 中/英尺寸图与数据表 PDF diff --git a/欧霓博_目录软件_M3设计文档.md b/欧霓博_目录软件_M3设计文档.md new file mode 100644 index 0000000..e856dd5 --- /dev/null +++ b/欧霓博_目录软件_M3设计文档.md @@ -0,0 +1,99 @@ +# M3 设计文档:一键编译发布(客户版 exe + 光盘结构)+ 正式版 + +> **历史设计文档(2026-06 拟定)**。实施后的最终状态(2026.08 发布管线/三份产物/站点删除重试等)、与设计的偏差、进度与踩坑以 **项目总览.md** 为准(同目录)。本文件仅作设计参考。 + +## 1. M3 目标与验收标准 + +维护入口中点击"编译发布"→ 生成客户版单文件 exe(目录数据内置、无维护入口),可选生成光盘/USB 目录结构;多语言完整;交付两份手册——正式版。 + +**验收标准:** +- 编译发布产出的客户版 exe 在**纯净 Win10/11 虚拟机**(无 .NET 运行时、断网)上双击即用,完成选型 → 下载 STEP 全流程 +- 客户版 exe 中不存在维护入口(无 --admin 响应、无维护页、无 Builder 代码路径) +- 光盘/USB 目录结构生成正确(autorun.inf + exe + 外置 .opc),增量更新包(仅换 .opc)验证可用 +- 中/英全量文案无缺失 key;用户手册 + 维护手册交付 +- 数据包版本校验:客户端对过旧/过新的 .opc 给出明确提示 + +## 2. 发布流水线 + +``` +Builder 生成 .opc ──→ 校验器(通过才可发布) + │ + ├─ 路径 A:单文件客户版(默认) + │ .opc 作为嵌入资源 → dotnet publish(self-contained, single-file, + │ Release, trimmed, CUSTOMER_BUILD 编译符号)→ OuniboCatalog.exe + │ + └─ 路径 B:目录版(光盘/USB 用) + exe(同 CUSTOMER_BUILD 编译,不含资源)+ 外置 catalog.opc + → 生成发布目录结构(见 §3) +``` + +### 2.1 单文件实现方案 + +- 一份代码同时支持 A/B:启动时 `先找 exe 旁 catalog.opc(B)→ 找不到读嵌入资源(A)→ 都没有则提示"数据包缺失"`;A 由 Packager 把 .opc 写入资源后重新编译 +- 实现细节:Packager 维护一个预置的"客户版 csproj",把 .opc 复制为 EmbeddedResource,调用 `dotnet publish` 自动编译;发布机需装 .NET SDK +- `CUSTOMER_BUILD` 编译符号:剔除 AdminService、维护页、Builder、校验器、Packager 自身(`#if !CUSTOMER_BUILD`),确保客户版干净且更小 +- self-contained + single-file + trimmed:客户机无需装 .NET;注意 Helix Toolkit 与 WPF 的 trimming 兼容性,若有反射问题则关 trim 或用 RDXml 声明 +- exe 图标(欧霓博 logo)、版本资源(FileVersion = 目录版本)、产品名 + +### 2.2 代码签名(可选但建议) + +- 购买代码签名证书(OV 级足够),发布机集成签名步骤;未签名 exe 会被 SmartScreen 拦截,客户体验差——**正式发布前建议完成** + +## 3. 光盘/USB 发布目录结构(对标 Airtac 包形态) + +``` +OuniboCatalog_2026.06/ +├── autorun.inf # 指向 OuniboCatalog.exe +├── OuniboCatalog.exe # 客户版(CUSTOMER_BUILD,无嵌入数据) +├── catalog.opc # 数据包(外置,增量更新只换此文件) +├── icon.ico +└── README_zh.txt / README_en.txt # 使用说明(含各 CAD 导入 STEP 的简略指引) +``` + +- 增量更新包 = 新版 `catalog.opc`(校验器通过后由发布流水线产出),客户覆盖即升级;单文件版客户升级 = 重新下发 exe +- autorun.inf 在 Win10/11 默认禁用自动播放——README 中说明"双击 exe 运行",不依赖 autorun + +## 4. 版本与兼容 + +- `catalog_meta`:`catalog_version`(目录内容版本)+ `schema_version`(格式版本) +- 客户端加载 .opc 时校验:schema_version 高于软件支持 → 提示"请升级软件";低于已知最低版本 → 提示"数据包过旧";均拒绝加载 +- 版本号规则:`年.月`(如 2026.06)+ 补丁位(2026.06.1),显示在关于页 + +## 5. 多语言完善 + +- 全部文案入资源文件(zh-CN / en-US),含错误提示、规则解释、校验报告 +- 构建期脚本扫描缺失 key(界面启动时兜底显示 key 本身,测试阶段开警告) +- 语言选择:首次启动跟随系统 → 设置可切换(沿用 M1 设计) + +## 6. 文档(交付物) + +- **用户手册**:安装/运行、选型流程、STEP 下载与各主流 CAD 导入指引、批量下载、FAQ +- **维护手册**:数据准备规范(Excel 模板格式、STEP 文件要求、命名约定)、Builder 五步操作、校验与常见错误处理、发布流程(编译发布操作步骤、增量更新流程) +- 两份手册中/英双语 + +## 7. 验收测试清单 + +| 场景 | 预期 | +|---|---| +| 纯净 Win10/11 虚拟机,双击客户版 exe | 无需安装 .NET,直接运行 | +| 断网运行 | 全流程可用 | +| 客户版 --admin 启动 | 无维护入口响应 | +| 搜索/选型(5 万变体规模抽测) | 启动 <5s,过滤/搜索 <1s | +| 光盘目录版:仅替换 catalog.opc 升级 | 新版数据生效,版本号正确显示 | +| 把 schema_version 改大后加载 | 明确提示"请升级软件",不崩溃 | +| 校验器存在 ERROR 时点编译发布 | 被拦截并给出报告 | +| STEP 下载后在 SolidWorks/NX 打开 | 尺寸正确 | + +## 8. 任务清单(建议实现顺序) + +1. Packager:路径 B(目录版)+ 增量更新包产出 +2. `CUSTOMER_BUILD` 编译符号改造 + 单文件 self-contained 发布(路径 A) +3. 版本校验与关于页 +4. 多语言补齐 + 缺失 key 检查 +5. 图标/版本资源/签名流程 +6. 两份手册编写 +7. 虚拟机验收测试全项走查 + +## 9. 后续(M4 可选扩展,不在本次范围) + +Teamcenter 集成(SOA 检入、映射 JSON)——仅当有客户明确需要时启动。 diff --git a/项目总览.md b/项目总览.md new file mode 100644 index 0000000..743503b --- /dev/null +++ b/项目总览.md @@ -0,0 +1,299 @@ +# 欧霓博目录软件 —— 项目总览(继续开发前先读这个) + +> 本文件是项目全貌的汇总。继续开发时,先让 AI 读本文件 + `README.md`(同目录)+ `文件夹说明.md` 即可接上上下文。 +> 最后更新:2026-08-28(**NX 按需生成服务二期 A 版全链路打通**:批处理导出 0 solid 根因定位+独立翻译器正解+worker 改造+nxBin 配置化+后台 /admin 密码登录三 tab+一键启动+网页状态圆球+生成后 3D 预览选格式下载+模型管理定时/手动清理;详见 `docs\工作交接.md` + `开发记录-NX2506批处理攻坚.md` §4.6) + +## 1. 项目背景 + +- 公司:**欧霓博**(气动元件/气缸制造商) +- 目标:**自研**气动元件电子目录软件,对标 Airtac 的 CADENAS PARTdataManager 目录光盘(工作目录里的 Airtac 包即对标物),**不使用任何 CADENAS 组件** +- 核心目标一句话:**普通客户通过软件选型并下载 STEP 文件**,导入自己的 CAD 使用 + +## 2. 需求定稿(多次收敛后的最终范围) + +| 项 | 结论 | +|---|---| +| 交付对象 | 普通客户(各类 CAD 用户),不限定 Teamcenter/NX/SolidWorks | +| 核心功能 | 浏览目录 → 参数选型(规则过滤)→ 3D 预览 → **下载 STEP** | +| 增强功能 | 搜索(型号/中文/英文/拼音)、参数范围筛选、批量下载 zip+BOM | +| 维护端 | 维护入口内置在同一个软件里(密码保护,客户不可见);内含 Builder 制作器 | +| 发布 | 维护入口/命令行一键编译发布 → **客户版单文件 exe**(数据内置、无维护入口)+ 光盘目录 + 增量更新包 | +| 平台 | Windows 10/11,完全离线单机,中英双语 | +| 一致性(2026-08-24 定) | **桌面版功能与页面排版始终与在线版保持一致**——任何界面/功能改动两端同步做 | +| Teamcenter 集成 | 默认不做,仅当客户明确需要时作为可选扩展(M4) | + +## 3. 里程碑状态:M1/M2/M3 全部完成 ✅ + +- **M1 核心闭环**:目录树、参数化选型(规则 R1~R3 实时过滤)、3D 预览(拖拽旋转/滚轮缩放)、尺寸图/参数表/数据表 PDF、STEP 下载、维护入口(`--admin`)、中英切换 +- **M2 制作与检索**:维护入口内 Builder 5 步向导(含保存/加载配置)、全文搜索+拼音关键词、参数范围筛选、批量下载、校验器(STEP 缺失/编码重复/规则冲突/附件缺失)、CLI 打包模式 `--build` +- **M3 一键发布**:`publish.ps1`(自测门禁 → 客户版 exe 数据内置+物理剔除维护入口 → 光盘目录+增量包)、数据包版本校验、用户/维护手册 +- **自测全过**(`--selftest`,结果看 `sample/selftest.log`;样例包 40 项、ONEBOT 包 25 项,新增"手册页附件可读"与"真实 B-rep 兼容"检查) + +## 4. 技术栈与关键决策(含与设计文档的偏差) + +本机环境:**无 .NET SDK**,有 VS 2022 Build Tools(含 Roslyn csc.exe)+ Windows 自带 .NET Framework 4.8/WPF。 + +| 设计文档原案 | 实际实现 | 原因 | +|---|---|---| +| C# / .NET 8 (WPF+MVVM) | C# / net48 **代码式 WPF(无 XAML)**,csc 编译 | 零安装;net48 内置于 Win10/11,客户机免装运行时 | +| SQLite + FTS5 | **zip + catalog.json**,内存 LINQ 查询 | 避免外部依赖,10 万级变体足够 | +| Helix Toolkit | WPF 内置 **Viewport3D** | 零依赖 | +| 预生成预览网格 | 运行时直接解析**自有极简 STEP**(4 圆柱组合)→ 网格 | 自有格式简单;真实 CAD 通用 STEP 由 NX Journal 批量生成预生成变体 | +| — | 数据包 .opc = zip(catalog.json + step/ + docs/) | schema_version=1.0,向前兼容校验 | + +**关键架构决策**(详见 `欧霓博_目录软件_M1设计文档.md` 决策 2): +- **预生成变体策略**:一个型号组合一个 STEP 文件,选型=命中文件。**离散档位行程够用**;若行程连续(任意值)需"参数化二期"(运行时建模,最难部分,已预留 `geometry_source` 扩展点) + +## 5. 目录结构地图(工作目录根 = Airtac 包目录) + +``` +airtac_0602_2026_v11sp5_world_version/ ← 工作目录根 (Airtac 原始 CD 内容: data/ + cip/ + software/) +├── OnebotCatalog_2026.08_客户版.zip ← 客户交付包示例 +├── ONEBOT目录-维护版.lnk / ONEBOT目录-客户版.lnk ← 快捷方式 +└── OnebotCatalog/ ← ★项目主目录 (自包含: 文档+软件+数据+工具) +│ ├── 项目总览.md ← 本文件 (继续开发的入口) +│ ├── 文件夹说明.md / README.md ← 目录用途 / 开发说明 +│ ├── 欧霓博_电子目录系统_开发提示词.md + M1/M2/M3设计文档.md ← 历史文档 +│ ├── src/ (App + CatalogCore + Viewer3D, 10+ 个 .cs) +│ ├── web/ (在线站前端: index.html/app.js/style.css + OneBot-logo.png) +│ ├── viewer/STEPViewer/ ← 新迪 3D 查看器【本地副本】(原项目 Z:\...\上海新迪3D\dev 只读不改; +│ │ menu=min 精简菜单/无模型树已改; 菜单精简-生产部署补丁.txt = 部署补丁) +│ ├── assets/ (OneBot-logo.png 嵌入资源 + OneBot-logo.ico exe 图标) +│ ├── tools/ (build.ps1, publish.ps1, serve-web.ps1, fix-bom.ps1, make-icon.ps1, +│ │ make-opc.ps1, extract-pdf.py, ui-diagnose.ps1, ui-diagnose2.ps1) +│ ├── bin/ (OnebotCatalog.exe 开发版, OnebotCatalog-Customer.exe 客户版, 维护入口.bat) +│ ├── sample/ (OnebotCatalog_2026.08.opc 真实目录; 2026.06 旧版已删, SC-meta.json) +│ ├── release/ (2026.08 真实三份产物: 离线包+增量包+在线站) +│ ├── docs/ (用户手册.md, 维护手册.md) +│ ├── README.md (开发说明, 必读) +│ ├── onebot-data/ ← ONEBOT 数据管线 (统一路线, 2026-08-22 并入自包含布局) +│ │ ├── catalog/ ← ★唯一数据源★ (catalog.json + series\*.meta.json + csv\ + step\ + manual\) +│ │ ├── tools/ (gen-onebot-source.ps1 源生成器, render-manual-pages.py 手册拆页, scan-manual-pages.py) +│ │ ├── 数据维护说明书.md ← 团队操作指南 (数模替换/新增系列/打包/排查) +│ │ └── (旧 build-onebot-catalog.ps1 与 out\ 旧布局残留已于 2026-08-23 删除, 防止误用) +│ └── sample-data/ ← 样例数据 + NX 工具 (2026-08-22 并入) +│ ├── onb-sc/ (SC 标准气缸 72 变体 + MAQ 迷你气缸 36 变体, step/ 108 个 STEP, params.csv) +│ └── tools/ (gen-step/gen-images/gen-pdf/gen-xlsx/verify-step/fix-bom, +│ nx-batch-export.vb NX 批量导出模板, nx-batch-export-glb.vb, +│ NX母模建模操作说明书.md) +│ +├── airtac-benchmark/ ← 亚德客目录对标分析 (2026-08-22, 仅结构/格式, 不含对方几何) +│ ├── 亚德客目录对标分析.md ← 主报告 (.cip 容器格式/目录组织/参数格式/架构对照/可借鉴点) +│ ├── cip-tool.py (解析器) + series-tree.txt (系列树) + *-listing.txt (两容器条目清单) +│ └── out\ (解出的文本配置: dir.prj/categories.prj/系列.tab 等, 仅明文, 无几何) +``` + +### 真实数据 (ONEBOT, 2026-08-22 入库) + +- 来源:《ONEBOT - 直线气缸 - 中文.pdf》(152 页, 71MB)。提取方式:`OnebotCatalog/tools/extract-pdf.py` (PyMuPDF) + 私有区数字解码(0xF6B1~0xF6BA = 0~9)。 +- 产物:`OnebotCatalog\onebot-data\catalog\`(★唯一数据源★:catalog.json + series\*.meta.json + csv\ + step\ 1,309 个占位几何 STEP + manual\ 38 页)→ C# FullCatalogBuilder → `OnebotCatalog/sample/OnebotCatalog_2026.08.opc`(11 系列 52,154 变体, 5.5MB)。 +- 系列:KC(32-320)/KCB/KSB/KCS/KS/KSU/M/MS/MSC/MAL/MALC;规则按手册提取(YB→缸径≤125;KS/KSU 双轴型固定形式受限)。 +- **2026-08-23 新增 6 个 UNIVER 系样板系列**(参照官网 universal-onebot.com 产品数据):UCBM 气动夹紧缸(6 型号)/ULP 可伸缩定位销(3)/USP 勾销缸(3)/UGP 夹爪缸(2, 含规则)/UAGP 翻转缸(22)/LAE 电动气缸(3)——共 39 型号,几何为占位,参数仅"规格(±型式)"两列,**作为各分类的填数模板**(现 17 系列 52,193 变体)。 +- **几何为占位**:NX 母模批量导出真实 STEP 后,按相同文件名(`系列-型号缸径x行程.step`)替换 `catalog\step\` 并【重建全量目录】即可(KC-00-32x10 已试点)。 + +## 6. 日常操作手册(浓缩) + +```powershell +# 编译开发版 / 客户版 +powershell -NoProfile -ExecutionPolicy Bypass -File OnebotCatalog\tools\build.ps1 +powershell -NoProfile -ExecutionPolicy Bypass -File OnebotCatalog\tools\build.ps1 -Customer -Opc sample\xxx.opc + +# 自测 (结果看 OnebotCatalog\sample\selftest.log) +OnebotCatalog\bin\OnebotCatalog.exe --selftest OnebotCatalog\sample\OnebotCatalog_2026.08.opc + +# CLI 打包 (与向导同一 Builder 内核; --meta 元数据模板见 sample\SC-meta.json) +OnebotCatalog\bin\OnebotCatalog.exe --build params.csv step目录 输出.opc --series SC --meta 配置.json + +# CLI 全量打包 (统一路线: 源目录 → .opc; 结果看 \build.log) +OnebotCatalog\bin\OnebotCatalog.exe --buildfull OnebotCatalog\onebot-data\catalog OnebotCatalog\sample\OnebotCatalog_2026.08.opc + +# 刷新源数据 (占位几何+CSV+meta 重生成; NX 真实 STEP 直接替换 catalog\step\ 同名文件即可, 无需跑这个) +powershell -NoProfile -ExecutionPolicy Bypass -File OnebotCatalog\onebot-data\tools\gen-onebot-source.ps1 + +# 一键发布 (自测不过不允许发布; ★发布前必须先停 serve-web 和客户版 exe★) +powershell -NoProfile -ExecutionPolicy Bypass -File OnebotCatalog\tools\publish.ps1 -Opc sample\xxx.opc -Version 2026.08 + +# 本地网页预览 (并发服务器, 默认站点 release\web_2026.08; 关掉即停) +powershell -NoProfile -ExecutionPolicy Bypass -File OnebotCatalog\tools\serve-web.ps1 + +# 运行 +OnebotCatalog\bin\OnebotCatalog.exe sample\xxx.opc # 客户模式 +OnebotCatalog\bin\OnebotCatalog.exe sample\xxx.opc --admin # 维护入口 (密码: onebot888) +``` + +**维护入口在哪里(用户常问)**: +- 双击 `OnebotCatalog\bin\维护入口.bat` = 开发版 + --admin + 密码框(密码 onebot888)→ 顶栏出现【维护入口】按钮 +- **客户版 exe(release\ 里那个)编译时已彻底移除维护入口**——这是设计需求,不是 bug;客户永远看不到编辑功能 +- 若需在客户版也留隐藏入口(如 Ctrl+Shift+A 弹密码框),改 MainWindow.cs 一处即可(未做) + +**放数据/编辑数据流程**(核心概念:.opc 是编译产物,不可直接改;编辑 = 改源头 CSV/STEP → 重新生成): +1. 准备:参数表 CSV(首列=型号编码 + 参数列 + 必须的 step_file 列)+ STEP 目录 + 可选附件 +2. 首次:维护入口 → 目录制作器 → 5 步向导(导入→参数→编码→规则→附件生成)→ 【保存配置】 +3. 编辑:改 CSV/STEP → 向导【加载配置】→ 重新导入 → 生成 → 校验 → publish 或替换客户 catalog.opc +4. **编辑当前数据(2026-08-22 统一路线)**:唯一数据源 = `OnebotCatalog\onebot-data\catalog\`(catalog.json + series\<代码>.meta.json + csv\ + step\ + manual\)。维护窗口显示当前包系列清单;目录制作器 Step1 顶部选【数据源目录】(默认已填) → 下拉选系列 → 编辑参数/规则/显示名/附件 →【保存配置】(直接写回 series\*.meta.json) → 点【重建全量目录】→ 全量 .opc 生成并可加载到主窗口。同一内核另有 CLI:`--buildfull <源目录> <输出.opc>`。旧 build-onebot-catalog.ps1 已废弃(存档);源数据刷新用 `OnebotCatalog\onebot-data\tools\gen-onebot-source.ps1`(几何+CSV+meta 生成,NX 真实 STEP 直接替换 catalog\step\ 同名文件) +5. **团队完整操作指南**:`OnebotCatalog\onebot-data\数据维护说明书.md` —— 数模替换 / 新增产品系列(CSV+meta+挂分类+STEP 全流程)/ 只改参数规则 / 常见问题排查表(含"桌面 3D 对真实 B-rep 空白"等已知边界),可直接转给维护同事 + +**环境陷阱(重要!)**: +- PowerShell 5.1 与 csc 对**无 BOM 文件按 GBK 读取** → 编辑任何含中文的 .ps1/.cs/.vb 后必须先运行 `fix-bom.ps1`(幂等,可重复跑)再编译/运行 +- winexe(GUI 程序)退出码不可靠 → 自测结果以 selftest.log 文本为准("结果: X 通过, Y 失败") +- 外层 PowerShell 调用里不要用双引号包裹含 `$` 的命令(外层会先插值吞掉变量) +- **发布前必须先停 serve-web 与客户版 exe**(站点目录/编译产物被占用会失败;publish 已带删除重试,但 exe 锁仍会卡编译) +- 嵌套 powershell 传数组参数会被揉成单串 → fix-bom 等带 -Files 数组的脚本用当前会话 `& (Resolve-Path ...).Path -Files @(...)` 调用;`&` 相对路径偶发"模块加载"报错,一律先 Resolve-Path 取绝对路径 + +## 7. NX 数据准备(母模参数化 + Journal 批量导出) + +用户使用 **NX 2506**。流程(★完整操作说明书:`OnebotCatalog\sample-data\tools\NX母模建模操作说明书.md`——表达式规划/建模五步/验收表/journal CONFIG/常见问题): +1. **建参数化母模**:所有会变尺寸用表达式(`bore`/`stroke`/`rodLen=stroke+40` 公式联动),表达式名与 CSV 列名一字不差;磁石槽等"有无"特征用【按表达式抑制】(magOn=0/1);**固定形式/磁石/双轴都改变外形 → 母模内做特征组+按表达式抑制切换**(mountIdx 0~6、twinOn 0/1);草图必须全约束 +2. **安装方式建议做法②**:母模只建气缸本体,安装件(法兰/脚座/中摆)独立 STEP 当选配件发;参数表 mount 列照写,多型号可共用同一 step_file(Builder 支持) +3. **批量导出**:NX 里 工具→日记→播放(**不是 Ctrl+U**,Ctrl+U 只认 .dll),选 `OnebotCatalog\sample-data\tools\nx-batch-export.vb`(已适配 NX 10~2506 的 DexBuilder API;改 CONFIG 区三个路径即可) +4. 验收:母模手动改 stroke/magOn/bore 验证联动,再 2~3 档小批量试跑,最后全量 +5. **GLB 轻量化批量导出(待办 9)**:`nx-batch-export-glb.vb` 同款骨架;NX 2506 原生支持(文件→导出→Extended Reality→GLB,NX 2206 起有此功能);导出 API 需用【工具→日记→录制】录一次真实调用再填入 ExportGlb 函数体(模板已留接缝) + +## 8. 双发布管线(离线 + 在线,一次编辑两处发布) + +目标:**同一份数据,一次编辑,离线/在线同步发布,零二次编辑**。 + +``` + CSV + STEP + 配置 meta(唯一数据源) + ↓ Builder 打包 + .opc 数据包(唯一中间产物) + ↓ publish 流水线(扩展现有 publish.ps1) + ┌───────────┴─────────────┐ + 离线发布 在线发布 + ├─ 客户版 exe(数据内置) ├─ 解包 .opc 内容 + ├─ 发布 zip(官网下载) │ (catalog.json + step/ + docs/) + └─ 增量包 catalog.opc └─ 上传 Web 服务器静态目录 + ↓ + 网页选型应用(读同一份 catalog.json) +``` + +**一致性三保障**:① 格式同源——网页消费的 catalog.json 与离线包内部完全同一份;② 校验同源——两端用同一 PackageValidator;③ 版本同源——catalogVersion 统一,在线即时更新,离线客户走增量包;后续给客户版 exe 加"检查更新"(启动时读服务器 version.json 对比版本号提示升级),离线客户永不落后。 + +**网页版技术要点**:纯静态托管(云服务器/OSS/CDN)即可;一期做目录树+参数选型+尺寸图+下载(无 3D);二期 3D 预览需构建期把 STEP 预转 **glTF**(three.js 渲染);附加价值:搜索引擎收录获客、下载/选型统计、SEO。 + +**在线 MVP 已实现(2026-08-22,持续增强)**: +- `OnebotCatalog/web/` — 前端三件套(index.html / app.js / style.css,零依赖纯静态);规则引擎与离线版 C# 同语义;支持目录树/选型/尺寸图/参数表+范围筛选/搜索/双语/STEP 下载;URL 加 `?selftest=1` 页面底部显示断言结果 +- **网页版增强(2026-08-22)**:目录树/参数面板**拖拽调宽**(split1/split2 分隔条);STEP 下载**点击即时反馈 + 3 秒防连点**;尺寸图窗口显示**系列手册页**(kind=manual);3D iframe 带 `&menu=min` 精简菜单;品牌 ONEBOT;app.js 版本号 `?v=4` +- publish.ps1 第 5 步:解包 .opc + 复制前端 → `release/web_<版本>/`,**整目录上传到网站根目录即上线**(站点目录删除带重试) +- `OnebotCatalog/tools/serve-web.ps1` — 零依赖本地预览服务器(localhost:8080,**Runspace 池 16 并发**,大文件不阻塞下载,含防目录穿越 + /viewer/ 双根目录) + +## 9. 待办清单(按优先级,状态更新于 2026-08-22) + +| # | 待办 | 状态 | 依赖 | +|---|---|---|---| +| 1 | **真实数据接入**:真实系列参数表 + NX 母模导出 STEP → 套用 Builder 流程 | 🔄 目录数据已入库;**KC-00-32x10 真实数模已试点接入**(网页渲染/下载验证通过),待批量导出其余 1,308 个 | 用户 NX 母模批量导出 | +| 2 | **离线交付完善**:代码签名证书 + 官网 zip 下载流程 | ⏳ 未开始 | 证书需用户购买 | +| 3 | **虚拟机验收**:纯净 Win10/11 断网跑客户版 + CAD 核对 STEP | ⏳ 未开始 | 可随时做 | +| 4 | **在线 MVP**:网页选型(目录树+参数+尺寸图+下载,无 3D);publish.ps1 增加"解包上传"输出分支 | ✅ 完成(2026-08-22) | 待上传部署 | +| 5 | **检查更新**:客户版 exe 启动时读服务器 version.json 提示升级 | ⏳ 未开始 | 在线 MVP 之后 | +| 6 | **在线 3D 预览** | ✅ 完成 | 新迪 STEPViewer iframe 联动 + Canvas 回退 | +| 7 | **参数化**:**一期选型数据参数化**(2026-08-25 上线,进展 23)+ **二期 NX 按需生成服务**(服务器现算 STEP,CADENAS 模式;A 版:轻量自建队列 + run_journal 常驻 worker,单个+批量、输出留存不删、检索先行、多格式 STEP/Parasolid/IGES/STL) | ✅ 一期上线;**二期 A 版全链路打通(2026-08-28)**:批处理导出 0 solid 根因定位 + 独立翻译器正解 + worker 改造 + 后台 /admin 密码登录三 tab + 一键启动 + 网页状态圆球 + 生成后 3D 预览选格式下载 + 模型管理定时/手动清理;Parasolid/STL 已砍(只留 step/iges/prt)| **真母模**(建模工程师,唯一卡进度)+ NX 2512 实测 + 云部署 | +| 8 | **M4 可选扩展**:Teamcenter 集成 | ⏳ 未开始 | 仅客户明确需要 | +| 9 | **网页/桌面 3D 轻量化(预转换)**:NX 把 STEP 离线批量转轻量网格,预览读网格(快/稳),STEP 照旧下载 | ✅ **桌面窗口内部分完成(2026-08-23)**:开源 Helix Toolkit (MIT) 直渲 STL 网格,NX journal 同步导出 STL(进展 17);网页端轻量化(glTF)待做:`nx-batch-export-glb.vb` 模板已写 | 网页轻量化随 NX 母模批量导出一起做 | +| 10 | **网站集成/云部署**:目录网页版融入公司网站(onebot251231_n2PB6,React+Supabase)或腾讯云+宝塔部署;已出三方案(静态模块/网站后台/维护服务),等用户命令 | 📋 方案已分析待命令 | 需备案域名 + 服务器预算确认 | + +共 9 项待办,**完成 4/6,1 试点中**,剩 2/3/5/7/8/9。核心软件(M1-M3)已完成。 + +**2026-08-22 全天进展记录(按序)**: +1. 占位 STEP 全量重建(OCCT 拓扑+颜色)→ 自测 25/25 → 2026.08 三份产物发布(2026.06 旧产物已全删,脚本默认参数统一指向 2026.08) +2. **统一路线重构**:源目录 `OnebotCatalog\onebot-data\catalog\` = 唯一数据源;C# FullCatalogBuilder(维护窗口【重建全量目录】/ CLI --buildfull);向导编辑源目录 meta JSON(含 Display 显示名列);旧打包脚本废弃 +3. 尺寸图窗口**手册页对照**(38 页 2MB,kind=manual) +4. 新迪查看器 **menu=min 精简菜单 + 隐藏模型树**(本地副本;生产补丁文件备好) +5. 窗口拖拽:桌面版三分区 GridSplitter + 全部窗口可调/最小尺寸;网页版目录树/参数面板分隔条 +6. **真实数模试点**:KC-00-32x10 真实 NX STEP 接入全链路,无头浏览器验证渲染成功(自测兼容真实 B-rep) +7. STEP 下载反馈+防连点;serve-web 并发化(Runspace 池);publish 删除重试 +8. 品牌统一 ONEBOT +9. 注意:release 站点 app.js 里 `VIEWER_BASE` 目前是本地 `/viewer/` 前缀,**上传生产前需改成 `/STEPViewer/index.html`**(§12) + +**2026-08-23 进展记录(续)**: +10. **平替对照功能**:数据源 `catalog\crossref.csv`(brand,foreign_model,our_model,note;构建自动校验我方型号存在);桌面【平替对照】标签页+搜索直达(SearchEngine 挂 AltCodes,竞品型号精确命中 900 分)、网页同款标签页;佳尔灵英文目录自动提取工具 `onebot-data\tools\jelpc-crossref.py`(系列对照 SI↔KC/SIB↔KCB/SQ↔KCS/SC↔KS/SU↔KSU/SCT↔KSB/MAL/MALC 同名;完整订购码需逐系列解析订购码页) +11. **.stp 后缀兼容**:构建内核 ResolveStepFile(优先 .step,找不到同名 .stp),NX 导出的 .stp 直接放无需改名(已实测) +12. 桌面 3D 真实数模**自动弹浏览器预览**(本机微型服务器,静默失败降级);网页手册页标题只显序号、未选型不显示占位图 +13. 修复向导前导零 bug(踩坑 #18),KC meta 数据还原,自测恢复 25/25 +14. **产品种类扩充(空壳)**:catalog.json 新增 6 个分类——气动夹紧缸 CLM / 气动可伸缩定位销 PIN / 气动勾销缸 HOK / 气动夹爪缸 GRP / 气动翻转缸 ROT / 电动气缸 ELEC(中英名**参照官网 universal-onebot.com 与网站源码** `06_update_execution_categories.sql` + `translate-categories.sql`;series 暂为空,系列数据待 CSV+meta 按维护说明书场景 4 补充)→ 重建 25/25 自测 → 三份产物已发布 +15. **6 个分类各建样板系列**(型号取自网站产品数据,几何占位、参数极简,作为填数模板):UCBM/ULP/USP/UGP/UAGP/LAE(39 型号,占位 STEP 按型号命名——将来 NX 真实数模**同名替换**即可,CSV 都不用改)→ 17 系列 52,193 变体 → 自测 31/31 → 三份产物已发布 +16. **新系列 .stp 原生约定**(按用户 NX 导出习惯):6 个新系列的 step_file 列与占位文件统一为 `.stp`——NX 导出的 .stp 拷进 `catalog\step\` 同名覆盖即可,无后缀差异;老 11 个系列仍为 .step 列(.stp 自动兼容,但同前缀时 .step 优先,换 .stp 需先删 .step 占位) +17. **开源窗口内 3D(Helix Toolkit, MIT)**:桌面 3D 标签页接入 HelixViewport3D——选型后找 `<数据包目录>\mesh\.stl`,有网格就**窗口内直渲**(不再弹浏览器),无网格回退浏览器方案;管线:NX journal 同步导出 STL 到 `catalog\mesh\`(exportStl 开关,公差 0.5mm)→ publish 同步到 sample\mesh\ + 发布目录 mesh\;`gen-mesh-preview.py` 生成占位网格(40 个已就位);lib\ 放 HelixToolkit.Wpf.dll(2.27.3, net462)+HelixToolkit.dll,build/publish 自动附带(客户版 +580KB) +18. **STEP→STL 开源转换链路**(手头真实 STEP 不必等 NX):`step-to-stl.py`(cadquery/OCP,LGPL,1.5mm 公差,**二进制 STL**)批量把 `catalog\step\` 真实数模转 `catalog\mesh\`;`simplify-stl.py`(纯 numpy 顶点聚类 0.75mm)把 >2MB 网格压小——UCBM32 装配体 22MB→2.1MB、USP63 4.8MB→0.5MB;已转真实网格:UCBM32/USP63/KC-00-32x10 +19. **方案 B 落地:窗口内嵌 WebView2 3D(2026-08-24)**:lib\ 引入 Microsoft.Web.WebView2 三件套(1.0.4129.50, net462);MainWindow 3D 标签页四级优先级——**STL 网格(Helix) > WebView2 内嵌新迪查看器(真实 STEP 直显) > 外部浏览器回退 > 占位自绘**;WebView2 初始化失败静默降级(Win11 自带运行时, Win10 装 Edge 即有);真实数模不再弹浏览器窗口;发布目录附带三件套 DLL(开发提示词文档:`开发提示词-窗口内3D-WebView2方案B.md`) +20. **桌面/网页一致性 + 布局合并(2026-08-24,用户新规矩:桌面版功能与排版始终与在线版一致)**:两端 3D 与尺寸图合并为同一页(左 3D | 可拖拽分隔条 | 右 尺寸图+手册页);网页无头实测分隔条拖拽生效;37 个占位网格已删,保留 3 个真实网格(UCBM32/USP63/KC-00-32x10)作无 WebView2 环境降级;新 6 系列手册占位(manual\<系列>\p01.png + meta 附件,`gen-manual-placeholders.py` 纯标准库生成,真实手册到货同名覆盖) +21. **PDF 下载 + 精确视图定稿(2026-08-24)**:① 17 个系列手册页打包成 PDF(`manual-pages-to-pdf.py`,纯标准库 PNG 解码+手写 PDF)挂 datasheet 附件——网页【下载 PDF】按钮直接下载、桌面数据表标签新增【下载数据表 (PDF)】(SaveFileDialog),与 STEP 下载一致;② **真实数模直接进 WebView2 精确视图**(用户定稿,不做网格快显+按钮);显示链:占位→自绘 / 真实→WebView2 直显 / 无运行时→Helix 网格降级 / 都无→浏览器回退;③ 桌面参数表**双击行→参数带入选型**(与网页一致);④ 新迪查看器防闪烁补丁(body 首帧前应用 embed/menu-min 类,生产部署补丁文件已更新);⑤ crossref.csv 用户行 S0032-50 修正为 KCS0032-50 +22. **购物车批量导出(2026-08-24,淘宝式,两端一致)**:三处入口(参数面板【加入清单】/参数表行尾"+"与勾选批量加入/顶栏【清单 (N)】角标)→ 清单面板(桌面非模态窗口/网页右侧抽屉;数量可改仅体现于 BOM,zip 每型号一份)→ **一键打包** zip(全部 STEP+BOM.csv UTF-8 BOM+清单.txt,重名加系列码后缀);桌面 ZipArchive 零新依赖,网页 JSZip 3.10.1 (MIT, web\libs\) 前端内存打包纯静态;购物车生命周期=浏览器刷新/软件重启才清空,切系列/标签页/搜索/平替均不动购物车;原"参数表批量导出所选"改造为批量加入清单;无头 E2E 验证:两系列各加一件 → 角标 (2) 抽屉 2 条 0 报错;开发提示词:`开发提示词-批量导出购物车.md` +23. **参数化选型引擎一期(2026-08-25,两端一致,KC 试点)**:meta.json 扩展 `mode=parametric` + `modelCodeTemplate`(语法 `{field[:padN]}`)+ range 参数域(min/max/step/gridValues);CSV 降级为"标准档位网格",非标组合由引擎实时生成编码(无 STEP);**对拍门禁**(构建期强制:KC 全部 2,628 编码模板重生成 100% 一致);**双端一致性** = 一份规则 JSON + C#/JS 各一解释器 + 同一份测试向量 `catalog\parametric-vectors.json`(随 .opc 发布,桌面 selftest 36/36 含向量 7/7 + 网页无头 e2e-parametric.js 16/16);非标档位行为:标题徽标 + 下载按钮置灰(统一文案)+ 3D 展示最近标准档位(按域距离,平局取小)+ 购物车条目标注"非标档位(打包时无 STEP)"、zip 打包跳过并注明;range 参数 UI = 桌面可编辑下拉(标准档位标"标准")/ 网页输入框+datalist;非法输入红字提示不生效;开发提示词:`开发提示词-参数化选型引擎.md`、二期:`开发提示词-NX按需生成服务.md`(A 版已含 单个+批量/输出留存/检索先行/多格式) +24. **NX 按需生成服务二期 A 版(2026-08-25,开发+本地联调完成,待 NX 实测/部署)**:`bin\GenServer.exe`(独立控制台 exe,tools\build-genserver.ps1 单独编译,复用 CatalogCore 规则引擎做服务端二次校验——红线)+ `sample-data\tools\worker_journal.vb`(run_journal 常驻轮询,母模副本绝不保存、批量单会话顺序处理、逐项 .prog 进度);**检索先行**(入队前+认领后双重检索,输出目录 `output\<系列>\<型号>\` 留存不删,全格式齐全即命中复用);**多格式** STEP(214)/Parasolid/IGES/STL(DexBuilder+StlManager,与 nx-batch-export.vb 同源);**单个+批量**(/gen、/gen-batch、/status、/file、/files、/download,token 一次性+限流+CORS+匿名模式);两端接入:网页 config.js api(空=置灰过渡态)+ 桌面 catalog.json genApi;购物车含非标时打包前自动批量生成(型号子文件夹);本地联调全过(状态机/检索/批量/zip/token;网页 e2e-gen.js 8/8:按钮升级/立即命中/排队轮询/标准回归);**待用户**:masters.json 表达式名确认、KC 母模就位、NX run_journal 实测、IGES/Parasolid 枚举名按版本核对、云部署指令 +25. **NX 2506 批处理攻坚(2026-08-26 凌晨,接续见 `OnebotCatalog\开发记录-NX2506批处理攻坚.md`)**:本机确认 **NX 2506 已装**(`C:\Program Files\Siemens\NX2506\NXBIN\run_journal.exe`);全部 API 通过反射探针实测适配(probe-api1~6.vb):OpenBaseDisplay(批处理 OpenBase 后 Work=NULL)、CloseAll 两参数、CreateExpression("Number","名=值")、UF EditExp 只改已存在、ufs.Modl.Update()、Session.DexManager 各格式独立 Creator(StepCreator/IgesCreator/ParasolidExporter/STLCreator)、SaveAs 两参数、journal 无 JSON 库(任务文件改行式键值,GenServer 烘焙母模配置);worker 编译运行全管线通过(心跳/认领/改表达式/写结果);**新增 PRT 格式**(用户需求:SaveAs 输出 NX 原生参数化部件)+ 格式下拉两端齐;**卡点**:批处理模式翻译器导出全部空几何(STEP/IGES 空文件、Parasolid "no valid export objects"、STL 不产出;已排除中文路径/只读/引用集/几何来源)——交互式导出正常;**明天方案**:用户交互式 NX 录制导出宏修正 worker 导出函数(首选),或真母模直接实测(可能直接成功);**教训**:停 worker 时按时间条件批量杀 ugraf 误杀了用户交互会话,今后停进程必须精确 PID;用户新需求待做:生成后先 3D 预览再选格式下载(GenServer 加 /preview 端点) + +## 10. 重要踩坑记录(2026-08-22,修复都带回归自测) + +| # | 坑 | 根因与修复 | 影响面 | +|---|---|---|---| +| 1 | **选型选项一选就被清空**("已选 0/5,无法选择") | `AllowedOptions` 跳过了"已选参数"的键,UI 刷新拿空列表把刚选的值删掉(M1 就潜伏,样例期未暴露) | 桌面+网页 | +| 2 | **选完型号后参数锁死** | 修复#1 后,已选参数的可选值被"自己的当前值"锁死 → 改为"除自身外的其他已选"约束计算可改值 | 桌面+网页 | +| 3 | **网页磁石/固定形式点不了** | 空字符串 ""(无磁石/基本型)是合法枚举值,`