public boolean Eq_wo_bmk_pos(Xog_history_itm comp) {
   return Bry_.Eq(wiki, comp.wiki)
       && Bry_.Eq(page, comp.page)
       && Bry_.Eq(anch, comp.anch)
       && Bry_.Eq(qarg, comp.qarg)
       && redirect_force == comp.redirect_force;
 }
 public void Srl_save(Bry_bfr bfr) {
   byte[] bmk_bry =
       Bry_.Replace(
           Bry_.new_u8(bmk_pos),
           Byte_ascii.Pipe,
           Byte_ascii.Tilde); // replace | with ~; EX: "0|1|2" -> "0~1~2"
   bfr.Add(key).Add_byte_pipe().Add(bmk_bry).Add_byte_nl();
 }
 public static Xog_history_itm Srl_load(byte[] raw) {
   byte[][] atrs = Bry_split_.Split(raw, Byte_ascii.Pipe);
   byte[] bmk_bry = atrs.length == 6 ? atrs[5] : Bry_.Empty;
   bmk_bry = Bry_.Replace(bmk_bry, Byte_ascii.Tilde, Byte_ascii.Pipe);
   return new Xog_history_itm(
       atrs[0], atrs[1], atrs[2], atrs[3], atrs[4] == Bool_.Y_bry, String_.new_a7(bmk_bry));
 }
 public Xog_history_itm(
     byte[] wiki, byte[] page, byte[] anch, byte[] qarg, boolean redirect_force, String bmk_pos) {
   this.key =
       Bry_.Add_w_dlm(
           Byte_ascii.Pipe, wiki, page, anch, qarg, redirect_force ? Bool_.Y_bry : Bool_.N_bry);
   this.wiki = wiki;
   this.page = page;
   this.anch = anch;
   this.qarg = qarg;
   this.redirect_force = redirect_force;
   this.bmk_pos = bmk_pos;
 }