new qr code version which forgives scanning wrong codes
used noRuleFiredYet condition instead of large composed condition.