We covered the logic of split routing — now the ready config I put into the client's subscription. Russia direct, blocked through the node, ads into block, rule order verified. Plus how to deliver this to the app, because assembling the right config isn't enough — it still has to reach the client.
These are the routing + outbounds sections for a client-side Xray config (the xray-json format the panel serves in the subscription). Inserted as is; the client will substitute the proxy outbound (your VLESS) from the subscription itself. Rule order is top to bottom, first match wins (we covered the mechanics in the theory).