 String PROP_METHOD = "svn.method"; // $NON-NLS-1$
  public final String PROP_PORT = "svn.port"; // $NON-NLS-1$
  public final String PROP_ROOT = "svn.root"; // $NON-NLS-1$

  // preference options
  public final int OPTION_NEVER = 1; // $NON-NLS-1$
  public final int OPTION_PROMPT = 2; // $NON-NLS-1$
  public final int OPTION_AUTOMATIC = 3; // $NON-NLS-1$

  public final int MODE_FLAT = 1; // actually table mode //$NON-NLS-1$
  public final int MODE_COMPRESSED = 2; // $NON-NLS-1$
  public final int MODE_FLAT2 = 3; // $NON-NLS-1$

  public final int LAYOUT_HORIZONTAL = 1; // $NON-NLS-1$
  public final int LAYOUT_VERTICAL = 2; // $NON-NLS-1$

  public final String PREF_ALLOW_EMPTY_COMMIT_COMMENTS =
      "pref_allow_empty_commit_comment"; //$NON-NLS-1$
  public final String PREF_ALLOW_COMMIT_WITH_WARNINGS = "pref_commit_with_warning"; // $NON-NLS-1$
  public final String PREF_ALLOW_COMMIT_WITH_ERRORS = "pref_commit_with_errors"; // $NON-NLS-1$
  public final String PREF_COMMIT_TO_TAGS_PATH_WITHOUT_WARNING =
      "pref_commit_to_tags_path_without_warning"; //$NON-NLS-1$
  public final String PREF_COMMIT_ONLY_CHANGESET_RESOURCES = "pref_commit_only_changeset_resources"; //$NON-NLS-1$

  public final String PREF_UPDATE_TO_HEAD_IGNORE_EXTERNALS =
      "pref_update_to_head_ignore_externals"; //$NON-NLS-1$
  public final String PREF_UPDATE_TO_HEAD_ALLOW_UNVERSIONED_OBSTRUCTIONS =
      "pref_update_to_head_allow_unversioned_obstructions"; //$NON-NLS-1$
  public final String PREF_UPDATE_TO_HEAD_CONFLICT_HANDLING_TEXT_FILES =
      "pref_update_to_head_conflict_handling_text_files"; //$NON-NLS-1$
  public final String PREF_UPDATE_TO_HEAD_CONFLICT_HANDLING_BINARY_FILES =
      "pref_update_to_head_conflict_handling_binary_files"; //$NON-NLS-1$
  public final String PREF_UPDATE_TO_HEAD_CONFLICT_HANDLING_PROPERTIES =
      "pref_update_to_head_conflict_handling_properties"; //$NON-NLS-1$
  public final String PREF_UPDATE_TO_HEAD_CONFLICT_HANDLING_TREE_CONFLICTS =
      "pref_update_to_head_conflict_handling_tree_conflicts"; //$NON-NLS-1$

  // depth
  public final String DEPTH_EMPTY = "Only this item"; // $NON-NLS-1$
  public final String DEPTH_FILES = "Only file children"; // $NON-NLS-1$
  public final String DEPTH_IMMEDIATES = "Immediate children, including folders"; // $NON-NLS-1$
  public final String DEPTH_INFINITY = "Fully recursive"; // $NON-NLS-1$
  public final String DEPTH_UNKNOWN = "Working copy"; // $NON-NLS-1$
  public final String DEPTH_EXCLUDE = "Exclude"; // $NON-NLS-1$

  // This is in Internal class in team.ui, so we are mirroring it
  public static final String HISTORY_VIEW_ID =
      "org.eclipse.team.ui.GenericHistoryView"; //$NON-NLS-1$
}
/**
 * ***************************************************************************** Copyright (c) 2004,
 * 2006 Subclipse project and others. All rights reserved. This program and the accompanying
 * materials are made available under the terms of the Eclipse Public License v1.0 which


v1.MutatingWebhookConfiguration, kv *v1.KubeVirt) {
	if kv != nil {
		apply.SetGeneration(&kv.Status.Generations, wh)
	}
	k.controller.stores.MutatingWebhookCache.Add(wh)
	key, err := kubecontroller.KeyFunc(wh)
	Expect(err).To(Not(HaveOccurred()))
	k.mockQueue.Add(key)
}

func (k *KubeVirtTestData) addAPIService(as *apiregv1.APIService) {
	k.controller.stores.APIServiceCache.Add(as)
	key, err := kubecontroller.KeyFunc(as)
	Expect(err).To(Not(HaveOccurred()))
	k.mockQueue.Add(key)
}

func (k *KubeVirtTestData) addInstallStrategyJob(job *batchv1.Job) {
	k.controller.stores.InstallStrategyJobCache.Add(job)
	key, err := kubecontroller.KeyFunc(job)
	Expect(err).To(Not(HaveOccurred()))
	k.mockQueue.Add(key)
}

func (k *KubeVirtTestData) addPod(pod *k8sv1.Pod) {
	k.controller.stores.InfrastructurePodCache.Add(pod)
	key, err := kubecontroller.KeyFunc(pod)
	Expect(err).To(Not(HaveOccurred()))
	k.mockQueue.Add(key)
}

func (k *KubeVirtTestData) addPodDisruptionBudget(podDisruptionBudget *policyv1.PodDisruptionBudget, kv *v1.KubeVirt) {
	if kv != nil {
		apply.SetGeneration(&kv.Status.Generations, podDisruptionBudget)
	}
	k.controller.stores.PodDisruptionBudgetCache.Add(podDisruptionBudget)
	key, err := kubecontroller.KeyFunc(podDisruptionBudget)
	Expect(err).To(Not(HaveOccurred()))
	k.mockQueue.Add(key)
}

func (k *KubeVirtTestData) addSecret(secret *k8sv1.Secret) {
	k.controller.stores.SecretCache.Add(secret)
	key, err := kubecontroller.KeyFunc(secret)
	Expect(err).To(Not(HaveOccurred()))
	k.mockQueue.Add(key)
}

func (k *KubeVirtTestData) addValidatingAdmissionPolicyBinding(vapb *admissionregistrationv1.ValidatingAdmissionPolicyBinding) {
	k.controller.stores.ValidatingAdmissionPolicyBindingCache.Add(vapb)
	key, err := kubecontroller.KeyFunc(vapb)
	Expect(err).To(Not(HaveOccurred()))
	k.mockQueue.Add(key)
}

func (k *KubeVirtTestData) addValidatingAdmissionPolicy(vap *admissionregistrationv1.ValidatingAdmissionPolicy) {
	k.controller.stores.ValidatingAdmissionPolicyCache.Add(vap)
	key, err := kubecontroller.KeyFunc(vap)
	Expect(err).To(Not(HaveOccurred()))
	k.mockQueue.Add(key)
}

func (k *KubeVirtTestData) addConfigMap(configMap *k8sv1.ConfigMap) {
	if _, ok := configMap.Labels[v1.InstallStrategyLabel]; ok {
		k.controller.stores.InstallStrategyConfigMapCache.Add(configMap)
	} else {
		k.controller.stores.ConfigMapCache.Add(configMap)
	}
	key, err := kubecontroller.KeyFunc(configMap)
	Expect(err).To(Not(HaveOccurred()))
	k.mockQueue.Add(key)
}

func (k *KubeVirtTestData) addSCC(scc *secv1.SecurityContextConstraints) {


-- ========== THIS IS AN AUTOMATICALLY GENERATED FILE! ==========

PlaceObj('XTemplate', {
	group = "Infopanel Sections",
	id = "ipMirrorSphereBuilding",
	PlaceObj('XTemplateTemplate', {
		'__context_of_kind', "MirrorSphereBuilding",
		'__template', "Infopanel",
	}, {
		PlaceObj('XTemplateGroup', {
			'__condition', function (parent, context) return context.scanned and context:GetProgressPct() < 100 end,
		}, {
			PlaceObj('XTemplateTemplate', {
				'__template', "InfopanelSection",
				'Title', T(49, --[[XTemplate ipMirrorSphereBuilding Title]] "Status"),
			}, {
				PlaceObj('XTemplateTemplate', {
					'__template', "InfopanelText",
					'Text', T(768796577102, --[[XTemplate ipMirrorSphereBuilding Text]] "<ActionDescr>"),
				}),
				PlaceObj('XTemplateWindow', {
					'__class', "XFrameProgress",
					'Margins', box(10, 15, 10, 14),
					'FoldWhenHidden', true,
					'Image', "UI/Infopanel/progress_bar.tga",
					'FrameBox', box(5, 0, 5, 0),
					'OnContextUpdate', function (self, context, ...)
						self:SetVisible(context.action)
						return XFrameProgress.OnContextUpdate(self, context, ...)
					end,
					'BindTo', "ActionProgress",
					'MinProgressSize', 8,
					'ProgressImage', "UI/Infopanel/progress_bar_green.tga",
					'ProgressFrameBox', box(4, 0, 4, 0),
				}),
				}),
			PlaceObj('XTemplateTemplate', {
				'__template', "InfopanelSection",
				'RolloverText', T(1197, --[[XTemplate ipMirrorSphereBuilding RolloverText]] "Progress <right><percent(ProgressPct)>"),
				'RolloverTitle', T(1196, --[[XTemplate ipMirrorSphereBuilding RolloverTitle]] "Sphere Powering Up"),
				'Icon', "UI/Icons/Sections/electricity_4.tga",
			}, {
				PlaceObj('XTemplateWindow', {
					'__class', "XFrameProgress",
					'Id', "idProgress",
					'Margins', box(10, 15, 10, 14),
					'Image', "UI/Infopanel/progress_bar.tga",
					'FrameBox', box(5, 0, 5, 0),
					'BindTo', "ProgressPct",
					'MinProgressSize', 8,
					'ProgressImage', "UI/Infopanel/progress_bar_green.tga",
					'ProgressFrameBox', box(4, 0, 4, 0),
				}),
				}),
			PlaceObj('XTemplateTemplate', {
				'comment', "pierce",
				'__template', "InfopanelButton",
				'RolloverTitle', T(1204, --[[XTemplate ipMirrorSphereBuilding RolloverTitle]] "Attempt to Pierce the Shell"),
				'OnContextUpdate', function (self, context, ...)
					local enabled, reason = context:IsActionEnabled("PierceTheShell")
					self:SetRolloverText(enabled and T(1205, "Attempt to penetrate the outer shell of the Mirror Sphere with several Drones in the area.") or reason)

					self:SetEnabled(enabled or context.action == "PierceTheShell")
					if enabled or context.action ~= "PierceTheShell" then
						sel


赛：

糟蹋了这些书，唉！

WonderfulYier1：

这个不能算“黑”吧！话都是他自己说的！(TωT)

黃謙信：

習進平當年下放勞改的時候還讀莎士比亞的作品?  這在當時算不算違反規定?

如果習進平自己都可以違反規定的話....  呵呵

★御用键盘、赵王回车

◇出处

　　2015年12月25日，习近平视察解放军报社时，通过军报的微博微信平台，【亲自】发出了一条微博（内容如下）：

<q>值此新年即将到来之际，我代表党中央、中央军委向全体解放军指战员、武警部队官兵和民兵预备役人员祝贺新年。希望大家践行强军目标，有效履行使命，为实现中国梦强军梦做出新的更大贡献！</q>

　　可惜现场的照片，让这个土包子【又一次】露馅了 :)

</cent


    self
    }

    pub fn pipeline_state_subobject_stream(&self) -> &'a [u8] {
        unsafe {
            slice::from_raw_parts(
                self.0.pPipelineStateSubobjectStream as *const u8,
                self.0.SizeInBytes as usize,
            )
        }
    }
}

/// An element of a pipeline subobject stream (element type + subobject itself)
#[derive(Default, Debug)]
#[repr(C, align(8))]
pub struct PipelineStateSubobject<T> {
    ty: PipelineStateSubobjectType,
    subobject: T,
}

impl<T> PipelineStateSubobject<T> {
    pub fn new(ty: PipelineStateSubobjectType, subobject: T) -> Self {
        let mut subobject_wrapper: PipelineStateSubobject<T> =
            unsafe { std::mem::zeroed() };
        subobject_wrapper.ty = ty;
        subobject_wrapper.subobject = subobject;
        subobject_wrapper
    }
}

// ToDo: a similar adapter for GraphicsPipelineState? In d3dx12.h
// they have one, and also one more for compute PSO's
// ToDo: do we realistically need getters here?
/// Mesh shader pipeline description struct (a convenience struct that does not have C counterpart)
#[repr(C)]
#[derive(Debug)]
pub struct MeshShaderPipelineStateDesc<'rs, 'sh> {
    // We don't use wrapper types here since i) these members are private
    // and don't leak into the public API, and ii) if we want to implement
    // Default trait, we need to either wrap our objects like ShaderBytecode
    // into Options or store raw pointers
    // Fun fact: it turns out Option's are FFI-safe, but anyway, see i)
    root_signature: PipelineStateSubobject<*mut ID3D12RootSignature>,
    amplification_shader: PipelineStateSubobject<D3D12_SHADER_BYTECODE>,
    mesh_shader: PipelineStateSubobject<D3D12_SHADER_BYTECODE>,
    pixel_shader: PipelineStateSubobject<D3D12_SHADER_BYTECODE>,
    blend_state: PipelineStateSubobject<D3D12_BLEND_DESC>,
    sample_mask: PipelineStateSubobject<UINT>,
    rasterizer_state: PipelineStateSubobject<D3D12_RASTERIZER_DESC>,
    depth_stencil_state: PipelineStateSubobject<D3D12_DEPTH_STENCIL_DESC>,
    primitive_topology_type:
        PipelineStateSubobject<D3D12_PRIMITIVE_TOPOLOGY_TYPE>,
    rtv_formats: PipelineStateSubobject<D3D12_RT_FORMAT_ARRAY>,
    dsv_format: PipelineStateSubobject<DXGI_FORMAT>,
    sample_desc: PipelineStateSubobject<DXGI_SAMPLE_DESC>,
    node_mask: PipelineStateSubobject<UINT>,
    cached_pso: PipelineStateSubobject<D3D12_CACHED_PIPELINE_STATE>,
    flags: PipelineStateSubobject<i32>,
    // ToDo: probably we need lifetimes on *mut IDXGI... wrappers, too?..
    rs_phantom_data: PhantomData<&'rs RootSignature>,
    sh_phantom_data: PhantomData<ShaderBytecode<'sh>>,
}

impl<'rs, 'sh> Default for MeshShaderPipelineStateDesc<'rs, 'sh> {
    fn default() -> Self {
        let mut pso_desc: MeshShaderPipelineStateDesc =
            unsafe { std::mem::zeroed() };
        pso_desc.root_signature = PipelineStateSubobject::new(
            Pipeline


. All rights reserved.
// SPDX-License-Identifier: MIT

package v1_20

import (
	"context"

	"code.gitea.io/gitea/models/migrations/base"
	"code.gitea.io/gitea/modules/setting"

	"xorm.io/xorm"
)

func RenameWebhookOrgToOwner(x *xorm.Engine) error {
	type Webhook struct {
		OrgID int64 `xorm:"INDEX"`
	}

	// This migration maybe rerun so that we should check if it has been run
	ownerExist, err := x.Dialect().IsColumnExist(x.DB(), context.Background(), "webhook", "owner_id")
	if err != nil {
		return err
	}

	if ownerExist {
		orgExist, err := x.Dialect().IsColumnExist(x.DB(), context.Background(), "webhook", "org_id")
		if err != nil {
			return err
		}
		if !orgExist {
			return nil
		}
	}

	sess := x.NewSession()
	defer sess.Close()
	if err := sess.Begin(); err != nil {
		return err
	}

	if err := sess.Sync(new(Webhook)); err != nil {
		return err
	}

	if ownerExist {
		if err := base.DropTableColumns(sess, "webhook", "owner_id"); err != nil {
			return err
		}
	}

	switch {
	case setting.Database.Type.IsMySQL():
		inferredTable, err := x.TableInfo(new(Webhook))
		if err != nil {
			return err
		}
		sqlType := x.Dialect().SQLType(inferredTable.GetColumn("org_id"))
		if _, err := sess.Exec("ALTER TABLE `webhook` CHANGE org_id owner_id " + sqlType); err != nil {
			return err
		}
	case setting.Database.Type.IsMSSQL():
		if _, err := sess.Exec("sp_rename 'webhook.org_id', 'owner_id', 'COLUMN'"); err != nil {
			return err
		}
	default:
		if _, err := sess.Exec("ALTER TABLE `webhook` RENAME COLUMN org_id TO owner_id"); err != nil {
			return err
		}
	}

	return sess.Commit()
}
// Copyright 2022 The Gitea Authors. All rights reserved.
// SPDX-License-Identifier: MIT

package v1_19

import (
	"testing"

	"code.gitea.io/gitea/models/migrations/base"
	"code.gitea.io/gitea/modules/json"
	"code.gitea.io/gitea/modules/secret"
	"code.gitea.io/gitea/modules/setting"
	webhook_module "code.gitea.io/gitea/modules/webhook"

	"github.com/stretchr/testify/assert"
)

func Test_AddHeaderAuthorizationEncryptedColWebhook(t *testing.T) {
	// Create Webhook table
	type Webhook struct {
		ID   int64                   `xorm:"pk autoincr"`
		Type webhook_module.HookType `xorm:"VARCHAR(16) 'type'"`
		Meta string                  `xorm:"TEXT"` // store hook-specific attributes

		// HeaderAuthorizationEncrypted should be accessed using HeaderAuthorization() and SetHeaderAuthorization()
		HeaderAuthorizationEncrypted string `xorm:"TEXT"`
	}

	type ExpectedWebhook struct {
		ID                  int64 `xorm:"pk autoincr"`
		Meta                string
		HeaderAuthorization string
	}

	type HookTask struct {
		ID             int64 `xorm:"pk autoincr"`
		HookID         int64
		PayloadContent string `xorm:"LONGTEXT"`
	}

	// Prepare and load the testing database
	x, deferable := base.PrepareTestEnv(t, 0, new(We


).
			// WithISADebugging().
			Build()

		gpuDriver = s.GetComponentByName("Driver").(*driver.Driver)
		gpuDriver.Run()

		ctx = gpuDriver.Init()

		to = NewGPUOperator(gpuDriver, ctx)
	})

	AfterEach(func() {
		gpuDriver.Terminate()
		s.Terminate()
	})

	It("should do repeat", func() {
		to.EnableVerification()

		inLength := 10
		times := 5

		inData := make([]float64, inLength)
		for i := 0; i < inLength; i++ {
			inData[i] = float64(i)
		}

		inTensor := to.CreateWithData(inData, []int{inLength}, "")

		to.Repeat(inTensor, times)
	})

	It("should transpose", func() {
		in := to.CreateWithData(
			[]float64{
				15, 18, 9, 30, 36, 18, 25, 30, 15,
				15, 18, 9, 30, 36, 18, 25, 30, 15,
			},

			[]int{1, 2, 3, 3}, "CNHW")

		outData := []float32{
			15, 18, 9, 30, 36, 18, 25, 30, 15,
			15, 18, 9, 30, 36, 18, 25, 30, 15,
		}

		out := to.Transpose(in, []int{1, 0, 2, 3})

		outV := out.Vector()
		for i := range outData {
			Expect(outV[i]).To(BeNumerically("~", outData[i], 1e-3))
		}
		Expect(out.Descriptor()).To(Equal("NCHW"))
	})

	It("should roate 180", func() {
		in := to.CreateWithData(
			[]float64{
				1, 2, 3, 4,
				5, 6, 7, 8,
				9, 10, 11, 12,
			},
			[]int{1, 1, 3, 4}, "")

		out := to.Rotate180(in)

		Expect(out.Vector()).To(Equal(
			[]float64{
				12, 11, 10, 9,
				8, 7, 6, 5,
				4, 3, 2, 1,
			}))
	})

	It("should roate 180, test 2", func() {
		in := to.CreateWithData(
			[]float64{
				1.111, 1.112, 1.113, 1.114,
				1.121, 1.122, 1.123, 1.124,
				1.131, 1.132, 1.133, 1.134,

				1.211, 1.212, 1.213, 1.214,
				1.221, 1.222, 1.223, 1.224,
				1.231, 1.232, 1.233, 1.234,

				1.311, 1.312, 1.313, 1.314,
				1.321, 1.322, 1.323, 1.324,
				1.331, 1.332, 1.333, 1.334,

				2.111, 2.112, 2.113, 2.114,
				2.121, 2.122, 2.123, 2.124,
				2.131, 2.132, 2.133, 2.134,

				2.211, 2.212, 2.213, 2.214,
				2.221, 2.222, 2.223, 2.224,
				2.231, 2.232, 2.233, 2.234,

				2.311, 2.312, 2.313, 2.314,
				2.321, 2.322, 2.323, 2.324,
				2.331, 2.332, 2.333, 2.334,
			}, []int{2, 3, 3, 4}, "")

		o


ll)
        {
            allHQs = new List<BanditHQ>();
        }

        if (claimedPackages == null)
        {
            claimedPackages = new Dictionary<Package, BanditHQ>();
        }
    }

    /// <summary>
    /// Initialization Pt II.
    /// </summary>
    protected void Start()
    {
        allHQs.Add(this);
    }

    /// <summary>
    /// Handles objects entering the trigger collider.
    /// </summary>
    /// <param name="other"></param>
    protected void OnTriggerEnter(Collider other)
    {
        if (other.CompareTag("NPC") == false)
        {
            return;
        }

        Bandit bandit = other.GetComponent<Bandit>();
        if (bandit == null)
        {
            return;
        }

        // Check if this bandit has a package marked by this HQ
        foreach (Package pkg in bandit.pc.packages)
        {
            if (claimedPackages.ContainsKey(pkg) == false)
            {
                continue;
            }

            // Fail player objective and finalize package steal
            if (claimedPackages[pkg] == this)
            {
                bandit.pc.Deliver(
                    pkg,
                    false);

                return;
            }
        }
    }
}


 bimg;
	/** Mike: added MBFImage for processing frames */
	private MBFImage toDraw;
	/** Mike: added qr code reader class */
	com.google.zxing.Reader reader;
	/** Mike: add last image string */
	String lastImage; // This will have the cover image
	/** The QR points matched*/
	List<Pair<Point2d>> points = new ArrayList<Pair<Point2d>>();
	/** Time QR points were last matched */
	long timeLastMatched;

	/**
	 * Default constructor.
	 *
	 * @throws IOException
	 */
	public QRTrackingDemo() throws IOException {
		this.ic = new ImageComponent(true);
		this.ic.setPreferredSize(new Dimension(320, 240));
		this.toDraw = new MBFImage(320, 240, 3);
		// Now test to see if it has a QR code embedded in it
		this.reader = new com.google.zxing.qrcode.QRCodeReader();
		this.lastImage = "";
		this.add(this.ic);
	}

	/**
	 *
	 Set the video source to be the webcam
	 *
	 * @throws IOException
	 */
	public void useWebcam() throws IOException {
		// Setup a new video from the VideoCapture class
		this.video = new VideoCapture(320, 240);
		// Reset the video displayer to use the capture class
		this.videoDisplay = new VideoDisplay<MBFImage>(this.video, this.ic);
		// Make sure the listeners are sorted
		this.videoDisplay.addVideoListener(this);
		// Start the new video playback thread
		this.videoThread = new Thread(this.videoDisplay);
		this.videoThread.start();
	}

	/**
	 * {@inheritDoc}
	 * @see org.openimaj.video.VideoDisplayListener#afterUpdate(org.openimaj.video.VideoDisplay)
	 */
	@Override
	public void afterUpdate(final VideoDisplay<MBFImage> display) {
		if(System.currentTimeMillis() - this.timeLastMatched > 100){
			this.points.clear();
		}
	}

	/**
	 * {@inheritDoc}
	 * @see org.openimaj.video.VideoDisplayListener#beforeUpdate(org.openimaj.image.Image)
	 */
	@Override
	public void beforeUpdate(final MBFImage frame) {
		this.bimg = ImageUtilities.createBufferedImageForDisplay(frame, this.bimg);
		final LuminanceSource source = new BufferedImageLuminanceSource(this.bimg);

		final BinaryBitmap bitmap = new BinaryBitmap(new HybridBinarizer(source));

		try {
			final Result result = this.reader.decode(bitmap);
			if (result.getText() != null) {
				if( !result.getText().equals( this.lastImage ))
				{
					this.lastImage = result.getText();
					try {
						final MBFImage img = new MBFImage( 200, 50, 3 );

						final GeneralFont font = new GeneralFont( "Arial", Font.PLAIN );
						final GeneralFontStyle<Float[]> gfs = new GeneralFontStyle<Float[]>( font, img.createRenderer(), false );
						final GeneralFontRenderer<Float[]> gfr = new GeneralFontRenderer<Float[]>();
						final Rectangle b = gfr.getSize( this.lastImage, gfs );

						final MBFImage img2 = new MBFImage( (int)b.width, (int)(b.height*1.3), 3 );

						img2.drawText( this.lastImage, 0, (int)b.height, font, 30 );
						this.toDraw = img2;
					}

					catch (final Exception e) {
						e.printStackTrace();
						System.out.println("could not read url");
					}
				}

				try {
					final ResultPoint[] rpoints = result.getResultPoints();
					System.out.println( Arrays.toString( rpoints ) );
					this.points.clear();
					if( rpoints.length >= 3 )
					{
						float s = 1;
						float xx1 = 0;
						float xx2 = 0;
						for (int i = 2; i >= 0; i--) {
							final Point2dImpl pa = new Point2dImpl(rpoints[i].getX(),rpoi


// save y
	mov	$offset_operand2,%esi
	call	push_5_dw_at_esi			// save x
calc_x_over_y:
	pushf
	call	op1_into_op2				// result <-- x/y
	popf
	jz	save_x_over_y
	mov	$offset_operand2,%esi
	call	pop_5_dw_at_esi				// op2 <-- x
	mov	$offset_operand1,%esi
	call	pop_5_dw_at_esi				// op1 <-- y
save_x_over_y:
	mov	$offset_result,%esi
	call	push_5_dw_at_esi			// save	x/y
	jz	combo_cos_calc
	pushf
	call	sin_specific				// result <-- sin
	popf
combo_cos_calc:
	mov	$offset_operand1,%esi
	call	pop_5_dw_at_esi				// op1 <-- x/y
	jz	tiny_sin_cos_entry
	mov	$offset_result,%esi
	call	push_5_dw_at_esi			// save	computed sin
tiny_sin_cos_entry:
	call	cos_specific				// result <-- cos
	mov	$offset_operand1,%esi
	call	pop_5_dw_at_esi				// op1 <-- sin
	lea	result_dword_frac(%ebp),%esi
	lea	dword_frac2(%ebp),%edi
	call	move_op_to_op				// op2 <-- cos
	pop	%gs:sr_masks
	pop	trans_info
	jmp	combo_cofunc_

//sincos	endp
//
//
// ***********************************************************************
//			test_5w, test_4w, test_3w
//
//	function:
//		test 3, 4, or 5 consecutive words for zero
//
//	inputs:
//       	least significant word pointed to by ss:(bp + di)
//		ax must be clear upon entry for test_4w and test_3w
//
//	outputs:
//		if variable = 0, ax = 00000h; zf = 1
//		otherwise,       ax = 0ffffh; zf = 0
//
//	data accessed:
//
//	data changed:
//
// *************************************************************************
	ALIGN
test_5w:	//proc
	movw	8(%ebp,%edi),%ax	// dump the data into ax
test_4w:
	orw	6(%ebp,%edi),%ax
test_3w:
	orw	4(%ebp,%edi),%ax
	orw	2(%ebp,%edi),%ax
	orw	(%ebp,%edi),%ax
	jnz	its_not_zero	// branch if the number is nonzero
	ret			// return with ax = 00000h, zf = 1
	ALIGN
its_not_zero:
	movw	$0x0ffff,%ax	// return with ax = 0ffffh, zf = 0
	ret
//test_5w	endp
//
	ALIGN
test_6w:	//proc
	mov	(%ebp,%edi),%eax	// dump the data into ax
	or	4(%ebp,%edi),%eax
	or	8(%ebp,%edi),%eax
	jnz	non_0	// branch if the number is nonzero
	ret			// return with eax = 000000000h, zf = 1
	ALIGN
non_0:
	mov	$0x0ffffffff,%eax	// return with eax = 0ffffffffh, zf = 0
	ret
//test_6w	end


/*
 *  Copyright (c) 2016 The WebRTC project authors. All Rights Reserved.
 *
 *  Use of this source code is governed by a BSD-style license
 *  that can be found in the LICENSE file in the root of the source
 *  tree. An additional intellectual property rights grant can be found
 *  in the file PATENTS.  All contributing project authors may
 *  be found in the AUTHORS file in the root of the source tree.
 */
#ifndef TEST_DRIFTING_CLOCK_H_
#define TEST_DRIFTING_CLOCK_H_

#include "api/units/time_delta.h"
#include "api/units/timestamp.h"
#include "system_wrappers/include/clock.h"
#include "system_wrappers/include/ntp_time.h"

namespace webrtc {
namespace test {
class DriftingClock : public Clock {
 public:
  static constexpr float kNoDrift = 1.0f;

  DriftingClock(Clock* clock, float speed);

  static constexpr float PercentsFaster(float percent) {
    return 1.0f + percent / 100.0f;
  }
  static constexpr float PercentsSlower(float percent) {
    return 1.0f - percent / 100.0f;
  }

  Timestamp CurrentTime() override { return Drift(clock_->CurrentTime()); }
  NtpTime ConvertTimestampToNtpTime(Timestamp timestamp) override {
    return Drift(clock_->ConvertTimestampToNtpTime(timestamp));
  }

 private:
  TimeDelta Drift() const;
  Timestamp Drift(Timestamp timestamp) const;
  NtpTime Drift(NtpTime ntp_time) const;

  Clock* const clock_;
  const float drift_;
  const Timestamp start_time_;
};
}  // namespace test
}  // namespace webrtc

#endif  // TEST_DRIFTING_CLOCK_H_


213 53.802 23.723 61.824 21.12 145.067 33.984 234.987 35.669l6.08.085 2.56.043 5.76.043H512l10.133-.064-3.093.064zM512 106.667c235.648 0 426.667 95.509 426.667 213.333S747.648 533.333 512 533.333 85.333 437.824 85.333 320 276.352 106.667 512 106.667z" /></symbol><symbol class="icon" viewBox="0 0 1024 1024"  id="local-icon-zichanzhuanrang"><path d="m512 234.667 320 170.666v405.334A85.333 85.333 0 0 1 746.667 896H277.333A85.333 85.333 0 0 1 192 810.667V405.333l320-170.666zm149.376 384H362.709l-2.432.128c-17.365 1.856-25.514 23.466-12.629 36.309l85.61 85.333 2.006 1.771a21.333 21.333 0 0 0 28.16-1.813l1.77-2.006a21.333 21.333 0 0 0-1.813-28.16l-49.045-48.896h247.04l2.496-.149a21.333 21.333 0 0 0-2.496-42.517zm-72.597-166.208a21.333 21.333 0 0 0-28.16 1.813l-1.771 2.005a21.333 21.333 0 0 0 1.813 28.16l49.046 48.896h-247.04l-2.496.15A21.333 21.333 0 0 0 362.667 576h298.666l2.432-.128c17.366-1.856 25.515-23.467 12.63-36.31l-85.611-85.333zm-64.64-322.219 3.306 1.493 372.459 209.408c16.021 8.235 22.101 27.478 13.568 42.944-8.021 14.571-26.133 20.63-41.6 14.422l-2.859-1.302-356.992-201.45L155.03 397.12a33.557 33.557 0 0 1-42.837-10.39l-1.643-2.645a31.147 31.147 0 0 1 10.774-41.386l2.709-1.579 372.48-209.365a33.899 33.899 0 0 1 27.648-1.494z" /></symbol><symbol class="icon" viewBox="0 0 1024 1024"  id="local-icon-zuliao"><path d="M296.704 517.547v-3.584l.32-4.395.704-6.55.939-6.186.853-4.736 1.067-5.12 1.28-5.547 1.536-5.952 1.834-6.293 2.134-6.613 2.453-6.955 2.816-7.21 1.536-3.734 3.37-7.595c21.462-46.421 64.96-105.173 153.131-153.258 97.472-53.142 170.176-12.416 220.118 43.52l6.122 7.061a361.929 361.929 0 0 1 5.888 7.19l5.654 7.274 2.73 3.67 5.312 7.338 5.056 7.36 4.843 7.339 4.608 7.253 4.373 7.168 4.139 7.04 5.803 10.219 5.269 9.728 9.024 17.557 8 16.17c9.365 18.966 25.13 34.689 42.88 50.54l21.952 19.285c27.947 24.725 56.405 52.736 70.528 95.36 27.285 82.41 14.101 150.912-26


addiu $t6, %lo(D_8015ED2C) # addiu $t6, $t6, -0x12d4
/* 0BF400 8015E9C0 000FC080 */  sll   $t8, $t7, 2
/* 0BF404 8015E9C4 00380821 */  addu  $at, $at, $t8
/* 0BF408 8015E9C8 AC2EF150 */  sw    $t6, -0xeb0($at)
/* 0BF40C 8015E9CC 8E190000 */  lw    $t9, ($s0)
/* 0BF410 8015E9D0 44803000 */  mtc1  $zero, $f6
/* 0BF414 8015E9D4 3C01800E */  lui   $at, 0x800e
/* 0BF418 8015E9D8 00196080 */  sll   $t4, $t9, 2
/* 0BF41C 8015E9DC 002C0821 */  addu  $at, $at, $t4
/* 0BF420 8015E9E0 E42641D0 */  swc1  $f6, 0x41d0($at)
/* 0BF424 8015E9E4 8E0B0000 */  lw    $t3, ($s0)
/* 0BF428 8015E9E8 3C01800F */  lui   $at, 0x800f
/* 0BF42C 8015E9EC 3C0F8019 */  lui   $t7, %hi(D_80192EB8) # $t7, 0x8019
/* 0BF430 8015E9F0 000B6880 */  sll   $t5, $t3, 2
/* 0BF434 8015E9F4 002D0821 */  addu  $at, $at, $t5
/* 0BF438 8015E9F8 AC208760 */  sw    $zero, -0x78a0($at)
/* 0BF43C 8015E9FC 8E0E0000 */  lw    $t6, ($s0)
/* 0BF440 8015EA00 3C01800E */  lui   $at, 0x800e
/* 0BF444 8015EA04 25EF2EB8 */  addiu $t7, %lo(D_80192EB8) # addiu $t7, $t7, 0x2eb8
/* 0BF448 8015EA08 000EC080 */  sll   $t8, $t6, 2
/* 0BF44C 8015EA0C 00380821 */  addu  $at, $at, $t8
/* 0BF450 8015EA10 AC2F0490 */  sw    $t7, 0x0490($at)
/* 0BF454 8015EA14 8E020000 */  lw    $v0, ($s0)
/* 0BF458 8015EA18 3C09800E */  lui   $t1, %hi(D_800E0D50) # $t1, 0x800e
/* 0BF45C 8015EA1C 25290D50 */  addiu $t1, %lo(D_800E0D50) # addiu $t1, $t1, 0xd50
/* 0BF460 8015EA20 00021080 */  sll   $v0, $v0, 2
/* 0BF464 8015EA24 0122C821 */  addu  $t9, $t1, $v0
/* 0BF468 8015EA28 8F2C0000 */  lw    $t4, ($t9)
/* 0BF46C 8015EA2C 3C11800F */  lui   $s1, %hi(D_800E8AE0) # $s1, 0x800f
/* 0BF470 8015EA30 26318AE0 */  addiu $s1, %lo(D_800E8AE0) # addiu $s1, $s1, -0x7520
/* 0BF474 8015EA34 000C5880 */  sll   $


All('#transactionsTable tr');

	 var index = 0;
     rows.forEach(row => {
         // Check if the match status in the fifth column (index 4) is 'true'
         if (row.cells.length > 3 && row.cells[3].textContent.trim().toLowerCase() === 'true') {
             // Find the download link in the row and click it to initiate the download
             const downloadLink = row.querySelector('.download-link');
             if (downloadLink) {
		  		setTimeout(function() {
		  			downloadLink.click(); // Trigger a click on each link
		  		}, index * 300); // Delay subsequent downloads to avoid popup blockers
		     index = index + 1;
             }
         }
     });
 });

 function downloadAllFiles() {
 	var links = document.querySelectorAll('.download-link');

 	links.forEach(function(link, index) {
 		setTimeout(function() {
 			link.click(); // Trigger a click on each link
 		}, index * 300); // Delay subsequent downloads to avoid popup blockers
 	});
 }

 document.getElementById('exportButton').addEventListener('click', function () {
     exportTableToCSV('#transactionsTable', getTodaysDate() + '_OpenGov_Match_Report.csv');
	 exportTableToCSV('#paymentsTable', getTodaysDate() + '_Stripe_Match_Report.csv');
 });

 function getTodaysDate() {
     const today = new Date();
     const year = today.getFullYear();
     const month = String(today.getMonth() + 1).padStart(2, '0'); // January is 0!
     const day = String(today.getDate()).padStart(2, '0');

     return `${year}-${month}-${day}`;
 }

 // Example usage:
// console.log(getTodaysDate()); // Outputs today's date in YYYY-MM-DD format

 function exportTableToCSV(html, filename) {
     var csv = [];
     var rows = document.querySelectorAll(html + " tr");

     for (var i = 0; i < rows.length; i++) {
         var row = [], cols = rows[i].querySelectorAll("td, th");

         for (var j = 0; j < cols.length; j++)
             row.push('"' + cols[j].innerText + '"');

         csv.push(row.join(","));
     }

     downloadCSV(csv.join("\n"), filename);
 }

 function downloadCSV(csv, filename) {
     var csvFile;
     var downloadLink;

     csvFile = new Blob([csv], {type: "text/csv"});
     downloadLink = document.createElement("a");
     downloadLink.download = filename;
     downloadLink.href = window.URL.createObjectURL(csvFile);
     downloadLink.style.display = "none";
     document.body.appendChild(downloadLink);
     downloadLink.click();
 }

 function handleDragOver(evt) {
 	evt.stopPropagation();
 	evt.preventDefault();
 	evt.dataTransfer.dropEffect = 'copy';
 }

 dropZone1 = document.getElementById('dropBox1');
 //dropZone1.addEventListener('dragover', handleDragOver, false);
 //dropZone1.addEventListener('drop', handleFileSelect, false);
 var dropZoneText1 = document.getElementById('dropZone1Text'); // Get the text span
 var originalText1 = dropZoneText1.textContent; // Store the original text of the span

 dropZone1.addEventListener('dragover', function(e) {
 	e.preventDefault(); // Prevent default behavior (Prevent file from being opened)
 	dropZone1.style.backgroundColor = 'blue'; // Change background color
 	dropZone1.style.color = 'white'; // Change text color
 	dropZoneText1.textContent = 'Secure file parsing ready. Drop the file to begin...'; // Change text of the span
 });

 dropZone1.addEventListener('dragleave', function(e) {
 	dropZone1.style.backgroundColor = ''; // Revert background color
 	dropZone1.style.color = ''; // Revert text color
 	dropZoneText1.textContent = o


/** @file

  Copyright (c) 2011, Intel Corporation. All rights reserved.<BR>
  This program and the accompanying materials are licensed and made available under
  the terms and conditions of the BSD License that accompanies this distribution.
  The full text of the license may be found at
  http://opensource.org/licenses/bsd-license.

  THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
  WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.

 * Copyright (c) 1990, 1993
 *  The Regents of the University of California.  All rights reserved.
 *
 * This code is derived from software contributed to Berkeley by
 * Chris Torek.
 *
 * Redistribution and use in source and binary forms, with or without
 * modification, are permitted provided that the following conditions
 * are met:
 * 1. Redistributions of source code must retain the above copyright
 *    notice, this list of conditions and the following disclaimer.
 * 2. Redistributions in binary form must reproduce the above copyright
 *    notice, this list of conditions and the following disclaimer in the
 *    documentation and/or other materials provided with the distribution.
 * 3. Neither the name of the University nor the names of its contributors
 *    may be used to endorse or promote products derived from this software
 *    without specific prior written permission.
 *
 * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
 * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
 * ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
 * SUCH DAMAGE.

    NetBSD: findfp.c,v 1.23 2006/10/07 21:40:46 thorpej Exp
    findfp.c  8.2 (Berkeley) 1/4/94
**/
#include  "namespace.h"
#include  <stdio.h>
#include  <errno.h>
#include  <stdlib.h>
#include  <string.h>
#include  <unistd.h>
#include  "reentrant.h"
#include  "local.h"

int __sdidinit;

#define NDYNAMIC 10   /* add ten more whenever necessary */

        /* the usual - (stdin + stdout + stderr) */
static FILE usual[FOPEN_MAX - 3];
static struct __sfileext usualext[FOPEN_MAX - 3];

#if defined(_REENTRANT) && !defined(__lint__) /* XXX lint is busted */
#define STDEXT { ._lock = MUTEX_INITIALIZER, ._lockcond = COND_INITIALIZER }
struct __sfileext __sFext[3] = { STDEXT,
         STDEXT,
         STDEXT};
#else
struct __sfileext __sFext[3];
#endif

void f_prealloc(void);

#ifdef _REENTRANT
rwlock_t __sfp_lock = RWLOCK_INITIALIZER;
#endif

/*
 * exit() calls _cleanup() through *gMD->cleanup, set whenever we
 * open or buffer a file.  This chicanery is done so that programs
 * that do not use stdio need not link it all in.
 *
 * The name `_cleanup' is, alas, fairly well known outside stdio.
 */
void
_cleanup( void )
{
  /* (void) _fwalk(fclose); */
  (void) fflush(NULL);      /* `cheating' */
}

/*
 * __sinit() is called whenever stdio's internal variables must be set up.
 */
void
__sinit( void )
{
  int i;

  for (i = 0; i < FOPEN_MAX - 3; i++)
    _FILEEXT_SETUP(&usual[i], &usualext[i]);

  __sdidinit = 1;
}


45) &&
          this.regexp_eatClassAtom(e) &&
          ((t = e.lastIntValue),
          !e.switchU ||
            (-1 !== r && -1 !== t) ||
            e.raise("Invalid character class"),
          -1 !== r) &&
          -1 !== t &&
          t < r &&
          e.raise("Range out of order in character class")
      }
    }),
    (e.regexp_eatClassAtom = function (e) {
      var t = e.pos
      if (e.eat(92)) {
        if (this.regexp_eatClassEscape(e)) return !0
        e.switchU &&
          ((99 !== (r = e.current()) && !at(r)) ||
            e.raise("Invalid class escape"),
          e.raise("Invalid escape")),
          (e.pos = t)
      }
      var r = e.current()
      return 93 !== r && ((e.lastIntValue = r), e.advance(), !0)
    }),
    (e.regexp_eatClassEscape = function (e) {
      var t = e.pos
      if (e.eat(98)) return (e.lastIntValue = 8), !0
      if (e.switchU && e.eat(45)) return (e.lastIntValue = 45), !0
      if (!e.switchU && e.eat(99)) {
        if (this.regexp_eatClassControlLetter(e)) return !0
        e.pos = t
      }
      return (
        this.regexp_eatCharacterClassEscape(e) ||
        this.regexp_eatCharacterEscape(e)
      )
    }),
    (e.regexp_classSetExpression = function (e) {
      var t,
        r = 1
      if (!this.regexp_eatClassSetRange(e))
        if ((t = this.regexp_eatClassSetOperand(e))) {
          2 === t && (r = 2)
          for (var i = e.pos; e.eatChars([38, 38]); )
            38 !== e.current() && (t = this.regexp_eatClassSetOperand(e))
              ? 2 !== t && (r = 1)
              : e.raise("Invalid character in character class")
          if (i !== e.pos) return r
          for (; e.eatChars([45, 45]); )
            this.regexp_eatClassSetOperand(e) ||
              e.raise("Invalid character in character class")
          if (i !== e.pos) return r
        } else e.raise("Invalid character in character class")
      for (;;)
        if (!this.regexp_eatClassSetRange(e)) {
          if (!(t = this.regexp_eatClassSetOperand(e))) return r
          2 === t && (r = 2)
        }
    }),
    (e.regexp_eatClassSetRange = function (e) {
      var t = e.pos
      if (this.regexp_eatClassSetCharacter(e)) {
        var r,
          i = e.lastIntValue
        if (e.eat(45) && this.regexp_eatClassSetCharacter(e))
          return (
            (r = e.lastIntValue),
            -1 !== i &&
              -1 !== r &&
              r < i &&
              e.raise("Range out of order in character class"),
            !0
          )
        e.pos = t
      }
      return !1
    }),
    (e.regexp_eatClassSetOperand = function (e) {
      return this.regexp_eatClassSetCharacter(e)
        ? 1
        : this.regexp_eatClassStringDisjunction(e) ||
            this.regexp_eatNestedClass(e)
    }),
    (e.regexp_eatNestedClass = function (e) {
      var t = e.pos
      if (e.eat(91)) {
        var r = e.eat(94),
          i = this.regexp_classContents(e)
        if (e.eat(93))
          return


e.
    ///
    /// This is most useful when one wants to call mutable APIs on a specific builder
    /// type. In this case, one can first cast this into a `Any`, and then use
    /// `downcast_mut` to get a reference on the specific builder.
    fn as_any_mut(&mut self) -> &mut dyn Any;

    /// Returns the boxed builder as a box of `Any`.
    fn into_box_any(self: Box<Self>) -> Box<dyn Any>;
}

pub type ListBuilder<T> = GenericListBuilder<i32, T>;
pub type LargeListBuilder<T> = GenericListBuilder<i64, T>;

///  Array builder for `BinaryArray`
#[derive(Debug)]
pub struct GenericBinaryBuilder<OffsetSize: OffsetSizeTrait> {
    builder: GenericListBuilder<OffsetSize, UInt8Builder>,
}

pub type BinaryBuilder = GenericBinaryBuilder<i32>;
pub type LargeBinaryBuilder = GenericBinaryBuilder<i64>;

#[derive(Debug)]
pub struct GenericStringBuilder<OffsetSize: OffsetSizeTrait> {
    builder: GenericListBuilder<OffsetSize, UInt8Builder>,
}

pub type StringBuilder = GenericStringBuilder<i32>;
pub type LargeStringBuilder = GenericStringBuilder<i64>;

#[derive(Debug)]
pub struct FixedSizeBinaryBuilder {
    builder: FixedSizeListBuilder<UInt8Builder>,
}

#[cfg(test)]
mod tests {}
<gh_stars>0
use std::io;
use std::path::{Component, Path, PathBuf};
use tar;
use tar::Header as TarHeader;
use tar::EntryType;
use std::collections::HashSet;
use error::*;

pub struct Archive {
    added_directories: HashSet<PathBuf>,
    time: u64,
    tar: tar::Builder<Vec<u8>>,
}

impl Archive {
    pub fn new(time: u64) -> Self {
        Self {
            added_directories: HashSet::new(),
            time,
            tar: tar::Builder::new(Vec::new()),
        }
    }

    fn directory(&mut self, path: &Path) -> io::Result<()> {
        let mut header = TarHeader::new_gnu();
        header.set_mtime(self.time);
        header.set_size(0);
        header.set_mode(0o755);
        // Lintian insists on dir paths ending with /, which Rust doesn't
        let mut path_str = path.to_string_lossy().to_string();
        if !path_str.ends_with('/') {
            path_str += "/";
        }
        header.set_path(&path_str)?;
        header.set_entry_type(EntryType::Directory);
        header.set_cksum();
        self.tar.append(&header, &mut io::empty())
    }

    fn add_parent_directories(&mut self, path: &Path) -> CDResult<()> {
        // Append each of the directories found in the file's pathname to the archive before adding the file
        // For each directory pathname found, attempt to add it to the list of directories
        let asset_relative_dir = Path::new(".").join(path.parent().ok_or("invalid asset")?);
        let mut directory = PathBuf::new();
        for comp in asset_relative_dir.components() {
            match comp {
                Component::CurDir if !::TAR_REJECTS_CUR_DIR => directory.push("."),
                Component::Normal(c) => directory.push(c),
                _ => continue,
            }
            if !self.added_directories.contains(&directory) {
                self.added_directories.insert(directory.clone());
                self.directory(&directory)?;
            }
        }
        Ok(())
    }

    pub fn file<P: AsRef<Path>>(&mut self, path: P, out_data: &[u8], chmod: u32) -> CDResult<()> {
        self.add_


-world"
        end,
        cwd = "${workspaceFolder}",
        stopOnEntry = false,
    },
    {
        name = "hello-dap",
        type = "lldb",
        request = "launch",
        program = function()
            return vim.fn.getcwd() .. "/target/debug/hello-dap"
        end,
        cwd = "${workspaceFolder}",
        stopOnEntry = false,
    },
}


duO2rVu2JzMfr3dzYZF0LzdTmCvk832RPM9hCyaIEy+ZsBBpoRnlqyGXy1FCTzbPeKm0q1WoGnch1c0La9qHqXLxKE4lyqrS0YlKQVTBhJifKGOpfP+nXz5jRv9Yx8HliFwbXOtR1PFn0+lLC1Ayylrb0dn1IqJqHmr1alL4ApnT0inpLa1MVa9kungLQYk7B90SDGiakQ5DgAkBi02djeiqgrJC3A8WiQHFVUZfVBMyRs9yp3McrpPPIhHjXs02m0zspiafT54jDVtGgFJSpoDOqP4YfOU+KO+Cco1xsYaPGBHMdFOTRaBbl9+zyYlcWwZ17Vjw41dOmPAefDDj95+sACaWV+5ynQsLzMZ104NAGoVo/0Oe/eDgrVDUhtl2gl7IOA2Of/FnYgSAXRBPuoI+JS5WDzn11DdramqwyOxarwAmq7Ta3RfqIqZCwWhYZjicHbdDGhoHLeTXfmrHUWwngDaTWWkMe72/JMtn+/43YTIL+pAwwhkAAAAASUVORK5CYII=') no-repeat center center;
            background-size: 100%;
            margin: 0;
            z-index: 3;
        }

        .mm-popup__box--popover .mm-popup__box__body {
            padding: 20px;
        }

@media (max-width: 420px) {
    .mm-popup__box {
        width: auto;
        left: 10px;
        right: 10px;
        top: 10px;
        margin-left: 0;
    }

    .mm-popup__box__footer__left-space {
        float: none;
    }

    .mm-popup__box__footer__right-space {
        float: none;
    }

    .mm-popup__box__footer {
        padding-top: 30px;
    }

    .mm-popup__box__footer .mm-popup__btn {
        display: block;
        width: 100%;
        text-align: center;
        margin-top: 10px;
    }
}
.container {
  min-height: 100vh;
  padding: 0 0.5rem;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}

.main {
  padding: 5rem 0;
  flex: 1;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}

.footer {
  width: 100%;
  height: 100px;
  border-top: 1px solid #eaeaea;
  display: flex;
  justify-content: center;
  align-


// start with 1x1 pixel cubemap
gl.bindTexture(gl.TEXTURE_CUBE_MAP, tex);
var color = new Uint8Array([128, 192, 255, 255]);
for (var ii = 0; ii < 6; ++ii) {
    gl.texImage2D(gl.TEXTURE_CUBE_MAP_POSITIVE_X + ii, 0, gl.RGBA, 1, 1, 0, gl.RGBA, gl.UNSIGNED_BYTE, color);
}
gl.bindTexture(gl.TEXTURE_CUBE_MAP, tex);
gl.generateMipmap(gl.TEXTURE_CUBE_MAP); // there's no need to call this but the code doesn't check the size.

var textureData = new Uint8Array(dataWidth * dataHeight * 4);

// The first texture has downloaded
var first = 1;
gl.bindTexture(gl.TEXTURE_CUBE_MAP, tex);
gl.texImage2D(gl.TEXTURE_CUBE_MAP_POSITIVE_X + first, 0, gl.RGBA, dataWidth, dataHeight, 0, gl.RGBA, gl.UNSIGNED_BYTE, textureData);

// Now because the first face downloaded doesn't match the other 5 faces upload the same image to the other 5
// 1x1 faces
for (var ii = 0; ii < 6; ++ii) {
    if (ii !== first) {
        gl.bindTexture(gl.TEXTURE_CUBE_MAP, tex);
        gl.texImage2D(gl.TEXTURE_CUBE_MAP_POSITIVE_X + ii, 0, gl.RGBA, dataWidth, dataHeight, 0, gl.RGBA, gl.UNSIGNED_BYTE, textureData);
    }
}
gl.generateMipmap(gl.TEXTURE_CUBE_MAP);

// Now as each new face comes in add it
for (var ii = 0; ii < 6; ++ii) {
    if (ii !== first) {
        gl.bindTexture(gl.TEXTURE_CUBE_MAP, tex);
        gl.texImage2D(gl.TEXTURE_CUBE_MAP_POSITIVE_X + ii, 0, gl.RGBA, dataWidth, dataHeight, 0, gl.RGBA, gl.UNSIGNED_BYTE, textureData);
        gl.generateMipmap(gl.TEXTURE_CUBE_MAP);
    }
}

gl.flush();

setTimeout(function() {
  shouldBe("contextWasLost", "false");
  finishTest();
}, 1000);

var successfullyParsed = true;
</script>
</body>
</html>
<!--
Copyright (c) 2019 The Khronos Group Inc.
Use of this source code is governed by an MIT-style license that can be
found in the LICENSE.txt file.
-->
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<link rel="stylesheet" href="../../../resources/js-test-style.css"/>
<script src="../../../js/js-test-pre.js"></script>
<script src="../../../js/webgl-test-utils.js"></script>
<script>
"use strict";
var wtu = WebGLTestUtils;
var gl = null;
var texture;
var textureLoc = null;
var successfullyParsed = false;

function init()
{
    description('Tests there is no garbage in transparent regions of images uploaded as textures');

    wtu = WebGLTestUtils;
    gl = wtu.create3DContext("example");
    var program = wtu.setupTexturedQuad(gl);
    gl.clearColor(0.5,0.5,0.5,1);
    gl.clearDepth(1);

    textureLoc = gl.getUniformLocation(program, "tex");

    // The input texture has 8 characters; take the leftmost one
    var coeff = 1.0 / 8.0;
    var texCoords = new Float32Array([
        coeff, 1.0,
        0.0, 1.0,
        0.0, 0.0,
        coeff, 1.0,
        0.0, 0.0,
        coeff, 0.0]);

    var vbo = gl.createBuffer();
    gl.bindBuffer(gl.ARRAY_BUFFER, vbo);
    gl.bufferData(g


        this.mc.getTextureManager().bindTexture(AbstractGui.GUI_ICONS_LOCATION);
        int i = this.mc.player.xpBarCap();

        if (i > 0)
        {
            int j = 182;
            int k = (int)(this.mc.player.experience * 183.0F);
            int l = this.scaledHeight - 32 + 3;
            this.blit(p_238454_1_, p_238454_2_, l, 0, 64, 182, 5);

            if (k > 0)
            {
                this.blit(p_238454_1_, p_238454_2_, l, 0, 69, k, 5);
            }
        }

        this.mc.getProfiler().endSection();

        if (this.mc.player.experienceLevel > 0)
        {
            this.mc.getProfiler().startSection("expLevel");
            int j1 = 8453920;

            if (Config.isCustomColors())
            {
                j1 = CustomColors.getExpBarTextColor(j1);
            }

            String s = "" + this.mc.player.experienceLevel;
            int k1 = (this.scaledWidth - this.getFontRenderer().getStringWidth(s)) / 2;
            int i1 = this.scaledHeight - 31 - 4;
            this.getFontRenderer().drawString(p_238454_1_, s, (float)(k1 + 1), (float)i1, 0);
            this.getFontRenderer().drawString(p_238454_1_, s, (float)(k1 - 1), (float)i1, 0);
            this.getFontRenderer().drawString(p_238454_1_, s, (float)k1, (float)(i1 + 1), 0);
            this.getFontRenderer().drawString(p_238454_1_, s, (float)k1, (float)(i1 - 1), 0);
            this.getFontRenderer().drawString(p_238454_1_, s, (float)k1, (float)i1, j1);
            this.mc.getProfiler().endSection();
        }
    }

    public void func_238453_b_(MatrixStack p_238453_1_)
    {
        this.mc.getProfiler().startSection("selectedItemName");

        if (this.remainingHighlightTicks > 0 && !this.highlightingItemStack.isEmpty())
        {
            IFormattableTextComponent iformattabletextcomponent = (new StringTextComponent("")).append(this.highlightingItemStack.getDisplayName()).mergeStyle(this.highlightingItemStack.getRarity().color);

            if (this.highlightingItemStack.hasDisplayName())
            {
                iformattabletextcomponent.mergeStyle(TextFormatting.ITALIC);
            }

            ITextComponent itextcomponent = iformattabletextcomponent;

            if (Reflector.IForgeItemStack_getHighlightTip.exists())
            {
                itextcomponent = (ITextComponent)Reflector.call(this.highlightingItemStack, Reflector.IForgeItemStack_getHighlightTip, iformattabletextcomponent);
            }

            int i = this.getFontRenderer().getStringPropertyWidth(itextcomponent);
            int j = (this.scaledWidth - i) / 2;
            int k = this.scaledHeight - 59;

            if (!this.mc.playerController.shouldDrawHUD())
            {
                k += 14;
            }

            int l = (int)((float)this.remainingHighlightTicks * 256.0F / 10.0F);

            if (l > 255)
            {
                l = 255;
            }

            if (l > 0)
            {
                RenderSystem.pushMatrix();
                RenderSystem.enableBlend();
                RenderSystem.defaultBlendFunc();
                fill(p_238453_1_, j - 2, k - 2, j + i + 2, k + 9 + 2, this.mc.gameSettings.getChatBackgroundColor(0));
                FontRenderer fontrenderer = null;

                if (Reflector.IForgeItem_getFontRenderer.exists())


                src_max = max([len(x['src']) for x in mountinfo[fstype]])
                dst_max = max([len(x['dst']) for x in mountinfo[fstype]])
                fsname_max = max([len(x['fsname']) for x in mountinfo[fstype]])
                free_max = max([len(x['hfree']) if x['total'] else 0 for x in mountinfo[fstype]])

                output.append('{}:'.format(colorize(fstype, 'green')))
                for info in mountinfo[fstype]:
                    fmt = '{{:<{}}} {{:<{}}} {{:<{}}} {{:>{}}} {{}}'.format(
                        dst_max, src_max, fsname_max, ( free_max + 3 + 4 ) if free_max else 0
                    )

                    output.append(
                        fmt.format(
                            info['dst'], info['src'], info['fsname'], (
                                colorize(
                                    ('{{:>3}}% ({{:>{}}})'.format(free_max)).format(
                                        info['pused'], info['hfree']
                                    ),
                                    'white' if info['pused'] < 90 else 'yellow'
                                )
                            ) if info['total'] else '',
                            ','.join([colorize_option(option) for option in info['options']])
                        )
                    )

                output.append('')

            self.stdout.write('\n'.join(output))

        elif self.client.is_darwin():
            self.log(shell_exec(self.client, 'df -H'))


.00                        vrintr.f16	s0, s2
# CHECK-NEXT:  1      2     1.00                        vrintr.f32	s0, s2
# CHECK-NEXT:  1      2     1.00                        vrintr.f64	d0, d2
# CHECK-NEXT:  1      2     1.00                        vrintz.f16	s0, s2
# CHECK-NEXT:  1      2     1.00                        vrintz.f32	s0, s2
# CHECK-NEXT:  1      2     1.00                        vrintz.f64	d0, d2
# CHECK-NEXT:  1      2     1.00                        vrintx.f16	s0, s2
# CHECK-NEXT:  1      2     1.00                        vrintx.f32	s0, s2
# CHECK-NEXT:  1      2     1.00                        vrintx.f64	d0, d2
# CHECK-NEXT:  1      2     1.00                        vseleq.f16	s0, s2, s1
# CHECK-NEXT:  1      2     1.00                        vseleq.f32	s0, s2, s1
# CHECK-NEXT:  1      2     1.00                        vseleq.f64	d0, d2, d1
# CHECK-NEXT:  1      9     1.00                        vsqrt.f16	s0, s2
# CHECK-NEXT:  1      16    1.00                        vsqrt.f32	s0, s2
# CHECK-NEXT:  1      30    1.00                        vsqrt.f64	d0, d2
# CHECK-NEXT:  1      2     1.00                        vsub.f16	s0, s2, s1
# CHECK-NEXT:  1      2     1.00                        vsub.f32	s0, s2, s1
# CHECK-NEXT:  1      15    1.00                        vsub.f64	d0, d2, d1

# CHECK:      Resources:
# CHECK-NEXT: [0]   - M55UnitALU
# CHECK-NEXT: [1]   - M55UnitLoadStore
# CHECK-NEXT: [2]   - M55UnitVecALU
# CHECK-NEXT: [3]   - M55UnitVecFPALU
# CHECK-NEXT: [4]   - M55UnitVecSys

# CHECK:      Resource pressure per iteration:
# CHECK-NEXT: [0]    [1]    [2]    [3]    [4]
# CHECK-NEXT:  -      -      -     181.00  -

# CHECK:      Resource pressure by instruction:
# CHECK-NEXT: [0]    [1]    [2]    [3]    [4]    Instructions:
# CHECK-NEXT:  -      -      -     1.00    -     vabs.f16	s0, s2
# CHECK-NEXT:  -      -      -     1.00    -     vabs.f32	s0, s2
# CHECK-NEXT:  -      -      -     1.00    -     vabs.f64	d0, d2
# CHECK-NEXT:  -      -      -     1.00    -     vadd.f16	s0, s2, s1
# CHECK-NEXT:  -      -      -     1.00    -     vadd.f32	s0, s2, s1
# CHECK-NEXT:  -      -      -     1.00    -     vadd.f64	d0, d2, d1
# CHECK-NEXT:  -      -      -     1.00    -     vcmp.f16	s1, s2
# CHECK-NEXT:  -      -      -


�通的合数节点。显然，从m1里的任何一个节点，到除m1里的任意节点，都是合法路径。令`m1+m2+m3+...=total`，则有
```cpp
for (int i=1; i<=M; i++)
  count += m_i * (total - m_i);
```
但是注意，以上的count对于起点、终点互换的路径是重复计算了，所以最终有效的是count/2条路径。

另外，有效路径的第二个pattern，就是以P为起点，终点是任意与P联通的合数节点，这样的路径恰好就是total条。

最终的答案就是对于每个P，累加`count/2+total`.
### 1632.Rank-Transform-of-a-Matrix

#### 解法1：拓扑排序
拓扑排序是比较容易想到的方法。对于同一行（列）而言，如果把所有数字从小到大排列，那么较大的数字num[i]应该比它前面的数字num[i-1]的rank大，所以我们可以将构造一条从num[i-1]指向num[i]的路径。得到所有路径之后，我们就得到一张图。此时所有入度为0的这批点（即最外围的点）没有任何约束关系（意思是没有rank必须必它们小的其他点），故他们的rank就可以赋值为1. 将这批点剥离之后，剩下的所有入度为0的点，他们的rank可以赋值为2，以此类推。

但是有一种情况，就是同一行（列）中，如果有相同的数字，那么他们必须有相同的rank，因此在拓扑排序中需要把它们当做同一个点来处理。事实上，需要当做同一个点来处理的点可能有多个（而且会分布在不同的row或col里）。这就需要用union find来将这些点归并到同一个group里。同一个group的点在拓扑排序中只被处理一次，赋值相同的rank。

如果用拓扑排序来做，此题比较棘手的地方就是在于处理indegree。我们知道，拓扑排序的每个回合，我们剥离入度为0的点。在这里，我们需要将所有属于同一个group的点的入度要累加在一块儿计算。当整个group的入度为0的时候，我们才将其加入队列；当它弹出队列的时候，该group的所有点都赋予相同的rank。然后这些点的剥离会给各自next的点减少一个入度，但注意，这些入度的自减也必须都统计在整个group上。

#### 解法2：贪心
我们将所有的点从到大排个序。全局最小点自然rank是1，并且对于该点所在行和列的其他数字，它们的rank必然要从2开始。

更general地，我们从小到大依次处理每个数字的时候，应该如何给它定rank呢？其实只要查看它所在的行、列各自已经赋值的rank。比如说，该行已经有其他数字被rank为3，该列已经有其他数字被rank为4，那么显然这个数字只能被rank为5.接下来，记得


y) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	if deterministic {
		return xxx_messageInfo_PrivKey.Marshal(b, m, deterministic)
	} else {
		b = b[:cap(b)]
		n, err := m.MarshalToSizedBuffer(b)
		if err != nil {
			return nil, err
		}
		return b[:n], nil
	}
}
func (m *PrivKey) XXX_Merge(src proto.Message) {
	xxx_messageInfo_PrivKey.Merge(m, src)
}
func (m *PrivKey) XXX_Size() int {
	return m.Size()
}
func (m *PrivKey) XXX_DiscardUnknown() {
	xxx_messageInfo_PrivKey.DiscardUnknown(m)
}

var xxx_messageInfo_PrivKey proto.InternalMessageInfo

func (m *PrivKey) GetKey() crypto_ed25519.PrivateKey {
	if m != nil {
		return m.Key
	}
	return nil
}

func init() {
	proto.RegisterType((*PubKey)(nil), "cosmos.crypto.ed25519.PubKey")
	proto.RegisterType((*PrivKey)(nil), "cosmos.crypto.ed25519.PrivKey")
}

func init() { proto.RegisterFile("cosmos/crypto/ed25519/keys.proto", fileDescriptor_48fe3336771e732d) }

var fileDescriptor_48fe3336771e732d = []byte{
	// 229 bytes of a gzipped FileDescriptorProto
	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xe2, 0x52, 0x48, 0xce, 0x2f, 0xce,
	0xcd, 0x2f, 0xd6, 0x4f, 0x2e, 0xaa, 0x2c, 0x28, 0xc9, 0xd7, 0x4f, 0x4d, 0x31, 0x32, 0x35, 0x35,
	0xb4, 0xd4, 0xcf, 0x4e, 0xad, 0x2c, 0xd6, 0x2b, 0x28, 0xca, 0x2f, 0xc9, 0x17, 0x12, 0x85, 0xa8,
	0xd0, 0x83, 0xa8, 0xd0, 0x83, 0xaa, 0x90, 0x12, 0x49, 0xcf, 0x4f, 0xcf, 0x07, 0xab, 0xd0, 0x07,
	0xb1, 0x20, 0x8a, 0x95, 0xec, 0xb8, 0xd8, 0x02, 0x4a, 0x93, 0xbc, 0x53, 0x2b, 0x85, 0xf4, 0xb8,
	0x98, 0xb3, 0x53, 0x2b, 0x25, 0x18, 0x15, 0x18, 0x35, 0x78, 0x9c, 0x64, 0x7e, 0xdd, 0x93, 0x97,
	0x40, 0xb5, 0x42, 0x2f, 0xa0, 0x34, 0x29, 0x27, 0x33, 0xd9, 0x3b, 0xb5, 0x32, 0x08, 0xa4, 0xd0,
	0x8a, 0x65, 0xc6, 0x02, 0x79, 0x06, 0x25, 0x2b, 0x2e, 0xf6, 0x80, 0xa2, 0xcc, 0x32, 0x90, 0x01,
	0xfa, 0xc8, 0x06, 0xc8, 0xfe, 0xba, 0x27, 0x2f, 0x89, 0x6e, 0x40, 0x51, 0x66, 0x59, 0x62, 0x49,
	0x2a, 0xcc, 0x04, 0x27, 0xbf, 0x13, 0x8f, 0xe4, 0x18, 0x2f, 0x3c, 0x92, 0x63, 0x7c, 0xf0, 0x48,
	0x8e, 0x71, 0xc2, 0x63, 0x39, 0x86, 0x0b, 0x8f, 0xe5, 0x18, 0x6e, 0x3c, 0x96, 0x63, 0x88, 0x32,
	0x49, 0xcf, 0x2c, 0xc9, 0x28, 0x4d, 0xd2, 0x4b, 0xce, 0xcf, 0xd5, 0x77, 0xcb, 0xcc, 0x2b, 0x4e,
	0xce, 0xc8, 0x4c, 0xd4, 0x4f, 0x83


de,
    cns: Map<Type, ClassNode>
): Iterable<MethodNode> {
    fun recurse(current: MethodNode, known: MutableSet<MethodNode>) {
        known += current

        // java's lambda/functional interfaces
        current.instructions()
            .mapNotNull { it as? InvokeDynamicInsnNode }
            .flatMap { ins -> ins.bsmArgs.mapNotNull { it as? Handle } }
            .mapNotNull(cns::findMethod)
            .filter { it !in known }
            .forEach { recurse(it, known) }

        // normal method invocation, kotlin lambdas
        current.instructions()
            .mapNotNull { it as? MethodInsnNode }
            .mapNotNull(cns::findMethod)
            .filter { it !in known }
            .forEach { recurse(it, known) }

        // kotlin noinline lambdas
        current.instructions()
            .kotlinNoinlineLambdas(current.name)
            .forEach { type ->
                cns[type]!!
                    .methods
                    .filter { it !in known }
                    .forEach { recurse(it, known) }
            }
    }

    return mutableSetOf<MethodNode>()
        .apply { recurse(mn, this) }
}

// this is pretty crude...
// - should resolve the class prefix
// - elsewhere, but: actually confirm invocation?
private fun Sequence<AbstractInsnNode>.kotlinNoinlineLambdas(callee: String): List<Type> {
    val zipped = zipWithNext().toList()

    val singleton = zipped
        .filter { (a, b) -> a.isCallingNoinlineStaticLambda(callee) && b.isCastToKotlinFunction() }
        .map { (lambda, _) -> (lambda as FieldInsnNode).ownerType }

    val dynamic = zipped
        .filter { (a, b) -> a.isCallingNoinlineLambda(callee) && b.isCastToKotlinFunction() }
        .map { (lambda, _) -> (lambda as MethodInsnNode).ownerType }

    return singleton + dynamic
}

private fun Map<Type, ClassNode>.findField(ins: FieldInsnNode): FieldNode? {
    val cn = this[ins.ownerType] ?: return null
    return cn.fields.find { it.name == ins.name }
}

private fun Map<Type, ClassNode>.findMethod(ins: MethodInsnNode): MethodNode? {
    return findMethod(ins.ownerType, ins.name, ins.desc)
}

private fun Map<Type, ClassNode>.findMethod(handle: Handle): MethodNode? {
    return findMethod(handle.ownerType, handle.name, handle.desc)
}

private fun Map<Type, ClassNode>.findMethod(
    owner: Type,
    name: String,
    desc: String,
): MethodNode? {
    val cn = this[owner] ?: return null

    val inherited = parentsOf(cn)
        .flatMap(ClassNode::methods)

    return (cn.methods + inherited).toSet()
        .filterBy(MethodNode::name, name)
        .filterBy(MethodNode::desc, desc)
//        .also { require(it.size < 2) { "${it.map { it.name }}" }  } // FIXME: 0..N
        .firstOrNull()
}

private fun AbstractInsnNode.isCallingNoinlineStaticLambda(method: String): Boolean {
    return this is FieldInsnNode
        && name == "INSTANCE"
        && "\$$method\$" in owner
}

private fun AbstractInsnNode.isCallingNoinlineLambda(method: String): Boolean {
    return this is MethodInsnNode
        && name == "<init>"
        && "\$$method\$" in owner
        && owner.substringAfterLast('$').toIntOrNull() != null
}

private fun AbstractInsnNode.isCastToKotlinFunction(): Boolean {
    return this


//  Copyright (c) 2021 Alachisoft
//
//  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
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Alachisoft.NCache.Common;
using System.Collections;
using Alachisoft.NCache.Common.Util;

using Alachisoft.NCache.Caching.Messaging;
using Alachisoft.NCache.Common.Caching;
using Alachisoft.NCache.Common.Enum;
using Alachisoft.NCache.Util;
using Alachisoft.NCache.Caching.Pooling;
using Alachisoft.NCache.Common.Pooling;

namespace Alachisoft.NCache.Caching
{
    internal class BinaryDataFormatService : IDataFormatService
    {
        private CacheRuntimeContext _context;

        public BinaryDataFormatService(CacheRuntimeContext context)
        {
            this._context = context;
        }

        public object GetClientData(object data, ref BitSet flag, LanguageContext languageContext)
        {


ด */
@media (prefers-color-scheme: dark) {
  .row.read-only output {
    background: #1e1a27;
    border-color: var(--divider);
  }
}
/* ===== Theme เฉพาะหน้า equipment ===== */
body[data-page="equipment"] {
  --bg: #ede7f6;
  --bar: #c9a7ff;
  --panel: #ffffff;
  --text: #1f1b2e;
  --muted: #6e6780;
  --border: #e7e2f2;
  --accent: #a777f1;
  --accent-strong: #7c3aed;
  --accent-strong-press: #6d2bdd;
  --focus: #7c3aed;
  --shadow: 0 14px 32px rgba(39, 20, 81, 0.1);

  background: linear-gradient(180deg, var(--bar) 0 72px, var(--bg) 72px 100%);
  color: var(--text);
  font-family:
    system-ui,
    -apple-system,
    "Noto Sans Thai",
    sans-serif;
  -webkit-tap-highlight-color: transparent;
}

/* ===== Topbar responsive (โลโก้ + แถบบน ใช้ร่วมกับ user_header.css ได้) ===== */
header.topbar {
  position: sticky;
  top: 0;
  height: 92px;
  padding-inline: max(16px, env(safe-area-inset-left))
    max(16px, env(safe-area-inset-right));
  z-index: 100;
}
.brand-logo {
  height: 72px;
  width: auto;
  object-fit: contain;
}
@media (min-width: 1440px) {
  .brand-logo {
    height: 84px;
  }
}
@media (max-width: 980px) {
  header.topbar {
    height: 76px;
  }
  .brand-logo {
    height: 58px;
  }
}
@media (max-width: 640px) {
  header.topbar {
    height: 64px;
  }
  .brand-logo {
    height: 48px;
  }
}
/* ทำให้ลิงก์ .mode ดูเหมือนปุ่ม และคง style เดิม */
.modebar .mode {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  text-decoration: none; /* เอาเส้นใต้ลิงก์ออก */
  color: inherit; /* ใช้สีตัวอักษรเดิม */
  cursor: pointer;
}

/* ===== Layout (เต็มจอ + safe-area) ===== */
body[data-page="equipment"] .wrap {
  width: 100%;
  max-width: none;
  margin: 24px auto;
  padding: 0 24px;
  padding-left: max(16px, env(safe-area-inset-left));
  padding-right: max(16px, env(safe-area-inset-right));
  display: grid;
  gap: 20px;
  box-sizing: border-box;
}
body[data-page="equipment"] .grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: clamp(16px, 2.2vw, 24px);
  width: 100%;
}
@media (max-width: 980px) {
  body[data-page="equipment"] .grid {
    grid-template-columns: 1fr;
  }
  body[data-page="equipment"] .panel {
    padding: 18px;
    border-radius: 20px;
  }
  body[data-page="equipment"] .wrap {
    padding: 0 16px;
  }
}

/* ===== Mode Switch ===== */
body[data-page="equ


()
    {
        Arrangement = ViewArrangement.Movable | ViewArrangement.Overlapped;
        ShadowStyle = DefaultShadow;
        BorderStyle = DefaultBorderStyle;

        X = Pos.Center ();
        Y = Pos.Center ();
        Width = Dim.Auto (DimAutoStyle.Auto, Dim.Percent (DefaultMinimumWidth), Dim.Percent (90));
        Height = Dim.Auto (DimAutoStyle.Auto, Dim.Percent (DefaultMinimumHeight), Dim.Percent (90));

        SchemeName = SchemeManager.SchemesToSchemeName (Schemes.Dialog);

        Modal = true;
        ButtonAlignment = DefaultButtonAlignment;
        ButtonAlignmentModes = DefaultButtonAlignmentModes;
    }

    // BUGBUG: We override GetNormal/FocusColor because "Dialog" Scheme is goofy.
    // BUGBUG: By defn, a Dialog is Modal, and thus HasFocus is always true. OnDrawContent
    // BUGBUG: Calls these methods.
    // TODO: Fix this in https://github.com/gui-cs/Terminal.Gui/issues/2381

    /// <inheritdoc/>
    /// <inheritdoc/>
    protected override bool OnGettingAttributeForRole (in VisualRole role, ref Attribute currentAttribute)
    {
        if (role == VisualRole.Normal || role == VisualRole.Focus)
        {
            currentAttribute = GetScheme ().Normal;

            return true;
        }

        return base.OnGettingAttributeForRole (role, ref currentAttribute);
    }

    private bool _canceled;

    /// Gets a value indicating whether the <see cref="Dialog"/> was canceled.
    /// <remarks>The default value is <see langword="true"/>.</remarks>
    public bool Canceled
    {
        get
        {
            return _canceled;
        }
        set
        {
#if DEBUG_IDISPOSABLE
            if (EnableDebugIDisposableAsserts && WasDisposed)
            {
                throw new ObjectDisposedException (GetType ().FullName);
            }
#endif
            _canceled = value;
        }
    }

    // TODO: Update button.X = Pos.Justify when alignment changes
    /// Determines how the <see cref="Dialog"/> <see cref="Button"/>s are aligned along the bottom of the dialog.
    public Alignment ButtonAlignment { get; set; }

    ///
    ///     Gets or sets the alignment modes for the dialog's buttons.
    ///
    public AlignmentModes ButtonAlignmentModes { get; set; }

    /// Optional buttons to lay out at the bottom of the dialog.
    public Button [] Buttons
    {
        get => _buttons.ToArray ();
        init
        {
            if (value is null)
            {
                return;
            }

            foreach (Button b in value)
            {
                AddButton (b);
            }
        }
    }

    ///
    ///     Adds a <see cref="Button"/> to the <see cref="Dialog"/>, its layout will be controlled by the
    ///     <see cref="Dialog"/>
    ///
    /// <param name="button">Button to add.</param>
    public void AddButton (Button button)
    {
        if (button is null)
        {
            return;
        }

        // Use a distinct GroupId so users can use Pos.Align for other views in the Dialog
        button.X = Pos.Align (ButtonAlignment, ButtonAlignmentModes, GetHashCode ());
        button.Y = Pos.AnchorEnd ();

        _buttons.Add (button);
        Add (button);
    }
}


{
      case TargetPlatform.android:
        return 1;
      case TargetPlatform.macOS:
        return 'RGB';
      default:
        break;
    }
    return null;
  });

  ///Monochrome color scheme, for example one color is used.
  ///
  ///**Officially Supported Platforms/Implementations**:
  ///- Android native WebView
  ///- MacOS
  static final MONOCHROME = PrintJobColorMode._internalMultiPlatform(1, () {
    switch (defaultTargetPlatform) {
      case TargetPlatform.android:
        return 1;
      case TargetPlatform.macOS:
        return 'Gray';
      default:
        break;
    }
    return null;
  });

  ///Set of all values of [PrintJobColorMode].
  static final Set<PrintJobColorMode> values = [
    PrintJobColorMode.COLOR,
    PrintJobColorMode.MONOCHROME,
  ].toSet();

  ///Gets a possible [PrintJobColorMode] instance from [int] value.
  static PrintJobColorMode? fromValue(int? value) {
    if (value != null) {
      try {
        return PrintJobColorMode.values
            .firstWhere((element) => element.toValue() == value);
      } catch (e) {
        return null;
      }
    }
    return null;
  }

  ///Gets a possible [PrintJobColorMode] instance from a native value.
  static PrintJobColorMode? fromNativeValue(dynamic value) {
    if (value != null) {
      try {
        return PrintJobColorMode.values
            .firstWhere((element) => element.toNativeValue() == value);
      } catch (e) {
        return null;
      }
    }
    return null;
  }

  ///Gets [int] value.
  int toValue() => _value;

  ///Gets [dynamic] native value.
  dynamic toNativeValue() => _nativeValue;

  @override
  int get hashCode => _value.hashCode;

  @override
  bool operator ==(value) => value == _value;

  @override
  String toString() {
    switch (_value) {
      case 2:
        return 'COLOR';
      case 1:
        return 'MONOCHROME';
    }
    return _value.toString();
  }
}
import 'package:zikzak_inappwebview_internal_annotations/zikzak_inappwebview_internal_annotations.dart';

import 'cookie.dart';

part 'http_cookie_same_site_policy.g.dart';

///Class that represents the same site policy of a cookie. Used by the [Cookie] class.
@ExchangeableEnum()
class HTTPCookieSameSitePolicy_ {
  // ignore: unused_field
  final String _value;
  const HTTPCookieSameSitePolicy_._internal(this._value);

  ///SameSite=Lax;
  ///
  ///Cookies are allowed to be sent with top-level navigations and will be sent along with GET
  ///request initiated by third party website. This is the default value in modern browsers.
  static const LAX = const HTTPCookieSameSitePolicy_._internal("Lax");

  ///SameSite=Strict;
  ///
  ///Cookies will only be sent in a first-party context and not be sent along with requests initiated by third party websites.
  static const STRICT = const HTTPCookieSameSitePolicy_._internal("Strict");

  ///SameSite=None;
  ///
  ///Cookies will be sent in all contexts, i.e sending cross-origin is allowed.
  ///`None` requires the `Secure` attribute in latest browser versions.
  static const NONE = const HTTPCookieSameSitePolicy_._internal("None");
}
import 'dart:typed_data';

import 'package:zikzak_inappwebview_internal_annotations/zikzak_inappwebview_internal_annotations.dart';

import '../x509_certificate/x509_certificate.dart';
import 'url_credential_persistence.dart';

part 'url_credential.g.dart';

List<X509Certificate>? _certificatesDeserializer(dynamic value) {
  List<X509Certificate>? certificates;
  if (value != null) {
    certificates =


yaml.
	// This is messed.
	controllerErrorFormat := flags.ErrorFormat
	if controllerErrorFormat == "config-ignore-yaml" {
		controllerErrorFormat = "text"
	}
	input, err := bufcli.GetInputValue(container, flags.InputHashtag, ".")
	if err != nil {
		return err
	}
	controller, err := bufcli.NewController(
		container,
		bufctl.WithDisableSymlinks(flags.DisableSymlinks),
		bufctl.WithFileAnnotationErrorFormat(controllerErrorFormat),
		bufctl.WithFileAnnotationsToStdout(),
	)
	if err != nil {
		return err
	}
	wasmRuntime, err := bufcli.NewWasmRuntime(ctx, container)
	if err != nil {
		return err
	}
	defer func() {
		retErr = errors.Join(retErr, wasmRuntime.Close(ctx))
	}()
	imageWithConfigs, checkClient, err := controller.GetTargetImageWithConfigsAndCheckClient(
		ctx,
		input,
		wasmRuntime,
		bufctl.WithTargetPaths(flags.Paths, flags.ExcludePaths),
		bufctl.WithConfigOverride(flags.Config),
	)
	if err != nil {
		return err
	}
	var allFileAnnotations []bufanalysis.FileAnnotation
	// We add all check configs (both lint and breaking) as related configs to check if plugins
	// have rules configured.
	// We allocated twice the size of imageWithConfigs for both lint and breaking configs.
	allCheckConfigs := make([]bufconfig.CheckConfig, 0, len(imageWithConfigs)*2)
	for _, imageWithConfig := range imageWithConfigs {
		allCheckConfigs = append(allCheckConfigs, imageWithConfig.LintConfig())
		allCheckConfigs = append(allCheckConfigs, imageWithConfig.BreakingConfig())
	}
	for _, imageWithConfig := range imageWithConfigs {
		lintOptions := []bufcheck.LintOption{
			bufcheck.WithPluginConfigs(imageWithConfig.PluginConfigs()...),
			bufcheck.WithPolicyConfigs(imageWithConfig.PolicyConfigs()...),
			bufcheck.WithRelatedCheckConfigs(allCheckConfigs...),
		}
		if err := checkClient.Lint(
			ctx,
			imageWithConfig.LintConfig(),
			imageWithConfig,
			lintOptions...,
		); err != nil {
			var fileAnnotationSet bufanalysis.FileAnnotationSet
			if errors.As(err, &fileAnnotationSet) {
				allFileAnnotations = append(allFileAnnotations, fileAnnotationSet.FileAnnotations()...)
			} else {
				return err
			}
		}
	}
	if len(allFileAnnotations) > 0 {
		allFileAnnotationSet := bufanalysis.NewFileAnnotationSet(allFileAnnotations...)
		if flags.ErrorFormat == "config-ignore-yaml" {
			if err := bufcli.PrintFileAnnotationSetLintConfigIgnoreYAMLV1(
				container.Stdout(),
				allFileAnnotationSet,
			); err != nil {
				return err
			}
		} else {
			if err := bufanalysis.PrintFileAnnotationSet(
				container.Stdout(),
				allFileAnnotationSet,
				flags.ErrorFormat,
			); err != nil {
				return err
			}
		}
		return bufctl.ErrFileAnnotation
	}
	return nil
}
// Copyright 2020-2025 Buf Technologies, Inc.
//
// 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 impl


);
            if (first) {
                totalGeometry = geom;
                first = false;
            } else {
                totalGeometry = totalGeometry.united(geom);
            }
        }

        if (dApp->m_cuurentMode == IdCopyScreen) {
            // 复制
            this->setGeometry(QRect(0, 0, totalGeometry.width(), totalGeometry.height()));
#if QT_VERSION < QT_VERSION_CHECK(5, 10, 0)
            this->hide();
            this->show();
            this->raise();
#endif
            QScreen *priScreen = nullptr;
            qDebug() << this->size();

            QList < QScreen * > screens = QApplication::screens();

            if (screens.size() >= 2) {
                QScreen *leftScreen = nullptr;
                QScreen *rightScreen = nullptr;

                for (QScreen *screen: screens) {
                    QRect geometry = screen->geometry();
                    int xPos = geometry.x();

                    if (leftScreen == nullptr || xPos < leftScreen->geometry().x()) {
                        leftScreen = screen;
                    }

                    if (rightScreen == nullptr || xPos > rightScreen->geometry().x()) {
                        rightScreen = screen;
                    }
                }
                priScreen = leftScreen;
                qDebug() << "left :" << priScreen->name();
            } else if (screens.size() >= 1) {
                priScreen = screens.at(0);
                qDebug() << "left :" << priScreen->name();
            }
            int i = 1;
            int iX = 0;

            for (auto screen: qApp->screens()) {
                dApp->m_currentScreenNum = QGuiApplication::screens().size();
                qDebug() << "screen->name() " << screen->name();

                // std::cout << "screen111 name: " << screen->name().toStdString()
                //           << ", x: " << screen->geometry().x()
                //           << ", y: " << screen->geometry().y()
                //           << ", width: " << screen->geometry().width()
                //           << ", height: " << screen->geometry().height()
                //           << ", priScreen: " << priScreen->name().toStdString()
                //           << std::endl;

                if (screen->name() == priScreen->name() && m_media) {
                    m_media->setGeometry(screen->geometry());
                    m_media->setMinimumWidth(screen->geometry().width());
                    m_media->setFixedSize(screen->size().width(), screen->size().height() + screen->geometry().y());
                    iX = screen->geometry().width();
                    qDebug() << "Main : " << screen->geometry();
                    i++;
                    break;
                }
                if (screen->name() == priScreen->name() && m_webView) {
                    m_webView->setGeometry(screen->geometry());
                    m_webView->setMinimumWidth(screen->geometry().width());
                    m_webView->setFixedSize(screen->size().width(), screen->size().height() + screen->geometry().y());
                    iX = screen->geometry().width();
                    i++;
                    continue;
                }
            }

            for (auto screen: qApp->screens()) {
                dApp->m_currentScreenNum = QGuiApplication::screens().size();

                // std::cout << "screen222 name: " << screen->name().toStdString()
                //           << ", x


   EntityListener {
    private val effectPools = EnumMap<ParticleAssets, ParticleEffectPool>(ParticleAssets::class.java)

    init {
        ParticleAssets.entries.forEach {
            val particleEffect: ParticleEffect = assets[it.filePath]
            particleEffect.run {
                // in case of additive effects this increases the performance
                // because the sprite batch will not automatically switch its
                // blend mode. This means, we have to take care of the
                // blend mode switching ourselves
                setEmittersCleanUpBlendFunction(false)
                // scale correctly to world units otherwise the effect is super huge
                scaleEffect(UNIT_SCALE * it.scale)
            }
        }
    }

    override fun addedToEngine(engine: Engine) {
        super.addedToEngine(engine)
        engine.addEntityListener(family, this)
    }

    override fun removedFromEngine(engine: Engine) {
        super.removedFromEngine(engine)
        engine.removeEntityListener(this)
    }

    override fun entityRemoved(entity: Entity) = Unit

    override fun entityAdded(entity: Entity) {
        // create particle effect
        with(entity.particleCmp) {
            effect = effectPools.computeIfAbsent(type) { ParticleEffectPool(assets[type.filePath], 1, 2) }.obtain()
            if (flipBy180Deg) {
                // change all angles by 180 degrees
                effect.emitters.forEach {
                    with(it.angle) {
                        setHigh(highMin + 180f, highMax + 180f)
                        setLow(lowMin + 180f, lowMax + 180f)
                    }
                }
            }
            if (type.sound != SoundAssets.UNKNOWN) {
                audioService.play(type.sound)
            }
        }
    }

    override fun processEntity(entity: Entity, deltaTime: Float) {
        // update effect position with real entity position
        val pos = entity.transfCmp.position
        entity.particleCmp.run {
            effect.setPosition(pos.x + offsetX, pos.y + offsetY)
            if (effect.isComplete) {
                entity.add(engine.createComponent(RemoveComponent::class.java))
            }
        }
    }
}
package com.github.quillraven.quillysadventure.ecs.system

import com.badlogic.ashley.core.Entity
import com.badlogic.ashley.systems.SortedIteratingSystem
import com.badlogic.gdx.graphics.OrthographicCamera
import com.badlogic.gdx.graphics.g2d.BitmapFont
import com.badlogic.gdx.graphics.g2d.SpriteBatch
import com.badlogic.gdx.utils.viewport.Viewport
import com.github.quillraven.quillysadventure.ecs.component.FloatingTextComponent
import com.github.quillraven.quillysadventure.ecs.component.RemoveComponent
import com.github.quillraven.quillysadventure.ecs.component.TransformComponent
import com.github.quillraven.quillysadventure.ecs.component.floatingCmp
import com.github.quillraven.quillysadventure.ecs.component.transfCmp
import com.github.quillraven.quillysadventure.ui.FontType
import ktx.ashley.allOf
import ktx.ashley.exclude
import ktx.graphics.use
import ktx.math.vec2
import ktx.scene2d.Scene2DSkin
import java.util.*

class FloatingTextSystem(
    private val batch: SpriteBatch,
    private val gameViewport: Viewport,
    private val uiViewport: Viewport
) : SortedIteratingSystem(
    allOf(FloatingTextComponent::class, TransformComponent::class).exclude(


--[[
/*
** Copyright (c) 2007-2012 The Khronos Group Inc.
**
** Permission is hereby granted, free of charge, to any person obtaining a
** copy of this software and/or associated documentation files (the
** "Materials"), to deal in the Materials without restriction, including
** without limitation the rights to use, copy, modify, merge, publish,
** distribute, sublicense, and/or sell copies of the Materials, and to
** permit persons to whom the Materials are furnished to do so, subject to
** the following conditions:
**
** The above copyright notice and this permission notice shall be included
** in all copies or substantial portions of the Materials.
**
** THE MATERIALS ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
** EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
** MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
** IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
** CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
** TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
** MATERIALS OR THE USE OR OTHER DEALINGS IN THE MATERIALS.
*/
--]]

--[[
/* Header file version number, required by OpenGL ABI for Linux */
/* glext.h last updated $Date: 2012-03-28 22:34:23 -0700 (Wed, 28 Mar 2012) $ */
/* Current version at http://www.opengl.org/registry/ */
--]]

ffi = require "ffi"

GL_GLEXT_VERSION = 78

-- GL_VERSION_1_2
GL_UNSIGNED_BYTE_3_3_2            = 0x8032
GL_UNSIGNED_SHORT_4_4_4_4         = 0x8033
GL_UNSIGNED_SHORT_5_5_5_1         = 0x8034
GL_UNSIGNED_INT_8_8_8_8           = 0x8035
GL_UNSIGNED_INT_10_10_10_2        = 0x8036
GL_TEXTURE_BINDING_3D             = 0x806A
GL_PACK_SKIP_IMAGES               = 0x806B
GL_PACK_IMAGE_HEIGHT              = 0x806C
GL_UNPACK_SKIP_IMAGES             = 0x806D
GL_UNPACK_IMAGE_HEIGHT            = 0x806E
GL_TEXTURE_3D                     = 0x806F
GL_PROXY_TEXTURE_3D               = 0x8070
GL_TEXTURE_DEPTH                  = 0x8071
GL_TEXTURE_WRAP_R                 = 0x8072
GL_MAX_3D_TEXTURE_SIZE            = 0x8073
GL_UNSIGNED_BYTE_2_3_3_REV        = 0x8362
GL_UNSIGNED_SHORT_5_6_5           = 0x8363
GL_UNSIGNED_SHORT_5_6_5_REV       = 0x8364
GL_UNSIGNED_SHORT_4_4_4_4_REV     = 0x8365
GL_UNSIGNED_SHORT_1_5_5_5_REV     = 0x8366
GL_UNSIGNED_INT_8_8_8_8_REV       = 0x8367
GL_UNSIGNED_INT_2_10_10_10_REV    = 0x8368
GL_BGR                            = 0x80E0
GL_BGRA                           = 0x80E1
GL_MAX_ELEMENTS_VERTICES          = 0x80E8
GL_MAX_ELEMENTS_INDICES           = 0x80E9
GL_CLAMP_TO_EDGE                  = 0x812F
GL_TEXTURE_MIN_LOD                = 0x813A
GL_TEXTURE_MAX_LOD                = 0x813B
GL_TEXTURE_BASE_LEVEL


erse.ax-line.ax-primary,
.ax-btn.ax-reverse.ax-line.ax-primary *[class*="font"] {
  color: #198cff;
  background: transparent;
}
.ax-btn.ax-line.ax-primary:hover,
.ax-btn.ax-reverse.ax-line.ax-primary:hover {
  color: #198cff;
  background-color: rgba(25, 140, 255, 0.1);
  box-shadow: 0.2rem 0.2rem 1rem 0 rgba(25, 140, 255, 0.2);
}
.ax-btn.ax-line.ax-primary:after,
.ax-btn.ax-reverse.ax-line.ax-primary:after {
  border-color: #198cff;
}
input.ax-btn.ax-line.ax-primary:hover,
button.ax-btn.ax-line.ax-primary:hover {
  border-color: #198cff;
}
.ax-btn.ax-line.ax-primary:active,
.ax-btn.ax-reverse.ax-line.ax-primary:active {
  opacity: 0.6;
}
.ax-btn.ax-line.ax-primary *[class*="font"],
.ax-btn.ax-reverse.ax-line.ax-primary *[class*="font"] {
  color: #198cff;
}
input.ax-btn.ax-line.ax-primary,
button.ax-btn.ax-line.ax-primary,
input.ax-btn.ax-reverse.ax-line.ax-primary,
button.ax-btn.ax-reverse.ax-line.ax-primary {
  border-color: #198cff;
}
.ax-btn.ax-line.ax-primary .ax-svg,
.ax-btn.ax-line.ax-primary:hover .ax-svg,
.ax-btn.ax-line.ax-reverse.ax-primary .ax-svg,
.ax-btn.ax-line.ax-reverse.ax-primary:hover .ax-svg {
  fill: #198cff;
}
.ax-btn.ax-text.ax-primary,
.ax-btn.ax-text.ax-primary:hover,
.ax-btn.ax-text.ax-reverse.ax-primary,
.ax-btn.ax-text.ax-reverse.ax-primary:hover {
  color: #198cff;
}
.ax-btn.ax-text.ax-primary:active,
.ax-btn.ax-text.ax-reverse.ax-primary:active {
  opacity: 0.6;
}
.ax-btn.ax-text.ax-primary *[class*="font"],
.ax-btn.ax-text.ax-reverse.ax-primary *[class*="font"] {
  color: #198cff;
}
.ax-btn.ax-text.ax-primary .ax-svg,
.ax-btn.ax-text.ax-primary:hover .ax-svg,
.ax-btn.ax-text.ax-reverse.ax-primary .ax-svg,
.ax-btn.ax-text.ax-reverse.ax-primary:hover .ax-svg {
  fill: #198cff;
}
/**/
.ax-btn.ax-secondary,
.ax-btn.ax-reverse.ax-secondary {
  color: #fff;
  background-color: #475b66;
}
.ax-btn.ax-secondary *[class*="font"],
.ax-btn.ax-reverse.ax-secondary *[class*="font"] {
  color: #fff;
}
.ax-btn.ax-secondary:hover,
.ax-btn.ax-reverse.ax-secondary:hover {
  color: #fff;
  background-color: #4f6672;
  box-shadow: 0.2rem 0.2rem 1rem 0 rgba(71, 91, 102, 0.5);
}
.ax-btn.ax-secondary:hover:after {
  border-color: rgba(0, 0, 0, 0.12);


if not vim.g.neovide then return {} end

local map = vim.keymap.set
local g = vim.g

local state = {
  current_font = nil,
}
local default_linespace = 8 -- default 0

-- Font
-- See https://github.com/neovide/neovide/blob/main/website/docs/configuration.md#display
local fonts = {
  inputmono = {
    -- face = "InputMono Nerd Font",
    face = "InputMonoCondensedEx Nerd Font",
    size = 18,
  },
  lilex = {
    -- face = "Input Mono Narrow",
    face = "Lilex Nerd Font Mono",
    size = 15,
  },
  firacode = {
    face = "FiraCode Nerd Font",
    size = 16,
  },
  meslo = {
    face = "MesloLGLDZ Nerd Font Mono",
    size = 16,
  },
  berkeley = {
    face = "BerkeleyMono Nerd Font",
    size = 15,
    options = "#e-subpixelantialias",
  },
  monolisa = {
    face = "MonoLisa Nerd Font Mono",
    size = 15,
    scale = 0.9,
    linespace = 12,
  },
  geist = {
    face = "GeistMono Nerd Font Mono",
    size = 16,
  },
  hack = {
    face = "Hack Nerd Font Mono",
    size = 15,
  },
  firacode_symbols = {
    face = "Fira Code,Symbols Nerd Font Mono",
    size = 34,
    scale = 0.3,
  },
  cascadia = {
    face = "Cascadia Code Light,MesloLGS NF,Hack Nerd Font",
    size = 15,
  },
  iosevka = {
    face = "Iosevka SS08 Light",
    size = 18,
    options = "#e-subpixelantialias",
  },
  jetbrains = {
    face = "JetBrainsMono Nerd Font",
    size = 14,
    linespace = 0,
  },
  recursive = {
    face = "RecursiveMnCslSt Nerd Font",
    size = 16,
  },
}

local function set_font(name)
  local font = fonts[name:lower()]
  if not font then vim.notify("Font " .. name .. " not found", vim.log.levels.ERROR) end

  g.gui_font_face = font.face
  g.gui_font_size = font.size
  vim.o.guifont = font.face .. ":h" .. font.size .. (font.options or "")
  if font.scale then g.neovide_scale_factor = font.scale end

  if font.linespace then
    vim.opt.linespace = font.linespace
  else
    vim.opt.linespace = default_linespace
  end

  -- Try putting a debugger here to test happy vim.noify path
  -- vim.api.nvim_echo({ { "vim.o.guifont:\n", "Title" }, { vim.inspect(name), "Normal" } }, true, {})
  state.current_font = name
end

local function set_font2(name, size, options)
  options = options or ""
  size = size or 16
  g.gui_font_face = name
  g.gui_font_size = size
  vim.o.guifont = string.format("%s:h%s%s", name, size, options)

  vim.api.nvim_echo({ { "Font:\n", "Title" }, { vim.inspect(vim.o.guifont), "Normal" } }, true, {})
  state.current_font = name
end

-- Set default font
-- set_font("jetbrains")
-- set_font("monolisa")


.pageX + event.touches[ 1 ].pageX ) / 2;
				var y = ( event.touches[ 0 ].pageY + event.touches[ 1 ].pageY ) / 2;
				_panStart.copy( getMouseOnScreen( x, y ) );
				_panEnd.copy( _panStart );
				break;

			default:
				_state = STATE.NONE;

		}
		_this.dispatchEvent( startEvent );

	}

	function touchmove( event ) {

		if ( _this.enabled === false ) return;

		event.preventDefault();
		event.stopPropagation();

		switch ( event.touches.length ) {

			case 1:
				_movePrev.copy(_moveCurr);
				_moveCurr.copy( getMouseOnCircle(  event.touches[ 0 ].pageX, event.touches[ 0 ].pageY ) );
				break;

			case 2:
				var dx = event.touches[ 0 ].pageX - event.touches[ 1 ].pageX;
				var dy = event.touches[ 0 ].pageY - event.touches[ 1 ].pageY;
				_touchZoomDistanceEnd = Math.sqrt( dx * dx + dy * dy );

				var x = ( event.touches[ 0 ].pageX + event.touches[ 1 ].pageX ) / 2;
				var y = ( event.touches[ 0 ].pageY + event.touches[ 1 ].pageY ) / 2;
				_panEnd.copy( getMouseOnScreen( x, y ) );
				break;

			default:
				_state = STATE.NONE;

		}

	}

	function touchend( event ) {

		if ( _this.enabled === false ) return;

		switch ( event.touches.length ) {

			case 1:
				_movePrev.copy(_moveCurr);
				_moveCurr.copy( getMouseOnCircle(  event.touches[ 0 ].pageX, event.touches[ 0 ].pageY ) );
				break;

			case 2:
				_touchZoomDistanceStart = _touchZoomDistanceEnd = 0;

				var x = ( event.touches[ 0 ].pageX + event.touches[ 1 ].pageX ) / 2;
				var y = ( event.touches[ 0 ].pageY + event.touches[ 1 ].pageY ) / 2;
				_panEnd.copy( getMouseOnScreen( x, y ) );
				_panStart.copy( _panEnd );
				break;

		}

		_state = STATE.NONE;
		_this.dispatchEvent( endEvent );

	}

	this.domElement.addEventListener( 'contextmenu', function ( event ) { event.preventDefault(); }, false );

	this.domElement.addEventListener( 'mousedown', mousedown, false );

	this.domElement.addEventListener( 'mousewheel', mousewheel, false );
	this.domElement.addEventListener( 'DOMMouseScroll', mousewheel, false ); // firefox

	this.domElement.addEventListener( 'touchstart', touchstart, false );
	this.domElement.addEventListener( 'touchend', touchend, false );
	this.domElement.addEventListener( 'touchmove', touchmove, false );

	window.addEventListener( 'keydown', keydown, false );
	window.addEventListener( 'keyup', keyup, false );

	this.handleResize();

	// force an update at start
	this.update();

};

THREE.TrackballControls.prototype = Object.create( THREE.EventDispatcher.prototype );
THREE.TrackballControls.prototype.constructor = THREE.TrackballControls;
'use strict';

(function(f) {
    if (typeof exports === 'object' && typeof module !== 'undefined'){
        module.exports = f();
    } else if (typeof define === 'function' && define.amd) {
        define([], f);
    } else {
        var g;
        if (typeof window !== 'undefined') {
            g = window;


scaffoldingStreamWriter.FlushAsync().ConfigureAwait(false);
        var otherPotentialScaffoldingFile = new FileInfo(GetScaffoldingPath(modFile, !settings.WriteScaffoldingToSubdirectory));
        if (otherPotentialScaffoldingFile.Exists)
        {
            try
            {
                otherPotentialScaffoldingFile.Delete();
            }
            catch
            {
                // just trying to help... 😟
            }
        }
        if (!settings.WriteScaffol


<String> sse_decode_list_String(SseDeserializer deserializer);

  @protected
  Uint8List sse_decode_list_prim_u_8_strict(SseDeserializer deserializer);

  @protected
  int sse_decode_u_8(SseDeserializer deserializer);

  @protected
  void sse_decode_unit(SseDeserializer deserializer);

  @protected
  int sse_decode_i_32(SseDeserializer deserializer);

  @protected
  bool sse_decode_bool(SseDeserializer deserializer);

  @protected
  void sse_encode_AnyhowException(
      AnyhowException self, SseSerializer serializer);

  @protected
  void sse_encode_String(String self, SseSerializer serializer);

  @protected
  void sse_encode_list_String(List<String> self, SseSerializer serializer);

  @protected
  void sse_encode_list_prim_u_8_strict(
      Uint8List self, SseSerializer serializer);

  @protected
  void sse_encode_u_8(int self, SseSerializer serializer);

  @protected
  void sse_encode_unit(void self, SseSerializer serializer);

  @protected
  void sse_encode_i_32(int self, SseSerializer serializer);

  @protected
  void sse_encode_bool(bool self, SseSerializer serializer);
}

// Section: wire_class

class RustLibWire implements BaseWire {
  RustLibWire.fromExternalLibrary(ExternalLibrary lib);
}

@JS('wasm_bindgen')
external RustLibWasmModule get wasmModule;

@JS()
@anonymous
class RustLibWasmModule implements WasmModule {
  @override
  external Object /* Promise */ call([String? moduleName]);

  @override
  external RustLibWasmModule bind(dynamic thisArg, String moduleName);
}
/// This is copied from Cargokit (which is the official way to use it currently)
/// Details: https://fzyzcjy.github.io/flutter_rust_bridge/manual/integrate/builtin

import 'dart:io';

import 'package:logging/logging.dart';

const String kSeparator = "--";
const String kDoubleSeparator = "==";

bool _lastMessageWasSeparator = false;

void _log(LogRecord rec) {
  final prefix = '${rec.level.name}: ';
  final out = rec.level == Level.SEVERE ? stderr : stdout;
  if (rec.message == kSeparator) {
    if (!_lastMessageWasSeparator) {
      out.write(prefix);
      out.writeln('-' * 80);
      _lastMessageWasSeparator = true;
    }
    return;
  } else if (rec.message == kDoubleSeparator) {
    out.write(prefix);
    out.writeln('=' * 80);
    _lastMessageWasSeparator = true;
    return;
  }
  out.write(prefix);
  out.writeln(rec.message);
  _lastMessageWasSeparator = false;
}

void initLogging() {
  Logger.root.level = Level.INFO;
  Logger.root.onRecord.listen((LogRecord rec) {
    final lines = rec.message.split('\n');
    for (final line in lines) {
      if (line.isNotEmpty || lines.length == 1 || line != lines.last) {
        _log(LogRecord(
          rec.level,
          line,
          rec.loggerName,
        ));
      }
    }
  });
}

void enableVerboseLogging() {
  Logger.root.level = Level.ALL;
}
/// This is copied from Cargokit (which is the official way to use it currently)
/// Details: https://fzyzcjy.github.io/flutter_rust_bridge/manual/integrate/builtin

import 'dart:io';

import 'package:args/command_runner.dart';
import 'package:ed25519_edwards/ed25519_edwards.dart';
import 'package:github/github.dart';
import 'package:hex/hex.dart';
import 'package:logging/logging.dart';

im


  return constructor == null
      ? null
      : JS('', '#[#]', constructor, JS_INTEROP_INTERCEPTOR_TAG);
}

void cacheInterceptorOnConstructor(constructor, interceptor) {
  defineProperty(constructor, JS_INTEROP_INTERCEPTOR_TAG, interceptor);
}

var constructorToInterceptor =
    JS('', 'typeof(self.WeakMap) == "undefined" ? new Map() : new WeakMap()');

XlookupInterceptorByConstructor(constructor) {
  return JS('', '#.get(#)', constructorToInterceptor, constructor);
}

void XcacheInterceptorOnConstructor(constructor, interceptor) {
  JS('', '#.set(#, #)', constructorToInterceptor, constructor, interceptor);
}

/// Data structure used to map a [Type] to the [Interceptor] and constructors
/// for that type.  It is JavaScript array of 3N entries of adjacent slots
/// containing a [Type], followed by an [Interceptor] class for the type,
/// followed by a JavaScript object map for the constructors.
///
/// The value of this variable is set by the compiler and contains only types
/// that are user extensions of native classes where the type occurs as a
/// constant in the program.
///
/// The compiler, in CustomElementsAnalysis, assumes that [typeToInterceptorMap]
/// is accessed only by code that also calls [findIndexForWebComponentType].  If
/// this assumption is invalidated, the compiler will have to be updated.
get typeToInterceptorMap {
  return JS_EMBEDDED_GLOBAL('', TYPE_TO_INTERCEPTOR_MAP);
}

int? findIndexForNativeSubclassType(Type? type) {
  if (JS('bool', '# == null', typeToInterceptorMap)) return null;
  List map = JS('JSFixedArray', '#', typeToInterceptorMap);
  for (int i = 0; i + 1 < map.length; i += 3) {
    if (type == map[i]) {
      return i;
    }
  }
  return null;
}

findInterceptorConstructorForType(Type? type) {
  var index = findIndexForNativeSubclassType(type);
  if (index == null) return null;
  List map = JS('JSFixedArray', '#', typeToInterceptorMap);
  return map[index + 1];
}

/// Returns a JavaScript function that runs the constructor on its argument, or
/// `null` if there is no such constructor.
///
/// The returned function takes one argument, the web component object.
findConstructorForNativeSubclassType(Type? type, String name) {
  var index = findIndexForNativeSubclassType(type);
  if (index == null) return null;
  List map = JS('JSFixedArray', '#', typeToInterceptorMap);
  var constructorMap = map[index + 2];
  var constructorFn = JS('', '#[#]', constructorMap, name);
  return constructorFn;
}

findInterceptorForType(Type? type) {
  var constructor = findInterceptorConstructorForType(type);
  if (constructor == null) return null;
  return JS('', '#.prototype', constructor);
}

/// The base interceptor class.
///
/// The code `r.foo(a)` is compiled to `getInterceptor(r).foo$1(r, a)`.  The
/// value returned by [getInterceptor] holds the methods separately from the
/// state of the instance.  The compiler converts the methods on an interceptor
/// to take the Dart `this` argument as an explicit `receiver` argument.  The
/// JavaScript `this` parameter is bound to the interceptor.
///
/// In order to have uniform call sites, if a method is defined on an
/// interceptor, methods of that name on plain unintercepted classes also use
/// the interceptor calling convention.  The plain classes are
/// _self-interceptors_, and for them, `getInterceptor(r)` returns `r`.  Methods
/// on plain unintercepted classes have a redundant `receiver` argument and, to
/// enable some optimizations, must ignore `receiver` in favour of `this`.
///
/// In the case of mixins, a method may be placed on both an


力的公司进行投资？                                    |
| 商业运营                           | 如何优化企业内部的流程与资源配置，以提高生产效率和降低成本？                                              |
| 教育培训                           | 如何设计一份系统性的员工培训计划，以提升他们的技能水平和增加对企业的忠诚度？                              |
| 环境保护                           | 如何制定一份可持续发展的企业环保计划，以减少对生态环境的影响？                                            |
| 社会责任                           | 企业应该承担哪些社会责任，如何有效履行这些责任并取得积极影响？                                            |
| 文本分类 | 给我分类下面的文本：「明天早上九点到十一点在公司开会，务必准时参加」 |
| 摘要生成 | 从以下文章生成一个摘要：「陆克文当选国家科学院院士，他是深圳大学的教授，主要从事计算机视觉与图像处理方面的研究。」 |
| 对话生成 | 请根据以下对话生成接下来的回复：
人：你好，请问你叫什么名字？
GPT-3.5: |
| 短文写作 | 写一篇关于环保的文章，至少包含250字以上。 |
| 图片标注 | 给我描述这张照片中的内容：[图片链接](https://i.imgur.com/k1BCXIy.jpg) |
| 创意启发 | 请提供一个让人想象力飞飞的场景 |
| 文本改写 | 将「她打了他一巴掌。」这句话改为礼貌的表达方式。 |
| 诗歌创作 | 写一首五绝诗，题目为「春日」。 |
| 文本纠错 | 找出以下句子中的错误并进行修正：「他今天吃了三个苹果和四杯牛奶。」 |
| 序列生成 | 给定序列[1, 2, 4, 7, 11, ...]，请补全接下来的10个数。|
| 分类 | 您能否将以下公司分为科技公司和非科技公司？苹果，可口可乐，谷歌，福特 |
| 开放生成 | 描述夏威夷的沙滩度假胜地是怎样的体验？ |
| 编辑 | 能否改进以下句子的流畅度和语法？“我今天买了一个新电视，它有65英寸。” |
| 建议 | 我们公司如何有效提高员工的工作效率和生产力？ |
| 开放生成 | 假设您可以与任何历史人物交谈，您会选择谁并询问什么问题？ |
| 分类 | 将以下动物分为两类：狗，猫，鱼，蛇 |
| �