use std::sync::Arc;
use once_cell::sync::Lazy;
use resvg::{
tiny_skia::{Pixmap, Transform},
usvg::{self},
};
use resvg::usvg::fontdb;
const FAIL_IMAGE: &str = r"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADIAAAAyCAYAAAAeP4ixAAAAAXN
SR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAHjSURBVGhD7Zg/MgRBFMaHQCoRSDgACTEBmcw
FhE7AAZRbUKXKGZAIVEmIOQAJAYFEiiq+b992VVfXm+meP93b6F/Vr/bt7uvZ+banZ2a3KhQKjUyNH4dgDq5LGcwNfJMyHzbgd0s
5ZhCmx4+/nhIkN3yLfREeSqlyC0+krObhlpTBXMJXKatduCalygF8krI9K1BbpMZTOBTclvYZRu5LLf/m0OK3cCelyj08k7I327D
pW1+F/LxO+A6tlP6PQ6sEyY0SJDdKEIWP8WMbuoxRGSrIBVyGj6NnYbB3CZ6PnkUm5ILIHZmBZAE+QK3Plj3sJRzLbWh9ttEviLx
7/ZSyeoabsGlm+B572Es49kXKeITeohxD+76tbmbsmSAccwTdPs3GGfERGoT6wvQJQZMFoXVheDi5IdirbaPOpEGoFoa/NA1tZ8K
YPAh1wxi6zIRxIkGo9lufr2m9IU4kiLuwDWbNaGN8Jg+inZ3cNdMlTNIgWgiuCe0E0DZMsiBaCPvs1DdMkiB1M+H29QkTPYhvJly
7hokeZB8afCGMbpg9qPXZRg/yBXdgaAijCcOx3IbWYxs9COWOXDmvhcgxISFokiApbAxS/nzIjRIkN/5MEPuipDEL+Y9HDlzDdyk
LhUI7quoHAQ0s0rJCwQoAAAAASUVORK5CYII=";
static GLOBAL_FONTDB: Lazy<Arc<fontdb::Database>> = Lazy::new(|| {
let mut fontdb = fontdb::Database::new();
fontdb.set_serif_family("Noto Serif");
fontdb.set_sans_serif_family("Noto Sans");
fontdb.set_cursive_family(r"Yellowtail");
fontdb.set_fantasy_family(r"Sedgwick Ave Display");
fontdb.set_monospace_family("Noto Mono");
Arc::new(fontdb)
});
pub fn render(svg: String) -> String {
let mut opt = usvg::Options::default();
opt.fontdb = GLOBAL_FONTDB.clone();
let tree = {
match usvg::Tree::from_str(svg.as_str(), &opt) {
Ok(tree) => tree,
Err(_) => return FAIL_IMAGE.to_string(),
}
};
let size = match tree
.size()
.to_int_size()
.scale_to_width(600)
{
Some(size) => size,
None => return FAIL_IMAGE.to_string(),
};
let transform = Transform::from_scale(size.width() as f32 / tree.size().width(),
size.height() as f32 / tree.size().height(), );
let mut pixmap = match Pixmap::new(600, 325) {
Some(pixmap) => pixmap,
_ => return FAIL_IMAGE.to_string(),
};
resvg::render(&tree, transform, &mut pixmap.as_mut());
pixmap.save_png("tests.png").unwrap();
let data = match pixmap.encode_png() {
Ok(data) => data,
_ => return FAIL_IMAGE.to_string(),
};
let engine = base64::engine::general_purpose::STANDARD;
let bas64_string = base64::Engine::encode(&engine, data);
let bas64_png = format!("data:image/png;base64,{}", bas64_string);
bas64_png
}
mod tests {
use crate::resvg::render;
#[test]
fn it_works() {
render(String::from(r#"<svg id='图层_1' data-name='图层 1' xmlns='http://www.w3.org/2000/svg'>
<rect class='cls-l10' x='0.25' y='59.25' width='12.39' height='12.49' fill='red'/>
<path d='M12.39,63.5v12H.5v-12H12.39m.5-.5H0V76H12.89V63Z' transform='translate(0 -4)'/>
<rect class='cls-l00' x='0.25' y='44.96' width='12.39' height='12.49' fill='red'/>
<path d='M12.39,49.21v12H.5v-12H12.39m.5-.5H0v13H12.89v-13Z' transform='translate(0 -4)'/>
<rect class='cls-l20' x='0.25' y='73.54' width='12.39' height='12.49' fill='red'/>
<path d='M12.39,77.79v12H.5v-12H12.39m.5-.5H0v13H12.89v-13Z' transform='translate(0 -4)'/>
<rect class='cls-l01' x='14.43' y='44.96' width='12.39' height='12.49' fill='red'/>
<path d='M26.57,49.21v12H14.68v-12H26.57m.5-.5H14.18v13H27.07v-13Z' transform='translate(0 -4)'/>
<rect class='cls-l11' x='14.43' y='59.25' width='12.39' height='12.49' fill='red'/>
<path d='M26.57,63.5v12H14.68v-12H26.57m.5-.5H14.18V76H27.07V63Z' transform='translate(0 -4)'/>
<rect class='cls-l21' x='14.43' y='73.54' width='12.39' height='12.49' fill='red'/>
<path d='M26.57,77.79v12H14.68v-12H26.57m.5-.5H14.18v13H27.07v-13Z' transform='translate(0 -4)'/>
<rect class='cls-l02' x='28.61' y='44.96' width='12.39' height='12.49' fill='red'/>
<path d='M40.75,49.21v12H28.86v-12H40.75m.5-.5H28.36v13H41.25v-13Z' transform='translate(0 -4)'/>
<rect class='cls-l12' x='28.61' y='59.25' width='12.39' height='12.49' fill='red'/>
<path d='M40.75,63.5v12H28.86v-12H40.75m.5-.5H28.36V76H41.25V63Z' transform='translate(0 -4)'/>
<rect class='cls-l22' x='28.61' y='73.54' width='12.39' height='12.49' fill='red'/>
<path d='M40.75,77.79v12H28.86v-12H40.75m.5-.5H28.36v13H41.25v-13Z' transform='translate(0 -4)'/>
<rect class='cls-1' x='44.58' y='59.25' width='12.39' height='12.49' fill='blue'/>
<path d='M56.72,63.5v12H44.83v-12H56.72m.5-.5H44.33V76H57.22V63Z' transform='translate(0 -4)'/>
<rect class='cls-1' x='44.58' y='44.96' width='12.39' height='12.49' fill='blue'/>
<path d='M56.72,49.21v12H44.83v-12H56.72m.5-.5H44.33v13H57.22v-13Z' transform='translate(0 -4)'/>
<rect class='cls-1' x='44.58' y='73.54' width='12.39' height='12.49' fill='blue'/>
<path d='M56.72,77.79v12H44.83v-12H56.72m.5-.5H44.33v13H57.22v-13Z' transform='translate(0 -4)'/>
<rect class='cls-1' x='58.76' y='44.96' width='12.39' height='12.49' fill='blue'/>
<path d='M70.9,49.21v12H59v-12H70.9m.5-.5H58.51v13H71.4v-13Z' transform='translate(0 -4)'/>
<rect class='cls-1' x='58.76' y='59.25' width='12.39' height='12.49' fill='blue'/>
<path d='M70.9,63.5v12H59v-12H70.9m.5-.5H58.51V76H71.4V63Z' transform='translate(0 -4)'/>
<rect class='cls-1' x='58.76' y='73.54' width='12.39' height='12.49' fill='blue'/>
<path d='M70.9,77.79v12H59v-12H70.9m.5-.5H58.51v13H71.4v-13Z' transform='translate(0 -4)'/>
<rect class='cls-1' x='72.94' y='44.96' width='12.39' height='12.49' fill='blue'/>
<path d='M85.08,49.21v12H73.19v-12H85.08m.5-.5H72.69v13H85.58v-13Z' transform='translate(0 -4)'/>
<rect class='cls-1' x='72.94' y='59.25' width='12.39' height='12.49' fill='blue'/>
<path d='M85.08,63.5v12H73.19v-12H85.08m.5-.5H72.69V76H85.58V63Z' transform='translate(0 -4)'/>
<rect class='cls-1' x='72.94' y='73.54' width='12.39' height='12.49' fill='blue'/>
<path d='M85.08,77.79v12H73.19v-12H85.08m.5-.5H72.69v13H85.58v-13Z' transform='translate(0 -4)'/>
<rect class='cls-1' x='44.58' y='14.54' width='12.39' height='12.49' fill='yellow'/>
<path d='M56.72,18.79v12H44.83v-12H56.72m.5-.5H44.33v13H57.22v-13Z' transform='translate(0 -4)'/>
<rect class='cls-1' x='44.58' y='0.25' width='12.39' height='12.49' fill='yellow'/>
<path d='M56.72,4.5v12H44.83V4.5H56.72m.5-.5H44.33V17H57.22V4Z' transform='translate(0 -4)'/>
<rect class='cls-1' x='44.58' y='28.83' width='12.39' height='12.49' fill='yellow'/>
<path d='M56.72,33.08v12H44.83v-12H56.72m.5-.5H44.33v13H57.22v-13Z' transform='translate(0 -4)'/>
<rect class='cls-1' x='58.76' y='0.25' width='12.39' height='12.49' fill='yellow'/>
<path d='M70.9,4.5v12H59V4.5H70.9m.5-.5H58.51V17H71.4V4Z' transform='translate(0 -4)'/>
<rect class='cls-1' x='58.76' y='14.54' width='12.39' height='12.49' fill='yellow'/>
<path d='M70.9,18.79v12H59v-12H70.9m.5-.5H58.51v13H71.4v-13Z' transform='translate(0 -4)'/>
<rect class='cls-1' x='58.76' y='28.83' width='12.39' height='12.49' fill='yellow'/>
<path d='M70.9,33.08v12H59v-12H70.9m.5-.5H58.51v13H71.4v-13Z' transform='translate(0 -4)'/>
<rect class='cls-1' x='72.94' y='0.25' width='12.39' height='12.49' fill='yellow'/>
<path d='M85.08,4.5v12H73.19V4.5H85.08m.5-.5H72.69V17H85.58V4Z' transform='translate(0 -4)'/>
<rect class='cls-1' x='72.94' y='14.54' width='12.39' height='12.49' fill='yellow'/>
<path d='M85.08,18.79v12H73.19v-12H85.08m.5-.5H72.69v13H85.58v-13Z' transform='translate(0 -4)'/>
<rect class='cls-1' x='72.94' y='28.83' width='12.39' height='12.49' fill='yellow'/>
<path d='M85.08,33.08v12H73.19v-12H85.08m.5-.5H72.69v13H85.58v-13Z' transform='translate(0 -4)'/>
<rect class='cls-1' x='44.58' y='103.97' width='12.39' height='12.49' fill='orange'/>
<path d='M56.72,108.22v12H44.83v-12H56.72m.5-.5H44.33v13H57.22v-13Z' transform='translate(0 -4)'/>
<rect class='cls-1' x='44.58' y='89.68' width='12.39' height='12.49' fill='orange'/>
<path d='M56.72,93.93v12H44.83v-12H56.72m.5-.5H44.33v13H57.22v-13Z' transform='translate(0 -4)'/>
<rect class='cls-1' x='44.58' y='118.26' width='12.39' height='12.49' fill='orange'/>
<path d='M56.72,122.51v12H44.83v-12H56.72m.5-.5H44.33v13H57.22V122Z' transform='translate(0 -4)'/>
<rect class='cls-1' x='58.76' y='89.68' width='12.39' height='12.49' fill='orange'/>
<path d='M70.9,93.93v12H59v-12H70.9m.5-.5H58.51v13H71.4v-13Z' transform='translate(0 -4)'/>
<rect class='cls-1' x='58.76' y='103.97' width='12.39' height='12.49' fill='orange'/>
<path d='M70.9,108.22v12H59v-12H70.9m.5-.5H58.51v13H71.4v-13Z' transform='translate(0 -4)'/>
<rect class='cls-1' x='58.76' y='118.26' width='12.39' height='12.49' fill='orange'/>
<path d='M70.9,122.51v12H59v-12H70.9m.5-.5H58.51v13H71.4V122Z' transform='translate(0 -4)'/>
<rect class='cls-1' x='72.94' y='89.68' width='12.39' height='12.49' fill='orange'/>
<path d='M85.08,93.93v12H73.19v-12H85.08m.5-.5H72.69v13H85.58v-13Z' transform='translate(0 -4)'/>
<rect class='cls-1' x='72.94' y='103.97' width='12.39' height='12.49' fill='orange'/>
<path d='M85.08,108.22v12H73.19v-12H85.08m.5-.5H72.69v13H85.58v-13Z' transform='translate(0 -4)'/>
<rect class='cls-1' x='72.94' y='118.26' width='12.39' height='12.49' fill='orange'/>
<path d='M85.08,122.51v12H73.19v-12H85.08m.5-.5H72.69v13H85.58V122Z' transform='translate(0 -4)'/>
<rect class='cls-r00' x='89.82' y='44.96' width='12.39' height='12.49' fill='green'/>
<path d='M102,49.21v12H90.07v-12H102m.5-.5H89.57v13h12.89v-13Z' transform='translate(0 -4)'/>
<rect class='cls-r10' x='89.82' y='59.25' width='12.39' height='12.49' fill='green'/>
<path d='M102,63.5v12H90.07v-12H102m.5-.5H89.57V76h12.89V63Z' transform='translate(0 -4)'/>
<rect class='cls-r20' x='89.82' y='73.54' width='12.39' height='12.49' fill='green'/>
<path d='M102,77.79v12H90.07v-12H102m.5-.5H89.57v13h12.89v-13Z' transform='translate(0 -4)'/>
<rect class='cls-r01' x='104' y='44.96' width='12.39' height='12.49' fill='green'/>
<path d='M116.14,49.21v12H104.25v-12h11.89m.5-.5H103.75v13h12.89v-13Z' transform='translate(0 -4)'/>
<rect class='cls-r11' x='104' y='59.25' width='12.39' height='12.49' fill='green'/>
<path d='M116.14,63.5v12H104.25v-12h11.89m.5-.5H103.75V76h12.89V63Z' transform='translate(0 -4)'/>
<rect class='cls-r21' x='104' y='73.54' width='12.39' height='12.49' fill='green'/>
<path d='M116.14,77.79v12H104.25v-12h11.89m.5-.5H103.75v13h12.89v-13Z' transform='translate(0 -4)'/>
<rect class='cls-r02' x='118.18' y='44.96' width='12.39' height='12.49' fill='green'/>
<path d='M130.32,49.21v12H118.43v-12h11.89m.5-.5H117.93v13h12.89v-13Z' transform='translate(0 -4)'/>
<rect class='cls-r12' x='118.18' y='59.25' width='12.39' height='12.49' fill='green'/>
<path d='M130.32,63.5v12H118.43v-12h11.89m.5-.5H117.93V76h12.89V63Z' transform='translate(0 -4)'/>
<rect class='cls-r22' x='118.18' y='73.54' width='12.39' height='12.49' fill='green'/>
<path d='M130.32,77.79v12H118.43v-12h11.89m.5-.5H117.93v13h12.89v-13Z' transform='translate(0 -4)'/>
<rect class='cls-1' x='134.15' y='59.25' width='12.39' height='12.49' fill='white'/>
<path d='M146.29,63.5v12H134.4v-12h11.89m.5-.5H133.9V76h12.89V63Z' transform='translate(0 -4)'/>
<rect class='cls-1' x='134.15' y='44.96' width='12.39' height='12.49' fill='white'/>
<path d='M146.29,49.21v12H134.4v-12h11.89m.5-.5H133.9v13h12.89v-13Z' transform='translate(0 -4)'/>
<rect class='cls-1' x='134.15' y='73.54' width='12.39' height='12.49' fill='white'/>
<path d='M146.29,77.79v12H134.4v-12h11.89m.5-.5H133.9v13h12.89v-13Z' transform='translate(0 -4)'/>
<rect class='cls-1' x='148.33' y='44.96' width='12.39' height='12.49' fill='white'/>
<path d='M160.47,49.21v12H148.58v-12h11.89m.5-.5H148.08v13H161v-13Z' transform='translate(0 -4)'/>
<rect class='cls-1' x='148.33' y='59.25' width='12.39' height='12.49' fill='white'/>
<path d='M160.47,63.5v12H148.58v-12h11.89m.5-.5H148.08V76H161V63Z' transform='translate(0 -4)'/>
<rect class='cls-1' x='148.33' y='73.54' width='12.39' height='12.49' fill='white'/>
<path d='M160.47,77.79v12H148.58v-12h11.89m.5-.5H148.08v13H161v-13Z' transform='translate(0 -4)'/>
<rect class='cls-1' x='162.51' y='44.96' width='12.39' height='12.49' fill='white'/>
<path d='M174.65,49.21v12H162.76v-12h11.89m.5-.5H162.26v13h12.89v-13Z' transform='translate(0 -4)'/>
<rect class='cls-1' x='162.51' y='59.25' width='12.39' height='12.49' fill='white'/>
<path d='M174.65,63.5v12H162.76v-12h11.89m.5-.5H162.26V76h12.89V63Z' transform='translate(0 -4)'/>
<rect class='cls-1' x='162.51' y='73.54' width='12.39' height='12.49' fill='white'/>
<path d='M174.65,77.79v12H162.76v-12h11.89m.5-.5H162.26v13h12.89v-13Z' transform='translate(0 -4)'/>
<rect class='cls-1' x='178.15' y='58.25' width='12.39' height='12.49' fill='red'/>
<path d='M190.29,62.5v12H178.4v-12h11.89m.5-.5H177.9V75h12.89V62Z' transform='translate(0 -4)'/>
<rect class='cls-1' x='178.15' y='43.96' width='12.39' height='12.49' fill='red'/>
<path d='M190.29,48.21v12H178.4v-12h11.89m.5-.5H177.9v13h12.89v-13Z' transform='translate(0 -4)'/>
<rect class='cls-1' x='178.15' y='72.54' width='12.39' height='12.49' fill='red'/>
<path d='M190.29,76.79v12H178.4v-12h11.89m.5-.5H177.9v13h12.89v-13Z' transform='translate(0 -4)'/>
<rect class='cls-1' x='192.33' y='43.96' width='12.39' height='12.49' fill='red'/>
<path d='M204.47,48.21v12H192.58v-12h11.89m.5-.5H192.08v13H205v-13Z' transform='translate(0 -4)'/>
<rect class='cls-1' x='192.33' y='58.25' width='12.39' height='12.49' fill='red'/>
<path d='M204.47,62.5v12H192.58v-12h11.89m.5-.5H192.08V75H205V62Z' transform='translate(0 -4)'/>
<rect class='cls-1' x='192.33' y='72.54' width='12.39' height='12.49' fill='red'/>
<path d='M204.47,76.79v12H192.58v-12h11.89m.5-.5H192.08v13H205v-13Z' transform='translate(0 -4)'/>
<rect class='cls-1' x='206.51' y='43.96' width='12.39' height='12.49' fill='red'/>
<path d='M218.65,48.21v12H206.76v-12h11.89m.5-.5H206.26v13h12.89v-13Z' transform='translate(0 -4)'/>
<rect class='cls-1' x='206.51' y='58.25' width='12.39' height='12.49' fill='red'/>
<path d='M218.65,62.5v12H206.76v-12h11.89m.5-.5H206.26V75h12.89V62Z' transform='translate(0 -4)'/>
<rect class='cls-1' x='206.51' y='72.54' width='12.39' height='12.49' fill='red'/>
<path d='M218.65,76.79v12H206.76v-12h11.89m.5-.5H206.26v13h12.89v-13Z' transform='translate(0 -4)'/>
<polygon class='cls-1' points='187.22 33.23 194.14 25.62 206.23 25.62 199.31 33.23 187.22 33.23' fill='green'/>
<path d='M205.67,29.87,199.2,37H187.79l6.46-7.11h11.42m1.13-.5H194l-7.37,8.11h12.77l7.37-8.11Z'
transform='translate(0 -4)'/>
<polygon class='cls-1' points='195.33 24.3 202.25 16.68 214.34 16.68 207.43 24.3 195.33 24.3' fill='green'/>
<path d='M202.36,20.93h11.42l-6.47,7.12H195.9l6.46-7.12m-.22-.5-7.37,8.12h12.77l7.37-8.12Z'
transform='translate(0 -4)'/>
<polygon class='cls-1' points='179.11 42.17 186.03 34.55 198.12 34.55 191.21 42.17 179.11 42.17' fill='green'/>
<path d='M197.56,38.8l-6.47,7.12H179.68l6.46-7.12h11.42m1.13-.5H185.92l-7.37,8.12h12.77l7.37-8.12Z'
transform='translate(0 -4)'/>
<polygon class='cls-1' points='209.38 24.3 216.29 16.68 228.39 16.68 221.47 24.3 209.38 24.3' fill='green'/>
<path d='M227.82,20.93l-6.46,7.12H209.94l6.47-7.12h11.41m1.13-.5H216.18l-7.37,8.12h12.77L229,20.43Z'
transform='translate(0 -4)'/>
<polygon class='cls-1' points='201.27 33.23 208.19 25.62 220.28 25.62 213.36 33.23 201.27 33.23' fill='green'/>
<path d='M219.71,29.87,213.25,37H201.83l6.47-7.11h11.41m1.13-.5H208.07l-7.37,8.11h12.77l7.37-8.11Z'
transform='translate(0 -4)'/>
<polygon class='cls-1' points='193.16 42.17 200.08 34.55 212.17 34.55 205.25 42.17 193.16 42.17' fill='green'/>
<path d='M211.61,38.8l-6.47,7.12H193.72l6.47-7.12h11.42m1.12-.5H200l-7.38,8.12h12.77l7.37-8.12Z'
transform='translate(0 -4)'/>
<polygon class='cls-1' points='223.42 24.3 230.34 16.68 242.44 16.68 235.52 24.3 223.42 24.3' fill='green'/>
<path d='M241.87,20.93l-6.46,7.12H224l6.46-7.12h11.42m1.13-.5H230.23l-7.37,8.12h12.77L243,20.43Z'
transform='translate(0 -4)'/>
<polygon class='cls-1' points='215.31 33.23 222.23 25.62 234.33 25.62 227.41 33.23 215.31 33.23' fill='green'/>
<path d='M222.34,29.87h11.42L227.3,37H215.88l6.46-7.11m-.22-.5-7.37,8.11h12.77l7.37-8.11Z'
transform='translate(0 -4)'/>
<polygon class='cls-1' points='207.2 42.17 214.12 34.55 226.22 34.55 219.3 42.17 207.2 42.17' fill='green'/>
<path d='M225.65,38.8l-6.46,7.12H207.77l6.46-7.12h11.42m1.13-.5H214l-7.37,8.12h12.77l7.37-8.12Z'
transform='translate(0 -4)'/>
<polygon class='cls-r00' points='220.69 44.04 227.24 36.24 227.24 48.38 220.69 56.18 220.69 44.04' fill='orange'/>
<path d='M227,40.93V52.29l-6.05,7.21V48.13l6.05-7.2m.5-1.37L220.44,48V60.87l7.05-8.4V39.56Z'
transform='translate(0 -4)'/>
<polygon class='cls-r01' points='228.45 34.81 235 27.01 235 39.15 228.45 46.95 228.45 34.81' fill='orange'/>
<path d='M234.75,31.69V43.05l-6.05,7.21V38.9l6.05-7.21m.5-1.37-7.05,8.4V51.63l7.05-8.39V30.32Z'
transform='translate(0 -4)'/>
<polygon class='cls-r02' points='236.2 25.57 242.75 17.77 242.75 29.91 236.2 37.71 236.2 25.57' fill='orange'/>
<path d='M242.5,22.46V33.82L236.45,41V29.66l6.05-7.2m.5-1.38L236,29.48V42.4L243,34V21.08Z'
transform='translate(0 -4)'/>
<polygon class='cls-r10' points='220.69 58.25 227.24 50.45 227.24 62.59 220.69 70.39 220.69 58.25' fill='orange'/>
<path d='M227,55.14V66.5l-6.05,7.2V62.34l6.05-7.2m.5-1.38-7.05,8.4V75.08l7.05-8.4V53.76Z'
transform='translate(0 -4)'/>
<polygon class='cls-r11' points='228.45 49.02 235 41.22 235 53.35 228.45 61.15 228.45 49.02' fill='orange'/>
<path d='M234.75,45.9V57.26l-6.05,7.21V53.11l6.05-7.21m.5-1.37-7.05,8.39V65.84l7.05-8.4V44.53Z'
transform='translate(0 -4)'/>
<polygon class='cls-r12' points='236.2 39.78 242.75 31.98 242.75 44.12 236.2 51.92 236.2 39.78' fill='orange'/>
<path d='M242.5,36.67V48l-6.05,7.2V43.87l6.05-7.2m.5-1.38L236,43.69V56.61l7.05-8.4V35.29Z'
transform='translate(0 -4)'/>
<polygon class='cls-r20' points='220.69 72.46 227.24 64.66 227.24 76.8 220.69 84.6 220.69 72.46' fill='orange'/>
<path d='M227,69.35V80.71l-6.05,7.2V76.55l6.05-7.2m.5-1.38-7.05,8.4V89.29l7.05-8.4V68Z'
transform='translate(0 -4)'/>
<polygon class='cls-r21' points='228.45 63.22 235 55.42 235 67.56 228.45 75.36 228.45 63.22' fill='orange'/>
<path d='M234.75,60.11V71.47l-6.05,7.21V67.31l6.05-7.2m.5-1.37-7.05,8.39V80.05l7.05-8.4V58.74Z'
transform='translate(0 -4)'/>
<polygon class='cls-r22' points='236.2 53.99 242.75 46.19 242.75 58.33 236.2 66.13 236.2 53.99' fill='orange'/>
<path d='M242.5,50.87V62.24l-6.05,7.2V58.08l6.05-7.21m.5-1.37L236,57.9V70.81L243,62.42V49.5Z'
transform='translate(0 -4)'/>
</svg>
"#));
assert_eq!(true, true);
}
}