// ***************************************************************************
// *
// *   Copyright (C) 1997-2004, International Business Machines
// *   Corporation and others.  All Rights Reserved.
// *
// ***************************************************************************

sv {
    Version{ "2.0" }
    collations {
        standard { 
            Version { "2.0" }
            Sequence {
                "&D<<\u0111<<<\u0110<<\u00F0<<<\u00D0"
                "&t<<<\u00FE/h"
                "&T<<<\u00DE/H"
                "&v<<<w"
                "&V<<<W"
                "&Y<<u\u0308<<<U\u0308<<u\u030B<<<U\u030B"
                "&[before 1]\u0292<\u00E5<<<\u00C5<\u00E4<<<\u00C4<<\u00E6<<<\u00C6<<e\u0328<<<E\u0328"
                "<\u00F6<<<\u00D6<<\u00F8<<<\u00D8<<\u0151<<<\u0150<<\u0153<<<\u0152<<\u00F4<<<\u00D4"
            }
        }
    }
}

