// ***************************************************************************
// *
// *   Copyright (C) 2004, International Business Machines
// *   Corporation and others.  All Rights Reserved.
// *
// ***************************************************************************
//
// Created by Roozbeh Pournader <roozbeh@sharif.edu> and Michael Everson <everson@evertype.com>

ps {
    Version { "1.0" }
    // This is a unified sort with uz_AF, fa_AF and ps.
    collations {
      standard { 
        Version { "1.0" }
        Sequence { "[normalization on]"
           "&\u064e<<\u0650<<\u064f<<\u064b<<\u064d<<\u064c"
           "&\u0622<\u0627<<\u0623<<\u0672<<\u0671<<\u0625<<\u0673<\u0621"
           "&\u062a<\u067c<<\u0679"
           "&\u062c<\u0681<<\u062d\u0654"
           "&\u0686<\u0685"
           "&\u062f<\u0689<<\u0688"
           "&\u0631<\u0693<<\u0691"
           "&\u0698<\u0696"
           "&\u06a9<<\u06aa<<\u0643"
           "&\u06ab<<\u06af"
           "&\u06bc<<\u06bb"
           "&\u0648<<\u0624<<\u06c7<<\u06c9"
           "&\u0647<<<\u06c0<<<\u0647\u0654<<\u06d5<<\u06c1<<\u06be<<\u0629<<\u06c3"
           "&\u06cc<<\u0649<<\u06d2<<\u064a<<\u06d0<<\u06cd<<\u06cc\u0654<<<\u0649\u0654<<<\u0626"
           "&'\u00a0'<<'\u200c'<<'\u200d'"  // This is NBSP << ZWNJ << ZWJ
         }
      }
    }
}
