        const int frameWidth = mSwitcherChannelTreeView->frameWidth();
        const QSize viewSize(
            std::min(mSwitcherChannelTreeView->sizeHintWidth() + 2 * frameWidth + mSwitcherChannelTreeView->verticalScrollBar()->width(), viewMaxSize.width()),
            std::min(std::max(rowHeight * mCurrentRocketChatAccount->switchChannelHistoryModel()->rowCount() + 2 * frameWidth, rowHeight * 6),
                     viewMaxSize.height()));

        // Position should be central over the editor area, so map to global from
        // parent of central widget since the view is positioned in global coords
        const QPoint centralWidgetPos = window->parentWidget() ? window->mapToGlobal(window->pos()) : window->pos();
        const int xPos = std::max(0, centralWidgetPos.x() + (centralSize.width() - viewSize.width()) / 2);
        const int yPos = std::max(0, centralWidgetPos.y() + (centralSize.height() - viewSize.height()) / 2);

        mSwitcherChannelTreeView->setFixedSize(viewSize);
        mSwitcherChannelTreeView->move(xPos, yPos);
    } else {
        qCWarning(RUQOLAWIDGETS_LOG) << "Problem mParentWidget is null! it's a bug";
    }
}

#include "moc_switchchanneltreeviewmanager.cpp"
/*
  SPDX-FileCopyrightText: 2024-2025 Laurent Montel <montel@kde.org>

  SPDX-License-Identifier: GPL-2.0-or-later
*/

#include "e2esaveencryptionkeywidget.h"
using namespace Qt::Literals::StringLiterals;

#include <KLocalizedString>

E2eSaveEncryptionKeyWidget::E2eSaveEncryptionKeyWidget(QWidget *parent)
    : KMessageWidget(parent)
{
    setVisible(false);
    setCloseButtonVisible(false);
    setMessageType(Information);
    setPosition(KMessageWidget::Header);
    setTextFormat(Qt::PlainText);
    setText(i18n("Save your encryption password. Click here to view and copy your password."));

    auto saveEncryptionKeyAction = new QAction(i18nc("@action", "Save Encryption Key"), this);
    saveEncryptionKeyAction->setObjectName(u"decodeEncryptionKeyAction"_s);
    connect(saveEncryptionKeyAction, &QAction::triggered, this, &E2eSaveEncryptionKeyWidget::saveEncrytionKey);
    addAction(saveEncryptionKeyAction);
}

E2eSaveEncryptionKeyWidget::~E2eSaveEncryptionKeyWidget() = default;

#include "moc_e2esaveencryptionkeywidget.cpp"
/*
   SPDX-FileCopyrightText: 2020-2025 Laurent Montel <montel@kde.org>

   SPDX-License-Identifier: LGPL-2.0-or-later
*/

#include "channellistwidget.h"
#include "config-ruqola.h"
#include "ddpapi/ddpclient.h"
#include "model/roomfilterproxymodel.h"
#include "model/roommodel.h"
#include "rocketchaturlutils.h"
#include "ruqola_jitsi_debug.h"
#include "ruqolawidgets_debug.h"
#if HAVE_TEXTUTILS_SYNTAXHIGHLIGTHER_SUPPORT
#include <TextUtils/TextUtilsBlockCodeManager>
#include <TextUtils/TextUtilsSyntaxHighlighter>
#endif

#include "accountmanager.h"
#include "rocketchataccount.h"
#include "rocketchataccountsettings.h"
#include "ruqola.h"
#include "ruqolautils.h"

#include <KLocalizedString>
#include <QAction>
#include <QClipboard>
#include <QKeyEvent>
#include <QLineEdit>
#include <QVBoxLayout>

using namespace Qt::Literals::StringLiterals;
ChannelListWidget::ChannelListWidget(QWidget *parent)
    : QWidget(parent)
    , mChannelView(new ChannelListView(this))
    , mSearchRoomLineEdit(new QLineEdit(this))
{
    auto mainLayout = new QVBoxLayout(this);
    mainLayout->set


getting a value).
                  // Second code/rowID combo is row that is being linked to (providing a value).
                  // Can make a link   T, NAC, SK,   SPM,  WPN
                  // Can link to    T, SK, WPN, DSP, TI, attributes???.  Maybe static talents.         // note removed NAC
            if( ssa.length < 6 || !ssa[ 2 ] || !ssa[ 3 ] || !ssa[ 4 ] || ssa[ 5 ].length < 2 ) {  // Make sure got a valid command line.
              this.chat( "Error! linkadd2 not correctly formed.", Earthdawn.whoFrom.apiError );
              log( ssa );
              return;
            }
                    // walk links. Check to make sure that nothing links back to this (or anything else in the tree).
            function walkLinks( nextCode, nextRow, badLink, nameList ) {    // Check to make sure row being linked does not reference row adding link.
              let links = Earthdawn.getAttrBN( edParse.charID, Earthdawn.buildPre( nextCode, nextRow) + "LinksGetValue_max" );
              if( links ) {
                let alinks = links.split();
                for( let i = 0; i < alinks.length; ++i ) {
                  if( alinks[ i ].indexOf( badLink ) !== -1 ) {
                    edParse.chat( "Error! attempted circular reference:  " + nameList + " to "
                        + Earthdawn.getAttrBN( edParse.charID, Earthdawn.buildPre( nextCode, nextRow) + "Name", Earthdawn.whoFrom.apiWarning ));
                    return false;
                  } else if( alinks[ i ].startsWith( "repeating_" ))
                    if ( !walkLinks( Earthdawn.repeatSection( 3, alinks[ i ]), Earthdawn.repeatSection( 2, alinks[ i ]), badLink,
                          nameList + " to " + Earthdawn.getAttrBN( edParse.charID, Earthdawn.buildPre( nextCode, nextRow) + "Name", "" )))
                      return false;
              } }
              return true;
            };  // end walkLinks()

            if( !walkLinks( ssa[ 4 ], ssa[ 5 ], ssa[ 3 ], Earthdawn.getAttrBN( this.charID, Earthdawn.buildPre( ssa[ 2 ], ssa[ 3 ]) + "Name", "" )))
              return;
            let att = (ssa[ 4 ] === "Attribute");

                  // Given a fully qualified argument name, it will Add the Display and Links.
            function linkAdd( linkName, dispAdd, linkToAdd) {
              let obj = Earthdawn.findOrMakeObj({ _type: "attribute", _characterid: edParse.charID, name: linkName });
              let dlst = obj.get( "current" ),
                llst = obj.get( "max" );
              if( !llst || llst.length < 5 ) {      // there are no existing links, so we are adding the first one.
                llst = [];
                dlst = [];
              } else {        // There are existing links.
                llst = llst.split( "," );
                dlst = dlst.split( "," );
                if( llst.length != dlst.length ) {
                  edParse.chat( "Warning! internal data mismatch in linkadd2.", Earthdawn.whoFrom.apiError);
                  Earthdawn.errorLog( "Warning! internal data mismatch in linkadd2.", edParse);
                  log( dlst );
                  log( llst);
                  llst = [];
                  dlst = [];
                }
              }
              dlst.push( dispAdd );
              llst.push( linkToAdd );
              Earthdawn.set( obj, "max", llst.join(), linkToAdd );
  //log( "setww " + obj.get( "name" ) + "   from: " + obj.get( "current" ) + "   to: " + d


oduct product = new Persistance.Context.Product
                {
                    IsActive = true,
                    InsertDate = DateTime.Now,
                    ProductDescription = productDto.Description,
                    ProductMainPicture = Main,
                    ProductName = productDto.Name,
                    UId = 5412635

                };

                _context.Products.Add(product);
                _context.SaveChanges();

                List<ProductAttribute>? ProductAttributes = new List<ProductAttribute>();

                var att = _context.Attributes.FirstOrDefault(x => x.AttributeName == "جنس");

                foreach (var item in productFeatures)
                {
                    var attribute = _context.Attributes.FirstOrDefault(x => x.AttributeName == item.DisplayName.Trim());

                    ProductAttributes.Add(new ProductAttribute
                    {
                        AttributeId = attribute.AttributeId,
                        InsertDate = DateTime.Now,
                        Product = product,
                        ProductAttributeContent = item.Value,
                    });

                }

                _context.ProductAttributes.AddRange(ProductAttributes);
                _context.SaveChanges();

                return new ResultDto
                {
                    IsSuccess = true,
                    Message = "محصول با موفقیت ثبت شد"
                };
            }
            else
            {
                var product = _context.Products.Find(productDto.ProductId);

                var productfea = _context.ProductAttributes
                    .Where(x => x.ProductId == productDto.ProductId)
                    .Select(x => new ProductFeatures
                    {
                        DisplayName = x.ProductAttributeContent,
                        Value = x.AttributeId.ToString()
                    }).ToList();

                string imagename = product.ProductMainPicture;

                product.ProductName = productDto.Name;
                product.ProductDescription = productDto.Description;

                if (ImageMain != null)
                {
                    imagename = Guid.NewGuid().ToString("N") + Path.GetExtension(ImageMain.FileName);
                    ImageMain.AddImageAjaxToServer(imagename, $"{Directory.GetCurrentDirectory()}/wwwroot/content/product/");
                }

                product.ProductMainPicture = imagename;

                _context.SaveChanges();

                return new ResultDto
                {
                    IsSuccess = true,
                    Message = "محصول با موفقیت ویرایش شد"
                };
            }

        }
    }

    public class AddProductDto
    {
        public int? ProductId { get; set; }
        public string? Name { get; set; }

        public string? Description { get; set; }

        public IFormFile? Images { get; set; }

        public bool? IsActive { get; set; }

    }

    public class ProductFeatures
    {
        public string? DisplayName { get; set; }
        public string? Value { get; set; }
    }

    public class EditProductDto
    {
        public int? ProductId { get; set; }
        public string? Name { get; set; }

        public string? Description { get; set; }

        public string? Images { get; set; }

        public List<ProductFeatures>? ProductFeatures { get; set; }
    }
}


one,0,false),
         new OpcodeInfo("unused",Opcode.UNUSED24,OperandFormat.None,0,false),
         new OpcodeInfo("unused",Opcode.UNUSED25,OperandFormat.None,0,false),
         new OpcodeInfo("mkrefany",Opcode.MKREFANY,OperandFormat.Type,4,false),
         new OpcodeInfo("ann.call",Opcode.ANN_CALL,OperandFormat.Method,4,false),
         new OpcodeInfo("ann.catch",Opcode.ANN_CATCH,OperandFormat.None,0,false),
         new OpcodeInfo("ann.dead",Opcode.ANN_DEAD,OperandFormat.Var,2,false),
         new OpcodeInfo("ann.hoisted",Opcode.ANN_HOISTED,OperandFormat.None,0,false),
         new OpcodeInfo("ann.hoisted_call",Opcode.ANN_HOISTED_CALL,OperandFormat.Method,4,false),
         new OpcodeInfo("ann.lab",Opcode.ANN_LAB,OperandFormat.None,0,false),
         new OpcodeInfo("ann.def",Opcode.ANN_DEF,OperandFormat.None,0,false),
         new OpcodeInfo("ann.ref.s",Opcode.ANN_REF_S,OperandFormat.ShortVar,1,false),
         new OpcodeInfo("ann.phi",Opcode.ANN_PHI,OperandFormat.InlinePhi,0xFF,false),
         new OpcodeInfo("ldtoken",Opcode.LDTOKEN,OperandFormat.Token,4,false),
         new OpcodeInfo("conv.u2",Opcode.CONV_U2,OperandFormat.None,0,false),
         new OpcodeInfo("conv.u1",Opcode.CONV_U1,OperandFormat.None,0,false),
         new OpcodeInfo("conv.i",Opcode.CONV_I,OperandFormat.None,0,false),
         new OpcodeInfo("conv.ovf.i",Opcode.CONV_OVF_I,OperandFormat.None,0,false),
         new OpcodeInfo("conv.ovf.u",Opcode.CONV_OVF_U,OperandFormat.None,0,false),
         new OpcodeInfo("add.ovf",Opcode.ADD_OVF,OperandFormat.None,0,false),
         new OpcodeInfo("add.ovf.un",Opcode.ADD_OVF_UN,OperandFormat.None,0,false),
         new OpcodeInfo("mul.ovf",Opcode.MUL_OVF,OperandFormat.None,0,false),
         new OpcodeInfo("mul.ovf.un",Opcode.MUL_OVF_UN,OperandFormat.None,0,false),
         new OpcodeInfo("sub.ovf",Opcode.SUB_OVF,OperandFormat.None,0,false),
         new OpcodeInfo("sub.ovf.un",Opcode.SUB_OVF_UN,OperandFormat.None,0,false),
         new OpcodeInfo("endfinally",Opcode.ENDFINALLY,OperandFormat.None,0,true),
         new OpcodeInfo("leave",Opcode.LEAVE,OperandFormat.BranchTarget,4,true),
         new OpcodeInfo("leave.s",Opcode.LEAVE_S,OperandFormat.ShortBranchTarget,1,true),
         new OpcodeInfo("stind.i",Opcode.STIND_I,OperandFormat.None,0,false),
         new OpcodeInfo("conv.u",Opcode.CONV_U,OperandFormat.None,0,false),
         new OpcodeInfo("unused",Opcode.UNUSED26,OperandFormat.Illegal,0,false),
         new OpcodeInfo("unused",Opcode.UNUSED27,OperandFormat.Illegal,0,false),
         new OpcodeInfo("unused",Opcode.UNUSED28,OperandFormat.Illegal,0,false),
         new OpcodeInfo("unused",Opcode.UNUSED29,OperandFormat.Illegal,0,false),


#!/usr/bin/env python
# -*- coding: utf-8 -*-

# Copyright (c) 2016-2020:
#   Matthieu Estrada, ttamalfor@gmail.com
#   Pavel Liavonau, liavonlida@gmail.com
#
# This file is part of (CMakeConverter).
#
# (CMakeConverter) is free software: you can redistribute it and/or modify
# it under the terms of the GNU Affero General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# (CMakeConverter) is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
# GNU Affero General Public License for more details.
#
# You should have received a copy of the GNU Affero General Public License
# along with (CMakeConverter).  If not, see <http://www.gnu.org/licenses/>.

import os
import unittest

from cmake_converter.visual_studio.context import VSContext
from cmake_converter.data_converter import DataConverter

class TestFlags(unittest.TestCase):
    """
        This file test methods of Flags class.
    """

    def setUp(self):
        cur_dir = os.path.dirname(os.path.realpath(__file__))
        context = VSContext()
        context.verbose = False
        vs_project = '{}/datatest/foo.vcxproj'.format(cur_dir)
        context.cmake = './'
        converter = DataConverter()
        converter.convert_project(context, vs_project, cur_dir)


led目的是为了防止在加载过程中再次触发
      let isAjax =
        this.ajax && !this.disabled && expand && tools.isEmpty(this.children);

      Promise.resolve(
        (() => {
          if (isAjax) {
            this.childrenEl.classList.add("hide");
            return this.doAjax().then(() => {
              // 动画效果,所以延时
              setTimeout(() => {
                this.childrenEl.classList.remove("hide");
              }, 50);
            });
          }
        })()
      ).then(() => {
        this.childrenEl.classList.toggle("hide", !this._expand);
        this.onExpand && this.onExpand(this, this._expand);
      });
    }, 10);

    // this.childrenEl.classList.toggle('hide', !this._expand);
    //
    // setTimeout(() => {
    //     //当满足树的状态为打开 并且没有disabled类是动态加载数据，判断是否包含disabled目的是为了防止在加载过程中再次触发
    //     if (!this.disabled && expand && tools.isEmpty(this.children) && this.ajax) {
    //         this.childrenEl.classList.add('hide');
    //         this.doAjax().then(() => {
    //
    //             // 动画效果,所以延时
    //             setTimeout(() => {
    //                 this.childrenEl.classList.remove('hide');
    //             }, 50);
    //         }).catch(() => {
    //             this.expand = false;
    //         });
    //     }
    // }, 10);
  }

  get expand() {
    return this._expand;
  }

  protected _onExpand: (node: this, isExpand: boolean) => void = null;
  set onExpand(handler: (node: this, isExpand: boolean) => void) {
    this._onExpand = handler;
  }

  get onExpand() {
    return this.inherit("_onExpand");
  }

  //节点文本内容
  protected _text: string;
  set text(text: string) {
    this._text = tools.str.toEmpty(text);
    this.textEl.innerHTML = this._text;
    this.textWrapper.title = this._text;
  }

  get text() {
    return this._text;
  }

  //树节点图标
  protected _icon: string;
  set icon(icon: string) {
    if (icon) {
      if (typeof icon === "string") {
        this.iconEl.classList.add(...icon.split(" "));
        // !this._icon && this.iconEl.classList.add('tree-icon');
        this._icon = icon;
      }
    } else {
      this._icon && this.iconEl.classList.remove(...this._icon.split(" "));
    }
  }

  get icon() {
    return this._icon;
  }

  //是否手风琴
  protected _isAccordion: boolean;

  set isAccordion(isAccordion: boolean) {
    this._isAccordion = !!isAccordion;
    if (this._isAccordion) {
      let children = this.children,
        firstExpand = false;
      Array.isArray(children) &&
        children.forEach(child => {
          if (child.expand) {
            if (!firstExpand) {
              firstExpand = true;
            } else {
              child.expand = false;
            }
          }
        });
    }
  }

  get isAccordion() {
    return this._isAccordion;
  }

  //儿子节点选中状态
  protected _multiSelect: boolean;

  set multiSelect(multi: boolean) {
    this._multiSelect = !!


t;, "CDSESSN": "118", "GEOID": "5105", "GEOIDFQ": "5001800US5105", "LSAD": "C2", "NAMELSAD": "Congressional District 5", "STATEFP": "51", "hover_info": "\u003cb\u003eDistrict: VA-05\u003c/b\u003e\u003cbr\u003eAnnual Spending: $7.8 million\u003cbr\u003e(Average from FY 2022 to FY 2024)"}, "type": "Feature"}, {"geometry": {"coordinates": [[[-90.250095, 34.90732], [-90.244476, 34.937596], [-90.309297, 34.995694], [-89.795187, 34.994293], [-89.7243158379686, 34.9941869587535], [-89.7066076930667, 34.9941604628742], [-89.644051831619, 34.994066863428], [-89.434954, 34.993754], [-89.3526793918484, 34.9939961417459], [-89.198287901495, 34.9944505301151], [-89.02654, 34.994956], [-89.0171270115524, 34.9949676128363], [-88.823050501632, 34.995207045695], [-88.786612, 34.995252], [-88.469877, 34.996033], [-88.3804925115221, 34.9957924082221], [-88.3635302685392, 34.9957467517971], [-88.258111, 34.995463], [-88.200064, 34.995634], [-88.154617, 34.922392], [-88.097888, 34.892202], [-88.134263, 34.62266], [-88.1395594412474, 34.5816967458839], [-88.1549021840087, 34.46303430044], [-88.1732617345949, 34.3210395343343], [-88.2035834952194, 34.0865277314681], [-88.207229, 34.058333], [-88.2483874739095, 33.7449075948817], [-88.254445, 33.698779], [-88.2745164707837, 33.5340014777852], [-88.3044428135104, 33.28832], [-88.669076, 33.286922], [-88.67125, 33.506168], [-88.671526, 33.565135], [-89.018613, 33.562114], [-89.035677, 33.562154], [-89.036119, 33.51274], [-88.959617, 33.498204], [-88.965963, 33.286108], [-89.088255, 33.286003], [-89.1089, 33.198059], [-89.213422, 33.197543], [-89.213921, 33.109402], [-89.317855, 33.108871], [-89.316408, 33.285556], [-89.453808, 33.285942], [-89.45405, 33.4332], [-89.381092, 33.460307], [-89.506496, 33.459806], [-89.506872, 33.677605], [-89.507135, 33.721819], [-89.507353, 33.867469], [-89.509748, 34.162082], [-89.50944, 34.19096], [-89.72105, 34.192545], [-89.721341, 34.554274], [-90.


 readParticleData(type: ParticleType): ParticleData {
        type.factory?.read(session, this, type)?.let { return it }

        // TODO: Implement those particles
        if (this.versionId < V_17W45A) return when (type.identifier.toString()) {
            "minecraft:iconcrack" -> ItemParticleData.read(this, type)
            "minecraft:blockcrack", "minecraft:blockdust", "minecraft:falling_dust" -> BlockParticleData.read(this, type)
            else -> ParticleData(type)
        }

        return when (type.identifier.toString()) {
            "minecraft:falling_dust", "minecraft:block_marker" -> BlockParticleData.read(this, type)
            "minecraft:item" -> ItemParticleData.read(this, type)
            "minecraft:shriek" -> ShriekParticleData.read(this, type)
            "minecraft:sculk_charge" -> SculkChargeParticleData.read(this, type)
            "minecraft:vibration" -> VibrationParticleData.read(this, type)
            else -> ParticleData(type)
        }
    }

    fun readNBT(): Any? {
        return readNBTTag(versionId < V_14W28B, versionId < V_23W31A)
    }

    private fun readLegacyItemStack(): ItemStack? {
        val id = readShort().toInt()
        if (id <= ProtocolDefinition.AIR_BLOCK_ID) {
            return null
        }
        val count = readUnsignedByte()
        var meta = 0
        if (!session.version.flattened) {
            meta = readUnsignedShort()
        }
        val nbt = readNBT()?.toMutableJsonObject()
        val item = session.registries.item.getOrNull(id shl 16 or meta) ?: return null // TODO: only if item is not an ItemWithMeta
        return ItemStackUtil.of(
            item = item,
            session = session,
            count = count,
            meta = meta,
            nbt = nbt ?: mutableMapOf(),
        )
    }

    fun readItemStack(): ItemStack? {
        if (versionId < V_1_13_2_PRE1) {
            return readLegacyItemStack()
        }

        return readOptional {
            ItemStackUtil.of(
                item = session.registries.item[readVarInt()],
                session = session,
                count = readUnsignedByte(),
                nbt = readNBT()?.toMutableJsonObject() ?: mutableMapOf(),
            )
        }
    }

    fun readEntityData(): Int2ObjectOpenHashMap<Any?> {
        val data: Int2ObjectOpenHashMap<Any?> = Int2ObjectOpenHashMap()
        if (versionId < V_15W31A) { // ToDo: This version was 48, but this one does not exist!
            var item = readUnsignedByte()
            while (item != 0x7F) {
                val index = item and 0x1F
                val type = session.registries.entityDataTypes[item and 0xFF shr 5]!!
                data[index] = type.type.read(this)
                item = readUnsignedByte()
            }
            return data
        }
        var index = readUnsignedByte()
        while (index != 0xFF) {
            val id: Int = if (versionId < V_1_9_1_PRE1) readUnsignedByte() else readVarInt()
            val type = session.registries.entityDataTypes[id] ?: throw IllegalArgumentException("Can not get entity data type (id=$id)")
            data[index] = type.type.read(this)
            index = readUnsignedByte()
        }
        return data
    }

    fun readIngredient(): Ingredient {
        return Ingredient(readArray { readItemStack() })
    }

    fun readEntityId(): Int {
        return if (versionId < V_14W04A) {
            readInt()
        } else {
            readVarInt()
        }
    }

    fun readEntityIdA


*self.verify_ed25519_signature_mock.borrow_mut() = Some(Box::new(mock));
    }

    #[cfg(not(feature = "crypto-primitives"))]
    /// Set up a mock for [`verify_ecdsa_secp256k1_signature`][link].
    ///
    /// This is not available if the "crypto-primitives" feature is enabled. For
    /// more information on why, see the documentation of
    /// [`TestCryptoPrimitives`].
    ///
    /// [link]: HasCryptoPrimitives::verify_ecdsa_secp256k1_signature
    pub fn setup_verify_ecdsa_secp256k1_signature_mock<F>(&self, mock: F)
    where
        F: FnMut(PublicKeyEcdsaSecp256k1, SignatureEcdsaSecp256k1, [u8; 32]) -> bool + 'static,
    {
        *self.verify_ecdsa_secp256k1_signature_mock.borrow_mut() = Some(Box::new(mock));
    }

    #[cfg(not(feature = "crypto-primitives"))]
    /// Set up a mock for
    /// [`hash_sha2_256`](HasCryptoPrimitives::hash_sha2_256).
    ///
    /// This is not available if the "crypto-primitives" feature is enabled. For
    /// more information on why, see the documentation of
    /// [`TestCryptoPrimitives`].
    pub fn setup_hash_sha2_256_mock<F>(&self, mock: F)
    where
        F: FnMut(&[u8]) -> HashSha2256 + 'static, {
        *self.hash_sha2_256_mock.borrow_mut() = Some(Box::new(mock));
    }

    #[cfg(not(feature = "crypto-primitives"))]
    /// Set up a mock for
    /// [`hash_sha3_256`](HasCryptoPrimitives::hash_sha3_256).
    ///
    /// This is not available if the "crypto-primitives" feature is enabled. For
    /// more information on why, see the documentation of
    /// [`TestCryptoPrimitives`].
    pub fn setup_hash_sha3_256_mock<F>(&self, mock: F)
    where
        F: FnMut(&[u8]) -> HashSha3256 + 'static, {
        *self.hash_sha3_256_mock.borrow_mut() = Some(Box::new(mock));
    }

    #[cfg(not(feature = "crypto-primitives"))]
    /// Set up a mock for
    /// [`hash_keccak_256`](HasCryptoPrimitives::hash_keccak_256).
    ///
    /// This is not available if the "crypto-primitives" feature is enabled. For
    /// more information on why, see the documentation of
    /// [`TestCryptoPrimitives`].
    pub fn setup_hash_keccak_256_mock<F>(&self, mock: F)
    where
        F: FnMut(&[u8]) -> HashKeccak256 + 'static, {
        *self.hash_keccak_256_mock.borrow_mut() = Some(Box::new(mock));
    }

    /// Fail with an error message that tells you to set up mocks
    /// OR enable the crypto-primitives feature.
    #[cfg(not(feature = "crypto-primitives"))]
    fn fail_with_crypto_primitives_error(method_name: &str) -> ! {
        fail!(
            "To use {}, you need to either enable the \"concordium-std/crypto-primitives\" \
             feature, which makes it use an actual implemenation, or set up a mock with the \
             setup_{}_mock method on TestCryptoPrimitives.",
            method_name,
            method_name
        )
    }
}

impl HasCryptoPrimitives for TestCryptoPrimitives {
    fn verify_ed25519_signature(
        &self,
        public_key: PublicKeyEd25519,
        signature: SignatureEd25519,
        message: &[u8],
    ) ->


)
/* 19BF40 801EDEF0 8C830000 */  lw    $v1, ($a0)
/* 19BF44 801EDEF4 3C05800E */ lui $a1, 0x800e
/* 19BF48 801EDEF8 24A52950 */ addiu $a1, 0x2950
/* 19BF4C 801EDEFC 00031880 */  sll   $v1, $v1, 2
/* 19BF50 801EDF00 00A3C021 */  addu  $t8, $a1, $v1
/* 19BF54 801EDF04 C7100000 */  lwc1  $f16, ($t8)
/* 19BF58 801EDF08 3C01800F */ lui $at, 0x800f
/* 19BF5C 801EDF0C 00230821 */  addu  $at, $at, $v1
/* 19BF60 801EDF10 E430A8A0 */ swc1 $f16, -0x5760($at)
/* 19BF64 801EDF14 8C990000 */  lw    $t9, ($a0)
/* 19BF68 801EDF18 C4520000 */  lwc1  $f18, ($v0)
/* 19BF6C 801EDF1C 3C10800E */ lui $s0, 0x800e
/* 19BF70 801EDF20 00194880 */  sll   $t1, $t9, 2
/* 19BF74 801EDF24 00495021 */  addu  $t2, $v0, $t1
/* 19BF78 801EDF28 E5520000 */  swc1  $f18, ($t2)
/* 19BF7C 801EDF2C 8C880000 */  lw    $t0, ($a0)
/* 19BF80 801EDF30 26102790 */ addiu $s0, 0x2790
/* 19BF84 801EDF34 C6040000 */  lwc1  $f4, ($s0)
/* 19BF88 801EDF38 00085880 */  sll   $t3, $t0, 2
/* 19BF8C 801EDF3C 020B6021 */  addu  $t4, $s0, $t3
/* 19BF90 801EDF40 E5840000 */  swc1  $f4, ($t4)
/* 19BF94 801EDF44 8C8E0000 */  lw    $t6, ($a0)
/* 19BF98 801EDF48 C4A60000 */  lwc1  $f6, ($a1)
/* 19BF9C 801EDF4C 000E7880 */  sll   $t7, $t6, 2
/* 19BFA0 801EDF50 00AF6821 */  addu  $t5, $a1, $t7
/* 19BFA4 801EDF54 0C066E46 */  jal   func_8019B918_ovl7
/* 19BFA8 801EDF58 E5A60000 */   swc1  $f6, ($t5)
/* 19BFAC 801EDF5C 1440000D */  bnez  $v0, .L801EDF94_ovl9
/* 19BFB0 801EDF60 3C014220 */   li    $at, 0x42200000 # 40.000000
/* 19BFB4 801EDF64 4481A000 */  mtc1  $at, $f20
/* 19BFB8 801EDF68 00000000 */  nop
/* 19BFBC 801EDF6C 8E380000 */  lw    $t8, ($s1)
.L801EDF70_ovl9:
/* 19BFC0 801EDF70 8F190000 */  lw    $t9, ($t8)
/* 19BFC4 801EDF74 00194880 */  sll   $t1, $t9, 2
/* 19BFC8 801EDF78 02091021 */  addu  $v0, $s0, $t1
/* 19BFCC 801EDF7C C4480000 */  lwc1  $f8, ($v0)
/* 19BFD0 801ED


duct.  It is provided to you solely for the      *
*  purpose of demonstrating the usage of some of the features of    *
*  High Level Assembler.  The code is not supported by IBM and      *
*  is provided on an "AS IS" basis, without warranty of any kind.   *
*  IBM shall not be liable for any damages arising out of your      *
*  use of the sample code, even if IBM has been advised of the      *
*  possibility of such damages.                                     *
*********************************************************************
a        csect
         using *,8
         sr    15,15      Set return code to zero
         br    14          and return.
**********************************************************************
*              PUSH  and POP  statements                             *
* Push down the PRINT statement, replace it, retrieve original       *
**********************************************************************
         push  print     Save Default setting '  PRINT ON,NODATA,GEN'
         print nogen,data
         wto   mf=(E,(1))                    Expansion not shown


* 010DC 809E68AC 24060002 */  addiu   $a2, $zero, 0x0002         ## $a2 = 00000002
/* 010E0 809E68B0 0C01E1EF */  jal     Math_SmoothScaleMaxS

/* 010E4 809E68B4 24070E38 */  addiu   $a3, $zero, 0x0E38         ## $a3 = 00000E38
/* 010E8 809E68B8 C7AC0060 */  lwc1    $f12, 0x0060($sp)
.L809E68BC:
/* 010EC 809E68BC C7A8005C */  lwc1    $f8, 0x005C($sp)
/* 010F0 809E68C0 C6120230 */  lwc1    $f18, 0x0230($s0)          ## 00000230
/* 010F4 809E68C4 C606000C */  lwc1    $f6, 0x000C($s0)           ## 0000000C
/* 010F8 809E68C8 860400B6 */  lh      $a0, 0x00B6($s0)           ## 000000B6
/* 010FC 809E68CC 46124102 */  mul.s   $f4, $f8, $f18
/* 01100 809E68D0 260E0008 */  addiu   $t6, $s0, 0x0008           ## $t6 = 00000008
/* 01104 809E68D4 46043280 */  add.s   $f10, $f6, $f4
/* 01108 809E68D8 E60A0028 */  swc1    $f10, 0x0028($s0)          ## 00000028
/* 0110C 809E68DC E7AC0060 */  swc1    $f12, 0x0060($sp)
/* 01110 809E68E0 0C01DE1C */  jal     Math_Sins
              ## sins?
/* 01114 809E68E4 AFAE0038 */  sw      $t6, 0x0038($sp)
/* 01118 809E68E8 C7AC0060 */  lwc1    $f12, 0x0060($sp)
/* 0111C 809E68EC C6080230 */  lwc1    $f8, 0x0230($s0)           ## 00000230
/* 01120 809E68F0 46086482 */  mul.s   $f18, $f12, $f8
/* 01124 809E68F4 00000000 */  nop
/* 01128 809E68F8 46120182 */  mul.s   $f6, $f0, $f18
/* 0112C 809E68FC E7A60058 */  swc1    $f6, 0x0058($sp)
/* 01130 809E6900 0C01DE0D */  jal     Math_Coss
              ## coss?
/* 01134 809E6904 860400B6 */  lh      $a0, 0x00B6($s0)           ## 000000B6
/* 01138 809E6908 C7B20060 */  lwc1    $f18, 0x0060($sp)
/* 0113C 809E690C C6100230 */  lwc1    $f16, 0x0230($s0)          ## 00000230
/* 01140 809E6910 C60E0008 */  lwc1    $f14, 0x0008($s0)          ## 00000008
/* 01144 809E6914 C7AC0058 */  lwc1    $f12, 0x0058($sp)
/* 01148 809E6918 46109482 */  mul.s   $f18, $f18, $f16
/* 0114C 809E691C C60A0010 */  lwc1    $f10, 0x0010($s0)          ## 00000010
/* 01150 809E6920 460C7300 */


, this = %p, "
          "suspended = %d\n", this, aSuspend));

  callback->WindowSuspendChanged(aSuspend);
}

AudioPlaybackConfig
AudioChannelAgent::GetMediaConfig()
{
  RefPtr<AudioChannelService> service = AudioChannelService::GetOrCreate();
  AudioPlaybackConfig config(1.0, false, nsISuspendedTypes::NONE_SUSPENDED);
  if (service) {
    config = service->GetMediaConfig(mWindow, mAudioChannelType);
  }
  return config;
}

bool
AudioChannelAgent::IsDisposableSuspend(nsSuspendedTypes aSuspend) const
{
  return (aSuspend == nsISuspendedTypes::SUSPENDED_PAUSE_DISPOSABLE ||
          aSuspend == nsISuspendedTypes::SUSPENDED_STOP_DISPOSABLE);
}

uint64_t
AudioChannelAgent::WindowID() const
{
  return mWindow ? mWindow->WindowID() : 0;
}

uint64_t
AudioChannelAgent::InnerWindowID() const
{
  return mInnerWindowID;
}

void
AudioChannelAgent::WindowAudioCaptureChanged(uint64_t aInnerWindowID,
                                             bool aCapture)
{
  if (aInnerWindowID != mInnerWindowID) {
    return;
  }

  nsCOMPtr<nsIAudioChannelAgentCallback> callback = GetCallback();
  if (!callback) {
    return;
  }

  MOZ_LOG(AudioChannelService::GetAudioChannelLog(), LogLevel::Debug,
         ("AudioChannelAgent, WindowAudioCaptureChanged, this = %p, "
          "capture = %d\n", this, aCapture));

  callback->WindowAudioCaptureChanged(aCapture);
}

bool
AudioChannelAgent::IsPlayingStarted() const
{
  return mIsRegToService;
}

bool
AudioChannelAgent::ShouldBlockMedia() const
{
  return mWindow ?
    mWindow->GetMediaSuspend() == nsISuspendedTypes::SUSPENDED_BLOCK : false;
}
/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
/* This Source Code Form is subject to the terms of the Mozilla Public
 * License, v. 2.0. If a copy of the MPL was not distributed with this
 * file, You can obtain one at http://mozilla.org/MPL/2.0/. */

/*
 * A class that handles loading and evaluation of <script> elements.
 */

#include "ScriptLoader.h"
#include "ModuleScript.h"
#include "mozilla/HoldDropJSObjects.h"

#include "jsfriendapi.h"

namespace mozilla {
namespace dom {

//////////////////////////////////////////////////////////////
// LoadedScript
//////////////////////////////////////////////////////////////

NS_INTERFACE_MAP_BEGIN_CYCLE_COLLECTION(LoadedScript)
NS_INTERFACE_MAP_END

NS_IMPL_CYCLE_COLLECTION_CLASS(LoadedScript)

NS_IMPL_CYCLE_COLLECTION_UNLINK_BEGIN(LoadedScript)
  NS_IMPL_CYCLE_COLLECTION_UNLINK(mFetchOptions)
  NS_IMPL_CYCLE_COLLECTION_UNLINK(mBaseURL)
NS_IMPL_CYCLE_COLLECTION_UNLINK_END

NS_IMPL_CYCLE_COLLECTION_TRAVERSE_BEGIN(LoadedScript)
  NS_IMPL_CYCLE_COLLECTION_TRAVERSE(mFetchOptions)
NS_IMPL_CYCLE_COLLECTION_TRAVERSE_END

NS_IMPL_CYCLE_COLLECTION_TRACE_BEGIN(LoadedScript)
NS_IMPL_CYCLE_COLLECTION_TRACE_END

NS_IMPL_CYCLE_COLLECTING_ADDREF(LoadedScript)
NS_IMPL_CYCLE_COLLECTING_RELEASE(LoadedScript)

LoadedScript::LoadedScript(ScriptKind aKind,
                           ScriptFetchOptions* aFetchOptions, nsIURI* aBaseURL)
    : mKind(aKind),
      mFetchOptions(aFetchOptions),
      mBaseURL(aBaseURL)
{
  MOZ_ASSERT(mFetchOptions);
  MOZ_ASSERT(mBaseURL);
}


= 0.00
/* 00218 80AC2EB8 00000000 */  nop
/* 0021C 80AC2EBC 468054A0 */  cvt.s.w $f18, $f10
/* 00220 80AC2EC0 46124400 */  add.s   $f16, $f8, $f18
/* 00224 80AC2EC4 E7B00014 */  swc1    $f16, 0x0014($sp)
/* 00228 80AC2EC8 844A00B4 */  lh      $t2, 0x00B4($v0)           ## 000000B4
/* 0022C 80AC2ECC AFAA0018 */  sw      $t2, 0x0018($sp)
/* 00230 80AC2ED0 844E00B6 */  lh      $t6, 0x00B6($v0)           ## 000000B6
/* 00234 80AC2ED4 01AE7821 */  addu    $t7, $t5, $t6
/* 00238 80AC2ED8 AFAF001C */  sw      $t7, 0x001C($sp)
/* 0023C 80AC2EDC 845900B8 */  lh      $t9, 0x00B8($v0)           ## 000000B8
/* 00240 80AC2EE0 AFA30024 */  sw      $v1, 0x0024($sp)
/* 00244 80AC2EE4 0C00C7D4 */  jal     Actor_Spawn
              ## ActorSpawn
/* 00248 80AC2EE8 AFB90020 */  sw      $t9, 0x0020($sp)
/* 0024C 80AC2EEC AE220200 */  sw      $v0, 0x0200($s1)           ## 00000200
.L80AC2EF0:
/* 00250 80AC2EF0 26520001 */  addiu   $s2, $


/云居一轮">云居一轮 • 圣白莲 • 物部布都 • 丰聪耳神子 • 二岩猯藏 • 藤原妹红 • 少名针妙丸 • 河城荷取 • 古明地恋 • 秦心 • 宇佐见堇子 • 博丽灵梦 • 铃仙·优昙华院·因幡

对战模式

博丽灵梦 • 雾雨魔理沙


DDR_PHY_TIMING);
	writel(DDR_PHY_TIMING_W_RST | DDR_PHY_TIMING_I_RST, DDR_PHY_TIMING);

	/* step up or down read delay to the requested value */
	while (wnow != w) {
		if (wnow < w) {
			reg = DDR_PHY_TIMING_INC;
			wnow++;
		} else {
			reg = 0;
			wnow--;
		}
		writel(DDR_PHY_TIMING_W_CE | reg, DDR_PHY_TIMING);
		writel(DDR_PHY_TIMING_CK | DDR_PHY_TIMING_W_CE | reg,
		       DDR_PHY_TIMING);
		writel(DDR_PHY_TIMING_W_CE | reg, DDR_PHY_TIMING);
	}

	/* now write delay */
	while (inow != i) {
		if (inow < i) {
			reg = DDR_PHY_TIMING_INC;
			inow++;
		} else {
			reg = 0;
			inow--;
		}
		writel(DDR_PHY_TIMING_I_CE | reg, DDR_PHY_TIMING);
		writel(DDR_PHY_TIMING_CK | DDR_PHY_TIMING_I_CE | reg,
		       DDR_PHY_TIMING);
		writel(DDR_PHY_TIMING_I_CE | reg, DDR_PHY_TIMING);
	}
}

//Function used to Setup SDRAM in DDR/SDR mode
void init_ddr(int mhz)
{
	/* start clocks */
	enable_clock(SYS_CTRL_CLK_DDRPHY);
	enable_clock(SYS_CTRL_CLK_DDR);
	enable_clock(SYS_CTRL_CLK_DDRCK);

	/* bring phy and core out of reset */
	reset_block(SYS_CTRL_RST_DDR_PHY, 0);
	reset_block(SYS_CTRL_RST_DDR, 0);

	/* DDR runs at half the speed of the CPU */
	ddr_setup(mhz >> 1);
	return;
}


w);
		}

		private void ClampAxis((float, float) minMaxX, (float, float) minMaxY, (float, float) minMaxZ, (float, float) minMaxW, ref Vector4 vector)
        {
            var x = Mathf.Clamp(vector.x, minMaxX.Item1, minMaxX.Item2);
            var y = Mat


>Flash Player 9, AIR 1.1

	  Marshalling Support(for tool): Dispatches event to parent applications.

 Parameters

	event:Event — Event to be dispatched.

getAIRWindow
	()	method

 public function getAIRWindow(windowId:String):DisplayObject

Language Version: 	ActionScript 3.0

Product Version: 	Flex 4

Runtime Versions: 	Flash Player 9, AIR 1.1

	  AIR support(for tool): Returns the window with the passed id.

 Parameters

	windowId:String — id of the window

Returns

	DisplayObject — Window with passed id.

getAIRWindowUniqueID
	()	method

 public function getAIRWindowUniqueID(newWindow:DisplayObject):String

Language Version: 	ActionScript 3.0

<


.getControlFormat());
		else v.add(new Null(new String()));
		v.add(new Integer(m.getSourceRefId()));
		if (m.getDefaultValue() != null) v.add(m.getDefaultValue());
		else v.add(new Null(new String()));
		v.add(new Integer(m.getLockedInd()));
		v.add(new Integer(m.getDisabledInd()));
		v.add(new Integer(m.getRequiredInd()));
		v.add(new Integer(m.getVisibleInd()));
		if (m.getInitScript() != null) v.add(m.getInitScript());
		else v.add(new Null(new String()));
		if (m.getFocusLostScript() != null) v.add(m.getFocusLostScript());
		else v.add(new Null(new String()));
		if (m.getFocusGainedScript() != null) v.add(m.getFocusGainedScript());
		else v.add(new Null(new String()));
		if (m.getImagePath() != null) v.add(m.getImagePath());
		else v.add(new Null(new String()));
		v.add(new Integer(m.getScrollpaneInd()));
		v.add(new Double(m.getGrowHeight()));
		v.add(new Integer(m.getGrowWidth()));
		v.add(new Integer(m.getUnitWidth()));
		v.add(new Integer(m.getUnitHeight()));
		if (m.getCreateDt() != null) v.add(m.getCreateDt());
		else v.add(new Null(new GregorianCalendar()));
		v.add(new Integer(m.getCreateUserId()));
		if (m.getUpdateDt() != null) v.add(m.getUpdateDt());
		else v.add(new Null(new GregorianCalendar()));
		v.add(new Integer(m.getUpdateUserId()));
		v.add(new Integer(m.getUpdateCount()));
		v.add(new Integer(m.getActiveInd()));
		v.add(new Integer(m.getSystemAssignedVersionNbr()));
		v.add(new Integer(m.getRecordTypeRefId()));
		v.add(new Integer(m.getAppControlTemplateId()));
		return v;
	}

	private Vector getDeleteParameters(AppControlTemplateModel m) {
		Vector v = new Vector(34);
		v.add(new Integer(m.getAppControlTemplateId()));
		return v;
	}

	private String getDeleteSql() {
		return "delete from app_control_template where app_control_template_id = ?";
	}

}
package com.osrmt.www.artifact;
import java.util.*;
import com.osframework.modellibrary.common.*;
import com.osframework.modellibrary.reference.security.*;
import com.osframework.appclient.services.*;
import com.osframework.appclient.ui.listeners.*;
import com.osframework.modellibrary.reference.common.*;
import com.osframework.modellibrary.reference.group.*;
import com.osframework.framework.logging.*;
import com.osframework.framework.utility.*;
import javax.servlet.http.*;
import org.apache.struts.*;
import org.apache.struts.action.*;
import com.osrmt.www.services.*;

public class ProductList {

	private ArrayList products = new ArrayList();

	public ProductList() {
		super();
		loadProducts();
	}

	private void loadProducts() {
		try {
			products = LocalReferenceServices.getProducts();
		} catch (Exception ex) {
			Debug.LogException(this, ex);
		}
	}

	public ArrayList getProducts() {
		return products;
	}

	public void setProducts(ArrayList products) {
		this.products = products;
	}

}

/*
 * $Id: BaseAction.java,v 1.1 2006/08/29 18:49:01 aron-smith Exp $
 *
 * Copyright 1999-2004 The Apache Software Foundation.
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *      http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, ei


from pakutil import PakFile, PakEntry, PAK_HEADER_SIZE
from typing import Any

def writePakFile(pakfile: PakFile, pak: Any):
    '''
        Writes PAK bytes from 'pakfile' to 'pak'
    '''
    if not hasattr(pak, 'write'):
        raise TypeError('Argument pak is not a valid file! (Method write not found)')
    data = createPakBytes(pakfile)
    pak.write(data)

def createPakBytes(pakfile: PakFile) -> bytes:
    '''
        Creates PAK bytes from 'pakfile'
    '''
    pak_bytes = bytearray()

    header_bytes = bytearray(b'PACK')
    data_bytes = bytearray()
    dir_bytes = bytearray()

    data_idx = PAK_HEADER_SIZE

    for i in pakfile.entries:
        entry_path_bytes = i.path.encode('utf-8')[:55].ljust(56, b'\0')
        entry_offset_bytes = int.to_bytes(data_idx, 4, 'little')
        entry_size = len(i.data)
        entry_size_bytes = int.to_bytes(entry_size, 4, 'little')

        entry_bytes = bytearray()
        entry_bytes.extend(entry_path_bytes)
        entry_bytes.extend(entry_offset_bytes)
        entry_bytes.extend(entry_size_bytes)

        data_bytes.extend(i.data)
        data_idx += entry_size
        dir_bytes.extend(entry_bytes)

    header_offset_bytes = int.to_bytes(data_idx, 4, 'little')
    header_size_bytes = int.to_bytes(len(dir_bytes), 4, 'little')

    header_bytes.extend(header_offset_bytes)
    header_bytes.extend(header_size_bytes)

    pak_bytes.extend(header_bytes)
    pak_bytes.extend(data_bytes)
    pak_bytes.extend(dir_bytes)

    return bytes(pak_bytes)


[Column]                       public short?   UnitsOnOrder;
			[Column]                       public short?   ReorderLevel;
			[Column(IsDiscriminator=true)] public bool     Discontinued;

			[Association(ThisKey="ProductID",  OtherKey="ProductID")]  public List<OrderDetail> OrderDetails = null!;
			[Association(ThisKey="CategoryID", OtherKey="CategoryID")] public Category?         Category;
			[Association(ThisKey="SupplierID", OtherKey="SupplierID")] public Supplier?         Supplier;
		}

		public class ActiveProduct       : Product {}
		public class DiscontinuedProduct : Product {}

		[Table(Name="Region")]
		public class Region
		{
			[PrimaryKey]      public int    RegionID;
			[Column, NotNull] public string RegionDescription = null!;

			[Association(ThisKey="RegionID", OtherKey="RegionID")]
			public List<Territory> Territories = null!;
		}

		[Table(Name="Shippers")]
		public class Shipper
		{
			[PrimaryKey, Identity] public int     ShipperID;
			[Column, NotNull]      public string  CompanyName = null!;
			[Column]               public string? Phone;

			[Association(ThisKey="ShipperID", OtherKey="ShipVia")]
			public List<Order> Orders = null!;
		}

		[Table(Name="Suppliers")]
		public class Supplier
		{
			[Prim


agent[1]) : NaN;\n    } else {\n      _chrome = NaN;\n    }\n  } else {\n    _ie = _firefox = _opera = _chrome = _webkit = NaN;\n  }\n\n  if (os) {\n    if (os[1]) {\n      // Detect OS X version.  If no version number matches, set _osx to true.\n      // Version examples:  10, 10_6_1, 10.7\n      // Parses version number as a float, taking only first two sets of\n      // digits.  If only one set of digits is found, returns just the major\n      // version number.\n      var ver = /(?:Mac OS X (\\d+(?:[._]\\d+)?))/.exec(uas);\n\n      _osx = ver ? parseFloat(ver[1].replace('_', '.')) : true;\n    } else {\n      _osx = false;\n    }\n    _windows = !!os[2];\n    _linux   = !!os[3];\n  } else {\n    _osx = _windows = _linux = false;\n  }\n}\n\nvar UserAgent_DEPRECATED = {\n\n  /**\n   *  Check if the UA is Internet Explorer.\n   *\n   *\n   *  @return float|NaN Version number (if match) or NaN.\n   */\n  ie: function() {\n    return _populate() || _ie;\n  },\n\n  /**\n   * Check if we're in Internet Explorer compatibility mode.\n   *\n   * @return bool true if in compatibility mode, false if\n   * not compatibility mode or not ie\n   */\n  ieCompatibilityMode: function() {\n    return _populate() || (_ie_real_version > _ie);\n  },\n\n\n  /**\n   * Whether the browser is 64-bit IE.  Really, this is kind of weak sauce;  we\n   * only need this because Skype can't handle 64-bit IE yet.  We need to remove\n   * this when we don't need it -- tracked by #601957.\n   */\n  ie64: function() {\n    return UserAgent_DEPRECATED.ie() && _win64;\n  },\n\n  /**\n   *  Check if the UA is Firefox.\n   *\n   *\n   *  @return float|NaN Version number (if match) or NaN.\n   */\n  firefox: function() {\n    return _populate() || _firefox;\n  },\n\n\n  /**\n   *  Check if the UA is Opera.\n   *\n   *\n   *  @return float|NaN Version number (if match) or NaN.\n   */\n  opera: function() {\n    return _populate() || _opera;\n  },\n\n\n  /**\n   *  Check if the UA is WebKit.\n   *\n   *\n   *  @return float|NaN Version number (if match) or NaN.\n   */\n  webkit: function() {\n    return _populate() || _webkit;\n  },\n\n  /**\n   *  For Push\n   *  WILL BE REMOVED VERY SOON. Use UserAgent_DEPRECATED.webkit\n   */\n  safari: function() {\n    return UserAgent_DEPRECATED.webkit();\n  },\n\n  /**\n   *  Check if the UA is a Chrome browser.\n   *\n   *\n   *  @return float|NaN Version number (if match) or NaN.\n   */\n  chrome : function() {\n    return _populate() || _chrome;\n  },\n\n\n  /**\n   *  Check if the user is running Windows.\n   *\n   *  @return bool `true' if the user's OS is Windows.\n   */\n  windows: function() {\n    return _populate() || _windows;\n  },\n\n\n  /**\n   *  Check if the user is running Mac OS X.\n   *\n   *  @return float|bool


n_Hau,
	"Phags_Pa":               Phags_Pa,
	"Phoenician":             Phoenician,
	"Psalter_Pahlavi":        Psalter_Pahlavi,
	"Rejang":                 Rejang,
	"Runic":                  Runic,
	"Samaritan":              Samaritan,
	"Saurashtra":             Saurashtra,
	"Sharada":                Sharada,
	"Shavian":                Shavian,
	"Siddham":                Siddham,
	"SignWriting":            SignWriting,
	"Sinhala":                Sinhala,
	"Sora_Sompeng":           Sora_Sompeng,
	"Sundanese":              Sundanese,
	"Syloti_Nagri":           Syloti_Nagri,
	"Syriac":                 Syriac,
	"Tagalog":                Tagalog,
	"Tagbanwa":               Tagbanwa,
	"Tai_Le":                 Tai_Le,
	"Tai_Tham":               Tai_Tham,
	"Tai_Viet":               Tai_Viet,
	"Takri":                  Takri,
	"Tamil":                  Tamil,
	"Telugu":                 Telugu,
	"Thaana":                 Thaana,
	"Thai":                   Thai,
	"Tibetan":                Tibetan,
	"Tifinagh":               Tifinagh,
	"Tirhuta":                Tirhuta,
	"Ugaritic":               Ugaritic,
	"Vai":                    Vai,
	"Warang_Citi":            Warang_Citi,
	"Yi":                     Yi,
}

var _Ahom = &RangeTable{
	R16: []Range16{},
	R32: []Range32{
		{0x11700, 0x11719, 1},
		{0x1171d, 0x1172b, 1},
		{0x11730, 0x1173f, 1},
	},
}

var _Anatolian_Hieroglyphs = &RangeTable{
	R16: []Range16{},
	R32: []Range32{
		{0x14400, 0x14646, 1},
	},
}

var _Arabic = &RangeTable{
	R16: []Range16{
		{0x0600, 0x0604, 1},
		{0x0606, 0x060b, 1},
		{0x060d, 0x061a, 1},
		{0x061e, 0x061e, 1},
		{0x0620, 0x063f, 1},
		{0x0641, 0x064a, 1},
		{0x0656, 0x066f, 1},
		{0x0671, 0x06dc, 1},
		{0x06de, 0x06ff, 1},
		{0x0750, 0x077f, 1},
		{0x08a0, 0x08b4, 1},
		{0x08e3, 0x08ff, 1},
		{0xfb50, 0xfbc1, 1},
		{0xfbd3, 0xfd3d, 1},
		{0xfd50, 0xfd8f, 1},
		{0xfd92, 0xfdc7, 1},
		{0xfdf0, 0xfdfd, 1},
		{0xfe70, 0xfe74, 1},
		{0xfe76, 0xfefc, 1},
	},
	R32: []Range32{
		{0x10e60, 0x10e7e, 1},
		{0x1ee00, 0x1ee03, 1},
		{0x1ee05, 0x1ee1f, 1},
		{0x1ee21, 0x1ee22, 1},
		{0x1ee24, 0x1ee24, 1},
		{0x1ee27, 0x1ee27, 1},
		{0x1ee29, 0x1ee32, 1},
		{0x1ee34, 0x1ee37, 1},
		{0x1ee39, 0x1ee39, 1},
		{0x1ee3b, 0x1ee3b, 1},
		{0x1ee42, 0x1ee42, 1},
		{0x1ee47, 0x1ee47, 1},
		{0x1ee49, 0x1ee49, 1},
		{0x1ee4b, 0x1ee4b, 1},
		{0x1ee4d, 0x1ee4f, 1},
		{0x1ee51


litterscale in the caves north of Thais and take its scale to Tereban.",
						[2] = "You handed the looted scale to Tereban.",
					},
				},
			},
		},
		[5] = {
			name = "Bigfoot's Burden",
			startStorageId = Storage.Quest.U9_60.BigfootsBurden.QuestLine,
			startStorageValue = 1,
			missions = {
				[1] = {
					name = "Looking for Gnomerik",
					storageId = Storage.Quest.U9_60.BigfootsBurden.QuestLine,
					missionId = 1033,
					startValue = 1,
					endValue = 2,
					description = "The dwarf Xelvar has sent you to meet the gnome Gnomerik. \z
						He can recruit you to the Bigfoot Company. \z
						Use the teleporter near Xelvar to enter the gnomish base and start looking for Gnomerik.",
				},
				[2] = {
					name = "A New Recruit",
					storageId = Storage.Quest.U9_60.BigfootsBurden.QuestLine,
					missionId = 1034,
					startValue = 3,
					endValue = 4,
					description = "You have found the gnomish recruiter and are ready to become a Bigfoot.",
				},
				[3] = {
					name = "Recruitment: A Test in Gnomology",
					storageId = Storage.Quest.U9_60.BigfootsBurden.QuestLine,
					missionId = 1035,
					startValue = 5,
					endValue = 7,
					states = {
						[5] = "Pass Gnomerik's test by answering his questions. \z
							If you fail to get a high enough score drink a mushroom beer and start again.",
						[6] = "You have passed the gnomish psychology test and can proceed to the medical exam. \z
							Talk to Gnomespector about your next examination.",
					},
				},
				[4] = {
					name = "Recruitment: Medical Examination",
					storageId = Storage.Quest.U9_60.BigfootsBurden.QuestLine,
					missionId = 1036,
					startValue = 8,
					endValue = 9,
					description = "Walk through the g-ray apparatus for your g-raying.",
				},
				[5] = {
					name = "Recruitment: Ear Examination",
					storageId = Storage.Quest.U9_60.BigfootsBurden.QuestLine,
					missionId = 1037,
					startValue = 10,
					endValue = 12,
					states = {
						[10] = "You have been g-rayed. It has been an ... unexpected experience. Now you are ready for your \z
							ear examination. Walk up to doctor Gnomedix and wait for him to finish your ear examination.",
						[11] = "You passed the ear examination. Well, at least most of you did. \z
							Now talk to Gnomaticus about your next test. ",
					},
				},
				[6] = {
					name = "Recruitment: Gnomish Warfare",
					storageId = Storage.Quest.U9_60.BigfootsBurden.Shooting,
					missionId = 1038,
					startValue = 0,
					endValue = 5,
					description = function(player)
						return string.format(
							"Hit five targets in a row. \z
						Don't hit an innocent target as it will reset your hit counter. %d / 5",
							(math.max(player:getStorageValue(Storage.Quest.U9_60.BigfootsBurden.Shooting), 0))
						)
					end,
				},
				[7] = {
					name = "Recruitment: Gnomish Warfare",
					storageId = Storage.Quest.U9_60.BigfootsBurden.QuestLine,
					missionId = 1039,
					startValue = 15,
					endValue = 16,
					description = "You are now ready for your endurance test. Talk to Gnomewart about it.",
				},
				[8] = {
					name


nil,nil,{[14]={{46.56,13.6},{46.39,13.63},{46.56,13.31},{46.38,13.26}}},14},
[180349] = {"Jar Orc 06",nil,nil,{[14]={{46.57,13.6},{46.53,13.27}}},14},
[180350] = {"Orc Jug 01",nil,nil,{[14]={{46.3,13.52},{46.49,13.7},{46.6,13.43},{46.3,13.41},{46.42,13.46}}},14},
[180351] = {"Orc Jug 02",nil,nil,{[14]={{46.58,13.42}}},14},
[180352] = {"General Torch 01",nil,nil,{[14]={{46.43,13.48},{46.46,13.72},{46.64,13.48},{46.46,13.2},{46.28,13.46}}},14},
[180353] = {"Freestanding Torch 01",nil,nil,{[1]={{52.9,36.68},{52.87,36.39},{52.8,36.95},{52.76,36.68}}},1},
[180358] = {"Gri'lek, with the Iron Blood",nil,nil,{[1977]={{-1,-1}}},1977},
[180364] = {"Hazza'rah, the Dreamweaver",nil,nil,{[1977]={{-1,-1}}},1977},
[180365] = {"Renataki, of the Thousand Blades",nil,nil,{[1977]={{-1,-1}}},1977},
[180366] = {"Battered Tackle Box",{8227},nil,{[1977]={{-1,-1}}},1977},
[180368] = {"Tablet of Madness",nil,nil,{[1977]={{-1,-1}}},1977},
[180369] = {"Muddy Churning Waters",nil,nil,{[1977]={{-1,-1}}},1977},
[180370] = {"Harvest Fruit",nil,nil,{[1]={{52.83,36.44},{52.82,36.91},{52.83,36.66},{52.82,36.49},{52.84,36.55},{52.84,36.71},{52.83,36.81}},[14]={{46.51,13.26},{46.37,13.28},{46.61,13.38},{46.35,13.59},{46.31,13.36},{46.41,13.66},{46.54,13.64},{46.59,13.55}}},14},
[180371] = {"Harvest Fish",nil,nil,{[1]={{52.84,36.71},{52.83,36.81},{52.83,36.66},{52.82,36.49},{52.83,36.44},{52.84,36.55},{52.82,36.91}},[14]={{46.59,13.55},{46.41,13.66},{46.61,13.38},{46.54,13.64},{46.37,13.28},{46.51,13.26},{46.31,13.36},{46.35,13.59}}},14},
[180372] = {"Harvest Boar",nil,nil,{[1]={{52.83,36.44},{52.83,36.66},{52.84,36.55},{52.82,36.49},{52.84,36.71},{52.83,36.81},{52.82,36.91}},[14]={{46.54,13.64},{46.61,13.38},{46.35,13.59},{46.31,13.36},{46.51,13.26},{46.37,13.28},{46.59,13.55},{46.41,13.66}}},14},
[180373] = {"Harvest Nectar",nil,nil,{[1]={{52.84,36.89},{52.85,36.63},{52.84,36.77},{52.85,36.48},{52.82,36.77},{52.82,36.62},{52.82,36.88},{


, profile string) {
	defer PostMortemLogs(t, profile)
	args := []string{"image", "build", "-t", "aaa:latest", "./testdata/image-build/test-normal", "-p", profile}
	rr, err := Run(t, exec.CommandContext(ctx, Target(), args...))
	if err != nil {
		t.Fatalf("failed to build image with args: %q : %v", rr.Command(), err)
	}
}

// validateNormalImageBuildWithSpecifiedDockerfile is normal test case for minikube image build, with -t and -f parameter
func validateNormalImageBuildWithSpecifiedDockerfile(ctx context.Context, t *testing.T, profile string) {
	defer PostMortemLogs(t, profile)
	args := []string{"image", "build", "-t", "aaa:latest", "-f", "inner/Dockerfile", "./testdata/image-build/test-f", "-p", profile}
	rr, err := Run(t, exec.CommandContext(ctx, Target(), args...))
	if err != nil {
		t.Fatalf("failed to build image with args: %q : %v", rr.Command(), err)
	}
}

// validateImageBuildWithBuildArg is a test case building with --build-opt
func validateImageBuildWithBuildArg(ctx context.Context, t *testing.T, profile string) {
	// test case for bug in https://github.com/kubernetes/minikube/issues/12384
	defer PostMortemLogs(t, profile)
	args := []string{"image", "build", "-t", "aaa:latest", "--build-opt=build-arg=ENV_A=test_env_str", "--build-opt=no-cache", "./testdata/image-build/test-arg", "-p", profile}
	rr, err := Run(t, exec.CommandContext(ctx, Target(), args...))
	if err != nil {
		t.Fatalf("failed to build image with args: %q : %v", rr.Command(), err)
	}
	output := rr.Output()
	if !strings.Contains(output, "test_env_str") {
		t.Fatalf("failed to pass build-args with args: %q : %s", rr.Command(), output)
	}
}

// validateImageBuildWithBuildEnv is a test case building with --build-env
func validateImageBuildWithBuildEnv(ctx context.Context, t *testing.T, profile string) {
	defer PostMortemLogs(t, profile)

	// current this test cannot be passed because issue https://github.com/kubernetes/minikube/issues/12431 hasn't been fixed, so this test case is not enabled
	t.Skip("skipping due to https://github.com/kubernetes/minikube/issues/12431")

	args := []string{"image", "build", "--build-opt=help", "--build-env=DOCKER_BUILDKIT=1", ".", profile}
	rr, err := Run(t, exec.CommandContext(ctx, Target(), args...))
	if err != nil {
		t.Fatalf("failed to build image with args: %q : %v", rr.Command(), err)
	}
	output := rr.Stdout.String()
	if strings.Contains(output, "--cgroup-parent") {
		// when DOCKER_BUILDKIT=0, "docker build" has the --cgroup-parent parameter, and when DOCKER_BUILDKIT=1, DOCKER_BUILDKIT doesn't provide this option at all.
		// we have set --build-env=DOCKER_BUILDKIT=1 so --cgroup-parent should not appear in help page
		t.Fatalf("failed to pass envs for command %q : %v", rr.Command(), err)
	}
}

// validateImageBuildWithDockerIgnore is a test case building with .dockerignore
func validateImageBuildWithDockerIgnore(ctx context.Context, t *testing.T, profile string) {
	defer PostMortemLogs(t, profile)
	args := []string{"image", "build", "-t", "aaa:latest", "./testdata/image-build/test-normal", "--build-opt=no-cache", "-p


-dark: $gray-300;
$dots-dark: darken($body-color-dark, 50%);

$color-dark-line: #1f434c;
$color-dark-card-bg: #10262b;
$color-dark-cyan: #84ebd9;
$color-dark-blue: #6ab0e5;
$color-dark-blue-200: #1565c0;
$color-dark-purple: #d35af7;
$color-dark-yellow: #fdec6d;
$color-dark-pink: #ed6d91;
$color-dark-pink-200: #dd556a;
$color-dark-pink-300: #e952a6;
$color-dark-red: #eb4344;
$color-dark-orange: #f1964f;
$color-dark-code-bg: #202020;

[icy-dark-mode] body .navigation .navigation-list .navigation-dark .toggle-light {
  display: block;
  color: $color-dark-cyan;
}

[icy-dark-mode] body .navigation .navigation-list .navigation-dark .toggle-dark {
  display: none;
}

[icy-dark-mode] body {
  background: $color-dark-line;
  color: $body-color-dark;
}

[icy-dark-mode] body a {
  color: $body-color-dark;
}

[icy-dark-mode] body a.text-body {
  color: $body-color-dark;
}

[icy-dark-mode] body .navigation-link:hover,
[icy-dark-mode] body .navigation-link:focus,
[icy-dark-mode] body .navigation-brand:hover,
[icy-dark-mode] body .navigation-brand:focus {
  color: $color-dark-cyan;
}

[icy-dark-mode] h1,
[icy-dark-mode] h2,
[icy-dark-mode] h3,
[icy-dark-mode] h4,
[icy-dark-mode] h5,
[icy-dark-mode] h6 {
  color: $body-color-dark;

  .heading-link {
    color: $body-color-dark;
  }
}

[icy-dark-mode] code {
  background-color: $color-dark-code-bg;
}

[icy-dark-mode] .highlight>pre,
[icy-dark-mode] .highlight>div {
  background-color: $color-dark-code-bg !important;
}

[icy-dark-mode] pre {

  code {
    display: inline-block;
    background-color: $color-dark-code-bg;
    color: inherit;
  }
}

[icy-dark-mode] blockquote {
  border-left: 3px solid $body-color-dark !important;
}

[icy-dark-mode] body .blog-card {
  background: $color-dark-card-bg;
  border: 1px solid $color-dark-line;

  h3 a {
    color: $color-dark-cyan;
  }

  p small {
    color: $color-dark-cyan
  }

  p small a {
    color: $color-dark-cyan
  }
}

[icy-dark-mode] body .blog-toc {
  a:hover {
    color: $body-color-dark;
  }
}

[icy-dark-mode] .top-link {
  background: $border-dark;
}

[icy-dark-mode] .top-link svg {
  color: $body-color-dark;
}

[icy-dark-mode] .footer a:hover,
[icy-dark-mode] .top-link:hover {
  background: $body-overlay-dark;
}

[icy-dark-mode] .archive-count,
[icy-dark-mode] .archive-meta {
  color: $gray-300;
  font-size: 1.5rem;
}

[icy-dark-mode] .blog-single .related-resources {
  border-top: 1px solid $body-color-dark;
}

[icy-dark-mode] body .language-item a:hover {
  color:


=3218127%40modula-best-grid-gallery&new=3218127%40modula-best-grid-gallery&sfp_email=&sfph_mail=
[2]https://www.wordfence.com/threat-intel/vulnerabilities/id/ef86b1f2-d5aa-4e83-a792-5fa35734b3d3?source=cve |
| 22 | CVE-2024-12854 | 8.8  | HIGH | WordPress的Garden Gnome Package插件由于在自动提取上传的`ggpkg`文件时缺少文件类型验证，在所有版本中（包括2.3.0）都存在任意文件上传漏洞。这使得认证攻击者（具有作者及以上权限）有可能在受影响站点的服务器上上传任意文件，从而可能实现远程代码执行。 | [1]https://plugins.trac.wordpress.org/changeset?sfp_email=&sfph_mail=&reponame=&old=3215986%40garden-gnome-package&new=3215986%40garden-gnome-package&sfp_email=&sfph_mail=
[2]https://www.wordfence.com/threat-intel/vulnerabilities/id/6bcfc8f1-e962-4ad7-8a9d-89ce5c9022b6?source=cve |
| 23 | CVE-2024-11423 | 7.5  | HIGH | 《终极礼品卡插件》（适用于WooCommerce）——创建、管理WooCommerce礼品卡、礼券和数字优惠券。WordPress的个性化模板插件（提供礼品证书、安排礼品卡以及使用高级优惠券功能）在所有版本（直到并包括3.0.6）中存在数据未经授权被修改的风险，因为在多个REST API端点（如/wp-json/gifting/recharge-giftcard）缺少必要的权限检查。这使得未认证的攻击者能够在不进行支付的情况下充值礼品卡余额，并且可以在没有购买任何东西的情况下减少礼品卡余额。 | [1]https://plugins.trac.wordpress.org/changeset/3212554/woo-gift-cards-lite/trunk/includes/giftcard-redeem-api-addon.php
[2]https://plugins.trac.wordpress.org/changeset?sfp_email=&sfph_mail=&reponame=&old=3208474%40woo-gift-cards-lite&new=3208474%40woo-gift-cards-lite&sfp_email=&sfph_mail=
[3]https://www.wordfence.com/threat-intel/vulnerabilities/id/836884b5-f547-4f50-8a97-5d910d877e5e?source=cve |
| 24 | CVE-2025-21102 | 7.5  | HIGH | 戴尔VxRail版本7.0.000至7.0.532包含明文存储密码漏洞。具有高权限的攻击者若能进行本地访问，则可能利用


Y WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU Lesser General Public License 2.1 for more details.
 *
 * You should have received a copy of the GNU Lesser General Public
 * License version 2.1 along with this program.
 * If not, see <http://www.gnu.org/licenses/>.
 */
package it.sauronsoftware.ftp4j;

/**
 * Static property keys used by the library.
 *
 * @author Carlo Pelliccia
 * @since 1.3
 */
interface FTPKeys {

	/**
	 * The key used to retrieve the system property with the port range for
	 * active data transfers. The value has to be in the
	 * startPort-endPort form.
	 */
	public String ACTIVE_DT_PORT_RANGE = "ftp4j.activeDataTransfer.portRange";

	/**
	 * The key used to retrieve the system property with the host IPv4 address
	 * for active data transfers. The value has to be in the x.x.x.x
	 * form.
	 */
	public String ACTIVE_DT_HOST_ADDRESS = "ftp4j.activeDataTransfer.hostAddress";

	/**
	 * The key used to retrieve the system property with the accept timeout for
	 * active data transfars. The value should be ms. Default value is 30000. A
	 * 0 value stands for infinite.
	 */
	public String ACTIVE_DT_ACCEPT_TIMEOUT = "ftp4j.activeDataTransfer.acceptTimeout";

	/**
	 * The key used to retrieve the system property that can force the client to
	 * exchange data by connecting to the IP address suggested by the server
	 * after a PASV command. To avoid frequently reported NAT problems, ftp4j
	 * connects always to the host supplied in the
	 * {@link FTPClient#connect(String)} or
	 * {@link FTPClient#connect(String, int)} methods. The response of a PASV
	 * command is used only to decode the port for the connection. By using the
	 * value "true", "yes" or "1" on this system
	 * property, ftp4j will change its behaviour and it will connect to the IP
	 * address returned from the server.
	 *
	 * @since 1.5
	 */
	public String PASSIVE_DT_USE_SUGGESTED_ADDRESS = "ftp4j.passiveDataTransfer.useSuggestedAddress";

}
/*
 * ftp4j - A pure Java FTP client library
 *
 * Copyright (C) 2008-2010 Carlo Pelliccia (www.sauronsoftware.it)
 *
 * This program is free software: you can redistribute it and/or modify
 * it under the terms of the GNU Lesser General Public License version
 * 2.1, as published by the Free Software Foundation.
 *
 * This program is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU Lesser General Public License 2.1 for more details.
 *
 * You should have received a copy of the GNU Lesser General Public
 * License version 2.1 along with this program.
 * If not, see <http://www.gnu.org/licenses/>.
 */
package it.sauronsoftware.ftp4j.connectors;

import it.sauronsoftware.ftp4j.FTPCommunicationChannel;
import it.sauronsoftware.ftp4j.FTPConnector;
import it.sauronsoftware.ftp4j.FTPIllegalReplyException;
import it.sauronsoftware.ftp4j.FTPReply;

import java.io.IOException;
import java.net.Socket;

/**
 * This one connects a remote host via a FTP proxy which supports the SITE or
 * the OPEN proxy method.
 *
 * The connector's default value for the
 * useSuggestedAddressForDataConnections flag is true.
 *
 * @author Carlo Pelliccia
 */


�"&&天爻.阴阳()=="阳") {
            return ["离","火"];
        }
        if(地爻.阴阳()=="阳"&&人爻.阴阳()=="阳"&&天爻.阴阳()=="阴") {
            return ["兑","泽"];
        }
        if(地爻.阴阳()=="阳"&&人爻.阴阳()=="阴"&&天爻.阴阳()=="阴") {
            return ["震","雷"];
        }
        if(地爻.阴阳()=="阴"&&人爻.阴阳()=="阳"&&天爻.阴阳()=="阴") {
            return ["坎","水"];
        }
        if(地爻.阴阳()=="阴"&&人爻.阴阳()=="阴"&&天爻.阴阳()=="阳") {
            return ["艮","山"];
        }
        if(地爻.阴阳()=="阴"&&人爻.阴阳()=="阴"&&天爻.阴阳()=="阴") {
            return ["坤","地"];
        }
        throw new Error("卦错了 可能是程序的问题");
    }
}

let names= {
    "天":{"天":"乾",    "风":"垢",      "山":"遁",      "地":"否",      "水":"讼",      "火":"同人",    "雷":"无妄",    "泽":"履"},
    "风":{"风":"巽",    "天":"小畜",    "火":"家人",    "地":"观",      "雷":"益",      "水":"涣",      "泽":"中孚",    "山":"渐"},
    "山":{"山":"艮",    "火":"贲",      "天":"大畜",    "泽":"损",      "风":"蛊",      "地":"剥",      "水":"蒙",      "雷":"颐"},
    "地":{"地":"坤",    "雷":"复",      "泽":"临",      "天":"泰",      "山":"谦",      "风":"升",      "火":"明夷",    "水":"师"},
    "雷":{"雷":"震",    "地":"豫",      "水":"解",      "风":"恒",      "山":"小过",    "泽":"归妹",    "火":"丰",      "天":"大壮"},
    "泽":{"泽":"兑",    "水":"困",      "地":"萃",      "山":"咸",      "风":"大过",    "雷":"随",      "火":"革",      "天":"夬"},
    "水":{"水":"坎",    "泽":"节",      "雷":"屯",      "火":"既济",    "山":"蹇",      "风":"井",      "天":"需",      "地":"比"},
    "火":{"火":"离",    "山":"旅",      "风":"鼎",      "水":"未济",    "天":"大有",    "雷":"噬嗑",    "泽":"睽",      "地":"晋"}} ;

enum 五行 {
    木,火,土,金,水
}
class 六爻卦 {
    卦名:string;
    外卦:三爻卦;
    内卦:三爻卦;
    初爻:爻;
    二爻:爻;
    三爻:爻;
    四爻:爻;
    五爻:爻;
    上爻:爻;
    世应:[爻,爻];
    五行:五行;
    constructor(初爻:爻,


cardIndex - 1);
            return new Vector3(x, 0f, 0f);
        }

        private float CalculateCardPositionShift(int cardIndex)
        {
            if (indexOfFocusedCardUI == -1)
            {
                return 0f;
            }

            if (cardIndex == indexOfFocusedCardUI)
            {
                return 0f;
            }

            int offset = cardIndex - indexOfFocusedCardUI;
            var minus = false;
            if (offset < 0)
            {
                offset = -offset;
                minus = true;
            }

            float shift = shiftXAmountByFocusedCard - shiftXFalloffByFocusedCard * (offset - 1);
            if (shift < 0f)
            {
                return 0f;
            }

            if (minus)
            {
                shift = -shift;
            }
            return shift;
        }

        public void AddCards(IReadOnlyList<Card> cards)
        {
            for (var i = 0; i < cards.Count; i++)
            {
                AddCard(cards[i]);
            }
        }

        public void AddCard(Card card)
        {
            CardUI cardUI = Instantiate(cardUIPrefab, cardsRoot);
            cardUIs.Add(cardUI);

            if (card != null)
            {
                cardUI.Clicked += SelectCard;
                cardUI.Hovered += ShowFocusedCard;
                cardUI.Unhovered += Hide


return b[:n], nil
	}
}
func (m *OrderRemoval) XXX_Merge(src proto.Message) {
	xxx_messageInfo_OrderRemoval.Merge(m, src)
}
func (m *OrderRemoval) XXX_Size() int {
	return m.Size()
}
func (m *OrderRemoval) XXX_DiscardUnknown() {
	xxx_messageInfo_OrderRemoval.DiscardUnknown(m)
}

var xxx_messageInfo_OrderRemoval proto.InternalMessageInfo

func (m *OrderRemoval) GetOrderId() OrderId {
	if m != nil {
		return m.OrderId
	}
	return OrderId{}
}

func (m *OrderRemoval) GetRemovalReason() OrderRemoval_RemovalReason {
	if m != nil {
		return m.RemovalReason
	}
	return OrderRemoval_REMOVAL_REASON_UNSPECIFIED
}

func init() {
	proto.RegisterEnum("dydxprotocol.clob.OrderRemoval_RemovalReason", OrderRemoval_RemovalReason_name, OrderRemoval_RemovalReason_value)
	proto.RegisterType((*OrderRemoval)(nil), "dydxprotocol.clob.OrderRemoval")
}

func init() {
	proto.RegisterFile("dydxprotocol/clob/order_removals.proto", fileDescriptor_60fa12f781955c9f)
}

var fileDescriptor_60fa12f781955c9f = []byte{
	// 500 bytes of a gzipped FileDescriptorProto
	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x7c, 0x92, 0x5d, 0x6b, 0x13, 0x41,
	0x14, 0x86, 0xb3, 0xfd, 0x76, 0xb4, 0x65, 0x1d, 0xbc, 0x28, 0x11, 0xb7, 0x35, 0x60, 0x2d, 0x48,
	0x37, 0x5a, 0xeb, 0x07, 0xd4, 0x9b, 0xcd, 0xce, 0x09, 0x0c, 0x99, 0xec, 0x84, 0x99, 0xdd, 0x68,
	0x7a, 0x73, 0xc8, 0x17, 0x69, 0x20, 0xed, 0x94, 0x4d, 0x2c, 0xed, 0x9d, 0x3f, 0xc1, 0x9f, 0xd5,
	0xcb, 0x5e, 0x7a, 0x21, 0x22, 0xc9, 0x1f, 0x91, 0xec, 0x06, 0x69, 0xb6, 0xc6, 0xab, 0x99, 0x73,
	0xce, 0xf3, 0xbe, 0xef, 0x61, 0x18, 0xb2, 0xd7, 0xb9, 0xee, 0x5c, 0x5d, 0xc4, 0x66, 0x64, 0xda,
	0x66, 0x50, 0x6c, 0x0f


 * 2) On Store update it will re render the component and UI will be updated.
 */
export const getChatClient = async () => {
    const channelId = localStorage.getItem('streamerId');
    if (!channelId) {
        return;
    }
    const clientId = CLIENT_ID;
    const clientSecret = SECRET;
    const refreshToken = localStorage.getItem('refreshToken');
    const expiryTimestamp = localStorage.getItem('expiryTimestamp');
    const accessToken = localStorage.getItem('token');
    const tokenData = {
        refreshToken: refreshToken ? refreshToken : null,
        expiryTimestamp: expiryTimestamp ? expiryTimestamp : null,
        clientSecret,
        accessToken: accessToken ? accessToken : null
    } as any;
    const twitchClient = await TwitchClient.withCredentials(clientId, tokenData.accessToken, undefined, {
        clientSecret,
        refreshToken: tokenData.refreshToken,
        expiry: tokenData.expiryTimestamp === null ? null : new Date(tokenData.expiryTimestamp),
        onRefresh: async ({ accessToken, refreshToken, expiryDate }) => {
            const expiryTimestamp = expiryDate === null ? null : expiryDate.getTime();
            localStorage.setItem('token', accessToken);
            localStorage.setItem('refreshToken', refreshToken);
            localStorage.setItem('expiryTimestamp', `${expiryTimestamp}`);
        }
    });

    const chatClient = await ChatClient.forTwitchClient(twitchClient);

    await chatClient.connect();
    await chatClient.waitForRegistration();
    await chatClient.join(channelId);

    chatClient.onPrivmsg((channel: any, user: any, message: any) => {
        if (message === '!ping') {
            chatClient.say(channel, 'Pong!');
        }
        const color = randomColor({ luminosity: 'dark' });
        store.dispatch(messageReceived({
            message, user: `<span style="font-weight: bold;color: ${color}">${user}</span>`
        }));
    });
    chatClient.onSub((channel: any, user: any) => {
        store.dispatch(eventReceived(`Thanks to @${user} for subscribing to the channel!`));
    });
    chatClient.onResub((channel: any, user: any, subInfo: any) => {
        store.dispatch(eventReceived(`Thanks to @${user} for subscribing to the channel for a total of ${subInfo.months} months!`));
    });
    chatClient.onSubGift((channel: any, user: any, subInfo: any) => {
        store.dispatch(eventReceived(`Thanks to ${subInfo.gifter} for gifting a subscription to ${user}!`));
    });
    return chatClient;
};

export let CHAT_CLIENT: any = undefined;
export const connect = async () => {
    CHAT_CLIENT = await getChatClient();
};import { promises as fs } from "fs";
import { join as pathJoin } from "path";

import { ConfigError } from "./config-error";

export class ConfigLoader {
  /**
   * Returns a Config with loaded values from environment variables or the config file.
   *
   * @throws {ConfigError} If not all required values could be loaded.
   * @static
   * @returns {Promise<Config>}
   * @memberof ConfigLoader
   */
  public static async load<T>(T: { new (): T }): Promise<T> {
    const config = new T();
    const parameters = Object.keys(config);

    const loadedConfig = await this.loadConfig(parameters);
    parameters.forEach((key) => {
      if (config[key] === undefined && loadedConfig[key] === undefined) {
        throw new ConfigError(`Missing parameter ${key}.`);
      } else if (loadedConfig[key] !== undefined) {
        config[key] = loadedConfig[key];
      }


string, uint]](),
		PendingForcedChanges:   []PendingChange[string, uint]{},
		AuthoritySetChanges:    AuthoritySetChanges[uint]{},
	}

	setA := pgrandpa.AuthorityList{
		pgrandpa.AuthorityIDWeight{
			AuthorityID:     newTestPublic(t, 1),
			AuthorityWeight: 5,
		},
	}

	finalisedKind := delayKindFinalized{}

	changeA := PendingChange[string, uint]{
		NextAuthorities: setA,
		Delay:           10,
		CanonHeight:     5,
		CanonHash:       hashA,
		DelayKind:       finalisedKind,
	}

	changeB := PendingChange[string, uint]{
		NextAuthorities: setA,
		Delay:           10,
		CanonHeight:     20,
		CanonHash:       hashB,
		DelayKind:       finalisedKind,
	}

	err := authorities.addPendingChange(changeA, staticIsDescendentOf[string](false))
	require.NoError(t, err)

	err = authorities.addPendingChange(changeB, staticIsDescendentOf[string](true))
	require.NoError(t, err)

	isDescOf := isDescendentof(func(h1 string, h2 string) (bool, error) {
		if h1 == hashA && h2 == hashD ||
			h1 == hashA && h2 == "hash_e" ||
			h1 == hashB && h2 == hashD ||
			h1 == hashB && h2 == "hash_e" {
			return true, nil
		} else if h1 == hashA && h2 == hashC ||
			h1 == hashB && h2 == hashC {
			return false, nil
		} else {
			panic("unreachable")
		}
	})

	// hashC won't finalise the existing HashNumber since it isn't a descendent
	res, err := authorities.EnactsStandardChange(hashC, 15, isDescOf)
	require.NoError(t, err)
	require.Nil(t, res)

	// hashD at depth 14 won't work either
	res, err = authorities.EnactsStandardChange(hashD, 14, isDescOf)
	require.NoError(t, err)
	require.Nil(t, res)

	// but it should work at depth 15 (HashNumber height + depth)
	res, err = authorities.EnactsStandardChange(hashD, 15, isDescOf)
	require.NoError(t, err)
	require.Equal(t, true, *res)

	// finalising "hash_e" at depth 20 will trigger HashNumber at hashB, but
	// it can't be applied yet since hashA must be applied first
	res, err = authorities.EnactsStandardChange("hash_e", 30, isDescOf)
	require.NoError(t, err)
	require.Equal(t, false, *res)
}

func TestForceChanges(t *testing.T) {
	authorities := AuthoritySet[string, uint]{
		SetID:                  0,
		PendingStandardChanges: forktree.NewForkTree[string, uint, PendingChange[string, uint]](),
		PendingForcedChanges:   []PendingChange[string, uint]{},
		AuthoritySetChanges:    AuthoritySetChanges[uint]{},
	}

	setA := pgrandpa.AuthorityList{
		pgrandpa.AuthorityIDWeight{
			AuthorityID:     newTestPublic(t, 1),
			AuthorityWeight: 5,
		},
	}

	setB := pgrandpa.AuthorityList{
		pgrandpa.AuthorityIDWeight{
			AuthorityID:     newTestPublic(t, 2),
			AuthorityWeight: 5,
		},
	}

	finalisedKindA := delayKindBest[uint]{42}

	finalisedKindB := delayKindBest[uint]{0}

	changeA := PendingChange[string, uint]{
		NextAuthorities: setA,
		Delay:           10,
		CanonHeight:     5,
		CanonHash:       hashA,
		DelayKind:       finalisedKindA,
	}

	change


/*
 * Copyright 2009-2017 Alibaba Cloud All rights reserved.
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *      http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */

#ifndef ALIBABACLOUD_ALIDNS_MODEL_DESCRIBETRANSFERDOMAINSREQUEST_H_
#define ALIBABACLOUD_ALIDNS_MODEL_DESCRIBETRANSFERDOMAINSREQUEST_H_

#include <alibabacloud/alidns/AlidnsExport.h>
#include <alibabacloud/core/RpcServiceRequest.h>
#include <string>
#include <vector>
#include <map>

namespace AlibabaCloud {
namespace Alidns {
namespace Model {
class ALIBABACLOUD_ALIDNS_EXPORT DescribeTransferDomainsRequest : public RpcServiceRequest {
public:
	DescribeTransferDomainsRequest();
	~DescribeTransferDomainsRequest();
	long getFromUserId() const;
	void setFromUserId(long fromUserId);
	long getPageNumber() const;
	void setPageNumber(long pageNumber);
	long getTargetUserId() const;
	void setTargetUserId(long targetUserId);
	long getPageSize() const;
	void setPageSize(long pageSize);
	std::string getLang() const;
	void setLang(const std::string &lang);
	std::string getDomainName() const;
	void setDomainName(const std::string &domainName);
	std::string getTransferType() const;
	void setTransferType(const std::string &transferType);
	std::string getUserClientIp() const;
	void setUserClientIp(const std::string &userClientIp);

private:
	long fromUserId_;
	long pageNumber_;
	long targetUserId_;
	long pageSize_;
	std::string lang_;
	std::string domainName_;
	std::string transferType_;
	std::string userClientIp_;
};
} // namespace Model
} // namespace Alidns
} // namespace AlibabaCloud
#endif // !ALIBABACLOUD_ALIDNS_MODEL_DESCRIBETRANSFERDOMAINSREQUEST_H_


              |03 김수겸 IDC코리아 부사장(이하 IDC) : 데이터 양에 비해 생각하는 것보다 저장해야 하는 데이터는 생각보다 많지 않을 수 있다. 인공지능이 데이터를 분석하더라도 너무 많은 데이터는 확인 후 버리거나 중요한 것에 한해 요약본을 가질 것이다. 중요한 데이터만 기준을 적용한다.
              |03 많은 데이터를 처리하면서 새로운 정보나 인사이트를 얻을 수도 있지만, 예측하지 못했던 취약점도 나타날 수 있다. 개별적으로 보면 의미가 없던 것이 하나로 합쳐졌을 때 개인 정보일 수도 있듯이 말이다. 이런 취약점에는 어떻게 대응할 수 있을까.
              |08 씨게이트 : 데이터의 증가로 나타날 수 있는 이슈는 4가지가 있다. 어디에 데이터를 저장할 것인지, 생성된 방대한 데이터를 어떻게 분석할 것인지, 데이터를 엔드포인트에서 코어로 어떻게 이동시킬 것인지, 그리고 마지막으로 데이터의 보안까지. 앞서서 말한 것처럼 전체적으로 보안이 되어야 하는 절반 정도만이 보안 적용돼 있다. 이를 해결하기 위해서는 어디서 데이터를 보호하고 어느 만큼 커버할 것인지 단계별 보완책을 만들어야 한다. 씨게이트는 데이터 센터를 위한 솔루션을 공급하면서 암호화가 가능한 기기가 제공할 수 있지만, 엔드포인트에서 보안 취약점이 남아있을 수도 있다. 이런 부분에서는 솔루션을 우리가 모색을 해야한다. 엔드포인트-엣지-코어로 데이터 이동에도 적용 가능한 보안 점이 필요하고 현재는 부족한 점이 있다. 업계에서


checkpoint.vocab = loader.vocab_mapping
        torch.save(savefile, checkpoint)
    end

    if i % opt.print_every == 0 then
        print(string.format("%d/%d (epoch %.3f), train_loss = %6.8f, grad/param norm = %6.4e, time/batch = %.4fs", i, iterations, epoch, train_loss, grad_params:norm() / params:norm(), time))
    end

    if i % 10 == 0 then collectgarbage() end

    -- handle early stopping if things are going really bad
    if loss[


ew d(c2, d2, f);
                    this.b.add(dVar2);
                    s sVar = this.e;
                    if (sVar != null) {
                        sVar.a(dVar2);
                    }
                }
                return true;
            }
        }
        return false;
    }
}
package c.a.a.y.c;

import bsh.org.objectweb.asm.Constants;
import c.a.a.h;
import java.io.UnsupportedEncodingException;
import java.util.ArrayList;
import java.util.Collection;

/* loaded from: classes.dex */
final class c {
    private static final char[] a = {'*', '*', '*', ' ', '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z'};
    private static final char[] b = {'!', '\"', '#', '$', '%', '&', '\'', '(', ')', '*', '+', ',', '-', '.', '/', ':', ';', '<', '=', '>', '?', '@', '[', '\\', ']', '^', '_'};

    /* renamed from: c, reason: collision with root package name */
    private static final char[] f1319c = {'*', '*', '*', ' ', '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z'};

    /* renamed from: d, reason: collision with root package name */
    private static final char[] f1320d = {'`', 'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z', '{', '|', '}', '~', 127};

    /* loaded from: classes.dex */
    static /* synthetic */ class a {
        static final /* synthetic */ int[] a;

        static {
            int[] iArr = new int[b.values().length];
            a = iArr;
            try {
                iArr[b.C40_ENCODE.ordinal()] = 1;
            } catch (NoSuchFieldError unused) {
            }
            try {
                a[b.TEXT_ENCODE.ordinal()] = 2;
            } catch (NoSuchFieldError unused2) {
            }
            try {
                a[b.ANSIX12_ENCODE.ordinal()] = 3;
            } catch (NoSuchFieldError unused3) {
            }
            try {
                a[b.EDIFACT_ENCODE.ordinal()] = 4;
            } catch (NoSuchFieldError unused4) {
            }
            try {
                a[b.BASE256_ENCODE.ordinal()] = 5;
            } catch (NoSuchFieldError unused5) {
            }
        }
    }

    /* JADX INFO: Access modifiers changed from: private */
    /* loaded from: classes.dex */
    public enum b {
        PAD_ENCODE,
        ASCII_ENCODE,
        C40_ENCODE,
        TEXT_ENCODE,
        ANSIX12_ENCODE,
        EDIFACT_ENCODE,
        BASE256_ENCODE
    }

    /* JADX INFO: Access modifiers changed from: package-private */
    public static c.a.a.x.e a(byte[] bArr) {
        c.a.a.x.c cVar = new c.a.a.x.c(bArr);
        StringBuilder sb = new StringBuilder(100);
        StringBuilder sb2 = new StringBuilder(0);
        ArrayList arrayList = new ArrayList(1);


	app := testApp(nil, ConfigDistributedTracerEnabled(false), t)
	dr := InstrumentSQLDriver(testDriver{}, testBuilder)
	txn := app.StartTransaction("hello")
	connector, _ := dr.(driver.DriverContext).OpenConnector("myhost,myport,mydatabase")
	conn, _ := connector.Connect(nil)
	ctx := NewContext(context.Background(), txn)
	conn.(driver.ExecerContext).ExecContext(ctx, "myoperation,mycollection", nil)
	txn.End()
	app.ExpectMetrics(t, driverTestMetrics)
}

func TestInstrumentSQLConnector(t *testing.T) {
	// Test that connections returned by an instrumented driver.Connector
	// are instrumented.
	app := testApp(nil, ConfigDistributedTracerEnabled(false), t)
	bld := testBuilder
	bld.BaseSegment.Host = "myhost"
	bld.BaseSegment.PortPathOrID = "myport"
	bld.BaseSegment.DatabaseName = "mydatabase"
	connector := InstrumentSQLConnector(testConnector{}, bld)
	txn := app.StartTransaction("hello")
	conn, _ := connector.Connect(nil)
	ctx := NewContext(context.Background(), txn)
	conn.(driver.ExecerContext).ExecContext(ctx, "myoperation,mycollection", nil)
	txn.End()
	app.ExpectMetrics(t, driverTestMetrics)
}

func TestConnectorToDriver(t *testing.T) {
	// Test that driver.Connector.Driver returns an instrumented Driver.
	app := testApp(nil, ConfigDistributedTracerEnabled(false), t)
	connector := InstrumentSQLConnector(testConnector{}, testBuilder)
	txn := app.StartTransaction("hello")
	dr := connector.Driver()
	conn, _ := dr.Open("myhost,myport,mydatabase")
	ctx := NewContext(context.Background(), txn)
	conn.(driver.ExecerContext).ExecContext(ctx, "myoperation,mycollection", nil)
	txn.End()
	app.ExpectMetrics(t, driverTestMetrics)
}

type testConnectorErr struct {
	testConnector
}

func (c testConnectorErr) Connect(context.Context) (driver.Conn, error) { return testConnErr{}, nil }

type testConnErr struct {
	testConn
}

func (c testConnErr) QueryContext(context.Context, string, []driver.NamedValue) (driver.Rows, error) {
	return nil, driver.ErrSkip
}

func (c testConnErr) ExecContext(context.Context, string, []driver.NamedValue) (driver.Result, error) {
	return nil, driver.ErrSkip
}

// Ensure that if the driver used returns driver.ErrSkip that spans still have correct parentage
func TestExecContextErrSkipReturned(t *testing.T) {
	app := testApp(distributedTracingReplyFields, enableBetterCAT, t)
	connector := InstrumentSQLConnector(testConnectorErr{}, testBuilder)
	txn := app.StartTransaction("hello")
	conn, _ := connector.Connect(nil)
	ctx := NewContext(context.Background(), txn)

	conn.(driver.ExecerContext).ExecContext(ctx, "myoperation,mycollection", nil)
	txn.StartSegment("second").End()
	txn.End()

	parentGUID := "4981855ad8681d0d"
	app.ExpectSpanEvents(t, []internal.WantEvent{
		{
			Intrinsics: map[string]interface{}{
				"name":     "Custom/second",
				"parentId": parentGUID,
				"category": "generic",
			},
			AgentAttributes: map[string]interface{}{},
		},
		{
			Intrinsics: map[string]interface{}{
				"name":             "OtherTransaction/Go/hello",
				"guid":             parentGUID,
				"nr.entryPoint":    true,
				"category":         "generic",
				"transaction.


, #236
	ldr	r3, .L1180+8
	mov	r2, #4
	mov	r1, r4
	mov	r0, r10
	bl	qsort
	ldr	r3, [fp, #-240]
	ldr	r8, [r3, #2384]
	cmp	r8, #0
	beq	.L1166
.L1093:
	mov	r3, r9
	mov	r2, #0
	mov	r9, r4
.L1060:
	ldr	r1, [r3, #4]!
	add	r2, r2, #1
	ldrb	r0, [r1, #2]	@ zero_extendqisi2
	cmp	r0, #0
	beq	.L1059
	sub	r0, fp, #44
	ldr	ip, [r7, #2132]
	add	lr, r0, r9, lsl #2
	ldr	r0, [r1, #32]
	cmp	ip, r0
	strlt	r1, [lr, #-192]
	addlt	r9, r9, #1
.L1059:
	cmp	r2, r8
	bne	.L1060
	rsb	r8, r4, r9
	mov	r3, r4, asl #2
	add	r0, r10, r3
	str	r3, [fp, #-244]
	mov	r1, r8
	ldr	r3, .L1180+12
	mov	r2, #4
	bl	qsort
	cmp	r4, #0
	subeq	ip, fp, #172
	beq	.L1061
.L1088:
	sub	ip, fp, #172
	mov	r2, r10
	add	r8, ip, r8, lsl #2
	mov	r3, #0
.L1062:
	add	r3, r3, #1
	ldr	r1, [r2], #4
	cmp	r3, r4
	str	r1, [r8], #4
	bcc	.L1062
.L1061:
	cmp	r9, r4
	bls	.L1063
	ldr	r3, [fp, #-244]
	add	r2, r10, r3
	mov	r3, ip
.L1064:
	add	r4, r4, #1
	ldr	r1, [r2], #4
	cmp	r4, r9
	str	r1, [r3], #4
	bne	.L1064
.L1063:
	movw	r8, #41528
	mov	r4, #0
	add	r3, r6, #256
	str	r4, [r5, #568]
	str	r4, [r5, #572]
	mov	r1, r10
	ldrb	r0, [r7, #1595]	@ zero_extendqisi2
	mov	r2, r9
	str	r4, [sp, #4]
	movt	r8, 169
	add	r8, r6, r8
	str	r8, [sp]
	str	ip, [fp, #-252]
	movw	r10, #41532
	str	r3, [fp, #-244]
	bl	MVC_GenPiclistfromFrmlist
	ldr	ip, [fp, #-252]
	add	r3, r6, #388
	ldrb	r0, [r7, #1595]	@ zero_extendqisi2
	mov	r2, r9
	str	r4, [sp, #4]
	movt	r10, 169
	mov	r1, ip
	add	r10, r6, r10
	str	r10, [sp]
	str	r3, [


llup_query_10m_sum));
    rs.addRow(getRollupKeyValue(key, 1420074600, 8L,
        rollup_config.getIdForAggregator("sum"), rollup_query_10m_sum));

    assertEquals(8, rs.size());
    final SeekableView it = rs.iterator();
    it.seek(1420070400000L);
    long value = 1;
    long ts = 1420070400000L;
    while (it.hasNext()) {
      final DataPoint dp = it.next();
      assertEquals(ts, dp.timestamp());
      assertTrue(dp.isInteger());
      assertEquals(value, dp.longValue());
      assertEquals(1, dp.valueCount());
      ++value;
      ts += 600000;
    }
  }

  @Test
  public void rollup10mSeek() throws Exception {

    Internal.setBaseTime(key, 1420070400);
    final RollupSeq rs = new RollupSeq(tsdb, rollup_query_10m_sum);
    rs.setRow(getRollupKeyValue(key, 1420070400, 1L,
        rollup_config.getIdForAggregator("sum"), rollup_query_10m_sum));
    rs.addRow(getRollupKeyValue(key, 1420071000, 2L,
        rollup_config.getIdForAggregator("sum"), rollup_query_10m_sum));
    rs.addRow(getRollupKeyValue(key, 1420071600, 3L,
        rollup_config.getIdForAggregator("sum"), rollup_query_10m_sum));
    rs.addRow(getRollupKeyValue(key, 1420072200, 4L,
        rollup_config.getIdForAggregator("sum"), rollup_query_10m_sum));
    rs.addRow(getRollupKeyValue(key, 1420072800, 5L,
        rollup_config.getIdForAggregator("sum"), rollup_query_10m_sum));
    rs.addRow(getRollupKeyValue(key, 1420073400, 6L,
        rollup_config.getIdForAggregator("sum"), rollup_query_10m_sum));
    rs.addRow(getRollupKeyValue(key, 1420074000, 7L,
        rollup_config.getIdForAggregator("sum"), rollup_query_10m_sum));
    rs.addRow(getRollupKeyValue(key, 1420074600, 8L,
        rollup_config.getIdForAggregator("sum"), rollup_query_10m_sum));

    assertEquals(8, rs.size());
    final SeekableView it = rs.iterator();
    it.seek(1420072200000L);
    long value = 4;
    long ts = 1420072200000L;
    while (it.hasNext()) {
      final DataPoint dp = it.next();
      assertEquals(ts, dp.timestamp());
      assertTrue(dp.isInteger());
      assertEquals(value, dp.longValue());
      assertEquals(1, dp.valueCount());
      ++value;
      ts += 600000;
    }
  }

  @Test
  public void rollup10mSeekOOB() throws Exception {

    Internal.setBaseTime(key, 1420070400);
    final RollupSeq rs = new RollupSeq(tsdb, rollup_query_10m_sum);
    rs.setRow(getRollupKeyValue(key, 1420070400, 1L,
        rollup_config.getIdForAggregator("sum"), rollup_query_10m_sum));
    rs.addRow(getRollupKeyValue(key, 1420071000, 2L,
        rollup_config.getIdForAggregator("sum"), rollup_query_10m_sum));
    rs.addRow(getRollupKeyValue(key, 1420071600, 3L,
        rollup_config.getIdForAggregator("sum"), rollup_query_10


烈'},
{'8842',	'东复活',	'东复活'},
{'8843',	'都当警',	'都当警'},
{'8844',	'独立台湾',	'独立台湾'},
{'8845',	'法车仑',	'法车仑'},
{'8846',	'法伦功',	'法伦功'},
{'8847',	'法轮佛',	'法轮佛'},
{'8848',	'法一轮',	'法一轮'},
{'8849',	'法院给废',	'法院给废'},
{'8850',	'府包庇',	'府包庇'},
{'8851',	'府集中领',	'府集中领'},
{'8852',	'公安网监',	'公安网监'},
{'8853',	'共王储',	'共王储'},
{'8854',	'官商勾',	'官商勾'},
{'8855',	'官也不容',	'官也不容'},
{'8856',	'官因发帖',	'官因发帖'},
{'8857',	'国家软弱',	'国家软弱'},
{'8858',	'国家吞得',	'国家吞得'},
{'8859',	'国一九五七',	'国一九五七'},
{'8860',	'紅色恐',	'紅色恐'},
{'8861',	'胡江内斗',	'胡江内斗'},
{'8862',	'还看锦涛',	'还看锦涛'},
{'8863',	'集体打砸',	'集体打砸'},
{'8864',	'集体腐',	'集体腐'},
{'8865',	'江胡内斗',	'江胡内斗'},
{'8866',	'蒋彦永',	'蒋彦永'},
{'8867',	'九龙论坛',	'九龙论坛'},
{'8868',	'举国体',	'举国体'},
{'8869',	'军刺',	'军刺'},
{'8870',	'开邓选',	'开邓选'},
{'8871',	'砍杀幼',	'砍杀幼'},
{'8872',	'砍伤儿',	'砍伤儿'},
{'8873',	'力骗中央',	'力骗中央'},
{'8874',	'炼大法',	'炼大法'},
{'8875',	'两会代',	'两会代'},
{'8876',	'两会又三',	'两会又三'},
{'8877',	'龙湾事件',	'龙湾事件'},
{'8878',	'陆封锁',	'陆封锁'},
{'8879',	'卖地财政',	'卖地财政'},
{'8880',	'媒体封锁',	'媒体封锁'},
{'8881',	'灭绝罪',	'灭绝罪'},
{'8882',	'强权政府',	'强权政府'},
{'8883',	'抢其火炬',	'抢其火炬'},
{'8884',	'清除负面',	'清除负面'},


_e32 v[v_c+29], v[v_c+29]
    v_cvt_f16_f32_e32 v[v_c+30], v[v_c+30]
    v_cvt_f16_f32_e32 v[v_c+31], v[v_c+31]
    ds_write_b16 v[v_co_sst], v[v_c+28] offset:352 ; idword:176(0,176), 0x176, i_mr:0, i_ms:0, i_mw:0, i_mb:0  x  i_nr:1, i_ns:0, i_nw:3
    ds_write_b16 v[v_co_sst], v[v_c+29] offset:864 ; idword:176(0,176), 0x176, i_mr:0, i_ms:0, i_mw:0, i_mb:0  x  i_nr:1, i_ns:0, i_nw:3
    ds_write_b16 v[v_co_sst], v[v_c+30] offset:1376 ; idword:176(0,176), 0x176, i_mr:0, i_ms:0, i_mw:0, i_mb:0  x  i_nr:1, i_ns:0, i_nw:3
    ds_write_b16 v[v_co_sst], v[v_c+31] offset:1888 ; idword:176(0,176), 0x176, i_mr:0, i_ms:0, i_mw:0, i_mb:0  x  i_nr:1, i_ns:0, i_nw:3
    s_mov_b32 s[s_tmp], 0   ; i_m:0(i_m0:0,i_m1:0)
    v_add_u32 v[v_out_inb], s[s_block_gtc_inb], v[v_co_sub_m_index]
    v_mov_b32 v[v_tmp], v[v_out_inb]
    s_waitcnt lgkmcnt(0)
    s_barrier
    ;   load from lds, i_ssgroup:0, num_sld_per_ssgroup:4
    ds_read_b128 v[v_c:v_c+3], v[v_co_sld]
    ds_read_b128 v[v_c+4:v_c+4+3], v[v_co_sld] offset:4096
    ds_read_b128 v[v_c+8:v_c+8+3], v[v_co_sld] offset:8192
    ds_read_b128 v[v_c+12:v_c+12+3], v[v_co_sld] offset:12288
    v_cmpx_eq_u32 vcc, 1, v[v_out_flag]
    ;   store to global, m index start from 0, m0:0, m1:0
    s_waitcnt lgkmcnt(3)
    v_cmp_gt_u32 vcc, s[s_dim_mr], v[v_tmp]
    s_and_saveexec_b64 s[s_tmp+4:s_tmp+5], vcc
    buffer_store_dwordx4 v[v_c:v_c+3], v[v_out_os], s[s_p_out:s_p_out+3], s[s_tmp] offen offset:0
    s_or_b64 exec, exec, s[s_tmp+4:s_tmp+5]
    s_mul_i32 s[s_tmp], 8, s[s_out_stride_wo]   ; i_m:8(i_m0:0,i_m1:8)
    v_add_u32 v[v_tmp], 8, v[v


:hover{border-top-color:var(--qc-button-border-active)}.xdeyfa3:hover{border-bottom-color:var(--WDS-accent)}.xe8x2kr:hover{border-top-color:var(--WDS-lines-outline-default)}.xkfedft:hover{border-top-color:var(--menu-bar-item-background-active)}.xo38vbm:hover{border-bottom-color:var(--WDS-lines-outline-default)}.xtj9sai:hover{border-bottom-color:var(--qc-button-border-active)}.xtsm813:hover{border-bottom-color:var(--border-stronger)}.xysibl7:hover{border-top-width:1px}.x1p9y9v0:focus{height:unset}.xgcfvzi:focus{margin-bottom:32px}.xm14bv4:focus{width:unset}.x309x43:active{margin-bottom:32px}.xcjmxlc:active{width:unset}.xvjdqlt:active{height:unset}@media (min-width: 768px){.x107s9f3.x107s9f3{width:56px}}@media (min-width: 600px){.x10tvj2c.x10tvj2c{margin-bottom:13px}}@media (min-width: 600px){.x11rshy0.x11rshy0{width:67%}}@media (max-width: 767px){.x11z0rsy.x11z0rsy{width:24px}}@media (max-width: 1023px){.x120k64m.x120k64m{margin-top:24px}}@media screen and (max-height: 700px){.x12v3509.x12v3509{margin-bottom:25px}}@media (max-width: 1440px){.x14ng7rx.x14ng7rx{padding-bottom:25px}}@media screen and (min-width: 1301px){.x15i9xf3.x15i9xf3{width:30%}}@media (min-width: 768px){.x15vrzcu.x15vrzcu{margin-bottom:9px}}@media screen and (min-width: $screen-width-3){.x162uyig.x162uyig{width:56px}}@media (min-width: 414px) and (max-width: 599px){.x176y1zw.x176y1zw{height:206px}}@media (max-width: 1023px){.x17sy6yu.x17sy6yu{padding-bottom:3px}}@media (min-width: 1440px){.x17x2pvd.x17x2pvd{margin-bottom:8px}}@media (max-width:880px){.x186kree.x186kree{overflow-y:hidden}}@media (min-width: 1024px){.x18eaek.x18eaek{top:0}}@media (max-width: 1024px){.x193endk.x193endk{width:calc(84% + 36px)}}@media (min-width: 1024px){.x19eaz5n.x19eaz5n{padding-bottom:14px}}@media (min-width: 415px){.x19r0icn.x19r0icn{padding-bottom:16px}}@media screen and (min-height: 1000px){.x1a6k631.x1a6k631{margin-bottom:100px}}@media screen and (max-width: 720px){.x1ad89wd.x1ad89wd{margin-bottom:0}}@media (min-width: 600px) and (max-width: 1023px){.x1ajyr3l.x1ajyr3l{height:auto}}@media screen and


<IActionResult> UpdateAndRBAC(string id)
        {
            var staff = await _staffRepository.GetByIdAsync(id);
            if (staff == null)
            {
                return NotFound("Staff not found.");
            }

            var user = await _userRepository.GetByIdAsync(staff.IdUser);
            if (user == null)
            {
                return NotFound("User not found.");
            }

            var permissionsList = await _staffRepository.GetAllRBACAsync() ?? new List<PermissionsList>();
            var existingPermissions = await _staffRepository.GetPermissionsByUserIdAsync(user.IdUser) ?? new List<StaffPermissionsDetail>();

            ViewBag.IdUser = user.IdUser;
            ViewBag.Username = user.UserName;
            ViewBag.FullName = user.FullName;
            ViewBag.BirthDate = user.Birth;
            ViewBag.Gender = user.Gender;
            ViewBag.StaffRole = staff.StaffRole;
            ViewBag.Active = user.Active;
            ViewBag.Phone = user.Phone;
            ViewBag.AvailablePermissions = permissionsList;
            ViewBag.SelectedPermissions = existingPermissions.Where(p => p.Active ?? false).Select(p => p.IdPermissions).ToList();

            return View();
        }

        [HttpPost]
        [RBACAuthorize(PermissionId = 59)]
        public async Task<IActionResult> UpdateAndRBAC(string IdUser, string Username, string FullName, DateOnly? BirthDate, byte? Gender, bool StaffRole, List<byte> SelectedPermissions)
        {
            if (!ModelState.IsValid)
            {
                return View();
            }

            var user = await _userRepository.GetByIdAsync(IdUser);
            if (user == null)
            {
                return NotFound("User not found.");
            }

            using (var transaction = await _context.Database.BeginTransactionAsync())
            {
                try
                {
                    // Update user details
                    user.UserName = Username.Trim();
                    user.FullName = FullName.Trim();
                    user.Birth = BirthDate;
                    user.Gender = Gender ?? default(byte);
                    user.TimeUpdated = DateTime.Now;

                    await _userRepository.UpdateAsync(user);

                    // Update staff role
                    var staff = await _staffRepository.GetByIdAsync(IdUser);
                    staff.StaffRole = StaffRole;
                    await _staffRepository.UpdateAsync(staff, user);

                    // Update permissions
                    var existingPermissions = await _staffRepository.GetPermissionsByUserIdAsync(user.IdUser);

                    foreach (var permission in existingPermissions)
                    {
                        permission.Active = SelectedPermissions.Contains(permission.IdPermissions);
                        await _staffRepository.UpdatePermissionDetailAsync(permission);
                    }

                    await transaction.CommitAsync();
                    return RedirectToAction("Index", "StaffManager");
                }
                catch (Exception


/* pci_xbios.S - PCI bios calls from _PCI cookie
 *
 * Reworked for USB TOS drivers by David Galvez 2019
 *
 * Didier Mequignon 2005-2007, e-mail: aniplay@wanadoo.fr
 *
 * This file is free software; you can redistribute it and/or modify
 * it under the terms of the GNU General Public License as published by
 * the Free Software Foundation; either version 2 of the License, or
 * (at your option) any later version.
 *
 * This file is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
 * GNU General Public License for more details.
 *
 * You should have received a copy of the GNU General Public License
 * along with this program; if not, write to the Free Software
 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
 */

	.global _tab_funcs_pci,_x_Find_pci_device,_x_Find_pci_classcode,_x_Read_config_byte,_x_Read_config_word,_x_Read_config_longword
	.global _x_Fast_read_config_byte,_x_Fast_read_config_word,_x_Fast_read_config_longword,_x_Write_config_byte,_x_Write_config_word,_x_Write_config_longword
	.global _x_Hook_interrupt,_x_Unhook_interrupt,_x_Special_cycle,_x_Get_routing,_x_Set_interrupt
	.global _x_Get_resource,_x_Get_card_used,_x_Set_card_used,_x_Read_mem_byte,_x_Read_mem_word,_x_Read_mem_longword
	.global _x_Fast_read_mem_byte,_x_Fast_read_mem_word,_x_Fast_read_mem_longword,_x_Write_mem_byte,_x_Write_mem_word,_x_Write_mem_longword
	.global _x_Read_io_byte,_x_Read_io_word,_x_Read_io_longword,_x_Fast_read_io_byte,_x_Fast_read_io_word,_x_Fast_read_io_longword
	.global _x_Write_io_byte,_x_Write_io_word,_x_Write_io_longword,_x_Get_machine_id
	.global _x_Get_pagesize,_x_Virt_to_bus,_x_Bus_to_virt,_x_Virt_to_phys,_x_Phys_to_virt

_x_Find_pci_device:
	move.l 4(SP),D0          // ID
	move.w 8(SP),D1          // index
	move.l _tab_funcs_pci,A1
	move.l (A1),A1
	move.l D2,-(SP)
	jsr (A1)
	move.l (SP)+,D2
	rts

_x_Find_pci_classcode:
	move.l 4(SP),D0          // class
	move.w 8(SP),D1          // index
	move.l _tab_funcs_pci,A1
	move.l 4(A1),A1
	move.l D2,-(SP)
	jsr (A1)
	move.l (SP)+,D2
	rts

_x_Read_config_byte:
	move.l 4(SP),D0          // handle
	move.w 8(SP),D1          // PCI register
	move.l