问:
How to do string manipulation Draft.js editor without losing the changes?
What I'm trying to do is edit some text on Reddit.com using browser console. I'm creating an extension that appends some text to the comment. Reddit uses Draft.js as its text editor. When I try to make some changes using DOM, the moment the editor detects any changes from the keyboard, it reverts to its previous state.

Draft.js allows string manipulation using its methods, but they're not available to me on the console. And I don't want to make this thing too complex. My code is like this:

```<code>const textEditor = document.querySelector('.DraftEditor-root')
const text = textEditor.querySelector('span')
text.textContent = '\n\nSome other text'
</code>```

Now if I make any changes to the text editor, such as backspacing, or pressing any key. It'll revert everything to its previous state. I spent hours reading the documentation and turns out, I'll have to create a new EditorState and replace the previous one with it. Not sure, how to replicate this in simple ways.

I tried basic string manipulation. But like I said, the moment I try to even touch the editor again, I lose the changes instantly.

I also installed React, and Draft.js on my machine. Read the documentation, and I can manually set the state of editorState to get the desired result. But it's a bit too complex for a simple extension I'm trying to create.

Body:
What I'm trying to do is edit some text on Reddit.com using browser console. I'm creating an extension that appends some text to the comment. Reddit uses Draft.js as its text editor. When I try to make some changes using DOM, the moment the editor detects any changes from the keyboard, it reverts to its previous state.

Draft.js allows string manipulation using its methods, but they're not available to me on the console. And I don't want to make this thing too complex. My code is like this:

const textEditor = document.querySelector('.DraftEditor-root')
const text = textEditor.querySelector('span')
text.textContent = '\n\nSome other text'

Now if I make any changes to the text editor, such as backspacing, or pressing any key. It'll revert everything to its previous state. I spent hours reading the documentation and turns out, I'll have to create a new EditorState and replace the previous one with it. Not sure, how to replicate this in simple ways.

I tried basic string manipulation. But like I said, the moment I try to even touch the editor again, I lose the changes instantly.

I also installed React, and Draft.js on my machine. Read the documentation, and I can manually set the state of editorState to get the desired result. But it's a bit too complex for a simple extension I'm trying to create.


来源: stackexchange

问:
Can I apply filter(low/high pass) to WaveIn data (Naudio)
I use Naudio to playback real time audio data. At the same time ı want to filter(low/high pass) this stream. How can that be done?

Here is the code I have so far:

```<code>public WaveIn InputWave { get; set; }

public void InputWaveConstructor()
        {
            data.InputWave = new NAudio.Wave.WaveIn()
            {
                DeviceNumber = data.DeviceNumberIn,
                WaveFormat = new NAudio.Wave.WaveFormat(_sampleRate, _bitDepth, NAudio.Wave.WaveIn.GetCapabilities(data.DeviceNumberIn).Channels),
                BufferMilliseconds = _bufferMilliseconds
            };

            data.WaveIn = new NAudio.Wave.WaveInProvider(data.InputWave);

            data.InputMonoWave = new StereoToMonoSampleProvider(data.WaveIn.ToSampleProvider());
        }
</code>```
```<code>public void Playback(float leftVolume, float rightVolume)
        {

            data.InputWave.StartRecording();

            data.InputMonoWave.LeftVolume = leftVolume;
            data.InputMonoWave.RightVolume = rightVolume;

            data.OutputWave = new NAudio.Wave.WaveOut()
            {
                DeviceNumber = data.DeviceNumberOut
            };

            data.OutputWave.Init(data.InputMonoWave);
            data.OutputWave.Play();
        }
</code>```

I have tried biquadFilter, but I couldn't find where / how to use it.

ContentLicense: CC BY-SA 4.0

Body:
I use Naudio to playback real time audio data. At the same time ı want to filter(low/high pass) this stream. How can that be done?

Here is the code I have so far:

public WaveIn InputWave { get; set; }

public void InputWaveConstructor()
        {
            data.InputWave = new NAudio.Wave.WaveIn()
            {
                DeviceNumber = data.DeviceNumberIn,
                WaveFormat = new NAudio.Wave.WaveFormat(_sampleRate, _bitDepth, NAudio.Wave.WaveIn.GetCapabilities(data.DeviceNumberIn).Channels),
                BufferMilliseconds = _bufferMilliseconds
            };

            data.WaveIn = new NAudio.Wave.WaveInProvider(data.InputWave);

            data.InputMonoWave = new StereoToMonoSampleProvider(data.WaveIn.ToSampleProvider());
        }

public void Playback(float leftVolume, float rightVolume)
        {

            data.InputWave.StartRecording();

            data.InputMonoWave.LeftVolume = leftVolume;
            data.InputMonoWave.RightVolume = rightVolume;

            data.OutputWave = new NAudio.Wave.WaveOut()
            {
                DeviceNumber = data.DeviceNumberOut
            };

            data.OutputWave.Init(data.InputMonoWave);
            data.OutputWave.Play();
        }

I have tried biquadFilter, but I couldn't find where / how to use it.


问:
How to sync Flutter DB with Rails/Phoenix Server
I was wondering in 2023 how does one sync data from offline to the cloud with flutter, without Firebase?

I have a Phoenix server that I want to sync it to but I'm struggling to find anything solutions besides firebase. And when there isn't firebase I'm hearing packages like moor or flutter_data but when I investigate it, there doesn't seem to be many how to's out there that are up to date on how to do the syncing. Maybe I'm missing something though.

Additionally is there a specific term for what I'm looking for?

I'm contemplating about switching to something else that isn't flutter because offline first is the only reason I'm making this.


问:
How to get sub folders files or count sub folder files in sharepoint
I am trying to count the sub folder files but its get the below error.

{"The attempted operation is prohibited because it exceeds the list view threshold."}

```<code>code :

List list = CContext.Web.Lists.GetByTitle("Lead");
CContext.Load(list);
CContext.Load(list.RootFolder);
CContext.Load(list.RootFolder.Folders);
CContext.Load(list.RootFolder.Files);
CContext.ExecuteQuery();
FolderCollection folderCollection = list.RootFolder.Folders;
List<string> lstFile = new List<string>();
Console.WriteLine("\nCount total sub folder : " + folderCollection.Count);
if (folderCollection.Count > 0)
{
    foreach (Folder folder in folderCollection)
    {
        if (folder.Name == "00111_ACCC74CD7C16VMD11956100224805F1EB")
        {
            CContext.Load(folder.Files);
            CContext.ExecuteQuery();
            FileCollection fileCol = folder.Files;
            if (fileCol.Count > 0)
            {
                foreach (File file in fileCol.ToArray())
                {
                    Console.WriteLine("\nFile Name : " + file.Name);
                }
            }
        }
    }
}
</code>```

Body:
I am trying to count the sub folder files but its get the below error.

{"The attempted operation is prohibited because it exceeds the list view threshold."}

code :

List list = CContext.Web.Lists.GetByTitle("Lead");
CContext.Load(list);
CContext.Load(list.RootFolder);
CContext.Load(list.RootFolder.Folders);
CContext.Load(list.RootFolder.Files);
CContext.ExecuteQuery();
FolderCollection folderCollection = list.RootFolder.Folders;
List<string> lstFile = new List<string>();
Console.WriteLine("\nCount total sub folder : " + folderCollection.Count);
if (folderCollection.Count > 0)
{
    foreach (Folder folder in folderCollection)
    {
        if (folder.Name == "00111_ACCC74CD7C16VMD11956100224805F1EB")
        {
            CContext.Load(folder.Files);
            CContext.ExecuteQuery();
            FileCollection fileCol = folder.Files;
            if (fileCol.Count > 0)
            {
                foreach (File file in fileCol.ToArray())
                {
                    Console.WriteLine("\nFile Name : " + file.Name);
                }
            }
        }
    }
}


问:
Adding an ad service to Admob mediation
I am using Admob in my React Native mobile app. My application has risen very quickly and my ad revenues have increased. Today I received a notification saying "Ad serving is limited". That's why I don't want to work with google anymore. I just learned about the meditation service today. I need help as I don't fully understand the situation. I have a few questions regarding the following topic. I would be very grateful if you could answer even one of these.

1- If I add ironSource to meditation even though my Admob application bans ads, can I show ironSource ads with AdMob SDK without a new update to the application? Also, can I set it to show only IronSource ads without showing any Admob ads?

2- I wanted to add ironSource to Admob meditation. I couldn't see the IronSource in the Bidding tab in the image below. I added it to Waterfall. What's the difference between these two? Why is there no IronSource in the Bidding tab?

3- The last setting I made is as follows. I am currently awaiting approval from IronSource. What exactly does the following 0.01 USD mean? If the revenue of the ad to be shown is less than $0.01, will it not show this ad?

Title: Adding an ad service to Admob mediation


问:
IL2CPP Build error for android (Unity 2022.2.1f1)
I had to change Mono to IL2CPP so that I can use the ARM64 to publish my game on Google Play. But every time I build I get those errors.

This is what the error looks like:

```<code> Building Library\Bee\artifacts\Android\d8kzr\libil2cpp.so failed with output:
 ld.lld: error: undefined symbol: GADUCreateRequest
 >>> referenced by Assembly-CSharp1.cpp:19545 (C:/Users/yasse/Downloads/OR-Bit Final/Library/Bee/artifacts/Android/il2cppOutput/cpp\Assembly-CSharp1.cpp:19545)
 >>>               Library/Bee/artifacts/Android/d8kzr/kfoj_ly-CSharp1.o:(Externs_GADUCreateRequest_m92CFE3D243AF8E0DD001F210BF3ED17E1F21DA5D)
 >>> referenced by Assembly-CSharp1.cpp:19545 (C:/Users/yasse/Downloads/OR-Bit Final/Library/Bee/artifacts/Android/il2cppOutput/cpp\Assembly-CSharp1.cpp:19545)
 >>>               Library/Bee/artifacts/Android/d8kzr/kfoj_ly-CSharp1.o:(IOSBannerClient_LoadAd_mD95ECC13BAE7744AB2A65F46D8F564DAB326BF7A)
 >>> referenced by Assembly-CSharp1.cpp:19545 (C:/Users/yasse/Downloads/OR-Bit Final/Library/Bee/artifacts/Android/il2cppOutput/cpp\Assembly-CSharp1.cpp:19545)
 >>>               Library/Bee/artifacts/Android/d8kzr/kfoj_ly-CSharp1.o:(IOSInterstitialClient_LoadAd_mBD86127148FE6D83340E947592B1ADF3982BFED2)

 ld.lld: error: undefined symbol: GADUAddTestDevice
 >>> referenced by Assembly-CSharp1.cpp:19556 (C:/Users/yasse/Downloads/OR-Bit Final/Library/Bee/artifacts/Android/il2cppOutput/cpp\Assembly-CSharp1.cpp:19556)
 >>>               Library/Bee/artifacts/Android/d8kzr/kfoj_ly-CSharp1.o:(Externs_GADUAddTestDevice_m17589AA3E8171DC377C31D89A023A4FDFCA0891E)
 >>> referenced by Assembly-CSharp1.cpp:19556 (C:/Users/yasse/Downloads/OR-Bit Final/Library/Bee/artifacts/Android/il2cppOutput/cpp\Assembly-CSharp1.cpp:19556)
 >>>               Library/Bee/artifacts/Android/d8kzr/kfoj_ly-CSharp1.o:(IOSBannerClient_LoadAd_mD95ECC13BAE7744AB2A65F46D8F564DAB326BF7A)
 >>> referenced by Assembly-CSharp1.cpp:19556 (C:/Users/yasse/Downloads/OR-Bit Final/Library/Bee/artifacts/Android/il2cppOutput/cpp\Assembly-CSharp1.cpp:19556)
 >>>               Library/Bee/artifacts/Android/d8kzr/kfoj_ly-CSharp1.o:(IOSInterstitialClient_LoadAd_mBD86127148FE6D83340E947592B1ADF3982BFED2)

 ld.lld: error: undefined symbol: GADUAddKeyword
 >>> referenced by Assembly-CSharp1.cpp:19569 (C:/Users/yasse/Downloads/OR-Bit Final/Library/Bee/artifacts/Android/il2cppOutput/cpp\Assembly-CSharp1.cpp:19569)
 >>>               Library/Bee/artifacts/Android/d8kzr/kfoj_ly-CSharp1.o:(Externs_GADUAddKeyword_m844145F383BE68AE2AB6D35EF45F719F4588A388)
 >>> referenced by Assembly-CSharp1.cpp:19569 (C:/Users/yasse/Downloads/OR-Bit Final/Library/Bee/artifacts/Android/il2cppOutput/cpp\Assembly-CSharp1.cpp:19569)
 >>>               Library/Bee/artifacts/Android/d8kzr/kfoj_ly-CSharp1.o:(IOSBannerClient_LoadAd_mD95ECC13BAE7744AB2A65F46D8F564DAB326BF7A)
 >>> referenced by Assembly-CSharp1.cpp:19569 (C:/Users/yasse/Downloads/OR-Bit Final/Library/Bee/artifacts/Android/il2cppOutput/cpp\Assembly-CSharp1.cpp:19569)
 >>>               Library/Bee/artifacts/Android/d8kzr/kfoj_ly-CSharp1.o:(IOSInterstitialClient_LoadAd_mBD86127148FE6D83340E947592B1ADF3982BFED2)

 ld.lld: error: undefined symbol: GADUSetBirthday
 >>> referenced by Assembly-CSharp1.cpp:19579 (C:/Users/yasse/Downloads/OR-Bit Final/Library/Bee/artifacts/Android/il2cppOutput/cpp\Assembly-CSharp1.cpp:19579)
 >>>               Library/Bee/artifacts/Android/d8kzr/kfoj_ly-CSharp1.o:(Externs_GADUSetBirthday_m4FEA770DF974EC8065D1DE3FCF11D5FEA2BFAD07)
 >>> referenced by Assembly-CSharp1.cpp:19579 (C:/Users/yasse/Downloads/OR-Bit Final/Library/Bee/artifacts/Android/il2cppOutput/cpp\Assembly-CSharp1.cpp:19579)
 >>>               Library/Bee/artifacts/Android/d8kzr/kfoj_ly-CSharp1.o:(IOSBannerClient_LoadAd_mD95ECC13BAE7744AB2A65F46D8F564DAB326BF7A)
 >>> referenced by Assembly-CSharp1.cpp:19579 (C:/Users/yasse/Downloads/OR-Bit Final/Library/Bee/artifacts/Android/il2cppOutput/cpp\Assembly-CSharp1.cpp:19579)
 >>>               Library/Bee/artifacts/Android/d8kzr/kfoj_ly-CSharp1.o:(IOSInterstitialClient_LoadAd_mBD86127148FE6D83340E947592B1ADF3982BFED2)

 ld.lld: error: undefined symbol: GADUSetGender
 >>> referenced by Assembly-CSharp1.cpp:19586 (C:/Users/yasse/Downloads/OR-Bit Final/Library/Bee/artifacts/Android/il2cppOutput/cpp\Assembly-CSharp1.cpp:19586)
 >>>               Library/Bee/artifacts/Android/d8kzr/kfoj_ly-CSharp1.o:(Externs_GADUSetGender_m69B0124644BA18A1076920321A3F6C7D01721F3F)
 >>> referenced by Assembly-CSharp1.cpp:19586 (C:/Users/yasse/Downloads/OR-Bit Final/Library/Bee/artifacts/Android/il2cppOutput/cpp\Assembly-CSharp1.cpp:19586)
 >>>               Library/Bee/artifacts/Android/d8kzr/kfoj_ly-CSharp1.o:(IOSBannerClient_LoadAd_mD95ECC13BAE7744AB2A65F46D8F564DAB326BF7A)
 >>> referenced by Assembly-CSharp1.cpp:19586 (C:/Users/yasse/Downloads/OR-Bit Final/Library/Bee/artifacts/Android/il2cppOutput/cpp\Assembly-CSharp1.cpp:19586)
 >>>               Library/Bee/artifacts/Android/d8kzr/kfoj_ly-CSharp1.o:(IOSInterstitialClient_LoadAd_mBD86127148FE6D83340E947592B1ADF3982BFED2)

 ld.lld: error: undefined symbol: GADUTagForChildDirectedTreatment
 >>> referenced by Assembly-CSharp1.cpp:19593 (C:/Users/yasse/Downloads/OR-Bit Final/Library/Bee/artifacts/Android/il2cppOutput/cpp\Assembly-CSharp1.cpp:19593)
 >>>               Library/Bee/artifacts/Android/d8kzr/kfoj_ly-CSharp1.o:(Externs_GADUTagForChildDirectedTreatment_m5758B356E40BAD3B13E126B140F356ECB647C125)
 >>> referenced by Assembly-CSharp1.cpp:19593 (C:/Users/yasse/Downloads/OR-Bit Final/Library/Bee/artifacts/Android/il2cppOutput/cpp\Assembly-CSharp1.cpp:19593)
 >>>               Library/Bee/artifacts/Android/d8kzr/kfoj_ly-CSharp1.o:(IOSBannerClient_LoadAd_mD95ECC13BAE7744AB2A65F46D8F564DAB326BF7A)
 >>> referenced by Assembly-CSharp1.cpp:19593 (C:/Users/yasse/Downloads/OR-Bit Final/Library/Bee/artifacts/Android/il2cppOutput/cpp\Assembly-CSharp1.cpp:19593)
 >>>               Library/Bee/artifacts/Android/d8kzr/kfoj_ly-CSharp1.o:(IOSInterstitialClient_LoadAd_mBD86127148FE6D83340E947592B1ADF3982BFED2)

 ld.lld: error: undefined symbol: GADUSetExtra
 >>> referenced by Assembly-CSharp1.cpp:19606 (C:/Users/yasse/Downloads/OR-Bit Final/Library/Bee/artifacts/Android/il2cppOutput/cpp\Assembly-CSharp1.cpp:19606)
 >>>               Library/Bee/artifacts/Android/d8kzr/kfoj_ly-CSharp1.o:(Externs_GADUSetExtra_m3C579DA3641DA1528B598BBC03158624A6A5C881)

 ld.lld: error: undefined symbol: GADURelease
 >>> referenced by Assembly-CSharp1.cpp:19619 (C:/Users/yasse/Downloads/OR-Bit Final/Library/Bee/artifacts/Android/il2cppOutput/cpp\Assembly-CSharp1.cpp:19619)
 >>>               Library/Bee/artifacts/Android/d8kzr/kfoj_ly-CSharp1.o:(Externs_GADURelease_mCE322D1A00BD98DAFCFE4636F91F5B57FFF4D3CF)
 >>> referenced by Assembly-CSharp1.cpp:19619 (C:/Users/yasse/Downloads/OR-Bit Final/Library/Bee/artifacts/Android/il2cppOutput/cpp\Assembly-CSharp1.cpp:19619)
 >>>               Library/Bee/artifacts/Android/d8kzr/kfoj_ly-CSharp1.o:(IOSBannerClient_set_BannerViewPtr_m84E3666CAF9068D98BA8488C4CE4AE19FF910409)
 >>> referenced by Assembly-CSharp1.cpp:0 (C:/Users/yasse/Downloads/OR-Bit Final/Library/Bee/artifacts/Android/il2cppOutput/cpp\Assembly-CSharp1.cpp:0)
 >>>               Library/Bee/artifacts/Android/d8kzr/kfoj_ly-CSharp1.o:(IOSBannerClient_CreateBannerView_m5FDC0388D0038FB907D5F187873C3E5BEA9E7798)
 >>> referenced 6 more times

 ld.lld: error: undefined symbol: GADUCreateBannerView
 >>> referenced by Assembly-CSharp1.cpp:19629 (C:/Users/yasse/Downloads/OR-Bit Final/Library/Bee/artifacts/Android/il2cppOutput/cpp\Assembly-CSharp1.cpp:19629)
 >>>               Library/Bee/artifacts/Android/d8kzr/kfoj_ly-CSharp1.o:(Externs_GADUCreateBannerView_m56A97F911433B1BA948AEF83003AE54ECCEE6242)
 >>> referenced by Assembly-CSharp1.cpp:19629 (C:/Users/yasse/Downloads/OR-Bit Final/Library/Bee/artifacts/Android/il2cppOutput/cpp\Assembly-CSharp1.cpp:19629)
 >>>               Library/Bee/artifacts/Android/d8kzr/kfoj_ly-CSharp1.o:(IOSBannerClient_CreateBannerView_m5FDC0388D0038FB907D5F187873C3E5BEA9E7798)

 ld.lld: error: undefined symbol: GADUCreateSmartBannerView
 >>> referenced by Assembly-CSharp1.cpp:19643 (C:/Users/yasse/Downloads/OR-Bit Final/Library/Bee/artifacts/Android/il2cppOutput/cpp\Assembly-CSharp1.cpp:19643)
 >>>               Library/Bee/artifacts/Android/d8kzr/kfoj_ly-CSharp1.o:(Externs_GADUCreateSmartBannerView_m9DF02D8A7A1036C78360F208FA114E56336BFFF2)
 >>> referenced by Assembly-CSharp1.cpp:19643 (C:/Users/yasse/Downloads/OR-Bit Final/Library/Bee/artifacts/Android/il2cppOutput/cpp\Assembly-CSharp1.cpp:19643)
 >>>               Library/Bee/artifacts/Android/d8kzr/kfoj_ly-CSharp1.o:(IOSBannerClient_CreateBannerView_m5FDC0388D0038FB907D5F187873C3E5BEA9E7798)

 ld.lld: error: undefined symbol: GADUSetBannerCallbacks
 >>> referenced by Assembly-CSharp1.cpp:19672 (C:/Users/yasse/Downloads/OR-Bit Final/Library/Bee/artifacts/Android/il2cppOutput/cpp\Assembly-CSharp1.cpp:19672)
 >>>               Library/Bee/artifacts/Android/d8kzr/kfoj_ly-CSharp1.o:(Externs_GADUSetBannerCallbacks_mAE442270D8FD4BC56629377781F6D650C5E49298)

 ld.lld: error: undefined symbol: GADUHideBannerView
 >>> referenced by Assembly-CSharp1.cpp:19679 (C:/Users/yasse/Downloads/OR-Bit Final/Library/Bee/artifacts/Android/il2cppOutput/cpp\Assembly-CSharp1.cpp:19679)
 >>>               Library/Bee/artifacts/Android/d8kzr/kfoj_ly-CSharp1.o:(Externs_GADUHideBannerView_m324D7258942EC48519BF0A79C39792DC5F57B0D8)
 >>> referenced by Assembly-CSharp1.cpp:19679 (C:/Users/yasse/Downloads/OR-Bit Final/Library/Bee/artifacts/Android/il2cppOutput/cpp\Assembly-CSharp1.cpp:19679)
 >>>               Library/Bee/artifacts/Android/d8kzr/kfoj_ly-CSharp1.o:(IOSBannerClient_HideBannerView_m77CBE597E0E1DBEA709A713F067A3AC60257D466)

 ld.lld: error: undefined symbol: GADUShowBannerView
 >>> referenced by Assembly-CSharp1.cpp:19686 (C:/Users/yasse/Downloads/OR-Bit Final/Library/Bee/artifacts/Android/il2cppOutput/cpp\Assembly-CSharp1.cpp:19686)
 >>>               Library/Bee/artifacts/Android/d8kzr/kfoj_ly-CSharp1.o:(Externs_GADUShowBannerView_m3AE326325B91E0CA79F0136571780E74B7F6102E)
 >>> referenced by Assembly-CSharp1.cpp:19686 (C:/Users/yasse/Downloads/OR-Bit Final/Library/Bee/artifacts/Android/il2cppOutput/cpp\Assembly-CSharp1.cpp:19686)
 >>>               Library/Bee/artifacts/Android/d8kzr/kfoj_ly-CSharp1.o:(IOSBannerClient_ShowBannerView_mF5DA6D32F68F3049450B7675461269735367BC60)

 ld.lld: error: undefined symbol: GADURemoveBannerView
 >>> referenced by Assembly-CSharp1.cpp:19693 (C:/Users/yasse/Downloads/OR-Bit Final/Library/Bee/artifacts/Android/il2cppOutput/cpp\Assembly-CSharp1.cpp:19693)
 >>>               Library/Bee/artifacts/Android/d8kzr/kfoj_ly-CSharp1.o:(Externs_GADURemoveBannerView_mB860B3B0217E33F91B806E2BADFB1D92B3640FA0)
 >>> referenced by Assembly-CSharp1.cpp:19693 (C:/Users/yasse/Downloads/OR-Bit Final/Library/Bee/artifacts/Android/il2cppOutput/cpp\Assembly-CSharp1.cpp:19693)
 >>>               Library/Bee/artifacts/Android/d8kzr/kfoj_ly-CSharp1.o:(IOSBannerClient_DestroyBannerView_mD904D590AF6C3F5E39303D71B3591C29D9FC0D54)

 ld.lld: error: undefined symbol: GADURequestBannerAd
 >>> referenced by Assembly-CSharp1.cpp:19700 (C:/Users/yasse/Downloads/OR-Bit Final/Library/Bee/artifacts/Android/il2cppOutput/cpp\Assembly-CSharp1.cpp:19700)
 >>>               Library/Bee/artifacts/Android/d8kzr/kfoj_ly-CSharp1.o:(Externs_GADURequestBannerAd_m98461F3BE18282300662EA0111F21461673E6D4D)
 >>> referenced by Assembly-CSharp1.cpp:19700 (C:/Users/yasse/Downloads/OR-Bit Final/Library/Bee/artifacts/Android/il2cppOutput/cpp\Assembly-CSharp1.cpp:19700)
 >>>               Library/Bee/artifacts/Android/d8kzr/kfoj_ly-CSharp1.o:(IOSBannerClient_LoadAd_mD95ECC13BAE7744AB2A65F46D8F564DAB326BF7A)

 ld.lld: error: undefined symbol: GADUCreateInterstitial
 >>> referenced by Assembly-CSharp1.cpp:19710 (C:/Users/yasse/Downloads/OR-Bit Final/Library/Bee/artifacts/Android/il2cppOutput/cpp\Assembly-CSharp1.cpp:19710)
 >>>               Library/Bee/artifacts/Android/d8kzr/kfoj_ly-CSharp1.o:(Externs_GADUCreateInterstitial_m4A49389B3E932CAF5CEEA805C867C5FC2D24F1CC)
 >>> referenced by Assembly-CSharp1.cpp:19710 (C:/Users/yasse/Downloads/OR-Bit Final/Library/Bee/artifacts/Android/il2cppOutput/cpp\Assembly-CSharp1.cpp:19710)
 >>>               Library/Bee/artifacts/Android/d8kzr/kfoj_ly-CSharp1.o:(IOSInterstitialClient_CreateInterstitialAd_m4F1992354616F0D071DE831DA0BEA2733531CF72)

 ld.lld: error: undefined symbol: GADUSetInterstitialCallbacks
 >>> referenced by Assembly-CSharp1.cpp:19739 (C:/Users/yasse/Downloads/OR-Bit Final/Library/Bee/artifacts/Android/il2cppOutput/cpp\Assembly-CSharp1.cpp:19739)
 >>>               Library/Bee/artifacts/Android/d8kzr/kfoj_ly-CSharp1.o:(Externs_GADUSetInterstitialCallbacks_m968B4B5509527040D57AB1B32B17A468FBF8E47C)

 ld.lld: error: undefined symbol: GADUInterstitialReady
 >>> referenced by Assembly-CSharp1.cpp:19746 (C:/Users/yasse/Downloads/OR-Bit Final/Library/Bee/artifacts/Android/il2cppOutput/cpp\Assembly-CSharp1.cpp:19746)
 >>>               Library/Bee/artifacts/Android/d8kzr/kfoj_ly-CSharp1.o:(Externs_GADUInterstitialReady_m99D605C6C0295F638CD4D1AF7E4C9AB10CADEAE8)
 >>> referenced by Assembly-CSharp1.cpp:19746 (C:/Users/yasse/Downloads/OR-Bit Final/Library/Bee/artifacts/Android/il2cppOutput/cpp\Assembly-CSharp1.cpp:19746)
 >>>               Library/Bee/artifacts/Android/d8kzr/kfoj_ly-CSharp1.o:(IOSInterstitialClient_IsLoaded_m5FC29DCF18ECE98BB1915484A4D526862D211CC8)

 ld.lld: error: undefined symbol: GADUShowInterstitial
 >>> referenced by Assembly-CSharp1.cpp:19754 (C:/Users/yasse/Downloads/OR-Bit Final/Library/Bee/artifacts/Android/il2cppOutput/cpp\Assembly-CSharp1.cpp:19754)
 >>>               Library/Bee/artifacts/Android/d8kzr/kfoj_ly-CSharp1.o:(Externs_GADUShowInterstitial_mE26F7E7C9EB61A92BFE32A49706D30DB15F71EF9)
 >>> referenced by Assembly-CSharp1.cpp:19754 (C:/Users/yasse/Downloads/OR-Bit Final/Library/Bee/artifacts/Android/il2cppOutput/cpp\Assembly-CSharp1.cpp:19754)
 >>>               Library/Bee/artifacts/Android/d8kzr/kfoj_ly-CSharp1.o:(IOSInterstitialClient_ShowInterstitial_mA075D998A49F08504647F32D2E4F8E9944C0B1AE)

 ld.lld: error: undefined symbol: GADURequestInterstitial
 >>> referenced by Assembly-CSharp1.cpp:19761 (C:/Users/yasse/Downloads/OR-Bit Final/Library/Bee/artifacts/Android/il2cppOutput/cpp\Assembly-CSharp1.cpp:19761)
 >>>               Library/Bee/artifacts/Android/d8kzr/kfoj_ly-CSharp1.o:(Externs_GADURequestInterstitial_m353F2481C9E3D9CAE99DBA615C24EA8468AEED6C)
 >>> referenced by Assembly-CSharp1.cpp:19761 (C:/Users/yasse/Downloads/OR-Bit Final/Library/Bee/artifacts/Android/il2cppOutput/cpp\Assembly-CSharp1.cpp:19761)
 >>>               Library/Bee/artifacts/Android/d8kzr/kfoj_ly-CSharp1.o:(IOSInterstitialClient_LoadAd_mBD86127148FE6D83340E947592B1ADF3982BFED2)
 clang++: error: linker command failed with exit code 1 (use -v to see invocation)

 UnityEngine.GUIUtility:ProcessEvent (int,intptr,bool&)
</code>```

I tried with .NET Standard 2.1 and didn't work. Tried with Faster Runtime and still didn't work. Even with the Master Compiler configuration. I was expecting to receive a successful build notice.

Body:
I had to change Mono to IL2CPP so that I can use the ARM64 to publish my game on Google Play. But every time I build I get those errors.

This is what the error looks like:

 Building Library\Bee\artifacts\Android\d8kzr\libil2cpp.so failed with output:
 ld.lld: error: undefined symbol: GADUCreateRequest
 >>> referenced by Assembly-CSharp1.cpp:19545 (C:/Users/yasse/Downloads/OR-Bit Final/Library/Bee/artifacts/Android/il2cppOutput/cpp\Assembly-CSharp1.cpp:19545)
 >>>               Library/Bee/artifacts/Android/d8kzr/kfoj_ly-CSharp1.o:(Externs_GADUCreateRequest_m92CFE3D243AF8E0DD001F210BF3ED17E1F21DA5D)
 >>> referenced by Assembly-CSharp1.cpp:19545 (C:/Users/yasse/Downloads/OR-Bit Final/Library/Bee/artifacts/Android/il2cppOutput/cpp\Assembly-CSharp1.cpp:19545)
 >>>               Library/Bee/artifacts/Android/d8kzr/kfoj_ly-CSharp1.o:(IOSBannerClient_LoadAd_mD95ECC13BAE7744AB2A65F46D8F564DAB326BF7A)
 >>> referenced by Assembly-CSharp1.cpp:19545 (C:/Users/yasse/Downloads/OR-Bit Final/Library/Bee/artifacts/Android/il2cppOutput/cpp\Assembly-CSharp1.cpp:19545)
 >>>               Library/Bee/artifacts/Android/d8kzr/kfoj_ly-CSharp1.o:(IOSInterstitialClient_LoadAd_mBD86127148FE6D83340E947592B1ADF3982BFED2)

 ld.lld: error: undefined symbol: GADUAddTestDevice
 >>> referenced by Assembly-CSharp1.cpp:19556 (C:/Users/yasse/Downloads/OR-Bit Final/Library/Bee/artifacts/Android/il2cppOutput/cpp\Assembly-CSharp1.cpp:19556)
 >>>               Library/Bee/artifacts/Android/d8kzr/kfoj_ly-CSharp1.o:(Externs_GADUAddTestDevice_m17589AA3E8171DC377C31D89A023A4FDFCA0891E)
 >>> referenced by Assembly-CSharp1.cpp:19556 (C:/Users/yasse/Downloads/OR-Bit Final/Library/Bee/artifacts/Android/il2cppOutput/cpp\Assembly-CSharp1.cpp:19556)
 >>>               Library/Bee/artifacts/Android/d8kzr/kfoj_ly-CSharp1.o:(IOSBannerClient_LoadAd_mD95ECC13BAE7744AB2A65F46D8F564DAB326BF7A)
 >>> referenced by Assembly-CSharp1.cpp:19556 (C:/Users/yasse/Downloads/OR-Bit Final/Library/Bee/artifacts/Android/il2cppOutput/cpp\Assembly-CSharp1.cpp:19556)
 >>>               Library/Bee/artifacts/Android/d8kzr/kfoj_ly-CSharp1.o:(IOSInterstitialClient_LoadAd_mBD86127148FE6D83340E947592B1ADF3982BFED2)

 ld.lld: error: undefined symbol: GADUAddKeyword
 >>> referenced by Assembly-CSharp1.cpp:19569 (C:/Users/yasse/Downloads/OR-Bit Final/Library/Bee/artifacts/Android/il2cppOutput/cpp\Assembly-CSharp1.cpp:19569)
 >>>               Library/Bee/artifacts/Android/d8kzr/kfoj_ly-CSharp1.o:(Externs_GADUAddKeyword_m844145F383BE68AE2AB6D35EF45F719F4588A388)
 >>> referenced by Assembly-CSharp1.cpp:19569 (C:/Users/yasse/Downloads/OR-Bit Final/Library/Bee/artifacts/Android/il2cppOutput/cpp\Assembly-CSharp1.cpp:19569)
 >>>               Library/Bee/artifacts/Android/d8kzr/kfoj_ly-CSharp1.o:(IOSBannerClient_LoadAd_mD95ECC13BAE7744AB2A65F46D8F564DAB326BF7A)
 >>> referenced by Assembly-CSharp1.cpp:19569 (C:/Users/yasse/Downloads/OR-Bit Final/Library/Bee/artifacts/Android/il2cppOutput/cpp\Assembly-CSharp1.cpp:19569)
 >>>               Library/Bee/artifacts/Android/d8kzr/kfoj_ly-CSharp1.o:(IOSInterstitialClient_LoadAd_mBD86127148FE6D83340E947592B1ADF3982BFED2)

 ld.lld: error: undefined symbol: GADUSetBirthday
 >>> referenced by Assembly-CSharp1.cpp:19579 (C:/Users/yasse/Downloads/OR-Bit Final/Library/Bee/artifacts/Android/il2cppOutput/cpp\Assembly-CSharp1.cpp:19579)
 >>>               Library/Bee/artifacts/Android/d8kzr/kfoj_ly-CSharp1.o:(Externs_GADUSetBirthday_m4FEA770DF974EC8065D1DE3FCF11D5FEA2BFAD07)
 >>> referenced by Assembly-CSharp1.cpp:19579 (C:/Users/yasse/Downloads/OR-Bit Final/Library/Bee/artifacts/Android/il2cppOutput/cpp\Assembly-CSharp1.cpp:19579)
 >>>               Library/Bee/artifacts/Android/d8kzr/kfoj_ly-CSharp1.o:(IOSBannerClient_LoadAd_mD95ECC13BAE7744AB2A65F46D8F564DAB326BF7A)
 >>> referenced by Assembly-CSharp1.cpp:19579 (C:/Users/yasse/Downloads/OR-Bit Final/Library/Bee/artifacts/Android/il2cppOutput/cpp\Assembly-CSharp1.cpp:19579)
 >>>               Library/Bee/artifacts/Android/d8kzr/kfoj_ly-CSharp1.o:(IOSInterstitialClient_LoadAd_mBD86127148FE6D83340E947592B1ADF3982BFED2)

 ld.lld: error: undefined symbol: GADUSetGender
 >>> referenced by Assembly-CSharp1.cpp:19586 (C:/Users/yasse/Downloads/OR-Bit Final/Library/Bee/artifacts/Android/il2cppOutput/cpp\Assembly-CSharp1.cpp:19586)
 >>>               Library/Bee/artifacts/Android/d8kzr/kfoj_ly-CSharp1.o:(Externs_GADUSetGender_m69B0124644BA18A1076920321A3F6C7D01721F3F)
 >>> referenced by Assembly-CSharp1.cpp:19586 (C:/Users/yasse/Downloads/OR-Bit Final/Library/Bee/artifacts/Android/il2cppOutput/cpp\Assembly-CSharp1.cpp:19586)
 >>>               Library/Bee/artifacts/Android/d8kzr/kfoj_ly-CSharp1.o:(IOSBannerClient_LoadAd_mD95ECC13BAE7744AB2A65F46D8F564DAB326BF7A)
 >>> referenced by Assembly-CSharp1.cpp:19586 (C:/Users/yasse/Downloads/OR-Bit Final/Library/Bee/artifacts/Android/il2cppOutput/cpp\Assembly-CSharp1.cpp:19586)
 >>>               Library/Bee/artifacts/Android/d8kzr/kfoj_ly-CSharp1.o:(IOSInterstitialClient_LoadAd_mBD86127148FE6D83340E947592B1ADF3982BFED2)

 ld.lld: error: undefined symbol: GADUTagForChildDirectedTreatment
 >>> referenced by Assembly-CSharp1.cpp:19593 (C:/Users/yasse/Downloads/OR-Bit Final/Library/Bee/artifacts/Android/il2cppOutput/cpp\Assembly-CSharp1.cpp:19593)
 >>>               Library/Bee/artifacts/Android/d8kzr/kfoj_ly-CSharp1.o:(Externs_GADUTagForChildDirectedTreatment_m5758B356E40BAD3B13E126B140F356ECB647C125)
 >>> referenced by Assembly-CSharp1.cpp:19593 (C:/Users/yasse/Downloads/OR-Bit Final/Library/Bee/artifacts/Android/il2cppOutput/cpp\Assembly-CSharp1.cpp:19593)
 >>>               Library/Bee/artifacts/Android/d8kzr/kfoj_ly-CSharp1.o:(IOSBannerClient_LoadAd_mD95ECC13BAE7744AB2A65F46D8F564DAB326BF7A)
 >>> referenced by Assembly-CSharp1.cpp:19593 (C:/Users/yasse/Downloads/OR-Bit Final/Library/Bee/artifacts/Android/il2cppOutput/cpp\Assembly-CSharp1.cpp:19593)
 >>>               Library/Bee/artifacts/Android/d8kzr/kfoj_ly-CSharp1.o:(IOSInterstitialClient_LoadAd_mBD86127148FE6D83340E947592B1ADF3982BFED2)

 ld.lld: error: undefined symbol: GADUSetExtra
 >>> referenced by Assembly-CSharp1.cpp:19606 (C:/Users/yasse/Downloads/OR-Bit Final/Library/Bee/artifacts/Android/il2cppOutput/cpp\Assembly-CSharp1.cpp:19606)
 >>>               Library/Bee/artifacts/Android/d8kzr/kfoj_ly-CSharp1.o:(Externs_GADUSetExtra_m3C579DA3641DA1528B598BBC03158624A6A5C881)

 ld.lld: error: undefined symbol: GADURelease
 >>> referenced by Assembly-CSharp1.cpp:19619 (C:/Users/yasse/Downloads/OR-Bit Final/Library/Bee/artifacts/Android/il2cppOutput/cpp\Assembly-CSharp1.cpp:19619)
 >>>               Library/Bee/artifacts/Android/d8kzr/kfoj_ly-CSharp1.o:(Externs_GADURelease_mCE322D1A00BD98DAFCFE4636F91F5B57FFF4D3CF)
 >>> referenced by Assembly-CSharp1.cpp:19619 (C:/Users/yasse/Downloads/OR-Bit Final/Library/Bee/artifacts/Android/il2cppOutput/cpp\Assembly-CSharp1.cpp:19619)
 >>>               Library/Bee/artifacts/Android/d8kzr/kfoj_ly-CSharp1.o:(IOSBannerClient_set_BannerViewPtr_m84E3666CAF9068D98BA8488C4CE4AE19FF910409)
 >>> referenced by Assembly-CSharp1.cpp:0 (C:/Users/yasse/Downloads/OR-Bit Final/Library/Bee/artifacts/Android/il2cppOutput/cpp\Assembly-CSharp1.cpp:0)
 >>>               Library/Bee/artifacts/Android/d8kzr/kfoj_ly-CSharp1.o:(IOSBannerClient_CreateBannerView_m5FDC0388D0038FB907D5F187873C3E5BEA9E7798)
 >>> referenced 6 more times

 ld.lld: error: undefined symbol: GADUCreateBannerView
 >>> referenced by Assembly-CSharp1.cpp:19629 (C:/Users/yasse/Downloads/OR-Bit Final/Library/Bee/artifacts/Android/il2cppOutput/cpp\Assembly-CSharp1.cpp:19629)
 >>>               Library/Bee/artifacts/Android/d8kzr/kfoj_ly-CSharp1.o:(Externs_GADUCreateBannerView_m56A97F911433B1BA948AEF83003AE54ECCEE6242)
 >>> referenced by Assembly-CSharp1.cpp:19629 (C:/Users/yasse/Downloads/OR-Bit Final/Library/Bee/artifacts/Android/il2cppOutput/cpp\Assembly-CSharp1.cpp:19629)
 >>>               Library/Bee/artifacts/Android/d8kzr/kfoj_ly-CSharp1.o:(IOSBannerClient_CreateBannerView_m5FDC0388D0038FB907D5F187873C3E5BEA9E7798)

 ld.lld: error: undefined symbol: GADUCreateSmartBannerView
 >>> referenced by Assembly-CSharp1.cpp:19643 (C:/Users/yasse/Downloads/OR-Bit Final/Library/Bee/artifacts/Android/il2cppOutput/cpp\Assembly-CSharp1.cpp:19643)
 >>>               Library/Bee/artifacts/Android/d8kzr/kfoj_ly-CSharp1.o:(Externs_GADUCreateSmartBannerView_m9DF02D8A7A1036C78360F208FA114E56336BFFF2)
 >>> referenced by Assembly-CSharp1.cpp:19643 (C:/Users/yasse/Downloads/OR-Bit Final/Library/Bee/artifacts/Android/il2cppOutput/cpp\Assembly-CSharp1.cpp:19643)
 >>>               Library/Bee/artifacts/Android/d8kzr/kfoj_ly-CSharp1.o:(IOSBannerClient_CreateBannerView_m5FDC0388D0038FB907D5F187873C3E5BEA9E7798)

 ld.lld: error: undefined symbol: GADUSetBannerCallbacks
 >>> referenced by Assembly-CSharp1.cpp:19672 (C:/Users/yasse/Downloads/OR-Bit Final/Library/Bee/artifacts/Android/il2cppOutput/cpp\Assembly-CSharp1.cpp:19672)
 >>>               Library/Bee/artifacts/Android/d8kzr/kfoj_ly-CSharp1.o:(Externs_GADUSetBannerCallbacks_mAE442270D8FD4BC56629377781F6D650C5E49298)

 ld.lld: error: undefined symbol: GADUHideBannerView
 >>> referenced by Assembly-CSharp1.cpp:19679 (C:/Users/yasse/Downloads/OR-Bit Final/Library/Bee/artifacts/Android/il2cppOutput/cpp\Assembly-CSharp1.cpp:19679)
 >>>               Library/Bee/artifacts/Android/d8kzr/kfoj_ly-CSharp1.o:(Externs_GADUHideBannerView_m324D7258942EC48519BF0A79C39792DC5F57B0D8)
 >>> referenced by Assembly-CSharp1.cpp:19679 (C:/Users/yasse/Downloads/OR-Bit Final/Library/Bee/artifacts/Android/il2cppOutput/cpp\Assembly-CSharp1.cpp:19679)
 >>>               Library/Bee/artifacts/Android/d8kzr/kfoj_ly-CSharp1.o:(IOSBannerClient_HideBannerView_m77CBE597E0E1DBEA709A713F067A3AC60257D466)

 ld.lld: error: undefined symbol: GADUShowBannerView
 >>> referenced by Assembly-CSharp1.cpp:19686 (C:/Users/yasse/Downloads/OR-Bit Final/Library/Bee/artifacts/Android/il2cppOutput/cpp\Assembly-CSharp1.cpp:19686)
 >>>               Library/Bee/artifacts/Android/d8kzr/kfoj_ly-CSharp1.o:(Externs_GADUShowBannerView_m3AE326325B91E0CA79F0136571780E74B7F6102E)
 >>> referenced by Assembly-CSharp1.cpp:19686 (C:/Users/yasse/Downloads/OR-Bit Final/Library/Bee/artifacts/Android/il2cppOutput/cpp\Assembly-CSharp1.cpp:19686)
 >>>               Library/Bee/artifacts/Android/d8kzr/kfoj_ly-CSharp1.o:(IOSBannerClient_ShowBannerView_mF5DA6D32F68F3049450B7675461269735367BC60)

 ld.lld: error: undefined symbol: GADURemoveBannerView
 >>> referenced by Assembly-CSharp1.cpp:19693 (C:/Users/yasse/Downloads/OR-Bit Final/Library/Bee/artifacts/Android/il2cppOutput/cpp\Assembly-CSharp1.cpp:19693)
 >>>               Library/Bee/artifacts/Android/d8kzr/kfoj_ly-CSharp1.o:(Externs_GADURemoveBannerView_mB860B3B0217E33F91B806E2BADFB1D92B3640FA0)
 >>> referenced by Assembly-CSharp1.cpp:19693 (C:/Users/yasse/Downloads/OR-Bit Final/Library/Bee/artifacts/Android/il2cppOutput/cpp\Assembly-CSharp1.cpp:19693)
 >>>               Library/Bee/artifacts/Android/d8kzr/kfoj_ly-CSharp1.o:(IOSBannerClient_DestroyBannerView_mD904D590AF6C3F5E39303D71B3591C29D9FC0D54)

 ld.lld: error: undefined symbol: GADURequestBannerAd
 >>> referenced by Assembly-CSharp1.cpp:19700 (C:/Users/yasse/Downloads/OR-Bit Final/Library/Bee/artifacts/Android/il2cppOutput/cpp\Assembly-CSharp1.cpp:19700)
 >>>               Library/Bee/artifacts/Android/d8kzr/kfoj_ly-CSharp1.o:(Externs_GADURequestBannerAd_m98461F3BE18282300662EA0111F21461673E6D4D)
 >>> referenced by Assembly-CSharp1.cpp:19700 (C:/Users/yasse/Downloads/OR-Bit Final/Library/Bee/artifacts/Android/il2cppOutput/cpp\Assembly-CSharp1.cpp:19700)
 >>>               Library/Bee/artifacts/Android/d8kzr/kfoj_ly-CSharp1.o:(IOSBannerClient_LoadAd_mD95ECC13BAE7744AB2A65F46D8F564DAB326BF7A)

 ld.lld: error: undefined symbol: GADUCreateInterstitial
 >>> referenced by Assembly-CSharp1.cpp:19710 (C:/Users/yasse/Downloads/OR-Bit Final/Library/Bee/artifacts/Android/il2cppOutput/cpp\Assembly-CSharp1.cpp:19710)
 >>>               Library/Bee/artifacts/Android/d8kzr/kfoj_ly-CSharp1.o:(Externs_GADUCreateInterstitial_m4A49389B3E932CAF5CEEA805C867C5FC2D24F1CC)
 >>> referenced by Assembly-CSharp1.cpp:19710 (C:/Users/yasse/Downloads/OR-Bit Final/Library/Bee/artifacts/Android/il2cppOutput/cpp\Assembly-CSharp1.cpp:19710)
 >>>               Library/Bee/artifacts/Android/d8kzr/kfoj_ly-CSharp1.o:(IOSInterstitialClient_CreateInterstitialAd_m4F1992354616F0D071DE831DA0BEA2733531CF72)

 ld.lld: error: undefined symbol: GADUSetInterstitialCallbacks
 >>> referenced by Assembly-CSharp1.cpp:19739 (C:/Users/yasse/Downloads/OR-Bit Final/Library/Bee/artifacts/Android/il2cppOutput/cpp\Assembly-CSharp1.cpp:19739)
 >>>               Library/Bee/artifacts/Android/d8kzr/kfoj_ly-CSharp1.o:(Externs_GADUSetInterstitialCallbacks_m968B4B5509527040D57AB1B32B17A468FBF8E47C)

 ld.lld: error: undefined symbol: GADUInterstitialReady
 >>> referenced by Assembly-CSharp1.cpp:19746 (C:/Users/yasse/Downloads/OR-Bit Final/Library/Bee/artifacts/Android/il2cppOutput/cpp\Assembly-CSharp1.cpp:19746)
 >>>               Library/Bee/artifacts/Android/d8kzr/kfoj_ly-CSharp1.o:(Externs_GADUInterstitialReady_m99D605C6C0295F638CD4D1AF7E4C9AB10CADEAE8)
 >>> referenced by Assembly-CSharp1.cpp:19746 (C:/Users/yasse/Downloads/OR-Bit Final/Library/Bee/artifacts/Android/il2cppOutput/cpp\Assembly-CSharp1.cpp:19746)
 >>>               Library/Bee/artifacts/Android/d8kzr/kfoj_ly-CSharp1.o:(IOSInterstitialClient_IsLoaded_m5FC29DCF18ECE98BB1915484A4D526862D211CC8)

 ld.lld: error: undefined symbol: GADUShowInterstitial
 >>> referenced by Assembly-CSharp1.cpp:19754 (C:/Users/yasse/Downloads/OR-Bit Final/Library/Bee/artifacts/Android/il2cppOutput/cpp\Assembly-CSharp1.cpp:19754)
 >>>               Library/Bee/artifacts/Android/d8kzr/kfoj_ly-CSharp1.o:(Externs_GADUShowInterstitial_mE26F7E7C9EB61A92BFE32A49706D30DB15F71EF9)
 >>> referenced by Assembly-CSharp1.cpp:19754 (C:/Users/yasse/Downloads/OR-Bit Final/Library/Bee/artifacts/Android/il2cppOutput/cpp\Assembly-CSharp1.cpp:19754)
 >>>               Library/Bee/artifacts/Android/d8kzr/kfoj_ly-CSharp1.o:(IOSInterstitialClient_ShowInterstitial_mA075D998A49F08504647F32D2E4F8E9944C0B1AE)

 ld.lld: error: undefined symbol: GADURequestInterstitial
 >>> referenced by Assembly-CSharp1.cpp:19761 (C:/Users/yasse/Downloads/OR-Bit Final/Library/Bee/artifacts/Android/il2cppOutput/cpp\Assembly-CSharp1.cpp:19761)
 >>>               Library/Bee/artifacts/Android/d8kzr/kfoj_ly-CSharp1.o:(Externs_GADURequestInterstitial_m353F2481C9E3D9CAE99DBA615C24EA8468AEED6C)
 >>> referenced by Assembly-CSharp1.cpp:19761 (C:/Users/yasse/Downloads/OR-Bit Final/Library/Bee/artifacts/Android/il2cppOutput/cpp\Assembly-CSharp1.cpp:19761)
 >>>               Library/Bee/artifacts/Android/d8kzr/kfoj_ly-CSharp1.o:(IOSInterstitialClient_LoadAd_mBD86127148FE6D83340E947592B1ADF3982BFED2)
 clang++: error: linker command failed with exit code 1 (use -v to see invocation)

 UnityEngine.GUIUtility:ProcessEvent (int,intptr,bool&)

I tried with .NET Standard 2.1 and didn't work. Tried with Faster Runtime and still didn't work. Even with the Master Compiler configuration. I was expecting to receive a successful build notice.


问:
exception": "Illuminate\\Database\\QueryException "SQLSTATE[23000]: Integrity constraint violation:1052 Column 'id' in field list is ambiguous
This method i try

$questions = DB::table('questionbank')
    ->join('questionbank_quizzes', 'questionbank_id.id', '=', 'questionbank.id')
    ->join('quizzes', 'quizzes.id', '=', 'questionbank_quizzes.quize_id')
    ->where('subject_id', '=', $request->subject_id)
    ->get(['id', 'subject_id', 'topic_id', 'question_type', 'question', 'marks', 'difficulty_level', 'status', 'quizzes.title']);
```
<p>and the error is</p>
<blockquote>
<p>SQLSTATE[23000]: Integrity constraint violation: 1052 Column 'id' in field list is ambiguous (SQL: select <code>id</code>, <code>subject_id</code>, <code>topic_id</code>, <code>question_type</code>, <code>question</code>, <code>marks</code>, <code>difficulty_level</code>, <code>status</code>, <code>quizzes</code>.<code>title</code> from <code>questionbank</code> inner join <code>questionbank_quizzes</code> on <code>questionbank_id</code>.<code>id</code> = <code>questionbank</code>.<code>id</code> inner join <code>quizzes</code> on <code>quizzes</code>.<code>id</code> = <code>questionbank_quizzes</code>.<code>quize_id</code> where <code>subject_id</code> = 78)</p>
</blockquote>
<p>I want to return in this format can any suggest what we have to do?
{id: 2665, subject_id: "78", topic_id: "95", question_type: "radio",…}</p>
<p>But in scipt has other method but we have to print same data as above</p>
<pre class="lang-php prettyprint-override"><code>$subject_id = $request->subject_id;
$subject = Subject::where('id','=',$subject_id)->first();
$topics = $subject
    ->topics()
    ->where('parent_id', '=', '0')
    ->get(['topic_name', 'id']);
$questionbank_id = DB::table('questionbank')
    ->where('subject_id', '=', $request->subject_id)
    ->get(['id']);
// $questionbank_quizzes = $questionbank_id->DB::table('questionbank_quizzes')
//     ->where('questionbank_id', '=', $questionbank_id[]->id)
//     ->get(['quize_id', 'questionbank_id']);
// $quiz_n=quizzesExistTitle()->get(['title']);
$questions = $subject->questions()->get(['id', 'subject_id', 'topic_id', 'question_type', 'question', 'marks', 'difficulty_level', 'status']);
// $questions = DB::table('questionbank')
//    ->join('questionbank_quizzes', 'questionbank_id.id', '=', 'questionbank.id')
//    ->join('quizzes', 'quizzes.id', '=', 'questionbank_quizzes.quize_id')
//    ->where('subject_id', '=', $request->subject_id)
//    ->get(['id', 'subject_id', 'topic_id', 'question_type', 'question', 'marks', 'difficulty_level', 'status']);

return json_encode(array('topics' => $topics, 'questions' => $questions, 'subject' => $subject, 'questionbank_quizzes' => $questionbank_id));
</code>```

I have to show in array quizzes.title. I have try:

$questions = DB::table('questionbank')
    ->join('questionbank_quizzes', 'questionbank_id.id', '=', 'questionbank.id')
    ->join('quizzes', 'quizzes.id', '=', 'questionbank_quizzes.quize_id')
    ->where('subject_id', '=', $request->subject_id)
    ->get(['id', 'subject_id', 'topic_id', 'question_type', 'question', 'marks', 'difficulty_level', 'status', 'quizzes.title']);
```

but got above error

Body:
This method i try

$questions = DB::table('questionbank')
    ->join('questionbank_quizzes', 'questionbank_id.id', '=', 'questionbank.id')
    ->join('quizzes', 'quizzes.id', '=', 'questionbank_quizzes.quize_id')
    ->where('subject_id', '=', $request->subject_id)
    ->get(['id', 'subject_id', 'topic_id', 'question_type', 'question', 'marks', 'difficulty_level', 'status', 'quizzes.title']);

and the error is

SQLSTATE[23000]: Integrity constraint violation: 1052 Column 'id' in field list is ambiguous (SQL: select id, subject_id, topic_id, question_type, question, marks, difficulty_level, status, quizzes.title from questionbank inner join questionbank_quizzes on questionbank_id.id = questionbank.id inner join quizzes on quizzes.id = questionbank_quizzes.quize_id where subject_id = 78)

I want to return in this format can any suggest what we have to do?
{id: 2665, subject_id: "78", topic_id: "95", question_type: "radio",…}

But in scipt has other method but we have to print same data as above

$subject_id = $request->subject_id;
$subject = Subject::where('id','=',$subject_id)->first();
$topics = $subject
    ->topics()
    ->where('parent_id', '=', '0')
    ->get(['topic_name', 'id']);
$questionbank_id = DB::table('questionbank')
    ->where('subject_id', '=', $request->subject_id)
    ->get(['id']);
// $questionbank_quizzes = $questionbank_id->DB::table('questionbank_quizzes')
//     ->where('questionbank_id', '=', $questionbank_id[]->id)
//     ->get(['quize_id', 'questionbank_id']);
// $quiz_n=quizzesExistTitle()->get(['title']);
$questions = $subject->questions()->get(['id', 'subject_id', 'topic_id', 'question_type', 'question', 'marks', 'difficulty_level', 'status']);
// $questions = DB::table('questionbank')
//    ->join('questionbank_quizzes', 'questionbank_id.id', '=', 'questionbank.id')
//    ->join('quizzes', 'quizzes.id', '=', 'questionbank_quizzes.quize_id')
//    ->where('subject_id', '=', $request->subject_id)
//    ->get(['id', 'subject_id', 'topic_id', 'question_type', 'question', 'marks', 'difficulty_level', 'status']);

return json_encode(array('topics' => $topics, 'questions' => $questions, 'subject' => $subject, 'questionbank_quizzes' => $questionbank_id));

I have to show in array quizzes.title. I have try:

$questions = DB::table('questionbank')
    ->join('questionbank_quizzes', 'questionbank_id.id', '=', 'questionbank.id')
    ->join('quizzes', 'quizzes.id', '=', 'questionbank_quizzes.quize_id')
    ->where('subject_id', '=', $request->subject_id)
    ->get(['id', 'subject_id', 'topic_id', 'question_type', 'question', 'marks', 'difficulty_level', 'status', 'quizzes.title']);

but got above error


问:
Railway deployed successfully but logs show error connecting to mongo dB
I tried to deploy my server-side code to railway which I used to deploy in Heroku, it deploys successfully but I get this error in the logs

This is what my code looks like. Thanks in advance
`

```<code>import express from "express";
import bodyParser from "body-parser";
import mongoose from "mongoose";
import cors from "cors";

import postRoutes from  './routes/posts.js';
import dotenv from 'dotenv';

const app = express();

dotenv.config();

app.use(bodyParser.json({limit: "30mb", extended: true})); //Because we need to upload image
app.use(bodyParser.urlencoded({limit: "30mb", extended: true}));
app.use(cors());

app.use('/posts', postRoutes);

app.get('/', (req, res) => {
  res.send('Memes collection API');
});

const PORT = process.env.PORT || 5000

mongoose.connect (process.env.CONNECTION_URL, {useNewUrlParser: true, useUnifiedTopology: true})
  .then(() => app.listen(PORT, () => console.log(`Server running on port: ${PORT}` )))
  .catch ((error) => console.log(`${error} did not connect`));
</code>```

`

I added the mongodb variable as well

Body:
I tried to deploy my server-side code to railway which I used to deploy in Heroku, it deploys successfully but I get this error in the logs

This is what my code looks like. Thanks in advance
`

import express from "express";
import bodyParser from "body-parser";
import mongoose from "mongoose";
import cors from "cors";

import postRoutes from  './routes/posts.js';
import dotenv from 'dotenv';

const app = express();

dotenv.config();

app.use(bodyParser.json({limit: "30mb", extended: true})); //Because we need to upload image
app.use(bodyParser.urlencoded({limit: "30mb", extended: true}));
app.use(cors());

app.use('/posts', postRoutes);

app.get('/', (req, res) => {
  res.send('Memes collection API');
});

const PORT = process.env.PORT || 5000

mongoose.connect (process.env.CONNECTION_URL, {useNewUrlParser: true, useUnifiedTopology: true})
  .then(() => app.listen(PORT, () => console.log(`Server running on port: ${PORT}` )))
  .catch ((error) => console.log(`${error} did not connect`));

`

I added the mongodb variable as well


问:
Why is function executing recursively with using reactive()
I have an annoying bug in my App, which I fully don't understand. In the function checkRule():

If I run only the green code, you see console.log runs exactly enter code here twice, because there are 2 empty values on mandatory columns, so far so correct.

If I run green and red code, both console.log are executing recursively?! which I absolute don't understand. When I remove the reactive() [marked in orange] of the variable errors, everything runs well.

So, I suggest the problem has to do with reactive() - have you any idea, why is that?

<template>

      {{ product.name }}

      {{ product.brand }}

</template>```

VueSFC Playground - Demo

Body:
I have an annoying bug in my App, which I fully don't understand. In the function checkRule():

If I run only the green code, you see console.log runs exactly enter code here twice, because there are 2 empty values on mandatory columns, so far so correct.

If I run green and red code, both console.log are executing recursively?! which I absolute don't understand. When I remove the reactive() [marked in orange] of the variable errors, everything runs well.

So, I suggest the problem has to do with reactive() - have you any idea, why is that?

<template>

      {{ product.name }}

      {{ product.brand }}

</template>

<a href="https://sfc.vuejs.org/#eNqdVFFv2jAQ/isnv0BVSIqqbVIGlbY+7W2q9jZPUwgXcJvYke2kQ4j/vrMdp0AZ28oDju3P3+e7+8479qlpkq5FlrG5KbRoLBi0bXPHpagbpS3sQGNeWNEh7KHUqoYR4UdcclmhBdRaaQML+P7jI5cAXBZKGguNVqu2sD8LVbW19AA6Yncg8xoz4MyNnE2gzuUqt0pvM7C6JZHJMW6pCXACLPPKEJLLs5q9GNDVI8nXsDNzPJ7QLX5DYz8Hdq96eOAIeGa/J7x9G+ElYM/87n8PvP/HK3+4SOwSymXZSqq4klBssHh6aCscO5YJdHnV0iDkCn9dwc4JiBLGfhkWCy/crwOkKXwpIRjA3wKEealiwIhyfOKUpCT2uAiLu1jVxDMsSMR9XCUD0aDnFe/JCapCqNQaKIDI8yzsJlwbZkAn4ZaSgEXeko+iF931sG7sFuwGNUZS5y1iTIhxzNl9CIfQ1yGma/d9GJiT9Uouv7Q9Dtm68lZ1vziG1kma1myI2FXCr1AGB+ihdoC/pqGgH6hltQyEUFS5MXFThx1qo/VU42o6u7mhGvlNap/+j0sa5mnof+p8mlhKRJVbpBnAfCU66Kal0gvOYmkGF4ghy4bizZ5wS6hYNEHG8hw9S+ZvR4AXZ41cGkeTozpH8uEwGXl37IS9vzrRpsT7Nwnv9wMNP78s4iHnVZY6pKVfm6dDttiEhWdzWudN8miUpIfV25P3G5SjLBqWM3pJ3ZyzjbWNydLUlIV7jh9NovQ6pa9Et9KKGhM09XSp1bNBTcTUxAccKS12qKnCFJBGstCfOU+gr3h7V+zZ/jek8gHU" rel="nofollow noreferrer">VueSFC Playground - Demo


问:
Setting up HTTPS for Elastic Beanstalk single instance Python (FastAPI) application
Please note: No Load Balancers. I'm specifically looking for solutions with single instances.

Greetings! As the title suggests, I'm having trouble setting up HTTPS with a self signed certificate (certbot) for an EB instance running python.

To get started, I did follow the instructions here https://docs.aws.amazon.com/elasticbeanstalk/latest/dg/https-singleinstance-python.html, replacing server.crt with cert.pem and server.key with privkey.pem generated by certbot, and application.py with asgi.py (the entry point to my application). All of these in https-instance.config and https-instance-single.config under .ebextensions.

I will include the files here in case I misconfigured something.

https-instance.config

```<code>packages:
  yum:
    mod24_ssl: []

files:
  /etc/httpd/conf.d/ssl.conf:
    mode: "000644"
    owner: root
    group: root
    content: |
      LoadModule wsgi_module modules/mod_wsgi.so
      WSGIPythonHome /opt/python/run/baselinenv
      WSGISocketPrefix run/wsgi
      WSGIRestrictEmbedded On
      Listen 443
      <VirtualHost *:443>
        SSLEngine on
        SSLCertificateFile "/etc/pki/tls/certs/server.crt"
        SSLCertificateKeyFile "/etc/pki/tls/certs/server.key"

        Alias /static/ /opt/python/current/app/static/
        <Directory /opt/python/current/app/static>
        Order allow,deny
        Allow from all
        </Directory>

        WSGIScriptAlias / /opt/python/current/app/asgi.py

        <Directory /opt/python/current/app>
        Require all granted
        </Directory>

        WSGIDaemonProcess wsgi-ssl processes=1 threads=15 display-name=%{GROUP} \
          python-path=/opt/python/current/app \
          python-home=/opt/python/run/venv \
          home=/opt/python/current/app \
          user=wsgi \
          group=wsgi
        WSGIProcessGroup wsgi-ssl

      </VirtualHost>

  /etc/pki/tls/certs/server.crt:
    mode: "000400"
    owner: root
    group: root
    content: |
      -----BEGIN CERTIFICATE-----
      -----END CERTIFICATE-----

  /etc/pki/tls/certs/server.key:
    mode: "000400"
    owner: root
    group: root
    content: |
      -----BEGIN PRIVATE KEY-----
      -----END PRIVATE KEY-----

container_commands:
  01killhttpd:
    command: "killall httpd"
  02waitforhttpddeath:
    command: "sleep 3"
</code>```

https-instance-single.config

```<code>Resources:
  sslSecurityGroupIngress:
    Type: AWS::EC2::SecurityGroupIngress
    Properties:
      GroupId: { "Fn::GetAtt": ["AWSEBSecurityGroup", "GroupId"] }
      IpProtocol: tcp
      ToPort: 443
      FromPort: 443
      CidrIp: 0.0.0.0/0
</code>```

Upon deploying, I get Instance deployment failed. For details, see 'eb-engine.log'. with no further details as to what went wrong.

As for the configuration, the proxy server is Apache, WSGIPath asgi.py, the rest default.

Edit:

After building a cople of times and reviewing the logs under eb-engine.log, ended up with this https-instance.config:

```<code>packages:
  yum:
    mod_ssl: []

files:
  /etc/httpd/conf.d/ssl.conf:
    mode: "000644"
    owner: root
    group: root
    content: |
      LoadModule wsgi_module modules/mod_wsgi.so
      WSGIPythonHome /opt/python/run/baselinenv
      WSGISocketPrefix run/wsgi
      WSGIRestrictEmbedded On
      Listen 443
      <VirtualHost *:443>
        SSLEngine on
        SSLCertificateFile "/etc/pki/tls/certs/server.crt"
        SSLCertificateKeyFile "/etc/pki/tls/certs/server.key"

        Alias /static/ /opt/python/current/app/static/
        <Directory /opt/python/current/app/static>
        Order allow,deny
        Allow from all
        </Directory>

        WSGIScriptAlias / /opt/python/current/app/asgi.py

        <Directory /opt/python/current/app>
        Require all granted
        </Directory>

        WSGIDaemonProcess wsgi-ssl processes=1 threads=15 display-name=%{GROUP} \
          python-path=/opt/python/current/app \
          python-home=/opt/python/run/venv \
          home=/opt/python/current/app \
          user=daemon \
          group=daemon
        WSGIProcessGroup wsgi-ssl

      </VirtualHost>

  /etc/pki/tls/certs/server.crt:
    mode: "000400"
    owner: root
    group: root
    content: |
      -----BEGIN CERTIFICATE-----
      -----END CERTIFICATE-----

  /etc/pki/tls/certs/server.key:
    mode: "000400"
    owner: root
    group: root
    content: |
      -----BEGIN PRIVATE KEY-----
      -----END PRIVATE KEY-----
</code>```

The deployment is successful using this, however I still get a refused to connect response.

Any suggestions are welcome, thanks in advance!

Body:
Please note: No Load Balancers. I'm specifically looking for solutions with single instances.

Greetings! As the title suggests, I'm having trouble setting up HTTPS with a self signed certificate (certbot) for an EB instance running python.

To get started, I did follow the instructions here https://docs.aws.amazon.com/elasticbeanstalk/latest/dg/https-singleinstance-python.html, replacing server.crt with cert.pem and server.key with privkey.pem generated by certbot, and application.py with asgi.py (the entry point to my application). All of these in https-instance.config and https-instance-single.config under .ebextensions.

I will include the files here in case I misconfigured something.

https-instance.config

packages:
  yum:
    mod24_ssl: []

files:
  /etc/httpd/conf.d/ssl.conf:
    mode: "000644"
    owner: root
    group: root
    content: |
      LoadModule wsgi_module modules/mod_wsgi.so
      WSGIPythonHome /opt/python/run/baselinenv
      WSGISocketPrefix run/wsgi
      WSGIRestrictEmbedded On
      Listen 443
      <VirtualHost *:443>
        SSLEngine on
        SSLCertificateFile "/etc/pki/tls/certs/server.crt"
        SSLCertificateKeyFile "/etc/pki/tls/certs/server.key"

        Alias /static/ /opt/python/current/app/static/
        <Directory /opt/python/current/app/static>
        Order allow,deny
        Allow from all
        </Directory>

        WSGIScriptAlias / /opt/python/current/app/asgi.py

        <Directory /opt/python/current/app>
        Require all granted
        </Directory>

        WSGIDaemonProcess wsgi-ssl processes=1 threads=15 display-name=%{GROUP} \
          python-path=/opt/python/current/app \
          python-home=/opt/python/run/venv \
          home=/opt/python/current/app \
          user=wsgi \
          group=wsgi
        WSGIProcessGroup wsgi-ssl

      </VirtualHost>

  /etc/pki/tls/certs/server.crt:
    mode: "000400"
    owner: root
    group: root
    content: |
      -----BEGIN CERTIFICATE-----
      -----END CERTIFICATE-----

  /etc/pki/tls/certs/server.key:
    mode: "000400"
    owner: root
    group: root
    content: |
      -----BEGIN PRIVATE KEY-----
      -----END PRIVATE KEY-----

container_commands:
  01killhttpd:
    command: "killall httpd"
  02waitforhttpddeath:
    command: "sleep 3"

https-instance-single.config

Resources:
  sslSecurityGroupIngress:
    Type: AWS::EC2::SecurityGroupIngress
    Properties:
      GroupId: { "Fn::GetAtt": ["AWSEBSecurityGroup", "GroupId"] }
      IpProtocol: tcp
      ToPort: 443
      FromPort: 443
      CidrIp: 0.0.0.0/0

Upon deploying, I get Instance deployment failed. For details, see 'eb-engine.log'. with no further details as to what went wrong.

As for the configuration, the proxy server is Apache, WSGIPath asgi.py, the rest default.

Edit:

After building a cople of times and reviewing the logs under eb-engine.log, ended up with this https-instance.config:

packages:
  yum:
    mod_ssl: []

files:
  /etc/httpd/conf.d/ssl.conf:
    mode: "000644"
    owner: root
    group: root
    content: |
      LoadModule wsgi_module modules/mod_wsgi.so
      WSGIPythonHome /opt/python/run/baselinenv
      WSGISocketPrefix run/wsgi
      WSGIRestrictEmbedded On
      Listen 443
      <VirtualHost *:443>
        SSLEngine on
        SSLCertificateFile "/etc/pki/tls/certs/server.crt"
        SSLCertificateKeyFile "/etc/pki/tls/certs/server.key"

        Alias /static/ /opt/python/current/app/static/
        <Directory /opt/python/current/app/static>
        Order allow,deny
        Allow from all
        </Directory>

        WSGIScriptAlias / /opt/python/current/app/asgi.py

        <Directory /opt/python/current/app>
        Require all granted
        </Directory>

        WSGIDaemonProcess wsgi-ssl processes=1 threads=15 display-name=%{GROUP} \
          python-path=/opt/python/current/app \
          python-home=/opt/python/run/venv \
          home=/opt/python/current/app \
          user=daemon \
          group=daemon
        WSGIProcessGroup wsgi-ssl

      </VirtualHost>

  /etc/pki/tls/certs/server.crt:
    mode: "000400"
    owner: root
    group: root
    content: |
      -----BEGIN CERTIFICATE-----
      -----END CERTIFICATE-----

  /etc/pki/tls/certs/server.key:
    mode: "000400"
    owner: root
    group: root
    content: |
      -----BEGIN PRIVATE KEY-----
      -----END PRIVATE KEY-----

The deployment is successful using this, however I still get a refused to connect response.

Any suggestions are welcome, thanks in advance!


问:
Log in to website and download cookies using R package
I'd like to be able to login to a website and save the cookies to a file programmatically. I thought I might be able to do this with {webdriver}. While I can enter in an email and password, clicking the "Log In" button doesn't seem to do anything.

Here is a reprex:

library(webdriver)

pjs <- run_phantomjs()

ses <- Session$new(port = pjs$port)

ses$go("https://www.draftkings.com/lobby")

el <- ses$findElement(css = "#login-username-input")
el$setValue("email@example.com")

el <- ses$findElement(css = "#login-password-input")
el$setValue("password")

el <- ses$findElement(css = "#login-submit")
el$click()

ses$takeScreenshot()

ses$delete()
```

I also tried {RSelenium} but got the same results: could fill in the form but clicking "Log in" didn't work.

I noticed {chromote} includes a section that discusses logging into a website, but it seems to require manual steps.

Is it possible to use any other R packages to accomplish this in an automated fashion?

Body:
I'd like to be able to login to a website and save the cookies to a file programmatically. I thought I might be able to do this with {webdriver}. While I can enter in an email and password, clicking the "Log In" button doesn't seem to do anything.

Here is a reprex:

library(webdriver)

pjs <- run_phantomjs()

ses <- Session$new(port = pjs$port)

ses$go("https://www.draftkings.com/lobby")

el <- ses$findElement(css = "#login-username-input")
el$setValue("email@example.com")

el <- ses$findElement(css = "#login-password-input")
el$setValue("password")

el <- ses$findElement(css = "#login-submit")
el$click()

ses$takeScreenshot()

ses$delete()

I also tried {RSelenium} but got the same results: could fill in the form but clicking "Log in" didn't work.

I noticed {chromote} includes a section that discusses logging into a website, but it seems to require manual steps.

Is it possible to use any other R packages to accomplish this in an automated fashion?


问:
How to merge all parquet files in a folder along with their meta data?
I am trying to merge a couple of parquet files inside a folder to a dataframe along with their respective meta data. I have the code for converting all parquet to dataframe but I am not able to find a solution to get the meta data out of each parq files. Any help is appreciated. Thank you

Image of code

#code

```<code>from pathlib import Path
import pandas as pd

data_dir = Path(r'C:\python\Datas\parq\Merged')
full_df1 = pd.concat(
     pd.read_parquet(parquet_file)
     for parquet_file in data_dir.glob('*.parquet'))

full_df1.to_csv('csv_file_lat.csv')
</code>```

I tried to merge the parque but I am clueless on how to merge meta data

Update :

```<code> data_dir = Path(r'C:\python\Datas\parq\Merged')
 for i, parquet_path in enumerate(data_dir.glob('*.parquet')):
     df = pd.read_parquet(parquet_path)
     pt = pq.read_table(parquet_path)
     meta_own = json.loads(pt.schema.metadata[b'ais'])
     dff=pd.json_normalize(meta_own)
     fin = pd.concat([df,dff],axis = 1)
     fin.to_csv('testda.csv',mode=write_mode,header=write_header)
</code>```

I tried to implement a for loop using glob and iterate through the folder of parquet files and at the same time I am trying to extract the meta information of the same row but now I am stuck on how to add the parquet file details and the meta data where both are dataframes generated in the for loop as it iterates together.

Body:
I am trying to merge a couple of parquet files inside a folder to a dataframe along with their respective meta data. I have the code for converting all parquet to dataframe but I am not able to find a solution to get the meta data out of each parq files. Any help is appreciated. Thank you

Image of code

#code

from pathlib import Path
import pandas as pd

data_dir = Path(r'C:\python\Datas\parq\Merged')
full_df1 = pd.concat(
     pd.read_parquet(parquet_file)
     for parquet_file in data_dir.glob('*.parquet'))

full_df1.to_csv('csv_file_lat.csv')

I tried to merge the parque but I am clueless on how to merge meta data

Update :

 data_dir = Path(r'C:\python\Datas\parq\Merged')
 for i, parquet_path in enumerate(data_dir.glob('*.parquet')):
     df = pd.read_parquet(parquet_path)
     pt = pq.read_table(parquet_path)
     meta_own = json.loads(pt.schema.metadata[b'ais'])
     dff=pd.json_normalize(meta_own)
     fin = pd.concat([df,dff],axis = 1)
     fin.to_csv('testda.csv',mode=write_mode,header=write_header)

I tried to implement a for loop using glob and iterate through the folder of parquet files and at the same time I am trying to extract the meta information of the same row but now I am stuck on how to add the parquet file details and the meta data where both are dataframes generated in the for loop as it iterates together.


问:
Defferences between Fuzzy Miner in Prom and dfg plugin in Pm4py
I am interested in defferences between Fuzzy Miner in Prom and dfg plugin in Pm4py. I can't find necessary information about it. And more question: Can we use dfg model in Pm4py for Fuzzy Miner, adapted for pm4py?

I can't find necessary information about it


问:
Consume SSE endpoint with connection timeout
So I'd like to consume SSE endpoint with exact connection timeout on .NET 4.8.
I use this lib https://github.com/launchdarkly/dotnet-eventsource
It uses HttpClient interally.
I tried to set ResponseStartTimeout(alias to HttpClient.Timeout) but it's appiles to all processing from connection to read response not only connecting.

I wonder if it's possible to throw exception if connection failed in first 30 seconds but keep it for a few hours if it's established. Just like timeouts in http clients in Java works.
WinHttpHandler doesn't contain that property. SocketsHttpHandler is not supported in 4.8.

Correct me if I'm wrong but when I keep default 100 seconds timeout it sends new request every 100 seconds and so wasting bandwitch like polling.


问:
Taking user input while running while loop
So I am making stopwatch with c but I wanted to be able to take user input while the stopwatch is running.

`

```<code>#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#include <stdbool.h>

#include "mylib/mylib.h"

void Delay(ms){
    clock_t timeDelay = ms + clock();
    while(timeDelay > clock());
}
void PrintData(int hour, int minute,  int second){
    printf(" %d:%d:%d \n", hour, minute, second);

}

void StopWatch(int hour, int minute, int second, int flag, int input){
    while(flag == 0){
        if (minute > 59){
            minute = 0;
            hour++;
        }
        if(second > 59 ){
            second = 0;
            minute++;
        }

        system("clear");
        PrintData(hour, minute, second);
        Delay(1000000);
        second++;

    }

}

int main(void){
    int s0 = 0, s1 = 0, S0 = 0, S1 = 0, b1 = 0, b2 = 0, O0 = 0, O1 = 0;
    int hour = 0, minute = 0, second = 0, flag = 0;
    int input;
    while(1){
        if ((S0 == 0 && S1 == 0)){
            if(b1 == 1 && b2 == 0){
                flag = 0;
                system("clear");
            }
            else if(b1 == 0 && b2 == 1){
                flag = 1;
                system("clear");
            }
            else if(b1 == 1 && b2 == 1){
                flag = 1;
                system("clear");
            }
            else if(b1 == 0 && b2 == 0){
                flag = 1;
                system("clear");
            }
            printf("Current state %d %d\n", S0, S1);
        }
        else if((S0 == 0 && S1 == 1)){
            if(b1 == 1 && b2 == 0){
                flag = 0;
                system("clear");
                PrintData(hour, minute, second);
            }
            else if(b1 == 0 && b2 == 1){
                flag = 1;
                system("clear");
                PrintData(hour, minute, second);

            }
            else if(b1 == 1 && b2 == 1){
                flag = 1;
                system("clear");
                PrintData(hour, minute, second);
            }
            else if(b1 == 0 && b2 == 0){
                system("clear");
                PrintData(hour, minute, second);
            }
            printf("Current state %d %d\n", S0, S1);
        }
        else if((S0 == 1 && S1 == 0)){
            if(b1 == 1 && b2 == 0){
                flag = 0;
                StopWatch(hour, minute, second, flag, input);

            }
            else if(b1 == 0 && b2 == 1){
                flag = 1;
                break;
            }
            else if(b1 == 1 && b2 == 1){
                flag = 0;
            }
            else if(b1 == 0 && b2 == 0){
                PrintData(hour, minute, second);
            }
            printf("Current state %d %d\n", S0, S1);
        }
        else if((S0 == 1 && S1 == 1)){
            if(b1 == 1 && b2 == 0){
                flag = 0;
                system("clear");
            }
            else if(b1 == 0 && b2 == 1){
                flag = 0;
                system("clear");
            }
            else if(b1 == 1 && b2 == 1){
                flag = 0;
                system("clear");
                PrintData(hour, minute, second);
            }
            else if(b1 == 0 && b2 == 0){
                flag = 0;
            }
        }
        b1 = 0;
        b2 = 0;
        printf("Insert input(1/2/3(both) \n");
        scanf("%d", &input);
        if(input == 1){
            b1 = 1;
            b2 = 0;

        }
        else if(input == 2){
            b1 = 0;
            b2 = 1;
        }
        else if(input == 3){
            b1 = 1;
            b2 = 1;
        }
        else if(input == 0){
            b1 = 0;
            b2 = 0;
        }
        else{
            input = 0;
        }

        states(s0, s1, b1, b2, &S0, &S1);
        s0 = S0;
        s1 = S1;

    }

    return 0;

}
</code>```

`
I wanted to be able showing the current state and making an input while the stopwatch is running.
It should be showing the insert input and the current state while the stopwatch is counting.
I've tried to put the input on stopwatch function but it wouldn't work.
I've been tried many ways and comes up with nothing. I'm completely have no idea how to do it.

Body:
So I am making stopwatch with c but I wanted to be able to take user input while the stopwatch is running.

`

#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#include <stdbool.h>

#include "mylib/mylib.h"

void Delay(ms){
    clock_t timeDelay = ms + clock();
    while(timeDelay > clock());
}
void PrintData(int hour, int minute,  int second){
    printf(" %d:%d:%d \n", hour, minute, second);

}

void StopWatch(int hour, int minute, int second, int flag, int input){
    while(flag == 0){
        if (minute > 59){
            minute = 0;
            hour++;
        }
        if(second > 59 ){
            second = 0;
            minute++;
        }

        system("clear");
        PrintData(hour, minute, second);
        Delay(1000000);
        second++;

    }

}

int main(void){
    int s0 = 0, s1 = 0, S0 = 0, S1 = 0, b1 = 0, b2 = 0, O0 = 0, O1 = 0;
    int hour = 0, minute = 0, second = 0, flag = 0;
    int input;
    while(1){
        if ((S0 == 0 && S1 == 0)){
            if(b1 == 1 && b2 == 0){
                flag = 0;
                system("clear");
            }
            else if(b1 == 0 && b2 == 1){
                flag = 1;
                system("clear");
            }
            else if(b1 == 1 && b2 == 1){
                flag = 1;
                system("clear");
            }
            else if(b1 == 0 && b2 == 0){
                flag = 1;
                system("clear");
            }
            printf("Current state %d %d\n", S0, S1);
        }
        else if((S0 == 0 && S1 == 1)){
            if(b1 == 1 && b2 == 0){
                flag = 0;
                system("clear");
                PrintData(hour, minute, second);
            }
            else if(b1 == 0 && b2 == 1){
                flag = 1;
                system("clear");
                PrintData(hour, minute, second);

            }
            else if(b1 == 1 && b2 == 1){
                flag = 1;
                system("clear");
                PrintData(hour, minute, second);
            }
            else if(b1 == 0 && b2 == 0){
                system("clear");
                PrintData(hour, minute, second);
            }
            printf("Current state %d %d\n", S0, S1);
        }
        else if((S0 == 1 && S1 == 0)){
            if(b1 == 1 && b2 == 0){
                flag = 0;
                StopWatch(hour, minute, second, flag, input);

            }
            else if(b1 == 0 && b2 == 1){
                flag = 1;
                break;
            }
            else if(b1 == 1 && b2 == 1){
                flag = 0;
            }
            else if(b1 == 0 && b2 == 0){
                PrintData(hour, minute, second);
            }
            printf("Current state %d %d\n", S0, S1);
        }
        else if((S0 == 1 && S1 == 1)){
            if(b1 == 1 && b2 == 0){
                flag = 0;
                system("clear");
            }
            else if(b1 == 0 && b2 == 1){
                flag = 0;
                system("clear");
            }
            else if(b1 == 1 && b2 == 1){
                flag = 0;
                system("clear");
                PrintData(hour, minute, second);
            }
            else if(b1 == 0 && b2 == 0){
                flag = 0;
            }
        }
        b1 = 0;
        b2 = 0;
        printf("Insert input(1/2/3(both) \n");
        scanf("%d", &input);
        if(input == 1){
            b1 = 1;
            b2 = 0;

        }
        else if(input == 2){
            b1 = 0;
            b2 = 1;
        }
        else if(input == 3){
            b1 = 1;
            b2 = 1;
        }
        else if(input == 0){
            b1 = 0;
            b2 = 0;
        }
        else{
            input = 0;
        }

        states(s0, s1, b1, b2, &S0, &S1);
        s0 = S0;
        s1 = S1;

    }

    return 0;

}

`
I wanted to be able showing the current state and making an input while the stopwatch is running.
It should be showing the insert input and the current state while the stopwatch is counting.
I've tried to put the input on stopwatch function but it wouldn't work.
I've been tried many ways and comes up with nothing. I'm completely have no idea how to do it.


问:
Defining variables for JS lp-solver using an array
I'm trying to create a linear programing code in JS using lp-solver library, but I can't get the results to be outputted. It's probably because of incorrect model, because the results output for each product and "total cost" shows as undefined, so I'm guessing that the model doesn't work at all. The problem is that I'm not just inputting the variables by myself, but I fetch the products from a database (that is working correctly and I can output, for example, the first product's name as data[0]['name'] and it works just fine) so they are written in an array. I made a for loop trying to input the data of products into variables of the model, but I guess that is not working correctly or the problem is somewhere else in the model. May you please help me?

Part of code:

```<code><script>
  // Make an AJAX request to the PHP script that fetches the products and user's desired
  calories from the database
  $.ajax({
    url: 'fetchProductsFromDatabase.php',
    success: function(response) {
    var data = response;
    var userCalories = data[0]['userCalories'];

    // Set up the model
    var model = {
      optimize: "price",
      opType: "min",
      constraints: {
        "calories": {
          equal: userCalories
        },
      },
      variables: {
      },
    };

    // Set up the variables and the constraints in the model
    for (var i = 0; i < data.length; i++) {
      model.variables[data[i]['name']] = { "price": data[i]['price'], "calories": data[i]
    ['calories'] };
    model.constraints[data[i]['name']] = { equal: 0 };
    }

    // Solve the linear program
    var result = solver.Solve(model);
</code>```

Proof of "data" output. Written as console.log(data[0]['name/price/calories']);

Results of the code.

```<code>  for (var i = 0; i < data.length; i++) {
    console.log(data[i]['name'] + ': ' + result[data[i]['name']]);
  }
  console.log('Total cost: ' + result.price);
</code>```


问:
How to create a PDF with iTextSharp that will be printed at the given page size, not the default one (Letter, in my case)
I have this asp.net mvc C# project that returns a downloadable pdf file with A5 page size, and everything seems fine, but when I open the downloaded file and proceed to the print dialog box, I don't get the A5 sheet size by default, but Letter.

What am I missing? Is there a way to achieve this?

Here's the code, thanks in advance:

```<code>MemoryStream ms = new MemoryStream();
PdfWriter pw = new PdfWriter(ms);
PdfDocument pdfDocument = new PdfDocument(pw);
Document doc = new Document(pdfDocument, PageSize.A5.Rotate());
doc.SetMargins(5, 5, 5, 5);

//Here I add the content...

doc.Close();
byte[] bytesStream = ms.ToArray();
ms = new MemoryStream();
ms.Write(bytesStream, 0, bytesStream.Length);
ms.Position = 0;

return File(ms, "application/pdf", ID + ".pdf");

</code>```

Body:
I have this asp.net mvc C# project that returns a downloadable pdf file with A5 page size, and everything seems fine, but when I open the downloaded file and proceed to the print dialog box, I don't get the A5 sheet size by default, but Letter.

What am I missing? Is there a way to achieve this?

Here's the code, thanks in advance:

MemoryStream ms = new MemoryStream();
PdfWriter pw = new PdfWriter(ms);
PdfDocument pdfDocument = new PdfDocument(pw);
Document doc = new Document(pdfDocument, PageSize.A5.Rotate());
doc.SetMargins(5, 5, 5, 5);

//Here I add the content...

doc.Close();
byte[] bytesStream = ms.ToArray();
ms = new MemoryStream();
ms.Write(bytesStream, 0, bytesStream.Length);
ms.Position = 0;

return File(ms, "application/pdf", ID + ".pdf");


问:
Can Gradle still build C with the new plugins?
When I search for how to build C with Gradle, official docs come up with the following info, explicitly mentioning C:

The native software plugins add support for building native software components, such as executables or shared libraries, from code written in C++, C and other languages.

But also this info:

The (...) plugins mentioned in this chapter will eventually be deprecated and removed. We recommend new projects looking to build C++ applications and libraries use the newer replacement plugins.

The linked general docs for the replacement plugins only mention C++, and the dedicated plugin docs for cpp-application and cpp-library are even explicit about C++ file extensions.

However, a third-party site states:

Gradle is a build automation system that provides plugins to build C/C++ libraries and applications. (...) based on cpp-application and cpp-library plugins (...)

So is it still possible to build pure C applications and libraries with Gradle plugins that are not being retired, particularly with cpp-application and cpp-library?

In case the answer is somehow obvious, please note I am not a C/C++ developer.


问:
Providing encryption and password for an IOT device over gRPC
I've been breaking my head over how to do this, as it doesn't seem to fit any example I could find online.

My IOT device servers will run on the client network and may be accessed over it or over the open internet (with port forwarding). the device comes with a paper-printed initial pass like a router.
the client is running a mobile app.

As I hate planned obsolescence (ie, the device should keep working even if the company shuts down), I don't want to create a dependence on any third-party auth service, so the server and the app should just establish trust between themselves.
with the initial contact assumed to be trusted.

In all the examples for gPRC auth I could find, the client should somehow have ahead of time the server public key. but as there are many devices, and I want each one to have a unique cert, I don't see how I can ship the app preloaded for the specific device the user will get.

I have come up with the following:

the device generates private/public key

an insecure grpc channel serves the public key to the client

the secure grpc channel is established with that key

the client authenticates with the initial password to use the API over the secure channel

client changes the password

I'm not looking for super-max security, just basic common-sense security.
the main issue I have with the typical scheme where SSL is used to authenticate vs a domain is that I don't know via what domain/address the device would be accessed.
are there any glaring problems in the scheme? or any reason it would not work?

Thanks!


问:
LOAD segment with RWX permissions, Linker add writable attribute after use align in section
My binutils version:
GNU ld (GNU Binutils) 2.39
and there is a new warn 'LOAD segment with RWX permissions'

here is the linker script

```<code>OUTPUT_ARCH( "riscv" )
ENTRY( _start )

MEMORY
{
    /* Fake ROM area */
    rom (rxa) : ORIGIN = 0x80000000, LENGTH = 512K
    ram (wxa) : ORIGIN = 0x80080000, LENGTH = 512K
}

SECTIONS
{
    .init :
    {
        _text = .;
        KEEP (*(SORT_NONE(.init)))
    } >rom AT>rom

    .text :
    {
        *(.text.unlikely .text.unlikely.*)
        *(.text.startup .text.startup.*)
        *(.text .text.*)
        *(.gnu.linkonce.t.*)
    } >rom AT>rom

    .fini :
    {
        KEEP (*(SORT_NONE(.fini)))
        _etext = .;
    } >rom AT>rom

    .rodata.align :
    {
        . = ALIGN(4);
        _rodata = .;
    } >rom AT>rom

    .rodata.start :
    {
        _rodata_lma = LOADADDR(.rodata.start);
    } >rom AT>rom

    .rodata :
    {
        *(.rdata)
        *(.rodata .rodata.*)
        *(.gnu.linkonce.r.*)

        . = ALIGN(4);
        _erodata = .;
    } >rom AT>rom

    .data.align :
    {
        . = ALIGN(4);
        _data = .;
    } >ram AT>rom

    .data.start :
    {
        _data_lma = LOADADDR(.data.start);
    } >ram AT>rom

    .data :
    {
        *(.data .data.*)
        *(.gnu.linkonce.d.*)
        . = ALIGN(8);
        PROVIDE( __global_pointer$ = . + 0x800 );
        *(.sdata .sdata.*)
        *(.sdata2 .sdata2.*)
        *(.gnu.linkonce.s.*)
        . = ALIGN(8);
        *(.srodata.cst16)
        *(.srodata.cst8)
        *(.srodata.cst4)
        *(.srodata.cst2)
        *(.srodata .srodata.*)

        . = ALIGN(4);
        _edata = .;
    } >ram AT>rom

    .bss.align :
    {
        . = ALIGN(4);
        _bss = .;
    } >ram AT>rom

    .bss.start :
    {
        _bss_lma = LOADADDR(.bss.start);
    } >ram AT>rom

    .bss :
    {
        *(.sbss*)
        *(.gnu.linkonce.sb.*)
        *(.bss .bss.*)
        *(.gnu.linkonce.b.*)
        *(COMMON)

        . = ALIGN(4);
        _ebss = .;
    } >ram AT>rom

    . = ALIGN(8);
    _end = .;

    .stack :
    {
        . = ALIGN(16);
        . += __stack_size;
        _stack_top = .;
    } >ram AT>ram
}
</code>```

I found that if I change the rodata.align section as below, the problem can fix.

```<code>    .rodata.align ALIGN(4):
    {
        _rodata = .;
    } >rom AT>rom
</code>```

readelf -Sl original.elf

```<code>There are 24 section headers, starting at offset 0x29a08:

Section Headers:
  [Nr] Name              Type            Addr     Off    Size   ES Flg Lk Inf Al
  [ 0]                   NULL            00000000 000000 000000 00      0   0  0
  [ 1] .init             PROGBITS        80000000 001000 000076 00  AX  0   0  1
  [ 2] .text             PROGBITS        80000100 001100 00b6f2 00  AX  0   0 256
  [ 3] .rodata.align     NOBITS          8000b7f2 00c7f2 000002 00  WA  0   0  1
  [ 4] .rodata           PROGBITS        8000b7f4 00c7f4 0009c4 00   A  0   0  4
  [ 5] .data.align       PROGBITS        80080000 00e9d0 000000 00  WA  0   0  1
  [ 6] .data             PROGBITS        80080000 00e000 0009d0 00  WA  0   0  8
  [ 7] .bss.align        NOBITS          800809d0 000000 000000 00  WA  0   0  1
  [ 8] .bss              NOBITS          800809d0 00e9d0 011e08 00  WA  0   0 16
  [ 9] .stack            NOBITS          800927d8 00f7d8 000134 00  WA  0   0  1
  [10] .comment          PROGBITS        00000000 00e9d0 00002d 01  MS  0   0  1
  [11] .riscv.attributes RISCV_ATTRIBUTE 00000000 00e9fd 00002f 00      0   0  1
  [12] .debug_info       PROGBITS        00000000 00ea2c 003a54 00      0   0  1
  [13] .debug_abbrev     PROGBITS        00000000 012480 0010bc 00      0   0  1
  [14] .debug_loclists   PROGBITS        00000000 01353c 0097da 00      0   0  1
  [15] .debug_aranges    PROGBITS        00000000 01cd16 000178 00      0   0  1
  [16] .debug_rnglists   PROGBITS        00000000 01ce8e 001154 00      0   0  1
  [17] .debug_line       PROGBITS        00000000 01dfe2 007949 00      0   0  1
  [18] .debug_str        PROGBITS        00000000 02592b 0008ed 01  MS  0   0  1
  [19] .debug_line_str   PROGBITS        00000000 026218 000388 01  MS  0   0  1
  [20] .debug_frame      PROGBITS        00000000 0265a0 000288 00      0   0  4
  [21] .symtab           SYMTAB          00000000 026828 002020 10     22 343  4
  [22] .strtab           STRTAB          00000000 028848 0010bf 00      0   0  1
  [23] .shstrtab         STRTAB          00000000 029907 0000fe 00      0   0  1
Key to Flags:
  W (write), A (alloc), X (execute), M (merge), S (strings), I (info),
  L (link order), O (extra OS processing required), G (group), T (TLS),
  C (compressed), x (unknown), o (OS specific), E (exclude),
  D (mbind), p (processor specific)

Elf file type is EXEC (Executable file)
Entry point 0x80000000
There are 4 program headers, starting at offset 52

Program Headers:
  Type           Offset   VirtAddr   PhysAddr   FileSiz MemSiz  Flg Align
  RISCV_ATTRIBUT 0x00e9fd 0x00000000 0x00000000 0x0002f 0x00000 R   0x1
  LOAD           0x001000 0x80000000 0x80000000 0x0c1b8 0x0c1b8 RWE 0x1000
  LOAD           0x00e000 0x80080000 0x8000c1b8 0x009d0 0x127d8 RW  0x1000
  LOAD           0x0007d8 0x800927d8 0x800927d8 0x00000 0x00134 RW  0x1000

 Section to Segment mapping:
  Segment Sections...
   00     .riscv.attributes
   01     .init .text .rodata.align .rodata
   02     .data .bss.align .bss
   03     .stack
</code>```

readelf -Sl modify.elf

```<code>Section Headers:
  [Nr] Name              Type            Addr     Off    Size   ES Flg Lk Inf Al
  [ 0]                   NULL            00000000 000000 000000 00      0   0  0
  [ 1] .init             PROGBITS        80000000 001000 000076 00  AX  0   0  1
  [ 2] .text             PROGBITS        80000100 001100 00b6f2 00  AX  0   0 256
  [ 3] .rodata           PROGBITS        8000b7f4 00c7f4 0009c4 00   A  0   0  4
  [ 4] .data.align       PROGBITS        80080000 00e9d0 000000 00  WA  0   0  1
  [ 5] .data             PROGBITS        80080000 00e000 0009d0 00  WA  0   0  8
  [ 6] .bss.align        NOBITS          800809d0 000000 000000 00  WA  0   0  1
  [ 7] .bss              NOBITS          800809d0 00e9d0 011e08 00  WA  0   0 16
  [ 8] .stack            NOBITS          800927d8 00f7d8 000134 00  WA  0   0  1
  [ 9] .comment          PROGBITS        00000000 00e9d0 00002d 01  MS  0   0  1
  [10] .riscv.attributes RISCV_ATTRIBUTE 00000000 00e9fd 00002f 00      0   0  1
  [11] .debug_info       PROGBITS        00000000 00ea2c 003a54 00      0   0  1
  [12] .debug_abbrev     PROGBITS        00000000 012480 0010bc 00      0   0  1
  [13] .debug_loclists   PROGBITS        00000000 01353c 0097da 00      0   0  1
  [14] .debug_aranges    PROGBITS        00000000 01cd16 000178 00      0   0  1
  [15] .debug_rnglists   PROGBITS        00000000 01ce8e 001154 00      0   0  1
  [16] .debug_line       PROGBITS        00000000 01dfe2 007949 00      0   0  1
  [17] .debug_str        PROGBITS        00000000 02592b 0008ed 01  MS  0   0  1
  [18] .debug_line_str   PROGBITS        00000000 026218 000388 01  MS  0   0  1
  [19] .debug_frame      PROGBITS        00000000 0265a0 000288 00      0   0  4
  [20] .symtab           SYMTAB          00000000 026828 002010 10     21 342  4
  [21] .strtab           STRTAB          00000000 028838 0010bf 00      0   0  1
  [22] .shstrtab         STRTAB          00000000 0298f7 0000f0 00      0   0  1
Key to Flags:
  W (write), A (alloc), X (execute), M (merge), S (strings), I (info),
  L (link order), O (extra OS processing required), G (group), T (TLS),
  C (compressed), x (unknown), o (OS specific), E (exclude),
  D (mbind), p (processor specific)

Elf file type is EXEC (Executable file)
Entry point 0x80000000
There are 4 program headers, starting at offset 52

Program Headers:
  Type           Offset   VirtAddr   PhysAddr   FileSiz MemSiz  Flg Align
  RISCV_ATTRIBUT 0x00e9fd 0x00000000 0x00000000 0x0002f 0x00000 R   0x1
  LOAD           0x001000 0x80000000 0x80000000 0x0c1b8 0x0c1b8 R E 0x1000
  LOAD           0x00e000 0x80080000 0x8000c1b8 0x009d0 0x127d8 RW  0x1000
  LOAD           0x0007d8 0x800927d8 0x800927d8 0x00000 0x00134 RW  0x1000
</code>```

Why the align command cause the LOAD section has a writable attribute?

I found that if I change the rodata.align section as below, the problem can fix.

```<code>    .rodata.align ALIGN(4):
    {
        _rodata = .;
    } >rom AT>rom
</code>```

Body:
My binutils version:
GNU ld (GNU Binutils) 2.39
and there is a new warn 'LOAD segment with RWX permissions'

here is the linker script

OUTPUT_ARCH( "riscv" )
ENTRY( _start )

MEMORY
{
    /* Fake ROM area */
    rom (rxa) : ORIGIN = 0x80000000, LENGTH = 512K
    ram (wxa) : ORIGIN = 0x80080000, LENGTH = 512K
}

SECTIONS
{
    .init :
    {
        _text = .;
        KEEP (*(SORT_NONE(.init)))
    } >rom AT>rom

    .text :
    {
        *(.text.unlikely .text.unlikely.*)
        *(.text.startup .text.startup.*)
        *(.text .text.*)
        *(.gnu.linkonce.t.*)
    } >rom AT>rom

    .fini :
    {
        KEEP (*(SORT_NONE(.fini)))
        _etext = .;
    } >rom AT>rom

    .rodata.align :
    {
        . = ALIGN(4);
        _rodata = .;
    } >rom AT>rom

    .rodata.start :
    {
        _rodata_lma = LOADADDR(.rodata.start);
    } >rom AT>rom

    .rodata :
    {
        *(.rdata)
        *(.rodata .rodata.*)
        *(.gnu.linkonce.r.*)

        . = ALIGN(4);
        _erodata = .;
    } >rom AT>rom

    .data.align :
    {
        . = ALIGN(4);
        _data = .;
    } >ram AT>rom

    .data.start :
    {
        _data_lma = LOADADDR(.data.start);
    } >ram AT>rom

    .data :
    {
        *(.data .data.*)
        *(.gnu.linkonce.d.*)
        . = ALIGN(8);
        PROVIDE( __global_pointer$ = . + 0x800 );
        *(.sdata .sdata.*)
        *(.sdata2 .sdata2.*)
        *(.gnu.linkonce.s.*)
        . = ALIGN(8);
        *(.srodata.cst16)
        *(.srodata.cst8)
        *(.srodata.cst4)
        *(.srodata.cst2)
        *(.srodata .srodata.*)

        . = ALIGN(4);
        _edata = .;
    } >ram AT>rom

    .bss.align :
    {
        . = ALIGN(4);
        _bss = .;
    } >ram AT>rom

    .bss.start :
    {
        _bss_lma = LOADADDR(.bss.start);
    } >ram AT>rom

    .bss :
    {
        *(.sbss*)
        *(.gnu.linkonce.sb.*)
        *(.bss .bss.*)
        *(.gnu.linkonce.b.*)
        *(COMMON)

        . = ALIGN(4);
        _ebss = .;
    } >ram AT>rom

    . = ALIGN(8);
    _end = .;

    .stack :
    {
        . = ALIGN(16);
        . += __stack_size;
        _stack_top = .;
    } >ram AT>ram
}

I found that if I change the rodata.align section as below, the problem can fix.

    .rodata.align ALIGN(4):
    {
        _rodata = .;
    } >rom AT>rom

readelf -Sl original.elf

There are 24 section headers, starting at offset 0x29a08:

Section Headers:
  [Nr] Name              Type            Addr     Off    Size   ES Flg Lk Inf Al
  [ 0]                   NULL            00000000 000000 000000 00      0   0  0
  [ 1] .init             PROGBITS        80000000 001000 000076 00  AX  0   0  1
  [ 2] .text             PROGBITS        80000100 001100 00b6f2 00  AX  0   0 256
  [ 3] .rodata.align     NOBITS          8000b7f2 00c7f2 000002 00  WA  0   0  1
  [ 4] .rodata           PROGBITS        8000b7f4 00c7f4 0009c4 00   A  0   0  4
  [ 5] .data.align       PROGBITS        80080000 00e9d0 000000 00  WA  0   0  1
  [ 6] .data             PROGBITS        80080000 00e000 0009d0 00  WA  0   0  8
  [ 7] .bss.align        NOBITS          800809d0 000000 000000 00  WA  0   0  1
  [ 8] .bss              NOBITS          800809d0 00e9d0 011e08 00  WA  0   0 16
  [ 9] .stack            NOBITS          800927d8 00f7d8 000134 00  WA  0   0  1
  [10] .comment          PROGBITS        00000000 00e9d0 00002d 01  MS  0   0  1
  [11] .riscv.attributes RISCV_ATTRIBUTE 00000000 00e9fd 00002f 00      0   0  1
  [12] .debug_info       PROGBITS        00000000 00ea2c 003a54 00      0   0  1
  [13] .debug_abbrev     PROGBITS        00000000 012480 0010bc 00      0   0  1
  [14] .debug_loclists   PROGBITS        00000000 01353c 0097da 00      0   0  1
  [15] .debug_aranges    PROGBITS        00000000 01cd16 000178 00      0   0  1
  [16] .debug_rnglists   PROGBITS        00000000 01ce8e 001154 00      0   0  1
  [17] .debug_line       PROGBITS        00000000 01dfe2 007949 00      0   0  1
  [18] .debug_str        PROGBITS        00000000 02592b 0008ed 01  MS  0   0  1
  [19] .debug_line_str   PROGBITS        00000000 026218 000388 01  MS  0   0  1
  [20] .debug_frame      PROGBITS        00000000 0265a0 000288 00      0   0  4
  [21] .symtab           SYMTAB          00000000 026828 002020 10     22 343  4
  [22] .strtab           STRTAB          00000000 028848 0010bf 00      0   0  1
  [23] .shstrtab         STRTAB          00000000 029907 0000fe 00      0   0  1
Key to Flags:
  W (write), A (alloc), X (execute), M (merge), S (strings), I (info),
  L (link order), O (extra OS processing required), G (group), T (TLS),
  C (compressed), x (unknown), o (OS specific), E (exclude),
  D (mbind), p (processor specific)

Elf file type is EXEC (Executable file)
Entry point 0x80000000
There are 4 program headers, starting at offset 52

Program Headers:
  Type           Offset   VirtAddr   PhysAddr   FileSiz MemSiz  Flg Align
  RISCV_ATTRIBUT 0x00e9fd 0x00000000 0x00000000 0x0002f 0x00000 R   0x1
  LOAD           0x001000 0x80000000 0x80000000 0x0c1b8 0x0c1b8 RWE 0x1000
  LOAD           0x00e000 0x80080000 0x8000c1b8 0x009d0 0x127d8 RW  0x1000
  LOAD           0x0007d8 0x800927d8 0x800927d8 0x00000 0x00134 RW  0x1000

 Section to Segment mapping:
  Segment Sections...
   00     .riscv.attributes
   01     .init .text .rodata.align .rodata
   02     .data .bss.align .bss
   03     .stack

readelf -Sl modify.elf

Section Headers:
  [Nr] Name              Type            Addr     Off    Size   ES Flg Lk Inf Al
  [ 0]                   NULL            00000000 000000 000000 00      0   0  0
  [ 1] .init             PROGBITS        80000000 001000 000076 00  AX  0   0  1
  [ 2] .text             PROGBITS        80000100 001100 00b6f2 00  AX  0   0 256
  [ 3] .rodata           PROGBITS        8000b7f4 00c7f4 0009c4 00   A  0   0  4
  [ 4] .data.align       PROGBITS        80080000 00e9d0 000000 00  WA  0   0  1
  [ 5] .data             PROGBITS        80080000 00e000 0009d0 00  WA  0   0  8
  [ 6] .bss.align        NOBITS          800809d0 000000 000000 00  WA  0   0  1
  [ 7] .bss              NOBITS          800809d0 00e9d0 011e08 00  WA  0   0 16
  [ 8] .stack            NOBITS          800927d8 00f7d8 000134 00  WA  0   0  1
  [ 9] .comment          PROGBITS        00000000 00e9d0 00002d 01  MS  0   0  1
  [10] .riscv.attributes RISCV_ATTRIBUTE 00000000 00e9fd 00002f 00      0   0  1
  [11] .debug_info       PROGBITS        00000000 00ea2c 003a54 00      0   0  1
  [12] .debug_abbrev     PROGBITS        00000000 012480 0010bc 00      0   0  1
  [13] .debug_loclists   PROGBITS        00000000 01353c 0097da 00      0   0  1
  [14] .debug_aranges    PROGBITS        00000000 01cd16 000178 00      0   0  1
  [15] .debug_rnglists   PROGBITS        00000000 01ce8e 001154 00      0   0  1
  [16] .debug_line       PROGBITS        00000000 01dfe2 007949 00      0   0  1
  [17] .debug_str        PROGBITS        00000000 02592b 0008ed 01  MS  0   0  1
  [18] .debug_line_str   PROGBITS        00000000 026218 000388 01  MS  0   0  1
  [19] .debug_frame      PROGBITS        00000000 0265a0 000288 00      0   0  4
  [20] .symtab           SYMTAB          00000000 026828 002010 10     21 342  4
  [21] .strtab           STRTAB          00000000 028838 0010bf 00      0   0  1
  [22] .shstrtab         STRTAB          00000000 0298f7 0000f0 00      0   0  1
Key to Flags:
  W (write), A (alloc), X (execute), M (merge), S (strings), I (info),
  L (link order), O (extra OS processing required), G (group), T (TLS),
  C (compressed), x (unknown), o (OS specific), E (exclude),
  D (mbind), p (processor specific)

Elf file type is EXEC (Executable file)
Entry point 0x80000000
There are 4 program headers, starting at offset 52

Program Headers:
  Type           Offset   VirtAddr   PhysAddr   FileSiz MemSiz  Flg Align
  RISCV_ATTRIBUT 0x00e9fd 0x00000000 0x00000000 0x0002f 0x00000 R   0x1
  LOAD           0x001000 0x80000000 0x80000000 0x0c1b8 0x0c1b8 R E 0x1000
  LOAD           0x00e000 0x80080000 0x8000c1b8 0x009d0 0x127d8 RW  0x1000
  LOAD           0x0007d8 0x800927d8 0x800927d8 0x00000 0x00134 RW  0x1000

Why the align command cause the LOAD section has a writable attribute?

I found that if I change the rodata.align section as below, the problem can fix.

    .rodata.align ALIGN(4):
    {
        _rodata = .;
    } >rom AT>rom


问:
Can't find path when build project in vue3
When I build the project and run it, The first page can run properly and the redirect is working but when I change the path it show Can't get /admin(path name) it's seems like I can't direct by typing the URL.

It's work fine when I run serve.

Here is my router index.js

```<code>import Blog from "../views/Blog.vue";
import Admin from "../views/Admin.vue";

const routes = [
{ path: "/", redirect: "/blog" },
{ path: "/blog",name: "blog",component: Blog },
{ path: "/admin", name: "admin", component: Admin },
]
const router = createRouter({
      history: createWebHistory(process.env.BASE_URL), routes,
});

export default router;
</code>```

Body:
When I build the project and run it, The first page can run properly and the redirect is working but when I change the path it show Can't get /admin(path name) it's seems like I can't direct by typing the URL.

It's work fine when I run serve.

Here is my router index.js

import Blog from "../views/Blog.vue";
import Admin from "../views/Admin.vue";

const routes = [
{ path: "/", redirect: "/blog" },
{ path: "/blog",name: "blog",component: Blog },
{ path: "/admin", name: "admin", component: Admin },
]
const router = createRouter({
      history: createWebHistory(process.env.BASE_URL), routes,
});

export default router;