@a0: 123; @a1: foo; @a2: ~“.foo”; @a4: ~“#foo”;

.@{a0} {

a: 0;

}

.@{a1} {

a: 1;

}

@{a2} {

a: 2;

}

#@{a1} {

a: 3;

}

@{a4} {

a: 4;

}

mi-test-a {

.123;
.foo;
#foo;

}

.b .bb {

&.@{a1}-xxx .yyy-@{a1}@{a4} {
    & @{a2}.bbb {
        b: 1;
    }
}

}

mi-test-b {

.b.bb.foo-xxx.yyy-foo#foo.foo.bbb;

}

@c1: @a1; @c2: bar; @c3: baz;

#@{c1}-foo {

> .@{c2} {
    .@{c3} {
        c: c;
    }
}

}

mi-test-c {

&-1 {#foo-foo;}
&-2 {#foo-foo > .bar;}
&-3 {#foo-foo > .bar.baz;}

}

.Person(@name, @gender_) {

.@{name} {
    @gender: @gender_;
    .sayGender() {
        gender: @gender;
    }
}

}

mi-test-d {

.Person(person, "Male");
.person.sayGender();

}